当前位置:文档之家› 武汉工程大学数字信号处理实验二时域离散系统及系统响应

武汉工程大学数字信号处理实验二时域离散系统及系统响应

实验二时域离散系统及系统响应一、实验目的1、掌握求解离散时间系统冲激响应和阶跃响应的方法;2、进一步理解卷积定理,掌握应用线性卷积求解离散时间系统响应的基本方法;3、掌握离散系统的响应特点。

二、实验内容1、请分别用impz 和dstep函数求解下面离散时间系统的冲激响应和阶跃响应。

(1)系统的差分方程为:)ynnny-=(n-+y+x)2.0866)((8.064()1.0a=[1,-0.8,0.64];b=[0.866,0,0];n=20;hn=impz(b,a,n); %冲激响应gn=dstep(b,a,n); %阶跃响应subplot(2,1,1),stem(hn,'filled'); %显示冲激响应曲线title('系统的单位冲激响应');ylabel('h(n)');xlabel('n');axis([0,n,1.1*min(hn),1.1*max(hn)]);subplot(2,1,2),stem(gn,'filled'); %显示阶跃响应曲线title('系统的单位阶跃响应'); ylabel('g(n)');xlabel('n');axis([0,n,1.1*min(gn),1.1*max(gn)]);2468101214161820-0.4-0.200.20.40.60.8系统的单位冲激响应h (n )n246810121416182011.21.41.6系统的单位阶跃响应g (n )n(2)系统的系统函数为:21115.01)(---+--=zz z z H a=[1,-1,1]; b=[1,-0.5,0]; n=20;hn=impz(b,a,n); %冲激响应 gn=dstep(b,a,n); %阶跃响应subplot(2,1,1),stem(hn,'filled'); %显示冲激响应曲线 title('系统的单位冲激响应'); ylabel('h(n)');xlabel('n');axis([0,n,1.1*min(hn),1.1*max(hn)]);subplot(2,1,2),stem(gn,'filled'); %显示阶跃响应曲线 title('系统的单位阶跃响应'); ylabel('g(n)');xlabel('n');axis([0,n,1.1*min(gn),1.1*max(gn)]);2468101214161820-1-0.500.51系统的单位冲激响应h (n )n2468101214161820-0.500.511.5系统的单位阶跃响应g (n )n2、运行例题2.3,理解卷积过程和程序中每一句的意义。

clf;nf1=0:20; %f1µÄʱ¼äÏòÁ¿f1=0.8.^nf1;lf1=length(f1);nf2=0:10; % f2µÄʱ¼äÏòÁ¿lf2=length(nf2); %È¡f2µÄʱ¼äÏòÁ¿µÄ³¤¶Èf2=ones(1,lf2);lmax=max(lf2,lf1);if lf2>lf1 nf2=0;nf1=lf2-lf1;elseif lf2<lf1 nf1=0;nf2=lf1-lf2;else nf2=0;lf1=0;endlt=lmax; u=[zeros(1,lt),f2,zeros(1,nf2),zeros(1,lt)];t1=(-lt+1:2*lt);f1=[zeros(1,2*lt),f1,zeros(1,nf1)];hf1=fliplr(f1);N=length(hf1);y=zeros(1,3*lt);for k=0:2*ltp=[zeros(1,k),hf1(1:N-k)];y1=u.*pyk=sum(y1);y(k+lt+1)=yk;subplot(4,1,1);stem(t1,u);subplot(4,1,2);stem(t1,p);subplot(4,1,3);stem(t1,y1);subplot(4,1,4);stem(k,yk);axis([-20,50,0,5]);hold onpause(1); %Í£¶Ù1ÃëÖÓend-20-100102030405053、利用第1题求得的系统冲激响应求解系统在激励)3unx下的响应。

(-=n()a=[1,-0.8,0.64];b=[0.866,0,0];yi=[0 0];xi=0;xic=filtic(b,a,yi,xi);n=20;hn=impz(b,a,n); %³å¼¤ÏìÓ¦subplot(2,1,1),stem(hn,'filled'); %ÏÔʾ³å¼¤ÏìÓ¦ÇúÏßtitle('ϵͳµÄµ¥Î»³å¼¤ÏìÓ¦');ylabel('h(n)');xlabel('n');axis([0,n,1.1*min(hn),1.1*max(hn)]);subplot(2,1,2)f=[0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ];Y1=conv(hn,f);stem(Y1,'filled');axis([0,20,-1,2]);2468101214161820-0.4-0.200.20.40.60.8系统的单位冲激响应h (n )n02468101214161820-112a=[1,-1,1]; b=[1,-0.5,0]; n=20;hn=impz(b,a,n); %³å¼¤ÏìÓ¦subplot(2,1,1),stem(hn,'filled'); %ÏÔʾ³å¼¤ÏìÓ¦ÇúÏß title('ϵͳµÄµ¥Î»³å¼¤ÏìÓ¦'); ylabel('h(n)');xlabel('n');axis([0,n,1.1*min(hn),1.1*max(hn)]);subplot(2,1,2)f=[0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]; Y1=conv(hn,f);stem(Y1,'filled'); axis([0,20,-1,2]);2468101214161820-1-0.500.51系统的单位冲激响应h (n )n02468101214161820-112思考题1、利用impz 和dstep 函数时,m b 和k a 系数在编写程序时要注意什么? 答:m b 和k a 要注意看清序列的个数,如b=[1,-0.5,0];不要将最后一个0忘了。

MATLAB 中提供的conv 卷积函数在使用中应满足什么条件?若条件不能满足,应如何处理?答:MATLAB 中提供的conv 卷积函数在使用中应满足函数中的序列个数有限。

相关主题