[디지털신호처리] LTI system의 출력

작성: 2016-09-07 10:25:00
수정: 2023-09-25 11:27:04
오구사십오

Impulse Response(복습)

LTI System의 특성을 우리에게 전달해 주는 가장 중요한 정보 중 하나이다. 이는 정의하기를,

$$h(n) \triangleq T \left (\delta (n) \right )$$

로 정의된다. 예를들어, <$y(n) = {1 \over 2}y(n-1) + {1 \over 3}(x(n) + x(n-1)))$> 인 시스템이 있을 때, 이 시스템의 impulse response를 구해야 하는 경우가 있을 것이다. 이는 Impulse Response의 정의에 따라 초기조건이 <$y(-1)= 0$>이 된다. 그리고 <$x(n) = \delta (n)$>으로 주어졌을 때, 이 값에 대응하는 출력신호 <$y(n)$>이 Impulse response가 된다는 것을 알 수 있다.

이렇게 LTI System에서의 Impulse를 구할 수 있다면, Impulse Response를 가지고, 아래와 같은 Convolution 연산을 통해 System에서 임의의 입력에 대한 출력을 구할 수 있다. (세 가지 방법이 존재한다)

$$y(n) = h(n) * x(n) \\ = \sum_{k=- \infty }^{\infty } x(k)h(n-k)$$

  1. 그림에 의한 방법
  2. 테이블에 의한 방법
  3. <$\delta$> - function에 의한 방법

Convolution(합성곱) 연산의 특징

Convolution은 연산이기 때문에 두개의 sequence 사이에서 어떤 계산을 하는 것이다. 이 계산 과정에서 몇 가지 원칙이 존재한다.

  1. <$h(n) * \delta (n) = h(n)$>
    Impulse신호로 <$h(n)$>이 주어진다는 것은, 입력신호가 <$\delta(n)$>일 때 출력신호가 <$h(n)$>이 된다는 것과 마찬가지이다.


    위 내용을 일반화 한다면, <$x(n) * \delta (n) = x(n)$> 이 된다.
    이를 조금 더 확대해 생각해 본다면, <$x(n) * \delta (n-k) = x(n-k)$>가 된다. 
  2. <$x(n) * h(n) = h(n) * x(n)$> (교환법칙)
    Convolution 연산은 연산의 순서를 바꾸어도  상관없다.

     

    <$y(n) = \left ( x(n) * h_1 (n) \right ) * h_2 (n)$> 
    <$\qquad = \left ( h_1 (n) * h_2 (n) \right ) * x(n)$> 
  3. 결합법칙
    위 그림에서 <$h_1$>과 <$h_2$>로  표현되는 두 개의 LPI System이 직렬연결 된 상황에서 직렬연결 된 시스템에 대한 등가시스템(equivalent system)을 구하고자 했을 때, 그 값은 각각의 impulse response를 convolution 시켜준 결과와 마찬가지이다.
    <$y(n) = \left ( x(n) * h_1 (n) \right ) * h_2 (n)$> 
    <$\qquad = \left ( h_1 (n) * h_2 (n) \right ) * x(n)$> 
  4. 분배법칙
    분배법칙은 병렬연결에서의 <$y(n)$>과 관련이 있다.

    <$y(n) = h_1 * x + h_2 x$> 인데, Convlution 연산의 선형성을 이용하면 아래와 같이 표현할 수 있다.
    <$\qquad = (h_1 + h_2) * x$> 
    이렇듯, 두 LTI System의 병렬연결 관계에서는 분배법칙이 성립된다. 

Impuse Response의 형태

Causal LTI

$$y(n) \sum_{k = - \infty}^{infty}h(k) x(n-k)$$

 <$n = n_0$>라는 기준시간이 있을 때, <$n_0$>기준시점에 대한 출력신호가 <$n \le n_0$>인 시점에서의 입력에 대해서만 영향을 받을 때, 우리는 이 System을 Causal System이라 부른다.

<$= \sum_{k = - \infty}^{-1}h(k)x(n_0 -k + \sum_{k = 0}^{infty}h(k)x(n_0 -k)$>
<$= h(-1)x(n_0 +1) + h(-2)x(n_0 +2) + \cdots$>
<$\quad +h(0)x(n_0) + h(1)x(n_0 -1) + \cdots$> 

Causal System이기 위해서는 미래시점의 입력에 대해 영향을 받으면 안 된다. 따라서 이를 만족하기 위한 유일한 방법은 미래 입력들이 모두 0이 되어야 한다.

이를 바탕으로 아래 명제를 얻을 수 있다.

An LTI System is Causal if <$h(n) = 0, \ \forall n < 0$>

즉, causal system에 대응하는 impulse response는 <$n < 0$>인 모든 경우에, <$h(n) = 0$>이 된다. <$n \ge 0$>인 경우에만 <$h(n) \ne 0$>인 결과가 나온다.

Stable LTI

LTI System은 아래와 같이 정의된다.

$$y(n) = \sum_{k=-\infty}^{\infty}h(k)x(n-k)$$

학부과정에서 다루는 Stable LTI System은 BIBO(Bounded Input Bounded Output) System이다.

BIBO(Bounded Input Bounded Output)

유한한 입력이 들어갔을 때, 출력 또한 유한하다!

$$if\ |x(n)| < B_x, \ \forall n, \ then\ |y(n)| < B_y < \infty$$

BIBO안정성의 원리에 따라 위 LTI 정의에 절대값을 취해보면 (<$|A+B| \le |A| + |B|> 원리 사용)

$$|y(n)| = |\sum_{k=-\infty}^{\infty}h(k)x(n-k)| \le \sum_{k=-\infty}^{\infty}|h(k) \cdot |x(n-k)| < B_x \sum_{k}|h(k)| < \infty$$

위 결과는 유한해야 하기때문에, <$B_x$>의 값은 상수가 되기 때문에 양쪽을 나누어도 무한대는 그대로 무한대 이므로, 어떤 Stable System이 Stable 하기 위해서는 <$|h(n)|$>이라는 Impulse Response를 모두 절대값을 취하고 더라더라도 그 결과값이 유한해야 한다.

LTI System에 대한 두 가지 조건을 종합하면 다음과 같다.

  1. Causal 조건: An LTI System is Causal. if <$h(n) = 0, \ \forall n < 0$>
  2. Stable 조건: An LTI System is BIBO stable. if <$h(n)$>is summable, <$\forall n < 0$> 

 

Implementation of LTI System

이산시간(디지털) 시스템의 가장 큰 장점은 입출력 방정식이 주어졌을 때, 그것을 그대로 회로로 구현할 수 있다는 점이다. 아래와 같은 입출력 방정식을 갖는 LTI System이 있다고 하자.

$$y(n) = -a_1 y(n-1) + b_0 x(n) + b_1 x(n-1)$$

이를 구한한다고 하였을 때, 그 의미는 입출력 방정식을 대응하는 Block Diagram(혹은 Sugnal Flow Graph)을 그리라는 것을 뜻한다. 이산시간 시스템을 구현할 때 기본적으로 아래와 같은 세 개의 소자를 사용한다.

그림을 그리는 원칙: 좌측이 입력이고 출력은 우측이다.

이 원칙을 바탕으로 위 LTI System을 구현해보자. 대략 아래와 같이 표현될 수 있을 것이다.

Direct Form 1

위 다이어그램에서, Adder 연산자를 분리해 보자. 아래와 같이 표현될 수 있을 것이다. 이렇게 분리하게 되면, feed forward part(좌측)와 feed back part(우측)로 분리할 수 있다.

이때, feed forward의 결과(중간 신호)를 <$v(n)$>이라 할 때, 아래와 같이 두 개의 시스템으로 구분할 수 있다. 이렇게 두개의 LTI System의 직렬연결(feed forward and feed back 순서)로 구현할 수 있을 때, 이 구현을 Direct Form I 이라 부른다.

$$v(n) = b_0 x(n) + b_1 x(n-1) \\ y(n) = v(n) - a_1y(n-1)$$

Direct Form 2

이번에는 Direct Form 1에서 Feed forward와 feed back 부분의 위치를 서로 바꿔보자. 이 형태를 Direct Form II 라 부른다.

위 Direct Form II 그림에서, 중간지점의 신호를 <$w(n)$>이라 했을 때, 좌우 <$\xi ^{-1}$>은 모두 <$w(n)$>으로 동일하다. 따라서, 아래 그림으로 단순화 할 수 있다.

구현 종합

회로를 구현한다고 했을 때, Direct Form I과 Direct Form II의 소자 개수 등을 비교하여 최저비용으로 회로를 구현할 수 있을 것이다.

Corelation(상관도)

군사용 레이더 장비가 있다고 하자, 만약 레이더에서 임의의 송신신호<$T(t)$>를 발송한 뒤 타겟에 반사 후 되돌아 오는 경우 delay와 함께 회신신호 <$R(t)$>를 받게 되는데, delay를 분석하면 타겟의 거리를 감지할 수 있을 것이다. 그런데, <$R(t)$>의 경우, 물체에 반사되어 돌아오면서 왜곡된 신호이기 때문에 이 신호가 타겟에 의한 신호인지 아닌지 판단하기 어렵다. 이때 타겟의 존재여부를 판단하기 위해 <$T(t)$>와 <$R(t)$>간의 Corelation을 계산한다.

Corelation 의 예

사과의 당도 / 가을 날씨

Corelation의 정의

Cross-corelation

<$x(n), \ y(n)$>이 있을 때, Cross-corelation

$$r_{xy}(l) \triangleq \sum_{k= -\infty}^{\infty}x(k)y(k-l) \cdots ①$$

의 형태로 표현할 수 있다. 그리고 위 정의에 사용된 <$l$>은 Lag 값이라 부르며 일종의 Delay 이다. (convolution과 비슷하지 않은가?)

Convolution 연산 식에 <$l$>을 대입해 보면,

$$x(l)*y(l) = \sum_{k=-\infty}^{\infty}x(k)y(l-k) \cdots ②$$

와 같이 표현될 수 있는데, Cross-corelation의 ���의인 ①은 아래와 같이 <$y(l)$>을 folding한 결과를 convolution한 결과와 같음을 알 수 있다.

$$r_{xy}(l) \triangleq \sum_{k= -\infty}^{\infty}x(k)y(k-l)  \cdots ① \\ = x(l) * y(-l)$$

Cross-corelation은 두 개의 상이한 신호의 상관도를 측정하는 하나의 연산기법이다.

Auto-corelation

예를 들어, <$r_{xx}$>의 cross-corelation을 구해보면 아래와 같다.

$$r_{xx}(l) = \sum_{k} x(k)x(k-l)$$

이와 같은 경우를 Auto-corelation이라 부른다.

신호처리 학문에서는 auto-corelation과 cross-corelation은 자주 언급되는 개념이므로 꼭 알아두자

Corelation

그렇다면, ①에서, <$k$>대신 <$k+l$>을 대입해 보자

$$r_{xy}(l) \triangleq \sum_{k= -\infty}^{\infty}x(k+l)y(k)  \cdots ③$$

③을 우리는 <$x$>와 <$y$>의 Corelation이라 한다.

<$r_{xy}(l)$>이 아니라 <$r_{yx}(l)$>인 경우는 어떨까? <$r_{xy}(l)$>를 folding 한 것과 같다.

$$r_{yx}(l) =  \sum_{k= -\infty}^{\infty}x(k-l)y(k) \\ = r_{xy}(-l)$$

z-transform

FT(아날로그 영역에서의 FT)
임의의 Energy Signal (제곱을 취해서 적분한 결과가 유한한 것)

$$X(\Omega ) \triangleq \int_{-\infty}^{\infty}x(t)e^{-j\Omega t}dt$$

<$\Omega$>: 아날로그 영역에서의 주파수

LT
$$X(s) = \int_{-infty}^{\infty}x(t)e^{-st}dt$$
<$s = \sigma + j\Omega$> 이고, <$\sigma=0$>일때, <$x(s) = X(\Omega)$>

DTFT(이산시간 영역에서의 FT)

$$X(\omega) = \sum_{n=-\infty}^{\infty}x(n)e^{-j\omega n}$$

<$\omega$>: 이산시간영역에서의 주파수

z-transform

$$X(\xi ) = \sum_{n=-\infty}^{\infty}x(n)\xi ^{-n}$$

<$\xi = re^{j\omega}$>이고, <$r=1$>이면, $$x(\xi)|_{\xi = e^{j\omega}} = X(\omega)$$

가 된다. 이는 <$\xi$>-plane 에서 반지름이 1인 원이 된다.

FT와 LT, DTFT와 z-transform을 별개의 것으로 보지 말고 하나로 연결해 보는 것을 권한다.

 

유익했다면 후원해 주세요