11.07.2015 Views

130x1g2 - CCSDS

130x1g2 - CCSDS

130x1g2 - CCSDS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHANNELTM SYNCHRONIZATION AND CHANNEL CODING—SUMMARY OF CONCEPT AND RATIONALE7 TURBO CODES7.1 INTRODUCTIONIn 1993 a new class of concatenated codes called ‘Turbo codes’ was introduced. These codescan achieve near-Shannon-limit error correction performance with reasonable decodingcomplexity. Turbo codes outperformed even the most powerful codes known at that date, butmore importantly they were much simpler to decode. It was found that good Turbo codes cancome within approximately 0.8 dB of the theoretical limit at a BER of 10 -6 .A Turbo code is a combination of two simple recursive convolutional codes, each using asmall number of states. These simple convolutional codes are in fact ‘terminated’convolutional codes and hence block codes. For a block of k information bits, eachconstituent code generates a set of parity bits. The Turbo code consists of the informationbits and both sets of parity, as shown in figure 7-1.k bitsPINFORMATIONSIMPLE CODE 1(Recursive Convol. code)SIMPLE CODE 2(Recursive Convol. code)TURBO ENCODERPARITY1PARITY2• SIMPLE DECODER 1(APP ALGORITHM) DECODEDITERATIONS INFORM ATIONSIMPLE DECODER 2(APP ALGORITHM)TURBO DECODERFigure 7-1: Example of Turbo Encoder/DecoderThe key innovation is an interleaver P, which permutes the original k information bits beforeencoding the second code. If the interleaver is well-chosen, information blocks thatcorrespond to error-prone codewords in one code will correspond to error-resistantcodewords in the other code. The resulting code achieves performance similar to that ofShannon’s well-known ‘random’ codes, but random codes approach optimum performanceonly at the price of a prohibitively complex decoder.Turbo decoding uses two simple decoders individually matched to the simple constituentcodes. Each decoder sends likelihood estimates of the decoded bits to the other decoder, anduses the corresponding estimates from the other decoder as a-priori likelihoods. Theconstituent decoders use the A Posteriori Probability (APP) bitwise decoding algorithm,which requires the same number of states as the well-known Viterbi algorithm. The Turbodecoder iterates between the outputs of the two decoders until reaching satisfactoryconvergence. The final output is a hard-quantized version of the likelihood estimates ofeither of the decoders.To achieve maximum performance, Turbo codes use large block lengths and correspondinglylarge interleavers. The size of the interleaver affects buffer requirements and decodinglatency, but has little impact on decoding speed or decoder complexity. More recently, it wasdiscovered that Turbo codes with shorter blocks also perform amazingly well with respect to<strong>CCSDS</strong> 130.1-G-2 Page 7-1 November 2012

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!