freqz在matlab中
时间: 2024-06-13 13:08:55 浏览: 93
MATLAB的FFT频谱分析
在MATLAB中,freqz函数用于计算数字滤波器的频率响应。它可以接受不同的输入参数,包括数字滤波器的系数和采样点数等。下面是一个使用freqz函数绘制数字滤波器幅频响应的例子:
```matlab
b0 = 0.05634;
b1 = [1 1];
b2 = [1 -1.0166 1];
a1 = [1 -0.683];
a2 = [1 -1.4461 0.7957];
b = b0*conv(b1,b2);
a = conv(a1,a2);
[h,w] = freqz(b,a,'whole',2001);
% 绘制bode图
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)')
```
该例子中,我们首先定义了数字滤波器的系数b和a,然后使用freqz函数计算其频率响应h和对应的频率w。后,我们使用plot函数绘制了数字滤波器的幅频响应图。
阅读全文