06.06.2022 Views

B. P. Lathi, Zhi Ding - Modern Digital and Analog Communication Systems-Oxford University Press (2009)

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

14.8 CODE COMBINING AND INTERLEAVING

14.8 Code Combining and Interleaving 839

Simple and sh011 codes can be combined in various ways to generate longer or more powerful

codes. Certainly there are many possible ways of combining multiple codes. In this section,

we briefly describe several of the most common methods of code construction through code

combining.

Interleaving Codes for Correcting Burst and Random Errors

One of the simplest and yet most effective tools for code combining is interleaving, the process

of reordering or shuffling (multiple) codewords generated by the encoder. Thus, a burst of bit

errors will be affecting multiple codewords instead of one. The purpose of interleaving is to

disperse a large burst of errors over multiple codewords such that each codeword needs to

correct only a fraction of the error burst. This is because, in general, random error correcting

codes are designed to tackle sporadic errors in each codeword. Unfortunately, in most practical

systems, we have errors of both kinds. Among methods proposed to simultaneously correct

random and burst errors, interleaving is simple and effective.

For an (n, k) code, if we interleave )., codewords, we have what is known as a (An, H)

interleaved code. Instead of transmitting codewords one by one, we group A codewords and

interleave them. Consider, for example, the case of A = 3 and a two-error correcting (15,

8) code. Each codeword has 15 digits. We group codewords to be transmitted in groups of

three. Suppose the first three code words to be transmitted are x = (x1 , x2 , ... , x15),y =

(JJ, Y2, ... , y15), and z = (z1, z2, ... , 215). respectively. Then instead of transmitting xyz

in sequence as XI, x2, . .. , x15, YI, Y2, ... , YI5, ZI, z2 , ... , ZI5, we transmit XI, YI , ZI, x2, Y2,

z2, x3 , y3 , Z3, ... ,x15. Yt5, z15. This can be explained graphically by Fig. 14.15, where A

codewords (three in this case) are arranged in rows. In normal transmission, we transmit one

row after another. In the interleaved case, we transmit columns (of A elements) in sequence.

When all the 15 (n) columns are transmitted, we repeat the procedure for the next A codewords

to be transmitted.

To explain the error correcting capabilities of this interleaved code, we observe that the

decoder will first remove the interleaving and regroup the received digits as x1, x2, ... , XIS ,

)'1 , y2, ... , Yl5, z1 , z2, ... , z15. Suppose the digits in the shaded boxes in Fig. 14.15 were in

error. Because the code is a two-error correcting code, up to two errors in each row will be

corrected. Hence, all the errors in Fig. 14.15 are correctable. We see that there are two random,

or independent, errors and one burst of length 4 in all the 45 digits transmitted. In general, if

the original (n, k) code is t-error correcting, the interleaved code can correct any combination

of t bursts of length A or less.

Because of the interleaver described in Fig. 14.15 takes a block bits and generates output

sequence in a fixed orderly way, interleavers of this kind are known as block interleavers.

The total memory length of the interleaver is known as the interleaving depth. Interleavers

Fi g

ure 14, 1 5

A block

(nonrandom)

interleaver for

correcting

random and

burst errors.

Output

input x

<J------

input y

<J------

input z

<J------

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!