Error Correcting Codes - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Error Correcting Codes

Description:

Repair the error. Encoding the message. we multiply ... Repairing the message. To repair the code we find the collumn in the decoder matrix whose elements are ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 21
Provided by: PAEL
Category:

less

Transcript and Presenter's Notes

Title: Error Correcting Codes


1
Error Correcting Codes
W
  • A basic description of the Hamming (7,4) Linear
    Error Correcting Code, and stacking cannon balls
    in n-dimensions.

2
The Problem Noise
W
h
Message 1 1 1 1
Message 1 1 0 1
Noise 0 0 1 0
3
Poor solutions
W
h
a
  • Repeats
  • Data 1 1 1 1
  • Message
  • 1 1 1 1
  • 1 1 1 1
  • 1 1 1 1
  • Single CheckSum -
  • Truth table
  • General form
  • Data1 1 1 1
  • Message1 1 1 1 0

4
Why they are poor
W h a t
  • Repeat 3 times
  • This divide W by 3
  • It divides overall capacity by at least a factor
    of 3x.
  • Single Checksum
  • Allows an error to be detected but requires the
    message to be discarded and resent.
  • Each error reduces the channel capacity by at
    least a factor of 2 because of the thrown away
    message.

Shannon Efficiency
5
Hammings Solution
W h a t i
  • Encoding
  • Multiple Checksums
  • Messagea b c d
  • r (abd) mod 2
  • s (abc) mod 2
  • t (bcd) mod 2
  • Coder s a t b c d

Message1 0 1 0 r(100) mod 2 1
s(101) mod 2 0 t(010) mod 2 1 Code
1 0 1 1 0 1 0
6
Simulation
W h a t i s
Stochastic Simulation
100,000 iterations Add Errors to (7,4) data No
repeat randoms Measure Error Detection
Results
  • Error Detection
  • One Error 100
  • Two Errors 100
  • Three Errors 83.43
  • Four Errors 79.76

7
How it works 3 dots
W h a t i s t

  • Only 3 possible words
  • Distance Increment 1

One Excluded State (red)
Two valid code words (blue)
  • It is really a checksum.
  • Single Error Detection
  • No error correction

This is a graphic representation of the Hamming
Distance
8
Hamming Distance
W h a t i s t h
  • Definition
  • The number of elements that need to be changed
    (corrupted) to turn one codeword into another.
  • The hamming distance from
  • 0101 to 0110 is 2 bits
  • 1011101 to 1001001 is 2 bits
  • butter to ladder is 4 characters
  • roses to toned is 3 characters

9
Another Dot
W h a t i s t h e
  • The code space is now 4.
  • The hamming distance is still 1.

Allows Error DETECTION for Hamming Distance
1. Error CORRECTION for Hamming Distance 1
For Hamming distances greater than 1 an error
gives a false correction.
10
Even More Dots
W h a t i s t h e M
Allows Error DETECTION for Hamming Distance
2. Error CORRECTION for Hamming Distance 1.
  • For Hamming distances greater than 2 an error
    gives a false correction.
  • For Hamming distance of 2 there is an error
    detected, but it can not be corrected.

11
Multi-dimensional Codes
W h a t i s t h e M a
  • Code Space
  • 2-dimensional
  • 5 element states
  • Circle packing makes more efficient use of the
    code-space

12
Cannon Balls
W h a t i s t h e M a t
Efficient Circle packing is the same as
efficient 2-d code spacing
Efficient Sphere packing is the same as
efficient 3-d code spacing
Efficient n-dimensional sphere packing is the
same as n-code spacing
  • http//wikisource.org/wiki/Cannonball_stacking
  • http//mathworld.wolfram.com/SpherePacking.html

13
More on Codes
W h a t i s t h e M a t r
  • Hamming (11,7)
  • Golay Codes
  • Convolutional Codes
  • Reed-Solomon Error Correction
  • Turbo Codes
  • Digital Fountain Codes

14
An Example
W h a t i s t h e M a t r i
  • We will
  • Encode a message
  • Add noise to the transmission
  • Detect the error
  • Repair the error

15
Encoding the message
W h a t i s t h e M a t r i x ?
But why?
To encode our message
we multiply this matrix
You can verify that
Hamming1 0 0 01 0 0 0 0 1 1 Hamming0 1 0
00 1 0 0 1 0 1 Hamming0 0 1 00 0 1 0 1 1
0 Hamming0 0 0 10 0 0 1 1 1 1
By our message
Where multiplication is the logical AND And
addition is the logical XOR
16
Add noise
  • If our message is
  • Message 0 1 1 0
  • Our Multiplying yields
  • Code 0 1 1 0 0 1 1
  • Lets add an error,
  • so Pick a digit to mutate

Code gt 0 1 0 0 0 1 1
17
Testing the message
  • The matrix used to decode is
  • To test if a code is valid
  • Does DecoderCodeT
  • 0 0 0
  • Yes means its valid
  • No means it has error/s
  • We receive the erroneous string
  • Code 0 1 0 0 0 1 1
  • We test it
  • DecoderCodeT
  • 0 1 1
  • And indeed it has an error

18
Repairing the message
  • To repair the code we find the collumn in the
    decoder matrix whose elements are the row results
    of the test vector
  • We then change
  • DecodercodeT is
  • 0 1 1
  • This is the third element of our code
  • Our repaired code is
  • 0 1 1 0 0 1 1

19
Decoding the message
  • We trim our received code by 3 elements and we
    have our original message.
  • 0 1 1 0 0 1 1 gt 0 1 1 0

20
Questions?
Write a Comment
User Comments (0)
About PowerShow.com