python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간...

28
Python 과 함께 배우는 시스템 해석 2 장. 이산시간 선형 시불변 시스템의 시간 영역 해석 2-1. 이산시간 신호 기초 및 콘볼루션 합 박섭형 한림대학교 전자공학과

Upload: others

Post on 21-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께 배우는 시스템 해석

제 2 장. 이산시간 선형 시불변 시스템의 시간 영역 해석2-1. 이산시간 신호 기초 및 콘볼루션 합

박섭형

한림대학교 전자공학과

Page 2: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

배울 내용

이산시간 단위 임펄스 함수

이산시간 단위 계단 함수

이산시간 시스템의 임펄스 응답

이산시간 콘볼루션 합의 정의

이산시간 콘볼루션 합의 성질

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 2

Page 3: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

이산시간 단위 임펄스 함수

.정의 2.1 (크로네커 델타(Kronecker-delta) 함수)..

......δ[n] =

{1, n = 0

0, n ̸= 0. (2.1)

n · · · −2 −1 0 1 2 3 4 5 6 · · ·δ[n] 0 0 0 1 0 0 0 0 0 0 0

def impseq(n0, n1, n2):assert (n0 <= n2) and (n1 <= n0) and (n1 <= n2)n = np.arange(n1,n2+1)x = (n == n0) * 1.0return n, x

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 3

Page 4: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

impseq(n0, n1, n2)를 이용하여 그린 임펄스 신호의 그래프

import numpy as npimport matplotlib.pyplot as pltn, x = impseq(0, -3, 5)plt.stem (n, x)plt.axis([-3, 5, -0.2, 1.2])plt.grid()plt.show()

3 2 1 0 1 2 3 4 50.20.00.20.40.60.81.01.2

그림 2.1: Pyplot.stem()으로 그린 이산시간 단위 임펄스 함수의 그래프.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 4

Page 5: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

δ[n − 3]

δ[n − 3] =

1, n = 3

0, n ̸= 3(2.2)

n · · · −2 −1 0 1 2 3 4 5 6 · · ·δ[n − 3] 0 0 0 0 0 0 1 0 0 0 0

n, x = impseq(3, -3, 5)

3 2 1 0 1 2 3 4 50.20.00.20.40.60.81.01.2

그림 2.2: δ[n]을 3만큼 이동한 단위 임펄스 δ[n − 3]의 그래프.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 5

Page 6: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

단위 임펄스 신호를 이용한 일반적인 신호 표현

단위 임펄스 신호는 일반적인 신호를 표현하는 기본 단위로 사용할 수 있다.

x[n] = δ[n] + 3δ[n − 1] + 5δ[n − 2] + 4δ[n − 3]. (2.3)

n · · · −2 −1 0 1 2 3 4 5 6 · · ·

δ[n] 0 0 0 1 0 0 0 0 0 0 03δ[n − 1] 0 0 0 0 3 0 0 0 0 0 05δ[n − 2] 0 0 0 0 0 5 0 0 0 0 04δ[n − 3] 0 0 0 0 0 0 4 0 0 0 0

x[n] 0 0 0 1 3 5 4 0 0 0 0

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 6

Page 7: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

단위 임펄스 신호의 체질 성질(Siftig Property)

x[0] = 1, x[1] = 3, x[2] = 5, x[3] = 4, (2.4)

x[n] = x[0]δ[n] + x[1]δ[n − 1] + x[2]δ[n − 2] + x[3]δ[n − 3]

=

3∑k=0

x[k]δ[n − k] (2.5)

이 개념을 확장하면 무한 길이 신호 x[n]을 다음과 같이 표현할 수 있다.

x[n] =∞∑

k=−∞

x[k]δ[n − k]

= · · ·+ x[−1]δ[n + 1] + x[0]δ[n] + x[1]δ[n − 1] + · · · .

(2.6)

이 식을 이산시간 임펄스 신호의 체질 성질(sifting property)이라고 한다.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 7

Page 8: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

이산시간 단위 계단 함수

.정의 2.2 (이산시간 단위 계단 (unit step) 함수)..

......u[n] =

{1, n ≥ 0

0, n < 0. (2.7)

n · · · −2 −1 0 1 2 3 4 5 6 · · ·δ[n] 0 0 0 1 1 1 1 1 1 1 1

def stepseq(n0, n1, n2):assert (n0 <= n2) and (n1 <= n0) and (n1 <= n2)n = np.arange(n1,n2+1)x = (n >= n0) * 1.0return n, x

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 8

Page 9: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

stepseq(n0, n1, n2) 를 이용하여 그린 단위 계단 함수의 그래프

import numpy as npimport matplotlib.pyplot as pltn, x = stepseq(0, -3, 5)if n != None:

plt.stem (n, x)plt.axis([-3, 5, -0.2, 1.2])plt.show()

3 2 1 0 1 2 3 4 50.20.00.20.40.60.81.01.2

그림 2.3: Pyplot.stem()으로 그린 이산시간 단위 계단 함수의 그래프.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 9

Page 10: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

이산시간 단위 임펄스 함수와 단위 계단 함수 사이의 관계

u[n] =∞∑

k=0

δ[n − k]. (2.8)

δ[n] = u[n]− u[n − 1]. (2.9)

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 10

Page 11: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

FIR 필터의 단위 임펄스 응답

FIR(finite impulse response, 유한 임펄스 응답) 필터의 입출력 관계식

y[n] =M∑

k=0

bkx[n − k]. (2.10)

출력 y[n]은 입력 열 x[n − M], x[n − M − 1], · · · , x[n − 1], x[n]에 각각bM, bM−1, · · · , b1, b0을 곱한 후에 더하는 가중 합으로 표현된다.모든 k에 대해서 bk = 1

M+1인 FIR 필터: (M + 1) 점 이동 평균 필터

y[n] = 1

M + 1

M∑k=0

x[n − k]. (2.11)

FIR 필터의 임펄스 응답: x[n] = δ[n]가 입력되었을 때의 출력 (또는 응답)

h[n] =M∑

k=0

bkδ[n − k] ={

bn, n = 0, 1, 2, . . .M0, otherwise

. (2.12)

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 11

Page 12: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

FIR 필터의 단위 임펄스 응답

h[−1] =

M∑k=0

bkδ[−1− k] = b0δ[−1] + b1δ[−2] + · · ·+ bMδ[−1− M] = 0

h[0] =M∑

k=0

bkδ[0− k] = b0δ[0] + b1δ[−1] + b2δ[−2] + · · ·+ bMδ[−M] = b0

h[1] =M∑

k=0

bkδ[1− k] = b0δ[1] + b1δ[0] + b2δ[−1] + · · ·+ bMδ[−M] = b1

...

h[M] =

M∑k=0

bkδ[M − k] = bM

h[M + 1] =M∑

k=0

bkδ[M + 1− k] = bM+1

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 12

Page 13: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

FIR 필터의 단위 임펄스 응답

h[k] = bk, k = 0, 1, · · · ,M. (2.13)

이산시간 선형 시불변 시스템의 출력을 구하는 콘볼루션 합

y[n] =M∑

k=0

h[k]x[n − k]. (2.14)

FIR 필터의 임펄스 응답 h[n]은 차분방정식의 계수들로 구성된 신호열로서,0 ≤ n ≤ M 범위에서만 0이 아닌 값을 갖고, 그 외의 구간에서는 h[n] = 0이된다. 즉, 이 시스템의 임펄스 응답 h[n]의 support1는 유한 구간이 된다. 이와같이 임펄스 응답의 support가 유한 구간이 되는 필터를 FIR 필터라고 부른다.

x[n]

δ[n]

y[n]

h[n]

이산시간

FIR 필터

그림 2.4: FIR 필터에서 임펄스 응답의 정의를 설명하는 블록도.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 13

Page 14: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

지연 시스템의 임펄스 응답

y[n] = x[n − n0]. (2.15)

이 식에서 n0 = 1인 경우를 단위 지연(unit delay) 시스템이라고 한다.이 시스템의 임펄스 응답 h[n]은 x[n] 대신에 δ[n]을 대입했을 때의 출력이므로,h[n] = δ[n − n0]가 된다.예를 들어서, n0 = 5인 지연 시스템의 임펄스 응답은 다음과 같다.

h[n] = δ[n − 5] =

1, n = 5

0, n ̸= 5. (2.16)

x[n] y[n] = x[n− n0]δ[n− n0]

그림 2.5: 입력을 n0 샘플만큼 지연시키는 지연 시스템의 블록도.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 14

Page 15: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

지연 시스템의 임펄스 응답

0

2

4

6

8

index [n]0

x[n]

0 1 2 3 4 5 6 7 8 9 10

(a) 입력 x[n]의 그래프.

0

2

4

6

8

index [n]0

x[n]

0 1 2 3 4 5 6 7 8 9 10

(b) y[n] = x[n − 3]의 그래프.

그림 2.6: 입력 x[n]과 지연된 출력 y[n] = x[n − 3]의 그래프.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 15

Page 16: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합

임펄스 응답이 h[n]인 LTI 시스템 T 에 x[n]이 입력되면, 출력 y[n]은 다음과같이 x[n]과 h[n]의 관계식으로 나타나는데, 이것을 콘볼루션 합 (convolutionsum)이라고 부른다. 콘볼루션 합 연산은 ∗로 표현한다.

y[n] = T {x[n]} = x[n] ∗ h[n] =M∑

k=0

x[k]h[n − k]. (2.17)

이 때, 출력 y[n]은 두 신호 열 x[n]과 h[n]의 콘볼루션 합의 연산을 수행한결과라고 말한다..

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 16

Page 17: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합 공식의 유도

x[n] =

∞∑k=−∞

x[k]δ[n − k]

= · · ·+ x[−2]δ[n + 2] + x[−1]δ[n + 1] + x[0]δ[n]

+x[1]δ[n − 1] + x[2]δ[n − 2] + · · · .

(2.18)

단위 임펄스 δ[n]에 대한 출력은 임펄스 응답 h[n]이다. 즉,

h[n] = T {δ[n]}. (2.19)

여기에 선형 시불변 시스템의 시불변성을 이용하면 모든 정수 k에 대해서다음과 같은 입출력 관계가 성립한다.

h[n − k] = T {δ[n − k]}. (2.20)

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 17

Page 18: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합 공식의 유도

선형 시불변 시스템의 선형성을 이용하면, 다음과 같은 관계식을 얻을 수 있다.

y[n] = T {x[n]}

= T

{∞∑

k=−∞

x[k]δ[n − k]}

= · · ·+ T {x[−2]δ[n + 2]}+ T {x[−1]δ[n + 1]}+ T {x[0]δ[n]}

+ T {x[1]δ[n − 1]}+ T {x[2]δ[n − 2]}+ · · ·

= · · ·+ x[−2]T {δ[n + 2]}+ x[−1]T {δ[n + 1]}+ x[0]T {δ[n]}

+ x[1]T {δ[n − 1]}+ x[2]T {δ[n − 2]}+ · · · (2.21)

= · · ·+ x[−2]h[n + 2] + x[−1]h[n + 1] + x[0]h[n]

+ x[1]h[n − 1] + x[2]h[n − 2] + · · ·

=

∞∑k=−∞

x[k]h[n − k].한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 18

Page 19: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합 공식의 유도

모든 이산시간 선형 시불변 시스템의 출력은 다음과 같이 입력과 임펄스 응답의콘볼루션 합으로 표현할 수 있다.

.이산시간 선형 시불변 시스템의 출력: 콘볼루션 합..

......y[n] = x[n] ∗ h[n] =

∞∑k=−∞

x[k]h[n − k]. (2.22)

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 19

Page 20: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 교환 법칙

두 신호를 콘볼루션할 때 신호의 순서를 바꾸어도 결과는 같다.

y[n] = x[n] ∗ h[n] =∞∑

l=−∞

x[l]h[n − l]

=∞∑

k=+∞

x[n − k]h[k] (k = n − l로 변수 치환) (2.23)

=

∞∑k=−∞

h[k]x[n − k] = h[n] ∗ x[n].

.이산시간 콘볼루션의 교환 법칙..

...... x[n] ∗ h[n] = h[n] ∗ x[n]. (2.24)

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 20

Page 21: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 결합 법칙

x1[n] ∗ (x2[n] ∗ x3[n]) = x1[n] ∗(

∞∑k=−∞

x2[k]x3[n − k])

=

∞∑m=−∞

x1[m]

(∞∑

k=−∞

x2[k]x3[(n − m)− k]). (2.25)

여기에서 q = k + m으로 치환하면, k = q − m이므로,

x1[n] ∗ (x2[n] ∗ x3[n]) =∞∑

m=−∞

x1[m]

∞∑q=−∞

x2[q − m]x3[n − q]

=

∞∑q=−∞

∞∑m=−∞

x1[m]x2[q − m]x3[n − q]

=∞∑

q=−∞

(∞∑

m=−∞

x1[m]x2[q − m]

)x3[n − q]

=

∞∑q=−∞

(x1[q] ∗ x2[q]) x3[n − q]

= (x1[n] ∗ x2[n]) ∗ x3[n]. (2.26)한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 21

Page 22: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 결합 법칙

.이산시간 콘볼루션 합의 결합 법칙..

...... (x1[n] ∗ x2[n]) ∗ x3[n] = x1[n] ∗ (x2[n] ∗ x3[n]). (2.27)

x[n]

δ[n]

w[n]

h1[n]

LTI 1

h1[n]

LTI 2

h2[n]

y[n]

h1[n] ∗ h2[n]

그림 2.7: 두 개의 이산시간 선형 시불변 시스템을 직렬 연결한 그림.

y[n] = (x[n] ∗ h1[n]) ∗ h2[n]= x[n] ∗ (h1[n] ∗ h2[n])= x[n] ∗ (h2[n] ∗ h1[n])= (x[n] ∗ h2[n]) ∗ h1[n].

(2.28)

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 22

Page 23: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 결합 법칙

x[n]

δ[n]

v[n]

h2[n]

LTI 2

h2[n]

LTI 1

h1[n]

y[n]

h2[n] ∗ h1[n]

그림 2.8: 두 개의 이산시간 선형 시불변 시스템의 순서를 바꾸어 직렬 연결한 그림.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 23

Page 24: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 분배 법칙

x1[n] ∗ (x2[n] + x3[n]) =∞∑

k=−∞

x1[k](x2[n − k] + x3[n − k]

=

∞∑k=−∞

x1[k]x2[n − k] +∞∑

k=−∞

x1[k]x3[n − k] (2.29)

= x1[n] ∗ x2[n] + x1[n] ∗ x3[n].

.이산시간 콘볼루션 합의 결합 법칙..

...... x1[n] ∗ (x2[n] + x3[n]) = x1[n] ∗ x1[n] ∗ x2[n] + x1[n] ∗ x3[n].

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 24

Page 25: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 분배 법칙

LTI 1

h1[n]

LTI 2

h2[n]

x[n] y[n]

그림 2.9: 두 개의 이산시간 선형 시불변 시스템을 병렬로 연결한 시스템.

LTI 3

h1[n] + h2[n]

x[n] y[n]

그림 2.10: 두 개의 이산시간 선형 시불변 시스템을 병렬로 연결한 것과 등가 시스템.

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 25

Page 26: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 항등원

모든 신호 x[n]에 대해서 다음 식이 성립한다.

x[n] ∗ δ[n] = x[n]. (2.30)

이 식은 다음과 같이 증명할 수 있다.

x[n] ∗ δ[n] =∞∑

k=−∞

x[k]δ[n − k]. (2.31)

식 (2.6)을 이용하면, 다음 식을 얻을 수 있다.

∞∑k=−∞

x[k]δ[n − k] = x[n]. (2.32)

이 식이 의미하는 것은 콘볼루션 합 연산의 항등원은 δ[n]라는 것이다.

x[n] ∗ δ[n − n0] = x[n − n0], n0은 정수 (2.33)

x[n − n0] ∗ δ[n − n1] = x[n − n0 − n1], n0,n1은 정수 (2.34)

입력 신호를 n0 만큼 지연시키는 시스템의 임펄스 응답은 h[n] = δ[n − n0]인것을 알 수 있다.한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 26

Page 27: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

콘볼루션 합의 성질: 중심 극한 정리(central limit theorem)

모든 n에 대해서 x[n] ≥ 0을 만족하는 펄스와 유사한 신호를 자기 자신과 계속콘볼루션 연산을 반복하면 콘볼루션 결과는 가우시안 신호에 근접해간다.

그림 2.11: 이산시간 선형 콘볼루션 합의 중심 극한 정리를 설명하는 그림.한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 27

Page 28: Python과 함께 배우는 시스템 해석 - 제 2 장. 이산시간 …contents.kocw.net/KOCW/document/2014/Hallym/...그림2.3: Pyplot.stem()으로그린이산시간단위계단함수의그래프

Python과 함께배우는

시스템 해석

박섭형

이산시간단위 임펄스함수와 단위계단 함수

이산시간선형 시불변시스템의임펄스 응답

이산시간선형 시불변시스템의출력:콘볼루션 합

임펄스 응답과 단위 계단 응답의 관계

이산시간 LTI 시스템의 단위 계단 응답을 s[n]라고 하면, s[n]은 다음과 같다.

s[n] = h[n] ∗ u[n] =∞∑

k−∞

h[k]u[n − k]. (2.35)

그런데

u[n − k] =

1, n − k ≥ 0, ( 즉 k ≤ n)0, k > n

(2.36)

이므로 다음과 같은 관계를 알 수 있다..임펄스 응답과 단위 계단 응답의 관계..

......

s[n] =n∑

k=−∞

h[k]. (2.37)

h[n] =n∑

k=−∞

h[k]−n−1∑

k=−∞

h[k] = s[n]− s[n − 1]. (2.38)

한림대학교 박섭형 Python과 함께 배우는 시스템 해석 제 4 강 이산시간 신호 기초 및 콘볼루션 합 28