The document discusses several techniques for error detection in digital communications, including block coding, parity checking, cyclic redundancy checks (CRC), and Hamming codes. Block coding involves dividing a message into blocks of k bits and adding r redundant bits to each block. Parity checking adds an extra bit to detect errors by checking if the number of 1's is even or odd. CRC generates a frame check sequence such that the data block and sequence are divisible by a predetermined number to detect errors. Hamming codes add k parity bits to an n-bit data word to detect and sometimes correct errors. These techniques help detect errors caused by interference during transmission but cannot always determine the location or correct multiple errors.
2. Whenever bits flow from one point to another, they are
subject to unpredictable changes because of
interference. This interference can change the shape of
the signal.
In a single-bit error, a 0 is changed to a 1 or a 1 to a O.
In a burst error, multiple bits are changed. For example,
a 11100 s burst of impulse noise on a transmission with
a data rate of 1200 bps might change all or some of
the12 bits of information.
3. Block coding
In block coding, we divide our message into blocks, each of k bits,
called datawords. We add r redundant bits to each block to make
the length n = k + r. The resulting n-bit blocks are called codewords.
[1]
We have a set of datawords, each of size k, and a set of
codewords, each of size of n. With k bits, we can create a
combination of 2k datawords; with n bits, we can create a
combination of 2n codewords. Since n > k, the number of possible
codewords is larger than the number of possible datawords. The
block coding process is one-to-one; the same dataword is always
encoded as the same codeword. This means that we have 2n - 2k
codewords that are not used. We call these codewords invalid or
illegal. [1]
4. If the following two conditions are met, the receiver can detect a
change in the original codeword. [2]
The receiver has (or can find) a list of valid codewords.
The original codeword has changed to an invalid one.
The sender creates codewords out of datawords by using a
generator that applies the rules and procedures of encoding. Each
codeword sent to the receiver may change during transmission. If
the received codeword is the same as one of the valid codewords,
the word is accepted; the corresponding dataword is extracted for
use. If the received codeword is not valid, it is discarded. However,
if the codeword is corrupted during transmission but the received
word still matches a valid codeword, the error remains undetected.
[2]
This type of coding can detect only single errors. Two or more
errors may remain undetected.
5. Parity checking is a technique of adding an extra bit to the
end of a block of data to detect error.
There are two types of parity checking: Even parity and
Odd parity.
Even parity is a technique of adding an extra bit to the end
of block so that the numbers of 1’s becomes even.
When the block arrives, the receiver will check if the
numbers of 1’s are even, if not there is an error.
Odd parity is a technique of adding an extra bit to the end
of block so that the numbers of 1’s becomes odd.
6. If the numbers of 1’s in a block are even, the receiver will
detect error.
In Computer Memory,Computer Networking parity checking
is used as a way to ensure data integrity and prevent errors,
or detect them in the event they are occurring.
7. Parity does not indicate which bit contained the error,
even when it can detect it.
If the number of bits changed is even, the error will not
be detected.
It can only detect one, three, or any odd number of
errors in each character.
The data must be discarded entirely, and retransmitted
from scratch.
8. One of the most common and one of the most powerful,
error-detecting codes is the cyclic redundancy check
(CRC). [3]
It is used to protect blocks of data called Frames.
Given a k-bit block of bits, or message, the transmitter
generates an sequence, known as a frame check
sequence (FCS), such that the resulting frame, consisting
of n bits, is exactly divisible by some predetermined
number. The receiver then divides the incoming frame by
that number and, if there is no remainder, assumes there
was no error. [3]
9. CRC is simple to implement in binary hardware,
Mathematical analysis of CRC is very simple, and it is
good at detecting common errors caused by noise in
transmission.
10. It has two important qualities:
1. It must be one less than the number of divisor bits.
2. After appending these bits data unit must be exactly
divisible by divisor.
Limitations
CRC is not suitable for protecting against intentional
alteration of data, and overflow of data is possible in
CRC.
11. In Hamming codes K parity bits are added to an n-bit data word,
forming a new word of n + k bits. The bit positions are numbered in
sequence from 1 to n + k. Those positions numbered with powers of
two are reserved for the parity bits. The code can be used with words
of any length.
Limitations
One of the main disadvantages of Hamming codes is the
fixed Hamming distance and the problem of implementing
coders for large blocks. The fixed Hamming distance of
Hamming codes allows for detection of two errored bits
and the ability to correct only a single errored bit. A code
which enables the implementer to select the desired
Hamming distance would be advantageous.
12. Error correction is much more difficult than error
detection. In error detection, the receiver needs
to know only that the received codeword is
invalid; in error correction the receiver needs to
find (or guess) the original codeword sent. We
can say that we need more redundant bits for
error correction than for error detection. [2]
13. In block coding, we divide our message into blocks,
each of k bits, called datawords. We add r redundant
bits to each block to make the length n = k + r. The
resulting n-bit blocks are called codewords.
Parity checking, Cyclic redundancy checking (CRC) and
Hamming codes are some error detection techniques
that I discussed in this assignment.
Parity checking is a technique of adding an extra bit to
the end of a block of data to detect error.
14. There are two types of parity checking: Even parity and
Odd parity.
One of the most common and one of the most powerful,
error-detecting codes is the cyclic redundancy check
(CRC).
It is used to protect blocks of data called Frames.
Given a k-bit block of bits, or message, the transmitter
generates an sequence, known as a frame check
sequence (FCS), such that the resulting frame,
consisting of n bits, is exactly divisible by some
predetermined number. The receiver then divides the
incoming frame by that number and, if there is no
remainder, assumes there was no error.
15. And in Hamming codes K parity bits are added to an n-
bit data word, forming a new word of n + k bits. The bit
positions are numbered in sequence from 1 to n + k.
Those positions numbered with powers of two are
reserved for the parity bits. The code can be used with
words of any length.
16. [1] B. A. Forouzan, Data Communications and Networking, vol.
Fourth Edition, New York: McGraw-Hill Companies. Inc, 2007, p. 271.
[2] B. A. Forouzan, Data Communications and Networking, vol.
Fourth Edition, New York: McGraw-Hill Companies. Inc, 2007, p. 272.
[3] W. Stallings, Data and Computer Communications, vol. Eighth
Edition, Upper Saddle Rivar, NJ 07458: Pearson Education, Inc, 2007,
p. 189.