A Genetic Algorithm for Optimizing TCM Encoder

This article describes a genetic algorithm for the optimization of the Trellis Coded Modulation (TCM) schemes with a view to achieve a higher performance in the multipath fading channel. The use of genetic algorithms is motivated by the fact that they are capable of performing global searches to retrieve an approximate solution to an optimization problem and if the solution is unknown to provide one within a reasonable time lapse. The TCM schemes are indeed optimized by the Rouane and Costello algorithm but the latter has as major disadvantage high requirements in both computation time and memory storage. This is further exacerbated by an increase in the encoder rate, the number of memory piles and the depth of the trellis. We describe a genetic algorithm which is especially well suited to combinatorial optimization, in particular to the optimization of NP-complete problems for which the computation time grows with the complexity of the problem, in a non-polynomial way. Furthermore this opens up the possibility of using the method for the generation of codes for channel characteristics for which no optimization codes are yet known. Simulation results are presented, that show the evolutionary programming algorithm on several generations of populations which only exhibit a medium probability of exchanging genetic information. Keywords—Trellis Coded Modulation; free distance; genetic algorithm


I. INTRODUCTION
Multilevel modulation of convolutionally encoded symbols was a technique known before the introduction of TCM.The innovative aspect of TCM is the idea that convolutional encoding and modulation should be treated as a unique operation and not as separate entities [1].
As a result, instead of first demodulating and then decoding the received signal, the demodulation and decoding are combined, by the receiver, in a single process.Consequently, the parameter governing the performance of the transmission system is no longer the free Hamming distance of the convolutional code, but becomes the free Euclidean distance between transmitted signal sequences, over the additive white Gaussian noise channel.Thus the optimization of the TCM design will be based on Euclidean distances rather than on Hamming distances, so that the choice of the code and of the signal constellation will not be performed separately.To this end, much research has been done to optimize TCM encoder schemes by maximizing the free distance as is the case in Rouane and Costello"s work [2] which defines an algorithm aiming to maximize the free distance which computes the spectrum of linear, regular and quasi-regular trellis codes.This optimization has not only affected the design of TCM schemes but has also affected the points of constellations where Matthew C Valenti [3] had described a genetic algorithm for solving the symbol labelling problem and extending the algorithm to optimize their location in the signal space.Yang [4] describes a search method, based on genetic algorithms, to solve the problem of the signal constellations mapping which minimizes the BER of the system.In [5] Confessore describes a genetic algorithm to design satellite constellations for regional coverage.The performance was tested by evaluating optimal satellite configurations both for global coverage and for regional coverage and an extensive series of computational tests was performed to validate the meta-heuristic approach proposed for regional coverage.Tania [6] made use of a genetic algorithm to maximize the percent coverage and minimize the revisit time for a small satellite constellation with limited coverage.Anit Kumar [7] studied the encoding in genetic algorithms which is essentially dependent on the type of problem and examined different coding schemes according to the problems in which they are used.
In fact, genetic algorithms are used by large companies to optimize schedules and design products which can range from large aircrafts to tiny computer chips or to medicines [8].They thus make use of the power and efficacy of genetic algorithms which are able to find solutions to problems that other optimization methods cannot handle because of a lack of continuity, derivatives, linearity, or other features.Our work aims to optimize the TCM scheme for which we propose a genetic algorithm to design and optimize the placement of branches which are used for the systematic and parity bits and the connectivity of the memories between them.By letting the design evolve over several generations, new encoder formats are found with lower binary error levels than had previously been obtained by applying one of the two modulation techniques QAM or PSK depending on the choice of encoder rate.
The remainder of the paper is organized as follows: Section II provides a model of the system under consideration.Section III provides the simulation results with a comparison of the initial and second population; the best code generated by www.ijacsa.thesai.org the genetic algorithm as compared to the Ungerboeck code in the cases of three, four and five memories.Section IV concludes the paper.

II. SYSTEM MODEL
Genetic algorithms are a type of optimization algorithm used to find the optimal solution(s) to a given computational problem that maximizes or minimizes a particular function.In this article, our goal is to maximize the free distance using a genetic algorithm.Before giving the fitness function, we will first provide a definition of free distance.Free distance represents the shortest distance between two divergent paths starting from the same point (state) and returning to that point as quickly as possible as shown in Fig. 1.This distance represents the distance between two nearest paths without error.

B. Design of the TCM Encoder
The generic TCM encoder, proposed by Ungerboeck [1], is presented in Fig. 2. It allows the generation from m input bits (within the input symbol ), an output that contains the m systematic bits and a parity bit produced using a combination of the m input bits and the last state of the encoder memory of size v that yields a coding rate R = . The design of a TCM encoder consists in the determination of the parameters i { } and j { } , which can take values from{ }.The TCM encoder, presented in (2), imposes the following assumption: { }.
The TCM encoder can be represented, using the parameters by polynomials of the variable D as follows: ∑ , i { }, or by the code generator ( ) written in octal [9].
Let G be a matrix which describes how the state variables at time n+l are related to the state variables at time n, and let T be a matrix which describes how the symbols at time n+l depend on the input symbol at time n.Using these relationships, the future state ( ) of the encoder in Fig. 2 can be constructed as follows: (1) Where, is a vector describing the current input, and is a vector describing the current state.
Equation ( 1) can be expressed as a polynomial using Dtransform as in [10].
(2)  Example on TCM encoder.Consider the 16-state rate 2/3 TCM encoder shown in Fig. 3 where "⨁" represents the operation of XOR and "D" represents the memory or the shift register of the TCM encoder.
The TCM encoder in Fig. 3

D. Binary Coding of the TCM Chromosome
The term chromosome refers to a numerical value or values that represent a candidate solution to the problem that the genetic algorithm is trying to solve [11].Each candidate solution is encoded as an array of parameter values, where the performance of a genetic algorithm depends highly on the method used to encode this candidate solution into chromosomes and on what the fitness function is actually measuring [12]. The size of the chromosome in Table 1 is equal to 17 bits in the case of three (3) memories, 26 bits in the case of four (4) memories and 37 bits in the case of five (5) memories.
 Some data is handed down by the parents, from one generation to the next.These are the hereditary genes.In our case to keep the same characteristics as for a recursive convolutional encoder the following cell indexes remain unchanged (Table 2) and are inherited by all the new generations of the TCM chromosome.In this paper, we work on recursive systematic code where matrix G represents the connectivity of the memories between them.In matrix G, value 1 (first row, last column) is set in position G [1, m], which makes the encoder recursive.Matrix G can be represented by 4 possible cases, as follows: In the case of matrix "T", as shown in Fig. 5, there are six (6) possible connexions.The number of possible cases for matrix "T" is equal to 2 (Ne*m) where "Ne" represents the number of bit per symbol and "m" represents the number of memories.

E. Reproduction of the TCM Encoder Operations using the Genetic Algorithm
Genetic algorithms can be applied to any process control application for the optimization of different parameters.Genetic algorithms use various operators viz.crossover, mutation for the proper selection of an optimized value.The selection of the appropriate crossover and mutation technique will depend on the encoding method and the problem requirement [13].
 Crossover: Applies to two different individuals where the result is:  Chromosome formed from the genes of its two parents.
 Two children are "produced" for the next generation.
 The decrement percentage is fixed. "Selection" of the best individuals.
 Possibility of exploring the different parts of the research setting.

F. Flowchart of the Genetic Algorithm for the TCM Scheme Optimization
Genetic algorithms begin with a set of solutions represented by chromosomes, called a population.Solutions from one population are taken and used to form a new population, which is motivated by the possibility that the new population will be better than the old one.Furthermore, solutions are selected according to their fitness to form new solutions, i.e. offsprings.The above process is repeated until some given condition is satisfied.The basic genetic algorithm is outlined as below: The algorithm is initialized with a population of 15 chromosomes.The encoder functions are indexed in increasing order so that the encoder is the best when its fitness function is equal to the maximum value and when the BER of the encoder is equal to the minimum value.Whenever the population changes, it is reindexed.
The genetic algorithm was run to optimize the encoder with three variables M = {G, T, E}, the population N = 15; the mutation rate Γ = 0.03, and the culling period Tc = M.The number of mutants δ per child was variable.
Initially, δ = 0.If after Tc generations a new best encoder has not been identified, then δ is incremented up to a maximum of 30.On the other hand, if a new encoder has been identified within Tc generations, then δ is decremented.
The final value of d free (f(x)) is shown in Tables 3 and 4, the optimal generation which identified the best encoder is listed in Table 6.
Table 5 indicates the d free values obtained by Ungerboeck and with the genetic algorithm, indicating the number of generations required by the genetic algorithm to converge.As can be seen, the genetic algorithm with three memories has found the same optimal value for d free as was found by Ungerboeck, however with 4 and 5 memories the optimal values obtained were different but had the same performances as shown in Fig. 11.The best encoder found by the genetic algorithm for 8 states, 16 states and 32 states and the maximum value of d free after going through different generations are shown in Table 6.Finally, Table 7 shows the variation of values from average to best fitness values.The chromosomes that will reproduce are selected based on their fitness values, using the following probability: P (chromosome I reproduces) = ∑ (3) Fig. 6.Comparison between 15 chromosomes of the initial population.
 The simulation illustrated in Fig. 6 shows the comparison between 15 chromosomes of the initial population where the best chromosome corresponds to [00110001011000100] with a d free max value equal to and the minimum value for BER (Fig. 7). Now the second generation is tested by the fitness function, and the cycle is repeated.The simulation illustrated in Fig. 8 shows a comparison between 15 chromosomes of the second generation where the best chromosome corresponds to [00110001000101000] and where the standard representation is: G = [0 0 1; 1 0 0; 0 1 0], T =[0 0;0 1;1 0]; E = [0 0] with a d free max value equal to 4.59 and the minimum value for BER (Fig. 9). Fig. 10 shows the first run of a genetic algorithm maximizing the free distance.The red curve is the highest fitness which corresponds to the second generation and the blue curve corresponds to the first generation where average fitness is equal to 3.18.The best solution is reached which corresponds to the chromosome [00110001000101000] with a d free max value equal to 4.59 and the minimum value for BER.In Fig. 11, the simulation results show that the codes generated by Ungerboeck have the same performance as those generated by genetic algorithm.This is the case after several genetic algorithm code generation iterations conducted until the fitness function value of the chromosome was stabilized and remained stable over many generations at a point where this value converged to the best solution.www.ijacsa.thesai.orgIV.CONCLUSION This paper shows improvements which have been obtained by the use of a genetic algorithm for the optimization of TCM schemes, as opposed to other optimization algorithms for this encoder.There are other important details such as the crossover and mutation probabilities, the population size and the iteration number.By applying an appropriate genetic algorithm, a new TCM encoder scheme could be evolved in a multipath channel.These values of the TCM encoder can be adjusted after assessing the algorithm"s performance on a few trial runs.Future research attempts to combine genetic algorithms with other optimization algorithms as well as other branches of evolutionary computation, such as neural networks.

Fig. 1 .
Fig. 1.Two pairs of paths diverging at time n = 0 and reaching the same states at the same time.
has three polynomials expressed as: and, the code generator is (h 0 Encoder Representation using a Genetic Algorithm Fig.4represents the TCM encoder with rate 2/3 comprising three branches, two of which represent the systematic bits and www.ijacsa.thesai.orgone represents the parity bit."⨁" represents the operation of XOR and "D" represents the TCM encoder memory.


Mutation: Applies to a single individual by modifying one or more genes of the selected parent(s), where the result is: A single new child is produced.A mutation percentage is fixed.Choose the selection method with the following three main objectives:  Choice of individuals which apply the reproduction operations for the creation of future generations (creation of a mating-pool).

-
Select the chromosome which correspond to Min of BER Result: best so far chromosome -Compute the BER of each chromosome (encoder) Yes Reproduction (crossover and mutation) (new current generation) www.ijacsa.thesai.orgIII.SIMULATION RESULTS In this work, the genetic algorithm used to optimize the TCM encoder, based on maximizing the free distance of quasiregular trellis code with three variables (G, T, E) in the interval [0, 5] where the fitness function is: Max [F = MyGa (fitness, G, T, E)]

Fig. 7 .
Fig. 7. Presentation of the initial population as a wheel of 15 chromosomes.

Fig. 9 .
Fig. 9. Presentation of the second population as a wheel of 15 chromosomes.

Fig. 10 .
Fig. 10.Comparison between the first and second generations.

Fig. 11 .
Fig. 11.Comparison between the Ungerboeck codes and those generated by the genetic algorithm in the case of 16 and 32 states.

TABLE III .
INITIAL POPULATION

TABLE IV .
REPRODUCTION AND SECOND GENERATION

TABLE V .
VALUE OF D FREE OBTAINED BY UNGERBOECK 1 [1] AND THE PROPOSED GENETIC ALGORITHM 2 ALSO LISTED IS THE NUMBER OF GENERATIONS REQUIRED FOR THE GA TO CONVERGE

TABLE VI .
THE BEST CODE GENERATED BY THE GENETIC ALGORITHM

TABLE VII .
VARIATION OF VALUES FROM AVERAGE TO BEST FITNESS