public override BaseGnssResult CaculateKalmanFilter(MultiSitePeriodInfo recInfo, BaseGnssResult lastClockEstimationResult = null) { DifferClockEstimationResult last = null; if (lastClockEstimationResult != null) { last = (DifferClockEstimationResult)lastClockEstimationResult; } // ISatWeightProvider SatWeightProvider = new SatElevateAndRangeWeightProvider(); var matrixBuilder = (IonoFreeEpochDifferClockEstimationMatrixBuilder)MatrixBuilder; matrixBuilder.CurrentMaterial = recInfo; matrixBuilder.SetPreviousProduct(last); matrixBuilder.Build(); // this.Adjustment = new KalmanFilter( this.MatrixBuilder); this.Adjustment = this.RunAdjuster(BuildAdjustObsMatrix(this.CurrentMaterial)); if (Adjustment.Estimated == null) { return(null); } ////尝试固定模糊度 cuiyang 2015.07 //int fixFlag = Ppp_AR.Process(recInfo, Adjustment); DifferClockEstimationResult result = (DifferClockEstimationResult)BuildResult(); return(result); }
public override BaseGnssResult BuildResult() { DifferClockEstimationResult result = new DifferClockEstimationResult(this.CurrentMaterial, Adjustment, this.MatrixBuilder.GnssParamNameBuilder); // result.PreviousResult = this.CurrentProduct; result.BasePrn = this.CurrentBasePrn; return(result); }
/// <summary> /// 钟差估计构造函数 /// </summary> /// <param name="epochInfo">历元信息</param> /// <param name="Adjustment">平差信息</param> /// <param name="ClockEstimationer">钟差估计器</param> /// <param name="previousResult">上一历元结果</param> public DifferClockEstimationResult( MultiSitePeriodInfo epochInfo, AdjustResultMatrix Adjustment, GnssParamNameBuilder DifferenceClockEstimationer, DifferClockEstimationResult previousResult = null) : base(epochInfo, Adjustment, DifferenceClockEstimationer) { }