1. 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
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 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
4. 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
5. 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
6. 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
7. 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
8. 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
10. 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
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 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
14. 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
15. 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
17. 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
18. 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
19. 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
20. 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
21. 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
22. 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
23. 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
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
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
32. 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
33. 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
34. 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
35. 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
36. 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
37. 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