# A Deep Learning Framework for Signal Detection and Modulation Classification
## 3 Deep Learning Framework for Signal Detection and Modulation Recognition
### SSD Networks for Signal Detection  
We use SSD networks to achieve multi-signals detection. For DL target detection techniques, the existing algorithms are mainly divided into two kinds: algorithms based on region recommendation  
Figure 4: The enhancement processing of the dataset. (two-stage methods) and algorithms based on regression (one-stage methods). Regression-based algorithms include YOLO series algorithms [40; 41; 42; 43] and SSD series algorithms [43; 44], while region recommendation-based algorithms include RCNN [45], Fast RCNN [46], and Faster RCNN [47]. In our research, since the regression-based algorithms are faster than region recommendation-based algorithms, we use SSD networks as our signal detection model. SSD networks can generate a series of fixed-size borders and the possibility of the containing target in each border. Finally, the final detection and recognition results are calculated by the non-maximum suppression algorithm [48]. The structure of SSD networks is shown in Figure 5, and it can be divided into four parts. **Part 1:** The networks for feature extraction. The initial part of SSD networks is the first layers of VGG16 network, which is used as the primary network to extract the deep features of the whole input image. Behind the primary network, the model structure is the pyramid networks, which contains a series of simple convolution layers to make feature maps smaller and smaller. With the pyramid network structure, we can get several feature maps with different scales. **Part 2:** The design of the default box. In this part, we will design several feature default box for different scales of feature maps. Each feature map at the top of the VGG16 networks is associated with a set of feature default box. As shown in Figure 6, there are dotted borders at each position of \(4\times 4\) and \(8\times 8\) feature maps. These fixed-size borders are default boxes, and their scale parameters are designed by the different feature maps scales. For example, assuming that we need M feature maps to predict, the scale parameters of the default box are as follows:  
\[S_{k}=S_{\text{min}}+\Big{(}\frac{S_{\text{max}}-S_{\text{min}}}{m-1}\Big{)} \bullet(k-1),k\in[1,m] \tag{22}\]  
where \(S_{\text{min}}\) is the bottom scale, and \(S_{\text{max}}\) is top scale. The length-width radio of feature default can be expressed as: \(a_{r}\in[1,2,3,1/2,1/3]\). So the feature default box length is \(W_{k}^{a}=S_{k}\sqrt{a_{r}}\) and the width is \(H_{k}^{a}=S_{k}/\sqrt{a_{r}}\). Figure 5: The network model for signal modulation recognition. Figure 6: The Design of the default box. **Part 3:** Detection and Recognition. In this part, we can predict the target category and location. We add a set of convolution kernels behind several different scales feature maps. Using these convolution kernels, we can get a fixed set of test results. For an \(m\times n\times p\) feature maps, a small convolution kernel with \(3\times 3\times p\) size is used as the fundamental prediction element. Finally, the classification probability of each feature default box and the offsets are obtained. **Part 4:** Non-maximum suppression. In the last part, we use non-maximum suppression to select the best prediction results. For the feature default boxes that are matched by each real target border, we calculate their intersection-parallel ratios. The expression is shown as follow  
\[IoU=(A\cap B)/(A\cup B) \tag{23}\]  
where A and B are two borders. We will select the feature default box whose \(IoU\) are greater than 0.5 as best results, and then obtains the highest confidence degree feature default box by non-maximum suppression. In offline train stage, the whole objective optimal function of the SSD networks includes two parts: confidence loss and location loss. The expression is shown as follow  
\[L(x,c,l,g)=\frac{1}{N}\Big{(}L_{conf}(x,c)+\alpha L_{loc}(x,l,g)\Big{)} \tag{24}\]  
where \(x\) is used to indicate whether the feature default box is a target or not.