- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理实验实验二
数字信号处理实验报告
实验名称:离散系统频率响应和零极点分布
学生姓名: z
学生学号:
学生班级:
上课时间: 周二上午
指导老师:
实验目的
通过MATLAB仿真简单的离散时间系统,研究其频域特性,加深对离散系统的冲激响应,频率响应分析和零极点分布概念的理解。
实验原理
若用x(n)和y(n)分别表示一个线性时不变(LTI)离散时间系统,则其输入,输出关系可用以下常系数线性差分方程描述。记LTI离散时间系统单位冲激响应为h(n),h(n)反映了系统固有的特征,它是离散系统的一个重要参数。
任意LTI系统都可由系统单位冲激响应h(n)表示,相应地在频域响应H(w)表示,它是h(n)的傅里叶变换。
使系统函数的分母多项式等于零的z值,称为系统的极点;同理,使系统函数的分子多项式等于零的z值,称为系统的零点。
通过系统的零极点增益表达式,可以判断一个LTI离散时间系统的稳定性。对一个因果的离散时间系统,若所有的极点都位于单位圆内,则系统是稳定的。同理,由零极点分布图可大致估计出系统的频率响应:
单位圆附近的零点对幅度响应的谷点的位置与深度有明显影响,当零点位于单位圆上时,谷点为零。零点可在单位圆外。
单位圆附近的极点对幅度响应的峰点位置和高度有明显影响。
三、实验内容
一个LTI离散时间系统的输入输出差分方程为
y(n)-1.6y(n-1)+1.28y(n-2)=0.5x(n)+0.1x(n-1)
编程求此系统的单位冲激响应序列,并画出其波形。
MATLAB程序如下:
N=100;
num=[0.5 0.1 0];
den=[1 -1.6 1.28];
y=impz(num,den,N);
stem(y);
xlabel(时间序号);
ylabel(信号幅度);
title(冲激响应);
grid;
执行结果如下图形所示:
(2) 如输入序列x(n)=,编程求此系统输出序列y(n),并画出其图形。
MATLAB程序如下:
n=100;
x=[1 2 3 4 5 zeros(1,n-5) ];
subplot(2,1,1);
stem(x);
xlabel(时序信号);
ylabel(信号幅度);
title(x(n));
grid;
y=filter(num,den,x);
subplot(2,1,2);
stem(y);
xlabel(时序信号);
ylabel(信号幅度);
title(y(n));
grid;
执行结果如下图形所示:
(3) 编程得到系统频率响应的幅度响应和相位响应,并画图。
MATLAB程序如下:
fs=1000;
b=[0.5 0.1 ];
a=[1 -1.6 1.28];
[h,f]=freqz(b,a,256,fs);
mag=abs(h);
ph=angle(h);
ph=ph*180/pi;
subplot(2,1,1);
plot(f,mag);
xlabel(频率(Hz));
ylabel(幅度);
subplot(2,1,2);
plot(f,ph);
xlabel(频率(Hz));
ylabel(‘幅度);
执行结果如下图形所示:
(4) 编程得到系统的零极点分布图,分析系统的因果性和稳定性。
MATLAB程序如下:
ⅰ.b=[0.5 0.1 ];
a=[1 -1.6 1.28];
[z,p,k]=tf2zp(b,a);
zplane(z,p);
xlabel(实部);
ylabel(虚部);
title(系统的零极点分布图);
执行结果如下图形所示:
ⅱ. MATLAB程序如下:
b=[0.5 0.1 ];
a=[1 -1.6 1.28];
zplane(b,a);
xlabel(实部);
ylabel(虚部);
title(系统的零极点分布图);
执行结果如下图形所示:
答:由上面图形可知系统的极点落在单位圆外,所以本系统是不稳定的。
记录调试运行情况及所遇问题的解决方法
采用filter函数时,输出y与输入x的长度是相同的,所以在(2)中n=100,x必须补95个0才能与y长度相同,所以程序如下
x=[1 2 3 4 5 zeros(1,n-5) ];
(2)在MATLAB中编写程序要注意不能用中文标点,否则程序编译时会出现错误。
(3)在问题(2)中,x(n)的波形是n=1时,幅度=1,n=2时,幅度=2.........实际情况应该是n=0时,幅度=1,n=1时,幅度=2.....
文档评论(0)