数字信号处理实验2.docx
- 文档编号:2223301
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:8
- 大小:78.94KB
数字信号处理实验2.docx
《数字信号处理实验2.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验2.docx(8页珍藏版)》请在冰豆网上搜索。
数字信号处理实验2
数字信号处理实验2
——离散系统频率响应和零极点分布
姓名:
李倩
学号:
班级:
通信四班
指导教师:
周争
一.实验原理
离散时间系统的常系数线性差分方程:
求一个系统的频率响应:
H(e^jw)是以2pi为周期的连续周期复函数,将其表示成模和相位的形式:
H(e^jw)=|H(e^jw)|*e^(jarg[H(e^jw)])
其中|H(e^jw)|叫做振幅响应(幅度响应),频率响应的相位arg[H(e^jw)]叫做系统的相位响应。
将常系数线性差分方程的等式两边求FT,可以得到系统的频率响应与输入输出的频域关系式:
H(e^jw)=Y(e^jw)/X(e^jw)
将上式中的e^jw用z代替,即可得系统的系统函数:
H(z)=Y(z)/X(z)
H(z)=∑h(n)*z^(-n)(n的取值从负无穷到正无穷)
将上式的分子、分母分别作因式分解,可得到LTI系统的零极点增益表达式为:
H(z)=g∏(1-zr*z^(-1))/∏(1-pk*z^(-1))
其中g为系统的增益因子,pk(k=1,2,3,…,N)为系统的极点,zr(r=1,2,3,…,M)为系统的零点。
通过系统的零极点增益表达式,可以判断一个系统的稳定性,对于一个因果的离散时间系统,若所有的极点都在单位圆内,则系统是稳定的。
二.实验内容
一个LTI离散时间系统的输入输出差分方程为
y(n)-1.6y(n-1)+1.28y(n-2)=0.5x(n)+0.1x(n-1)
(1)编程求此系统的单位冲激响应序列,并画出其波形。
(2)若输入序列x(n)=&(n)+2&(n-1)+3&(n-2)+4&(n-3)+5&(n-4),编程求此系统输出序列y(n),并画出其波形。
(3)编程得到系统频响的幅度响应和相位响应并画图。
(4)编程得到系统的零极点分布图,分析系统的因果性和稳定性。
三.程序与运行结果
(1)编程求此系统的单位冲激响应序列,并画出其波形。
程序:
clear;
N=100;
b=[0.50.1];
a=[1-1.61.28];
h1=impz(b,a,N);%计算系统的冲激响应序列的前N个取样点
x1=[1zeros(1,N-1)];%生成单位冲激序列
h2=filter(b,a,x1);%计算系统在输入单位冲激序列时的输出
subplot(2,1,1);
stem(h1);
xlabel('时间序号n');
ylabel('单位冲激响应序列值');
title('单位冲激响应序列h1(n)');
subplot(2,1,2);
stem(h2);
xlabel('时间序号n');
ylabel('单位冲激响应序列值');
title('单位冲激响应序列h2(n)');
运行结果:
结果说明:
可以用impz函数直接求出系统的单位冲激响应序列,也可输入单位冲激序列,用filter函数求出系统的单位冲激响应序列,两者求得的结果相同。
单位冲激序列可以用zeros函数来实现。
(2)若输入序列x(n)=&(n)+2&(n-1)+3&(n-2)+4&(n-3)+5&(n-4),编程求此系统输出序列y(n),并画出其波形。
程序:
clear;
N=100;
n=0:
99;
b=[0.50.1];
a=[1-1.61.28];
h1=impz(b,a,N);
x2=[12345zeros(1,N-5)];%生成一个只在n=0,1,2,3,4处有对应值1,2,3,4,5,其他n值情况下值为零的序列
y1=conv(x2,h1);%计算卷积求系统输出
y2=filter(b,a,x2);%求系统输出
subplot(2,1,1);
stem(n,y1(1:
length(y2)));%使得y1和y2的图形取值范围相同
xlabel('时间序号n');
ylabel('输出序列幅度值');
title('输出序列y1(n)');
subplot(2,1,2);
stem(n,y2);
xlabel('时间序号n');
ylabel('输出序列幅度值');
title('输出序列y2(n)');
运行结果:
结果说明:
由卷积算出来的输出y的序列长度为length(x)+length(h)-1,将其长度限定为用filter函数求出的输出y的序列长度相同后,两者的图相同。
(3)编程得到系统频响的幅度响应和相位响应并画图。
程序:
clear;
b=[0.50.1];
a=[1-1.61.28];
fs=1000;
[h,f]=freqz(b,a,256,fs);%计算系统的频率响应值与对应的频率值
mag=abs(h);%对复函数h求模值
ph=angle(h);%对复函数h求相位
ph=ph*180/pi;%将相位弧度值转化成度数值
subplot(2,1,1);
plot(f,mag);
xlabel('频率值f');
ylabel('频率响应输出模值');
title('频率响应H的模值');
subplot(2,1,2);
plot(f,ph);
xlabel('频率值f');
ylabel('频率响应输出相位值');
title('频率响应H的相位值');
运行结果:
结果说明:
由幅频特性曲线可知系统呈高通特性;由系统的相频特性曲线可知,其相位非线性。
(4)编程得到系统的零极点分布图,分析系统的因果性和稳定性。
程序:
clear;
b=[0.50.1];
a=[1-1.61.28];
[z,p,k]=tf2zp(b,a);%计算零点、极点构成的矢量和系统增益
subplot(2,1,1);
zplane(z,p);%画出以零点矢量和极点矢量描述的离散时间系统的零极点图
subplot(2,1,2);
zplane(b,a);%画出以矢量b,a描述的离散时间系统的零极点图
运行结果:
结果说明:
由图可以看出系统的全部极点都在单位圆外,当系统的收敛域向内时,系统为非因果稳定系统;当系统的收敛域向外时,系统为因果非稳定系统。
零极点是在一个复平面上,极点的坐标可由matlab直接显示。
四.实验总结:
本次实验要掌握以下几个函数的用法和作用:
1、计算系统的频率响应值H(e^jw)
[h,f]=freqz(b,a,n,fs)
其中fs是采样频率,n是在0~fs/2之间的选取的频率点数
2、已知系统的差分方程、输入和单位冲激响应序列,求对应的系统的输出有以下几种方法:
y=conv(x,h)
或y=filter(b,a,x)
3、求系统的单位冲激响应序列有如下方法:
h=impz(b,a,x)
或令输入序列x=[1zeros(1:
N)],再利用filter函数求得系统的输出即系统的单位冲激响应序列。
4、求零极点图有两种方式:
先用[z,p,k]=tf2zp(b,a)求得系统的零极点分别构成的矢量,再利用zplane(z,p)函数直接作出系统的零极点图;或者直接用zplane(b,a)函数作出系统的零极点图。
总结:
根据零极点图,极点如果全在单位圆内,则系统是稳定的,否则系统不稳定。
若系统函数的收敛域包含无穷远点,则系统是因果的。
在求系统的频率响应时求得的是一个周期连续的复函数,要分别求出它的模值和相位值并画出幅频特性曲线和相频特性曲线。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验