티스토리 뷰
Filter라고 하는 어떤 system을 디자인하고 구현 할 때, filter structure를 통해 실제로 어떻게 구현할 것이며, 어떻게 디자인할 것인지를 고려해볼 수 있습니다.
Basic Elements
이 포스팅에서는 LTI system을 고려하며, filter structure는 아래와 같은 요소들로 구성됩니다.
- Adder: 두 선이 만나는 점으로 표현된다.
- Multiplier(gain): 화살표 위에 적힌 값을 곱해준다.
- Delay element (shift or memory): 화살표 위에 $z^{-k}$가 적혀있다면, $k$만큼 shift된 것이다.
IIR Filter Structure
IIR(Infinite-duration Impulse Response) filter는 입력신호의 값과 출력신호의 값이 재귀적으로 적용되는 방식입니다. 간단하게 말하면 이전 시간의 출력신호의 값이 현재의 입력신호와 함께 filtering하는데 사용되는 것입니다. IIR filter는 ARMA(Auto Regressive Moving Average) 혹은 recursive filter라고 하기도 합니다.
IIR filter의 system function은 $H(z) \equiv \frac{B(z)}{A(z)} = \frac{\sum_{M}^{n=0}b_{n}z^{-n}}{\sum_{N}^{n=1}b_{n}z^{-n}} = \frac{b_{0}+b_{1}z^{-1}+ \cdots + b_{M}z^{-M}}{1+a_{1}z^{-1}+\cdots + a_{N}z^{-N}}; \ a_{0}=1$이고, difference equation으로 표현하면 $y(n)=\sum_{m=0}^{M}b_{m}x(n-m)-\sum_{m=1}^{N}a_{m}y(n-m)$입니다.
IIR structure를 나타내는 방법은 세 가지가 있습니다.
- Direct form
- Cascade form
- Parallel form
FIR Filter Structure
FIR filter는 입력신호의 유한한 값들만으로 필터링을 하는 방식입니다. MA(Moving Average) filter라고도 합니다. IIR필터에 비해 차수가 높아져 구현에 cost가 많이 들지만, 입출력간의 파형(phase) 유지가 중요한 경우 FIR filter를 사용합니다.
FIR filter의 system fuction은 $H(z)=b_{0}+b_{1}z^{-1}+\cdots + b_{M}z^{-(M-1)} = \sum_{n=0}^{M-1}b_{n}z^{-n}$이고, difference equation으로 표현하면 $y(n)=\sum_{m=0}^{M-1}b_{m}x(n-m)=b_{0}x(n)+b_{1}x(n-1)+\cdots + b_{M-1}x(n-M+1)$입니다. IIR의 우변의 두 번째 항이 사라진 형태로, 이전 시간의 값이었던 항이 사라지면서 재귀적 성질을 잃고 FIR filter가 되는 것 입니다. System function은 IIR에서 분자만 남아 zero만 존재하는 형태임을 알 수 있습니다.
FIR structure를 나타내는 방법은 네 가지가 있습니다.
- Direct form
- Cascade form
- Linear-phase form
- Frequency sampling form
Lattice Filter Structure
Lattice filter는 all-pass filter의 한 종류입니다. 우선, all-pass filter란 모든 주파수를 동일한 gain으로 통과시키지만, 주파수에 사이의 위상(phase) 관계를 변화시키는 필터입니다. digital speech processing이나 adaptive(상황에 따라 달라지는) filter를 구현하는데 이용됩니다.
Lattice filter는 크게 세 가지로 나누어 볼 수 있습니다.
- All zero lattice filter (FIR representation)
- All pole lattice filter
- Lattice ladder filter (IIR representation)
1.과 2.를 합친 것이라 볼 수 있는데, zero와 pole을 모두 가집니다.
Reference
- 디지털신호처리, 국민대학교 정경훈 교수님 강의
- Digital Signal Processing Using MATLAB, 3rd Edition by Vinay K. Ingle, John G. Proakis
'digital signal process' 카테고리의 다른 글
Z-transform (0) | 2022.01.11 |
---|---|
DTFT(Discrete-Time Fourier Transform) (0) | 2022.01.05 |
- Generative Model
- OS
- depth
- pcb
- deeplearning
- ML
- feature
- machine learning
- 디지털신호처리
- ML Pipeline
- AI
- mode collapse
- Operating System
- Deep learning
- TRACKING
- 3d object detection
- Depth estimation
- conditional GAN
- DSP
- 신호처리
- Building Basic GAN
- 운영체제
- design pattern
- 딥러닝
- controllable GAN
- Raspberry Pi
- depthmap
- MLOps
- Gan
- image
- Total
- Today
- Yesterday
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |