数字信号处理实验一信号系统及系统响应.doc
word某某郵電學院数字信号处理课内实验报 告 书系部名称:学生某某:专业名称:班 级:学号:时间:实验一:信号、系统与系统响应一. 实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。 (2) 熟悉时域离散系统的时域特性。 (3) 利用卷积方法观察分析系统的时域特性。 (4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号与系统响应进展频域分析。二. 实验原理与方法采样是连续信号数字处理的第一个关键环节。对一个连续信号xa(t)进展理想采样的过程可用(10.3.1)式表示。(10.3.1)其中 (t)为xa(t)的理想采样, p(t)为周期冲激脉冲,即(10.3.2) (t)的傅里叶变换(j)为(10.3.3) 将(10.3.2)式代入(10.3.1)式并进展傅里叶变换,(10.3.4) 式中的xa(nT)就是采样后得到的序列x(n),即x(n)的傅里叶变换为(10.3.5)比拟(10.3.5)和(10.3.4)可知10.3.6) 在数字计算机上观察分析各种序列的频域特性,通常对X(ej)在0, 2上进展M点采样来观察分析。对长度为N的有限长序列x(n), 有(10.3.7) 其中一个时域离散线性非移变系统的输入/输出关系为(10.3.8) 上述卷积运算也可以在频域实现图10.3.1 实验一的主程序框图三. 实验内容与步骤 (1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换与性质等有关内容,阅读本实验原理与方法。 (2) 编制实验用主程序与相应子程序。信号产生子程序,用于产生实验中要用到的如下信号序列: xa(t)=Ae-at sin(0t)u(t)进展采样,可得到采样序列 xa(n)=xa(nT)=Ae-anTsin(0nT)u(n), 0n<50其中A为幅度因子, a为衰减因子,0是模拟角频率,T为采样间隔。这些参数都要在实验过程中由键盘输入, 图10.3.2 xa(t)的幅频特性曲线产生不同的xa(t)和xa(n)。b. 单位脉冲序列: xb(n)=(n)c. 矩形序列: xc(n)=RN(n), N=10系统单位脉冲响应序列产生子程序。本实验要用到两种FIR系统。 a. ha(n)=R10(n);b. hb(n)=(n-2)+(n-3) 有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。可以直接调用MATLAB语言中的卷积函数conv。 conv用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。调用格式如下: y=conv (x, h)(3) 调通并运行实验程序,完成下述实验内容:分析采样序列的特性。a. 取采样频率fs=1 kHz, 即T=1 ms。b. 改变采样频率, fs=300 Hz,观察|X(ej)|的变化,并做记录(打印曲线);进一步降低采样频率, fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(ej)|曲线。源程序:A=444.128;a=50*sqrt(2)*pi;w=50*sqrt(2)*pi;n=0:49;fs=1000;x=A*exp(-a)*n/fs).*sin(w*n/fs);k=-200:200;w=(pi/100)*k;y=x*(exp(-j*pi/100).(n'*k);%y=fft(x)subplot(1,2,1);stem(n,x);axis(0,50,-50,150);xlabel('n');ylabel('Xa(n)');title('fs=1000');subplot(1,2,2);plot(w/pi,abs(y)axis(-2,2,0,1000);xlabel('w/pi');ylabel('/Xa(ejw)/');A=444.128;a=50*sqrt(2)*pi;w=50*sqrt(2)*pi;n=0:49;fs=500;x=A*exp(-a)*n/fs).*sin(w*n/fs);k=-200:200;w=(pi/100)*k;y=x*(exp(-j*pi/100).(n'*k);%y=fft(x)subplot(1,2,1);stem(n,x);axis(0,50,-50,150);xlabel('n');ylabel('Xa(n)');title('fs=500');subplot(1,2,2);plot(w/pi,abs(y)axis(-2,2,0,500);xlabel('w/pi');ylabel('/Xa(ejw)/');A=444.128;a=50*sqrt(2)*pi;w=50*sqrt(2)*pi;n=0:49;fs=200;x=A*exp(-a)*n/fs).*sin(w*n/fs);k=-200:200;w=(pi/100)*k;y=x*(exp(-j*pi/100).(n'*k);%y=fft(x)subplot(1,2,1);stem(n,x);axis(0,50,-50,150);xlabel('n');ylabel('Xa(n)');title('fs=200');subplot(1,2,2);plot(w/pi,abs(y)axis(-2,2,80,180);xlabel('w/pi');ylabel('/Xa(ejw)/');结果分析:时域采样定理要求采样频率大于折叠频率fs/2=500Hz,频谱才不至于出现混叠。从仿真图中可以看出当fs=200Hz时,频谱出现严重失真出现混叠;而当fs=1000Hz时,频谱没有失真;fs=500Hz时,频谱刚好处于临界状态。时域离散信号、系统和系统响应分析。 a. 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比拟所求响应y(n)和hb(n)的时域与频域特性,注意它们之间有无差异,绘图说明,并用所学理论解释所得结果。原程序:函数调用局部:functionx,n=impesq(n0,n1,n2)n=n1:n2;x=(n-n0)=0;n=0:3;xb=impesq(0,0,3);Hb=impesq(0,0,3)+2.5*impesq(1,0,3)+2.5*impesq(2,0,3)+impesq(3,0,3);k=-200:200;w=(pi/100)*kaa=xb*(exp(-j*pi/100).(n'*k);bb=Hb*(exp(-j*pi/100).(n'*k);n=0:3subplot(3,2,1);stem(n,xb); axis(-2 2 0 2); xlabel('n'); ylabel('xb(n)'); title('xb(n)');subplot(3,2,2);plot(w/pi,abs(aa); axis(-2 2 0 2); xlabel('w/pi'); ylabel('xb(|(jw)|'); title('xb(ejw)'); subplot(3,2,3);stem(n,Hb); axis(0 4 0 3); xlabel('n'); ylabel('Hb'); title('Hb(n)');subplot(3,2,4);plot(w/pi,abs(bb); axis(-2 2 0 8); xlabel('w/pi'); ylabel('Hb(|(jw)|'); title('Hb(ejw)'); n=0:6 y=conv(xb,Hb); yy=y*(exp(-j*pi/100).(n'*k); subplot(3,2,5); stem(n,y); axis(0 7 0 3); xlabel('n'); ylabel('y(n)'); title('xb*Hb');subplot(3,2,6);plot(w/pi,abs(yy); axis(-2 2 0 8); xlabel('w/pi'); ylabel('|Y(jw)|'); title('Y(ejw)');结果分析:单位冲击序列和任意序列卷积等于任意序列,从仿真图中可以直接看出卷积后的频谱Y/(ejw)/和任意序列的频谱Hb/(ejw)/一样。b. 观察系统ha(n)对信号xc(n)的响应特性。原程序:函数调用局部:functionx,n=stepseq(n0,n1,n2)n=n1:n2;x=(n-n0)>=0;n=0:18;xc=stepseq(0,0,9);Ha=stepseq(0,0,9);y=conv(xc,Ha);subplot(2,2,1);stem(n,y);axis(0 20 0 10);xlabel('n');ylabel('y(n)');title('xc(n)*Ha(n)');k=-300:300;W=(pi/100)*k;Y=y*(exp(-j*pi/100).(n'*k)subplot(2,2,2);plot(W/pi,Y);axis(-2 2 0 150);xlabel('W/pi');ylabel('Y(jw)');title('FTxc(n)*Ha(n)');n=0:13;xc1=stepseq(0,0,4);y=conv(xc1,Ha);subplot(2,2,3);stem(n,y);axis(0 15 0 10);xlabel('n');ylabel('y(n)');title('xc1(n)*Ha(n)');k=-300:300;W=(pi/100)*k;Y=y*(exp(-j*pi/100).(n'*k)subplot(2,2,4);plot(W/pi,Y);axis(-2 2 0 60);xlabel('W/pi');ylabel('Y(jw)');title('FTxc1(n)*Ha(n)');结果分析:长度为M的序列X1(n)和长度为N的序列X2(n)做线性卷积后其长度L=M+N-1.当Xc(n)和Ha(n)的长度都为10,作线性卷积后长度为10+10-1=19,和左上角的仿真结果一致;当Xc(n)和Ha(n)的长度分别为5和10时,作线性卷积后的长度为14,仿真图如左下。和理论相符合。卷积定理的验证。原程序:Impesq为调用函数,见上文。n=0:3;hb=impesq(0,0,3)+2.5*impesq(1,0,3)+2.5*impesq(2,0,3)+impesq(3,0,3);k=-200:200;W=(pi/100)*k;m=hb*(exp(-j*pi/100).(n'*k);n=0:19;xa=1*exp(-0.4*n*1).*sin(2.0734*n*1);n=0:22;z=conv(xa,hb);subplot(2,2,1);stem(n,z);axis(0 20 -0.5 1.5);xlabel('n');ylabel('y(n)');title('xa(n)*hb(n)');subplot(2,2,2);Y1=z*(exp(-j*pi/100).(n'*k);plot(W/pi,abs(Y1);axis(-2 2 0 2.5);xlabel('w/pi');ylabel('|Y(ejw)|');title('FTxa(n)*Hb(n)');k=-200:200;W=(pi/100)*k;n=0:19;c=xa*(exp(-j*pi/100).(n'*k);Y=c.*m;subplot(2,2,3)plot(W/pi,Y);axis(-2 2 0 2.5);xlabel('w/pi');ylabel('|Y(jw)|');title('Xa(jw)*Hb(jw)');结果分析:由图中可以看出两个序列卷积的傅立叶变换等于其傅立叶的乘积,从而验证了时域卷积定理。4. 思考题 (1) 在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率度量是否都一样? 它们所对应的模拟频率是否一样? 为什么?因为w=T=/fs,所以当采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率度量不同,因为模拟信号是一定的,所以对应的模拟频率一定是一样的。 (2) 在卷积定理验证的实验中,如果选用不同的频域采样点数M值,例如,选M=10和M=20,分别做序列的傅里叶变换,求得所得结果之间有无差异,为什么?13 / 13