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


計算短時傅里葉變換(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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM