Wavelet Analysis Willy Hereman Department of Mathematical and Computer Sciences Colorado School of Mines Golden, CO 80401-1887 Sandia Laboratories December 10, 1998 Coordinate-Coordinate Formulations CC1 and CC2 Integral formulation of the Dirichlet problem (ψ T(xs) = 0) leads to i F (x) = Z L 2 − L2 ZpD1 (x, x0)N T(x0)dx0 N T is the normal derivative of the field on the surface (surface current) F i a linear combination of the incident field ψ i(xs) and the normal derivative N i evaluated on the surface F i(x) = βψ i(xs) + αN i(xs). Note that F i comes from a linear combination of two equations: ψ i(xs) = (SN T)(xs) and 1 T N (xs) = N i(xs) − PV ∂n(SN T)(xs). 2 The “impedance” kernel (D=Dirichlet) is 1 ZpD1 (x, x0) = αδ(x − x0) + α PV G0p1 (x, x0) + βGp1 (x, x0) 2 involves a Dirac delta function term, the periodic Green’s function ∞ 1 ik1[αj (x−x0)+βj |s(x)−s(x0)|] i λ X e Gp1 (x, x ) = 4π L j=−∞ βj 0 and its normal derivative G0p1 (x, x0) = [nj ∂j Gp1 (x, x0)]|z=s(x) |z 0 =s(x0 ) nj is the (non-unit) surface normal PV represents Cauchy Principal Value Discretization of i F (x) = Z L 2 − L2 ZpD1 (x, x0)N T(x0)dx0 yields a matrix whose row and column entries both result from sampling in coordinate space (coordinate-coordinate method, CC for short). ZNT = Fi. The real parameters α and β in F i(x) = βψ i(xs) + αN i(xs) specify the type of equation: For α = 0 • first kind integral equation • referred to as CC1 For β = 0 • second kind integral • referred to as CC2 For β = 1 and α arbitrary • combined field integral equation (CFIE) Solution of the unknown N T yields the amplitudes An. The amplitudes lead to the energy (normalized): X n |An|2 Re(βn) . β0 We will always test how close this is to 1. Daubechies’ Orthogonal Wavelets with Compact Support Example: DAUB4 (2 vanishing moments) Scaling and wavelet function families: j φj,k (x) = 2 2 φ(2j x − k) j ψj,k (x) = 2 2 ψ(2j x − k). The two-scale difference equations for φ(x) and ψ(x) : √ X 3 φ(x) = 2 hk φ(2x − k) k=0 ψ(x) = √ 3 X 2 gk φ(2x − k) k=0 • The functions φ(x) and ψ(x) are supported on interval [0, 3]. • The scaling function φ(x) is orthogonal to all its integer translates. • The scaling function φ(x) is properly normalized Z ∞ −∞ φ(x)dx = 1. • The wavelet function ψ(x) has two vanishing moments Z ∞ −∞ ψ(x)dx = Z ∞ −∞ xψ(x)dx = 0. In the Fourier space, the low pass filter with M = 2 vanishing moments √ 1+z 2 3 X k H(z) = hk z = 2( ) Q(z), with z = exp (−2πiω) 2 k=0 with Q(z) is polynomial of degree 1. H(z) satisfies the quadrature mirror filter (QMF) condition 1 1 H(z)H( ) + H(−z)H(− ) = 2. z z The polynomial Q(z) for M = 2 is computed from factorization of MX −1 1 z 1 (M − 1 + k)! (1 − z)2k (4z)−k = 2 − − . Q(z)Q( ) = (−1)k z k!(M − 1)! 2z 2 k=0 The averaging (low pass) filter H = {h0, h1, h2, h3}, where h0 = h1 = h2 = h3 = √ 1 √ (1 + 3) = 0.4829629131445343 4 2 √ 1 √ (3 + 3) = 0.836516303737808 4 2 √ 1 √ (3 − 3) = 0.2241438680420134 4 2 √ 1 √ (1 − 3) = −0.1294095225512604 4 2 The differencing (high pass) filter G = {g0, g1, g2, g3} = {h3, −h2, h1, −h0}. Both H and G have L = 4 filter taps. The high pass filter annihilates constant and linear trends: 1g0 + 1g1 + 1g2 + 1g3 = 0 and 0g0 + 1g1 + 2g2 + 3g3 = 0. Example: DAUB6 (3 vanishing moments) Scaling and wavelet function families: j φj,k (x) = 2 2 φ(2j x − k) j ψj,k (x) = 2 2 ψ(2j x − k). The two-scale difference equations for φ(x) and ψ(x) : √ X 5 hk φ(2x − k) φ(x) = 2 k=0 ψ(x) = √ 5 X 2 gk φ(2x − k) k=0 • The functions φ(x) and ψ(x) are supported on interval [0, 5]. • The scaling function φ(x) is orthogonal to all its integer translates. • The scaling function φ(x) is properly normalized Z ∞ −∞ φ(x)dx = 1. • The wavelet function ψ(x) has three vanishing moments Z ∞ ψ(x)dx = −∞ Z ∞ xψ(x)dx = −∞ Z ∞ 2 x ψ(x)dx = 0. −∞ In the Fourier space, the low pass filter with M = 3 vanishing moments √ 1+z 3 5 X k H(z) = hk z = 2( ) Q(z), with z = exp (−2πiω). 2 k=0 Q(z) for M = 3 is polynomial of degree 2 and computed via (M − 1 + k)! (1 − z)2k (4z)−k k!(M − 1)! k=0 19 3z 2 3 9z 9 = + + 2− − . 4 8 8z 4 4z 1 Q(z)Q( ) = z MX −1 (−1)k The averaging (low pass) filter H = {h0, h1, h2, h3, h4, h5}, where h0 = h1 = h2 = h3 = h4 = h5 = r √ √ 1 √ (1 + 10 + 5 + 2 10) = 0.3326705529500826 16 2 r √ √ 1 √ (5 + 10 + 3 5 + 2 10) = 0.806891509311093 16 2 r √ √ 1 √ (10 − 2 10 + 2 5 + 2 10) = 0.4598775021184915 16 2 r √ √ 1 √ (10 − 2 10 − 2 5 + 2 10) = −0.1350110200102546 16 2 r √ √ 1 √ (5 + 10 − 3 5 + 2 10) = −0.0854412738820267 16 2 r √ √ 1 √ (1 + 10 − 5 + 2 10) = 0.03522629188570955 16 2 The differencing (high pass) filter G = {g0, g1, g2, g3, g4, g5} = {h5, −h4, h3, −h2, h1, −h0}. Both H and G have L = 6 filter taps. The high pass filter annihilates constant, linear and quadratic trends: 1g0 + 1g1 + 1g2 + 1g3 + 1g4 + 1g5 = 0 0g0 + 1g1 + 2g2 + 3g3 + 4g4 + 5g5 = 0 and 0g0 + 1g1 + 4g2 + 9g3 + 16g4 + 15g5 = 0 The Wavelet Transform For CC, SC or SS formulations: we have to solve a linear system Ax = b x is the vector of unknowns, A and b are given. Apply wavelets to: • the integral equations, • the matrix equations. Wavelet transform methods are applied to: • sparsify the matrix, • make the matrix inversion faster, • speed up the solution process for x. Different types of wavelets can be used, e.g. Daubechies’ wavelets. The wavelet transform is described as a similarity transform (implemented as convolution). If W is the orthogonal matrix which performs the wavelet transform on the columns of a matrix, then the wavelet transform à of A is à = WAWT since W−1 = WT (similarity transform). Applying this transformation to Ax = b we get WAWT Wx = Wb or Ãx̃ = b̃, where x̃ = Wx and b̃ = Wb. Pick a threshold τ and replace à by Ã(t) as follows (t) 0, Ãij Ãij = |Ãij | ≤ τ max |Ãmn|, m,n otherwise. Solve the new system Ã(t)x̃ = b̃ for x̃. Then compute x = WT x̃, which is the thresholded solution Ax = b. Observations: • Cost: the times necessary to apply the wavelet transform and its inverse, and to do a matrix search to threshold can be many times the inversion time of the untransformed impedance matrix. This is particularly true for the SC and SS methods whose small matrix sizes make the inversion much faster. • We can not reach a sparsity of 10 % (only 10 % of the matrix elements remain after thresholding). A 10 % level of sparsity our matrices become singular unless we dramatically oversampled to begin with. • The accuracy decreased dramatically as sparsity increased. • Sparsification may help iterative techniques. • We have control over sampling. Proponents of wavelets go immediately to large matrices which are often the result of oversampling. • We achieved better results with small dense matrices and no wavelet techniques.