scipy.signal.ShortTimeFFT.stft#

ShortTimeFFT.stft(x, p0=None, p1=None, *, k_offset=0, padding='zeros', axis=-1)[source]#

Perform the short-time Fourier transform.

A two-dimensional matrix with p1-p0 columns is calculated. The f_pts rows represent value at the frequencies f. The q-th column of the windowed FFT with the window win is centered at t[q]. The columns represent the values at the frequencies f.

Parameters:
x

The input signal as real or complex valued array. For complex values, the property fft_mode must be set to ‘twosided’ or ‘centered’.

p0

The first element of the range of slices to calculate. If None then it is set to p_min, which is the smallest possible slice.

p1

The end of the array. If None then p_max(n) is used.

k_offset

Index of first sample (t = 0) in x.

padding

Kind of values which are added, when the sliding window sticks out on either the lower or upper end of the input x. Zeros are added if the default ‘zeros’ is set. For ‘edge’ either the first or the last value of x is used. ‘even’ pads by reflecting the signal on the first or last sample and ‘odd’ additionally multiplies it with -1.

axis

The axis of x over which to compute the STFT. If not given, the last axis is used.

Returns:
S

A complex array is returned with the dimension always being larger by one than of x. The last axis always represent the time slices of the STFT. axis defines the frequency axis (default second to last). E.g., for a one-dimensional x, a complex 2d array is returned, with axis 0 representing frequency and axis 1 the time slices.

See also

delta_f

Width of the frequency bins of the STFT.

delta_t

Time increment of STFT

f

Frequencies values of the STFT.

invertible

Check if STFT is invertible.

istft

Inverse short-time Fourier transform.

p_range

Determine and validate slice index range.

stft_detrend

STFT with detrended segments.

t

Times of STFT for an input signal with n samples.

scipy.signal.ShortTimeFFT

Class this method belongs to.