IIR filter

Mechboy·2025년 4월 20일

DSP

목록 보기
3/6

2차 digital filter 설계

기본적인 DSP IIR 필터는 아날로그 필터에서 bilinear transform을 하여 IIR 필터를 구현하는 방식으로 구현됨. 따라서 IIR필터를 설계한다는것은 아날로그 필터에 대한 이해만 있으면 쉽게 구현이 가능함.

IIR filter

  • IIR filter는 'infinite impulse respons filter의 줄임말임. 즉 피드백 구조가 무한하게 이어진 구조로 코드로 구현하면 재귀 구조로 출력값을 불러오는 구조, 하지만 실제 구현에서는 DP로 구현하긴 함

  • 따라서 이걸 대충 Biquad 구조로 설명하자면,

    y[n]=b0x[n]+b1x[n1]+b2x[n2]a1y[n1]a2y[n2]y[n] = b_0 x[n] + b_1 x[n-1] + b_2 x[n-2] - a_1 y[n-1] - a_2 y[n-2]
  • 전달 함수는 다음과 같음

    H(z)=b0+b1z1+b2z21+a1z1+a2z2H(z) = \frac{b_0 + b_1 z^{-1} + b_2 z^{-2}}{1 + a_1 z^{-1} + a_2 z^{-2}}
  • 이때 대략적인 설계 순서를 정리하면

    1. 원하는 특성주파수 ω0\omega_0QQ 값을 설정
    2. 이를 바탕으로 a1a_1a2a_2를 계산하고
    3. 해당값들은 기본적으로 모든필터에서도 똑같이 적용됨
    4. 고정된 aa 계수를 사용하여 분자의 bb 계수를 계산하면 됨

    핵심 포인트

    1. 분모의 값은 특성주파수와 Q값에 의해서 결정됨, 즉 컷오프 영역에서의 주파스 응답특성에 따라서 결정된다고 보면된다.
    2. 분자의 계수는 필터의 특성 (Low pass, high pass, band pass) 등을 결정
  • 여튼 IIR필터의 특징은 전에 입력된값을 계속해서 재귀적으로 불러온다는 점인데, 장단점을 요약하면 다음과 같음

    • 장점
      1.피드백 구조로 이어지기 떄문에 외부환경 변화에 둔감
      2.비선형 왜곡을 줄이고
      3.노이즈 효과를 줄여줌
    • 단점
      1.차수가 높을 수록 해석이 어렵고
      2.위상응답이 비선형 적임

Bilinear Transform에 대한 수학적 계산

  1. 우선 여기 공통되는 a 값을 우선 계산

    a1=2cos(ω0)1+α,a2=1α1+αa_1 = \frac{-2cos(\omega_0)}{1+\alpha} \quad, a_2 =\frac{1-\alpha}{1+\alpha}

    이때 α=qsin(ω0)\alpha =\:q\,sin(\omega_0) 이고, q=1/2Qq=1/2Q 로 계산이 됨

  2. 그리고 계수에 따른 특성은 아래와같이 계산이 됨

lowpass:b0=b2=1+a1+a24,b1=2b0highpass:b0=b2=1a1+a24,b1=2b0bandpass:b0=b2=1a22,b1=0allpass:b0=a2,b1=a1,b2=1lowpass: b_0 = b_2 = \frac{1 + a_1 + a_2}{4}, \quad b_1 = 2b_0 \\ high-pass: b_0 = b_2 = \frac{1 - a_1 + a_2}{4}, \quad b_1 = -2b_0\\ bandpass: b_0 = -b_2 = \frac{1 - a_2}{2}, \quad b_1 = 0 \\ allpass: b_0 = a_2, \quad b_1 = a_1, \quad b_2 = 1

최종적으로 요약하면 위와 같이 정리가 된다고 볼 수 있음

profile
imageprocessing and Data science

0개의 댓글