|
Genetic Algorithm for Transfer Function DesignIntroductionContinuous-time transfer functions for analog filters are often designed using gradient-search techniques such as LMS adaptation. However, for some applications the filter's performance may be a multimodal function of its pole positions. Therefore, the result of a gradient search will, in general, depend upon the optimizer's initial conditions. The genetic algorithm is a general optimization technique which is intended to find the global minimum of multimodal, multiparameter functions by emulating the process of natural selection. As we shall see, it is well suited to the design of analog filters as long as a relatively fast method for quantifying the filter's performance is available. The AlgorithmHere are a few definitions which I will be using. (They may not match all of the literature on this topic, but I will at least try to be consistent.)
Assuming that we are trying to optimize a filter with K parameters, the genetic algorithm which I have used for analog filter design proceeds as follows:
After repeating the procedure for about 10 or fewer generations, take the filter with the smallest performance function, and you are done! Note that in order for this procedure to be fast, you require a fast method for evaluating the perfromance function of all the filters in your population (step 2). Furthermore, although the genetic algorithm is fast at finding nearly optimal filters, doing the final fine-tuning for a very accurate transfer function can take many generations. You may, therefore, want to perform a gradient search using the result of your genetic search as an initial condition. Example: Design of a Continuous-Time EqualizerHere I show results which I obtained for the design of a 3rd order continuous-time equalizer for a Lorentizian channel. The performance function used is the total squared error (y(t) - d(t))2 where y(t) is the impulse response of the channel & equalizer sampled at the baud rate and d(t) is a delayed delta function. Also note that a 5-tap DFE is assumed to be part of the system, so post-cursor ISI is not included for 5 symbol intervals. MATLAB was used to evaluate the performance functions of each filter in the population. The animation below shows pole-zero plots of the populations after 1, 3, and 8 generations for a population size of 300. The poles and zeros clearly begin to cluster around their optimal values as the evolution proceeds.
Sample Matlab code for this simulation is available here. ReferencesB. Widrow and S. D. Stearns, Adaptive Signal Processing, Prentice Hall, New Jersey, 1985, pp. 163-164. R. Nambiar, C. K. K. Tang and P. Mars, "Genetic and Learning Automata Algorithms for Adaptive Digital Filters," Proc. IEEE Int. Conf. on ASSP, 1992, vol. IV, pp. 41-44. S. C. Ng, S. H. Leung, C. Y. Chung, A. Luk and W. H. Lau, "The Genetic Search Approach - A New Learning Algorithm for Adaptive IIR Filtering," IEEE Signal Proc. Mag., Nov. 1996, pp. 38-46. |