FIR Filters

grilledbacon09·2024년 4월 8일

Signal Processing

목록 보기
3/3

FIR Filter?

Finite impulse response filter
input의 가중치의 합을 return하는 filter
대충 input에 뭘 곱하고 합쳐서 return한다는 뜻.

Running-Average Filter

FIR filter의 일종
Discrete-time Signal: x[n]x[n] number의 list
indexed by n
x[n]x[n]의 예시

3-Point Average System
연속되는 세 숫자를 더해 평균 구함
y[n]=13(x[n]+x[n+1]+x[n+2])y[n]=\cfrac13(x[n]+x[n+1]+x[n+2])

이 예시는 n, n+1, n+2 세 값으로 평균을 구했지만 다른 방법으로도 가능함

다른 방식 ex) n-2, n-1, n으로 구하면 값 자체의 sequence는 같고 각 값이 나타나는 time만 다름

General FIR Filter

y[n]=k=0Mbkx[nk]y[n]=\displaystyle\sum_{k=0}^{M}b_kx[n-k]

이 때, bkb_k를 filter coefficient라고 한다
running average의 경우 3-point라 하면, bk=[13,13,13]b_k = [\frac13,\frac13,\frac13], M=2M=2
즉, filter order = M, filter length = M+1
filter의 output을 response\color{red}{response}라고 한다

Unit Impulse Signal

δ[n]={0else1(n=0)\delta[n]=\{_{0\enspace else}^{1\enspace(n=0)}

n=0일 때 만 1 인 신호
δ[n]\delta[n]을 이용해서 신호 x[n]x[n]을 나타낼 수 있다

요런 신호를 δ[n]\delta[n]을 이용하여 나타내면
x[n]=2δ[n]+4δ[n1]+6δ[n2]+4δ[n3]+2δ[n4]x[n]=2\delta[n]+4\delta[n-1]+6\delta[n-2]+4\delta[n-3]+2\delta[n-4] 가 된다.

Unit Impulse Response
앞에서 filter의 output을 response라고 하기로 했다.
이 때, filter의 input이 unit impulse signal δ[n]\delta[n]이면, unitimpulseresponse\color{red}{unit\enspace impulse\enspace response}라고 하고 h[n]h[n]으로 표기한다

Convolution
FIR filter의 definition을 convolution 연산이라고 볼 수 있다

y[n]=k=0Mh[k]x[nk]=h[n]x[n]y[n]=\displaystyle\sum_{k=0}^{M}h[k]x[n-k]=h[n]*x[n]으로 표현할 수 있다

Linear Time-Invariant System

말 그대로 time-invariant하고 linear한 특징을 가진 system

Time-Invariance
input이 n0n_0만큼 delay되면, output도 똑같은 만큼 delay됨

Linear
Linearity는 두가지 특징이 있음
1. Scaling: input에 n배 하면 output도 n배 됨
2. Superposition: 두 input에 대한 output의 합과 두 input의 합의 output이 같음

FIR filter는 두 가지 특징을 모두 만족하므로, LTI system이다.

Cascaded LTI System

convolution연산은 교환, 결합법칙 적용됨
즉, 연산순서 바꿔도 결과는 같음

0개의 댓글