본문 바로가기
전자공학

정수형 IIR 필터 사용시 주의해야 할 점

by 무에서 2018. 2. 7.
반응형

IIR 필터를 Floating point 연산이 아니라 Integer 변수를 사용하여 구현할 때 다음과 같은 문제가 있다.


가장 단순한 1차 IIR LPF 필터의 코드는 다음과 같다.



    y = (1*x + 9*y ) / 10;



위의 코드에서 x=101 이고 y가 100 이라면 위 식의 출력은 100 그대로 이다. 따라서, 입력 x는 계속해서 101 이지만 출력 y는 계속 100 으로 101 에 수렴되지 않는다. x가 91~109 까지의 범위일 때 출력 y는 100 으로 변하지 않게 된다.


위와 같은 문제는 정수형 변수는 소수점 이하를 버리기 때문에 생기는 현상이다.


IIR 필터의 코드에서 나누는 값이 커질수록 오차는 더 커진다.


신호 처리 알고리즘을 정수형으로 구현하는 것은 Floating point 연산을 사용하는 것에 비해 매우 복잡하다. 


# 정수형 IIR 필터 구현


반응형

'전자공학' 카테고리의 다른 글

Even & Odd 패리티  (0) 2018.02.13
DFT 정의와 특성  (0) 2018.02.11
열전 효과  (0) 2018.02.04
반도체 미세 공정 역사  (0) 2018.02.04
CPU의 주파수에 따른 소비 전력 방정식  (0) 2018.02.04

댓글