A Review on Turbo Codes using Different Algorithms
Poonam
1,
Mr. Bhavneesh Malik
2,Mr. Gaurav Kochar
31
(M. Tech, Scholar, RIEM, MDU Rohtak, Haryana, INDIA)
2.
Mr. Bhavneesh Malik (AP, ECE Deptt, RIEM, MDU, Rohtak,Haryana, INDIA)
3.Mr. Gaurav Kochar (AP, ECE Deptt, RIEM, MDU, Rohtak, Haryana, INDIA)
---
Abstract-
Turbo codes are a new class of forward error correcting codes that have proved to give a performance close to the channel capacity as proposed by C. Shannon. A turbo code encoder is formed by the parallel concatenation of two identical recursive convolutional encoders separated by an interleaver. The turbo code decoder utilizes two cascaded decoding blocks where each block in turn share the a priori information produced by the other. The decoding scheme has the benefit to work iteratively such that the overall performance can be improved. In this paper, a performance analysis of turbo codes is carried. Two decoding techniques, namely, Log maximum a posteriori probability (Log-MAP) algorithm, and the soft output Viterbi algorithm (SOVA), which uses log-likelihood ratio to produce soft outputs are used in the performance analysis. The effect of using different decoding schemes is studied on both punctured and unpunctured codes. Finally, the performance of the two different decoding techniques is compared in terms of bit error rate.Keywords:
Turbo Codes, Interleaver, Log-likelihood Ratio, Iterative Decoding, Log-Maximum a Posteriori Probability Algorithm, Soft Output Viterbi Algorithm, etc.1.Introduction
Wireless technologies are the veritable explosions in telecommunication industries. Once exclusively military, satellite and cellular technologies are now commercially driven by ever more demanding consumers, who are ready for seamless communication from their home to their car, to their office, or even for outdoor activities. The demand for wireless communications services has grown tremendously. Although the deployment of 3rd generation cellular systems has been slower than was first anticipated, researchers are already investigating 4th generation (4G) systems [10, 11].
These systems will transmit at much higher rates than the actual 2G systems, and even 3G systems, in an ever crowded frequency spectrum. Signals in wireless communication environments are impaired by fading and multipath delay spread. This leads to a degradation of the overall performance of the systems. Hence, several avenues are available to mitigate these impairments and fulfil the increasing demands. With this increased demand comes a growing need to transmit information wirelessly, quickly and accurately. To address this need, communications engineer have combined technologies suitable for high rate transmission with forward error correction techniques. Turbo codes are a new class of forward error correcting codes that have proved to give a performance close to the channel capacity as proposed by C. Shannon[4]
1. Turbo Code Encoder
A turbo code is a parallel concatenation of two or more recursive systematic
convolutional
codes [1-3]. A generalized turbo encoder is shown in Fig.1Fig. 1 Turbo encoder. [4]
The input of the TC encoder is a data block x, with k
sequence c1. This sequence of bits is then fed in parallel into
m parallel sets of interleavers (αi) and encoders [7]. The aim
of the interleaver is to scramble the sequence c1 before feeding the output of the padding block into other constituent encoders [5].
2. Turbo Code Decoder
Turbo codes offer the ability to build powerful codes that utilize a relative simple soft-decision decoding algorithm. This is possible because the turbo decoder is constructed from two identical serial decoding blocks that share information. The turbo code decoders often work iteratively (loop wise) by sharing the a priori information obtained from the log-likelihood ratio (a posteriori information) of the previously cascaded decoder. The constituent decoders are the optimal decoders for the component codes used by the turbo encoder. Fig.2 gives a visual representation of the iterative and information sharing nature of the decoding strategy.
Fig.2 Turbo decoder [2]
For turbo codes, the Soft Output Viterbi Algorithm (SOVA), and the Log-MAP decoding algorithm can be used as they produce soft-bit estimates. The Log-MAP decoding scheme is the modified version of the MAP decoding scheme and is computationally less complex than the original MAP decoding algorithm. However, due to the push for strikingly low bit error rates, the MAP or the Log-MAP has been most commonly used in turbo codes since they are based on the optimal decoding rule. In contrast, the SOVA is an approximation to the MAP sequence decoder and will have a slightly worse bit error performance. Though SOVA suffers from performance degradation as opposed to the Log-MAP decoding rules, it has much reduced complexity.
3.
MAP Algorithm
To first understand the decoding of turbo codes, a preliminary understanding of the MAP algorithm is necessary. The idea was set out to estimate the a posteriori probabilities of the states and transitions of a Markov sequence transmitted through a discrete memoryless channel. This work resulted in an algorithm that minimizes symbol error rates while trying to decode block and trellis codes. The aim of the MAP algorithm is to minimize the symbol error rate for the decoding of trellis and block codes. Therefore, after receiving the information through the channel, the job of the decoder is to determine the most likely input bits (original/uncoded information sequence), based on the received symbols. Since the input is over the binary alphabet, it is conventional to form a log-likelihood ratio (LLR) and base the bit estimates on comparisons based on magnitude of the likelihood ratio to a threshold. The log-likelihood ratio for the input symbol indexed at time t is decoder produces estimates of the information bits based on the values of the log-likelihood ratio. The magnitude of the log-likelihood ratio is defined as the soft output or soft value which can be passed after processing to the other decoder as a priori information. The estimator obeys the following rule
(ii)
3.1 Log-MAP Decoding
microprocessor. Also the requirement of large amount of memory to store the probabilities in the computation of the log-likelihood ratio makes the implementation of this algorithm complex. After defining all the entities required in the decoding process the complete decoder structure for Log-MAP algorithm is shown in Fig. 3
Fig. 3 Log-MAP algorithm [1]
3.2 SOVA Decoding
The SOVA decoder also estimates the soft output information for each transmitted symbol in the form of the LLR. In order to calculate this LLR the algorithm relies on the reliability of the maximum likelihood (ML) chosen path [9]. At each node in the trellis the absolute difference between the surviving and the competing paths determines the reliability of the decision.
The greater the difference between the survivor and the competing path, the more reliable is the survivor path. For this reliability calculation, it is assumed that the survivor path’s accumulated metric is always better than the competing accumulated metric. Furthermore, to reduce complexity, the reliability values only need to be calculated for the ML survivor path and are unnecessary for the other survivor paths since they will be discarded. The structure of the SOVA decoding algorithm can be shown in Fig.4
Fig. 4 SOVA decoding [2]
4.
Simulation Results
The simulation results obtained by using both SOVA and Log- MAP decoding schemes for the additive white Gaussian noise channel are presented. The effect of puncturing is also studied by simulating the punctured scheme by using odd-even interleaving. The results for both punctured and unpunctured codes are obtained by simulating the schemes under identical
parameters so that a fair comparison
can be made [8].
0 1 2 3 4 5 6
10-6 10-5 10-4 10-3 10-2 10-1 100
Bit Error Rate
Eb/N0 [dB]
BER
Iteration1 Iteration2
0 1 2 3 4 5 6 10-6
10-5 10-4 10-3 10-2 10-1 100
Bit Error Rate
Eb/N0 [dB]
BER
Iteration1 Iteration2
Fig 6 BER plot for log-map decoder: Unpunctured [4]
0 1 2 3 4 5 6 7
10-6 10-5 10-4 10-3 10-2 10-1 100
Bit Error Rate
Eb/N0 [dB]
BER
Iteration1 Iteration2
Fig 7 BER plot for SOVA decoder: Punctured
0 1 2 3 4 5 6 7 8
10-6 10-5 10-4 10-3 10-2 10-1 100
Bit Error Rate
Eb/N0 [dB]
BER
Iteration1 Iteration2
Fig 8 BER plot for SOVA decoder: Unpunctured [5]
From Fig 5 and Fig 6 it is clear that for log Map decoder punctured code degrades the performance of the decoder as compared to unpunctured code. From Fig7- Fig8 it is clear that for SOVA decoder punctured code degrades the performance of the decoder as compared to unpunctured code. From the simulation results we observed that for a fixed turbo encoder the performance of the decoder improves as the data frame size is increased. This implies that the data frame size is an important factor in the performance of turbo codes and as the frame size is increased the code gives better performance, which on the other hand is not the case with the conventional Viterbi decoder. Similarly, an increase in code rate (punctured case) degrades the performance of the decoder as compared to unpunctured code.
5. Analyzed Result:
of the iterative process is to further reduce bit errors. However, the evaluation of the number of iterations necessary for optimal results has proven to be a difficult task. The SOVA decoding scheme has shown less performance than the Log-MAP algorithm and this was expected due to the fact that the SOVA decoder is an approximation to the MAP decoding scheme and hence suffers from performance degradation. Although SOVA has the disadvantage of performance degradation, it has the hardware implementation advantage as it does not require large memory size to store numbers, whereas Log-MAP algorithm despite its superior performance is prone to memory overflows.
6. References
[1] Joshi, A. , Saini, D.S. , “Performance analysis of coded-OFDM with RS-CC and Turbo codes in various fading environment” , Information Technology and Multimedia (ICIM), 2011 International Conference on, 14-16 Nov. 2011.
[2] Qazi, S.A. , Kahkashan, S. , “A comparative analysis of power and device utilization of LDPC and Turbo encoders” , Information and Communication Technologies (ICICT), 2011 International Conference on, 23-24 July 2011.
[3] Adnan, T. , Masood, A. , “Use of convolution coding for improving SER performance of OFDM system” , Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on, 27-29 May 2011.
[4] Zhang Xinyu , “A basic research on Forward Error Correction”, Communication Software and Networks
(ICCSN), 2011 IEEE 3rd International Conference on, 27-29 May 2011.
[5] Soni, S.K. , Chauhan, P.S. ; Vasudevan, K. ; Shanker, Y. , “Turbo decoding in ISI channels” Emerging Trends in Networks and Computer Communications (ETNCC), 2011 International Conference on, 22-24 April 2011.
[6] Abhishek, Kumar, S., Chakrabarti, S. ,“ Performance Evaluation of Asymmetric Turbo Codes Using Log-MAP Decoding Technique ” , Devices and Communications (ICDeCom), 2011 International Conference, Page 1 – 5, 24-25 Feb. 2011.
[7] Saul, L.-S.; Francisco, G.-L., “A comparative study for turbo code interleavers designed for short frame size and relatively high SNR channel”, 5th international IEEE Conference, 2011.
[8] Jiaxiang Li; Qingchun Chen; Suyue Gao; Zheng Ma; Pingzhi Fan, “The optimal puncturing pattern design for rate-compatible punctured Turbo codes”, international IEEE Conference , 2009.
[9] Jinhong Wu; Vojcic, B.R., “Combining iterative SOVA and Log-MAP algorithms for turbo decoding”, Information Sciences and Systems, 43rd IEEE Conference,2009..
[10] Theodore S. Rappaport, “Wireless Communications”, Prentice Hall, 2002.