Block codes were the earliest type of codes to be investigated and still remain the subject of the overwhelming bulk of modem coding research. On the other hand, convolutional codes have proved to be equal or superior to block codes in performance in many practical applications and are generally simpler than comparable block codes to implement. In the coding of block codes, each of the n-k redundancy (or parity-check) symbols in a codeword depends only on the corresponding k information symbols of the codeword and not on any other information symbols. This means that the encoder of block codes is memoryless. Convolutional codes differ from block codes in that the encoder contains memory and the no outputs at any given time unit depend not only on the k o inputs of that time unit but also on m previous input words, in fact, on m·k o information bits. The encoding of an (no,ko,m) convolutional code can be implemented with a k o-input and no-output linear sequential circuit with an input memory of m words. Also, the decoding of k o information words of an (no, k o , m) convolutional code often needs to use m(~ m) previously decoded information words. Thus the decoder needs digital devices with memory. Typically, k o and no satisfy k o < no and are smaller than the dimension k and length n of the most commonly used block codes. But the memory order m is made sufficiently large in order to obtain a small probability of error. For many applications convolutional codes can achieve the required performance for some desired information rate and also have a low complexity decoder. I. S. Reed et al., Error-Control Coding for Data Networks
CITATION STYLE
Reed, I. S., & Chen, X. (1999). Fundamentals of Convolutional Codes. In Error-Control Coding for Data Networks (pp. 315–367). Springer US. https://doi.org/10.1007/978-1-4615-5005-1_8
Mendeley helps you to discover research relevant for your work.