# Channelizer

Polyphase FFT analysis filter bank

• Library:
• 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. That is, during the simulation, you can change the size of each input channel. The number of channels cannot change.

## Ports

### Input

expand all

Input broadband signal, which the channelizer splits into multiple narrow bands. The number of rows in the input signal must be a multiple of the number of frequency bands of the filter bank. Each column of the input corresponds to a separate channel.

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.

If the input is one of the following:

• L-by-1 column vector — The output is a L/M-by-M matrix. M is the number of frequency bands.

• L-by-N matrix — The output is a L/M-by-M-by-N matrix.

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 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.

Oversampling ratio, specified as a positive scalar divisor of the number of frequency bands.

If the value is greater than `1`, the output sample rate is different from the channel spacing. The channelizer is then known as the non-maximally decimated channelizer or 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

• `Interpreted execution`

Simulate model using the MATLAB® interpreter. This option shortens startup time and has faster simulation speed compared to ```Code generation```.

• `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`

expand all

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 GenerationGenerate C and C++ code using Simulink® Coder™.

Introduced in R2017a

Watch now