- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.差分方程及其求解_数字信号处理实验报告
计算机与信息工程学院验证性实验报告
专业:通信工程 年级/班级:2011级 2013—2014学年第一学期
课程名称数字信号处理指导教师段新涛本组成员
学号姓名实验地点计科楼111实验时间周五7-8节项目名称差分方程及其求解实验类型验证性
一、实验目的
1.学习并掌握系统的差分方程表示方法以及差分方程的相关概念。
2.熟练使用filter函数对差分方程进行数值求解。
3.掌握差分方程的求解及MATLAB实现方法。
二、实验原理及方法
1.一LTI系统可以用一个线性常系数差分方程表示:
,任意n
如果,那么这个差分方程就是N阶的,已知系统的输入序列,用这个方程可以根据当前输入x(n)和以前M点的输入x(n-m),…,x(n-1),以及以前N点的输出y(n-N),…,y(n-1)来计算当前输出y(n)。在实际中这个方程在时间上是从到朝前计算的,因此该方程的另一种形式是:
方程的解能以下面形式求得:分别为方程的齐次解跟特解部分。已知输入和差分方程的稀疏,可用filter对差分方程进行数值求解。最简单形式为:y=filter(b,a,x) 其中b=[b0,b1,…,bM];a=[a0,a1,…,aN];
2.上面差分方程解的形式为齐次解和特解,另外还可以求零输入解和零状态解理论计算中要用到z变换,请好好掌握z变换的内容。用MATLAB实现时,若已知初始条件,则应用y=filter(b,a, x, xic)来求完全响应。这里xic是初始状态输入数组。MATLAB还提供一种filtic函数来得到xic。
xic=filtic(b,a,Y,X )其中b和a是滤波器系数数组,Y和X是分别从y(n)和x(n)的初始条件得来的初始状态数组。
三.实验内容
1、已知下面差分方程:
;任意n
要求:
a.计算并画出在n=-20,…,100的脉冲响应h(n);
b.计算并画出在n=-20,…,100的单位阶跃相应s(n).
2.解以下差分方程:
其中,初始条件为y(-1)=4和y(-2)=10。
要求先用理论计算,再用MATLAB编程实现,并对比两个结果。
参考流程图:
实验内容1.
开始
输入差分方程的系数矩阵
输入一冲激或阶跃序列
结束
利用 filter 函数计算冲激响应或阶跃响应
画出结果图形
实验内容2.
开始
输入输入序列 x
输入参数及初始条件
结束
计算输出序列
画出图形
???、实验报告要求
1.总结差分方程的性质及应用.
2.写出实验程序.记录实验数据并与理论计算作比较,总结结果。
五、实验程序及结果
针对问题一:
问题a的程序如下:
先建立一个生成单位抽样序列的M文件
function [x,n]=impseq(n0,n1,n2)
if((n0n1)|(n0n2)|(n1n2))
error(参数必须满足n1=n0=n2)
end
n=n1:n2;
x=[(n-n0)==0];
主程序如下:
clc;clear all
b=1;a=[1 -1 0.9];
[x,n]=impseq(0,-20,100);
y=filter(b,a,x);
plot(n,y)
title(输出脉冲响应h(n))
xlabel(n)
问题b的程序如下:
先建立一个生成单位阶跃序列的M文件
function [x,n]=stepseq(n0,n1,n2)
if((n0n1)|(n0n2)|(n1n2))
error(参数必须满足n1=n0=n2)
end
n=[n1:n2];
x=[(n-n0)=0];
主程序如下:
clc;clear all
b=1;a=[1 -1 0.9];
[x,n]= stepseq(0,-20,100);
y=filter(b,a,x);
plot(n,y)
title(输出单位阶跃响应s(n))
xlabel(n)
针对问题二:
1、理论计算
系统函数为
输入信号的Z变换为
对给出的差分方程求单边Z变换,得:
故
把n=1,2,3…11代入上式得:y(1)=2, y(2)=1.25, y(3)= 0.9375, y(4)= 0.7969,
y(5)= 0.7305, y(6)= 0.6982,y(7)= 0.6824, y(8)= 0.6745, y(9)= 0.6706, y(10)= 0.6686, y(11)= 0.6676
2、MATLAB编程实现
clc;clear all
b=[1];a=[1,-1.5,0.5]; %系统函数分子分母系数
ys=[4,10]; %初始条件
xic=filtic(b,a,ys); %初始条件形成的等效输入序列
bx1=[1];ax1=[1,-0.25]; %X(z)的系数
ay1=co
文档评论(0)