Esempio n. 1
0
 private void InitializePhasors()
 {
     if (m_phasorType.Equals("Voltage"))
     {
         m_inputPhasor  = new PhasorMeasurement(m_magnitudeInputKey, m_angleInputKey, SynchrophasorAnalytics.Measurements.PhasorType.VoltagePhasor, new VoltageLevel(1, m_baseKv));
         m_outputPhasor = new PhasorEstimate(m_magnitudeOutputKey, m_angleOutputKey, SynchrophasorAnalytics.Measurements.PhasorType.VoltagePhasor, new VoltageLevel(1, m_baseKv));
     }
     else if (m_phasorType.Equals("Current"))
     {
         m_inputPhasor  = new PhasorMeasurement(m_magnitudeInputKey, m_angleInputKey, SynchrophasorAnalytics.Measurements.PhasorType.CurrentPhasor, new VoltageLevel(1, m_baseKv));
         m_outputPhasor = new PhasorEstimate(m_magnitudeOutputKey, m_angleOutputKey, SynchrophasorAnalytics.Measurements.PhasorType.CurrentPhasor, new VoltageLevel(1, m_baseKv));
     }
 }
Esempio n. 2
0
        /// <summary>
        /// A constructor method for the <see cref="LinearStateEstimator.DataConditioning.Smoothing.Smoother"/> class.
        /// </summary>
        /// <param name="destinationPhasor">The <see cref="LinearStateEstimator.Measurements.PhasorEstimate"/> where the results will be pushed to.</param>
        /// <param name="tolerance">The tolerance, in per unit, for the algorithm.</param>
        /// <param name="numericalTolerance">The numerical tolerance for repeated values.</param>
        /// <param name="maxNumberOfBadDataBeforeReset">The number of sub optimal predictions that can be made before the algorithm will reset itself.</param>
        public Smoother(PhasorEstimate destinationPhasor, double tolerance, double numericalTolerance, int maxNumberOfBadDataBeforeReset)
        {
            m_output    = destinationPhasor;
            m_tolerance = tolerance;
            m_numericalToleranceForRepeatedValues = numericalTolerance;
            m_maxNumberOfSubOptimalDataPoints     = maxNumberOfBadDataBeforeReset;

            // Allow the Kalman filter to begin tracking before imposing data quality restrictions
            m_isStable = false;
            m_countdownToStabilization = 10;

            Initialize();
        }
Esempio n. 3
0
 /// <summary>
 /// The default constructor for the <see cref="SynchrophasorAnalytics.DataConditioning.Smoothing.Smoother"/> class. Uses a default tolerance of 0.05 p.u.
 /// </summary>
 /// <param name="destinationPhasor">The <see cref="SynchrophasorAnalytics.Measurements.PhasorEstimate"/> where the results will be pushed to.</param>
 public Smoother(PhasorEstimate destinationPhasor)
     : this(destinationPhasor, 0.05, 0.000001, MAX_BUFFER_SIZE)
 {
 }