Exercise 3.4: Systematic Convolution Codes
One speaks of a systematic convolutional code of rate $R = 1/2$ ⇒ $k = 1, \ n = 2$, if the code bit $x_i^{(1)}$ is equal to the currently applied information bit $u_i$ .
The transfer function matrix of such a code is:
- $${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
The encoder $\rm A$ shown in the upper graph is certainly not systematic, since for this $G^{(1)}(D) ≠ 1$ holds. To derive the matrix $\mathbf{G}(D)$ we refer to a "earlier example", where for our standard rate 1/2 encoder with memory $m = 2$ the transfer function matrix was determined:
- $${\boldsymbol{\rm G}}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) = \big ( \hspace{0.05cm} 1 + D + D^2\hspace{0.05cm} , \hspace{0.2cm} 1 + D^2 \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
The encoder $\rm A$ differs from this example only by swapping the two outputs.
- If the transfer function matrix of a code is
- $${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) \hspace{0.05cm},$$
then the equivalent systematic representation of this rate 1/2 convolutional code holds in general:
- $${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} {G^{(2)}(D)}/{G^{(1)}(D)} \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
In subtask (3), check which of the systematic arrangements is equivalent to encoder $\rm A$ ?
- Either encoder $\rm B$,
- or encoder $\rm C$
- or both.
Hints:
- This exercise belongs to the chapter Algebraic and Polynomial Description.
- Reference is made in particular to the pages
Questions
Solution
- Proposition 2 would result if the two outputs were swapped, that is, for the "Rate 1/2 standard code" mostly considered in the theory section.
- Proposition 3 applies to a systematic code ⇒ $\underline{x}^{(1)} = \underline{u}$. However, the coder considered here $\rm A$ does not exhibit this property.
(2) To go from a nonsystematic $(n, \ k)$ code with matrix $\mathbf{G}(D)$ to the equivalent systematic code ⇒ matrix $\mathbf{G}_{\rm sys}(D)$,
one must generally split $\mathbf{G}(D)$ into a $k × k$ matrix $\mathbf{T}(D)$ and a remainder matrix $\mathbf{Q}(D)$.
- The desired result is then with the $k × k$ identity matrix $\mathbf{I}_k$:
- $${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) \hspace{0.05cm}.$$
- We assume here the $\mathbf{G}(D)$ matrix for the coder $\rm A$ .
- Because $k = 1$ here both $\mathbf{T}(D)$ and $\mathbf{Q}(D)$ have dimension $1 × 1$, so strictly speaking they are not matrices at all:
- $${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm T}}(D)\hspace{0.05cm} ; \hspace{0.2cm} {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) \hspace{0.3cm} \Rightarrow \hspace{0.3cm}{\boldsymbol{\rm T}}(D) = \big ( 1+D^2\big )\hspace{0.05cm} , \hspace{0.2cm} {\boldsymbol{\rm Q}}(D) = \big ( 1+D+D^2\big )\hspace{0.05cm} .$$
- For the two elements of the systematic transfer function matrix, we obtain:
- $$G^{(1)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm T}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = 1 C,\hspace{0.8cm} G^{(2)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm Q}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = \frac{1+D+D^2}{1+D^2}$$
- $$\Rightarrow \hspace{0.3cm}{\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.1cm} \frac{1+D+D^2}{1+D^2} \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
So the last proposed solution is correct:
- Proposed solution 1 does not describe a systematic code.
- A code according to solution suggestion 2 is systematic, but not equivalent to the coder $\rm A$ according to the given circuit and transfer function matrix $\mathbf{G}(D)$.
(3) The generator function matrix of encoder $\rm B$ is:
- $${\boldsymbol{\rm G}}_{\rm B}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} {1+D+D^2} \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
- So this encoder is not equivalent to the encoder $\rm A$.
- Let us now consider the encoder $\rm C$. Here the second matrix element of $\mathbf{G}(D)$ holds:
- $$w_i \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_i + w_{i-2} \hspace{0.25cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\hspace{0.25cm} {U}(D) = W(D) \cdot (1 + D^2 ) \hspace{0.05cm},\hspace{0.8cm} x_i^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} w_i + w_{i-1} + w_{i-2} \hspace{0.25cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\hspace{0.25cm} {X}^{(2)}(D) = W(D) \cdot (1 +D + D^2 )$$
- $$\Rightarrow \hspace{0.3cm} G^{(2)}(D) = \frac{{X}^{(2)}(D)}{{U}(D)} = \frac{1+D+D^2}{1+D^2}\hspace{0.05cm}.$$
This corresponds exactly to the result of the subtask (2)' ⇒ Proposed solution 2.