RollingPhaseEstimator Class

Represents a rolling six-phase estimator using the IEEE C37.118-2018 Annex D filter-based phasor estimation algorithm with P-class and M-class support.

Definition

Namespace: Gemstone.PhasorProtocols.SelCWS
Assembly: Gemstone.PhasorProtocols (in Gemstone.PhasorProtocols.dll) Version: 1.0.169 -- Release Build+e4259ba28a774b11cdfe2fb15417e91c0c3ba498
public sealed class RollingPhaseEstimator
Inheritance
Object    RollingPhaseEstimator

Remarks

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.

Constructors

RollingPhaseEstimator Initializes a new instance of the RollingPhaseEstimator class implementing the IEEE C37.118-2018 Annex D phasor estimation algorithm.

Properties

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).

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets 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.
ToStringReturns a string that represents the current object.
(Inherited from Object)

Fields

DefaultFilterClass Default filter class.

See Also