國 立 交 通 大 學
應用數學系
碩 士 論 文
迴旋碼編碼器其非均等錯誤保護特性之研究
A Study on Convolutional Encoders for Unequal
Error Protection
研 究 生:吳偉帆
指導教授:王忠炫 教授
共同指導教授:傅恆霖 教授
迴旋碼編碼器其非均等錯誤保護特性之研究
A Study on Convolutional Encoders for Unequal
Error Protection
研 究 生:吳偉帆 Student:Wei-Fan Wu
指導教授:王忠炫 Advisor:Chung-Hsuan Wang
共同指導教授:傅恆霖 Co-Advisor:Hung-Lin Fu
國 立 交 通 大 學
應 用 數 學 系
碩 士 論 文
A Thesis
Submitted to Department of Applied Mathematics
College of Science
National Chiao Tung University
in Partial Fulfillment of the Requirements
for the Degree of
Master
in
Applied Mathematics
Nov. 2008
Hsinchu, Taiwan, Republic of China
i
迴旋碼編碼器其非均等錯誤保護特性之研究
研究生:吳偉帆 指導老師:王忠炫 教授
共同指導老師:傅恆霖 教授
國 立 交 通 大 學
應 用 數 學 系
摘 要
在很多通訊系統中,我們所傳送的訊息也許有某些部分是較為其它部分來的重要。 因此當我們要傳送這個訊息進入通道前,我們希望這訊息中某些重要的部份能有更 大的保護,進而在接收端所得到的資料裡重要的部份能夠更可靠。傳送訊息進通道 前我們會對訊息使用非均等錯誤率編碼來給予不同程度的保護,傳送進入通道後, 再將接收端所收到的向量透過解碼來取得訊息。擁有較大保護的訊息部份將有較高 的錯誤更正能力,使得解碼出來的訊息能夠與原始傳送的訊息更為相近。早期大都 是運用線性區塊碼來進行非均等錯誤率保護,漸漸的也開始發展使用迴旋碼來進行 。文獻中已有研究指出,在任何的迴旋碼中,都會存在一個最佳編碼器來實行非均 等錯誤率保護。很不幸地,並非所有迴旋碼都能有兼具最小延遲元件及最佳非均等 錯誤率保護能力的最佳編碼器。因此給定任一迴旋碼,我們希望都能夠找到一個擁 有最少延遲元件的最佳編碼器。利用我們提出的定理結果,可以直接算出實現一個 迴旋碼編碼器所需要的最小延遲元件數,並且利用代數的方法來解釋出為什麼在一 個(n,k)迴旋碼的多項式編碼器中,所有 k×k 子矩陣其行列式之最大的度值不會超過 實現此編碼器所需要最少的延遲元件數。最後,我們提出一個簡單的演算法來得到 具有最少延遲元件數的最佳編碼器,並且保證此編碼器所產生出來的字碼,經過通 道後,將接收端所接收到的向量解碼不會發生無窮項位元錯誤的情形。最後,我們 亦證明了某一些迴旋碼皆會存在一個兼具最少延遲元件與最佳非均等錯誤率保護能 力的最佳編碼器。中 華 民 國 九 十 七 年 十一 月
A Study on Convolutional Encoders for Unequal Error
Protection
Student: Wei-Fan Wu
Advisor: Chung-Hsuan Wang
Co-Advisor: Hung-Lin Fu
Department of Applied Mathematics National Chiao Tung University
Hsinchu, Taiwan 30010
Abstract
In many communication systems, the transmitted data may have a structure that some parts of the information are more important than that in the other parts. Channel coding with unequal error protection (UEP) is usually employed in such systems so that stronger protection could be applied to the important parts to enhance the quality of communication. At the earliest, block codes were used to perform UEP mostly. Recently, studies of UEP have been expanded to convo-lutional codes. Previous results showed that there exists at least one UEP-optimal generator matrix with the greatest separation vector for every convolutional code. However, unfortunately, not all convolutional codes can have a UEP-optimal gen-erator matrix which also keeps the minimal complexity for both of encoding and decoding. In this thesis, we show that we can calculate the McMillan degree of a generator matrix directly without decomposing it by using the Smith Algorithm. From this result, we also illustrate why the internal degree of a polynomial genera-tor matrix is not greater than its McMillan degree. Besides, we provide a procedure for searching an optimal polynomial generator matrix with the lowest McMillan degree, and also we show that for some classes of convolutional codes there always exist generator matrices which are both optimal and minimal.
Keywords: Unequal error protection, optimal generator matrix, minimal generator matrix, noncatastrophic generator matrix, McMillan degree.
iii
謝誌
能完成這篇論文,首先要謝謝傅恆霖老師。在我最徬徨的時候,傅老師給了我 到外系去學習的想法。感謝電信系王忠炫老師,也就是我的指導教授,願意給我這 樣的機會。剛開始幾乎是什麼都不懂,到現在能夠寫出一篇論文來,王老師讓我在 這個學術領域中進步好多。在研究過程中,老師不厭其煩的教我好多東西,無論我 遇到什麼樣的瓶頸,老師總是會給我不同的方向,並微笑的鼓勵我支持我。老師教 學的態度嚴謹,但是私底下卻是個很風趣的人,也因為如此,跟著老師研究的這段 期間幾乎沒什麼壓力。 剛進到實驗室,真是個氣氛很棒的地方。謝謝阿尼、小白、一哥、還有維庭。 待在實驗室的這段期間,不論是課業、程式等方面都對我傾囊相授,也謝謝博士班 的力仁學長,有時候我有好多問題都是學長幫我解決的。在這裡特別要感謝的是, 博士班的健家學長。除了王老師之外,幫助我最大的就是學長了。在輔修電信所的 時候,好多知識背景都是透過學長的指引,我才能夠順利完成。當我研究遇到問題, 跑來求救時,學長總是抽空幫我解答,並給我一個正確的觀念。剛開始撰寫論文的 時候懵懵懂懂的不知道怎麼著手,也是學長詳細的跟我解說清楚才有現在這篇。 感謝我在應數系 SA126 研究室的同學,耿松、子鴻、柏任、世忠。每次待在研 究室的時候,總是會給我好心情。特別感謝耿松和子鴻,兩年來分別跟你們一起當 微積分助教,每當我有困難的時候,你們總是願意幫我代班,幫我把事情做到好。 感謝同學佩純,每次系辦有什麼事情通知,總是會收到妳的叮嚀交代。還有其他的 應數所同學們,在這學習的期間,真的感到很溫暖。 最後要感謝我的家人、舅舅,以及小阿姨。有你們的支持,我才能在沒有壓力 的環境下全心全意的做研究,有你們的鼓勵,我才能順利完成這篇論文。我願意與 你們及週遭關心我的人一同分享完成這篇論文的榮耀與喜悅。Contents
Abstract (in Chinese) . . . i
Abstract (in English) . . . ii
Acknowledgement . . . iii
Contents . . . iv
List of Figures . . . v
1 Introduction 1 2 Preliminaries 4 2.1 Basics of convolutional codes from an algebraic aspect . . . 4
2.2 Polynomial generator matrices and their properties . . . 8
2.3 Convolutional encoders for UEP . . . 17
3 Lowest McMillan degree of polynomial encoders for UEP 24 3.1 Smith decomposition on PGMs over the field F [D−1] . . . . 25
3.2 Smith-McMillan decomposition on rational polynomial generator matrices over F (D−1) . . . . 34
3.3 The least degree encoder for UEP with the noncatastrophic property . . . 35
4 Optimal PGMs with the lowest McMillan degree 39
List of Figures
2.1 Notations of the circuit elements. . . 7
2.2 The physical realization of G(D). . . 8
2.3 Two physical realizations of G1(D). . . 12
2.4 Minimal realization of G1(D), (b)Minimal realization of G2(D). . . 15
3.1 (a) A physical realization of rational G(D), (b) minimal realization of rational G(D). 33 3.2 A minimal realization of optimal PGM G′(D) for convolutional code C.. . . . 38
Chapter 1
Introduction
In many communication systems, the transmitted messages may have a structure that the information included in some parts of the message are more important than that in the other parts. Often these important parts of the message have to be received more reliably. Therefore, stronger protection should be applied to these parts than to the other parts. This requirement is called unequal error protection (UEP). For example, in packet transmission the header usually needs to be highly protected. Before transmitting messages to the channel, we use the UEP encoders to give different protection levels for different important level parts of the messages. At the earliest, block codes were mainly used to perform UEP. Dunning and Robbins [3] introduced a so-called separation vector to measure the error correction capability of a UEP block code, and in this sense they also proposed that given any linear block code, there exists an optimal generator matrix which has the greatest separation. For further researches on UEP block codes, we refer to [1][4][7][12][21].
Recently, more and more researches about UEP had been expanded to convolutional codes. Most of these researches concentrate on developing new UEP schemes [13][20]. Only few of them were about the UEP capabilities of ordinary convolutional codes [14][18]. Authors in [18] showed that for any convolutional code, there exists an optimal generator matrix which has the greatest separation vector, i.e., the best UEP capability. They also provided procedures to obtain some UEP generator matrices of special algebraic properties, such as basic
and optimal generator matrices, canonical generator matrices with the greatest separation vector, and systematic generator matrix with greatest separation vector. Unfortunately, not all convolutional codes have both the best UEP capability and the minimal property [18]. Although a procedure was provided in [18] to produce an optimal basic generator matrix with lowest external degree, it may not have the lowest McMillan degree.
The famous decoding scheme for convolutional codes is Viterbi Algorithm [11]. By the algo-rithm, we know that the number of delay elements in the convolutional encoder will determine the required decoding complexity. Hence we hope to obtain an optimal generator matrix with the lowest McMillan degree. In this thesis, we show that we can calculate the McMillan degree of a generator matrix without decomposing it by the Smith algorithm [15]. From this result, we also give a simple proof to illustrate why the internal degree of a polynomial generator matrix (PGM) is not greater than its McMillan degree. Also we provide a procedure to obtain an optimal polynomial generator matrix which guarantees the noncatastrophic property and has the lowest McMillan degree. Furthermore, we show that for all (n, 1), (n, 2) convolutional codes, and the (n, k) convolutional codes for k ≥ 3 which can be generated by the optimal generator matrices with single-value separations, there always exist generator matrices which are both optimal and minimal. And for the (n, k) convolutional codes with k ≥ 3 which can be generated by the optimal generator matrix Gb(D) with the separation vector of the form
(α, α, · · · , β) where α < β and Gb(D) is basic with the lowest external degree and every row
of Gb(D) has only one row degree position, there exists an optimal PGM which has the lowest
McMillan degree among all optimal generator matrices.
The rest of this thesis is organized as follows. In Chapter 2, we review some definitions and known results in the algebraic aspect of convolutional codes. Besides, UEP capabilities of convolutional codes are also described. In Chapter 3, we first show a theory so that we can understand the relations between the invariant factors of a polynomial generator matrix in finite field F[D] and in finite field F[D−1]. And our work is started from this result. In
Chapter 4, we provide two procedures to obtain the optimal and noncatastrophic PGM with the lowest McMillan degree based on the different ideas. Finally, we conclude our work in Chapter 5.
Chapter 2
Preliminaries
2.1
Basics of convolutional codes from an algebraic
as-pect
We first review some definitions and properties of convolutional codes from an algebraic aspect. Let F be a finite field. The power series of the form Pi≥maiDi is called an one-sided
Laurent series with indeterminate D, where ai ∈ F for i ≥ m, and m ∈ Z. The set of all
one-sided Laurent series is denoted by F ((D)). Laurent series of the form A(D) = a0+ a1D + ... +
aLDLare called polynomials, where L is a positive integer. The set of all polynomials over F
is denoted by F [D]. Let p(D), q(D) ∈ F [D] and q(D) 6= 0. It is well-known that the rational function p(D)/q(D) has a unique one-sided Laurent series expansion. For convenience, we call it a rational Laurent series. The set of all rational Laurent series forms the rational subfield of F ((D)), denoted by F (D). The number of nonzero coefficients of a polynomial y(D) is called the weight of y(D), denoted by w(y(D)), and the weight of an one-sided Laurent series is infinite. The weight of a vector of laurent series y(D) = (y1(D), y2(D), . . . , yn(D)) is defined
to be the sum of w(yi(D)), i.e., w(y(D)) =
Pn
i=1w(yi(D)).
We now introduce convolutional codes from a linear block codes aspect. Let C be an (n, k) linear block code over a finite field F . Suppose C is generated by the generator matrix G, where G is a k × n matrix of rank k with entries from F . Hence G maps a k-dimensional
information word x into a n-dimension codeword y′ by way of y′ = xG. If G is used not
just one information word, but a sequence of information words, say x(0), x(1), . . . , hence the i-th codeword y′(i) corresponding to the i-th information word x(i) is y′(i) = x(i)G, for all
i. Let the sequence of information vectors x(0), x(1), . . . be the coefficients of the Laurent series form X(D) = Pi≥0x(i)Di. For convenience, we call X(D) the generating function
of x(0), x(1), . . . with indeterminate D. We also use generating function on the codeword sequence, i.e., let Laurent series Y′(D) =P
i≥0y′(i)D
i be the codeword series. Then we get
that Pi≥0y′(i)Di = (P
i≥0x(i)Di)G, i.e., Y′(D) = X(D)G provided y′(i) = x′(i)G for
i ≥ 0.
An (n, k) convolutional encoder is a linear device which maps a sequence of k-dimension information words u(0), u(1), . . . , into a sequence of n-dimension codewords y(0), y(1), . . . , respectively. The difference between convolutional encoder and linear block encoder is that convolutional encoder has an internal m-dimension state vector, s(i), and the i-th codeword y(i) not only depends on the i-th input u(i), but also i-th state s(i). And the i-th state s(i) may be affected by the state s(i − 1) and input u(i − 1) at time i − 1. The formal description of the encoder is as follows: s(0) = 0 for i < 0, and for i ≥ 0,
s(i + 1) = s(i)A + u(i)B, (1.1) y(i) = s(i)C + u(i) ¯D, (1.2)
where matrices A,B,C, ¯D four matrices have dimensions m×m, k×m, m×n, k×n, respectively. The integer m is called the degree of the encoder. Also, the ordered quadruple (A, B, C, ¯D) is called the state space description of a convolutional code. Let generating function S(D) = P
i≥0s(i)D
follows that: P i≥0s(i + 1)D i =P i≥0s(i)D iA +P i≥0s(i)D iB ⇒ Pi≥1s(i)DiD−1 =P i≥0s(i)DiA + P i≥0s(i)DiB, ⇒ S(D)D−1= S(D)A + U (D)B, and P i≥0y(i)Di = P i≥0s(i)DiC + P i≥0u(i)DiD¯ ⇒ Y(D) = S(D)C + U (D) ¯D.
Hence an explicit expression for S(D) and Y (D) in terms of U (D) is as follows:
S(D) = U (D)E(D) = U (D)B(D−1I − A)−1, (1.3) Y(D) = U (D)G(D) = U (D)( ¯D + B(D−1I − A)−1C). (1.4)
By (1.4), we call G(D) a generator matrix of a convolutional code. From [15], we know that an (n, k) convolutional code is a k-dimension subspace of F (D)n. Hence, if a generator matrix
G(D) generates a convolutional code C, then its k rows generate C. In linear algebra, we know that if a matrix M is multiplied by a nonsingular matrix U such that M′ = UM, then
row space of M = row space of M′.Hence T (D)G(D) will not change this code space if T (D)
is a nonsingular matrix. For example, let two generator matrices G(D) and ˆG(D) as:
G(D) = 1 0 D 1 + D 1 0 ! , ˆ G(D) = T (D)G(D) = 1 0 D 1 ! 1 0 D 1 + D 1 0 ! = 1 0 D 1 1 D2 ! .
Since T (D) is nonsingular, the row spaces of G(D) and ˆG(D) are the same, and hence they generate the same convolutional code. We can use delay elements, adders, and multipliers with a shorthand notation for the circuit elements to realize generator matrices [12], which are described in Figure 2.1. Since we illustrate everything with respect to the field GF (2), we
Figure 2.1: Notations of the circuit elements.
do not need multipliers. For example, suppose
G(D) = 1 0 D 1 + D 1 0
!
is a 2 × 3 generator matrix for a given convolutional code C, i.e., two information sequences are encoded to three codeword sequences. So we use two delay elements to realize G(D), which is shown in Figure 2.2, where s1 and s2 means two delay elements, u1 and u2 means
two information sequences, and y1, y2, and y3 means three output sequences. Note that for
a given convolutional code, there are distinct generator matrices which can encode the same code. Some of them are polynomial generator matrices (PGM), for which the entries are all polynomials. And the others are rational polynomial generator matrices, for which the entries are rational polynomials. For any rational polynomial generator matrix G(D), let L(D) be the least common multiple (l.c.m) of all entries of G(D). This implies that G(D) = L(D)1 Gp(D),
where Gp(D) is a polynomial matrix. Since each row of Gp(D) corresponds to a row of G(D)
multiplied by L(D), Gp(D) is also a generator matrix. So, every convolutional code always has
a polynomial generator matrix. Next, we review several properties of polynomial generator matrices.
Figure 2.2: The physical realization of G(D).
2.2
Polynomial generator matrices and their properties
Let G(D) be a k × n polynomial generator matrix for a convolutional code C with entries gij(D), ∀ 1 ≤ i ≤ k, and ∀ 1 ≤ j ≤ n. Let the i-th row of G(D) be denoted by gi(D), i.e.,
gi(D) = (gi1(D), gi2(D), . . . , gin(D)), and the row degree of gi(D) be max{deg(gij(D))| j =
1, 2, ..., n}. Also, we define the internal degree and external degree [12] 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).
Note that a k × k minor of G(D) is the determinant of a k × k submatrix of G(D). The follow theorem provides a useful fact about the internal degree of a PGM.
Theorem 1 [12] 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(detT (D)). In particular, intdeg(T (D)G(D))≥ intdeg(G(D)), with equality holds if and only if T (D) is unimodular∗.
By way of internal degree and external degree, we obtain two PGMs which are basic PGMs and reduced PGMs.
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 polynomial generator matrix, we can use nonsingular transformations to obtain an equivalent generator matrix, which generates the same code. We review here that a nonsingular transformation is a composition of elementary matrices, where an elementary matrix is defined as one of follows:
• Type 1. Interchange two rows (columns).
• Type 2. Multiply a row (column) with a rational polynomial α(D).
• Type 3. Add a rational polynomial multiple of a row (column) to another row (column). We use 3 × 3 elementary matrices for example, and are shown below, where Type 1 shows interchange 1st and 3rd rows, Type 2 shows multiply 2nd row with a rational polynomial α(D), and Type 3 means replace 3rd row with (row 3+β(D)× row 1).
Type 1 : 0 0 1 0 1 0 1 0 0 , Type 2 : 1 0 0 0 α(D) 0 0 0 1 , Type 3 : 1 0 0 0 1 0 β(D) 0 1 .
The following result is known as the Invariant Theorem:
Theorem 2 [12] Let G(D) be a k × n polynomial generator matrix. There exist finite num-ber of elementary row and column operations which reduce G(D) into a diagonal polynomial matrix. That is, G(D) = W (D)Γ(D)V (D), where W (D) and V (D) are unimodular and Γ(D) is of the form: Γ(D) = γ1(D)
0
0 . . . 0 γ2(D) ... ... . .. 0 . . . 00
γk(D) 0 . . . 0 ,where γi(D)|γi+1(D), for i=1,. . . ,k-1, and γi(D) = ∆i(D)/∆i−1(D), where ∆i(D) is the
great-est common divisor (g.c.d) of all i × i minors of G(D) for i = 1, 2, . . . , n.
Here, the diagonal entries of Γ(D) are called the invariant factors of G(D). We know that a basic generator matrix has the fewest internal degree among all polynomial generator matrices. Therefore, we have:
Theorem 3 [12] 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.
For example, suppose a convolutional code C is generated by
G(D) = 1 1 1 1 0 1 + D D 1
! .
Then by the Smith decomposition on G(D), we get that
G(D) = 1 0 0 1 ! 1 0 0 0 0 1 0 0 ! 1 1 1 1 0 1 + D D 1 0 0 1 0 0 1 0 0 .
Hence by (1) of Theorem 3, the invariant factors of G(D) are all 1. Hence G(D) is a basic generator matrix.
There is a special generator matrix which is called noncatastrophic, and now we illustrate what is the catastrophic phenomenon. Suppose an information word u(D) is encoded by G(D) into codeword y(D) = u(D)G(D). Let y(D) be transmitted over a noisy channel and received as yr(D). The decoder must make an estimate of u(D), based on yr(D). The
decoding job is to find a codeword ˆy(D), which is closest to yr(D), and hope being that
ˆ
y(D) = y(D). Clearly, if the decoder’s estimate of y(D) is ˆy(D), its estimate of u(D) will be ˆu(D)= ˆy(D)K(D), where K(D) is an n × k right inverse of G(D). If we define codeword error by ec(D) = y(D) − ˆy(D), and the information error by eI(D) = u(D) − ˆu(D). Hence
we got that eI(D) = ec(D)K(D). A decoding catastrophic is said to have occurred if the
codeword error has finite weight, but the corresponding information error has infinite weight. Since ec(D) is a difference of codewords, it is a codeword. Hence have the following definition.
Definition 3 A generator matrix G(D) is said to be catastrophic if there is an informa-tion word of infinite weight u(D) ∈ F (D)k such that the corresponding codeword y(D) =
u(D)G(D) has finite weight.
For example, let a (2, 3) convolutional code be generated by a generator matrix
G(D) = 1 D 1 D 1 + D 1 + D2
! .
We can find that G(D) is catastrophic since give a infinite weight input u(D) = ( D
1+D+D2,1+D+D1 2),
we will get a finite weight output y(D) = (0, 1, 1) = u(D)G(D). In 1968, Messey and Sain proved the following:
Theorem 4 [14] If G(D) is a polynomial generator matrix for a convolutional code C, then the following three conditions are equivalent.
(1) No infinite weight input u(D) can produce a finite weight output y(D) = u(D)G(D).
(2) The g.c.d of all k × k minors of G(D) is power of D.
A PGM is said to be noncatastrophic if it satisfied one of these properties. Otherwise, it is called catastrophic.
Let Gb(D) be a basic generator matrix of a given convolutional code C.By Theorem 3 and
Theorem 4, the basic generator matrix Gb(D) has a property that the g.c.d of k × k minors of
Gb(D) is 1. Since 1 = D0 which is a power of D. So Gb(D) is also a noncatastrophic generator
matrix.
A generator matrix G(D) may have more than one physical realization. Among all of these realizations, the fewest number of delay elements is called McMillan degree of G(D).
Example 1 Let a (2, 3) convolutional code C be generated by:
G1(D) =
D 0 D 1 + D2 1 + D D2
! .
This implies that there are at least at least two distinct physical realizations of G1(D), see
Figure 2.3.
Figure 2.3: Two physical realizations of G1(D).
Also, we call the realization of G(D) is a minimal realization if it contains the minimum degree among all realizations. A realization of G(D) is called the direct-form realization if it is realized by realizing every row of G(D) directly and combine them into a circuit. Suppose
G(D) has a realization with degree m. So dimension of A is m in the state space description (A, B, C, ¯D). Let T be an m × m nonsingular matrix, and let
A1 = T AT−1, B1 = BT−1, C1 = T C, and D1 = ¯D.
This implies that G(D) = ¯D + B(D−1I − A)−1C = D
1 + BT−1T (D−1I − A)−1T−1T C =
D1 + C1(D−1I − A1)B1. So, (A1, B1, C1, D1) is also a state space description of G(D), and
from (A1, B1, C1, D1) we get another physical realization since we know the relations of the
input, the output, and the state. Note that T is called the similar transformation matrix. Consider a realization for a generator matrix G(D). The realization is called 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; and the realization is called observable if the state st
at time t can be uniquely determined by observing a finite length segment of output sequence starting from time t, and knowing the input sequence for the corresponding set of sample values. For a state space description (A, B, C, ¯D) of a realization with m delay elements, let
RAB = B BA BA2 ... BAm−1
be a matrix which is obtained by using A and B. By [17], this realization is reachable if and only if RAB has full rank m. Also, let
SCA =
C AC A2C . . . Am−1C
be a matrix which is obtained by using A and C. Again by [17], this realization is observable if and only if SCA has full rank m. Since a realization is a minimal realization if and only if
it is reachable and observable [17]. We can use similar transformation to obtain a realization which is reachable and observable, and thus is a minimal realization. For example, Figure 2.3(b) is the direct-form realization of G(D), and we can get its relations of input state and
output state:
(s1(i + 1), s2(i + 1), s3(i + 1)) = (s1(i), s2(i), s3(i))
0 0 0 0 0 1 0 0 0 + (u1(i), u2(i)) 1 0 0 0 1 0 ! ,
(y1(i), y2(i), y3(i)) = (s1(i), s2(i), s3(i))
1 0 1 0 1 0 1 0 1 + (u1(i), u2(i)) 0 0 0 1 1 0 ! .
Hence we have a state space description
(A, B, C, ¯D) = 0 0 0 0 0 1 0 0 0 , 1 0 0 0 1 0 ! , 1 0 1 0 1 0 1 0 1 , 0 0 0 1 1 0 ! .
Let the similar transformation matrix be
T (D) = 1 0 1 0 1 0 0 0 1 .
By using a similar transformation T , we obtain another state space description (A1, B1, C1, D1)
as A1 = T AT−1 = 0 0 0 0 0 1 0 0 0 , B1 = BT−1 = 1 0 1 0 1 0 ! , C1 = T C = 0 0 0 0 1 0 1 0 1 , D1 = ¯D = 0 0 0 1 1 0 ! .
This implies that the input state and output state are
(s1(i + 1), s2(i + 1), s3(i + 1)) = (s1(i), s2(i), s3(i))
0 0 0 0 0 1 0 0 0 + (u1(i), u2(i)) 1 0 1 0 1 0 ! ,
(y1(i), y2(i), y3(i)) = (s1(i), s2(i), s3(i))
0 0 0 0 1 0 1 0 1 + (u1(i), u2(i)) 0 0 0 1 1 0 ! .
By above, we find that at any time i the output (y1(i), y2(i), y3(i)) is independent of the first
state value s1(i). So we can rewrite the equalities without s1 as:
(s2(i + 1), s3(i + 1)) = (s2(i), s3(i)) 0 1 0 0 ! + (u1(i), u2(i)) 0 1 1 0 ! ,
(y1(i), y2(i), y3(i)) = (s2(i), s3(i))
0 1 0 1 0 1 ! + (u1(i), u2(i)) 0 0 0 1 1 0 ! .
Using the notation of state vector (s1, s2) to replace (s2, s3), we can realize this circuit which is
shown in Figure 2.3(a). Since it is reachable and observable, hence it is a minimal realization. So every generator matrix G(D) has a minimal realization, and the degree of minimal realization is called McMillan degree of G(D), denoted by Mcdeg(G(D)). Although there are so many generator matrices can generate the same convolutional code, their McMillan degree may not equal. For example, suppose a (2, 4) convolutional code C can be generated by two PGMs as follows: G1(D) = 1 1 + D + D2 1 + D2 1 + D D 1 + D + D2 D2 1 ! , G2(D) = 1 D 1 + D 0 0 1 + D D 1 ! .
Thus we realize this two PGMs with their minimal realizations, as shown in Figure 2.4. We find
Figure 2.4: Minimal realization of G1(D), (b)Minimal realization of G2(D).
that although G1(D) and G2(D) generate the same convolutional code, G1(D) has McMillan
a given convolutional code C, there are so many generator matrices can generate C, and each of them have different McMillan degree. We call G(D) is a minimal generator matrix if Mcdeg(G(D)) is not greater then all the others. Hence we give a definition as follows:
Definition 4 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.
From Definition 2, we know that a reduced generator matrix has the fewest external degree among all polynomial generator matrices. With this definition, the reduced generator matrix is proved to have some equivalent conditions as follows:
Theorem 5 [15] A k× n PGM G(D) is reduced if and only if one of the following three conditions satisfies:
(1) If we define the indicator matrix ¯G for the highest degree terms in each row of G(D) by
¯
Gij = coeff
Dei (gij(D)),
where ei is the row degree of i-th row of G(D), then ¯G has rank k.
(2) extdeg(G(D))=intdeg(G(D)).
(3) For any k-dimension polynomial vector u(D) = (u1(D), . . . , uk(D)),
deg(u(D)G(D)) = max
1≤i≤k(deg(ui(D)) + deg(gi(D))).
Example 2 Suppose a given convolutional code C can be generated by
G(D) = 1 0 D 1 + D 1 0
! .
Then from Theorem 2, we get that
G(D) = 1 0 1 + D 1 ! 1 0 0 0 1 0 ! 1 0 D 0 1 D + D2 0 0 1 .
Hence we know that all invariant factors of G(D) are all 1; so it is basic and hence noncatas-trophic. Also, since
¯
G = 0 0 1 1 0 0
! , has full rank, hence G(D) is also reduced.
A PGM Gc(D) is called canonical generator matrix if among all polynomial generator
matrices, Gc(D) has the lowest possible external degree. It is proved that a PGM is canonical
if and only if it is basic and reduced [15]. Hence in Example 2, G(D) is canonical since it is basic and reduced. External degree of a PGM corresponds to the degree of its direct-form realization, i.e., we can realize every row of a PGM directly with correspondent row degree and combine them into a circuit. So we know that McMillan degree is smaller than external degree. And latter, we will illustrate that internal degree is smaller than McMillan degree. Hence every PGM G(D) has the degree property as follows [15]:
intdeg(G(D)) ≤ Mcdeg(G(D)) ≤ extdeg(G(D)). (2.5)
By (2.5), we know that a canonical generator matrix G(D) is basic, so intdeg(G(D)) is the low-est, also it is reduced, so extdeg(G(D)) = intdeg(G(D)). Hence it follows that Mcdeg(G(D)) is the lowest, i.e., G(D) is minimal.
2.3
Convolutional encoders for UEP
For a convolutional code C, we define that free distance of C is the minimum distance between codewords of C, denoted by df ree. Since a convolutional code is a linear code, hence
if c1 and c2 are two codewords in C, then c1+ c2 is also a codeword in C. Suppose a generator
matrix G(D) generate a convolutional code, and let two information vector u1(D) and u2(D)
and y2(D) are correspondent codeword vectors. So we find that :
df ree = min u1(D),u2(D)
(w(y1(D) + y2(D)) : u1(D) 6= u2(D))
= min
u(D)(w(y(D)) : u(D) 6= 0)
= min
u(D)(w(u(D)G(D)) : u(D) 6= 0),
where w(y1(D) + y2(D)) means weight of y1(D) + y2(D). So df ree is the minimum weight of
nonzero codewords. Similarly to the free distance, the UEP capability of a convolutional code can be described by the separation vector defined as follows:
Definition 5 Let C be an (n, k) convolutional code over finite field F . The separation vector of G(D) is defined as s(G(D)) = (s(G(D))1, s(G(D))2, . . . , s(G(D))k), where
s(G(D))i = min
I(D){w(I(D)G(D))|Ii(D) 6= 0},
∀ 1 ≤ i ≤ k and I(D) = (I1(D), I2(D), . . . , Ik(D)) is the input information bits with Il(D) ∈
F (D), ∀ 1 ≤ l ≤ k.
By above definition, the minimum of s(G(D))i, ∀ 1 ≤ i ≤ k, is the free distance of the
convolutional code. Besides, let the i-th information sequence Ii(D) fed into the i-th input
of the encoder, at high signal-to-noise ratios (SNR) a large value of s(G(D))i implies a small
bit-error-rate (BER) [14]. Hence different values of s(G(D))i will make the different BER.
Hence we can use G(D) for UEP as long as the data of distinct BER requirements are fed into G(D).
We define two vectors a = (a1, a2, . . . , ak) and b = (b1, b2, . . . , bk) are comparable if ai ≥ bi
or ai ≤ bi for i = 1, . . . , n, denoted by a ≥ b or a ≤ b. For an (n, k) convolutional code C, if
G(D) has the greatest separation vector among all generator matrices, then we call G(D) is an optimal generator matrix. So we give a formal definition of the optimal generator matrices as follows:
Definition 6 For a convolutional code C, G(D) is called an optimal generator matrix if and only if for any other generator matrix G′(D), there exists a permutation ψ such that
s(G(D)) ≥ ψ(s(G′
(D))).
Consider a set of vectors X = {x1(D), x2(D), . . . }, where xi(D) ∈ F (D)nfor all i, we denote
hXi = ( X i ai(D)xi(D) : ai(D) ∈ F (D) )
as the vectors pace of all linear combinations of elements in X. Given a convolutional code C with a generator matrix G(D). Also we denote Cρ={c(D) : ∀ c(D) ∈ C, w(c(D)) < ρ}. There
is a theorem about the necessary and sufficient conditions for optimal generator matrices as follows:
Theorem 6 [18] 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
∀ ρ ∈ w(C), ∃ X(D) ⊆ G(D) such that hCρi = hX(D)i,
where X(D) ⊆ G(D) means that all rows of X(D) are contained in G(D).
Authors in [18] proved that for every convolutional code, there always exists an optimal generator matrix to generate the code. To find an optimal generator matrix, we define a class of generator matrices, which are called monotonically weight retaining matrices below.
Definition 7 A generator matrix G(D) for an (n, k) convolutional code C is said to be mono-tonically weight retaining matrix if and only if
w[hgi(D)i] = w[C\hg1(D), g2(D), . . . , gi−1(D)i], f or 1 ≤ i ≤ k.
Also from this definition we define a generator matrix to be weight retaining if it is contained from a monotonically weight retaining matrix. The weight retaining matrices have been proved to have some properties, which are shown in Theorem 7.
Theorem 7 [18] Let G(D) be a generator matrix for 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]).
Hence by Theorem 7, we can find that an optimal generator matrix is also a weight re-taining generator matrix. Authors in [18] also proved that every rere-taining matrix for an (n, k) convolutional code C is an optimal generator matrix for C. Hence by this property, they provide Procedure 1 to obtain a weight retaining matrix PGM for a given convolutional code, and hence is optimal.
Procedure 1 [18]
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, then replace i = i + 1 and go to Step 2, else go to next step.
Step 5 Set G(D) be the generator matrix with rows g1(D), g2(D), . . . , gk(D), which will be
the desired optimal generator matrix of C.
In order to achieve UEP performance, we should use optimal generator for encoding. It is proved that two optimal generator matrices are related by effectively lower-triangular matrix, which is defined as:
Definition 8 Let G(D) be a generator matrix of an (n, k) convolutional code C. Without loss of generality (W.L.O.G), suppose s(G(D)) is in the nondecreasing order and has α different component values, each with βi repetitions for 1 ≤ i ≤ α. For a k × k matrix T (D) over
F(D), let tu,v(D) be the entry in the position (u,v) of T(D) for all 1 ≤ u, v ≤ k. T (D)
is called effectively lower-triangular with respect to G(D) if and only if tu,v(D) = 0 for all
Pi−1 l=1βl < u ≤ Pi l=1βl, v > Pi l=1βl, and 1 ≤ i ≤ α.
For example, if s(G(D)) = (1, 2, 2, 2, 3, 3), then the effectively lower - triangular matrix with respect to G(D) is of the form:
T (D) = × × × × × × × × × × × × × × × × × × × × × × .
So from above, we introduced this theorem as follows:
Theorem 8 [18] Given an (n, k) convolutional code C, W.L.O.G, let G(D) be an optimal generator matrix of nondecreasing separation vector. For any k × k nonsingular matrix T (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 produce many optimal generator matrices if we can get any one optimal generator matrix. Among all of them, we will focus on a special optimal generator matrix for our study, which is optimal and basic. Suppose a convolutional code C is generated by a polynomial optimal generator matrix G(D), and let separation vector s(G(D)) be in de-creasing order. From Theorem 2, we know that it can be decomposed by the Smith-Algorithm such that G(D) = W (D)Γ(D)V (D). Let W (D)Γ(D) = Ψ(D), we can find that
G(D) = Ψ(D)V (D) = γ11(D) 0 . . . 0 0 . . . 0 γ21(D) γ22(D) . . . 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. And we denote that Gb(D) is the first k
rows of V (D), hence we find that G(D) = Ψk(D)Gb(D), where Ψk(D) is the first k columns
of Ψ(D). Since Ψk(D) is a lower triangular matrix hence Ψ−1k (D) is also a lower triangular
matrix. Hence Gb(D) = Ψ−1k (D)G(D), and by Theorem 8, we can get that Gb(D) and G(D)
have the same separation vector, so Gb(D) is also optimal. Since they generate the same
convolutional code C, and since V (D) is unimodular, we know that there exists a polynomial matrix V−1(D) such that V (D)V−1(D) = I. Hence there exist a polynomial right inverse
G−1b (D) which is formed as the k columns of V−1(D), such that G
b(D)G−1b (D) = I. So Gb(D)
is basic and optimal. By this property, we can obtain a basic and optimal generator matrix. Since external degree of a generator matrix G(D) is the degree of its direct-form realiza-tions. Hence reducing the external degree as smallest as possible will makes the circuits easier. To get an optimal generator with fewest external degree and guarantee noncatastrophic, we can use Procedure 2 to obtaining an optimal and basic PGM with the lowest external degree.
Procedure 2 [18]
Step 1 Give an (n, k)convolutional C, find a generator matrix G(D) which is basic and optimal. Suppose gi(D) is the rows of G(D) for 1 ≤ i ≤ k, and separation s(G(D))
is in nondecreasing order of α distinct component value, each has βi repetitions for
all 1 ≤ i ≤ α.
Step 2 Set l = 1, C∗ = ∅, and ˆC be the collection of all codewords whose degree is not
more then extdeg(G(D)).
Step 3 Choose βlindependent codewords, say c1(D), c2(D), . . . , cβl(D), of the smallest sum
of degree from ˆC which are independent to all codewords in C∗
following constraints: c1(D) c2(D) ... cβl(D) = [Γl,1(D), Γl,2(D), . . . , Γl,l(D)] g1(D) g2(D) ... gPl r=1βr(D)
where Γl,j(D) is a βi × βj matrix over F [D] for all 1 ≤ j ≤ l and Γl,l(D) is
unimodular. Step 4 Set C∗ = C∗∪ {c
1(D),c2(D),. . . ,cβl(D)} and ˆC = ˆC \ {c1(D),c2(D),. . . ,cβl(D)}.
Step 5 If l < α, then replace l by l + 1 and go to Step 3; else go to the next step.
Step 6 Set G∗(D) to be the generator matrix whose rows consist of all codewords in C∗,
Chapter 3
Lowest McMillan degree of polynomial
encoders for UEP
In Chapter 2, we know that for a convolutional code C, there exists a generate matrix for which the Mcdeg(G(D)) is the lowest among all generator matrices. But unfortunately, authors in [18] showed that not all convolutional codes can be generated by an optimal and minimal generator matrix. For example, suppose a convolutional code C can be generated by the canonical PGM Gc(D) = 1 1 1 0 0 1 D 0 1 + D D 0 0 ,
which has s(Gc(D)) = (2, 2, 2) and Mcdeg(Gc(D)) = 2. By Procedure 1, we obtain an optimal
PGM Go(D) = 0 1 D 0 1 0 0 D2 0 0 1 1 + D ,
which has s(Go(D)) = (2, 2, 3). As the result of [16], there are a finite number of minimal
generator matrices for a given convolutional code. Hence calculating the separation vectors of all minimal generator matrices for C, we find that there are no minimal generator matrices that have separation vectors equal to (2, 2, 3). So there are no minimal and optimal generator matrices which can generate C. In the following we based on some theorems to find an optimal PGM with the lowest Mcdeg(G(D)).
3.1
Smith decomposition on PGMs over the field
F [D
−1]
Similar to the definition of polynomials, a Laurent series has the form A(D−1) = a
−mD−m+
a−m+1D−m+1+· · ·+a0 is called an anti-polynomial and has degree m, denoted by deg(A(D−1).
The set of all anti-polynomials is denoted by F [D−1]. Hence an anti-polynomial series is just
a polynomial series in D−1. We denote F ((D−1)) to be a field with all one-sided anti-Laurent
series, which are one-sided Laurent series in D−1. The rational subfield of F ((D−1)) consists
of all rational anti-Laurent series, which are rational Laurent series in D−1, and is denoted by
F (D−1). For two anti-polynomials A(D−1) and B(D−1), we say that A(D−1) is divisible by
B(D−1) if there exists an anti-polynomial C(D−1) such that A(D−1)C(D−1) = B(D−1), and
denoted by A(D−1) | B(D−1). For example, D−2 is divisible by D−5 since D−2· D−3 = D−5,
so we have D−2 | D−5.
We will introduce two types of given generator matrix. Let G(D) be a PGM for a given (n, k) convolutional code C. Suppose ρ = the maximum degree of gij(D), where gij(D) means
the i-th row and the j-th column entry of G(D). We write G(D) as a matrix over F (D−1) as
follows: G(D) = (gij(D))i,j = (Dρ( gij(D) Dρ ))i,j = D ρG −1(D−1) (1.1) where G−1(D−1) = (D−ρgij(D))i,j (1.2)
is a matrix of polynomial in D−1, ∀ 1 ≤ i ≤ k, and ∀ 1 ≤ j ≤ n. If we use z−1 to replace D
in (1.1), then we get a matrix like the transfer function form as follows:
G(z−1) = (z−ρ(gij(z−1)
z−ρ ))i,j = z
−ρP (z) (1.3)
where P (z) is a polynomial matrix in z. By the Smith-Algorithm on P (z), we can 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 entry λi(z) = αi(z)/βi(z), and
(αi(z), βi(z)) = 1, and αi(z)|αi+1(z), βi+1(z)|βi(z), for ∀ 1 ≤ i ≤ k, (1.4)
where (αi(z), βi(z)) is g.c.d of αi(z) and βi(z). It is the so-called Smith-McMillan
decomposi-tion, and it is proved that the McMillan degree µ of G(z−1) is Pk
i=1deg(βi(z)) [17], i.e., the
sum of denominator polynomial degree of invariant factors. Replace z by D−1 in G(z−1); then
we have generator matrix of the form as (1.1). Similar way we use the Smith-Algorithm on G−1(D−1) with field F (D−1) to decompose 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 decomposition 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
entries λi(D−1) = αi(D−1)/βi(D−1), and
(αi(D−1), βi(D−1)) = 1, and αi(D−1)|αi+1(D−1), βi+1(D−1)|βi(D−1), for ∀ 1 ≤ i ≤ k. (1.5)
So we can calculate McMillan degree µ of G(D) as µ = Pki=1deg(βi(D−1)), and we conclude
it as follows :
Theorem 9 [5] Let G(D) be a k × n generator matrix, and have invariant factors λi(D−1)
with respect to F (D−1), for i = 1,. . . ,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
µ = Pki=1deg(βi(D−1)). Example 3 Suppose G(D) = D 0 D 1 1 + D 1 ! . Since maximum degree of entries is 1, we can get
G(D) = 1 D−1 1 0 1 D−1 1 + D−1 D−1 ! .
Hence by the Smith-McMillan decomposition with respect to the field F (D−1), we get G(D) = 1 0 D−1 1 ! 1 D−1 0 0 0 1+D−1 D−1 0 ! 1 0 1 0 1 0 0 0 1 .
We use z−1 to replace D in G(D), so we get
G(z−1) = z
−1 0 z−1
1 1 + z−1 1
! .
Again use the Smith-McMillan decomposition with respect to the field F (z) we can get
G(z−1) = 1 0 z 1 ! 1 z 0 0 0 1+z z 0 ! 1 0 1 0 1 0 0 0 1 .
Comparing this two types generator matrices, we can find that this is only different from the choice of indeterminate. Hence we get that McMillan degree of G(D) is 2.
In [9], Johannesson and Wan proved some degree properties as listed in Lemma 1 and Theorem 10:
Lemma 1 [9] Let the finite filed F = GF (2), and let f1(D), f2(D), . . . , fl(D) ∈ F [D] with
g.c.d (f1(D), f2(D), . . . , fl(D)) = 1. Suppose f = max{deg(fi(D))| i = 1, 2, . . . , l}. Then for
m ≥ f , D−mf
1(D), D−mf2(D),. . . ,D−mfl(D) ∈ F [D−1] and
(D−mf1(D), D−mf2(D), . . . , D−mfl(D)) = D−(m−f ).
Theorem 10 [9] Let G(D) be a basic encoding matrix and let r and s be maximum degree of its k × k minors and (k − 1) × (k − 1) minors, respectively. Then the k-th invariant factor of G(D) regarded as a matrix over F (D−1) is 1
D−(r−s), where the finite field F = GF (2).
We will generalize this lemma and theorem and give proofs; then use this result to get Λ−1(D−1)
by invariant form of G(D), and then we can calculate Mcdeg(G(D)) directly without decom-pose them by the Smith-McMillan decomposition.
Lemma 2 Let F be a finite field, and let f1(D), f2(D), . . . , fl(D) ∈ F [D] with g.c.d (f1(D), f2(D),
. . . , fl(D)) = ∆(D). Suppose f = max{deg(fi(D))| i = 1, 2, . . . , l}, and let fi(D)=Dωigi(D),
i = 1,. . . ,l, where gi(D) is a delay-free polynomial. Also let
ω = min(ω1, ω2, . . . , ωl), η = min{deg(gi(D))| i = 1, 2, ..., l}.
Then for m ≥ f , D−mf
1(D),D−mf2(D),. . . ,D−mfl(D) ∈ F [D−1], and
(D−mf1(D), D−mf2(D), . . . , D−mfl(D)) = D−(m−f )D−η∆(D)D−ω.
Proof: Since fi(D) = Dωigi(D), ∀ 1 ≤ i ≤ l, it follows that (g1(D), g2(D), . . . , gl(D)) =
∆(D)/Dω. Hence for m ≥ f , D−mf i(D) = D−mDωigi(D) = D−(m−ωi−deg(gi(D))) (D−deg(gi(D)) gi(D)) = D−(m−deg(fi(D))) (D−deg(gi(D)) gi(D)),
where the last equation follows from the fact that deg(fi(D)) = ωi+ deg(gi(D)), i=1,2,. . . ,l.
Since g1(D), g2(D), . . . , gl(D) are delay-free polynomials, it follows that
(D−deg(g1(D))g
1(D), D−deg(g2(D))g2(D), . . . , D−deg(gl(D))gl(D)) = D−η(g1(D), g2(D), . . . , gl(D))
= D−η∆(D)/Dω
= D−η∆(D)D−ω.
Therefore, we get that
(D−mf1(D), D−mf2(D), . . . , D−mfl(D)) = (D−(m−deg(f1(D)))(D−deg(g1(D))g 1(D)), . . . , D−(m−deg(fl(D)))(D−deg(gl(D))gl(D)) = D−(m−f )(D−deg(g1(D))g 1(D), . . . , D−deg(gl(D))gl(D)) = D−(m−f )D−η∆(D)D−ω, and the proof is completed.
Example 4 Let f1(D) = D2+ D3+ D5, f2(D) = D3 + D4+ D6, f3(D) = D3+ D5+ D6+
D7. Hence we know that (f
1(D), f2(D), f3(D)) = D2 + D3 + D5 = D2(1 + D + D3), and
max(deg(f1(D)),deg(f2(D)),deg(f3(D))) = 7. Suppose f1(D) = D2(1 + D + D3) = Dω1g1(D),
f2(D) = D3(1 + D + D3) = Dω2g2(D), and f3(D) = D3(1 + D)(1 + D + D3) = Dω3g3(D). We
can find that min(ω1,ω2,ω3) = 2, and min(deg(g1),deg(g2),deg(g3)) = 3. Therefore, for any
m ≥ 7, W.L.O.G, let m = 8, it follows that
(D−8f1(D), D−8f2(D), D−8f3(D))
= (D−3+ D−5+ D−6, D−2+ D−4+ D−5, D−1+ D−2+ D−3+ D−5) = D−1(1 + D−2+ D−3)
= D−(8−7)D−3(D2+ D3+ D5)D−2.
Theorem 11 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γi′(D), γi′(D) 6= 0, and let θi = deg(γ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).
Proof: Let G(D) has entries gij(D), for ∀ 1 ≤ i ≤ k, ∀ 1 ≤ j ≤ n, and w = max(deg(gij(D))).
Write G(D) as a matrix over F [D−1] as follows:
G(D) = DwG
−1(D−1), (1.6)
where G−1(D−1) is a matrix of polynomial in D−1 as we mentioned in (1.1). Suppose all
i × i minors of G(D) are f1(D), f2(D), . . . , fl(D) ∈ F [D], and let the g.c.d of i × i
mi-nors is ∆i(D), in other words, ∆i(D) = (f1(D), f2(D), . . . , fl(D)). Similarly, ∆i−1(D) =
(q1(D), q2(D), . . . , qt(D)), where qi(D) ∈ F [D] are all (i − 1) × (i − 1) minors of G(D), ∀
the numbers that make ∆i(D) and ∆i−1(D) delay-free, respectively, i.e., ( ∆i(D) = Ddl∆′i(D), ∆i−1(D) = Ddt∆′i−1(D), where ∆′ i(D) and ∆ ′
i−1(D) are delay-free polynomials. Let θl= deg(∆′i(D)) and θt= deg(∆′i−1(D)).
Since an i × i minor of G−1(D−1) is equal to the corresponding i × i minor of G(D) multiplied
by D−wi. It is trivial that any degree of i × i minor of G(D) is less or equal than w · i. Hence
we get that w · i ≥ mi, by Lemma 2, we have
∆i(G−1(D−1)) = (D−wif1(D), D−wif2(D), . . . , D−wifl(D))
= D−(wi−mi)
D−θl
∆i(D)D−dl,
where ∆i(G−1(D−1)) means g.c.d of i × i minor of G−1(D−1). Similarly, ∆i−1(G−1(D−1)) =
D−(w(i−1)−mi−1)D−θt
∆i−1(D)D−dt. Thus the i-th invariant of G−1(D−1) is
∆i(G−1(D−1)) ∆i−1(G−1(D−1)) = D −(wi−mi) D−θl∆ i(D)D−dl D−(w(i−1)−mi−1)D−θt∆ i−1(D)D−dt = D −w D−(mi−mi−1)D −θi γi(D)D−di, (1.7)
where di is the integer making γi(D) delay-free, i.e., D−diγi(D) = γi′(D) and θi=deg(γ′i(D)).
From (1.6) and (1.7), it follows that the i-th invariant factor of G(D) regarded as a matrix over F (D−1) is Dw· D −w D−(mi−mi−1)D −θi γi(D)D−di = D−θi γi(D)D−di D−(mi−mi−1) . (1.8)
By Theorem 11, 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:
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. Also, degree of denominator of Γ−1(D−1)’s entries only depends on mi− mi−1,
∀ 1 ≤ i ≤ k. By Theorem 9, we know that McMillan degree of G(D) = (m0 − m1) + (m2−
m1) + · · · + (mk− mk−1). If mi− mi−1 < 0, for some index i, D−(mi−mi−1) will have positive
degree in denominator of Γ−1(D−1)’s entries, and hence we will not add it when calculating
McMillan degree of G(D). So it follows that
Corollary 1 Suppose G(D) is a k × n PGM for a convolutional code C, then we can get its McMillan degree µ as µ = Pki=1(mi − mi−1)+ without decomposing by the Smith-McMillan
algorithm where
(mi− mi−1)+ = max{mi− mi−1, 0}
From Corollary 1, we can prove the first inequality of degree equation (2.5).
Corollary 2 Let G(D) be a polynomial generator matrix for a given convolutional code C. Suppose Mcdeg(G(D)) is µ, then intdeg(G(D)) ≤ µ ≤ extdeg(G(D)).
Proof: We have explained about the last inequality, and now we give proof for the first inequality. By (1.5), we can 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. (1.9)
Hence we know that
m1 ≥ m2− m1 ≥ · · · ≥ mk−1− mk−2 ≥ mk− mk−1. (1.10)
Let µ − mk = m1+ (m2− m1)++ · · · + (mk− mk−1)+− mk, where mk is the maximum degree
of k × k minors of G(D), that is, internal degree of G(D). So
Case 1. If mk− mk−1 ≥ 0. Hence from (1.10) we know that mi− mi−1 ≥ 0, ∀ 1 ≤ i ≤ k. So
Case 2. If mj − mj−1 < 0 and mi− mi−1 ≥ 0, ∀ 1 ≤ i ≤ j − 1, ∀ 2 ≤ j ≤ k. Hence from
(1.10) 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, we conclude that for a PGM G(D), intdeg(G(D))≤ McMillan degree µ, the equality holds only if mk≥ mk−1.
By Corollary 2, we know that if mk− mk−1 ≥ 0, then m1,(m2− m1),. . . ,(mk− mk−1) will
be non-negative integers, and hence McMillan degree
µ =
k
X
i=1
(mi− mi−1)+= m1+ (m2− m1)++ · · · + (mk− mk−1)+= mk = intdeg(G(D)). (1.11)
We know that when we realize every k×n generator matrix, we can describe this circuit with the so-called state space description, W.L.O.G, (A, B, C, ¯D), where the four matrices A,B,C, and ¯D have entries in F and has dimensions m × m, k × m, m × n, and k × n, respectively, and the integer m is the degree of the realization. For a convolutional code C, there are so many generator matrices can generate C, and all of them have a minimal realization. Since we work with finite field F , we can find that among these minimal realization, state matrices A with dimension m are finite. It follows that minimal realizations with degree m are finite. From (2.5), we know that all PGM G(D) can be realized with the fewest degree equal to intdeg(G(D)). 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 nonsingular k × k matrix with det(T (D)) has degree b. Hence by (1.11), 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
maximum 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 delay elements a + b. Hence we conclude below:
Corollary 3 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 determinant has degree 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−1 means the maximum degrees 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.
A rational polynomial generator matrix G(D) for a given convolutional code C can also be realized. For example, let
G(D) = 1 0 1 1+D D 1+D 0 1 D 1+D 1 1+D ! .
There are at least two physical realizations of G(D) which are shown in Figure 3.1.
We can find that although the circuit may contain feedback loop, there exists a realization which has the fewest degree. Hence for a given convolutional code C, there are many rational generator matrices, and each one has their own minimal realization.We will use similar way to calculate a McMillan degree of a rational generator matrix.
3.2
Smith-McMillan decomposition on rational
polyno-mial generator matrices over
F (D
−1)
If G(D) is a k × n rational polynomial generator matrix. Suppose L(D) is l.c.m of denom-inator of gij(D), where gij(D) 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. Let Gp(D) have a invariant factor
decom-position Gp(D) = A−1(D−1)bΓ−1(D−1)B−1(D−1) with field F [D−1], and suppose the invariant
factors are bγ−1(D−1), ∀ 1 ≤ i ≤ k. Suppose degree of L(D) is d, then we divided L(D)1 by
Dd on both numerator and denominator. Hence we get a rational polynomial D−d
L′(D−1), whose
numerator and denominator are polynomials in D−1. So it follows that D−d L′(D−1)Gp(D) = D−d L′(D−1)A−1(D −1)bΓ −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 with diagonal entries λ′i(D−1) = bγ−1(D−1) D
−d
L′(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) and
β′
i(D−1) are both polynomial in D−1, and α′i(D−1)|αi+1′ (D−1), βi+1′ (D−1)|βi′(D−1). Hence we
get the Smith-McMillan decomposition of G(D) = A−1(D−1)Λ′−1(D−1)B−1(D−1), and from
Theorem 9, we know that Mcdeg(G(D)) = Pki=1deg(β′
i(D−1)) Example 5 Let G(D) = 1 0 1 1+D D 1+D 0 1 D 1+D 1 1+D ! . So we get L(D) = 1 + D, and it follows that
G(D) = 1 1 + D 1 + D 0 1 D 0 1 + D D 1 ! .
Hence we decompose the last polynomial matrix in F [D−1], we get 1 + D 0 1 D 0 1 + D D 1 ! = 1 0 D−1 1 ! 1 D−1 0 0 0 0 1+D−1 D−1 0 0 ! 1 + D−1 0 D−1 1 D−1 1 1 + D−1 0 0 0 1 0 1 0 0 0 .
Therefore, it follows that
G(D) = D −1 1 + D−1 1 0 D−1 1 ! 1 D−1 0 0 0 0 1+DD−1−1 0 0 ! 1 + D−1 0 D−1 1 D−1 1 1 + D−1 0 0 0 1 0 1 0 0 0 = 1 0 D−1 1 ! 1 1+D−1 0 0 0 0 1 0 0 ! 1 + D−1 0 D−1 1 D−1 1 1 + D−1 0 0 0 1 0 1 0 0 0 .
Hence we get an invariant factor decomposition of G(D) in F (D−1), and we can calculate
Mcdeg(G(D)) = 1, and the realization was shown in Figure 3.1(b).
3.3
The least degree encoder for UEP with the
non-catastrophic property
We will use the result proved in Section 3.1 to illustrate that there exist an optimal genera-tor matrix with the fewest McMillan degree, and we also guarantee that it is noncatastrophic. Let G(D) be a k × n PGM with intdeg(G(D)) = κ. Suppose G′(D) = A(D)G(D), where
A(D) = 1 0 . . . 0 0 0 1 . . . ... ... ... ... ... 0 ... 0 0 . . . 1 0 0 0 . . . 0 D = I 0 0 D ! . (3.12)
By theorem 1, since all k × k submatrices of A(D)G(D) are just the k × k submatrices of G(D), each multiplied by A(D). Hence intdegG′((D)) = intdeg(A(D)G(D)) = 1 + κ, and it
is a method to increase internal degree of G(D). By Theorem 4, we know that a PGM is noncatastrophic if and only if the g.c.d of k × k minors of G(D) is a power of D. Hence if G(D) is noncatastrophic, then g.c.d of k × k minors is Di, for some i. Multiplied by A(D),
we get G′(D) = A(D)G(D) has g.c.d of k × k minors is Di+1, hence it is noncatastrophic.
Also, if U(D) is an unimodular matrix, then U(D)A(D)G(D) is noncatastrophic since k × k minors of U(D)A(D)G(D) = det(U(D))· det(A(D)) · (k × k) minors of G(D), we find that U(D)A(D)G(D) is also a noncatastrophic generator matrix.
We can use Theorem 11 to find an optimal generator matrix with lowest McMillan de-gree. By Procedure 2, we can obtain an optimal and basic generator matrix G(D) for any convolutional code C. By Theorem 1 and Theorem 8, 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)). Since G(D) is basic, so it has the lowest internal degree. By Corollary 1, we know that Mcdeg(G(D))=Pki=1(mi− mi−1)+, where mi is maximum
de-gree of all i × i minors. It implies that Mcdeg(G(D))≥ m1, that is, Mcdeg(G(D)) is not less
than the degree of all entries of G(D).
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 effectively lower-triangular matrix with respect to G(D). If m1 of GT(D) is greater than κ, it implies that Mcdeg(GT(D)) is not equal to κ, that is,
mk < mk−1. Since we work with finite field F , suppose F = GF (q), we know that the
num-bers of GT(D) with m1 of GT(D) < κ at most qκnk because every entry of GT(D) is of the
form q0 + q1D + · · · + qκDκ, where qi ∈ F , ∀ 1 ≤ i ≤ κ. If two matrices T1(D) and T2(D)
such that T1(D)G(D) = T2(D)G(D) = GT(D) has m1 < κ, it implies that 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 maximum degree of GT(D) of k × k minors and
degree equal to internal degree, i.e., no minimal PGMs with the optimality. Then we mul-tiply G(D) by A(D), which is shown in (3.12), to increase internal degree by 1 such that intdeg(A(D)G(D))) = κ+1. Suppose G′
(D) = A(D)G(D), and let G′
T′(D) = T
′
(D)G′
(D), where T′(D) is unimodular and effectively lower-triangular with respect to G′(D). Similarly,
the numbers of G′
T′(D) with m1 of G
′
T′(D) < κ + 1 at most q(κ+1)nk because every entry of
G′
T′(D) is of the form q0 + q1D + · · · + qκ+1Dκ+1, where qi ∈ F , ∀ 1 ≤ i ≤ κ + 1. Hence
there are finite matrices T′(D) such that m
1 of G′T′(D) is less or equal to κ + 1. Hence the
same way among these T′(D), if there is a PGM T′(D)G′(D) with m′
k≥ m′k−1, where m′k and
m′
k−1 means maximum degree of T′(D)G′(D) of k × k minors and (k − 1) × (k − 1) minors
respectively. It means that this PGM G′
T′(D) = T
′(D)G′(D) has McMillan degree equal to
κ + 1 and is optimal, else keep 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 G′
T′(D) is optimal PGM with lowest McMillan degree. Also, since G(D) is
basic, hence it is noncatastrophic. So it follows that the optimal PGM with lowest McMillan degree we searched has the noncatastrophic property.
Example 6 Suppose a convolutional code C generated by
G(D) = 0 1 D 0 1 0 0 D2 0 0 1 1 + D
is an optimal and basic generator matrix with separation s(G(D)) = (2, 2, 3), and has internal degree 2. For any k × k matrix T (D) which is unimodular and effective-lower triangular with respect to G(D), we can not find any T (D)G(D) such that m3 ≥ m2, where m3 and m2 is
maximum degree of T (D)G(D) of 3 × 3 minors and 2 × 2 minors respectively. So there are no optimal generator matrices with minimality. We multiply G(D) by A(D) such that
G′ (D) = A(D)G(D) = 1 0 0 0 1 0 0 0 D 0 1 D 0 1 0 0 D2 0 0 1 1 + D = 0 1 D 0 1 0 0 D2 0 0 D D + D2 .
Hence G′(D) has internal degree 3. Since I(D)G(D) has m
3 = 3 ≥ m2 = 3, where I(D) is an
identity matrix and hence a unimodular and effectively-lower triangular matrix. So it follows that G′
(D) is an optimal PGM with lowest McMillan degree degree 3, and is noncatastrophic. Figure 3.2 shows the realization of G′(D).
Chapter 4
Optimal PGMs with the lowest
McMillan degree
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