public sealed class RollingPhaseEstimatorPublic NotInheritable Class RollingPhaseEstimatorpublic ref class RollingPhaseEstimator sealedGemstone.PhasorProtocols.SelCWS.RollingPhaseEstimator = function();
Type.createClass(
'Gemstone.PhasorProtocols.SelCWS.RollingPhaseEstimator');This class implements the IEEE C37.118-2018 Annex D standard PMU phasor estimation algorithm. It uses precomputed FIR filter coefficients (P-class triangular window or M-class Hamming-windowed sinc) to estimate fundamental-frequency phasors from streaming samples via causal convolution.
Frequency estimation is performed per IEEE Annex D.4, Equations D.3 and D.4, using phase-differencing on the voltage positive-sequence phasor. ROCOF is computed as the second difference of the unwrapped positive-sequence phase angle.
The estimator operates at the full input sample rate and decimates to the configured report rate by selecting every fs/RR-th sample (dyadic decimation), matching the standard's approach.
For P-class filters, an additional magnitude correction per Annex D.6, Equation D.6 is applied to compensate for spectral leakage when the signal frequency deviates from nominal.
Outputs: 6 phasors (IA, IB, IC, VA, VB, VC) plus frequency and ROCOF estimates. Internally computes voltage positive-sequence for IEEE Annex D.4 frequency/ROCOF estimation.
| RollingPhaseEstimator | Initializes a new instance of the RollingPhaseEstimator class implementing the IEEE C37.118-2018 Annex D phasor estimation algorithm. |
| Class | Gets the IEEE C37.118 filter class (P or M). |
| FilterOrder | Gets the filter order (N), the number of FIR filter taps minus one. |
| IsReady | Gets whether the estimator has filled its filter window and is producing valid estimates. |
| NominalFrequencyHz | Gets the nominal frequency in Hz. |
| OutputRateHz | Gets the configured output report rate in Hz. |
| SampleRateHz | Gets the configured sample rate in Hz. |
| TotalSamplesProcessed | Gets the total number of samples processed. |
| WindowSamples | Gets the number of samples required before valid output is produced (filter startup transient). |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| GetHashCode | Serves as the default hash function. (Inherited from Object) |
| GetType | Gets the Type of the current instance. (Inherited from Object) |
| Reset | Resets the estimator to its initial state. |
| Step | Push one interleaved sample-group (IA, IB, IC, VA, VB, VC) with its epoch nanoseconds. |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
| DefaultFilterClass | Default filter class. |