0% found this document useful (0 votes)
37 views26 pages

Een07 Finals2

The document discusses error detection and correction techniques in electronic communications, highlighting methods such as redundancy checking, vertical redundancy checking (VRC), checksum, longitudinal redundancy checking (LRC), and cyclic redundancy checking (CRC). It also covers error correction methods, including retransmission (ARQ) and forward error correction (FEC), with a focus on the Hamming code for correcting single-bit errors. The document emphasizes the importance of these techniques in ensuring data integrity during transmission.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views26 pages

Een07 Finals2

The document discusses error detection and correction techniques in electronic communications, highlighting methods such as redundancy checking, vertical redundancy checking (VRC), checksum, longitudinal redundancy checking (LRC), and cyclic redundancy checking (CRC). It also covers error correction methods, including retransmission (ARQ) and forward error correction (FEC), with a focus on the Hamming code for correcting single-bit errors. The document emphasizes the importance of these techniques in ensuring data integrity during transmission.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

EEN07 FUNDAMENTALS OF

ELECTRONIC COMMUNICATIONS
BSEE III

ENGR. JOEL ANTHONY L. SEVILLA


JANUARY 2025
ERROR DETECTION AND 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
Adding bits for the sole purpose of
detecting errors.
Duplicating each data unit for the
purpose of detecting errors is a form of error
detection.
It is an effective but rather costly means
of detecting errors, especially with long
messages.
Redundancy Checking
Redundancy involves transmitting each
character twice. If the same character is not
received twice in succession, a transmission
error has occurred.
Vertical Redundancy Checking (VRC)
It is the simplest error-detection scheme
and is generally referred to as character
parity or 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.
Vertical Redundancy Checking (VRC)
The number of error-detection bits is
directly proportional to the length of the
message.
With character parity, a single parity bit
is added to each character to force the total
number of logic 1s in the character, including
the parity bit, to be either an odd number
(odd parity) or an even number (even parity).
ASCII-77: Odd Parity
Checksum
Is another 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 the
arithmetic sum of the numerical values of all
the characters in the message.
Checksum
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. If the two checksums are different,
a transmission error has definitely occurred.
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.
With LRC, each bit position has a parity bit. In
other words, b0 from each character in the
message is XORed with b0 from all the other
Longitudinal Redundancy Checking (LRC)
characters in the message. Similarly, b1, b2,
and so on are XORed with their respective
bits from all the characters in the message.
Essentially, LRC is the result of XORing the
“character codes” that make up the message,
whereas VRC is the XORing of the bits within
a single character. With LRC, even parity is
generally used, whereas with VRC, odd parity
is generally used.
Cyclic Redundancy Checking (CRC)
Most reliable redundancy checking
technique for error detection. With CRC,
approximately 99.999% of all transmission
errors are detected.
In the United States, the most common
CRC code is CRC-16. 16 bits are used for the
block check sequence.
Cyclic Redundancy Checking (CRC)
With CRC, the entire data stream is
treated as a long continuous binary number.
Because the BCS is separate from the
message but transported within the same
transmission, CRC is considered a systematic
code.
ERROR CORRECTION
Two primary methods used for error
correction:
Retransmission
Forward Error Correction
Retransmission
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
Retransmission is often called ARQ,
which is two-way radio term that means
automatic repeat request or automatic
retransmission request. ARQ is probably the
most reliable method of error correction,
although it is not necessarily the most
efficient.
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. Redundant bits
are added to the message before
transmission. When an error is detected, the
redundant bits are used to determine which
bit is in error.
Hamming Code
The Hamming code is an error-correcting
code used for correcting transmission errors
in synchronous data streams. The Hamming
code will correct only single-bit errors. It
cannot correct multiple-bit errors or burst
errors, and it cannot identify errors that
occur in the Hamming bits themselves.
Hamming Code
The Hamming code, as with all FEC
codes, requires the addition of overhead to
the message, consequently increasing the
length of a transmission.
Hamming bits (sometimes called error
bits) are inserted into a character at random
locations. The combination of the data bits
Hamming Code
and the Hamming bits is called the Hamming
code. The only stipulation on the placement
of the Hamming bits is that both the sender
and the receiver must agree on where they
are placed.
To calculate the number of redundant
Hamming bits necessary for a given character
length, a relationship between the character
Hamming Code
bits and the Hamming bits must be
established. The total number of bits in one
data unit is m + n. Since the Hamming bits
must be able to identify which bit is in error,
n Hamming bits must be able to indicate at
least m + n + 1 different codes. Of the m + n
codes, one code indicates that no errors have
occurred, and the remaining m + n codes
Hamming Code
indicate the bit position where an error has
occurred. Therefore, m + n bit positions must
be identified with n bits. Since n bits can
𝑛 𝑛
produce 2 different codes, 2 must be equal
to or greater than m + n + 1.
Therefore, the number of Hamming bits is
determined by the following expression:
Hamming Code
𝑛
2 ≥m+n+1
where n number of Hamming bits
m number of bits in each data character
Example:
How many Hamming bits would be added to
a data block containing 128 bits?

You might also like