- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数字信号处理》实验指导书--应用试验课案
《数字信号处理》实验指导书
电子教研室
第章 .1 实验目的
学会运用MATLAB求解离散时间系统的零状态响应;
学会运用MATLAB求解离散时间系统的单位取样响应;
学会运用MATLAB求解离散时间系统的卷积和。
.2 实验原理及实例分析
.2.1 离散时间系统的响应
离散时间LTI系统可用线性常系数差分方程来描述,即
(-1)
其中,(,1,…,N)和(,1,…,M)为实常数。
MATLAB中函数filter可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。函数filter的语句格式为
y=filter(b,a,x)
其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。
【实例-1】 已知某LTI系统的差分方程为
试用MATLAB命令绘出当激励信号为时,该系统的零状态响应。
解:MATLAB源程序为
a=[3 -4 2];
b=[1 2];
n=0:30;
x=(1/2).^n;
y=filter(b,a,x);
stem(n,y,fill),grid on
xlabel(n),title(系统响应y(n))
程序运行结果如图-1所示。
.2.2 离散时间系统的单位取样响应
系统的单位取样响应定义为系统在激励下系统的零状态响应,用表示。MATLAB求解单位取样响应可利用函数filter,并将激励设为前面所定义的impDT函数。例如,求解实例1-1中系统的单位取样响应时,MATLAB源程序为
a=[3 -4 2];
b=[1 2];
n=0:30;
x=impDT(n);
h=filter(b,a,x);
stem(n,h,fill),grid on
xlabel(n),title(系统单位取样响应h(n))
程序运行结果如图-2所示。MATLAB另一种求单位取样响应的方法是利用控制系统工具箱提供的函数impz来实现。impz函数的常用语句格式为
impz(b,a,N)
其中,参数N通常为正整数,代表计算单位取样响应的样值个数。
【实例-2】 已知某LTI系统的差分方程为
利用MATLAB的impz函数绘出该系统的单位取样响应。
解:MATLAB源程序为
a=[3 -4 2];
b=[1 2];
n=0:30;
impz(b,a,30),grid on
title(系统单位取样响应h(n))
程序运行结果如图-3所示,比较图-2和图-3,不难发现结果相同。
.2.3 离散时间信号的卷积和运算
由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。离散时间信号的卷积定义为
(-2)
可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。
MATLAB求离散时间信号卷积和的命令为conv,其语句格式为
y=conv(x,h)
其中,x与h表示离散时间信号值的向量;y为卷积结果。用MATLAB进行卷积和运算时,无法实现无限的累加,只能计算时限信号的卷积。
例如,利用MALAB的conv命令求两个长为4的矩形序列的卷积和,即,其结果应是长为7(4+4-1=7)的三角序列。用向量[1 1 1 1]表示矩形序列,MATLAB源程序为
x1=[1 1 1 1];
x2=[1 1 1 1];
g=conv(x1,x2)
g=
1 2 3 4 3 2 1
如果要绘出图形来,则利用stem命令,即
n=1:7;
stem(n,g,fill),grid on,xlabel(n)
程序运行结果如图1-4所示。
对于给定函数的卷积和,我们应计算卷积结果的起始点及其长度。两个时限序列的卷积和长度一般等于两个序列长度的和减1。
【实例-3】 已知某系统的单位取样响应为,试用MATLAB求当激励信号为时,系统的零状态响应。
解:MATLAB中可通过卷积求解零状态响应,即。由题意可知,描述向量的长度至少为8,描述向量的长度至少为4,因此为了图形完整美观,我们将向量和向量加上一些附加的零值。MATLAB源程序为
nx=-1:5; %x(n)向量显示范围(添加了附加的零值)
nh=-2:10; %h(n)向量显示范围(添加了附加的零值)
x=uDT(nx)-uDT(nx-4);
h=0.8.^nh.*(uDT(nh)-uDT(nh-8));
y=conv(x,h);
ny1=nx(1)+nh(1); %卷积结果起始点
%卷积结果长度为两序列长度之和减1,即0到(length(nx)+length(nh)-2)
%因此卷积结果的
文档评论(0)