귀하의 필터는 매우 과소 지정되어 있으므로 귀하의 설계가 매우 기본적이라고 가정합니다. 매우 기본적인 방법은 차단 주파수 $ \ omega_c = 2 \ pi f_c / f_s = 0.4 \ pi $ (여기서 $ f_s $는 샘플링 주파수)를 사용하여 이상적인 저역 통과 필터의 임펄스 응답을 자르고 이동하는 것입니다. / p>
$$ h_ {ideal} (n) = \ frac {\ sin (\ omega_c n)} {\ pi n} $$
필터는 인과 관계 여야합니다. 최대에 대해 대칭이되도록 이상적인 임펄스 응답을 이동하고 잘라야합니다.
$$ h (n) = \ frac {\ sin (\ omega_c (n-10))} { \ pi (n-10)}, \ quad n = 0,1, \ ldots, 20 \ tag {1} $$
방정식 (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
댓글