sdr.Decimator(decimation: int, taps: 'kaiser' | ArrayLike = 'kaiser', polyphase_order: int = 23, atten: float = 80, streaming: bool = False)

Creates a polyphase FIR decimating filter.

Parameters:
decimation: int

The decimation rate \(Q\).

taps: 'kaiser' | ArrayLike = 'kaiser'

The prototype filter design specification.

  • "kaiser": The prototype filter is designed using sdr.multirate_fir() with arguments 1 and decimation.

  • npt.ArrayLike: The prototype filter feedforward coefficients \(h[n]\).

polyphase_order: int = 23

The order of each polyphase filter. Must be odd, such that the filter lengths are even. Only used when taps="kaiser".

atten: float = 80

The stopband attenuation \(A_{\text{stop}}\) in dB. Only used when taps="kaiser".

streaming: bool = False

Indicates whether to use streaming mode. In streaming mode, previous inputs are preserved between calls to __call__().