Turbo Codes
Azmat Ali Pasha
Goals of Presentation
Why Coding, Error Correction, etc?
Basic terms and concepts
Methods of handling the noise issues
Error Control Coding/Channel
Coding
What can you do in situations where
data is transmitted over a noisy
channel?
Adding redundancy to information
Check code
Correct Errors
Transmission
1.
2.
3.
Data is digitally recorded and
compressed
Data is encoded by error control
coding
Data is modulated from digital data to
an analog signal
Reception
Analog signal is received and
demodulated back to a digital signal
Data is processed in the Error Control
Decoder
1.
2.
3.
Redundancy is used to check for errors
and correct them
Data is uncompressed and presented
Transmission Process with Coding
Application Layer
Data Compression
Channel Coding
Application Layer
Data Decompression
Convolutional
or
Turbo coding
Modulation
Frequency Up-conversion
Power Amplification
Channel Decoding
Viterbi
or
Turbo decoding
Demodulation
Frequency Down-conversion
Receiver
Sensitivity to Error
Media
Sensitivity to Error
Uncompressed Voice
Low Sensitivity
Uncompressed Video
Low Sensitivity
Compressed Voice
High Sensitivity
Compressed Video
High Sensitivity
Data
High Sensitivity
Repetition Code
Simple Repetition Code
Information Sequence {010011}
Codeword {00 11 00 00 11 11}
Code-rate = ½
Problems with Repetition
Bandwidth Increase
Decrease the information rate
Channel Coding
When NOT to channel code!
Transmitter power is irrelevant
No noise in the channel
Best case Channel Coding
Shannon Limit (ideal)
Shannon hasn’t been reached yet (Turbo
codes are the closest)
Code Performance
Bit Error Rate (BER)
Signal to Noise Ratio (SNR)
Probability of any particular bit being in error in a
transmission
The ratio of channel power to the noise power
Best Case
Low BER (fewer errors in final data)
Low SNR (less power req.)
Coding System Comparison
Error Correction Codes
Block
Convolutional
Turbo code
Technically a block code
Works like both Block and Convolutional
codes
Block Code
Most common is Hamming Code
Take a block of length, k (information
sequence)
Then encode them into a codeword, the
last (n-k) bits are called parity bits
Parity bits used for error checking and
correcting
Block Code (2D Mapping)
higher minimum weight of
code, higher the minimum
weight between valid code
words
higher weight, better
decoder performance
Convolutional Codes
Continuous or Streaming coding
Viterbi and Soft Output Viterbi are
the most common
Turbo Codes
Mix between Convolutional and Block
codes
Require a Block code
HOWEVER, they use shift registers like
Convolutional Codes
Turbo Codes (contd.)
Most common is the
PCCC (Parallel
Concatenated
Convolutional Codes)
Produce high weight
code words
Interleaver shuffles the
input sequence, uk, in
such a way that it
produces a high weight
Turbo Code Decoder
It requires a soft output decoder
Soft-output
Assign a probability to decoded information
(eg. 1 with a 80% likelihood)
Outperform hard decision algorithms
MAP (Maximum A Posteriori)
Iterative Decoding
Turbo Decoding
Cycle will continue until certain
conditions are met
The decoder circulates estimates of the
sent data like a turbo engine circulates
air
Once the decoder is ready, the hard
decision is made
Error Corrections Old and New
Uses
Cell Phone
Satellite Communication
Dial-up Communication
RF Communication (AutoID? WiFi?)
Questions, Clarifications, and
Comments
Turbo Coding Method?
Business Implications?
Reduced Power Requirements
Higher Bandwidth (lower redundancy)
© Copyright 2026 Paperzz