A GNSSReceiver is a subsystem object that can be attached to a Spacecraft to represent a receiver that is part of a Global Navigation Satellite System (GNSS) constellation such as GPS or Galileo. You can configure the Orbit Determination Properties for a GNSSReceiver through FreeFlyer script or the Object Browser. There are two ways to navigate to the "Estimation Properties" page of the GNSSReceiver object editor:
1.Open the desired GNSSReceiver's editor
2.Highlight the desired GNSSReceiver on the "Objects to Process" page of a Kalman Filter, Square Root Information Filter, Unscented Kalman Filter, or Batch Least Squares object editor and click the "Modify GNSSReceiver Estimation Options" button
From this page, you can configure any of these options:
•The GNSSReceiver properties that you want to ignore, estimate, or consider
oIgnore: Leave the property out of the estimated state.
oEstimate: Include the property in the estimated state and allow the estimator to update its value.
oConsider: Include the property in the estimated state, but do NOT allow the estimator to update its value. This means that the property gets included in the covariance, but is not directly estimated.
•The A Priori Bias, Sigma, and Process Noise Rate for each of the properties
GNSS receivers can be used for simulating and processing Point Solution observations (GPS only) or general GNSS Pseudorange observations. Different GNSS receiver properties can be estimated depending on which type of measurement you are processing.
GNSS Receiver OD Properties
To define the GNSSReceiver properties that you want to estimate or consider via FreeForm script, you will access the GNSSReceiver's OD properties, as shown in the example below:
Alias receiver = Spacecraft1.GNSSReceivers[0]; // This alias is used to shorten the script examples below
When the observer is a GNSS Receiver, you can configure the measurement model (including the noise, maximum, and minimum values) for Point Solution or GNSS Pseudorange measurement types. Point Solution measurements are as follows:
•Point Solution
oX
oY
oZ
oVX
oVY
oVZ
GNSS Pseudorange measurements are denoted by Rinex Measurement Codes. The three-character codes are used to indicate the following:
•Measurement Type
oC - Code phase
oL - Carrier phase
oD - Doppler
oS - Signal strength
•Frequency Band
o1-9
•Channel or Code
oC, S, L, X, Y, M, etc.
The measurement codes currently supported in FreeFlyer are noted below:
You can configure these values through the Object Browser by double-clicking on the desired Spacecraft and navigating to the "Receivers" page under the Orbit Determination section, highlighting the desired Receiver and selecting "Edit Receiver", then navigating to the desired Measurements page. The panel for Point Solution Measurements is shown in the image below:
The GNSS Receiver Point Solution Measurement Model Editor
You can also configure these options through FreeFlyer script, by accessing various properties of the GNSS Receiver object:
Alias receiver = Spacecraft1.GNSSReceivers[0]; // This alias is used to shorten the script examples below
The panels for GNSS constellation pseudorange measurements are all essentially the same, in that users add desired measurements to the model and select a Measurement Code for each. An example containing three GPS measurements is shown below:
The GNSS Receiver GPS Pseudorange Measurement Model Editor
You can also configure these options through FreeFlyer script, by accessing various properties and methods of the GNSS Receiver object:
Alias receiver = Spacecraft1.GNSSReceivers[0]; // This alias is used to shorten the script examples below
// GNSSObservation Measurement Model
receiver.OD.GNSSObservation.GPS.AddMeasurement('C1C', 0.001); // Add a single measurement and associated noise based on Rinex3 code for the GPS constellation
receiver.OD.GNSSObservation.Galileo.AddMeasurement({'C1C', 'C1X', 'C1Z'}, {0.001, 0.001, 0.001}); // Add multiple measurements/noise values based on Rinex3 codes for the Galileo constellation
Attached Sensors
The Attached Sensors page of the GNSS Receiver object editor allows you to indicate any Sensors on the Spacecraft that will be attached to the receiver for simulating or processing OD tracking data. The Sensor's X, Y, and Z position properties will be used to model an offset from the origin of the Spacecraft body coordinate system (BCS) when modeling measurements.
Spacecraft Sensor attached to GNSS Receiver
You can also specify the Sensors to attach or detach via FreeFlyer script: