Skip to main content
`Ctrl`+`K`

# scipy.signal.ShortTimeFFT.istft

ShortTimeFFT.istft(S, k0=0, k1=None, *, f_axis=-2, t_axis=-1)

  Inverse short-time Fourier transform.

  It returns an array of dimension `S.ndim - 1` which is real if `onesided_fft` is set, else complex. If the STFT is not `invertible`, or the parameters are out of bounds a `ValueError` is raised.

  Parameters:
    S

      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

      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

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

  See also

  `invertible`

    Check if STFT is invertible.

  `stft`

    Perform Short-time Fourier transform.

  `scipy.signal.ShortTimeFFT`

    Class this method belongs to.

  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 Short-Time Fourier Transform section of the SciPy User Guide discussed the slicing behavior by means of an example.