sdr.Decimator.__call__(x: ArrayLike, mode: 'rate' | 'full' = 'rate') ndarray

Filters and decimates the input signal x[n] with the polyphase FIR filter.

Parameters:
x: ArrayLike

The input signal x[n] with sample rate fs and length L.

mode: 'rate' | 'full' = 'rate'

The non-streaming convolution mode.

  • "rate": The output signal y[n] has length L/r proportional to the decimation rate r. Output sample 0 aligns with input sample 0.

  • "full": The full convolution is performed. The output signal y[n] has length (L+N)r, where N is the order of the multirate filter. Output sample delay aligns with input sample 0.

In streaming mode, the "full" convolution is performed. However, for each L input samples only L/r output samples are produced per call. A final call with input zeros is required to flush the filter state.

Returns:

The filtered signal y[n] with sample rate fs/r. The output length is dictated by the mode argument.