Multirate Digital Signal Processing: Decimators and
Interpolators
1 Introduction to Multirate DSP
Multirate digital signal processing (DSP) involves manipulating signals at multiple sam-
pling rates to optimize computational efficiency, reduce storage, or adapt signals for dif-
ferent systems. Applications include audio/image processing, telecommunications, and
radar systems. The core operations are:
• Decimation: Reducing the sampling rate by a factor M .
• Interpolation: Increasing the sampling rate by a factor L.
• Fractional Rate Conversion: Combining decimation and interpolation for non-
integer rate changes.
Filtering is critical to prevent aliasing (decimation) or imaging (interpolation).
2 Decimation (Downsampling)
Decimation reduces the sampling rate of a signal x[n] with sampling rate fs by a factor
M , producing a signal y[n] at rate fs /M . It involves:
1. Low-pass filtering: To prevent aliasing.
2. Downsampling: Keeping every M -th sample.
2.1 Mathematical Representation
The process is:
1. Filter x[n] with a low-pass filter h[n] (cutoff π/M ) to produce v[n]:
∑
∞
v[n] = x[n] ∗ h[n] = x[k]h[n − k]
k=−∞
2. Downsample by selecting every M -th sample:
y[n] = v[nM ]
The combined operation is:
∑
∞
y[n] = x[k]h[nM − k]
k=−∞
1
2.2 Frequency-Domain Perspective
Downsampling compresses the spectrum:
1 ∑
M −1
Y (ejω ) = X(ej(ω−2πk)/M )
M k=0
Without filtering, frequencies beyond π/M cause aliasing. The low-pass filter ensures
only frequencies in [−π/M, π/M ] remain.
2.3 Practical Considerations
• Anti-aliasing Filter: Typically an FIR filter for linear phase.
• Filter Design: Cutoff at π/M , with sufficient stopband attenuation.
• Efficiency: Decimation reduces sample count, lowering computational load.
2.4 Example
To decimate a 48 kHz signal by M = 2 to 24 kHz:
1. Apply a low-pass filter with cutoff at 12 kHz.
2. Keep every second sample: y[n] = v[2n].
2.5 Applications
• Audio compression (e.g., MP3 encoding).
• Digital receivers for narrowband signal extraction.
• Multistage processing for optimized filter design.
3 Interpolation (Upsampling)
Interpolation increases the sampling rate of x[n] from fs to Lfs . It involves:
1. Upsampling: Inserting L − 1 zeros between samples.
2. Low-pass filtering: To remove imaging artifacts.
3.1 Mathematical Representation
1. Upsample to create v[n]:
{
x[n/L], if n = 0, ±L, ±2L, . . .
v[n] =
0, otherwise
2. Filter v[n] with a low-pass filter h[n] (cutoff π/L, gain L):
∑
∞ ∑
∞
y[n] = v[n] ∗ h[n] = v[k]h[n − k] = x[k]h[n − kL]
k=−∞ k=−∞
2
3.2 Frequency-Domain Perspective
Upsampling creates L spectral images:
V (ejω ) = X(ejωL )
The low-pass filter removes images, retaining the baseband in [−π/L, π/L].
3.3 Practical Considerations
• Interpolation Filter: FIR filters ensure linear phase.
• Polyphase Implementation: Splits the filter into L subfilters for efficiency.
3.4 Example
To interpolate a 16 kHz signal by L = 3 to 48 kHz:
1. Insert two zeros: v[0] = x[0], v[1] = 0, v[2] = 0, v[3] = x[1], . . ..
2. Apply a low-pass filter with cutoff π/3.
3.5 Applications
• Digital audio (e.g., DAC oversampling).
• Image scaling for resolution enhancement.
• Communication systems for rate matching.
4 Polyphase Decomposition
Polyphase decomposition optimizes decimation and interpolation.
4.1 Polyphase Decimation
Decompose the filter h[n] into M subfilters:
∑
M −1
h[n] = hm [n], hm [n] = h[nM + m]
m=0
Computes only required samples, reducing complexity.
4.2 Polyphase Interpolation
Decompose h[n] into L subfilters:
∑
L−1
h[n] = hl [n], hl [n] = h[n + l]
l=0
Each subfilter processes a subset of the upsampled signal.
3
4.3 Benefits
• Reduces computations (e.g., avoids multiplications by zero).
• Enables parallel processing in hardware.
5 Fractional Sampling Rate Conversion
For a rate change by L/M :
1. Interpolate by L: Upsample and filter to Lfs .
2. Decimate by M : Filter and downsample to (L/M )fs .
Use a single filter with cutoff min(π/L, π/M ).
6 Practical Challenges and Solutions
• Aliasing (Decimation): Use a sharp low-pass filter.
• Imaging (Interpolation): Apply a low-pass filter with gain L.
• Filter Design: Balance sharpness and computational cost; consider multistage
processing.
• Finite Precision: Mitigate quantization noise with higher precision or dithering.
7 Applications of Multirate DSP
• Audio processing (resampling, oversampling).
• Video processing (scaling, frame rate conversion).
• Software-defined radio (channelization).
• Biomedical signal processing (ECG, EEG resampling).
• Filter banks (subband coding, wavelet transforms).
8 Summary
• Decimation: Filter (cutoff π/M ) and downsample to reduce rate.
• Interpolation: Upsample and filter (cutoff π/L) to increase rate.
• Polyphase Decomposition: Enhances efficiency.
• Fractional Conversion: Combines interpolation and decimation.
Multirate DSP enables efficient signal processing across diverse applications.
4
Sampling Rate Conversion, Multistage Decimators
and Interpolators, and Polyphase Filters
1 Introduction to Sampling Rate Conversion
Sampling rate conversion in multirate digital signal processing (DSP) involves changing
the sampling rate of a discrete-time signal to match system requirements, optimize com-
putational efficiency, or reduce storage. It is critical in applications like audio processing,
telecommunications, and image scaling. The two primary operations are:
• Decimation: Reducing the sampling rate by a factor M .
• Interpolation: Increasing the sampling rate by a factor L.
Fractional rate conversion (by L/M ) combines both. Multistage designs and polyphase
filters enhance efficiency, especially for large rate changes.
2 Sampling Rate Conversion
Sampling rate conversion adjusts the sampling rate of a signal x[n] with sampling rate fs
(period Ts = 1/fs ) to a new rate fs′ . The process depends on whether the rate increases
(fs′ > fs ), decreases (fs′ < fs ), or changes fractionally (fs′ = (L/M )fs ).
2.1 Decimation (Downsampling)
Decimation reduces the sampling rate by an integer factor M , producing y[n] at rate
fs /M . Steps:
1. Low-pass filtering: Apply a filter h[n] with cutoff π/M to prevent aliasing.
∑
∞
v[n] = x[n] ∗ h[n] = x[k]h[n − k]
k=−∞
2. Downsampling: Retain every M -th sample:
y[n] = v[nM ]
The combined operation is:
∑
∞
y[n] = x[k]h[nM − k]
k=−∞
1
In the frequency domain, downsampling compresses the spectrum:
1 ∑
M −1
jω
Y (e ) = X(ej(ω−2πk)/M )
M k=0
The filter ensures frequencies beyond π/M are suppressed to avoid aliasing.
2.2 Interpolation (Upsampling)
Interpolation increases the sampling rate by an integer factor L, producing y[n] at rate
Lfs . Steps:
1. Upsampling: Insert L − 1 zeros between samples:
{
x[n/L], if n = 0, ±L, ±2L, . . .
v[n] =
0, otherwise
2. Low-pass filtering: Apply a filter h[n] with cutoff π/L and gain L:
∑
∞
y[n] = x[k]h[n − kL]
k=−∞
In the frequency domain, upsampling creates L spectral images:
V (ejω ) = X(ejωL )
The filter removes images, retaining the baseband spectrum.
2.3 Fractional Rate Conversion
For a rate change by L/M :
1. Interpolate by L: Upsample and filter to Lfs .
2. Decimate by M : Filter and downsample to (L/M )fs .
A single low-pass filter with cutoff min(π/L, π/M ) can combine both steps for efficiency.
3 Multistage Decimators and Interpolators
For large rate changes, single-stage decimation or interpolation requires sharp filters with
many taps, increasing computational cost. Multistage processing splits the rate change
into multiple stages, using gentler filters to reduce complexity.
2
3.1 Multistage Decimation
A decimation factor M = M1 M2 · · · MK is implemented in K stages, each decimating by
Mi . For a signal at fs :
1. Stage 1: Filter with cutoff π/M1 , downsample by M1 (rate fs /M1 ).
2. Stage 2: Filter with cutoff π/M2 , downsample by M2 (rate fs /(M1 M2 )).
3. Continue to stage K.
The total rate becomes fs /M . Each stage uses a wider transition band, reducing filter
order.
3.2 Multistage Interpolation
An interpolation factor L = L1 L2 · · · LK is split into K stages, each interpolating by Li .
For a signal at fs :
1. Stage 1: Upsample by L1 , filter with cutoff π/L1 (rate L1 fs ).
2. Stage 2: Upsample by L2 , filter with cutoff π/L2 (rate L1 L2 fs ).
3. Continue to stage K.
The final rate is Lfs . Each stage uses simpler filters.
3.3 Advantages of Multistage Design
• Reduced Filter Order: Each stage uses a filter with a wider transition band,
requiring fewer taps.
• Computational Efficiency: Lower overall multiplications and additions.
• Flexibility: Optimizes for specific rate change factors.
3.4 Design Considerations
• Factorization: Choose Mi or Li to balance filter complexity and stage count (e.g.,
M = 8 as 2 × 2 × 2 or 4 × 2).
• Filter Optimization: Use FIR or IIR filters; FIR preferred for linear phase.
• Aliasing/Imaging Control: Ensure cumulative filtering prevents aliasing (deci-
mation) or imaging (interpolation).
3.5 Example
To decimate from 48 kHz to 6 kHz (M = 8):
• Single stage: Filter with cutoff π/8, downsample by 8. Requires a sharp filter.
• Two stages: (1) Filter with cutoff π/2, downsample by 2 (24 kHz); (2) Filter with
cutoff π/4, downsample by 4 (6 kHz). Uses simpler filters.
3
4 Polyphase Filters
Polyphase filters optimize decimation and interpolation by restructuring the filter to com-
pute only necessary samples, avoiding operations on zero-valued samples (interpolation)
or discarded samples (decimation).
4.1 Polyphase Decimation
For a decimation filter h[n], decompose into M subfilters:
∑
M −1
h[n] = hm [n], hm [n] = h[nM + m]
m=0
The decimated output is:
∑
M −1 ∑
y[n] = x[nM − m + kM ]hm [k]
m=0 k
Each subfilter hm [n] operates at the lower rate fs /M , reducing computations.
4.2 Polyphase Interpolation
For an interpolation filter h[n], decompose into L subfilters:
∑
L−1
h[n] = hl [n], hl [n] = h[n + l]
l=0
The interpolated output is: ∑
y[n] = x[k]h[n − kL]
k
The filter is computed only for non-zero upsampled inputs, with each subfilter handling
a phase of the output.
4.3 Benefits
• Efficiency: Avoids multiplications by zero (interpolation) or on discarded samples
(decimation).
• Parallelization: Subfilters can be processed independently in hardware.
• Scalability: Effective for large M or L.
4.4 Example
For M = 2 decimation:
• Decompose h[n] into h0 [n] = h[2n], h1 [n] = h[2n + 1].
• Compute outputs using two subfilters at half the rate.
4
5 Practical Considerations
• Filter Design: FIR filters ensure linear phase; IIR filters may reduce complexity
but introduce phase distortion.
• Aliasing/Imaging: Ensure filters have sufficient stopband attenuation.
• Multistage Optimization: Choose stage factors to minimize total filter taps
(e.g., prime factorization).
• Finite Precision: Mitigate quantization noise with higher precision or dithering.
6 Applications
• Audio Processing: Resampling for format conversion (e.g., 44.1 kHz to 48 kHz).
• Image Processing: Scaling images up/down.
• Telecommunications: Channelization in software-defined radio.
• Biomedical: Resampling ECG/EEG signals.
• Filter Banks: Subband coding and wavelet transforms.
7 Summary
• Sampling Rate Conversion: Adjusts rates via decimation (M ), interpolation
(L), or fractional (L/M ) changes.
• Multistage Processing: Splits large rate changes into stages for efficiency.
• Polyphase Filters: Optimize computations by processing only necessary samples.
Multirate DSP with multistage designs and polyphase filters enables efficient, high-quality
signal processing across diverse applications.
5
Quadrature Mirror Filters, Digital Filter Banks, and
Subband Coding
1 Introduction
Quadrature Mirror Filters (QMF), digital filter banks, and subband coding are integral
to multirate digital signal processing (DSP). These techniques decompose a signal into
frequency subbands, process them independently, and reconstruct the signal with minimal
distortion. They are widely used in audio/video compression, speech processing, and
communications. This document provides detailed notes on QMF, digital filter banks,
subband coding, and their applications.
2 Quadrature Mirror Filters (QMF)
Quadrature Mirror Filters are pairs of filters used in two-channel filter banks to split a
signal into low-pass and high-pass subbands, enabling efficient processing and reconstruc-
tion.
2.1 Definition and Properties
A QMF pair consists of a low-pass filter H0 (z) and a high-pass filter H1 (z), typically
related by:
H1 (z) = H0 (−z)
This ensures the filters have mirror-symmetric magnitude responses about the quadrature
frequency π/2. Key properties:
• Symmetry: |H0 (ejω )| = |H1 (ej(π−ω) )|.
• Power-Complementary: For perfect reconstruction (PR), the filters satisfy:
|H0 (ejω )|2 + |H1 (ejω )|2 = 1
• Orthogonality: Minimizes aliasing in subband processing.
2.2 QMF in Two-Channel Filter Banks
A two-channel QMF bank:
1. Analysis: Split the input x[n] into low-pass (x0 [n]) and high-pass (x1 [n]) subbands
using H0 (z) and H1 (z), followed by decimation by 2.
∑ ∑
x0 [n] = x[k]h0 [2n − k], x1 [n] = x[k]h1 [2n − k]
k k
1
2. Synthesis: Reconstruct the signal by upsampling and filtering with synthesis filters
G0 (z), G1 (z):
∑ ∑
x̂[n] = x0 [k]g0 [n − 2k] + x1 [k]g1 [n − 2k]
k k
For perfect reconstruction, the filters must satisfy:
H0 (z)G0 (z) + H1 (z)G1 (z) = 2z −l , H0 (−z)G0 (z) + H1 (−z)G1 (z) = 0
where l is a delay. Common choices: G0 (z) = H0 (z), G1 (z) = −H1 (z).
2.3 Design Considerations
• FIR vs. IIR: FIR QMFs are preferred for linear phase, ensuring no phase distor-
tion.
• Aliasing Cancellation: The mirror property and synthesis filter design cancel
aliasing introduced by decimation.
• Filter Length: Longer filters improve frequency separation but increase complex-
ity.
3 Digital Filter Banks
Digital filter banks generalize QMF to multiple channels, decomposing a signal into M
subbands for processing and reconstruction.
3.1 Structure
An M -channel filter bank consists of:
• Analysis Bank: M filters H0 (z), H1 (z), . . . , HM −1 (z), each followed by decimation
by M .
• Synthesis Bank: M filters G0 (z), G1 (z), . . . , GM −1 (z), preceded by upsampling
by M .
The subband signals are:
∑
xk [n] = x[m]hk [M n − m], k = 0, 1, . . . , M − 1
m
The reconstructed signal is:
∑
M −1 ∑
x̂[n] = xk [m]gk [n − M m]
k=0 m
2
3.2 Perfect Reconstruction (PR)
For PR, the filter bank must satisfy:
∑
M −1 ∑
M −1
Hk (z)Gk (z) = z −l , Hk (zW k )Gk (z) = 0, W = e−j2π/M
k=0 k=0
This ensures no aliasing, amplitude distortion, or phase distortion.
3.3 Types of Filter Banks
• Uniform Filter Banks: Equal bandwidth subbands, e.g., QMF for M = 2.
• Non-Uniform Filter Banks: Variable bandwidths, e.g., wavelet-based banks.
• Orthogonal Filter Banks: Filters satisfy orthogonality for efficient coding.
• Biorthogonal Filter Banks: Relax orthogonality for more design flexibility.
3.4 Polyphase Implementation
To improve efficiency, use polyphase decomposition:
∑ −1 −m
• Analysis filters: Hk (z) = Mm=0 z Hk,m (z M ).
∑ −1 m
• Synthesis filters: Gk (z) = M M
m=0 z Gk,m (z ).
The polyphase matrix H(z) and its inverse ensure PR, reducing computations by oper-
ating at the decimated rate.
4 Subband Coding
Subband coding (SBC) uses filter banks to split a signal into frequency subbands, encode
each subband independently, and reconstruct the signal. It exploits frequency-dependent
signal characteristics for efficient compression.
4.1 Process
1. Signal Decomposition: Use an analysis filter bank to split x[n] into M subbands.
2. Encoding: Quantize and encode each subband based on its energy and perceptual
importance.
3. Decoding and Reconstruction: Decode subbands and reconstruct using a syn-
thesis filter bank.
3
4.2 Key Features
• Perceptual Coding: Allocate bits to subbands based on human perception (e.g.,
masking in audio).
• Efficiency: High-energy subbands use more bits; low-energy subbands use fewer
or are discarded.
• Critical Sampling: Decimation by M in an M -channel bank maintains the same
total data rate.
4.3 Mathematical Formulation
The subband signals are decimated:
∑
xk [n] = x[m]hk [M n − m]
m
After encoding/decoding, the reconstructed signal is:
∑
M −1 ∑
x̂[n] = x̂k [m]gk [n − M m]
k=0 m
PR ensures x̂[n] = x[n − l].
4.4 Advantages
• Compression: Reduces data rate by exploiting subband energy differences.
• Scalability: Adjust bit allocation for variable quality.
• Flexibility: Supports applications like progressive transmission.
5 Applications of Subband Coding
Subband coding is widely used in signal processing and communications. Key applications
include:
5.1 Audio Compression
• MP3 and AAC: Split audio into 32 subbands using a pseudo-QMF bank, allocate
bits based on psychoacoustic models, and compress low-energy bands.
• Perceptual Coding: Emphasize audible frequencies, discard imperceptible com-
ponents.
• Example: MP3 uses a 32-channel filter bank with critical sampling, achieving high
compression ratios.
4
5.2 Video Compression
• MPEG Standards: Use subband coding or wavelet transforms to decompose
frames into spatial frequency bands.
• Scalable Video Coding: Encode subbands at different resolutions for adaptive
streaming.
• Example: JPEG2000 uses wavelet-based subband coding for efficient image com-
pression.
5.3 Speech Processing
• Speech Coding: Split speech into subbands for low-bit-rate codecs (e.g., G.729).
• Noise Reduction: Process subbands independently to suppress noise in specific
frequency ranges.
5.4 Communications
• Orthogonal Frequency Division Multiplexing (OFDM): Uses filter banks to
modulate subcarriers, improving spectral efficiency.
• Channel Equalization: Subband processing reduces complexity in wideband sys-
tems.
5.5 Biomedical Signal Processing
• ECG/EEG Compression: Decompose signals into subbands, encode significant
bands for efficient storage/transmission.
• Feature Extraction: Analyze subbands for diagnostic features.
5.6 Wavelet Transforms
• Multiresolution Analysis: Subband coding with wavelet filter banks enables
hierarchical signal decomposition.
• Example: JPEG2000 and ECG compression use wavelet-based subband coding.
6 Practical Considerations
• Filter Design: FIR QMFs ensure linear phase; IIR filters reduce complexity but
may distort phase.
• Aliasing Cancellation: QMF and PR conditions minimize aliasing.
• Computational Efficiency: Polyphase implementations reduce operations.
• Quantization Noise: Bit allocation strategies mitigate distortion in subband cod-
ing.
5
7 Summary
• QMF: Pairs of mirror-symmetric filters for two-channel subband decomposition
with aliasing cancellation.
• Digital Filter Banks: Generalize QMF to M -channel decomposition, enabling
PR with polyphase efficiency.
• Subband Coding: Decomposes, encodes, and reconstructs signals for efficient
compression.
• Applications: Audio (MP3), video (MPEG), speech, communications, and biomed-
ical processing.
QMF, filter banks, and subband coding are foundational to modern signal processing,
enabling efficient, high-quality compression and analysis.