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.

838 ERROR CORRECTING CODES

· There are min(2 k , 2 n -k ) possible states in the trellis.

· The state of a codeword at instant i is determined by the codeword and the parity check

matrix by syndrome from the first codeword bit to the ith codeword bit:

➔ ➔ ➔

z; = c1h; EB c2h2 EB · · · EB c;h;. (14.33)

Note that this syndrome trellis, unlike the state transition trellis of convolutional code, is

typically nonrepeating. In fact, it always starts from the "zero" state and ends in "zero" state.

Indeed, this trellis is a time-varying trellis. We use an example to illustrate the construction

of a syndrome trellis.

Example 14.8 Consider a Hamming (7, 4, 3) code with parity check matrix

1

1 1 6]

1 0 1 0 0 1

(14.34)

Sketch the trellis diagram for this block code.

For this code, there are 3 error syndrome bits defining a total of 2 3 = 8 states. Denote the

eight states as (So, S1 , S2, S3, S 4 , Ss, S6, S1 ). There are 2 k = 2 4 = 16 total codewords

with 7 code bits that are in the null-space of the parity check matrix H. By enumerating

all 16 codewords, we can follow Eq. (14.33) to determine all the paths through the trellis.

The corresponding time-varying trellis diagram is shown in Fig. 14. 14. Notice that

each path corresponds to a codeword. We always start from state So initially and end at

the state So . Unlike the case of convolutional code, it is not necessary to label the trellis

branches in this case. Whenever there is a state transition between different states, the

branch automatically corresponds to a "1" code bit. When a state stays the same, then the

transition branch corresponds to a "O" code bit.

Figure 14. 14

Trellis diagram of

a Hamming

(7, 4, 3) code

with parity check

matrix of

Eq. (14.34).

So

S1

S2

Kl S3

vi S4

S5

s6

S7

Code bits

C 1 C 2 C 3 C4 C 5 C 6 C 7

Once we have a trellis diagram, the Viterbi decoding algorithm can be implemented for the

MLD of the block code at reduced complexity. Maximum likelihood detection of block codes

can perform better than a syndrome-based decoder. Keep in mind that the example we show

is a very short code that does not benefit from Viterbi decoding. Clearly, the Viterbi algorithm

makes more sense when one is decoding a long code.

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

Saved successfully!

Ooh no, something went wrong!