首页 实验一 递推法解差分方程

实验一 递推法解差分方程

举报
开通vip

实验一 递推法解差分方程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; ...

实验一 递推法解差分方程
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,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_342696
暂无简介~
格式:doc
大小:48KB
软件:Word
页数:4
分类:理学
上传时间:2018-09-09
浏览量:180