Fiveable

📚Signal Processing Unit 13 Review

QR code for Signal Processing practice questions

13.3 Perfect Reconstruction Conditions

13.3 Perfect Reconstruction Conditions

Written by the Fiveable Content Team • Last updated August 2025
Written by the Fiveable Content Team • Last updated August 2025
📚Signal Processing
Unit & Topic Study Guides

Perfect Reconstruction Conditions for Filter Banks

Two-Channel Filter Bank Perfect Reconstruction

A two-channel filter bank splits a signal into two subbands (typically lowpass and highpass), downsamples each by 2, processes them, then upsamples and recombines. Perfect reconstruction means the output is an exact copy of the input, just delayed by some fixed number of samples, with no distortion or aliasing.

The analysis filters H0(z)H_0(z) and H1(z)H_1(z) split the signal, while the synthesis filters G0(z)G_0(z) and G1(z)G_1(z) recombine it. Two conditions must hold simultaneously for perfect reconstruction:

1. Alias cancellation condition:

H0(z)G0(z)+H1(z)G1(z)=0H_0(-z)G_0(z) + H_1(-z)G_1(z) = 0

Downsampling by 2 creates aliased copies of the signal (terms involving Hi(z)H_i(-z)). This condition forces those aliased components to cancel out when the subbands are recombined.

2. Distortion-free condition:

H0(z)G0(z)+H1(z)G1(z)=czn0H_0(z)G_0(z) + H_1(z)G_1(z) = cz^{-n_0}

where cc is a nonzero constant and n0n_0 is an integer delay. This ensures the remaining (non-aliased) signal passes through as a scaled, delayed copy of the input.

Both conditions together guarantee the reconstructed output equals cx[nn0]c \cdot x[n - n_0].

Matrix Representation and Polyphase Decomposition

The polyphase representation rewrites each filter in terms of its even- and odd-indexed coefficients. For a filter H(z)H(z), you split it as:

H(z)=Heven(z2)+z1Hodd(z2)H(z) = H_{\text{even}}(z^2) + z^{-1}H_{\text{odd}}(z^2)

This lets you group the analysis and synthesis filters into polyphase matrices Hp(z)\mathbf{H}_p(z) and Gp(z)\mathbf{G}_p(z). The perfect reconstruction condition in polyphase form becomes:

Gp(z)Hp(z)=czn0I\mathbf{G}_p(z) \mathbf{H}_p(z) = c z^{-n_0} \mathbf{I}

where I\mathbf{I} is the 2×2 identity matrix. This says the cascade of analysis and synthesis polyphase matrices must produce a pure delay times a scalar.

Why bother with polyphase form? Three reasons:

  • It moves the downsampling/upsampling operations to the input/output of the system, simplifying analysis
  • It directly reveals whether perfect reconstruction is achievable for a given filter set
  • It enables efficient implementations like the lattice structure and the lifting scheme, which reduce computation

Filter Design Impact on Reconstruction

Aliasing Cancellation and Filter Characteristics

Downsampling by 2 folds the spectrum, so frequency components that weren't properly separated by the analysis filters will overlap and create aliasing artifacts. The alias cancellation condition forces these artifacts to sum to zero at the output.

A common design choice that satisfies alias cancellation is the quadrature mirror filter (QMF) relationship:

H1(z)=H0(z),G0(z)=H0(z),G1(z)=H0(z)H_1(z) = H_0(-z), \quad G_0(z) = H_0(z), \quad G_1(z) = -H_0(-z)

This automatically zeroes out the aliasing terms. However, achieving both alias cancellation and zero distortion with FIR filters requires careful coefficient design.

In practice, the analysis filters H0(z)H_0(z) (lowpass) and H1(z)H_1(z) (highpass) need sharp transition bands and strong stopband attenuation. Poor stopband rejection means energy leaks between subbands, and the alias cancellation becomes only approximate, degrading reconstruction quality.

Orthogonal and Biorthogonal Filter Banks

Orthogonal filter banks impose the constraint that the synthesis filters are time-reversed versions of the analysis filters:

G0(z)=zNH0(z1),G1(z)=zNH1(z1)G_0(z) = z^{-N} H_0(z^{-1}), \quad G_1(z) = z^{-N} H_1(z^{-1})

This guarantees both perfect reconstruction and energy preservation (Parseval's property holds across subbands). Examples include the Haar wavelet and the Daubechies family (db2, db4, etc.). The tradeoff: orthogonal FIR filters cannot have linear phase (except the Haar, which is trivially short).

Biorthogonal filter banks relax the orthogonality requirement. The analysis and synthesis filters form a biorthogonal pair rather than being time-reverses of each other. This unlocks two advantages:

  • Linear phase is achievable with symmetric FIR filters, which avoids phase distortion
  • Analysis and synthesis filters can have different lengths, letting you optimize each side independently

The Cohen-Daubechies-Feauveau (CDF) wavelets are the most widely used biorthogonal family. The CDF 9/7 wavelet is the default in lossy JPEG 2000, while the CDF 5/3 wavelet is used for lossless JPEG 2000.

Key tradeoffs in filter design: Longer filters give sharper frequency separation but increase computational cost and system delay. Linear phase (biorthogonal) avoids phase artifacts but sacrifices orthogonality. Your application requirements dictate which tradeoffs matter most.

Filter Banks for Lossless Signal Processing

Orthogonal Filter Banks and Wavelets

Lossless processing demands that the reconstructed signal is exactly equal to the input (up to a delay), with no rounding errors or approximation. Orthogonal filter banks based on the discrete wavelet transform (DWT) naturally satisfy perfect reconstruction, making them a strong starting point.

The design process involves selecting scaling and wavelet functions whose associated filter coefficients satisfy the orthogonality conditions. For the Daubechies family:

  • Haar wavelet (db1): The simplest case, with 2-tap filters [1,1]/2[1, 1]/\sqrt{2} and [1,1]/2[1, -1]/\sqrt{2}. Minimal computation, but poor frequency selectivity.
  • Daubechies-4 (db2): Uses 4-tap filters with better frequency separation. Commonly used in lossless audio compression where moderate filter length is acceptable.

The challenge with floating-point orthogonal filters in truly lossless applications is that rounding errors can break exact reconstruction. This is where the lifting scheme becomes essential.

Biorthogonal Filter Banks and the Lifting Scheme

Biorthogonal filter banks are often preferred for lossless compression because the lifting scheme provides a way to implement them with integer-to-integer mappings, eliminating rounding errors entirely.

The lifting scheme decomposes any wavelet transform into a sequence of simple steps:

  1. Split: Separate the input samples into even-indexed and odd-indexed subsequences

  2. Predict (P): Use the even samples to predict the odd samples. The prediction residual becomes the detail (highpass) coefficients: d[n]=xodd[n]P(xeven[n])d[n] = x_{\text{odd}}[n] - P(x_{\text{even}}[n])

  3. Update (U): Use the detail coefficients to update the even samples, producing the approximation (lowpass) coefficients: a[n]=xeven[n]+U(d[n])a[n] = x_{\text{even}}[n] + U(d[n])

  4. Repeat additional predict/update pairs if the wavelet requires more lifting steps

Each step is trivially invertible (just reverse the sign), so perfect reconstruction is guaranteed by construction. For lossless applications, you round the predict and update operations to integers, and the inverse still works perfectly because the same rounding is applied during reconstruction.

The CDF 5/3 wavelet used in lossless JPEG 2000 has a particularly simple lifting implementation:

d[n]=xodd[n]xeven[n]+xeven[n+1]2d[n] = x_{\text{odd}}[n] - \left\lfloor \frac{x_{\text{even}}[n] + x_{\text{even}}[n+1]}{2} \right\rfloor

a[n]=xeven[n]+d[n1]+d[n]+24a[n] = x_{\text{even}}[n] + \left\lfloor \frac{d[n-1] + d[n] + 2}{4} \right\rfloor

Why lifting matters: It computes the wavelet transform in-place (no extra memory buffer needed), reduces multiply operations by roughly a factor of 2 compared to direct convolution, and naturally supports integer-to-integer transforms for lossless coding. These properties make it the standard implementation strategy in modern compression systems.