1. IIR 필터 (Infinite Impulse Response Filter, 무한 임펄스 응답 필터)
ㅇ 디지털 필터 구분 중 하나
ㅇ 표현식
[# y[n] = \sum^{\infty}_{k=-\infty} h[k] x[n-k] #]
- 입력 신호 샘플에 무한 길이 계수의 곱셈과 이를 더한 합으로 표현됨
* (= 임펄스응답에 의한 컨볼루션 합 표현식)
2. IIR 필터의 특징
ㅇ 무한 길이 (infinite length)
- 임펄스응답 h[k]가, 무한한 길이(-∞ < k < ∞)를 갖음
ㅇ 컨벌루션 합(Convolution Summation)으로 구현 불가능
- FIR시스템과는 달리, 컨벌루션 합으로, 구현이 불가능
- 왜냐하면, 무한 개의 덧셈기,곱셈기,기억소자(지연소자)가 필요하기 때문
ㅇ 순환적(Recursive) 구조로 만 표현 가능
- 이전 출력 다시 이용
. 현재의 출력을 계산하기 위해, 현재 입력 뿐만 아니라 이미 출력된 신호가 다시 이용됨
* 순환적 구조의 장점
. 소자 수 줄임
.. 계산식 자체를 볼 때는, 많은 소자를 요구하는 듯하나,
.. 만일 순환적 구조(순환 필터)로 표현하면, 간단히 구현 가능
. 연산량 줄임
.. 연산량을 FIR 시스템에 비해 크게 줄일 수 있음
- 대표적 例) 누적 필터(accumulation filter)
. y[n] = x[n] + y[n-1]
ㅇ 불안정 가능성 있음
- 전달함수 극점(Pole) 선택이 잘못되면 불안정할 수 있음
ㅇ 아날로그 필터 설계 기법 활용
- 먼저, 아날로그 필터를 설계해 보고,
- s 영역에서 z 영역으로의 변환을 통해,
- 디지털 IIR 필터로 전환 함
3. IIR 필터의 표현
ㅇ 임펄스응답 표현
- 임펄스응답의 길이가 무한이므로, 구현이 불가하여,
[# y[n] = \sum^{\infty}_{k=-\infty} h[k] x[n-k] #]
* 굳이, 임펄스응답에 의한, 무한 길이의 표현식을, 실용상 거의 사용 안함
ㅇ 차분방정식 표현
[# y[n] = \sum^M_{k=0} b_k x[n-k] + \sum^N_{l=1} a_l y[n-l] #]
- b : 피드포워드 계수, a : 피드백 계수
- 차분방정식 표현에 필요한 계수의 수 : M + N + 1
- 필터 차수 : N (피드백되는 최고차 지연 항의 차수)
- 만일, 피드백 계수 a가 모두 0 이라면, 이는 FIR 필터와 동등함
* 위 표현식은, 미분방정식의 이산적인(Discrete) 표현 임
. 구현하기 어려운 무한 길이의 임펄스응답 표현식과는 달리,
. 현재의 출력, 과거의 입력, 과거의 출력으로 만 표현 가능
* 따라서, 출력 값은, 입력과 초기조건이 주어지면,
. 반복 대입에 의해 순차적으로 출력 값을 얻을 수 있음
ㅇ 전달함수 표현
[# H(z) = \frac{N(z)}{D(z)}
= \frac{\sum^M_{k=0} b_k z^{-k}}{1 - \sum^N_{i=1} a_l z^{-l}} #]
* 위 표현식은, 입출력 다항식들의 비(比)로써, 유리 함수 임
- 이 표현식은, 이전의 차분방정식을 z 변환하여, 이로부터 구할 수 있음
4. IIR 필터의 차수
ㅇ IIR 1차 필터
- 이전 출력 샘플 중 오직 하나 y[n-1] 만이 피드백 됨
- 例) y[n] = (b0x[n] + b1x[n-1]) + (a1y[n-1])
ㅇ IIR 2차 필터
- 주로, 공진 현상을 모델링 하는데에 쓰임
- 例) y[n] = (b0x[n] + b1x[n-1] + b2x[n-2]) + (a1y[n-1] + a2y[n-2])
5. IIR 필터의 구현 구조
ㅇ 직접형 (Direct form)
- 주어진 차분방정식 형태 그대로, 기본 소자를 이용하여 구현
- (구조) 크게, 비 순환 부분과 순환 부분의 연결로써 이루어짐
. 비 순환 부분 : 전달 함수에서 분자 부분에 해당
. 순환 부분 : 전달 함수에서 분모 부분에 해당
- (분류) 지연소자의 공유 여부에 따른 구분
. 제 1 직접형 : 차분방정식을 주어진 그대로 구현하는 것
. 제 2 직접형 : 제1직접형에서 입력부,출력부를 맞바꿔, 시간 지연기 수를 반으로 줄인 것
. 전치 제 2 직접형 : 제1직접형을 시간지연기와 계수 곱셈 순서를 바꾼 후,
시간지연기를 열로써 묶은 것
ㅇ 종속형, 직렬형 (Cascade form)
- 전달함수를 인수분해하여, 여러 인수들의 곱 종속으로 구현
ㅇ 병렬형 (Parallel form)
- 전달함수를 인수분해하고 부분분수 전개하여 병렬로 구현
※ [참고] ☞ 이산시스템 구현 구조 참조