#### Previous topic

scipy.signal.hilbert2

#### Next topic

scipy.signal.detrend

# scipy.signal.decimate

`scipy.signal.``decimate`(x, q, n=None, ftype='iir', axis=-1, zero_phase=None)

  Downsample the signal after applying an anti-aliasing filter.

  By default, an order 8 Chebyshev type I filter is used. A 30 point FIR filter with Hamming window is used if ftype is ‘fir’.

  Parameters:

  x : ndarray

  > The signal to be downsampled, as an N-dimensional array.

  q : int

  > The downsampling factor. For downsampling factors higher than 13, it is recommended to call `decimate` multiple times.

  n : int, optional

  > The order of the filter (1 less than the length for ‘fir’). Defaults to 8 for ‘iir’ and 30 for ‘fir’.

  ftype : str {‘iir’, ‘fir’} or `dlti` instance, optional

  > If ‘iir’ or ‘fir’, specifies the type of lowpass filter. If an instance of an `dlti` object, uses that object to filter before downsampling.

  axis : int, optional

  > The axis along which to decimate.

  zero_phase : bool, optional

  > Prevent phase shift by filtering with `filtfilt` instead of `lfilter` when using an IIR filter, and shifting the outputs back by the filter’s group delay when using an FIR filter. A value of `True` is recommended, since a phase shift is generally not desired. Using `None` defaults to `False` for backwards compatibility. This default will change to `True` in a future release, so it is best to set this argument explicitly.

  > New in version 0.18.0.

  Returns:

  y : ndarray

  > The down-sampled signal.

  See also

  `resample`
    Resample up or down using the FFT method.
  `resample_poly`
    Resample using polyphase filtering and an FIR filter.

  Notes

  The `zero_phase` keyword was added in 0.18.0. The possibility to use instances of `dlti` as `ftype` was added in 0.18.0.