이산 푸리에 변환
📂푸리에해석이산 푸리에 변환
빌드업
f가 특정한 간격마다 측정되는 어떤 물리적인 신호라고 하자. 그러면 현실적인 조건을 생각해봤을 때, 신호가 측정되기 시작하는 순간 t=0와 측정이 끝나는 순간 t=Ω가 존재할테니 f의 함숫값은 [0,Ω]를 제외한 곳에서 모두 0이라 가정할 수 있다.
주파수 샘플링 정리
f^∈L2이고 f(t)=0 for t∈[0,2Ω]라고 가정하자. 그러면 f^(ω)는 mπ/Ω(m=0,±1,±2,…)에서의 값들로 결정된다. 즉 다음이 성립한다.
f^(ω)=m=−∞∑∞f^(Ωmπ)Ωω−mπsin(Ωω−mπ)
그러면 f의 값이 길이가 Ω인 구간 [0,Ω]에만 존재하므로, 샘플링 정리에 의해서 f^의 값은 이산 간격의 f^(Ω/2πm)=f^(Ω2πm)들에 의해 결정된다는 것을 알 수 있다. 이 값을 계산해보면, 푸리에 변환의 정의에 의해서 다음과 같다.
f^(Ω2πm)=∫−∞∞f(x)e−i(2πm/Ω)xdx=∫0Ωf(x)e−i(2πm/Ω)xdx
여기서 [0,Ω]를 N개의 구간들로 쪼갠다고 생각해보자. 그러면 쪼갠 구간의 왼쪽 끝점들은 다음과 같다.
0,N1Ω,N2Ω,…,NnΩ,…,N(N−1)Ω
구분구적법을 생각해보면 위의 점들에서의 함숫값과 각 구간의 길이 NΩ를 곱해서 모두 더하면 적분값과 비슷할거라는 것을 알 수 있다.
f^(Ω2πm)=∫0Ωf(x)e−i(2πm/Ω)xdx≈n=0∑N−1e−i2πmn/Nf(NnΩ)NΩ
여기서 an=f(nΩ/N)이라고 하면 위 식은 다음과 같다.
ΩNf^(Ω2πm)≈n=0∑N−1e−i2πmn/Nan
이제 a^m=∑n=0N−1e−i2πmn/Nan라고 하면 위 식은 다음과 같다.
ΩNf^(Ω2πm)≈a^m
여기서 e−2πin=1이므로,
e−2πi(m+N)n/N=e−2πimn/Ne−2πin=e−2πimn/N
가 성립하고 a^m은 N의 주기를 갖는다.
a^m+N=a^m
이제 자연스럽게 N차원 벡터 a=(a0,a1,…,aN−1)∈CN으로부터 N차원 벡터 a^=(a^0,a^1,…,a^N−1)∈CN로의 매핑을 생각할 수 있다. N-포인트 이산 푸리에 변환discrete Fourier transform, DFT을 다음과 같이 정의하자.
정의
다음과 같이 정의되는 선형변환 FN:CN→CN을 이산 푸리에 변환이라 한다.
FN(a)=a^,a^m=n=0∑N−1e−i2πmn/Nan(0≤m<N)
이때 a=(a0,a1,…,aN−1), a^=(a^0,a^1,…,a^N−1)∈CN이다.
설명
이산 신호를 많이 다루는 신호처리signal processing 등에서는 흔히 시간 도메인 신호를 x, 주파수 도메인의 신호를 X로 표기한다.
x[n]=xn=k=0∑N−1X[k]
같이보기