Let's say I have three phase voltage grid which is unbalanced (three phase utility grid). The phase voltages are sampled by the adc (suppose that the analog channel is properly designed from the hw point of view and the sampling period is set properly) and I would like to determine the phase sequence of the grid in C language software i.e. I would like to determine the order in which the individual phases achieve their amplitudes.
One idea which I have is to use the Synchronous Frame Phase Locked Loop (SFPLL) i.e. following system and exploit its output i.e. the phase of the space vector of the grid voltage for construction of an artificial three phase voltage grid consisting of clean sinewaves with unity amplitude. Then I would detect the zero-crossing instants (based on sign change of a signal) on these clean sinewaves. From the zero-crossings order I should be able to determine the phase sequence. Here is a block diagram describing the main idea
Nevertheless I have doubts regarding the robustness of the aforementioned solution. Does anybody know some robust approach for determining of the phase sequence of a three phase unbalanced grid?
Maybe it would be sufficient to inspect the phase \$\theta\$ at the output of the SFPLL: \$\theta > 0\$ corresponds to the positive phase sequence (\$a\rightarrow b\rightarrow c\$), \$\theta < 0\$ corresponds to the negative phase sequence (\$a\rightarrow c\rightarrow b\$).