Linear Block codes
Block codes are forward error correction (FEC) codes that enable a limited number of errors to be detected and corrected without retransmission.Block codes can be used to improve the performance of a communications system.
- In block codes, parity bits are added to blocks of message bits to make code words or code blocks.
- In a block Encoder k information bits are encoded into n code bits.
- A total of n — k redundant bits are added to the k information bits for the purpose of detecting and correcting errors.
- The block code is referred to as an (n, k) code.
- The rate of the code is defined as the rate of information divided by the raw channel rate and given as Rc = k/n
Examples of Block Codes:
- These codes and their variations have been used for error control in digital communication systems.
- A binary Hamming code has the property that
k=number of information bits,
m =positive integer.
- The number of parity symbols are n— k = m.
- Hadamard codes are obtained by selecting as code words the rows A a Hadamard matrix.
- For N = 2, the Hadamard matrix A is
Golay Codes: Golay codes are linear binary codes with a minimum distance of 7 and a error correction capability of 3 bits.
- Cyclic codes are a subset of the class of linear codes which satisfy the cyclic property.The generator polynomial of an (n. k) cyclic code is a factor ofPn I and has the general form
- A message polynomial x (p) can also be defined as
Where (x k …….- x 0) represents the k information bits.
The resultant code word c(p) can be written as
- The block length of the codes is n = 2m – I for m > 3, and the number of errors that they can correct is bounded by t<(2m — 1 )/2 .
- The binary BCH codes can be generalized to create classes of nonbinary codes which use m bits per code symbol
- Reed-Solomon (RS) are no binary codes which are capable of correcting errors which appear in bursts and are commonly used in concatenated coding systems