Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
Python과 함께 배우는 신호 해석
제 16 강. 주요 이산시간 신호의 푸리에 변환
(제 6 장. 이산 비주기 신호의 주파수 성분 해석 : 이산시간 푸리에 변환)
박섭형
한림대학교 전자공학과
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
배울 내용
시비율이 다른 이산시간 주기 신호의 이산 푸리에 변환 비교 이산 푸리에 변환에서 이산시간 푸리에 변환으로
이산시간 푸리에 변환의 존재와 수렴 이산시간 푸리에 변환의 주요 성질 유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 DFT와 DTFT 사이의 관계
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
유한 길이 신호의 이산시간 푸리에 변환
0≤ n ≤ N에서 정의되는 유한 길이 신호 x[n]은 다음과 같이 나타낼 수 있다.
x[n] =
∑N k=0
x[k]δ[n− k]. (6.23)
이 때, x[n] 의 이산시간 푸리에 변환은 다음과 같이 정의된다.
X(ej ˆω) =
∑N n=0
x[n]e−jˆωn. (6.24)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
유한 길이 이산시간 신호의 이산시간 푸리에 변환
예제 6.1 (유한 길이 이산시간 신호의 이산시간 푸리에 변환)
다음과 같이 주어지는 유한 길이 이산신호 x[n] 의 이산시간 푸리에 변환을 구해보자.
x[n] ={3
↑,−2, 3, 7, −1, 4}
X(ej ˆω) = x[0]e−jˆω0+ x[1]e−jˆω(1)+ x[2]e−jˆω(2) + x[3]e−jˆω(3)+ x[4]e−jˆω(4)+ x[5]e−jˆω(5)
= 3− 2e−jˆω+ 3e−j2ˆω+ 7e−j3ˆω− e−j4ˆω+ 4e−j5ˆω. (6.25)
■
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
유한 길이 이산시간 신호의 이산시간 푸리에 변환
연습 문제 6.1
다음 유한 길이 이산시간 신호 x[n] 의 이산시간 푸리에 변환을 구하라.
x[n] ={1
↑, 3,−1, −2, −1}
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
유한 길이 이산시간 신호의 이산시간 푸리에 변환
예제 6.2
x[n] = u[n]− u[n − 10]의 이산 시간 푸리에 변환을 구하라.
X(ej ˆω) =
∑∞ n=−∞
x[n]e−jˆωn=
∑9 n=0
e−jˆωn
=1−( e−jˆω)10
1− e−jˆω = 1− e−j10ˆω 1− e−jˆω
= e−j5ˆω(
ej5 ˆω− e−j5ˆω)
e−j0.5ˆω(ej0.5 ˆω− e−0.5jˆω) (6.26)
= j2 sin(5ˆω)
j2 sin(ˆω/2)e−j9ˆω/2= sin(5ˆω)
sin(ˆω/2)e−j9ˆω/2.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
단위 임펄스 신호의 이산시간 푸리에 변환
신호 x[n] = δ[n] 의 이산시간 푸리에 변환은 다음과 같이 구할 수 있다.
F {δ[n]} =
∑∞ n=−∞
δ[n]e−jˆωn= e−jˆω·0= 1. (6.27)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
a n u[n] 의 이산시간 푸리에 변환
신호 x[n] = anu[n] 은 초항이 x[0] = 1 이고 공비가 a 인 무한 등비 수열이다.
F {anu[n]} =
∑∞ n=−∞
anu[n]e−jˆωn=
∑∞ n=0
( ae−jˆω)n
. (6.28)
bn=( ae−jˆω)n
이라고 하면, 수열{bn}은 초항이 b0= 1이고 공비가 ae−jˆω인 무한 등비 수열이다. 이 무한 등비 수열의 합이 유한한 값으로 수렴하기 위한 조건은|ae−jˆω| = |a| < 1이다. 이 경우에 F {anu[n]}은 다음과 같다.
F {anu[n]} = 1
1− ae−jˆω. (6.29) 만약에|a| ≥ 1인 경우에는 x[n] = anu[n] 의 이산시간 푸리에 변환은 존재하지 않는다. 예를 들면, (0.5)nu[n] 이나 (−0.5)nu[n] 의 이산시간 푸리에 변환은 존재하지만, 2nu[n] 이나 (−2)nu[n] 의 이산시간 푸리에 변환은 존재하지 않는다.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
−a n u[ −n − 1]의 이산시간 푸리에 변환
−anu[−n − 1]의 이산시간 푸리에 변환은 다음과 같이 구할 수 있다.
F{−anu[−n − 1]} =
∑∞ n=−∞
{−anu[−n − 1]e−jˆωn}
=−
−∞∑
n=−1
( ae−jˆω)n
. (6.30) 여기에서 m =−n이라 하자. 그러면 F{−anu[−n − 1]}은 다음과 같이 쓸 수 있다.
F{−anu[−n − 1]} = −∑∞
m=1
(
ae−jˆω)−m
. (6.31)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
−a n u[ −n − 1]의 이산시간 푸리에 변환
dm=(
ae−jˆω)−m
이라고 하면, 수열{dm}은 초항이 d1=(
ae−jˆω)−1 이고 공비가(
ae−jˆω)−1
인 무한 등비 수열이 된다. 따라서 이 무한 등비 수열의 합이 유한한 값으로 수렴하기 위한 조건은|(
ae−jˆω)−1
| = 1
|ae−jˆω| = 1
|a| < 1, 즉
|a| > 1이다. 이 경우에 F{−anu[−n − 1]}는 다음과 같다.
F{−anu[−n − 1]} = −
(ae−jˆω)−1
1− (ae−jˆω)−1 =− 1
ae−jˆω− 1= 1
1− ae−jˆω. (6.32) 만약에|a| ≤ 1인 경우에는 x[n] = −anu[−n − 1]의 이산시간 푸리에 변환을 계산할 때의 무한 등비 수열의 합은 수렴하지 않으므로 이 신호의 이산시간 푸리에 변환은 존재하지 않는다.
예를 들면,−2nu[−n − 1]이나 −(−2)nu[−n − 1]의 이산시간 푸리에 변환은 존재하지만,−(0.5)nu[−n − 1]이나 −(−0.5)nu[−n − 1]의 이산시간 푸리에 변환은 존재하지 않는다.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
e −an u[n] 의 이산시간 푸리에 변환
e−anu[n] 은 초항이 1 이고 공비가 e−a인 무한 등비 수열이다.
F{e−anu[n]} =
∑∞ n=−∞
e−anu[n]e−jˆωn=
∑∞ n=0
(
e−ae−jˆω)n
. (6.33)
fn=(
e−ae−jˆω)n
이라고 하면, 수열{fn}은 초항이 f0= 1이고 공비가 e−ae−jˆω 인 무한 등비 수열이 된다. 따라서 이 무한 등비 수열의 합이 유한한 값으로 수렴하기 위한 조건은|e−ae−jˆω| = |e−a| < 1이다. 이 조건을 만족하기 위해서는 a > 0 이어야 한다. 이 경우에 X(ej ˆω)는 다음과 같다.
X(ej ˆω) = 1
1− e−ae−jˆω. (6.34) 만약에 a≤ 0인 경우에는 e−anu[n] 의 이산시간 푸리에 변환은 존재하지 않는다.
예를 들면, e−0.5nu[n] 의 이산시간 푸리에 변환은 존재하지만, e0.5nu[n] 의 이산시간 푸리에 변환은 존재하지 않는다.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
상수의 이산시간 푸리에 변환
모든 n 에 대해서 x[n] = a 라 하면, x[n] = a∑∞
k=−∞δ[n− k]라고 쓸 수 있다.
x[n] 의 이산시간 푸리에 변환은 다음과 같다.
F{a ∑∞
k=−∞
δ[n− k]} = a · 2π ∑∞
k=−∞
δ(ˆω− 2πk). (6.35)
이것을 직접 증명하지 않고 2π∑∞
k=−∞δ(ˆω− 2πk)의 역 이산시간 푸리에 변환을 다음과 같이 구해 보자.
1 2π
∫ π
−π
[ 2π
∑∞ k=−∞
δ(ˆω− 2πk) ]
ej ˆωndˆω =
∫ π
−π
[ ∞
∑
k=−∞
δ(ˆω− 2πk) ]
ej ˆωndˆω.
(6.36) 체질 성질을 이용하면 다음 식을 얻을 수 있다.
[ ∞
∑
k=−∞
δ(ˆω− 2πk) ]
ej ˆωn= [ ∞
∑
k=−∞
δ(ˆω− 2πk) ]
ej2πkn=
∑∞ k=−∞
δ(ˆω− 2πk).
(6.37)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
상수의 이산시간 푸리에 변환
따라서
∫ π
−π
[ ∞
∑
k=−∞
δ(ˆω− 2πk) ]
ej ˆωndˆω =
∫ π
−π
[ ∞
∑
k=−∞
δ(ˆω− 2πk) ]
dˆω =
∫ π
−π
δ(ˆω)dˆω (6.38) 이 되고, 식 (6.36)은 다음과 같이 쓸 수 있다.
1 2π
∫ π
−π
[ 2π
∑∞ k=−∞
δ(ˆω− 2πk) ]
ej ˆωndˆω =
∫π
−π
δ(ˆω)dˆω =
∫ ∞
−∞
δ(ˆω)dˆω = 1.
(6.39)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
u[n] 의 이산시간 푸리에 변환
|a| < 1일 때,
F {anu[n]} = 1
1− ae−jˆω. (6.40) a = 1 일 때, anu[n] = u[n] 의 이산시간 푸리에 변환은 존재하지 않는다.
이제 u[n] 을 다른 방법으로 정의해 보자. 먼저, u1[n]과 u2[n]을 각각 다음과 같이 정의하자.
u1[n] = 1
2, for − ∞ < n < ∞, (6.41) 그러면
F{u1[n]} = π
∑∞ k=−∞
δ(ˆω− 2πk). (6.42)
u2[n] =
1
2, for n≥ 0
−1
2, for n < 0
. (6.43)
그러면 u[n] 은 다음과 같이 쓸 수 있다.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
u[n] 의 이산시간 푸리에 변환
그리고 δ[n] = u2[n]− u2[n− 1]이라고 표현할 수 있다.
F{u2[n]− u2[n− 1]} = U2(ej ˆω)− e−jˆωU2(ej ˆω) = U2(ej ˆω) (
1− e−jˆω) (6.45) 과F{δ[n]} = 1이라는 두 등식으로부터,
U2(ej ˆω) (
1− e−jˆω)
= 1 (6.46)
이 되고 U2(ej ˆω)를 다음과 같이 구할 수 있다.
U2(ej ˆω) = 1
1− e−jˆω. (6.47) 식 (6.44) 의 양변에 이산시간 푸리에 변환을 취하면 다음 식이 성립한다.
U(ej ˆω) = U1(ej ˆω) + U2(ej ˆω) = π
∑∞ k=−∞
δ(ˆω− 2πk) + 1
1− e−jˆω. (6.48)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
이산시간 복소신호의 이산 시간 푸리에 변환
x[n] = ej ˆω0n, −π < ˆω ≤ π. (6.49) 이 신호의 이산시간 푸리에 변환은 다음과 같이 정의된다.
X(ej ˆω) =
∑∞ n=−∞
ej ˆω0ne−jˆωn=
∑∞ n=−∞
e−j(ˆω−ˆω0)n. (6.50)
이 급수는 수렴하지 않기 때문에 이산시간 푸리에 변환을 구할 수 없다. 예를 들어서, X(ej ˆω0)를 살펴 보자.
X(ej ˆω0) =
∑∞ n=−∞
1 =∞. (6.51)
ˆ
ω̸= ˆω0인 경우에는 복소 지수 신호가 진동하는 주기 신호이므로, 무한 급수가 수렴하지 않는다.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
이산시간 복소신호의 이산 시간 푸리에 변환
그러나 디락 델타 신호 δ(ˆω)를 이용하여 다음과 같은 방법으로 이산시간 복소 지수 신호의 이산시간 푸리에 변환을 구할 수 있다. 디락 델타 신호는 다음과 같이 정의한다.
δ(ˆω) =
+∞, ˆω = 0
0, ωˆ̸= 0, (6.52)
∫ ∞
−∞
δ(ˆω)dˆω =
∫ 0+
0− δ(ˆω)dˆω = 1. (6.53)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
이산시간 복소신호의 이산 시간 푸리에 변환
3 장의 식 (3.50) 을 다시 써 보자.
∫∞
−∞
f(t)δ(t− t0)dt =
∫ t+0 t−0
f(t)δ(t− t0)dt = f(t0). (6.54)
이 식을 이용하면 다음 식이 성립하는 것을 알 수 있다.
∫π
−π
ej ˆωnδ(ˆω− ˆω0)dˆω = ej ˆω0n (6.55)
이 식으로부터 다음 식을 유도할 수 있다.
x[n] = ej ˆω0n= 1 2π
∫ π
−π
2πδ(ˆω− ˆω0)ej ˆωndˆω (6.56)
이 식으로부터 2πδ(ˆω− ˆω0)의 역 이산시간 푸리에 변환이 ej ˆω0n인 것을 알 수 있고, 다음 변환쌍을 얻을 수 있다.
ej ˆω0n←→ 2πF ∑∞
δ(ˆω− ˆω0− 2πk). (6.57)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
이산시간 정현파 신호의 이산 시간 푸리에 변환
A cos(ˆω0n + ϕ)←→F Aπejϕ
∑∞ k=−∞
δ(ˆω− ˆω0− 2πk) + Aπejϕ
∑∞ k=−∞
δ(ˆω + ˆω0− 2πk). (6.58)
A sin(ˆω0n + ϕ)←→F Aπ
j ejϕ
∑∞ k=−∞
δ(ˆω− ˆω0− 2πk) −Aπ j ejϕ
∑∞ k=−∞
δ(ˆω + ˆω0− 2πk). (6.59)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT와 DTFT 사이의 관계
0≤ n < N 이외의 구간에서는 0인 신호 x[n]을 생각해 보자.
X[k] :=F{x[n]} =
N∑−1 n=0
˜x[n]e−j2πNnk, k = 0, 1,· · · , N − 1.
X[k] 도 주기가 N 인 주기신호이다. 즉, X[k] = X[k + mN], m 은 정수.
X(ej ˆω) =
∑∞ n=−∞
x[n]e−jˆωn=
N∑−1 n=0
˜x[n]e−jˆωn.
X(ej ˆω)는 주기가 2π 인 주기신호이다. 즉, X(ej ˆω) = X(ej( ˆω+2πm)), m은 정수.
X(ej ˆω)
ˆ ω=2πNk=
N∑−1 n=0
˜x[n]e−j2πNnk= X[k], k = 0, 1,· · · , N − 1.
이 식이 의미하는 것은 주기가 2π 인 주기 함수 X(ej ˆω)를 0≤ ˆω < 2π 를 N개의 등간격으로 나누어 샘플링한 것이 ˜x[n] 의 DFT인 X[k] 라는 것이다.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT와 DTFT 사이의 관계 확인
예제 6.3 (DFT와 DTFT 사이의 관계 확인)
x[n] ={1, 1, 1, 1, 0, 0, 0, 0}의 DTFT를 직접 구하고, 구한 식의 실수부와 허수부를 각각matplotlib.pyplot 모듈의plot( ) 함수를 이용하여 그려보자.
단, [0, 2π] 사이의 구간을 128 개의 샘플을 취하여 그려보자.
또한 x[n], 0≤ n < 8,을 한 주기로 하는 주기 신호 x[n]의 DFT X[k], 0 ≤ k < 8, 를scipy.fftpack 모듈의fft( ) 함수를 사용하여 구하고, stem( ) 함수를 사용하여 위에서 구한 DTFT 그래프와 겹쳐서 그려보자. 이 때 8 개의 값 X[k]
를 [0, 2π] 사이에 균등하게 배치해야 한다.
x[n] 의 이산시간 푸리에 변환은 다음과 같이 구할 수 있다.
X(ej ˆω) =
∑∞ n=−∞
x[n]e−jˆωk
= 1 + e−jˆω+ e−j2ˆω+ e−j3ˆω
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT와 DTFT 사이의 관계 확인
import numpy as np
import matplotlib.pyplot as plt
n=
np.arange(8)x
=
np.array([1,1, 1, 1, 0, 0, 0, 0])
w=
np.linspace(0,2*np.pi,128)Xejw
= 1 +
np.exp(-1j*w)+ np.exp(-1j*2*w)+ np.exp(-1j*3*w) k=
n*2*np.pi/8; Xk=
np.fft.fft(x)plt.subplot(211)
plt.plot(w, Xejw.real); plt.stem(k, Xk.real,'r') plt.xlim(0,
2*np.pi)
plt.xticks([0, np.pi,
2*np.pi], ["0", "$\pi$", "$2\pi$"])
plt.subplot(212)plt.plot(w, Xejw.imag); plt.stem(k, Xk.imag,'r') plt.xlim(0,
2*np.pi)
plt.xticks([0, np.pi,
2*np.pi], ["0", "$\pi$", "$2\pi$"])
plt.tight_layout()Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT와 DTFT 사이의 관계 확인
0
π 2π0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 4.0 3.5
0
π 2π3 2 1 0 1 2 3
그림 6.1:이산시간 푸리에 변환과 이산 푸리에 변환의 관계. 위의 것이 크기 아래 것이 위상 그래프.
파란색 실선 그래프는 DTFT, 빨간색 줄기 그래프는 DFT.
X[k] = X(ej ˆω) , k = 0, 1,· · · , N − 1. (6.60)
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT의 영 연장 기법
길이가 N 인 신호 x[n] 에 N 개의 0을 덧붙여서 만든 신호 y[n] 을 생각해 보자.
y[n] ={x[0], x[1], · · · , x[N − 1], 0, 0, · · · , 0}. (6.61) Y[k] 는 다음과 같다.
Y[k] =
2N∑−1 n=0
y[n]e−j2π2Nnk=
N∑−1 n=0
x[n]e−j2πNn(k/2)= X [k
2 ]
. (6.62)
Y[k] 는 X[k] 에 비해서 주파수 영역에서 샘플의 갯수가 2 배가 되고, 결과적으로 주파수 영역에서 해상도가 2 배 증가한 신호이다
Python에서 주어진 신호 x[n]에 N 개의 0을 추가하는 방법은 Numpy 모듈의 repeat() 또는 zeros()와 append 함수를 이용하여 구현할 수 있다.
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT의 영 연장 기법
import numpy as np
import matplotlib.pyplot as plt
x1
=
np.array([1,1, 1, 1, 0, 0, 0, 0])
n1=
np.arange(x1.size)x2
=
np.append(x1, np.repeat(0, n1.size)) n2=
np.arange(x2.size)x3
=
np.append(x2, np.repeat(0, n2.size)) n3=
np.arange(x3.size)w
=
np.linspace(0,2*np.pi,128) Xk1=
np.fft.fft(x1)Xk2
=
np.fft.fft(x2) Xk3=
np.fft.fft(x3) k1=
n1*2*np.pi/n1.size k2=
n2*2*np.pi/n2.size k3=
n3*2*np.pi/n3.sizePython 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT의 영 연장 기법
plt.subplot(311)
plt.stem(k1, np.abs(Xk1)) plt.xlim(0,
2*np.pi)
plt.xticks([0, np.pi,
2*np.pi], ["0", "$\pi$", "$2\pi$"])
plt.subplot(312)plt.stem(k2, np.abs(Xk2)) plt.xlim(0,
2*np.pi)
plt.xticks([0, np.pi,
2*np.pi], ["0", "$\pi$", "$2\pi$"])
plt.subplot(313)plt.stem(k3, np.abs(Xk3)) plt.xlim(0,
2*np.pi)
plt.xticks([0, np.pi,
2*np.pi], ["0", "$\pi$", "$2\pi$"])
plt.tight_layout()plt.show()
Python 과 함께 배우는 신호
해석 박섭형
유한 길이 신호의 이산시간 푸리에 변환 주요 이산시간 신호의 푸리에 변환 쌍 DFT와 DTFT 사이의 관계
DFT의 영 연장 기법
0
π 2π0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
0
π 2π0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
0
π 2π0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
그림 6.2:길이가 4인 신호에 각각 0을 채워서 길이가 8, 16, 32로 만든 후에 구한 스펙트럼의 크기 비교.