我想设计具有以下规格的 FIR 低通滤波器:
Cut-off frequency: 200 Hz
Order: 20
Sampling frequency: 1000 Hz
应该采取什么逐步方法来做到这一点
我想设计具有以下规格的 FIR 低通滤波器:
Cut-off frequency: 200 Hz
Order: 20
Sampling frequency: 1000 Hz
应该采取什么逐步方法来做到这一点
您的过滤器高度未指定,因此我认为您的设计应该是非常基本的。一个非常基本的方法是简单地截断和移动具有截止频率的理想低通滤波器的脉冲响应(在哪里是采样频率):
请注意,由于您的滤波器必须是因果的,因此您需要移动和截断理想的脉冲响应,使其相对于最大值对称:
等式 (1) 为您提供 21 个滤波器系数近似理想低通滤波器响应的因果 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