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.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Polyphase FFT synthesis filter bank

The `dsp.ChannelSynthesizer`

System
object™ 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.

Each narrowband signal is stored as a column in the input signal, `x`

.
The number of columns in `x`

corresponds to the
number of frequency bands of the filter bank. If `x`

is
three-dimensional, each matrix corresponds to a separate channel.
If *M* is the number of frequency bands, and `x`

is
an *L*-by-*M* matrix, then the output
signal, `y`

, has dimensions *L×M*-by-1.
If `x`

has more than one channel, that is, it has
dimensions *L*-by-*M*-by-*N*,
then `y`

has dimensions *L×M*-by-*N*.
The input `x`

can be complex and supports single
and double data types.

This object also accepts variable-size inputs. That is, once the object is locked, you can change the size of each input channel. The number of channels cannot change. This object supports C and C++ code generation.

To merge multiple narrowband signals into a broadband signal:

Create a

`dsp.ChannelSynthesizer`

object and set the properties of the object.Call

`step`

to synthesize the signal.

Alternatively, instead of using the `step`

method
to perform the operation defined by the System
object, you can
call the object with arguments, as if it were a function. For example, ```
y
= step(obj,x)
```

and `y = obj(x)`

perform
equivalent operations.

`synthesizer = dsp.ChannelSynthesizer`

creates
a synthesizer object, using the default properties.

`synthesizer = dsp.ChannelSynthesizer(Name,Value)`

specifies
additional properties using `Name,Value`

pairs. Unspecified
properties have default values.

**Example**:

synthesizer = dsp.ChannelSynthesizer('NumTapsPerBand',20,'StopbandAttenuation',140);

coeffs | Coefficients of prototype lowpass filter |

polyphase | Polyphase matrix |

reset | Reset internal states of System object |

step | Merge narrowband signals into a broadband signal |

tf | Transfer function |

Common to All System Objects | |
---|---|

`clone` | Create System object with same property values |

`getNumInputs` | Expected number of inputs to a System object |

`getNumOutputs` | Expected number of outputs of a System object |

`isLocked` | Check locked states of a System object (logical) |

`release` | Allow System object property value changes |

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

`dsp.Channelizer`

|`dsp.DyadicSynthesisFilterBank`

|`dsp.FIRHalfbandDecimator`

|`dsp.FIRHalfbandInterpolator`

|`dsp.IIRHalfbandInterpolator`

- Channel Synthesizer | Channelizer | Dyadic Analysis Filter Bank | Two-Channel Analysis Subband Filter

Was this topic helpful?