Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Exercise 3.1: Analysis of a Convolutional Encoder

From LNTwww

Predefined convolutional encoder

We consider the outlined convolutional encoder and assume the following information sequence:

u_=(0,1,1,1,1,0,1,0,1,...).

This sequence is divided into three strands:

u_(1) = (0,1,1,...),
u_(2) = (1,1,0,...),
u_(3) =(1,0,1,...).

The bits present at the coder at time  i  are denoted by  u(1)iu(2)i  and  u(3)i . For example  u(1)1=0u(2)2=1u(3)3=1.

The purpose of this exercise is to determine

  • the number  k  of information bits processed per coding step,
  • the number  n  of code bits output per coding step,
  • the memory order  (or, for short,  the memory)  m,
  • the total influence length  (or for short:  influence length)  ν.


For the given information sequence   u_   you shall determine the code symbols  x(1)ix(2)ix(3)i  and  x(4)i  for the clock instants  i=1  and  i=3.  It must be assumed that all memory elements were filled with zeros at the beginning.



Hints:

  • For completeness,  the code bits to the clock step  i=2  are also given here:
x(1)2=1,x(2)2=0,x(3)2=0,x(4)2=0.
  • However,  this last specification is not needed to solve the exercise.



Questions

1

What are the code parameters  k  and  n?

k = 

n = 

2

What are the memory order  m  and the total influence length  ν?

m = 

ν = 

3

What are the code bits in the first coding step  (i=1)?

x(1)1 = 

x(2)1 = 

x(3)1 = 

x(4)1 = 

4

What are the codebits in the third coding step  (i=3)?

x(1)3 = 

x(2)3 = 

x(3)3 = 

x(4)3 = 


Solution

(1)  At each clock,  k=3_  new information bits are processed and  n=4_  code bits are output.


(2)  We denote here the influence lengths of the information sequences  u_(j)  by  νj,  where  1jk=3  is to be set.  Then holds:

ν1 = 0(forthefirstsequencenoshiftregisterisnecessary),ν2 = 1,ν3=2.
  • The memory order  m  (or memory for short)  of the encoder is given by the longest shift register   ⇒   m=2_.
  • The total influence length  (or influence length for short)  is equal to the number of memory elements of the entire encoder circuit   ⇒   ν=3_.


Predefined convolutional encoder

(3)  In general,  for the  n=4  code bits of step  i:

x(1)i = u(1)i,
x(2)i = u(1)i+u(2)i+u(2)i1+u(3)i1,
x(3)i = u(2)i+u(3)i+u(2)i1+u(3)i2,
x(4)i = u(1)i+u(2)i+u(3)i+u(3)i2.
  • In the first coding step,  all memory elements are assigned zeros.
  • Therefore for  i=1  all bits with the indices   i \, –1   or   i \, –2   can be omitted.
  • In accordance with the specification,  let further hold:   u_1^{(1)} = 0u_1^{(2)} = 1u_1^{(3)} = 1.
  • This is obtained by modulo-2 addition:
x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} \hspace{0.15cm}\underline {=0} \hspace{0.05cm},
x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} + u_{1}^{(2)} = 0+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},
x_1^{(3)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(2)} + u_{1}^{(3)}= 1 + 1 \hspace{0.15cm}\underline {=0}\hspace{0.05cm},
x_1^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1}^{(1)} + u_{1}^{(2)} + u_{1}^{(3)}= 0+1+1\hspace{0.15cm}\underline {=0}\hspace{0.05cm}.


(4)  In the coding step  i = 3  the information bits are:

u_i^{(1)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(1)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(1)} = 0\hspace{0.05cm},
u_i^{(2)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}0\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(2)} = 1\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(2)} = 1\hspace{0.05cm},
u_i^{(3)} \hspace{-0.2cm} \ = \ \hspace{-0.2cm}1\hspace{0.05cm},\hspace{0.2cm}u_{i-1}^{(3)} = 0\hspace{0.05cm},\hspace{0.2cm}u_{i-2}^{(3)} = 1\hspace{0.05cm},
which results in the following code bits:
x_3^{(1)} \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(2)} = 1+0+1+0\hspace{0.15cm}\underline {=0}\hspace{0.05cm},\hspace{0.4cm}x_3^{(3)}= 0+1+1+1 \hspace{0.15cm}\underline {=1} \hspace{0.05cm},\hspace{0.4cm}x_3^{(4)} = 1+0+1+1\hspace{0.15cm}\underline {=1}\hspace{0.05cm}.

⇒   The code bits in the coding step  i = 2  have already been mentioned on the information page.  Here still follows the derivation:

x_2^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} = 1 \hspace{0.05cm},
x_2^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{1}^{(2)} + u_{1}^{(3)} = 1+1+1+1 = 0 \hspace{0.05cm},
x_2^{(3)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(2)} + u_{2}^{(3)}+ u_{1}^{(2)} + u_{0}^{(3)} = 1+0+1+(0) = 0\hspace{0.05cm},
x_2^{(4)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{2}^{(1)} + u_{2}^{(2)} + u_{2}^{(3)}+ u_{0}^{(3)}= 1+1+0+(0) = 0\hspace{0.05cm}.
  • Thus,  the code sequence  \underline {x}  (after multiplexing)  starts with  (0100, 1000, 1011, \ \text{...}).
  • The grouping was done here only for clarity.