[디지털신호처리] 신호와 시스템 - 표현

작성: 2016-09-01 18:56:00
수정: 2023-09-23 23:03:37
오구사십오

2장. 이산시간 신호와 시스템 - 표현

Signal 표현식

어떻게 신호를 표현할 수 있을까? 아래 네 가지 표현법을 알아보자

  1. 유한한 길이를 가지는 신호 (n이 0, 1, 2 인 경우에만 값을 가짐)
    <$x(n) = \begin{cases} 1, \ n=0 \\ 2, \ n=1 \\ 3, \ n=2 \\ 0, \ otherwise  \end{cases} $>
  2. 유한한 sequence에서는 아래와 같은 방법으로도 표현가능하다.
    <$x(n) = \{ \cdots \ 0,\ 1, \ 2, \ 3, \ 0, \ 0 \ \cdots \}$>
    다만, 1번 표현 없이 2번을 보게 될 경우 어떤 표현인지 잘 이해할 수 없다. 따라서 초기점이 어디인지 명시해 주어야 한다.
    특정한 sample 값 아래에 화살표를 표기하여 초기점을 명시한다. 
    <$x(n) = \{ \cdots \ 0,\ 1, \ 2, \ 3, \ 0, \ 0 \ \cdots \}$>
    <$\qquad \qquad \qquad \ \  \uparrow$>
    <$\qquad \qquad \qquad n=0$> 
  3. 우리가 일상적으로 다루는, 수식에 의한 표현
    일련의 차분방정식이라 부르며, 초기조건이 필요하다.
    <$x(n) = x(n-1)+x(n-2), x(0)=x(1)=1$> 
    <$x(2)=2, 3, 5, \cdots$> (피보나치수열)

이런것들이 하나의 표현방법으로 사용된다. 하지만 실질적으로 DSP 관점에서 우리가 신호를 표기할 때에는 이런 것들과 다른 표현법으로 표현하기도 한다. impulse function을 사용하면 조금 더 효율적으로 표현할 수 있다.
<$x(n) = \delta(n) + 2\delta(n-1) + 3\delta(n-2)$>

impulse function에 대해서는 조금 이따가 자세히 다루도록 하자...

 

참고로 우리가 Signal을 표시해 주었을 때, 협의적인 의미로 하나의 함수라고 정의하였다. 통상적으로 <$x(n)$>(<$n$>은 정수)으로 표현되는 하나의 함수이다. sequence만을 생각한다면 수렴을 고려할 필요는 없다.

<$\{x(n)\} = \{x(0), x(1), x(2), \cdots \}$> 수열, sequence

https://ko.wikipedia.org/wiki/Z%EB%B3%80%ED%99%98

 $$X(\xi) = \sum_{n=-\infty}^{\infty} x(n)\xi^{-n}$$ 이 표현은 <$x(n)\xi^{-n}$>을 모두 더한 것이다. 이것이 Z Transform의 정의이다.

Z Transform은 power seriese(멱급수, 거듭제곱수)이다. 즉, 공업수학때 배운 power series의 해석방법을 그대로 사용할 수 있다.

Some important signals

앞으로 자주 보게 될 signal들

unit(impulse / sample / delta) sequence. <$\delta (n)$>으로 표현된다.

$$\delta (n) = \begin{cases} {1, n=0 \\ 0, n \neq 0} \end{cases}$$

그렇다면, <$\delta(t)$>는 어떻게 표현할 수 있을까? <$\delta(t) = \infty$>? 무한대는 값이 아니라 현상이기 때문에 이렇게 표현할 수 없다.

$$\lim_{t \to 0}\delta(t) = \infty$$

와 같이 표현된다면, 현상을 표현하는 수식이기 때문에 적절한 표현이라고 볼 수 있다. 다만, 위 수식으로도 impulse function을 표현하지 않는다(무리가 있다). 이를 조금 더 정확하게 표현하기 위해서는 <$\delta(t)$>의 특성을 이용하여 아래와 같이 표현한다.

  1. <$\int_{-\infty}^{\infty}d(t)dt=1$>
  2. <$\delta(t) = 0, \forall t \neq 0$>

이렇게 delta 함수의 특정을 정의함으로써 간접적으로 <$\delta(t)$>라는 실질적으로는 존재하지 않는, 이상적인 신호를 정의하는 방법을 취한다. 위에서 처럼 연속신호에서의 impulse function과는 다르게 이산시간에서의 impulse function은 잘 정의되어있는 것을 볼수 있다.

unit step sequence <$u(n)$>

아래와 같이 정의된다.

$$u(n) = \begin{cases} {1, n \ge 0 \\ 0, n \lt 0} \end{cases}$$

마찬가지로 연속시간의 경우에서는 <$u(t)$>를 정의할 수 있는데, 그때 <$u(t)$>는 <$t=0$>에서 정의되지 않는다. 이런 차이점이 있다. unit step sequence는 어떤 특정영역에서 상수값을 갖는 유한한 영역을 표현할 때 유용하게 사용될 수 있다. 예를 들면, <$x(n) = \{\cdots, 1,1,1,0,0,\cdots\}$> 일 때를 들 수 있다.

<$x(n) = \{\cdots, 1,1,1,0,0,\cdots\} = u(n) - u(n-3)$>

<$\qquad \qquad \qquad \uparrow$>
<$\qquad \qquad \quad n=0$> 

exponential sequence

자연에서 많이 보는 sequence 형태 (euler identity, 오일러 공식 에 따라 전개)

$$x(n) = (re^{j\theta})^n =r^n e^{jn\theta} \\ \quad \ \  \qquad = r^n(\sin n\theta + j\sin n\theta)$$

여기서 <$r^n$>은 <$x(n)$>의 크기를 결정하는 factor가 된다. 일종의 envelope로 작용하게 된다.

Signal Classification(신호의 분류기준)

DSP 관점에서 신호를 분류한다면 다음과 같다.

<$x(n)$>를 energy signal(유한한 에너지를 갖는 signal) 이라 한다면, 그 의미는 무엇일까? 에너지(<$x(n)$>)가 유한한 값을 갖는다는 뜻이다. 그러면 면 우리는 에너지 signal을 정의할 필요가 있는데, 아래와 같다.

$$E_x = \sum_{n=-\infty}^{\infty} |x(n)|^2 \lt \infty$$

주기적인 신호를 제외한 지구상에 존재하는 모든 signal은 에너지 signal로 볼 수 있다. 우리가 자연적으로 관측할 수 있는 모든 에너지는 유한할 수밖에 없다. Energy signal이 중요한 이유는, Energy signal인 경우에만 푸리에 변환이 가능하기 때문이다.

<$x(n)$>를 Power signal 이라고 했을 때, 그 의미는 유한한 power를 갖는다고 할수 있다. 여기서 Power는 정의되기를,

$$P_x = \lim_{N \to \infty} {1 \over {2N + 1}} \sum_{n=-N}^{N} |x(n)|^2$$

으로 정의되는데, 수식을 설명하면, -N부터 N까지 신호의 에너지를 구하고 그 결과를 normalize 한다. 이렇게 normalize 해줌으로써 무한한 에너지를 가지는 신호일지라도 Power signal이 될 수 있다. Energy Signal은 평균값이 0이다. 따라서 Energy signal은 Power signal의 subset이라고 할 수 있다.

우리가 관심을 갖는 Power series는 단 두가지 밖에 없다.

  1. unit step function <$u(n)$>(Power signal이다)
  2. Periodic signal: 하나의 주기 내에서 유한한 크기를 갖는 주기적인 신호
    같은 의미 이지만 Power를 다르게 정의한다.
    $$P_x = {{1} \over {N}} \sum_{n=0}^{n-1} |x(n)|^2$$
    여기서 N은 주기(Period)이다. 

 

 

even signal : <$x(n) = x(-n)$> 인 신호

odd signal : <$x(n) = -x(-n)$> 인 신호

모든 신호는 even 성분과 odd 성분으로 분할할 수 있다.

<$x(n) = x_e (n) + x_o(n)$>

 

Signal 변환 <$x(n)$>

연속시간 신호에서의 독립변수의 경우

<$x(t)$>

  1. delay <$x(t-\tau)$>
    <$\tau$>만큼 delay 시킴 
  2. folding <$x(-t)$>
  3. scaling <$x(at)$>

독립변수인 t에 대한 <$x(t)$>가 있을 때,

<$x(2t-3) = x((2t)-3) = x(2(t - {3 \over 2} )$>

이산시간 신호에서의 독립변수의 경우

  1. delay (shift) <$x(n-k)$>
    <$k$>는 정수이어야 한다.
    <$TD_k(x(n)) = x(n) |_{n \gets n-k} = x(n-k)$> 
  2. folding <$x(-n)$>
    <$F_D(x(n)) = x(n)|_{n \gets -n} = x(-n)$> 
  3. scaling <$x(an)$> (중요하지만 어려우니 학부에서는 잘 안 다룸)
    1. <$a=2$>(1보다 큰 정수)인 경우, Down sampling 이라 부름
      <$y(n) = x(2n)$>
      <$y(0) = x(0), y(1)=x(2)$> 
    2.  <$a = {1 \over 2}$>인 경우, Up sampling 이라 부름
      <$\xi(n) = x({1 \over 2})$>
      <$z(0)=0, z(2)=x(1)$> 

delay와 folding의 연산 순서에 따라 서로 결과가 달라진다.

$$TD_k\left(F_D\left(x(n)\right)\right) \neq F_D\left(TD_k\left(x(n)\right)\right)$$

예제

..

System

정의

DT시스템은 디바이스 or 알고리즘인데 세 가지 성분(입력신호/입력신호에 가해지는 법칙/출력신호)을 지닌다. 입력 신호에 대응해서 어떤 연산작용을 하고 출력신호를 만들어내는 것을 의미한다.

System을 표현하는 방법

다양한 방법이 있지만 DSP에서는 두 가지 방법이 있다.

차분 방정식을 이용한 방법 (difference equation)

<$y(n) = {1 \over 2}(x(n) + x(n-1))$>

<$y(n) = {1 \over 2}(x(n) + x(n-1)) + {1 \over 4}y(n-1)$>

각 방정식에 대한 solution은 큰 의미를 갖지 않는 경우가 많다. 차분 방정식이 주어졌을 때, 나타나는 특성이 중요하다.

Block Diagram에 의한 표현 방법

차분방정식에 의해 표현된 시스템을 도식화 하는 방법이다. 다음 요소가 필요하다.

  1. adder 
  2. constant
  3. multiplier
  4. delay

다음과 같은 그리는 규칙이 있다.

  1. 입력은 왼쪽에서 시작한다.
  2. 출력은 오른쪽으로 끝난다.
  3. 화살표는 좌에서 우로 표현된다.

System을 분류하는 방법(Classification)

memoryless / dynamic

현재시점의 입력에 영향을 받을 때(memoryless), 현재시점 이외의 시점에서의 입력에 영향을 받을 때(dynamic)

Delay가 하나 이상 포함된 system은 dynamic system이다.

linear

다음 두 가지 원칙을 만족하는 System.

  1. 가법성(Additive)
    <$x_1 \longrightarrow y_1 ,\ x_2 \longrightarrow y_2$>일때, <$x_1 + x_2 \longrightarrow y_1 + y_2$> 인 특성
  2. 동차성(Homogeneous)
    마찬가지로 <$x_1$>에 대한 출력 <$y_1$>이 있을 때, <$a$>를 곱한 <$ax_1$>의 출력이 <$a$>를 곱한 <$ay_1$>으로 나올 때, 이러한 특성을 만족시키는 System
    <$ax_1 \longrightarrow ay_1$> 

위 두 원칙에 따라서, <$a$>를 곱한 <$ax_1 + bx_2$>의 출력이 <$ay_1 + by_2$>의 출력으로 나타날 때, 이러한 조건을 만족시키는 System을 Linear System이라 부른다.

$$ax_1 + bx_2 \longrightarrow ay_1 + by_2$$

Linear System에서는 입력시스템의 입력이 0일때, 출력은 반드시 0이다.(linear 하기 위한 필요조건)

<$T(0) = 0$>

일례로 다음 System은 non-linear System이다.

<$y(n) = e^{x(n)}$>

time-invariant

<$x(n)$>에 대한 출력신호가 <$y(n)$>으로 주어졌을 때(<$x(n) \longrightarrow y(n)$>), <$x$>에 대한 신호가 <$k$>만큼 delay 되었을 때, 출력 신호가 동일한 <$k$>만큼 delay 되면, 이 System을 Time-invariant System이라 부른다.

$$x(n) \longrightarrow y(n)$$

$$x(n-k) \longrightarrow y(n-k)$$

즉, 입력 신호가 t만큼 delay 되었을 때, 출력도 t만큼 delay 되는 System이다.

예를 들어, <$y(n) = n \cdot x(n)$>일 때,

  1. <$y(n,k) = T(x(n-k)) = y(n-k)$> 인 시스템
  2. <$y(n-k) = (n-k) x(n-k)$>

위 두 성분을 비교했을 때, 1번 성분과 2번 성분은 같지 않다. 그렇기 때문에 이 System은 Time-varing system이 된다.

causal

특정시점에서의 system 출력이 현재와 과거의 입력에 의해서만 영향을 받는 system을 Causal System이라고 한다. 따라서 causal system이 아닌 경우에는 system의 출력이 미래의 입력에 의해서 영향을 받게 된다.

예를 들어, <$y(n) = x(-n), n \neq 1$> 일때, 주어진 방정식에 <$n$>에 <$\pm 1$>만 대입해 보면, Causal System 여부를 판단할 수 있는데 아래와 같이 -1을 대입해 보면,

<$y(-1) = x(1)$>이므로, <$-1$>에 대한 시점을 현재의 시점으로 보았을 때,  <$1$>은 미래시점이다. <$-1$>인 현재시점에서의 출력이 미래의 입력에 의해서 영향을 받기 때문에 주어진 방정식은 결국 non-causal 한 시스템이다.

stable

통상적으로 BIBO(Bounded Input Bounded Output)로 불리며, 유한한 크기를 갖는 입력이 주어졌을 때, 출력신호의 값이 유한한 범위로 출력되는 System을 의미한다.

유익했다면 후원해 주세요