Professional Documents
Culture Documents
Turbo Codes
Turbo Codes
send
receive
Channel Coding
To encode the information sent over a communication
channel in such a way that in the presence of channel
noise, errors can be detected and/or corrected.
Can be categorized into
Backward error correction (BEC)
Forward error correction (FEC )
Objective: provide coded signals with better distance
properties
Types of coding
Block coding
Convolutional coding: codes differ from block
codes in the sense that they do not break the
message stream into fixed-size blocks. Instead
redundancy is added continuously to the whole
stream. The encoder keeps M previous input bits
in memory. Each output bit of the encoder then
depends on the current input bit as well as the M
stored bits.
Structured Redundency
Channel
Input word Output word
encoder
n-bit
k-bit
codeword
Code sequence
Redundancy = (n-k)
Code rate =k/n
A Need for BetterCodes
Energy efficiency vs Bandwidth efficiency
Codes with lower rate (i.e. bigger redundancy)
correct more errors.then communication system
can operate with a lower transmit power, transmit
over longer distances, tolerate more interference,
use smaller antennas and transmit at a higher
data rate. These properties make the code energy
efficient.
low-rate codes have a large overhead and are
hence more heavy on bandwidth consumption.
Also, decoding complexity grows exponentially
with code length.
Shannon Theory
.
Since,
A twofold relative energy increase equals 3dB.
Turbo codes
Turbo codes are a class of error correcting codes codes
introduced in 1993 that come closer to approaching
Shannon’s limit than any other class of error correcting
codes.
RSC
Input
Y1
Interleaver random
Systematic codeword
RSC
Y2
Recursive Systematic Coders
Systematic Copy of the data in natural order
Recursive
S1 S2 S3
Data stream