알 수 없는 영역

Discrete time FIR filter를 아래 식과 같이 표현하곤 한다. 


  


예를 들어 필터 차수가 3이고 필터 계수가 모두 0.25라면 (eq. 1)은 아래와 같이된다.



위 식(eq.2)을 살펴보면 4개의 입력 신호의 평균값이 출력 신호가 되고 있다. 즉, 이동평균(moving average)이 출력이 된다는 것. 이렇게 이동평균이 출력신호가 되는 경우에는 입력신호의 둔하고 완만히 변하는 양상을 반영해 보여주긴 하지만 입력신호에서 보이는 표본들 사이의 급격한 변화에 따른 세밀하고 세부적인 모습은 보여주지 않는다 / 못 한다.



즉, 입력 신호의 변화가 조금 둔하고 천천히 변화한다면 입력평균 역시 둔하고 천천히 변하게 된다. 하지만 입력 신호의 변화가 국부적으로 급격하게 변하는 경우에는 입력평균값은 그렇게까지 급격하게 변하지는 않는다. 급격한 변화라는 것은 앞뒤의 값이 많이 차이난다는 것인데 이것을 평균 연산 하는 경우에는 큰 값과 작은 값이 평균이 되어 급격한 값이 많이 나타나지는 않기 때문이다.



지금까지 말한 입력 신호를 주파수와 관련해서 생각하면 급격하게 변화하는 사건들은 신호에서 고주파 부분천천히 변화하는 사건은 저주파 부분에 해당된다고 할 수 있겠다. 

결과적으로 보면 고주파 부분이 평균 연산에 의해서 smoothing / filtering되었다고 볼 수 있다. 이는 고주파 요소들이 신호에서 감소되거나 제거되는 것을 의미한다. 반면 저주파성분은 영향을 받지 않기 때문에 평균 연산을 수행된 결과를 저역필터 / low pass filter라고 부른다. 


저역필터가 적용된 신호의 음향은 고음역을 억제한 것과 같아서 그 결과 고음역의 잡음이 줄어드는 효과를 얻게 되며 조금은 더 둔탁한 소리가 된다. 따라서 출력 신호를 보면 입력 신호보다 조금 더 부드러우면서 둔탁하게 들리는데, 고음역이 무뎌져서 그런 것이고 소리가 작아지는 것은 아니다. 전체적인 소리의 크기는 동일하다.


위에서 (eq. 2)를 보면 4개의 입력신호의 표본을 평균 내어 출력신호로 보냈다. 만일 입력 신호의 Sampling rate이 16000Hz라면 4개의 신호는 1/4000초에 해당된다. 결과적으로 (eq. 2)는 1/4000(0.25ms)보다 작은 사건들, 즉 4000Hz가 넘는 주파수 성분들을 smoothing / filtering 한다. (0.25ms보다 작은 사건이어야 이동평균값에 영향을 줄 수 있다.)

이렇게 이동평균값으로 4000Hz넘는 주파수 성분들을 smoothing/filtering했다.


그렇다면 이번엔 cut-off frequency를 4000Hz에서 2000Hz로 낮춰보자.

한 가지 방법은 4개의 이동평균값이 아닌 8개의 이동평균값을 사용하는 것이다. 여기에서 cut-off frequency를 조금 더 낮춰서 2000Hz에서 200Hz로 잡아보면 80개의 이동평균값을 사용해야한다. 
항이 80개...는 좀 아닌 것 같다.


cut-off frequency를 낮출수록 항이 늘어나는 방법을 해결하기 위해서 쓰이는게 있는데-
그게 바로 IIR filter가 되겠다.




이번엔 n번째 프레임에서 출력 y[n]을 결정할 때, 선행하는 입력 신호의 값만 참조하는 것이 아니라     부분적으로 선행하는 출력 신호의 값을 참조하는 방법이다. 이렇게 선행하는 입력신호 뿐만 아니라 선행하는 출력신호의 값도 참조하기 때문에 재귀적(recursive)이라고 한다. IIR의 경우 이전의 출력값을 참조하기 때문에 항의 수에 비해 비교적 많은 영역의 신호에 영향을 미칠 수 있다.


eq. 2 (FIR)와 eq. 3 (IIR)이 둘을 비교해보자. 
다른 점은 eq. 2는 선행하는 출력신호를 참조하지 않고 eq. 3는 선행하는 출력 신호를 참조한다는 것이다. 따라서 FIR (eq 2)을 IIR (eq 3)의 특별한 유형 중 하나라고 볼 수 있으면, IIR에서 모든 a를 0으로 하면 FIR이 된다.


마지막으로 FIR과 IIR의 장단점 (?)을 비교해보면 다음과 같다.

FIR의 경우 구현 시 같은 조건일 때 IIR에 비해 차수가 많이 필요하다 하지만 항상 안정하다는 장점이 있다. IIR의 경우 같은 차수 일 때 FIR에 비해 계산량이 적다. 하지만 선행하는 출력신호 참조값에 따라 불안정해질 수 있다.