绘制滤波器的幅度响应和相位响应
时间: 2023-11-21 20:05:33 浏览: 197
11 设计简单滤波器(单位脉冲响应和幅度响应).zip
可以使用Matlab中的freqz函数绘制滤波器的幅度响应和相位响应。具体步骤如下:
```matlab
% 计算滤波器的幅度响应和相位响应
[h1, w1] = freqz(b1, a1, 512);
[h2, w2] = freqz(b2, a2, 512);
[h3, w3] = freqz(b3, a3, 512);
% 绘制幅度响应
plot(w1/pi*1500/2, abs(h1)); % 低通滤波器
plot(w2/pi*1500/2, abs(h2)); % 带通滤波器
plot(w3/pi*1500/2, abs(h3)); % 高通滤波器
xlabel('频率(Hz)');
ylabel('幅度');
% 绘制相位响应
plot(w1/pi*1500/2, angle(h1)); % 低通滤波器
plot(w2/pi*1500/2, angle(h2)); % 带通滤波器
plot(w3/pi*1500/2, angle(h3)); % 高通滤波器
xlabel('频率(Hz)');
ylabel('相位');
```
其中,freqz函数的第一个输入参数是滤波器的系数,第二个参数是单位圆上的离散频率,第三个参数是计算的点数。绘制幅度响应时,对freqz函数的输出取绝对值即可;绘制相位响应时,对freqz函数的输出取角度即可。
阅读全文