已知FIR滤波器的系数,求频率响应,用matlab代码写出来
时间: 2024-02-21 08:01:20 浏览: 277
E4_2_Windows.zip_fir_matlab_窗函数_频率响应
假设FIR滤波器的系数为h,可以用MATLAB的freqz函数来计算其频率响应。具体代码如下:
```matlab
% 定义FIR滤波器的系数
h = [0.1, 0.2, 0.3, 0.4, 0.5];
% 计算FIR滤波器的频率响应
[H, w] = freqz(h);
% 绘制频率响应的模长和相位响应
subplot(2,1,1);
plot(w/pi, abs(H));
xlabel('Normalized frequency (\times\pi rad/sample)');
ylabel('Magnitude');
title('Magnitude Response');
subplot(2,1,2);
plot(w/pi, angle(H));
xlabel('Normalized frequency (\times\pi rad/sample)');
ylabel('Phase (rad)');
title('Phase Response');
```
其中,freqz函数的输出变量H表示FIR滤波器的复频率响应,w是对应的频率向量。subplot函数用于绘制两个子图,分别为频率响应的模长和相位响应。运行该代码可以得到FIR滤波器的频率响应图形。
阅读全文