TEST THE DOPPLER EFFECTS OF CODES THAT GENERATED BY GENETIC ALGORITHM USING AMBIGUITY FUNCTION

Using pulse compression at the receiver side of communication systems yields sidelobes around the mainlobe that permits the clutter to pass through it, and mask the desired signal. In this paper, a proposed Genetic Algorithm (GA) is used to generate optimum binary phase coded signals with minimum Peak Sidelobe Level (PSL) as criteria. It is shown that, when programmed genetic algorithm, the generated codes up to length 105 bits, with minimum peak sidelobe level vary from (1-5). Then the comparison of sample of the codes that generated by this algorithm with unoptimum code has the same length to obtain the effectiveness of the generated codes. It is found that the codes produced from the genetic algorithm has high efficient by reduction the peak of sidelobe level and merit factor than other codes. Test the Doppler effects of these codes by plotting the ambiguity function and calculating the value of peak sidelobe Level (PSL) and the properties of different Doppler shifts at (0.0, 0.05, 0.1 and 0.15) are done in this paper. It found that the performance of the optimum binary phase coded signals which generated by genetic algorithm that better than unoptimum codes when the Doppler shifts was increased. Keyword: Genetic Algorithm (GA), Ambiguity Function (AF), Merit Factor (MF), Minimum Peak Sidelobe (MPS), Autocorrelation Function (ACF), Peak Sidelobe Level (PSL).


INTRODUCTION
Binary sequences having good aperiodic autocorrelation functions (ACF) with low sidelobes play an important role in many fields, e.g.word synchronization of a digital system.
The simplest solution to the word synchronization problem involves the use of a synchronization sequence with good aperiodic autocorrelation.This is typically inserted at

Diyala Journal of Engineering Sciences
101 the beginning of a data steam, and possibly at regular intervals within the data sequence, enabling unambiguous decoding of the information.So, Best binary codes are binary sequences whose peak sidelobes of the aperiodic autocorrelation function is the minimum possible for a given code length.Codes whose autocorrelation function or zero-Doppler response exhibit low sidelobes are required for many communication applications (1) .
In recent years by exhaustive computer search program, Lindner (2) found all binary sequences up to length 40 with minimum PSL.Cohen et al. (3) extended those results to length 48.Boehmer (4) has developed an analytical technique for generating good binary pulse compression codes.
It is currently impractical, using the exhaustive search method, to find the best possible binary sequences for very long lengths.In this paper, the codes generated by genetic algorithm up to length 105 bits is optimum, to test the Doppler responses of these generated codes at zero, 0.05, 0.1 and 0.15 Doppler shifts and plotting them by Ambiguity function.

ALLOMORPHIC FORMS OF BINARY PHASE CODES
Each binary code can be represented in any one of four Allomorphic Forms (1) , all of which have the same correlation characteristics.These forms are the code itself, the inverted code (the code written in reverse order), the complemented code (1s changed to 0s and 0s to 1s), and the inverted complemented code.
For example, the following 7-bit Barker codes all have the same autocorrelation peak value and the same peak sidelobe magnitude:

Complement of reverse
Now it is worthy to say that in any literature when the number of codes of certain length is given, it represents the code itself (first form) without its other three Allomorphic forms.For symmetrical codes, the code and its inverse are identical.

GENETIC ALGORITHM FUNDAMENTALS:
A genetic algorithm (GA) is a directed random search technique, which can find the global optimal solution in multidimensional search space.It is one of a relatively new class of stochastic search algorithms.Stochastic algorithms are those that use probability to help guide their search (5) .
GA transforms a population (set) of individual objects, each with an associated fitness value, into a new generation of the population using the Darwinian principle of reproduction and survival of the fittest and naturally occurring genetic operations such as crossover (recombination) and mutation.Each individual in the population represents a possible solution Before applying a GA to a given problem, the user designs an artificial chromosome of a certain fixed size, then defines a mapping (encoding) between the points in the search space of the problem and instances of the artificial chromosomes.Hence, In order to apply a GA to solve any practical problem, the user must do the following (6,7) : 1. Determining the representation scheme (how solutions are encoded in chromosome).
2. Creating the group of chromosomes (initial population of solutions) at the beginning of the genetic search.
3. Determining the fitness measure (the metric for measuring the fitness of chromosome).
4. Determining the parameters and variable for controlling the algorithm (i.e.population size, crossover rate etc.).
5. Determining methods to apply genetic operators (i.e. the three basic operators selection, crossover and mutation) to produce new sets of individuals.
6. Determining a way to terminate the genetic search.

IMPLEMENTATION OF GENETIC ALGORITHM
The implementation of the simple genetic algorithm is, as follows (8) : 1. Generate N strings, each of length l, randomly to form the initial population.
2. Evaluate each string in the current population and assign a fitness value to each string.
3. Select a highly fit string using selection operator and repeat these processes N times to generate a new population of N strings for next generation.
4. Randomly choose pairs of these selected strings and perform crossover with a probability c p to generate children's strings.Crossover exchanges bit values between the two strings at one or more locations.
5. Randomly choose some bit positions with a probability m p and mutate the bit values.That is change 1 to a 0 and 0 to a 1.
6. Steps 2-5 constitute a generation.Repeat steps 2-5 till the number of generations is MAXGEN and stop.Output the best string from the current population.Figure (1) shows the general structure of the genetic algorithms.

METHODS
Genetic algorithms are highly parallel, global search methods applied to complex optimization problems.Unlike other optimization techniques, GA works with a population of individuals represented by bit strings and modifies the population with random search and competition (9) .It has been found to overcome some of the problems of traditional search methods such as hill-climbing, the most notable problem being "getting stuck" at local optimum points, and therefore missing the global optimum (best solution) (10) .
Four reasons are given for the preference of GA over more normal optimization and search procedures: 1. GAs work with a code of a group of solution parameters and not with their own solution parameters 2. GAs search from a population of points, not a single point.The computation for each individual in the population is independent of those for others.Therefore, GAs have inherent parallel computation ability.
3. GAs use payoff (fitness or objective functions) information directly for the search direction, not derivatives or other auxiliary knowledge.GAs therefore can deal with the non-smooth, non-continuous and non-differentiable functions that are real-life optimization problems.This property also relieves GAs of the approximate assumptions for a lot of practical optimization problems, which are quite often required in traditional optimization methods.4. GAs use probabilistic transition rules to select generations, not deterministic rules, so they can search a complicated and uncertain area to find the global optimum.Therefore, GAs are more flexible and robust than conventional methods.

GENERATING BINARY CODES BY GA:
In this section, GA is discussed; there are several methods to find optimum codes with low sidelobes level.As there is 2 N different state for code with N bits, consider all of possible states are very time consuming and even for some code lengths impossible.So, for long length codes, optimization and local methods are used instead of exhaustive search (11) .
So, in GA an initial population included stochastic N-element codes is generated, then in each step, two parent codes is selected (by using roulette wheel selection) and two new codes which is belonged to new population is produces by using crossover and mutation operations with probability is set to 1 for decreasing the probability of generating repeated codes.If each of these new codes has desired PSL, it will be member of desired final optimum population.The fitness function of this genetic algorithm is PSL.The procedure is defined in two steps: First step, entire set of codes can presented by a subset then calculates the sidelobe of these codes.If any of the calculated values are larger than desired PSL, then these codes are deleted from search space, else, at second step if one code has sidelobes smaller than desired PSL, it will be an optimum code.In fact second step is implemented complete search.Figure (2) shows flowchart of GA in more details to generate Binary Codes.In this flowchart, g, psl and N mean number of desired generation, peak sidelobe level, and code length respectively.

AMBIGUITY FUNCTION (AF):
The true situation of signal reception is the combined range and velocity resolution.This is because the target, in general, has both range and velocity.In other words, range and Doppler resolutions are not just functions of the transmit waveform but of the target response itself which makes for interesting ambiguity functions (12) .In general, a two-dimensional correlation function is needed in the pair of variable: time delay-Doppler frequency (τ, ν).
If u(t) is the complex envelope of the signal, then the combined the correlation function is given by: The magnitude of the combined the correlation is called the Ambiguity Function (AF), which represents the time response of a filter matched to a given finite energy signal when the signal is received with a delay τ and a Doppler shift ν relative to the nominal values (zeros) expected by the filter.The AF definition is:

THE PERFORMANCE OF SIDELOBE REDUCTION TECHNIQUES
The following measures are often used to quantify the performance of range sidelobe reduction techniques.These measures are as in the following (13) :

PEAK SIDELOBE LEVEL (PSL):
Peak Sidelobe Level, a measure of the largest sidelobe power as compared with the mainlobe power, is defined as (14) : (3) log 20 log 10

MERIT FACTOR (MF):
The merit factor of a sequence is the ratio of the energy in the sequence's aperiodic autocorrelation peak to the total energy in its sidelobes.For a binary sequence the peak is equal to its length, so the normalized merit factor is defined as (15) : MF = (total mainlobe power) 2 power integrated over sidelobes (4)

BINARY PHASE CODES GENERATION BY GA.
The criterion for chosen optimum codes is Minimum Peak Sidelobe (MPS) for each sequence for a certain length and according to the flow chart in Figure (2).From simulation an 105 codes were obtained and a samples of these codes are presented in Table (1).In this  4) respectively for each code and with its maximum sidelobe of the sequences obtained are quite small.
Table (1) lists codes in Hexadecimal, Each hexadecimal digit represents four binary bits, and the convention is made that, upon base conversion, any unnecessary binary digits are removed from the left side of the sequence.
Figure (3) illustrates the comparison between two codes with the same length 7-bits, but different sequence.The first code is [0110010] with Normalized MPS equal to 0.4286 and bad MF equal to 1.0652 and the second code is [1110010] which is the optimum code that resulted from GA as illustrated in table (1) with Normalized MPS equal to 0.1429 and good MF equal to 8.17.So; it is shown that the good a periodic ACF for the two sequences is the second code because it has minimum peak sidelobes.
The variation of PSL with code length for binary sequences up to length 105 bits is shown in Figure (4).This figure shows that, the longer code, smaller the PSL ratio and the best record is related to length.So, it is expected that, the increase in the length of the codes accompanied by the increment of MPS leads to worse compression characteristic.

DOPPLER EFFECT ON THE BINARY CODES:
The Doppler effects on the matched filter output for chosen codes is presented in this section.The value of PSL and the properties of different Doppler shifts are calculated at (0.0, 0.05, 0.1 and 0.15) by cutting the ambiguity function of each code at that Doppler shifts and then observing the change of PSL value.
Figures (5), and ( 6), illustrate the effect of Doppler shift equal to 0.15 on mainlobe and sidelobe normalized values for optimum code has length N=11, and another example for optimum code has length N=36 with shift equal to 0.1 shown in Figures (7), and (8).From these four figures, found that the mainlobe decreases and the sidelobes increases.While Figures (9), and (10) illustrate the high sensitivity of increasing the sidelobes level value for unoptimum code with length N=19 at Doppler shift equal to 0.15.
In the Table (2), it has been shown that the binary codes are very sensitive to Doppler shifts, the peak decreases and the sidelobes increases as Doppler shift is increased.For example, the PSL for N=19 at zero Doppler shift is equal to 19.5544 dB, while for the same -Input: l : Length of each solution string N : Population size, number of strings in a population c p : Probability of crossover m p : Probability of mutation MAXGEN : Maximum number of generations II-Output:  x : Best string from the current population III-Algorithm:

Figure ( 2 )
Figure (2): A flow chart of Genetic algorithm to generate Binary Codes.
Table, the codes are stated after excluding all Allomorphic forms of codes during generation, and PSL, MF exhibited in this Table according to Eqs. (3) and Eqs. (

Table ( 1
): Samples of Optimum Binary Codes Resulted by GA.
*Unoptimum sequence (as example)Table(2): PSL at Three Doppler Shifts Cuts of the Ambiguity Function.⃰⃰ Unoptimum sequence (as example)