Main Content

Filter signal using multipath gains at specified path delays

Use the `comm.ChannelFilter`

System object™ to filter a signal using multipath gains at specified path delays.

To filter a signal using multipath gains:

Create the

`comm.ChannelFilter`

object and set its properties.Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

creates a
multipath channel filter System object to filter an input signal with path gains at the specified path
delays`chanFilt`

= comm.ChannelFilter

sets properties using one or more name-value pairs. For example,
`chanFilt`

= comm.ChannelFilter(`Name`

,`Value`

)`'SampleRate',1e6`

sets the sampling rate to `1`

MHz.
Enclose each property name in quotes.

filters input signal `y`

= chanFilt(`x`

,`g`

)`x`

, through a multipath channel with path gains
`g`

, at the path delay locations specified by the PathDelays
property.

To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named `obj`

, use
this syntax:

release(obj)

The channel filter implements a fractional delay (FD) finite impulse response (FIR) bandpass filter with a length of 16 coefficients for each candidate fractional delay at 0, 0.02, 0.04, …, 0.98.

Each discrete path is rounded to its nearest candidate fractional delay, so the delay error limit is 1% of the sample time. To achieve a group delay bandwidth exceeding 80% and a magnitude bandwidth exceeding 90%, the algorithm selects the optimal FIR coefficient values for each fractional delay, while satisfying the following criteria:

Group delay ripple ≤ 10%

Magnitude ripple ≤ 2 dB

Magnitude bandedge attenuation = 3 dB

The plots show bandwidths that satisfy the design criteria for group delay ripple, magnitude ripple, and magnitude bandedge attenuation.

For additional information, see the article *A Matlab-based Object-Oriented Approach to Multipath Fading Channel
Simulation* at MATLAB^{®} Central.