350 likes | 598 Views
Chapter 5 Turbo Code . Theory and Technology of Error Control Coding. Outline. Introduction Structure of Turbo Code Turbo decoding Performance Bound Discussion Application Open Problem . Introduction. First proposed by C.Berrou in 1993 .
E N D
Chapter 5 Turbo Code Theory and Technology of Error Control Coding
Outline • Introduction • Structure of Turbo Code • Turbo decoding • Performance Bound Discussion • Application • Open Problem
Introduction • First proposed by C.Berrou in 1993 . • A new version of modified BCJR algorithm was introduced by Hagenauer in 1994 . • In 1996, S.Benedetto shed some light on the structure of Turbo Code . • 2001, Frey proposed factor graphs and sum-product algorithm for Turbo code. • Defined in the 3GPP LTE specifications.
Outline • Introduction • Structure of Turbo Code • Turbo decoding • Performance Bound Discussion • Application • Open Problem
Structure of Turbo Code • Turbo code exploits the parallel concatenation of at least two usually identical recursive systematic convolutional (RSC) encoders with interleaving. We can see from Fig. 1. Puncturing And Multiplexing u RSC code 1 Interleaver RSC code 2 Fig.1 Turbo code encoder
T T T Structure of Turbo Code • Recursive System Convolutional Code (RSC) The structure of RSC is illuminated in Fig.2. We can get some properties of RSC. T Fig.2 Recursive systematic code
1. The role of design interleaver . To improve the free-distance of codeword with the length of interleaver increasing To diffuse the “1” in low-weight bits sequence and increase the weight of codeword. . 2. The commonly used interleaver . Uniform interleaver Pseudo-random interleaver. . Structure of Turbo Code • Interleaver The function of the interleaver is to rearrange the incoming block of N data bits in a pseudo-random fashion prior to encoding by the second encoder.
S-random interleaver Code-Matched interleaver Structure of Turbo Code
Structure of Turbo Code • Puncturer From Fig.1 we can see each constituent encoder produces a parity code, so the every bit inputed there are three bits outputed, while the overall rate of the encoder is 1/3. We can use puncturer to get high rate. for example: The output sequence of two RSC is : puncture matrix is : the output will be :
Outline • Introduction • Structure of Turbo Code • Turbo decoding • Performance Bound Discussion • Application • Open Problem
Turbo decoding • Why Turbo The Turbo engine uses a feedback to increase the performance of the overall system. The Turbo decoder works similar to the Turbo engine .
De-Interleaver DEC 2 DEC 1 Interleaver Interleaver De-Interleaver Turbo decoding • Structure of the Turbo decoder Fig.3 Structure of the Turbo decoder
if if Turbo decoding In Fig.3: andis called the extrinsic information which are part of the log-likelihood ratio (LLR) The final decision is made from ,
Turbo decoding • MAP(BCJR) • MAX-Log-MAP • Log-MAP • SOVA
Turbo decoding • MAP Algorithm This algorithm was proposed in 1974,modified and applied to iteration decoding
Turbo decoding • MAX-Log-MAP Getting rid of the drawback of MAP algorithm --- lots of exponential operation lead to the instability.
Turbo decoding • Log-MAP algorithm
Turbo decoding • Combining the MAX-Log-MAP and the correction function we can obtain the Log-MAP algorithm • needn’t be calculated for every x, but instead of a look-up table.
Turbo decoding • SOVA algorithm • Fundamental Viterbi algorithm principle: searching for the state sequence S(m) or the information U(m) that maximize the APP • SOVA algorithm principle: First-the path metric be the function of the a-prior information between the two decoders;Second providing soft output LLR
Turbo decoding • is the path metric; is time t,state k path metric; respectively for surviving path and competing path .
Turbo decoding • Features of the Turbo decoder Serial concatenation Probability decoding algorithm Extrinsic information Iterative decoding
Outline • Introduction • Structure of Turbo Code • Turbo decoding • Performance Bound Discussion • Application • Open Problem
Performance bound discussion • A performance bound The performance of a Turbo code with maximum-likelihood (ML) decoding can also be bounded using the union bound of a convolutional code with ML decoding on an additive white Gaussian noise
Performance bound discussion where the Hamming weight of the information sequence the total Hamming weight of the codeword function is defined as
Performance bound discussion Denote the number of codewords with Hamming weight d as , and the total information weight of codewords with Hamming weight d as . Then we define the average information weight per codeword as : Then the upper bound can be re-written as :
Performance bound discussion here is the free distance of the code. is called the effective multiplicity of codewords of weight d. We can have following conclusions : 1. Since Q function decrease drastically when its parameter increase, the larger the information weight d, the less significant the term with weight d affects the performance. Therefore, to improve the performance, one way is to maximize the free distance.
Performance bound discussion 2. the effective multiplicity also affect the performance. We can enlarge the length N while maintaining small. • Some discussions For Turbo codes, the free distance depends both on the structure of the constituent encoder and the pattern of interleaving. Some researches show that the free distance of Turbo codes is usually not very large. However, at low SNR, when the sequence length N is large, minimizing the effective multiplicity is even more important than maximizing the free distance.
Outline • Introduction • Structure of Turbo Code • Turbo decoding • Performance Bound Discussion • Application • Open Problem
Applications • Space communication • Combine with other coding technology • WCDMA • The iterative decoding idea • 3GPP LTE
Outline • Introduction • Structure of Turbo Code • Turbo decoding • Performance Bound Discussion • Application • Open Problem
Open Problem • RSC • Length of interleaver • Algorithm of Interleaver • Theoretical analysis • Decoding algorithm