jax.scipy.signal.istft#

jax.scipy.signal.istft(Zxx, fs=1.0, window='hann', nperseg=None, noverlap=None, nfft=None, input_onesided=True, boundary=True, time_axis=-1, freq_axis=-2)[原始碼]#

執行反向短時傅立葉轉換 (ISTFT)。

JAX 實作的 scipy.signal.istft();計算 jax.scipy.signal.stft() 的反向。

參數:
  • Zxx (Array) – 要重建訊號的 STFT。

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

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

  • nperseg (int | None) – STFT 中每個區段的資料點數量。如果 None (預設),則值由 Zxx 的大小決定。

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

  • nfft (int | None) – STFT 中使用的 FFT 點數。如果 None (預設),則值由 Zxx 的大小決定。

  • input_onesided (bool) – 如果為 True (預設),將輸入解譯為單邊 STFT (僅正頻率)。如果為 False,將輸入解譯為雙邊 STFT。

  • boundary (bool) – 如果為 True (預設),則假設輸入訊號在其邊界處已由 stft 延伸。如果為 False,則假設輸入訊號已在邊界處由 stft 截斷。

  • time_axis (int) – Zxx 中對應於時間區段的軸 (預設:-1)。

  • freq_axis (int) – Zxx 中對應於頻率箱的軸 (預設:-2)。

傳回:

長度為 2 的陣列元組 (t, x)t 是訊號時間的陣列,而 x 是重建的時間序列。

傳回型別:

tuple[Array, Array]

另請參閱

jax.scipy.signal.stft():短時傅立葉轉換。

範例

示範這給出 stft() 的反向

>>> x = jnp.array([1., 2., 3., 2., 1., 0., 1., 2.])
>>> f, t, Zxx = jax.scipy.signal.stft(x, nperseg=4)
>>> print(Zxx)  
[[ 1. +0.j   2.5+0.j   1. +0.j   1. +0.j   0.5+0.j ]
 [-0.5+0.5j -1.5+0.j  -0.5-0.5j -0.5+0.5j  0. -0.5j]
 [ 0. +0.j   0.5+0.j   0. +0.j   0. +0.j  -0.5+0.j ]]
>>> t, x_reconstructed = jax.scipy.signal.istft(Zxx)
>>> print(x_reconstructed)
[1. 2. 3. 2. 1. 0. 1. 2.]