• 沒有找到結果。

非均等糾錯迴旋編碼器其最少延遲元件數量之研究

N/A
N/A
Protected

Academic year: 2021

Share "非均等糾錯迴旋編碼器其最少延遲元件數量之研究"

Copied!
53
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

電信工程學系 碩士班

碩 士 論 文

非 均 等 糾 錯 迴 旋 編 碼 器 其 最 少 延 遲 元 件 數

量 之 研 究

A Partial Study on UEP-optimal Convolutional

Encoders with the Lowest McMillan Degree

研究生:鐘翊瑄

(2)

非均等糾錯迴旋編碼器其最少延遲元件數量之

研究

A Partial Study on UEP-optimal Convolutional

Encoders with the Lowest McMillan Degree

研究生:鐘翊瑄 Student: Yi-Hsuan Chung

指導教授:王忠炫 Advisor: Chung-Hsuan Wang

國立交通大學

電信工程學系碩士班

碩士論文

A Thesis

Submitted to Department of Communication Engineering

College of Electrical and Computer Engineering

National Chiao Tung University

in Partial Fulfillment of the Requirements

for the Degree of

Master of Science

in

Communication Engineering

September, 2010

(3)

非均等糾錯迴旋編碼器其最少延遲元件數量之

研究

學生:鐘翊瑄 指導教授:王忠炫

國立交通大學電信工程學系碩士班

摘要

在很多通訊系統中,例如廣播系統和多媒體通訊系統,資料對於錯誤會有不 同的敏感度,因此我們會設計一個具有非均等糾錯能力的通道編碼,使得比較重 要的資料能獲得較大的保護,能更有效地利用頻寬。近期迴旋碼的非均等糾錯的 能力常被拿來使用而且很多相關的研究也被發展。對迴旋碼而言,除了非均等糾 錯的能力之外,編碼及解碼的複雜度也是一個值得考慮的要素,且它會跟編碼器 所需最少數量的延遲元件數目有很大關係。為了兼具最佳非均等糾錯能力及最低 複雜度,我們提出一個程序能在有最佳非均等糾錯能力的多項式編碼器中尋找有 最低複雜度的多項式編碼器,也就是實現此多項式編碼器時所需的延遲元件是最 少的。然而,我們並不知道在具有最佳非均等糾錯能力的多項式編碼器中,只需 最少延遲元件就能實現的那個,其延遲元件數目會不會也是所有最佳非均等糾錯 能力的編碼器裡最少的一個。也就是說,在需要相同延遲元件數目的最佳非均等 糾錯編碼器中,是不是有具有最佳非均等糾錯能力且所需延遲元件數目也相同的 多項式編碼器存在。因此,我們提出在需要相同延遲元件數目的最佳非均等糾錯 編碼器中,會有最佳多項式編碼器存在的兩個條件,而且我們證明對於有特定參 數的迴旋碼,一定能找到滿足兩個條件且具有最佳非均等糾錯能力的多項式編碼 器。

(4)

A Partial Study on UEP-optimal Convolutional

Encoders with the Lowest McMillan Degree

Student: Yi-Hsuan Chung Advisor: Chung-Hsuan Wang

Department of Communication Engineering National Chiao Tung University

Abstract

In many applications, e.g., broadcast systems and multimedia communication systems, the source data are of different error sensitivities. To make the best use of the channel band-width, it is desirable to design a channel code with the capability of unequal error protection (UEP). Convolutional codes is one of the channel codes which have the UEP capability and more studies on convolutional codes for UEP are developed recently. Except for the UEP capability, coding complexity is also a key element which is dominated by the McMillan degree of a generator matrix for convolutional codes. To minimize the complexity while maintain the optimal UEP capability, in this thesis, we propose a procedure for obtaining a UEP-optimal polynomial generator matrix (PGM) which has the smallest McMillan degree among all UEP-optimal PGMs. However, it is unknown whether the McMillan degree of the resulting PGM is the same as the lowest McMillan degree of all possible UEP-optimal generator matrices. Hence, two sufficient conditions for a UEP-optimal PGM to have the smallest McMillan degree among all UEP-optimal generator matrices are derived. We also demonstrate the existence of the above desirable generator matrix for a sub class of convo-lutional codes.

(5)

誌謝

時光匆匆,轉眼兩年的碩士生涯即將告一段落。兩年前的懵懂無知到現在 能順利完成這篇論文,最要感謝的是我的指導教授,王忠炫老師,他領我進了這 個學術領域,在專業知識及研究上給予我諸多建議與幫助,引導我能夠找出研究 的方法及在學術上嚴謹的思考態度,也在每次我遇到問題時,引導我走向比較正 確的思考方向。感謝老師的諄諄教誨及耐心包容的指正與教導。再來感謝實驗室 的大師兄,翁健家學長,不論我在課業研究或是遇到其他問題,學長總是抽空與 我討論或是以他的經驗給我建議,使我不至於再次在一團迷霧中迷了路。謝謝實 驗室的學長姐力仁、白兔、標、郭胖、同學泡泡及學妹丁丁,在實驗室遇到很多 的問題,幸好有他們給予指教或是願意跟我一起討論,讓我能夠順利解決事情, 有他們的實驗室充滿了歡樂。謝謝其他實驗室的同學們及我的朋友們,使我這兩 年的生活過的很豐富很開心。最後要感謝我的家人,你們的支持與鼓勵,永遠是 我最大的力量。謝謝你們!

(6)

Contents

Chinese Abstract I English Abstract II Acknowledgement III Contents IV List of Figures VI

List of Tables VII

1 Introduction 1

2 Preliminaries 3

2.1 Basics of convolutional codes from an algebraic aspect . . . 3 2.2 Polynomial generator matrices and their properties . . . 6 2.3 Convolutional encoders for UEP . . . 12

3 Lowest McMillan degree of polynomial encoders for UEP 17

3.1 Smith decomposition on PGMs over the field F [D−1] . . . 17 3.2 Smith-McMillan decomposition on rational generator matrices over F (D−1) . 21 3.3 Optimal PGMs with the lowest McMillan degree . . . 22

(7)

5 Conclusions 42

(8)

List of Figures

2.1 Notations of the circuit elements. . . 5 2.2 The physical realization of G(D). . . 6 2.3 Two physical realizations of G1(D). . . 10

(9)

List of Tables

4.1 A PGM with McMillan degree m exists for binary (n, k) convolutional codes. 41 4.2 An optimal PGM with McMillan degree m exists among all optimal generator

(10)

Chapter 1

Introduction

In network communication, the packet header normally needs better protection. Due to the same reason of the above example, many communication systems are also require different levels of protections against errors. There are often some parts of the massage are more important, and the other parts are less important. Before transmitting massages to the channel, it is useful to use the specific code to encode the message we want to transmit such that those more important parts are transmitted reliably. Such codes are called unequal error protection (UEP) codes. Dunning and Robbins [9] introduced the notion of separation vector to measure the UEP capability of linear block codes, and they also showed that given any linear block code, there exists an optimal generator matrix which has the greatest separation. More researches for linear UEP block codes, refer to [1][10]-[13]. Recently, researches about UEP have been expanded to convolutional codes. Most of the studies are concentrated on developing new UEP schemes [14][15], but there are a few researches about the UEP capabilities of convolutional codes [6][7]. Several authors have pointed out that the separation vector can be used to measure UEP capability for convolutional codes, and authors in [7] have proposed that for any convolutional code, there exists an optimal generator matrix which has the greatest separation vector. He also proposed the procedures for finding the generator matrix with the best UEP capability among all generator matrices with the same special algebraic properties, such as basic and optimal generator matrices, canonical generator matrices and systematic generator matrices.

(11)

Since the number of delay elements in the convolutional encoder determines encodint and decoding complexity, author in [8] provided two procedures for obtaining a rational generator matrix with the lowest McMillan degree.

From the polynomial respect, we give a procedure for obtaining an optimal PGM with the lowest McMillan degree, but we do not know whether the McMillan degree of the obtained PGM is the minimal among all possible optimal generator matrices. We first focus on the existence of a PGM in all generator matrices which have the same McMillan degree, then we further try to find an optimal PGM among all optimal generator matrices with the same McMillan degree. If there always exist PGMs for these two situations, the desired PGM we obtain by our produre will have the smallest McMillan degree among all optimal generator matrices.

The rest of the thesis is organized as follows. In Chapter 2, we gives a brief review of definitions and algebraic theories of convolutional codes and the UEP capabilities of convolutional codes are also described. We introduce a procedure for obtaining optimal polynomial generator matrix which has the lowest MacMillan degree among all optimal PGMs in Chapter 3. In Chapter 4, we give two conditions for the an optimal PGM which has the same McMillan degree as the lowest McMillan degree of the optimal generator matrices. Finally, this work is concluded in Chapter 5.

(12)

Chapter 2

Preliminaries

2.1

Basics of convolutional codes from an algebraic

as-pect

In this section, we will review some definitions and properties used in the algebraic theory of convolutional codes [4]. Let F be a finite field. A field F ((D)) consisting of all one-sided formal Laurent series of the formP

i≥maiD

i with indeterminate D, where a

i ∈ F, ∀i, and m

can be any integer. The set of all polynomials which are Laurent series of the form A(D) = a0+ a1D + ... + aLDL is denoted by F [D]. Let p(D), q(D)are polynomials withe q(D) 6= 0,

then the rational function p(D)/q(D) has a unique Laurent series expansion and we call it a rational Laurent series. The set of all rational Laurent series forms a subfield of F ((D)), denoted by F (D). For a Laurent series x(D), its weight is the number of nonzero coefficients, denoted by w(x(D)). For a vector of Laurent series x(D) = (x1(D), x2(D), ..., xn(D)), the

weight is defined to be the sum of the weight of its components w(xi(D)), i.e., w(x(D) =

Pn

i=1w(xi(D))). Moreover, we defined w[A] = minx∈A\{0}w(x(D)) as the minimum weight

of nonzero elements in A, where A is a subset of F (D)n.

An (n, k) convolutional code is a k-dimensional subspace of F (D)n. An (n, k) convolu-tional code encoder is a linear device which maps a sequence of k-dimensional information words u(0), u(1),..., into a sequence of n-dimensional codewords x(0), x(1),.... Since a con-volutional code encoder is a linear system, each sequence in the encoding equation can be replaced by a corresponding polynomial, and the convolution operation replaced by

(13)

poly-nomial multiplication. Let the information sequence u(0), u(1),... be the coefficients of Laurent series form U (D) = P

i≥0u(i)Di. The codeword series X(D) =

P

i≥0x(i)Di can

be generated by X(D) = U (D)G because of x(i) = u(i)G. The difference between convo-lutional encoder and linear block code encoder is that convoconvo-lutional encoder has an internal m-dimensional state vector, s(i), and the i-th codeword x(i) depends on not only the i-th input u(i), but also the i-th state s(i). The formal description of the encoder is: s(0) = 0 and for i ≥ 0,

s(i + 1) = s(i)A + u(i)B, (2.1)

x(i) = s(i) + u(i) ¯D, (2.2)

where the for matrices A, B, C, ¯(D) have entries from F and dimensions m × m, k × m, m × n, k × n, respectively. The integer m is called the degree of the encoder and the encoding matrices (A, B, C, ¯D) is called the state space description of a convolutional code. State

S(D) = P

i≥0s(i)Di in generating-function form.Then multiply both sides of (2.1) and

(2.2) by Di and sum over all i. It follows that:

X i≥0 s(i + 1)Di =X i≥0 s(i)DiA +X i≥0 s(i)DiB ⇒X i≥1 s(i)DiD−1 =X i≥0 s(i)DiA +X i≥0 s(i)DiB, ⇒ S(D)D−1 = S(D)A + U (D)B, and X i≥0 x(i)Di =X i≥0 s(i)DiC +X i≥0 u(i)iD¯ ⇒ X(D) = S(D)C + U (D) ¯D.

Hence an explicit expression for S(D) and X(D) in terms of the input U (D) is:

S(D) = U (D)E(D) = U (D)B(D−1I − A)−1, (2.3)

(14)

Figure 2.1: Notations of the circuit elements.

If enlarging the set of input series U (D) in (2.4) to F ((D))k, the convolutional code asso-ciated with the encoding matrices (A, B, C, ¯D) is the F ((D))-rowspace of matrix G(D), so that we call G(D) a generator matrix for the code. According to linear algebra, if a Matrix M is multiplied by a nonsingular matrix T such that M0 = T M , the row space of M is equal to the row space of M0. That is, the row space of T (D)G(D) will not change if T (D) is a nonsingular matrix and that G(D) and T (D)G(D) generates the same convolutional codes. On the other hand, we can realize a generator matrix by using delay elements, adders and multipliers with a shorthand notation for the circuit elements [4], which is described in Figure 2.1.

Note that since we illustrate everything with the field GF (2), no multipliers will be necessary. For example, consider a generator matrix as follows:

G(D) =   1 + D 0 1 D 1 + D 0  

It is a 2 × 3 generator matrix and the corresponding circuit has been showed in Figure 2.2. There are tow input signal u1, u2, three output signal x1, x2, x3 and two delay, denoted by

s1, s2. Given an (n, k) convolutional code C, a generator matrix G(D) for C is a k×n matrix

over F (D) whose row form a basis for C. If the entries of G(D) are all polynomials, G(D) is called a polynomial generator matrix (PGM) for C. If G(D) is an rational generator matrix

(15)

Figure 2.2: The physical realization of G(D).

for C, then we can multiply each row by the least common multiple of denominators of the entries in that row and obtain a PGM for C. Since we always can transform a rational generator matrix into a polynomial generator matrix, we get the fact that any convolutional code has a polynomial generator matrix.

2.2

Polynomial generator matrices and their

proper-ties

Let G(D) be a k ×n polynomial generator matrix for a convolutional code C with entries gij(D), ∀1 ≤ i ≤ k, ∀1 ≤ j ≤ n. The i-th row of G(D), i.e. the n-vector (gi1(D), ..., gin(D)),

is denoted by gi(D), and the maximum degree of its components is defined as the degree of

gi(D). We now give the definitions of internal degree and external degree [4] as follows:

intdeg(G(D))=maximum degree of k × k minors of G(D), extdeg(G(D))=sum of the row degrees of G(D),

where a k × k minor of G(D) is the determinant of a k × k submatrix of G(D). The following theorem and definitions will be useful in our later discussions[4][5].

Theorem 1. [4] Let G(D) be a k × n polynomial generator matrix. If T (D) is any non-singular k × k polynomial matrix, then intdeg(T (D)G(D))=intdeg(G(D))+deg(deg(T (D))). In particular, intdeg(T (D)G(D)) ≥ intdeg(G(D)), with equality holds if and only if T (D) is unimodular1.

(16)

Definition 1. A k × n PGM is called basic if among all polynomial generator matrices of the form T (D)G(D), where T (D) is a nonsingular k × k matrix over F (D), it has the minimum internal degree.

Definition 2. A k × n PGM for a given convolutional code C is called reduced if among all polynomial generator matrices of the form U (D)G(D), where U (D) is a unimodular, G(D) has the minimum external degree.

For a generator matrix G(D), we can obtain an equivalent generator matrix by multi-plying any nonsingular matrix and G(D) together, and they generate the same code. Thus we review that a nonsingular matrix is composed of a series of elementary matrices, where there are three types of elementary matrix as follows:

Type 1. Interchange two rows(columns).

Type 2. Multiply a row(column) by a rational polynomial α(D).

Type 3. Add a rational polynomial multiple of a row(column) to another row(column). For instance, three types of 3 × 3 elementary matrices are showed below.

T ype1 :     0 0 1 0 1 0 1 0 0     , T ype2 :     1 0 0 0 α(D) 0 0 0 1     , T ype3 :     1 0 0 β(D) 1 0 0 0 1     .

Type 1 shows interchange 1st and 3rd row, Type 2 shows multiply 2nd row by a rational polynomial α(D), and Type 3 means add 1st row multiplied by a rational polynomial β(D) to 2nd row. Before knowing some theorem about being basic and reduced, we should know InvariantT heorem [4] first.

Theorem 2. [4] Let G(D) be an arbitrary k×n generator matrix. There exists finite number of elementary row and column operations which reduce G(D) to a diagonal matrix. That is, G(D) = W (D)Γ(D)V (D), where W (D) is a k × k unimodular matrix, V (D) is a n × n

(17)

unimodular matrix and Γ(D)is a k × n diagonal matrix as follows: Γ(D) =        γ1(D) 0 . . . 0 0 . . . 0 0 γ2(D) . .. 0 0 . .. 0 .. . . .. . .. ... ... . . . ... 0 . . . 0 γk(D) 0 . . . 0        ,

where γi(D)|γi+1(D), for i=1,...,k-1, and γi(D) = ∆i(D)/∆i−1(D), in which ∆i(D) is the

greatest common divisor (g.c.d) of the i × i minors of G(D).

Here, the diagonal entries of Γ(D) are called the invariant f actors of G(D). We can start to know some fundamental properties for polynomial generator matrix now.

Theorem 3. [4] A k×n PGM G(D) is basic if and only if one of the following six conditions satisfies:

(1) The invariant factors of G(D) are all 1. (2) The g.c.d of the k × k minors of G(D) is 1.

(3) G(α) has rank k for any α in the algebraic closure of F. (4) G(D) has a polynomial right inverse.

(5) If y(D) = x(D)G(D), and if x(D) ∈ F [D]n, then u(D) ∈ F [D]k.

(6) G(D) is a submatrix of a unimodular matrix.

Giving an example, suppose a generator matrix G(D) for C is

G(D) =   1 D 1 1 0 0  

Doing Smith decomposition on G(D), we get

G(D) =   0 1 1 0     1 0 0 0 1 0       1 0 0 1 D 1 0 1 + D 1    

(18)

Theorem 4. [4] A k×n PGM G(D) is reduced if and only if one of following three conditions is satisfied.

(1) If we define the indicator matrix ¯G for the highest-degree terms in each row of G(D) by

¯

Gij = coeffDei(gij(D )),

where ei is the row degree of i-th row of G(D), then G(D) has rank k.¯

(2) extdegG(D)=intdegG(D)

(3) For any k-dimensional polynomial vector u(D) = (u1(D), ..., uk(D)),

deg(u(D )G (D )) = max

1 ≤i ≤k(deg(ui(D )) + deg(gi(D ))).

A generator matrix G(D) can be implemented in many ways. Given any implementa-tion, the system behavior can be completely described by a set of equations which involves the input, state variables and output. We use a quadruple (A, B, C, ¯D),called state space description, to describe the realization as introduced before. Also, the generator matrix G(D) corresponding to the quadruple (A, B, C, ¯D) is

G(D) = ¯D + B(D−1I − A)−1C.

The McMillan degree of G(D) is defined to be the minimum degree of any realization of G(D).

Example 1. A (2,3) convolutional code can be generated by:

G1(D) =   1 + D2 0 D2 D 1 D  

There are two different physical realizations of G1(D) in Figure 2.3. The Figure 2.3 (a) is

(19)

Figure 2.3: Two physical realizations of G1(D).

We call the realization of G(D) a minimal realization if it contains the minimum degree among all realizations, i.e. size of A is smallest. Suppose (A, B, C, ¯D) is a realization of a generator matrix G(D). Let T be a m × m nonsingular matrix and

A1 = T AT−1, B1 = BT−1, C1 = T C, D1 = ¯D.

Then (A1, B1, C1, D1) is another realization of G(D) because that G(D) = ¯D + B(D−1I −

A)−1C = D1 + BT−1T (D−1I − A)−1T−1T C = D1 + B1(D−1I − A1)−1C1. Note that T is

called the similar transf ormation matrix. The realization is said to be reachable if we can reach any specified final state sf starting from any arbitrary initial state si by applying

an appropriate finite length input sequence. The realization is called observable if the state st at time t can be uniquely determined by observing a finite length segment of the output

sequence starting from time t, and knowing the input sequence for the corresponding set of sample values. Let (A, B, C, ¯D) be the state space description of a realization with m delay elements, the realization is reachable if and only if the matrix composed of A and B

RAB =           B BA BA2 .. . BAm−1          

has full column rank m [5]. The realization is observable if and only if the matrix SCA =



(20)

has full row rank m [5]. Besides, a realization is a minimal realization if and only if it is reachable and observable. Since we always can use similar transformation to reduce (A, B) to reachable form and reduce (C, A) to observable form, there exits a minimal realization for any generator matrix.

Any generator matrix G(D) has a minimal realization, and the degree of the minimal realization is called McMillan degree of G(D), denoted by Mcdeg(G(D)). In general, gener-ator matrices whose McMillan degree is lowest are called minimal genergener-ator matrices. We give a definition as follow:

Definition 3. For a given convolutional code C, generator matrix Gm(D) is called minimal

if among all possible generator matrices, Gm(D) has the fewest McMillan degree.

It follows from Definition 1 that among all PGM’s for a given convolutional code, those for which the internal degree is smallest are the basic PGM’s. However, the PGM’s whose external degree is smallest form a more interesting class called canonical PGM’s and this minimal external degree is called the degree of the code C, denoted by degC. It is proved that a PGM is canonical if and only if it is both basic and reduced [4]. A realization of G(D) is called the direct-form realization if it is implemented by realizing every row of G(D) separately and then combining them into a circuit. The meaning of external degree of a PGM is the degree of its direct-form realization, so that McMillan degree of G(D) must be smaller than external degree. Hence every PGM G(D) has the degree property as follow [4]:

intdeg(G(D)) ≤ Mcdeg(G(D)) ≤ extdeg(G(D)). (2.5)

According to (2.5), since a canonical generator matrix G(D) is basic and reduced, intdeg(G(D)) is the lowest and extdeg(G(D))=intdeg(G(D)). Hence it follows that Mcdeg(G(D)) is the lowest, i.e. G(D) is minimal.

(21)

2.3

Convolutional encoders for UEP

Remember that if A is a subset of F (D)n, w[A] = minx(D)∈A\{0}w(x(D)) as the minimum

weight of nonzero elements in A. For a convolutional code C, the f ree distance is defined as the minimum distance between codewords of C, denoted by df ree. Suppose u1(D) and u2(D)

are information vectors, the codeword vectors encoded by G(D) are y1(D) = u1(D)G(D)

and y2(D) = u2(D)G(D). Since a convolutional code is also a linear code, the codeword

y1(D) + y2(D) is also a codeword in C. So we find that:

df ree = wu1(D),u2(D){y1(D) + y2(D) : u1(D) 6= u2(D)}

= wu(D){y(D) : u(D) 6= 0}

= wu(D){u(D)G(D) : u(D) 6= 0},

it means that df ree is also the minimum weight of nonzero codewords. In general,

con-volutional codes are used for equal error protection, and the free distance is an effective parameter for performance evaluation [4]. Similar to the free distance, the UEP capability of a convolutional code can be described by the separation vector defined below.

Definition 4. Let C be an (n, k) convolutional code over finite field F, the separation vector s(G(D)) = (s(G(D))1, s(G(D))2, ..., s(G(D))k) with respect to a generator matrix G(D) for

C is defined by

s(G(D))i = w[{I(D)G(D) : Ii(D) 6= 0}], ∀1 ≤ i ≤ k

where I(D) = (I1(D), I2(D), ..., Ik(D)) denotes the vector of Laurent series of the input

sequences.

By above definition, the minimum of s(G(D))i’s is hence the free distance of the

convo-lutional code. Let the i-th information sequence Ii(D) fed into the i-th input of the encoder

at high signal-to-ratio (SNR), a large value of s(G(D))i implies a small bit-error-rate (BER)

[6]. Hence different value of s(G(D))i will make the different BER, and different values in

(22)

For two vector a = (a1, a2, ..., ak) and b = (b1, b2, ..., bk), define a ≥ b if and only if

ai ≥ bi, ∀1 ≤ i ≤ k. If a ≥ b or b ≥ a, we say the two vectors are comparable. Given a

convolutional code, G(D) is an optimal generator matrix if it has the greatest separation vector among all generator matrices.

Definition 5. For a convolutional code C, G(D) is called an optimal generator matrix if and only if for any other generator matrix G0(D), there exists a permutation φ such that s(G(D)) ≥ φ(s(G0(D))).

Consider a set of vectors X = {x1(D), x2(D), ...}, where xi(D) ∈ F (D)n for all i, we

denote hXi =  X i ai(D)xi(D) : ai(D) ∈ F (D) 

as the vector space of all linear combinations of elements in X. Given a convolutional code C, define Cρ = {c(D) : ∀c(D) ∈ C, w(c(D)) < ρ}. The following theorem is the necessary

and sufficient conditions for optimal generator matrices [7].

Theorem 5. [7] For a convolutional code C, define w(C) = {w(c(D)) : c(D) ∈ C}. A generator matrix G(D) is optimal if and only if

∃X(D) ⊆ G(D) such that hCρi = hX(D)i, ∀ρ ∈ w(C)

where X(D) ⊆ G(D) means that all rows of X(D) are contained in G(D).

It is proved that there always exists an optimal generator matrix for any convolutional code [7]. To find optimal generator matrices, we further define a class of monotonicallyweight− retaining matrices below.

Definition 6. A generator matrix G(D) with rows gi(D)’s ∀1 ≤ i ≤ k for an (n, k)

convolutional code is said to be monotonically weight retaining if and only if w[hgi(D)i] = w[C\hg1(D), g2(D), ..., gi−1(D)i], ∀1 < i ≤ k.

(23)

We also define a generator matrix to be weight retaining if it can be obtained from a monotonically weight-retaining matrix. Some properties of weight retaining matrices have been proved in [7] and shown below.

Theorem 6. [7] Let G(D) be a generator matrix of an (n, k) convolutional code C. Then the following statements are equivalent.

(1) G(D) is a weight retaining matrix for C.

(2) Given any other generator matrix A(D) with rows {a1(D), a2(D), ..., ak(D)} for C, k X i=1 w[hgi(D)i] ≤ k X i=1 w[hai(D)i].

(3) s(G(D)) = (w[hg1(D)i], w[hg2(D)i], ..., w[hgk(D)i]).

By Theorem 5 and 6, we can find that an optimal generator matrix is also a weight retaining generator matrix. Authors in [7] have proved that every weight retaining matrix for an (n, k) convolutional code C is an optimal generator matrix for C. Hence Procedure 1 is proposed to obtain a weight retaining PGM for a given convolutional code, and it is also optimal [7].

Procedure 1.

Step 1 Given an (n, k) convolutional code C.

Step 2 Choose a polynomial codeword c(D) ∈ C \ hg1(D), g2(D), ..., gi−1(D)i such that

w(c(D)) = w[C \ hg1(D), g2(D), ..., gi−1(D)i].

Step 3 Set gi(D) = c(D).

Step 4 If i < k, replace i = i + 1 and go to Step 2, else go to the next step.

Step 5 Set G(D) be the generator matrix with rows g1(D), g2(D), ..., gk(D), which will be

(24)

There are some relation between optimal matrices, and it is proved that two optimal generator matrix are related by ef f ectively lower − triangular matrix, which is defined as: Definition 7. Let G(D) be a generator matrix of (n, k) convolutional code C. Without loss of generality, assume s(G(D)) is in the nondecreasing order and has α different component values, each with βi repetitions, ∀1 ≤ i ≤ α. For a k × k matrix T (D) over F (D), let

tu,v(D) be the entry in position (u, v) of T (D), ∀1 ≤ u, v ≤ k. T (D) is called effectively

lower-triangular with respect to G(D) if and only if tu,v(D) = 0

∀Pi−1

l=1βl < u ≤

Pi

l=1βl, and 1 ≤ i ≤ α.

Then we have the following theorem [7]:

Theorem 7. [7] Given an (n, k) convolutional code C, without loss of generality, let G(D) be an optimal generator matrix of nondecreasing separation vector. For any k × k nonsingular matrix T (D) over F (D), T (D)G(D) is optimal if and only if T (D) is effectively lower-triangular with respect to G(D).

From this result, we can obtain many optimal generator matrices if we have one op-timal generator matrix. Among all the opop-timal generator matrices, we may be interested in a class of specified optimal generator matrices, which are optimal and basic. Suppose a optimal PGM G(D) with separation vector s(G(D)) in decreasing order given a convo-lutional code C. By Theorem 2, G(D) can be decomposed by Smith-Algorithm such that G(D) = W (D)Γ(D)V (D). Let W (D)V (D) = Ψ(D), we find that

G(D) = Ψ(D)V (D) =        γ11(D) 0 . . . 0 0 . . . 0 γ21(D) γ22 . . . 0 0 . . . 0 .. . ... . .. ... ... . .. ... γk1(D) γk2(D) . . . γkk(D) 0 . . . 0        V (D),

where γij ∈ F [D] for 1 ≤ i ≤ k and 1 ≤ j ≤ i. Let Gb(D) be the first k rows of

(25)

Ψ(D). Since Ψk(D) is a lower triangular matrix, Ψ−1k (D) is also a lower triangular. Here

Gb(D) = Ψ−1k (D)G(D), by Theorem 7, we know Gb(D) and G(D) have the same separation

vector, so that Gb(D) is an optimal generator matrix. Furthermore, V (D) is unimodular,

so there exists a polynomial matrix V−1(D) such that V (D)V−1(D) = I. Hence there is a polynomial right inverse G−1b (D) which is formed as the k columns of V−1(D) so that Gb(D)G−1b (D) = I. According to the properties of basic PGMs, Gb(D) is basic. By this

(26)

Chapter 3

Lowest McMillan degree of

polynomial encoders for UEP

In Chapter 2, we know that there exists a generator matrix with the lowest Mcdeg(G(D)) among all generator matrices given a convolutional code. Unfortunately, authors in [7] showed that not all convolutional code can generated by an optimal and minimal generator matrix. In the following we want to find an optimal PGM with the lowest Mcdeg(G(D)), and we give some theorem first.

3.1

Smith decomposition on PGMs over the field F [D

−1

]

A Laurent series has tha form A(D−1) = a−mD−m + a−m+1D−m+1 + ... + a0 is called

an anti-polynomial, which is a polynomial series in D−1 and has degree m, denoted by deg(A(D−1)). The set of all anti-polynomials is denoted by F [D−1]. A field with all one-sided anti-Laurent series, which are one-one-sided Laurent series in D−1, is denoted by F ((D−1)). Denote A rational subfield of F ((D−1)) consists of all rational anti-Laurent series, i.e., rational Laurent series in D−1, by F ((D−1)). For two anti-polynomials A(D−1) and B(D−1), if there exists an anti-polynomial C(D−1) such that A(D−1)C(D−1) = B(D−1), then A(D−1) is divisible by B(D−1), denoted by A(D−1)|B(D−1). For example, D−3 is divisible by D−7 since D−3· D−4 = D−7, that is, D−3|D−7.

Let G(D) be a PGM for an (n, k) convolutional code C. Let gij(D) be the i-th row and

(27)

G(D) over F (D−1) as below: G(D) = (gij(D))i,j = (Dρ( gij(D) Dρ ))i,j (3.1) where G−1(D−1) = (D−ρgij(D))i,j (3.2)

is a matrix of polynomial in D−1, ∀1 ≤ i ≤ k, and ∀1 ≤ j ≤ n. Use z−1 to replace D in (3.1), then we get G(z−1) = (z−ρ(gij(z −1 z−ρ ))i,j = z −ρ P (z) (3.3)

where P (z) is a polynomial matrix in z. By Smith-Algorithm, we decompose P (z) as P (z) = V (z)Φ(z)W (z), where V (z) and W (z) are k × k and n × n unimodular matrices respectively, and Φ(z) is a k × n diagonal matrix whose diagonal entries are invariant factors of P (z). So we can decompose G(z−1) as G(z−1) = V (z)z−ρΦ(z)W (z) = V (z)Λ(z)W (z), where Λ(z) is a diagonal matrix with the i-th diagonal element λi(z) = αi(z)/βi(z), and

(αi(z), βi(z)) = 1, and αi(z)|αi+1(z), βi(z)|βi+1(z), ∀1 ≤ i ≤ k, (3.4)

where (αi(z), βi(z)) is g.c.d. of αi(z) and βi(z). It is the so-called Smith−M cM illan

decom-position. It is known that the McMillan degree µ of G(z−1) is Pk

i=1deg(βi(z)) [5], i.e. the

sum of degree of denominator polynomial of invariant factors. Replace z by D−1 in G(z−1), then we have a generator matrix of the form as (3.1). Similar way, use Smith-Algorithm on G−1(D−1) respect to the field F (D−1), we get G−1(D−1) = V−1(D−1)Φ−1(D−1)W−1(D−1),

where

V−1(D−1) = V (z)|z=D−1, Φ−1(D−1) = Φ(z)|z=D−1, W−1(D−1) = W (z)|z=D−1.

Hence G(D) has a Smith-McMillan decompositions as G(D) = V−1(D−1)DρΦ−1(D−1)W−1(D−1) =

V−1(D−1)Λ−1(D−1)W−1(D−1), where Λ−1(D−1) is a k × k diagonal matrix with diagonal

en-tries λi(D−1) = αi(D−1)/βi(D−1), and

(28)

So we can calculate McMillan degree µ of G(D) as µ =Pk

i=1deg(βi(D−1)), and we conclude

it as follows [2]:

Theorem 8. [2] Let G(D) be a k × n generator matrix, and have invariant factors λi(D−1)

with respect to F (D−1), ∀1 ≤ i ≤ k. Assume that λi(D−1) = αi(D−1)/βi(D−1) with no

common factors, where αi(D−1) and βi(D−1) are polynomials in D−1. Then McMillan

degree µ =Pk

i=1deg(βi(D−1))

There are more theorems about degree are proposed in [16]. The following theorem is another way to obtain invariant factors without doing Smith-McMillan decomposition. Theorem 9. [8] Let F be a finite field. suppose G(D) be a k × n polynomial encoding matrix and let mi be the maximum degree of i × i minors of G(D), ∀1 ≤ i ≤ k. Suppose

i-th invariant factor of G(D) is γi(D), and di is the number makes γi(D) become delay-free,

that is, γi(D) = Ddiγ

0

i(D), γ

0

i(D) 6= 0, and let θi = deg(γ

0

i(D)). Then the i-th invariant

factor of G(D) regarded as a matrix over F (D−1) is D−θiγ

i(D)D−di/D−(mi−mi−1).

By the above theorem, suppose a k × n PGM G(D) with the i-th invariant factor γi(D),

∀1 ≤ i ≤ k, then it can be decomposed by the Smith-Algorithm over field F (D−1) as

G(D) = V−1(D−1)Γ−1(D−1)W−1(D−1), where Γ−1(D−1) is of the form:

Γ−1(D−1) =         Dθ1γ1(D)D−d1 D−(m1) 0 . . . 0 Dθ2γ2(D)D−d2 D−(m2−m1) ... ... . .. 0 . . . 0 Dθkγk(D)D−dk D−(mk−mk−1) 0 . . . 0         .

Note that m0 = 0, and diis the number makes γi(D) become delay-free and θi = deg(D−diγi(D)),

∀1 ≤ i ≤ k. From the theorem, we also know that degree of denominator of Γ−1(D−1)’s

entries are only related to mi − mi−1, ∀1 ≤ i ≤ k. By Theorem 8, we can obtain the

McMillan degree of G(D) = (m1− m0) + (m2− m1) + ... + (mk− mk−1). If mi− mi−1< 0

for some i, D−(mi−mi−1) will have positive degree in denominator of Γ

−1(D−1)’s entries, and

(29)

Corollary 1. [8] Suppose G(D) is a k × n PGM for a convolutional code C, then we can get its McMillan degree µ as µ =Pk

i=1(mi−mi−1)+ without decomposing by the Smith-McMillan

algorithm where

(mi − mi−1)+ = max{mi− mi−1, 0}.

By (3.5), we find that for any k × n PGM G(D) with the maximum degree of i × i minors mi, ∀1 ≤ i ≤ k,

Dmk−mk−1|Dmk−1−mk−2, Dmk−1−mk−2|Dmk−2−mk−3, ..., Dm2−m1|Dm1. (3.6)

Hence we know that

m1 ≥ m2− m1 ≥ ... ≥ mk−1− mk−2 ≥ mk− mk−1. (3.7)

Let µ − mk= m1+ (m2− m1)++ ... + (mk− mk−1)+− mk, where µ is MaMillan degree of

G(D) and mk is the maximum degree of k × k minors of G(D), that is, internal degree of

G(D). So, by the above theorem, we have

Case 1. If mk− mk−1 ≥ 0. Hence from (3.7) we know that mi− mi−1≥ 0, ∀1 ≤ i ≤ k. So

µ − mk= mk− mk = 0, we get that µ = mk.

Case 2. If mj − mj−1 < 0 and mi − mi−1 ≥ 0, ∀1 ≤ i ≤ j − 1, ∀2 ≤ j ≤ k. Hence from

(3.7) we know that mt− mt−1 < 0, ∀j ≤ t ≤ k. So we have µ − mk = mj−1− mk =

(mj−1− mj) + (mj − mj+1) + ... + (mk−1− mk) > 0. Hence, we get that µ > mk.

By above discussion, we conclude that for a PGM G(D), intdeg(G(D))≤Mcdeg(G(D)), the equality holds only if mk ≥ mk−1.

Remember that all PGM G(D) can be realized with the fewest degree equal to intdeg(G(D)) by (2.5). By Theorem 1, if G(D) is a k × n basic polynomial generator matrix with intdeg(G(D))=a, then T (D)G(D) has intdeg(T (D)G(D))=a + b, where T (D) is any non-singular k × k matrix with det(T (D)) has degree b. Therefore, if U (D) is a unimodular matrix such that U (D)T (D)G(D) has mk ≥ mk−1, where mk and mk−1 means the

maxi-mum degree of k × k and (k − 1) × (k − 1) minors of U (D)T (D)G(D), then we can realize U (D)T (D)G(D) with a + b delay elements. We have the following corollary:

(30)

Corollary 2. [8] Suppose G(D) is a basic generator matrix of a convolutional code C, and let intdeg(G(D)) = a. Suppose a nonsingular matrix T (D) with degree of determinant b. If there is a unimodular matrix U (D) such that U (D)T (D)G(D) has mk ≥ mk−1, where mk

and mk−1means the maximum degree of k×k and (k−1)×(k−1) minors of U (D)T (D)G(D),

then there exists a realization with a + b delay elements.

Although a circuit may contain feedback loop, there exists a realization with the fewest delay elements. Hence given a convolutional code C, there are many rational generator matrices, and each has their own minimal realization. For these rational generator matrices, we have a similar method to calculate the McMillan degree.

3.2

Smith-McMillan decomposition on rational

gener-ator matrices over F (D

−1

)

We have discussed the McMillan degree of PGMs, now we want to talk about the McMil-lan degree of rational generator matrices. If G(D) is a k × n rational generator matrix. Suppose L(D) is l.c.m.of denominator of gij, where gij is the entries of G(D), ∀1 ≤ i ≤ k

and ∀1 ≤ j ≤ n. Then we get that 1

L(D)Gp(D) = G(D),

where Gp(D) is a polynomial generator matrix and has a invariant factor decomposition

form as Gp(D) = A−1(D−1)Γ−1(D−1)B−1(D−1) over F [D−1]. Suppose the invariant factors

are γi(D−1), ∀1 ≤ i ≤ k. If degree of L(D) is d, then we divide L(D)1 by Dd on both

numerator and denominator. Hence we get a rational form L0D(D−d−1), whose numerator and

denominator are polynomial in D−1. It follow that D−d L0(D−1)Gp(D) = D−d L0(D−1)A−1(D −1 )Γ−1(D−1)B−1(D−1) = A−1(D−1)Λ−1(D−1)B−1(D−1),

where Λ−1(D−1) is a k×n diagonal matrix whose diagonal entries λi(D−1) = γi(D−1) D

−d

L0(D−1),

∀1 ≤ i ≤ k. Let λi(D−1) = αi(D−1)/βi(D−1) with (αi(D−1), βi(D−1)) = 1, where αi(D−1)

(31)

Hence we obtain the Smith-McMillan decomposition of G(D) = A−1(D−1)Λ−1(D−1)B−1(D−1),

and from Theorem 8, we know the Mcdeg(g(d))=Pk

i=1deg(βi(D−1)).

3.3

Optimal PGMs with the lowest McMillan degree

In previous section, we know that there exists an optimal polynomial generator matrices, but we further want to know how to find one with the lowest McMillan degree. Accord-ing to the ideas in [8], we can scratch the procedure roughly. By the method described in Section 2.3, we can obtain an optimal and basic generator matrix G(D) for any convolu-tional code C. By Theorem 1 and Theorem 7, we know that if T (D) is unimodular and effectively lower-triangular matrix with respect to G(D), then T (D)G(D) is optimal and intdeg(G(D))=intdeg(T (D)G(D)). Given a generator matrix G(D), its McMillan degree must larger or equal to its internal degree. Since G(D) is basic, it has the lowest internal degree. So we start from the internal degree of a basic PGM G(D), that is, the possible minimum McMillan degree for this code, we check whether there is a G0(D) whose McMillan degree is equal to the internal degree when we fix a internal degree value. Moreover, by Corollary 1, we know that Mcdeg(G(D))=Pk

i=1(mi − mi−1)+, where mi is the maximum

degree of all i × i minors. It imimplies that Mcdeg(G(D))≥ m1, that is, Mcdeg(G(D)) is

not less than the degree of all entries of G(D).

Let mi(G(D)) be mi of G(D), where mi is the maximum degree of i × i minors. Suppose

a k × n generator matrix G(D) with intdeg(G(D))=κ, and let GT(D) = T (D)G(D) where

T (D) is a unimodular and effectively lower-triangular matrix with respect to G(D), then intdeg(GT(D))=κ. If m1 of GT(D) is greater than κ, it implies that

M cdeg(GT(D)) ≥ m1(GT(D)) > κ = intdeg(GT(D)),

that is, Mcdeg(GT(D))¿intdeg(GT(D)). Since we work with the finite field F , suppose

F = GF (q), we know that the numbers of GT(D) with m1(GT(D)) < κ at most qκnkbecause

every element of GT(D) is of the form q0+ q1D + ... + qκDκ, where qi ∈ F , ∀1 ≤ i ≤ k. If

(32)

it implies T1(D) = T2(D). Hence there are finite number matrices T (D) such that m1 of

GT(D) is less or equal to κ. Among all these matrices T (D), if there is no any T (D) such

that GT(D) = T (D)G(D) with mk ≥ mk−1, where mk and mk−1 means the maximum

degree of k × k minors and (k − 1) × (k − 1) minors of GT(D) respectively, it means that

there is no such a PGM with McMillan degree equal to internal degree, i.e. no minimal and optimal PGMs. Then we multiply G(D) by A(D) to increase internal degree by 1, where A(D) is a k × k diagonal matrix of the following form:

A(D) =        a00+ a01D + ... + a0w1D w0 . .. ak10+ ak11D + ... + ak1w1D wk−1        ,

where w0+ w1+ ... + wk−1= 1. Then intdeg(A(D)G(D))=κ + 1. Let G0(D) = A(D)G(D),

and let G0T0(D) = T0(D)G(D), where T0(D) is unimodular and effectively lower-triangular

with respect to G0(D). Similarly, the number of G0T0(D) with m1(G0T0(D)) < κ + 1 at

most q(κ+1)nk because every element of G0

T0(D) is of the form q0 + q1D + ... + qκ+1Dκ+1,

where qi ∈ F , ∀1 ≤ i ≤ κ + 1. Hence there are finite number of matrices T0(D) such

that m1 of G0T0(D) is less or equal to κ + 1. By the same way, among these T0(D), if

there is a PGM T0(D)G(D) with mk(T0(D)G(D)) ≥ mk−1(T0(D)G(D)), then this PGM

G0T0(D) = T0(D)G(D) has McMillan degree equal to κ + 1 and is optimal. Otherwise, going

on that add 1 to internal degree and do the same thing again. Since we can not find any optimal generator matrix with McMillan degree equal to κ, so we know that G0T0(D) is the

desired optimal PGM with the lowest McMillan degree.

There are a lot of unimodular and effectively lower-triangular matrices T (D) with respect to G(D), so we discuss more detail about these matrices to reduce the number of T (D) we need to check hence reduce the complexity of this procedure. If G(D) is a generator matrix for a given convolutional code C, T (D) is any k × k nonsingular matrix, then T (D)G(D) will span the same codeword space as the codeword space G(D) spans. Also, a nonsingular matrix T (D) is composed of three types of elementary matrices. First elementary operation

(33)

is interchanging two row, and this operation does not change any k × k and (k − 1) × (k − 1) minors so that does not change mk(G(D)) and mk−1(G(D)). If an optimal PGM G(D) with

mk(G(D)) < mk−1(G(D)), it is not the desired PGM we want to find. Suppose we do the

first operation on G(D), the operation has no influence on its mk(G(D)) and mk−1(G(D)),

that is, for the new PGM T (D)G(D), where T (D) is a matrix make two rows of G(D) exchange, mk(T (D)G(D)) is still less than mk−1(G(D)), then T (D)G(D) is also not the

desired matrix. Due to the former cause, we will deduct Type 1 operation when we multiply G(D) by a nonsingular matrix. The second elementary row operation is multiplying a row with a polynomial α(D), this operation will increase the internal degree of G(D) by degree of determinant of α(D), so we will not execute this operation when fixing a internal degree value. The last operation, adding a polynomial multiple of a row to another row, does also not change mk, but it may change mk−1, that is, mk−1(T (D)G(D)) may be smaller and

equal than mk−1(G(D)), where T (D) is the matrix corresponding to Type 3 operation.

According the above discussion, we now give a way to find an optimal polynomial gener-ator matrix with the fewest McMillan degree. Given a convolutional code C ,by Procedure 1, we can obtain an optimal generator matrix, then we transform it to an optimal and basic PGM Go(D) by using the method introduced in Section 2.3. Let intdeg(Go(D))=κ.

As we mentioned before, we know that any PGM G(D) has Mcdeg(G(D))≥ m1, where

m1 is the maximum degree of 1 × 1 minors of G(D). Hence if there is a uni matrix

T (D) such that m1(T (D)Go(D)) is greater than κ, then Mcdeg(T (D)Go(D))>κ. Let

Π = {∀U (D) : m1(U (D)Go(D)) ≤ κ}, where U (D) is an unimodular and effectively lower

triangular with respect to Go(D). According to the above discussion, U (D) is only

com-posed of Type 3 operation. Since we work with finite field F , as we explained before, there are finite number of matrices in Π. By the previous corollary, we know that for a PGM G(D), intdeg(G(D))≤Mcdeg(G(D)), the equality holds when mk(G(D)) ≥ mk−1(G(D)).

Hence if there is a matrix Uel(D) ∈ Π such that mk(UelGo(D)) ≥ mk−1(UelGo(D)), it

implies that Mcdeg(UelGo(D))=intdeg(UelGo(D))=κ, and hence it is minimal and optimal.

(34)

there are no PGMs which is optimal and minimal. Then let Go(D) be multiplied by A(D),

where A(D) is a k × k diagonal matrix as follows:        a00+ a01D + ... + a0w1D w0 . .. ak10+ ak11D + ... + ak1w1D wk−1        ,

where w0 + w1 + ... + wk−1 = 1. Suppose GA(D) = A(D)Go(D), and we know that

intdeg(GA(D))=κ+1. Then again search all generator matrices UelAGA(D) with UelA ∈ ΠA,

where the collection ΠA= {UA(D) : m1(UA(D)GA(D)) ≤ κ + 1} and UA(D) is an

unimod-ular and effectively lower-triangunimod-ular matrix which is only composed of Type 3 operation, that is, adding a polynomial multiple of a row to another row. Similarly, there are fi-nite number of matrices in ΠA, if there exists a generator matrix UelAGA(D) such that

mk(UelAGA(D)) ≥ mk−1(UelAGA(D)), then it is an optimal PGM with the lowest McMillan

degree κ + 1; else let G(D) be multiplied by A(D) again, where A(D) is of the above form with the sum of degree of diagonal term is equal to 2, and recursive searching again. Now, we conclude this as below:

Procedure 2.

Step 1 Given an (n, k) convolutional code C, by Procedure 1 and later transformation, we obtain an optimal and basic generator matrix G(D), intdeg(G(D))=κ,

s(G(D)) = (s1, ..., s1 | {z } β1 , s2, ..., s2 | {z } β2 , ..., sα, ..., sα | {z } βα ). Set i=0.

Step 2 Let Σi = {A(D) : m1(A(D)G(D)) ≤ κ + i}, where A(D) is a k × k diagonal matrix

as follows: A(D) =        a00+ a01D + ... + a0w1D w0 . .. ak10+ ak11D + ... + ak1w1D wk−1        ,

(35)

where w0+ w1+ ... + wk−1 = 1.

Step 3 Choose an element from Σi, named Ac(D). Let Σi = Σi\Ac(D). If mk(Ac(D)G(D)) ≥

mk−1(Ac(D)G(D)), go to Step 5; otherwise, let Ω be a set consisting of all (k − 1) ×

(k − 1) submatrices in Ac(D)G(D) that satisfy

deg(det(Mi,ji(D)(D)) = mk−1(Ac(D)G(D)),

where Mi,ji(D), 1 ≤ i ≤ |Ω|, denotes i-th element in Ω and the entries in Mi,ji(D)

are collected from all rows except for the ji-th row in Ac(D)G(D). Let t = |Ω| and

Γ = St

i=1{ji}. Let Γ0 = 1, 2, ..., k \ Γ and Ψ = {U (D) : U (D) is U-ELT, i-th column

of U (D) is a unit vector ei, ∀i ∈ Γ0 and m1(U (D)Ac(D)G(D))≤ κ + i}. Check all

U0(D)Ac(D)G(D) with U0(D) ∈ Ψ. If there is a PGM and mk(U0(D)Ac(D)G(D)) ≥

mk−1(U0(D)Ac(D)G(D)), go to Step 5; else go to the next step.

Step 4 Check if Σi is empty. If yes, set i = i + 1 and go to Step 2; otherwise, go back to

Step 3.

Step 5 Set G∗(D) = U0(D)Ac(D)G(D) and it is an optimal PGM with the lowest McMillan

degree κ + i.

Example 2. Suppose a convolutional code C can be generated by an basic and optimal generator matrix G(D) as G(D) =     1 0 D5 0 1 1 D3 1 + D + D2 1 1 1 + D3 D2    

, where s(G(D)) = (2, 3, 3) and m3=intdeg(G(D))=6. By calculating its all 2 × 2 minors,

we get m2 = 7 > m3, so intdeg(G(D))6= Mcdeg(G(D)). Let A(D) = I. Since the numbers

of repetitions of separation values are 1 and 2 and the first 2 × 2 submatrix with degree equals to 7 is constructed by 1-st and 2-nd rows and second is constructed by 1-st and 3-rd rows, we fill out 1-st column by an unit vector and candidate for unimodular and effectively

(36)

lower-triangular U (D) are of the form: U (D) =     1 0 0 0 0     ,

let Ψ = {U0(D) : U0(D)isof abovef ormandm1(U0(D)G(D)) ≤ 6}. Check all U0(D)G(D)

with U0(D) ∈ Ψ and we find

Uel(D) =     1 0 0 0 1 + D D 0 1 1     and Uel(D)G(D) =     1 0 D5 0 1 1 D + D3 1 0 0 1 1 + D    

such that mk(Uel(D)G(D)) ≥ mk−1(Uel(D)G(D)), so G∗(D) = Uel(D)G(D) is the desired

(37)

Chapter 4

Optimal generator matrices with the

lowest McMillan degree

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.

(38)

let it be multiplied by a diagonal matrix as follow:           1 0 . . . 0 0 0 1 . . . ... ... .. . ... . .. 0 ... 0 0 . . . 1 0 0 0 . . . 0 Di          

Since Gc(D) is canonical, it is also reduced. Let GAi = Ai(D)Gc(D), then GAi is reduced

since the indicator matrices ¯GAi = ¯Gc(D) by Theorem 5. So intdeg(GAi)=Mcdeg(GAi)=extdeg(GAi)=µ+

i. Suppose GAi has a minimal realization with state space description (Ai, Bi, Ci, ¯Di), where

matrix Ai has dimension µ + i. By choosing different (µ + i) × k matrices Mi’s and

nonsin-gular k × k matrices Ni’s, we get all different state space description (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. 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

(39)

Step 3 Set i = i + 1, let Ai(D) =           1 0 . . . 0 0 0 1 . . . ... ... .. . ... . .. 0 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 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.

(40)

minimal realization (A, B, C, ¯D), where A, B satisfy RAB =           B BA BA2 .. . BAm−1          

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 −1

I − 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) = ¯

(41)

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,

¯

Am = (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,

(42)

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

mean any k × k lower-triangular matrices, for all i. When j = 0, BM = L0; j = 1,

B(A + M B)M = BAM + M BM = BAM + L20 = L1, then BAM = L1− L20 = L01; j = 2,

B(A + M B)2M = BA2M + BAM BM + BM BAM + BM BM BM = BA2M + L01L0 +

L0L01+ L30 = L2, we get BA2M = L2− (L01L0+ L0L01+ L30) = L02, and so on. Doing replacing

some terms by before results, we can obtain m new equations BAjM = 0, 0 ≤ j ≤ m − 1,

and they can be described by           B BA BA2 .. . BAm−1           M = RABM = 0 (4.7)

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 R

ABM0 = 0, then the

(43)

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 R

ABM = 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,

                  b11 b12 b21 b22 .. . ... bk1 bk2 b11a11+ b12a21 b11a12+ b12a22 b21a11+ b22a21 b21a12+ b22a22 .. . ... bk1a11+ bk2a21 bk1a12+ bk2a22                     m11 m12 . . . m1k m21 m22 . . . m2k  =                    × 0 . . . 0 × × . .. ... .. . . .. 0 × . . . × × 0 . . . 0 × × . .. ... .. . . .. 0 × . . . ×                    ,

we obtain equations as follows, 1 ≤ i ≤ k − 1:

bi1m1,(i+1)+ bi2m2,(i+1) = 0 (4.11)

bi1m1,(i+2)+ bi2m2,(i+2) = 0 (4.12)

..

. (4.13)

(44)

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. B =                    0 0 .. . ... 0 0 .. . 1 .. . ... 0 1 .. . ... 0 0                    ,

where the first and last 1 appear at bi2 and bj2, 1 ≤ i < j ≤ k. Since RAB is full

column rank, we get a21= 1. Then the two conditions become

a11 = a22+ m2i+ ... + m2j = a12+ m1i+ ... + m1j

and

m2,i+1 = 0, m1,i+1+ a22m2,i+1 = 0,

m2,i+2 = 0, m1,i+2+ a22m2,i+2 = 0,

..

. ...

m2,k = 0, m1,i+1+ a22m2,k = 0,

(45)

a12+ m1i that     1 0 0 1 1 1       m1i m2i  =     a11+ a12 a11+ a22 a12+ a22     ⇒ rank     1 0 a11+ a12 0 1 a11+ a22 1 1 a12+ a22     = rank     1 0 0 1 1 1    

So there exist at leat one solution in Case 1. case 2. B =                    0 0 .. . ... 0 0 1 1 .. . ... 1 1 .. . ... 0 0                    ,

where the first and last 1 appear at bi1, bi2 and bj1, bj2, 1 ≤ i < j ≤ k. Since we

operate over GF (2) and keep RAB full column rank, a11+ a21 = a12+ a22+ 1. The

first condition

a11+ m1i+ ... + m1j = a22+ m2i+ ... + m2j

=(a12+ m1i+ ... + m1j)(a21+ m2i+ ... + m2j)

and it can be solved by

m1i+ ... + m1j = a11, (4.19)

(46)

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

(47)

case 3. B =                                     0 0 .. . ... 0 ... 1 0 .. . ... .. . 0 1 1 .. . ... 1 1 0 ... .. . 1 .. . 0 .. . ... 0 0                                     ,

where the first 1 of the first column is at bi1, bj1 = bj2 = 1, the first row and the last

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 =(a12+ m1j + ... + m1p)(a21+ m2i+ ... + m2r) = v, m1,i+1 = ... = m1,k = 0, m2,j+1 = ... = m2,k = 0, a12m2,i+1 = 0, .. . a12m2,j = 0.

(48)

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, m2i= a21+ 1,m2,i+1 = ... = m2k = 0. a12=0: m1i= a11,m1,i+1 = ... = m1k = 0, m2j = a22,m2,j+1 = ... = m2k = 0. a12a22=0: m1i= a11,m1,i+1 = ... = m1k = 0, m2j = a22,m2i+ ... + m2,j−1 = a21+ a22,m2,j+1 = ... = m2k = 0. case 4. B =                                           0 0 .. . ... .. . 0 .. . 1 .. . ... .. . 1 0 0 .. . ... 0 0 1 ... .. . 0 .. . ... 1 ... 0 ... .. . ... 0 0                                           ,

where the first 1 and the last 1 of the first column are at br1 and bp1, the first 1 and

the last 1 of the second column are at bi2 and bj2, i < j < r < p. In this case, B has

(49)

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.

(50)

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.

(51)

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.

(52)

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.

數據

Figure 2.1: Notations of the circuit elements.
Figure 2.2: The physical realization of G(D).
Figure 2.3: Two physical realizations of G 1 (D).

參考文獻

相關文件

了⼀一個方案,用以尋找滿足 Calabi 方程的空 間,這些空間現在通稱為 Calabi-Yau 空間。.

This paper presents (i) a review of item selection algorithms from Robbins–Monro to Fred Lord; (ii) the establishment of a large sample foundation for Fred Lord’s maximum

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =&gt;

Courtesy: Ned Wright’s Cosmology Page Burles, Nolette &amp; Turner, 1999?. Total Mass Density

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most

(Another example of close harmony is the four-bar unaccompanied vocal introduction to “Paperback Writer”, a somewhat later Beatles song.) Overall, Lennon’s and McCartney’s

專案執 行團隊

• We shall prove exponential lower bounds for NP-complete problems using monotone circuits. – Monotone circuits are circuits without