matlab 函数 freqz

freqz
MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:
1:[H,w]=freqz(B,A,N)

《matlab 函数 freqz》

B和A分别为离散系统的系统函数分子、分母多项式的系数向量,N为正整数,返回量H则包含了离散系统频响 在 0——pi范围内N个频率等分点的值,向量w则包含 范围内N个频率等分点。调用中若N默认,默认值为512。

2:[H,w]=freqz(B,A,N,’whole’)

该调用格式将计算离散系统在0—pi范内的N个频率等分店的频率响应的值。因此,可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,即可绘制出系统在 或 范围内的频响曲线。

例:绘制如下系统的频响曲线

H(z)=(z-0.5)/z

MATLAB命令如下:

B=[1 -0.5];
A =[1 0];
[H,w]=freqz(B,A,400,'whole');

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

Hf=abs(H);
Hx=angle(H);
clf
figure(1)
plot(w,Hf)
title('离散系统幅频特性曲线')
figure(2)
plot(w,Hx)
title('离散系统相频特性曲线')

《matlab 函数 freqz》 幅频特性.PNG
《matlab 函数 freqz》 相频特性.PNG

这样画出来的是线性的,要想获得db格式的幅度,需要转换 20*log10(Hf)
之后再画就是db格式的
也可以直接用freqz(b,a,w)这样就会画出幅频响应和相频响应,幅频响应直接是db格式的幅度。
原文地址:http://zfblog.xyz/archives/230.html

    原文作者:昔日风
    原文地址: https://www.jianshu.com/p/884ac0abd3c9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞