## 2 Material and Methods
### Signal Adjustment  
For the treatment of input data, training and ANN accuracy testing, programming codes were developed using the _Python_ language, using the _Numpy_ and _Pandas_ libraries. As the proposed network architecture is not recurrent, it is interesting to characterize the data, in order to represent the signal behavior better [13]. The characteristics and quantity are arbitrary, and the choice directly influences the performance of the network [52].  
\begin{table}
\begin{tabular}{c c} \hline
**Specification** & **Value** \\ \hline Weight & 60 g \\ Dimensions & \(43\times 114\times 13\) mm \\ Microphone & Advanced electret \\ Sampling frequency & 384 kHz \\ Resolution & 16 bits \\ Frequency range & 10–160 kHz \\ Interface & USB 2.0, full speed, OTG/host \\ Anti-aliasing filter & 8 th order, 160 kHz \\ Power & USB bus powered \\ \hline \end{tabular}
\end{table}
Table 1: M500 model Pettersson specifications.  
From the Waveform Audio File (WAV) signal, six characteristics were extracted from the captured data following the methodology presented in [30], which are: average value (\(g_{i}\)) (1); effective value (\(y_{\text{rms}}\)) (2); maximum value; minimum value; variance (\(V_{i}\)) (3); standard deviation (\(Std_{i}\)) (4). For each 50 ms of audio, the aforementioned characteristics were calculated; thus, each sample of the signal covers approximately three cycles of the electrical network at the industrial frequency (60 Hz), obtaining a total of 6000 samples, with one thousand samples per considered case.  
\[\bar{y}_{i}=\frac{1}{n}\sum_{m=1}^{n}\bar{y}_{i,m}, \tag{1}\]  
\[y_{\text{rms}}=\sqrt{\frac{1}{n}\int_{m=1}^{n}\bar{y}_{i,m}^{2}(dn)}, \tag{2}\]  
\[V_{i}=\frac{1}{n-1}\sum_{m=1}^{n}\left(\bar{y}_{i,m}-\bar{y}_{i}\right)^{2}, \tag{3}\]  
\[Std_{i}=\sqrt{\frac{1}{n-1}\sum_{m=1}^{n}\left(\bar{y}_{i,m}-\bar{y}_{i} \right)^{2}}, \tag{4}\]  
in this case, \(n\) is the number of samples, \(y_{i}\) is the original signal, \(\bar{y}_{i}\) is the signal estimated by the MLP, and \(\bar{y}_{i}\) the mean of the original signal. Thus, \(\bar{y}_{i,m}\) is the value of the output variable \(i\) in object \(m\).  
The characteristics described through the equations presented in this section were used for training the network. From this, the analysis was performed for the classification of the insulators.  
Database Adjustments  
For each of the six characteristics of the signal to have the same relevance in the optimization algorithm, it is necessary to normalize it in a standard interval, and in this paper we chose the interval [0, 1]. The max-min normalization is given by:  
\[x_{\text{norm}}=\frac{x-\text{min}(x)}{\text{max}(x)-\text{min}(x)} \tag{5}\]  
Finally, it is necessary to scramble the samples that will be used for training the neural network since the optimization algorithm must be able to recognize all cases simultaneously.  
If all one thousand samples of a single case are processed in sequence; the algorithm will optimize only for that specific case, becoming unconfigured when processing subsequent samples of another type of insulator. The database is already prepared to be used both for training the network and for performance tests. After extracting the database recorded in the laboratory for Python, the numpy.random.shuffle function was used to scramble the samples.