Top Banner
1 Error Correction Codes 2013/07/12 Wireless Communication Engineering I Agenda Shannon Theory History of Error Correction Code Linear Block Codes • Decoding Convolution Codes 1 2013/07/12 Wireless Communication Engineering I Shannon Theory: R < C Reliable communication Redundancy (Parity bits) in transmitted data stream error correction capability 2 2013/07/12 Wireless Communication Engineering I 3
16

Error Correction Codes

Feb 03, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Error Correction Codes

1

Error Correction Codes

2013/07/12 Wireless Communication Engineering I

Agenda

• Shannon Theory• History of Error Correction Code• Linear Block Codes• Decoding• Convolution Codes

1

2013/07/12 Wireless Communication Engineering I

Shannon Theory:

R < C → Reliable communication Redundancy (Parity bits) in transmitted data stream

→ error correction capability

2 2013/07/12 Wireless Communication Engineering I 3

Page 2: Error Correction Codes

2

2013/07/12 Wireless Communication Engineering I

Reed-Solomon Code(255,247)

4 2013/07/12 Wireless Communication Engineering I

Block Code Convolutional Code

Encoding

Code length is fixed Coding Rate is fixed

5

2013/07/12 Wireless Communication Engineering I

Soft-DecodingHard-Decoding

Decoding

Digital Information Analog Information

6 2013/07/12 Wireless Communication Engineering I

History of Error Correction Code

• Shannon (1948): Random Coding• Golay (1949): Golay Code(Perfect Code)• Hamming (1950): Hamming Code

(Single Error Correction, Double Error Detection)• Gilbert (1952): Gilbert Bound on Coding Rate

7

Page 3: Error Correction Codes

3

2013/07/12 Wireless Communication Engineering I

• Muller (1954): Combinatorial Function & ECC• Elias (1954): Convolutional Code• Reed ,Solomon (1960): RS Code (Maximal

Separable )• Hocquenghem (1959) ,Bose,Chaudhuri (1960):

BCH Code (Multiple Error Correction)• Peterson (1960): Error Location Polynomial

8 2013/07/12 Wireless Communication Engineering I

• Wozencraft , Reiffen (1961): Sequential decoding• Gallager (1962) :LDPC• Fano (1963): Fano Decoding Algorithm• Ziganzirov (1966): Stack Decoding Algorithm• Forney (1966): Generalized Minimum Distance Decoding

(Error and Erasure Decoding)• Viterbi (1967): Optimal Decoding Algorithm,

Dynamic Programming

9

2013/07/12 Wireless Communication Engineering I

• Berlekamp (1968): Fast Iterative BCH Decoding • Forney (1966): Concatinated Code• Goppa (1970): Rational Function Code• Justeson (1972): Asymptotically Good Code• Ungerboeck,Csajka (1976): Trellis Code

Modulation, • Goppa (1980): Algebraic-Geometry Code

10 2013/07/12 Wireless Communication Engineering I

• Welch,Berlekamp (1983): Remainder Decoding Algorithm

• Araki, Sorger and Kotter (1993): Fast GMD Decoding Algorithm

• Berrou (1993): Turbo Code(Parallel concatinated convolutional code)

11

Page 4: Error Correction Codes

4

2013/07/12 Wireless Communication Engineering I

Basics of Decoding

a) Hamming distance b) Hamming distance

The received vector is denoted by r.t → errors correctable

12),( td ji cctd ji 2),( cc

12 2013/07/12 Wireless Communication Engineering I

Linear Block Codes

(n, k, dmin) code

rate coding :distance minimum :

bitsn informatio ofnumber :lengthcode:

min

nkd

kn

13

2013/07/12 Wireless Communication Engineering I

For large d ,Good Error correction capability R=k / n (Low coding rate)

Trade-off between error correction and coding rate

14 2013/07/12 Wireless Communication Engineering I

(n, k, d) Linear Block Code isLinear Subspace with k-dimension in n-dimension linear space.

15

Page 5: Error Correction Codes

5

2013/07/12 Wireless Communication Engineering I

Arithmetic operations for encoding and decoding over an finite field GF(Q)where Q = pr, p: prime number r: positive integer

Example GF(2):

01110010+

addition multiplication

10100010

/),,,(

XOR AND

16

Analog and Digital Arithmetic Operation

• Analog: Real Number Field [R], Complex Number Field [C]

• Digital: Finite Field [GF(Q)]

2013/07/12 Wireless Communication Engineering I 17

2013/07/12 Wireless Communication Engineering I

[Encoder]• The Generator Matrix G and

the Parity Check Matrix H

k information bits X → encoder G → n-bits codeword C

XGC

18 2013/07/12 Wireless Communication Engineering I

• Dual (n, n - k) code

Complement orthogonal subspaceParity Check Matrix H = Generator Matrix of Dual code

CHt = 0GHt = 0

19

Page 6: Error Correction Codes

6

2013/07/12 Wireless Communication Engineering I 20 2013/07/12 Wireless Communication Engineering I

error vector & syndrome

ttt HHH eecrs

syndrome : decision) Hard(after vector received :

orerror vect : vectorcodeword :

srec

process) (decoding es

21

2013/07/12 Wireless Communication Engineering I

[Minimum Distance]Singleton Bound

If no more than dmin - 1 columns of H are linearly independent.

dmin ≤ n - k + 1 (Singleton Bound)Maximal Separable Code: dmin = n - k + 1, e.g. Reed-Solomon Code

22 2013/07/12 Wireless Communication Engineering I

• Some Specific Linear Block Codes– Hamming Code (n, k, dmin) = (2m - 1, 2m - 1 - m, 3)– Hadamard Code (n, k, dmin) = (2m, m + 1, 2m - 1)

23

Page 7: Error Correction Codes

7

2013/07/12 Wireless Communication Engineering I

Easy Encoding• Cyclic Codes

If C = (cn -1, …, c0) is a codeword → (cn - 2, …, c0, cn - 1) is also a codeword.

•Codeword polynomial: C(p) = cn - 1 pn - 1 + ...+ cn

Shift Cyclic 1mod npppC

24 2013/07/12 Wireless Communication Engineering I

Encoding: Message polynomial

nk

k xpxpX 11

Codeword polynomial pgpXpC where g(p): generator polynomial of degree kn

phpgpn 1

h(p): Parity polynomial

Encoder is implemented by Shift registers.25

2013/07/12 Wireless Communication Engineering I

Encoder for an (n, k) cyclic code.26 2013/07/12 Wireless Communication Engineering I

Syndrome calculator for (n, k) cyclic code.27

Page 8: Error Correction Codes

8

2013/07/12 Wireless Communication Engineering I

Digital to Analog (BPSK)

1011

ssc

12 cs

28 2013/07/12 Wireless Communication Engineering I

Soft-Decoding & Maximum Likelihood( )

( )( ) ( )nn

n

k

nnssrr

,,+,,=,,=

+=

11

1

nsr

Likelihood : Prob

ksr

2Min Prob Max k

k

k

ksrsr

k

kcr,n Correlatio :Max

29

2013/07/12 Wireless Communication Engineering I

• Optimum Soft-Decision Decoding of Linear Block CodesOptimum receiver has M = 2k Matched Filter →M correlation metrics

j

n

jiji rcC

1

12, Cr

signal receivedth -:

codewordth - theofbit position th -:codewordth -:

jr

ijci

j

ij

iCwhere

→ Largest matched filter output is selected.30 2013/07/12 Wireless Communication Engineering I

2lnexp min kdRP cbM

nkRc

b

rate Coding:bitper SNR:

beP exp21

Error probability for soft-decision decoding(Coherent PSK)

where

Uncoded binary PSK

31

Page 9: Error Correction Codes

9

2013/07/12 Wireless Communication Engineering I

bc kdRCg 2lnlog10 min

Coding gain:

dmin ↑ → Cg ↑

32 2013/07/12 Wireless Communication Engineering I

• Hard-Decision DecodingDiscrete-time channel =

modulator + AWGN channel + demodulator→ BSC with crossover probability (p)

FSKt noncoheren:exp

FSKcoherent :

PSKcoherent :2

21

21

cb

cb

cb

RRQ

RQp

33

2013/07/12 Wireless Communication Engineering I

Maximum-Likelihood Decoding →Minimum Distance DecodingSyndrome Calculation by Parity check matrix H

t

tm

t

eH

HeCYHS

where

orerror vectbinary :rdemodulato at the codeword received:

codeword dtransmitte:

eY

Cm

34 2013/07/12 Wireless Communication Engineering I

• Comparison of Performance between Hard-Decisionand Soft-Decision Decoding

→ At most 2dB difference

35

Page 10: Error Correction Codes

10

2013/07/12 Wireless Communication Engineering I

• Bounds on Minimum Distance of Linear Block Codes (Rc vs. dmin)– Hamming upper bound (2t < dmin)

– Plotkin upper bound

t

ic i

nn

R0

2log11

nRd

dnd

c21

21log

211 min2min

min

36 2013/07/12 Wireless Communication Engineering I

AAAAR

AAn

d

c

1log1log1

12

22

min

HRn

d

c

1

min

– Elias upper bound

– Gilbert-Varsharmov lower bound

37

2013/07/12 Wireless Communication Engineering I 38 2013/07/12 Wireless Communication Engineering I

• Interleaving of Coded Data for Channels with Burst ErrorsMultipath and fading channel → burst error Burst error correction code: Fire codeCorrectable burst length b

knb21

Block and Convolution interleave is effective for burst error.

39

Page 11: Error Correction Codes

11

2013/07/12 Wireless Communication Engineering I

Convolution CodesPerformance of convolution code > block codeshown by Viterbi’s Algorithm.

)()( RnEeeP

E(R) : Error Exponent

40 2013/07/12 Wireless Communication Engineering I 41

2013/07/12 Wireless Communication Engineering I

Constraint length-3, rate-1/2 convolutional encoder.42 2013/07/12 Wireless Communication Engineering I

• Parameter of convolution code: Constraint length, KMinimum free distance

• Optimum Decoding of Convolution Codes –The Viterbi Algorithm For K ≤ 10, this is practical.

• Probability of Error for Soft-Decision Decoding

43

Page 12: Error Correction Codes

12

2013/07/12 Wireless Communication Engineering I

Trellis for the convolutional encoder44 2013/07/12 Wireless Communication Engineering I

where ad : the number of paths of distance d• Probability of Error for Hard-Decision Decoding

Hamming distance is a metric for hard-decision

dRQaP cbdd

de 2free

45

2013/07/12 Wireless Communication Engineering I

Turbo Coding

46 2013/07/12 Wireless Communication Engineering I

RSC Encoder

47

Page 13: Error Correction Codes

13

2013/07/12 Wireless Communication Engineering I

Shannon Limit & Turbo Code

48Wireless Communication Engineering I

LDPC & Turbo

2013/07/12 49

2013/07/12Wireless Communication Engineering I

50 2013/07/12Wireless Communication Engineering I

51

Page 14: Error Correction Codes

14

2013/07/12 Wireless Communication Engineering I 52 2013/07/12 Wireless Communication Engineering I 53

2013/07/12 Wireless Communication Engineering I 54

Network Coding• A →[X]→ B• B →[X]→ C• B ←[Y]← C• A ←[Y]← B

---- 4 steps ----• A →[X]→ B• B ←[Y]← C• A←[X+Y]←B→[X+Y]→C

---- 3 steps ----

2013/07/12 Wireless Communication Engineering I 55

Page 15: Error Correction Codes

15

• S: source node• T, U, W, X: relay

nodes• Y, Z: destination• S needs to send 3 bits

b1, b2, b3 to both Y and Z (multicast)

• Link capacity is 1

A famous example – butterfly network

S

T U

W

X

Y Z

b1,b2,b3

2013/07/12 Wireless Communication Engineering I 56

A famous example – butterfly networkwithout network coding

• Simple store and forward• Multicast rate of 1.5 bits per time unit

1st time slot 2nd time slot

b1 b2

S

T U

W

X

Y Z

b1 b2

b1

b1

b1

b2

S

T U

W

X

Y Z

b2 b3

b3

b3b3

b3

2013/07/12Wireless Communication Engineering I

57

A famous example – butterfly networkwith network coding

• W receives b1 and b2, then performs exclusive OR (XOR) on received bits and forward to X

• Y receives b1 and b1⊕b2, then extracts b2 as b2 = b1⊕(b1⊕b2)

• Z receives b2 and b1⊕b2 then extracts b1 asb1 = b2⊕(b1⊕b2)

• Achieve multicast rate of 2 bits per time unit

b2

S

T U

W

X

Y Z

b1 b2

b1

b1 b1⊕b2

b2

b1⊕b2 b1⊕b2

2013/07/12 Wireless Communication Engineering I58

• It is easy to apply network coding in wireless environment owing to the broadcast characteristics

Network coding in wireless environment

sA

A B C

A B C

sC

A B C

sA

⊕sC

• An example shows data from A to C and from C to A can be relayed through B efficiently using network coding

2013/07/12 Wireless Communication Engineering I 59

Page 16: Error Correction Codes

16

• In network coding, since information is processed inside the network, network coding header is required for network decoding at the destination

• Network coding header describes how a packet is processed

• The right figure shows network coding header of the butterfly network example

• If packet length is long enough, we can neglect the inefficiency of header

Network coding header

[1,0] [0,1]

S

T U

W

X

Y Z

[1,0] [0,1]

[1,0] [0,1]

[1,1]

[1,1] [1,1]

2013/07/12 Wireless Communication Engineering I 60