Main Content

Channelizer

Polyphase FFT analysis filter bank

  • Channelizer block

Libraries:
DSP System Toolbox / Filtering / Multirate Filters

Description

The Channelizer block separates a broadband input signal into multiple narrow subbands using an FFT-based analysis filter bank. The filter bank uses a prototype lowpass filter and is implemented using a polyphase structure. You can specify the filter coefficients directly or through design parameters. When you specify the design parameters, the filter is designed using the designMultirateFIR function.

This block accepts variable-size inputs, so you can change the size of each input channel during simulation. However, the number of channels cannot change.

Ports

Input

expand all

Specify the input broadband signal that the channelizer splits into multiple narrow bands.

  • When you input a variable-size signal (frame length changes during simulation), the frame length of the signal can be arbitrary, that is, the input frame length does not have to be a multiple of the decimation factor.

  • When you input a fixed-size signal (frame length does not change during simulation), the frame length can be arbitrary only when you select the Allow arbitrary frame length for fixed-size input signals parameter.

This port is unnamed until you set Polyphase filter specification to Coefficients and select the Specify coefficients from input port parameter.

Data Types: single | double
Complex Number Support: Yes

Coefficients of the prototype lowpass filter. There must be at least one coefficient per frequency band. If the length of the lowpass filter is less than the number of frequency bands, the block zero-pads the coefficients.

If you specify complex coefficients, the block designs a prototype filter that is centered at a nonzero frequency, also known as a bandpass filter. The modulated versions of the prototype bandpass filter appear with respect to the prototype filter and are wrapped around the frequency range [−Fs Fs].

Dependencies

This port appears when you set Polyphase filter specification to Coefficients and select the Specify coefficients from input port parameter.

Data Types: single | double
Complex Number Support: Yes

Output

expand all

Multiple narrow subbands of the input broadband signal. Each narrow band signal forms a column in the output.

The dimensions of the output signal depend on the dimensions of the input signal and whether you select the Allow arbitrary frame length for fixed-size input signals parameter.

This table provides more details on the dimensions of the output signal when you input a fixed-size input signal.

Fixed-Size Input Signal

Input SignalOutput Signal Dimensions

L-by-1 column vector, where L is a multiple of M

(L/M)-by-M

L-by-1 column vector, where L is not a multiple of M

ceil(L/M)-by-M when you select Allow arbitrary frame length for fixed-size input signals.

If you do not select Allow arbitrary frame length for fixed-size input signals, the block errors.

L-by-N matrix, where L is a multiple of M

(L/M)-by-M-by-N

L-by-N matrix, where L is not a multiple of M

ceil(L/M)-by-M-by-N when you select Allow arbitrary frame length for fixed-size input signals.

If you do not select Allow arbitrary frame length for fixed-size input signals, the block errors.

This table provides more details on the dimensions of the output signal when you input a variable-size input signal.

Variable-Size Input Signal

Input SignalOutput Signal Dimensions

L-by-1 column vector, where L is a multiple of M

(L/M)-by-M

L-by-1 column vector, where L is not a multiple of M

ceil(L/M)-by-M

Allow arbitrary frame length for fixed-size input signals parameter setting is ignored.

L-by-N matrix, where L is a multiple of M

(L/M)-by-M-by-N

L-by-N matrix, where L is not a multiple of M

ceil(L/M)-by-M-by-N

Allow arbitrary frame length for fixed-size input signals parameter setting is ignored.

Data Types: single | double
Complex Number Support: Yes

Parameters

expand all

If a parameter is listed as tunable, then you can change its value during simulation.

Number of frequency bands M into which the block separates the input broadband signal. This parameter indicates the FFT length and the decimation factor used by the algorithm.

  • Number of taps per band and stopband attenuation — Specify the filter design parameters through the Number of filter taps per frequency band and Stopband attenuation (dB) parameters. When you specify the design parameters, the filter is designed using the designMultirateFIR function.

  • Coefficients — Specify the filter coefficients directly using the Prototype lowpass filter coefficients parameter or input them through the coeffs port.

Decimation factor D specified as a positive integer less than or equal to the number of frequency bands M.

If the decimation factor D equals the number of frequency bands M, then the M/D ratio equals 1, and the channelizer is known as the maximally decimated channelizer.

If the M/D ratio is greater than 1, the output sample rate is different from the channel spacing, and the channelizer is known as the non-maximally decimated channelizer. If the ratio is an integer, the channelizer is known as the integer-oversampled channelizer. If the ratio is not an integer, say 4/3, the channelizer is known as the rationally oversampled channelizer. For more details, see Algorithm.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Number of filter coefficients that each polyphase branch uses. The number of polyphase branches matches the number of frequency bands. The total number of filter coefficients for the prototype lowpass filter is given by Number of frequency bands × Number of filter taps per frequency band. For a given stopband attenuation, increasing the number of taps per band narrows the transition width of the filter. As a result, there is more usable bandwidth for each frequency band, at the expense of increased computation.

Dependencies

To enable this parameter, set Polyphase filter specification to Number of taps per band and stopband attenuation.

Stopband attenuation of the lowpass filter, in dB. This value controls the maximum amount of aliasing from one frequency band to the next. As the stopband attenuation increases, the passband ripple decreases.

Dependencies

To enable this parameter, set Polyphase filter specification to Number of taps per band and stopband attenuation.

When you select this parameter, the lowpass filter coefficients are input through the coeffs port. When you clear this parameter, the coefficients are specified on the block dialog through the Prototype lowpass filter coefficients parameter.

Dependencies

To enable this parameter, set Polyphase filter specification to Coefficients.

Coefficients of the prototype lowpass filter. The default value is the coefficients vector that rcosdesign(0.25,6,8,'sqrt') returns. There must be at least one coefficient per frequency band. If the length of the lowpass filter is less than the number of frequency bands, the block zero-pads the coefficients.

If you specify complex coefficients, the block designs a prototype filter that is centered at a nonzero frequency, also known as a bandpass filter. The modulated versions of the prototype bandpass filter appear with respect to the prototype filter and are wrapped around the frequency range [−Fs Fs].

Tunable: Yes

Dependencies

To enable this parameter, set Polyphase filter specification to Coefficients and clear the Specify coefficients from input port parameter.

Complex Number Support: Yes

Specify whether fixed-size input signals (whose size does not change during simulation) can have an arbitrary frame length, where the frame length does not have to be a multiple of the decimation factor. The block uses this parameter setting only for fixed-size input signals and ignores this parameter if the input has a variable-size.

When the input signal is a variable-size signal, the signal can have arbitrary frame length, that is, the frame length does not have to be a multiple of the decimation factor.

For fixed-size input signals, if you:

  • Select the Allow arbitrary frame length for fixed-size input signals parameter, the frame length of the signal does not have to be a multiple of the decimation factor. If the input is not a multiple of the decimation factor, then the output is generally a variable-size signal. Therefore, to support arbitrary input size, the block must also support variable-size operations, which you can enable by selecting the Allow arbitrary frame length for fixed-size input signals parameter.

  • Clear the Allow arbitrary frame length for fixed-size input signals parameter, the input frame length must be a multiple of the decimation factor.

Type of simulation to run. You can set this parameter to:

  • Interpreted execution: Simulate model using the MATLAB® interpreter. This option shortens startup time.

  • Code generation: Simulate model using generated C code. The first time you run a simulation, Simulink® generates C code for the block. The C code is reused for subsequent simulations as long as the model does not change. This option requires additional startup time but provides faster subsequent simulations.

Block Characteristics

Data Types

double | single

Multidimensional Signals

No

Variable-Size Signals

Yes

More About

expand all

Algorithms

expand all

References

[1] Harris, Fredric J, Multirate Signal Processing for Communication Systems, Prentice Hall PTR, 2004.

[2] Harris, F.J., Chris Dick, and Michael Rice. "Digital Receivers and Transmitters Using Polyphase Filter Banks for Wireless Communications." IEEE® Transactions on Microwave Theory and Techniques. 51, no. 4 (2003).

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2017a

expand all