Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Error Detection and Correction Techniques in Digital Communications, Slides of Computer Networks

An overview of various error detection and correction techniques used in digital communications. Topics covered include parity, voting, hamming distance, hamming codes, burst errors, and digital error detection techniques such as two-dimensional parity, internet checksum, and cyclic redundancy check (crc).

Typology: Slides

2012/2013

Uploaded on 04/17/2013

pampaaaa
pampaaaa 🇮🇳

5

(1)

57 documents

1 / 28

Toggle sidebar

Related documents


Partial preview of the text

Download Error Detection and Correction Techniques in Digital Communications and more Slides Computer Networks in PDF only on Docsity! Lecture No. 7 Docsity.com 2 Error Detection and Correction • Possible binary voltage encoding symbol • Neighborhoods and erasure region +15 -15 vo lta ge 0 1 ? (erasure) • Possible QAM symbol • Neighborhoods in green • All other space results in erasure Input to digital level: valid symbols or erasures Docsity.com 5 1-bit Error Detection with Parity • Every code has even number of 1’s 000 100 110 010 011 001 101 111 01 00 10 11 Valid Codes Parity encoding: gray dots are invalid and indicate errors If only 1 bit flips, it can be detected Docsity.com 6 1-bit Error Correction with Voting • Every code is copied three times 000 100 110 010 011 001 101 111 0 1 Valid codes Gray dots correct to “1” blue cots correct to “0” - If only 1 bit flips, it can be corrected - Even with 2 erasures, bit can be recovered Docsity.com 7 2-bit Erasure Correction With Voting • Every code is copied three times Remaining bit in a 2-erasure plane is not ambiguous 000 100 110 010 011 001 101 111 0?? ?0? ??0 Cannot correct 1-error and 1-erasure Docsity.com 10 Hamming Codes (1950 Paper) • Construction for 1-bit error-correcting codes • Minimal number of check bits required • Construction – Number of bits from 1 upward – Powers of 2 are check bits – All others are data bits – Check bit j is XOR of all bits k such that (j AND k) = j • – Example: 4 bits of data, 3 check bits Docsity.com 11 Error Bits or Error Burst • Common model of errors – Probability of error per bit – Error in each bit independent of others – Value of incorrect bit independent of others • Burst model – Probability of back-to-back bit errors – Error probability dependent on adjacent bits – Value of errors may have structure • Why assume bursts? – Appropriate for some media (e.g., Radio) – Faster signaling rate enhances such phenomena Docsity.com 12 Digital Error Detection Techniques • Two-dimensional parity – Detects up to 3-bit errors – Good for burst errors • Internet checksum (used as backup to CRC) – Simple addition – Simple in software • Cyclic redundancy check (CRC) – Powerful mathematics – Tricky in software, simple in hardware – Used in network adapter Docsity.com 15 Internet Checksum Algorithm • Not used at the link level but provides same sort of functionality as CRC and parity • Idea: – Add up all words (16-bit integers) that are transmitted – Transmit the result (checksum) of that sum – Receiver performs the same calculation on received data and compares the result with the received checksum – If the results do not match, an error is detected • 16 redundant bits for a message of any length • Weak protection, accepted as a last line of defense Docsity.com 16 Internet Checksum Algorithm View message as a sequence of 16-bit integers; sum using 16-bit ones-complement arithmetic; take ones-complement of the result. u_short cksum(u_short *buf, int count) { register u_long sum = 0; while (count--) { sum += *buf++; if (sum & 0xFFFF0000) { /* carry occurred, so wrap around */ sum &= 0xFFFF; sum++; } } return ~(sum & 0xFFFF); } Docsity.com 17 Cyclic Redundancy Check Theory • Based on finite-field (binary-valued) arithmetic • Bit string represented as polynomial • Coefficients are binary-valued • Divide bit string polynomial by generator polynomial to generate CRC Practice • Bitwise XOR’s Docsity.com 20 CRC Example - Sender • C(x) = x3+x2+1 = 1101  generator • M(x) = x8 + x6 + x5 + x4+1 = 101110001  message 1101 ) 101110001000 1101 1101 1101 00001000 1101 101 Remainder Docsity.com 21 CRC Example - Receiver • C(x) = x3+x2+1 = 1101  generator • M(x) = x11+x9+x8+x7+x3+x2+1 = 101110001101  message 1101 ) 101110001101 1101 1101 1101 00001101 1101 0 Correct ! Docsity.com 22 CRC Example - Receiver • C(x) = x3+x2+1 = 1101  generator • M(x) = x11+x9+x8+x7+x3+x2+1 = 101110001101  message 1101 ) 101101001101 1101 1100 1101 1100 1101 1110 1101 111 Incorrect ! Two bits are flipped Docsity.com 25 Selecting C(x) Non-divisible by E(x) • Any ‘burst’ error (i.e., sequence of error bits) for which the length of the burst is less than k bits • Most burst errors of larger than k bits can also be detected • See Table 2.5 on page 96 for common C(x) Docsity.com 26 Error Detection or Correction ? • Detection implies discarding message and waiting for retransmission –Uses bandwidth – Introduces latency Docsity.com 27 Error Detection or Correction ? • Error correction requires more redundant bits to send all the time : Forward Error-correcting Code (FEC) • Error correction is useful when: – Errors are quite probable (wireless links) – Retransmission cost is too high (latency in satellite link, multicast) Docsity.com
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved