Genetic algorithms are successfully used for decoding some classes of error correcting codes, and offer very good performances for solving large optimization problems. This article proposes a new decoder based on Serial Genetic Algorithm Decoder (SGAD) for decoding Low Density Parity Check (LDPC) codes. The results show that the proposed algorithm gives large gains over sum-product decoder, which proves its efficiency.
The current large development and deployment of wireless and digital communication encourage the research activities in the domain of error correcting codes. The latter is used to improve the reliability of data transmitted over communication channels susceptible to noise. Coding techniques create codewords by adding redundant information to the user information vectors. Decoding algorithms try to find the most likely transmitted codewords related to the received one as depicted in
Decoding algorithms are classified into two categories: hard decision and soft decision algorithms. Hard decision algorithms work on a binary form of the received information. In contrast, soft decision algorithms work directly on the received symbols [
LDPC codes were invented by Gallager [
forgotten, and reinvented several times for the next 30 years. Their comeback is one of the most intriguing aspects of their history, since two different communities’ reinvented codes are similar to Gallager’s LDPC codes at roughly the same time, but for entirely different reasons.
Low Density Parity Check (LDPC) codes are a class of linear block codes. The name comes from the characteristic of their parity-check matrix which contains only a few 1’s in comparison to the amount of 0’s. Their main advantage is that they provide a performance which is very close to the capacity for a lot of different channels and linear time complex algorithms for decoding. Furthermore, they are suited for implementations that make heavy use of parallelism [
LDPC codes have emerged as the best error correcting codes close to the theoretical Shannon limit performance. When these codes are decoded using Gallager’s iterative probabilistic decoding method, also known as the sum-product algorithm or belief propagation algorithm, their empirical BER performance is found to be excellent [
The LDPC sum-product decoding algorithm [
In this article we introduce a new Serial Genetic Algorithm Decoder (SGAD) LDPC codes. In effect, a comparison with sum-product decoder, which is currently the most successful algorithm for LDPC, shows its efficiency, and gives the higher performances.
This paper is organized as follows. In Section II, we introduce Genetic algorithm; in Section III, we present SGAD (our decoder) and analyze the performances. Finally, Section IV presents the conclusion and future trends.
Genetic algorithms are heuristic search algorithms premised on the natural selection and genetic [
・ Individual or chromosome: a potential solution of the problem, it’s a sequence of genes.
・ Population: a set of points of the research space.
・ Environment: the space of research.
・ Fitness function: the function to maximise/minimise.
・ Encoding of chromosomes: it depends on the treated problem, the famous known schemes of coding are: binary encoding, permutation encoding, value encoding and tree encoding.
・ Operators of evolution:
Selection: It permits to select the best individuals to insert in the intermediate generation.
Crossover: For a pair of parents (p1; p2) it permits to create two children (ch1; ch2), with a crossover probability Pc.
Mutation: The genes of the individual are muted according to the mutation rate mr and the mutation probability Pm. The typical steps in the design of genetic algorithm are described below and illustrated in
This work is a serialization of the genetic algorithm, the decoder computes the syndrome of the received vector, so if the syndrome is null, the decoder returns the decoded vector equal to the binary decision of received one, else the decoder turn the first execution of GA with an initial population randomly generated (PoP), in the second execution of GA, the decoder inserts a subpopulation (SubPoP) (a some elites of the last generation for first GA execution) in the initial population (PoP). Then the decoder returns the best individuals as a decoded word. The pseudo code of SGAD is shown in
Let C a Low Density Parity Check (LDPC) code, and let
Let
Let P the size of the subpopulation.
Let
Let U = [0,1] and
The decoding-based on serial genetic algorithm is depicted in
Step 1. The decoder calculates de syndrome of de received vector (Equation (4)).
where
If
Step 2. Generate an initial random subpopulation (SubPoP) of
Step 3. For i from 1 to 2.
Substep 3.1. Generate an initial random population (PoP) of
Substep 3.2. Insert the subpopulation (SubPoP) in the initial population (PoP).
Substep 3.3. Compute the fitness of each individual in the population:
The fitness function is the syndrome weight of de candidate, and the distance between the candidate vector and the received one (Equation (2)).
where
and
z is the solution provided by GA.
Substep 3.4. The population is sorted in ascending order of member’s fitness defined by (6).
Substep 3.5. The best two members (
Substep 3.6. The other
Subsubstep 3.6.1. Selection operation: a selection operation that uses the tournament selection method is applied in order to identify the best parents
Subsubstep 3.6.2. Crossover operation: Create new vectors
Subsubstep 3.6.3. Mutation operator: To complete the new generation, children are mutated by introducing random changes with a given probability rate
The P best member from the last generation for the first execution of GA are inserted in the subpopulation (SupPoP).
Step 4. The decoder decision is z the best member from the last generation after two GA runs.
In order to prove the effectiveness of SGAD, we do intensive simulations.
The simulations where made with default parameters outlined in
The number of size of the subpopulation (the number of the elites members of the last generation inserted in the initial population for second execution of GA) used in our decoder has an effect in the performances quality.
Our new decoder has been compared with the Sum-Product Decoder for regular LDPC (63,37), LDPC (73,45) and
Simulation parameter | Parameter value |
---|---|
Pc (crossover rate) | 0.97 |
Pm (mutation rate) | 0.01 |
Ng (generation number) | 30 |
Ni (population size) | 300 |
Ne (elite number) | 2 |
P (subpopulation size) | 20 |
Channel | AWGN |
Modulation | BPSK |
Minimum number of bit errors | 100 |
Minimum number of bloc | 1000 |
Default code | LDPC (63,37) |
Type of crossover | Ring Crossover (RC) |
Type of selection | Tournament |
LDPC (96,48) codes. The results are given in Figures 5-7:
We have used the hyperbolic tangent function (Equation (3)) in our decoder based on serial genetic algorithm for transform the values of the received vector (r) in domain [0,1]. We have taken the value of the received word r in the interval [−4,4], and we have plotted the transformation using the hyperbolic tangent function (
From this figure we can say that the tangent hyperbolic function, applied component wise, is to map the components of the received vector
In this paper, we have proposed a new decoder based on serial GA for LDPC codes. The simulations applied on some LDPC code show that the proposed algorithm is an efficient algorithm. The comparison between our SGAD and sum-product decoder shows that our decoder is better in terms of performances. We have shown that the performances must be improved by the factor of the sigmoidal function. The obtained results will open new
horizons for the artificial intelligence algorithms in the coding theory field.
HasnaChaibi, (2015) Serial Genetic Algorithm Decoder for Low Density Parity Check Codes. International Journal of Communications, Network and System Sciences,08,358-366. doi: 10.4236/ijcns.2015.89034