Audio Processing

오디오 필터(17)-FIR 필터 기반의 통과 필터 구하기

gigasound 2021. 10. 29. 16:49

 

 

 

 

 

 

 

 


FIR 필터 구하기

FIR 필터는 다른글에서 다룬 신호의 궤환이 있는 IIR 필터와 다르게 궤환이 없이 유한한 필터 계수만으로 구현되는 필터로 선형 위상을 가지는 특징이 있습니다. 다만 IIR 필터 보다 연산량이 많은 단점이 있습니다. 

이 글과 다른 글에서 FIR을 이용한 필터를 만들고 실행하는 방법을 알아보겠습니다.


이상적인 필터

지난 글에서 이상적인 필터와 실제 구현 가능한 필터 형태에 대해 설명했습니다. FIR(finity impulse response) 필터는 이상적인 필터를 출발점으로 해서 구현 가능한 형태로 유도합니다. 유도 방법은 크게 두 가지 방법이 있습니다. 

이상적인 필터는 아래 그림과 같이 필터의 차단 주파수를 기준으로 통과 대역(pass band)과 차단 대역(stop band)이 확연히 구분되는 특성을 가집니다. 

이 글에서는 이상적인 필터를 기반으로 통과필터의 FIR 형 필터 특성을 구하는 방법을 알아보겠습니다. 

세부적으로는 FIR 필터를 구하는 기본적인 내용은 이상적인 필터 $H(e^{j\omega})$의 역푸리에 변환(invese discrete Fourier transform, IDFT)으로 필터 응답을 $h(n)$을 구하는 것으로부터 시작합니다.

이글에서는 $h(n)$을 구하는 방법까지만 설명하고 나머지는 다른 글에서 다루겠습니다.


저역통과 필터의 FIR 필터

위의 그림에서 차단 주파수 fc는 디지털 각 주파수 $w_c = 2\pi f_c / f_s$가 됩니다. 그러면   $H(e^{j\omega})$로부터 이상적인 저역통과 필터의 $h(n)$은 역푸리에 변환을 이용해서 다음과 같이 구해집니다.   

$$h_d (n)=\frac{1}{2\pi}\int_{-\pi}^{\pi}H(e^{j\omega})e^{j\omega n}d\omega$$

그런데 $w_c$는 위의 그림의 주파수 영역에서는 $\left | \omega_c \right |$의 영역을 차지합니다.  그러므로 위의 식은 아래와 같이 적분 영역이 변경됩니다. 

$$h_{d,LPF} (n)=\frac{1}{2\pi}\int_{-\omega_c}^{\omega_c}e^{j\omega n}d\omega$$

이를 정리하면 다음과 같이 $h(n)$을 구할 수 있습니다. 그런데 위의 적분의 결과는 Sinc()함수의 형태로 $-\infty \leq n \leq \infty$ 인 조건으로 전개된 결과입니다. 그리고 $n=0$인 경우에 $h_d (0)$가 연산 불가가 되기 때문에 이때는 로비탈 정리를 이용해서 구하고 나머지 조건에서는 위의 식으로 구하면 됩니다. 

$$h_{d,LPF} (n)=\frac{sin(\omega_c n)}{\pi n} $$

공학적으로 사용하려면 유한한 n이 되도록 유도할 필요가 있습니다. 이에 대한 내용은 다른 글에서 다루겠습니다.  


고역 통과 필터의 FIR 필터

고역 통과 필터의 저역통과 필터와 다른 부분에서만 적분이 수행됩니다. 그래서 이를 전개하면 저역통과 필터의  $h_{d,LFP} (n)$에 -1을 곱하면 됩니다.  

$$h_{d,HPF} (n)=-\frac{sin(\omega_c n)}{\pi n} $$


대역 통과 필터의 FIR 필터

대역 통과 필터는 저역통과 필터와 고역 통과 필터를 합성해서 얻어집니다. 사실 두 필터의 영영이 겹친 부분만 적분한 내용과 같습니다.

$$h_{d,BPF} (n)=\frac{sin(\omega_{higher} n)}{\pi n}-\frac{sin(\omega_{lower} (n))}{\pi n}$$ 

 

위의 내용들은 FIR형 통과 필터를 구하기 위해 기본적인 내용입니다. 이를 그대로 사용할 수는 없어서, 다른 몇 개의 과정을 거쳐야 합니다. 이에 대한 내용은 다른 글에서 다뤄보겠습니다. 


광고좀 꾹 눌러주시면 고맙겠습니다. 


참조 :

https://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/filters/generalfirfilter

 


위의 내용을 참조용으로만 사용해주세요. 무단 도용이나 무단 복제는 불허합니다.

기타 문의 사항은 gigasound@naver.com에 남겨 주시면 고맙겠습니다.