## 2 Code Length Estimation and Blind Synchronization  
### Introduction of the Recognition Algorithm in Hard Decision Situations  
In cyclic coding theories, the algebraic model of the encoding operation can be expressed as follows:  
\[c(x)=m(x)\times g(x) \tag{1}\]  
or in systematic form [35]:  
\[c(x)=m(x)\times x^{n-k}+((m(x)\times x^{n-k})\mod g(x)) \tag{2}\]  
Here \(g(x)\) is the generator polynomial, \(m(x)\) is the input information polynomial and \(c(x)\) is the codeword polynomial, which are all defined over an extension field GF (\(2^{m}\)) ( \(m\geq 1\) ). In Equation (2), \(n\) and \(k\) are the length of the codeword and input information, respectively, and \(k/n\) is the code rate. Obviously in Equations (1) and (2), the roots of \(g(x)\) are also the roots of \(c(x)\). We define the code roots to be the roots of the generator polynomial \(g(x)\) in this paper. The number of the elements in an extension field GF (\(2^{m}\)) is \(2^{m}\)-1. We define the set of these elements as \(\mathbf{G}_{m}\). For a binary BCH code defined in GF (\(2^{m}\)), the possible code roots, which form a root set \(\mathbf{A}\), are limited and included in \(\mathbf{G}_{m}\). \(\mathbf{A}\) is a subset of \(\mathbf{G}_{m}\). We consider a sequence of \(M\) valid codewords \(C_{1}\), \(C_{2}\),..., \(C_{M}\) and let \(c_{j}(x)\) (\(1\leq j\leq M\) ) be the codeword polynomial of \(C_{j}\). Initialize an integer vector [\(N_{1}\), \(N_{2}\),..., \(N_{M}\)] to zeros and get all the roots of each codeword polynomial \(c_{j}(x)\) when \(j\) increases from 1 to \(M\). If the element \(\alpha^{i}(1\leq i\leq 2^{n}-1)\) in GF(\(2^{m}\)) is a root of \(c_{j}(x)\), we let \(N_{i}=N_{i}+1\), where \(\alpha\) is a primitive element of GF (\(2^{m}\)). Finally, the value of \(N_{i}\) (\(1\leq i\leq 2^{m}-1\)) reflects the probability of the element \(\alpha^{i}(1\leq i\leq 2^{m}-1)\) being a code root. Note that not all the roots of a valid codeword polynomial \(c(x)\) are the code roots, but all the code roots must be the roots of \(c(x)\). The elements, which are the roots of \(c(x)\) but not the code roots, appear randomly in different codewords, because the information polynomials are not the same in different encoding operations. According to this fact, the probability of being a code root for an element in \(\mathbf{A}\) should be larger than that in \(\overline{\mathbf{A}}\), which is a complement of \(\mathbf{A}\) in \(\mathbf{G}_{m}\), so the values of \(\{N_{i}\mid\alpha^{i}\in\mathbf{A}\}\) corresponding to the elements in \(\mathbf{A}\) are generally larger than those corresponding to the elements in \(\overline{\mathbf{A}}\), but this property is only true when the considered data blocks are valid codewords, _i.e._, the code length is correct and the codewords synchronization is achieved. When the code length or the coding starting positions are not correctly estimated, the property described above does not exist and the bits in the codewords can be considered to appear randomly. In this case, the authors of [22; 23] proposed the following hypothesis:  
**Hypothesis 1**: When the coding parameters are not correct, the probabilities of being codeword roots of the elements in \(\mathbf{G}_{m}\) can be assumed to be uniform, _i.e.,_ the values of \(N_{i}\) is uniform no matter in \(\mathbf{A}\) or \(\overline{\mathbf{A}}\). Therefore, in the correct parameters cases, the entropy of the distribution of the roots should be lower than that in the incorrect parameters cases. Based on this fact, the authors of [22, 23] introduced a root information dispersion entropy function (RIDEF) to describe the imbalance degree of the \(N_{i}\) on different \(\alpha^{i}\) and proposed the correct coding parameters that maximize the RIDEF.