% % SpacecraftNavigation_SolveFors_CartesianState_GN % % Solve for the Spacecraft Cartesian state. Use Range and RangeRate data. % % 02/02/2017 SES Initial version % Earth.EopFileName = 'G:\GMAT\Testing\files\eopc04'; % % Spacecraft % Create Spacecraft SimSat; SimSat.DateFormat = UTCGregorian; SimSat.Epoch = '10 Jun 2019 00:00:00.000'; SimSat.CoordinateSystem = EarthMJ2000Eq; SimSat.DisplayStateType = Cartesian; SimSat.X = 576.869556 SimSat.Y = -5701.142761 SimSat.Z = -4170.593691 SimSat.VX = -1.76450794 SimSat.VY = 4.18128798 SimSat.VZ = -5.96578986 SimSat.DryMass = 850; SimSat.Cd = 2.2; SimSat.Cr = 1.8; SimSat.DragArea = 15; SimSat.SRPArea = 15; SimSat.Id = 'LEOSat'; SimSat.AddHardware = {GpsReceiver, GpsAntenna}; % % Ground stations - if these are commmented-in the assigned EOP file is read properly % % Create GroundStation GDS; % % GDS.CentralBody = Earth; % GDS.StateType = Cartesian; % GDS.HorizonReference = Ellipsoid; % GDS.Location1 = -2353.621251; % GDS.Location2 = -4641.341542; % GDS.Location3 = 3677.052370; % GDS.Id = 'GDS'; % GDS.AddHardware = {Transmitter1, Receiver1, Antenna1}; % GDS.MinimumElevationAngle = 10; % % Create GroundStation CAN; % % CAN.CentralBody = Earth; % CAN.StateType = Cartesian; % CAN.HorizonReference = Ellipsoid; % CAN.Location1 = -4461.083514; % CAN.Location2 = 2682.281745; % CAN.Location3 = -3674.570392; % CAN.Id = 'CAN'; % CAN.AddHardware = {Transmitter1, Receiver1, Antenna1}; % CAN.MinimumElevationAngle = 10.; % % Create GroundStation MAD; % % MAD.CentralBody = Earth; % MAD.StateType = Cartesian; % MAD.HorizonReference = Ellipsoid; % MAD.Location1 = 4849.519988; % MAD.Location2 = -360.641653; % MAD.Location3 = 4114.504590; % MAD.Id = 'MAD'; % MAD.AddHardware = {Transmitter1, Receiver1, Antenna1}; % MAD.MinimumElevationAngle = 10.; % % Spacecraft hardware % Create Antenna SpacecraftAntenna; Create Transponder Transponder1; Transponder1.PrimaryAntenna = SpacecraftAntenna; Transponder1.HardwareDelay = 0.00005; Transponder1.TurnAroundRatio = '240/221' % % GroundStation hardware % Create Transmitter Transmitter1; Create Antenna Antenna1; Create Receiver Receiver1; Transmitter1.PrimaryAntenna = Antenna1; Transmitter1.Frequency = 2067.5; Receiver1.PrimaryAntenna = Antenna1; % % Error models % Create Antenna GpsAntenna; Create Receiver GpsReceiver; GpsReceiver.PrimaryAntenna = GpsAntenna; GpsReceiver.Id = 800; GpsReceiver.ErrorModels = {PosVecModel} Create ErrorModel PosVecModel; PosVecModel.Type = 'GPS_PosVec' PosVecModel.NoiseSigma = 0.500; % % Tracking file sets % Create TrackingFileSet SimData; SimData.AddTrackingConfig = {{SimSat.GpsReceiver}, 'GPS_PosVec'}; SimData.FileName = {'KalmanSmoother_MatlabFile_GpsPosVec.gmd'}; SimData.RampTable = {}; SimData.UseLightTime = False; SimData.UseRelativityCorrection = False; SimData.UseETminusTAI = False; SimData.SimRangeModuloConstant = 67108864; SimData.SimDopplerCountInterval = 10.; SimData.DataFilters = {}; % % Propagators % Create ForceModel ODProp_ForceModel; ODProp_ForceModel.CentralBody = Earth; ODProp_ForceModel.PointMasses = {Earth}; ODProp_ForceModel.Drag = None; ODProp_ForceModel.SRP = Off; ODProp_ForceModel.ErrorControl = None; Create Propagator ODProp; ODProp.FM = ODProp_ForceModel; ODProp.Type = 'RungeKutta56'; ODProp.InitialStepSize = 60; ODProp.Accuracy = 1e-13; ODProp.MinStep = 0; ODProp.MaxStep = 60; ODProp.MaxStepAttempts = 50; % % Simulator % Create Simulator sim; sim.AddData = {SimData}; sim.EpochFormat = 'UTCGregorian'; sim.InitialEpoch = '10 Jun 2019 00:00:00.000'; sim.FinalEpoch = '14 Jun 2019 00:00:00.000'; sim.MeasurementTimeStep = 60; sim.Propagator = ODProp; sim.AddNoise = On; BeginMissionSequence SetSeed(11); RunSimulator sim;