Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Archives
Today
Total
관리 메뉴

codingfarm

2. 선형 시불변 시스템(LTI system) - 이산시간 LTI 시스템: 컨볼루션 합(Convolution Sum) 본문

신호 및 시스템

2. 선형 시불변 시스템(LTI system) - 이산시간 LTI 시스템: 컨볼루션 합(Convolution Sum)

scarecrow1992 2020. 4. 18. 19:21

1-1. 임펄스 항을 이용한 이산시간 신호의 표현
(The Representation of Discrete-Time Signals in Terms of Impulses)

단위 임펄스 함수를 이용하면 임의의 이산시간 신호를 각 임펄스들의 순차열로 표현 가능하다.

$$x[n]=\sum_{k=-\infty}^{\infty}x[k]\delta[n-k]$$

이 식은 이산시간 단위 임펄스의 이동 특성(shifting property)이라 불린다.

이는 가중치를 $x[k]$로 둔 이동된 단위 임펄스 $\delta[n-k]$의 선형조합이다.

임의의 신호 $x[n]$은 시간이동된 임펄스들의 중첩을 통해서 얻은 신호이기에 선형성과 시불변성을 만족해야한다.(확인바람)

예) 단위 계단

$$u[n]=\sum_{k=-\infty}^{+\infty}u[n]\delta[n-k]=\sum_{k=0}^{+\infty}\delta[n-k]$$

 

1-2. 이산시간 단위 임펄스 응답과 LTI 시스템의 컨볼루션 합
(The Discrete-Time Unit Impulse Response and Convolution Sum of LTI Systems)

임의의 입력 $x[n]$에 대한 LTI 시스템의 출력은 아래와 같다.
$$y[n]=\sum_{k=-\infty}^{+\infty}x[k]h[n-k]=x[n]*h[n]$$

$h[n]$은 단위임펄스 입력에 대한 LTI 시스템의 출력이다.
$$h[n]=\sum_{k=-\infty}^{+\infty}h[k]\delta[n-k]$$
즉, 정체를 알수 없는 시스템에 임펄스 입력을 주면 출력을 통해 시스템을 한번에 알아 낼 수 있다.

 

선형이면서 동시에 시불변인 이산시간 시스템들에 대한 컨볼루션의 합의 표현을 알아보겠다.

$x[n]$에 대한 선형시스템의 응답을 생각해보자.

선형시스템에선 입력이 아래와 같을 경우

$$x[n]=\sum_ka_kx_k[n]=a_1x_1[n]+a_2x_2[n]+a_3x_3[n]+\cdots$$

출력은 아래와 같이진다.

$$y[n]=\sum_ka_ky_k[n]=a_1y_1[n]+a_2y_2[n]+a_3y_3[n]+\cdots$$

 

이제 단위임펄스들의 조합으로 알아보자.

$h_k[n]$을 이동된 단위 임펄스 $\delta[n-k]$에 대한 선형 시스템의 응답으로 나타낸다.

그리고 입력이 아래와 같을 경우

 

$$x[n]=\sum_{k=-\infty}^{\infty}x[k]\delta[n-k]$$

출력 $y[n]$은 기본적인 출력들의 가중치 선형 조합이다. 즉, 아래와 같다.

$$y[n]=\sum_{k=-\infty}^{\infty}x[k]h_k[n]$$

$$h[n]=\sum_{k=-\infty}^{+\infty}h[k]\delta[n-k]$$

즉, 이동된 단위 임펄스들의 집합에 대한 선형 시스템의 응답($h_k[n]$)을 안다면, 임의의 입력에 대한 응답을 만들 수 있다.

 

한번 도식적으로 해석해보겠다.

$\delta[n+1]$과 $\delta[n]$, $\delta[n-1]$에 대한 응답

신호 $\delta[n+1],\delta[n],\delta[n-1]$에 대한 응답 $h_{-1}[n],h_{0}[n],h_{1}[n]$이  [그림 2.2 (b)]에 표시되어 있다.

$x[n]$을 구성하는 이동되고 배율된 각 임펄스들이 [그림 2.2 (c)]의 왼편에 나와있고, 응답들은 오른편에 있다. [그림 2.2 (d)]는 실제 입력과 출력을 나타낸다.

$\blacksquare$

 

일반적인 응답 $h_k[n]$은 [그림 2.2 (b)]와는 달리 $k$의 다른 값들에 대해 서로 관련되어 있을 필요 없다.

$\delta[n-k]$는 $\delta[n]$이 시간이동된 것이기 때문에 응답 $h_k[n]$은 $h_0[n]$의 시간이동된 것이다.

$$h_k[n]=h_0[n-k]$$

표시를 쉽게하기 위해 $h_0[n]$의 첨자를 삭제하면 단위 임펄스(샘플) 응답을 아래와 같이 정의한다.

$$h[n]=h_0[n]$$

즉, $h[n]$은 $\delta[n]$이 입력일 때 LTI 시스템의 출력이다.

그러면 LTI 시스템에 대해서 출력은 아래와 같이 된다.

$$y[n]=\sum_{k=-\infty}^{+\infty}x[k]h[n-k]$$

이 결과는 컨볼루션 합, 혹은 중첩합 이라고 간주된다.

그리고 위 식의 우변의 계산은 순차열 $x[n]$과 $y[n]$의 컨볼루션이라고 말한다.

컨볼루션 계산을 기호로 써서 나타내면 아래와 같다.

$$y[n]=x[n]*h[n]$$

위 식이 임의의 입력 $x[n]$에 대한 LTI 시스템의 응답을 나타낸다는것에 주목하라.

 

이것으로 LTI 시스템은 간단한 신호에 대한 응답, 즉, 단위 임펄스에 대한 그 응답으로 완전히 특징지워질 수 있다.

 

컨볼루션합의 도식적인 계산.
1) $h[k]$를 0에 대해 뒤집어서 $h[-k]$를 얻는다.
2) $h[-k]$를 $n$에 대해 평행이동 해서 $h[n-k]$를 얻는다.
3) $k \in [-\infty, \infty]$에 대해 $x[k]$와 $h[n-k]$의 곱을 구한다.
4) $k \in [-\infty, \infty]$에 대해서 모든 곱의 합을 구한다.

기존의 계산방법은 한번의 연산당 그래프를 하나씩 보관해서 최종적으로 다 합처야 했지만

도식적은 계산은 $y[n]$에서 $n$의 값에따라 출력을 별개로 저장한다는 점에서 직관력도 좋고 특히 컴퓨터 연산시에 메모리효율을 압도적으로 늘릴 수 있다.

 

 

여러 예제를 통해 컨볼루션 합의 도식적인 계산의 유용함을 확인하였다.

또한 컨볼루션 합은 LTI 시스템의 특성을 자세히 알아보는 것을 가능하게 해주는 유용한 표현을 제공하며 이는 2.3절에서 알아볼것이다..

 

Comments