函数一:[H,w]=freqz(B,A,N) MATLAB 提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种: l [H,w]=freqz(B,A,N) B 和A 分别为离散系统的系统函数分子、分母多项式的系数向量,N 为正整数,返回量H 则包含了离散系统频响 在 0——pi 范围内 N 个频率等分点的值,向量w 则包含 范围内 N 个频率等分点
调用中若 N 默认,默认值为512
l [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'); Hf=abs(H); Hx=angle(H); clf figure(1) plot(w,Hf) title('离散系统幅频特性曲线') figure(2) plot(w,Hx) title('离散系统相频特性曲线') 函数二[b,a]=butter(n,Wn,/ftype/): butter 函数的用法为: [b,a]=butter(n,Wn,/ftype/) 其中 n 代表滤波器阶数,Wn 代表滤波器的截止频率,这两个参数可使用buttord 函数来确定
buttord 函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率 Wn
buttord 函数的用法为: [n,Wn]= buttord(