Physical layer Error detection, correction Martin Heusse X L A - - PowerPoint PPT Presentation

physical layer error detection correction
SMART_READER_LITE
LIVE PREVIEW

Physical layer Error detection, correction Martin Heusse X L A - - PowerPoint PPT Presentation

Physical layer Error detection, correction Martin Heusse X L A TEX E Error detection Idea = Add redundant information in the transmitted data to check for errors or even correct them Also used for data storage, memory (Am I


slide-1
SLIDE 1

X E L

ATEX

Physical layer — Error detection, correction

Martin Heusse

slide-2
SLIDE 2

X E L

ATEX

Error detection

✌ Idea = Add redundant information in the transmitted data to check for errors or even correct them

  • Also used for data storage, memory (Am I reading exactly what

I stored?)

  • Parity bit
  • How many errors can you detect with a parity bit?
slide-3
SLIDE 3

X E L

ATEX

Hamming distance

  • data is read by blocks of m bits, we add r bits to form n = n+r

bits-long code words

  • Given two code words, the number of differing bits is the

Hamming distance

  • h = Min Disth(x1, x2) ; x1 and x2 ∈ M

M is the set of 2m valid code words

  • To detect x errors, we need to have h ≥ x+1

Parity bit : h=2, we can detect 1 error. (and sometimes more)

slide-4
SLIDE 4

X E L

ATEX

Checksum

  • h = 2, but can detect k errors in a row

0 0 0 1 1 1 0 1 k=8 n=3 + + 0 0 0 1 0 0 0 1 = Checksum 0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 Complément à 1

1's complement

slide-5
SLIDE 5

X E L

ATEX

CRC

  • A block of bit is the representation of a polynom (coefficients in

[0,1]), Example: 1 0 1 0 1 is x4 + x2 + 1

  • No carry, subtraction ⇔ addition ⇔ XOR
  • T= Quotient*G + remainder, so (T + Remainder)%G = 0

000...0 Données T: G Quotient Reste n

Remainder Data

slide-6
SLIDE 6

X E L

ATEX

CRC (cont.)

1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 Reste= 0 1 1

Remainder

  • With n= 16, 1 or 2 errors are detected, all odd numbers of

errors, and all series of errors of less than 16 bits length.

slide-7
SLIDE 7

X E L

ATEX

Error correction

  • h should be big enough so that if an error occurs, the obtained

word is still closer from the original than any other word with 1 error. → (n + 1) 2m 2n or: (m + r + 1) 2r

(for every 2m code words, there are n possible words with 1 error, + the code word)

Example: for m = 4, we need r 3 (or 4 bits for messages of 8…)

slide-8
SLIDE 8

X E L

ATEX

Hamming error correcting code

  • Redundancy bits are inserted at all powers of 2 (1, 2, 4,…)
  • Upon reception, the sum of the positions of the control bits in

error gives the position of the error

  • Example:

bit 1 such that (1, 3, 5, 7, 9, 11, …) is of even parity bit 2 such that (2, 3, 6, 7, 10, 11,…) is of even parity bit 4 such that (4, 5, 6, 7, 12, 13,…) is of even parity if bits 1, 2 and 4 are wrong, then an error occurred at bit 7! (7=1+2+4)

r 3 4 5 6 7 8 9 10 11 12 1 2 r r r

  • This is the minimum number of bits for error correction
slide-9
SLIDE 9

X E L

ATEX

Convolution codes

k x L bits input k bits at a time

+ + + + +

n Adders

  • utput n bits

at a time

… …

  • (k − 1) × L bits of memory
  • Viterbi (Trellis) decoding
slide-10
SLIDE 10

X E L

ATEX

Trellis decoding

+

00 01 00 01 00 01 00 01 11 10 11 10 11 10 xx Input: 1 xx Input: 0 Etc.

  • utput(i)
  • utput(i+1)

input(i) 1 memory state

slide-11
SLIDE 11

X E L

ATEX

Interleaving

a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 d1 d2 d3 d4

1 codeword (including redundancy bits)

a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 d1 d2 d3 d4

What is sent on the channel: