public override void UpdateStateTransferModels()
        {
            var nameBuilder = (EpochDifferClockParamNameBuilder)this.ParamNameBuilder;

            foreach (var epoch in CurrentMaterial.First)
            {
                var key = nameBuilder.GetReceiverClockParamName(epoch);
                if (!ParamStateTransferModelManager.Contains(key))
                {
                    ParamStateTransferModelManager.Add(key, new WhiteNoiseModel(Option.StdDevOfRevClockWhiteNoiseModel));
                }
            }

            foreach (var epoch in CurrentMaterial.First)
            {
                var key = nameBuilder.GetSiteWetTropZpdName(epoch);
                if (!ParamStateTransferModelManager.Contains(key))
                {
                    ParamStateTransferModelManager.Add(key, new RandomWalkModel(Option.StdDevOfTropoRandomWalkModel));
                }
            }

            foreach (var epoch in CurrentMaterial.First)
            {
                foreach (var sat in EnabledPrns)
                {
                    var key = nameBuilder.GetSatClockParamName(sat);
                    if (!ParamStateTransferModelManager.Contains(key))
                    {
                        ParamStateTransferModelManager.Add(key, new WhiteNoiseModel(Option.StdDevOfRevClockWhiteNoiseModel));
                    }
                }
            }
        }
예제 #2
0
        public override void UpdateStateTransferModels()
        {
            var nameBuilder = (ClockParamNameBuilder)this.ParamNameBuilder;

            foreach (var epoch in CurrentMaterial)
            {
                var key = nameBuilder.GetReceiverClockParamName(epoch);
                if (!ParamStateTransferModelManager.Contains(key))
                {
                    ParamStateTransferModelManager.Add(key, new WhiteNoiseModel(Option.StdDevOfRevClockWhiteNoiseModel));
                }
            }

            foreach (var epoch in CurrentMaterial)
            {
                var key = nameBuilder.GetSiteWetTropZpdName(epoch);
                if (!ParamStateTransferModelManager.Contains(key))
                {
                    ParamStateTransferModelManager.Add(key, new RandomWalkModel(Option.StdDevOfTropoRandomWalkModel));
                }
            }
            foreach (var sat in EnabledPrns)
            {
                var key = nameBuilder.GetSatClockParamName(sat);
                if (!ParamStateTransferModelManager.Contains(key))
                {
                    ParamStateTransferModelManager.Add(key, new WhiteNoiseModel(Option.StdDevOfRevClockWhiteNoiseModel));
                }
            }
            foreach (var epoch in CurrentMaterial)
            {
                foreach (var s in epoch.EnabledSats)
                {
                    var key = nameBuilder.GetSiteSatAmbiguityParamName(s);
                    if (!ParamStateTransferModelManager.Contains(key))
                    {
                        ParamStateTransferModelManager.Add(key, new SingleSatPhaseAmbiguityModel(s.Prn, Option.StdDevOfPhaseModel, Option.StdDevOfCycledPhaseModel));
                    }
                }
            }
        }
예제 #3
0
        public override void UpdateStateTransferModels()
        {
            var nameBuilder = (ClockParamNameBuilder)this.ParamNameBuilder;

            //Parallel.ForEach(CurrentMaterial, new Action<EpochInformation>(delegate(EpochInformation epoch)
            //{
            //    UpdateStateTransferModelsOfParam(nameBuilder, epoch);
            //}));

            foreach (var epoch in CurrentMaterial)
            {
                UpdateStateTransferModelsOfParam(nameBuilder, epoch);
            }
            foreach (var sat in EnabledPrns)
            {
                var satKey = nameBuilder.GetSatClockParamName(sat);
                if (!ParamStateTransferModelManager.Contains(satKey))
                {
                    ParamStateTransferModelManager.Add(satKey, new WhiteNoiseModel(Option.StdDevOfRevClockWhiteNoiseModel));
                }
            }
        }
예제 #4
0
        private void UpdateStateTransferModelsOfParam(ClockParamNameBuilder nameBuilder, EpochInformation epoch)
        {
            var recKey = nameBuilder.GetReceiverClockParamName(epoch);

            if (!ParamStateTransferModelManager.Contains(recKey))
            {
                ParamStateTransferModelManager.Add(recKey, new WhiteNoiseModel(Option.StdDevOfRevClockWhiteNoiseModel));
            }
            var tropKey = nameBuilder.GetSiteWetTropZpdName(epoch);

            if (!ParamStateTransferModelManager.Contains(tropKey))
            {
                ParamStateTransferModelManager.Add(tropKey, new RandomWalkModel(Option.StdDevOfTropoRandomWalkModel));
            }
            foreach (var s in epoch.EnabledSats)
            {
                var ambiKey = nameBuilder.GetSiteSatAmbiguityParamName(s);
                if (!ParamStateTransferModelManager.Contains(ambiKey))
                {
                    ParamStateTransferModelManager.Add(ambiKey, new SingleSatPhaseAmbiguityModel(s.Prn, Option.StdDevOfPhaseModel, Option.StdDevOfCycledPhaseModel));
                }
            }
        }