본문 바로가기
AI 수학/신호처리

컨볼루션 공식대로 계산하기

by 세인트 워터멜론 2020. 7. 25.

신호처리 분야에서는 LTI 시스템을 필터(filter)라고 한다. LTI 시스템의 임펄스 반응은 시스템 그 자체라고 했으므로 필터를 설계한다는 것은 곧 LTI 시스템의 임펄스 반응 \( h[n] \)을 결정하는 것과 같다.

 

 

LTI 시스템의 출력 \( y[n] \)은 시스템의 임펄스 반응 \( h[n] \)과 입력 \( x[n] \)의 컨볼루션으로 주어지므로,

 

\[ \begin{align} y[n] &= h[n]*x[n] \\ \\ &=\sum_{k=-\infty}^\infty h[n-k] x[k] \end{align} \]

 

필터 또는 임펄스 반응은 어떤 입력에 대해서 원하는 출력이 나오도록 설계되어야 한다.

임펄스 반응 \( h[n] \)의 길이가 무한대이면 무한임펄스반응 (IIR, infinite impulse response) 필터라고 하고, 유한이면 유한임펄스반응(FIR, finite impulse response) 필터라고 한다. CNN에서의 필터는 유한임펄스반응 필터이므로 FIR 필터의 경우에 대해서 컨볼루션을 계산해 보도록 하자.

다음과 같이 임펄스 반응과 입력 신호가 있다고 하자.

 

 

공식대로 계산하려면 다음과 같은 절차를 밟아야 한다. 우선 \( x[n] \)과 \( h[n] \)이 유한 구간에서만 값을 갖고 나머지 구간에서는 모두 0이므로 다음과 같이 두 값을 테이블에 쓴다.

 

 

공식에 의하면

 

\[ \begin{align} y[n] &=\sum_{k=-\infty}^\infty h[n-k] x[k] \\ \\ &= \sum_{k=0}^4 h[n-k] x[k] \end{align} \]

 

이므로 \( h[n] x[0] \), \(h[n-1] x[1] \), \( h[n-2] x[2] \), \( h[n-3] x[3] \), \( h[n-4] x[4] \)의 계산이 필요하다.

 

 

그런 후 각 시간스텝 \( n \) 마다 이 값을 더하면 출력이 계산된다.

 

 

 

'AI 수학 > 신호처리' 카테고리의 다른 글

이동평균(moving average) 필터 설계해 보기  (0) 2020.07.26
컨볼루션 쉽게 계산하기  (0) 2020.07.25
LTI 시스템과 컨볼루션  (0) 2020.07.23
LTI 시스템 – 시불변  (0) 2020.07.21
LTI 시스템 - 선형  (0) 2020.07.21

댓글