数字域
freqz 使用基于 FFT 的算法来计算数字滤波器的 Z 变换频率响应。具体来说,语句
[h,w] = freqz(b,a,p)
返回数字滤波器的包含 p 个点的复频率响应 H(ejω)。
H(ejω)=b(1)+b(2)e−jω+...+b(n+1)e−jωna(1)+a(2)e−jω+...+a(m+1)e−jωm
在其最简单的形式中,freqz 接受滤波器系数向量 b 和 a 以及整数 p(该整数指定计算频率响应所用的点的数量)。freqz 以弧度/秒为单位返回向量 h 中的复频率响应,以及向量 w 中的实际频率点。
freqz 可以接受其他参数,例如采样频率或由任意数量的频率点构成的向量。以下示例求 12 阶 Chebyshev I 类滤波器的 256 点频率响应。调用 freqz 将采样频率 fs 指定为 1000 Hz:
[b,a] = cheby1(12,0.5,200/500);
[h,f] = freqz(b,a,256,1000);
由于参数列表包含采样频率,因此 freqz 返回向量 f,其中包含在频率响应计算中使用的 0 到 fs/2 之间的 256 个频率点。
注意
此工具箱使用单位频率是 Nyquist 频率的约定,定义为采样频率的一半。所有基本滤波器设计函数的截止频率参数均用 Nyquist 频率进行归一化处理。例如,对于采样频率为 1000 Hz 的系统,300 Hz 等于 300/500 = 0.6。要将归一化频率转换为围绕单位圆的角频率,请乘以 π。要将归一化频转换回赫兹,请乘以采样频率的一半。
如果您在不带输出参数的情况下调用 freqz,它会同时绘制幅值对