You are on page 1of 4

ERROR HANDLING

General Classifications of Data Communications Error


Single-bit errors are when only one bit within a given data string is in error. Single-bit errors affect only one
character within a message.
A multiple-bit error is when two or more nonconsecutive bits within a given data string are in error. Multiple-bit
errors can affect one or more characters within a message.
Burst error is when two or more consecutive bits within a given data string are in error. Burst errors can affect one
or more characters within a message.

Error performance is the rate in which errors occur, which can be described as either an expected or an empirical
value.
The theoretical (mathematical) expectation of the rate at which errors will occur is called probability of error
(P[e]), whereas the actual historical record of a system’s error performance is called bit error rate (BER).BER is
measured and then compared with the probability of error to evaluate system performance.

General Categories of Error Control


Error Detection
Error Correction

Error detection is the process of monitoring data transmission and determining when errors have occurred. Error-
detection techniques neither correct errors nor identify which bits are in error—they indicate only when an error
has occurred. The purpose of error detection is not to prevent errors from occurring but to prevent undetected
errors from occurring. The most common error-detection techniques are redundancy checking, which includes
vertical redundancy checking, checksum, longitudinal redundancy checking, and cyclic redundancy checking.

Redundancy Checking
Duplicating each data unit for the purpose of detecting errors is a form of error detection called redundancy.
Redundancy is an effective but rather costly means of detecting errors, especially with long messages. It is much
more efficient to add bits to data units that check for transmission errors. Adding bits for the sole purpose of
detecting errors is called redundancy checking.

Four Basic Types of Redundancy Checks


Vertical Redundancy Checking
Checksums
Longitudinal Redundancy Checking
Cyclic Redundancy Checking

Vertical redundancy checking (VRC) is probably the simplest error-detection scheme and is generally referred to as
character parity or simply parity. With character parity, each character has its own error-detection bit called the
parity bit. Since the parity bit is not actually part of the character, it is considered a redundant bit. An n-character
message would have n redundant parity bits. Therefore, the number of error-detection bits is directly
proportional to the length of the message.
Odd Parity
Even Parity
Marking Parity
Ignored Parity
No Parity
Example.Determine the odd and even parity bits for the ASCII character R. (52 in Hex)
Binary P1010010
Odd Parity
Even Parity
Checksum

Checksum is another relatively simple form of redundancy error checking where each character has a numerical
value assigned to it. The characters within a message are combined together to produce an error-checking
character (checksum), which can be as simple as the arithmetic sum of the numerical values of all the characters in
the message. The checksum is appended to the end of the message. The receiver replicates the combining
operation and determines its own checksum. The receiver's checksum is compared to the checksum appended to
the message, and if they are the same, it is assumed that no transmission errors have occurred.

Example. 10011001 11100010 100100 10000100

Longitudinal redundancy checking.

Longitudinal redundancy checking (LRC) is a redundancy error detection scheme that uses parity to determine if a
transmission error has occurred within a message and is therefore sometimes called message parity.

Example. Determine the VRCs and LRC for the following ASCII-encoded message: THE CAT. Use odd parity for
the VRCs and even parity for the LRC.

The group of characters that comprise a message (i.e., THE CAT) is often called a block or frame of
data. Therefore, the bit sequence for the LRC is often called a block check sequence (BCS) or frame
check sequence (FCS).
Cyclic Redundancy Checking
Probably the most reliable redundancy checking technique for error detection is a convolutional coding
scheme called cyclic redundancy checking (CRC).
Example:

ERROR CORRECTION
Basic Types of Error Messages
A lost message is one that never arrives at the destination or one that arrives but is damaged to the extent that it
is unrecognizable.

A damaged message is one that is recognized at the destination but contains one or more transmission errors.

Basic Strategies for Handling Transmission Errors


Error-detecting codes include enough redundant information with each transmitted message to enable the
receiver to determine when an error has occurred. Parity bits, block and frame check characters, and cyclic
redundancy characters are examples of error-detecting codes.
Error-correcting codes include sufficient extraneous information along with each message to enable the receiver to
determine when an error has occurred and which bit is in error.

Primary Methods Used for Error Correction


Retransmission
Forward Error Correction

Retransmission
Retransmission, as the name implies, is when a receive station requests the transmit station to resend a message (or
a portion of a message) when the message is received in error. . Because the receive terminal automatically calls
for a retransmission of the entire message, retransmission is often called ARQ, which is an old two-way radio term
that means automatic repeat request or automatic retransmission request.
Basic Types of ARQ
Discrete
Continuous
Discrete ARQ uses acknowledgments to indicate the successful or unsuccessful reception of data.
Acknowledgments are when the recipient of data sends a short message back to the sender acknowledging
receipt of the last transmission.
Basic Types of Acknowledgments
Positive Acknowledgment
Negative Acknowledgment

If the sending station does not receive an acknowledgment after a predetermined length of time (called a time-
out), it retransmits the message. This is called retransmission after time-out.

Continuous ARQ can be used when messages are divided into smaller blocks or frames that are sequentially
numbered and transmitted in succession, without waiting for acknowledgments between blocks. This technique is
sometimes called selective repeat, as it can be used to call for a retransmission of an entire message or only a
portion of a message.

Forward Error Correction


Forward error correction (FEC) is the only error-correction scheme that actually detects and corrects transmission
errors when they are received without requiring a retransmission. Probably the most popular error-correction
code is the Hamming code.
Hamming code

A mathematician named Richard W. Hamming, who was an early pioneer in the development of error-detection
and -correction procedures, developed the Hamming code while working at Bell Telephone Laboratories.
The Hamming code is an error-correcting code used for correcting transmission errors in synchronous data
streams.

Example. For a 12-bit data string of 101100010010, determine the number of Hamming bits required, arbitrarily
place the Hamming bits into the data string, determine the logic condition of each Hamming bit, assume an
arbitrary single-bit transmission error, and prove that the Hamming code will successfully detect the error.

You might also like