SlideShare une entreprise Scribd logo
1  sur  13
Error Detection & Correction -=namma Angels™=- » NikethaDalmia » Neha Sharma » ChanchalJalan
The problem» Many Factors can alter one or more bits of a message during transmission. Single bit error Burst error (2 or more bits altered) Solution? Detect if there was an error. Its easy to determine if an error has occurred. Simple answer Y/N Correction: Knowledge of exact number of corrupted bits. Knowledge of exact position of error.
So how do we correct?» Retransmission Detect an error Repeatedly request sender to resend. Forward Error Correction Receiver tries to guess the correct code. Coding: Block Coding Complex Convolution code (wiki definition included) In telecommunication, a convolutional code is a type of error-correcting code in which (a) each m-bitinformation symbol (each m-bit string) to be encoded is transformed into an n-bit symbol, where m/n is the code rate (n ≥ m) and (b) the transformation is a function of the last k information symbols, where k is the constraint length of the code.
Coding The Addition of redundant bits The concept of Block Coding: Each message of k bits are datawords. Add r redundant bits. The resulting n=k+rblocks are codewords. No. of possible codewards larger than possible datawords. 2n – 2kcodewords not used These are invalid, and help in error detection.
Our Own c++ implementation of error detection and correction. A few terms to grasp first
Hamming code: It is easy to determine how many bits sequences A and B differ by, in the above case 3 bits.  The number of bits in which two codewords vary is called the Hamming distance.  Note: for two codewords, with Hamming distance d, a total of d single-bit errors are needed to convert one codeword into the other codeword. The Hamming distance of a complete code (A code consists of a number of codewords) is the minimum Hamming distance between any two codewords of that code.
A simple example: A codeword is a binary sequence used to represent an item.  ASCII is one such example where a 7 or 8 bit code is used to represent a character.  Note, the Hamming distance of ASCII is 1, i.e. changing one bit of an ASCII code will result in another valid ASCII code.
Detection/correction by hamming code: The error detecting and correction properties of a code depend upon its Hamming distance. To detect d errors, a Hamming distance of d+1 is needed (thereby ensuring that it is impossible for d errors to change one valid codeword into another valid codeword). To correct d errors, a Hamming distance of 2d+1 is needed (thereby ensuring that after d errors the original codeword is still the closest match to the corrupted signal, and hence the best match).
The hamming(7,4) algorithm: 4 Bit DataWord » 7 bit CodeWord by adding 3 redundant bits (anywhere) This is done by the encoding algorithm. The Received CodeWord is Decoded Errors upto 2 bits can be detected. But only errors upto 1 bit can be corrected. (Recall the mechanism of Hamming codes) P1 P2 P3 D1 D2 D3 D4
Encoding: p1 = d2 + d3 + d4p2 = d1 + d3 + d4p3 = d1 + d2 + d4 Each of the three parity bits are parity for three of the four data bits, and no two parity bits are for the same three data bits. All of the parity bits are even parity There's a fourth equation for a parity bit that may be used in Hamming codes: p4 = d1 + d2 + d3. Any of the three out of four may be used. One method for transforming four bits of data into a seven bit Hamming code word is to use a 4×7 generator matrix [G], Define d to be the 1×4 vector [d1 d2 d3 d4]
So why a generator matrix? We could have kept it simple: But after thorough analysis we realized… The 4x7 Generator Matrix prevails. | 1 0 1 0 | * |0 1 1 1|                      |1 0 1 1|   = |                     |                                             |1 1 0 1|         (parity equation matrix)
The 4x7 Generator matrix:         | 1 |d1 = | 0 |        | 0 |        | 0 |         | 0 |d2 = | 1 |        | 0 |        | 0 |         | 0 |d3 = | 0 |        | 1 |        | 0 |         | 0 |d4 = | 0 |        | 0 |        | 1 |         | 0 |p1 = | 1 |        | 1 |        | 1 |         | 1 |p2 = | 0 |        | 1 |        | 1 |         | 1 |p3 = | 1 |        | 0 |        | 1 | Arrange the column vectors from the previous steps into a 4×7 matrix such that the columns are ordered to match their corresponding bits in a code word.Using the vectors from the previous steps, the following will produce code words of the form [p1 p2 p3 d1 d2 d3 d4]         | 0 1 1 1 0 0 0 | G = | 1 0 1 0 1 0 0 |        | 1 1 0 0 0 1 0 |        | 1 1 1 0 0 0 1 |Arranging the columns in any other order will just change the positions of bits in the code word.
Example: So 1010 encodes to 1011010. Equivalent Hamming codes represented by different generator matrices will produce different results. Lets test the C++ Encoding code we wrote (not copied)

Contenu connexe

Tendances

Error Detection and Correction presentation
Error Detection and Correction presentation Error Detection and Correction presentation
Error Detection and Correction presentation Badrul Alam
 
Reed solomon Encoder and Decoder
Reed solomon Encoder and DecoderReed solomon Encoder and Decoder
Reed solomon Encoder and DecoderAmeer H Ali
 
DCN Error Detection & Correction
DCN Error Detection & CorrectionDCN Error Detection & Correction
DCN Error Detection & CorrectionRohan Bhatkar
 
UNIT-3 : CHANNEL CODING
UNIT-3 : CHANNEL CODINGUNIT-3 : CHANNEL CODING
UNIT-3 : CHANNEL CODINGabhishek reddy
 
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE ShivangiSingh241
 
Computer Networks - Error Detection & Error Correction
Computer Networks - Error Detection & Error CorrectionComputer Networks - Error Detection & Error Correction
Computer Networks - Error Detection & Error CorrectionSaikrishna Tanguturu
 
Error detection.
Error detection.Error detection.
Error detection.Wasim Akbar
 
Block coding, error detection (Parity checking, Cyclic redundancy checking (C...
Block coding, error detection (Parity checking, Cyclic redundancy checking (C...Block coding, error detection (Parity checking, Cyclic redundancy checking (C...
Block coding, error detection (Parity checking, Cyclic redundancy checking (C...Paulo_Vangui
 

Tendances (20)

Error Detection and Correction presentation
Error Detection and Correction presentation Error Detection and Correction presentation
Error Detection and Correction presentation
 
Source coding
Source coding Source coding
Source coding
 
Error control
Error controlError control
Error control
 
Reed solomon Encoder and Decoder
Reed solomon Encoder and DecoderReed solomon Encoder and Decoder
Reed solomon Encoder and Decoder
 
Data Link Layer| Error Detection
Data Link Layer| Error DetectionData Link Layer| Error Detection
Data Link Layer| Error Detection
 
DCN Error Detection & Correction
DCN Error Detection & CorrectionDCN Error Detection & Correction
DCN Error Detection & Correction
 
Hamming code system
Hamming code systemHamming code system
Hamming code system
 
Checksum explaination
Checksum explainationChecksum explaination
Checksum explaination
 
Convolution Codes
Convolution CodesConvolution Codes
Convolution Codes
 
UNIT-3 : CHANNEL CODING
UNIT-3 : CHANNEL CODINGUNIT-3 : CHANNEL CODING
UNIT-3 : CHANNEL CODING
 
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
 
Computer Networks - Error Detection & Error Correction
Computer Networks - Error Detection & Error CorrectionComputer Networks - Error Detection & Error Correction
Computer Networks - Error Detection & Error Correction
 
Error detection.
Error detection.Error detection.
Error detection.
 
Codes
CodesCodes
Codes
 
Ch 20 UNICAST ROUTING SECTION 2
Ch 20   UNICAST ROUTING  SECTION  2Ch 20   UNICAST ROUTING  SECTION  2
Ch 20 UNICAST ROUTING SECTION 2
 
Error correction, ARQ, FEC
Error correction, ARQ, FECError correction, ARQ, FEC
Error correction, ARQ, FEC
 
Block coding, error detection (Parity checking, Cyclic redundancy checking (C...
Block coding, error detection (Parity checking, Cyclic redundancy checking (C...Block coding, error detection (Parity checking, Cyclic redundancy checking (C...
Block coding, error detection (Parity checking, Cyclic redundancy checking (C...
 
Convolutional codes
Convolutional codesConvolutional codes
Convolutional codes
 
Check sum
Check sumCheck sum
Check sum
 
Turbo codes.ppt
Turbo codes.pptTurbo codes.ppt
Turbo codes.ppt
 

En vedette

Error Correction And Hamming Code Ibrar
Error Correction And Hamming Code IbrarError Correction And Hamming Code Ibrar
Error Correction And Hamming Code Ibraribrar562
 
Point To Point Protocol
Point To Point ProtocolPoint To Point Protocol
Point To Point ProtocolPhan Vuong
 
Linear block coding
Linear block codingLinear block coding
Linear block codingjknm
 
Error Detection And Correction
Error Detection And CorrectionError Detection And Correction
Error Detection And CorrectionRenu Kewalramani
 
Presentation on Transmission Media
Presentation on Transmission MediaPresentation on Transmission Media
Presentation on Transmission MediaSyed Ahmed Zaki
 
Internet architecture
Internet architectureInternet architecture
Internet architectureNaman Rastogi
 
FAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORKFAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORKPavithraRShettigar
 
Introduction to computer network
Introduction to computer networkIntroduction to computer network
Introduction to computer networkAshita Agrawal
 

En vedette (10)

Error Correction And Hamming Code Ibrar
Error Correction And Hamming Code IbrarError Correction And Hamming Code Ibrar
Error Correction And Hamming Code Ibrar
 
Point To Point Protocol
Point To Point ProtocolPoint To Point Protocol
Point To Point Protocol
 
Chapter 7: Transmission Media
Chapter 7: Transmission MediaChapter 7: Transmission Media
Chapter 7: Transmission Media
 
Linear block coding
Linear block codingLinear block coding
Linear block coding
 
Error Detection And Correction
Error Detection And CorrectionError Detection And Correction
Error Detection And Correction
 
Presentation on Transmission Media
Presentation on Transmission MediaPresentation on Transmission Media
Presentation on Transmission Media
 
Internet architecture
Internet architectureInternet architecture
Internet architecture
 
Internet, intranet and extranet
Internet, intranet and extranetInternet, intranet and extranet
Internet, intranet and extranet
 
FAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORKFAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORK
 
Introduction to computer network
Introduction to computer networkIntroduction to computer network
Introduction to computer network
 

Similaire à Error Detection N Correction

Presentation for the Project on VLSI and Embedded
Presentation for the Project on VLSI and EmbeddedPresentation for the Project on VLSI and Embedded
Presentation for the Project on VLSI and Embeddedlthanuja01
 
06 ET 351_Lecture_06_January_07_2023.ppt
06 ET 351_Lecture_06_January_07_2023.ppt06 ET 351_Lecture_06_January_07_2023.ppt
06 ET 351_Lecture_06_January_07_2023.pptOmmyOmar
 
An Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH DecoderAn Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH Decoderijsrd.com
 
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit ModelSingle-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit ModelUniversitas Pembangunan Panca Budi
 
M.TECH, ECE 2nd SEM LAB RECORD
M.TECH, ECE 2nd SEM LAB RECORD M.TECH, ECE 2nd SEM LAB RECORD
M.TECH, ECE 2nd SEM LAB RECORD Arif Ahmed
 
Digital Communication: Channel Coding
Digital Communication: Channel CodingDigital Communication: Channel Coding
Digital Communication: Channel CodingDr. Sanjay M. Gulhane
 
13-DataLink_02.ppt
13-DataLink_02.ppt13-DataLink_02.ppt
13-DataLink_02.pptWinterSnow16
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Multimedia lossy compression algorithms
Multimedia lossy compression algorithmsMultimedia lossy compression algorithms
Multimedia lossy compression algorithmsMazin Alwaaly
 
Coding theory.pdf
Coding theory.pdfCoding theory.pdf
Coding theory.pdf230231060
 
PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...
PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...
PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...Journal For Research
 

Similaire à Error Detection N Correction (20)

Presentation for the Project on VLSI and Embedded
Presentation for the Project on VLSI and EmbeddedPresentation for the Project on VLSI and Embedded
Presentation for the Project on VLSI and Embedded
 
06 ET 351_Lecture_06_January_07_2023.ppt
06 ET 351_Lecture_06_January_07_2023.ppt06 ET 351_Lecture_06_January_07_2023.ppt
06 ET 351_Lecture_06_January_07_2023.ppt
 
An Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH DecoderAn Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH Decoder
 
Compression Ii
Compression IiCompression Ii
Compression Ii
 
Compression Ii
Compression IiCompression Ii
Compression Ii
 
C04922125
C04922125C04922125
C04922125
 
C6 agramakrishnan1
C6 agramakrishnan1C6 agramakrishnan1
C6 agramakrishnan1
 
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit ModelSingle-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
 
M.TECH, ECE 2nd SEM LAB RECORD
M.TECH, ECE 2nd SEM LAB RECORD M.TECH, ECE 2nd SEM LAB RECORD
M.TECH, ECE 2nd SEM LAB RECORD
 
Digital Communication: Channel Coding
Digital Communication: Channel CodingDigital Communication: Channel Coding
Digital Communication: Channel Coding
 
Data links
Data links Data links
Data links
 
13-DataLink_02.ppt
13-DataLink_02.ppt13-DataLink_02.ppt
13-DataLink_02.ppt
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Hamming codes
Hamming codesHamming codes
Hamming codes
 
Multimedia lossy compression algorithms
Multimedia lossy compression algorithmsMultimedia lossy compression algorithms
Multimedia lossy compression algorithms
 
Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)
 
rs_1.pptx
rs_1.pptxrs_1.pptx
rs_1.pptx
 
Coding theory.pdf
Coding theory.pdfCoding theory.pdf
Coding theory.pdf
 
PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...
PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...
PERFORMANCE ESTIMATION OF LDPC CODE SUING SUM PRODUCT ALGORITHM AND BIT FLIPP...
 
Unit-4.pptx
Unit-4.pptxUnit-4.pptx
Unit-4.pptx
 

Dernier

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Dernier (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Error Detection N Correction

  • 1. Error Detection & Correction -=namma Angels™=- » NikethaDalmia » Neha Sharma » ChanchalJalan
  • 2. The problem» Many Factors can alter one or more bits of a message during transmission. Single bit error Burst error (2 or more bits altered) Solution? Detect if there was an error. Its easy to determine if an error has occurred. Simple answer Y/N Correction: Knowledge of exact number of corrupted bits. Knowledge of exact position of error.
  • 3. So how do we correct?» Retransmission Detect an error Repeatedly request sender to resend. Forward Error Correction Receiver tries to guess the correct code. Coding: Block Coding Complex Convolution code (wiki definition included) In telecommunication, a convolutional code is a type of error-correcting code in which (a) each m-bitinformation symbol (each m-bit string) to be encoded is transformed into an n-bit symbol, where m/n is the code rate (n ≥ m) and (b) the transformation is a function of the last k information symbols, where k is the constraint length of the code.
  • 4. Coding The Addition of redundant bits The concept of Block Coding: Each message of k bits are datawords. Add r redundant bits. The resulting n=k+rblocks are codewords. No. of possible codewards larger than possible datawords. 2n – 2kcodewords not used These are invalid, and help in error detection.
  • 5. Our Own c++ implementation of error detection and correction. A few terms to grasp first
  • 6. Hamming code: It is easy to determine how many bits sequences A and B differ by, in the above case 3 bits. The number of bits in which two codewords vary is called the Hamming distance. Note: for two codewords, with Hamming distance d, a total of d single-bit errors are needed to convert one codeword into the other codeword. The Hamming distance of a complete code (A code consists of a number of codewords) is the minimum Hamming distance between any two codewords of that code.
  • 7. A simple example: A codeword is a binary sequence used to represent an item. ASCII is one such example where a 7 or 8 bit code is used to represent a character. Note, the Hamming distance of ASCII is 1, i.e. changing one bit of an ASCII code will result in another valid ASCII code.
  • 8. Detection/correction by hamming code: The error detecting and correction properties of a code depend upon its Hamming distance. To detect d errors, a Hamming distance of d+1 is needed (thereby ensuring that it is impossible for d errors to change one valid codeword into another valid codeword). To correct d errors, a Hamming distance of 2d+1 is needed (thereby ensuring that after d errors the original codeword is still the closest match to the corrupted signal, and hence the best match).
  • 9. The hamming(7,4) algorithm: 4 Bit DataWord » 7 bit CodeWord by adding 3 redundant bits (anywhere) This is done by the encoding algorithm. The Received CodeWord is Decoded Errors upto 2 bits can be detected. But only errors upto 1 bit can be corrected. (Recall the mechanism of Hamming codes) P1 P2 P3 D1 D2 D3 D4
  • 10. Encoding: p1 = d2 + d3 + d4p2 = d1 + d3 + d4p3 = d1 + d2 + d4 Each of the three parity bits are parity for three of the four data bits, and no two parity bits are for the same three data bits. All of the parity bits are even parity There's a fourth equation for a parity bit that may be used in Hamming codes: p4 = d1 + d2 + d3. Any of the three out of four may be used. One method for transforming four bits of data into a seven bit Hamming code word is to use a 4×7 generator matrix [G], Define d to be the 1×4 vector [d1 d2 d3 d4]
  • 11. So why a generator matrix? We could have kept it simple: But after thorough analysis we realized… The 4x7 Generator Matrix prevails. | 1 0 1 0 | * |0 1 1 1| |1 0 1 1| = | | |1 1 0 1| (parity equation matrix)
  • 12. The 4x7 Generator matrix:       | 1 |d1 = | 0 |      | 0 |      | 0 |       | 0 |d2 = | 1 |      | 0 |      | 0 |       | 0 |d3 = | 0 |      | 1 |      | 0 |       | 0 |d4 = | 0 |      | 0 |      | 1 |      | 0 |p1 = | 1 |      | 1 |      | 1 |       | 1 |p2 = | 0 |      | 1 |      | 1 |       | 1 |p3 = | 1 |      | 0 |      | 1 | Arrange the column vectors from the previous steps into a 4×7 matrix such that the columns are ordered to match their corresponding bits in a code word.Using the vectors from the previous steps, the following will produce code words of the form [p1 p2 p3 d1 d2 d3 d4]       | 0 1 1 1 0 0 0 | G = | 1 0 1 0 1 0 0 |      | 1 1 0 0 0 1 0 |      | 1 1 1 0 0 0 1 |Arranging the columns in any other order will just change the positions of bits in the code word.
  • 13. Example: So 1010 encodes to 1011010. Equivalent Hamming codes represented by different generator matrices will produce different results. Lets test the C++ Encoding code we wrote (not copied)