This is a follow-up question of convolutional codes: free distance and Convolutional codes: free distance (Part II), and is to confirm the following conjecture:
A convolutional code with "direct truncation" (i.e. without forcing tail bits) is a linear block code, but its free distance is in general not the minimum distance between the all-zero-path and some other non-all-zero path, originating and ending in the zero state, either. (?)
Here's a simple example:
Consider a (n=2,k=1,K=3) conv. code with the parity check generators being [1 1 0] and [1 1 1]. We start the code in state '00', take 3 information bits, and stop the state machine right there.
For this code, it's easy to verify:
- This is a linear code of length 6, rate 1/2.
- The free distance of the code is 2, and
- is the weight of the '000011' codeword, derived from the following state transitions: 00, 00, 00, 10, as illustrated in blue above.
- The only non-all-zero path starting and ending in state 00 gives the '111101' codeword, whose weight is 5, as illustrated in red.
Hence the free distance is not the minimum distance between the all-zero-path and some other non-all-zero path starting and ending in the zero state. If I'm mistaken somewhere, I'd greatly appreciate your corrections/comments.