t com presentation (error correcting code)

Post on 20-Jul-2015

120 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related