来自维基百科,自由的百科全书
短時距傅立葉變換(Short-time Fourier Transform, STFT)是傅立葉變換的一種變形,也稱作加窗傅立葉轉換(Windowed Fourier transform)或Time-dependent Fourier transform,用於決定隨時間變化的訊號局部部分的正弦頻率和相位。實際上,計算短時距傅立葉變換的過程是將長時間訊號分成數個較短的等長訊號,然後再分別計算每個較短段的傅立葉轉換。通常拿來描繪頻域與時域上的變化,為時頻分析中其中一個重要的工具。
將訊號做傅立葉變換後得到的結果,並不能給予關於訊號頻率隨時間改變的任何資訊。以下的例子作為說明:
傅立葉變換後的頻譜和短時距傅立葉轉換後的結果如下:
由上圖可發現,傅立葉轉換只提供了有哪些頻率成份的資訊,卻沒有提供時間資訊;而短時傅立葉轉換則清楚的提供這兩種資訊。這種時頻分析的方法有利於頻率會隨著時間改變的訊號,如音樂訊號和語音訊號等分析。
簡單來說,在連續時間的例子,一個函數可以先乘上僅在一段時間不為零的窗函數再進行一維的傅立葉變換。再將這個窗函數沿著時間軸挪移,所得到一系列的傅立葉變換結果排開則成為二維表象。數學上,這樣的操作可寫為:
另外也可用角頻率來表示:
其中是窗函數,窗函數種類有很多種,會在稍後再做仔細討論。是待變換的訊號。是的傅立葉變換。 隨著的改變,窗函數在時間軸上會有位移。經後,訊號只留下了窗函數截取的部分做最後的傅立葉轉換,所得到的結果為一複數函數,代表著訊號隨時間與頻率變化的大小與相位。
在離散時間的例子,資料會被切割成數個大量的幀,而每組幀通常會互相重疊,避免因切割方式造成邊界的誤差。而每組幀在各自進行傅立葉轉換後所得的複數結果會再進行相加,可得到每個點時間與頻率變化的大小與相位。數學上,這樣的操作可寫為:
相同地,其中是窗函數,是待變換的訊號。在這個例子裡,m是離散的且ω是連續的,但大部分實際的應用當中,短時距傅立葉轉換在電腦中都是以快速傅立葉轉換進行計算(見實現方法的快速傅立葉變換),而此時這兩個參數都是離散且被量化的。
當只想要得知特定少數的ω,或是短時距傅立葉轉換每次窗函數移動m的值,則短時距傅立葉轉換可以利用sliding DFT演算法更有效地計算出來。
短時距傅立葉轉換是可逆的,也就是說原本的訊號可以藉由反短時距傅立葉轉換將短時距傅立葉轉換後的訊號還原。
其中最廣為接受的反短時距傅立葉轉換方法是重疊-相加之摺積法,此方法也促成了更多樣的訊號處理方法。
反短時距傅立葉轉換,其數學類似傅立葉轉換,但須消除窗函數的作用,首先必須先將窗函數的總面積規模化使得
而從上也可輕易地得出
和
連續傅立葉轉換公式如下:
將進行上述的替換:
將積分順序進行交換:
因此傅立葉轉換可以視為某種將所有的短時距傅立葉轉換的相位同調部分進行相加。
而反傅立葉轉換公式如下:
因此 可以從被復原
或
與上面所列的窗函數的式子進行比較,可得
對反傅立葉轉換公式中的來說是不變的
窗函數通常滿足下列特性:
常見的窗函數有:方形、三角形、高斯函數等,而短時距傅立葉轉換也因窗函數的不同而有不同的名稱。而加伯轉換,即為窗函數是高斯函數的短時距傅立葉轉換,通常沒有特別說明的短時距傅立葉轉換,即為加伯轉換。
當在特殊應用時,窗函數特性的第一點可以不滿足,如下圖的非對稱窗函數,其中。左圖為窗函數原本的圖形,而在計算短時距傅立葉變換時,需將窗函數轉到軸上得出,換言之,欲得到的短時距傅立葉變換的結果需在的時間點才能算出,因此若愈小,即可愈快得結果,此種非對稱窗函數可應用在地震波、碰撞偵測...等,需要即時處理的應用。
右圖即為方形窗函數的一個例子,其數學定義:
可以隨要分析的訊號,來調整B的大小(即調整方形窗函數的寬度)。至於B的選擇,將會在下面探討。
短時傅立葉轉換可以簡化為
反短時傅立葉轉換可簡化為
其大部分的特性都與傅立葉轉換的特性相對應
結果如右圖所示,B越大則在頻率變化處(t = 10, 20)附近的頻率越不準確,即可能會有多個頻率成分出現。但同時,其他時間點的能量則較集中;沒有如B較小時,頻率散開或模糊的情形。
上述也是其中一個小波轉換及多解析度分析作為改進的方向,其中多解析度分析能在高頻時有較好的時間軸解析,而在低頻時能有較好的頻率軸解析,此種組合較契合許多實際的應用。
時間軸與頻率軸的解析度無法同時提升也與海森堡不確定性原理有關,即時間與頻率的標準差乘積有所限制,而高斯函數恰好能符合不確定性原理的極值,也就是兩者同時達到最好的解析度,而應用高斯函數的時頻分析方法即為加伯轉換,而在經過修改及多解析度分析後,成為了莫萊小波。
高斯窗函數的短時距傅立葉轉換又稱為加伯轉換。以下是高斯函數的數學定義,
據此,短時傅立葉轉換可以寫為
三角形窗函數如右圖所示,數學定義如下,
可使用在震幅改變的情況下,相對於方形窗函數,可更好的濾除雜訊。
海寧函數如右圖所示,數學定義如下,
相較於三角形窗函數,海寧窗函數更為貼近現實訊號的趨勢,可進一步濾除雜訊。
漢明窗函如右圖所示,數學定義如下,
跟海寧窗函數類似,但兩端不為零。
窗函數有四個指標,分別為
因為漢明窗兩端不能到零,而海寧窗兩端為零。從以上頻率響應來看,漢明窗可以有效減少靠近的旁辦,但在較遠的旁辦洩漏比海寧窗嚴重。
可根據以下條件來選取窗函數,
在決定複雜度跟解析率後,可利用不同的窗函數達到更好的濾雜訊效果。
當Nyquist頻率是能被有意義分析的頻率最大值的限制,而瑞利頻率則是能被有限頻寬頻的窗函數解析的頻率最小值的限制。若給定一窗函數的長度是T秒,最低能被解析的頻率即為1/T Hz。
瑞利頻率在短時距傅立葉變化的應用中扮演重要的角色,像是在分析神經訊號時。
Spectrogram即短時傅立葉轉換後結果的絕對值平方,兩者本質上是相同的,在文獻上也常出現spectrogram這個名詞。
短時距傅立葉變換及其他工具經常用於分析音樂。
如右圖所示,
音頻工程師使用這種視覺來獲取有關音頻樣本的資訊。
此外,因頻率會隨時間而改變,短時距也可使用在以下情境,
若與時間無關,如卷積,照片等則不能使用短時距傅立葉變換來進行分析。而影片屬於3D訊號,其短時距傅立葉產物為6D訊號,故也不適用。
從連續短時距傅立葉變化的定義出發
令 ,則上述式子時域可從連續轉為離散
若當
上式可改寫為
(1)要滿足Nyquist criterion
(1)要滿足Nyquist criterion
(2) (N可為任意整數)
(3) (做N點傅立葉轉換,輸入必要<=N)
標準的離散傅立葉轉換式子為
由直接運算得知如下公式
因此為了讓上式符合離散傅立葉轉換的上下界,令代入上式即可得
其中
假設
步驟一:計算
步驟二:
步驟三:決定
步驟四:
步驟五:轉換成
步驟六:設,並回到步驟三,直到
藉由取樣定理可得知
假設及,則經由可得
步驟一:
步驟二:
步驟三:計算
步驟四:利用求得的計算快速傅立葉轉換
步驟五:轉換到
步驟六:設定,回到步驟三直到
利用FFT計算,其中每次FFT的時間複雜度為
總時間複雜度為
優點:與直接運算相比,複雜度較低
缺點:較多限制,包括
(1)要滿足Nyquist criterion
(2)
(3)
(4)需為方形窗函數的短時距傅立葉轉換
因為是方形窗函數 ,因此原式可由此關係變成以下式子
而由此可看出n和n-1有遞迴關係,如下
(1)以FFT計算
(2)利用遞迴關係式計算算
(1)FFT計算一次
(2)利用遞迴關係,計算時的數值,因此共會執行T-1次遞迴,如下式
總時間複雜度
優點:四種運算中,最低的複雜度
缺點:
(1)要滿足Nyquist criterion
令
即可由直接運算的式子導出Chirp_Z變換的式子,如下所示
Step1:
Step2:
Step3:
當n為定值時
(1)假設 相乘時間複雜度為2Q+1
(2)令,則 convolution時間複雜度為
(3)相乘時間複雜度為 F
因此,總時間複雜度為
雖然此實現方法和使用FFT計算的時間複雜度相同,但因為convolution相當於做三次FFT,因此實際操作時運算時間約為使用FFT計算的2~3倍
優點:只有一項限制:
缺點:與前四種相比,複雜度是中間的。
將直接法和快速傅立葉轉換方法做修正
修正後 :
其中, ,
假設 for ,則上下限可藉由以下推導而修正
則上限可以寫成,下限則以此類推
註:(輸入訊號的取樣間隔)
(在t軸上的輸出訊號的取樣間隔)
然而,是整數會是比較好的。
則經由上述公式可求得S=441,代表經由unbalanced sampling,我們跟原本相比可減少441倍的取樣點。
由於t軸的取樣點少了S倍,因此跟原本的直接運算複雜度相比,只要把即可,如下:
複雜度:
(1)
(2) : (只要是整數的倒數即可)
(3) ,的頻寬是
i.e. ,當
令
for
for
修正後:
假設
步驟一:計算
步驟二:
步驟三:決定
步驟四:
步驟五:轉換
步驟六:設定及返回步驟三,直到
(1) 先用比較大的
(2) 如果發現 和 之間有很大的差異,則在, 之間選用比較小的取樣區間
(, 和 皆為整數)
再用Unbalanced Sampling for STFT and WDF 中修正後的快速傅立葉轉換方法算出 ,
(3) 以此類推,如果 的差距還是太大,則再選用更小的取樣間隔
(, 和 皆為整數)
若有一音樂訊號總共有1.6秒,
Seamless Wikipedia browsing. On steroids.