离散时间傅里叶变换

在數學中，**離散時間傅立葉轉換**（**DTFT**，**D**iscrete-**t**ime **F**ourier **T**ransform）是傅立葉分析的一種形式，適用於連續函數的均勻間隔取樣。_離散時間_是指對取樣間隔通常以時間為單位的離散數據（樣本）的轉換。僅根據這些樣本，它就可以產生原始連續函數的連續傅立葉轉換的週期求和的以頻率為變數的函數。在取樣定理所描述的一定理論條件下，可以由 DTFT 完全恢復出原來的連續函數，因此也能從原來的離散樣本恢復。DTFT 本身是頻率的連續函數，但可以通過離散傅立葉轉換（DFT）很容易計算得到它的離散樣本（參見對 DTFT 取樣），而 DFT 是迄今為止現代傅立葉分析最常用的方法。

這兩種轉換都是可逆的。離散時間傅立葉反轉換得到的是原始取樣數據序列。離散傅立葉反轉換是原始序列的週期求和。快速傅立葉轉換（FFT）是用於計算 DFT 的一個週期的算法，而它的反轉換會產生一個週期的離散傅立葉反轉換。

## 定義

一組離散的實數或複數：_x_[_n_]（_n_ 為所有整數）的離散時間傅立葉轉換是產生以頻率為變數的週期函數的一個傅立葉級數。當頻率變數 ω 的單位是歸一化的_弧度 / 樣本_時，週期為 2π，而傅立葉級數為：

　
:

此頻率域函數的性質源於卜瓦松求和公式。令 X (f) 為任意函數 x (t) 的傅立葉轉換，取樣間隔為 T（_秒_），等價於序列 x [n]（或與之成正比），即 $T\cdot x(nT)=x[n]$ 。則以傅立葉級數表示的週期函數是 X (f) 的週期求和。要用以赫茲（_週期 / 秒_）為單位的頻率 $\textstyle f$ 的話就會是：

　
:

整數 _k_ 的單位為_轉 / 樣本_，取樣頻率是 1/_T_，_fs_（_樣本 / 秒_）。因而 _X_1/_T_(_f_) 含有移位 _fs_ 倍數赫茲了的 _X_(_f_) 的精確副本，並加和在一起。對於足夠大的 _fs_ ，可以在區間 [−_fs_/2, _fs_/2] 有很少或沒有失真（混疊）地觀察到 _k_=_0_ 項。在圖 1 中，該左上角分布的末端在左下圖中被週期求和的混疊遮蓋住了。

我們還注意到 $e^{-i2\pi fTn}$ 是 $\textstyle \delta (t-nT)$ 的傅立葉轉換。因此，DTFT 的另一個定義為：

　
:

調製的狄拉克梳狀函數（或衝擊串、衝擊序列）是一個數學抽象，有時被稱為_脈波取樣_。

## 頻譜的週期性與混疊

### 頻譜週期性

 $F_{DTFT}(e^{i\omega T})$ 具有週期性：

顯然有: $F_{DTFT}(e^{i\omega T})\,\!=F_{DTFT}(e^{i(\omega T+2\pi )})$

### 頻譜混疊

根據 DTFT 的定義，有

　
: $F_{DTFT}(e^{i\omega T})=\int _{-\infty }^{\infty }\sum _{n=-\infty }^{\infty }f(t)\delta (t-nT)e^{-i\omega t}dt={\frac {1}{2\pi }}\sum _{n=-\infty }^{\infty }F(\omega -n\Omega )\ ,{\mbox{where }}F(\omega )={\mathfrak {F}}\{f(t)\}\ ,\Omega ={\frac {2\pi }{T}}$

即，_f(nT)_ 的 DTFT 是 _f(t)_ 的傅立葉轉換以 Ω 為週期的延拓，這也從另一個角度證明了 DTFT 的週期性。很顯然，如果 _f(t)_ 的頻譜帶不限於 Nyquist 間隔（[-Ω/2, Ω/2]），_f(nT)_ 的 DTFT 必然發生混疊（aliasing）, 如右圖所示。混疊使得訊號的低頻部分被高頻部分「污染」，造成訊號的失真。為避免這種情況，通常在進行進一步的數位訊號處理之前要對取樣序列進行抗混疊濾波（anti-aliasing filtering），這一處理通常是由低通濾波器除去高頻分量實現的。

## DTFT 與 DFT

DFT（離散傅立葉轉換）是對離散週期訊號的一種傅立葉轉換，對於有限長訊號，則相當於對其週期延拓進行轉換。在頻域上，DFT 的離散譜是對 DTFT 連續譜的等間隔取樣。

　
: $F_{DFT}(\omega _{k})=\left.F_{DTFT}(e^{i\omega T})\,\right|_{\omega =2\pi {\frac {k}{N}}}=\left.\sum _{n=0}^{N-1}f(nT)\,e^{-i\omega nT}\,\right|_{\omega =2\pi {\frac {k}{N}}}=\sum _{n=0}^{N-1}f(nT)\,e^{-i2\pi {\frac {knT}{N}}}$

### DTFT 與 DFT 頻率解析度

_N_ 點序列 _f(n)_（n=0, ... ,N-1）的 DFT 離散譜對應於對 _f(nT)_ 連續譜（即 DTFT）的 N 點取樣，因此 DFT 的頻率解析度 $\Delta \omega =2\pi /N$ 。為了提高頻率解析度，可以考慮增加在 DTFT 頻域上的取樣點數，對偶在時域就是增加對時域訊號 _f(n)_ 的取樣數。對於有限長訊號 _f(n)_，在時刻 _0_ 至 _N-1_ 以外的值實際上是已知的 —— 都為 _0_。因此，只要在序列 _f(n)_ 前後_補零_就增加了在時域的取樣，假設在 f (n) 前後補上 _M-N_（其中 _M>N_）個零，則補零之後序列的 DFT 的頻率解析度就相應提高到 $\Delta \omega =2\pi /M$ 。相關證明如下：

　
: 假設在 _f(n)_ 之後補上 _M-N_ 個 _0_，則其 DFT 為

　
: $\sum _{n=0}^{M-1}f(n)\,e^{-i2\pi {\frac {kn}{M}}}{\mbox{, where }}k\in \{0,1,\ldots ,M-1\}$

　
: 由於 _n=N,...,M-1_ 時 _f(n)=0_，所以有

　
: : $\sum _{n=0}^{N-1}f(n)\,e^{-i2\pi {\frac {kn}{M}}}+\sum _{n=N}^{M-1}f(n)\,e^{-i2\pi {\frac {kn}{M}}}=\sum _{n=0}^{N-1}f(n)\,e^{-i2\pi {\frac {kn}{M}}}$

 
通過上式可以清楚的看到，_f(n)_ 補零之後的 DFT 增加了在 _f(nT)_ 連續頻域譜上的取樣。取樣點數從 N 增加到 M，從而提高了 DFT 頻譜的解析度。另一方面，補零之後在頻域取樣的位置發生了變化，因此可以觀察到其他的頻點。

如圖 2 所示，對訊號 $f(t)=0.5\cos(2\pi f_{1}t)+\cos(2\pi f_{2}t)$ （其中 $f_{1}=300Hz$ ， $f_{2}=250Hz$ ）按照 $f_{s}=1000Hz$ 取樣。 $f_{1}$ 與 $f_{2}$ 對應的數位角頻率分別為 $\omega _{1}=0.6\pi $ ， $\omega _{2}=0.5\pi $ 。上圖為取 10 個取樣點作 DFT，可在 0.6π 處看到對應的頻率分量，然而由於取樣點少，看不到 0.5π 處的分量。下圖為補 2 個零之後的 DFT 離散譜，可以見到離散譜的解析度提高到了 π/6，而且能夠觀察到 10 點 DFT 無法看到的 0.5π 頻率分量。另外，虛線為 DTFT 連續譜，可見，DFT 確實是在頻域對 DTFT 的取樣。

但是我們可以看到，即使是 10 點 DTFT 的連續譜也不能分辨 $f_{1}$ 與 $f_{2}$ （只有一個峰）。這是因為 10 點 DTFT 的解析度為 _fs/10 = 100 Hz_，大於 _f1 - f2 = 50 Hz_。所以，只有取樣的點數超過 20（即解析度小於 50Hz），才能分辨出 $f_{1}$ 與 $f_{2}$ 這兩個頻率分量（如圖 3 所示）。而前面提到的對有限長訊號補零作 DFT 以提高頻譜解析度的說法，也只是針對在 DTFT 連續譜上取樣而言，只有增加取樣點數和提高取樣頻率才能真正提高離散譜的解析度。

### 以 DFT 近似 DTFT

前面提到，在時間序列前後補零之後作 DFT 可以增加在 DTFT 上的取樣點數。可以想見，如果補上無窮多個零，則可以得到無窮多個 DTFT 連續譜上的取樣點，從而以 DFT 逼近 DTFT。即，使得離散譜的解析度足夠小，即為連續譜。

這種想法顯然是錯誤的，首先應該注意到，DFT 的週期型，雖然進行 DFT 的序列 x (k) 是有限長序列，但是 DFT 隱含對 x (k) 的週期延拓，x (k) 是訊號序列，週期延拓後還是原來的訊號，如果對 x (k) 進行補零後，1. 補零後序列長度不是原訊號序列長度的整數倍，那麼補零後的序列就不再是原訊號的序列，已經破壞了原訊號的訊息。2. 補零後序列長度是原訊號序列的整數倍，原訊號訊息沒有被破壞，仍能通過 DFT 後獲得原訊號訊息，但是補零後序列的 DFT 雖然頻率步長小了，可以觀察的頻譜訊息更豐富了，但是這些額外的頻譜並不是原訊號的頻譜，而是窗函數的頻譜訊息，也就是包絡線是窗函數的形狀。所以補零並沒有給出關於原訊號頻譜的更多訊息。補零並不能使補零後的 DFT 結果的包絡線和原訊號頻譜的包絡線一致。

## DTFT 與 Z 轉換

離散時間傅立葉轉換可以被看作 Z 轉換的特例。Z 轉換被定義為：

　
: $F(z)=\sum _{n=-\infty }^{\infty }f(n)\,z^{-n}$

如果在 z 平面的單位圓（ $z=e^{i\omega }$ ）上對訊號 $f(n)$ 做 Z 轉換：

　
: $\left.F(z)\right|_{z=e^{i\omega }}=\sum _{n=-\infty }^{\infty }f(n)\,e^{-in\omega }=F(e^{i\omega })$

此即為 $f(n)$ 的離散時間傅立葉轉換。因此通常用 $F(e^{i\omega })$ ，而不是 $F(\omega )$ 表示 DTFT。

## 參看

* 離散傅立葉轉換
* Z 轉換
* 傅立葉級數
* 取樣定理

## 注釋

## 參考文獻

* Alan V. Oppenheim and Ronald W. Schafer : _Discrete-Time Signal Processing_, Prentice Hall Signal Processing Series, ISBN 978-0-13-754920-7
* Boaz Porat : _A Course in Digital Signal Processing_, pp. 27-29, pp. 104-105, John Wiley and Sons, ISBN 978-0-471-14961-3
* Sophocles J. Orfanidis : _Introduction to Signal Processing_, Prentice Hall International, Inc., ISBN 7-32-03059-6