06.06.2022 Views

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

822 ERROR CORRECTING CODES

Bose-Chaudhuri-Hocquenghen (BCH) Codes and

Reed-Solomon Codes

The BCH codes are perhaps the best studied class of random error correcting cyclic codes.

Moreover, their decoding procedure can be implemented simply. The Hamming code is a

special case of BCH codes. These codes are described as follows: for any positive integers m and

t (t < 2 m - I ), there exists at-error correcting (n, k) code with n = 2

m

- I and n - k :S mt. The

minimum distance dmin betweencodewords is bounded by the inequality 2t+l :S d m in :S 2t+2.

As a special case of nonbinary BCH codes, Reed-Solomon codes are by far the most

successful forward error correction (FEC) codes in practice today. Reed-Solomon codes have

found broad applications in digital storage (DVD, CD-ROM), high-speed modems, broadband

wireless systems, and HDTV, among numerous others. The detailed treatment of BCH codes

and Reed-Solomon codes requires extensive use of modem algebra and is beyond the scope

of this introductory chapter. For in-depth discussion of BCH codes and Reed-Solomon codes,

the reader is referred to the classic text by Lin and Costello. 2

Cyclic Redundancy Check (CRC) Codes for Error Detection

One of the most widely used cyclic codes is the cyclic redundancy check codes for detection

of data transmission errors. CRC codes are cyclic, designed to detect erroneous data packets

at the receivers ( often after error correction). To verify the integrity of the payload data block

(packet), each data packet is encoded by CRC codes of length n :S 2 m - I. The most common

CRC codes have m =12, 16, or 32 with code generator polynomial of the form

g (x) = (I + x)gc(x)

gc (x) = generator polynomial of a cyclic Hamming code

To select a code generator matrix, the design criterion is to control the probability of undetected

error events. In other words, the CRC codes must be able to detect the most likely error patterns

such that the probability of undetected errors

P (e H T = O le -::fa O) < E (14.26)

where E is set by the user according to its quality requirement. The most common CRC codes

are given in Table 14.7 along with their generator matrices. For each frame of data bits at

the transmitter, the CRC encoder generates a frame-checking sequence (FCS) of length 8, 12,

16, or 32 bits for error detection. For example, the IEEE 802.11 and IEEE 802. llb packets

are checked by the 16-bit sequence of CRC-CCITT, whereas the IEEE 802. lla packets are

checked by the CRC-32 sequence.

14.5 THE EFFECTS OF ERROR CORRECTION

Comparison of Coded and Uncoded Systems

It is instructive to compare the bit error probabilities (or bit error rate) when coded and uncoded

schemes are under similar constraints of power and information rate.

Let us consider a t-error correcting (n, k) code. In this case, k information digits are coded

into n digits. For a proper comparison, we shall assume that k information digits are transmitted

in the same time interval over both systems and that the transmitted power S; is also maintained

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

Saved successfully!

Ooh no, something went wrong!