低通 FIR 滤波器

信息处理 过滤器设计 有限脉冲响应
2022-02-15 16:39:51

我想设计具有以下规格的 FIR 低通滤波器:

 Cut-off frequency: 200 Hz 

  Order: 20 

  Sampling frequency: 1000 Hz 

应该采取什么逐步方法来做到这一点

1个回答

您的过滤器高度未指定,因此我认为您的设计应该是非常基本的。一个非常基本的方法是简单地截断和移动具有截止频率的理想低通滤波器的脉冲响应ωc=2πfc/fs=0.4π(在哪里fs是采样频率):

hideal(n)=sin(ωcn)πn

请注意,由于您的滤波器必须是因果的,因此您需要移动和截断理想的脉冲响应,使其相对于最大值对称:

(1)h(n)=sin(ωc(n10))π(n10),n=0,1,,20

等式 (1) 为您提供 21 个滤波器系数h(n)近似理想低通滤波器响应的因果 FIR 滤波器。请注意,过滤器阶数为 20。

一个简单的 Matlab/Octave 代码可能如下所示:

n = -10:10;
omc = 0.4*pi;           % normalized cut-off frequency in rad
h = sin(omc*n)./(pi*n); % impulse response
h(11) = omc/pi;         % correct NaN value at n=0
H = fft(h,1024);        % complex frequency response
f = 1000/1024*(0:512);  % FFT frequency grid up to fs/2
plot(f,abs(H(1:513)));  % plot magnitude of frequency response