# Signals Intelligence System with Software-Defined Radio
## 2 Materials and Methods
### System Definition and Testing  
#### 2.3.1 Database Preparation  
The main step to obtaining an artificial intelligence model is to have a sufficiently large and complete database to allow training, validation, and testing of a model as efficiently as possible. To obtain the most valid results, the RF signal database called \"RADIOLL 2018.01A\" [27], which was created and used for the first time in paper [12], was chosen as a starting point. In this database, we find signals that are modulated using the following 24 modulation schemes: OOK, 4 ASK, 8 ASK, BPSK, QPSK, 8 PSK, 16 PSK, 32 PSK, 16 APSK, 32 APSK, 64 APSK, 128 APSK, 16 QAM, 32 QAM, 64 QAM, 128 QAM, 256 QAM, AM-SSB-WC, AM-SSB-SC, AM-DSB-WC, AM-DSB-SC, FM, GMSK, and OQPSK. All these data are saved in the \"hdf5\" file format used especially for keeping multi-dimensional data strings. The data are split into three strings, each of which is used to describe a specific detail about the database. After analyzing the file, the following details about the three strings were extracted:  
The first string has 2,555,904 recordings, each having 1024 complex elements. These elements represent the modulated signal samples. The second string has the same number of elements in which the type of modulation the signal has is noted. The third string has the same size as the previous two, these containing a single element, each having values starting with \(-20\) and ending with 30 signifying the SNR level in dB at which the signal was acquired. To obtain the desired dataset for training the artificial network, only records for the following ten modulation classes were extracted from the database: OOK, 4 ASK, 8 ASK, BPSK, QPSK, 8 PSK, 16 PSK, 32 PSK, FM, and GMSK. Additionally, these are the investigations and research scenarios used in our paper. Only these ten modulations were  
Figure 2: System functional components. selected because they are enough to validate our approach, and many of them are used in mobile communications. For each of these 10 classes, 1024 training records and 256 testing records were extracted for each of the SNR levels between [2 dB, 30 dB]. A total of 153,600 records are available for training and 38,400 for testing, with each of them having 1024 complex elements. It was decided to use a smaller number of modulation classes at higher SNR levels to obtain a model that performs better at high SNR. However, if the SNR is low, the detection rate of any intelligent network is very low because the modulation pattern is not easily detected; this can be seen in [12; 15]. In order to extract the samples from the dataset, a shell script was used. The script has put the data in a separate folder for each modulation and inside the modulation folder in separate folders for test and training. The extracted complex data is written to a \"CSV\" (comma-separated values) file, which is the final database that is used for training, validation, and testing. In Table 2, the internal structure and content of the database can be seen. The extracted data is written in a \"CSV\" file to ensure compatibility with the \"Azure AutoML\" service that is used to train and integrate the intelligent network. It must be clearly defined which data constitutes the inputs from which the characteristics necessary for training will be extracted and which data represent the outputs according to which the classification of the obtained results will be carried out.