FIR 필터와 IIR 필터의 차이: 구조·안정성·위상·차수·연산량 비교

둘 다 디지털 신호 처리에서 주파수 특성을 다듬는 필터이지만, 과거의 출력을 계산에 쓰는지가 다릅니다. FIR 필터(유한 임펄스 응답 필터)는 현재와 과거의 입력에 계수를 곱해 더하기만 하므로, 임펄스 응답은 탭 수만큼의 길이로 끝납니다. IIR 필터(무한 임펄스 응답 필터)는 과거의 출력도 입력 쪽으로 되돌려 계산하므로, 임펄스 응답이 이론상 끝없이 이어집니다. FIR 필터는 항상 안정하고 계수를 좌우 대칭으로 하면 선형 위상으로 만들 수 있지만, 가파른 특성에는 많은 탭이 필요합니다. IIR 필터는 적은 차수로 가파른 특성을 얻을 수 있지만, 위상은 선형이 되지 않고 극의 위치에 따라 불안정해집니다.

비교 항목FIR 필터IIR 필터
계산 형태와 임펄스 응답y[n] = Σh[k]x[n − k]. 입력만의 가중합이며, 임펄스 응답은 탭 수 N으로 끝난다y[n] = Σb[k]x[n − k] − Σa[k]y[n − k]. 과거의 출력도 쓰며(귀환), 임펄스 응답은 감쇠하면서 이어진다
전달 함수 H(z)와 안정성분모가 없고 극은 z = 0뿐. 계수와 관계없이 항상 안정분모를 가진다. 모든 극이 단위원 안쪽에 있을 때만 안정
위상 특성계수를 좌우 대칭으로 하면 선형 위상. 군지연은 주파수와 관계없이 (N − 1)/2 샘플선형 위상이 되지 않는다. 군지연이 주파수에 따라 변하며, 차단 주파수 근처에서 커진다
같은 특성에 필요한 차수(예)fs = 48 kHz, 통과 대역 끝 4 kHz, 저지 대역 끝 5 kHz, 감쇠 60 dB, 통과 대역 리플 0.5 dB인 저역 통과 필터를 등리플 설계하면 약 110탭같은 조건의 타원 필터라면 7차(2차 섹션 4단)
연산량(출력 1샘플당)탭 수와 같은 횟수의 곱셈-누산. 위의 예에서는 약 110회(계수의 대칭성을 쓰면 곱셈은 약 절반)2차 섹션 1단당 곱셈 5회 정도. 위의 예에서는 약 20회
지연(N − 1)/2 샘플로 일정. 위의 예에서는 약 56샘플(약 1.2 ms)주파수에 따라 변한다. 위의 예에서는 낮은 주파수에서 약 9샘플, 통과 대역 끝에서는 약 75샘플
계수 양자화(고정 소수점)주파수 특성은 조금 변하지만 안정성은 잃지 않는다고차의 식을 그대로 구현하면 극이 움직여 불안정해질 수 있다. 2차 섹션(바이쿼드)의 종속 접속으로 구현한다
주요 설계 방법창 함수법, 등리플(파크스-매클렐런) 법아날로그 필터(버터워스, 체비셰프, 타원 등)의 전달 함수를 쌍선형 변환한다
주요 용도파형의 모양을 유지하고 싶은 통신과 계측, 음성·이미지 처리, 데시메이션과 보간 필터, 적응 필터연산량과 메모리를 줄이고 싶은 임베디드 기기, 오디오 이퀄라이저, 직류 제거와 지수 평활

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

FIR 필터
파형의 모양을 망가뜨리고 싶지 않을 때(통신의 파형 정형, 계측, 음성과 이미지 처리), 데시메이션과 보간 필터, 계수를 바꾸어도 안정해야 하는 적응 필터에 씁니다. 곱셈-누산 횟수는 많지만 DSP나 FPGA의 곱셈-누산기로 병렬 처리할 수 있습니다.
IIR 필터
연산량이나 메모리, 지연을 작게 하고 싶을 때 씁니다. 위상 왜곡이 문제가 되지 않는 용도에서 가파른 특성이나 좁은 대역의 노치, 직류 제거 등을 적은 계산으로 실현할 수 있습니다.

자주 묻는 질문

FIR과 IIR이라는 이름은 무엇을 나타내나요?

임펄스(n = 0에서만 1인 신호)를 넣었을 때의 출력, 즉 임펄스 응답의 길이입니다. FIR(Finite Impulse Response)은 유한한 길이에서 0이 되며, N탭이면 길이는 N입니다. IIR(Infinite Impulse Response)은 귀환 때문에 응답이 계속 남으며, 예를 들어 y[n] = 0.2x[n] + 0.8y[n − 1]의 임펄스 응답은 0.2 × 0.8ⁿ으로, 0에 가까워지면서 끝없이 이어집니다.

선형 위상이면 무엇이 좋은가요?

모든 주파수 성분이 같은 시간만큼 지연되므로, 통과 대역 신호의 파형 모양이 바뀌지 않습니다. 계수가 좌우 대칭인 N탭 FIR 필터에서는 지연이 주파수와 관계없이 (N − 1)/2 샘플이며, 101탭이면 50샘플(48 kHz에서 약 1.04 ms)입니다. IIR 필터는 주파수에 따라 지연이 다르므로 펄스나 계단의 모양이 망가집니다.

IIR 필터는 왜 불안정해질 수 있나요?

출력을 귀환하므로, 극(전달 함수의 분모가 0이 되는 z)이 단위원 밖에 있으면 출력이 한없이 커지기 때문입니다. 1차의 y[n] = x[n] + 0.5y[n − 1]처럼 귀환 계수의 크기가 1보다 작으면 안정하지만, 고차의 가파른 필터에서는 극이 단위원 근처에 모여 계수를 반올림한 것만으로 밖으로 나갈 수 있습니다. 그래서 2차 섹션으로 나누어 구현합니다.

IIR 필터에서 위상 어긋남을 없애는 방법이 있나요?

기록한 데이터를 나중에 처리한다면 같은 필터를 순방향과 역방향으로 걸어 위상 어긋남을 상쇄하는 방법(영위상 필터링)이 있습니다. 실시간 처리에서는 미래의 입력을 쓸 수 없으므로 이 방법을 쓸 수 없고, 올패스 필터로 군지연을 보정하거나 선형 위상 FIR 필터를 고릅니다.

이해도 확인

FIR 필터(유한 임펄스 응답 필터)의 특징으로 올바른 것은?

  1. A출력을 입력 쪽으로 되돌리는 귀환을 가지므로, 적은 계수로 급준한 특성을 얻을 수 있다
  2. B임펄스 응답이 무한히 계속되므로, 계수 양자화에 의해 불안정해지기 쉽다
  3. C귀환을 갖지 않으므로 항상 안정하며, 계수를 대칭으로 하면 선형 위상으로 만들 수 있다
정답과 해설 보기

정답: C. 귀환을 갖지 않으므로 항상 안정하며, 계수를 대칭으로 하면 선형 위상으로 만들 수 있다

FIR 필터는 현재와 과거의 입력에 계수를 곱해 더할 뿐이며, 출력의 귀환을 갖지 않습니다. 임펄스 응답은 계수의 개수(탭 수)에서 끝나고 극점은 z = 0에만 있으므로, 계수가 어떤 값이든 안정합니다. 계수를 좌우 대칭으로 하면 모든 주파수 성분이 같은 시간만큼 지연되는 선형 위상이 되어, 파형의 모양을 무너뜨리지 않습니다. 그 대신 급준한 특성을 얻으려면 IIR 필터보다 많은 탭이 필요합니다.

다음 계수를 갖는 5탭 FIR 필터 중에서 선형 위상(직선 위상) 특성을 갖는 것은?

  1. Ah = {1, 2, 3, 2, 1}
  2. Bh = {1, 2, 3, 4, 5}
  3. Ch = {5, 4, 3, 2, 1}
정답과 해설 보기

정답: A. h = {1, 2, 3, 2, 1}

FIR 필터의 계수가 중심에 대해 좌우 대칭(h[n] = h[N − 1 − n])이면 위상은 주파수에 비례하는 직선이 되어, 모든 주파수 성분이 같은 (N − 1)/2샘플만큼 지연됩니다. {1, 2, 3, 2, 1}은 가운데의 3에 대해 대칭이므로, 지연이 2샘플로 일정한 선형 위상 필터입니다. {1, 2, 3, 4, 5}와 {5, 4, 3, 2, 1}은 대칭도 반대칭도 아니므로, 주파수에 따라 지연이 바뀝니다.

101탭 선형 위상 FIR 필터(계수가 좌우 대칭)의 군지연으로 올바른 것은?

  1. A50샘플
  2. B50.5샘플
  3. C101샘플
정답과 해설 보기

정답: A. 50샘플

계수가 대칭인 N탭 FIR 필터의 군지연은 주파수와 관계없이 (N − 1)/2샘플입니다. N = 101이면 (101 − 1)/2 = 50샘플로, 계수의 중심(51번째 계수 h[50])의 위치에 해당합니다. 샘플링 주파수가 48 kHz라면 50 ÷ 48000 ≈ 1.04 ms의 지연이 되며, 실시간 처리에서는 탭 수를 늘릴수록 지연이 커진다는 점에 주의해야 합니다.

  1. 지수 평활화 y[n] = 0.2x[n] + 0.8y[n − 1]로 표현되는 1차 IIR 저역 통과 필터의, 직류와 나이퀴스트 주파수에서의 이득 조합으로 올바른 것은?
  2. 아날로그 필터의 전달 함수 H(s)로부터 디지털 필터를 설계할 때 사용하는 쌍선형 변환의 설명으로 올바른 것은?
  3. 차수가 높은 IIR 필터를 계수의 비트 수가 제한된 고정 소수점으로 구현할 때의 주의점으로 올바른 것은?

디지털 신호 처리의 기초 문제 풀기

주요 용어 설명

FIR 필터
임펄스 응답이 유한한 길이로 끝나는 디지털 필터(유한 임펄스 응답 필터). 현재와 과거의 N개 입력에 계수를 곱해 더하는 y[n] = Σh[k]x[n − k]로 계산하며, 출력의 귀환을 갖지 않는다. 극점이 z = 0에만 있으므로 계수와 관계없이 항상 안정하며, 계수를 좌우 대칭으로 하면 모든 주파수 성분이 (N − 1)/2샘플만큼 지연되는 선형 위상이 된다. 한편 급준한 특성을 얻으려면 많은 탭이 필요하며, 출력 1샘플마다 탭 수와 같은 횟수의 곱셈-누산 연산을 수행한다.
IIR 필터
과거의 출력을 입력 쪽으로 되돌리는 귀환을 가지며, 임펄스 응답이 무한히 계속되는 디지털 필터(무한 임펄스 응답 필터). 예를 들어 y[n] = 0.2x[n] + 0.8y[n − 1](지수 평활화)과 같은 차분 방정식으로 계산하며, 전달 함수는 분모를 갖는다. 적은 계수와 연산량으로 급준한 특성을 얻을 수 있고 지연도 작지만, 위상은 선형이 되지 않는다. 모든 극점이 단위원 안쪽에 있지 않으면 불안정해지며, 고차 필터는 계수 양자화에 약하므로 2차 섹션(바이쿼드)의 종속 접속으로 구현하는 경우가 많다. 아날로그 필터로부터 쌍선형 변환으로 설계하는 방법이 자주 사용된다.
선형 위상(Linear Phase)
필터의 위상 특성이 주파수에 비례하는 직선으로 되어 있는 것. 이때 모든 주파수 성분이 같은 시간만큼 지연되므로(군지연이 일정해지므로) 파형의 모양이 무너지지 않는다. FIR 필터에서는 계수를 중심에 대해 대칭(또는 반대칭)으로 하면 정확히 선형 위상이 되며, N탭이면 지연은 (N − 1)/2샘플이다. 안정하고 인과적인 IIR 필터로는 정확한 선형 위상을 실현할 수 없으므로, 파형을 유지하고 싶은 오디오, 통신 수신, 계측 등의 처리에서는 FIR 필터가 자주 사용된다.
군지연(Group Delay)
필터를 통과하는 신호의 성분이 주파수마다 얼마나 지연되는지를 나타내는 양으로, 위상 특성 φ(ω)를 주파수로 미분하여 부호를 반전한 것(−dφ/dω). 군지연이 모든 주파수에서 같으면 파형의 모양을 유지한 채 전체가 지연될 뿐이다. 계수가 대칭인 N탭 FIR 필터의 군지연은 (N − 1)/2샘플로 일정하다. IIR 필터나 아날로그 필터에서는 주파수에 따라 군지연이 바뀌며, 많은 경우 차단 주파수 부근에서 커지므로 펄스 파형이 왜곡된다. 베셀 특성 필터는 군지연의 평탄함을 중시한 것이다.
임펄스 응답(Impulse Response)
시스템에 단위 임펄스 δ[n](n = 0에서만 1이고 나머지는 0)을 입력했을 때의 출력 h[n]. 선형 시불변(LTI) 시스템에서는 임의의 입력에 대한 출력이 입력과 h[n]의 합성곱 y[n] = Σx[k]h[n − k]로 구해지므로, h[n]이 시스템의 성질을 모두 나타낸다. h[n]이 유한한 길이로 끝나는 것을 FIR 필터, 무한히 계속되는 것을 IIR 필터라고 한다. Σ|h[n]|이 유한한 것이 BIBO 안정의 조건이며, h[n]의 z 변환이 전달 함수 H(z)가 된다.
차분 방정식(Difference Equation)
이산 시간 시스템의 출력을 현재와 과거의 입력 및 과거 출력의 가중합으로 나타낸 식. 예를 들어 y[n] = x[n] + 0.5y[n − 1]은 하나 앞 출력의 절반을 현재 입력에 더한다. 우변에 과거의 출력을 포함하지 않는 것은 FIR 필터이고, 과거의 출력을 포함하는 것(귀환이 있는 것)은 보통 임펄스 응답이 무한히 계속되는 IIR 필터가 된다. 초깃값을 주면 차례로 계산할 수 있으며, 그대로 프로그램이나 하드웨어로 구현할 수 있다. 양변을 z 변환하면 전달 함수 H(z)를 얻는다.
z 변환(z-transform)
이산 시간 신호 x[n]을 복소수 z의 함수 X(z) = Σx[n]z^(−n)으로 변환하는 방법. 1샘플의 지연은 z⁻¹을 곱하는 것에 해당하므로, 차분 방정식을 z의 분수식(전달 함수 H(z))으로 다룰 수 있다. H(z)의 분모를 0으로 만드는 z를 극점, 분자를 0으로 만드는 z를 영점이라 하며, 인과적인 시스템은 모든 극점이 단위원 안쪽에 있을 때 안정하다. z = e^(jω)로 두고 단위원 위에서 평가하면 주파수 응답을 얻는다. 연속 시간의 라플라스 변환에 해당하는 도구이다.
이동 평균 필터(Moving Average Filter)
최근 N개 샘플의 평균을 출력하는 가장 간단한 저역 통과 필터. y[n] = (x[n] + x[n − 1] + … + x[n − N + 1])/N으로, 계수가 모두 1/N인 FIR 필터이다. 직류 이득은 1이고 주파수 fs/N의 정수배에서 이득이 0이 되므로, 예를 들어 전원 주기에 정확히 맞춘 구간에서 평균하면 전원 주파수와 그 고조파의 잡음을 제거할 수 있다. 계수가 대칭이므로 선형 위상이며, 지연은 (N − 1)/2샘플이다. 새 샘플을 더하고 가장 오래된 샘플을 빼서 합을 갱신하면 N과 관계없이 적은 연산으로 계산할 수 있다.

관련 비교