stft_detrend#
- ShortTimeFFT.stft_detrend(x, detr, p0=None, p1=None, *, k_offset=0, padding='zeros', axis=-1)[source]#
Calculate short-time Fourier transform with a trend being subtracted from each segment beforehand.
When the parameter detr is
None
, this method’s behavior is identical to thestft
method. Note that due to the detrending, the original signal cannot be reconstructed by theistft
.- Parameters:
- xnp.ndarray
The input signal as real or complex valued array. For complex values, the property
fft_mode
must be set to ‘twosided’ or ‘centered’.- detr‘linear’ | ‘constant’ | Callable[[np.ndarray], np.ndarray] | None
If ‘constant’, the mean is subtracted, if set to “linear”, the linear trend is removed from each segment. This is achieved by calling
detrend
. If detr is a function with one parameter, detr is applied to each segment.- p0int | None
The first element of the range of slices to calculate. If
None
then it is set top_min
, which is the smallest possible slice.- p1int | None
The end of the array. If
None
then p_max(n) is used.- k_offsetint
Index of first sample (t = 0) in x.
- padding‘zeros’ | ‘edge’ | ‘even’ | ‘odd’
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: int
The axis of x over which to compute the STFT. If not given, the last axis is used.
- Returns:
- Snp.ndarray
A complex array is returned with the dimension always being larger by one than of x. The last axis always represents 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
invertible
Check if STFT is invertible.
istft
Inverse short-time Fourier transform.
stft
Short-time Fourier transform (without detrending).
scipy.signal.ShortTimeFFT
Class this method belongs to.