数字信号处理实验报告_第1页
数字信号处理实验报告_第2页
数字信号处理实验报告_第3页
数字信号处理实验报告_第4页
数字信号处理实验报告_第5页
已阅读5页,还剩15页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——数字信号处理实验报告数字信号处理试验报告姓名:

班级:

13电信2

学号:

2022302

2022302

指导老师:

日期:

2022、6、6~2022、6、17

华南农业大学电子工程学院电子信息工程系试验一

常见离散信号的BMATLAB产生与图形显示

一、试验目的

加深对常用离散信号的理解;二、试验原理

1.单位抽样序列01)(n

00nn

在MATLAB中可以利用zeros()函数实现。

;1)1();,1(xNzerosx假如)(n在时间轴上延迟了k个单位,得到)(kn即:01)(kn

0nkn

2.

单位阶越序列

01)(nu

00nn

在MATLAB中可以利用ones()函数实现。

);,1(Nonesx

3.

正弦序列

)/2sin()(FsfnAnx

在MATLAB中

)/***2sin(*1:0faiFsnfpiAxNn4.

复正弦序列

njenx)(

在MATLAB中

)**exp(1:0nwjxNn5.

指数序列

nanx)(

在MATLAB中

naxNn.^1:06、卷积分析conv、m用来实现两个离散序列的线性卷积。

其调用格式就是:y=conv(x,h)若x的长度为N,h的长度为M,则y的长度L=N+M-1。

三、试验内容

1、画出信号x(n)=1、5*(n+1)-(n-3)的波形。

2、求序列x(n)与h(n)的线性卷积y(n)=x(n)*h(n)。x(n)={3,-3,7,0,-1,5,2},h(n)={2,3,0,-5,2,1}、画出x(n),h(n),y(n)与n的离散序列图形四、试验要求1)画出信号x(n)=1、5*(n+1)-(n-3)的波形。

①BMATLAB程序如下:n3=[-3:3];x3=[(n3+1)==0];

subplot(1,3,1);stem(n3,x3);n4=[-3:3];x4=[(n4-3)==0];subplot(1,3,2);stem(n4,x4);n5=[-3:3];x5=1、5*x3-x4;subplot(1,3,3);stem(n5,x5);②理论计算:x(n)=

③程序运行结果:图(1)从图(1)左侧起第一幅图就是信号(n+1)的波形,其次幅图就是信号(n-3)的波形,最终一幅图就是信号x(n)=1、5*(n+1)-(n-3)的波形。

2)求序列x(n)与h(n)的线性卷积y(n)=x(n)*h(n);x(n)={3,-3,7,0,-1,5,2},h(n)={2,3,0,-5,2,1},画出x(n),h(n),y(n)与n的离散序列图形。

①BMATLAB程序如下:n6=[0:6];x6=[3,-3,7,0,-1,5,2];subplot(1,3,1);stem(n6,x6);n7=[0:5];x7=[2,3,0,-5,2,1];subplot(1,3,2);stem(n7,x7);n8=

[0:11];x8=conv(x6,x7);subplot(1,3,3);stem(n8,x8);②理论分析:信号x(n)的长度为7,,h(n)的长度为6,则线性卷积y(n)=x(n)*h(n)的长度为7+6-1=12。

y(n)={6,3,5,6,-7,-25,30,21,-23,-1,9,2}③程序运行结果:图(2)从图(2)左侧起第一幅图就是信号x(n)的波形,其次幅图就是信号h(n)的波形,最终一幅图就是线性卷积信号y(n)=x(n)*h(n)的波形。经过对比,理论与试验结果一致。

试验二

离散系统的差分方程、冲激响应与卷积分析

一、试验目的

加深对离散系统的差分方程、冲激响应与卷积分析方法的理解。

二、试验原理

离散系统

][nx][nyDiscrete-timesystme其输入、输出关系可用以下差分方程描述:MkkNkkknxpknyd00][][

输入信号分解为冲激信号,mmnmxnx][][][。记系统单位冲激响应][][nhn,则系统响应为如下的卷积计算式:mmnhmxnhnxny][][][][][

当Nkdk,...2,1,0时,h[n]就是有限长度的(n:[0,M]),称系统为FIR系统;反之,称系统为IIR系统。

1、filter可用来求一个离散系统的输出。

调用格式:

y=filter(b,a,x);2、impz可用来求一个离散系统的h(n)。

调用格式:

h=impz(b,a,N);

[h,t]=impz(b,a,N);abnanbznazazaznbzbzbbzAzBzH)1(...)3()2(1)1(...)3()2()1()()()(2121)]1(,),3(),2(),1([)]1(,),3(),2(),1([abnaaaaanbbbbb三、试验内容

编制程序求解以下两个系统的输出、单位冲激响应,并绘出其图形。

]1[][]2[125.0]1[75.0][nxnxnynyny;]}4[]3[]2[]1[{25.0][nxnxnxnxny四、试验要求

给出理论计算结果与程序计算结果并探讨。

1)]1[][]2[125.0]1[75.0][nxnxnynyny

①理论结果:解::(1)对于]1[][]2[125.0]1[75.0][nxnxnynyny计算可得系统函数为:H(z)=211125.075.01z-1zz

=1z25.015-+1z5.016由此可得h(n)=[-5(-0、25)n+6(-0、5)n]u(n)h(0)=1,

h(1)=-1、75,

h(2)=1、1875,

h(3)=-0、828125②程序计算结果:MATLAB程序如下:

m=[-30:30];b=[1,-1];a=[1,0、75,0、125];

x9=[(m-0)==1];

h=filter(b,a,x9);n=(-10:50);subplot(1,2,1);stem(n,h);axis([-10,50,-1,1、5]);title("ImpluseResponse");xlabel("n"),ylabel("h(n)");subplot(1,2,2);y1=impz(b,a,n);stem(n,y1);程序运行结果:

图3输出函数、单位冲激响应2)]}4[]3[]2[]1[{25.0][nxnxnxnxny①理论结果:(2)对于]}4[]3[]2[]1[{25.0][nxnxnxnxny由差分方程计算系统函数可得H(z)=0、25(-4-3-2-1ZZZZ)则单位冲击响应为:h(n)=0、25((n-1)+(n-2)+(n-3)+(n-4)),该波形与仿真结果一致。

②程序计算结果:MATLAB程序如下:

m=[-30:30];b=[0、25,0、25,0、25,0、25];a=1;x9=[(m-0)==1];

h=filter(b,a,x9);n=(-10:50);subplot(1,2,1);stem(n,h);axis([-10,50,-1,1、5]);title("ImpluseResponse");xlabel("n"),ylabel("h(n)");subplot(1,2,2);y1=impz(b,a,n);stem(n,y1);

③程序运行结果:

图4输出函数、单位冲激响应试验三、离散系统的零、极点分布及频率响应分析

一、试验目的

加深对离散系统的频率响应分析与零、极点分布的概念理解。

二、试验原理

离散系统的时域方程为

zfreqz可用来求一个离散系统的频率响应。

调用格式::

[H,w]=freqz(BB,,AA,N,whole);

B与A分别为离散系统的(系统函数分子、分母多项式的系数向量);N表示选取单位圆的上半圆等间距的N个点作为频响输出;返回量H则包含了离散系统频响在0pi范围内N个频率等分点的值,向量w则包含范围内N个频率等分点。调用中若N默认,默认值为512。

三、试验内容

已知系统差分方程如下:y(n)-1、6y(n-1)+1、28y(n-2)=0、5x(n)+0、1x(n-1)四、试验要求

(1)编程得到系统频响的幅度响应与相位响应,并画图。

(2)编程得到系统的零极点分布图,分析系统的因果性与稳定性。

(3)给出理论计算结果与程序计算结果并探讨。

提醒:幅度响应mag=abs(H),plot(w,mag)相位响应ph=angle(H),plot(w,ph)五..试验结果分析处理

y(n)-1、6y(n-1)+1、28y(n-2)=0、5x(n)+0、1x(n-1)1)编程得到系统频响的幅度响应与相位响应,并画图。

①BMATLAB程序如下:n=-30:30;b=[0、5,0、1],a=[1,-1、6,1、28];[H,w]=freqz(b,a,512,"whole");mag=abs(H),subplot(1,2,1);plot(w,mag);ph=angle(H),subplot(1,2,2);plot(w,ph);

②BMATLAB运行结果:

图1

系统频响的幅度响应与相位响应(2)编程得到系统的零极点分布图,分析系统的因果性与稳定性。

①BMATLAB程序如下:

n=-30:30;b=[0、5,0、1],

a=[1,-1、6,1、28];[z,p,K]=tf2zp(b,a);zplane(z,p);

②BMATLAB运行结果:

图2

系统的零极点分布图

③理论计算分析:解::由理论计算可得H(z)=2-1128.1z6.11z1.05.0z,解得:极点为:z1=0、8+0、8j,

z2=0、8-0、8j。零点为:z=-0、2其中|z|=|z1|=|z2|=0、82=1、1312,当|z|=0、82时,收敛域包括无穷大,系统就是因果系统;单位圆不在敛域内面,所以系统不稳定。当|z|0、82时,收敛域不包括无穷大,系统不就是因果系统;单位圆在收敛域内面,所以系统稳定。

试验四、TDFT算法的应用

一、试验目的

利用DFT对信号(如由多个正弦信号组成的信号)进行频谱分析,并研究采样长度、截断(即加窗)与补零对分析频率的影响。

二、试验原理

1.截断:寻常状况下,信号都就是无限长的。而在运用计算机进行模拟时,这就是无法操作的。所以实际状况下,要把观测的信号限制在一定长的时间之内。为了从无限长的信号中得到有限长的数据,在时域乘一个窗函数,将信号截短,叫做加窗。

2.补零:为了增加频域抽样点数N,在不改变时域数据的状况下,在时域数据末端加一些零值点,叫做补零。

3.频率辨别率:指对两个最近的频谱峰值能够辨别的能力。

利用DFT进行频谱分析,并研究不同数据长度,补零,加窗等对频率辨别率的影响。

利用DFT计算频谱的目的在于,针对计算机只能计算有限个离散的点的取值这一特点,实现计算机对连续时间信号的频谱的模拟。所以我们对比关心的就是模拟频谱与原信号频谱的拟合程度,我们希望拟合程度越高越好。这就需要增加频率辨别率,由于频率辨别率越高,根据公式,说明一致采样频率下,采样的长度就越长,也就就是频谱采样的点数就越多,我们可以瞧到的模拟频谱图像就越清楚,这样与原信号的拟合程度就越好。

MATLAB提供了2个内部函数用于计算DFT,它们分别就是:

fft(x,N)

fft(x,N)计算N点的DFT。

三、试验内容

已知序列x=sin(5*2*pi*n/fs)+cos(3*2*pi*n/fs),fs=30(1)不同采样长度的影响:分别计算序列的32点与128点DFT,绘出幅度谱图形。

F32=fft(x,32);F32mag=abs(F32);(2)补零对频率辨别率的影响:设定序列长度为32,采样长度64,对连续时间信号进行采样,首先对采样的信号时域图像后补若干个零,然后计算出采样长度状况下的频谱,并给出32点与64点的序列图与幅度谱图。

m1=64;m=0:m1-1x2=[x1,zeros(1,m1-n1)](3)加窗对频率辨别率的影响:一部分就是设定采样长度N1,对连续时间信号进行采样,然后利用DFT计算出采样长度N1状况下的频谱,并给出时域与频域图像。一部分采用加窗的方法对时域图像进行采样,然后利用DFT计算出采样长度N1状况下的频谱,并给出时域与频域图像。这里要注意的就是我们采用加窗的方法时,设定信号的长度为400,然后对长度为400的信号进行截短加窗,这时只有加窗处我们就是对信号采样的,即得到的信号就是有效的,其余位置信号都为0,所以这时我们仍旧认为采样长度为128、加窗:n=0:399;m=0:399;m2=128;fs=30;x=sin(5*2*pi*n/fs)+cos(3*2*pi*n/fs);x1=x、*(heaviside(m)-heaviside(m-m2));F1=fft(x1);mag=abs(F1);stem(mag);

四..试验结果分析处理

已知序列x=sin(5*2*pi*n/fs)+cos(3*2*pi*n/fs),fs=30(1)不同采样长度的影响:分别计算序列的32点与128点DFT,绘出幅度谱图形。

①BMATLAB程序如下:fs=30;n=0:31;x1=sin(5*2*pi*n/fs)+cos(3*2*pi*n/fs);F32=fft(x1,32);F32mag=abs(F32);subplot(1,2,1);stem(n,F32mag);

m=0:127;x2=sin(5*2*pi*m/fs)+cos(3*2*pi*m/fs);F128=fft(x2,128);F128mag=abs(F128);subplot(1,2,2);stem(m,F128mag);②BMATLAB运行结果:

图1

32点与128点DFT幅度谱图形

(2)补零对频率辨别率的影响:设定序列长度为32,采样长度64,对连续时间信号进行采样,首先对采样的信号时域图像后补若干个零,然后计算出采样长度状况下的频谱,并给出32点与64点的序列图与幅度谱图。

①BMATLAB程序如下:fs=30;n=0:31;x1=sin(5*2*pi*n/fs)+cos(3*2*pi*n/fs);F32=fft(x1,32);F32mag=abs(F32);subplot(1,2,1);stem(n,x1);

subplot(1,2,2);stem(n,F32mag);m1=64;n1=32;x2=[x1,zeros(1,m1-n1)];F64=fft(x2,64);F64mag=abs(F64);subplot(1,2,1);stem(n2,x2);subplot(1,2,2);stem(n2,F64mag);②BMATLAB运行结果:

图2补零后32点与64点的序列图与幅度谱图(3)加窗对频率辨别率的影响:一部分就是设定采样长度N1,对连续时间信号进行采样,然后利用DFT计算出采样长度N1状况下的频谱,并给出时域与频域图像。一部分采用加窗的方法对时域图像进行采样,然后利用DFT计算出采样长度N1状况下的频谱,并给出时域与频域图像。

①BMATLAB程序如下:

fs=30;n=0:399;m=0:399;m2=128;x3=sin(5*2*pi*n/fs)+cos(3*2*pi*n/fs);x5=[ones(1,128),zeros(1,272)];x4=x3、*x5;F1=fft(x4);mag=abs(F1);stem(mag);②BMATLAB运行结果:

图3

400点DFT序列图分析:由结果图可知,加穿函数后信号的频谱图近似等于信号原谱图。

试验五R:IIR滤波器的设计

一、试验目的

1.理解滤波器参数的意义;2.把握脉冲响应不变法与双线性变换法设计IIR数字滤波器的方法;3.把握利用Matlab设计其它各型IIR数字滤波器的方法;4.把握分析滤波器就是否达到性能指标的方法。

二、试验原理

1、利用脉冲响应不变法,直接根据归一化的巴特沃斯低通模拟滤波器系统函数H(p)得到IIR数字低通滤波器方法就是

RIIR数字滤波器的设计步骤::

(1)依照一定规矩把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;

模拟通带、阻带截止频率

(2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器;

[n,Wn]=buttord(wp,ws,Ap,As,s)[z,p,k]=buttap(n);设计模拟滤波器[b,a]=zp2tf(z,p,k);

将系统函数的零极点转化为系统函数一般形式的系数[bn,an]=lp2lp(b,a,Wn);(3)根据脉冲响应不变法与双线性不变法把模拟滤波器转换为数字滤波器;[bz,az]=bilinear(bn,an,1/Ts)[bz,az]=

impinvar(bn,an,1/Ts)

(4)假如要设计的滤波器就是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最终通过频率转换的方法来得到所要的滤波器。

3、直接设计数字滤波器方法:[n,Wn]=buttord(wp/pi,ws/pi,Ap,As)[b,a]=butter(n,Wn,high)设计其它各型IIR数字滤波器的理论方法在这里不再给出,读者可参瞧有关内容。在Matlab中,设计滤波器的过程很简单,只要加上一些操纵字符即可。操纵字符省略或为"low'表示设计低通滤波器,操纵字符为"high'表示设计高通滤波器,操纵字符为"band'表示设计带通滤波器,操纵字符为"stop'表示设计带阻滤波器。

三、试验内容

freqz(b,a);figure;[y,t]=impz(bz,az,101);stem(t,y)四、试验结果

(1)脉冲响应不变法设计:

①

BMATLAB程序:Ts=0、001;[n1,Wn1]=buttord(0、2*pi/Ts,0、6*pi/Ts,2,15,"s"),[z,p,k]=buttap(n1),

[b,a]=zp2tf(z,p,k);[b1,a1]=lp2lp(b,a,Wn1);[bz1,az1]=impinvar(b1,a1,1000);freqz(bz1,az1);

figure;[y1,t1]=impz(bz1,az1,101);stem(t1,y1);②

BMATLAB仿真结果:

图1

As=15dB频率响应截图

图2

冲击响应图③

理论计算分析:

p=0、2pi时有

Ap=2dB;s=0、6pi时有

As15dB,符合设计要求。

(2)双线性变换法设计

①

BMATLAB程序:Ts=0、001;

[n1,Wn1]=buttord(0、2*pi/Ts,0、6*pi/Ts,2,15,"s"),[z,p,k]=buttap(n1),[b,a]=zp2tf(z,p,k);[b1,a1]=lp2lp(b,a,Wn1);[bz1,az1]=bilinear(b1,a1,1000);freqz(bz1,az1);figure;[y1,t1]=impz(bz1,az1,101);stem(t1,y1);②

BMATLAB仿真结果:

图3

As=18dB频率响应截图

图4

冲击响应图③

理论分析:

p=0、2pi时有

Ap=2dB;s=0、6pi时有

As15dB,符合设计要求。

(3)直接设计法设计高通滤波器①

BMATLAB程序:Ts=0、001;[n1,Wn1]=buttord(0、8,0、44,3,20),[b,a]=butter(n1,Wn1,"high");freqz(b,a);figure;[y1,t1]=impz(b,a,101);stem(t1,y1);②

BMATLAB仿真结果::

图6

As=20dB频率响应截图

图7

冲击响应截图

③

理论分析:

p=0、8pi时有

Ap=3dB;s=0、44pi时有

As20dB,符合设计要求。

试验六、RFIR滤波器的设计

一、试验目的

1.把握FIR数字滤波器的设计方法;2.熟悉利用MATLAB软件进行FIR数字滤波器设计,以及对所设计的滤波器进行分析;二、试验原理

窗函数法的设计步骤

窗函数设计RFIR数字滤波器就是从时域出发的,,把理想滤波器的单位取样响应用于适合的窗函数截短成为有限长度的h(n),使得h(n)迫近理想的hhdd(n)。以实现所设计的滤波器的频率响应H(ejw))迫近与理想滤波器的频率响应Hd(ejw)。

由过渡带宽度及阻带最小衰减要求,,可选定窗外形,,并估计窗口长度NN。

bMatlab提供了1fir1函数,,以实现线性相位RFIR滤波器。

调用格式如下::

b=fir1(N,wc,ftype,window(M))

参数::

N:阶数

wc:归一化的数字频率,0wc1

wc=(wp+(ws--wp)/2)/pi

ftype:滤波器类型,,如高通、带阻等。

window:应用的窗函数类型

试验内容

基于窗函数设计法,利用MATLAB软件设计满足设计要求的FIR数字低通滤波器。

(1)要求利用窗函数设计法设计FIR数字低通滤波器,滤波器参数要求为:

。要求设计数字低通滤波器,同时要求给出滤波器的辐频特性曲线图以及幅度响应图与对数幅度响应图;参考函数:freqz(b,a);[h,w]=freqz(b,a);plot(w,abs(h))plot(w,20*log10(abs(h)))三、试验结果(1)

汉宁窗

①BMATLAB程序:wp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论