01.05.2017 Views

563489578934

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

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

Sec. 1–11 Coding 23<br />

Convolutional Codes<br />

A convolutional encoder is illustrated in Fig. 1–5. Here k bits (one input frame) are shifted in<br />

each time, and, concurrently, n bits (one output frame) are shifted out, where n 7 k. Thus,<br />

every k-bit input frame produces an n-bit output frame. Redundancy is provided in the output,<br />

because n 7 k. Also, there is memory in the coder, because the output frame depends on the<br />

3<br />

previous K input frames, where K 7 1. The code rate is R = k/n, which is<br />

4<br />

in this illustration.<br />

The constraint length, K, is the number of input frames that are held in the kK-bit shift<br />

register. † Depending on the particular convolutional code that is to be generated, data from the<br />

kK stages of the shift register are added (modulo 2) and used to set the bits in the n-stage<br />

output register.<br />

For example, consider the convolutional coder shown in Fig. 1–6. Here,<br />

k = 1, n = 2, k = 3, and a commutator with two inputs performs the function of a<br />

two-stage output shift register. The convolutional code is generated by inputting a bit of<br />

data and then giving the commutator a complete revolution. The process is repeated for<br />

successive input bits to produce the convolutionally encoded output. In this example, each<br />

k = 1 input bit produces n = 2 output bits, so the code rate is R = k/n = 1 2<br />

. The code<br />

tree of Fig. 1–7 gives the encoded sequences for the convolutional encoder example of<br />

Fig. 1–6. To use the code tree, one moves up if the input is a binary 0 and down if the input<br />

is a binary 1. The corresponding encoded bits are shown in parentheses. For example, if<br />

Convolutional encoder<br />

k-bit frame<br />

Constraint length = K input frames<br />

Shift register<br />

(kK bits)<br />

Uncoded input data<br />

•••••••••••••<br />

Logic<br />

n bit frame<br />

Shift register<br />

(n bits)<br />

n bits<br />

Coded output data<br />

Figure 1–5 Convolutional encoding ( k = 3, n = 4, K = 5, and R = 3 4 ) .<br />

† Several different definitions of constraint length are used in the literature [Blahut, 1983; Clark and Cain,<br />

1981; Proakis, 1995].

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

Saved successfully!

Ooh no, something went wrong!