[Math] Free distance of a convolutional code

coding-theoryfinite-fieldsmatrices

In an exercise, I have been given that $C$ is a binary convolutional code defined by the generator matrix $$G(z) = \begin{bmatrix}
1 & z & z+1 & 1 \\
0 & z^3+z^2+z+1 & z^3+z^2+1 & z+1
\end{bmatrix}$$

my goal is to find the rate, the degree and the free distance of $C$.
The rate and degree are clear.
On the other hand, the free distance, not so much. I know that it is calculated by finding the minimum hamming distance. However I don't really understand how to find the minimum hamming distance using $G(z)$ here.

Could any one help me out? Thanks in advance!

Best Answer

It's difficult in general to get the free distance. By inspection, we can find that, restricting to the first row of the generator matrix, the transitions that take us out from the zero state and the one that returns to it correspond to the encodings:

$$\cdots 000001 \cdots \to \cdots |1011|\cdots$$ $$\cdots 100000 \cdots \to \cdots |0110|\cdots$$

Then, restricing always to the first branch, the amount of ones that a "finite" non-zero sequence produces is at least five. And this is reachable by simply placing a single one at the input.

Then, the (full) input sequence corresponding for a single one in the first branch, and all zeros in the second, produces an (full) output of weight five.

That there is no other output sequence with less weight produced by the second branch can be seen by considering the (necessary) transitions $$\cdots 00001 \cdots \to \cdots |0111|\cdots$$ $$\cdots 10000 \cdots \to \cdots |1101| \dots$$

Hence the free distance is $5$

Related Question