
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)')
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)