이산시간 푸리에 변환 문서 원본 보기
←
이산시간 푸리에 변환
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{위키데이터 속성 추적}} '''이산시간 푸리에 변환'''('''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>, 여기서 <math>L\,</math>은 수정된 시퀀스의 길이이다. 이것은 수정 전 시퀀스에 대한 스펙트럼의 편리한 근사치로 사용된다. 이것에 의하여 해상도가 나쁘게 되지만, L 을 증가시켜 개선할 수 있다. <math>X(\omega)</math>를 (2π)의 1주기상에 일정하게 분포하는 임의의 <math>(N)</math>개의 주파수로 평가하는 것이 일반적이다. :<math>\omega_k = \frac{2 \pi }{N} k\,</math>, 여기서 <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>, 왜냐하면 <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|url=https://archive.org/details/discretetimesign00alan|성=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 | year = 1997 | url = https://archive.org/details/courseindigitals0000pora | publisher = John Wiley and Sons | id = ISBN 0-471-14961-6 | pages = pp. 27-29 and 104-105 }} [[분류:푸리에 해석학]] [[분류:신호 처리]] [[분류:디지털 신호 처리]] [[분류:변환 (수학)]]
이 문서에서 사용한 틀:
틀:서적 인용
(
원본 보기
)
틀:위키데이터 속성 추적
(
원본 보기
)
이산시간 푸리에 변환
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보