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)[source]#
Perform the inverse short-time Fourier transform (ISTFT).
JAX implementation of
scipy.signal.istft()
; computes the inverse ofjax.scipy.signal.stft()
.- Parameters:
Zxx (Array) β STFT of the signal to be reconstructed.
fs (ArrayLike) β Sampling frequency of the time series (default: 1.0)
window (str) β Data tapering window to apply to each segment. Can be a window function name, a tuple specifying a window length and function, or an array (default:
'hann'
).nperseg (int | None | None) β Number of data points per segment in the STFT. If
None
(default), the value is determined from the size ofZxx
.noverlap (int | None | None) β Number of points to overlap between segments (default:
nperseg // 2
).nfft (int | None | None) β Number of FFT points used in the STFT. If
None
(default), the value is determined from the size ofZxx
.input_onesided (bool) β If Tru` (default), interpret the input as a one-sided STFT (positive frequencies only). If False, interpret the input as a two-sided STFT.
boundary (bool) β If True (default), it is assumed that the input signal was extended at its boundaries by
stft
. If False, the input signal is assumed to have been truncated at the boundaries by stft.time_axis (int) β Axis in Zxx corresponding to time segments (default: -1).
freq_axis (int) β Axis in Zxx corresponding to frequency bins (default: -2).
- Returns:
A length-2 tuple of arrays
(t, x)
.t
is the Array of signal times, andx
is the reconstructed time series.- Return type:
See also
jax.scipy.signal.stft()
: short-time Fourier transform.Examples
Demonstrate that this gives the inverse of
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.]