84
16.548 Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

16.548 Notes 15:Concatenated Codes, Turbo

Codes andIterative Processing

Page 2: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Outline! Introduction

" Pushing the Bounds on Channel Capacity" Theory of Iterative Decoding" Recursive Convolutional Coding" Theory of Concatenated codes

! Turbo codes" Encoding" Decoding" Performance analysis" Applications

! Other applications of iterative processing" Joint equalization/FEC" Joint multiuser detection/FEC

Page 3: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Shannon Capacity Theorem

Page 4: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Capacity as a function of Code rate

Page 5: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Motivation: Performance of Turbo Codes.

! Comparison:" Rate 1/2 Codes." K=5 turbo code." K=14 convolutional code.

! Plot is from: L. Perez, “Turbo Codes”, chapter 8 of Trellis Coding by C. Schlegel. IEEE Press, 1997.

Gain of almost 2 dB!

Theoretical Limit!

Page 6: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Power Efficiency of Existing Standards

Page 7: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Error Correction Coding! Channel coding adds structured redundancy to a

transmission.

" The input message m is composed of K symbols." The output code word x is composed of N symbols." Since N > K there is redundancy in the output." The code rate is r = K/N.

! Coding can be used to:" Detect errors: ARQ" Correct errors: FEC

ChannelEncoder

m x

Page 8: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Traditional Coding Techniques

Page 9: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

The Turbo-Principle/Iterative Decoding

! Turbo codes get their name because the decoder uses feedback, like a turbo engine.

Page 10: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Theory of Iterative Coding

Page 11: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Theory of Iterative Coding(2)

Page 12: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Theory of Iterative Coding(3)

Page 13: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Theory of Iterative Coding (4)

Page 14: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Log Likelihood AlgebraModulo 2 AdditionNew Operator

Page 15: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Example: Product Code

Page 16: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Iterative Product Decoding

Page 17: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 18: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 19: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 20: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 21: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 22: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 23: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 24: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 25: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 26: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 27: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 28: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 29: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

RSC vs NSC

Page 30: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Recursive/Systematic Convolutional Coding

Page 31: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 32: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 33: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Concatenated Coding! A single error correction code does not always provide

enough error protection with reasonable complexity.! Solution: Concatenate two (or more) codes

" This creates a much more powerful code.! Serial Concatenation (Forney, 1966)

OuterEncoder

BlockInterleaver

InnerEncoder

OuterDecoder

De-interleaver

InnerDecoder

Channel

Page 34: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Concatenated Codes (2)

Page 35: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Alternative to Concatenated Coding

Page 36: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Interleaver/Deinterleaver

Page 37: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Concatenated interleaver and De-interleaver

Page 38: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Structure of ConcatenatedInterleaver system

Page 39: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 40: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Iterative concatenated decoding

Page 41: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 42: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 43: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Turbo Codes! Backgound

" Turbo codes were proposed by Berrou and Glavieux in the 1993 International Conference in Communications.

" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.

! Features of turbo codes" Parallel concatenated coding " Recursive convolutional encoders" Pseudo-random interleaving" Iterative decoding

Page 44: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

The building blocks of turbo codes

! Recursive systematic codes! Parallel Concatenation plus puncturing! Interleaving

Page 45: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Recursive Systematic Convolutional Encoding

! An RSC encoder can be constructed from a standard convolutional encoder by feeding back one of the outputs.

! An RSC encoder has an infinite impulse response.

! An arbitrary input will cause a “good” (high weight) output with high probability.

! Some inputs will cause “bad” (low weight) outputs.D D

im )0(ix

)1(ix

ix

ir

Constraint Length K= 3

D Dim

)0(ix

)1(ix

ix

Page 46: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Parallel Concatenated Codes! Instead of concatenating in serial, codes can also be

concatenated in parallel.! The original turbo code is a parallel concatenation of two

recursive systematic convolutional (RSC) codes." systematic: one of the outputs is the input.

Encoder#1

Encoder#2Int

erlea

ver MUX

Input

ParityOutput

Systematic Output

Page 47: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Parallel Concatenation of RSC codes

Page 48: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 49: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 50: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Pseudo-random Interleaving! The coding dilemma:

" Shannon showed that large block-length random codes achieve channel capacity.

" However, codes must have structure that permits decoding with reasonable complexity.

" Codes with structure don’t perform as well as random codes." “Almost all codes are good, except those that we can think of.”

! Solution:" Make the code appear random, while maintaining enough

structure to permit decoding." This is the purpose of the pseudo-random interleaver." Turbo codes possess random-like properties." However, since the interleaving pattern is known, decoding is

possible.

Page 51: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Why Interleaving and Recursive Encoding?

! In a coded systems:" Performance is dominated by low weight code words.

! A “good” code: " will produce low weight outputs with very low probability.

! An RSC code:" Produces low weight outputs with fairly low probability." However, some inputs still cause low weight outputs.

! Because of the interleaver:" The probability that both encoders have inputs that cause

low weight outputs is very low." Therefore the parallel concatenation of both encoders will

produce a “good” code.

Page 52: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 53: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Theory of Turbo-decoding

Page 54: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Turbo decoding (2)

Page 55: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 56: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 57: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Iterative Decoding

! There is one decoder for each elementary encoder.! Each decoder estimates the a posteriori probability (APP) of

each data bit.! The APP’s are used as a priori information by the other

decoder.! Decoding continues for a set number of iterations.

" Performance generally improves from iteration to iteration, but follows a law of diminishing returns.

Decoder#1

Decoder#2

DeMUX

Interleaver

Interleaver

Deinterleaver

systematicdata

paritydata

APP

APP

hard bitdecisions

Page 58: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

S0

S3

S2

S1

0/00

1/11

0/01

1/10

1/100/01

0/001/11i = 0 i = 6i = 3i = 2i = 1 i = 4 i = 5

)( 1+→ ii ssγ )( 1+isβ)( isα

The log-MAP algorithm

The log-MAP algorithm:Performs arithmetic in the log domainMultiplies become additionsAdditions use the Jacobian Logarithm:

)1ln(),max()ln( || xyyx eyxee −−++=+

Page 59: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Decoding with a feedback loop

Page 60: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 61: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel
Page 62: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Iterative Turbo Decoder

Page 63: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Performance as a Function of Number of Iterations

! K=5! r=1/2! L=65,536

0.5 1 1.5 210-7

10 -6

10 -5

10 -4

10 -3

10 -2

10 -1

100

E b/N o in dB

BER

1 itera t ion

2 itera t ions

3 itera t ions6 ite rat ions

10 ite rat ions

18 ite rat ions

Page 64: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Another Example

Page 65: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Performance Factors and Tradeoffs

! Complexity vs. performance" Decoding algorithm." Number of iterations." Encoder constraint length

! Latency vs. performance" Frame size.

! Spectral efficiency vs. performance" Overall code rate

! Other factors" Interleaver design." Puncture pattern." Trellis termination.

Page 66: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Performance Bounds for Linear Block Codes

! Union bound for soft-decision decoding:

! For convolutional and turbo codes this becomes:

! The free-distance asymptote is the first term of the sum:

! For convolutional codes N is unbounded and:

∑=

N

i o

bi

ib N

rEdQNwP

2

1

2

∑+

=

)( 2~Nmn

dd o

bddb

freeNrEdQ

NwNP

o

bfree

freefreeb N

rEdQNwN

P 2~

o

bfreedb N

rEdQWP 20

Page 67: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

0.5 1 1.5 2 2.5 3 3.5 4

10-8

10-6

10-4

10-2

100

Eb/No in dB

BER

Convolutional Code CC free distance asymptoteTurbo Code TC free distance asymptote

Free-distance Asymptotes! For convolutional code:

" dfree = 18" Wd

o = 187

! For turbo code" dfree = 6" Nfree = 3" wfree = 2

o

bb N

EQP 18187

⋅≈o

bb N

EQP 665536

23

Page 68: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Application: Turbo Codes for Wireless Multimedia

! Multimedia systems require varying quality of service." QoS" Latency

# Low latency for voice, teleconferencing" Bit/frame error rate (BER, FER)

# Low BER for data transmission.

! The tradeoffs inherent in turbo codes match with the tradeoffs required by multimedia systems." Data: use large frame sizes

# Low BER, but long latency" Voice: use small frame sizes

# Short latency, but higher BER

Page 69: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

0.5 1 1.5 2 2.510-7

10-6

10-5

10-4

10-3

10-2

10-1

E b/No in dB

BER

L = 1,024 L = 4,096 L = 16,384L = 65,536

Influence of Interleaver Size! Constraint Length 5.! Rate r = 1/2.! Log-MAP decoding.! 18 iterations.! AWGN Channel.

Voice

VideoConferencing

ReplayedVideo

Data

Page 70: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Application: Turbo Codes for Fading Channels

! The turbo decoding algorithm requires accurate estimates of channel parameters:" Branch metric:

" Average signal-to-noise ratio (SNR)." Fading amplitude." Phase.

! Because turbo codes operate at low SNR, conventional methods for channel estimation often fail." Therefore channel estimation and tracking is a critical issue

with turbo codes.

pi

pi

si

siiii xzxzmPss ++=→ + ][ln)( 1γ

*2

* 24iii

o

sii arr

NEaz

σ=

=

Page 71: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Fading Channel Model! Antipodal modulation:

! Gaussian Noise:

! Complex Fading:

" α is a constant.# α=0 for Rayleigh Fading# α>0 for Rician Fading

" X and Y are Gaussian random processes with autocorrelation:

TurboEncoder

ChannelInterleaver

BPSKModulator

TurboDecoder

De-interleaver

BPSKDemod

}1,1{ +−=ks

ks

kn

ka

s

on E

NP2

=

kkk jYXa ++= )(α

)2()( kTfJkR sdo π=

Page 72: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Pilot Symbol Assisted Modulation

! Pilot symbols:" Known values that are periodically inserted into the transmitted

code stream." Used to assist the operation of a channel estimator at the

receiver." Allow for coherent detection over channels that are unknown and

time varying.segment #1

symbol#1

symbol#Mp

symbol#1

symbol#Mp

pilotsymbol

segment #2

symbol#1

symbol#Mp

symbol#1

symbol#Mp

pilotsymbol

pilot symbols added here

Page 73: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Pilot Symbol AssistedTurbo Decoding

! Desired statistic:

! Initial estimates are found using pilot symbols only.

! Estimates for later iterations also use data decoded with high reliability.

! “Decision directed”

TurboEncoder

Insert Pilot

Symbols

ChannelInterleaver

ChannelInterleaver

Insert Pilot

Symbols

Compareto

Threshold

Filter

jd

)(ˆ qjd

ix ixka

kn

)(ˆ qka

ks

kr

)(qiΛ

TurboDecoder

ChannelDeinterleaver

Remove Pilot

Symbols

)(qiy

)(qiy

)(ˆ qks

Delay

)(ˆ qix )(ˆ q

ix

( )∗⋅

2

{}⋅Re

*

2

2Re kkarσ

Page 74: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Performance of Pilot Symbol Assisted Decoding

0 1 2 3 4 5 6 7 8 9 1010-5

10-4

10-3

10-2

10-1

100

101

Eb /No in dB

BE

R

DPSK with differential detection BPSK with estimation prior to decodingBPSK with refined estimation BPSK with perfect channel estimates

! Simulation parameters:" Rayleigh flat-fading." r=1/2, K=3" 1,024 bit random interleaver." 8 iterations of log-MAP." fdTs = .005" Mp = 16

! Estimation prior to decoding degrades performance by 2.5 dB.

! Estimation during decoding only degrades performance by 1.5 dB.

! Noncoherent reception degrades performance by 5 dB.

Page 75: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Other Applications of Turbo Decoding

! The turbo-principle is more general than merely its application to the decoding of turbo codes.

! The “Turbo Principle” can be described as:" “Never discard information prematurely that may be useful

in making a decision until all decisions related to that information have been completed.”

-Andrew Viterbi

" “It is a capital mistake to theorize before you have all the evidence. It biases the judgement.”

-Sir Arthur Conan Doyle

! Can be used to improve the interface in systems that employ multiple trellis-based algorithms.

Page 76: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Applications of the Turbo Principle

! Other applications of the turbo principle include:" Decoding serially concatenated codes." Combined equalization and error correction decoding." Combined multiuser detection and error correction

decoding." (Spatial) diversity combining for coded systems in the

presence of MAI or ISI.

Page 77: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Serial Concatenated Codes! The turbo decoder can also be used to decode serially

concatenated codes." Typically two convolutional codes.

OuterConvolutional

EncoderData

n(t)AWGN

InnerDecoder

OuterDecoder Estimated

Data

TurboDecoder

interleaver

deinterleaver

interleaver

InnerConvolutional

Encoder

APP

Page 78: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Performance of Serial Concatenated Turbo Code

! Plot is from: S. Benedetto, et al “Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding” Proc., Int. Symp. on Info. Theory, 1997.

! Rate r=1/3.! Interleaver size L = 16,384.! K = 3 encoders.! Serial concatenated codes

do not seem to have a bit error rate floor.

Page 79: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Turbo Equalization! The “inner code” of a serial concatenation could be an

Intersymbol Interference (ISI) channel." ISI channel can be interpreted as a rate 1 code defined

over the field of real numbers.

(Outer)Convolutional

EncoderData

n(t)AWGN

SISOEqualizer

(Outer)SISO

DecoderEstimated

Data

TurboEqualizer

interleaver

deinterleaver

interleaver

ISIChannel

APP

Page 80: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Performance of Turbo Equalizer! Plot is from:

C. Douillard,et al “Iterative Correction of Intersymbol Interference: Turbo-Equaliztion”, European Transactions on Telecommuications, Sept./Oct. 1997.

! M=5 independent multipaths." Symbol spaced paths" Stationary channel." Perfectly known channel.

! (2,1,5) convolutional code.

Page 81: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Turbo Multiuser Detection! The “inner code” of a serial concatenation could be a

multiple-access interference (MAI) channel." MAI channel describes the interaction between K

nonorthogonal users sharing the same channel." MAI channel can be thought of as a time varying ISI

channel." MAI channel is a rate 1 code with time-varying coefficients

over the field of real numbers." The input to the MAI channel consists of the encoded and

interleaved sequences of all K users in the system.! MAI channel can be:

" CDMA: Code Division Multiple Access" TDMA: Time Division Multiple Access

Page 82: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

System Diagram

ConvolutionalEncoder

#K

n(t)AWGN

SISOMUD

Bank ofK SISO

DecodersEstimated

Data

TurboMUD

interleaver #K

multiuserdeinterleaver

multiuserinterleaver

MAIChannel

APP

ConvolutionalEncoder

#1interleaver #1

Parallelto

Serial

“multiuser interleaver”1b

b

y)(qΨ )'(qΨ

)'(qΛ)(qΛ

1d

KbKd

)(ˆ qd

Page 83: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Simulation Results: MAI Channel w/ AWGN

! From:" M. Moher, “An iterative algorithm

for asynchronous coded multiuser detection,” IEEE Comm. Letters, Aug.1998.

! Generic MA system" K=3 asynchronous users." Identical pulse shapes." Each user has its own interleaver.

! Convolutionally coded." Constraint length 3." Code rate 1/2.

! Iterative decoder.

Page 84: 16.548 Notes 15: Concatenated Codes, Turbo Codes and ......" Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.! Features of turbo codes " Parallel

Conclusion! Turbo code advantages:

" Remarkable power efficiency in AWGN and flat-fading channels for moderately low BER.

" Deign tradeoffs suitable for delivery of multimedia services. ! Turbo code disadvantages:

" Long latency." Poor performance at very low BER." Because turbo codes operate at very low SNR, channel

estimation and tracking is a critical issue.! The principle of iterative or “turbo” processing can be

applied to other problems." Turbo-multiuser detection can improve performance of

coded multiple-access systems.