{{위키데이터 속성 추적}}
'''이산시간 푸리에 변환'''('''Discrete-time Fourier transform''', '''DTFT''')은 [[푸리에 변환]]의 일종이다. 따라서, [[시간 영역|시간 도메인]] 영역의 함수를 [[주파수 영역|주파수 도메인]]의 [[함수]]로 변환한다. DTFT에서 변환전의 원래 함수는 이산적인 값의 수열인데, 이러한 [[이산수열]]은 연속함수의 [[표본화|샘플링]]에 의하여 생성된다.

DTFT의 주파수 도메인에서의 표현은 항상 주기적인 함수이다. 따라서 하나의 주기에 필요한 정보가 모두 포함되어 있으므로 DTFT를 "유한" 주파수 영역으로의 변환으로 부르기도 한다.

== 정의 ==
실수 또는 복소수의 이산집합  <math>x[n], \; n\in\mathbb{Z}</math>([[정수]])가 주어졌을 때, <math>x[n]\,</math>의 '''이산시간 푸리에 변환'''(DTFT)은 다음과 같이 표시된다.

:<math>X(\omega) = \sum_{n=-\infty}^{\infty} x[n] \,e^{-i \omega n}</math>


== 샘플링과의 관계 ==
이름이 암시하듯이, {x[n]}은 연속시간함수  <math>x(t)\,</math>의 [[표본]] 값을 나타낸다. 이 [[샘플링]] 간격을 <math>T\,</math>로 할 때, 각 표본 값의 샘플링 시간 <math>t = nT\quad</math>이고, <math>1/T = f_s\,</math>가 [[샘플링 레이트|샘플링 주파수]]가 된다. DTFT은 아래의 연속시간 [[푸리에 변환]]과 유사하다.

:<math> X(f) = \int_{-\infty}^\infty x(t)\cdot e^{- i 2\pi f t}\,dt </math>

[[표본화 정리|샘플링 정리]]에서 나타나듯이, 다음과 같은 [[콤 함수]](comb function) [[변조]]에 <math>x(nT)\,</math>의 값을 사용하는 것으로도 볼 수 있다.

:<math>\Delta_T(t) = T\sum_{n=-\infty}^{\infty} \delta(t - nT) \ </math>


이 경우 얻어지는 함수의 푸리에 변환은, <math>f_s \,</math>의 간격으로 중첩된 <math>X(f)\,</math>의 복사본의 총합이 된다.

:<math>X_\mathrm{T}(f) = \sum_{k = -\infty}^{\infty} X(f - {k f_s}) </math>

아래에서 보이듯이, 이것은 주기함수의 DTFT이다. 그리고 어떤 명백한 조건하에서 k=0 항에서는 다른 항으로부터의 왜곡([[위신호]], 앨리아싱)이 거의 관측되지 않는다.  변조된 콤 함수(comb function)는 아래와 같다.

:<math>x_\mathrm{T}(t) = T \sum_{n=-\infty}^{\infty} x(nT)\, \delta(t - n T)</math>

따라서,

{|
|<math> X_\mathrm{T}(f)\,</math>
|<math>= \int_{-\infty}^\infty \left[T \sum_{n=-\infty}^{\infty} x(nT)\, \delta(t - n T)\right] e^{- i 2\pi f t}\,dt </math>
|-
|
|<math>= \sum_{n=-\infty}^{\infty} T\cdot x(nT) \int_{-\infty}^\infty \left[\delta(t - n T)\cdot e^{- i 2\pi f t}\right]\,dt </math>
|-
|
|<math>= \sum_{n=-\infty}^{\infty} T\cdot x(nT) \cdot e^{- i 2\pi f n T} \,</math>
|-
|}

이때 아래와 같은 관계가 성립한다.

:<math>x[n] = T\cdot x(nT)\,</math>
:<math>\omega = 2\pi f T = 2\pi \left( \frac{f}{f_s}\right) \,</math>

즉  <math>X_\mathrm{T}(f)\,</math>는 <math>X(\omega)\,</math> 와 같다.

여기서, <math>f\,</math>는 통상의 주파수(단위 시간당 또는 사이클의 수)이고, <math>f_s\,</math>는 샘플링 주파수(단위 시간당의 표본수)이므로, <math>f/f_s\,</math>는 "표본당의 주파수"를 의미한다. 이것을 정규화 주파수(normalized frequency)라고 한다. 위에서 정의된  <math>\omega\,</math>도 정규화 주파수이자만, 여기서의 단위는 "표본당 [[라디안]]"이다. 정규화 주파수는 기간 <math>2\pi</math>의 주기성을 가지는 함수 <math>x(\omega)</math>로 표현되는 특징이 있다.  이 때문에, 역변환에서는 <math>2\pi</math>의 기간에서만 값을 구하여도 된다.

== 주기성 ==
<math>x(t)\,</math>의 샘플링에 의하여 이산시간 푸리에 변환의 스펙트럼(DTFT)은 주기적으로 된다. 통상의 주파수 <math>f\,</math>(단위 시간당의 주기수)에서 그 주기는 샘플링 주파수 <math>f_s\,</math>이다. 정규화 주파수 <math>f / f_s\,</math>(표본당 주기수)에서는 그 주기는  <math>1</math>이다. <math>\omega\,</math>(샘플당 라디안)에서, 그 주기는  <math>2\pi</math>이고, <math>e^{-i \omega n}\,</math> 의 주기성을 직접 따른다. 즉,

:<math>e^{-i (\omega + 2\pi k) n} = e^{-i \omega n}\,</math>

이고, 여기서 n, k는 임의의 정수이다. 따라서,

:<math>X(\omega + 2\pi k) = X(\omega)\,</math>

로 된다. DTFT <math>X(\omega)\,</math> 의 다른 표기 <math>X(e^{i \omega})\,</math>는 아래의 특징이 있다.

# 주기성을 강조하고 있다.
# DTFT와 원래 <math>x(t)\,</math>의 푸리에 변환 <math>X(f)\,</math>（또는 <math>X(\omega)\,</math>）과의 차이를 명확하게 한다.
# DTFT 와 [[Z변환|Z-변환]] 과의 관계를 강조하고 있다.

다만, 실제는 주파수 영역의 방법으로 DTFT를 형성한 때에는 그 유사성이 불명확하게 된다. 따라서 아래 표에서도 사용하고 있듯이 <math>X(\omega)\,</math>의 표기도 사용한다.

== 역변환 ==
다음과 같은 역변환에 의하여 원래의 이산시간 시퀀스를 복원 할 수 있다.

{|
|<math>x[n]\,</math>
|<math>= \frac{1}{2 \pi}\int_{-\pi}^{\pi} X(\omega)\cdot e^{i \omega n} \, d \omega</math>
|-
|
|<math>= T \int_{-\frac{1}{2T}}^{\frac{1}{2T}} X_T(f)\cdot e^{i 2 \pi f nT}\, df</math>
|}

적분구간은 DTFT의 1주기 전체로, 이것은 {x[n]}의 표본군이 DTFT 의 [[푸리에 급수]] 전개의 계수로도 된다는 것을 보여주고 있다. 무한구간의 적분에서는 이 변환이 통상의 [[푸리에 변환]]의 역변환으로 되어, [[디랙]]의 [[델타 함수]]도 복원된다. 즉 아래와 같이 된다.

:<math>\int_{-\infty}^\infty X_T(f)\cdot e^{i 2 \pi f t}\, df \ = \ x_T(t) \ =\ \sum_{n=-\infty}^{\infty} x[n]\cdot \delta(t - n T)</math>

== 유한 시퀀스 ==
DTFT의 수치해석에서는 유한 시퀀스가 명확하게 필요하다. 실제로는 긴 시퀀스가 [[구형파]]의 창문함수로 수정되어 아래와 같이 된다.

:<math>X(\omega) = \sum_{n=0}^{L-1} x[n] \,e^{-i \omega n}\,</math>, &nbsp; 여기서 <math>L\,</math>은 수정된 시퀀스의 길이이다.

이것은 수정 전 시퀀스에 대한 스펙트럼의 편리한 근사치로 사용된다. 이것에 의하여 해상도가 나쁘게 되지만, L 을 증가시켜 개선할 수 있다.

<math>X(\omega)</math>를 (2π)의 1주기상에 일정하게 분포하는 임의의 <math>(N)</math>개의 주파수로 평가하는 것이 일반적이다.

:<math>\omega_k = \frac{2 \pi }{N} k\,</math>, &nbsp; &nbsp; 여기서 <math>k =  0, 1, \dots, N-1 \,</math>

따라서, 다음과 같이 얻어진다.

:<math>X[k] = X(\omega_k) = \sum_{n=0}^{L-1} x[n] \,e^{-i 2 \pi \frac{k}{N} n}</math>

<math>N \ge L\,</math>일때, 다음과 같이 나타낸다.

:<math>X[k] = \sum_{n=0}^{N-1} x[n] \,e^{-i 2 \pi \frac{k}{N} n}</math>, &nbsp; 왜냐하면 <math>n \ge L\,</math> 에 대하여 <math>x[n] = 0\,</math> 로 정의되기 때문이다.

이와 같이 변형하면, <math>X[k]\,</math> 시퀀스는 [[이산 푸리에 변환]](DFT)으로 된다. <math>N</math>은 DTFT를 샘플링할 때의 해상도로 정의되고, <math>L</math>은 DTFT 자체의 고유해상도이다. 따라서, 통상 이것은 거의 동일한 값이다. <math>N > L</math>을 선택하는 것이 일반적이지만, 값이 0인 항을 총합에 포함하는 이유는, DFT을 계산하는 [[고속 푸리에 변환]] 알고리즘을 이용하기 위한 것이다. 그것을 강조하는 경우, "제로 패딩 DFT" 또는"내삽 DFT"로 부른다. 그러나, 값이 0 인 항을 사용하지 않고 단순하게 계산하여도 완전히 동일한 DFT가 얻어진다. <math>N < L</math>의 경우의 DTFT도 계산할 수 있는데 이 경우에는 DFT와 등가는 아니다.

<math>N > L</math>이 일반적이라는 것을 보이기 위하여, 아래의 시퀀스를 생각해 보자.

:<math>x[n] = e^{i 2\pi \frac{1}{8} n}</math>, 여기서 <math>L=64</math>

아래와 같은 2 개의 그림은 설명과 같이 상이한 크기의 DFT를 표시한 것이다. 양쪽 모두 지배적인 주파수 성분은  <math>f = \begin{matrix} \frac{1}{8}\end{matrix} = 0.125\,</math>이다. 오른쪽 그림에 나타난 패턴은 <math>L=64</math> 의 구형 창함수의 [[스펙트럼 누설]](spectrum leakage)이다. 좌측 그림은 이와 같이 되는 것은, 우측 그림의 0과 교차점을 표본화한 점이 중첩되어 있는 결과이다. 이것은 유한 길이 시퀀스의 DTFT라기 보다는 무한히 계속되는 [[정현파]](사인파)와 같은 인상을 준다. 이러한 그림에 의한 원인은, 구형 창함수의 사용과, 64개의 표본당 8개의 정수개의 주기로 되는 주파수를 선택한 때문이다(<math>\begin{matrix} \frac{1}{8}\end{matrix} = \begin{matrix} \frac{8}{64}\end{matrix}</math>).

{| style="margin-bottom: 10px;"
|[[파일:No-zeropad.png|없음|섬네일|350x350픽셀|L=64 과 N=64 의 DFT]]
|[[파일:Zeropad.png|없음|섬네일|350x350픽셀|L=64 과 N=256 의 DFT]]
|}

== 기타 푸리에 변환와의 차이 ==
기본적으로 DTFT 은 [[푸리에 급수]]의 역이고, 후자는 계속적이지만 주기적인 입력과 이산 스펙트럼을 가지고 있다. 이러한 2개의 변환의 응용은 완전히 상이하다.

DFT 와 DTFT은 표준적인 연속 푸리에 변환을 이산적 데이터에 적용하고자 하여 자연적으로 발생한 것으로 볼 수도 있다. 이러한 관점에서 단순히 입력 형식이 상이하다는 것뿐이고 변환 자체는 동일하다.

* 입력이 이산적이면, 푸리에 변환은 DTFT로 된다.
* 입력이 주기적이라면, 푸리에 변환은 푸리에 급수가 된다.
* 입력이 이산적, 주기적이면, 푸리에 변환은 DFT로 된다.

== Z-변환과의 관계 ==
DTFT는 [[Z변환|Z-변환]]의 특수한 경우이다. 양자 Z-변환은 아래와 같이 정의된다.

:<math>X(z) = \sum_{n=-\infty}^{\infty} x[n] \,z^{-n}</math>


DTFT는 <math>z = e^{i \omega}\,</math>인 경우로 이때, <math>|e^{i \omega}| = 1\,</math>인데 이것은 [[복소수|복소평면]]에서의 [[단위원|단위 원]] 부근에서의 [[Z변환|Z-변환]]이다.

== 이산시간 푸리에 변환표 ==
다음 표는 전형적인 변환을 보여주는 것이다.

* <math>n \!</math> 은 이산시간 영역(표본)을 표현하는 정수이다.
* <math>\omega \!</math>는 <math>(-\pi,\ \pi)</math>의 범위내의 실수이고, 연속 각주파수(표본당의 라디안)을 나타낸다.
** 그 이외 <math>(|\omega| > \pi \,)</math> 의 변환은 <math>X(\omega + 2\pi k) = X(\omega)\,</math> 로 정의된다.
* <math>u[n] \!</math> 은 이산시간 [[단위 계단 함수]]이다.
* <math>\operatorname{sinc}(t) \!</math>은 정규화 [[싱크 함수]]이다.
* <math>\delta (\omega) \!</math> 은 [[디랙 델타 함수]]이다.
* <math>\delta [n] \!</math> 은 [[크로네커 델타]] <math>\delta_{n,0} \!</math>이다.
* <math> \operatorname{rect}(t) </math> 은, 임의의 실수값 ''t''에 관한 아래와 같은 [[구형함수]]이다.
** <math>\mathrm{rect}(t) = \sqcap(t) = \begin{cases}
0           & \mbox{if } |t| > \frac{1}{2} \\[3pt]
\frac{1}{2} & \mbox{if } |t| = \frac{1}{2} \\[3pt]
1           & \mbox{if } |t| < \frac{1}{2}
\end{cases} </math>
* <math>\operatorname{tri}(t) </math>는 임의의 실수치 ''t''에 관한 아래와 같은 [[삼각형 함수]]이다.
** <math>\operatorname{tri}(t) = \land (t) = 
\begin{cases}
1 + t; & - 1 \leq t \leq 0 \\
1 - t; & 0 < t \leq 1 \\
0 & \mbox{otherwise}
\end{cases} </math>

{| class="wikitable" style="margin-bottom: 44px;"
!시간영역 <br /> <math> x[n] \, </math>
!주파수영역 <br /><math>  X(\omega) \, </math>
!비고
|-
|<math>\delta [n] \!</math>
|<math>1 \!</math>
|
|-
|<math>\delta [n - M] \!</math>
|<math>e^{-i \omega M} \!</math>
|''M'' 은 정수
|-
|<math>\sum_{m = -\infty}^{\infty} \delta[n - M m] \,</math>
|<math>\sum_{m = -\infty}^{\infty} e^{-i \omega M m} = \frac{1}{M}\sum_{k = -\infty}^{\infty} \delta \left( \frac{\omega}{2\pi} - \frac{k}{M} \right) \,</math>
|''M'' 은 정수
|-
|<math>u[n]\!</math>
|<math>\frac{1}{1-e^{-i \omega}} \!</math>
|
|-
|<math>e^{-ian} \!</math>
|<math> 2\pi \delta (\omega + a)  \, </math>
|''a''는 실수
|-
|<math>\cos (a n) \!</math>
|<math>\pi \left[ \delta (\omega - a) + \delta (\omega + a) \right]</math>
|''a''는 실수
|-
|<math>\sin (a n) \!</math>
|<math>\frac{\pi}{i} \left[ \delta (\omega - a) - \delta ( \omega + a) \right]</math>
|''a''는 실수
|-
|<math> \mathrm{rect} \left[ { ( n - M/2 ) \over M  } \right] </math>
|<math> { \sin[ \omega (M+1) / 2 ] \over \sin( \omega / 2 ) } \,  e^{ -i \omega M / 2 }</math>
|''M''는 정수
|-
|<math>\operatorname{sinc} [(a + n)]</math>
|<math>e^{i a \omega} \!</math>
|''a''는 실수
|-
|<math>W\cdot \operatorname{sinc}^2(W n)\,</math>
|<math>\operatorname{tri} \left( { \omega \over 2\pi W } \right)</math>
|real number ''W''<br /><math>0 < W \le 0.5</math>
|-
|<math>W\cdot \operatorname{sinc} [ W (n + a)]</math>
|<math>\operatorname{rect} \left( { \omega \over 2\pi W } \right) \cdot e^{j a \omega}</math>
|''W'', ''a''는 실수<br /><math>0 < W \le 1</math>
|-
|<math>
\begin{cases}
0 & n=0 \\
\frac{(-1)^n}{n} & \mbox{elsewhere}
\end{cases}
</math>
|<math>j \omega</math>
|미분회로 필터로서 기능한다.
|-
|<math>\frac{W}{(n + a)} \left\{ \cos [ \pi W (n+a)] - \operatorname{sinc} [ W (n+a)] \right\}</math>
|<math>j \omega \cdot \operatorname{rect} \left( { \omega \over \pi W } \right) e^{j a \omega}</math>
|''W'',''a''는 실수<br /><math>0 < W \le 1</math>
|-
|<math>\frac{1}{\pi n^2} [(-1)^n - 1]</math>
|<math>| \omega | \!</math>
|
|-
|<math>
\begin{cases}
0; & n \mbox{ odd} \\
\frac{2}{\pi n} ; & n \mbox{ even}
\end{cases}
</math>
|<math>
\begin{cases}
j & \omega < 0 \\
0 & \omega = 0 \\
-j & \omega > 0
\end{cases}
</math>
|[[힐베르트 변환]]
|-
|<math>\frac{C (A + B)}{2 \pi} \cdot \operatorname{sinc} \left[ \frac{A - B}{2\pi} n \right] \cdot \operatorname{sinc} \left[ \frac{A + B}{2\pi} n \right]</math>
|[[파일:Trapezoid signal.png|250x250픽셀]]
|''A'', ''B''는 실수 <br /> ''C''는 복소수
|}

== 특성 ==
아래의 표는 일반적인 이산시간 푸리에변환을 나타내는 것이다. 다음과 같은 표기법이 사용된다.

* <math>*\!</math>는 2개 신호의 [[콘볼루션]](convolution)을 의미한다.
* <math>x[n]^*\!</math>는 함수 ''x[n]''의 [[켤레 복소수]](complex conjugate)이다.
* <math>\rho_{xy} [n]\!</math>는 ''x[n]''과 ''y[n]''의 [[크로스 코릴레이션]](cross correlation)을 표시한다.

첫 번째 열은 속성의 설명, 두번째는 시간영역에서의 함수의 표현, 세번째 열은 주파수 도메인에서 스펙트럼 표현이다.

{| class="wikitable" style="margin-bottom: 12px;"
!특성
!시간영역 <math>x[n] \!</math>
!주파수영역  <math>X(\omega) \!</math>
!비고
|-
|선형성
|<math>a x[n] + b y[n] \!</math>
|<math> a X(e^{i \omega}) + b Y(e^{i \omega}) \!</math>
|
|-
|시간에서 시프트
|<math>x[n - k] \!</math>
|<math>X(e^{i \omega}) e^{-i \omega k} \!</math>
|''k''는 정수
|-
|주파수에서의 시프트(변조)
|<math>x[n]e^{ian} \!</math>
|<math>X(e^{i (\omega-a)}) \!</math>
|''a''는 실수
|-
|시간 역전
|<math>x[- n] \!</math>
|<math>X(e^{-i \omega}) \!</math>
|
|-
|시간 공역
|<math>x[n]^* \!</math>
|<math>X(e^{-i \omega})^* \!</math>
|
|-
|시간역전과 공역
|<math>x[-n]^* \!</math>
|<math>X(e^{i \omega})^* \!</math>
|
|-
|주파수에서의 미분
|<math>\frac{n}{i} x[n] \!</math>
|<math>\frac{d X(e^{i \omega})}{d \omega} \!</math>
|
|-
|주파수에서의 적분
|<math>\frac{i}{n} x[n] \!</math>
|<math>\int_{-\pi}^{\omega} X(e^{i \vartheta}) d \vartheta \!</math>
|
|-
|시간에서의 콘볼루션
|<math>x[n] * y[n] \!</math>
|<math>X(e^{i \omega}) \cdot Y(e^{i \omega}) \!</math>
|
|-
|시간에서의 곱
|<math>x[n] \cdot y[n] \!</math>
|<math>\frac{1}{2 \pi} X(e^{i \omega}) * Y(e^{i \omega}) \!</math>
|
|-
|크로스 코릴레이션
|<math>\rho_{xy} [n] = x[-n]^* * y[n] \!</math>
|<math>R_{xy} (\omega) = X(e^{i \omega})^* \cdot Y(e^{i \omega}) \!</math>
|
|}

== 대칭성 ==
푸리에 변환은 실수성분과 허수성분으로 분리할 수 있다.

:<math>X(e^{i \omega}) = X_R(e^{i \omega}) + iX_I(e^{i \omega}) \!</math>

또한, 짝수성분과 홀수성분으로 분리할 수 있다.

:<math>X(e^{i \omega}) = X_E(e^{i \omega}) + X_O(e^{i \omega}) \!</math>


{| class="wikitable"
|-
!시간 영역 <br><math>x[n] \!</math>
!주파수 영역 <br><math>X(e^{i \omega}) \!</math>
|-
| <math>x^*[n]\!</math>
| <math>X^*(e^{-i \omega}) \!</math>
|-
| <math>x^*[-n]\!</math>
| <math>X^*(e^{i \omega}) \!</math>

|}


== 참고 문헌 ==

* {{서적 인용|제목=Discrete-Time Signal Processing|성=Alan V. Oppenheim and Ronald W. Schafer|날짜=1999|판=2nd Edition|출판사=Prentice Hall Signal Processing Series|id=ISBN 0-13-754920-2}}
* {{서적 인용| author = William McC. Siebert | title = Circuits, Signals, and Systems | date = 1986 | publisher = MIT Press | location = MIT Electrical Engineering and Computer Science Series.  Cambridge, MA }}
* {{서적 인용| author = Boaz Porat | title = A Course in Digital Signal Processing | publisher = John Wiley and Sons | id = ISBN 0-471-14961-6 | pages = pp. 27-29 and 104-105 }}

[[분류:푸리에 해석학]]
[[분류:신호 처리]]
[[분류:디지털 신호 처리]]
[[분류:변환 (수학)]]