Skip to main content
`Ctrl`+`K`
scipy.signal.ShortTimeFFT.

# stft_detrend

ShortTimeFFT.stft_detrend(x, detr, p0=None, p1=None, *, k_offset=0, padding='zeros', axis=-1)

  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 the `stft` method. Note that due to the detrending, the original signal cannot be reconstructed by the `istft`.

  Parameters:
    x np.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.

    p0 int | None

      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 int | None

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

    k_offset int

      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:
    S np.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.