當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy ShortTimeFFT.from_window用法及代碼示例


本文簡要介紹 python 語言中 scipy.signal.ShortTimeFFT.from_window 的用法。

用法:

classmethod  ShortTimeFFT.from_window(win_param, fs, nperseg, noverlap, *, symmetric_win=False, fft_mode='onesided', mfft=None, scale_to=None, phase_shift=0)#

使用 get_window 實例化 ShortTimeFFT

方法scipy.signal.get_window用於創建長度的窗口nperseg。參數名稱重疊, 和nperseg此處使用,因為它們與其他經典 STFT 庫更一致。

參數

win_param: Union[str, tuple, float],

參數傳遞給 get_window 。對於沒有參數的窗口,它可以是一個字符串(例如, 'hann' ),對於參數化窗口,它可以是一個元組(例如, ('gaussian', 2.) )或指定 kaiser 窗口的形狀參數的單個浮點(即 4.('kaiser', 4.) 相等。請參閱 get_window 了解更多詳細信息。

fs 浮點數

輸入信號的采樣頻率。它與采樣間隔 T 的關係是T = 1 / fs

nperseg: int

樣本中的窗口長度,對應於 m_num

noverlap: int

樣本中的窗口重疊。它與 hop = npsereg - noverlap hop 增量相關。

symmetric_win: bool

如果True則生成對稱窗口,否則生成周期性窗口(默認)。盡管對稱窗口對於大多數應用程序來說似乎更明智,但選擇周期性窗口的默認值來對應 get_window 的默認值。

fft_mode ‘twosided’, ‘centered’, ‘onesided’,'oneside2X'

要使用的 FFT 模式(默認‘onesided’)。有關詳細信息,請參閱屬性 fft_mode

mfft: int | None

如果需要零填充 FFT,則使用 FFT 的長度。如果None(默認),則使用窗口 win 的長度。

scale_to ‘magnitude’, ‘psd’ |沒有任何

如果不是 None(默認),則窗口函數會縮放,因此每個 STFT 列代表 ‘magnitude’ 或功率譜密度 (‘psd’) 頻譜。此參數將屬性 scaling 設置為相同的值。有關詳細信息,請參閱方法 scale_to

phase_shift int |沒有任何

如果設置,則為每個頻率 f 添加線性相位 phase_shift / mfft * f 。默認值 0 確保第 0 個切片(其中以 t=0 為中心)沒有相移。有關更多詳細信息,請參閱屬性 phase_shift

例子

以下實例 SFT0SFT1 是等效的:

>>> from scipy.signal import ShortTimeFFT, get_window
>>> nperseg = 9  # window length
>>> w = get_window(('gaussian', 2.), nperseg)
>>> fs = 128  # sampling frequency
>>> hop = 3  # increment of STFT time slice
>>> SFT0 = ShortTimeFFT(w, hop, fs=fs)
>>> SFT1 = ShortTimeFFT.from_window(('gaussian', 2.), fs, nperseg,
...                                 noverlap=nperseg-hop)

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.ShortTimeFFT.from_window。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。