短時距傅立葉變換

短時距傅立葉變換（Short-time Fourier Transform, STFT）是傅立葉變換的一種變形，也稱作加窗傅立葉變換（Windowed Fourier transform）或 Time-dependent Fourier transform，用於決定隨時間變化的訊號區域性部分的正弦頻率和相位。實際上，計算短時距傅立葉變換的過程是將長時間訊號分成數個較短的等長訊號，然後再分別計算每個較短段的傅立葉轉換。通常拿來描繪頻域與時域上的變化，為時頻分析中其中一個重要的工具。

與傅立葉轉換在概念上的區別

將訊號做傅立葉變換後得到的結果，並不能給予關於訊號頻率隨時間改變的任何資訊。以下的例子作為說明：

傅立葉變換後的頻譜和短時距傅立葉轉換後的結果如下：

由上圖可發現，傅立葉轉換只提供了有哪些頻率成份的資訊，卻沒有提供時間資訊；而短時傅立葉轉換則清楚的提供這兩種資訊。這種時頻分析的方法有利於頻率會隨著時間改變的訊號，如音樂訊號和語音訊號等分析。

定義

2.1 連續短時傅立葉轉換

簡單來說，在連續時間的例子，一個函式可以先乘上僅在一段時間不為零的窗函式再進行一維的傅立葉變換。再將這個窗函式沿著時間軸挪移，所得到一系列的傅立葉變換結果排開則成為二維表象。數學上，這樣的操作可寫為：

另外也可用角頻率來表示：

其中是窗函式，窗函式種類有很多種，會在稍後再做仔細討論。是待變換的訊號。是的傅立葉變換。 隨著的改變，窗函式在時間軸上會有位移。經後，訊號只留下了窗函式擷取的部分做最後的傅立葉轉換，所得到的結果為一複數函式，代表著訊號隨時間與頻率變化的大小與相位。

2.2 離散短時傅立葉轉換

在離散時間的例子，資料會被切割成數個大量的幀，而每組幀通常會互相重疊，避免因切割方式造成邊界的誤差。而每組幀在各自進行傅立葉轉換後所得的複數結果會再進行相加，可得到每個點時間與頻率變化的大小與相位。數學上，這樣的操作可寫為：

相同地，其中是窗函式，是待變換的訊號。在這個例子裡，m 是離散的且 ω 是連續的，但大部分實際的應用當中，短時距傅立葉轉換在電腦中都是以快速傅立葉轉換進行計算 (見實現方法的快速傅立葉變換)，而此時這兩個引數都是離散且被量化的。

2.3 Sliding 離散傅立葉轉換

當只想要得知特定少數的 ω，或是短時距傅立葉轉換每次窗函式移動 m 的值，則短時距傅立葉轉換可以利用 sliding DFT 演演算法更有效地計算出來。

2.4 反短時距傅立葉轉換

短時距傅立葉轉換是可逆的，也就是說原本的訊號可以藉由反短時距傅立葉轉換將短時距傅立葉轉換後的訊號還原。

其中最廣為接受的反短時距傅立葉轉換方法是重疊 - 相加之摺積法，此方法也促成了更多樣的訊號處理方法。

反短時距傅立葉轉換，其數學類似傅立葉轉換，但須消除窗函式的作用，首先必須先將窗函式的總面積規模化使得

而從上也可輕易地得出

和

連續傅立葉轉換公式如下：

將進行上述的替換：

將積分順序進行交換：

因此傅立葉轉換可以視為某種將所有的短時距傅立葉轉換的相位同調部分進行相加。

而反傅立葉轉換公式如下：

因此 可以從被復原

或

與上面所列的窗函式的式子進行比較，可得

對反傅立葉轉換公式中的來說是不變的

另外用角頻率來表示：

2.5 窗函式

窗函式通常滿足下列特性:

，即為偶函式。
，即窗函式的中央通常是最大值的位置。
，即窗函式的值由中央開始向兩側單調遞減。
，即窗函式的值向兩側遞減為零。

常見的窗函式有：方形、三角形、高斯函式等，而短時距傅立葉轉換也因窗函式的不同而有不同的名稱。而加伯轉換，即為窗函式是高斯函式的短時距傅立葉轉換，通常沒有特別說明的短時距傅立葉轉換，即為加伯轉換。

2.5.1 非對稱窗函式

當在特殊應用時，窗函式特性的第一點可以不滿足，如下圖的非對稱窗函式，其中。左圖為窗函式原本的圖形，而在計算短時距傅立葉變換時，需將窗函式轉到軸上得出，換言之，欲得到的短時距傅立葉變換的結果需在的時間點才能算出，因此若愈小，即可愈快得結果，此種非對稱窗函式可應用在地震波、碰撞偵測... 等，需要即時處理的應用。

優缺點

優點：比起傅立葉轉換更能觀察出訊號瞬時頻率的資訊。
缺點：計算複雜度高

方形窗函式的短時距傅立葉轉換

4.1 概念

右圖即為方形窗函式的一個例子，其數學定義：

可以隨要分析的訊號，來調整 B 的大小（即調整方形窗函式的寬度）。至於 B 的選擇，將會在下面探討。

短時傅立葉轉換可以簡化為

反短時傅立葉轉換可簡化為

4.2 特性

其大部分的特性都與傅立葉轉換的特性相對應

積分特性

位移特性 (時間軸方向的移動)

調變特性 (頻率軸方向的移動)

線性特性

若有一訊號，分別為做方形窗函式短時 距傅立葉轉換的結果，則。

能量積分特性

特殊訊號

當，

:

當，

:

4.3 方形窗函式寬度的選取

由上述特性中的特殊訊號來分析，訊號只有在的時候有值；若短時距傅立葉轉換是理想的話，應該只有在的時候有能量。但由上面的特性可發現，能量會出現在中間。因此，若我們取較小的，則可使結果趨近理想。
接著我們來分析，訊號因為沒有改變，應該為 DC。若短時距傅立葉轉換是理想的話，應該只有在的時候有能量。但由上面的特性可發現，能量會沿著頻率軸呈現 sinc 函式。若我們取較大的，可使 sinc 函式沿著頻率軸變窄，使得結果趨近理想。
綜合以上說明，若我們使用較大的方形窗函式寬度，則時間軸的解析度會下降；頻率軸的解析度上升。若使用較小的，則時間軸的解析度會上升；頻率軸的解析度下降。我們以下面做為例子說明：

結果如右圖所示，B 越大則在頻率變化處 (t = 10, 20) 附近的頻率越不準確，即可能會有多個頻率成分出現。但同時，其他時間點的能量則較集中；沒有如 B 較小時，頻率散開或模糊的情形。

上述也是其中一個小波轉換及多解析度分析作為改進的方向，其中多解析度分析能在高頻時有較好的時間軸解析，而在低頻時能有較好的頻率軸解析，此種組合較契合許多實際的應用。

時間軸與頻率軸的解析度無法同時提升也與海森堡不確定性原理有關，即時間與頻率的標準差乘積有所限制，而高斯函式恰好能符合不確定性原理的極值，也就是兩者同時達到最好的解析度，而應用高斯函式的時頻分析方法即為加伯轉換，而在經過修改及多解析度分析後，成為了莫萊小波。

4.4 優缺點

優點：方形窗函式的短時距傅立葉轉換有許多可應用的數學特性，在數位的應用上所需的計算時間較少。
缺點：時頻分析的表現較差

瑞利頻率

當 Nyquist 頻率是能被有意義分析的頻率最大值的限制，而瑞利頻率則是能被有限頻寬頻的窗函式解析的頻率最小值的限制。若給定一窗函式的長度是 T 秒，最低能被解析的頻率即為 1/T Hz。

瑞利頻率在短時距傅立葉變化的應用中扮演重要的角色，像是在分析神經訊號時。

頻譜 (Spectrogram)

Spectrogram 即短時傅立葉轉換後結果的絕對值平方，兩者本質上是相同的，在文獻上也常出現 spectrogram 這個名詞。

應用

短時距傅立葉變換及其他工具經常用於分析音樂。

如右圖所示，

水平軸為頻率，左側為最低頻率，右側為最高頻率
條形高度 (混和顏色表示) 表示該頻帶內的頻率幅度
深度表示時間

音訊工程師使用這種視覺來獲取有關音訊樣本的資訊。

此外，因頻率會隨時間而改變，短時距也可使用在以下情境，

訊號取樣 (signal sampling)，
調變 (modulation)，
生物訊號 (biomedical signals)，等等

若與時間無關，如卷積，照片等則不能使用短時距傅立葉變換來進行分析。而影片屬於 3D 訊號，其短時距傅立葉產物為 6D 訊號，故也不適用。

短時距傅立葉變換實現方法

從連續短時距傅立葉變化的定義出發

令 ，則上述式子時域可從連續轉為離散

若當

上式可改寫為

----

9.1 直接運算

9.1.1 限制條件

(1) 要滿足 Nyquist criterion

的頻寬為。而的頻寬則為，的頻寬也為

因為在時域相乘相當於在頻域做摺積，因此的頻寬為 (通常會遠大於，所以主要影響頻寬的是)

9.1.2 推導

轉換到離散形式 ，其中

，由於無限大的上下限實務上做不到，所以嘗試變成有限大的上下限。

假設 for

對於縮放的加伯轉換，

9.1.3 時間複雜度

假設 t-axis 有 T 個取樣點，f-axis 有 F 個取樣點，則我們總共要對 TF 個點做次的運算，因此可得複雜度為

9.1.4 優缺點

優點：簡單及有彈性 (因為限制少)

缺點：複雜度較高

----

9.2 快速傅立葉變換

9.2.1 限制條件

(1) 要滿足 Nyquist criterion

(2) (N 可為任意整數)

(3) (做 N 點傅立葉轉換，輸入必要 <=N)

9.2.2 推導

標準的離散傅立葉轉換式子為

由直接運算得知如下公式

因此為了讓上式符合離散傅立葉轉換的上下界，令代入上式即可得

其中

9.2.3 運算步驟

假設

步驟一：計算

步驟二：

步驟三：決定

步驟四：

步驟五：轉換成

步驟六：設，並回到步驟三，直到

範例

藉由取樣定理可得知

假設及，則經由可得

及，則經由可得

步驟一：

步驟二：

步驟三：計算

步驟四：利用求得的計算快速傅立葉轉換

步驟五：轉換到

註：若是於程式中執行，要注意 m 可能為負數，所以需要利用到週期性性質

因此可將上式改為，其中代表取 m 除以 N 的餘數

步驟六：設定，回到步驟三直到

9.2.4 時間複雜度

利用 FFT 計算，其中每次 FFT 的時間複雜度為

總時間複雜度為

9.2.5 優缺點

優點：與直接運算相比，複雜度較低

缺點：較多限制，包括

----

9.3 使用快速傅立葉變換加上遞迴關係式

9.3.1 限制條件

(1) 要滿足 Nyquist criterion

(2)

(3)

(4) 需為方形窗函式的短時距傅立葉轉換

9.3.2 推導

因為是方形窗函式

，因此原式可由此關係變成以下式子

而由此可看出 n 和 n-1 有遞迴關係，如下

(1) 以 FFT 計算

其中

(2) 利用遞迴關係式計算算

則

9.3.3 時間複雜度

(1) FFT 計算一次

時間複雜度：

(2) 利用遞迴關係，計算時的數值，因此共會執行 T-1 次遞迴，如下式

每次遞迴都要計算及兩個乘法 (相當於 2F 的複雜度)

時間複雜度：

總時間複雜度

9.3.4 優缺點

優點：四種運算中，最低的複雜度

缺點：

只適用於方形窗函式的短時傅立葉轉換
由於遞迴的關係，會有累加誤差。所以只要當中有小錯誤，誤差會累積到最後，造成無可預期的錯誤
不能用在不平衡的取樣點

----

9.4 使用 Chirp-Z 轉換

9.4.1 限制條件

(1) 要滿足 Nyquist criterion

9.4.2 推導

令

即可由直接運算的式子匯出 Chirp_Z 變換的式子，如下所示

9.4.3 運算步驟

Step1:

Step2:

Step3:

9.4.4 時間複雜度

當 n 為定值時

(1) 假設 相乘時間複雜度為 2Q+1

(2) 令，則 convolution 時間複雜度為

(3) 相乘時間複雜度為 F

因此，總時間複雜度為

雖然此實現方法和使用 FFT 計算的時間複雜度相同，但因為 convolution 相當於做三次 FFT，因此實際操作時運算時間約為使用 FFT 計算的 2~3 倍

9.4.5 優缺點

優點：只有一項限制：

缺點：與前四種相比，複雜度是中間的。

----

9.5 Unbalanced Sampling for STFT and WDF

將直接法和快速傅立葉轉換方法做修正

9.5.1 1. 直接法

修正後 ：

其中， ,

假設 for ，則上下限可藉由以下推導而修正

則上限可以寫成，下限則以此類推

註：(輸入訊號的取樣間隔)

(在 t 軸上的輸出訊號的取樣間隔)

然而，是整數會是比較好的。

假設一聲音訊號：

則經由上述公式可求得 S=441，代表經由 unbalanced sampling，我們跟原本相比可減少 441 倍的取樣點。

9.5.2 時間複雜度

由於 t 軸的取樣點少了 S 倍，因此跟原本的直接運算複雜度相比，只要把即可，如下：

複雜度：

9.5.3 2. 快速傅立葉轉換

9.5.3.1 限制條件

(1)

(2) : (只要是整數的倒數即可)

(3) ，的頻寬是

i.e. ，當

9.5.3.2 過程

令

for

for

修正後：

9.5.4 運算步驟

假設

步驟一：計算

步驟二：

步驟三：決定

步驟四：

步驟五：轉換

步驟六：設定及返回步驟三，直到

9.5.5 複雜度

9.6 Non-Uniform

(1) 先用比較大的

(2) 如果發現 和 之間有很大的差異，則在， 之間選用比較小的取樣區間

(， 和 皆為整數)

再用 Unbalanced Sampling for STFT and WDF 中修正後的快速傅立葉轉換方法算出 ，

(3) 以此類推，如果 的差距還是太大，則再選用更小的取樣間隔

(， 和 皆為整數)

比較

若有一音樂訊號總共有 1.6 秒，

選擇，則共有點
t 隨時間不同有不同的選擇，如下

:，共 29 點

: 可以這樣做的原因為：有些音樂訊號在和絃與和絃中間幾乎沒有變化，因此可以挑選較大的取樣；和絃在變換時，頻率會變化的較劇烈，因此變換和絃是需要用較多的取樣點。藉由此種 non-uniform 的取樣，可以讓我們大幅減少運算量，從最一開始的可看出我們的運算量大幅降低。