dsphdl.Channelizer
Polyphase filter bank and fast Fourier transform
Description
The dsphdl.Channelizer
System object™ separates a broadband input signal into multiple narrowband output signals. It
provides hardware speed and area optimization for streaming data applications. The object
accepts scalar or vector input of real or complex data, provides hardware-friendly control
signals, and has optional output frame control signals. You can achieve gigasamples-per-second
(GSPS) throughput by using vector input. The object implements a polyphase filter, with one
subfilter per input vector element. The hardware implementation interleaves the subfilters,
which results in sharing each filter multiplier (FFT Length /
Input Size) times. The object implements the same pipelined Radix 2^2 FFT
algorithm as the dsphdl.FFT
System object.
To channelize input data:
Create the
dsphdl.Channelizer
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?
Note
You can also generate HDL code for this hardware-optimized algorithm, without creating a MATLAB® script, by using the DSP HDL IP Designer app. The app provides the same interface and configuration options as the System object.
Creation
Description
returns a
System object, channelizer
= dsphdl.Channelizerchannelizer
, that implements a raised-cosine filter
and an 8-point FFT.
sets properties using one or more name-value arguments. channelizer
= dsphdl.Channelizer(Name=Value
)
Properties
Usage
Syntax
Description
[
filters and computes a fast Fourier transform, and returns the frequency channels,
dataOut
,validOut
]
= channelizer(dataIn
,validIn
)dataOut
, detected in the input signal, dataIn
,
when validIn
is 1
(true). The
validIn
and validOut
arguments are logical
scalars that indicate the validity of the input and output signals, respectively.
[
returns the frequency channels, dataOut
,validOut
]
= channelizer(dataIn
,validIn
,reset
)dataOut
, detected in the input
signal, dataIn
, when validIn
is
1
(true) and reset
is 0
(false). When reset
is 1
(true), the object stops
the current calculation and clears all internal state.
To use this syntax, set the ResetInputPort
property to true
. For example:
channelizer = dsphdl.Channelizer(...,ResetInputPort=true); ... [dataOut,validOut] = channelizer(dataIn,validIn,reset)
[
returns the frequency channels, dataOut
,startOut
,endOut
,validOut
]
= channelizer(___)dataOut
, computed from the input
arguments of any of the previous syntaxes. startOut
is
1
(true) for the first sample of a frame of output data.
endOut
is 1
(true) for the last sample of a
frame of output data.
To use this syntax, set the StartOutputPort
and EndOutputPort
properties to true
. For example:
channelizer = dsphdl.Channelizer(...,StartOutputPort=true,EndOutputPort=true); ... [dataOut,startOut,endOut,validOut] = channelizer(dataIn,validIn)
Input Arguments
Output Arguments
Object Functions
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)