November 16, 1995, DSP Design Group Meeting

Introduction - Time-Frequency Analysis and Design - Filter Bank Design - Conclusion

Nov. 9th Talk: Matlab and the Ptolemy/Matlab Interface

Nov. 30th Talk: Tool Collaboration with Matlab in Design

- Review last week's talk
- Outline this week's talk

- Allows users to analyze and synthesize time-frequency signals using a graphical user interface
- The user fills rectangular bins in the time-frequency domain using the mouse to interact with Tk
- Menu commands for creating and displaying signals trigger Matlab commands sent by Tcl.
- Tcl/Matlab interface
- The Tcl/Matlab interface uses Unix pipes, which is not robust, but works in this context because the Tcl/Tk script creates the Matlab commands, and not the user

- Paraunitary filter banks
- Unitary matrix:
H U U = c I

- If U is square:
H -1 U = c U

- Let c=1 (normal):
H -1 -1 H U = U or U = U

- Note: real unitary matrix is orthogonal; if also c=1, then orthonormal
- Fourier Transform Unitary Matrix:
-1 j w T j w * X (e ) = X (e )

- Substitute
*z*= exp(*j w*) to get Paraunitary:-1 T -1 X (z) = X (z )

Subscript * means replace all coefficients by their complex conjugates

- Unitary matrix:
- Two channel filter bank
- We want the z-transform response with input X(z) to be a delayed
version of X(z):
-(N-1) T(z) X(z) + A(z) X(-z) = z X(z)

- Eliminate aliasing when A(z) = 0 (quadrature mirror filters), so
-(N-1) T(z) = G0(z) H0(z) + G1(z) H1(z) = z

- T(z) introduces magnitude and phase errors, which can be nearly eliminated (for near perfect reconstruction filter banks) or completely eliminate (for perfect reconstruction filter banks)
- The insight is that if G0(z)H0(z) is a valid halfband lp filter and G1(z)H1(z) is a valid halfband hp filter then T(z) is just a delay. The smith and barnwell solution is to work backwards and define a valid halfband lp filter and then find the spectral factors and assign them to G0(z) and H0(z).

- We want the z-transform response with input X(z) to be a delayed
version of X(z):
- Perfect reconstruction filter bank design by using direct spectral
factorization
- design halfband FIR filter (windows, Parks-McClellan)
- raise magnitude response to be non-negative so that it is
a power spectrum
- root the all-zero transfer function polynomial
- quantize roots
- split roots between minimum phase (analysis filter) and
maximum phase (synthesis filter)
- Problems: numerical errors in higher-order polynomials

- design halfband FIR filter (windows, Parks-McClellan)
- Matlab demos
- First, set the Matlab path
setenv MATLABPATH /users/williamc/matlab/2channelfb/cqmf

- Design of filters in a two-channel perfect reconstruction:
66th order, passband cutoff response of 2*0.2 normalized
between 0 and 1, and a passband deviation of 0.0005:
conj_qmf(66,[ 0.2 0.3], 0.00005, 1)

- First, set the Matlab path