ANALOG & DIGITAL COMMUNICATION
By Engr. Hyder Bux Mangrio
Institute of Information & Communication Technologies
Mehran University of Engineering and Technology, Jamshoro.
10TL-BATCH
Today's Lecture:
46-52
ERROR DETECTION,CORRECTION & CONTROL
1/13/2023 1
hyder.bux@muet.edu.pk
Error Correction & Detection
 A major design criterion for all
telecommunication system is to achieve
error free transmission.
 Error, unfortunately do occur
 Two basic techniques employed
 One is to detect the error and request for
re-transmission of the corrupted message
 Second is to correct the error at the
receiving end without having to re-transmit
the message.
 Redundancy decreases system
1/13/2023 hyder.bux@muet.edu.pk 2
Parity
 Parity is the simplest & oldest method of error
detection.
 It is not very effective in data transmission.
 A single bit called parity bit is added to a group
of bits representing a letter, number or symbol.
 The parity bit is computed by the transmitting
device based on the number of 1 bit set in the
character.
 Parity can be either odd or even.
1/13/2023 hyder.bux@muet.edu.pk 3
ODD-EVEN Parity
 If the odd parity is selected, the parity
is set to a 1 or 0 to make the total
number of 1 bits in character including
parity bit itself equal to an odd value.
 If the even parity is selected, the parity
is set to a 1 or 0 to make the total
number of 1 bits in character including
parity bit itself equal to an even value.
1/13/2023 hyder.bux@muet.edu.pk 4
ODD-EVEN Parity
 The selection of even or odd parity is
generally arbitrary.
 The transmitting or receiving stations,
however, must be set to same mode.
1/13/2023 hyder.bux@muet.edu.pk 5
Problem
 Check the even parity code for a “H” in
ASCII code. When two bits are
corrupted (6th and 7th ).
1/13/2023 hyder.bux@muet.edu.pk 6
ODD-EVEN Parity
 Parity is primarily used for detecting
errors in a serial data character.
 Vertical Redundancy checking(VRC)
is used to correct single bit error in
received data stream.
 Longitudinal redundancy
checking(LRC) character is
transmitted with message signal to
determine error position with respect
to VRC.
1/13/2023 hyder.bux@muet.edu.pk 7
VRC-LRC
 VRC-LRC is used to create a
crossmatrix type of configuration
where the VRC bit denotes the
row(character) and the LRC
column(bit position) of message’s
error bit.
1/13/2023 hyder.bux@muet.edu.pk 8
9
Parity Examples - Using Even
Parity
Parity
1 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
1 1 1 0 1 1 1 0
Data
VRC
1 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
1 1 1 0 1 1 1 0
1 1 1 0 1 1 1 0
0 0 1 1 1 0 0 1
0 0 1 0 1 0 1 1
0 0 1 1 1 0 0 1
1 0 0 0 1 1 1 0 LRC
Data
Even Parity of 1’s LRC/VRC
Problem
 Determine the states of the LRC bits
for the asynchronous ASCII message
“Help!” using even VRC parity.
1/13/2023 hyder.bux@muet.edu.pk 10
ASCII code
1/13/2023 hyder.bux@muet.edu.pk 11
Cyclic Redundancy checking
 A power full method than the LRC and
VRC for detection in block is cyclic
redundancy checking CRC.
 CRC is most commonly used for error
detection in block transmission.
 Efficiency of error detection is 99.9%.
 CRC involves a division of the
transmitted message block by a
constant called the generator
polynomial. 1/13/2023 hyder.bux@muet.edu.pk 12
CRC
 The quotient is discarded and the
remainder is transmitted as BCC.
 The receiving station performs same
computation on received message
block.
 The computed remainder, or BCC is
compared to the remainder received
from the transmitter.
 If the two(received and transmitted)
match means no error otherwise there
1/13/2023 hyder.bux@muet.edu.pk 13
CRC
 If the two do not match, either a
request a send for retransmission or
errors are corrected through the use of
special coding techniques.
 Cyclic codes contain a specific
number bits, governed by the size of
character within message block.
 Three of the mostly commonly used
cylic code are CRC-12, CRC-16 and
CRC-CCITT.
1/13/2023 hyder.bux@muet.edu.pk 14
CRC
 Blocks containing characters that are
6-bit in length typically use CRC-12.
 Blocks formatted with 8-bit characters
typically use CRC-16 or CRC-CCITT
CRC-12 generator polynomial
G(x)= X12+X11+X3+X2+X+1
CRC-16 generator polynomial
G(x)= X16+X15+X2+1
CRC-CCITT generator polynomial
G(x)= X16+X12+X5+1
1/13/2023 hyder.bux@muet.edu.pk 15
16
Computing the BCC of the
message block using CRC
Generator polynomial Quotient discarded
 Constant Message block
 Constant
 Next character
 Constant
 Next character
 Constant
 Remainder BCC
1/13/2023 hyder.bux@muet.edu.pk 17
Computing the Block check
character
 The generating polynomial G(x) and
message polynomial M(x) used for
computing the BCC include degree
terms that represent position in a
group of bits that are binary 1 and
missing terms are represented by a 0.
 The highest degree in the polynomial
is one less than the number in the
binary code.
1/13/2023 hyder.bux@muet.edu.pk 18
Steps
 If we let n equal to the total number of bits
in a transmitted block and k equal the
number of data bits, then n-k equals the
number of bits in BCC.
 Message block M(x) is multiplied by Xn-k to
achieve correct number bits of BCC.
 Resulting product is then divided by the
generator polynomial G(X)
 The quotient is discarded and the
remainder B(x) or BCC is transmitted at the
end of the message block
1/13/2023 hyder.bux@muet.edu.pk 19
Steps
 The entire transmitted message block
can be represented by CRC
T(x)= Xn-k[M(x)]+B(x)
1/13/2023 hyder.bux@muet.edu.pk 20
Problem
 The transmitted message block
contains total number of 14. Nine of
the 14 are data bits. And generator
polynomial, G(x)=X5+X2+X+1and
message polynomial,
M(x)=X8+X6+X3+X2+1. Compute the
value of BCC and T(x)
1/13/2023 hyder.bux@muet.edu.pk 21
Problem.
 a 16-bit message using CRC-16 is
used. The total number of bits in
transmitted message block, n is 32.
the generator polynomial for CRC-16
is G(x)= X16+X15+X2+1 and message
polynomial is
M(x)=X15+X13+X11+X10+X7+X5+X4+1.
Compute the value BCC and T(x).
1/13/2023 hyder.bux@muet.edu.pk 22
CHECKSUM
 Error detection through the use of
checksum.
 Checksum is a basically summation
quantity
 Like CRC and LRC, the checksum serves
as BCC.
 Checksum is transmitted at end of
message block. Commonly used in large
file transfer between mass device.
1/13/2023 hyder.bux@muet.edu.pk 23
Types of checksum
 Single precision
 Double precision
 Honey Well
 Residue
1/13/2023 hyder.bux@muet.edu.pk 24
Single Precision Checksum
 Performing a binary addition of each
n-bit data word in the message block.
 Any carry or overflow during the
addition process is ignored
 The resultant checksum is also n-bit
length.
1/13/2023 hyder.bux@muet.edu.pk 25
1/13/2023 hyder.bux@muet.edu.pk 26
Double Precision Checksum
 Extend the computed checksum to 2n
bits in length.
1/13/2023 hyder.bux@muet.edu.pk 27
Honey Well Checksum
 An alternative form of the double precision
checksum.
 Its length is also 2n
 Honey well checksum is based on interleaving
consecutive data words to form double
precision checksum
 The advantage of the honey well is that
SAI and stuck at o bit errors occurring is
the same bit positions of all word can be
detected during the error detection
process. 1/13/2023 hyder.bux@muet.edu.pk 28
1/13/2023 hyder.bux@muet.edu.pk 29
Residue Checksum
 Carryout of the MSB position of the
checksum word is “wrapped around”
and added to the LSB.
1/13/2023 hyder.bux@muet.edu.pk 30
1/13/2023 hyder.bux@muet.edu.pk 31
Error Correction
 Automatic Repeat reQuest
ARQ is to request the retransmission
of the data block received in error
 Forward Error Correction
 FEC is used in simplex transmission
or applications where it is impractical
or impossible to request a
retransmission of the corrupted
message block.
1/13/2023 hyder.bux@muet.edu.pk 32
HAMMING CODE
 Hamming code employs the use of
redundant bits that are inserted into
the message stream for error
correction.
 Hamming bits are used to identify the
position of error. This position known
as the syndrome
1/13/2023 hyder.bux@muet.edu.pk 33
Developing of Hamming code
 Hamming code for single-bit FEC
 10 bits will be used. The hamming bits
depends on the number of data bits.
2m ≥ n+1
Where n is number data bits + hamming
bits and m is number of hamming bits.
 Hamming bits can be placed
anywhere in the transmitted message.
1/13/2023 hyder.bux@muet.edu.pk 34
 Compute the number of the Hamming
bits m required for a message of n
bits.
 Insert the Hamming bits H into orginal
message stream.
 Express each bit position containing a
1 as the m-bit binary number and
exclusive-OR each of the these
numbers together.
starting from the left bit positions. This
will be the hamming code.
 Place the value of the hamming bits
1/13/2023 hyder.bux@muet.edu.pk 35
 The Hamming bits are extracted from
the received message stream and
exclusive-ORed with the binary
representation of the bit positions
containing a 1. this will detect the bit
position in error, or the syndrome.
1/13/2023 hyder.bux@muet.edu.pk 36
Problem
 Given the 12 bit message
101110101011, determine the
following:
a. Number a Hamming bits, m required
b. Total number of the transmitted bits,
n
c. Hamming code
d. Syndrome if the bit position 10 is
corrupted.
1/13/2023 hyder.bux@muet.edu.pk 37

ADC_13_Error_Corc.ppt

  • 1.
    ANALOG & DIGITALCOMMUNICATION By Engr. Hyder Bux Mangrio Institute of Information & Communication Technologies Mehran University of Engineering and Technology, Jamshoro. 10TL-BATCH Today's Lecture: 46-52 ERROR DETECTION,CORRECTION & CONTROL 1/13/2023 1 hyder.bux@muet.edu.pk
  • 2.
    Error Correction &Detection  A major design criterion for all telecommunication system is to achieve error free transmission.  Error, unfortunately do occur  Two basic techniques employed  One is to detect the error and request for re-transmission of the corrupted message  Second is to correct the error at the receiving end without having to re-transmit the message.  Redundancy decreases system 1/13/2023 hyder.bux@muet.edu.pk 2
  • 3.
    Parity  Parity isthe simplest & oldest method of error detection.  It is not very effective in data transmission.  A single bit called parity bit is added to a group of bits representing a letter, number or symbol.  The parity bit is computed by the transmitting device based on the number of 1 bit set in the character.  Parity can be either odd or even. 1/13/2023 hyder.bux@muet.edu.pk 3
  • 4.
    ODD-EVEN Parity  Ifthe odd parity is selected, the parity is set to a 1 or 0 to make the total number of 1 bits in character including parity bit itself equal to an odd value.  If the even parity is selected, the parity is set to a 1 or 0 to make the total number of 1 bits in character including parity bit itself equal to an even value. 1/13/2023 hyder.bux@muet.edu.pk 4
  • 5.
    ODD-EVEN Parity  Theselection of even or odd parity is generally arbitrary.  The transmitting or receiving stations, however, must be set to same mode. 1/13/2023 hyder.bux@muet.edu.pk 5
  • 6.
    Problem  Check theeven parity code for a “H” in ASCII code. When two bits are corrupted (6th and 7th ). 1/13/2023 hyder.bux@muet.edu.pk 6
  • 7.
    ODD-EVEN Parity  Parityis primarily used for detecting errors in a serial data character.  Vertical Redundancy checking(VRC) is used to correct single bit error in received data stream.  Longitudinal redundancy checking(LRC) character is transmitted with message signal to determine error position with respect to VRC. 1/13/2023 hyder.bux@muet.edu.pk 7
  • 8.
    VRC-LRC  VRC-LRC isused to create a crossmatrix type of configuration where the VRC bit denotes the row(character) and the LRC column(bit position) of message’s error bit. 1/13/2023 hyder.bux@muet.edu.pk 8
  • 9.
    9 Parity Examples -Using Even Parity Parity 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 Data VRC 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0 LRC Data Even Parity of 1’s LRC/VRC
  • 10.
    Problem  Determine thestates of the LRC bits for the asynchronous ASCII message “Help!” using even VRC parity. 1/13/2023 hyder.bux@muet.edu.pk 10
  • 11.
  • 12.
    Cyclic Redundancy checking A power full method than the LRC and VRC for detection in block is cyclic redundancy checking CRC.  CRC is most commonly used for error detection in block transmission.  Efficiency of error detection is 99.9%.  CRC involves a division of the transmitted message block by a constant called the generator polynomial. 1/13/2023 hyder.bux@muet.edu.pk 12
  • 13.
    CRC  The quotientis discarded and the remainder is transmitted as BCC.  The receiving station performs same computation on received message block.  The computed remainder, or BCC is compared to the remainder received from the transmitter.  If the two(received and transmitted) match means no error otherwise there 1/13/2023 hyder.bux@muet.edu.pk 13
  • 14.
    CRC  If thetwo do not match, either a request a send for retransmission or errors are corrected through the use of special coding techniques.  Cyclic codes contain a specific number bits, governed by the size of character within message block.  Three of the mostly commonly used cylic code are CRC-12, CRC-16 and CRC-CCITT. 1/13/2023 hyder.bux@muet.edu.pk 14
  • 15.
    CRC  Blocks containingcharacters that are 6-bit in length typically use CRC-12.  Blocks formatted with 8-bit characters typically use CRC-16 or CRC-CCITT CRC-12 generator polynomial G(x)= X12+X11+X3+X2+X+1 CRC-16 generator polynomial G(x)= X16+X15+X2+1 CRC-CCITT generator polynomial G(x)= X16+X12+X5+1 1/13/2023 hyder.bux@muet.edu.pk 15
  • 16.
  • 17.
    Computing the BCCof the message block using CRC Generator polynomial Quotient discarded  Constant Message block  Constant  Next character  Constant  Next character  Constant  Remainder BCC 1/13/2023 hyder.bux@muet.edu.pk 17
  • 18.
    Computing the Blockcheck character  The generating polynomial G(x) and message polynomial M(x) used for computing the BCC include degree terms that represent position in a group of bits that are binary 1 and missing terms are represented by a 0.  The highest degree in the polynomial is one less than the number in the binary code. 1/13/2023 hyder.bux@muet.edu.pk 18
  • 19.
    Steps  If welet n equal to the total number of bits in a transmitted block and k equal the number of data bits, then n-k equals the number of bits in BCC.  Message block M(x) is multiplied by Xn-k to achieve correct number bits of BCC.  Resulting product is then divided by the generator polynomial G(X)  The quotient is discarded and the remainder B(x) or BCC is transmitted at the end of the message block 1/13/2023 hyder.bux@muet.edu.pk 19
  • 20.
    Steps  The entiretransmitted message block can be represented by CRC T(x)= Xn-k[M(x)]+B(x) 1/13/2023 hyder.bux@muet.edu.pk 20
  • 21.
    Problem  The transmittedmessage block contains total number of 14. Nine of the 14 are data bits. And generator polynomial, G(x)=X5+X2+X+1and message polynomial, M(x)=X8+X6+X3+X2+1. Compute the value of BCC and T(x) 1/13/2023 hyder.bux@muet.edu.pk 21
  • 22.
    Problem.  a 16-bitmessage using CRC-16 is used. The total number of bits in transmitted message block, n is 32. the generator polynomial for CRC-16 is G(x)= X16+X15+X2+1 and message polynomial is M(x)=X15+X13+X11+X10+X7+X5+X4+1. Compute the value BCC and T(x). 1/13/2023 hyder.bux@muet.edu.pk 22
  • 23.
    CHECKSUM  Error detectionthrough the use of checksum.  Checksum is a basically summation quantity  Like CRC and LRC, the checksum serves as BCC.  Checksum is transmitted at end of message block. Commonly used in large file transfer between mass device. 1/13/2023 hyder.bux@muet.edu.pk 23
  • 24.
    Types of checksum Single precision  Double precision  Honey Well  Residue 1/13/2023 hyder.bux@muet.edu.pk 24
  • 25.
    Single Precision Checksum Performing a binary addition of each n-bit data word in the message block.  Any carry or overflow during the addition process is ignored  The resultant checksum is also n-bit length. 1/13/2023 hyder.bux@muet.edu.pk 25
  • 26.
  • 27.
    Double Precision Checksum Extend the computed checksum to 2n bits in length. 1/13/2023 hyder.bux@muet.edu.pk 27
  • 28.
    Honey Well Checksum An alternative form of the double precision checksum.  Its length is also 2n  Honey well checksum is based on interleaving consecutive data words to form double precision checksum  The advantage of the honey well is that SAI and stuck at o bit errors occurring is the same bit positions of all word can be detected during the error detection process. 1/13/2023 hyder.bux@muet.edu.pk 28
  • 29.
  • 30.
    Residue Checksum  Carryoutof the MSB position of the checksum word is “wrapped around” and added to the LSB. 1/13/2023 hyder.bux@muet.edu.pk 30
  • 31.
  • 32.
    Error Correction  AutomaticRepeat reQuest ARQ is to request the retransmission of the data block received in error  Forward Error Correction  FEC is used in simplex transmission or applications where it is impractical or impossible to request a retransmission of the corrupted message block. 1/13/2023 hyder.bux@muet.edu.pk 32
  • 33.
    HAMMING CODE  Hammingcode employs the use of redundant bits that are inserted into the message stream for error correction.  Hamming bits are used to identify the position of error. This position known as the syndrome 1/13/2023 hyder.bux@muet.edu.pk 33
  • 34.
    Developing of Hammingcode  Hamming code for single-bit FEC  10 bits will be used. The hamming bits depends on the number of data bits. 2m ≥ n+1 Where n is number data bits + hamming bits and m is number of hamming bits.  Hamming bits can be placed anywhere in the transmitted message. 1/13/2023 hyder.bux@muet.edu.pk 34
  • 35.
     Compute thenumber of the Hamming bits m required for a message of n bits.  Insert the Hamming bits H into orginal message stream.  Express each bit position containing a 1 as the m-bit binary number and exclusive-OR each of the these numbers together. starting from the left bit positions. This will be the hamming code.  Place the value of the hamming bits 1/13/2023 hyder.bux@muet.edu.pk 35
  • 36.
     The Hammingbits are extracted from the received message stream and exclusive-ORed with the binary representation of the bit positions containing a 1. this will detect the bit position in error, or the syndrome. 1/13/2023 hyder.bux@muet.edu.pk 36
  • 37.
    Problem  Given the12 bit message 101110101011, determine the following: a. Number a Hamming bits, m required b. Total number of the transmitted bits, n c. Hamming code d. Syndrome if the bit position 10 is corrupted. 1/13/2023 hyder.bux@muet.edu.pk 37