Classification of Channel Coding Structure Based on 1-D Inception Architecture

The channel coding structure classification based on the traditional method usually requires the coding type and prior knowledge to be known, which is completely invalid for the unknown signals that are usually intercepted in the current communication environment. In order to solve this problem, this paper proposes a method of blind classification of channel coding structure based on one-dimensional Inception. First, we use MATLAB to generate signal datasets with different channel coding structures under different signal-to-noise ratios (SNR), and then construct a Convolutional Neural Network (CNN) model based on the one-dimensional Inception, and use the datasets to train the network model. The final classification accuracy rate is 96%. This experimental result demonstrates the effectiveness of the proposed method.


Introduction
To ensure the reliability of information in the transmission process, channel coding technology is usually used in the signals. The widespread application of channel coding makes the technology of channel coding classification and recognition attracted a large number of researchers. In the field of non-cooperative communication, the problem of blind classification and recognition of channel coding has become an important research direction. In the civilian field, channel coding classification technology can quickly identify the coding parameters and codes of signals, and managers can efficiently manage the signal spectrum based on the recognition results. In the military field, contemporary warfare is mainly information warfare between rival parties. After demodulating the information intercepted from the enemy, it is necessary to use channel coding classification and recognition technology to obtain important information.
Common channel coding techniques in signals include Bose Chaudhuri Hocquenghem code (BCH), Reed-Solomon code (RS), Low-Density Parity-Check (LDPC) codes [1], TPC codes, Turbo codes [2] and convolutional codes. In the traditional method of channel coding classification and recognition, such as the blind recognition of binary primitive BCH codes parameters based on Euclidean division [3], it uses the Euclidean division method in the binary domain to obtain the exponentiation of common factors of the code word. After that, the frequency threshold and code length are determined according to the regularity of its distribution, and the generator polynomial is obtained according to the threshold. The algorithm needs to traverse the code length and analyse the law of the exponentiation of common factors. There are cumbersome steps, and the fuzzy threshold selection will lead to recognition errors. In [4], Valembois assumes that the observed binary data paper, we use the Inception structure to build a channel coding structure classification network. We use MATLAB to generate datasets with different coding structures, including signals that use channel coding, channel coding and interleaving, and signals that are scrambled after channel coding and interleaving. Then input the datasets into the network for training and testing, and finally obtain the classification results of the channel coding structure.

Method
This part will introduce the details of the method proposed in this paper.

One-dimensional Inception Structure
This paper is mainly about one-dimensional signal, so we need to modify the two-dimensional Inception structure to one-dimensional, that is, the convolution kernel becomes 1×1, 3×1, and 5×1, while keeping Max Pooling operation. In order to reduce the amount of network parameters, the input can be reduced in dimension, that is, a convolutional layer with a kernel of 1×1 is added before the convolutional layers with kernels of 3×1 and 5×1 and after the Max Pooling layer. The structure is shown in figure 1b.

Convolutional Layer and Batch Normalization Layer Modules
In order to construct the network more clearly and conveniently, this paper defines a convolution normalization module, which includes two network layers, a one-dimensional convolution layer and a batch normalization processing layer. The two are connected by taking the output of the convolutional layer as the input of the batch normalization processing layer.

ReLU Activation Function and Adam Optimizer
As a non-linear function, the activation function can approximate almost any function, greatly improving the ability of deep neural networks [17]. The activation function used in this method is ReLU [18], and its formula can be expressed as: The formula shows that the value of the derivative of input value greater than zero is 1 after ReLU, which avoids the problem of the disappearance of the gradient caused by the smaller derivative value. Since there is no exponential calculation in the function formula, the calculation amount will be greatly reduced.
Kingma and Lei Ba proposed the Adam optimizer [18], which combines the advantages of the previous AdaGrad and RMSProp optimization algorithms. It has simple implementation, efficient calculation, and parameter updates are not subject to gradient expansion advantages. Considering the principles and advantages of Adam above, we choose it as the optimizer of the network in this paper.

Network Architecture
In this paper, the main body of the network model includes Inception structures, convolution normalization modules, Max Pooling layers, Global Average Pooling layers, fully connected layers and Dropout layers. In the parameter setting of each convolutional layer, the ReLU function is set as the activation function, the step size is set to 1, and the padding is set to "same" to ensure that the size of the input layer and the output layer are equal. The pooling size of the Max Pooling layer is set to 2, and the dropout ratio of the Dropout layer is set to 0.3. Because the goal of this paper is to achieve the classification of the channel coding structure, the softmax activation function is used as the activation function of the last fully connected layer of the network, and the optimizer used is the Adam optimizer. The network model of channel coding structure classification constructed in this paper is shown in figure 1.

Datasets
This experiment uses MATLAB R2019a to generate data samples with different channel coding structures, that is, only channel-coded signals, channel-coded and interleaved signals, and channelcoded signals that are interleaved and pseudo-random sequence scrambled. In this paper, the channel coding is BCH code. The encoding method can be represented by [n, k], where n represents the length of the codeword, and k represents the length of the information. The interleaving uses convolutional interleaving, and the pseudo-random sequence scrambling uses the M sequence. After the input sequences are coded by channels of different structures, the coded signals are digitally modulated by BPSK, and then sent them to the additive white Gaussian noise channel to obtain outputs with error codes. Then, we demodulate the output signals and save the resulting signal sequences as data files.
In this paper, we have generated five kinds of parameter BCH codes, which are (7, 4), (15,11), (31,11), (31, 21), (31, 26). In the convolutional interleaver, we set the number of shift registers to 3 and the delay period to 2. And in scrambling, set the register feedback coefficient in the M sequence to "10001001". When passing through the additive white Gaussian noise channel, each type of signal will add a SNR in the range of 0dB-20dB. Under each SNR, the length of each type of signal is set to 1020 bits, 2000 data samples are generated, and datasets containing 630,000 signal samples is finally obtained. Divide the generated signal samples according to the ratio of training set: validation set: test set = 8:1:1 to generate training set, validation set and test set.

Networking Training
Before network training, the data needs to be pre-processed. This paper uses the zero-mean normalization method to normalize the signal sequence value between [-1,1], which can be expressed as: where represents the mean of the series and is the standard deviation of the series.
The loss function is multi-class cross-entropy loss function, and the calculation formula is where a is the actual output of the neuron and y is the expected output. During training, we set batch size to 16, the maximum number of batch training for each iteration is set to 3000, the maximum number of training iterations epoch is 100, and the initial number of iterations is 1. Then input the training set into the network for training, and save the best classification result model as the final channel coding structure classification model of the experiment.

Results
The experimental results of the network model on the training set and validation set are shown in figures 2 and 3. The former is the accuracy curve. The abscissa represents the number of iterations, and the ordinate represents the accuracy of the data set at each iteration. The dotted line represents the accuracy of the training set, and the solid line represents the accuracy of the validation set. The latter is the Loss value curve, the abscissa represents the number of iterations, and the ordinate represents the loss value of the data set at each iteration number. It can be seen from the figure that the accuracy rate increases to 0.96, and the loss function decreases to 0.09 when the curve converges and tends to stabilize, so the classification accuracy rate of this experiment is 96%. From this result, the network model has a good effect on the classification of the signal channel coding structure.
In order to verify the effectiveness of the network model, we input the test set into the trained network model, and the test results obtained are shown in table 1. The results show that the classification accuracy of the network for different coding structures can reach more than 95.00%. Besides, we test the correct classification probability of three types of signals with different coding structures under each SNR, and the result is shown in figure 4. Analyzing the three result curves of figure 4, we can conclude that the classification accuracy of signals with only BCH encoding under different SNR fluctuates at 0.95. And the other two types of signals with different coding structures reaches 1, when the SNR of the channel reaches 9dB. The above test results can show that the network classification method proposed in this paper can effectively classify the three types of signals with different channel coding structures.

Conclusion
This paper proposes a channel coding structure classification method based on one-dimensional Inception. This method is based on a multi-core parallel structure, which increases the network width while using different sizes of convolution kernels to extract richer features of the signal. The network model in this paper uses a cascade method to connect the multi-core parallel structure, convolutional normalization structure, max pooling layer, fully connected layer, etc., which increases the depth of the network. The generated signal data set is input into the network for training, and the training accuracy is 96.50%. After that, the network model is tested on the data of the test set, and the classification accuracy is above 95.00%. It can be concluded that the network proposed in this paper is effective and feasible for channel coding structure classification. Compared with traditional methods, deep learning-based methods have the advantages of simple operation and low complexity, can effectively avoid the cumbersome steps of manually extracting signal features, can save a lot of labor costs, and are more universally applicable.