# Blind Recognition of Forward Error Correction Codes Based on Recurrent Neural Network
###### Abstract  
Forward error correction coding is the most common way of channel coding and the key point of error correction coding. Therefore, the recognition of which coding type is an important issue in non-cooperative communication. At present, the recognition of FEC codes is mainly concentrated in the field of semi-blind identification with known types of codes. However, the receiver cannot know the types of channel coding previously in non-cooperative systems such as cognitive radio and remote sensing of communication. Therefore, it is important to recognize the error-correcting encoding type with no prior information. In the paper, we come up with a neoteric method to identify the types of FEC codes based on Recurrent Neural Network (RNN) under the condition of non-cooperative communication. The algorithm classifies the input data into Bose-Chaudhuri-Hocquenghem (BCH) codes, Low-density Parity-check (LDPC) codes, Turbo codes and convolutional codes. So as to train the RNN model with better performance, the weight initialization method is optimized and the network performance is improved. The experimental result indicates that the average recognition rate of this model is 99% when the signal-to-noise ratio (SNR) ranges from 0 dB to 10 dB, which is in line with the requirements of engineering practice under the condition of non-cooperative communication. Moreover, the comparison of different parameters and models show the effectiveness and practicability of the algorithm proposed. recurrent neural network; forward error correction codes; blind recognition; non-cooperative system; parameter initialization 2021 2021 1 1 2  
some prior knowledge. Then, using the intercepted data flow, the forward error correction coding method with the largest matching degree is searched from the alternative set as the estimation of the coding types used in the detection link, which is the basic feature of semi-blind recognition. At present, there is extensive research on parameter estimation technologies such as linear block codes [3; 4; 5], convolutional codes [6; 7; 8], LDPC codes [9; 10], BCH codes [11] and Turbo codes [12; 13]. However, these algorithms are based on known coding type, solving its generation matrix and generation polynomial to realize parameter identification. Under the condition of non-cooperative communication, the unknown encoding type of receiver will make it hard to the recognition of specific parameters. Therefore, it is crucial to study the recognition of types. At present, the recognition of FEC encoding types is mainly accomplished by mathematical methods according to the large amount of data received. In [14], the author proposed a type recognition algorithm based on rank criterion by using rank characteristics of receiving code words. However, the algorithm only analyzed the rank characteristics of each type separately and didn't comprehensively analyze and identify them. In [15], a type recognition algorithm for linear block codes and convolutional codes based on run-length features was proposed. This algorithm could recognize linear block codes and convolutional codes well, but it failed to recognize other encoding types. In [16], a coding system identification strategy for error-correcting codes with unknown coding sequences was proposed, which could provide a basic identification process for type recognition. However, it did not study and analyze the coding type identification under the condition of bit error and failed to meet the basic requirements of engineering practice. In [17], the author proposed a general linear block code recognition and analysis method, which had certain engineering practicability and succeeded in improving the recognition efficiency to a certain extent. Despite these considerable advantages, the algorithm lacked a strict mathematical proof. At the same time, this method was also semi-blind and was hard to be used under the condition of full blind recognition. However, the recognition accuracy fell too fast in low SNR environment, failed to meet requirement in practice.