{ } Raw JSON

bundles / scipy 1.18.0 / scipy / signal / _short_time_fft / ShortTimeFFT / istft

function

scipy.signal._short_time_fft:ShortTimeFFT.istft

source: /scipy/signal/_short_time_fft.py:1457

Signature

def istft(self, S: np.ndarray, k0: int = 0, k1: int | None = None, *, f_axis: int = -2, t_axis: int = -1) → np.ndarray

Summary

Inverse short-time Fourier transform.

Parameters

S : ndarray

A complex valued array where f_axis denotes the frequency values and the t_axis dimension the temporal values of the STFT values.

k0, k1 : int, optional

The start and the end index of the reconstructed signal. The default (k0 = 0, k1 = None) assumes that the maximum length signal should be reconstructed.

f_axis, t_axis : int, optional

The axes in S denoting the frequency and the time dimension.

Returns

: ndarray

Array of dimension S.ndim - 1 which is real if onesided_fft is set, else complex.

Raises

: ValueError

If the STFT is not invertible, or the parameters are out of bounds.

Notes

It is required that S has f_pts entries along the f_axis. For the t_axis it is assumed that the first entry corresponds to p_min * delta_t (being <= 0). The length of t_axis needs to be compatible with k1. I.e., S.shape[t_axis] >= self.p_max(k1) must hold, if k1 is not None. Else k1 is set to k_max with

q_max = S.shape[t_range] + self.p_min
k_max = (q_max - 1) * self.hop + self.m_num - self.m_num_mid

The tutorial_stft section of the user_guide discussed the slicing behavior by means of an example.

See also

invertible

Check if STFT is invertible.

scipy.signal.ShortTimeFFT

Class this method belongs to.

~ShortTimeFFT.stft

Perform Short-time Fourier transform.

Aliases

  • scipy.signal.ShortTimeFFT.istft