轉載於:https://www.cnblogs.com/hoojjack/p/9967298.html
計算短時傅里葉變換(STFT)
scipy.signal.
stft
(x,fs = 1.0,window ='hann',nperseg = 256,noverlap = None,nfft = None,detrend = False,return_onesided = True,boundary ='zeros',padded = True,axis = -1 )
參數: |
x : array_like 時間序列的測量值 fs : float,可選 x時間序列的採樣頻率。默認爲1.0。 window : str或tuple或array_like,可選 所需的窗口使用。如果window是一個字符串或元組,則傳遞給它 nperseg : int,可選 每個段的長度。默認爲256。 noverlap : int,可選 段之間重疊的點數。如果沒有, 。默認爲無。指定時,必須滿足COLA約束(請參閱下面的註釋)。 nfft : int,可選 如果需要零填充FFT,則使用FFT的長度。如果爲 None,則FFT長度爲nperseg。默認爲無。 detrend : str或function或False,可選 指定如何去除每個段的趨勢。如果 return_onesided : bool,可選 如果爲True,則返回實際數據的單側頻譜。如果 False返回雙面光譜。請注意,對於複雜數據,始終返回雙面光譜。默認爲 True。 boundary : str或None,可選 指定輸入信號是否在兩端擴展,以及如何生成新值,以使第一個窗口段在第一個輸入點上居中。這具有當所採用的窗函數從零開始時能夠重建第一輸入點的益處。有效選項是 。對於零填充擴展,默認爲“零”。即擴展到了。 填充 : bool,可選 指定輸入信號在末尾是否填充零以使信號精確地擬合爲整數個窗口段,以便所有信號都包含在輸出中。默認爲True。填充發生在邊界擴展之後,如果 邊界不是None,則填充爲True,默認情況下也是如此。 axis : int,可選 計算STFT的軸; 默認值超過最後一個軸(即 |
---|---|
返回: |
f : ndarray 採樣頻率數組。 t : ndarray 段時間數組。 Zxx : ndarray x的 STFT 。默認情況下,Zxx的最後一個軸對應於段時間。 |
Reference:
[1] https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.stft.html
[2] https://www.cnblogs.com/klchang/p/9280509.html
[3] http://blog.sina.com.cn/s/blog_6163bdeb0102dwfw.html