07电信 35号 林烟泉
1. 已知系统的差分方程如下式:
y1(n)=0.9y1(n-1)+x(n)
程序编写如下:
(1) 输入信号x(n)=R10 (n),初始条件y1(-1)=1,试用递推法求解输出y1(n);
a=0.9; ys=1; %设差分方程系数a=0.9,初始状态: y(-1)=1
xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10),定义其宽度为0~9
n=1:35; %设差分方程系数a=0.9,初始状态: y(-1)=1
xn=sign(sign(10-n)+1);
B=1;A=[1,-a]; %差分方程系数
xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xi
yn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)
n=0:length(yn)-1;
subplot(2,1,1);stem(n,yn,'linewidth',2); axis([-5,15,0,8]); grid on
title('图(a) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=1 ');
xlabel('n');ylabel('y(n)')
(2) 输入信号x(n)=R10 (n),初始条件y1(-1)=0,试用递推法求解输出y1(n)。
a=0.9; ys=0; %设差分方程系数a=0.9,初始状态: y(-1)=1
xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10)
B=1;A=[1,-a]; %差分方程系数
xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xi
yn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)
n=0:length(yn)-1;
subplot(2,1,2);stem(n,yn, 'linewidth',2); axis([-5,15,0,8]); grid on
title('图(b) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=0 ');
xlabel('n');ylabel('y(n)') 图形输出如下:
2. 已知系统差分方程为:
y1(n)=0.9y1(n-1)+x(n)
用递推法求解系统的单位脉冲响应h(n),要求写出h(n)的封闭公式,并打印h(n)~n曲线。解: 用递推法求解y1(n)=0.9y1(n-1)+x(n)系统的单位脉冲响应h(n),即下x(n)=delta(n), 其中delta(n)=单位脉冲
y(0)=0.9y(-1)+delta(0)=1+0.9
y(1)=0.9y(0)+delta(1)=(1+0.9)*0.9
y(2)=0.9y(1)+delta(2)=(1+0.9)*0.9^2
y(3)=0.9y(1)+delta(3)=(1+0.9)*0.9^3
....... ..
y(n)=(1+0.9)*0.9^n*u(n)
输入信号x(n)=脉冲序列,此时系统的单位脉冲响应等于输出,即h(n)=y(n)。该例中,y(-1)=0,得到h(n)=y(n)=0.9^n*u(n)。
∴h(n)的封闭公式为: h(n)=y(n)=0.9^n*u(n)
绘出h(n)~n曲线:
h(n)=y(n)=0.9^n*u(n)的Z变换为H(z)=1/(1-0.9z^-1) 收敛域:|a|<|z|<∞
程序代码编写如下:
a=0.9; ys=0; %设差分方程系数a=0.9,初始状态: y(-1)=0
xn=[1,zeros(1,35)]; %x(n)为单位脉冲序列,长度N=36
B=1;A=[1,-a]; %差分方程系数
xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xi
yn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出信y(n)
n=0:length(yn)-1;
subplot(1,1,1);stem(n,yn, 'linewidth' ,2); grid on
title('图(c) h(n)=y(n)=0.9^n*u(n)');
xlabel('n');ylabel('y(n)') h(n)~n的曲线如下图(c)所示:
3. 已知系统的单位脉冲响应h(n)=0.9^n*u(n),输入信号x(n)=R10 (n),试用卷积法求解系统输出y(n),并打印y(n)~n曲线。
解:h(n)=0.9^n*u(n)的Z变换为H(z)=1/(1-0.9z^-1),x(n)=R10(n)的Z变换为X(z)=(1-z^-10)/(1-z^-1)。时域卷积等于频域乘积即Y(z)=H(z)*X(z)
调用conv函数 输入 hn=[1]; xn=[1,-0.9]; yn=conv(hn,xn); 输出y(n)。
∴得到 y(n)-0.9y(n-1)=x(n), 其中y(n)=(1+0.9)*0.9^n*u(n)。
绘y(n)~n曲线 Matlab程序编写如下:
clf;
a=0.9; ys=0; %设差分方程系数a=0.9
xn=[u(n)-u(n-10),zeros(1,10)]; %矩型序列R10(n)=u(n)-u(n-10)
B=1;A=[1,-a]; %差分方程系数
xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xi
yn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)
n=0:length(yn)-1;
subplot(1,1,1);stem(n,yn,'.'); grid on
title('图(d) y(n)=(1+0.9)*0.9^n*u(n)');
xlabel('n');ylabel('y(n)');axis([-5,55,-0.5,7]) y(n)~n曲线如图(d)所示:
4.已知差分方程:(实验另外设计)
y(n)-y(n-1)+0.9y(n-2)+0.1y(n-3)=x(n)+0.5x(n-1);
要求:画出在n=-10到30的单位脉冲响应h(n)~n曲线。
程序编写如下:
b=[1,0.5];a=[1,-1,0.9,0.1];n=[-10:30];
hn=impz(b,a,n);
subplot(1,1,1);stem(n,hn,'linewidth',3);
grid on
title('图(e) ');xlabel('n');ylabel('h(n)'); h(n)~n曲线如图(e)所示:
PAGE
4
07电信 35号 林烟泉
本文档为【实验一 递推法解差分方程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。