Getting Started Processing GPS Data with ODTK 1 Introduction ODTK can process GPS Standard Positioning Service (SPS) or Precise Positioning Service (PPS) pseudo-range and Doppler phase-count measurements. The measurements may be input via a RINEX GPS Observation file or through a user-supplied measurement provider. GPS navigation and space vehicle (SV) data may be input via several message types. These include the HANU or Auxiliary User (AUX) message, the SP3 message, the RINEX GPS Navigation message, the SEM almanac message, and the YUMA almanac message (see section 2.3). This GPS capability has been extended to the ODTK Filter/Smoother, as well as the ODTK Simulator, the ODTK Least Squares, and the ODTK Initial Orbit Determination (IOD) processes. ODTK can also process navigation-solution measurements from a space-borne receiver. These measurements are input via a special format (.NAVSOL) and do not require additional information about the GPS constellation. The purpose of this guide is to help the user to get started with the GPS capability. It assumes that the user has installed ODTK, has access to the ODTK Help System, and has some experience with ODTK. 2 2.1 GPS ODTK Inputs GPS Measurement Types ODTK can simulate and process GPS pseudo-range and phase-count measurements (the raw measurements from the GPS receiver) as well as GPS receiver navigation-solution measurements (a sequence of instantaneous estimates of receiver location generated onboard from pseudo-range measurements). 2.1.1 Pseudo-range and Phase-count Measurements ODTK can process pseudo-ranges and phase-counts associated with the coarse acquisition (CA) code on frequency L1 (1575.42 MHz) and, if available, the precise (P) code on frequencies L1 and L2 (1227.60 MHz). The measurements may be modeled / processed directly, or measurements may be combined using “observation-set models.” For pseudoranges, observation-set models include a singly-differenced model (SD) for CA pseudorange and a dual-frequency (DF) model for P1 and P2. A DF SD model is also available for processing P1 and P2. Similarly for phase-counts, observation-set models include a SD Processing GPS Data 1 model for phase-count measurements on L1, L2, or LA, and a DF model for combining phase-count measurements on L1 and L2. A DF SD model is also available for processing L1 and L2. Different measurement models are chosen by selecting the appropriate Measurement Type(s) to process (see attribute MeasurementProcessing.MeasTypes under the Satellite Object, the attribute MeasTypes under the Filter Object, and the attribute MeasurementStatistics under the GPSReceiver Object). Descriptions of these measurement types follow: 1. CA Pseudo-range: Pseudo-range is processed using CA-code on L1. The User spacecraft / SV range is the modeled measurement. Receiver clock phase error and clock frequency error are optionally modeled and estimated. 2. P1 Pseudo-range: Pseudo-range is processed using P-code on L1. The User spacecraft / SV range is the modeled measurement. Receiver clock phase error and clock frequency error are optionally modeled and estimated. 3. P2 Pseudo-range: Pseudo-range is processed using P-code on L2. The User spacecraft / SV range is the modeled measurement. Receiver clock phase error and clock frequency error are optionally modeled and estimated. 4. CA SD Pseudo-range: Singly Differenced (SD) range model. The modeled measurement is the range difference from two distinct SV CA code range measurements received at the same time. In this case, receiver clock errors are annihilated from the measurement model, eliminating the need to estimate receiver clock * phase and frequency. 5. DF Pseudo-range: Dual-Frequency (DF) range model. Instead of processing P1 pseudo-range and P2 pseudo-range separately, the P1 and P2 pseudo-ranges are combined into one pseudo-range that is corrected using the ICD-200 20.3.3.3.3.3 Ionospheric Correction model. Note that receiver clock phase error and clock frequency error are optionally modeled and estimated. 6. DF SD Pseudo-range: Dual-Frequency (DF) Singly Differenced (SD) range model. First, each SV P1 and P2 pair is combined into one (ionospherically-corrected) pseudo-range. The modeled measurement then becomes the range difference * The CA SD Pseudo-range model was added following our initial attempts to process CA L1 pseudo-ranges from a JPL-designed GPS BlackJack receiver onboard the CHAMP satellite. While processing these data, it was discovered that the BlackJack receiver clock is steered using onboard navigation solutions to 1 µs of GPS time (Montenbruck [1]), and that this steering is (apparently) never turned off. Because 1 µs of clock error results in roughly 300 meters of ranging error, the CA SD pseudo-range model gave improved results relative to the CA pseudo-range model. Processing GPS Data 2 from two distinct SV corrected pseudo-ranges. Receiver clock phase and frequency are not estimated. 7. LA Phase: Carrier phase-count on L1 derived from C/A code tracking. Receiver clock phase error and clock frequency error are optionally modeled and estimated. 8. L1 Phase: Carrier phase-count on L1 derived from P code tracking. Receiver clock phase error and clock frequency error are optionally modeled and estimated. 9. L2 Phase: Carrier phase-count on L2 derived from P code tracking. Receiver clock phase error and clock frequency error are optionally modeled and estimated. 10. DF Phase: Dual-Frequency (DF) range model. Instead of processing L1 phasecount separately, L1 and L2 phase-counts are combined into a single phase-count observation corrected for ionosphere effects. Note that receiver clock phase error and clock frequency error are optionally modeled and estimated. 11. DF SD Phase: Dual-Frequency (DF) Singly Differenced (SD) phase-count model. First, each pair of SV L1 and L2 is combined into a single (ionosphericallycorrected) phase-count. The modeled measurement then becomes the phasecount difference from two distinct SV ionosphere corrected observations. Receiver clock phase and frequency are not estimated. 12. L1 SD Phase: Singly Differenced (SD) range model. The modeled measurement is the phase-count difference from two distinct SV L1 phase-count measurements received at the same time. In this case, the receiver clock errors are annihilated from the measurement model, eliminating the need to estimate receiver clock phase and frequency. 13. L2 SD Phase: Similar to L1 SD Phase except for L2. 14. LA SD Phase: Similar to L1 SD Phase except for LA. NOTES: 1. Some of these Measurement Types are mutually exclusive for selection with a filter object. Reference the Satellite.MeasTypes attribute within the ODTK Help System for the rules for filter selection. 2. For simulations, only CA, P1, P2, L1, L2, LA are simulated; desired measurements can be further filtered using the SD and DF models. 2.1.2 Navigation Solutions ODTK can process the position components of navigation solutions generated by a spaceborne GPS receiver. These position components are reduced in the Earth-Centered Fixed (ECF) reference frame. The three components of position are considered as independent measurements with the same noise characteristics. Processing GPS Data 3 There are two types of navigation solutions which may be used: CA Nav Sol and DF Nav Sol. Each is the result of using the associated type of pseudo-range in the reduction of the navigation solution (CA or DF, as defined above). The white noise characteristics for each measurement type may be defined in the MeasurementStatistics list on the GPS Receiver object. There are no bias estimates associated with the processing of navigation solutions. This means that biases in the CA navigation solutions due to un-modeled effects of the ionosphere can bias the orbit solution. 2.2 Observation files 2.2.1 RINEX The pseudo-range measurements are input to ODTK via a RINEX GPS Observation file (Gurtner [2], [3]). Note that the RINEX 2.20 specification identifies 15 different observation types that may be included: L1, L2 : Phase measurements on L1 and L2 C1 : Pseudo-range using C/A code on L1 P1, P2 : Pseudo-range using P-code on L1, L2 D1, D2 : Doppler frequency on L1 and L2 T1, T2 : Transit Integrated Doppler on 150 (T1) and 400 MHz (T2) S1, S2 : Raw signal strengths or SNR values given by the receiver for L1, L2 LA : Phase measurements on L1 derived from C/A code tracking SA : Raw signal strengths on SNR for LA DA : Doppler frequency on L1 derived from C/A code tracking CH : Receiver channel number Currently the only GPS observation types used by ODTK are C1, P1, P2, L1, L2, LA and, if available, S1, S2, and SA. If S1, S2, and SA are available, the user has the option to edit out C1, P1, P2, L1, L2, LA measurements for low signal-to-noise ratio (SNR). The RINEX format allows a signal strength “flag” to (optionally) be given with each observable. This flag is used in lieu of the S1, S2, and SA observations. If given, ODTK maps the SSI flag to these SNR values for the purpose of SNR editing. SNR: >500 >100 SSI: 9 8 >50 7 >10 6 >5 5 >3 4 >1 3 >0 2 bad 1 n/a 0 NOTE : RINEX versions higher than 2.2 are not yet supported. Processing GPS Data 4 2.2.2 NAVSOL Navigation solutions are input to ODTK via a NAVSOL observation file. ODTK’s NAVSOL format allows for the specification of the position components and their associated spherical uncertainty (1σ). The format of the NAVSOL observation file is described in the ODTK Help System. 2.2.3 Connecting a RINEX Observation File to Satellite Receiver The RINEX file format specification does not actually mandate inputting of a receiver ID, (i.e., MARKER NUMBER record). However, ODTK requires a method to associate the observations in the given RINEX observation file to the GPS Receiver ID given by the MeasurementProcessing.TrackingID attribute in the GPS Receiver Object (see section 2.4.2). If no MARKER NUMBER record is included in the RINEX file, then the user must do one of the following to associate the file to the receiver ID: • Manually edit the file to include a MARKER NUMBER record into the header records, e.g., the line in italics below is inserted to associate this observation file to satellite GPS receiver ID 3902. 2 BJfmtl_rnx CHAMP-zenith 3902 • 2.3 OBSERVATION DATA bai GPS RINEX VERSION / TYPE 2002-06-14 01:06:58 PGM / RUN BY / DATE MARKER NAME MARKER NUMBER (Re)name the RINEX observation file to the form SATnnnn_xxxxxx.zzz, where “nnnn” indicates the receiver ID; that is, begin with “SAT”, followed by a series of digits “nnnn”, followed by underscore “_”, followed by rest of filename and extension. For example, the name SAT4000_SACC1670.03O associates 4000 to the receiver ID. GPS Source Data The CA L1 pseudo-range model takes the following navigation inputs: 1. SV ephemeris and clock correction estimates, 2. SV ephemeris and clock correction estimate error covariance, and 3. Model parameters for high accuracy correlation of GPS time to UTC time (and TDT time); see Note 2 at the end of this section. The ephemeris and clock-correction estimates are required. Other inputs can be used if available from the GPS source. ODTK currently accepts the following GPS source messages: 1. Auxiliary User (AUX) Message aka (HANU) – Defined by ICD-GPS-208. This message type includes a 26-hour post pass Observation Message, a nine-hour high accuracy Prediction Message, and a 40-hour prediction LookAhead Message. Processing GPS Data 5 2. SP3 – ASCII message containing post pass SV ephemeris, but broadcast SV clock parameters. Easily obtained, for example, through the NGA at http://earthinfo.nga.mil/GandG/sathtml/ephemeris.html or from the IGS at http://igscb.jpl.nasa.gov/components/prods.html. 3. RINEX GPS Navigation Message – ASCII message (defined in [2]) containing the navigation data defined in ICD-GPS-200. Can be accessed, for example, through ftp://cddis.gsfc.nasa.gov/pub/gps/data/daily. 4. SEM Almanac – ASCII message containing navigation message almanac information in SEM format. Reference http://navcen.uscg.gov/?pageName=gpsAlmanacs for a definition and catalog of files. 5. YUMA Almanac – ASCII message containing navigation message almanac information in YUMA format. Reference http://navcen.uscg.gov/?pageName=gpsAlmanacs for a definition and catalog of files. The following table summarizes the types of data available from each data source: Type Eph/Clock Covariance GPS/UTC Ionosphere AUX Observation Post Pass Interpolate Table Yes No No AUX Prediction High Precision Predict Interpolate Table Yes No No AUX Look Ahead Predict Interpolate Table No Yes No SP3 Eph – PostPass Clock Predict Interpolate Table No No No RINEX NAV Predict No Optional Optional SEM Predict No No No YUMA Predict No No No Element Propagation Element Propagation Element Propagation ODTK allows the user to select one source file to be selected for ephemeris / clock / covariance inputs, and optionally one source file for GPS/UTC high accuracy correlation parameters. GPS source information is entered via the GPS Constellation object (cf. Section 2.4.1). Processing GPS Data 6 NOTES: 1. Only one source file can be entered for ephemeris/clock/covariance data. Therefore the filter start/end time span should be limited to be consistent with the time span of this source file. 2. The GPS/UTC high accuracy correlation parameters refer to the A0 and A1 constants which identify the GPS-UTC offset in addition the leap second offset. For CA L1 pseudo-range processing these can safely be ignored. See http://tycho.usno.navy.mil/gpstt.html for a nice discussion on GPS time transfer and http://tycho.usno.navy.mil/gps_datafiles.html for SPS time differences. 3. ODTK expects a file extension of .aux for AUX messages, .sp3 for SP3 messages, .rinex for RINEX NAV messages, .yuma for YUMA messages, and .sem for SEM messages. 2.4 ODTK Objects Unique to GPS The following is an example Object Browser view for an ODTK filter/smoother run processing GPS pseudo-range measurements: The user should note the following two objects unique to GPS processing: 1. A GPS Constellation Object under the Scenario Object 2. A GPS Receiver Object under the Satellite Object Refer to the Insert Menu in ODTK Help System for instructions on adding objects. ODTK will only allow one GPS Constellation Object per scenario. ODTK will accept multiple GPS Receiver Objects per Satellite and multiple Satellites with GPS Receivers. 2.4.1 GPS Constellation Object The GPS Constellation Object is documented in the ODTK Help System contents under OD Objects & Attributes – GPS Constellation. Processing GPS Data 7 NOTE: A GPS constellation object is not currently required to filter navigation solutions as measurements, but one is required to simulate navigation solutions. 2.4.2 GPS Receiver Object The GPS Receiver Object is documented in the ODTK Help System under OD Objects & Attributes – GPS Receivers. 3 3.1 Sample Procedures for ODTK Run Procedure for GPS Simulation Run The following procedure outlines steps necessary to make a simple ODTK Simulation run. The first part of the process is the same regardless of whether one wishes to simulate a set of pseudo-ranges and phase-counts or a navigation solution. In the following example there is one satellite which has one GPS receiver processing CA pseudo-range. 1. The first step is to obtain the GPS navigation data to be used in the simulation. In this example we assume that we do not have any measurements in hand and will download data via the Internet. In this example we will download the NIMA GPS Precision Ephemeris (PE) Antenna Phase Center (APC) SP3 formatted file for 31-May-2010 (included in apc15861.exe). • Start with the NGA “GPS Satellite Branch Home Page”: http://earth-info.nga.mil/GandG/sathtml/ • Go to the Ephemeris Data Page (http://earthinfo.nga.mil/GandG/sathtml/ephemeris.html) and click the “Antenna Phase Center (APC)” link under Direct FTP Sites (ftp://ftp.nga.mil/pub2/gps/apcpe/) to bring up access to dated NAVSTAR constellation files with position and velocity components referred to Antenna Phase Center (APC). Descend into the 2010 directory. • Select and copy .exe file of interest (in this case apc15861.exe) to an appropriate GPS Source folder. • DOS execute the .exe file to generate a .APC file (in this case the result will contain NGA15861.APC). • Change the extension of the .APC file to be a .sp3 file for use in ODTK (NGA15861.sp3 in our case). 2. Start ODTK. 3. Create the ODTK objects necessary for the simulation: Processing GPS Data 8 • Create a Scenario Object. • Set DefaultTimes.Processes.StartMode to StartTime. Set DefaultTimes.Processes.StartTime to "31 May 2010 GPSG". This date corresponds with the SP3 file from Step 1. (If UTCG units are specified as the default, the display will automatically change to "30 May 2010 23:59:47.000 UTCG".) • Set DefaultTimes.Processes.StopMode to TimeSpan. Set DefaultTimes.Processes.TimeSpan to "4 hr". • Add a GPS Constellation Object to the Scenario Object. • Add a Satellite Object to the Scenario Object. • Add a GPS Receiver Object to the Satellite Object. • Add a Simulator Object to the Scenario Object. The resulting Object structure should be similar to: 4. Open and Edit (if necessary) the Scenario Object attributes. In this example we will make no further changes and accept the defaults. 5. Open and Edit the Satellite Object attributes. In this example we will accept the defaults, except as follows: • Edit the MeasurementProcessing.MeasTypes attribute by removing all measurement types except CA Pseudo-range and CA Nav Sol. 6. Open and Edit the GPSReceiver Object Attributes. In this example we will accept the defaults, except as follows: • Edit the MeasurementStatistics attribute. • Remove CA SD Pseudo-range (if present). • (Navigation Solution Processing Only) Add CA Nav Sol. Processing GPS Data 9 7. Open and Edit the Simulator Object Attributes. For this example we will accept the defaults, except as follows: • Edit the MeasTypes attribute by removing all measurement types except CA Pseudo-range. • Edit the Output.Measurements.Filename attribute so that the extension of the output file is consistent with the RINEX plugin (see step 7 above). NOTE: The CA Nav Sol measurement type is not available in the Simulator because it is not simulated directly. Simulated CA Nav Sol measurements are created by computing navigation solutions based on simulated pseudo-range measurements. 8. Open and Edit the GPS Constellation Object Attributes • Edit the Source.FileName attribute to select the GPS Source file that we chose in Step 1. In our case: NGA15861.sp3 from the appropriate GPS Source directory. • Set the Source.BufferBeforeFileStart to 1 minute. • For this example we will accept the defaults for the remaining attributes. 9. Save the scenario. 10. Run Simulator. 11. Verify output using Measurement File Preview (GPS) and Measurement Listing from the Static Product Builder. 12. (Navigation Solution Simulation Only) Generate a file of navigation solutions based on the simulated pseudo-range. • Bring up the ODTK LaunchPad, click on the ODTK Utilities tab, then open the Installed Utilites folder. • Double click on the GenerateNAVSOLutions.htm tool from the list box. • Browse to select the RINEX file (.rnx) you just generated as the input for the tool. A default output name will be generated for you. • Click Go! to generate the NAVSOL file. Processing GPS Data 10 3.2 Procedure for GPS Filter Run 3.2.1 Pseudo-range Processing The following procedure outlines the steps necessary to make a simple ODTK Filter run. In this example there is one satellite which has one GPS receiver processing CA pseudorange. This filter object uses the simulation outputs from section 3.1 above. 1. Start with the Scenario and Outputs from the simulation in 3.1 above. 2. Add a Filter Object to the Scenario Object. 3. Open and Edit the Filter Object Attributes. In this example we will accept the defaults, except as follows: • 4. Edit the MeasTypes attribute by removing all measurement types except CA Pseudo-range and CA Nav Sol. (Optional) To monitor progress of the run, go to View Dynamic Product Selector: • • Then, for example, select: i. Dynamic Display = Report ii. Object Type = Satellite iii. Style = Measurement Update iv. Satellites = Satellite1 And/Or, select: i. Dynamic Display = Report ii. Object Type = GPS Receiver iii. Style = Measurement Update iv. GPS Receiver = GPSReceiver1 5. Run Filter. 6. Use Static Products to analyze run. 3.2.2 Navigation Solution Processing Follow the procedure listed above for pseudo-range processing: 1. Start with the Scenario and Outputs from the simulation in 3.1above. 2. Add a Filter Object to the Scenario Object if not already done Processing GPS Data 11 3. Open and Edit the Filter Object Attributes. For this example we will accept the defaults, except as follows: • Edit the MeasTypes attribute by removing all measurement types except CA Nav Sol or adding CA Nav Sol if necessary. 4. Open and edit the Scenario Object Attributes. Add the generated navigation solution file (.NAVSOL) to the Measurements.Files list. Remove or disable the RINEX file which was placed in the list by the simulator. 5. (Optional) To monitor progress of the run, view Dynamic Reports: • Then, for example, select: i. Dynamic Display = Report ii. Object Type = Satellite iii. Style = Measurement Update iv. Satellites = Satellite1 6. Run Filter. 7. Use Static Products to analyze the results. NOTE: The performance of the filter may be poor while processing of navigation solutions, even with simulated measurements. This poor performance is a result of the effect of the ionosphere on the CA navigation solutions and the lack of a precise relationship between the noise on the pseudo-range measurements and the noise on the navigation solutions. Edit the properties of the GPS Constellation object to turn off the effects of the ionosphere on the CA pseudo-range measurements and rerun the simulator, navigation solution. 8. Open and edit the properties of the GPS Constellation object to turn off the effects of the ionosphere (set GPS.Ionosphere.IonosphereModel = none). 9. Run the Simulator. 10. Regenerate the navigation solutions following the process described in last step of Section 3.1. 11. Reset the Measurements.Files list in the Scenario to use the navigation solutions and disable the RINEX data file created by the simulator. 12. Run the Filter. 13. Use Static Products to analyze the results. Processing GPS Data 12 3.3 Simulator and Filter Wizards The user has the capability to create GPS-related simulation and filter related objects and scenarios using the ODTK Wizards. 4 References [1] Oliver Montenbruk, Remco Kroes, In-Flight Performance Analysis of the CHAMP BlackJack GPS Receiver, GPS Solutions, Revision 1, 31 March 2003. [2] Werner Gurtner, RINEX: The Receiver Independent Exchange Format Version 2.10, 8 June 2001. [3] Werner Gurtner, and Lou Estey RINEX Version 2.20 Modifications to Accommodate Low Earth Orbiter Data, April 24, 2001. ftp://ftp.unibe.ch/aiub/rinex/rnx_leo.txt. Processing GPS Data 13
© Copyright 2026 Paperzz