Skip to main content

Convolutional encoder c(3,1,3), input 111011

Short answer

g1=111, g2=101, g3=011. Input 111011 gives output 110 011 100 010 001 011. Including tail zeros: 110 011 100 010 001 011 010 111.

Generate a convolution code for an input bit stream of (111011) using a c(3,1,3) architecture.

A c(3,1,3) convolutional encoder takes 1 input bit and gives 3 output bits (rate 1/3) with constraint length K = 3 (two memory stages s1, s2).

Encoder (generators)

  • g1 = 111: out1 = b ⊕ s1 ⊕ s2
  • g2 = 101: out2 = b ⊕ s2
  • g3 = 011: out3 = s1 ⊕ s2
 b --+-->[s1]-->[s2]       out1 = b+s1+s2
     |    |       |        out2 = b+s2
     +----+-------+        out3 = s1+s2   (modulo-2 sums)

Encoding u = 1 1 1 0 1 1 (initial state s1 s2 = 00)

tbs1 s2out1out2out3Output
1100110110
2110011011
3111100100
4011010010
5101001001
6110011011
7 tail011010010
8 tail001111111

Row 3 example: b=1, s1=1, s2=1 → out1 = 1⊕1⊕1 = 1, out2 = 1⊕1 = 0, out3 = 1⊕1 = 0.

Coded output (message part): 110 011 100 010 001 011 With the two tail zeros that flush the registers: 110 011 100 010 001 011 010 111.

The state after the 6 message bits is 11 (the last two bits), and the tail returns it to 00.

✓ Answer checked by Claude Sonnet 5.5

All Data Communication chapter 8 questions →