- Asked 5/48
- 2071 Magh (old course) · 4 marks
- 2068 Jestha (old course) · 5 marks
- 2080 Bhadra (CS II) · 4 marks
- 2079 Bhadra (CS II) · 5 marks
- 2075 Chaitra (CS II) · 5 marks
Short note: Convolutional codes
Short answer
Convolutional codes are error-correcting codes with memory, where each output depends on current and previous inputs. Described by (n,k,K) with rate k/n and constraint length K. Encoding uses shift registers and generator polynomials; decoding typically uses the Viterbi algorithm. They operate on continuous streams and are used in GSM, satellite, and Wi-Fi.
Write a short note on convolutional codes.
A convolutional code is an error-correcting code in which the encoder has memory: each group of output bits depends on the current input bit and on the previous input bits stored in a shift register. The code is described by : input bits produce output bits, giving code rate , and is the constraint length.
Encoder
A rate-1/2, encoder with generators and :
m -->[ m_i ]-->[ m_i-1 ]-->[ m_i-2 ]
| \ | / |
| \--(+)--+--------/ | c1 = mi+mi-1+mi-2
| |
+---------(+)------------+ c2 = mi+mi-2
output: c1 c2 c1 c2 ...
Each output is the modulo-2 convolution of the input with a generator sequence: .
Example: input 1 0 0 1 1 (plus two flushing 0s) gives 11 10 11 11 01 01 11.
Representations
- Code tree: branches up for 0, down for 1, labelled with output bits.
- Trellis diagram: states (contents of memory) against time; repeats after steps.
- State diagram: states with transitions labelled input/output.
Decoding
The Viterbi algorithm (maximum-likelihood) finds the trellis path with minimum Hamming distance from the received sequence; sequential decoding is used for large .
Features
- Works on a continuous bit stream, no block division.
- Strong error correction with soft-decision decoding; free distance measures power.
- Used in GSM, satellite and deep-space links, Wi-Fi (often with interleaving).
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Convolutional vs block codes; (7,4) cyclic code for 1011 · Communication Systems, chapter 8 · asked 2×
- Convolutional codes and their uses · Data Communication, chapter 8 · asked 4×