Skip to main content

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

Short answer

Encoder with g1=111, g2=101, g3=011. Input 00110 yields output 000 000 110 011 010. With two tail zeros, final sequence: 000 000 110 011 010 111 000.

Design a suitable generation matrix for a convolution code using c(3,1,3) architecture and encode input data stream of (00110).

A convolutional encoder c(n, k, K) = c(3,1,3) takes k = 1 input bit at a time and produces n = 3 output bits (rate 1/3), with constraint length K = 3 (the present bit and two previous bits are stored: 2 shift-register stages).

Encoder design

Generator sequences (taps on b, s1, s2 = present, previous, second previous bit):

  • g1 = 111 → out1 = b ⊕ s1 ⊕ s2
  • g2 = 101 → out2 = b ⊕ s2
  • g3 = 011 → out3 = s1 ⊕ s2
 input b ---+--->[s1]--->[s2]
            |     |       |
            +--> (+) <-----+ -> out1   (b+s1+s2)
            +--> (+) <-----+ -> out2   (b+s2)
                  s1,s2 -> (+)  -> out3   (s1+s2)

Generator matrix

The block for each delay is (g1 g2 g3 taps): delay 0 → 110, delay 1 → 101, delay 2 → 111. The matrix for a 5-bit input has each row shifted by 3 columns:

      | 110 101 111 000 000 000 000 |
      | 000 110 101 111 000 000 000 |
 G =  | 000 000 110 101 111 000 000 |
      | 000 000 000 110 101 111 000 |
      | 000 000 000 000 110 101 111 |

Output = u·G (mod 2). In polynomial form: g1(D) = 1 + D + D², g2(D) = 1 + D², g3(D) = D + D².

Encoding u = 0 0 1 1 0 (state = s1 s2, starting 00)

TimeInput bState s1 s2out1out2out3Output
1000000000
2000000000
3100110110
4110011011
5011010010
6 (flush)001111111
7 (flush)000000000

(Row 5: b=0, s1=1, s2=1 gives out1 = 0⊕1⊕1 = 0, out2 = 0⊕1 = 1, out3 = 1⊕1 = 0.)

Coded sequence: 000 000 110 011 010 and, including the two tail zeros that return the encoder to state 00, 000 000 110 011 010 111 000.

Answer: 000 000 110 011 010 (111 000 with tail)

✓ Answer checked by Claude Sonnet 5.5

All Data Communication chapter 8 questions →