Burst and Random error correcting codes

Burst and Random error   correcting codes:-

To correct specific, well-defined classes of error patterns a variety of codes are designed but the problems of correcting random errors and burst errors are treated separately.

But in practical systems errors occur neither independently nor in well-defined bursts. Errors may occur in a fashion, that as a mixture of random and burst errors.

therefore either random error correcting codes (or) single-burst error correcting codes are insufficient and inefficient to correct errors which involves as a mixture of both random and burst errors.

So for channels in which both types of errors occur, there is a need for special types of codes, which will correct both random and burst errors simultaneously.

The most effective method uses the interlacing technique.

Interlace code:-

for an (n, k) cyclic code a $(\lambda&space;n,\lambda&space;k)$   interlaced code can be constructed by simply arranging $\lambda$ code vectors of the original code into  rows of a rectangular array and transmitting them by column by column the resulting code is called interlaced code with an interlacing degree  $\lambda$.

In an interlaced code, a burst of length  $\lambda$ (or) less will affect not more than one digit in each row .

If the original code can correct single errors, then the interlaced code can correct single bursts of length  $\lambda$  (or) less.

If the original code can correct‘t’ errors (t>1) then the interlaced code can correct any combination of t bursts of length $\lambda$   (or) less.

consider for example a (15,7) BCH code is generated by $g(x)=x^{8}+x^{4}+x^{2}+x+1$ which will have $d_{min}=5$ (minimum distance) it is able to correct $\leq&space;\left&space;[&space;\frac{d_{min}-1}{2}&space;\right&space;]\Rightarrow&space;\leq&space;2$.

it may correct 2 errors. so for this code we can construct a (75, 35) interlaced code with  as (75, 35) with a burst error correcting capability of 10.

Now the message block length is 35 bits, this 35 bit message block is divided into 5 ,’7’ bit blocks as

and each 7 bit message block is converted into a 15 bit code word by using $g(x)$.

These code words are arranged as five rows of a 5 X 15 matrix. The column of the matrix is transmitted in the order indicated as a 75 bit long code vector.

Error correcting capabilities:-

To illustrate the burst and random error correcting capabilities of this code.

assume that errors havee occures in bit positions 5,37 through 43 and 69.

at the decoder, the decoder operates on the rows of the table that each row has a maximum of 2 errors and from (15,7) BCCH code , we know that the code is able to correct up to ‘2’ errors per row.

therefore the error pattern occurred in the table can be corrected. The errors in bit positions 5 and 69 as random errors and from 37 to 43 as burst error.

while operating on the rows of the code array may be an obvious way to encode and decode an interlaced code which is not the simplest implementation.

The simplest implementation results from the property that if the original code is cyclic, then the interlaced code is also cyclic.

The polynomial in interlaced code is $g(x^{\lambda&space;})$ if the original polynomial is $g(x)$.

Thus encoding and decoding can be accomplished by using shift registers. The decoder for the interlaced code can be derived from the decoder for original code by replacing each shift register stage of the original decoder by $\lambda$ stages without changing the other connections.

each shift register stage by $\lambda$ stages without changing other connections. This allows the decoder to look at successive rows of the code array on successive decoder cycles.

If the decoder for the original code was simple then the decoder for interlaced code will also be simple.

Therefore The interlacing technique is an effective tool for deriving long powerful codes from short optimal codes.

(No Ratings Yet)