맑고 좋은소리

[스크랩] FIR 과 IIR Filter

청력박사 2005. 5. 31. 20:59


* 일반적으로 filtering 의 목적은 input signal의 quality를 향상하거나

( 예를 들면 노이즈의 제거 또는 감소) ,

signal 로부터의 정보를 알아내거나 ,

합쳐진 signal을 다시 개개의 signal로 나누기도 한다.
Digital filter는 digital signal에 filtering algorithm을 적용하기 위한

hardware 또는software routine을 말한다.

Digital filter는 DSP에서 아주 중요한 부분을 차지하는데

이는 analogue filter와 비교해서 훨씬 더 많은 적용분야가 있다.
예를 들면 data compression , speech processing ,

image processing, data transmission , digital audio 등

여러분야에서 쓰이고 있다.
Digital filter는 analogue filter와 비교해 다음과 같은 장점이 있다.

1) Digital filter는 analogue filter에서는 없는

   linear phase response 성질을 가지고 있다.
2) Digital filter는 환경에 의한 영향 ,예를 들면 온도 변화와 같은

   환경에 대하여 성능의 변화가 없다.
3) Digital filter의 frequency response는 프로그램 가능한

   processor를 사용하여 자동적으로 조정이 가능하다.
4) 하나 이상의 signal을 오직 digital filter 하나로 filtering 할수 있다.
5) Filtered and unfiltered data를 다 저장이 가능하다.
6) Digital filter는 아주 낮은 frequency에서도 사용이 가능하고 ,

   따라서 단지 sampling frequency만 바꿔서 넓은 범위의

   frequency영역에도 성능을 발휘할수 있다.
   하지만 ADC과정에서 생기는 round-off error ,

   그리고 design 하고 개발하느데 시간이 많이 소요된다는 단점도 있다.

* Digital filter는 넓게 다음 두 가지로 구분된다.
Infinite impulse response(IIR) and

Finite impulse response(FIR) filters 로 나뉜다.
두 가지 type 의 filter의 기본적인 식은 filter의

impulse response sequence h(k) 로 표현된다.

y(n)=시그마 k=0부터 무한대까지 h(k)x(n-k) : IIR filters
y(n)=시그마 k=0부터 N-1까지 h(k)x(n-k) : FIR filters
식에서 보면 FIR의 h(k) 는 유한한 값들을 가지지만

IIR의 h(k) 는 무한대의 값들을 가진다 .
실제로 계산하기 위해서는 무한대의 계산은 불가능하므로

IIR filter의 경우 IIR filter는 현재의 y(n)을 계산하기 위해 현재 ,

과거 input samples 뿐만 아니라 과거의 output 도 사용이 된다는 것이다 .

즉 feedback의 형태를 띈다.

 * Choosing between FIR and IIR filters
(1) FIR filter 는 linear phase response 성질을 가진다.

   No Phase distortion IIR filter는 Phase response가

   nonlinear 성질을 띈다. 특히 band edge에서..
(2) FIR filter는 항상 stable. but IIR filter는

   항상 stable 하다고 보장할수 없다.
(3) Roundoff noise and coefficient quantization errers 가

   IIR 보다는 FIR 이 덜 심각하다.
(4) Sharp cutoff filter를 원할 경우 IIR 보다 FIR 이 훨씬 많은

   coefficients를 가진다.
(5) Analogue filters 는 쉽게 IIR digital filter로 변환이 가능하다.

일반적으로 IIR filter는 설계자가 원하는 filter의 요구 조건이

sharp cutoff filter 일 경우와 high throughput 일 경우에 많이 쓰인다.
그리고 FIR filter는 filter coefficients 가 그렇게 크지 않고

little or no phase distortion을 원할경우에 많이 쓰인다.

* Coefficient calculation
Filter coefficients를 구하는 방법은 FIR , IIR 에 따라서 다르다.
IIR filter의 경우 일반적으로 이미 알고 있는 analogue filter의

특성을 equivalent digital filter로 변환하는 방법이 많이 쓰인다.

주로 쓰이는 방법이 impulse invariant 와 bilinear transformation 이다.
impulse invariant 는 analogue filter를 digitizing 한 후에도

원래의 analogue filter의 impulse response 는 변하지 않지만 magnitude와 frequency response 는 변한다.
aliasing 현상 때문에 그렇게 되는데 따라서 highpass 나

bandpass filter에는 적당하지 않다.
Bilinear transform는 아주 효과 적인 방법인데, butterworth , Chebyshev and elliptic등의 특성을 이용하여 설계한다.

bilinear transform은 magnitude response는 그대로 보존되나

time domain 특성은 보존되지 않는다.
보통 analogue system의 simulation으로는 impulse invariant

method를 많이 사용하고 digital filter를 설계하는데 있어서는

bilinear transform을 많이 쓴다.
pole-zero placement 도 IIR filter 설계시 사용하는 방법중 하나인데

아주 간단한 filter를 설계하는데는 적합하나 그렇게 좋은

response 는 얻지 못한다.
FIR filter는 window method , frequency sampling , optimal

method로써 설계를 하지만 window method는 간편하면서

유용한 방법이다. 하지만 적절한 control response를 얻기는 어렵다.
Frequency sampling은 FIR filter의 recursive realization 이 가능하다.

효과적으로 사용가능하고 프로그램하기도 쉬운방법이 optimal

method 인데 가장 많이 쓰이는 방법이다.

그래도 가장 쉽다고 생각 되는 부분을 발취해서 올립니다.
결국 거의 모든 보청기쪽에서는 당연히 FIR filter를 사용하고 있지요....

출처 : FIR 과 IIR Filter
글쓴이 : null 원글보기
메모 :