Contents 1 Introduction 1.1 Project Motivation . . . . . . . . . . . . 1.2 Mathematical Formulation . . . . . . . . 1.2.1 Spectral-Spectral Formalism . . . 1.2.2 Coordinate-Coordinate Formalism . . . . 1 1 2 2 4 2 Approach 2.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Computational Method for the Spectral-Spectral Formalism . . . . . . . . . 6 6 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Properties of the Cosine Profile, Spectral-Spectral Method 3.1 Case 1: Well-Behaved Example . . . . . . . . . . . . . . . . . 3.2 Case 2: Poorly-Behaved Example . . . . . . . . . . . . . . . . 3.3 Effects of Non-Radiating Orders . . . . . . . . . . . . . . . . . 3.4 Eigenvalues of Matrices K . . . . . . . . . . . . . . . . . . . . 3.5 Wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 d/λ Error Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 10 13 16 19 20 21 4 Other Surfaces, Spectral-Spectral Method 4.1 Sawtooth Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Cosine Profile with Fast Modulation . . . . . . . . . . . . . . . . . . . . . . 28 28 30 5 The Coordinate-Coordinate Method 32 6 Conclusions 35 Bibliography 38 A Comparison to Alternate Method 39 i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List of Figures 1.1 Schematic representation of problem. . . . . . . . . . . . . . . . . . . . . . . 2 2.1 Flow chart describing our approach to the project. . . . . . . . . . . . . . . . 7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 Surface and incident plane wave, case one. . . . . . . . . . . . . . . . . . . . Real part of the matrix K, case one. . . . . . . . . . . . . . . . . . . . . . . Imaginary part of the matrix K, case one. . . . . . . . . . . . . . . . . . . . |Nj |2 and |N(x)|2 , case one. . . . . . . . . . . . . . . . . . . . . . . . . . . . Polar plot of Re (βj ) |Aj |2 /β0 , case one. . . . . . . . . . . . . . . . . . . . . Surface and incident plane wave, case two. . . . . . . . . . . . . . . . . . . . Real part of the matrix K, case two. . . . . . . . . . . . . . . . . . . . . . . Imaginary part of the matrix K, case two. . . . . . . . . . . . . . . . . . . . |Nj |2 and |N(x)|2 , case two. . . . . . . . . . . . . . . . . . . . . . . . . . . . Polar plot of Re (βj ) |Aj |2 /β0 , case two. . . . . . . . . . . . . . . . . . . . . Imaginary part of the matrix K, case two, with and without non-radiating orders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Polar plots of Re (βj )|Aj |2 /β0 , case two, with and without non-radiating orders. Imaginary part of the matrix K, failure of non-radiating orders. . . . . . . . Eigenvalues of matrices K . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oscillatory behavior of energy check . . . . . . . . . . . . . . . . . . . . . . . 1% error d/λ plot, 128 propagating orders. . . . . . . . . . . . . . . . . . . . 1% error d/λ plot, 64 propagating orders. . . . . . . . . . . . . . . . . . . . . 1% error d/λ plot, 128 propagating orders. . . . . . . . . . . . . . . . . . . . 1% error d/λ plot, 16 propagating orders. . . . . . . . . . . . . . . . . . . . . 1% error d/λ plot, varying propagating orders. . . . . . . . . . . . . . . . . . 17 17 19 20 23 24 25 25 26 27 4.1 4.2 Schematic representation of sawtooth profile. . . . . . . . . . . . . . . . . . . Schematic representation of cosine profile with areas of faster oscillation. . . 29 30 5.1 5.2 5.3 Sparsity of the wavelet transform of Z. Sampled every λ/4. . . . . . . . . . . Sparsity of the wavelet transform of Z. Sampled every λ/8. . . . . . . . . . . Sparsity of the wavelet transform of Z. Sampled every λ/16. . . . . . . . . . 33 33 34 ii 10 11 11 12 13 14 14 15 15 16 List of Tables 3.1 3.2 Benefits of added orders for fairly smooth surfaces. . . . . . . . . . . . . . . Relative times for wavelet transform . . . . . . . . . . . . . . . . . . . . . . 18 22 4.1 Error in adapted quadrature function . . . . . . . . . . . . . . . . . . . . . . 30 iii Chapter 1 Introduction 1.1 Project Motivation This project deals with the analysis of integral equations which arise in electromagnetic scattering and the possible application of wavelet decomposition methods to solve such equations. The specific application is to the scattering from rough surfaces, and in particular from very rough surfaces, which have large height and slope variability. We will analyze this problem with a Spectral-Spectral (SS) formalism derived from [4], with comparisons to Spectral-Coordinate (SC) [10] and Coordinate-Coordinate (CC) [13] formalisms. These descriptions refer to the spaces in which the rows and columns of a kernel matrix are sampled. We will determine the conditions under which the SS method produces accurate solutions to the scattering equations. The present application of wavelets to integral equations has been in the coordinate domain [8], so our application in the spectral domain is a novel technique. We will determine if wavelets, by sparsifying the matrix that defines the system of equations, can be used to find the solution more quickly. The efficient computational solution of electromagnetic scattering problems has broad implications and extensive applications in both industry and government. Although our specific application is to rough surfaces, the code developed under the severe sampling problems which can occur in surface scattering has the potential to be applied in less complex situations such as the scattering from arbitrarily shaped bodies. In summary, the project consists of the formulation of rigorous equations and development of algorithms and code for their solution. The aim is to provide an efficient and novel technique to solve complicated integral equations arising in electromagnetic scattering problems. The latter have applications to the laboratory investigation of controlled electromagnetic scattering experiments from materials, substrates, and other electromagnetic devices. Field applications could include the scattering from aircraft and missiles, the behavior of radar scattering from various obstacles on land, and the analysis of data useful in processing satellite imagery. 1 1.2 Mathematical Formulation We will now establish a computational method to solve integral equations which arise in the modeling of scattering of incident electromagnetic plane waves from a rough surface. We developed two computational methods to solve for the spectral amplitudes of perfectly reflected waves from a rough surface. We confine our initial application to a periodic rough surface. Below is a schematic representation of the problem. S(x) represents the profile of j = −2 j = −1 ic j = −3 j=0 j=1 j = −4 j=2 S(x) d L Figure 1.1: Schematic representation of the problem. S(x) is the surface profile: L is the period of the surface, d its depth, θ ic is the incident angle, and the index j refers to discrete scattered orders. the surface. The surface is considered to be periodic in this initial application, but random surfaces will be considered in the future. The period of the surface is denoted by L, and d is its depth. θic represents the incident angle of the incident plane wave and λ is its wavelength. Each j corresponds to a propagating order and a specific scattered angle, measured from the vertical z-direction. j = 0 is called the specular order which has a scattered angle equal to the incident angle. We will explore the SS and CC formalisms, both of which can be used to find the scattered amplitudes. 1.2.1 Spectral-Spectral Formalism When an incident plane wave strikes a rough surface, the angles of the scattered orders can be found from λ (1.1) sin θj = sin θic + j , L 2 which is called the Bragg equation. It is common to use α0 = sin θic and αj = sin θj , and therefore (1.1) can also be written as αj = α0 + jλ/L. Additionally, ⎧ ⎨ + 1 − αj2 , |αj | ≤ 1 βj = cos θj = ⎩ +i αj2 − 1, |αj | > 1, (1.2) If |αj | < 1, j is called a propagating order, and such an order carries energy away from the surface. A range of possible λ/L values can be determined depending on the incident angle and the number of propagating scattered orders we want to consider. Orders where |αj | > 1 are referred to as non-radiating. We used the equations from DeSanto’s derivation [4] to develop our computational method. The integral equation which arises in the mathematical model of rough surface scattering for the Dirichlet problem with an infinite surface is +∞ −∞ e−ik0 μx eik0 mS(x) N(x) dx = F + (μ), where m= √ + √1 − μ2 , +i μ2 − 1, |μ| ≤ 1 |μ| > 1, (1.3) (1.4) and where N(x) is the current induced on the surface by the incident wave, and k0 = 2π/λ is the wave number. In (1.4) μ = sin θ for either the incident angle or the scattered angle. F + (μ) is derived from the properties of the incident plane wave. It is defined as: F + (μ) = − 4πβ0 Dδ (α0 − μ) , k0 (1.5) where D is the amplitude of the incident plane wave, and δ(α0 − μ) is the Dirac delta. The kernel of the integral transform in (1.3) is in mixed SC representation, μ corresponding to the (scaled) spectrum. The equations can be reduced to integration over a single period for a periodic surface. In addition, the current N(x) can then be expanded and represented mathematically as N(x) = +∞ j =−∞ Nj eik0 αj x e−ik0 βj S(x) . (1.6) Expansions of this type have been referred to as a topological basis [9]. Upon discretization, the result is a system of linear equations, in which N is the unknown, and KN = F+ , (1.7) Fj+ = −2β0 Dδj0 , (1.8) 3 where δj0 is the Kronecker delta. The matrix K can written as follows [4]: Kjj 1 = 2π +π −π e−i(j−j )y eik0 (βj −βj )S ( 2π y) dy. L (1.9) Both indices j and j correspond to discrete SS space. Note that the matrix K has diagonal entries equal to one. After inverting K and solving for N, we can evaluate the following equation for the vector A: Mjj Nj = 2βj Aj , (1.10) j where Aj is the amplitude of the jth scattered order, and Mjj = 1 +π −i(j−j )y −ik0 (βj +βj )S ( L y ) 2π e e dy. 2π −π (1.11) After we solve for A, we can determine the scattered field at any coordinate (x, z) above the highest surface excursion via Ψsc (x, z) = Aj eik0 αj x eik0 βj z . (1.12) j We know that the sum of the scattered energy is equal to the energy of the incident wave: |Aj |2 Re (βj ) = β0 D 2 . (1.13) j We set D = 1 for all of our trials, and therefore the following condition should hold: j |Aj |2 Re (βj ) = 1. βo (1.14) This is the energy check condition used to verify the quality of our results. 1.2.2 Coordinate-Coordinate Formalism We used variations of the equations used by Wagner and Chew [13] to develop our computational method for the CC formalism. By setting the total field to zero on the surface, the following electric field integral equation (EFIE) results for finite body scattering: Ψic (r) = −Ψsc (r) = −iωμ0 S dl Jz (r ) g0 (r, r), (1.15) (1) where g0 is the two-dimensional Green’s function g0 (r, r ) = (i/4)H0 (k0 |r − r |). A time dependence of e−iωt is assumed. The EFIE is ill-conditioned at the resonant frequencies of the scattering, so we use the combined field integral equation (CFIE) to avoid resonance 4 problems. The CFIE can be derived by applying the differential operator P (r) = 1 + αn̂ · ∇ to both sides of (1.15), yielding α ∂Ψic (r) = −iωμ0 Ψic (r) + 2 ∂n ∂g0 (r, r) dl Jz (r ) g0 (r, r) + α , ∂n S r ∈ S. (1.16) The constant α is the CFIE parameter, and the solution should be independent of the choice of α. Discretizing (1.16) using a pulse basis for Jz and point matching yields the matrix formulation for the method of moments e = ZI. (1.17) In this equation, Z is a matrix with entries which can be approximated as Zjk = ωμ0 4 ⎧ γ ⎨Δk 1 + i 2 ln e k0 Δk − 2iα, π 4e 1 + (S (xk ))2 (1) ⎩Δk H (k0 |rj −rk |)−αk0 n̂j · rj −rk H (1) (k0 |rj −rk |) , j=k j= k, (1.18) where γ = 0.5772 is Euler’s constant, and Δi , ri , and n̂i are the width, center position, and outgoing normal to S, respectively, for the ith pulse. xi and S (xi ) are the horizontal and vertical center positions of the ith pulse. For an incident plane wave, e is defined as 0 ⎧ ⎨ ej = αik0 |rj −rk | ⎫ ⎬ 1 1− cos θic + S (xj ) sin θic eik0 [xj sin θ ⎭ ⎩ 2 2 1 + [S (xj )] ic −S(x j ) cos θ ic ]. (1.19) Once the equation is solved for I, we can use Ii = Jz (xi ) and, for one period, J˜z (kx ) = L 2 −L 2 e−ikx x Jz (x) dx (1.20) to approximate J˜z . Finally, we determine A, the spectral amplitudes, from 2 ωμ0 Aj = − 4 iπk0 1/2 J˜z (αj ). (1.21) Once A has been determined, the energy check (1.14) can be performed to determine if the solution is accurate. Several comparisons of the solutions from the SS and CC formalisms can be performed. If both solutions are correct, then it is true that N(x) ∝ Jz (x) and the two vectors A are the same. The energy check value from each method can also be compared. Preliminary investigations have not yielded an accurate energy check with the CC formalism in our reduction to a periodic surface. We are in the process of determining a solution to this problem. 5 Chapter 2 Approach 2.1 Goals One of the goals of this project is to determine if and when wavelet methods are beneficial to the solution of integral equations modeling scattering from rough surfaces. Figure 2.1 outlines our initial methodology and our approach to the problem. 2.2 Computational Method for the Spectral-Spectral Formalism The following is the basic computational procedure for the SS formalism: • Fix a value for λ/L. This determines the number of scattering orders, using (1.1). • Compute and graph the matrix K, using (1.9). • Compute F+ using (1.8). • Using both wavelets and conventional techniques, solve for N in (1.7). • Compute the matrix M, using equation (1.11). • Solve for A, using equation (1.10). • Perform the energy check (1.14) to determine if energy is conserved. Based on a working understanding of the SS formalism [4], we proceeded to program the problem in Mathematica. We found several troublesome conditions for which the energy check fails. We found that these problems were caused by tangency of the incident wave to the surface and that adding non-radiating orders minimized the problem. We also investigated the behavior of the eigenvalues of K with varying condition numbers. 6 Figure 2.1: Flow chart describing our approach to the project. 7 We investigated wavelet methods in Mathematica, but we found them to be too timeconsuming compared to the non-wavelet solution of the linear system. We quantified d/λ values and condition numbers of K which resulted in at most a 1% error in the energy check value. The quantification involved varying the incident angle and the matrix size. We transferred our prototype Mathematica program, which could only handle the cosine profile, into MATLAB. We believe that the professionally-written wavelets package in MATLAB will provide for better tests of wavelet strategies. The code was generalized to use any given surface. This required the use of a numerical quadrature algorithm to evaluate (1.9) and (1.11). We are currently developing a MATLAB program that analyzes periodic surfaces with the CC formalism. 8 Chapter 3 Properties of the Cosine Profile, Spectral-Spectral Method We investigated the cosine surface: d 2πx S(x) = − cos . 2 L (3.1) With this cosine surface, the matrices K and M can be obtained analytically in terms of Bessel functions, and the resulting expressions are [4]: −i(j−j ) π2 Kjj = e Jj−j i(j−j ) π2 Mjj = e Jj−j d π (βj − βj ) , λ (3.2) d π (βj + βj ) . λ (3.3) The ratio d/λ in the Bessel function indicates the roughness of the surface. If d/λ is large, the surface is rougher than if d/λ is small. Once we compute the matrix K and solve for the surface current, N, we can perform the energy check to verify our results. Mathematica was used to analyze this surface. Calculations were performed using IEEE double-precision arithmetic on various computer platforms. The program determined a range of λ/L values, given an incident angle and a target number of propagating orders. We fixed L = 1, and thus λ was altered to change the number of propagating orders. Using Mathematica’s built-in Bessel functions, the program computed the real and imaginary parts of K. Mathematica’s built-in LinearSolve command was used for all row-reduction procedures. This program achieved accurate energy check values for many different initial conditions. However, the correct energy check is a necessary but not sufficient condition. As a further check, we compared data from [11] to our own. They used the SC formalism and numerical integration method described in [10] to find the scattered amplitudes. As can be verified by the table in Appendix A, our results are in good agreement. We will discuss the analysis of two different surfaces in this section. First we will show the results of a well-behaved surface and incident angle, and then we will show the results 9 for a surface whose conditions cause it to be poorly-behaved. In general, poor results arise when the surface is rough (i.e. d/λ is large) or when the incident wave is nearly tangent to part of the surface. 3.1 Case 1: Well-Behaved Example We will begin by analyzing the results for a relatively shallow surface and an incident angle that is not tangent to the surface. Figure 3.1 illustrates such a case. The incident angle is 40 degrees (carefully note the scale), and d/λ = 0.1. For our case we chose λ such that 16 propagating scattered orders exist. 0.025 0.02 0.015 z 0.01 0.005 0 −0.005 −0.01 −0.5 −0.4 −0.3 −0.2 −0.1 0 x 0.1 0.2 0.3 0.4 0.5 Figure 3.1: Surface and incident plane wave, case one. Using these conditions, we can now find the entries of the matrices K and M, according to (3.2) and (3.3). Figure 3.2 shows the real part of the resulting matrix K as a three dimensional plot and a density plot. In 3.2(a), as will be the case with all plots of this type, the right-hand labels are column numbers, the left-hand labels are row numbers, and the height of the graph represents the value. In 3.2(b), the matrix is in standard position, with the first element at the upper left-hand corner. Lighter shades represent larger values, but white elements do not necessarily indicate the largest value in the matrix. Since the density plots represent relative values, they do not necessarily have the same scale for different matrices. Figure 3.3 shows the imaginary part of K. As is the case with most of the matrices K resulting from the cosine surface, K is very close to the identity matrix. The real part of K decays quickly to zero away from the main diagonal. In addition, the imaginary part is of relatively small magnitude. Another common characteristic of matrices K is that both the real and the imaginary parts oscillate in diagonal patterns. For these favorable parameters, the condition number of the matrix K is 1.19414. 10 −12 −10 1 0.8 −8 0.6 −6 0.4 0.2 −4 0 −2 −0.2 −15 5 −10 0 −5 0 −5 0 −10 5 2 −15 −12 −10 −8 (a) −6 −4 −2 0 2 −4 −2 0 2 (b) Figure 3.2: Real part of the matrix K, case one. −12 −10 0.1 −8 0.05 −6 0 −4 −0.05 −2 −0.1 −15 5 −10 0 −5 0 −5 0 −10 5 2 −15 (a) −12 −10 −8 −6 (b) Figure 3.3: Imaginary part of the matrix K, case one. 11 Using the equations given in the introduction, we then solve for the N and the induced current N(x). According to (1.6), N(x) is found by an infinite sum with Nj as coefficients. It is known that the Nj should decrease in magnitude as the magnitude of j increases. Since we have only a finite number of Nj values in N, we must check if these terms decay to zero within N. Figure 3.4(a) shows the values of |Nj |2 for each order. The figure illustrates that all other orders are quite negligible compared to N0 . Figure 3.4(b) gives |N(x)|2 , formed by the components Nj of N. In many physical applications, it is desired to find conditions for which there are localized effects, which would correspond to sharp spikes in this plot. For this surface, the induced current does not have any of these characteristics. 2.5 2.55 2.5 2 2.45 2.4 |Nj|^2 |N(x)|^2 1.5 2.35 1 2.3 2.25 0.5 2.2 0 −14 −12 −10 −8 −6 j −4 −2 0 2.15 −0.5 2 (a) −0.4 −0.3 −0.2 −0.1 0 x 0.1 0.2 0.3 0.4 0.5 (b) Figure 3.4: (a) |Nj |2 for each order, case one. (b) |N (x)|2 , case one. We then use the vector N to compute A, which is used to calculate the energy in each of the scattered orders. Figure 3.5 shows the energy in each of the scattered orders. For this example, almost all of the energy is in the zeroth (or specular) order, which corresponds to an angle of scattering equal to the angle of incidence. This is very close to perfect reflection off a flat surface. Since this surface is fairly flat, this energy distribution is to be expected. Finally, we verify the energy conservation condition. For these initial conditions, the energy check, which should be exactly one, is 0.99999980. This value does not call the accuracy of our results into question. However, it also does not necessarily imply that the amplitudes are correct, since the condition is necessary but not sufficient. 12 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 Figure 3.5: Polar plot of Re (βj ) |Aj |2 /β0 , case one. Most of the energy is in the specular order. 3.2 Case 2: Poorly-Behaved Example We will now consider a situation (shown in Figure 3.6) which has less favorable conditions. The surface is now much rougher, with d/λ = 1. Also, the incident wave, at an angle of 60◦ , is close to being tangent to part of the cosine surface. λ is still chosen so that 16 propagating scattered orders exist. K is found using the same method as in case one. Figure 3.7 displays the real part of K, and Figure 3.8 illustrates its imaginary part. As shown by the figures, K now has fewer terms that are near zero. This is most noticeable in the three-dimensional graphs of K. The vertical scale on the imaginary graph is now much larger. Also, the oscillations in the graph of the real part of K are more visible. The condition number of K is 5.25509, so K is not as well conditioned as it was in the previous case. For these conditions, the Nj values do not become negligible at one end of the vector N, as shown by Figure 3.9(a). Therefore, the N(x) is not nearly as accurate as it was in the previous case. The sharper spike in the graph of the surface current may or may not exist physically. The polar energy plot (Figure 3.10) for this case shows that the incident wave undergoes much more scattering by the second surface. This is caused mainly because the surface interactions are more complicated on a rougher surface. The energy check value for these conditions is 0.96045404, which shows that the method is no longer accurate, using our criterion of 1% error in the energy check. We will assume that these results are less accurate than for the first case. While we have not rigorously proved this assumption, we feel that a larger error in the energy check value will normally correspond to a less accurate result. 13 0.25 0.2 0.15 z 0.1 0.05 0 −0.05 −0.1 −0.5 −0.4 −0.3 −0.2 −0.1 0 x 0.1 0.2 0.3 0.4 0.5 Figure 3.6: Surface and incident plane wave, case two. Note the high tangency of the incident wave to the surface. −14 −12 1 −10 0.8 0.6 −8 0.4 −6 0.2 0 −4 −0.2 −0.4 −15 −2 5 −10 0 −5 0 −5 0 −10 5 −14 −15 (a) −12 −10 −8 −6 (b) Figure 3.7: Real part of the matrix K, case two. 14 −4 −2 0 −14 −12 0.6 −10 0.4 0.2 −8 0 −6 −0.2 −0.4 −4 −0.6 −15 −2 5 −10 0 −5 −5 0 0 −10 5 −15 −14 −12 −10 −8 (a) −6 −4 −2 0 (b) Figure 3.8: Imaginary part of the matrix K, case two. 2 5 1.8 4.5 1.6 4 1.4 3.5 3 |N(x)|^2 |Nj|^2 1.2 1 2.5 0.8 2 0.6 1.5 0.4 1 0.2 0.5 0 −14 −12 −10 −8 −6 j −4 −2 0 0 −0.5 2 (a) −0.4 −0.3 −0.2 −0.1 0 x 0.1 0.2 (b) Figure 3.9: (a) |Nj |2 for each order, case two. (b) |N (x)|2 , case two. 15 0.3 0.4 0.5 0.3 0.25 0.2 0.15 0.1 0.05 0 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 Figure 3.10: Polar plot of Re (βj ) |Aj |2 /β0 ), case two. 3.3 Effects of Non-Radiating Orders We found that even for some shallow surfaces the energy check value was inaccurate. One way to cure this problem is to add non-radiating orders [1, 2, 7]. These orders, for which |αj | > 1, follow exactly the same equations as the propagating orders. However, these non-radiating orders do not carry energy away from the surface. They have an effect of stabilizing the system, in particular when the incident wave is nearly tangent to the surface. The number of non-radiating orders that should be added depends on two factors: the incident angle and height of the surface. We found that the best way to determine the number of orders to add is related to the three-dimensional plot of the imaginary plot of K. We added orders until the edges of this graph appeared to have approached zero. Improvements in the energy check value can be seen until this point is reached. After that point, if more orders are added, any changes in the energy check are minimal. This technique can be applied to the second case from Section 3.2. Figure 3.11 shows the graph of the imaginary part of K for this case with and without the added orders. Using this new matrix K, the spectral amplitudes and energy check values were computed. Figure 3.12 shows the polar plot of scattered energy with and without the non-radiating orders. The results from the two methods are similar, but there is a noticeable difference. The scattered order corresponding to almost 90◦ is longer. The energy check value is significantly better if the non-radiating orders are added. It was 0.960454 without added orders, but now it is 1.000027. We found that adding non-radiating orders to the system is especially helpful in minimizing problems due to tangency and any other factors that can cause problems for a relatively smooth surface. Table 3.1 shows the effects of adding orders in several different cases. However, we found that adding non-radiating orders does not always make the energy 16 0.6 1 0.4 0.2 0.5 0 0 −0.2 −0.4 −0.5 −0.6 −15 −1 −30 5 −10 −20 0 −5 −5 0 20 −10 −10 5 10 0 0 −15 −10 10 −20 20 (a) −30 (b) Figure 3.11: Imaginary part of the matrix K, case two. (a) without non-radiating orders, (b) with 12 non-radiating orders added to each side. Note how values go to zero at the edges of the matrix. 0.3 0.3 0.25 0.25 0.2 0.2 0.15 0.15 0.1 0.1 0.05 0.05 0 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0 −0.02 0.16 (a) 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 (b) Figure 3.12: Polar plots of Re (βj )|Aj |2 /β0 , case two. (a) without non-radiating orders, (b) with 12 non-radiating orders added to each side. Note that the magnitude of the scattered amplitude corresponding to 90◦ is larger than the corresponding amplitude in Figure 3.12 (a). 17 Angle Matrix Size d/λ λ/L 25 16 1 65 16 0.1 65 16 0.5 65 16 1 65 32 0.1 65 32 0.5 65 32 1 0.119 0.125 0.1192 0.123 0.127 0.1192 0.123 0.127 0.1192 0.121 0.127 0.0615 0.0625 0.0635 0.0615 0.0625 0.0635 0.0615 0.0625 0.0635 Energy Check Non-radiating Orders Added 0.99557728127 20 1.0010788786 0.9825627 6 0.9825605005 0.9825580725 0.66741249465 10 0.6665790358 0.6656883466 0.47954816012 20 0.47923549168 0.47826650344 0.99999570585 6 0.99999636418 0.99999700927 0.99722469965 10 0.99757854669 0.99792112627 0.9566661617 20 0.9599041609 0.96306230788 New Energy Check .999999762798511 1.000000253810561 1.000000000122699 1.00000000017651 1.00000000024499 0.9999999373395 1.00000002737841 1.000000190369516 1.000025459971472 1.000033995872517 1.000079345957293 1.000000000000013 1.000000000000014 1.000000000000014 1.00000000005468 1.000000000035657 1.000000000009741 1.0000000000 1.000000000107866 1.00000000018895 Table 3.1: Benefits of added orders for fairly smooth surfaces. Note the improvement in the energy check value after adding non-radiating orders. 18 check value more accurate. As the surface becomes rougher, the non-radiating orders may actually start to hinder the accuracy of the method. The visual check of the imaginary part of the matrix K still holds, however. As the surface gets rougher, more non-radiating orders must be added in order for the system to decay to zero. After a certain d/λ value, added elements in the matrix will grow very quickly, and the visual check will never be satisfied. Figure 3.13 shows an example of this. d/λ = 1.8, but all other conditions are identical to those in Figure 3.11(b). However, with the increased roughness, the values of the imaginary part of the matrix K rapidly grow into the hundreds. Additionally, if non-radiating orders are added, the computational time necessary to fill the matrix K increases. This timing factor is an important reason to add only the non-radiating orders required to improve the results. 300 200 100 0 −100 −200 −30 −20 20 −10 10 0 0 −10 10 −20 20 −30 Figure 3.13: Imaginary part of the matrix K, with 12 non-radiating orders added to each side. Note the rapid increase of values near the edges. 3.4 Eigenvalues of Matrices K We found that the condition number of the matrices K depends on d/λ. A plot of eigenvalues was made for various conditions. Figure 3.14 illustrates two different cases. Both cases have an incident angle of 88◦ and 76 propagating orders, with 10 non-radiating orders added to each side. With a d/λ = 1, the system displayed in Figure 3.14(a) has a low condition number, and therefore the system is well-conditioned. The plot of eigenvalues is smooth, and the eigenvalues lie close to one. The system illustrated by Figure 3.14(b), with d/λ = 4, shows a much higher condition number. The eigenvalue plot starts with a much larger value and quickly drops. Therefore, it seems that a rough surface has a high condition number, and the eigenvalues of such a system will vary drastically in magnitude and have rapidly decreasing values. In 19 1.3 12 1.2 10 1.1 8 1 6 0.9 4 0.8 2 0.7 0 10 20 30 40 50 60 70 80 90 0 0 100 (a) 10 20 30 40 50 60 70 80 90 100 (b) Figure 3.14: Eigenvalues of matrices K. The modulus of one eigenvalue is plotted at each natural number on the x-axis. (a) Refers to a matrix K corresponding to 88◦ , d/λ = 1, 76 real scattered orders plus 10 non-radiating orders on each side, and a condition number of 3.71475. (b) Refers to a matrix K which is similar to the left-hand plot except that d/λ = 4 and the condition number is 8268.59. contrast, a fairly smooth surface has a low condition number, and the magnitude of the eigenvalues will be close to one. 3.5 Wavelets We applied wavelet methods to the matrix K in an attempt to speed up the process of solving for the vector N. The goal of using the wavelet transform is to sparsify the matrix, thus making the row reduction faster. Wavelets work especially well if there are trends in the data, such as constant trends, linear trends, etc. Different types of wavelets [12] are designed to recognize different data trends. If a trend exists, then the transformed data will have many zero or near zero entries. For example, the Haar wavelet transform will sparsify data with a constant trend, Daubechies Four sparsifies linear data, and Daubechies Eight sparsifies cubic trends. If the trend is not exact, or if floating point arithmetic is being used, it is often advantageous to threshold the entries in the data vector. Thresholding sets values to zero if they are close to zero. This further sparsifies the data. However, the wavelet method will only yield approximate results when thresholding is used. A larger threshold produces more zeros, but a smaller threshold gives more accurate results. Wavelet transforms can be performed through matrix multiplication. If W is the matrix which performs the wavelet transform on the columns of a matrix, then the wavelet transform 20 à of the matrix A can be written as à = WAWT . Additionally, W−1 = WT for wavelet transforms. Thus, the wavelet transform is a similarity transform. Further information on wavelets and wavelet transforms can be found in [12]. We programmed routines in Mathematica to perform the wavelet transform and inverse transform. These routines, which use convolution rather than matrix multiplication, are based on [6], but the new routines are designed to work with any wavelet filter. Computational times were recorded using Mathematica’s built-in Timing command. All listed times are for a Pentium 133 MHz processor with 16 megabytes of RAM, using Mathematica 2.2.3 under Windows 95. We performed the wavelet transform with the Haar, Daubechies Four, Daubechies Six, and Daubechies Eight filters on the matrix K and the vector F+ . We then solved this transformed system Ñ = K̃−1 F̃+ for Ñ, i.e. the wavelet transform of the vector N. We performed the inverse wavelet transform to find the actual N, which allows us to find the scattered amplitudes and compute the energy check. We found the Haar wavelet transform to be the best choice. It was relatively fast and sparsified the matrix very well. Unfortunately, the wavelet transform did not speed up the overall process in the SS case. This was the case no matter which filter and what threshold level were used. Although wavelets often reduced the row reduction time, the actual transformation of the system required a great deal more time. This negated any gains provided by the use of wavelets. Table 3.2 compares the straightforward row reduction time with the wavelet transform time. In conclusion, the wavelet transform does not provide any benefits for the cosine profile for the parameters we considered. The matrices K associated with this surface tend to be very well conditioned. Most of the information in these matrices lies along the diagonal (as shown in Figure 3.2 and Figure 3.7), hence the linear solution proceeds very rapidly. 3.6 d/λ Error Trends The energy check condition sometimes fails for this SS method applied to a perfectly reflecting cosine profile, We investigated the error dependence on many different initial conditions. We tried a variety of different matrix sizes, incident angles, and d/λ value combinations. We set λ equal to the midpoint of the possible values for the given conditions. For simplicity, we kept the number of non-radiating orders constant, adding five to each side for each case. We quantified the maximum d/λ values such that the error in the energy check was at most 1%. For each set of initial conditions, d/λ values for 1% error were quantified to within one tenth. Matrices with 16, 32, 64, and 128 propagating orders were investigated for incident angles from 0.5◦ to 89.5◦ at approximately every five degrees. Condition numbers for each trial were also noted. The equation we used for the condition number C of the matrix A is C(A) = A∞ A−1∞ , (3.4) 21 Angle 25 65 88 89.9 0.1 Angle 25 65 88 89.9 0.1 Matrix Size 64 128 108 + 20 172 + 20 76 + 20 86 + 10 94 + 2 96 44 + 4 90 + 6 108 + 20 44 + 4 90 + 6 108 + 20 Matrix Size 64 128 108 + 20 172 + 20 76 + 20 86 + 10 94 + 2 96 44 + 4 90 + 6 108 + 20 44 + 4 90 + 6 108 + 20 d/λ 1 2 3 6 12 1 1 1 1 10 10 10 10 1 1 1 1 1 1 d/λ 1 2 3 6 12 1 1 1 1 10 10 10 10 1 1 1 1 1 1 C(K) 1.84062 3.2094 5.34569 21.7346 52.4367 1.78346 2.89311 2.34806 3.70972 8.74151 × 1011 1.04431 × 108 7043.06 48.4365 5.75411 3.57032 3.22667 4.95361 3.24109 2.97315 Time KWT 139.969 124.998 125.841 127.5 128.835 582.884 546.215 1421.52 279.131 304.066 311.263 312.464 312.507 70.567 289.754 563.373 69.438 304.41 565.293 Time K 59.971 53.239 54.422 54.754 62.998 217.398 240.748 518.681 139.914 475.6 278.328 153.481 132.747 33.692 127.87 238.28 33.093 126.835 241.32 Time LS 0.419 0.255 0.332 0.439 0.547 1.822 0.834 3.253 0.563 2.063 2.513 1.438 1.358 0.178 0.522 0.92 0.104 0.586 1.357 Time LS 0.673 0.679 0.549 0.529 0.562 2.981 3.25 9.819 1.716 1.632 1.455 1.384 1.555 0.502 1.188 2.756 0.344 1.37 2.701 Time NIWT 1.189 1.155 1.189 1.016 1.024 2.418 2.114 3.845 1.868 2.114 3.365 1.754 1.831 0.769 1.614 2.596 0.81 1.862 2.536 Energy Check 1.0 1.0 1.0 0.98156678 0.89090781 1.0 1.0 1.0 1.0 40.810681 2.0096455 1.2366345 0.13901262 1.0000239 0.99999988 1.0 1.0 1.0 1.0 Energy Check 1.00009579 1.00010006 0.99399004 0.98085276 0.89146702 1.00026067 0.99962679 1.00005931 1.00331551 43.420775 2.0096455 1.2422461 0.13671655 0.99966033 1.00115492 0.99942614 0.99997725 0.99999887 0.99999936 Table 3.2: A table of times for straightforward row reduction and the wavelet transform. All times are in seconds. In some cases, non-radiating orders were added to the matrix K, as indicated in the matrix size column. Time K indicates the amount of time to create the matrix K; Time LS is the time to find the linear solution; Time KWT is the time required to perform the wavelet transform on K; Time NIWT is the time required to perform the inverse wavelet transform of N. Note that, for cases in which the energy check is accurate, the Time LS value is shorter in the wavelet domain. However, the total computation time is much longer when using wavelets. 22 where, for an n × n matrix A, A∞ = max 1≤m≤n n |Amk | (3.5) k=1 The energy check value often has a peculiar behavior as d/λ increases. It remains close to one initially, but it oscillates unboundedly as d/λ increases. Figure 3.15 illustrates this behavior. Energy Check ◦....... . 1.11 ... ... .... .. 1.10 ... ... .... 1.09 .. ... ... ... . 1.08 .. ... ... 1.07 .... .. ... ... 1.06 .... .. ... ... 1.05 .... .. ... 1.04 ... .... .. ... 1.03 ... .... ◦.. 1.02 ... ... .. . ... 1.01 ... ... ................................................ ......................◦ ...................◦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ◦ . . . . . . . . . . . . . . . . . . . . . . . . ◦ ◦...............◦................... ... 1.00 ◦....................◦.......................◦.......................◦......................◦.......................◦.. ◦ ◦ ◦ ......... ... .. ◦......................... .. . . . . 0.99 ◦...................◦.......................◦ 0.98 15.00 15.25 15.50 15.75 16.00 16.25 16.50 16.75 17.00 d/λ Figure 3.15: Energy check for an incident angle of 0.5◦ , 128 propagating orders, 5 non-radiating orders added to each side. Note the oscillations of increasing amplitude. Figure 3.16 illustrates 1% error d/λ values for 128 propagating orders. The number labelled at a point is the condition number of the matrix K for those parameters. As observed, for a smaller angle of incidence the d/λ value corresponding to 1% error is larger. This trend continues until approximately 75◦ , and then d/λ increases. Figures 3.17, 3.18, and 3.19 show the same results for 64, 32, and 16 propagating orders, respectively. A similar trend is apparent in these cases. Note that we can sometimes achieve very good results even with a large condition number. This leads us to believe that it is not always the conditioning of the matrix that makes this method fail. Figure 3.20 represents 1% error d/λ values for all of the matrix sizes. It can be seen that a larger matrix corresponds to a larger range of d/λ values. The surface can be rougher if the system corresponds to a larger matrix. 23 17 16 15 14 13 12 11 10 9 d/λ 8 7 6 5 4 3 2 1 0 10 × 10 ◦.....2.4 ... . ... ... ... ... 9 ... .... ..... ..... ...... ..... 8 ..... ..... ..... ..... ..... ..... 7 ..... ..... ...... ...... ...... 7 ...... ...... ...... ...... ...... 6 ...... ...... ...... ...... ...... 6 ...... ...... ...... ...... ...... 5 ...... ...... .... .... .... .... .... .... 4 .... ........ ......... 4 ......... ........................... .... 4 .... .... ... .... .... .... ........ ........ ........ ....... ...... ...... ...... . ...... ................. ..... ........... ...... ...... ...... ..... ...... ....................................... . . . . . ...... . . . . ................. ◦1.6 × 10 ◦5.2 × 10 ◦4.9 × 10 ◦1.9 × 10 ◦3.8 × 10 ◦1.4 × 10 ◦2.7 × 10 ◦3.2 × 10 1.0 × 10 ◦ ◦ 1.8 × 10 ◦350 ◦300 88 ◦ ◦70 ◦ 14 0 10 20 30 40 50 60 70 33 ◦ 80 ◦ ◦133 22 90 Incident Angle Figure 3.16: Plot of d/λ values to insure no greater than 1 % error with condition numbers for the matrix K included at each data point. 128 propagating orders used with 5 non-radiating orders added to each side. Note that the d/λ range is larger at smaller angles and that sometimes good results are found even with a large condition number. 24 8 7 6 d/λ 5 4 3 6 × 10 ...... ◦.....8.8 ...... ...... 3.2 × 106 ....... ◦........................ 1.8 × 106 ◦................ ..... ..... 2.5 × 105 ...... ◦................. ...... 1.7 × 105 ...... ◦.................... 4 ...... 2.2 × 10 ◦...................................................... 5.4 × 103 ◦ ◦............... 7.3 × 103 ..... ..... ..... 390 ◦...................... 270 140 ◦350 ◦ ...... ................................................. ............ ........... ..... .......... ..... ......... ...... ......... ...... ...................................................................... . . . . ................................... 2 ◦ ◦66 34 ◦ ◦31 ◦27 ◦18 ◦ 21 ◦150 1 0 0 10 20 30 40 50 60 70 80 90 Incident Angle Figure 3.17: Plot of d/λ values to insure no greater than 1% error with condition numbers for the matrix K included at each data point. 64 propagating orders used with 5 non-radiating orders added to each side. Note that the d/λ range is larger at smaller angles and that sometimes good results are found even with a large condition number. 4.0 3.5 3.3 × 104 ◦.....................◦.......2.1 × 104 . ...... 3 ...... ...... ...... ............................ .. ... . ... 3 ... ... ... ... ... ...... ........ ........ ............................. ...... ...... ...... ...... ...... .............................................................. . ............. ... ...... ... ...... ... ...... ... ...... . . . ...... ... .............. .. ........................................................................................ .............. ....... ........................... 3.0 4.3 × 10 ◦ ◦6.5 × 10 ◦353 2.5 d/λ 2.0 1.5 ◦399◦366 ◦240 ◦180 ◦180 ◦110 ◦172 ◦36 ◦29 ◦116 ◦29 ◦24 20 ◦ 31 ◦ 1.0 0.5 0.0 0 10 20 30 40 50 60 70 80 90 Incident Angle Figure 3.18: Plot of d/λ values to insure no greater than 1% error with condition numbers for the matrix K included at each data point. 32 propagating orders used with 5 non-radiating orders added to each side. Note that the d/λ range is larger at smaller angles and that sometimes good results are found even with a large condition number. 25 2.0 ◦.....839 ... . ... ... ... ... ... ... ........................... ...... ........... ...... ...... .......... ..... ...... .... ...................................... .... ..... .... ..... ...... ..... .... .... ...... ..... ... ..... .... ..... ..... ... ..... .... . . . ........................................................................................................... . . ... ..... .... ..... ................................. ...... ......... ...... ......... ....................................................... 1.5 ◦476 d/λ 1.0 ◦430 ◦126 ◦128 ◦239 ◦43 ◦34 ◦34 ◦36 ◦ 32 ◦125 19 ◦28 ◦ 13 ◦ ◦15 ◦16 ◦46 ◦189 0.5 0.0 0 10 20 30 40 50 60 70 80 90 Incident Angle Figure 3.19: Plot of d/λ values to insure no greater than 1 % error with condition numbers for the matrix K included at each data point. 16 propagating orders used with 5 non-radiating orders added to each side. Note that the d/λ range is larger at smaller angles and that sometimes good results are found even with a large condition number. 26 d/λ values for 1% error d/λ 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 128 ♥......... ... ... ... ... ... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... .... .... .... .... ........ .... ....... .... ....... .......... ..... ........... ......... .......... ......... ....... ................ ....... ................. ....... .... ....... .... ....... .... ....... .... ....... .... ........ .... ........ ........ ..... ........ ........ .......... ........ .......... ........ .................................. ...... ...... ...... ...... ...... ...... ...... ...... ................................. ...... ........ ...... ..... .......................... . . . ...... . ...... ............... ........ ...... ..... ..... ........................................ .............................................. ...... .................. .......................... .................. ........ . ............... ........ . . ....... ...... ............ ................... ....... ........................................ ........... ....... ................ ............................................................................. ................................................................................ ................................. ........ ............... .......... ......... .......................................................................................................... .......... ..................................................... ............................................................................................................... .... ...... .............. .................... .......................................................................................................................... ................................................................. ............................................................................... ♥ ♥ ♥ ♥ ♥ 64 × 32 ♥ × × ♥ × 16 ◦ ◦ 0 ♥ 5 ◦ ◦ × × × ◦ ◦ ◦ × ♥ ♥ ♥ × × × × ♥ × ♥ ♥ ♥ ♥ × ♥ ♥ × × × × × ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 Incident angle Figure 3.20: d/λ values for 1% error in energy check. Number of propagating orders labeled at left, or, by data point: ◦ – 16 propagating orders, – 32, × – 64, and ♥ – 128. 5 non-radiating orders added on each side. This graph is a combination of the previous four graphs and shows the relative d/λ values. Note that the d/λ value can be larger for larger matrices. 27 Chapter 4 Other Surfaces, Spectral-Spectral Method Investigating other surfaces is important, for we want to be able to extend our results to include many different surface conditions. We began our investigation by considering several surfaces given in [3]. Results from the sawtooth profile and the cosine profile with areas of faster modulation will be presented in the following sections. 4.1 Sawtooth Profile We will now consider a “sawtooth” profile of period L given by S(x) = − 2d|x| d + , L 2 |x| ≤ L . 2 (4.1) Figure 4.1 shows the geometry of this surface over one period, where L = 1 and d = 0.1. Upon analysis, the formulae (1.9) and (1.11), which define K and M, can be expressed analytically as 1 πid (βj −βj ) 1 c1 π 1 c2 π λ Kjj = e (e − 1) + (e − 1) , (4.2) 2π c1 c2 where c1 = i [j − j − (2d/λ) (βj − βj )] and c2 = −i [j − j + (2d/λ) (βj − βj )], and M jj 1 k1 π 1 − πid 1 k2 π e λ (βj +βj ) = e −1 + e −1 , 2π k1 k2 (4.3) where k1 = i [j − j + (2d/λ) (βj + βj )] and k2 = −i [j − j − (2d/λ) (βj + βj )]. The analytic results for the sawtooth profile were used to verify the accuracy of MATLAB’s numerical integration routine, which uses an 8-panel Newton-Cotes rule. It was found that this routine produced many elements which had much higher magnitudes than the analytic solutions. The integrands oscillate very quickly at times, and the sampled points would sometimes coincide with the maxima or minima of the oscillation. Thus, we devised 28 0.1 S(x) 0.05 0 −0.05 −0.1 −0.5 −0.4 −0.3 −0.2 −0.1 0 x 0.1 0.2 0.3 0.4 0.5 Figure 4.1: Schematic representation of sawtooth profile, d/L = 0.1. a method to force sampling at more points. The speed of the oscillation is determined in part by the slope of the surface. Since all surfaces we have considered so far change by d vertical units for every L/2 horizontal units, the slope of S(x) can be roughly approximated as ±2d/L. Thus, the slope of S(Ly/(2π)) is approximated by ±d/π. Using this estimate for the slope of the surface, the integrand in (1.9), which defines K, oscillates similar to 2d e−i[(j−j )± λ (βj −βj )]y . (4.4) By taking absolute values of the two terms, a conservative estimate of the period of the integrand can be obtained. It is approximately 2π |j − j | + 2d λ |βj − βj | . (4.5) We divided the interval [−π, π] into subintervals with length less than or equal to this estimate of the integrand’s period. Each subinterval was integrated separately. Similarly, the integrand in (1.11), which defines M, has an approximate period 2π |j − j | + 2d λ |βj + βj | , (4.6) and subintervals with length less than or equal to this estimate were passed to the numerical integrator. These changes to the quadrature method eliminated all obvious spikes in K and M. Table 4.1 shows that the quadrature method achieves good accuracy. The matrices K for the sawtooth profile, like those corresponding to the cosine profile, tend to be very sparse and close to the identity matrix. When the energy check condition holds, K is so sparse that wavelet methods are unnecessary. 29 d/L maxj,j Kjj − Kjj maxj,j Mjj − Mjj −12 −12 0.050 2.59 × 10 9.30 × 10 −12 0.075 3.10 × 10 9.03 × 10−12 −12 0.100 5.93 × 10 6.88 × 10−12 0.150 4.45 × 10−12 2.84 × 10−12 0.200 5.49 × 10−12 2.81 × 10−12 Table 4.1: Error in the quadrature function used to fill K and M. The exact expressions in (4.2) and (4.3) were used to fill K and M. The quadrature algorithm was used to fill K and M . A sawtooth profile, an incident angle of 25◦ , and a system with 64 propagating orders were used for all values listed. The sawtooth profile has not been analyzed as thoroughly as the cosine profile, but this analysis, if it becomes necessary, can be carried out using our algorithms. 4.2 Cosine Profile with Fast Modulation We will now analyze some properties of a cosine profile with areas of faster oscillation: 2πx 2πx d +ε S(x) = − cos 2 L L 3 |x| ≤ , L . 2 (4.7) Figure 4.2 illustrates this surface over one period where ε = 0.5, L = 1, and d = 0.1. 0.1 S(x) 0.05 0 −0.05 −0.1 −0.5 −0.4 −0.3 −0.2 −0.1 0 x 0.1 0.2 0.3 0.4 0.5 Figure 4.2: Schematic representation of cosine profile with areas of faster oscillation from (4.7). 30 Unlike the previous cases, there is no analytic expression for the elements of K and M. The integrals in (1.9) and (1.11) must be numerically integrated. The quadrature algorithm outlined in the previous section was used to perform this. The matrices K corresponding to this profile, like those for our other surfaces using the SS formalism, tend to be very sparse and close to the identity matrix. When the energy check condition holds, K is so sparse that wavelet methods do not improve matters. This profile has not been analyzed as thoroughly as the cosine profile, but this analysis could be carried out using our algorithms. 31 Chapter 5 The Coordinate-Coordinate Method We have performed a preliminary analysis of the cosine profile (3.1) using the CC formalism. Z was computed via the formula in (1.18). The surface was sampled evenly and symmetrically about the vertical axis. The resulting kernel matrices are much more dense than the matrices K found using the SS method. Unlike the SS method, in which matrix size was determined by (1.1) and the number of non-radiating orders, the CC kernel matrix size is changed by sampling more or less often. However, it is common [13] to sample approximately every λ/10, or 10L/λ points in one period. Due to (1.1), the SS method will have a kernel matrix with approximately 2L/λ rows and columns. This sampling difference causes the kernel matrix of the CC method to have about 25 times the number of elements in the SS kernel. Research has been performed [8, 13] on the application of wavelets to the integral equations that arise from the analysis of finite, non-periodic surfaces with a CC formalism. For our problem, wavelets were found to be much more beneficial in the CC method than in the SS approach. We found that wavelet methods do a better job of sparsifying Z if the surface is sampled more often. Figures 5.1–5.3 show the sparsity of the wavelet transform of Z for different samplings. For all cases, d/L = 0.1, α = 0.01, and λ/L ≈ 1/32. The Daubechies Eight wavelet filter and a threshold of 1% of the maximum magnitude was used in all cases. Figure 5.1 shows the wavelet transform of Z when the surface is undersampled, at every λ/4. Note that the top-left quadrant, which should have the most nonzero terms, actually has the least. In Figure 5.2, the surface was sampled every λ/8. The transformed matrix has a larger percentage of zeros, and the top-left quadrant has the most nonzero terms. In Figure 5.3 the surface was sampled every λ/16. The matrix now is sparser, and the “fingers”, i.e. the non-zero entry pattern as in [13], are more obvious. 32 0 20 40 60 80 100 120 0 20 40 60 80 100 120 Figure 5.1: Nonzero elements in the thresholded wavelet transform of Z. Sampled every λ/4. 0 50 100 150 200 250 0 50 100 150 200 250 Figure 5.2: Nonzero elements in the thresholded wavelet transform of Z. Sampled every λ/8. 33 0 50 100 150 200 250 300 350 400 450 500 0 100 200 300 400 500 Figure 5.3: Nonzero elements in the thresholded wavelet transform of Z. Sampled every λ/16. 34 Chapter 6 Conclusions This research is directed towards improving the computational capabilities in the area of electromagnetic scattering from rough surfaces. This includes the general case of rough interfaces separating two dielectrics as well as special cases of perfectly reflecting surfaces. The research effort includes theoretical development of the integral equations for electromagnetic scattering, development of approximation methods using both wavelet-based analysis and other analytical tools, and the large-scale computational implementation of the results. Our research findings will have applications to the laboratory investigation of controlled electromagnetic scattering experiments from materials, substrates, and other electromagnetic devices. Field applications could include the scattering from aircraft and missiles, the behavior of radar scattering from various obstacles on land, and the analysis of data useful in processing satellite imagery. We have implemented the SS integral equation and have confirmed the results using an energy check. For a cosine profile, we have quantified the range of surface conditions for which the SS method produces an accurate energy check. We found that angles in the range between 65◦ and 80◦ had unusually large errors in their energy checks. These angles correspond to areas of high tangency to the surface. We discovered that adding a certain number of non-radiating orders produces a much better energy check. This allows us to obtain good results for all angles for a shallow surface. However, this method of adding non-radiating orders breaks down when it is confronted with a rougher surface. We quantified d/λ values for many incident angles that ensure less than 1% error in the energy check value. This d/λ value, as well as the condition number of K at this value, was determined for many matrix sizes. The graphs in Section 3.6 illustrate several general trends. A larger matrix size can have a larger d/λ value and remain within the error bound. The d/λ value is highly dependent on the incident angle; it is maximized at normal incidence and reaches a minimum between 75◦ and 80◦ . The method seems to be more dependent on d/λ than on the condition number of K. For the same matrix size, good results can be achieved with a large condition number at some angles, and poor results occur even with a small condition number at other angles. We also found that this SS formalism yields very 35 well-conditioned matrices compared to the SC formalism used in [10]. We have developed a computer method to analyze any given perfectly reflecting profile with the SS formalism. A quadrature program was adapted to suit the oscillatory integrals encountered. We have tested this computer method on simple surface profiles including a flat surface, a cosine, a sawtooth, and a cosine with a fast modulation. For the simple surface cases we investigated, the SS method is very well conditioned when it works, that is when the energy checks. The SS matrix inverses are very fast, and the matrices are very sparse for the examples we tried. One drawback of the method is the time necessary to load the elements of the kernel matrix, since this involves integration of a rapidly oscillating integrand. However, this is an inherently parallel process, and we foresee substantial improvements in fill-in time of the matrix when this is implemented in parallel. We have tested the wavelet transform on this SS method. Wavelet methods were shown to be unnecessary for the analysis of a cosine profile with the SS approach. The kernel matrix is always sparse before the wavelet transform if accurate energy check results are obtained. The use of the SS method with several other surfaces has also yielded sparse matrices in every case in which the energy check is accurate. Thus, the investigation of additional surface profiles for perfectly reflecting problems or different boundary conditions which allow transmission should be investigated if wavelets are to be beneficial. We have implemented the CC formalism using a one-dimensional Combined Field Integral Equation (CFIE). Here the kernel is very dense and the wavelet transform sparsifies it considerably. In the CC approach, preliminary calculations on the dense kernel clearly show that the wavelet transform is an asset for large enough matrices. Also, the computation time for each element of the kernel matrix is less than in the SS case, since it requires a function evaluation rather than an integration. A standard for the CC method is to sample at approximately one-tenth of the wavelength. This results in a matrix that is about 25 times larger than the matrix for the same conditions in the SS case. This matrix can be filled significantly faster as it does not require an integration to be computed, but its large size can cause storage problems and swapping, possibly resulting in a larger total compute time. Work is continuing on the application of wavelet methods to the CC case, the transmission SS case, and to parallel processing algorithms to speed up the matrix fill time. 36 Bibliography [1] S. L. Chuang and J. A. Kong, “Scattering of waves from periodic surfaces,” Proceedings of the IEEE 69, 1132-1144 (1981). [2] S. L. Chuang and J. A. Kong, “Wave scattering from a periodic dielectric surface for a general angle of incidence,” Radio Science 17, 545–557 (1982). [3] J. A. DeSanto, “Scattering from a perfectly reflecting arbitrary periodic surface: An exact theory,” Radio Science 16, 1315–1326 (1981). [4] J. A. DeSanto, “Exact spectral formalism for rough-surface scattering,” Journal of the Optical Society of America 2, 2202–2206 (1985). [5] J. A. DeSanto, “Electromagnetic integral equations for rough surface scattering” presented at the Workshop on Rough Surface Scattering and Related Phenomena, Yountville, CA, June 24–28, 1996. [6] W. Hereman, “FORTRAN programs for wavelet decomposition and reconstruction using Haar or Daubechies Four wavelets,” lecture notes, Colorado School of Mines (1996). [7] A. K. Jordan and R. H. Lang, “Electromagnetic scattering patterns from sinusoidal surfaces,” Radio Science 14, 1077–1088 (1979). [8] H. Kim and H. Ling, “On the application of fast wavelet transform to the integralequation solution of electromagnetic scattering problems,” Microwave and Optical Technology Letters 6, 168–173 (1993). [9] D. Maystre, “Rigorous vector theories of diffraction gratings,” Progress In Optics 21, ed. E. Wolf, 3-67 (1984). [10] R. C. McNamara, “Numerical Determination of Scattered Field Amplitudes for Rough Surfaces,” M.Sc. Thesis, Colorado School of Mines (1995). [11] R.C. McNamara and J.A. DeSanto, “Numerical determination of scattered field amplitudes for rough surfaces,” J. Acoust. Soc. Am., in press (1996). [12] G. Strang and T. Nguyen, Wavelets, Filter Banks, and Applications (SIAM, Philadelphia, Pennsylvania, 1996). 37 [13] R. L. Wagner and W. C. Chew, “A study of wavelets for the solution of electromagnetic integral equations,” IEEE Transactions on Antennas and Propagation 43, 802–810 (1995). 38 Appendix A Comparison to Alternate Method This appendix compares the magnitude of scattered amplitudes found for the same system using two different methods, the SS method is explained in this paper and the SC method in [11]. The SC formalism is constructed by applying Dirichlet boundary conditions to a perfectly-reflecting periodic surface. A Fredholm integral equation of the first kind is involved, and integration is over a single surface period. The numerical results were obtained by discretizing the mixed SC representation for a periodic surface, then solving the system using a pseudo-inverse SVD technique. A full discussion of this method can be found in [10]. 39 λ: L: d/L: θic : Bragg Index -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Energy Check: Condition Number: 1.0 15.9 0.1 0.0◦ SC Method in [11] SS Method in this paper Scattered Amplitude Scattered Amplitude Magnitudes Magnitudes 0.000150 0.000075 0.000737 0.000787 0.004750 0.004724 0.019698 0.019710 0.061536 0.061531 0.147693 0.147695 0.271818 0.271818 0.368647 0.368648 0.323046 0.323046 0.080163 0.080164 0.210085 0.210085 0.251195 0.251195 0.032644 0.032644 0.256739 0.256739 0.050950 0.050950 0.245096 0.245096 0.050950 0.050950 0.256739 0.256739 0.032644 0.032644 0.251195 0.251195 0.210085 0.210085 0.080163 0.080164 0.323046 0.323046 0.368647 0.368648 0.271818 0.271818 0.147693 0.147695 0.061536 0.061531 0.019698 0.019710 0.004750 0.004724 0.000737 0.000787 0.000150 0.000075 1.00000000696941 1.000000000000082 9 0.19 × 10 2.5 40