HEFEI  UNIVERSITY
信号与系统项目设计报告
系  别          电子信息与电子工程系         
                    项目第十题                
                  电子信息工程              
              11电子信息工程(2)班         
小组成员  钟文俊(1105012012  谢伟明(1105012041) 授课老师                  纪平                   
完成时间                2014.01.02               
MATLAB仿真离散系统差分方程
1、设计题目
           
系统输入序列为
2、设计要求
1、试用MATLAB绘出输入序列的时域波形;
2、MATLAB求出该系统020区间的样值;
3、MATLAB画出系统的零状态响应波形。
3、功能分析
差分方程反映的是关于离散变量的取值与变化规律 。通过建立一个或几个离散变量取值所满足的平衡关系,从而建立差分方程。差分方程就是针对要解决的目标,引路系统或过程中的离散变量,根据实际背景的规律、性质、平衡关系,建立离散变量所满足的平衡关系等式,从而建立差分方程。通过求出和分析方程的解,或者分析得到方程解的特别性质(平衡性、稳定性、渐近性、振动性周期性等),从而把握这个离散变量的变化过程的规律,进步再结合其他分析,得到原问题的解。
4、设计原理分析
1、差分方程定义
含有未知函数yt=f(t)以及yt的差分Dyt D2yt,…的函数方程,称为常差分方程(简称差分方
);出现在差分方程中的差分的最高阶数,称为差分方程的阶。n阶差分方程的一般形式为F(tytDyt,…, Dnyt)=0,其中Ftyt, Dyt,…, Dnyt的已知函数,且Dnyt一定要在方程中出现。
含有两个或两个以上函数值ytyt+1,…的函数方程,称为()差分方程,出现在差分方程中未知函数下标的最大差,称为差分方程的阶。n阶差分方程的一般形式为F(tytyt+1,…,yt+n)=0,其中Ftytyt+1,…,yt+n的已知函数,且ytyt+n一定要在差分方程中出现。
2、差分方程的意义与应用
差分方程模型有着广泛的应用。实际上,连续变量可以用离散变量来近似逼近,从而微分方程模型就可以近似于某个差分方程模型。差分方程模型有着非常广泛的实际背景。在经济金融保险领域、生物种数量结构规律分析、疫病和病虫害的控制与防治、遗传规律的研究等许许多多的方面都有着非常重要的的作用。可以这样讲,只要牵涉到关于变量的规律,性质,就可以适当的用差分方程模型来表现体与分析求解。
3、MATLAB仿真时用的相关函数说明
在用MATLAB仿真离散系统的差分方程时可以用函数y=filter(p,d,x)实现差分方程的仿真,用y=impz(p,d,N)求系统的冲激响应。
3.1利用filter函数实现差分方程说明:
filter([1,2],1,[1,2,3,4,5])实现  y[k]=x[k]+2*x[k-1]
y[1]=x[1]+2*0=1%(x[1]之前状态都用0)
y[2]=x[2]+2*x[1]=2+2*1=4
3.2filter函数求该差分方程y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]的单位冲激响应和单位阶跃响应说明:
单位冲激响应:
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:20;
x1=[1 zeros(1,20)];
y1filter=filter(b1,a1,x1);
stem(n,y1filter);
title('y1filter');
xlabel('x');
ylabel('y');
单位阶跃响应:
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2);
stem(n,y1filter);
title('y1filter_step');
xlabel('x');
ylabel('y');
3.3impz函数求差分方程y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]的单位冲击响应和单位阶跃响应说明:
用subplot函数单位冲击响应:
a1=[1,0.75,0.125];
b1=[1,-1];
impz(b1,a1,21);
单位阶跃响应:
a=[1,0.75,0.125];
b=1;
impz(b,a)
y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。y=impz(p,d,N)是用来实现冲击响应的,dp的定义见filterN表示冲击响应输出的序列个数。
5、详细设计
1、设计函数思路
利用MATLAB软件实现这个仿真过程,其中应用到filter函数来实现差分方程的零状态响应,利用impz函数来实现差分方程020区间的样值的取样。
2、理论计算
两边Z变换得
求得:
再由
求得:
求得:
3、设计过程记录
第一次:
a=[1 -0.25 0.5];                            %差分方程系数
b=[1 1];                                      %差分方程系数
n=0:20;                                        %序列个数
fn=0.5.^n;                                    %输入序列
y=filter(b,a,fn);                            %系统零状态响应
subplot(1,3,1),stem(n,fn,'filled');title('输入序列');grid on