当前位置:文档之家› 离散系统的频率响应分析

离散系统的频率响应分析

实验报告
实验课程:数字信号处理
实验内容:实验4 离散系统的频率响应分析和零、极点分布
院(系):计算机学院
专业:通信工程
班级:111班
2013年6 月7日
一、实验目的:加深对离散系统的频率响应分析和零、极点分布的概念理解。

二、实验原理:
离散系统的时域方程为
∑∑==-=-M
k k N
k k
k n x p k n y d
)
()(
其变换域分析方法如下: 时频域变换
)()()(][][][][][ω
ωωj j j m e H e X e Y m n h m x n h n x n y =⇔-=
*=∑

-∞
=
系统的频率响应为
ω
ωω
ωω
ωω
jN N j jM M j j j j e d e d d e p e p p e D e p e H ----++++++==......)()()(1010
时域Z 域变换
)
()()(][][][][][z H z X z Y m n h m x n h n x n y m =⇔-=
*=∑∞
-∞
=
系统的转移函数为
N
N M
M z d z d d z p z p p z D z p z H ----++++++=
=......)()()(110110
分解因式
∏-∏-=∑∑=
=-=-=-=-N
i i M
i i N
i i
k M
i i
k z z K
z
d z p z H 1111
0)1()1()(λξ
上式中的i ξ和i λ称为零、极点。

在MATLAB 中,可以用函数[z ,p ,K]=tf2zp (num ,den )求得有理分式形式的系统转移函数的零、极点,用函数zplane (z ,p )绘出零、极点分布图;也可以用函数zplane (num ,den )直接绘出有理分式形式的系统转移函数的零、极点分布图。

另外,在MATLAB 中,可以用函数 [r ,p ,k]=residuez (num ,den )完成部分分式展开计算;可以用函数sos=zp2sos (z ,p ,K )完成将高阶系统分解为2阶系统的级联。

三、实验内容及步骤:
实验内容: 求系统
543215
43212336.09537.08801.14947.28107.110528.0797.01295.01295.00797.00528.0)(-----------+-+-+++++=
z z z z z z z z z z z H 的
零、极点和幅度频率响应。

程序代码:
num=[0.0528 0.0797 0.1295 0.1295 0.797 0.0528]; den=[1 -1.8707 2.4947 -1.8801 0.9537 -0.2336];
freqz(num,den); % 0~π中抽样,抽样点缺省(512点) ζ num=[0.0528 0.0797 0.1295 0.1295 0.797 0.0528]; den=[1 -1.8707 2.4947 -1.8801 0.9537 -0.2336];
w=[0 pi/8 pi/4 pi*3/8 pi/2 pi*5/8 pi*3/4]; %自己定8个点 Θ h=freqz(num,den,w); subplot(2,2,1); stem(w/pi,abs(h)); title('幅度谱') xlabel('数字频率'); ylabel('振幅');
[h,w]=freqz(num,den,8); % 系统在0~π之间均分8份,与“Θ”处效果一样 w
subplot(2,2,2); stem(w/pi,abs(h)); title('幅度谱') xlabel('数字频率'); ylabel('振幅');
h=freqz(num,den); % 系统在0~π之间均分512份,与“ζ”处效果一样 subplot(2,2,3); z=10*log(abs(h))
plot(z); % 与“ζ”处幅度谱效果一样 title('分贝幅度谱')
xlabel('数字频率');
ylabel('振幅');
num=[0.0528 0.0797 0.1295 0.1295 0.797 0.0528];
den=[1 -1.8707 2.4947 -1.8801 0.9537 -0.2336];
[z,p,k]= tf2zp(num,den); % 求零极点
z %零点
p %极点
subplot(2,2,4);
zplane(z,p); % zplane (num,den)也可以[sos,g]=zp2sos(z,p,k); %二阶系统分解sos
g
[r,p,k]=residuez(num,den); % 部分分式展开
r
p
k
实验结果:
四、实验总结与分析:
本次实验知道了函数zplane()、freqz()、angle()的用法,原来是绘制零极点图形和计算数字滤波器H(z)的频率响应以及求复数的相角。

相关主题