# CNN-BiLSTM-DNN-Based Modulation Recognition Algorithm at Low SNR
## 3 AMR Framework
### BiLSTM  
Recurrent neural networks (RNNs) have a special variation known as long short-term memory networks (LSTMs) [18], which include memory units, forgetting gates, input gates, and output gates, as shown in Figure 2. These elements work together to selectively store, retrieve, and discard information within the network. The input gate regulates which input data is stored in the memory unit, and the information flow from the memory cell to external sources is managed by the output gate. The forgetting gate determines whether certain information should be retained or discarded. The specific calculation process of LSTM is as follows:  
\[F_{t}=\sigma(W_{f}\cdot[H_{t-1},X_{t}]+b_{f}) \tag{5}\]  
\[I_{t}=\sigma(W_{i}\cdot[H_{t-1},X_{t}]+b_{i}) \tag{6}\]  
\[\widetilde{C}_{t}=\tanh(W_{c}\cdot[H_{t-1},X_{t}]+b_{c}) \tag{7}\]  
\[C_{t}=F_{t}\cdot C_{t}-1+I_{t}\cdot\widetilde{C}_{t} \tag{8}\]  
\[O_{t}=\sigma(W_{o}\cdot[H_{t-1},X_{t}]+b_{o}) \tag{9}\]  
\[H_{t}=O_{t}\cdot\tanh(C_{t}) \tag{10}\]  
In these equations, the forget gate, input gate, and output gate's respective outputs are denoted by the letters \(F_{t}\), \(I_{t}\), and \(O_{t}\), \(\widetilde{C}_{t}\) and \(C_{t}\) represent the cell states at the current time step and the next time step, respectively. \(H_{t}\) denotes the final output value. \(\sigma\) is the sigmoid function. \(W_{f}\), \(W_{i}\), \(W_{c}\), and \(W_{o}\) are the weight matrices of the forget, input gate, and output gates and the current time step cell state, respectively. \(b_{f}\), \(b_{i}\), \(b_{c}\), and \(b_{o}\) represent the bias terms of the gates and the current time step cell state, respectively. \([H_{t-1},X_{t}]\) signifies a vector composed of the output values from the previous time step and the current time step.  
The network architecture of the BiLSTM, which consists of two separate LSTMs, is depicted in Figure 3. The input sequence is extracted by two LSTMs, forward and backward,  
Figure 2: LSTM network model frame diagram.  
respectively, and the extracted feature vectors are spliced as the final output features. The calculation process is as follows:  
\[\vec{C}_{t}=LSTM(X_{t},\vec{H}_{t-1},\vec{C}_{t-1}) \tag{11}\]  
\[\vec{C}_{t}=LSTM(X_{t},\vec{H}_{t-1},\vec{C}_{t-1}) \tag{12}\]  
\[C_{t}=W^{T}\vec{C}_{t}+W^{V}\vec{C}_{t} \tag{13}\]  
The forward LSTM and the backward LSTM cell states at time step \(t\) are represented by \(\vec{C}_{t}\) and \(\vec{C}_{t}\), respectively. \(W^{T}\) and \(W^{V}\) denote the weight coefficients of the forward LSTM and the backward LSTM, respectively.  
While a single CNN network is adept at capturing the spatial intricacies of wireless signals, it falls short in capturing their temporal nuances. Inspired by the structure proposed in [19], we have integrated a series BiLSTM network behind the CNN to delve into the bidirectional time series features along the temporal axis. This innovative design comprises two BiLSTM layers with 128 units each, enabling efficient processing of sequence data and the extraction of time correlations. The gate mechanism within the BiLSTM effectively tackles gradient-related challenges, elevating classification accuracy to new heights.