Slides10

Slides10 - Course 18.327 and 1.130 Course Wavelets and...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Course 18.327 and 1.130 Course Wavelets and Filter Banks Refinement Equation: Iterative and Recursive Solution Techniques; Infinite Product Formula; Filter Bank Approach for Computing Scaling Functions and Wavelets Solution of the Refinement Equation N φ(t) = 2∑ h0[k] φ(2t-k) k=0 First, note that the solution to this equation may not always exist! The existence of the solution will depend on the discrete-time filter h0[k]. If the solution does exist, it is unlikely that φ(t) will have a closed form solution. The solution is also unlikely to be smooth. We will see, however, that if h0[n] is FIR with h0[n] = 0 outside 0 ≤ n ≤ N then φ(t) has compact support: φ(t) = 0 outside 0 < t < N 2 Approach 1 Iterate the box function φ(0)(t) φ(i + I) (t) (t) φ(t) = box function on [0 , 1] N 0 1 t = 2∑ h0[k] φ(i) (2t – k) k=0 If the iteration converges, the solution will be given by lim φ(i)(t) i→ ∞ This is known as the cascade algorithm. 3 Example: suppose h0[k] = {¼, ½, ¼} φ (i+1) (t) = ½ φ(i)(2t) + φ(i) (2t – 1) + ½ φ(i) (2t – 2) (2t (2t Then φ(0)(t) φ(0)(t) 1 1 1 2 0 1 2 φ(2)(t) t 1 02 φ(3)(t) 1 ½ 1 3 2 2 3 12 2 t 1 1 02 3 12 2 t 1 02 Converges to the hat function on [0, 2] t 4 Approach 2 Use recursion First solve for the values of φ(t) at integer values of t. Then solve for φ(t) at half integer values, then at quarter integer values and so on. This gives us a set of discrete values of the scaling function at all dyadic points t = n/2i. At integer points: N φ(n) = 2 ∑ h0[k] φ (2n – k) k=0 5 Suppose N = 3 3 φ(0) = 2 ∑ h0[k] φ(-k) k=0 3 φ(1) = 2 ∑ h0[k] φ(2-k) k=0 3 φ(2) = 2 ∑ h0[k] φ(4-k) k=0 3 φ(3) = 2 ∑ h0[k] φ(6-k) k=0 Using the fact that φ(n) = 0 for n < 0 and n > N, we can write this in matrix form as h0[0] φ(0) φ(0) h0[2] h0[1] h0[0] φ(1) φ(1) =2 h0[3] h0[2] h0[1] φ(2) φ(2) h0[3] φ(3) φ(3) 6 Notice that this is an eigenvalue problem λΦ = AΦ where the eigenvector is the vector of scaling function values at integer points and the eigenvalue is λ = 1. Note about normalization: Since (A - λI) Φ = 0 has a non-unique solution, we must choose an appropriate normalization for Φ The correct normalization is ∑ φ(n) = 1 n This comes from the fact that we need to satisfy the partition of unity condition, ∑ φ(x-n) = 1. n 7 At half integer points: N φ (n/2) = 2 ∑ h0[k] φ (n-k) k=0 So, for N = 3, we have φ(1/2) φ(3/2) φ(5/2) = h0[1] h0[0] 2 h0[3] h0[2] h0[1] h0[0] h0[3] h0[2] φ(0) φ(1) φ(2) φ(3) 8 Scaling Relation and Wavelet Equation in Frequency Domain φ(t) = 2 ∑ h0[k] φ(2t – k) k ∞ ∫∞φ(t)e-iΩt dt − ∞ = 2 ∑ h0[k] k ∫∞ φ(2t – k) e-iΩt dt −∞ = 2 ∑ h0[k] ½ k = ∞ φ(τ)e–iΩ(τ + k)/2 dτ ∫ −∞ ∞ ∑ h0[k]e-iΩk/2 φ(τ) k −∞ ∫ e- iΩτ/2 dτ 9 ^ i.e. φ(Ω) = H0(Ω) . 2 ^( Ω ) φ2 = H0(Ω) . H0 (Ω) . ^ (Ω) φ4 2 4 ^(0) = φ Π1 j= Ω H0( 2j ) QU` QU` QU` QU` QU` QU` QU` QU` = LMN LMN LMN LMN LMN LMN LMN LMN ∞ o ^ φ (0) ∞ ∫∞ φ(t) dt − = 1 (Area is normalized to 1) 10 10 So ∞ ^ φ(Ω) = Π H0 (Ωj ) j=1 2 Infinite Product Formula Similarly w(t) = 2 ∑ h1[k] φ(2t – k) k leads to ^ w(Ω) = H1( Ω ) ^ φ 2 (Ω) 2 Desirable properties for H0(ω): • H(0) = 1, so that ^(0) = 1 φ • H(ω) should decay to zero as ω → π , ∞ so that 2 ^ φ(Ω) d Ω < ∞ ∫ φ −∞ 11 11 Computation of the Scaling Function and Wavelet – Filter Bank Approach y0[n] ↑2 H0(ω) ⊕y [n]) ↑2 Y (ω x0[n] ↑2 H1(ω) 1 1 ↑2 x1[n] y H0(ω) ⊕Y [n]) ↑2 (ω y2[n] 2 H0(ω) ⊕ y3[n] Y3(ω) H1(ω) ↑2 x2[n] H1(ω) Normalize so that ∑ h0[n] = 1. n 12 12 i. Suppose y0[n] = δ[n] and xk[n] = 0. Y0(ω) = 1 Y1(ω) = Y0(2ω) H0(ω) = H0(ω) Y2(ω) = Y1(2ω) H0(ω) = H0(2ω)H0(ω) Y3(ω) = Y2(2ω) H0(ω) = H0(4ω) H0(2ω) H0(ω) After K iterations: K-1 YK(ω) = Π H0(2kω) k=0 What happens to the sampling period? Sampling period at input = T0 = 1 (say) Sampling period at output = TK = ½K 13 13 Treat the output as samples of a continuous time signal, yc (t), with sampling period ½K: K yK[n] = 1K yc(n/2K) 2K ^ ⇒YK(ω) = Yc (2Kω) ; -π ≤ ω ≤ π K c (yK(t) is chosen to be bandlimited) Replace 2Kω with Ω: K K-1 ^c YK(Ω) = YK(Ω/2k ) = Π H0(Ω/2K-k ) = Π H0( Ω/2j ) ; k=0 j=1 j=1 -2Kπ ≤ Ω ≤ 2Kπ So ∞ ^c ^ lim YK(Ω) = Π H0( Ω/2j) = φ(Ω) k→∞ j=1 14 14 ⇒ 2K yK[n] converges to the samples of the scaling function, φ(t), taken at t = n/2K. ii. Suppose y0[n] = 0, x0[n] = δ[n] and all other xk[n] = 0 K-2 YK(ω) = H1(2K-1ω) Π H0(2kω) k=0 Then K-2 ^c K) = H ( Ω ) Π H (Ω/2K-k) YK(Ω) = YK(Ω/2 12 0 = So k=0 K-1 Ω H1( 2 ) Π H0( 1 . Ωj 22 j=1 ) ^c ^ ^ lim YK(Ω) = H1(Ω/2) φ (Ω/2) = w(Ω) K→∞ ⇒ 2KyK[n] converges to the samples of the wavelet, w(t), taken at t = n/2K. 15 15 Support of the Scaling Function yk-1[n] ↑2 v[n] h0[n] yk[n] length {v[n]} = 2 • length {yk-1[n]} - 1 Suppose that h0[n] = 0 for n < 0 and n > N ⇒length {yk[n]} = length {v[n]} + length {h0[n]} – 1 = 2 • length {yK-1[n]} + N – 1 Solve the recursion with length {y0[n]} = 1 So length {yk[n]} = (2K –1)N + 1 16 16 c i.e. length {yK(t)} = TK . length {yK[n]} = (2K – 1) N + 1 2K = N- φ(t) N-1 2K lim K → ∞ length {φ(t)} = N 0 N t So the scaling function is supported on the interval [0, N] 17 17 18 18 Matlab Example 6 Matlab Generation of orthogonal scaling functions and wavelets MATLAB M-file MATLAB M-file By Inverse DWT 20 20 By Recursion 21 21 Comparison 22 22 Matlab Example 7 Matlab Generation of biorthogonal scaling functions and wavelets. MATLAB M-file Primary Daub 9/7 Pair 24 24 Dual Daub 9/7 Pair 25 25 ...
View Full Document

Ask a homework question - tutors are online