matlab 函数 freqz

matlab 函数 freqz,第1张

freqz

MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:

1:[H,w]=freqz(B,A,N)

H是频率响应的幅度,w是0---pi内的400个点

这样画出来的是线性的,要想获得db格式的幅度,需要转换 20*log10(Hf)

之后再画就是db格式的

也可以直接用freqz(b,a,w)这样就会画出幅频响应和相频响应,幅频响应直接是db格式的幅度。

原文地址: http://zfblog.xyz/archives/230.html

freqz是滤波器频率响应函数。

[H,W ] = freqz(b,a,n)返回n点复频响应矢量H和n点的频率向量w。b和a为系统传递函数的分子和分母的系数向量。如果n没有指定,默认为512。

H = freqz(b,a,w)返回频率响应指定频率向量w(通常介于0和PI)下复频响应矢量。

[H,F ] = freqz(b,a,n,FS)返回在采样频率(Hz)下频率向量f(Hz)。

matlab中freqz函数是数字滤波器的频率响应函数,主要计算并显示三阶IIR低通滤波器的幅度响应。该函数使用格式为

[h,w] = freqz(b,a,n)

返回数字滤波器的n点频率响应向量h和对应的角频率向量w,其传递函数系数存储在b和a中。

下面以描述的三阶IIR低通滤波器的传递函数为例:

说明如何使用freqz函数。

b0 = 0.05634

b1 = [1  1]

b2 = [1 -1.0166 1]

a1 = [1 -0.683]

a2 = [1 -1.4461 0.7957]

sos1 = [b0*[b1 0] [a1 0]]

sos2 = [b2 a2]

[h,w] = freqz([sos1sos2],'whole',2001)

plot(w/pi,20*log10(abs(h)))

ax = gca

ax.YLim = [-100 20]

ax.XTick = 0:.5:2

xlabel('Normalized Frequency (\times\pi rad/sample)')

ylabel('Magnitude (dB)')


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7979122.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存