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
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
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
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
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
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
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
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
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
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
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
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
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