Python scipy 計算短時傅里葉變換(Short-time Fourier transforms)

轉載於:https://www.cnblogs.com/hoojjack/p/9967298.html

計算短時傅里葉變換(STFT)

scipy.signal.stftxfs = 1.0window ='hann'nperseg = 256noverlap = Nonenfft = Nonedetrend = Falsereturn_onesided = Trueboundary ='zeros'padded = Trueaxis = -1 

 

參數:

: array_like

時間序列的測量值

fs : float,可選

x時間序列的採樣頻率。默認爲1.0。

window : str或tuple或array_like,可選

所需的窗口使用。如果window是一個字符串或元組,則傳遞給它get_window以生成窗口值,默認情況下爲DFT-even。有關get_window窗口和所需參數的列表,請參閱。如果window是array_like,它將直接用作窗口,其長度必須是nperseg。默認爲Hann窗口。

nperseg : int,可選

每個段的長度。默認爲256。

noverlap : int,可選

段之間重疊的點數。如果沒有, 。默認爲。指定時,必須滿足COLA約束(請參閱下面的註釋)。noverlap = nperseg // 2

nfft : int,可選

如果需要零填充FFT,則使用FFT的長度。如果爲 None,則FFT長度爲nperseg。默認爲

detrend : str或function或False,可選

指定如何去除每個段的趨勢。如果detrend是字符串,則將其作爲類型參數傳遞給detrend 函數。如果它是一個函數,它需要一個段並返回一個去趨勢段。如果detrendFalse,則不進行去除趨勢。默認爲False

return_onesided : bool,可選

如果爲True,則返回實際數據的單側頻譜。如果 False返回雙面光譜。請注意,對於複雜數據,始終返回雙面光譜。默認爲 True

boundary : str或None,可選

指定輸入信號是否在兩端擴展,以及如何生成新值,以使第一個窗口段在第一個輸入點上居中。這具有當所採用的窗函數從零開始時能夠重建第一輸入點的益處。有效選項是 。對於零填充擴展,默認爲“零”。即擴展到了。['even', 'odd', 'constant', 'zeros', None][1, 2, 3, 4][0, 1, 2, 3, 4, 0]nperseg=3

填充 : bool,可選

指定輸入信號在末尾是否填充零以使信號精確地擬合爲整數個窗口段,以便所有信號都包含在輸出中。默認爲True。填充發生在邊界擴展之後,如果 邊界不是None,則填充True,默認情況下也是如此。

axis : int,可選

計算STFT的軸; 默認值超過最後一個軸(即axis=-1)。

返回:

: ndarray

採樣頻率數組。

: 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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章