7.1. Models’ Accuracy Comparison
These results are for simulated data. The nodes’ accuracy distributions are depicted in
Figure 6. No measurement noise was considered. The median accuracy value is displayed as a red vertical line in each of the plots. Some statistical quantities of such distributions are gathered in
Table 6. The Heavy VI shows the strongest performance, with the largest median accuracy and overall accuracies (one-half of the nodes are above 87% accuracy). It is followed by the Only V model, which has a lower maximum node accuracy, but also a higher minimum node accuracy. The Light VI shows a few really large accuracy values, but most of the nodes’ accuracies are located in a broad distribution between 70% and 90%, which is not desirable. Finally, the Only I has a poor performance in comparison to other models, although it achieves the maximum node accuracy, a 94.85%.
Figure 7 shows the nodes’ accuracy for each model. Each diagram shows the 3P lines colored in black, while 1P lines are plotted in gray. As can be seen, the overall nodes’ accuracy is good in the Heavy VI, Light VI, and Only V models, and most of the weaker performing nodes are on laterals. The Heavy VI model’s overall performance is slightly better than the Light VI and Only V models, as expected.
7.2. Models’ Resiliency to Communication Losses
Node 828, which is located near the center of the system as can be seen in
Figure 7, performs well with both Heavy VI and Only V models. Therefore, this node is selected to analyze the resiliency of the proposed protection scheme for communication losses. Note that the results in this section are obtained with simulated data in PSCAD, not experimentally measured data. The fact that the GCN models are a distributed approach, and that messages between nodes are required to come up with a prediction, make the proposed fault location method sensitive to communication failures or cyber-attacks. However, it is important to highlight that distributed approaches are generally more resilient to unexpected events than centralized ones [
45]. In order to check the models’ resiliency, several scenarios in which messages do not arrive on time (and thereby substituted by arrays of zeroes) are analyzed. As mentioned before, the GCN models are implemented in node 828, which is connected to nodes 824 and 830. As there are three GCN layers and two neighbors, a total of six messages are expected. These are the communication loss cases in which the resiliency of the models is tested:
Case A: There is no failure in communication and it is used as the baseline.
Case B and C: One neighbor is not available and no messages are received. Then, 3 messages are lost.
Cases D–I: One message, in one of the layers, and from either of the neighbors, is lost.
Cases J–O: Two messages, in different layers, and from either of the neighbors, are lost.
Cases P–U: Three messages, in different layers and from different nodes, are lost.
The accuracy upper-bound is given by case A, in which there are no communication issues. Some cases produce a drop in accuracy. Typically, the more severe the scenario is, the higher the chance (and the magnitude) of a drop in accuracy. However, the accuracy drops are bounded (the worst cases are observed in the “Heavy VI” model in which the accuracy drops 17.9%). Taking into account the small size of the models, they perform relatively well to significant communication failures.
7.3. Models’ Execution Time Comparison
For the experimental validation of the method’s computing requirements, node 828 is emulated in the F28379D microcontroller. For this section, both the fault detection and computation times are considered. The fault detection part is considered as a black-box stage, as a more detailed analysis can be found in [
44]. According to the previously explained detection method, the TW detection is carried out first, one phase at a time, and the obtained TWs are saved. Afterward, the three detected TWs, without any modifications, are the input to the location process. As of now, it is not a standalone process, but both stages are consecutive and perfectly connected. That is why the combination of both detection and location execution times can be jointly considered to provide an accurate estimation of the total execution time.
In this work, the performance of the model for a specific fault case was tested. The fault data are as follows: The fault type is 3P, the fault location is node 806 (PZ1), and the fault impedance is 0.01
. As mentioned before, the fault detection method is executed independently on a per-phase basis. The results of the fault detection stage are shown in
Figure 8. All signals are cropped in the −32/+96 samples fashion around the detected TW arrival timestamp. As can be noticed, the match between the simulated and measured signal by the receiver microcontroller is very good. There are some minor issues, such as some distortion, and some offset by being inherently introduced by the DAC and the ADC. In addition, the TW detection in phase A has a small shift of two samples.
The Only V model is coded into the microcontroller given that the signal processing stage only has to be carried out once (for voltage). This process uses the bias term
and the weights
of the trained models, and replicates the equation in Equation (
7) in the C programming language. Note that the communication protocols for message-passing between nodes are not in the scope of the project. However, the communication delay can be expected to be just tens of microseconds if technologies such as fiber-optic are used. State-of-the-art fiber-optic latency is approximately 5 microseconds per kilometer [
46], which is several orders of magnitude smaller than the execution time of the proposed algorithms.
The fault location method that is proposed in this paper is implemented into the microcontroller in three distinct stages:
Pre-processing: Once the three arrays of 128 values are retrieved by the detection stage, the first step is to scale them back to kV and to calculate the ground mode, which is the only decoupled mode that is used in this work. Both operations are efficiently executed at the same time using the following expression:
Feature extraction: The voltage ground mode undergoes a three-level DWT decomposition and reconstruction that retrieves a total of three arrays of 128 values each, summarizing the signal’s frequency components in the frequency bands, as observed in
Table 4. Note that just 64 samples per array are retained, starting on the detected TW arrival timestamp. Afterwards, the PE values of such arrays are calculated and concatenated, forming a single array of features containing 192 values. To fit the model’s input layer, further downsampling by 2 is conducted to retrieve the final array of 96 samples.
GCN model: The implemented fault location model is the Only V model, as previously defined in
Table 5. There are RELU non-linear activation functions after the two first GCN layers, while the final layer is a Log-Softmax layer that retrieves the log-probabilities of the fault being in each of the three considered PZs. Incoming communication from nodes 824 and 830 is required in each GCN layer. The messages are previously loaded into the microcontroller and not considered in the execution time, as the communication delay is much smaller than the actual execution time.
A workflow of the previously described implementation can be seen in
Figure 9.
Regarding the accuracy performance of the implementation in the microcontroller, which includes real sampling of a TW at 1 MHz, the method accurately locates the fault in PZ1. The output of the model, the Log-Softmax layer, returns the log-probabilities of the fault being in each of the three PZs. The comparison between the log-probabilities obtained in the experiment and the ones obtained from the simulated data are shown in
Table 11. For an easier comparison, the exponential of base
e is used to retrieve the percentages.
In
Table 12, a summary of the execution time of the proposed method is attached. The TW detection stage executes in approximately 150 μs [
44], including the saving of the cropped signal into a variable. No significant differences can be pointed out in the execution time per-phase. The location stage starts from this same point, and executes the three previously described stages. The signal processing stage is by far the most computationally expensive, which takes more than 800 μs. Adding the execution times of both fault detection and location stages, the proposed method requires an estimated total of 1.27 milliseconds to execute.
For a more thorough analysis of the fault location method, a detailed breakdown is provided in
Table 13. The ground mode and de-scaling are executed in a single loop using the expression in (
9), and constitute the longest single calculation in the method. Regarding the feature extraction stage, it can be noticed that the decomposition becomes faster as the decomposition level increases. This is because the consecutive halving of the signal makes the further convolutions shorter. However, for the reconstruction, the larger the decomposition level, the more time it takes to calculate the required convolutions back. Up to level 3, it can be noticed that each level takes a joint time of 50 × 10
3 CPU cycles (250 μs), combining both decomposition and reconstruction. Afterward, the calculation and further downsampling of the PE values are relatively faster. Finally, the execution of the GCN model is the fastest stage. The first GCN layer takes significantly more time than the other two because the number of parameters is much larger, as can be seen in
Table 5. Non-linear activation layers are executed extremely quickly.
Regarding the memory allocation of the model in the microcontroller,
Table 14 details the text file size, which is the size of the .h file in the computer file explorer, and the reported allocated memory in the microcontroller, including both the used space for the variables and the raw data. The superscript indicates the corresponding GCN layer. Note that the number of bytes is significantly lower on the compiled code. The total size of the model is 22.8 kB, which is approximately one-third of the available globally shared memory (64 kB). If necessary, there are other smaller local memory registers that could be used as well.