分析:此系统时变。因为系统中含尺度变换,若输入滞后一个单位,则输出滞后2个单位,系统参数随时间变化了,因此系统时变。 §7.4实现一阶差分方程 目的
学习求解自递归差分方程。 相关知识
离散时间系统往往用线性常系数差分方程来实现。两种最简单的差分方程是一阶移动平均y[n]?x[n]?bx[n?1]和一阶自递归y[n]?ay[n?1]?x[n],能用这些简单系统对许多实际系统进行建模或近似。例如,一阶自递归可以用于银行帐户建模,这时y[n]就是第n次的结余,而a?1?r就是利率为r的x[n]是第n次的存款或取款,复利。 深入题
1.写出一个函数y=diffeqn(a,x,yn1),该函数计算y[n]?ay[n?1]?x[n]所描述的因果系统的输出y[n]。输入向量x包含0?n?向量y包含
0?n?N?1N?1内的x[n],yn1
提供y[-1]的值。输出
内的
y[n]。M文件的第一行应该读出function
y=diffeqn(a,x,yn1)
提示:从y[-1]计算y[0]是自递归的第一步。在M文件中利用for循环从n?0开始依次计算到较大n值的y[n]。 代码:function [y]=diffeqn(a,x,yn1);
N=length(x); for n=1:N if n==1
y(n)=a*yn1*x(n) else y(n)=a*y(n-1)+x(n) end end
2.假设a?1,y[?1]?0,而且仅关心0?n?30内的输出。利用这个函数计算x1[n]??[n]和x2[n]?u[n]时的响应,用stem画出每个响应。
代码:clear;clc;
a=1;yn1=-1; for n=0:30 x2(n+1)=1; if n==0 x1(n+1)=1; else x1(n+1)=0; end end
y1=diffeqn(a,x1,yn1) y2=diffeqn(a,x2,yn1) n=[0:30]; subplot(2,1,1) stem(n,y1);grid; title('y1'); subplot(2,1,2) stem(n,y2);grid; title('y2');
运行结果:
3.假设a?1,y[?1]??1,利用这个函数计算x1[n]?u[n]和x2[n]?2u[n]时,在0?n?30内的y1[n]和y2[n],利用stem画出这两个输出,并画出2y1[n]?y2[n]。已知系统方程的是一线性差分方程,为什么这个差不恒为零? 代码:clear;clc;
a=1;yn1=-1; for n=0:30
x2(n+1)=1; x1(n+1)=1; end
y1=diffeqn(a,x1,yn1) y2=diffeqn(a,x2,yn1) n=[0:30]; subplot(311) stem(n,y1);grid; title('y1'); subplot(312)
stem(n,y2);grid; title('y2'); subplot(313) stem(n,2*y1-y2);grid; title('2*y1-y2');
运行结果:
分析:因为此系统为非因果,有初始储能,因此虽然系统方程的是一线性差分方
程,但这个差不恒为零 4.只要
a?1,方程y[n]?ay[n?1]?x[n]描述的因果系统是
BIBO稳定的。这类系统
的一个性质就是对于足够大的n,初始条件的影响是不重要的。假设a?12,x
向量包含在0?n?30内的x[n]?u[n]。假定y[?1]?0和y[?1]?12的两种情况下,计算
0?n?30内的两个输出信号。利用stem画出这两个响应,它们的差异怎样?
代码:clear;clc;
a=1/2;yn1=0;yn2=-1;
for n=0:30, x(n+1)=1;end
y1=diffeqn(a,x,yn1);y2=diffeqn(a,x,yn1) n=[0:30]; subplot(211)
stem(n,y1);grid;axis([0 30 -0.5 2.5]);title('y1'); subplot(212)
stem(n,y2);grid;axis([0 30 -0.5 2.5]);title('y2');
分析结果:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库信号与系统第四次实验报告(3)在线全文阅读。
相关推荐: