数字信号处理实验二 时域离散系统及系统响应

更新时间:2023-09-18 17:16:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 时域离散系统及系统响应

一、实验目的

1、掌握求解离散时间系统冲激响应和阶跃响应的方法;

2、进一步理解卷积定理,掌握应用线性卷积求解离散时间系统响应的基本方法; 3、掌握离散系统的响应特点。

二、实验内容

1、请分别用impz 和dstep函数求解下面离散时间系统的冲激响应和阶跃响应。 (1)系统的差分方程为:y(n)?0.8y(n?1)?0.64y(n?2)?0.866x(n)

1?0.5z?1(2)系统的系统函数为:H(z)? ?1?21?z?z2、运行例题2.3,理解卷积过程和程序中每一句的意义。

3、利用第1题求得的系统冲激响应求解系统在激励x(n)?u(n?3)下的响应。

三、实现步骤

4、请分别用impz 和dstep函数求解下面离散时间系统的冲激响应和阶跃响应。 (1)系统的差分方程为:y(n)?0.8y(n?1)?0.64y(n?2)?0.866x(n)

% y(n) = 0.8y(n -1) - 0.64y(n - 2) + 0.866x(n) % y(n) - 0.8y(n -1) + 0.64y(n - 2) = 0.866x(n) % a0=1 ,a1= -0.8 ,a2 =0.64 % b0=0.866 ,b1= 0 ,b2 =0 a=[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)]);

1?0.5z?1(2)系统的系统函数为:H(z)?

1?z?1?z?2

% a0=1 ,a1= -1 ,a2 =1 % b0=1 ,b1= -0.5 ,b2 =0 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)]);

图7 图8

5、运行例题2.3,理解卷积过程和程序中每一句的意义。

clf;

nf1=0:20; ?的时间向量 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

lt=lmax; u=[zeros(1,lt),f2,zeros(1,nf2),zeros(1,lt)]; 图9 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*lt

p=[zeros(1,k),hf1(1:N-k)]; y1=u.*p

yk=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 on pause(1); %停顿1秒钟 end

6、利用第1题求得的系统冲激响应求解系统在激励x(n)?u(n?3)下的响应。

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,2,1),stem(hn,'filled'); %显示冲激响应曲线

title('系统的单位冲激响应');

ylabel('h(n)');xlabel('n');

axis([0,n,1.1*min(hn),1.1*max(hn)]);

subplot(2,2,3)

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]);

% a0=1 ,a1= -1 ,a2 =1 % b0=1 ,b1= -0.5 ,b2 =0 a=[1,-1,1]; b=[1,-0.5,0]; n=20;

hn=impz(b,a,n); %冲激响应

subplot(2,2,2),stem(hn,'filled'); %显示冲激响应曲线

title('系统的单位冲激响应'); ylabel('h(n)');xlabel('n');

axis([0,n,1.1*min(hn),1.1*max(hn)]);

subplot(2,2,4)

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]);

图10

本文来源:https://www.bwwdw.com/article/ty8h.html

Top