## 2 Materials and Methods
### Simulations  
After defining the format of images that will be entering the neural network, we needed to choose a CNN architecture that will be used in the following simulations. A CNN model usually consists of the following layer types. Figure 7: A sample of spectrogram 1 (**a**) and spectrogram 2 (**b**), where intensity of EN is damped to \(-10\) dB from the nominal level. The key components of CNN are convolutional layers that perform convolution operations on an input image using a set of kernels [48], where each kernel extracts different regional features from the input images [49]. The output matrices of convolutional layers travel to the pooling layers, which are crucial for the CNN model. This operation not only reduces the dimensions of feature maps, which has a very positive effect on the subsequent computational demands, but also allows the following layers to understand the abstract representation of the image [50]. The dropout layer improves the classification accuracy of the model, by randomly disabling the neurons of all layers during the training phase [51]. Perceptron layers reduce the dimensionality of large feature space [52] into a vector, whose size is equal to the number of available classes. The training was executed on a single NVIDIA GeForce RTX 2070 graphic card. The card memory was a limiting factor for the size of the CNN architecture used. Initial tests for searching for optimal CNN architecture for our datasets were performed. We found that the best model of a neural network contained four convolution layers interlaced by pooling layers. Then the signal was flattened, and the dropout operation was applied to it. The end of the network consisted of a sequence of three perceptron layers. The complete architecture of the network used, along with a detailed description of the layers' parameters, is shown in Figure 9.  
While searching for optimal CNN architecture, we selected the standard VGG16 [53], which we modified for our dataset. Similar modifications of this neural network type were described in [54, 55]. This neural network type illustrates a growing trend in a number of kernels in convolution layers, and conversely a decreasing trend in a number of the perceptron layers of neutrons with the increasing depth of the network. We tested the specific structure optimisation by reducing the number of included layers as well as the size of these layers. However, no simpler architecture achieved at least the same quality as our selected model. Figure 8: A sample of spectrogram 1 (**a**) and spectrogram 2 (**b**), where intensity of EN is increased to +10 dB from the nominal level. In future work, we will optimise the CNN model, for example by a genetic algorithm [56; 57], to reduce its size and processing time, while maintaining great accuracy rates that are obtained by the currently proposed model. This optimisation is beyond the scope of this contribution. During the training of the network, the global minimum of the loss function is searched by the RMSprop [58] optimisation algorithm with a learning rate of \(\eta=0.0001\). We experimented with other combinations of the optimisation algorithms, such as Adam [59], AdaGrad [60], Adadelta [61] and AdaMax [59], with various values of learning rate \(\eta\), but none of these combinations proved to be better than the aforementioned one. The input images enter the network in batches of eight images, which is a maximally permissible value for our architecture and available GPU, since we need to avoid an out-of-memory error. Figure 9: Neural network architecture. The training phase consists of 50 epochs, but the results present the highest classification accuracy achieved across those epochs. A test dataset was used for verification. The last layer of the used CNN model contains a single neuron that relies on a Sigmoid activation function [62], thus neuron value \(y\) varies from 0 to 1. The sample is classified as class \(C(y)\) according to (3). \[C(y)=\left\{