We now give a way to find an polynomial optimal PGM with the fewest McMillan degree which is also noncatastrophic. Suppose Gc(D) is a canonical generator matrix for a given convolutional code C. By Procedure 2, we can obtain an optimal and basic generator matrix Go(D), and let intdeg(Go(D)) = κ. As we mentioned in Section 3.3, we know that any PGM G(D) has Mcdeg(G(D))≥ m1, where m1 is maximum degree of 1 × 1 minors of G(D). Hence if there is a nonsingular matrix T (D) such that m1 of T (D)Go(D) is greater than κ, then Mcdeg(T (D)Go(D)) > κ. Let Π = {∀ U(D) : m1 of U(D)Go(D) ≤ κ}, where U(D) an unimodular and effectively lower-triangular matrix respect to Go(D). We have explained that since we work with finite field F , there are finite matrices in Π. By Corollary 2, we know that for a PGM G(D), intdeg(G(D))≤ Mcdeg(G(D)), the equality holds when mk of G(D) ≥ mk−1 of G(D).
Hence if there is a matrix Uel(D) ∈ Π such that Uel(D)Go(D) has mk ≥ mk−1, where mi is maximum degree of i × i minor of Uel(D)Go(D) for i = k − 1, k. It implies that Mcdeg(Uel(D)Go(D))= intdeg(Uel(D)Go(D)) = κ, and hence it is minimal and optimal. If there does not exist a PGM Uel(D)G(D) with mk ≥ mk−1, it means that there are no PGMs with optimal and minimal property. Then let Go(D) be multiplied by A(D), where A(D) is a
k × k diagonal matrix as follows: matrix respect to GA(D). Similarly, there are finite number of matrices in ΠA, if there exits a generator matrix UelA(D)GA(D) with mk of UelA(D)GA(D) ≥ mk−1 of UelA(D)GA(D), then it is an optimal PGM with the lowest McMillan degree κ + 1, and as we mentioned, it is noncatastrophic; else let GA(D) be multiplied by A(D) again and recursive searching again.
Since by Procedure 2, all convolutional codes always have an optimal and basic generator matrix, hence the work will stop. Now, we conclude this as below:
Procedure 3
Step 1 Give an (n, k) convolutional C, by Procedure 2 we obtain a generator matrix G(D) which is basic and optimal. Set intdeg(G(D)) = κ, i = 0. effectively lower-triangular matrix respect to Ai(D)G(D). Check all Uel(D)Ai(D)G(D) with Uel(D) ∈ Πi, if there exist a PGM Uel(D)Ai(D)G(D) with mk of Uel(D)Ai(D)G(D) ≥ mk−1
of Uel(D)Ai(D)G(D), then go to Step 4; else go to next step.
Step 3 Set i = i+1, and go back to Step 2.
Step 4 Set G∗(D) = UelAi(D)G(D), and it is a desired optimal PGM which is noncatas-trophic and has the lowest McMillan degree κ + i.
Also, we can conclude that for any (n, 1) and (n, 2) convolutional codes, there exists an generator matrix with the optimal and minimal property to generate these codes:
Theorem 12 For any (n, 1) and (n, 2) convolutional codes, there always exist generator ma-trices which are both optimal and minimal.
Proof: Since (n, 1) code is a trivial case, we give a simple proof for (n, 2) code. Suppose G(D) is a generator matrix of a given (n, 2) convolutional code. Then by Procedure 3, we first obtain an optimal and basic generator matrix from G(D), say Gb(D). Since Gb(D) is a 2 × n generator matrix, we can find that any 2×2 minor has greater degree than any 1×1 minor, hence m2 ≥ m1. From (1.11), we know that Gb(D) has Mcdeg(Gb(D))=intdeg(G(D)).
Since Gb(D) is basic, it has the lowest internal degree, hence Gb(D) is an optimal and minimal generator matrix.
Hence, for (n, 1) and (n, 2) convolutional codes, we can obtain an optimal and minimal generator matrix by Procedure 3, and of course is noncatastrophic. Moreover, there are some convolutional codes can be generated by an optimal PGM which is obtained by Procedure 3, and we conclude that it has the lowest McMillan degree among all optimal generator matrices.
Theorem 13 For an (n, k) convolutional code C with k ≥ 3, suppose G(D) is an optimal generator matrix where the separations are of the same value. Then there exists an optimal and minimal generator matrix for C.
Proof: It is a trivial case since the optimal generator matrix G(D) has the separations are all the same, hence the effectively lower-triangular matrix with respect to G(D) is a nonsingular
matrix. So all generator matrices for C is optimal, hence we can obtain a minimal and optimal generator matrix for C.
Theorem 14 For an (n, k) convolutional codes C with k ≥ 3, suppose C can be generated by an optimal and basic generator matrix with the lower external degree Gb(D), where Gb(D) has the separations of the form
s(Gb(D)) = (α, . . . , α, β)
for some positive integers α and β with α < β; the first k − 1 separations of Gb(D) are the same and the last separation is greater than the first k − 1 separations. And suppose every row of Gb(D) has only one row degree position. Then among all optimal generator matrices, there exists an optimal PGM with the lowest McMillan degree for C.
Proof: By Procedure 2, we can always obtain an optimal and basic generator matrix Gb(D) with the lowest external degree for C. Suppose Gb(D) has k rows, denoted by gb,i(D), ∀ 1 ≤ i ≤ k, and let mk of Gb(D) be δ and mk−1 of Gb(D) be ν. By Corollary 2, if δ ≥ ν, then Gb(D) is a minimal and optimal PGM. Suppose δ < ν. If Gb(D) is reduced, then Gb(D) is canonical and hence is minimal. It is a contradiction that δ < ν. Hence Gb(D) is not reduced and of course is not canonical. Since Gb(D) has the lowest external degree among all optimal and basic PGMs, the submatrix which consists of the first k − 1 rows of Gb(D) forms a canonical generator matrix for the supercode spanned by gb,1, gb,2, . . . , gb,k−1, denoted by Gs1(D). And since Gb(D) is not reduced, if gb,k(D) has greater degree in some position than the degree of any one of the first k − 1 rows in the same position, it will be reduced until it is not greater than them.
Also, we can find that ν is the sum of row degrees of gb,i(D), ∀ 1 ≤ i ≤ k − 1. Suppose ν is determined from one of the (k − 1) × (k − 1) minors which are obtained from gb,k(D) and k − 2 rows of Gs1(D), W.L.O.G, let the omitted row be gb,j(D) for some j and let this submatrix is denoted by Gs2(D). It follows that although Gs1(D) is reduced, Gs2(D) has larger internal degree. Hence gb,k(D) has greater degree in some position than the degree of gb,j(D) in the
same position. So we can reduce the row degree of gb,k(D) by Gb,j(D) until they have the same degree in this position, but it is a contradiction that gb,k(D) has less row degree in some position than the row degree of gb,j(D) in the same position.
In this way we will find that ν can be determined from Gs1(D). Since Gs1(D) is canonical, ν is just the sum of its external degree. Hence when we want to realize Gb(D), we need at least ν delay elements to realize the canonical submatrix. By Procedure 3, we multiply Gb(D) by A(D) as have the same indicator matrix, which is defined in Theorem 5. Hence if gAb,k(D) has greater degree in some position than the degree of any one of the first k − 1 rows of GAb(D) in the same position, we can reduce it by these k − 1 rows until gAb,k(D) has less degrees than the degrees of the first k − 1 rows of GAb(D) in the same positions. It follows that there exists an unimodular and effectively lower-triangular matrix U(D) of the form:
U(D) =
such that U(D)GAb(D) has the degree of the last row is not greater than the row degrees of the first k − 1 row of U(D)GAb(D), where the entries marked × are some possible polynomials. So the mk−1 of U(D)GAb(D) is ν, and since U(D) is an unimodular matrix, hence intdeg(GAb(D))
= intdeg(U(D)GAb(D)) = ν. It implies that U(D)GAb(D) has mk= mk−1. By Corollary 2, we
know that intdeg(U(D)GAb(D)) = Mcdeg(U(D)GAb(D)) = ν. Since we at least need ν delay elements to realize the optimal generator matrices for C2, we conclude that U(D)GAb(D) is the optimal PGM with the lowest McMillan degree among all optimal generator matrices.
By Procedure 3, we can get an optimal PGM G(D) with the lowest McMillan degree, however, we can not guarantee that there is no rational optimal generator matrix whose McMillan degree is less than Mcdeg(G(D)). Hence, we will give another way to obtain a optimal generator matrix with the lowest McMillan degree from the different idea. Suppose G(D) is a minimal generator matrix with Mcdeg(G(D)) = m for an (n, k) convolutional code C, and its minimal realization has the state space description (A, B, C, ¯D) with dimensions m×m, k × m, m × n, and k × n, respectively. Then if we work with the field F = GF (q), there are qmkQk−1
i=0(qk− qi) minimal generator matrices, whose minimal realizations are different. Also suppose (A, B, C, ¯D) and (A1, B1, C1, D1) are two minimal realizations of different minimal generator matrices, then there exists an m × k matrix M and a nonsingular k × k matrix N such that (A1, B1, C1, D1) = (A + MB, NB, C + M ¯D, N ¯D) [2]. By this result, when we have a minimal realization with degree m, we can obtain all different minimal realizations with degree m. Hence we conclude as follows:
Corollary 4 For an (n, k) convolutional code C, let Gc(D) is a canonical generator ma-trix with Mcdeg(Gc(D)) = µ. If the finite field F = GF (q), then for i ≥ 0, there are q(µ+i)kQk−1
j=0(qk − qj) generator matrices which have different minimal realizations with de-grees µ + i.
Since Gc(D) is a canonical generator matrix, so it is also a reduced generator matrix. Let Ai(D)Gc(D) = GAi(D), then we have GAi(D) is a reduced matrix since the indicator matrices G¯Ai(D) = ¯Gc(D), which is defined in Theorem 5. So intdeg(GAi(D)) = Mcdeg(GAi(D)) = extdeg(GAi(D)) = µ+i. Suppose GAi(D) has a minimal realization with state space description (Ai, Bi, Ci, ¯Di), where matrix Ai has dimension µ + i. Let GAi(D) has state space equation
s(t + 1) = s(t)Ai+ u(t)Bi
y(t) = s(t)Ci+ u(t) ¯Di
where s(t), x(t), and y(t) are the state vector, input vector, and output vector at time t.
By applying linear state variable feedback, we obtain a new state space description (Ai + MiBi, NiBi, Ci+ MiD¯i, NiD¯i) from (Ai, Bi, Ci, ¯Di) with a (µ + i) × k matrix Mi and a nonsin-gular k × k matrix Ni, where the input is chosen as u∗(t) = (u(t) + s(t)M)N−1 for some new input u∗(t) ∈ F (D)k. In other words, let G∗(D) = NiD¯i+ NiBi(D−1I − Ai)−1(Ci + MiD¯i), we have
y(D) = u(D)GAi(D) = u∗(D)G∗(D).
So G∗(D) is another generator matrix with McMillan degree µ + i. By choosing different (µ + i) × k matrices Mi’s and nonsingular k × k matrices Ni’s, we have all different state space descriptions (Ai+ MiBi, NiBi, Ci+ MiD¯i, NiD¯i). Let the collection Πi = {G(D)|NiD¯i+ NiBi(D−1I − Ai)−1(Ci+ MiD¯i)}, we obtain all generator matrices with McMillan degree µ + i.
Therefore, there are q(µ+i)kQk−1
j=0(qk− qj) generator matrices with McMillan degrees m + i.
By Corollary 4, we obtain all generator matrices from a canonical generator matrix. And then we check all of them to obtain an optimal and noncatastrophic generator matrix with the lowest McMillan degree, as shown in Figure 4.1. Since by Procedure 2, all convolutional codes always have an optimal and basic generator matrix, hence we will obtain an optimal and noncatastrophic generator matrix with the lowest McMillan degree µ + i. We conclude it as Procedure 4:
Figure 4.1: Sets of all generator matrices with equal McMillan degree.
Procedure 4
Step 1 Give an (n, k) convolutional code C, first we construct a canonical generator matrix Gc(D) for C, and by Procedure 1, we also construct an optimal PGM Go(D) for C. Set Mcdeg(Gc(D)) = µ, i = 0, and ˆG(D) = Gc(D).
Step 2 Set the minimal realization of ˆG(D) has state space description (Ai, Bi, Ci, ¯Di), and Ω = {G(D)|G(D) = N ¯Di+ NBi(D−1I − (Ai+ MBi))−1(Ci+ M ¯Di)}, where M is a (µ + i) × k arbitrary matrix and N is a k × k nonsingular matrix. Check whether there exists a non-catastrophic G∗(D) ∈ Ω such that T (D)Go(D) = G∗(D), where T (D) is an effectively lower-triangular matrix with respect to Go(D). If exists, then go to Step 4; else go to next step.
Step 3 Set i = i + 1, let
Ai(D) =
1 0 . . . 0 0 0 1 . . . ... ...
... ... ... 0 ...
0 0 . . . 1 0 0 0 . . . 0 Di
Construct a new generator matrix ˆG(D) = Ai(D)Gc(D), and go to Step 2.
Step 4 G∗(D) is the desired generator matrix, which is optimal and noncatastrophic with
Mcdeg(G∗(D)) = µ + i is the lowest.
Example 7 Suppose a convolutional code C can be generate by a canonical generator matrix G(D) as
G(D) = 1 0 1
D 1 + D 1 + D
! .
We find that Mcdeg(G(D))= 1. By Procedure 1, we obtain an optimal generator matrix Go(D) as
Go(D) = 1 0 1 1 1 + D 0
! ,
with s(Go(D)) = (2, 3). By Procedure 3, we can obtain all minimal generator matrices of the form Gm(D) = T (D)H(D), where T (D) is one of six 2 × 2 nonsingular scalar matrices over GF (2), and H(D) is one of the following four generator matrices:
Hence check all of them, we find that there are only 8 generator matrices which have the optimal, minimal, and noncatastrophic properties as follows:
G1(D) = 1 0 1
This is another way for obtaining an optimal and noncatastrophic generator matrix with lowest McMillan degree. Procedure 3 starts from a basic and optimal generator matrix, and Procedure 4 starts from a minimal generator generator matrix. Somehow Procedure 3 is also like the brute force, but this two procedures use different ideas. Procedure 4 is an easier way since when we use Procedure 4, we need to construct a minimal realization before every searching step because we want to get its state space description (A, B, C, ¯D). Although authors in [18] proposed that for a given convolutional code C they can from Procedure 2 to produce an optimal and basic generator matrix with lowest external degree, they can not guarantee that it has the lowest McMillan degree. For example, suppose a canonical generator matrix
with intdeg(G(D)) = extdeg(G(D)) = 4 and s(G(D)) = (2,2,2). By Procedure 2, we may get an optimal generator matrix with lowest external degree as
G∗(D) = first, we construct a basic and optimal generator matrix Gb(D) as follows:
Gb(D) = are unimodular and effectively lower-triangular matrix with respect to Gb(D) and m1 of U(D)Gb(D) ≤ 4. We find that there is a matrix Uel(D) such that
where Uel(D) is unimodular and effectively lower-triangular matrix with respect to Gb(D) and m1 of Uel(D)Gb(D) ≤ 4. Hence we conclude that Uel(D)Gb(D) = G′(D) is an optimal PGM with the McMillan degree 4. Although G′(D) has more external degree than G∗(D), it has the lowest McMillan degree 4, and hence is minimal.