Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Channel Synthesizer

Polyphase FFT synthesis filter bank

  • Library:
  • DSP System Toolbox / Filtering / Multirate Filters

Description

The Channel Syntheiszer block merges multiple narrowband signals into a broadband signal by using an FFT-based synthesis 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 also 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 narrowband signals, which the channel synthesizer merges to form the broadband signal. Each narrowband signal forms a column in the input signal. The number of columns in the input correspond to the number of frequency bands of the filter bank. If the input is three-dimensional, each matrix corresponds to a separate channel.

Data Types: single | double
Complex Number Support: Yes

Output

expand all

Broadband signal the channel synthesizer forms from the multiple input narrow subbands.

If the input is one of the following:

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

  • L-by-M-by-N matrix — The output is a L×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 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.

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 the product of the number of frequency bands and the number of filter taps per frequency band. The number of frequency bands equals the number of columns in the input. 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.

This parameter appears when you set Polyphase filter specification to Number of taps per band and stopband attenuation.

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. Larger is the stopband attenuation, smaller is the passband ripple.

Dependencies

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

This parameter specifies the coefficients of the prototype lowpass filter. The default value is the coefficients vector 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 object zero-pads the coefficients.

Tunable: Yes

Dependencies

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

  • 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 simulation speed than Interpreted execution.

  • Interpreted execution

    Simulate model using the MATLAB®  interpreter. This option shortens startup time but has slower simulation speed than Code generation.

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, Michael Rice. "Digital Receivers and Transmitters Using Polyphase Filter Banks for Wireless Communications." IEEE® Transactions on microwave theory and techniques. Vol. 51, Number 4, April 2003.

Extended Capabilities

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

Introduced in R2017a

Was this topic helpful?