GNSS Data Processing Lab Exercises
GNSS Data Processing Lab Exercises
GNSS Data Processing Lab Exercises
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Authorship statement
This material authorship and Intellectual Property Rights are owned by Manuel Hernndez Pajares, J.Miguel Juan Zornoza and Jaume Sanz Subirana. These slides can be obtained either from the server http://www.gage.upc.edu, or jaume.sanz@upc.edu. Any partial reproduction should be previously authorized by the authors, clearly indicating the slides reference. This authorship statement must be keep untouched at all times.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
OVERVIEW
Introduction The gLAB tool suite Examples of GNSS Positioning using gLAB Laboratory session organization LABORATORY Session Starting-up your laptop Basic: Introductory lab exercises Medium: Laboratory Work Project: Kinematic positioning of a LEO sat. Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Introduction
This practical lecture is devoted to analyze and assess different issues associated with Standard and Precise Point Positioning with GPS data. The laboratory exercises will be developed with actual GPS measurements, and processed with the ESA/UPC GNSS-Lab Tool suite (gLAB), which is an interactive software package for GNSS data processing and analysis. Some examples of gLAB capabilities and usage will be shown before starting the laboratory session. All software tools (including gLAB) and associated files for the laboratory session are included in the USB stick delivered to lecture attendants. The laboratory session will consist in a set of exercises organized in three different levels of difficulty (Basic, Medium and Advanced). Its content ranges
from a first glance assessment of the different model components involved on a Standard or Precise Positioning, to the kinematic positioning of a LEO satellite, as well as an in-depth analysis of the GPS measurements and associated error sources.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
OVERVIEW
Introduction The gLAB tool suite Examples of GNSS Positioning using gLAB Laboratory session organization LABORATORY Session Starting-up your laptop Basic: Introductory lab exercises Medium: Laboratory Work Project: Kinematic positioning of a LEO sat. Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Main features:
High Accuracy Positioning capability. Fully configurable. Easy to use. Access to internal computations.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Professionals/Experts:
Powerful tool with High Accuracy Positioning capability. Fast to configure and use: Templates and carefully chosen defaults. Able to be executed in command-line and to be included in batch processing.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
10
Modelling module:
Fully configurable model. Satellite positions. Satellite clock error correction. Satellite movement during signal flight time. Earth rotation during signal flight time. Satellite phase center correction. Receiver phase center correction. (frequency dependent). Relativistic clock correction. Relativistic path range correction. Ionospheric correction (Klobuchar). Tropospheric correction
Simple and Niell mappings. Simple and UNB-3 nominals.
Differential Code Bias corrections. Wind up correction. Solid tides correction (up to 2nd degree).
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
11
Other functionalities:
Computation of satellite coordinates and clocks from RINEX and SP3 files. Satellite coordinates comparison mode. For instance RINEX navigation vs. SP3, or SP3 vs. SP3 (along-track, cross-track and radial orbit errors, clock errors, SISRE). Show input mode. No processing, only parsing RINEX observation files.
Current version allows full GPS data processing, and partial handling of Galileo and GLONASS data. Future updates may include full GNSS data processing.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
12
GPS Data Processing: Code and Phase Algorithms, Techniques and Recipes
gAGE-NAV
Research group of Astronomy & Geomatics Satellite Navigation, LLC http://www.gage.es
Manuel Hernndez Pajares Jos Miguel Juan Zornoza Jaume Sanz Subirana
13
OVERVIEW
Introduction The gLAB tool suite Examples of GNSS Positioning using gLAB Laboratory session organization
LABORATORY Session Starting-up your laptop Basic: Introductory laboratory exercises (Ex1, Ex2) Medium: Laboratory Work Project (LWP): Kinematic positioning of a LEO satellite Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
14
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
15
We will work after the correlator: Our input data are code and carrier measurements and satellite orbits and clocks.
RINEX FILES
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
16
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
17
2 1
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
3. RUN gLAB
gLAB.out
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
18
Positioning with few meters of error is achieved in kinematic SPP mode. Receiver navigated as a rover in pure kinematic mode. Single frequency C1 code is used. Broadcast orbits and clocks.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
19
2 1
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
3. RUN gLAB
gLAB.out
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
20
Centimetre level accuracy over 24h data is achieved in PPP static mode
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
21
22
OVERVIEW
Introduction The gLAB tool suite Examples of GNSS Positioning using gLAB Laboratory session organization
LABORATORY Session Starting-up your laptop Basic: Introductory laboratory exercises (Ex1, Ex2) Medium: Laboratory Work Project (LWP): Kinematic positioning of a LEO satellite Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
23
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
24
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
25
Given that session time is limited to 3h, students who feel comfortable using gLAB, can skip part of the previous basic exercises (Ex1, Ex2) and jump to the Lab. Work Project.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
26
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
27
OVERVIEW
Introduction The gLAB tool suite Examples of Positioning with gLAB Laboratory session organization
LABORATORY Session Starting-up your laptop Basic: Introductory laboratory exercises (Ex1, Ex2) Medium: Laboratory Work Project (LWP): Kinematic positioning of a LEO satellite Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
28
29
The US keyboard is set by default. You can change it by clicking on the upper right corner.
30
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
31
OVERVIEW
Introduction The gLAB tool suite Examples of GNSS Positioning using gLAB Laboratory session organization
LABORATORY Session Starting-up your laptop Basic: Introductory laboratory exercises (Ex1, Ex2) Medium: Laboratory Work Project (LWP): Kinematic positioning of a LEO satellite Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
32
Given that session time is limited to 3h, students who feel comfortable using gLAB, can skip part of the basic exercises (Ex1, Ex2) and jump to the Lab. Work Project.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
33
2 1
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
4 3 5
34
gLAB.out
North
East
Up
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
35
The modeling options set in this panel are applied A baseline example of this by default to the analysis procedure for the SPP solution. ionospheric correction is
provided as follows. The same scheme must be applied for all model terms.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
36
3
37
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
North
East
Up
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
38
2
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
3
gLAB.out
Time (sec) Vertical
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
39
2
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
3
gLAB.out
East: 19
North: 18
$4>15000
To plot from t>15000 sec, when S/A=off
40
Carrier advance
gLAB.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Select IONO
Note: Use the gLAB.out file. In gLAB1.out file this model component was switched off.
41
gLAB.out
S/A=off Zoom
gLAB.out gLAB.out
gLAB.out
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
42
ion depends
ion =
40.3 I f2
where I is the number of electrons per area unit along ray path (STEC: Slant Total Electron Content).
I = N e ds
Two-frequency receivers can remove this error source (up to 99.9%) using ionosphere-free combination f12 L1 f 22 L 2 LC = of pseudoranges (PC) or carriers (LC). f12 f 22 Single-frequency users can remove about a 50% of the ionospheric delay using the Klobuchar model, whose parameters are broadcast in the GPS navigation message.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
43
keep
gLAB1.out
as output file
The same scheme must be applied for all other model terms (TGDs, relat...)
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
44
gLAB.out
S/A=off Zoom
gLAB.out gLAB.out
gLAB.out
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
45
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
46
gLAB.out
S/A=off Zoom
gLAB.out gLAB.out
gLAB.out
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
47
being f0 = 10.23 MHz, we have f=4.464 10-10 f0= 4.57 10-3 Hz. So, satellite should use f0=10.22999999543 MHz.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
48
gLAB.out
S/A=off Zoom
gLAB.out
gLAB.out
correction.
These instrumental delays can affect up to few meters, being the satellite TGDs broadcast in the navigation message for single frequency users.
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gLAB1.out
gLAB.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
49
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
50
gLAB.out
S/A=off Zoom
gLAB.out gLAB.out
gLAB.out
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
51
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
52
gLAB.out
S/A=off Zoom
gLAB.out gLAB.out
gLAB.out
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
53
2. Compute satellite coordinates at emission time T[emission] T[emission] [orbit] (Xsat,Ysat,Zsat)CTS[emission] 3. Account for Earth rotation during traveling time from emission to reception t
(CTS reference system at reception time is used to build the nav. equations):
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
54
Distance: r
Note: reception is computed unsetting in gLAB: Satellite movement during signal flight time. Earth rotation during signal flight time.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
55
gLAB.out
S/A=off Zoom
gLAB.out gLAB.out
gLAB.out
gLAB1.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
56
Given that session time is limited to 3h, students who feel comfortable using gLAB, can skip part of the basic exercises (Ex1, Ex2) and jump to the Lab. Work Project.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
57
2 1
Note: The igs_pre1400.atx file contains the APC used by IGS before GPS week 1400.
Set Kinematic
3
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
58
gLAB.out
for the FULL model, as in previous case.
5
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
gLAB.out
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
59
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
60
Code measurements are unambiguous but noisy (meter level measurement noise). Carrier measurements are precise but ambiguous, meaning that they have few millimetres of noise, but also have unknown biases that could reach thousands of km.
Carrier phase biases are estimated in the navigation filter along with the other parameters (coordinates, clock offsets, Code is etc.). If these biases were fixed, Zoom of unambiguous, measurements accurate to the level of carrier noise but noisy few millimetres would be available for positioning. However, some time is needed to decorrelate such biases from Note: Figure shows the noise of code and carrier prefit- the other parameters in the filter, and the residuals, which are the input data for navigation equations. estimated values are not fully unbiased.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
61
S/A=on
S/A=off
Under S/A=off , the broadcast orbits and clocks are accurate at few meters level (see plots at left) IGS precise orbits & clocks are accurate at few cm level
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
62
Tides
3
63
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
gLAB.out
gLAB.out
Solid Tides:
Sun
gLAB.out
Moon
These effects do not affect the GNSS signals, but if they were not considered, the station coordinates would oscillate with relation to a mean value. They produce vertical (mainly) and horizontal displacements.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
64
gLAB1.out
gLAB1.out
ARP
(ARP)
(ARP)
gLAB.out
gLAB.out
GNSS measurements are referred to the APC. This is not necessarily the geometric center of the antenna, and it depends on the signal frequency and the incoming radio signal direction. For geodetic positioning a reference tied to the antenna (ARP) or to monument is used.
Receiver APC:
The antenna used for this experiment, has the APC position vertically shifted regarding ARP. Thence, neglecting this correction, an error on the vertical component occurs, but not in the horizontal one.
gLAB.out
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
65
gLAB1.out
gLAB1.out
gLAB.out gLAB.out
gLAB.out
Satellite MC to APC:
The satellite MC to APC eccentricity vector depends on the satellite. The APC values used in the IGS orbits and clocks products are referred to the iono-free combination (LC, PC) . They are given in the IGS ANTEX files (e.g., igs05.atx).
Broadcast orbits are referred to the antenna phase center, but IGS precise orbits are referred to the satellite mass center.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
66
gLAB1.out
gLAB1.out
gLAB.out gLAB.out
gLAB.out
Wind-Up
Wind-up changes smoothly along continuous carrier phase arcs. In the position domain, wind-up affects both vertical and horizontal components.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
67
OVERVIEW
Introduction The gLAB tool suite Examples of GNSS Positioning using gLAB Laboratory session organization
LABORATORY Session Starting-up your laptop Basic: Introductory laboratory exercises (Ex1, Ex2) Medium: Laboratory Work Project (LWP): Kinematic positioning of a LEO satellite Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
68
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
69
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
70
Data files:
Measurements file: graa0800.07o GPS orbits and clocks: Broadcast: brdc0800.07n Precise: cod14193.sp3, cod14193.clk, igs05_1402.atx GRACE-A Precise Reference Orbit file: GRAA_07_080.sp3
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
71
2 3
Select files graa0800.07o brdc0800.07n
Set calculate
Set SPP
1
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Set data decimation to 30 seconds instead of 300 to Set SPP have a higher number of output samples
72
gLAB.out
From SPP template disable: Tropospheric Ionospheric
Disable all messages except:
Run gLAB
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
73
2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. Note: Use the configuration file dif.cfg. gLAB_linux input:cfg dif.cfg input:SP3 GRAA_07_080.sp3 input:SP3 orb.sp3
Note: this sentence generates the file: dif.out
3. Plot dif.out file: The Graphic User Interface can be used for plotting
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
74
1
Configure Plot 1, then Plot 2, and afterwards Plot 3 Set plotting ranges
[Xmin, Xmax] [Ymin,Ymax]
Plotting
Upload file dif.out in Plot 1, Plot 2 & Plot 3
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
75
2.
Zoom
3.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
76
Ionosphere:
The ionosphere extends from about 60 km over the Earth surface until more than 2000 km, with a sharp electron density maximum at around 350 km. GRACE-A satellite, orbiting at about 450 km altitude, is less affected by the ionosphere than on the ground, but nonetheless a few meters of slant delay could be experienced. On the other hand, as the correction from Klobuchar model is tuned for ground receivers, its usage could produce more harm than benefit (see HW1).
Homework:
HW1: Assess the ionospheric delay on the GRACE-A satellite measurements. Compare with the Klobuchar model corrections.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
77
Answer to Question 3: What could be the reason for the large error peaks seen in the plots?
The large error peaks are associated to bad GPS-LEO satellite geometries and mismodelling. Notice that the satellite is moving at about 8 km/s and therefore the geometry changes quickly (see HW2). Also, the geometry is particularly poor when GRACE-A satellite is over poles.
Homework:
HW2: Plot in the same graph the True 3D error, the Formal 3D error (i.e, the 3D-sigma) and the number of satellites used. Analyze the evolution of the error.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
78
Mode 2. Dual frequency PC code with broadcast orbits & clocks Example of computation with gLAB: Code positioning + broadcast orbits: Dual frequency: PC code combination.
Complete the steps (from previous configuration):
1. [Modeling]: Disable P1-P2 correction 2. [Filter]: Dual Frequency PC measurement 3. Run gLAB 4. In console mode: Convert the gLAB.out to orb.sp3 format file. Compute differences with reference file GRAA_07_080.sp3
79
1
From previous configuration, set: Dual Frequency PC Measurement
P1 P2 Correction
1.
Convert the output gLAB.out file to sp3 format: Execute (in Console): out2sp3 gLAB.out orb.sp3
2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. Note: Use the configuration file dif.cfg.
dif.out
3. Plot dif.out file:
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Mode 2. Dual frequency PC code with broadcast orbits & clocks Plotting
Make the same plots as in the previous case.
Questions
4. Why is the solution noisier than the previous one with C1 code? Discuss the pros and cons of the ionosphere-free combination of codes (PC), compared with C1 code. How could the performance be improved?
Zoom
5.
6.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
80
77 = 60
Pc = 3
Answer to Question 5: Discuss the pros and cons of the ionosphere-free combination of codes (PC).
Combination PC removes about the 99.9% of ionospheric delay, one of the most difficult error sources to model, but two frequency signals are needed. On the other hand, PC is noisier than the individual codes C1, P1 or P2 (see HW3).
Homework:
HW3: Assess the measurement noise on the C1, P1, P2 and PC code measurements.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
81
Mode 3. Dual freq. LC, PC carrier and code with precise orbits & clocks
Example of computation with gLAB: Code & Carrier + precise orbits & clocks: Dual frequency (LC, PC)
2
Set calculate
Select files graa0800.07o cod14193.sp3 cod14193.clk igs05_1402.atx Set PPP
Set data decimation to 30 seconds instead of 300 to have a higher number Set SPP of output samples
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
82
Mode 3. Dual freq. LC, PC carrier and code with precise orbits & clocks
Example of computation with gLAB: Code & Carrier + precise orbits & clocks: Dual frequency (LC, PC)
Switch to Kinematic
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
83
Mode 3. Dual freq. LC, PC carrier and code with precise orbits & clocks
Example of computation with gLAB: Code & Carrier + precise orbits & clocks: Dual frequency (LC, PC)
1. Convert the output gLAB.out file to sp3 format: Execute (in Console): out2sp3 gLAB.out orb.sp3 2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. Note: Use the configuration file dif.cfg.
dif.out
3. Plot dif.out file:
1
gAGE/UPC
Run gLAB
84
Mode 3. Dual freq. LC, PC carrier and code with precise orbits & clocks
Questions
7. Which is the improvement in precise orbits and clocks accuracy, regarding the broadcast case? 8. How do carrier phase measurements allow to improve the accuracy? 9. Why do large peaks appear? 10. Why does a 40-50 cm bias appear in the radial component? 11. Why do wind-up and satellite antenna phase center offset corrections have to be applied? What about the solid tides correction?
Zoom
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
85
Mode 3. Dual freq. LC, PC carrier and code with precise orbits & clocks
Answer to Question 7: Which is the improvement in precise orbits and clocks accuracy, regarding the broadcast case?
Broadcast orbits and clocks are accurate at the level of few meters. Precise orbits and clocks IGS products are accurate at few centimeter level (see HW4).
Answer to Question 8: How do carrier phase measurements allow to improve the accuracy?
Code measurements are unambiguous but noisy (meter-level measurement noise). Carrier measurements are precise but ambiguous (few millimetres of noise, but with an unknown bias that can reach thousands of kilometres). The carrier phase biases are estimated in the navigation filter along with the other parameters (coordinates, clock offsets, etc.). If these biases were fixed, then measurements accurate at the level of few millimetres, would be available for positioning. However, some time is needed to decorrelate such biases from the other parameters in the filter, and the estimated values are not fully unbiased.
Homework:
HW4: Assess the broadcast orbits and clock accuracy using the precise products as the truth.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
86
Mode 3. Dual freq. LC, PC carrier and code with precise orbits & clocks
Answer to Question 9: Why do large peaks appear?
The peaks are related to massive cycle-slips experienced after each revolution (about 1.5 h). After a cycle-slip happens, the filter has to restart the carrier ambiguity. This is not a problem when it occurs on a single satellite (being the others well determined), as its ambiguity is estimated quickly. But when a massive cycle-slip occurs, the filter needs more time to converge (see HW5).
Answer to Question 10: Why does a 40-50 cm bias appear in the radial component?
This is the GRACE-A antenna phase centre offset. Please notice that we are positioning the Antenna Phase Centre (APC), while the coordinates in the SP3 reference file (GRAA_07_080.sp3) are referred to the satellite Mass Centre (MC).
Homework:
HW5: Analyze the carrier phase biases convergence in this kinematic PPP positioning.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
87
Mode 3. Dual freq. LC, PC carrier and code with precise orbits & clocks
Answer to Question 11: Why do wind-up and GPS satellite antenna phase center offset corrections have to be applied? What about the solid tides correction?
Wind-up correction: Wind-up only affects the carrier phase measurements, but not the code ones. This is due to the electromagnetic nature of circularly polarised waves of GPS signals. The correction implemented in gLAB only accounts for the satellite movement relative to a receiver with fixed coordinates. An additional correction to account for the GRACE-A motion along its orbital path could also be included, but since most part of this effect will be common for all satellites, it will be absorbed by the receiver clock offset estimation. GPS satellite antenna phase center: Precise orbits and clocks of IGS products are relative to the GPS satellite mass centre (unlike the broadcast ones, which are relative to the satellite antenna phase centre [APC]). Thence an APC offset vector must be applied. Solid tides correction: No Earths Solid Tides corrections are needed because the rover is not on the ground.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
88
Mode 4. Single freq. with L1, C1 GRAPHIC comb. and precise orbits & clocks
Example of computation with gLAB: Code and Carrier + precise orbits & clocks: Single frequency (GRAPHIC)
Complete the steps
(from previous configuration):
Single frequency
C1C G1C
1
1.
[*] Note: C1C must be set due to gLAB architecture, but it is assigned a large sigma to avoid the C1 code noise and ionospheric error.
Convert the output gLAB.out file to sp3 format: Execute (in Console):
2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. Note: Use the configuration file dif.cfg.
dif.out
3. Plot dif.out file:
1. [Model]: Disable P1 P2 Corr. 2. [Filter]: Single Frequency C1C (C1 code [*]) G1C (GRAPHIC) 3. Run gLAB 4. In console mode: Convert the glab.out to orb.sp3 format file. Compute differences with reference file GRAA_07_080.sp3 Make plots as before.
89
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Mode 4. Single freq. with L1, C1 GRAPHIC comb. and precise orbits & clocks
Questions
12. Which is the main benefit of the GRAPHIC combination?
Zoom
13. Why is the solution noisier than the previous one with LC, PC? 14. Would the performance be improved directly using the L1, P1 measurements (like in the LC, PC case)?
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
90
Mode 4. Single freq. with L1, C1 GRAPHIC comb. and precise orbits & clocks
Answer to Question 12: Which is the main benefit of the GRAPHIC combination?
1 ( P1 + L1 ) 2 Thence, since the ionospheric refraction has opposite sign in code P1 and carrier L1, GRAPHIC removes the ionospheric error. On the other hand the code noise is reduced by a factor 2 (i.e., G = 1/ 2 ). However, this is an ambiguous measurement due to the unknown carrier phase bias. Note: Due to the gLAB filter design, a code measurement must also be provided to the filter along with the GRAPHIC one. Nevertheless, a large sigma noise is set to this code in order to downweight this measurement in the filter (in this way the solution will be driven by the GRAPHIC combination).
The GRAPHIC combination is defined as:= G
Answer to Question 13: Why is the solution noisier than the previous one with LC, PC?
Unlike the previous case (where carrier phase data with few millimetres of error were provided), now the most accurate measure provided to the filter is the GRAPHIC combination with tens of centimetres of error.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
91
Mode 5. Single freq. L1, C1 carrier and code with precise orbits & clocks Example of computation with gLAB: Code and Carrier + precise orbits & clocks: Single frequency (L1, C1)
From previous configuration, complete the following steps:
1. [Input]: Upload the brdc0800.07n file in the P1-P2 correction. 2. [Model]: Set P1-P2 correction, select RINEX Navigation File as DCB source.
1
Note: TGDs (i.e, P1-P2 DCBs) are needed for single-frequency positioning.
2
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
92
Mode 5. Single freq. L1, C1 carrier and code with precise orbits & clocks Example of computation with gLAB: Code and Carrier + precise orbits & clocks: Single frequency (L1, C1)
C1P L1P Single frequency Complete the steps
3. [Filter]: Single Frequency measurements L1P (L1 carrier) C1P (P1 code) 4. Run gLAB 5. In console mode: Convert the gLAB.out to orb.sp3 format file. Compute differences with reference file GRAA_07_080.sp3 Make plots as before.
93
3
1.
2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. Note: Use the configuration file dif.cfg.
dif.out
3. Plot dif.out file:
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Mode 5. Single freq. L1, C1 carrier and code with precise orbits & clocks
Questions
15. Explain why the solution has a more defined pattern, with large oscillations. 16. No ionospheric corrections have been applied in this run. What would happen if the Klobuchar model is applied?
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
94
Mode 5. Single freq. L1, C1 carrier and code with precise orbits & clocks
Answer to Question 15: Explain why the solution has a more defined pattern, with large oscillations.
This effect is due to the error introduced by the ionosphere and the broadcast differential code biases inaccuracy.
Answer to Question 16: No ionospheric corrections have been applied in this run. What would happen if the Klobuchar model is applied?
In general, the performance will degrade. As commented before, the correction from Klobuchar model is tuned for ground receivers, only removes about the 50% of ionospheric delay, and its usage can produce more harm than benefit. (see HW6).
Homework:
HW6: Apply the Klobuchar model and discuss the results. HW7: Generate a file with the satellite track (in a Earth-Fixed Earth-Centered reference frame) to be viewed with .
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
95
OVERVIEW
Introduction The gLAB tool suite Examples of GNSS Positioning using gLAB Laboratory session organization LABORATORY Session Starting-up your laptop Basic: Introductory laboratory exercises (Ex1, Ex2) Medium: Laboratory Work Project (LWP): Kinematic positioning of a LEO satellite Advanced: Homework
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
96
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
97
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
98
Backup slides
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
99
Note: This configuration will provide: Plot 1: L1-L2 as a function of time for ALL sat. Plot 2: L1-L2 as a function of time for PRN16. Plot 3: P2-P1 as a function of time for PRN16
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
100
Plot 1 Plot 3
$11-$12 L1-L2
Plot 2
$10-$9 P2-P1
$11-$12 L1-L2
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
101
The ionospheric delay (STEC) computed from L1-L2 (aligned) carriers is shown in blue for all satellites. The red circles show the L1-L2 delay for sat. PRN16 The green circles show the ionospheric delay on PRN16 computed from P2-P1 code measurements. As it is shown in the plot, the STEC variations are typically at the meter level, but in some cases they increase up to several meters. The code measurement noise and multipath in the P2-P1 combination is typically at the meter level, but in the ends of data arcs (low elevation rays) can reach up to a few meters.
The previous plot can be also generated in console mode as follows (see graph.py help):
graph.py -f gLAB.out -c '($1=="INPUT")' -x4 -y'($11-$12)' --l "ALL" -f gLAB.out -c '($1=="INPUT")&($6==16)' -x4 -y'($10-$9)' -so --l "PRN16 P2-P1" -f gLAB.out -c '($1=="INPUT")&($6==16)' -x4 -y'($11-$12)' -so --l "PRN16 L1-L2" --xn 43000 --xx 67000 --yn -10 --yx 15
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
102
= I1 1 ( C1 L1) + bias 2
3. From previous file, plot the ionospheric delay for the time interval [43000:67000]. Show in the same plot: 1) ALL satellites, 2) PRN16 and 3) PRN21 (see Plot HW1-b in next slide).
graph.py -f I1.txt -x2 -y3 -s. --cl y --l "ALL" -f I1.txt -c '($1==16)' -x2 -y3 -so --cl r --l "PRN16" -f I1.txt -c '($1==21)' -x2 -y3 -so --cl g --l "PRN21" --xn 43000 --xx 67000 --yn -10 --yx 10
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
103
Plot HW1-b:
STEC variations of few meters are typically experienced , but in some cases they reach up to 8 meters of L1 delay.
Plot HW1-c:
L1-C1 iono estimate is less noisier than the P2-P1. On the other hand, large discrepancies appear when comparing with Klobuchar corrections
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
104
Plot HW1-c generation (working with the GUI and in console mode):
1. Using the gLAB configuration of exercise 1, activate the Ionospheric Correction option in the [Modelling] panel and run again gLAB. The program will output the file gLAB.out. (see help and file format executing: gLAB_linux messages, or gLAB_linux help). 2. grep the MODEL messages of file gLAB.out, selecting the C1P [PRN, time Klob_iono] data: grep MODEL gLAB.out |grep C1P|gawk '{print $6,$4,$25-3}' > klob.txt Note: the Klob_data is shifted by -3 meters to align the curves in the plot 3. Plot in the same graph the ionospheric delays of satellites PRN16 and PRN21 from I1.txt and klob.txt file (see Plot HW1-c in the previous slide). Note: Both the Graphic User Interface (GUI) panel or the graph.py tool (in console mode) can be used for plotting.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
105
HW2: Plot in the same graph the True 3D error, the Formal 3D error and the number of satellites used. Analyze the result.
Note: 3D-sigma PDOP In the previous plot, the 3-D sigma is multiplied by 5 to enlarge the image.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
106
HW2: Plot in the same graph the True 3D error, the Formal 3D error and the number of satellites used. Analyze the result.
STEC variations of few meters, but in some cases, reaching up to 8 meters of L1 delay.
Plot HW2-a
Periodic error peaks appear, mostly associated with losing a satellite and/or with bad geometries.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
107
M C1 = C1 L1 2
( L1 L 2)
77 = 60
3. From C1.txt file, Plot the C1 code noise and multipath for time interval [43000:67000]. Show in the same graph: 1) ALL satellites, 2) PRN16 and 3) PRN21 (see Plot HW3-a)
graph.py -f C1.txt -x2 -y3 -s. --cl y --l "ALL" -f C1.txt -c '($1==16)' -x2 -y3 -so --cl r --l "PRN16" -f C1.txt -c '($1==21)' -x2 -y3 -so --cl g --l "PRN21" --xn 43000 --xx 67000 --yn 8 --yx 28
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
108
M P1 = P1 L1 2
1( L1 L 2)
77 = 60
2. From previous P1.txt file, Plot the P1 code noise and multipath for time interval [43000:67000]. Show in the same graph: 1) ALL satellites, 2) PRN16 and 3) PRN21 (see Plot HW3-b)
graph.py -f P1.txt -x2 -y3 -s. --cl y --l "ALL" -f P1.txt -c '($1==16)' -x2 -y3 -so --cl r --l "PRN16" -f P1.txt -c '($1==21)' -x2 -y3 -so --cl g --l "PRN21" --xn 43000 --xx 67000 --yn 8 --yx 28
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
109
M P2
= P 2 L 2 2
1( L1 L 2)
77 = 60
2. From previous P2.txt file, Plot the P2 code noise and multipath for time interval [43000:67000]. Show in the same graph: 1) ALL satellites, 2) PRN16 and 3) PRN21 (see Plot HW3-c)
graph.py -f P2.txt -x2 -y3 -s. --cl y --l "ALL" -f P2.txt -c '($1==16)' -x2 -y3 -so --cl r --l "PRN16" -f P2.txt -c '($1==21)' -x2 -y3 -so --cl g --l "PRN21" --xn 43000 --xx 67000 --yn 8 --yx 28
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
110
M Pc = Pc Lc
= Lc
f12 L1 f 22 L2 L1 L2 = 1 f12 f 22
2. From previous PC.txt file, Plot the PC combination noise and multipath for time interval [43000:67000]. Show in the same graph: 1) ALL satellites, 2) PRN16 and 3) PRN21 (see Plot HW3-d)
graph.py -f PC.txt -x2 -y3 -s. --cl y --l "ALL" -f PC.txt -c '($1==16)' -x2 -y3 -so --cl r --l "PRN16" -f PC.txt -c '($1==21)' -x2 -y3 -so --cl g --l "PRN21" --xn 43000 --xx 67000 --yn 8 --yx 28
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
111
Comments
Large noise patterns appear at the end of each data arc. This is due to interference cross-talk with other components. The figure at bottom shows the multipath map for the GRACE-A . P2 code is noisier than P1 or C1. PC code combination is the noisiest one, as expected.
Plot HW3-a
Plot HW3-b
Plot HW3-c
Plot HW3-d
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
112
HW4: Broadcast orbits and clocks accuracy assessment using the IGS precise products as the accurate reference (i.e, the truth).
Complete the following steps:
File brdc0800.07n contains the orbit and clocks data broadcast in the GPS navigation message. Files cod14193.sp3, cod14193.clk contain the precise orbits and clocks computed in postprocess by CODE center (IGS precise orbits and clocks products program). 1. Execute the following sentence to compute the difference of satellite coordinates and clock offsets between both orbits and clocks sources:
gLAB_linux -input:nav brdc0800.07n -input:SP3 cod14193.sp3 -input:ant igs05_1402.atx > dif.tmp
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
Backup
113
HW4: Broadcast orbits and clocks accuracy assessment using the IGS precise products as the accurate reference (i.e, the truth).
Comments
Meter level errors are found on broadcast orbits and clocks. The bias seen in the radial component is due to the different APCs used by the GPS ground segment (i.e, in broadcast orbits) and by IGS (precise products). This bias is compensated by a similar shift in clocks. For the Signal-In-Space-Range-Error (SISRE), please see the plot below.
Plot HW4-a1
Plot HW4-b1
Plot HW4-e1
Plot HW4-c1
Plot HW4-d1
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
114
HW4: Broadcast orbits and clocks accuracy assessment using the IGS precise products as the accurate reference (i.e, the truth).
Comments
The previous computations have been repeated, but using the ANTEX file gps_brd.atx, instead of igs05_1402.atx. This new ANTEX file contains the GPS antenna phase center offsets used by the GPS ground segment, not the IGS ones.
Plot HW4-a2
Plot HW4-b2
Plot HW4-e2
Plot HW4-c2
Plot HW4-d2
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
115
HW5: Analyze the carrier phase biases convergence in the kinematic PPP positioning.
Plot the results: Plot the ionosphere-free bias estimates as a function of time for the time interval [40000:70000]. Show in the same graph: 1) ALL satellites, 2) PRN16 and 3) PRN21 (see Plot HW5-d).
Note: The GUI can be used instead of the graph.py command.
-x2 -y3 -x2 -y3 -c '($1==16)' --l "PRN16" -x2 -y3 -c '($1==21)' --l "PRN21" --xx 70000 --yn -10 --yx 10
Tutorial associated to the GNSS Data Processing book
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
116
HW5: Analyze the carrier phase biases convergence in the kinematic PPP positioning.
Zoom
Comments
Large peaks appear in the carrier phase biases due to massive cycle-slips: Satellite tracking loses happen periodically after each revolution. These satellite loses produce massive cycle slips which leads to a global reinitialization of carrier-phase biases in the navigation (Kalman) filter . After such ambiguities reinitialization, the filter needs some time to converge. Carrier phase ambiguities converge quickly thanks to the rapid variation of geometry due to the LEO movement along its orbital path.
Plot HW5-a
Plot HW5-b
Zoom
Zoom
Plot HW5-c
Plot HW5-d
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
117
HW6: Single freq. L1, C1 carrier and code with precise orbits & clocks using Klobuchar ionospheric corrections
Code and Carrier + precise orbits & clocks: Single frequency (L1, C1) + Klobuchar ionosphere
Configure gLAB as in Mode 5 and complete the following steps: 1. [Input]: Upload the brdc0800.07n file to IONO brdc0800.07n file to DCBs 2. [Model]: set P1 P2 corr. IONO corr.
1
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
2
Tutorial associated to the GNSS Data Processing book 118
J. Sanz Subirana, J.M. Juan Zornoza, M. Hernndez-Pajares
HW6: Single freq. L1, C1 carrier and code with precise orbits & clocks using Klobuchar ionospheric corrections
Code and Carrier + precise orbits & clocks: Single frequency (L1, C1) + Klobuchar ionosphere
C1P L1P Single frequency Complete the steps
3. [Filter]: Single Frequency measurements: L1P (L1 carrier) C1P (P1 code) 4. In console mode: Convert the glab.out to orb.sp3 format file. Compute differences with reference file GRAA_07_080.sp3 Make plots as before.
3
out2sp3 gLAB.out orb.sp3
1.
Convert the output gLAB.out file to sp3 format: Execute (in Console):
2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. Note: Use the configuration file dif.cfg. gLAB_linux input:cfg dif.cfg input:SP3 GRAA_07_080.sp3 input:SP3 orb.sp3
dif.out
3. Plot dif.out file:
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
119
HW6: Single freq. L1, C1 carrier and code with precise orbits & clocks using Klobuchar ionospheric corrections Comments
A clear degradation is seen when applying the Klobuchar model to the LEO. This is due to the large error introduced by this model which was designed for ground receivers, not for LEOs. Next plot compares the L1 delay computed from Klobuchar with the STEC experienced by the GPS signal.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
120
HW7: Generate a file with the satellite track (in a Earth-Fixed EarthCentered reference frame) to be viewed with Google Earth Complete the following steps
1. Select the satellite [longitude, latitude, height] coordinates of message OUTPUT in the gLAB.out file. Generate a file with these coordinates (comma-separated).
grep OUTPUT gLAB.out |gawk BEGIN{OFS=, } {print $16,$15,$17} > track.tmp
2. Add the header (Prefix.kml) and the tail (Postfix.kml) files to the previous track.tmp data file:
cat Prefix.kml > grace_track.kml cat track.tmp >> grace_track.kml cat Postfix.kml >> grace_track.kml
3.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
121
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
122
Acknowledgements
The ESA/UPC GNSS-Lab Tool suit (gLAB) has been developed under the ESA Education Office contract N. P1081434. The data set of GRACE-A LEO satellite was obtained from the NASA Physical Oceanography Distributed Active Archive Center at the Jet Propulsion Laboratory, California Institute of Technology. The other data files used in this study were acquired as part of NASA's Earth Science Data Systems and archived and distributed by the Crustal Dynamics Data Information System (CDDIS). To Pere Ramos-Bosch for his fully and generous disposition to perform gLAB updates in his afterhours. To Adri Rovira-Garcia for his contribution to the edition of this material and gLAB updating. To Dagoberto Salazar for the English reviewing and integrating this learning material into the GLUE.
gAGE/UPC
Research group of Astronomy & Geomatics Technical University of Catalonia
123