Complex Bandpass Decimator
Extract a frequency subband using a onesided (complex) bandpass decimator
 Library:
DSP System Toolbox / Filtering / Multirate Filters
Description
The Complex Bandpass Decimator block extracts a specific subband of frequencies using a onesided, multistage, complex bandpass decimator. The block determines the bandwidth of interest using the specified center frequency, decimator factor, and bandwidth values.
This block supports SIMD code generation. For details, see Code Generation.
Ports
Input
x
— Data input
vector  matrix
Data input, specified as a vector or a matrix. The number of rows in the input must be a multiple of the decimation factor.
This port is unnamed unless you select the Specify center frequency from input port parameter.
Data Types: single
 double
Complex Number Support: Yes
Fc
— Center frequency
real scalar
Center frequency of the desired band in Hz, specified as a real, finite numeric scalar in the range [–Fs/2, Fs/2]. The value of Fs depends on the setting of the Inherit sample rate from input parameter. When you select this parameter, Fs is the value the block inherits from the input signal. When you clear this parameter, Fs is the value you specify in the Input sample rate (Hz) parameter.
This port is only available if you select the Specify center frequency from input port parameter.
Data Types: single
 double
Complex Number Support: Yes
Output
Port_1
— Filtered output
vector  matrix
Output of the complex bandpass decimator, returned as a vector or a matrix. The output contains the subband of frequencies specified by the parameters on the block dialog. The number of rows (frame size) in the output signal is 1/D times the number of rows in the input signal, where D is the decimation factor. The number of channels (columns) does not change.
The data type of the output is same as the data type of the input. The output signal is always complex.
Data Types: single
 double
Complex Number Support: Yes
Parameters
Filter specification
— Filter design parameters
Decimation factor
(default)  Bandwidth
 Decimation factor and bandwidth
Filter design parameters, specified as one of the following:
Decimation factor
–– The block specifies the decimation factor through the Decimation factor parameter. The bandwidth of interest (BW) is computed using the following equation:$$BW=Fs/D$$
where
Fs –– Sample rate specified through the Input sample rate (Hz) parameter.
D –– Decimation factor.
Bandwidth
–– The block specifies the bandwidth through the Bandwidth (Hz) parameter. The decimation factor (D) is computed using the following equation:$$D=\text{floor}\left(\frac{Fs}{BW+TW}\right)$$
where
Fs –– Sample rate specified through the Input sample rate (Hz) parameter.
BW –– Bandwidth of interest.
TW –– Transition width specified through the Transition width (Hz) parameter.
Decimation factor and bandwidth
–– The decimation factor and the bandwidth of interest are specified through the Decimation factor and Bandwidth (Hz) parameters.
Decimation factor
— Decimation factor
2
(default)  positive integer
Factor by which to reduce the bandwidth of the input signal, specified as a positive integer. The frame size (number of rows) of the input signal must be a multiple of the decimation factor.
Dependencies
This parameter applies when you set Filter
specification to either Decimation
factor
or Decimation factor and
bandwidth
.
Bandwidth (Hz)
— Bandwidth in Hz
5000
(default)  real positive scalar
Width of the frequency band of interest, specified as a real positive scalar in Hz.
Dependencies
This parameter applies when you set Filter
specification to either
Bandwidth
or Decimation
factor and bandwidth
.
Data Types: single
 double
Specify center frequency from input port
— Flag to specify center frequency
off (default)  on
When you select this check box, the center frequency is input through the Fc port. When you clear this check box, the center frequency is specified on the block dialog through the Center frequency (Hz) parameter.
When you select this check box, the block does not compute the filter response. To view the filter response, clear this check box, specify the center frequency on the block dialog, and click View Filter Response button.
Center frequency (Hz)
— Center frequency in Hz
0
(default)  real scalar
Center frequency of the desired band in Hz, specified as a real, finite numeric scalar in the range [–Fs/2, Fs/2].
Tunable: Yes
Data Types: single
 double
Stopband attenuation (dB)
— Stopband attenuation in dB
80
(default)  positive scalar
Stopband attenuation of the filter in dB, specified as a finite positive scalar.
Data Types: single
 double
 int8
 int16
 int32
 int64
 uint8
 uint16
 uint32
 uint64
Passband ripple (dB)
— Passband ripple in dB
1
(default)  positive scalar
Passband ripple of the filter, specified as a positive scalar in dB.
Dependencies
This parameter applies when you set Filter
specification to either
Bandwidth
or Decimation
factor and bandwidth
.
Data Types: single
 double
 int8
 int16
 int32
 int64
 uint8
 uint16
 uint32
 uint64
Transition width (Hz)
— Transition width in Hz
100
(default)  positive scalar
Transition width of the filter in Hz, specified as a positive scalar.
Data Types: single
 double
 int8
 int16
 int32
 int64
 uint8
 uint16
 uint32
 uint64
Reduce number of complex coefficients
— Minimize number of complex coefficients
on (default)  off
Minimize the number of complex coefficients. When you select this parameter, the first stage of the multistage filter is bandpass (with complex coefficients) centered at the specified center frequency. The first stage is followed by a mixing stage that heterodynes the signal to DC. The remaining filter stages, all with real coefficients, follow.
When you clear the parameter, the input signal is first passed through the different stages of the multistage filter. All stages are bandpass (complex coefficients). The signal is then heterodyned to DC if Mix signal to baseband parameter is selected and the frequency offset resulting from the decimation is nonzero.
Mix signal to baseband
— Mix signal to baseband
on (default)  off
Mix the signal to baseband. When you select this parameter, the block heterodynes the filtered, decimated signal to DC. This mixing stage runs at the output sample rate of the filter. When you clear this parameter, the block skips the mixing stage.
Dependencies
This parameter applies when you clear the Reduce number of complex coefficients parameter.
Inherit sample rate from input
— Flag to specify input sample rate
off (default)  on
When you select this parameter, the block inherits its sample rate from the input signal. The block calculates the sample rate based on the sample time of the input port. When you clear this parameter, specify the sample rate in Input sample rate (Hz).
Input sample rate (Hz)
— Input sample rate in Hz
44100
(default)  real positive scalar
Sampling rate of the input signal in Hz, specified as a real positive scalar.
Dependencies
This parameter applies when you clear the Inherit sample rate from input parameter.
Data Types: single
 double
View Filter Response
— Visualize frequency response
button
Click this button to open the Dynamic Filter Visualizer window and display the magnitude and phase response of the complex bandpass decimator. The response is based on the parameters you select in the block dialog box. To update the response while the visualizer is running, modify the parameters in the dialog box and click Apply.
You can configure the plot settings and the frequency response measurements from the interface of the visualizer.
On the Plot tab, you can enable the legend, specify to plot both magnitude and phase responses of the filter, modify the plot settings, generate a script to recreate the plot, and even save or share the settings.
On the Measurements tab, you can enable data cursors, and display the peak values of the filter response.
For more details on the Dynamic Filter Visualizer interface and its tools, see Configure Dynamic Filter Visualizer.
View Info
— View filter information
button
Display filter information of the Complex Bandpass Decimator block:
This button brings the functionality of the info
analysis method into the Simulink^{®} environment.
Simulate using
— Type of simulation to run
Code generation
(default)  Interpreted execution
Specify the type of simulation to run as one of the following:
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 thanInterpreted execution
.Interpreted execution
–– Simulate model using the MATLAB^{®} interpreter. This option shortens startup time but has slower simulation speed thanCode generation
.
Block Characteristics
Data Types 

Multidimensional Signals 

VariableSize Signals 

Algorithms
The complex bandpass decimator is designed by applying a complex frequency shift transformation on a lowpass prototype filter. The lowpass prototype in this case is a multirate, multistage finite impulse response (FIR) filter. The desired frequency shift applies only to the first stage. Subsequent stages scale the desired frequency shift by their respective cumulative decimation factors. For details, see Complex Bandpass Filter Design and Zoom FFT.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
The Complex Bandpass Decimator block supports SIMD code generation using Intel AVX2 technology under these conditions:
Input signal is complexvalued.
Input signal has a data type of
single
ordouble
.
The SIMD technology significantly improves the performance of the generated code.
Version History
Introduced in R2018a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)