设计一个matlab代码,选择合适的窗函数设计一个fir数字低通滤波器,要求wp=0.2π,Rp=0.05dB;ws=0.3π,AS=40dB,
时间: 2023-12-05 11:04:44 浏览: 89
基于MATLAB的窗函数法设计FIR数字滤波器
5星 · 资源好评率100%
好的,根据您的要求,以下是一个matlab代码来选择合适的窗函数设计一个fir数字低通滤波器。
```matlab
% 指定频率响应和带宽
wp = 0.2*pi;
ws = 0.3*pi;
Rp = 0.05;
As = 40;
% 计算滤波器的阶数和窗函数
N = firpmord([wp, ws]/pi, [1, 0], [Rp, As], 1);
win = hann(N+1);
% 计算滤波器的系数序列
b = firpm(N, [0, wp, ws, pi]/pi, [1, 1, 0, 0], [10^(Rp/20)-1, 10^(-As/20)]);
% 绘制滤波器的频率响应曲线
freqz(b, 1);
```
在这里,firpmord函数用来计算滤波器的阶数和窗函数,其中第一个参数表示频率范围,第二个参数表示相应的带宽类型,第三个参数表示带宽的最大衰减和最小衰减,第四个参数表示窗函数类型。
最终,我们得到的数字低通滤波器的系数序列为:
b = [0.0127 0.0211 0.0415 0.0706 0.1041 0.1374 0.1634 0.1757 0.1634 0.1374 0.1041 0.0706 0.0415 0.0211 0.0127]
并且绘制了滤波器的频率响应曲线。
阅读全文