You are on page 1of 28

Error Control From Theory to Near-Capacity Implementation

Pl Orten Nera Research

Outline
Why error control? What is possible with error control coding? Traditional Coding Schemes New Capacity Approaching Schemes Coding for High Spectral Efficiency Example applications - Nera Products
Nera Research/P. Orten

Why Error Control Coding


Transmitter Channel Interference Noise Receiver

Thermal noise Channel: Fading and inter-symbol interference Interference: from system itself and other systems May be combated by channel coding (there are other ways also) Nera Research/P. Orten

Principle of error control


Add redundancy to enable
Error detection Error correction or both

dmin =10, correct 4 errors, detect dmin-1 errors

C1
Nera Research/P. Orten

C2 dmin

Some Theory

Nera Research/P. Orten

Shannon Limit S C = W log 2 1 + N


Eb W C / W = 2 1 N0 C

W Eb / N 0 1.6 dB
No limit on input, AWGN channel
Nera Research/P. Orten

W/C versus Eb/N0


8 Shannon Limit Asymptote -1.6 dB 6 W/C

No limit on input AWGN channel To reach the limit:


infinite bandwidth infinite code word length

0 -2

Nera Research/P. Orten

2 Eb /N0 [dB]

I praksis?
For praktiske systemer:
koderate Rc > 0 begrensninger p input (gitt av modulasjon) endelig kodeordslengde

-1.6 dB grensen vil ikke ns Praktisk grense for


koderate eller bit/s/Hz modulasjonsformat kodeordslengde
Nera Research/P. Orten

Effect of Coding

Nera Research/P. Orten

Eb/N0

Capacity for given Code Rate


1 2R E C = log 2 (1 + c b ) 2 N0
Rc C 1 H b (e)
From the converse to the coding theorem

Find (Pb , Eb/N0) pair


Nera Research/P. Orten

Limit for given code rate

Capacity for different code rates


10
0

10 BER

-2

R c=0.75 R c=0.5 R c=0.33 R c=0.1

Unconstrained AWGN Channel

10

-4

10

-6

-2

-1

Nera Research/P. Orten

0 Eb /N0 [dB]

Capacity as function of code rate - binary input (1)


Example: Binary-input (+/- A), AWGN channel
C= 1 p ( y | A) 1 p ( y | A) p( y | A) log 2 p( y) dy + 2 p( y | A) log 2 p( y ) dy 2

Constrained AWGN Channel, (From Proakis)

Nera Research/P. Orten

Capacity as function of code rate - binary input (2)


1 0.9 0.8 Code Rate 0.7 0.6 0.5 0.4 0.3 0.2 -1
Nera Research/P. Orten

Unconstrained Input Binary Input

1 2 3 4 Capacity Limit E /N [dB]


b 0

Theoretical limit for given spectral efficiency


Limited bandwidth, W Data rate R (bits/s) Shannons capasity can be expressed as:

Eb 2 1 N0
= R is spektral-efficiency in bit/s/Hz W

Nera Research/P. Orten

Theoretical limit for given spectral efficiency (plot)


5 Spectral Effeciency [bit/s/Hz] 4 3 2 1 0 -2
Nera Research/P. Orten

Unconstrained AWGN Channel

2 4 6 Capacity Limit E /N (dB)


b 0

Larger Modulation AlphabetsHigher Spectral Efficiency


10 Capacity Limit E /N (dB) 8 6 4 2 0 0.3 0.4 0.5 0.6 0.7 Code Rate 0.8 0.9 QPSK 16-QAM 64-QAM

Constrained Additive Gaussian Channel

Nera Research/P. Orten

Capacity as function of spectral efficiency


6 Spectral Effeciency [bit/s/Hz] 5 4 3 2 1 0 -2 0 2 4 6 8 Capacity Limit E /N (dB)
b 0

Unconstrained QPSK 16-QAM 64-QAM

Constrained Additive Gaussian Channel Calculation: = log2(M)*Rc

10

Nera Research/P. Orten

Capacity as function of Packet Length


3 Capacity Limit E /N (dB) 2 1 0
0

R =0.1 c R =0.33 c R =0.5 c R =0.75


c

Based on paper: Code Performance as Function of Block Size, av Dolinar, Divsalar & Simon Expression given as function of N, Rc and Pw (Word Error Probability)

-1 10
2

Nera Research/P. Orten

10 10 10 Block length N information bits

10

Traditional Coding Schemes

Nera Research/P. Orten

Basic Terms
Code rate

R=

k # Information symbols = n # Code word symbols

Soft Decisions
Principle idea (more or less correct/wrong) Erasures decoding (3 level soft decision - very simple) 8 level soft decision - often used in many coding schemes Soft decision gain: ca 2 dB for AWGN channels Typically 7-9 dB possible for fading channels
Nera Research/P. Orten

10

Traditional Coding Schemes


l

Block Codes
Long Codes Hard desisjon Good at low bit error rates (10 -4 and down) Many types
Ex. Hamming, Golay, Reed-Muller, Reed Solomon, BCH, etc

Convolutional Codes
Short Codes Soft desisjon (Viterbi) Good at high bit-error rates (10 -3 - 10 -4 ) Used in Inmarsat, 3G and various wireless systems Long constraint length codes with sequential decoding

Used for instance in CD players (RS), Intelsat (RS), Voyager (Golay)


Nera Research/P. Orten

Basic Block Code


Operates on one block at a time

c = mG
Algebraic decoding (often) Soft decision decoding - high complexity Typically good performance at high code rates
Nera Research/P. Orten

11

Performance Golay Code


Extended Golay Code (24,12) Hard decision Erasure decoding Soft decoding using Chase algorithm Used in WLL Low complexity decoding
Nera Research/P. Orten

Convolutional Codes
Described by trellis Maximum Likelihood Decoding (ML) by Viterbi algorithm Soft Decision decoding easily implemented Used in very many applications, Deep Space, SatCom, various wireless systems like 3G Rate 1/(n+1) encoder:
1 2 3 K-2 K-1 K

g0

Nera Research/P. Orten

gn

12

Convolutional Code - BER


10
0

BER
1/2-rate 3/4-rate

K=7 Feed Forward Code MFD (and ODS) Viterbi Decoding Rate 3/4 obtained by puncturing rate 1/2
Nera Research/P. Orten

10

-2

BER

10

-4

10

-6

10

-8

3 EbNo (dB)

Eb/N0

Foldningskode - Tap
Yting ved Kapasitet Tap pga -6 Koderate 10 Constrained avgrensa Binary Input blokklengde 5.0 6.0 0.2 1.6 ?? ?? Tap til Constrained input Grense 4.8 4.4

Implementert i ASIC Relativt stort tap til kapasitetsgrensa Blokklengde - vanskelig definere

Nera Research/P. Orten

13

Concatenated Coding
RS encoder Convolutional Encoder Viterbi Decoder RS decoder

Traditional scheme for very low error rate Typically RS + Convolutional Viterbi - soft decisions RS burst error correction Viterbi gives moderate BER where RS takes over and brings it further down Long Code with practical complexity Nera Research/P. Orten

Alternative to Concatenation
Use a very long constraint length (K) convolutional code Typically - K=30-50 Error rate decreases exponentially with constraint length Viterbi decoding:
230 ~ 109 states

Solution: Sequential Decoding


Limited but smart search Search the most likely paths Complexity depends on channel conditions Can calculate conditions for when decoding is possible

NOT IMPLEMENTABLE
Nera Research/P. Orten

14

Sekvensiell dekoding
Pareto Koderate eksponent lik 1 ved: 2.2 dB 3.7 dB Kapasitet Constrained Binary Input 0.2 dB 1.6 dB Tap pga avgrensa blokklengde ?? ?? Tap til Constrained Grense 2 dB 2.1 dB

K=36, R=1/2 Implementert i DSP Problem: Overflyt i buffere

Nera Research/P. Orten

Eksempel fr Nera Produkt


Inmarsat M&B
Foldningskode K=7 (1/2 og 3/4-rate) Sekvensiell dekoding K=36 (1/2 rate)

Nera World Communicator


Turbo 1/2-rate med 16-QAM

DVB-RCS
Foldningskode og Reed-Solomon (255,239,8) Turbo

BGAN (next generation mobile terminals)


Turbo 16 tilstander
Nera Research/P. Orten

15

New iterative capacity approaching schemes

Nera Research/P. Orten

Turbo Codes
ICC 1993 - Presentation of Turbo Codes - a huge step towards the Shannon limit
Convolutional Turbo:
Parallel Concatenated Convolutional (PCC) codes Serially Concatenated Convolutional (SCC) Codes Separated by interleaver Soft in and soft out, iterative decoding
Nera Research/P. Orten

Block based Turbo:


Turbo Product Codes (TPC) PA-Codes LDPC Codes Soft decision, iterative decoding

Long codes, soft decision, iterative decoding

16

PCC Turbo Principle


Encoder
Recursive convolutional encoders Interleaver essential
Xd KODER I INTERLEAVER KODER II
Zm

Decoder
Soft in soft out Many iterations
Xm Ym DEKODER I Le (Soft info)

Xs Ys

INTERLEAVER DEKODER II

DEINTERLEAVER L e (Soft info) X'd

Zs

Nera Research/P. Orten

PCC codes - properties


The original Turbo code as presented by Berrou in 1993 Good overall performance, also at 10-3 Good convergence of iterative decoder (few iterations necessary) Possible candidates:
BGAN (16-states) UMTS (8-states) DVB-RCS (8-states, duo-binary)

The above codes must be punctured to get high rate => affects BER performance
Nera Research/P. Orten

17

Performance Example
10
-1

10

-2

BER

10

-3

Capacity Limit Uncoded Sequential limit Convolutional Coding Concatenated Coding DVB-RCS Turbo

10

-4

Convolutional Turbo Concatenated RS+Convolutional


0 2 4

MPEG block lengths (188 bytes) R=1/2

10

-5

10

-6

10

-7

Nera Research/P. Orten

Eb /N0

10

12

14

DVB-RCS
1 0.9 0.8 Code Rate 0.7 0.6 0.5 0.4 0.3 -1 0 1 2 3 Required E b/N0 4 5 6 Required Eb/No to get 1e-5 (MPEG) Capacity Binary Input Capacity MPEG Block Turbo Codes Concatenated Codes

Code Performance Comparison for MPEG (1 packet) and PER=10-5


Nera Research/P. Orten

18

Iterative decoding - Block Codes


Turbo Product Codes (TPC) Product Accumulate Codes Low Density Parity Check Codes (LDPC) Nera: Theoretical Studies and Simulations Interesting because:
Typically better than convolutional based Turbo codes at high code rates Fewer patents TPC included in IEEE802.16 standard PA codes - low complexity LDPC has World Record 0.05 dB from Shannon
Nera Research/P. Orten

Complexity -> high-capacity systems

Turbo Product Codes (TPC)


Two (or more) block codes concatenated Soft in soft out, iterative decoding Component codes - e.g. BCH
d11 d12 d13 d14 d15 d21 d22 d23 d24 d25 d31 d32 d33 d34 d35
Nera Research/P. Orten

p16 p17 p26 p27 p36 p37 p46 p47

p41 p 42 p43 p44 p45

19

Ytelse TPC
Simulert med AWGN, QPSK and 16QAM Ytelse ved 10-5 BER
(TPC) Ytelse ved Kapasitet -5 Koderate 10 Constrained Binary Input 0.66 3.0 dB 1.2 dB 0.79 3.3 dB 2.0 dB 16-QAM 0.79 6.8 dB 5.1 dB Blokklengde Ekstra tap Tap til (kodet) Blokklengde Praktisk Grense 1024 (32x32) 1.0 dB 0.8 dB 4096 (64x64) 0.5 dB 0.8 dB 4096 (64x64) 0.5 dB 1.3 dB

Nera Research/P. Orten

TPC Performance vs TCM


TCM and TPC with 64 QAM, comparable spectral efficiency ((64,57) TPC code)
-2

10

Capacity Limit TPC and 64QAM 64-TCM

BER

10

-4

10

-6

Good at high code rates Interesting for radio link systems In IEEE802.16 standard

10

-8

10

12

14

16

18

Nera Research/P. Orten

Eb /N0

20

Product Accumulate Codes


SPC

PA-I
1
SPC

PA-II

TPC TPC TPC /SPC /SPC /SPC

Nera Research/P. Orten

PA code -properties
A new low complexity scheme, presented in 2001 PA-codes have good overall performance No puncturing, assumed to have better performance at low BER Few/no patents Slower convergence than PCC
PA-I PA-II Generalised PA- codes (for lower rates)
Nera Research/P. Orten

21

Low Density Parity Check (LDPC) Codes


Block Code Iterative decoding

c=mG
1 1 1 1

GH T=0

1
Nera Research/P. Orten 1

H
1

1 1

LDPC codes -properties


Proposed by Gallager i 1963 Good performance, especially for high code rates and long block lengths 0.005 dB from Shannon limit!! Low decoder complexity Few (no?) patents Disadvantages:
Some error flattening for some codes Not ready for implementation, much ongoing research
Nera Research/P. Orten

22

Ytelse - LDPC koder


Simulert ytelse, BPSK/QPSK, AWGN ATM og MPEG blokker Regulre LDPC koder, BER=10-5
(LDPC) Ytelse ved Kapasitet -5 Koderate 10 Constrained Binary Input 1/2 1.8 dB 0.2 dB 4/5 3.7 dB 1.6 dB 1/2 2.8 dB 0.2 dB 4/5 4.5 dB 1.6 dB Blokklengde Ekstra tap (kodet) Blokklengde 1504 1504 424 424 MPEG MPEG ATM ATM 0.7 dB 0.7 dB 1.2 dB 1.2 dB Tap til Praktisk Grense 0.9 dB 1.4 dB 1.4 dB 1.7 dB

Nera Research/P. Orten

Performance Example LDPC Codes


1

PER=10-5
0.8

Spectral 0.6 Efficiency


0.4 Capacity Concatenated PCC TPC LDPC 0 1 2 3 4 5 6 7

BER=10-5 for LDPC MPEG packets

0.2

0 -1
Nera Research/P. Orten

Required Eb /N0

23

Mapping to higher order constellations


n n-m MAPPING : : : : Select signal from subset ai

TCM

xn x m+1 xm x1

Convolutional Encoder Rate m/(m+1)

zm : z1 z0

Select Subset

Optimised mapping necessary in order to achieve coding gain Effective block length of code is short
Nera Research/P. Orten

Mapping to higher order constellations


Turbo-TCM / TCM
Turbo-TCM / TCM
x1 ai

Encoder together with optimised mapping

Encoder + Gray mapping


Nera Research/P. Orten

MAPPING
x1

Turbo Encoder

y1

Simple Gray Mapping

ai

24

Mapping
Turbo + Gray mapping works well, because
Code is long and give good coding gain anyway Distance properties of individual symbols in the code is less important Also more flexible with respect to
Modulation schemes Code rate

Confirmed by several papers


Nera Research/P. Orten

Code Comparison
Block lengths K=1000 and 4000
With 2.5*N total delay16s and 64 s

Modulation/Code rate Schemes


64-QAM Code rate 0.85 128-QAM Code rate 0.93

Nera Research/P. Orten

25

BER Performance 64-QAM Short Delay (K=1000)

Nera Research/P. Orten

BER Performance 64-QAM Long Delay (K=4000)

Nera Research/P. Orten

26

Evaluation of Iterative Decoding

BER BER

Flattening is possible Bad implemenaton of iterative algorithm

Given by minimum distance of code

Eb/N 0 Eb/N 0

Nera Research/P. Orten

Decoding Complexity of Coding Schemes


1000 900 800 700 600 500 400 300 200 100 0 LDPC (tree) PCC-BGAN PCC-UMTS PA-I PA-II R=0.93 PA-II (tree) TCM

R=0.84

Complexity of coding schemes in # of max-log or min-sum operations pr decoded bit


Nera Research/P. Orten

27

Conclusion
For practical systems we can not achieve the -1.6 dB limit Practical limit - depend on rate, constellation, block length New techniques with iterative decoding approach capacity For High Data Rates - Complexity is a consern Mapping not critical for long codes
Nera Research/P. Orten

28

You might also like