Column Distances of Convolutional Codes Over  ${\mathbb Z}_{p^r}$

Maximum distance profile codes over finite non-binary fields have been introduced and thoroughly studied in the last decade. These codes have the property that their column distances are maximal among all codes of the same rate and degree. In this paper, we aim at studying this fundamental concept in the context of convolutional codes over a finite ring. We extensively use the concept of <inline-formula> <tex-math notation="LaTeX">$p$ </tex-math></inline-formula>-encoder to establish the theoretical framework and derive several bounds on the column distances. In particular, a method for constructing (not necessarily free) maximum distance profile convolutional codes over <inline-formula> <tex-math notation="LaTeX">${\mathbb Z}_{p^{r}}$ </tex-math></inline-formula> is presented.

mentioning is the paper of [26] where convolutional codes achieving the Gilbert-Varshamov bound were presented. However, in contrast to block codes, as in the case of [10] and [23], little is known about distance properties and constructions of convolutional codes over large rings.
Recently, in [24], a bound on the free distance of convolutional codes over Z p r was derived, generalizing the bound given in [25] for convolutional codes over finite fields. Codes achieving such a bound were called Maximal Distance Separable (or MDS). The concrete constructions of MDS convolutional codes over Z p r presented in [24] were restricted to free codes and general constructions were built in [21].
Column distances of convolutional codes over finite fields have been already studied for decades [14].
However, the concept of Maximum Distance Profile (MDP) convolutional codes over (non-binary) finite fields have been defined and fully studied by Rosenthal et al. in [9], [11] and [27]. These codes are characterized by the property that their column distances are optimal. Fast growth of the column distances is an important property for codes to be used with sequential decoding since they have the potential to correct a maximal number of errors per time interval. For this reason these codes are very appealing for streaming applications (see [27]). Despite the importance of the notion, column distances of convolutional code over a finite ring are yet unexplored.
In this paper we aim at investigating this concept. In particular, we derive upper-bounds on the column distances and provide explicit novel constructions of (not necessarily free) MDP convolutional codes over Z p r . We note that the ring size required to build this class of convolutional codes is in general large. In the proof of these results, an essential role is played by the theory of p-basis and in particular of a canonical form of the p-encoders. As for the construction of MDP, in contrast with the papers [23] and [24] where the Hensel lift of a cyclic code was used, in this paper a direct lifting is employed to build MDP convolutional codes over Z p r from known constructions of MDP convolutional codes over Z p . Note that by the Chinese Remainder Theorem, results on codes over Z p r can be extended to codes over Z M , see also [12] and [20].
The paper is organized as follows: In the next section we introduce some preliminaries on p-basis of Z p r [D]-submodules of Z n p r [D]. After presenting block codes over Z p r we introduce the new concepts of p-standard form and r-optimal parameters. We conclude the preliminaries by defining convolutional codes over Z p r . In section III we define and study column distances of convolutional codes over Z p r . Finally, in Section IV we propose a method to build MDP convolutional codes over Z p r . The most technical proofs of our results are in Section V.

II. PRELIMINARIES
This section presents the necessary background to derive the main results of the paper. Some of these are known in the literature and others are new.

A. P -basis and p-dimension
Let p be a prime integer. Any element in Z p r can be written uniquely as a linear combination of 1, p, p 2 , . . .
Note that all elements of A p \{0} are units. Let us denote by ) the ring (set) of polynomials over Z p r (A p ) in the indeterminate D. In [29], p-basis for Z p r -submodules of Z n p r were first presented and later were extended for the module Z n p r [D] in [17]. These notions will play an important role throughout the paper since they will allow us to analyse the distance properties of convolutional codes over Z p r .
). An ordered set of are said to be p-linearly independent if the only p-linear combination of v 1 (D), . . . , v k (D) that is equal to 0 is the trivial one.
An ordered set of vectors (v 1 (D), . . . , v k (D)) which is a p-generator sequence of M and p-linearly independent is said to be a p-basis of M . It is proved in [16] with v t ∈ Z n p r , and v ν = 0, is said to have degree ν, denoted by deg v(D) = ν, and v ν is called the leading coefficient vector of v(D), denoted by v lc . For a given matrix G(D) ∈ Z k×n p r [D] we denote by G lc ∈ Z k×n p r the matrix whose rows are constituted by the leading coefficient of the rows of G(D).
has a reduced p-basis.

B. Block codes over a finite ring
A (linear) block code C of length n over Z p r is a Z p r -submodule of Z n p r and the elements of C are called codewords. A generator matrix G ∈ Z k×n p r of C is a matrix whose rows form a minimal set of generators of C over Z p r . If G has full row rank, then it is called an encoder of C and C is a free module. If C has p-dimension k, a p-encoder G ∈ Z k×n p r of C is a matrix whose rows form a p-basis of C and therefore Note that we usek and k for the number of rows of a generator matrix G and a p-encoder G respectively.
Every block code C over Z p r admits (see [23,Theorem 3.3.]) a generator matrix G in standard form, i.e., in the form where I ki denotes the identity matrix of size k i and the columns are grouped into blocks with k 0 , . . . , k r−1 and n − r−1 i=0 k i columns. Given a p-basis (v 1 , . . . , v k ) of C there are certain operations that can be applied to (v 1 , . . . , v k ) so that we obtain another p-basis of C. Some of these elementary operations are described in the following lemma which is not difficult to prove, see more details in [28].
Performing the operations described in the previous lemma it is easy to verify that we can transform a 31st July 2018 DRAFT generator matrix G of C in standard form into a p-encoder G in the following form: One can verify that the scalars k i , i = 0, 1, . . . , r − 1, are equal for all p-encoders of C in this form, i.e., they are uniquely determined for a given code C ⊂ Z n p r and coincide with the parameters appearing in (2) for generator matrices in standard form. We call k 0 , k 1 , . . . , k r−1 the parameters of C. If G is in such a form we say that G is in the p-standard form. The p-standard form will be a useful tool to prove our results in the same way the standard form was for previous results in the literature, see for instance [3] and [23]. It is easy to see that if C has p-dimension k then k = The distance d(C) of a linear block code C over Z p r is given by where wt(v) is the Hamming weight of v, i.e., the number of nonzero entries of v.
Since the last row of a p-encoder (or of a generator matrix in standard form) in p-standard form is obviously a codeword we can easily recover the Singleton-type upper bound on the free distance of a block code over Z p r derived in [23].

Theorem 2. Given a linear block code
Among block codes of length n and p-dimension k, we are interested in the ones with largest possible 31st July 2018 DRAFT distance. For that we need to introduce the notion of an optimal set of parameters of k [28].

Definition 3. Given an integer r ≥ 1 and a non-negative integer k we call an ordered set
Note that when r divides k, (k 0 , 0, . . . , , 0), with k 0 = k r , is the unique r-optimal set of parameters of k. However, in general, the r-optimal set of parameters of k is not necessarily unique for a given k and r.

Lemma 4. [21]
Let (k 0 , k 1 , · · · , k r−1 ) be an r-optimal set of parameters of k. Then, Hence, for a given C ⊂ Z n p r with p-dimension k, a Singleton bound can be defined.
Corollary 5. Given a block code C ⊂ Z n p r and p-dimension k, This bound also follows from the fact that, for any block code (not necessarily linear) we have that |C| ≤ (p r ) n−d(C)+1 , see [23], and it can also be found in [24].

C. Convolutional codes over a finite ring
Next we introduce the class of convolutional codes considered in this work together with some properties of p-encoders, namely, catastrophicity, delay-freness and minimality. Minimal p-encoders allow us to define the p-indices and the p-degree of a convolutional code which are natural extensions of the notions of Forney indices and degree in the context of finite fields.
We will consider convolutional codes constituted by left compact sequences in Z p r , that is, in which the elements of the code will be of the form July 2018 DRAFT where w t = 0 for t < ℓ for some ℓ ∈ Z. These sequences can be represented by Laurent series, Let us denote by Z p r (D) the ring of rational functions over Z p r in the indeterminate D. More precisely, This last condition allows us to treat a rational function as an equivalence class in the relation Note that Z p r (D) is a subring of of the ring of Laurent series Z p r ((D)) and, obviously Most of the literature on convolutional codes over rings considers codewords as elements in the ring of Laurent series [6], [8], [12], [16], [18], [24]. We shall adopt this approach and define a convolutional code C over Z p r of length n as a Z p r ((D))-submodule of Z n p r ((D)) for which there exists a polynomial matrix G(D) ∈ Zk ×n p r [D] such that The matrix G(D) is called a generator matrix of C. If G(D) is full row rank then it is called an is a polynomial matrix whose rows form a p-basis, then we say that G(D) is a p-encoder of C and C has p-dimension k.
Remark 6. We emphasize that in this paper we do not assume that C is free. Hence, it is important to underline that there exists convolutional codes that do not admit an encoder. However, they always admit a p-encoder. For this reason the concept of p-encoder is more interesting and natural than the standard concept of the encoder. The difference is that the input vector takes values in A k p ((D)) for p-encoders whereas for generator matrices it takes values in Z k p ((D)). This idea of using a p-adic expansion for the 31st July 2018 DRAFT information input vector is already present in, for instance, [3] and was further developed in [29] introducing p-generator sequences of vectors in Z p r . In [16] and [17] this idea was extended to polynomial vectors.
Next lemma is straightforward and states that a convolutional code can be equivalently defined as the image of a rational matrix.
. Then C is a convolutional code, and if N (D) is full row rank, C is a free code of rank k. It is clear that a generator matrix that is not full row rank is catastrophic and therefore convolutional codes that are not free do not admit noncatastrophic encoders.
Analogously, we say that a p-encoder G(D) ∈ Z k×n p r [D] is said to be noncatastrophic [16] if for any u(D) ∈ A k p ((D)), If a convolutional code C admits a noncatastrophic encoder G(D) ∈ Z k×n p r [D] then, obviously, it also admits a noncatastrophic p-encoder, namely . . .
However, there are convolutional codes that do not admit noncatastrophic encoders but admit noncatastrophic p-encoders like it is shown in the next example [16].
31st July 2018 DRAFT Example 9. Let us consider again the convolutional code C over Z 4 of Example 8. The p-encoder We call a convolutional code that admits a noncatastrophic p-encoder a noncatastrophic convolutional code. Thus, the class of noncatastrophic convolutional codes contain the class of convolutional codes that admit a noncatastrophic encoder. In [16] it was conjectured that all the convolutional codes admit a noncatastrophic p-encoder and this is still an open problem.
Another property of p-encoders that is relevant for this work is "delay-freeness". We say that a p-encoder All convolutional codes admit a delay-free p-encoder. Moreover, if C is a noncatastrophic convolutional code, then it admits a delay-free and noncatastrophic p-encoder which rows form a reduced p-basis [16].
Let C be a noncatastrophic convolutional code of length n over Z p r and let G(D) be a delay-free noncatastrophic p-encoder of C, such that its rows form a reduced p-basis. Then G(D) is called a minimal p-encoder of C. The degrees of the rows of G(D) are called the p-indices of C and the p-degree of C is defined as the sum of the p-indices of C. Moreover, if C has p-dimension k and p-degree δ, C is called an (n, k, δ)-convolutional code.

III. COLUMN DISTANCE OF CONVOLUTIONAL CODES OVER A FINITE RING
In this section we analyse two fundamental distance properties, namely, free distance and column distance. Once we recall the definition of free distance [21] and [24], we introduce, for the first time, the concept of column distance of convolutional codes over Z p r . We also derive an upper-bound on these distances which leads to the notion of Maximum Distance Profile convolutional code. The weight of v(D) = i∈Z v i D i ∈ Z p r ((D)) is given by wt(v(D)) = i∈Z wt(v i ) and the free distance of a convolutional code C is defined as 31st July 2018 DRAFT Theorem 11. [24, Theorem 4.10] The free distance of an (n, k, δ) convolutional code C satisfies Similarly to the field case, the bound (4) is called the generalized Singleton bound. As for column distance [14] we define where v(D) = ℓ≥imin v ℓ D ℓ ∈ Z n p r ((D)) with v imin = 0, for j ∈ N 0 . As every (n, k, δ)-convolutional code C admits a delay-free p-encoder, we shall define the j-th column distance of C, denoted by d c j (C), as the column distance of one (and therefore all) of its delay-free p-encoders. If no confusion arises we use d c j for d c j (C). It is obvious that d c j ≤ d c j+1 for j ∈ N 0 . Next definition extends the well-known truncated sliding generator matrix of a convolutional code over a finite field [9] to convolutional codes over finite rings (Z p r in our case).
Given a p-encoder G(D) = G 0 + G 1 D + · · · + G ν D ν ∈ Z k×n p r [D], we can define, for every j ∈ N 0 , the truncated sliding generator matrix G c j as where G ℓ = 0 whenever ℓ > ν. In terms of the truncated sliding generator matrix the column distance reads as follows: Given a delay-free p-encoder G(D) of a convolutional code C over Z p r , the j-th 31st July 2018 DRAFT column distance of C is given by Next, we present a result that allows to decompose a convolutional code over Z p r into simpler components.
Theorem 12. Every convolutional code C over Z p r admits a generator matrix of the form and such that is full row rank. Thus, C i := Im Z p r ((D)) G i (D) is a free convolutional code, for i = 0, 1, . . . , r − 1, and Proof: Let G(D) be a generator matrix of C. If G(D) is full row rank then C is free and C = C 0 .
Let us assume now that G(D) is not full row rank. Then the projection of G(D) into Z p [D], , is also not full row rank and there exists a nonsingular matrix F 0 (D) ∈ Z k×k where G 0 (D) is full row rank with rank ℓ 0 . Further, it follows that . Moreover, since 31st July 2018 DRAFT F 0 (D) is invertible, it follows that   is also a generator matrix of C. Let us now consider where G ′ 1 (D) is full row rank with rankl 1 and   is not full row rank, then there exists a permutation matrix P and a rational matrix  is nonsingular we also have that 31st July 2018 DRAFT be polynomial matrices (see Lemma 7) such that Proceeding in the same way we conclude the proof.
Remark 13. The decomposition (7) could have been derived using the fact that Z n p r ((D)) is a semi-simple module. Note, however, that Theorem 12 is constructive and its proof provides an algorithm to build the free modules C i . Moreover, it states that these submodules of Z n p r ((D)) are indeed convolutional codes. Note that submodules of Z n p r ((D)) do not always admit a polynomial or rational set of generators and therefore they are not necessarily convolutional codes.
If we denote by ℓ i the rank of C i then {ℓ 0 , . . . , ℓ r−1 } are clearly invariants of C. We will call them the parameters of the convolutional code C.
From now on, in order to simplify the exposition, we assume that the generator matrix G(D) is as in (5) and such that G(D) in (6) is such that G(0) is full row rank. Hence, we can directly obtain a delay-free p-encoder by extending G(D) as . . .
As the rows of G(0) = G 0 form a p-basis (over Z p r ) then the parameters of the block code Proof: See appendix.
Column distances are very appealing for sequential decoding: the larger the column distances the larger number of errors we can correct per time interval. Hence we seek for codes with optimal column distances. Selecting an r-optimal set of parameters of a given p-dimension k, (k 0 , k 1 , . . . , k r−1 ), the following corollary readily follows from Lemma 4.
Corollary 16. Given a convolutional code C with length n and p-dim(C) = k it holds Let us denote the bound obtained in Corollary 16 for the column distance by B(j) = n − k r (j + 1) + 1 and the Singleton bound obtained in Theorem 11 for the free distance by  A simple counting argument leads to the following result which determines the value of such an L.
Theorem 18. Let C be an MDP (n, k, δ)-convolutional code over Z p r and

IV. CONSTRUCTIONS OF MDP CONVOLUTIONAL CODES OVER Z p r
In this section we will show the existence of MDP convolutional codes over Z p r for any given set of parameters (n, k, δ) such that k | δ. Moreover, we will do that by building concrete constructions of such codes. In contrast with other existing constructions of convolutional codes over Z p r with designed distance [23], [24] where Hensel lifts of a cyclic code were used, we propose a method based on a direct lifting of an MDP convolutional code from Z p to Z p r . We note that similar lifting techniques can be applied for different set of parameters (n, k, δ), see for more details [28].
Given the finite ring Z p r and the set of parameters (n, k, δ) with k | δ, we aim to construct an MDP (n, k, δ)-convolutional code C over Z p r . To this end, denote k 0 = k r and ν = δ k . Take k = k 0 + 1 and δ = kν, and let us consider an MDP convolutional code C with length n, dimension k and degree δ over be a minimal basic encoder of C, i.e., with G lc full row rank over Z p and left prime (constructions of such codes can be found in [1], [9], [22]). Therefore, , see [14], [9].
Let R = k − k 0 r and decompose G(D) as where G k0 (D) has k 0 rows and G kr−R (D) has 1 row. In the case r|k then G(D) = G 0 (D). Next, we straightforward expand G(D) as 31st July 2018 DRAFT . . .
Since G lc is full row rank over Z p , it immediately follows that G(D) is a p-encoder in reduced form.
Theorem 19. Let C be a convolutional code over Z p r with p-encoder G(D) as in (8). Then, C is an MDP (n, k, δ)-convolutional code over Z p r .
Proof It is straightforward to verify that C is an (n, k, δ)-convolutional code. It is left to show that it is an MDP code, i.e., we need to show that for j ≤ L as in Theorem 18. It is a matter of straightforward computations to verify that since k | δ, Let u = [u 0 u 1 . . . u j ] , with u i ∈ A k p , i = 0, . . . , j and u 0 = 0, and let v = [v 0 v 1 . . . v j ] , with v i ∈ Z n p , i = 0, . . . , j, such that v = uG c j , where G c j is the j-th truncated sliding matrix correspondent to G(D). The idea of the proof is to multiply v by a power of p such that the resulting nonzero truncated codeword v is in p r−1 Z n p r . Since p r−1 Z p r is isomorphic to Z p then there exists a truncated nonzero codeword v ∈ C = Im Zp((D)) G(D) such that wt( v) = wt( v), and then we can use the fact that C is MDP.
We define the order of v, denoted by ord(v), as the j ∈ {1, 2, . . . , r} such that p j v = 0 and p j−1 v = 0.
Proof of Theorem 15: Let G(D) ∈ Z k×n p r [D] be a generator matrix of C as in (5) with G(D) in (6) full row rank and such that G(0) is also full row rank. Let us consider the p-encoder . . .
Since G(0) is full row rank, G(D) is delay-free. Moreover, the last k 0 + k 1 + · · · + k r−1 rows of G(D) belong to p r−1 Z n p r [D] which implies that the last k 0 + k 1 + · · · + k r−1 rows of G i belong to p r−1 Z n p r , for all i. Let us consider the truncated sliding generator matrix G c i = 3, . . . , j and therefore d c j ≤ (j + 1)n − (j + 1)(k 0 + k 1 + · · · + k r−1 ) + 1.