Download - T com presentation (error correcting code)
Error Correcting CodesT-Com
How Is Data Transmitted ?
Occurrence of Error
Causes of Error (Noise):
o Multi-path propagation of the signal.
o Interference from other communication devices
Contd..
Solution
Channel Coding
Block Codes
● Divide the message into blocks each of k bits called data words.
● Add r redundant bits to each blocks to make the length n = k+r.
● Examples : Hamming Codes, Reed-Muller Codes
Redundancy Coding● In n-redundancy coding, each data bit is encoded in n
bits.● In a 3-redundancy coding scheme, a ‘0’ data bit is
encoded as ‘000’ and a ‘1’ data bit is encoded as ‘111’.
How does it reduce the error?
❏ The decoder is taking blocks of n bits.
❏ The decoder expects all n bits to have the same value
❏ When the n bits in a block do not have the same value, the decoder detects an error
❏ n-redundancy coding can correct up to (n-1)/2 bits in a code
Correction Abilities of Codes
Signal Transmission Example
Hamming Code
❏Hamming codes can correct one-bit errors ❏ 2r >= n + r + 1 , r=redundancy bits
n=data bits
Redundancy bits calculationr1 will take care of these bits
r2 will take care of these bits
r4 will take care of these bits
r8 will take care of these bits
Example
d
d
d
r
d
d
d
r
d
r
r
Error Correction using hamming code
Reed Muller Code:R(1,3)
One of the interesting things about these codes is that
there are several ways to describe them and we shall look
at one of these-
1st order Reed Muller R(1,3) which can correct one bit
error.
Contd..
Need a Generator matrix
Dimension is
Encoding❏ rows in the generator matrix = Dimension
❏ So 3 vectors are there and hence total length of the code to be sent =23
❏ Let m = (m1, m2, . . . mk) be a block, the encoded message Mc is
Mc=∑i=1,kmiriwhere ri is a row of the encoding matrix of R(r, m).
❏ For example, using R(1, 3) to encode m = (0110) gives:
0 ∗(11111111) + 1 ∗(11110000) + 1 ∗(11001100) + 0 ∗(10101010) =
(00111100)
Decoding❏ The rows of this matrix are basis vectors for the code v0, v1,v2 and v3.
❏ Any vector v of the code is a linear combination of these v =
a0v0+a1v1+a2v2 + a3v3
❏ If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6,y7)
a1 =y0 +y1 =y2 +y3 =y4 +y5 =y6 +y7
a2 =y0 +y2 =y1 +y3 =y4 +y6 =y5 +y7
a3 =y0 +y4 =y1 +y5 =y2 +y6 =y3 +y7
❏ If one error has occurred in r, then when all the calculations above are
made, 3 of the 4 values will agree for each ai, so the correct value will be
obtained by majority decoding.
a0 =r + a1v1 + a2v2 + a3v3
ExampleLet m=1101 & Suppose that v = 10100101 is received as r= 10101101. Using,
a1 =y0 +y1 =y2 +y3 =y4 +y5 =y6 +y7
a2 =y0 +y2 =y1 +y3 =y4 +y6 =y5 +y7
a3 =y0 +y4 =y1 +y5 =y2 +y6 =y3 +y7 we calculate:
a1 =1=1=0=1
a2 =0=0=1=0
a3 =0=1=1=1
a1 =1 a2 =0 a3 =1
a0 =r + a1v1 + a2v2 + a3v3
So,10101101 + 01010101 + 00001111 = 11110111.
➔ a0 = 1
Contd..❏ Decoded data bits are:a0 a1 a2 a3 =1101
v = a0v0 + a1v1 + a2v2 + a3v3
v = 11111111 + 01010101 + 00001111 = 10100101
❏ On comparing with r=10101101 we can find the error bit which is the fifth
bit.
References❏ Reed-Muller Error Correcting Codes by Ben Cooke:❏ http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.
1.1.208.440&rep=rep1&type=pdf❏ Error Correction Code by Todd K Moon❏ Hamming Block Codes:
http://web.udl.es/usuaris/carlesm/docencia/xc1/Treballs/Hamming.Treball.pdf
End of the presentation
ThankYou
Akshit Jain 2013124Nitin Varun 2013070