# Blind Recognition of Forward Error Correction Codes Based on a Depth Distribution Algorithm
## 7 Simulation Results
### Simulation Results of Depth Distribution Characteristics of Linear Block Codes  
After the code length and the starting point of the code word are known, the depth distribution property is used to further identify the rate and generation matrix of the linear block codes. In order to facilitate a direct observation, BCHs \((15,5)\) are selected as the research objects in this section. A total of 10,000 code words are selected to calculate the depth value under the conditions that the bit  
Figure 8: The recognition result of code start bit for \((15,11)\) BCH code.  
Figure 9: The recognition result of code start bit for \((15,11)\) BCH code.  
error rate is 1%. Code words with the same depth value are superimposed to generate the depth distribution histogram, as shown in Figure 10.  
The corresponding depth spectrum in Figure 10 is [1 12 13 14 15], and the depth distribution is [4 400 000 000 000 7 16 34 63]. By observing the depth distribution set, the first element is the number of code words when the depth value is 0, and the second element is the number of code words when the depth value is 1..., the twelfth element is the number of code words corresponding to a depth value of 11..., the last element is the number of code words corresponding to a depth value of 15. According to Theorem 2, the distribution characteristic of code words corresponding to the non-zero depth value of linear block codes is that with the increase of the non-zero depth value, the number of code words corresponding to the depth value also increases in a two-fold relationship. Due to the existence of a code error, there will be some deviation, but the relationship of two-fold depth value is still presented basically. Therefore, there are five kinds of non-zero depth values, i.e., the depth spectrum is [1 12 13 14 15], k = 5, and the bit rate t = k/n = 5/15 = 1/3. Because the depth distribution histograms of the world codes and Turbo codes in this paper are relatively complex, in order to facilitate observation, the normalized depth distribution diagram will be adopted uniformly in the following text.  
The normalized depth distribution is shown in Figure 11. As a comparison, we also give the normalized rank distribution diagram under the matrix rank algorithm.  
As can be seen from Figure 11a, symmetrically, when the estimated value of code length is an integer multiple of the actual code length, the normalized value of code word depth distribution achieves a minimum value in every 15 codes, which is in line with the calculation result of Equation (23) above. In contrast, in Figure 11b, the matrix rank algorithm under the condition of noise cannot calculate the actual rank because of the code error, and it is always in the state of full rank. When the code length is correct, the code word distribution of linear block codes corresponding to different synchronization unknown parameters \(d_{e}\) is shown in Figure 12.  
It can be observed from Figure 12a that, when the synchronous position is an integer multiple of the code length, the normalized value of the code word depth distribution achieves a minimum value, which conforms to the code word depth distribution characteristics of BCH \((15,5)\) coding. Only when the estimate of the code length is an integer multiple of the code length will a distinct waveform appear, and at the same time, the position where the minimum value of the waveform symmetrically appears corresponds to a synchronous position parameter that is an integer multiple of the code length. However, when we observe Figure 12b, we find that there is no essential difference between it and Figure 11b. This is because the code words in the matrix are still in the full rank state due to a large number of errors.  
Figure 10: The depth distribution of \((15,5)\) BCH code.