Decimation & Interpolation (M=4) 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 M=4 M M Bandwidth - /4 Figure 12 USBLSB
Decimation & Interpolation Still OK. Lets Try a sequence with wider Bandwidth
Decimation & Interpolation (M=4) 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 M M Bandwidth > /4 Figure 13 USBLSB
Decimation & Interpolation Distortion (commonly known as “aliasing error”) is present if the bandwidth of the input sequence exceeds + /M When aliasing error is present, the signal cannot be recovered with interpolation Even if aliasing error is absent, there are multiple images in the interpolated spectrum
Decimation Filter To avoid aliasing error, a low pass filter is used to restricted the signal bandwidth to within + /M h(n)h(n) x(n)x(n) M y(n)y(n) v(n)v(n) (14a) (14b)
0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 M Low Pass anti-aliasing Filter Figure 14 Action of Anti-aliasing Filter (M=4)
Interpolation Filter (M=4) M g(n)g(n) x(n)x(n) y(n)y(n) v(n)v(n) M Figure 15a
Interpolation Filter (M=4) M g(n)g(n) x(n)x(n) y(n)y(n) v(n)v(n) M The I-filter fills the missing gaps in the output sequence Figure 15b
Interpolation Band Pass Filter (M=4) M Interpolation Filter G(z) Figure 16 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 /2
Action of Bandpass Filter (M=4) 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 Figure 17 Band Pass Filter /2
Action of Bandpass Filter (M=4) 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 Figure 18 Band Pass Filter /2
Action of Bandpass Filter (M=4) 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 Figure 19 Band Pass Filter M /2
Interpolation Band Pass Filter (M=4) M 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 /2 Figure 20
What’s the use of learning all this?
The power of Multi-rate Signal Processing Decimation, interpolation and filtering forms the backbone for efficient extraction of useful signal spectrum Real world signal usually only occupies part of the frequency spectrum Sometimes only certain part(s) of the spectrum is/are useful
The power of Multi-rate Signal Processing Decimation, interpolation and filtering forms the backbone for efficient extraction of useful signal spectrum Real world signal usually only occupies part of the frequency spectrum Sometimes only certain part(s) of the spectrum is/are useful
The power of Multi-rate Signal Processing Decimation, interpolation and filtering forms the backbone for efficient extraction of useful signal spectrum Real world signal usually only occupies part of the frequency spectrum Sometimes only certain part(s) of the spectrum is/are useful
Information extraction with Milti-band filtering Band 0 x(n)x(n) yo(n)yo(n) Band 1 y1(n)y1(n) Band 2 y2(n)y2(n) Band M-1 y M-1 (n) Figure 21
Applications of Bandpass filtering Subband Coding - Audio and Image data usually concentrates in narrow bands in the spectrum Decompose x(n) into M bands Select only the essential bands where information is concentrated (e.g. select K bands where K<M) x(n)= [x(0),x(1),....., x(N-1)] N Number of data samples MN Downsample each band by M M(N/M) = N K(N/M) < N
Applications of Bandpass filtering Subband Coding - A more practical scheme Decompose x(n) into M bands A coder to allocate more bits for (finer quantization) for more important bands and vice versa x(n)= [x(0),x(1),....., x(N-1)] N Number of data samples MN Downsample each band by M M(N/M) = N
Applications of Bandpass filtering Speech Recognition with Multi-band filtering Band 0 x(n)x(n) Figure 22 Band 1 Band 2 Band M-1 zero crossing detector Z0Z0 Z1Z1 Z2Z2 Z M-1
Applications of Bandpass filtering Speech Recognition with Multi-band filtering Decompose x(n) into M bands M<<N Each word is represented by the sequence of zero crossing Z = [z 1, z 2,..., z M ] Compute the number of zero- crossings in each band
Applications of Bandpass filtering Speech Recognition with Multi-band filtering Unknown Word x U (n) Z U =[z 1,...., z M ] Word 1 - Z 1 Word 2 - Z 2 Word 3 - Z 3 Word K - Z K MATCH BEST MATCH Word P Figure 23
Subband Coding H 0 (z) x(n)x(n) o(n)o(n) M CoderG 0 (z) M + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) M CoderG 1 (z) M v1(n)v1(n) y1(n)y1(n) H P (z) M CoderG P (z) M P(n)P(n) vP(n)vP(n) yP(n)yP(n) H M-1 (z) M CoderG M-1 (z) M M-1 (n) v M-1 (n)y M-1 (n) fo(n)fo(n) f1(n)f1(n) fP(n)fP(n) f M-1 (n) y(n)y(n) Figure 24 Analysis filterSynthesis filter
Subband Coding Forget the coder for the time being Can the input signal x(n) be fully recovered at the output?
Suband Decomposition and Reconstruction H 0 (z) x(n)x(n) o(n)o(n) M G 0 (z) M + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) M G 1 (z) M v1(n)v1(n) y1(n)y1(n) H P (z) M G P (z) M P(n)P(n) vP(n)vP(n) yP(n)yP(n) H M-1 (z) M G M-1 (z) M M-1 (n) v M-1 (n)y M-1 (n) fo(n)fo(n) f1(n)f1(n) fP(n)fP(n) f M-1 (n) y(n)y(n) Figure 25 Analysis filterSynthesis filter
Subband Coding Forget the coder for the time being Can the input signal x(n) be fully recovered at the output? Answer: No WHY?
Non-perfect Reconstruction in Subband Coding Filters are never perfect, causing aliasing error 0 /4 /4 /2 /4 /4 /2 /4 /4 /2 /4 Ideal Low Pass anti-aliasing Filter Figure 26 Non-ideal response M
Perfect Reconstruction (PR) in Subband Coding M = 2 H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Figure 27
Perfect Reconstruction (PR) in Subband Coding M = 2 H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Figure 27
Perfect Reconstruction (PR) in Subband Coding M = 2 H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Figure 27
Perfect Reconstruction (PR) in Subband Coding M = 2 H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Figure 27
Perfect Reconstruction (PR) in Subband Coding M = 2 H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Figure 27
H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Figure 27 Y(z) will not be equal to X(z) unless 1. T(z) = cz -K (c and K are constant, and 2. S(z) = 0 for all z (15)
(16) Eqn. (16) can be satisfied simply by selecting G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) (17)
(15) G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) (17) Eqn. (15) and (17) gives (18)
(15) G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) (17) Eqn. (15) and (17) gives (18) Let H 1 (z) = z -(N-1) H 0 (-z -1 )and N is even, (19)
For perfect reconstruction, Q(z) = constant The term H 0 (z)H 0 (z -1 ) is the autocorrelation function, i.e., (20) It can be easily proved that (21) * Prove (20) and (21) as an exercise
For Perfect Reconstruction, R(z)+R(-z) = constant if R(z)+R(-z) = 1 the PR filter is known as a ‘paraunitary’ solution, i.e. (22) (23)
Paraunitary Perfect Reconstruction Filter for M = 2 H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) 1. G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) 2. H 1 (z) = z -(N-1) H 0 (-z -1 ) 3. R(z) = H 0 (z) H 0 (z -1 ) 4. R(z) + R(-z) = 1 (24)
Multiband Paraunitary Perfect Reconstruction Filter The 2 band PR structure can be extended to multiband H0(z)H0(z) H1(z)H1(z) H0(z)H0(z) H1(z)H1(z) H0(z)H0(z) H1(z)H1(z) G0(z)G0(z) G1(z)G1(z) G0(z)G0(z) G1(z)G1(z) G0(z)G0(z) G1(z)G1(z) x[n]x[n] y[n]y[n]
Paraunitary PR Filter - a physical view 1. G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) 2. H 1 (z) = z -(N-1) H 0 (-z -1 ) 3. R(z) = H 0 (z) H 0 (z -1 ) 4. R(z) + R(-z) = 1 Let H(z) = H o (z)
Paraunitary PR Filter - a physical view Note: all odd terms are zero except for n=0, hence By definition,
Paraunitary PR Filter - a physical view 1. G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) 2. H 1 (z) = z -(N-1) H 0 (-z -1 ) 3. R(z) = H 0 (z) H 0 (z -1 ) 4. R(z) + R(-z) = 1 Let H(z) = H o (z) (25) Filters satisfying these requirement: Power Complementary filters
Simple Power Complementary Filter 1. G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) 2. H 1 (z) = z -(N-1) H 0 (-z -1 ) 3. R(z) = H 0 (z) H 0 (z -1 ) 4. R(z) + R(-z) = 1 (27) Let H(z) = H o (z)
Simple Power Complementary Filter However, H(z) = H o (z) and H 1 (z) = z -(N-1) H o (-z -1 ) (28) (29)
A physical interpretation 1. G 0 (z) = -H 1 (-z) and G 1 (z) = H 0 (-z) 2. H 1 (z) = z -(N-1) H 0 (-z -1 ) 3. R(z) = H 0 (z) H 0 (z -1 ) 4. R(z) + R(-z) = 1 /2 Ho(ej)Ho(ej)H1(ej)H1(ej) H o (e j ) - Low pass filter H 1 (e j ) - High pass filter G o (e j ) - LPF which passes H o (e j ) and reject H 1 (e j ) G 1 (e j ) - Opposite of G 0 (e j )
H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Equivalent Structure 2 channel PR-QMF subband filter H (z) b(n)b(n) M a(n)a(n) c(n)c(n) H (z M ) d(n)d(n) M a(n)a(n) c(n)c(n)
Equivalent Structure H (z) b(n)b(n) M a(n)a(n) c(n)c(n) H (z M ) d(n)d(n) M a(n)a(n) c(n)c(n) and (30a)
Equivalent Structure H (z) b(n)b(n) M a(n)a(n) c(n)c(n) H (z M ) d(n)d(n) M a(n)a(n) c(n)c(n) ? Decimation discards samples from a(n) b(n) different from a(n) and d(n) All pass filter If b(n) different from d(n), how can they give the same result c(n)? Answer: a matter of perspective Lets study from the other point of view
Equivalent Structure H (z M ) d(n)d(n) M a(n)a(n) c(n)c(n) d(n) = a(n) c(n) is the decimation of a(n) and d(n) H (z) b(n)b(n) M a(n)a(n) c(n)c(n) All pass filter We look at the alternative representation c(n) = b(n) Hence c(n) is the decimation of a(n) Same
Equivalent Structure H (z) b(n)b(n) M a(n)a(n) c(n)c(n) H (z M ) d(n)d(n) M a(n)a(n) c(n)c(n) (30b)
Polyphase Decomposition (30c)
Polyphase Decomposition (30c) Decimating H(z) by M times, associated with different delay terms.
Polyphase Decomposition H (z)H (z) b(n)b(n) M a(n)a(n) c(n)c(n) H0 (zM)H0 (zM) b(n)b(n) M a(n)a(n) c(n)c(n) H1 (zM)H1 (zM) H2 (zM)H2 (zM) H M-1 (z M ) z -1 Decimator
Polyphase Decomposition H0 (zM)H0 (zM) b(n)b(n) M a(n)a(n) c(n)c(n) H1 (zM)H1 (zM) H2 (zM)H2 (zM) H M-1 (z M ) z -1 H0 (z)H0 (z) M a(n)a(n) c(n)c(n) H1 (z)H1 (z) H2 (z)H2 (z) H M-1 (z) z -1 M M M According to equation (30a) Decimator
Polyphase Decomposition - a simplification in filter design /M/M /M 0 H(ej)H(ej) ,where
Polyphase Decomposition - a simplification in filter design /M/M /M 0 H(ej)H(ej)
Polyphase Decomposition /M/M /M 0 H(ej)H(ej) which is just a series of all-pass linear phase filter
All Pass Filter An approximation of linear phase APF
Uniform Bank Filter Applying Polyphase Decomposition
Uniform Bank Filter
Polyphase decomposition of H 0 (z) DFT Matrix
G(z)G(z) b(n)b(n) M a(n)a(n) c(n)c(n) G0 (zM)G0 (zM) c(n)c(n) M G1 (zM)G1 (zM) G2 (zM)G2 (zM) G M-1 (z M ) z -1 Polyphase Decomposition a(n)a(n) b(n)b(n) Interpolator
G(z)G(z) b(n)b(n) M a(n)a(n) c(n)c(n) G0 (zM)G0 (zM) c(n)c(n) M G1 (zM)G1 (zM) G2 (zM)G2 (zM) G M-1 (z M ) Polyphase Decomposition a(n)a(n) b(n)b(n) z -1 Interpolator
Polyphase Decomposition According to equation (30b) G0 (zM)G0 (zM) c(n)c(n) M G1 (zM)G1 (zM) G2 (zM)G2 (zM) G M-1 (z M ) a(n)a(n) b(n)b(n) z -1 G0 (z)G0 (z) c(n)c(n) M G1 (z)G1 (z) G2 (z)G2 (z) G M-1 (z) a(n)a(n) z -1 MMM Interpolator
Polyphase Decomposition of 2 channels QMF banks H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n)
Polyphase Decomposition of 2 channels QMF banks For PR condition, This can be,satisfied by choosing so that
Polyphase Decomposition of 2 channels QMF banks
H0(z)H0(z) o(n)o(n) 2 H0(z)H0(z) 2 + vo(n)vo(n) yo(n)yo(n) H 0 (-z) 1(n)1(n) 2 -H 0 (-z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) x(n)x(n)
Polyphase Decomposition of 2 channels QMF banks Polyphase decomposition: H0(z)H0(z) o(n)o(n) 2 H0(z)H0(z) 2 + vo(n)vo(n) yo(n)yo(n) H 0 (-z) 1(n)1(n) 2 -H 0 (-z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) x(n)x(n)
Polyphase Decomposition of 2 channels QMF banks H 0 (z) x(n)x(n) o(n)o(n) 2 G 0 (z) 2 + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) 2 G 1 (z) 2 v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Consider H 0 (z)
Polyphase Decomposition of 2 channels QMF banks H0(z)H0(z) x(n)x(n) 2 E0(z2)E0(z2) E1(z2)E1(z2) 2 z -1 x(n)x(n) Equivalent to E0(z)E0(z) E1(z)E1(z) 2 z -1 x(n)x(n) Equivalent to 2 vo(n)vo(n) vo(n)vo(n) vo(n)vo(n)
Polyphase Decomposition of 2 channels QMF banks H1(z)H1(z) x(n)x(n) 2 E0(z2)E0(z2) E1(z2)E1(z2) 2 z -1 x(n)x(n) Equivalent to E0(z)E0(z) E1(z)E1(z) 2 z -1 x(n)x(n) Equivalent to 2 v1(n)v1(n) v1(n)v1(n) v1(n)v1(n)
Polyphase Decomposition of 2 channels QMF banks E0(z)E0(z) E1(z)E1(z) 2 z -1 x(n)x(n) 2 vo(n)vo(n) v1(n)v1(n) E1(z)E1(z) E0(z)E0(z) 2 y(n)y(n) 2 z -1
Polyphase Decomposition of 2 channels QMF banks For PR, T(z) is a delay term, i.e., and