# Blind Recognition of Forward Error Correction Codes Based on a Depth Distribution Algorithm
## 4 Depth Distribution Algorithm Based on Linear Block Codes
### Convolutional Code Recognition Algorithm  
The recognition of the convolutional code type is based on the recognition of linear block code type, so it is necessary to deduce the internal correlation between convolutional code and linear block code. In this section, a special generation matrix based on symmetry of matrix is used to reconstruct the convolutional codes, and then the depth distribution characteristics of the codeword matrix of the convolutional codes are given. For the subcode set of \((n-k)(k+1,k)\), the generation matrix \(G(x)\) of each subcode can be composed of the preceding line of \(k\), and the first line of \((k+t)\), which is shown as:  
\[G_{t}=\left[ \begin{array}{cccc}\mathcal{g}_{1,1}&\mathcal{g}_{1,2}&\cdots& \mathcal{g}_{1,k}\\ \mathcal{g}_{2,1}&\mathcal{g}_{2,2}&\cdots&\mathcal{g}_{2,k}\\ \vdots&\vdots&\ddots&\vdots\\ \mathcal{g}_{k,1}&\mathcal{g}_{k,2}&\cdots&\mathcal{g}_{k,k}\\ \mathcal{g}_{k+t,1}&\mathcal{g}_{k+t,2}&\cdots&\mathcal{g}_{k+t,k}\\ \end{array} \right] \tag{26}\]  
\(1\leq t\leq n-k\), and \(t\) is an integer. The codeword vector \((c_{1},c_{2},\cdots,c_{k},c_{k+t})\) obtained by encoding the information bits through the generation matrix \(G_{t}\) will construct a new matrix with the generated matrix \(R_{t}\):  
\[R_{t}=\left[ \begin{array}{cccc}\mathcal{g}_{1,1}&\mathcal{g}_{1,2}&\cdots& \mathcal{g}_{1,k}&c_{1}\\ \mathcal{g}_{2,1}&\mathcal{g}_{2,2}&\cdots&\mathcal{g}_{2,k}&c_{2}\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ \mathcal{g}_{k,1}&\mathcal{g}_{k,2}&\cdots&\mathcal{g}_{k,k}&c_{k}\\ \mathcal{g}_{k+t,1}&\mathcal{g}_{k+t,2}&\cdots&\mathcal{g}_{k+t,k}&c_{k+t}\\ \end{array} \right] \tag{27}\]  
In Equation (27), the codeword vector \(c_{t}\) is a linear combination of the generating vector \(g_{t,m}\). Therefore, the matrix \(R_{t}\) has linearly dependent columns whose determinant is 0. \[\sum_{m=1:\cdots k,k+t}c_{m}\Delta_{m,t}=0 \tag{28}\]  
In Equation (28), \(\Delta_{m,t}\) represents the minimum linearly dependent mapping of codeword vectors in the matrix \(R_{t}\). There are altogether \((n-k)\) mapping relations in the subcode set, which satisfy Equations (26) and (27), and the dimension of each minimum linear correlation map is 1. According to the characteristics of convolutional codes, the highest order \(D\), the block frame length \(n\) and the block code rate \(k/n\) of the generated matrix should be identified to realize the coding reconstruction. Therefore, the receiving codeword matrix for convolutional code reconstruction can be expressed as:  
\[C^{(m)}(n_{e},v_{e},D_{e})=\left[ \begin{array}{cccc}c_{m}^{D_{e}}&c_{m}^{D_ {e}-1}&\cdots&c_{m}^{0}\\ c_{m}^{D_{e}+1}&c_{m}^{D_{e}}&\cdots&c_{m}^{1}\\ \vdots&\vdots&\ddots&\vdots\\ c_{m}^{N}&c_{m}^{N-1}&\cdots&c_{m}^{N-D_{e}}\\ \end{array} \right] \tag{29}\]  
\(D_{e}\) is the estimation of \(D\) and \(v_{e}\) is also the estimation of \(k/n\). Each receive matrix contains \((N-D_{e})\) rows and \(D_{e}\) columns, the matrix consists of \(N\) bits of data, whichare successively shifted to form. We constructed the receiving codeword matrix group \(C_{t}(n_{e},v_{e},D_{e})\) to obtain:  
\[C_{t}(n_{e},v_{e},D_{e})^{T}=\left[ \begin{array}{ccccc}c_{1}^{D_{e}}&c_{1}^{D _{e}+1}&\cdots&c_{1}^{N-1}&c_{1}^{N}\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ c_{1}^{0}&c_{1}^{1}&\cdots&c_{1}^{N-D_{e}-1}&c_{1}^{N-D_{e}}\\ c_{2}^{D_{e}}&c_{2}^{D_{e}+1}&\cdots&c_{2}^{N-1}&c_{2}^{N}\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ c_{2}^{0}&c_{2}^{1}&\cdots&c_{2}^{N-D_{e}-1}&c_{2}^{N-D_{e}}\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ c_{t+m}^{D_{e}}&c_{t+m}^{D_{e}+1}&\cdots&c_{t+m}^{N-1}&c_{t+m}^{N}\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ c_{t+m}^{0}&c_{t+m}^{1}&\cdots&c_{t+m}^{N-D_{e}-1}&c_{t+m}^{N-D_{e}}\\ \end{array} \right] \tag{30}\]  
For the codeword matrix group formed by Equation (30), there are \((n-k)\) independent and symmetric check vectors. By solving these independent check vectors, the convolutional code reconstruction is realized.