sdr.Channelizer.__call__(x: ArrayLike, mode: 'rate' | 'full' = 'rate') NDArray

Channelizes the input signal \(x[n]\) with the polyphase FIR filter.

Parameters:
x: ArrayLike

The input signal \(x[n]\) with sample rate \(f_s\) and length \(L\).

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

The non-streaming convolution mode.

  • "rate": The output signals \(y_i[n]\) have length \(L / C\), proportional to the number of channels \(C\). Output sample 0 aligns with input sample 0.

  • "full": The full convolution is performed. The output signals \(y_i[n]\) have length \((L + N) / C\), 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 / C\) output samples are produced per call. A final call to flush() is required to flush the filter state.

Returns:

A 2-D array of channelized signals \(y_i[n]\) with sample rate \(f_s / C\). The output length is dictated by the mode argument.