实验报告2012年04月26日课程名称:数字信号处理实验名称:系统及系统响应班级:学号:姓名:实验二系统及系统响应一、实验目的(1)观察离散系统的频率响应;(2)熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;(3)利用序列的FT对连续信号、离散信号及系统响应进行频域分析;(4)利用卷积方法观察分析系统的时域特性。二、实验内容(1)给定一因果系统H(z)=,求出并绘制H(z)的幅频响应与相频响应;(2)对信号xa(t)=Au(n)0n50其中A=444.128,a=50,=50,实现下列实验内容:a、取采样频率fs=10KHZ,观察所得采样xa(n)的幅频特性|X()|和图中的|Xa(j)|在折叠频率附近有无明显差别。b、改变采样频率fs=1KHZ,观察|X()|的变化,并作记录:进一步降低采样频率,fs=300HZ,观察频谱混叠是否明显存在,说明原因,并记录这时的|X()|曲线。(3)给定系统的单位抽样响应为h1(n)=R10(n)a、利用线性卷积求信号x1(n)=(n),通过该系统的响应y1(n)。比较所求响应y1(n)和h1(n)之间有无差别,绘图说明,并用所学理论解释所得结果。b、利用线性卷积求信号x2(n)=R10(n),通过该系统的响应y2(n),并判断y2(n)图形及其非0值序列长度是否与理论结果一致,改变x2(n)的长度,取N=5,重复该试验。注意参数变化的影响,说明变化前后的差异,并解释所得结果。(4)求x(n)=11(n+2)+7(n+1)-(n-1)+4(n-2)+2(n-3)通过系统h(n)=2(n+1)+3(n)-5(n-2)+2(n-3)+(n-4)的响应y(n)。三、实验程序及解析(1)1、程序clear;closeall;b=[1,sqrt(2),1];a=[1,-0.67,0.9];[h,w]=freqz(b,a);am=20*log10(abs(h));%am=20*log10(abs(h))为幅频响应取dBsubplot(2,1,1);%将窗口划分为2*1的小窗口并选择第一个显示plot(w,abs(h));xlabel('w');ylabel('幅频响应');title('系统响应')ph=angle(h);subplot(2,1,2);%选择第二个窗口显示plot(w,ph);xlabel('w');ylabel('相频响应');2、系统响应结果图1因果系统的H(z)的系统响应3、结果分析分析z域系统的特性主要是由系统的零点和极点的分布得出结论的。首先求出系统的极点和零点,再画出零极图,由理论得出的结论是:系统的幅频特性是零极图上各零点到单位圆上某点的向量的积与各极点到单位圆上该点的向量的积之比,而幅频特性曲线就是在单位圆上的那一点从0到2变化的结果。很显然,从系统的幅频特性响应来看,该系统明显是一个带通滤波器。(2)1、程序functionX=dtft(x,w)X=x*exp(-j*[0:(length(x)-1)]'*w);%离散傅立叶变换的函数定义fs=10000;fs1=1000;fs2=300;%设置三种采样频率t=0:1/fs:0.1;%采集信号长度为0.1sA=444.128;a=50*sqrt(2)*pi;b=a;xa=A*exp(-a*t).*sin(b*t);k=0:511;f=fs*k/112;%序列长度为512,即N=512,还有模拟频率fXa=dtft(xa,2*pi*k/512);%离散傅立叶变换T1=1/fs1;t1=0:T1:0.1;%采集信号长度为0.1sx1=A*exp(-a.*t1).*sin(b*t1);%1KHz的采样序列x1(n)X1=dtft(x1,2*pi*k/512);%x1(n)的512点傅立叶变换T2=1/fs2;t2=0:T2:0.1;%采集信号长度为0.1sx2=A*exp(-a.*t2).*sin(b*t2);X2=dtft(x2,2*pi*k/512);figure(1);subplot(6,1,1);plot(t,xa);%画出原始波形axis([0,max(t),min(xa),max(xa)]);title('模拟信号');xlabel('t(s)');ylabel('xa(t)');line([0,max(t)],[0,0]);subplot(6,1,2);plot(f,abs(Xa));title('模拟信号幅度频谱');axis([0,1000,0,max(abs(Xa))]);%坐标轴的刻度及范围xlabel('f(Hz)');ylabel('|Xa(jf)|');subplot(6,1,3);stem(t1,x1,'.');axis([0,max(t1),min(x1),max(x1)]);title('采样序列x1(n)');xlabel('n');ylabel('x1(n)');line([0,max(t1)],[0,0]);f=fs1*k/512;subplot(6,1,4);%plot(f,abs(X1));stem(f,abs(X1));title('x1(n)的幅度频谱');axis([0,200,0,max(abs(X1))]);xlabel('f(Hz)');ylabel('|X1(jf)|');subplot(6,1,5);stem(t2,x2,'.');axis([0,max(t2),min(x2),max(x2)]);title('采样序列x2(n)');xlabel('n');ylabel('x2(n)');line([0,max(t2)],[0,0]);f=fs2*k/512;subplot(6,1,6);plot(f,abs(X2));title('x2(n)的幅度频谱');axis([0,300,0,max(abs(X2))]);xlabel('f(Hz)');ylabel('|X2(jf)|');2、运行结果图2信号的采样前后的频谱变化3、结果分析由理论知识可知:时域采样定理:只有采样频率大于等于2倍的模拟信号的最高频率时,才可以在解调时无失真的恢复原始模拟信号1)当采样频率fs=10KHz时,频谱不会发生混叠,因为采样频率远远大于2倍的模拟信号最高频率(此实验中模拟信号为单一频率信号,故只有一个也是最高频率);2)当采样频率fs=1KHz时,频谱也不会发生混叠,因为采样频率也是大于2倍的模拟信号最高频率的;3)当采样频率fs=300Hz时,频谱可能会发生混叠,因为采样频率只是稍大于2倍的模拟信号最高频率,若解调是低通滤波器特性不是很理想的话就会使通过后的信号失真;4)时域采样在频域表现出来的是对原模拟信号的频谱的以采样间隔为周期的周期延拓,如果采样频率不够,则会造成采样后的信号的频谱混叠,解调时则无法用低通滤波器分离出一个完整周期的频谱,进而无法恢复原始信号(3)1、程序function[y,ny]=convm(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h));%卷积函数的定义ny=[nyb:nye];y=conv(x,h)functionX=dtft(x,w);%傅立叶变换函数定义X=x*exp(-j*[0:(length(x)-1)]'*w);x=[11,7,0,-1,4,2];nx=[-2:3];h=[2,3,0,-5,2,1];nh=[-1:4];[y,ny]=convm(x,nx,h,nh)subplot(3,1,1);stem(nx,x);subplot(3,1,2);stem(nh,h);subplot(3,1,3);stem(ny,y);xlabel('n');ylabel('y(n)');2、运行结果图3序列的响应3、结果分析通过系统的单位脉冲响应h(n),求已知输入x(n)下的输出y(n)有两种方法,一是时域卷积,理论证明:系统的时域输出等于输入与该系统的单位脉冲响应相卷积;二是频域相乘法:由时域卷积定理可知:时域的卷积等于响应输入的频域的乘积,因此可以通过频域的输出再反变换求得系统的时域输出,其中用z变换法可以得到很多的简化;脉冲序列(n)有一些很好的性质,如:任何序列x(n)与(n)卷积都等于x(n)本身,(n)的傅立叶变化为常数1等等。四、小结1、系统H(z)的响应分为幅频和相频响应,设|X()|为幅频特性,为相频特性,由理论分析可知:|X()|=|A|,=其中,cr为H(z)的零点,dr为H(z)的极点,B为z域单位圆上任意一点,为向量的相位,即该向量与z域实轴的夹角,为向量,由此可知,从系统函数的零极点便可知道系统的幅频特性与相频特性,当从0到2变化时,点B也在改变,从而可以分析出幅频与相频特性的曲线。2、对模拟信号进行等间隔采样的条件要满足乃奎斯特采样定理,即采样频率应大于2倍的模拟信号的最高频率,只有满足这个条件才可以无失真的由内插公式恢复原始信号,另外,对模拟信号的时域采样就是在频域对原模拟信号的频谱的以采样间隔为周期进行周期延拓的过程,若不满足采样定理,则在频域内会造成频率混叠;3、系统的响应可以由输入与该系统的单位脉冲响应卷积得到,如果应用时域卷积定理,看作是输入的傅立叶变换与H()乘积;4、通过此次实验,让我复习了理论知识,并且对理论有了更深的理解,我还了解到用Matlab处理数字信号的一些函数及方法,学会了调试程序,查找错误及初步的修改程序。