Digital Data Communication Techniques
Digital Data Communication Techniques
Digital Data Communication Techniques
TECHNIQUES
Lecture 6
1
Transmission Error
• What is transmission error ?
• Why Transmission error occurs ?
• How to tackle transmission errors ?
—In order for the receiver to sample the incoming bits
properly, it must know the arrival time and duration
of each bit that it receives.
2
Synchronization
• The operation or activity of two or more things at the
same time or rate
• Adjustment of a clock or watch to show the same time
as another
• The action of causing a set of data or files to remain
identical in more than one location
• The receiver must know the rate at which bits are being
received
3
Example
• Suppose that the sender simply transmits a stream of
data bits. The sender has a clock that governs the
timing of the transmitted bits. For example, if data
are to be transmitted at one million bits per second
(1 Mbps), then one bit will be transmitted every 1/106
= 1 microsecond as measured by the sender’s clock.
• Sampling would occur once every 1 microsecond If
the receiver times its samples based on its own clock,
then there will be a problem if the transmitter’s and
receiver’s clocks are not precisely aligned
4
Asynchronous Transmission
• Each character of data is treated independently.
• Each character begins with a start bit that alerts
the receiver that a character is arriving.
• The receiver samples each bit in the character
and then looks for the beginning of the next
character.
• This technique would not work well for long
blocks of data because the receiver’s clock
might eventually drift out of synchronization
with the transmitter’s clock
5
6
Asynchronous Transmission
• simple
• cheap
• good for data with large gaps (keyboard)
7
Synchronous Transmission
• Block of data transmitted sent as a frame
• Clocks must be synchronized
—can use separate clock line
—or embed clock signal in data
• Need to indicate start and end of block
—use preamble and postamble
• someone is about to transmit data, e.g header, introduction
• termination of data transmission, Conclusion
8
Example
• One of the more common schemes, HDLC (high
level data link control), contains 48 bits of
control, preamble, and postamble. Thus, for a
1000-character block of data, each frame
consists of 48 bits of overhead and 1000 x 8
=8000 bits of data, for a percentage overhead
of only
48/8048 * 100% = 0.6%.
9
Types of Errors
• Types Of Errors
—Single Bit Error Burst Error
• Single Bit Error:
—One bit value is changed
—0 is received as 1 OR 1 is received as 0
• Burst Error:
— Multiple bits of a binary value are changed
— Common and more difficult to deal
10
• Transmitted Bits
—0101010101010101010101010101
• Received Bits
—0100011000010111010101010101
• bit error
• burst error
11
Error Detection
• For a give frame of bits
— Additional bits are added for error detection
k = No of bits in the data block
n = No of bits transmitted
( n – k ) is the no of bits used for error detection
• General Rule:
—(n – k) < k
• Three most common techniques for error detection
— Vertical Redundancy Check (VRC) or Parity Check
— Longitudinal Redundancy Check (LRC)
— Cyclic Redundancy Check (CRC)
12
Vertical Redundancy Check or
Parity Check
• A parity bit is added
• Two flavors:
— Even Parity: Total number of 1s including parity bit
is even
• Data: 10101 Transmitted: 101011
• Data: 10100 Transmitted: 101000
— Odd Parity: Total number of 1s including parity bit is
odd
• Data: 10101 Transmitted: 101010
• Data: 10100 Transmitted: 101001
13
Longitudinal Redundancy
Check
• A block of data is organized in the form of list
• Example:
—Data:11100100 11011101 00111001 00101001
—Arranged in the form of list
• 11100100
• 11011101
• 00111001
• 00101001
—Parity bit is calculated for every column
• 00101001
—These become the parity bits for the whole block and
transmitted with the data
11100100 11011101 00111001 00101001 00101001
14
Cyclic Redundancy Check
• Most common, most powerful error detecting
code
• It is based on binary division
• For a data block of k bits n number of bits are
transmitted
—Transmitter generates an (n-k) bits sequence called
Frame Check Sequence (FCS)
15
• D: k bits block of data
• T: n bits frame to be transmitted
• F: (n – k) bits FCS
• P: (n – k + 1) bits predetermined divisor
• Example:
—D: 1100101101 (10 bits data )
—P: 101101 (6 bits predetermined divisor)
—F: (10 – 6 + 1 = 5) bit sequence to be determined
16
CRC (contd.)
• CRC Generator
— CRC generator is an algebraic polynomial represented as a bit pattern
— Bit pattern is obtained from the CRC generator using the following rule-
“The power of each term gives the position of the bit
and the coefficient gives the value of the bit.”
Example
Consider the CRC generator is x7 + x6 + x4 + x3 + x + 1.
The corresponding binary pattern is obtained as-
18
Steps Involved- (CRC)
• Step-01:
— Calculation Of CRC At Sender Side
—At sender side
• A string of n 0’s is appended to the data unit to be transmitted.
• Here, n is one less than the number of bits in CRC generator.
• Binary division is performed of the resultant string with the CRC
generator.
• After division, the remainder so obtained is called as CRC.
• Step-02:
— Appending CRC To Data Unit-
—At sender side
• The CRC is obtained after the binary division.
• The string of n 0’s appended to the data unit earlier is replaced by the
CRC remainder.
19
• Step-03:
—Transmission To Receiver-
• The newly formed code word (Original data + CRC) is
transmitted to the receiver
• Step-04:
—Checking at Receiver Side-
• At receiver side,
• The transmitted code word is received.
• The received code word is divided with the same CRC
generator.
• On division, the remainder so obtained is checked.
20
• Case-01: Remainder = 0
—Receiver assumes that no error occurred in the data
during the transmission.
—Receiver accepts the data.
• Case-02: Remainder ≠ 0
—Receiver assumes that some error occurred in the
data during the transmission.
—Receiver rejects the data and asks the sender for
retransmission.
21
PRACTICE PROBLEMS BASED
ON (CRC)
• Problem-01:
—A bit stream 1101011011 is transmitted using the
standard CRC method. The generator polynomial is
x4+x+1. What is the actual bit string transmitted?
• Solution-
—The generator polynomial G(x) = x4 + x + 1 is encoded
as 10011.
—Clearly, the generator polynomial consists of 5 bits.
—So, a string of 4 zeroes is appended to the bit stream to
be transmitted.
—The resulting bit stream is 11010110110000
—After that, the binary division is performed as-
22
23
• From here, CRC = 1110
—The code word to be transmitted is obtained by
replacing the last 4 zeroes of 11010110110000 with
the CRC.
—Thus, the code word transmitted to the receiver
= 11010110111110.
24
• Problem-02:
—A bit stream 10011101 is transmitted using the standard
CRC method. The generator polynomial is x3+1
• What is the actual bit string transmitted?
• Suppose the third bit from the left is inverted during transmission.
How will receiver detect this error?
• Solution
• Part-01:
• The generator polynomial G(x) = x3 + 1 is encoded as 1001.
• Clearly, the generator polynomial consists of 4 bits.
• So, a string of 3 zeroes is appended to the bit stream to be
transmitted.
• The resulting bit stream is 10011101000.
25
• Now, the binary division is performed as-
26
• From here, CRC = 100.
• The code word to be transmitted is obtained by
replacing the last 3 zeroes of 10011101000 with
the CRC.
• Thus, the code word transmitted to the receiver
= 10011101100.
27
• Part-02:
• According to the question,
—Third bit from the left gets inverted during
transmission.
—So, the bit stream received by the receiver =
10111101100.
• At Receiver side
—Receiver receives the bit stream = 10111101100.
—Receiver performs the binary division with the same
generator polynomial as-
28
29
• The remainder obtained on division is a non-
zero value.
• This indicates to the receiver that an error
occurred in the data during the transmission.
• Therefore, receiver rejects the data and asks
the sender for retransmission.
30
Error Correction
• Error detection is great, but it requires
retransmission of the data
—Remember bandwidth is expensive
• Retransmission is specially expensive
—Wireless link
—High error rate
• Lots of retransmission
Can we encode the data so that the receiver
can correct the errors introduced in the
transmission system?
31
Answer: Yes, to some extent
32