我是靠谱客的博主 贪玩画板,最近开发中收集的这篇文章主要介绍用matlab绘制系统函数的DTFTfreqz函数( frequency response of digital filter),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
freqz函数( frequency response of digital filter)
对于一个输入离散序列,输出离散序列的离散时间系统,我们可以用它的系统函数H(Z)来描述这个系统。求这个系统函数的DTFT,可以得到这个系统的幅频响应和相频响应。
一般形式:[h,w]=freqz(b,a,n)
- b:H(z)分子多项式构成的数组
- a:H(z)分母多项式构成的数组
- n:0~Π内取样的点数,默认512点
- h:复数形式的频率响应数组
- w:对应于h的各个数字角频率数组
例1:
求系统函数H (z) = (0.8 - 0.44 z^-1 + 0.36 z^-2 + 0.02 z^-3)/(1 + 0.7 z^-1 - 0.45 z^-2 - 0.3 z^-3)的DTFT
b=[0.8,-0.44,0.36,0.02];
a=[1,0.7,-0.45,-0.3];
[h,w]=freqz(b,a);
subplot(2,2,1)
plot(w/pi,real(h));grid
title('实部')
xlabel('omega/pi');ylabel('幅度')
subplot(2,2,2)
plot(w/pi,imag(h));grid
title('虚部')
xlabel('omega/pi');ylabel('幅度')
subplot(2,2,3)
plot(w/pi,abs(h));grid
title('幅度谱')
xlabel('omega/pi');ylabel('幅度')
subplot(2,2,4)
plot(w/pi,angle(h));grid
title('相位谱')
xlabel('omega/pi');ylabel('相位(rad)')
例2:
给出H(Z)=1/(1-αz^-1)的幅频曲线,α取0.9或-0.9
b=[1];a1=[1,-0.9];a2=[1,0.9];
w=linspace(0,2*pi,512);
h1=freqz(b,a1,w);
h2=freqz(b,a2,w);
plot(w/pi,abs(h1),w/pi,abs(h2),':');
xlabel('omega/pi');ylabel('幅度');
legend('alpha=0.9','alpha=-0.9');
最后
以上就是贪玩画板为你收集整理的用matlab绘制系统函数的DTFTfreqz函数( frequency response of digital filter)的全部内容,希望文章能够帮你解决用matlab绘制系统函数的DTFTfreqz函数( frequency response of digital filter)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复