Turbo Code
Turbo Code
Turbo codes, introduced in 1993 by Claude Berrou, Alain Glavieux, and Punya
Thitimajshima, revolutionized error-correcting codes by achieving near-Shannon-limit
performance with practical complexity. Turbo codes are based on parallel
concatenation of two or more convolutional codes, combined with an interleaver and
decoded via iterative decoding.
Shannon's Limit
According to Claude Shannon's channel capacity theorem
Turbo codes were among the first practical codes to perform within 0.5 dB of this
theoretical limit.
Turbo Codes demonstrated that practical coding could approach the theoretical
maximum capacity of a channel, as established by Shannon, while maintaining low
error rates — revolutionizing modern digital communications.
www.techedgewireless.com
Before Turbo Codes
▪ Block Codes (e.g., Hamming, BCH):
These codes added structured redundancy to detect and correct errors.
However, they had limited error-correcting capabilities and did not approach
Shannon’s theoretical capacity limit.
▪ Iterative Decoding:
Unlike Viterbi decoding (single pass), Turbo decoding loops through multiple
iterations, refining the decision with each pass.
▪ Random Interleaving:
Data bits are randomly shuffled before encoding, which spreads burst errors
across time, making them easier to correct during decoding.
www.techedgewireless.com
Purpose of Channel Coding:
2. Convolutional Coding:
3. Turbo Coding:
www.techedgewireless.com
A lower code rate means more redundancy (e.g., 1/2), and a higher code rate means
less redundancy (e.g., 3/4).
Iterative decoding ❌ ✅
Turbo codes outperform traditional schemes like Viterbi in low SNR regimes with
substantial coding gain.
The diagram illustrates the encoder structure of Turbo Codes, which are powerful
error-correcting codes used in modern communication systems like 3G, 4G, and 5G.
Turbo codes achieve performance close to Shannon's limit by combining two
Recursive Systematic Convolutional (RSC) encoders with an interleaver.
www.techedgewireless.com
Reference: https://en.wikipedia.org/
Turbo encoders form the foundation of turbo codes. They are designed using two
Recursive Systematic Convolutional (RSC) encoders connected in parallel with an
interleaver between them. The encoder outputs consist of:
This turbo encoder divides the transmitted data into three parts:
2. First set of parity bits – Generated by passing the payload through the first
Recursive Systematic Convolutional (RSC) encoder.
www.techedgewireless.com
So, while the payload remains unchanged, two different sets of parity bits are
produced using different inputs—one original, one interleaved. Together, the final
transmission consists of m + n bits, where nnn is the total number of parity bits,
giving the encoder a code rate of:
The interleaver plays a crucial role here—it shuffles the input bits before they go into
the second encoder, ensuring that errors are less likely to affect both parity streams
in the same way.
▪ The architecture features two identical RSC encoders, labelled C1 and C2.
▪ These are arranged in parallel concatenation, meaning they operate on the
same input stream but one uses a reordered version.
▪ The "M" blocks in the diagram represent memory registers, used for delay and
state storage.
▪ The delay line and interleaver make sure the bits dk are processed in different
sequences by C1 and C2.
▪ At the output, the encoder emits the systematic bits xk, and two sets of parity
bits: y1k and y2k.
If the encoders are used in n1 and n2 iterations respectively, their rates can be
calculated as:
These formulas show how the number of iterations and parity outputs influence the
code rate, which determines how much redundancy is added.
www.techedgewireless.com
Recursive Systematic Convolutional (RSC) Encoder
A Recursive Systematic Convolutional (RSC) encoder outputs:
Encoder Parameters:
• Constraint length K
Reference: https://en.wikipedia.org/
www.techedgewireless.com
data, ensuring that burst errors or correlated errors do not degrade the decoding
performance.
Purpose of Interleaving
▪ Error Spread: Interleaving ensures that any localized error burst is spread
across a wider range, improving error correction.
Types of Interleavers
1. Random Interleaver
2. Block Interleaver
3. S-Random Interleaver
Design Considerations
▪ Collision Avoidance: Good interleavers avoid mapping two closely spaced bits
to closely spaced outputs.
Role in Decoding
▪ The decoder uses the same interleaver pattern in reverse (de-interleaver) to
match parity and systematic bits during each iteration.
www.techedgewireless.com
▪ Correct alignment of bits after interleaving is crucial for accurate log-likelihood
ratio (LLR) computation.
Reference: https://www.intel.com/
Inputs:
Step 1: Interleaving
▪ Systematic bits r(Xk) is passed to both the upper and lower decoders.
▪ An interleaver scrambles the sequence for the lower decoder, simulating the
encoding interleaving process.
▪ Upper Decoder processes r(Xk) and r(Zk) and generates extrinsic information.
www.techedgewireless.com
▪ Lower Decoder uses r(Z'k) and the interleaved extrinsic input to decode.
Step 3: Output
▪ After several iterations, the refined information is passed to the final output as
the decoded bit stream.
Key Features
Termination Criteria
Challenges
The Soft-Input Soft-Output (SISO) decoder is the core functional unit used in turbo
decoding. Unlike traditional decoders that provide hard binary decisions, SISO
decoders accept and produce probabilistic information — typically represented as
log-likelihood ratios (LLRs). This enables iterative improvement of the decoding
accuracy
www.techedgewireless.com
BER Performance
This plot illustrates the Bit Error Rate (BER) performance of Turbo Codes used in LTE,
showing how it varies with Eb/N0 (energy per bit to noise power spectral density ratio)
under different conditions
Reference: https://www.mathworks.com/
We can observe:
▪ For both block sizes, increasing the number of decoder iterations from
3 to 6 significantly improves BER.
▪ Example: For N=512, the BER curve drops faster with 6 iterations than
with 3.
▪ Longer block size (N = 2048) shows much better performance than the
shorter one (N = 512).
▪ Example: At the same Eb/N0, the BER is significantly lower for N=2048.
www.techedgewireless.com
3. Best Case:
▪ The black diamond curve (N = 2048, 6 iterations) shows the lowest BER
across all Eb/N0 values. This is the most efficient configuration shown.
o Higher block size and more iterations push the BER curve down,
achieving BERs as low as 10-7or lower.
Points to understand
▪ Turbo codes become more powerful with more iterations, allowing the
decoder to refine its estimates.
▪ Longer block lengths provide more room for redundancy and interleaving,
improving error correction.
▪ LTE systems benefit from a trade-off between complexity (iterations) and
latency (block size) to optimize performance.
LTE
Role in 5G
Advantages in LTE
www.techedgewireless.com
Turbo codes represent a landmark in error correction coding, providing near-capacity
performance with practical implementations. Though now superseded in 5G by
LDPC and Polar Codes, turbo codes remain essential in legacy, satellite, and
aerospace systems.
Future Work
Turbo codes continue to inspire advances in both theoretical research and practical
communication system design.
References
1. Berrou, C., Glavieux, A., & Thitimajshima, P. (1993). "Near Shannon limit error-
correcting coding and decoding: Turbo-codes". IEEE International Conference on
Communications, 1064–1070.
2. Benedetto, S., Montorsi, G. (1996). "Unveiling Turbo Codes: Some Results on Parallel
Concatenated Coding Schemes". IEEE Transactions on Information Theory, 42(2),
409–428.
3. 3GPP TS 36.212 V15.0.0. (2017). "Evolved Universal Terrestrial Radio Access (E-
UTRA); Multiplexing and channel coding".
4. Hagenauer, J. (1995). "The Turbo Principle: Tutorial Introduction and State of the Art".
International Symposium on Turbo Codes, Brest.
5. Costello, D. J., & Lin, S. (2004). Error Control Coding, 2nd Edition. Pearson Prentice
Hall.
7. Wang, Z., & Poor, H. V. (2004). "Iterative (Turbo) Soft Interference Cancellation and
Decoding for Coded CDMA". IEEE Transactions on Communications, 47(7), 1046–
1061.
www.techedgewireless.com
11. CCSDS 131.0-B-3 (2017). "TM Synchronization and Channel Coding". Consultative
Committee for Space Data Systems (CCSDS).
12. Qualcomm White Paper. (2013). "The Evolution of LTE and the Role of Turbo Codes".
15. Andrews, J. G., Buzzi, S., Choi, W., Hanly, S. V., Lozano, A., Soong, A. C., & Zhang, J.
C. (2014). "What Will 5G Be?" IEEE Journal on Selected Areas in Communications,
32(6), 1065–1082.
www.techedgewireless.com