# Convolutional code[1]

## Description

Classical codes that are formed using generator polynomials over the finite field with two elements. The encoder slides across contiguous subsets of the input bit-string (like a convolutional neural network) evaluating the polynomials on that window to obtain a number of parity bits. These parity bits are the encoded information. There are many ways to formulate these codes

## Rate

Depends on the polynomials used. Using puncturing removal [2] the rate for the code can be increased from \(\frac{1}{t}\) to \(\frac{s}{t}\), where \(t\) is the number of output bits, and \(s\) depends on the puncturing done. This is done by deleting some pieces of the encoder output such that the most-likely decoders remain effective

## Encoding

Evaluation on the generator polynomials. Can be implemented with a small number of XOR gates

## Decoding

Decoders based on the Viterbi algorithm (trellis decoding) were developed first, which result in the most-likely codeword for the encoded bits [3]. Following, other trellis decoders such as the BCJR decoding algorithm [4] were developed later.

## Realizations

A type of convolutional code used in Real-time Application networks [5].Mobile and radio communications (3G networks) use convolutional codes concatenated with Reed-Solomon codes to obtain suitable performance [6].A convolutional code with rate 1/2 was used for deep-space and satellite communication [7]

## Parent

## Cousins

- Quantum convolutional code — Quantum analogue of convolutional codes
- Reed-Solomon (RS) code — Convolutional codes are often used in concatenation with Reed-Solomon codes for communication [6].

## References

- [1]
- Peter Elias. Coding for noisy channels. IRE Convention Records, 3(4):37–46, 1955.
- [2]
- L. Sari, “Effects of Puncturing Patterns on Punctured Convolutional Codes”, TELKOMNIKA (Telecommunication, Computing, Electronics and Control) 10, (2012). DOI
- [3]
- A. Viterbi, “Error bounds for convolutional codes and an asymptotically optimum decoding algorithm”, IEEE Transactions on Information Theory 13, 260 (1967). DOI
- [4]
- L. Bahl et al., “Optimal decoding of linear codes for minimizing symbol error rate (Corresp.)”, IEEE Transactions on Information Theory 20, 284 (1974). DOI
- [5]
- S. I. Mrutu, A. Sam, and N. H. Mvungi, “Forward Error Correction Convolutional Codes for RTAs' Networks: An Overview”, International Journal of Computer Network and Information Security 6, 19 (2014). DOI
- [6]
- T. Halonen, J. Romero, and J. Melero, editors , GSM, GPRS and EDGE Performance (Wiley, 2003). DOI
- [7]
- Butman, Deutsch, and Miller. Performance of concatenated codes for deep space missions. 1981.

## Page edit log

- Victor V. Albert (2021-12-16) — most recent
- Benjamin Quiring (2021-12-16)

## Zoo code information

## Cite as:

“Convolutional code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/convolutional

Github: https://github.com/errorcorrectionzoo/eczoo_data/tree/main/codes/classical/bits/convolutional.yml.