By the procedure in former section, we can get an optimal PGM G(D) withe 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, another way to obtain a optimal generator matrix with the lowest McMillan degree from the different idea is presented in [8]. For an (n, k) convolutional code, suppose G(D) is a minimal generator matrix with Mcdeg(G(D))=m 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. If we work with the field F = GF (q), there are qmkQk−1
i=0(qk− qi) minimal generator matrices, whose minimal realization are different. Also, if there are two minimal realizations with the state space description (A, B, C, ¯D) and (A1, B1, C1, D1), then there exist an m × k matrix M and a nonsingular k × k matrix N such that (A1, B1, C1, D1) = (A + M B, N B, C + M ¯D, N ¯D) [3]. By this result, we introduce a corollary:
Corollary 3. [8] For an (n, k) convolutional code C, let Gc(D) is a canonical generator matrix with Mcdeg(G(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 degree µ + i.
According to the above corollary, if G(D) is a canonical generator matrix with Mcdeg(Gc(D))=µ,
let it be multiplied by a diagonal matrix as follow: obtain all generator matrices with McMillan degree µ + i. Then we check all of them to obtain an optimal generator matrix with the lowest McMillan degree. The following pro-cedure can take us to find the optimal generator matrix with the lowest McMillan degree [8].
Procedure 3.
Step 1 Given 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).
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) = NiD¯i+ NiBi(D−1I − Ai)−1(Ci+ MiD¯i)}, where M is a (µ + i) × k arbitrary matrix and N is a k × k nonsingular matrix.
Step 3 Set i = i + 1, let
Step 4 G∗(D) is the desired generator matrix, which is optimal with Mcdeg(G∗(D))=µ + i is the lowest.
This is another way to obtain an optimal generator matrix with the lowest McMillan degree. In Procedure 3, we find an optimal polynomial generator matrix Gp(D) which has the lowest McMillan degree µ1 among all optimal polynomial generator matrices. However, we can find an optimal rational generator matrix Gr(D) which has the lowest McMillan degree µ2 among all optimal generator matrices by Procedur 4, and µ2 is smaller or equal to µ1 surely. Therefore, we wonder whether µ1 is equal to µ2, that is, are the McMillan degree of Gp(D) we find by Procedure 3 and the McMillan degree of Gr(D) obtained by Procedure 4 equal? If the McMillan degree µ1 and µ2 are the same, we can use Procedure 3 to find the optimal generator matrix with the lowest McMillan degree and can save much time at the same time since that we have to check whole generator matrices with the same McMillan degree in Procedure 4 and we just check some polynomial generator matrices in Procedure 3. We divide this question into two parts. First, dose there exist a polynomial generator matrix among all generator matrices which have the same McMillan degree when given a convolutional code. Second, if there is a polynomial generator matrix among all generator matrices with the same McMillan degree, what is the relationship of this polynomial generator matrix and other rational generator matrices. We sketch the deduction as below.
Given an (n, k) convolutional code C generated by a generator matrix G(D) and its
minimal realization (A, B, C, ¯D), where A, B satisfy
is full column rank [5]. We can obtain other minimal realizations (A + M B, N B, C + M ¯D, N ¯D) by choosing a different k × k nonsingular N and a different m × k matrix M , and the corresponding generator matrix G0(D) = N ¯D + N B(D−1I − (A + M B))−1(C + M ¯D).
Since B, C, ¯D, N are all scalar matrices, they have no effects on deciding that G(D) is rational or polynomial. We only focus on this term (D−1I − (A + M B))−1, and expand it as follows
(D−1I − (A + M B))−1 = (D−1I − A0)−1 = 1
det(D−1I − A0)adj(D−1I − A0),
where A0 = A + M B. Because A0 is a scalar matrix, det(D−1I − A0) is a polynomial in D−1 with highest degree term D−m; adj(D−1I − A0) is matrix whose entries are polynomial in D−1 with highest degree at most D(m−1) since the entry on i-th row and j-th column is determinant of a submatrix which is formed by taking off i-th row and j-th column from (D−1I − A0). If det(D−1I − A0) is equal to D−m, we can get all entries in (D−1I − A0)−1 are polynomial so that G0(D) is a polynomial matrix. Now replacing D−1 by z, det(D−1I − A0)=det(zI − A0) = zm, then we get a characteristic equation zm = 0. According to Cayley-Hamilton theorem, matrix A0 satisfies its characteristic equation (A0)m = 0. Conversely, suppose (A0)m = 0, we know that (A0)mx = λimx = 0, x 6= 0, so that λim = 0, λi = 0,
∀i. We get all eigenvalues of A0 are equal to zero, then characteristic equation of A0 is zm = 0. Hence we know if (A0)m = (A + M B)m = 0, then the generator matrix G0(D) is polynomial. This question is transformed to that whether there is a m × k matrix M such that (A + M B)m= 0 when given a minimal realization (A, B, C, ¯D).
For a minimal realization (A, B, C, ¯D), the corresponding generator matrix G(D) = D+B()¯ D−1I−AC. Other minimal realization with the same McMillan degree can be acquired
by choosing different a different k × k nonsingular N and a different m × k matrix M , and the corresponding generator matrix
G0(D) = N ¯D + N B(D−1I − (A + M B))−1(C + M ¯D) (4.1)
= N (I + B(D−1I − (A + M B))−1M ) · G(D) = T (D) · G(D), (4.2) where T (D) = N (I + B(D−1I − (A + M B))−1M ). From (4.2), we know the relation between G0(D) and G(D) can be described by a transformation matrix T (D). When given an optimal generator matrix G(D) with nondecreasing vector, if transformation matrix T (D) is a lower-triangular matrix, then G0(D) = T (D)G(D) is also optimal since a lower-triangular matrix is also effectively lower-triangular. Because that N is a arbitrary k × k matrix and I is identity, let N be a lower-triangular matrix, if B(D−1− (A + M B) is lower-triangular, T (D) will be a lower-triangular matrix. To sum up, suppose we can find a m × k matrix such that (A + M B)m = 0 and B(D−1I − (A + M B))−1M is lower-triangular at the meanwhile, the new generator matrix given M and arbitrary lower-triangular k × k matrix N is polynomial and optimal. Again, we describe our discussion below.
Extract D from (D−1I − (A + M B))−1,
(D−1I − (A + M B))−1 = [D−1(I − D(A + M B))]−1 = D(I − D(A + M B))−1.
Let ¯A be (D(A + M B)). Since (A + M B)m = 0,
A¯m = (D(A + M B))m = Dm(A + M B)m = 0,
we get ¯Am = 0. Now decomposing I − ¯Am as follows:
I − ¯Am = (I − ¯A)(I + ¯A + ¯A2+ ... + ¯Am−1) = I
since ¯Am = 0. Hence we know the inverse matrix of (I − ¯A) is (I + ¯A + ¯A2 + ... + ¯Am−1), that is,
(I − D(A + M B))−1 = (I − ¯A)−1 = I + ¯A + ¯A2+ ... + ¯Am−1.
Back to the original equation, we get
B(D−1I − (A + M B))−1M = B[D(I − D(A + M B))−1]M (4.3)
= D · B(I − D(A + M B))−1M (4.4)
= D · B(I + ¯A + ¯A2+ ... + ¯Am−1)M (4.5)
= D · B(I + D(A + M B) + D2(A + M B)2+ ... + Dm−1(A + M B)m−1)M. (4.6) For (4.6), we can see that every term in equation has different degree, i.e. the scalar matrix with degree Di is B · (A + M B)i−1M . If we want B(D−1I − (A + M B))−1M be lower-triangular, B(A + M B)jM , 0 ≤ j ≤ m − 1, should be lower-triangular. Since that addition of two lower-triangular matrices is a lower-triangular matrix and multiplication of two lower-triangular matrices is also a lower-triangular matrix, we can change these m equations B(A + M B)jM , 0 ≤ j ≤ m − 1, to the following m equation. Let Li and L0i and they can be described by
Now we have two conditions for finding an optimal PGM with the lowest McMillan degree. Given an (n, k) convolutional code can be generated by an optimal generator matrix G(D) with the lowest McMillan degree µ, the minimal realization of G(D) is (A, B, C, ¯D).
If there exists a m × k matrix M0 such that (A + M0B)m = 0 and RABM0 = 0, then the matrix with minimal realization (A + M0B, NLB, C + M0D, N¯ LD) is the desired optimal¯
and polynomial generator matrix with the lowest McMillan degree µ, where NL is any k × k nonsingular matrix. There we give a proof for a special case m = 2 and arbitrary k.
Proof. For an (n, k) convolutional code. Let McMillan degree equal to 2 and (A, B, C, ¯D) is the minimal realization of a canonical generator matrix G(D), where A is a 2 × 2 matrix with (i, j)-th entry aij, B is a m × 2 matrix with (i, j)-th entry bij and RAB is full column rank. From the former discussion, we know that if there exists 2 × m matrix M such that (A + M B)2 = 0 and RABM = L, then we have optimal and minimal generator matrices with McMillan degree 2. The first condition (A + M B)2 is equal to zero if and only if the elements of A + M B satisfy the equation a011= a022 = a012a021, where a0ij is the the (i, j) entry of A + M B, that is,
a11+ m11b11+ m12b21+ ... + m1kbk1 (4.8)
=a22+ m21b12+ m22b22+ ... + m2kbk2 (4.9)
=(a12+ m11b12+ m12b22+ ... + m1kbk2)(a21+ m21b11+ m22b21+ ... + m2kbk1). (4.10) Directly solving the second condition RABM = L,
and 1 ≤ j ≤ k − 1,
(bi1a11+ bi2a21)m1,i+1+ (bi1a12+ bi2a22)m2,i+1 = 0 (4.15) (bi1a11+ bi2a21)m1,i+2+ (bi1a12+ bi2a22)m2,i+2 = 0 (4.16)
... (4.17)
(bi1a11+ bi2a21)m1k+ (bi1a12+ bi2a22)m2k = 0 (4.18) According to different B, we have four case:
case 1. column rank, we get a21= 1. Then the two conditions become
a11 = a22+ m2i+ ... + m2j = a12+ m1i+ ... + m1j
a12+ m1i that
So there exist at leat one solution in Case 1.
case 2. and it can be solved by
m1i+ ... + m1j = a11, (4.19) m2i+ ... + m2j = a22. (4.20)
The second condition
m1,i+1+ m2,i+1 = 0, (a11+ a21)m1,i+1+ (a12+ a22)m2,i+1 = 0, m1,i+2+ m2,i+2 = 0, (a11+ a21)m1,i+2+ (a12+ a22)m2,i+2 = 0,
... ...
m1,k + m2,k = 0, (a11+ a21)m1,k+ (a12+ a22)m2,k = 0,
by former relations, we can transform the later equations to (a11+ a21+ a12+ a22)m1,i+1 = m1,i+1 = 0,
...
(a11+ a21+ a12+ a22)m1,k = m1,k = 0,
we get m1,i+1 = ... = m1,k = m2,i+1 = ... = m2,k = 0 and substitute them to (4.19-20) to obtain the solution M where M satisfies that m1i = a11, m2i = a22, and m1,i+1 = ... = m1k = m2,i+1 = ... = m2k = 0.
case 3. row for that two positions of the two columns are 1 are the j-th row and the r-th row, and the last 1 of the second column is at bp2, i < j < r < p. In this case, B has full column rank equals to 2, hence A can be any 2 × 2 matrix. According to the two equations, we have conditions for solution M :
a11+ m1i+ ... + m1r = a22+ m2j + ... + m2p
Since there is one term of multiplication of two unknowns, we discuss the conditions
for different v. Solving these equations and we obtain the solutions M which satisfies the conditions under the different situations of A.
a12=1,a22=1: m1i= a11+ 1,m1,i+1 = ... = m1k = 0, full column rank equals to 2, hence A can be any 2 × 2 matrix. According to the two
equations, we have conditions for solution M :
a11+ m1r+ ... + m1p = a22+ m2i+ ... + m2j
=(a12+ m1i+ ... + m1j)(a21+ m2r+ ... + m2p) = v, m1,r+1 = ... = m1,k = 0, m2,i+1 = ... = m2,k = 0,
a21m1,i+1 = 0, ...
a21m1,r = 0.
There is also one term of multiplication of two unknowns, we discuss the conditions for different v and obtain the solutions M under the different situations of A.
a11=1,a21=1: m1i= a12+ 1,m1,i+1 = ... = m1k = 0, m2i= a22+ 1,m2,i+1 = ... = m2k = 0.
a21=0: m1r = a11,m1,r+1 = ... = m1k = 0, m2i= a22,m2,i+1 = ... = m2k = 0.
a11a21=0: m1r = a11,m1,i+1 + ... + m1j = a12,m1,r+1 = ... = m1k = 0, m2i= a22,m2,i+1 = ... = m2k = 0.
Arbitrary k × 2 B belongs to one of these four cases, hence we finish this demonstration.
Hence we know that there actually exists an optimal PGM with the McMillan degree 2 when given a optimal generator matrix with the McMillan degree 2 for an binary (n, k) convolutional codes. For other value of the McMillan degree over GF (2), we also give a table where we list the parameters which can satisfies the two equations for the existence of optimal PGM.
m k 1 any k 2 any k 3 1,2,3,4,5 4 1,2,3
Table 4.1: A PGM with McMillan degree m exists for binary (n, k) convolutional codes.
m k
1 any k 2 any k 3 1,2,3,4
4 1,2
Table 4.2: An optimal PGM with McMillan degree m exists among all optimal generator matrices with McMillan degree m for binary (n, k) convolutional codes.
Chapter 5 Conclusions
Authors in [7] proved that there exists at least one optimal generator matrix and pre-sented that there may not exist an optimal and minimal generator matrix by a counter example. To maintain optimal UEP capability and reduce the complexity, a procedure for finding a optimal generator matrix G0(D) with the lowest McMillan degree µ0 is proposed.
Using ideas in [8], we propose a procedure for obtaining an optimal PGM G(D) which has the lowest McMillan µ degree among all optimal PGMs. However, we do not know whether µ is equal to µ0. Hence we present two conditions for the existence of an optimal PGM among all optimal generator matrices which have the same McMillan degree. Since we just can give some special cases for the two conditions, we will try to prove that the two condi-tions are always true hence the optimal PGM G(D) will be the generator matrix which has the smallest McMillan degree among all optimal generator matrices.
Bibliography
[1] I. M. Boyarinov and G. L. Katsman, “Linear unequal error protection codes,” IEEE Trans. Inform. Theory, vol. IT-27, pp. 168-175, Mar. 1981.
[2] G. D. Forney, Jr., “Convolutional Codes I: algebraic structure,” IEEE Trans. Inform.
Theory, vol. IT-16, pp. 720-738, Nov. 1970.
[3] B. W. Dickinson, “A new charactirization of canonical convolutional encoders”, IEEE Trans. Inform. Theory, vol. IT-22, pp. 352-354, May 1976.
[4] R. J. McEliece, “The algebraic theory of convolutional codes,” in Handbook of Coding Theory, V. S. Pless and W. C. Huffman eds. Amsterdam, The Netherlands: Elservier, 1998, pp. 1065-1138.
[5] P. P. Vaidyanathan, Multirate Systems and Filter Banks, Englewood Cliffs, NJ:PrenticeHall, 1993.
[6] D. G. Mills and D.J. Costello, Jr., “Using a modified transfer function to calculate unequal error protection capabilities of convolutional codes,” in Proc. 1993 IEEE Int.
Symp. Inform. Theory, San Antonio, TX, Jan. 1993, p. 144.
[7] C. H. Wang, M. C. Chiu, and C. C. Chao, “On unequal error protection of convolutional codes from an algebraic perspective,” IEEE Trans. Inform. Theory, vol. IT-56, pp. 296-315, January. 2010.
[8] W. F. Wu, “A study on convolutional encoders for unequal error protection,” M. S.
thesis, Hsinchu, Taiwan, R. O. C.: National Chiao Tung University, 2009.
[9] L. A. Dunnung and W. E. Robbins, “Optimum encoding of linear block codes for unequal error protection,” Inform. Contr., vol. 37, pp. 150-177, 1978.
[10] E. K. Englund, “Nonlinear unequal error-protection codes are sometimes better than linear ones,” IEEE Trans. Inform. Theory, vol. 37, pp.1418-1420, Sept. 1991.
[11] W. J. van Gils, “Two topics on linear unequal error protection codes: Bounds on their length and cyclic code classes,” IEEE Trans. Inform. Theory, vol. IT-29, pp. 866-876, 1983.
[12] B. Masnick and J. K. Worf, “On linear unequal error protection codes,” IEEE Trans.
Inform. Theory, vol. IT-13, pp. 600-607, July 1967.
[13] V. A. Zinov’ev and V. V. Zyablov, “Codes with unequal protection of information symbols,” Probl. Peredach. Inform., vol. 15, no. 3, pp. 50-60, 1979.
[14] R. H. Morelos-Zaragoza and H. Imai, “Binary multilevel convolutional codes with un-equal error protection capabilities,” IEEE Trans. Commun., vol. 46, pp. 850-853, July 1998.
[15] K. Yamaguchi and H. Imai, “Construction of unequal error protecting convolutional codes from low rate convolutional codes,” in Proc. 1994 IEEE Int. Symp. Inform.
Theory, Trondheim, Norway, June 1994, p. 275.
[16] R. Johannesson and Z. X. Wan, “A linear algebra approach to minimalconvolutional encoders,” IEEE Trans. Inform. Theory, vol. 39, pp.1219-1233, 1993.