Optimal Position for an Antenna using a Genetic Algorithm Jamie Knapil Infantolino 1, M. Jeffrey Barney 1, and Randy Haupt 2 1 Remcom, Inc State College, PA 16801, USA Jamie.Infantolino@remcom.com, Jeffrey.Barney@remcom.com 2 Applied Research Lab The Pennsylvania State University, State College, PA, USA rlh45@psu.edu Abstract: Determining an optimal position for an antenna is not always intuitive. This paper looks at an implementation of a Genetic Algorithm (GA) within XFdtd, a Finite Difference Time Domain (FDTD) solver, for its effectiveness in determining an optimal antenna position when compared to a brute force method. Keywords: Optimization Techniques for EM-based Design, Fast and Efficient Methods 1. Introduction Placement of an antenna on a platform has been traditionally accomplished using human judgment and experience. The many interactions between the antenna and platform often defies an engineer's intuition for the optimal antenna location. Using a computer to optimize the antenna placement requires a very robust electromagnetics simulation as well as a powerful optimization algorithm. The electromagnetics solver must handle very large platforms and perform the desired cost function calculations within a reasonable time. The optimization algorithm must find an acceptable answer when confronted with a large number of variables and a cost surface with many minima while keeping the number of cost function evaluations small. This paper considers an application of the Finite-Difference Time-Domain solver, XFdtd which is based on the FDTD method presented by Kunz and Luebbers [1], and an implementation of a Genetic Algorithm (GA) for its effectiveness in determining the optimal placement of a communication antenna on a train to allow communication with other trains, local transmission stations, etc. 2. Genetic Algorithm A global optimization technique is needed for finding the minimum of a cost surface with many local multiple minima and many variables. Fewer cost function evaluations are needed to find an acceptable solution so the GA selected here uses a small population size and high mutation rate, because, even though that selected solution may not be the exact global minimum [2]. Traditional GAs works with a binary encoding of the variable values, but GAs that work with continuous values that are more common today [3]. Sometimes, the problem requires variables with both floating point and integer values, so a mixed integer GA is appropriate [4]. A mixed integer GA starts by mapping all variable values to continuous values between 0 and 1. If the problem has N variables, then the GA starts with M chromosomes in an M N population matrix given by P v1,1 v2,1 vM ,1 where vm , n variable n in chromosome m with 0 v1,2 v2,2 v1, N vM , N vm,n 1 . Initially, the population matrix is filled using a uniform random number generator. A variable, vm , n in chromosome translates to either a real variable, rn , an integer, In, or a binary digit, bn with values lying between the min and max value designations. In rn rmax rmin vm,n rmin rounddown I max I min 1 vm,n bn I min (1) round vm ,n The rounddown function rounds to the next lowest integer, and the round function rounds to the nearest integer. This approach has the scaling, quantizing, and rounding operations in the cost function, so the GA is independent of the type of variable. With this implementation, a chromosome can have any mix of real, integer, and binary variables. Our GA selects half of the chromosomes with the lowest costs to be part of the mating pool. Tournament selection is used to pick the two parent chromosomes for the mating operation. Mating between the two parent chromosomes is done with uniform crossover. Uniform crossover creates a random binary mask where a 1 in the mask column means the offspring receives the variable value in first parent; otherwise a 0 indicates that the offspring receives the variable value in the second parent. first parent [vm,1 vm,2 vm,3 vm,4 vm,5 vm,6 vm,7 ] secong parent [vn,1 vn,2 vn,3 vn,4 vn,5 vn,6 vn,7 ] 0 0 0 0 1 0] mask [1 offspring [vm,1 vn,2 vn,3 vn,4 vn,5 vm,6 vn,7 ] (2) Mutation randomly selects population variables and replaces them with values generated by a uniform random number generator. 3. Genetic Algorithm in XFdtd The GA [2] is written in C++ and is accessed using XFdtd's Scripting API. A user defines the antenna and the acceptable regions on a platform where the antenna can be located using script language. Fig. 1. GA Flowchart Our GA has a population size of 8 with a mutation rate of 15%. The GA randomly selects a region from the list of possible regions as well as a position on that region where the antenna is placed for the next cost function evaluation. Each cost function evaluation calls a script function that executes the XFdtd calculation engine in order to calculate the cost (antenna pattern, impedance, bandwidth, etc.) that is passed to the GA . The GA performs mating on the best half of the chromosomes in the population then performs mutation to find the next generation. This process iterates until a user defined convergence is reached or a set number of iterations are performed. Fig. 1 illustrates the flow of the algorithm. XFdtd's GA implementation was tested on an analytic model with a known solution. The analytic model was a vertical dipole that is 19mm long located over a circular plate having a center frequency of 1.5 GHz or a wavelength of 200mm. The dipole was 90mm above a circular PEC plate having a 1000mm radius and centered at (0,0). The setup can be seen in Fig. 2. The cost function constrains the dipole so that it is directly over the plate. The goal of the optimization is to find a position that results in an omni-directional pattern. The best solution should be the center of the plate. A centered dipole above the circular ground has a computed gain of 4.76dBi. The FDTD grid had 0.325 million cells. The calculation engine used 52MB of memory and took 49s to calculate one function call. The cost threshold for the GA was set at 4.5dBi. The GA minimized the negative of the minimum gain. The cost function executed XFdtd's calculation engine (CalcFDTD) which calculated the antenna gain. By minimizing the negative of the minimum gain, an omnidirectional pattern was found. After 29 evaluations of the cost function, the GA reached its cost threshold at 4.53dBi. The associated dipole location was at (1e-24, 1.8) mm after the optimization ran for 22min. Fig. 2. Analytic Geometry Results. 4. Results Next, the GA was used to find an optimal placement for a communication antenna on a train. A CAD model of the train was loaded into XFdtd. Then the allowable regions were determined. Fig. 3 shows the model within the XFdtd framework with the allowable regions shown in brown. The first location that was chosen was on top of the roof, right in the middle. This was the first point fed into the GA. The goal of this antenna is to project as much power on target as possible. This is because it is assumed that the transmitter is located along the track. It is important for the receiving antenna Fig. 3. Allowable Regions for Antenna Location. on the train to be receiving the strongest signal possible. XFdtd was used to simulation this. The field values were collected at the observation point then used in the cost function. Fig. 4 depicts the results of the first guess. There is very little energy that reaches the observation point. This seed was placed into the initial GA population to see if a better location for the antenna could be found. By the seventh generation, all of the locations on the top were discarded. This seems counterintuitive, but the GA determined it was not the optimal location. Fig. 4. Cross Section of First Guess Placement. The GA ran 20 generations for a total of 84 simulations. The power in the region of interest of the optimal location is depicted in Fig. 5. The optimal location found is depicted in Fig. 6. Fig. 5. Cross Section of Optimally Placed Antenna. The GA found the optimal location to be between the roof and the front windows. This might be caused by the energy does not bounce off the ground as in the situations where the antenna was on the front. One difficulty with the GA is runtime limitations. This GA ran for 20 generations taking 40 hours to complete. This may be infeasible for some applications. One way to reduce the runtime is to use a Graphic Processor Unit (GPU) for the calculations. The GPU solution can achieve up to a 300X. The train example ran in 1.5 hours with the use of a GPU. This makes this technology more practical. Fig. 6. Optimal Location Found by GA. 5. Future Work Clearly using GPUs will facilitate optimization problems thus next more complex problems will be evaluated exploiting the GPUs. More complex problems will lead to more uses for the GA. It will be able to be used allow military and commercial applications leading to fast and efficient results. Further investigation is needed to determine how complex of a geometry the GA can handle. 6. Conclusions The GA was useful in determining the optimal location for a communication antenna on a train. The optimal solution was found with complete confidence in the answer. The GA is also able to account for interactions with other elements of the platform. The train’s irregular surfaces impacted the performance of the antenna. Also the track in which the train was placed on also needed to be considered. There were interactions with the track and the surface below the train which XFdtd was able to model correctly then seeded the GA the correct data. It has been demonstrated that the GA can produce an optimal location for an antenna on a platform. It eliminates the guess work that is currently employed within this field. Now problems designing effective communication antennas can be accomplished faster and more efficiently using this technology. 7. References [1] K.S. Kunz and R.J. Luebbers, The Finite Difference Time Domain Method for Electromagnetics, 1st edition, CRC Press, 1993. [2] R.L. Haupt and S.E. Haupt, Practical Genetic Algorithms, 2nd edition, New York: John Wiley & Sons, 2004. [3]Goldberg, D. E. , Genetic Algorithms in Search, Optimization, and Machine Learning, New York: Addison-Wesley.1989. [4]R.L. Haupt, "A Mixed Integer Genetic Algorithm for Electromagnetics Applications," IEEE AP-S Trans., Vol. 55, No. 3, Mar 2007.