- 2079 Chaitra · 2+4+4 marks
Error detection vs correction; rate ½ convolutional encoder
Short answer
Error detection identifies errors; error correction identifies and corrects them. For rate-1/2 convolutional encoder with generators 111 and 101, code tree and trellis diagram show outputs for each input bit and state transitions.
Differentiate error-detection and error-correction. Design a convolutional encoder having code-rate of ½. Also, draw the code-tree and trellis diagram for the same assuming any three-bit input.
Error detection vs error correction
| Point | Error detection | Error correction |
|---|---|---|
| Aim | Only finds that an error occurred | Finds and fixes the error |
| Redundancy | Few check bits (parity, CRC) | More check bits |
| Action on error | Request retransmission (ARQ) | Corrected at receiver (FEC) |
| Capability | Detects errors | Corrects |
| Return channel | Needed | Not needed |
| Examples | Parity, checksum, CRC | Hamming, BCH, convolutional |
Rate-1/2 convolutional encoder (design)
Choose input bit, output bits (), constraint length (two memory flip-flops, 4 states) and generators , .
Encoder: g1 = 111, g2 = 101 (K = 3, rate 1/2)
m -->[ m_i ]-->[ m_i-1 ]-->[ m_i-2 ]
| | |
+---(+)----+-----------+---> c1 = mi+mi-1+mi-2
| |
+---(+)----------------+---> c2 = mi+mi-2
output per bit: c1 c2
A commutator samples then for each input bit, so two bits go out for every bit in.
State = previous two inputs : a = 00, b = 10, c = 01, d = 11.
| Present state | Input | Output | Next state |
|---|---|---|---|
| a (00) | 0 | 00 | a (00) |
| a (00) | 1 | 11 | b (10) |
| b (10) | 0 | 10 | c (01) |
| b (10) | 1 | 01 | d (11) |
| c (01) | 0 | 11 | a (00) |
| c (01) | 1 | 00 | b (10) |
| d (11) | 0 | 01 | c (01) |
| d (11) | 1 | 10 | d (11) |
Code tree (three-bit input)
Upper branch = input 0, lower branch = input 1; labels are outputs.
00 a (000)
00 a ---<
/ 11 b (001)
00 a ---<
/ \ 10 c (010)
/ 11 b ---<
/ 01 d (011)
start<
\ 11 a (100)
\ 10 c ---<
\ / 00 b (101)
11 b ---<
\ 01 c (110)
01 d ---<
10 d (111)
bit: 1 2 3
Read along a path: input 101 gives 11, 10, 00, i.e. root (down 11) to b, (up 10) to c, (down 00) to b.
Trellis diagram, input 101 (plus 00 to flush)
t0 t1 t2 t3 t4 t5
a 00 * o o o o *
\ /
\ /
b 10 o * o * o / o
\ / \ /
\ / \ /
c 01 o o * o * o
d 11 o o o o o o
in: 1 0 1 0 0
out: 11 10 00 10 11
Encoded output for 101: 11 10 00 10 11. Every state in the full trellis has two outgoing branches; after the first two stages the trellis structure repeats.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Short note: Trellis diagram of convolutional encoder · Communication Systems, chapter 8
- Rate 1/3 convolutional encoder: encode 10011 · Communication Systems, chapter 8
- Convolutional encoding of 10011 with state and trellis · Communication Systems, chapter 8
- T1 and E1 bit rate and bandwidth; DPCM encoder · Communication Systems, chapter 5
- Hamming distance and weight; rate 1/3 convolutional encoder · Communication Systems, chapter 8
- Short note: Error detection and correction capability · Communication Systems, chapter 8
- Trellis decoding of 1/2 rate conv. code (3-bit errors) · Data Communication, chapter 8 · asked 2×
- Trellis decoding of 1/2 rate conv. code (2-bit errors) · Data Communication, chapter 8 · asked 2×
- Error correction vs detection, bit stuffing · Computer Networks and Security, chapter 3
- Convolutional encoder c(3,1,3), input 111011 · Data Communication, chapter 8