SlideShare a Scribd company logo
1 of 22
Error Correcting Codes
A basic description of the Hamming (7,4)
Linear Error Correcting Code, and stacking
cannon balls in n-dimensions.
WW
Schedule
 Why to use them
 How they really work
 The Hamming Distance
 A geometer’s description
 Example
 Message, encode, and introduce error
 Detect, and repair
 Questions
Applications
 Satellites
 Computer Memory
 Modems
 PlasmaCAM
 And many more
 PlasmaCAM:
 300 Amp Discharge
 High Frequency
 Open connectors
 Shielding wire
 Embedded
Processor
The Problem: Noise
Information
Source
Message
Transmitter
Noise
Source
Destination
Message
Reciever
Received
Signal
Signal
Message = [1 1 1 1]
Noise = [0 0 1 0]
Message = [1 1 0 1]
WW
hh
Poor solutions
Single CheckSum -
 Truth table:
 General form:
Data=[1 1 1 1]
Message=[1 1 1 1 0]
 Repeats –
Data = [1 1 1 1]
Message=
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
A B X-OR
0 0 0
0 1 1
1 0 1
1 1 0
aa
WW
hh
Why they are poor
( )
rationoisetosignaltheisS/N
CapacityChannelrawisW
CapacityChannelisC
/1log2 NSWC +≤
Shannon Efficiency
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.
WW
hh
aa
tt
Hammings Solution
Encoding:
 Multiple Checksums
Message=[a b c d]
r= (a+b+d) mod 2
s= (a+b+c) mod 2
t= (b+c+d) mod 2
Code=[r s a t b c d]
Message=[1 0 1 0]
r=(1+0+0) mod 2 =1
s=(1+0+1) mod 2 =0
t=(0+1+0) mod 2 =1
Code=[ 1 0 1 1 0 1 0 ]
WW
hh
aa
tt
ii
Dr. Hamming made several families of error correcting codes. This
Is just a single member of one of the families.
Simulation
100,000 iterations
Add Errors to (7,4) data
No repeat randoms
Measure Error Detection
Error Detection
•One Error: 100%
•Two Errors: 100%
•Three Errors: 83.43%
•Four Errors: 79.76%
Stochastic Simulation:
Results:
Fig 1: Error Detection
50%
60%
70%
80%
90%
100%
1 2 3 4
Errors Introduced
PercentErrorsDetected(%)
WW
hh
aa
tt
ii
ss
How it works: 3 dots
Only 3 possible words
Distance Increment = 1
One Excluded State (red)
It is really a checksum.
 Single Error Detection
 No error correction
A B C
A B C
A C
⇒ Two valid code words (blue)
WW
hh
aa
tt
ii
ss
tt
This is a graphic representation of the “Hamming Distance”
Hamming Distance
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
WW
hh
aa
tt
ii
ss
tt
hh
Another Dot
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.
WW
hh
aa
tt
ii
ss
tt
hh
ee
Even More Dots
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.
WW
hh
aa
tt
ii
ss
tt
hh
ee
MM
Multi-dimensional Codes
Code Space:
• 2-dimensional
• 5 element states
Circle packing makes more
efficient use of the code-space
WW
hh
aa
tt
ii
ss
tt
hh
ee
MM
aa
Cannon Balls
 http://wikisource.org/wiki/Cannonball_stacking
 http://mathworld.wolfram.com/SpherePacking.html
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
WW
hh
aa
tt
ii
ss
tt
hh
ee
MM
aa
tt
More on Codes
 Hamming (11,7)
 Golay Codes
 Convolutional Codes
 Reed-Solomon Error Correction
 Turbo Codes
 Digital Fountain Codes
WW
hh
aa
tt
ii
ss
tt
hh
ee
MM
aa
tt
rr
An Example
WW
hh
aa
tt
ii
ss
tt
hh
ee
MM
aa
tt
rr
ii
We will
 Encode a message
 Add noise to the transmission
 Detect the error
 Repair the error
Encoding the message
we multiply this matrix












=
1111000
0110100
1010010
1100001
H
But why?
You can verify that:
To encode our message
By our message
messagecode ×= H
Hamming[1 0 0 0]=[1 0 0 0 0 1 1]
Hamming[0 1 0 0]=[0 1 0 0 1 0 1]
Hamming[0 0 1 0]=[0 0 1 0 1 1 0]
Hamming[0 0 0 1]=[0 0 0 1 1 1 1]
Where multiplication is the logical AND
And addition is the logical XOR
WW
hh
aa
tt
ii
ss
tt
hh
ee
MM
aa
tt
rr
ii
xx
??
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
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]1100110
0110100
1010010
11110000
01101001
10100101
11000010
0110
1111000
0110100
1010010
1100001
=
+
⇒
×+
×+
×+
×⇒
×












Code => [0 1 0 0 0 1 1]
Testing the message
 We receive the
erroneous string:
Code = [0 1 0 0 0 1 1]
 We test it:
Decoder*CodeT
=[0 1 1]
 And indeed it has an
error
The matrix used to decode is:
To test if a code is valid:
 Does Decoder*CodeT
=[0 0 0]
 Yes means its valid
 No means it has error/s










=
1010101
1100110
1111000
Decoder
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
 Decoder*codeT is
[ 0 1 1]
 This is the third
element of our code
 Our repaired code is
[0 1 1 0 0 1 1]










=
1010101
1100110
1111000
Decoder
Decoding the message
We trim our received code by 3 elements
and we have our original message.
[0 1 1 0 0 1 1] => [0 1 1 0]
Questions?

More Related Content

What's hot

Digital to analog conversion
Digital to analog conversionDigital to analog conversion
Digital to analog conversion
WaseemKhan00
 
Signal modelling
Signal modellingSignal modelling
Signal modelling
Debangi_G
 
Design issues for the layers
Design issues for the layersDesign issues for the layers
Design issues for the layers
jayaprakash
 

What's hot (20)

Presentation on cyclic redundancy check (crc)
Presentation on cyclic redundancy check (crc)Presentation on cyclic redundancy check (crc)
Presentation on cyclic redundancy check (crc)
 
5. 2 ray propagation model part 1
5. 2 ray propagation model   part 15. 2 ray propagation model   part 1
5. 2 ray propagation model part 1
 
Error Control Coding -Introduction
Error Control Coding -IntroductionError Control Coding -Introduction
Error Control Coding -Introduction
 
ASk,FSK,PSK
ASk,FSK,PSKASk,FSK,PSK
ASk,FSK,PSK
 
Digital to analog conversion
Digital to analog conversionDigital to analog conversion
Digital to analog conversion
 
OFDM
OFDMOFDM
OFDM
 
Signal modelling
Signal modellingSignal modelling
Signal modelling
 
Pcm
PcmPcm
Pcm
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
HDLC
HDLCHDLC
HDLC
 
Amplitute modulation
Amplitute modulationAmplitute modulation
Amplitute modulation
 
Multiple access protocol
Multiple access protocolMultiple access protocol
Multiple access protocol
 
Design issues for the layers
Design issues for the layersDesign issues for the layers
Design issues for the layers
 
Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
 
Data link layer
Data link layerData link layer
Data link layer
 
Analog communication
Analog communicationAnalog communication
Analog communication
 
Syntax Analysis in Compiler Design
Syntax Analysis in Compiler Design Syntax Analysis in Compiler Design
Syntax Analysis in Compiler Design
 
BCH Codes
BCH CodesBCH Codes
BCH Codes
 
Verilog presentation final
Verilog presentation finalVerilog presentation final
Verilog presentation final
 
Graph Theory
Graph TheoryGraph Theory
Graph Theory
 

Similar to Error correcting codes

Error detection.
Error detection.Error detection.
Error detection.
Wasim Akbar
 
Errror Detection and Correction
Errror Detection and CorrectionErrror Detection and Correction
Errror Detection and Correction
Mahesh Kumar Attri
 

Similar to Error correcting codes (20)

Humming code error detector 7_communications.ppt
Humming code error detector 7_communications.pptHumming code error detector 7_communications.ppt
Humming code error detector 7_communications.ppt
 
5. Error Coding
5. Error Coding5. Error Coding
5. Error Coding
 
lect5.ppt
lect5.pptlect5.ppt
lect5.ppt
 
Linear block coding
Linear block codingLinear block coding
Linear block coding
 
Error Detection and correction concepts in Data communication and networks
Error Detection and correction concepts in Data communication and networksError Detection and correction concepts in Data communication and networks
Error Detection and correction concepts in Data communication and networks
 
error control coding
error control coding error control coding
error control coding
 
Error detection.
Error detection.Error detection.
Error detection.
 
T com presentation (error correcting code)
T com presentation   (error correcting code)T com presentation   (error correcting code)
T com presentation (error correcting code)
 
Chapter 10: Error Correction and Detection
Chapter 10: Error Correction and DetectionChapter 10: Error Correction and Detection
Chapter 10: Error Correction and Detection
 
Chapter 10
Chapter 10Chapter 10
Chapter 10
 
CRC implementation
CRC implementation CRC implementation
CRC implementation
 
2017 10-06 analogue and digital signals
2017 10-06 analogue and digital signals2017 10-06 analogue and digital signals
2017 10-06 analogue and digital signals
 
Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)
 
Data linklayer
Data linklayerData linklayer
Data linklayer
 
4_Datalink__Error_Detection_and Correction.pdf
4_Datalink__Error_Detection_and Correction.pdf4_Datalink__Error_Detection_and Correction.pdf
4_Datalink__Error_Detection_and Correction.pdf
 
Errror Detection and Correction
Errror Detection and CorrectionErrror Detection and Correction
Errror Detection and Correction
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
07 Data Link LayerError Control.pdf
07 Data Link LayerError Control.pdf07 Data Link LayerError Control.pdf
07 Data Link LayerError Control.pdf
 
2013 1
2013 1 2013 1
2013 1
 
Data link layar
Data link layarData link layar
Data link layar
 

More from Michael Munroe (9)

Advocating effectively for women
Advocating effectively for womenAdvocating effectively for women
Advocating effectively for women
 
LES from first principles
LES from first principlesLES from first principles
LES from first principles
 
Replacing oil
Replacing oilReplacing oil
Replacing oil
 
Mutual information
Mutual informationMutual information
Mutual information
 
final_proposal_redo
final_proposal_redofinal_proposal_redo
final_proposal_redo
 
finalposter_patrick 1
finalposter_patrick 1finalposter_patrick 1
finalposter_patrick 1
 
finalposter_ting 1
finalposter_ting 1finalposter_ting 1
finalposter_ting 1
 
Peter principle reworked in MatLab
Peter principle reworked in MatLabPeter principle reworked in MatLab
Peter principle reworked in MatLab
 
Using model parameters for dimensionality reduction
Using model parameters for dimensionality reductionUsing model parameters for dimensionality reduction
Using model parameters for dimensionality reduction
 

Recently uploaded

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 

Recently uploaded (20)

Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 

Error correcting codes

  • 1. Error Correcting Codes A basic description of the Hamming (7,4) Linear Error Correcting Code, and stacking cannon balls in n-dimensions. WW
  • 2. Schedule  Why to use them  How they really work  The Hamming Distance  A geometer’s description  Example  Message, encode, and introduce error  Detect, and repair  Questions
  • 3. Applications  Satellites  Computer Memory  Modems  PlasmaCAM  And many more  PlasmaCAM:  300 Amp Discharge  High Frequency  Open connectors  Shielding wire  Embedded Processor
  • 5. Poor solutions Single CheckSum -  Truth table:  General form: Data=[1 1 1 1] Message=[1 1 1 1 0]  Repeats – Data = [1 1 1 1] Message= [1 1 1 1] [1 1 1 1] [1 1 1 1] A B X-OR 0 0 0 0 1 1 1 0 1 1 1 0 aa WW hh
  • 6. Why they are poor ( ) rationoisetosignaltheisS/N CapacityChannelrawisW CapacityChannelisC /1log2 NSWC +≤ Shannon Efficiency 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. WW hh aa tt
  • 7. Hammings Solution Encoding:  Multiple Checksums Message=[a b c d] r= (a+b+d) mod 2 s= (a+b+c) mod 2 t= (b+c+d) mod 2 Code=[r s a t b c d] Message=[1 0 1 0] r=(1+0+0) mod 2 =1 s=(1+0+1) mod 2 =0 t=(0+1+0) mod 2 =1 Code=[ 1 0 1 1 0 1 0 ] WW hh aa tt ii Dr. Hamming made several families of error correcting codes. This Is just a single member of one of the families.
  • 8. Simulation 100,000 iterations Add Errors to (7,4) data No repeat randoms Measure Error Detection Error Detection •One Error: 100% •Two Errors: 100% •Three Errors: 83.43% •Four Errors: 79.76% Stochastic Simulation: Results: Fig 1: Error Detection 50% 60% 70% 80% 90% 100% 1 2 3 4 Errors Introduced PercentErrorsDetected(%) WW hh aa tt ii ss
  • 9. How it works: 3 dots Only 3 possible words Distance Increment = 1 One Excluded State (red) It is really a checksum.  Single Error Detection  No error correction A B C A B C A C ⇒ Two valid code words (blue) WW hh aa tt ii ss tt This is a graphic representation of the “Hamming Distance”
  • 10. Hamming Distance 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 WW hh aa tt ii ss tt hh
  • 11. Another Dot 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. WW hh aa tt ii ss tt hh ee
  • 12. Even More Dots 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. WW hh aa tt ii ss tt hh ee MM
  • 13. Multi-dimensional Codes Code Space: • 2-dimensional • 5 element states Circle packing makes more efficient use of the code-space WW hh aa tt ii ss tt hh ee MM aa
  • 14. Cannon Balls  http://wikisource.org/wiki/Cannonball_stacking  http://mathworld.wolfram.com/SpherePacking.html 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 WW hh aa tt ii ss tt hh ee MM aa tt
  • 15. More on Codes  Hamming (11,7)  Golay Codes  Convolutional Codes  Reed-Solomon Error Correction  Turbo Codes  Digital Fountain Codes WW hh aa tt ii ss tt hh ee MM aa tt rr
  • 16. An Example WW hh aa tt ii ss tt hh ee MM aa tt rr ii We will  Encode a message  Add noise to the transmission  Detect the error  Repair the error
  • 17. Encoding the message we multiply this matrix             = 1111000 0110100 1010010 1100001 H But why? You can verify that: To encode our message By our message messagecode ×= H Hamming[1 0 0 0]=[1 0 0 0 0 1 1] Hamming[0 1 0 0]=[0 1 0 0 1 0 1] Hamming[0 0 1 0]=[0 0 1 0 1 1 0] Hamming[0 0 0 1]=[0 0 0 1 1 1 1] Where multiplication is the logical AND And addition is the logical XOR WW hh aa tt ii ss tt hh ee MM aa tt rr ii xx ??
  • 18. 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 [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]1100110 0110100 1010010 11110000 01101001 10100101 11000010 0110 1111000 0110100 1010010 1100001 = + ⇒ ×+ ×+ ×+ ×⇒ ×             Code => [0 1 0 0 0 1 1]
  • 19. Testing the message  We receive the erroneous string: Code = [0 1 0 0 0 1 1]  We test it: Decoder*CodeT =[0 1 1]  And indeed it has an error The matrix used to decode is: To test if a code is valid:  Does Decoder*CodeT =[0 0 0]  Yes means its valid  No means it has error/s           = 1010101 1100110 1111000 Decoder
  • 20. 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  Decoder*codeT is [ 0 1 1]  This is the third element of our code  Our repaired code is [0 1 1 0 0 1 1]           = 1010101 1100110 1111000 Decoder
  • 21. Decoding the message We trim our received code by 3 elements and we have our original message. [0 1 1 0 0 1 1] => [0 1 1 0]

Editor's Notes

  1. http://neombk.free.fr/images/matrix_font3.jpg
  2. Dr. Richard Hamming - Claude Shannon - worked to improve these
  3. Concepts from Shannons’ Information Theory
  4. The blue dots are the code-space. If either of them is communicated then there is assumed to be no error. The red-dot is the excluded case. If it is communicated then an error is detected.
  5. Now in two dimensions you can generate this useful graph