# Low-Latency, Three-Phase PMU Algorithms: Review and Performance Comparison
## 2 Measurement Algorithms
### Space Vector Taylor-Fourier Algorithm  
In [13], the TF approach to synchrophasor estimation was introduced. Basically, it is based on a measurement model which is a truncated Taylor expansion of the phase \(p\) synchrophasor around the generic reporting time \(t_{r}\) in order to model its time evolution. Model parameters are obtained through least-squares fitting of a sliding window of the collected samples, thus corresponding to FIR filtering. Synchrophasor, frequency and ROCOF estimates can be easily obtained from the model parameters. It is worth noting that a frequency estimate for each phase is obtained. Since according to [7] a unique frequency value for each three-phase quantity must be provided, a possible solution is computing the average between the three different frequency measurements. In [26], the technique has been extended for being applied to the SV signal, thus directly estimating positive and negative sequence synchrophasors. This enables higher design flexibility with respect to a per phase approach, which results in better performance and lower computational burden. Furthermore, it directly provides frequency and ROCOF values according to the three-phase definition adopted by the previously presented algorithms. The block diagram of the method is reported in Figure 3; the starting point is the SV \(\bar{x}_{SV_{0}}(t)\) on a stationary reference frame, which is obtained by applying the SV transformation (21) with \(\beta=0\) to the three-phase signals. Under the usual assumptions, it results:  
\[\bar{x}_{SV_{0}}(t)=\bar{X}_{+}(t)e^{i\omega_{0}t}+\bar{X}_{-}^{*}(t)e^{-i\omega _{0}t}+\bar{d}_{SV_{0}}(t) \tag{25}\]  
As mentioned above, the TF approach relies on a measurement model obtained through truncated Taylor expansions of the synchrophasors around the reporting instant. Therefore, considering the positive and negative sequence synchrophasors in the neighborhood of \(t_{r}\):  
\[\bar{X}_{+}(t) \approx\sum_{k=0}^{K_{+}}\bar{X}_{+}^{(k)}(t_{r})\frac{(t-t_{r}) ^{k}}{k!} \tag{26}\] \[\bar{X}_{-}(t) \approx\sum_{k=0}^{K_{-}}\bar{X}_{-}^{(k)}(t_{r})\frac{(t-t_{r}) ^{k}}{k!}\]  
where \(\bar{X}_{+}^{(k)}(t_{r})\) and \(\bar{X}_{-}^{(k)}(t_{r})\) are the \(k\)th order derivatives of the positive and negative sequence synchrophasor model at the reporting instant \(t_{r}\); considering \(k=0\), they correspond to the two synchrophasors. Expansion orders \(K_{+}\) and \(K_{-}\) are in general different: this additional degree of freedom is enabled thanks to the SV-based approach, while it would have not been possible if the conventional implementation were adopted. Figure 3: Block diagram of the SV-TF algorithm. The expressions (26) can be used to write a model for the SV signal in the neighborhood of the reporting instant:  
\[\bar{x}_{SV_{0}}(t)\approx\bar{X}_{+}(t)e^{i\omega_{0}t}+\bar{X}_{-}^{*}(t)e^{-i \omega_{0}t} \tag{27}\]  
Now, let us suppose that the phase signals have been sampled with rate \(f_{s}\); the samples of the SV signal \(\bar{x}_{SV_{0}}\) can be easily computed. Furthermore, let us consider a sliding window made of \(N_{w}\) samples (with \(N_{w}\) odd) of \(\bar{x}_{SV_{0}}\) and centered on \(t_{r}\); these samples can be arranged in a vector \(\bar{\mathbf{x}}_{SV_{0}}(t_{r})\). Using (27) it is possible to write the corresponding vector of \(N_{w}\) samples obtained from the model, having assumed that its parameters (namely the synchrophasor derivatives) are constant within the window. Adopting vector notation, this leads to:  
\[\bar{\mathbf{x}}_{SV_{0}}(t_{r})\approx\left[\bar{\mathbf{\Phi}}\mathbf{A}_{+ }\ \ \bar{\mathbf{\Phi}}^{\mathrm{H}}\mathbf{A}_{-}\right]\cdot\bar{\mathbf{p}}_{ \pm}(t_{r})=\bar{\mathbf{B}}_{\pm}\cdot\bar{\mathbf{p}}_{\pm}(t_{r}) \tag{28}\]  
where:  
\[\bar{\mathbf{x}}_{SV_{0}}(t_{r})=\left[ \begin{array}{c}\bar{x}_{SV_{0}}(t_{ r}+\frac{N_{w}-1}{2}T_{s})\\ \vdots\\ \bar{x}_{SV_{0}}(t_{r})\\ \vdots\\ \bar{x}_{SV_{0}}(t_{r}-\frac{N_{w}-1}{2}T_{s}))\end{array}