Detection and Correction

download Detection and Correction

of 70

Transcript of Detection and Correction

  • 8/6/2019 Detection and Correction

    1/70

    Data Communications &

    Networking

    ERROR DETECTION ANDERROR DETECTION AND

    CORRECTIONCORRECTION

    Chapter 8Chapter 8

    First Semester 2007/2008

  • 8/6/2019 Detection and Correction

    2/70

    ERROR DETECTION ANDERROR DETECTION ANDCORRECTIONCORRECTION

    Types of Errors

    Detection

    Correction

  • 8/6/2019 Detection and Correction

    3/70

    Data can be corrupted during transmission.

    For reliable communication, errors must be

    detected and corrected.

    Note:Note:

  • 8/6/2019 Detection and Correction

    4/70

    Types of Error

    Single-Bit Error

    Burst Error

  • 8/6/2019 Detection and Correction

    5/70

    Data Communications &

    Networking

    ERROR DETECTION ANDERROR DETECTION AND

    CORRECTIONCORRECTION

    Chapter 8Chapter 8

    First Semester 2007/2008

  • 8/6/2019 Detection and Correction

    6/70

    ERROR DETECTION ANDERROR DETECTION AND

    CORRECTIONCORRECTION

    Types of Errors

    Detection

    Correction

  • 8/6/2019 Detection and Correction

    7/70

    Data can be corrupted during transmission.

    For reliable communication, errors must be

    detected and corrected.

    Note:Note:

  • 8/6/2019 Detection and Correction

    8/70

    Types of Error

    Single-Bit Error

    Burst Error

  • 8/6/2019 Detection and Correction

    9/70

    In a single-bit error, only one bit in the

    data unit has changed.

    Note:Note:

    Single-Bit Error

  • 8/6/2019 Detection and Correction

    10/70

    A burst error means that 2 or more bits

    in the data unit have changed.

    Note:Note:

    Burst Error

  • 8/6/2019 Detection and Correction

    11/70

    Error Detection

    Redundancy

    Parity Check

    Cyclic Redundancy Check (CRC)

    Checksum

  • 8/6/2019 Detection and Correction

    12/70

    Error detection uses the concept of

    redundancy, which means adding extrabits for detecting errors at the

    destination.

    Note:Note:

  • 8/6/2019 Detection and Correction

    13/70

    Redundancy

  • 8/6/2019 Detection and Correction

    14/70

    ErrorDetection methods

  • 8/6/2019 Detection and Correction

    15/70

    Even-parity concept

  • 8/6/2019 Detection and Correction

    16/70

    VERTICAL REDUNDANCY CHECK (VRC)

  • 8/6/2019 Detection and Correction

    17/70

    In parity check, a parity bit is added to

    every data unit so that the total numberof 1s is even

    (or odd for odd-parity).

    Note:Note:

  • 8/6/2019 Detection and Correction

    18/70

    Example 1Example 1

    Suppose the sender wants to send the word world. In

    ASCII the five characters are coded as

    1110111 1101111 1110010 1101100 1100100

    The following shows the actual bits sent11101110 11011110 11100100 11011000 11001001

  • 8/6/2019 Detection and Correction

    19/70

    Example 2Example 2

    Now suppose the word world in Example 1 is received by

    the receiver without being corrupted in transmission.

    11101110 11011110 11100100 11011000

    11001001

    The receiver counts the 1s in each character and comes up

    with even numbers (6, 6, 4, 4, 3). The data are accepted.

  • 8/6/2019 Detection and Correction

    20/70

    Example 3Example 3

    Now suppose the word world in Example 1 is corrupted

    during transmission.

    11111110 11011110 11101100 11011000

    11001001

    The receiver counts the 1s in each character and comes up

    with even and odd numbers (7, 6, 5, 4, 4). The receiver

    knows that the data are corrupted, discards them, and asks

    for retransmission.

  • 8/6/2019 Detection and Correction

    21/70

    Simple parity check can detect allSimple parity check can detect all

    single-bit errors. It can detect burstsingle-bit errors. It can detect bursterrors only if the total number of errorserrors only if the total number of errors

    in each data unit is odd.in each data unit is odd.

    Note:Note:

  • 8/6/2019 Detection and Correction

    22/70

    LONGITUDINAL REDUNDANCY CHECK

    LRC

    LRC 10101010

    Data plus LRC

    11100111 11011101 00111001 10101001

    10101001

    00111001

    11011101

    11100111

    11100111 11011101 00111001 10101001 10101010

  • 8/6/2019 Detection and Correction

    23/70

    Two-dimensional parity

  • 8/6/2019 Detection and Correction

    24/70

    Figure 10.11 Two-dimensional parity-check code

  • 8/6/2019 Detection and Correction

    25/70

    CRC generator and checker

  • 8/6/2019 Detection and Correction

    26/70

    Data unit and checksum

    SenderSenderReceiverReceiver

  • 8/6/2019 Detection and Correction

    27/70

    The sender follows these steps:

    The unit is divided into k sections, each of n bits.

    All sections are added using ones complement to get the

    sum.

    The sum is complemented and becomes the checksum.

    The checksum is sent with the data.

    Note:Note:

  • 8/6/2019 Detection and Correction

    28/70

    The receiver follows these steps:

    The unit is divided into k sections, each of n bits.

    All sections are added using ones complement to

    get the sum.

    The sum is complemented.

    If the result is zero, the data are accepted: otherwise,

    rejected.

    Note:Note:

  • 8/6/2019 Detection and Correction

    29/70

    Example 4Example 4

    Suppose the following block of 16 bits is to be sent using a

    checksum of 8 bits.

    10101001 00111001

    The numbers are added using ones complement

    10101001

    00111001

    ------------

    Sum 11100010

    Checksum 00011101

    The pattern sent is 10101001 00111001 00011101

  • 8/6/2019 Detection and Correction

    30/70

    Example 5Example 5

    Now suppose the receiver receives the pattern sent in Example 7

    and there is no error.

    10101001 00111001 00011101

    When the receiver adds the three sections, it will get all 1s, which,

    after complementing, is all 0s and shows that there is no error.

    10101001

    00111001

    00011101

    Sum 11111111

    Complement 00000000 means that the pattern is OK.

  • 8/6/2019 Detection and Correction

    31/70

    Example 6Example 6

    Now suppose there is a burst error of length 5 that affects 4 bits.

    10101111 11111001 00011101

    When the receiver adds the three sections, it gets

    10101111

    11111001

    00011101

    Partial Sum 1 11000101

    Carry 1

    Sum 11000110

    Complement 00111001 the pattern is corrupted.

  • 8/6/2019 Detection and Correction

    32/70

    Correction

    Retransmission

    Forward Error Correction

    Burst Error Correction

  • 8/6/2019 Detection and Correction

    33/70

    Hamming Code

  • 8/6/2019 Detection and Correction

    34/70

    Data and redundancy bitsData and redundancy bits

    Number ofdata bits

    m

    Number ofredundancy bits

    r

    Totalbits

    m + r

    11 2 3

    22 3 5

    33 3 6

    44 3 7

    55 4 9

    66 4 10

    77 4 11

    12 ++ rmr

    P iti f d d bit i H i d

  • 8/6/2019 Detection and Correction

    35/70

    Positions of redundancy bits in Hamming code

    0123

    2,2,2,2

    Redundancy bits calculation

  • 8/6/2019 Detection and Correction

    36/70

    Redundancy bits calculation

    Example of redundancy bit calculation

  • 8/6/2019 Detection and Correction

    37/70

    Example of redundancy bit calculation

    Error detection using Hamming code

  • 8/6/2019 Detection and Correction

    38/70

    Error detection using Hamming code

    Burst error correction example

  • 8/6/2019 Detection and Correction

    39/70

    Burst error correction example

  • 8/6/2019 Detection and Correction

    40/70

    In a single-bit error, only one bit in the

    data unit has changed.

    Note:Note:

    Single-Bit Error

  • 8/6/2019 Detection and Correction

    41/70

    A burst error means that 2 or more bits

    in the data unit have changed.

    Note:Note:

    Burst Error

  • 8/6/2019 Detection and Correction

    42/70

    Error Detection

    Redundancy

    Parity Check

    Cyclic Redundancy Check (CRC)

    Checksum

  • 8/6/2019 Detection and Correction

    43/70

    Error detection uses the concept of

    redundancy, which means adding extrabits for detecting errors at the

    destination.

    Note:Note:

    Redundancy

  • 8/6/2019 Detection and Correction

    44/70

    Redundancy

    Error Detection methods

  • 8/6/2019 Detection and Correction

    45/70

    ErrorDetection methods

    Even parity concept

  • 8/6/2019 Detection and Correction

    46/70

    Even-parity concept

    VERTICAL REDUNDANCY CHECK (VRC)

  • 8/6/2019 Detection and Correction

    47/70

    VERTICAL REDUNDANCY CHECK (VRC)

  • 8/6/2019 Detection and Correction

    48/70

    In parity check, a parity bit is added to

    every data unit so that the total numberof 1s is even

    (or odd for odd-parity).

    Note:Note:

  • 8/6/2019 Detection and Correction

    49/70

    Example 1Example 1

    Suppose the sender wants to send the word world. In

    ASCII the five characters are coded as

    1110111 1101111 1110010 1101100 1100100

    The following shows the actual bits sent

    11101110 11011110 11100100 11011000 11001001

  • 8/6/2019 Detection and Correction

    50/70

    Example 2Example 2

    Now suppose the word world in Example 1 is received by

    the receiver without being corrupted in transmission.

    11101110 11011110 11100100 11011000

    11001001

    The receiver counts the 1s in each character and comes up

    with even numbers (6, 6, 4, 4, 3). The data are accepted.

  • 8/6/2019 Detection and Correction

    51/70

    Example 3Example 3

    Now suppose the word world in Example 1 is corrupted

    during transmission.

    11111110 11011110 11101100 11011000

    11001001

    The receiver counts the 1s in each character and comes up

    with even and odd numbers (7, 6, 5, 4, 4). The receiver

    knows that the data are corrupted, discards them, and asks

    for retransmission.

  • 8/6/2019 Detection and Correction

    52/70

    LONGITUDINAL REDUNDANCY CHECK

  • 8/6/2019 Detection and Correction

    53/70

    LONGITUDINAL REDUNDANCY CHECK

    LRC

    LRC 10101010

    Data plus LRC

    11100111 11011101 00111001 10101001

    10101001

    00111001

    11011101

    11100111

    11100111 11011101 00111001 10101001 10101010

    Two-dimensional parity

  • 8/6/2019 Detection and Correction

    54/70

    Two dimensional parity

    Figure 10.11 Two-dimensional parity-check code

  • 8/6/2019 Detection and Correction

    55/70

    gu e 0. wo d e s o p y c ec code

    CRC generator and checker

  • 8/6/2019 Detection and Correction

    56/70

    g

    Data unit and checksum

  • 8/6/2019 Detection and Correction

    57/70

    SenderSenderReceiverReceiver

  • 8/6/2019 Detection and Correction

    58/70

    The sender follows these steps:

    The unit is divided into k sections, each of n bits.

    All sections are added using ones complement to get the

    sum.

    The sum is complemented and becomes the checksum.

    The checksum is sent with the data.

    Note:Note:

  • 8/6/2019 Detection and Correction

    59/70

    The receiver follows these steps:

    The unit is divided into k sections, each of n bits.

    All sections are added using ones complement to

    get the sum.

    The sum is complemented.

    If the result is zero, the data are accepted: otherwise,

    rejected.

    Note:Note:

    E l 4E l 4

  • 8/6/2019 Detection and Correction

    60/70

    Example 4Example 4

    Suppose the following block of 16 bits is to be sent using a

    checksum of 8 bits.

    10101001 00111001

    The numbers are added using ones complement

    10101001

    00111001

    ------------

    Sum 11100010

    Checksum 00011101

    The pattern sent is 10101001 00111001 00011101

    E l 5E l 5

  • 8/6/2019 Detection and Correction

    61/70

    Example 5Example 5

    Now suppose the receiver receives the pattern sent in Example 7

    and there is no error.

    10101001 00111001 00011101

    When the receiver adds the three sections, it will get all 1s, which,

    after complementing, is all 0s and shows that there is no error.10101001

    00111001

    00011101

    Sum 11111111

    Complement 00000000 means that the pattern is OK.

    E l 6E l 6

  • 8/6/2019 Detection and Correction

    62/70

    Example 6Example 6

    Now suppose there is a burst error of length 5 that affects 4 bits.

    10101111 11111001 00011101

    When the receiver adds the three sections, it gets

    10101111

    11111001

    00011101

    Partial Sum 1 11000101

    Carry 1

    Sum 11000110

    Complement 00111001 the pattern is corrupted.

    C i

  • 8/6/2019 Detection and Correction

    63/70

    Correction

    Retransmission

    Forward Error Correction

    Burst Error Correction

  • 8/6/2019 Detection and Correction

    64/70

    Hamming Code

    Data and redundancy bitsData and redundancy bits

  • 8/6/2019 Detection and Correction

    65/70

    Data and redundancy bitsData and redundancy bits

    Number ofdata bits

    m

    Number ofredundancy bits

    r

    Totalbits

    m + r

    11 2 3

    22 3 5

    33 3 6

    44 3 7

    55 4 9

    66 4 10

    77 4 11

    12 ++ rmr

    Positions of redundancy bits in Hamming code

  • 8/6/2019 Detection and Correction

    66/70

    0123

    2,2,2,2

    Redundancy bits calculation

  • 8/6/2019 Detection and Correction

    67/70

    Example of redundancy bit calculation

  • 8/6/2019 Detection and Correction

    68/70

    Error detection using Hamming code

  • 8/6/2019 Detection and Correction

    69/70

    Burst error correction example

  • 8/6/2019 Detection and Correction

    70/70