# An Enhanced Genetic Algorithm for Parameter Estimation of Sinusoidal Signals
## The Proposed EGA
### Two-Step Crossover (TSC) Operator  
In GAs, crossover operation simulates the processes of sexual reproduction, through which offspring inherit parts of genetic information from their parents. However, conventional crossover operators just follow the genetic concept, weakening the search ability [40; 41]. For instance, in a single-point crossover (SPC), two individuals are first selected as the parent chromosomes, then a randomly-generated point is used to truncate the chromosomes and get two sub-sequences; the fragments behind the point are exchanged with each other and coupled with the front ones to generate two new offspring. The principle of a SPC operation is shown in Figure 1.  
For a given population of a size of \(N\times M\), the number of the newly generated variables after a SPC operation can be calculated by \([NP_{c2}]\), where \(N\) is the number of individuals, \(M\) denotes the length of each chromosome, \(M=n\times l\), \(n\) is the number of the variables defined by the chromosomes, \(l\) is the coding length of each variable, and \(P_{c2}\) is the crossover probability. The symbol \([\cdot]\) rounds the number toward positive infinity. It is clear that a SPC can produce new individuals and change the population diversity. However, only the variables whose sequences are trimmed are updated during the operation, and hence, the population diversity is still restricted. Although other types of crossover  
Figure 1: Single-point crossover operation for binary sequence.  
operations such as two-point crossover and multi-point crossover can mitigate this effect, the similar operation mechanism dooms the same outcome.  
In this regard, a two-step crossover strategy that comprehensively considers the information exchange among entities and variables is designed in this work. The details are described as follows:  
1. Dividing each chromosome into segments based on the number of the variables to be solved, and gathering all the specific segments for a certain variable to form a variable set for the related variable;
2. Randomly selecting some variable sets with a probability \(P_{c1}\);
3. Implementing crossover operation on each elected set to update the variables with a probability \(P_{c2}\);
4. Once the crossover is completed, reassembling the variable sets together to get the new individuals.  
For a better understanding, a SPC is employed in the TSC to illustrate the mechanism, as shown in Figure 2. Here, the number of the newly produced variables by the TSC can be calculated by \([nP_{c1}]\times[NP_{c2}]\), where \(P_{c1}\) is the first crossover probability, and the other parameters are the same as the ones mentioned above. The difference between the newly generated variables between the TSC and SPC is mathematically expressed as \([nP_{c1}]\times[NP_{c2}]-[NP_{c2}]\). With some mathematical manipulations, this expression can be simplified as \([nNP_{c2}]\cdot(P_{c1}-1/n)\). It can be known that a positive value is always achieved if \((P_{c1}-1/n)>0\). So, by simply adjusting \(P_{c1}\), the number of the updated variables yielded by the TSC can be much more than that of the SPC, which amounts to indirectly increase the number of the offspring [24]. Hence, the population diversity can be significantly improved. Besides, notice that the applied SPC in the TSC can also be replaced by other types of crossover operations; for the case of multi-point crossover, a considerable amount of new variables can be obtained.