# Modulation Format Identification Based on Signal Constellation Diagrams and Support Vector Machine
## 2 Theory and Principle
### Extraction of Signal Constellation Diagram Features  
The characteristics of the image surface can be described using FD [21; 22]. Larger fractal dimension values indicate more complex image surfaces, which usually correspond to rougher textures. In contrast, images with smooth surfaces typically have relatively small fractal dimension values. Based on the above considerations, the image FD is chosen as one of the features to measure image quality. The box-counting (BC) method proposed by [PERSON] and [PERSON] is used to calculate the fractal dimension of the images [23]. Although the BC method can estimate the BC of the fractal image, there are certain defects, and it can not reflect the inhomogeneity of this graph, so the differential box-counting (DBC) method is used. Most researchers employed linear least squares (LLS) regression to calculate the FD of the images; however, it is susceptible to outliers. Furthermore, it provides equal weight to all points while drawing a line, which is impracticable; therefore, in this paper, the FD of the images is obtained using WLS regression, and each fitting point is given a distinct weight using the trapezoidal membership function (TMF). As a mature statistical image analysis method [24], GLCM has excellent flexibility and robustness, and the technique is simple, which is extensively utilized in the field of statistical analysis. The co-occurrence matrix is acquired by calculating the grayscale image and its different features in different directions to obtain the feature values. Finally, the mean and variance of these feature values are calculated as the image features. The algorithm flow for extracting signal constellation diagram features is shown in Figure 2. When calculating the fractal dimension of the constellation diagrams as an input image, because the gray value in the area of the vector point concentration is generally higher than other blank areas, the calculated fractal dimension is bound to have a big difference. The constellation diagrams are divided into \(16*16\) regions, and the subsequent dimensional judgments and fractal box dimensions are calculated for each region separately. WLS-FD sorts the fractal box dimensions calculated from each small region according to the region's location as one of the image features. Figure 1: The architecture of the MFI scheme. Figure 2: Algorithm flow for extracting signal constellation diagram features. Calculating the constellation diagrams is similar to constructing a three-dimensional surface on which pixels are located along \((x,y)\), and their grayscale values represent the third coordinate \(z\). The fractal image of pixel size \(M*M\) is divided into small pieces of size \(s*s\), where \(\frac{M}{2}\geq s>1\) and \(s\) is an integer. The scale of the grid is \(r\), which is calculated by \(\frac{s}{M}\). Each small block has a column of \(s*s*h\) boxes. Where \(G\) is the total amount of gray levels in an 8-bit grayscale image, which is 256, and the height \(h\) of the box can be formulated as [23] Equation (1):  
\[h=\frac{s}{M}\times G \tag{1}\]  
The image's highest and lowest gray levels at position \((i,j)\) fall in the \(u^{th}\) and \(v^{th}\) boxes, respectively, and the total amount of boxes that are size \(s*s\times h\) comes to \(n_{r}\), which is obtained by Equation (2):  
\[n_{r}(i,j)=u-v+1 \tag{2}\]  
The value of all grids is \(N_{r}\), which can be obtained by Equation (3):  
\[N_{r}=\sum_{i,j}n_{r}(i,j) \tag{3}\]  
The weight for each grid size is assigned by WLS-FD using the rules of the TMF. Each point \((x_{d},y_{d})\) on the fitting line corresponds to a different grid size \(s\), which is assigned the weight \(W(s)\). Where \(x_{d}=\log\frac{1}{r}\), \(y_{d}=\log N_{r}\), the weight of the point \((x_{d},y_{d})\) is written as \(W(s)\), which can be used with \(w_{s}\) instead of each other. The weight for each data point is assigned by TMF using Equation (4):  
\[W(s)=