Channel Coding in Communication Networks: From Theory to Turbocodes

Convolutional codes, invented in 1954 by P. Elias [1], constitute a family of error correcting codes whose decoding simplicity and good performances, in particular for the Gaussian channel, are, without doubt, very much at the origin of their success.
For a convolutional code at every moment k the encoder delivers a block of N binary symbols [2] c k = ( c k,1, c k,2, , c k,N), a function of the block of K information symbols d k = ( d k,1, d k,2, d k,K) present at its input along with m preceding blocks. convolutional codes consequently introduce an memory effect of the order m.
| | Encoder input at the indexed moment k |
| | Encoder input in the interval 1 ? k ? M |
| | Encoder output at the indexed moment k |
| | Encoder output in the interval 1 ? k ? M |
| | State of the encoder at the indexed moment k |
| | Sequence of encoder states in the interval 0 ? k ? M |
| | Channel output at the indexed moment k |
| | Channel output in the interval 1 ? k ? M |
| | Estimate of d k calculated by the decoder |
| | Estimate of d calculated by the decoder |
The quantity ? = m + 1 is called the constraint length of the code and the ratio R = K