Main Content

Multirate and Multistage Filters

Decimation, interpolation, rate conversion, and filter banks

Multirate filters are digital filters that change the sample rate of a digital signal without introducing aliasing or imaging in the rate-converted signal. These filters are categorized as decimators that reduce the sample rate, interpolators that increase the sample rate, and rate converters that do a combination of both. For details on these rate conversion operations and their effect on the signal in time and frequency domains, see Overview of Multirate Filters. DSP System Toolbox™ offers MATLAB® System objects and Simulink® blocks that implement decimators, interpolators, and rate converters. Advanced filter technologies such as channelizers, channel synthesizers, two-channel halfband filter banks, and multilevel filter banks use these filters as building components.

You can implement a multirate filter with a large rate conversion factor efficiently in two or more stages rather than in one single stage. When the design is long (contains many coefficients) and costly (requires many multiplications and additions per input sample), the multistage approach is more efficient to implement compared to the single-stage approach. For more details, see Overview of Multistage Filters.

The designMultistageDecimator and designMultistageInterpolator functions in DSP System Toolbox automatically determine the optimal configuration of the filter, which includes determining the number of stages and the rate conversion factor for each stage. An optimal configuration leads to the least computational effort and you can measure the cost of such an implementation using the cost function. For an example, see Multistage Rate Conversion.

Objects

expand all

dsp.FarrowRateConverterPolynomial sample rate converter with arbitrary conversion factor
dsp.FIRDecimatorPerform polyphase FIR decimation
dsp.FIRHalfbandDecimatorDecimate signal using polyphase FIR halfband filter
dsp.FIRHalfbandInterpolatorInterpolate signal using polyphase FIR halfband filter
dsp.FIRInterpolatorPerform polyphase FIR interpolation
dsp.FIRRateConverterPerform polyphase FIR sample rate conversion
dsp.IIRHalfbandDecimatorDecimate by factor of two using polyphase IIR
dsp.IIRHalfbandInterpolatorInterpolate by a factor of two using polyphase IIR
dsp.ParallelFilterCreate parallel sum filter structure (Since R2023b)
dsp.VariableFIRDecimatorPolyphase FIR decimation with tunable decimation factor (Since R2024b)
dsp.VariableFIRInterpolatorPolyphase FIR interpolation with tunable interpolation factor (Since R2024b)
dsp.ComplexBandpassDecimatorExtract a frequency subband using a one-sided (complex) bandpass decimator
dsp.DigitalDownConverterTranslate digital signal from intermediate frequency (IF) band to baseband and decimate it
dsp.DigitalUpConverterInterpolate digital signal and translate it from baseband to IF band
dsp.FilterCascadeCreate cascade of filter System objects
dsp.SampleRateConverterMultistage sample rate converter
dsp.CICCompensationDecimatorCompensate for CIC decimation filter using FIR decimator
dsp.CICCompensationInterpolatorCompensate for CIC interpolation filter using FIR interpolator
dsp.CICDecimatorDecimate signal using cascaded integrator-comb (CIC) filter
dsp.CICInterpolatorInterpolate signal using cascaded integrator-comb filter
dsp.ChannelizerPolyphase FFT analysis filter bank
dsp.ChannelSynthesizerPolyphase FFT synthesis filter bank
dsp.DyadicAnalysisFilterBankDyadic analysis filter bank
dsp.DyadicSynthesisFilterBankReconstruct signals from subbands
dsp.SubbandAnalysisFilterDecompose signal into high-frequency and low-frequency subbands
dsp.SubbandSynthesisFilterReconstruct signal from high-frequency and low-frequency subbands

Functions

expand all

coeffsReturns the filter System object coefficients in a structure
costEstimate cost of implementing filter System object
freqzFrequency response of discrete-time filter System object
filterAnalyzerAnalyze filters with Filter Analyzer app (Since R2024a)
infoInformation about filter System object
measureMeasure frequency response characteristics of filter System object
outputDelayDetermine output delay of single-rate or multirate filter (Since R2022a)
polyphasePolyphase decomposition of multirate filter
cascadeCascade of filter system objects
parallelCreate parallel sum filter structure
designMultirateFIRDesign and implement antialiasing and anti-imaging lowpass FIR filter
designMultistageDecimatorMultistage decimator design
designMultistageInterpolatorMultistage interpolator design
fdesign.decimatorDecimator filter specification object
fdesign.interpolatorInterpolator filter specification
fdesign.rsrcRational-factor sample-rate converter specification

Blocks

expand all

Farrow Rate ConverterPolynomial sample-rate converter with arbitrary conversion factor
FIR DecimationPerform polyphase FIR decimation
FIR Halfband DecimatorDecimate signal using polyphase FIR halfband filter
FIR Halfband InterpolatorInterpolate signal using polyphase FIR halfband filter
FIR InterpolationPerform polyphase FIR interpolation
FIR Rate ConversionPerform polyphase FIR sample rate conversion
IIR Halfband DecimatorDecimate signal using polyphase IIR halfband filter
IIR Halfband InterpolatorInterpolate signal using polyphase IIR halfband filter
Variable FIR DecimationPolyphase FIR decimation with tunable decimation factor (Since R2023a)
Variable FIR InterpolationPolyphase FIR interpolation with tunable interpolation factor (Since R2023a)
Complex Bandpass DecimatorExtract a frequency subband using a one-sided (complex) bandpass decimator
Digital Down-ConverterTranslate digital signal from intermediate frequency (IF) band to baseband and decimate it
Digital Up-ConverterInterpolate and translate digital signal from baseband to intermediate frequency (IF) band
Sample-Rate ConverterMultistage sample-rate conversion
CIC Compensation DecimatorCompensate for CIC filter using FIR decimator
CIC Compensation InterpolatorCompensate for CIC filter using FIR interpolator
CIC DecimationDecimate signal using cascaded integrator-comb filter
CIC InterpolationInterpolate signal using cascaded integrator-comb filter
ChannelizerPolyphase FFT analysis filter bank
Channel SynthesizerPolyphase FFT synthesis filter bank
Dyadic Analysis Filter BankDecompose signals into subbands with smaller bandwidths and slower sample rates or compute discrete wavelet transform (DWT)
Dyadic Synthesis Filter BankReconstruct signals from subbands with smaller bandwidths and slower sample rates or compute inverse discrete wavelet transform (IDWT)
Two-Channel Analysis Subband FilterDecompose signal into high-frequency and low-frequency subbands
Two-Channel Synthesis Subband FilterReconstruct signal from high-frequency and low-frequency subbands

Topics

Sample and Frame Rates in Multirate Models

Multirate Filters

Multistage Filters

Filter Banks

Dataflow

Delay and Latency

  • Time-Based Scheduling and Code Generation (Simulink Coder)
    Consider continuous and discrete block usage, sample times, rate transitions for multirate models, discretization, and choosing between single-tasking mode and multitasking mode when designing models intended for code generation.
  • Delay and Latency
    Configure the Simulink environment to minimize delay and increase simulation performance.

Featured Examples