Professional Documents
Culture Documents
Error Detection and Correction
Error Detection and Correction
1. 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.
Block coding was the first type of channel coding implemented in early mobile
communication systems. There are many types of block coding, but among the most used
ones the most important is Reed-Solomon code, that is presented in the second part of
the coursework, because of its extensive use in famous applications. Hamming, Golay,
Multidimensional parity and BCH codes are other well-known examples of classical block
coding.
The main feature of block coding is that it is a fixed size channel code (in contrary
to source coding schemes such as Huffman coders, and channel coding techniques as
convolutional coding). Using a preset algorithm, block coders take a k-digit information
word, S and transform it into an n-digit codeword, C(s). The block size of such a code will
be n. This block is examined at the receiver, which then decides about the validity of the
sequence it received.
2. Linear Block Coding
Almost all block codes used today belong to a subset called linear block codes. A
linear block code is a code in which the exclusive OR (addition modulo-2) of two valid
codewords creates another valid codeword.
In a linear block code, the exclusive OR (XOR) of any two valid codewords creates
another valid codeword.
University of San Agustin
General Luna St., 5000 Iloilo City, Philippines
www.usa.ed.ph
COLLEGE OF TECHNOLOGY
Linear block code (n,k) is a set with cardinality is called a linear block code if, and
only if, it is a subspace of the vector space Vn.
The information bit stream is chopped into blocks of k bits. Each block is
encoded to a larger block of n bits. The coded bits are modulated and sent over channel.
The reverse procedure is done at the receiver.
University of San Agustin
General Luna St., 5000 Iloilo City, Philippines
www.usa.ed.ph
COLLEGE OF TECHNOLOGY
3. Cyclic Codes
Cyclic codes form a very small and highly structured subset of the set of linear
codes. The definition of a cyclic code may seem arbitrary, but in fact there are good
reasons for it, which begin to appear if we introduce the notion of the generating function
of a codeword. If C = (C0, ··· , Cn−1) is a codeword, its generating function is defined to be
the polynomial
C(x) = C0 + C1x + ··· + Cn−1xn−1,
Cyclic codes are special linear block codes with one extra property. In a cyclic code,
if a codeword is cyclically shifted (rotated), the result is another codeword. The divisor in
a cyclic code is normally called the generator polynomial or simply the generator.
In a cyclic code,
If s(x) ≠ 0, one or more bits is corrupted.
If s(x) = 0, either
a. No bit is corrupted. or
b. Some bits are corrupted, but the
decoder failed to detect them.
In a cyclic code, those e(x) errors that are divisible by g(x) are not caught. Received
codeword (c(x) + e(x))/g(x) = c(x)/g(x) + e(x)/gx The first part is by definition divisible the
second part will determine the error. If “0” conclusion -> no error occurred.
Cyclic Redundancy Check code with C (7,4)
Division in CRC
University of San Agustin
General Luna St., 5000 Iloilo City, Philippines
www.usa.ed.ph
COLLEGE OF TECHNOLOGY
4. Checksum
The error usually occurs in burst. The parity check method is not useful in
detecting the errors under such conditions. The checksum error detection method can be
used successfully in detecting such errors. In this method, a check sum is transmitted
along with every block of data byte. In this method an eight-bit accumulator to use to add
8 bytes of a block of data to find the checksum byte. The carries of the MSB are ignored
while finding out the checksum byte.
After transmitting a block of data bytes, the check sum byte is also transmitted.
The checksum is generated at the receiver separately by adding the received bytes. The
regenerated check sum byte is then compared with the transmitted one. If both are
identical and there is no error. If they are different then the errors are present in the block
of received data bytes.
The checksum is used in the Internet by several protocols although not at the data
link layer. The negative (complement) of the sum, is called the checksum.
University of San Agustin
General Luna St., 5000 Iloilo City, Philippines
www.usa.ed.ph
COLLEGE OF TECHNOLOGY