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.

816 ERROR CORRECTING CODES

TABLE 14.4

d

1010

1111

0001

1000

C

1110010

1001011

0001101

1101000

Similarly, codewords for other data words can be found (Table 14.4). Note the structure

of the codewords. The first k digits are not necessarily the data bits. Hence, this is not a

systematic code.

In a systematic code, the first k digits are data bits, and the last m = n - k digits are the

parity check bits. Systematic codes are a special case of general codes. Our discussion thus far

applies to general cyclic codes, of which systematic cyclic codes are a special case. We shall

now develop a method of generating systematic cyclic codes.

Systematic Cyclic Codes

We shall show that for a systematic code, the codeword polynomial c(x) corresponding to the

data polynomial d(x) is given by

c(x) = x n -k d(x) + p(x)

(14.17a)

where p(x) is the remainder from dividing x n -k d(x) by g(x),

x n -k d(x)

p(x) = Rem --­

(14.17b)

g(x)

To prove this we observe that

x n -k d(x) p(x)

= q(x) + (14.18a)

g(x)

g(x)

where q(x) is of degree k - I or less. We add p(x)/g(x) to both sides of Eq. (14.18a), and

becausef (x) + f (x) = 0 under modulo-2 operation, we have

or

x n -k d(x) + p(x)

----- =q(x)

g(x)

q(x)g(x) = x n -k d(x) + p(x)

(14.18b)

(14.18c)

Because q(x) is on the order of k - I or less, q(x)g(x) is a code polynomial. As x n -k d(x)

represents d (x) shifted to the left by n - k digits, the first k digits of this codeword are

precisely d, and the last n - k digits corresponding to p (x) must be parity check digits. This

will become clear by considering a specific example.

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

Saved successfully!

Ooh no, something went wrong!