jax.scipy.signal.stft#

jax.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)[source]#

計算短時傅立葉變換 (STFT)。

JAX 實作的 scipy.signal.stft()

參數:
  • x (Array) – 代表輸入值時間序列的陣列。

  • fs (ArrayLike) – 時間序列的取樣頻率(預設值:1.0)。

  • window (str) – 應用於每個區段的資料錐狀化視窗。可以是視窗函數名稱、指定視窗長度和函數的元組,或陣列(預設值:'hann')。

  • nperseg (int) – 每個區段的長度(預設值:256)。

  • noverlap (int | None | None) – 區段之間重疊的點數(預設值:nperseg // 2)。

  • nfft (int | None | None) – 使用的 FFT 長度,如果需要零填充 FFT。如果為 None(預設值),則 FFT 長度為 nperseg

  • detrend (bool) – 指定如何去除每個區段的趨勢。可以是 False(預設值:不去除趨勢)、'constant'(移除平均值)、'linear'(移除線性趨勢),或接受區段並傳回去除趨勢的區段的可調用物件。

  • return_onesided (bool) – 如果為 True(預設值),則傳回實數輸入的單邊頻譜。如果為 False,則傳回雙邊頻譜。

  • boundary (str | None) – 指定是否在兩端擴展輸入訊號,以及如何擴展。選項為 None(不擴展)、'zeros'(預設值)、'even''odd''constant'

  • padded (bool) – 指定是否在輸入訊號的末尾進行零填充,使其長度為 nperseg 的倍數。如果為 True(預設值),則填充訊號長度為 nperseg 的下一個倍數。

  • axis (int) – 計算 STFT 的軸;預設值為最後一個軸 (-1)。

傳回值:

長度為 3 的陣列元組 (f, t, Zxx)f 是取樣頻率的陣列。t 是區段時間的陣列,而 Zxxx 的 STFT。

傳回型別:

tuple[Array, Array, Array]

另請參閱

jax.scipy.signal.istft():反短時傅立葉變換。