the parity-check matrix $H(z)$, each non-catastrophic convolutional code has a unique parity-check-matrix of the form $H(z)=[P(z)\ Q(z)]$, where $P$ and $Q$ are left coprime, $Q$ is of Kronecker-Hermite form, i.e. $q_{ii}$ monic, $deg(q_{ji})<\deg(q_{ii})$ for $j\neq i$,\
$deg(q_{ij})<\deg(q_{ii})$ for $j<i$ and $deg(q_{ij})\leq \deg(q_{ii})$ for $j>i$,

and the row degrees of $P$ are at most equal to the row degrees of $Q$.

We will need the representation by parity-check matrices to define complete MDP convolutional codes. Bur first of all, we want to introduce MDP convolutional codes, for which we have to consider distances of convolutional codes.

 \
The **Hamming weight** $wt(v)$ of $v\in\mathbb F^n$ is defined as the number of its nonzero components.\
For $v(z)\in\mathbb F[z]^n$ with $\deg(v(z))=\gamma$, write $v(z)=v_0+\cdots+v_{\gamma}z^{\gamma}$ with $v_t\in\mathbb F^n$ for $t=0,\hdots,\gamma$ and set $v_t=0\in\mathbb F^n$ for $t\geq\gamma+1$. Then, for $j\in\mathbb N_0$, the **j-th column distance** of a convolutional code $\mathfrak{C}$ is defined as $$d_j^c(\mathfrak{C}):=\min_{v(z)\in\mathfrak{C}}\left\{\sum_{t=0}^j wt(v_t)\ |\ v(z)\not\equiv 0\right\}.$$

There exist upper bounds for the column distances of a convolutional code.

[@strongly]\[ub\] \
$$d_j^c (\mathfrak{C}) \leq (n-k)(j + 1) + 1\qquad\text{for}\quad j\in\mathbb N_0$$

We are interested in convolutional codes with good distance properties, i.e. in those codes that reach the bounds of the preceding theorem.

[@mdp] \
A 