0% found this document useful (0 votes)
45 views131 pages

Tutorial 1 v2.2

This tutorial document introduces GNSS data processing exercises using the gLAB software tool. It provides an overview of gLAB's capabilities for GNSS positioning and processing. The laboratory session consists of basic, medium, and advanced exercises using gLAB to process actual GPS data for educational purposes.

Uploaded by

Ahmet TOLUC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views131 pages

Tutorial 1 v2.2

This tutorial document introduces GNSS data processing exercises using the gLAB software tool. It provides an overview of gLAB's capabilities for GNSS positioning and processing. The laboratory session consists of basic, medium, and advanced exercises using gLAB to process actual GPS data for educational purposes.

Uploaded by

Ahmet TOLUC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 131

Tutorial 1

GNSS Data Processing Lab Exercises


Contact: jaume.sanz@upc.edu
Web site: http://www.gage.upc.edu

Slides associated to
gLAB version 2.0.0

@ J. Sanz & J.M. Juan 1


Authorship statement

The authorship of this material and the Intellectual Property Rights are owned by
J. Sanz Subirana and J.M. Juan Zornoza.

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 referring to the slides used.

This authorship statement must be kept intact and unchanged at all times.

24 April 2014

@ J. Sanz & J.M. Juan 2


Aim of this tutorial
 This tutorial 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 CD-ROM or USB stick associated to this tutorial.
 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.

@ J. Sanz & J.M. Juan 3


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
@ J. Sanz & J.M. Juan 4
The gLAB Tool suite
 The GNSS-Lab Tool suite (gLAB) is an interactive
multipurpose educational and professional package for
GNSS Data Processing and Analysis.
 gLAB has been developed under the ESA Education Office
contract N. P1081434.
Main features:
• High Accuracy Positioning
capability.
• Fully configurable.
• Easy to use.
• Access to internal computations.

@ J. Sanz & J.M. Juan 5


The gLAB Tool suite
gLAB has been designed to cope with the
needs of two main target groups:
• Students/Newcomers: User-friendly tool, with a lot
of explanations and some guidelines.

• Professionals/Experts: Powerful Data Processing


and Analysis tool, fast to configure and use, and
able to be included in massive batch processing.

@ J. Sanz & J.M. Juan 6


The gLAB Tool suite
 Students/Newcomers:
• Easiness of use: Intuitive GUI.
• Explanations: Tooltips over the different options of the GUI.
• Guidelines: Several error and warning messages. Templates for pre-
configured processing.

@ J. Sanz & J.M. Juan 7


The gLAB Tool suite
 Students/Newcomers:
• Easiness of use: Intuitive GUI.
• Explanations: Tooltips over the different GUI options.
• Guidelines: Several error and warning messages.
Templates for pre-configured processing.

 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.

@ J. Sanz & J.M. Juan 8


The gLAB Tool suite
 In order to broad the tool availability, gLAB
Software has been designed to work in both
Windows and Linux environments.

 The package contains:


• Windows binaries (with an installable file).
• Linux .tgz file.
• Source code (to compile it in both Linux and Windows OS)
under an Apache 2.0 license.
• Example data files.
• Software User Manual.
• HTML files describing the standard formats.

@ J. Sanz & J.M. Juan 9


The gLAB Tool suite
 Read files capability:  Modelling module:
• RINEX observation v2.11 & v3.00
• RINEX navigation message. • Fully configurable model.
• SP3 precise satellite clocks and orbits files • Satellite positions.
• ANTEX Antenna information files.
• Constellation status. • Satellite clock error correction.
• DCBs files. • Satellite movement during signal flight
• GPS_Receiver_Type files. time.
• SINEX position files. • Earth rotation during signal flight time.
• Satellite phase center correction.
 Pre-processing module:
• Carrier-phase prealignment.
• Receiver phase center correction.
• Carrier-phase / pseudorange consistency
(frequency dependent).
check. • Relativistic clock correction.
• Cycle-slip detection (customizable parameters) • Relativistic path range correction.
- Melbourne-Wübbena. • Ionospheric correction (Klobuchar).
- Geometry-free CP combination.
- L1-C1 difference (single frequency). • Tropospheric correction
• Pseudorange smoothing. - Simple and Niell mappings.
• Decimation capability. - Simple and UNB-3 nominals.
• On demand satellite enable/disable. • Differential Code Bias corrections.
• Elevation mask. • Wind up correction.
• Frequency selection.
• Discard eclipsed satellites.
• Solid tides correction (up to 2nd
degree).

Backup @ J. Sanz & J.M. Juan 10


The gLAB Tool suite
 Filtering module:  Output module:
• Cartesian / NEU coordinates.
• Able to chose different measurements • Configurable message output.
to process (1 or more), with different
weights. This design could be useful
in future Galileo processing, where  Other functionalities:
processing with different • Computation of satellite coordinates
measurements may be desired. and clocks from RINEX and SP3 files.
• Fixed or elevation-dependant weights • Satellite coordinates comparison
per observation. mode. For instance RINEX navigation
• Troposphere estimation on/off. vs. SP3, or SP3 vs. SP3 (along-track,
cross-track and radial orbit errors,
• Carrier-Phase or Pseudorange clock errors, SISRE).
positioning.
• Show input mode. No processing, only
• Static/Kinematic positioning (full parsing RINEX observation files.
Q/Phi/P0 customization).
• Able to do a forward/backward • Current version allows full GPS data
processing.
• Able to compute trajectories (no need processing, and partial handling of
for a priori position). Galileo and GLONASS data.
• Future updates may include full
GNSS data processing.

Backup @ J. Sanz & J.M. Juan 11


GNSS learning material package
Includes three different parts, allowing to follow
either a guided or a self-learning GNSS course:
• GNSS Book: Complete book with theory, practical
examples (Volume 1), and with a Laboratory course
on GNSS Data Processing & Analysis (Volume 2).
• gLAB tool suite: Source code and binary software
files, plus configuration files, allowing processing
GNSS data from standard formats. The options
are fully configurable through a GUI.
• gAGE-GLUE: Bootable USB stick with a full
environment ready to use; based on LINUX
(Ubuntu) OS.

@ J. Sanz & J.M. Juan 12


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
@ J. Sanz & J.M. Juan 13
Basic: Introductory Lab. Exercises
Standard and Precise Point Positioning
• To Illustrate how easy to process GNSS data using
gLAB, a GPS receiver will be positioned in the next
examples using:
- Example 1: Broadcast orbits and clocks (SPP, kinematic).
- Example 2: Precise Orbits and clocks (PPP, static).
- Example 3: Precise Orbits and clocks (PPP, kinematic).

• Solutions will be compared with an accurate reference value of


receiver coordinates to asses the positioning error.
Note: the receiver coordinates were keep fixed during the data collection.

@ J. Sanz & J.M. Juan 14


We will work after the correlator: Our input data are code
and carrier measurements and satellite orbits and clocks.

15
@ J. Sanz & J.M. Juan
GNSS Format Descriptions
 GNSS data files follow a well defined set of standards
formats: RINEX, ANTEX, SINEX…
 Understanding a format description is a tough task.
 These standards are explained in a very easy and
friendly way through a set of html files.
 Described formats:
• Observation RINEX
• Navigation RINEX
• RINEX CLOCKS
• SP3 Version C
• ANTEX

Open GNSS Formats


with Firefox internet browser

More details at: http://www.gage.es/gLAB

@ J. Sanz & J.M. Juan 16


Example 1: Standard Point Positioning (SPP)
SPP Template: Kinematic positioning with single freq. C1 code +
broadcast orbits and clocks.

1. Select the SPP Template


2. Upload the RINEX files:
2 - Measurement : roap1810.09o
- Navigation: brdc1810.09n
3. RUN gLAB

1 3 Default output file:


gLAB.out
Note: Reference coordinates are from RINEX

@ J. Sanz & J.M. Juan 17


Example 1: Standard Point Positioning (SPP)
Plotting Results

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.

@ J. Sanz & J.M. Juan 18


Example 2: Static Precise Point Positioning (PPP)
PPP Template: Static positioning with dual freq. code & carrier (ionosphere-
free combination PC,LC) + post-processed precise orbits & clocks.

1. Select the PPP Template


2. Upload data files:
-Measurement : roap1810.09o
- ANTEX: igs05_1525.atx
- Orbits & clocks: igs15382.sp3
2 - SINEX: igs09P1538.snx
3. RUN gLAB

3 Default output file:


1 gLAB.out

@ J. Sanz & J.M. Juan 19


Example 2: Static Precise Point Positioning (PPP)
Plotting Results
• Coordinates are taken as
constants in nav. filter.
• Dual frequency Code and
Carrier measurements.
• Precise orbits and clocks.
• Measurements modelling
at the
centimetre Centimetre level accuracy
over 24h data is achieved
level. in PPP static mode

@ J. Sanz & J.M. Juan 20


Example 3: Kinematic Precise Point Positioning
From default configuration of [PPP Template],
• Select kinematics in the [Filter] panel. Run gLAB and plot results.

Decimetre error level


navigation after the best
Receiver navigated as a rover part of an hour
in a pure kinematic mode.

@ J. Sanz & J.M. Juan 21


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

@ J. Sanz & J.M. Juan 22


Laboratory session organization
 The laboratory session is organized as an assisted activity
were a set of exercises must be developed individually or
in groups of two.

 As they are conceived as self-learning work, a detailed guide


is provided in the slides (pdf file) to develop the exercises.

 A set of questions is presented, and the answers are also


included in the slides.

 Teachers will attend individual (or collective) questions that


could arise during exercise resolution.

@ J. Sanz & J.M. Juan 23


Laboratory session organization
 The exercises are organized in three different levels of difficulty.
The student can choose the level of exercises to do, although at least
an introductory exercise is recommended to learn basic gLAB usage.
 1. Basic: Introductory exercises 1 & 2.
They consist in simple exercises to assess the model components for
Standard and Precise Point Positioning.
“Background information" slides are provided, summarizing the main
concepts associated with these exercises.

@ J. Sanz & J.M. Juan 24


Laboratory session organization
 2. Medium: Laboratory work project.
It consists in the kinematic positioning of a Low Earth Orbit satellite.
Different positioning modes are analyzed and different modeling options
will be discussed.

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.

@ J. Sanz & J.M. Juan 25


Laboratory session organization
 3 . Advanced: Labeled as “Homework exercises”
A set of additional exercises addressed to those students that already have
a solid background on GPS data processing.
These exercises are out of the scope of this 3h laboratory session, and
are posed for a possible further discussion…
As in the previous cases, the answers to the posed questions are also
included as BACKUP slides.

A minimum 
knowledge of 
UNIX (e.g., awk) 
is required for 
these homework 
exercises.

gawk 'BEGIN{g=(77/60)^2}{print $6, $4, (g*($13‐$14)‐($15‐$16))/(g‐1)}' meas.txt > PC.txt

@ J. Sanz & J.M. Juan 26


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
@ J. Sanz & J.M. Juan 27
Installing the software
This tutorial has been designed to be executed under UNIX (Linux) Operative 
System (OS). Which is a very powerful and robust environment.
Nevertheless, the necessary tools are provided for Windows or Macintosh users 
to install this software and to emulate a UNIX command line shell over Windows.

Linux users Windows users can install the  Macintosh users can


can install the windows version of gLAB and the  install the software through
native version of Cygwin emulator of a Linux  the Virtual Machine.
the software
command shell.

@ J. Sanz & J.M. Juan


Inside the “Windows” folder, there is the installable gLAB 
program. Follow the instructions of Software Installation file.

Backup solution for Macintosh users:
8GB of free space in disk are
required to install this SW.

Inside the “Virtual Machine” folder,


there are two folders and one file.
Select the OSX Installers folder and
follow the instructions of document
“VirtualBoxInstaller_OSX.pdf”

@ J. Sanz & J.M. Juan


Installing the software Windows users

The Medium and Advanced exercises of this tutorial have been 


designed to be executed under UNIX (Linux) Operative System (OS). 
Which is a very powerful and robust environment.

Nevertheless, Windows OS users can do the laboratory session by 
using Cygwin, which is a tool that allows to emulate a UNIX 
command line shell over Windows.

Indeed, after installing Cygwin, users can develop the laboratory 
session as if they were working on a UNIX system (as this tutorial 
was designed).

@ J. Sanz & J.M. Juan


Installing  gLAB + Cygwin
1.‐ First step:  Click over the icon 

Check the folder:
C:\gLAB

@ J. Sanz & J.M. Juan


2.‐ Second Step: Completing the gLAB Setup Wizard 

Cygwin  and gLAB 
installation must 
be selected.

@ J. Sanz & J.M. Juan


Once the
installation
finish, the
icons of
gLAB,
Cygwin
Terminal
and the
GNSS Data
Processing
folder will
appear.

Tutorial slides /cygdrive/c/gLAB/win/SUMMER_SCHOOL/WORK_FILES 

UNIX (Linux) console to execute 
“command line” sentences 

@ J. Sanz & J.M. Juan


Suggested  desk configuration to start working

@ J. Sanz & J.M. Juan


NOTE:
Data files are available at the 
folder:
C:\gLAB\win\
SUMMER_SCHOOL\WORK_FILES

@ J. Sanz & J.M. Juan


Windows Troubleshooting:
Execute only if gLAB doesn’t run
Some distributions of windows (e.g. Windows XP) do not install some dlls
required to run gLAB_GUI. This problem is fixed by installing the "Microsoft
Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update“.

To install this package:


1) Go to the DLL_fix folder, inside C:\gLAB directory.

2) Execute vcredist_x64

or vcredist_x86

Backup @ J. Sanz & J.M. Juan


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
@ J. Sanz & J.M. Juan 37
Basic: Introductory laboratory exercises
Exercise 1: Model components analysis for SPP
• This exercise is devoted to analyze the different model
components of measurements (ionosphere, troposphere,
relativity, etc.). This is done both in the Signal-In-Space (SIS)
and User Domains.

• To asses the modelling needs in terms of the GPS


positioning service accuracy, the impact of neglecting each
model component will be evaluated in a S/A on/off scenario.
Note: Selective Availability (S/A) was an intentional degradation of public GPS signals implemented
for US national security reasons. S/A was turned off at May 2nd 2000 (Day-Of-Year 123).

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.

@ J. Sanz & J.M. Juan 38


Exercise 1: SPP Model components analysis
1. Compute SPP using files: ramo1230.00o,brdc1230.00n,  
igs00P1060.snx.

4
2

1 3 5
gLAB.out

Note: Be sure of using the SINEX for “a priory receiver position”

@ J. Sanz & J.M. Juan 39


NEU Position Error plot from gLAB.out

NEU plot template configuration

FULLFULL
SPP model
SPP model

North East Up

@ J. Sanz & J.M. Juan 40


Exercise 1: SPP Model components analysis
The different model
components will be analyzed
with gLAB:
• Using the previous data
file, the impact of
neglecting each model
The modeling component will be
evaluated in the Range
options set in this and Position domains
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.

@ J. Sanz & J.M. Juan 41


Example of model component analysis: IONO.
The procedure
explained here is
applicable for all the
cases: iono, tropo…
Default
configuration
1. In Modeling panel,
disable the model
1 Disable
Ionospheric
for SPP component to correction
analyze.
(in this example: disable
Ionospheric correction)

2. Save as gLAB1.out

In the Default
the associated
output file. 2 Set output file
configuration the Notice that the gLAB.out as
output file was file contains the processing
results with the FULL gLAB1.out
gLAB.out model, as it was set in the
default configuration. 3
@ J. Sanz & J.M. Juan 42
NEU Position Error plot from gLAB1.out

NEU plot template configuration

No Iono. correction
gLAB1.out

North East Up

@ J. Sanz & J.M. Juan 43


Vertical Position Error plot from gLAB.out, gLAB1.out

Click Clear to
1 restart plots

X-min, Y-min, Y-max

2 3
gLAB1.out gLAB.out Time (sec) Vertical

@ J. Sanz & J.M. Juan 44


Horizontal Position Error plot: gLAB.out, gLAB1.out

Click Clear to
1 restart plots

X-min, Y-min, Y-max

2 3
gLAB1.out East: 19 $4>15000
gLAB.out North: 18 To plot from
t>15000 sec,
when S/A=off

@ J. Sanz & J.M. Juan 45


Ionospheric model component plot: gLAB.out

Code
delay

Carrier
advance

Ionosphere delays code and


advances carrier measurements.

Note: Use the gLAB.out file.


gLAB.out In gLAB1.out file this model
Select
IONO component was switched off.

@ J. Sanz & J.M. Juan 46


Summary: Iono. model component analysis

gLAB1.out  gLAB1.out 

S/A=off Zoom
gLAB.out gLAB.out gLAB.out

gLAB.out Ionospheric correction


Code (broadcast Klobuchar )
delay
Ionospheric delays are larger
plot at noon due to the higher
only insulation.
Large positioning errors
(mainly in vertical) appear
gLAB1.out  when neglecting iono. corr.

@ J. Sanz & J.M. Juan 47


Exercise 1: SPP Model components analysis
Ionospheric delay
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. The ionospheric refraction depends, among
other things, of the location, local time and solar cycle (11 years).

• First order (~99.9%) ionospheric delay  ion depends  ion 


40.3
2
I
on the inverse of squared frequency: f
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
of pseudoranges (PC) or carriers (LC). 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.

Backup @ J. Sanz & J.M. Juan 48


Example of model component analysis: TROPO.
The gLAB configuration can be set-up as follows, to repeat the processing without
applying the tropospheric correction (but using the ionosphere again!):

keep
Set again: Iono gLAB1.out
Disable : Tropo
as output file

• The same scheme must be applied for all other model terms (TGDs, relat...)

@ J. Sanz & J.M. Juan 49


Exercise 1: SPP Model components analysis

gLAB1.out  gLAB1.out 

S/A=off Zoom
gLAB.out gLAB.out gLAB.out

gLAB.out Tropospheric
correction(blind model)
Tropospheric and vertical
error are highly correlated.
A displacement of vertical
component appears when
gLAB1.out  neglecting tropo. corrections.

@ J. Sanz & J.M. Juan 50


Exercise 1: SPP Model components analysis

Tropospheric delay
The troposphere is the atmospheric layer placed between Earth’s surface and an altitude of
about 60 km.
The effect of troposphere on GNSS signals appears as an extra delay in the measurement
of the signal travelling from satellite to receiver.
The tropospheric delay does not depend on frequency and affects both the pseudorange
(code) and carrier phases in the same way. It can be modeled by:
• An hydrostatic component, composed of dry gases (mainly nitrogen and oxygen) in
hydrostatic equilibrium. This component can be treated as an ideal gas. Its effects vary
with the temperature and atmospheric pressure in a quite predictable manner, and it is the
responsible of about 90% of the delay.
• A wet component caused by the water vapor condensed in the form of clouds. It depends
on the weather conditions and varies faster than the hydrostatic component and in a quite
random way. For high accuracy positioning, this component must be estimated together
with the coordinates and other parameters in the navigation filter.

Backup @ J. Sanz & J.M. Juan 51


Exercise 1: SPP Model components analysis

gLAB1.out  gLAB1.out 

S/A=off Zoom
gLAB.out gLAB.out gLAB.out

gLAB.out Relativistic correction


on satellite clock due
to orbit eccentricity
This is an additional
correction to apply at the
receiver level. The satellite
clock oscillator has been
gLAB1.out  modified to compensate for
the main effect (~40s/day)

@ J. Sanz & J.M. Juan 52


Exercise 1: SPP Model components analysis

Relativistic clock correction


1) A constant component, depending only on nominal value of satellite’s orbit major semi-
axis. It is corrected modifying satellite’s clock oscillator frequency:
2
f 0'  f 0 1  v  U
    2 ≈ 4.464 1010
f0 2c c
being f0 = 10.23 MHz, we have f=4.464 10-10 f0= 4.57 10-3 Hz. So, satellite should use f’0=10.22999999543 MHz.

2) A periodic component due to orbit eccentricity must be corrected by user receiver:

a rv
rel   2 e sin( E )   2 ( metres )
c c

Being =G ME =3.986005 1014 (m3/s2) the gravitational constant, c =299792458 (m/s) light speed in
vacuum, a is orbit’s major semi-axis, e is its eccentricity, E is satellite’s eccentric anomaly, and r
and v are satellite’s geocentric position and speed in an inertial system.

Backup @ J. Sanz & J.M. Juan 53


Exercise 1: SPP Model components analysis

gLAB.out gLAB.out

S/A=off Zoom
gLAB.out gLAB.out gLAB.out

P2-P1 Differential Code Bias


(Total Group Delay [TGD])
correction.
These instrumental delays
can affect up to few meters,
being the satellite TGDs
broadcast in the navigation
gLAB1.out  gLAB.out message for single frequency
users.

@ J. Sanz & J.M. Juan 54


Exercise 1: SPP Model components analysis

Total Group Delay correction (TGD)


(P2-P1 Differential Code Bias [DCB])

• Instrumental delays are associated to antennas, cables, as well as different filters


used in receivers and satellites. They affect both code and carrier measurements.
• Code instrumental delays depend on the frequency and the codes used, and are
different for the receiver and the satellites.
• Dual frequency users cancel such delays when using the ionosphere free combination
of codes and carrier phases.
• For single frequency users, the satellite instrumental delays (TGDs) are broadcast in
the navigation message. The receiver instrumental delay, on the other hand, is
assimilated into the receiver clock estimation. That is, being common for all satellites,
it is assumed as zero and it is included in the receiver clock offset estimation.

Backup @ J. Sanz & J.M. Juan 55


Exercise 1: SPP Model components analysis

gLAB1.out  gLAB1.out 

S/A=off Zoom
gLAB.out gLAB.out gLAB.out

gLAB.out
Satellite clock offsets
This is the largest error
source, and it may
introduce errors up to a
thousand kilometers.
gLAB1.out 

@ J. Sanz & J.M. Juan 56


Exercise 1: SPP Model components analysis

Satellite clock offsets


• They are time-offsets between satellite/receiver clocks time and GPS
system time (provided by the ground control segment).

• The receiver clock offset is estimated together with receiver


coordinates.

• Satellite clock offset values are provided:


- In real-time, within the broadcast navigation message with a few
meters of error (S/A=off)
or,
- In post-process mode, by IGS precise products with centimeter-
level accuracy.

Backup @ J. Sanz & J.M. Juan 57


Exercise 1: SPP Model components analysis

gLAB1.out  gLAB1.out 

S/A=off Zoom
gLAB.out gLAB.out gLAB.out

gLAB.out Satellite coordinates in


reception time instead of
emission time
Unset both (in gLAB Model):
•Satellite movement 
during signal flight time.
This figure generation is •Earth rotation during 
gLAB1.out  excluded from the exercise
signal flight time.

@ J. Sanz & J.M. Juan 58


Exercise 1: SPP Model components analysis
gLAB implements the following well known algorithm to compute the satellite
coordinates (both from broadcast message or IGS precise orbits):
1. From receiver time-tags (i.e., reception time in the receiver clock), compute
emission time in GPS system time: T[emission]= trec(TR)-(C1/c+dtS)
Notice that code pseudorange is a link between transmission and reception times in the
satellite and receiver clocks C1= c t= c [trec(TR)-tems(TS)] dtS : satellite clock-offset
c: light speed in vacuum
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):

(Xsat,Ysat,Zsat)CTS[reception] =R3(E t).(Xsat,Ysat,Zsat)CTS[emission]

Thence, Satellite movement (i.e, satellite coordinates at emission instead of reception time)
and Earth rotation during signal flight time are two important issues to take into account

Backup @ J. Sanz & J.M. Juan 59


Exercise 1: SPP Model components analysis
Range variation: emission  reception

Distance: r Note: reception is computed unsetting in gLAB:


• Satellite movement during signal flight time.
• Earth rotation during signal flight time.

Backup @ J. Sanz & J.M. Juan 60


Exercise 1: SPP Model components analysis

gLAB1.out  gLAB1.out 

S/A=off Zoom
gLAB.out gLAB.out gLAB.out

gLAB.out Earth rotation during


signal flight time.
Notice the clear eastward
shift when neglecting this
term of the model.
This figure generation is
gLAB1.out  excluded from the exercise

@ J. Sanz & J.M. Juan 61


Basic: Introductory laboratory exercises
Exercise 2: Model components analysis for PPP
• This exercise is devoted to analyze the additional model
components used in Precise Point Positioning (the ones which
are not required by SPP). This is done in Range and Position
Domains.
• Because PPP uses precise orbits and clocks, the positioning
accuracy is not affected by the selective availability as with
broadcast orbits and clocks, and thence, no distinction will be
done with S/A=on or S/A=off.
Note: Selective Availability (S/A) was an intentional degradation of public GPS signals implemented
for US national security reasons. S/A was turned off at midnight May 1st 2000 (Day-Of-Year 123).

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.

@ J. Sanz & J.M. Juan 62


Exercise 2: PPP Model components analysis
 Compute the kinematic PPP solution using files:
ramo1230.00o, igs_pre1400.atx, igs10602.sp3, igs00P1060.snx.

Set Kinematic
2
1 3
Note: The igs_pre1400.atx file contains the APC
used by IGS before GPS week 1400.

@ J. Sanz & J.M. Juan 63


Exercise 2: PPP Model components analysis

Kinematic PPP solution using files ramo1230.00o, 


igs10602.sp3, igs_pre1400.atx, igs00P1060.snx.

4 Set output file


gLAB.out
for the FULL model,
as in previous case.
gLAB.out
5
@ J. Sanz & J.M. Juan 64
Exercise 2: PPP Model components analysis

• Additional model
components are used
now in the FULL model
to assure a centimeter
level modeling.
• Precise orbits and clocks
instead of broadcast ones.
• Dual frequency Code and
Carrier data instead of only
single frequency code.
• Iono-free combination of
codes and carriers to
remove ionospheric error
and P1-P2 DCBs.

@ J. Sanz & J.M. Juan 65


Exercise 2: PPP Model components analysis
• Code measurements are unambiguous
Code and carrier Measurements but noisy (meter level measurement
noise).
Carrier is ambiguous, but precise • Carrier measurements are precise but
ambiguous, meaning that they have few
Cycle-slip 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.

Backup @ J. Sanz & J.M. Juan 66


Exercise 2: PPP Model components analysis
Orbits & clocks
• With S/A=on, clocks were
degraded several tens of meters.

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

Backup @ J. Sanz & J.M. Juan 67


Example of model component analysis: Solid Tides
Proceed as in the
previous exercise:
1. In Modeling panel,

Default
disable the model
component to 1 Disable
configuration analyze. Solid Tides
for PPP 2. Save as gLAB1.out correction
the associated
output file.

Notice that the gLAB.out

In the Default
file contains the processing
results with the FULL
model, as it was set in the
2 Set output file
configuration the default configuration. as
output file was Make plots as in previous gLAB1.out
gLAB.out exercises (see next slides
63-64) 3
@ J. Sanz & J.M. Juan 68
Vertical Position Error plot from gLAB.out, gLAB1.out

Click Clear to
1 restart plots

Y-min, Y-max

‐0.4
‐0.4 0.4

2 3
gLAB1.out gLAB.out Time (sec) Vertical

@ J. Sanz & J.M. Juan 69


Horizontal Position Error plot: gLAB.out, gLAB1.out

Click Clear to
1 restart plots

X-min, Y-min, Y-max

‐0.4 0.4 ‐0.4


‐0.4 0.4 ‐0.4 0.4

2 3
gLAB1.out East: 19 ($1==“OUTPUT”)
gLAB.out North: 18

@ J. Sanz & J.M. Juan 70


Solid Tides model component plot: gLAB.out

Code
delay

Carrier
advance

Solid Tides plot


SOLIDTIDES 28
Note: Use the gLAB.out file.
gLAB.out In gLAB1.out file this model
Select
SOLIDTIDES component was switched off.

@ J. Sanz & J.M. Juan 71


Exercise 2: PPP Model components analysis

Solid Tides gLAB1.out  gLAB1.out 


It comprises the Earth’s
crust movement (and
thence receiver coordinates
variations) due to the
gravitational attraction
forces produced by external
bodies, mainly the Sun and
V
gLAB.out gLAB.out
the Moon.
Solid Tides:
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)
gLAB.out and horizontal displacements.

@ J. Sanz & J.M. Juan 72


PPP Model Components Analysis
Receiver Antenna
gLAB1.out  gLAB1.out 
Phase center (APC)

L2 Antenna Phase center


APC L1 Antenna Phase center

Antenna Reference Point


ARP (ARP)
(ARP)
gLAB.out gLAB.out
GNSS measurements are
referred to the APC. This is not Receiver APC:
necessarily the geometric The antenna used for this
center of the antenna, and it experiment, has the APC
depends on the signal position vertically shifted
frequency and the incoming regarding ARP.
radio signal direction. Thence, neglecting this
For geodetic positioning a correction, an error on the
reference tied to the antenna gLAB.out vertical component occurs, but
not in the horizontal one.
(ARP) or to monument is used.

@ J. Sanz & J.M. Juan 73


Exercise 2: PPP Model components analysis
Satellite Mass Center to
Antenna Phase Center gLAB1.out  gLAB1.out 
Satellite
Antenna
Phase Center
(APC)

Satellite
Mass gLAB.out gLAB.out
Center
(MC) gLAB.out Satellite MC to APC:
The satellite MC to APC
eccentricity vector depends on
Broadcast orbits are the satellite. The APC values
referred to the antenna used in the IGS orbits and
phase center, but IGS clocks products are referred to
precise orbits are referred the iono-free combination (LC,
PC) . They are given in the IGS
to the satellite mass center. ANTEX files (e.g., igs05.atx).

@ J. Sanz & J.M. Juan 74


Exercise 2: PPP Model components analysis
Wind-up affects only carrier
phase. It is due to the gLAB1.out  gLAB1.out 
electromagnetic nature of
circularly polarized waves of
GNSS signals.
As the satellite moves along its
orbital path, it performs a
rotation to keep its solar panels
pointing to the Sun direction. gLAB.out gLAB.out
This rotation causes a carrier
variation, and thence, a range
gLAB.out Wind-Up
measurement variation.
Wind-up changes smoothly
along continuous carrier phase
arcs.
In the position domain, wind-up
affects both vertical and
horizontal components.

@ J. Sanz & J.M. Juan 75


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
@ J. Sanz & J.M. Juan 76
LWP: Kinematic positioning of a LEO satellite
 A kinematic positioning of GRACE-A satellite is proposed in this
exercise as a driven example to study and discuss the different
navigation modes and modelling options for code or code & carrier
positioning of a rover receiver.
GPS Omnidirectional
Antenna: Satellite Attitude
and Orbit Control System

GPS 45º FOV Antenna:


GPS Backup
Radio Occultation Data
Omnidirectional
Antenna: AOCS

More details at: http://op.gfz‐potsdam.de/grace/index_GRACE.html

@ J. Sanz & J.M. Juan 77


LWP: Kinematic positioning of a LEO satellite

 The following “preliminary” questions are posed:


• Could a LEO satellite like GRACE-A be kinematically positioned as a rover
receiver (i.e., car, aircraft...)? Why?
• Would both Standard and Precise Positioning be achievable?
Note: The RINEX file graa0800.07o contains GPS dual freq. Measurements.
• Which model components should be set for each positioning mode?
- Relativistic correction?
- Tropospheric correction?
- Ionospheric correction?
- Instrumental delays (TGDs)?
- Solid Tides correction?
- Antenna phase centre corrections?
- Others ???
• In case of successful positioning, which accuracy is expected?

@ J. Sanz & J.M. Juan 78


LWP: Kinematic positioning of a LEO satellite
 The following positioning modes are proposed to be explored:
• Code positioning + broadcast orbits:
1. Single frequency: C1 code (and no ionospheric corrections).
2. Dual frequency: PC code combination (i.e., ionosphere-free
combination)
• Code and carrier positioning + precise orbits and clocks:
3. Dual frequency: PC, LC combinations (i.e., ionosphere-free
combinations)
4. GRAPHIC combination of C1 code and L1 carrier phase.
5. Single frequency: C1 code and L1 carrier (and no ionospheric
corrections).
 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

@ J. Sanz & J.M. Juan 79


Mode1: Single frequency C1 code with broadcast orbits & clocks

Example of computation with gLAB:


Code positioning + broadcast orbits: Single frequency, C1 code.

2
3
Select files Set calculate Set data decimation to 30
graa0800.07o seconds instead of 300 to
Set SPP Set SPP
brdc0800.07n have a higher number of
output samples
1

@ J. Sanz & J.M. Juan 80


Mode1: Single frequency C1 code with broadcast orbits & clocks

Example of computation with gLAB:


Code positioning + broadcast orbits: Single frequency: C1 code.

Set output file as


gLAB.out
Disable all messages
From SPP template
except:
disable:
• Print INFO Messages
• Tropospheric
• Print OUTPUT Messages
• Ionospheric to avoid big output files

Run gLAB

@ J. Sanz & J.M. Juan 81


Mode1: Single frequency C1 code with broadcast orbits & clocks

• Accuracy assessment of the computed solution:


Complete the following steps to compare the output solution (from gLAB.out file)
with the reference coordinates of file GRAA_07_080.sp3:
1. Convert the output gLAB.out file to sp3 format:
Execute (in Console):  out2sp3 gLAB.out
Note: this sentence generates the file: orb.sp3 out2sp3 gLAB.out 
(see file content with: less orb.sp3)

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

@ J. Sanz & J.M. Juan 82


Mode1: Single frequency C1 code with broadcast orbits & clocks

3
Plotting
Set plotting ranges
[Xmin, Xmax] [Ymin,Ymax] dif.out
1 with the GUI

4
2 Upload file dif.out in
Plot 1, Plot 2 & Plot 3
@ J. Sanz & J.M. Juan 83
Mode1: Single frequency C1 code with broadcast orbits & clocks

Questions
1. Is it reasonable to disable
the tropospheric and
ionospheric corrections?

2. Like GPS satellites, LEOs


are also affected by
relativistic effects. Is it
necessary to introduce an
Zoom additional model term to
account for this effect?

3. What could be the reason


for the large error peaks
seen in the plots?

@ J. Sanz & J.M. Juan 84


Mode1: Single frequency C1 code with broadcast orbits & clocks

 Answer to Question 1:
Is it reasonable to disable the tropospheric and ionospheric corrections?
• Troposphere:
The troposphere is the atmospheric layer placed between Earth’s surface and an altitude of
about 60 km.
GRACE-A satellite is orbiting at about 450 km altitude, thence no tropospheric error is
affecting the measurements.
• 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.

Backup @ J. Sanz & J.M. Juan 85


Mode1: Single frequency C1 code with broadcast orbits & clocks

 Answer to Question 2:
In this approach, is it necessary to introduce an additional model term to account
for the relativity effect on LEO satellite?
• GRACE-A clock is affected by general and special relativistic effects (due to the gravitational
potential and satellite speed). But this is not a problem, because the receiver clock is
estimated along with the coordinates.
Notice that this relativistic effect will affect all measurements in the same way, and thence, it
will be absorbed into the receiver clock offset estimation.

 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.

Backup @ J. Sanz & J.M. Juan 86


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]:

From previous
1 • Disable P1-P2 correction
2. [Filter]:
configuration, From previous
• Dual Frequency
2
disable (TGD): configuration, set:
• P1 – P2 Correction • Dual Frequency • PC combination
• PC Combination
3. Run gLAB
1. Convert the output gLAB.out file to sp3 format: 4. In console mode:
3
Execute (in Console):  out2sp3 gLAB.out
 orb.sp3 • Convert the gLAB.out
2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3.  to orb.sp3 format file.
Note: Use the configuration file dif.cfg.
gLAB_linux –input:cfg dif.cfg –input:SP3 GRAA_07_080.sp3 –input:SP3 orb.sp3 • Compute differences
 dif.out with reference file
3. Plot dif.out file:
GRAA_07_080.sp3

@ J. Sanz & J.M. Juan 87


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
Zoom C1 code?
5. Discuss the pros and cons
of the ionosphere-free
combination of codes (PC),
compared with C1 code.
6. How could the performance
be improved?

@ J. Sanz & J.M. Juan 88


Mode 2. Dual frequency PC code with broadcast orbits & clocks

 Answer to Question 4:
Why the solution is noisier than the previous one with C1 code?
f12 P1  f 22 P2  P1  P2  77 
2

The iono-free combination of codes P1 and P2 is computed as: Pc  ;   


f1  f 2
2 2
 1  60 

Thence, assuming uncorrelated P1, P2 measurements with equal noise , it follows:  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).

 Answer to Question 6:
How could the performance be improved?
• Smoothing the code with the carrier and/or using precise orbits and clock products as well.

 Homework:
 HW3: Assess the measurement noise on the C1, P1, P2 and PC code measurements.

Backup @ J. Sanz & J.M. Juan 89


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)

Set Precise (2 files)

2 3
Set calculate Set data decimation to 30
Select files seconds instead of 300 to
graa0800.07o Set PPP Set
have a higher SPP of
number
output samples

1
cod14193.sp3
cod14193.clk
igs05_1402.atx

@ J. Sanz & J.M. Juan 90


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)

Disable Estimate
Troposphere
From PPP configuration, disable:
• Receiver Antenna Phase Center
• Receiver Antenna Ref. Point
• Ionospheric (already disabled)
• P1 – P2 (already disabled) Switch to
• Tropospheric Kinematic
• Solid Tides correction

@ J. Sanz & J.M. Juan 91


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:

2
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.
gLAB_linux –input:cfg dif.cfg –input:SP3 GRAA_07_080.sp3 –input:SP3 orb.sp3

 dif.out
3. Plot dif.out file:

Disable all messages


1. Run gLAB
except:
• Print INFO Messages 3 2. Generate
• Print OUTPUT Messages
dif.out file
to avoid big output files

1 3. Make plots
as before
Run gLAB

@ J. Sanz & J.M. Juan 92


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?
Zoom 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?

@ J. Sanz & J.M. Juan 93


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.

Backup @ J. Sanz & J.M. Juan 94


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.

Backup @ J. Sanz & J.M. Juan 95


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 GPS satellites movement relative
to a receiver. 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 Earth’s Solid Tides corrections are needed because the rover is
not on the ground.

Backup @ J. Sanz & J.M. Juan 96


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 1. [Model]:

1 [*] Note: C1C must be set • Disable P1 – P2 Corr.

C1C 1 due to gLAB architecture,


but it is assigned a large
sigma to avoid the C1 code
2. [Filter]:
• Single Frequency
noise and ionospheric error. • C1C (C1 code [*])
G1C C1=100 meters • G1C (GRAPHIC)
G1=0.5 meters 3. Run gLAB
4. In console mode:
Skip the 1. Convert the output gLAB.out file to sp3 format:
• Convert the glab.out
warning
Execute (in Console):  out2sp3 gLAB.out
 orb.sp3

2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. 


2 to orb.sp3 format file.
• Compute differences
Note: Use the configuration file dif.cfg.
gLAB_linux –input:cfg dif.cfg –input:SP3 GRAA_07_080.sp3 –input:SP3 orb.sp3 with reference file
 dif.out GRAA_07_080.sp3
3. Plot dif.out file:
Make plots as before.

@ J. Sanz & J.M. Juan 97


Mode 4. Single freq. with L1, C1 GRAPHIC comb. and precise orbits & clocks

Questions
12. Which is the main benefit of
the GRAPHIC combination?

13. Why is the solution noisier


Zoom 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)?

@ J. Sanz & J.M. Juan 98


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
• The GRAPHIC combination is defined as: G   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).
 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.
 Answer to Question 14: Let’s see the next two exercises.

Backup @ J. Sanz & J.M. Juan 99


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
1
Note: 2
TGDs (i.e, P1-P2
DCBs) are needed
for single-frequency
positioning.

100
@ J. Sanz & J.M. Juan
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)
Complete the steps
Single frequency
C1P 3. [Filter]:
L1P • Single Frequency
3 Set measurements
• L1P (L1 carrier)
C1P=1 meter • C1P (P1 code)
L1P=0.01 meters 4. Run gLAB
5. In console mode:
1. Convert the output gLAB.out file to sp3 format: • Convert the gLAB.out
Skip the
warning
Execute (in Console):  out2sp3 gLAB.out
 orb.sp3

2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3. 


4 to orb.sp3 format file.
• Compute differences
Note: Use the configuration file dif.cfg. with reference file
gLAB_linux –input:cfg dif.cfg –input:SP3 GRAA_07_080.sp3 –input:SP3 orb.sp3 GRAA_07_080.sp3
 dif.out
3. Plot dif.out file: Make plots as before.

@ J. Sanz & J.M. Juan 101


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?

@ J. Sanz & J.M. Juan 102


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 .

Backup @ J. Sanz & J.M. Juan 103


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
@ J. Sanz & J.M. Juan 104
Proposed Homework exercises
 HW1: Assess the ionospheric delay on the GRACE-A satellite
measurements. Compare with the Klobuchar model corrections.

 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.

 HW3: Assess the measurement noise on the C1, P1, P2 measurements and
the PC code combination.

 HW4: Assess the broadcast orbits and clocks accuracy using the precise
products as the truth.

 HW5: Analyze the carrier phase biases convergence in this kinematic PPP
positioning.

@ J. Sanz & J.M. Juan 105


Proposed Homework exercises
 HW6: Apply the Klobuchar model to the L1, P1 positioning with precise orbits
and clocks and discuss the results.

 HW7: Generate a file with the satellite track (in a Earth-Fixed Earth-Centered
reference frame) to be viewed with .

@ J. Sanz & J.M. Juan 106


Backup slides

Homework help and answers

@ J. Sanz & J.M. Juan 107


HW1: Assessing the ionospheric delay on the GRACE-A satellite

Configure gLAB as in Mode 1 and


complete the following steps:

1. [Output]: set
• Print INPUT Message
• Print MODEL Message
(see message content in the Tooltips)
2. Run gLAB.

3. Make plots:
[Analysis] section:
• Click on the preconfigured Ionospheric
combinations option.
• Complete the [Plot1, Plot2, Plot3] panels
configuration as indicated in the next slide.

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

Backup @ J. Sanz & J.M. Juan 108


HW1: Assessing the ionospheric delay on the GRACE-A satellite

Plot 1
Plot 3

$11‐$12 L1‐L2

Plot 2

Note: This plot take


$10‐$9 P2‐P1 some time to rise ! $11‐$12 L1‐L2

Backup @ J. Sanz & J.M. Juan 109


HW1: Assessing the ionospheric delay on the GRACE-A satellite

Plot HW1-a Comments:


1mL1-L2 delay=1.55 mL1 delay
• 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

Backup @ J. Sanz & J.M. Juan 110


HW1: Assessing the ionospheric delay on the GRACE-A satellite

 Working in console mode


The next commands compute the ionospheric delay from C1, L1 measurements:
1. Using the configuration file meas.cfg, read the RINEX and generate the MEAS message with
data format:
[Id YY Doy sec GPS PRN el Az N. list C1C L1C C1P L1P C2P L2P]
1  2  3   4 5    6 x   x 9  10  11 xx 13  14 15 16 ]
Execute:
gLAB_linux ‐input:cfg meas.cfg ‐input:obs graa0800.07o >  meas.txt

2. From file meas.txt, compute the ionospheric delay as I1  1  C1  L1  bias


2
gawk '{print $6,$4,($11‐$14)/2}' meas.txt > I1.txt

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

Backup @ J. Sanz & J.M. Juan 111


HW1: Assessing the ionospheric delay on the GRACE-A satellite

Large discrepancies with Klobuchar appear

Plot HW1-b: Plot HW1-c:


STEC variations of few meters are L1-C1 iono estimate is less noisier than the P2-P1.
typically experienced , but in some cases On the other hand, large discrepancies appear
they reach up to 8 meters of L1 delay. when comparing with Klobuchar corrections

@ J. Sanz & J.M. Juan 112


HW1: Assessing the ionospheric delay on the GRACE-A satellite

 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.

Backup @ J. Sanz & J.M. Juan 113


HW2: Plot in the same graph the “True 3D error”, the “Formal 3D error”
and the number of satellites used. Analyze the result.

 Complete the following steps


1. Configure gLAB as in Mode1 and set Print EPOCHSAT Messages in Output panel.
(see message content in the Tooltip, or executing gLAB_linux –messages).
Remember that IONO corrections were unable in Mode 1.
2. Run gLAB.
The program will output the file gLAB.out.
3. Generate the dif.out file from gLAB.out as in the previous exercises.

Plot the results:


In the same graph, plot the “3D error” [from file dif.out], the formal error (the 3-D sigma) and
the number of satellites used in the computation [from file gLAB.out].
graph.py ‐f dif.out ‐x4 ‐y9 ‐s‐ ‐‐l "3D error" 
‐f gLAB.out ‐c '($1=="OUTPUT")' ‐x4 ‐y'($5*5)' ‐s‐ ‐‐cl r ‐‐l “5*sigma" 
‐f gLAB.out ‐c '($1=="EPOCHSAT")' ‐x4 ‐y6 ‐s‐ ‐‐cl g ‐‐l "N. sat. used" 
‐‐xn 43000 ‐‐xx 67000  ‐‐yn 0 ‐‐yx 20

Note: 3D-sigma   PDOP


In the previous plot, the 3-D sigma is multiplied by 5 to enlarge the image.

Backup @ J. Sanz & J.M. Juan 114


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. Large discrepancies with Klobuchar appear

Plot HW2-a Plot HW2-b: Zoom of Plot HW2-a.


Periodic error peaks appear, mostly Along the peaks associated to bad
associated with losing a satellite and/or geometries, mismodelling is also producing
with bad geometries. some error trends.

@ J. Sanz & J.M. Juan 115


HW3: Code measurements noise assessment: C1, P1, P2 and PC

A) The next commands compute the C1 code noise and multipath:


1. Using the configuration file meas.cfg, READ the RINEX and generate the MEAS message with
data format:
[Id YY Doy sec GPS PRN el Az N. list C1C L1C C1P L1P C2P L2P]
1  2  3   4 5    6 x   x 9  10  11 xx 13  14 15 16 ]
Execute:
gLAB_linux ‐input:cfg meas.cfg ‐input:obs graa0800.07o >  meas.txt

2. From meas.txt file,


2
MC1  C1  L1  2  77 
Compute C1 code noise and multipath as:  1(L1  L2)   
 60 

gawk 'BEGIN{g=(77/60)^2}{print $6, $4 , $11‐$14‐2*($14‐$16)/(g‐1)}' meas.txt > C1.txt

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

Backup @ J. Sanz & J.M. Juan 116


HW3: Code measurements noise assessment: C1, P1, P2 and PC

B) The next commands compute the P1 code noise and multipath:


1. Using the meas.txt file generated before, with the MEAS message data format:

[Id YY Doy sec GPS PRN el Az N. list C1C L1C C1P L1P C2P L2P]


1  2  3   4 5    6 x   x 9  10  11   xx 13 14 15 16 ]

2
 77 
M P1  P1  L1  2
 1(L1 L2)
Compute P1 code noise and multipath as:   
 60 

gawk 'BEGIN{g=(77/60)^2}{print $6, $4 , $13‐$14‐2*($14‐$16)/(g‐1)}' meas.txt > P1.txt

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

Backup @ J. Sanz & J.M. Juan 117


HW3: Code measurements noise assessment: C1, P1, P2 and PC

C) The next commands compute the P2 code noise and multipath:


1. Using the meas.txt file generated before,, with the MEAS message data format:

[Id YY Doy sec GPS PRN el Az N. list C1C L1C C1P L1P C2P L2P]


1  2  3   4 5    6 x   x 9  10  11   xx 13  14 15 16 ]

M P2  P2  L2  2
2
 77 
 1(L1  L2)
Compute P2 code noise and multipath as:   
 60 

gawk 'BEGIN{g=(77/60)^2}{print $6, $4 , $15‐$16‐2*g*($14‐$16)/(g‐1)}' meas.txt > P2.txt

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

Backup @ J. Sanz & J.M. Juan 118


HW3: Code measurements noise assessment: C1, P1, P2 and PC

D) The next commands compute the PC combination noise and multipath:


1. Using the meas.txt file generated before, with the MEAS message data format:

[Id YY Doy sec GPS PRN el Az N. list C1C L1C C1P L1P C2P L2P]


1  2  3   4 5    6 x   x 9  10  11   xx 13 14 15 16 ]
f12 P1  f 22 P2  P1  P2
Pc   ;
f12  f 22  1
Compute PC noise and multipath as: M Pc  Pc  Lc
f12 L1  f 22 L2  L1  L2
Lc  
f12  f 22  1

gawk 'BEGIN{g=(77/60)^2}{print $6, $4, (g*($13‐$14)‐($15‐$16))/(g‐1)}' meas.txt > PC.txt

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

Backup @ J. Sanz & J.M. Juan 119


HW3: Code measurements noise assessment: C1, P1, P2 and PC

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.
Plot HW3-a Plot HW3-b • PC code combination is the noisiest one,
as expected.

C1 multipath
map of sat.
GRACE_A.
A GPS satellite
track is
shown in
blue
Plot HW3-c Plot HW3-d This figure is from
P. Ramos-Bosch
PhD dissertation,
gAGE/UPC 2008].

@ J. Sanz & J.M. Juan 120


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 post-
process 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

2. Select the SATDIFF message of dif.tmp file:


grep SATDIFF dif.tmp > dif.out
SATDIFF message content is shown in the table beside.
(see gLAB_linux –messages).
The IGS post-processed products are accurate at few cm
level, thence they can be taken as the truth.
3. Plot dif.out file as in the first exercise.

Note: SISRE  (Rad  Clk)  149 (Alon  Cross )


2 2 2

Backup @ J. Sanz & J.M. Juan 121


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 APC’s used by the
GPS ground segment (i.e, in broadcast
orbits) and by IGS (precise products).
• This bias is compensated by a similar
Plot HW4-a1 Plot HW4-b1 shift in clocks.
• For the Signal-In-Space-Range-Error
(SISRE), please see the plot below.

Plot HW4-e1

Plot HW4-c1 Plot HW4-d1

@ J. Sanz & J.M. Juan


122
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 • Notice that the biases in the radial
component have disappeared.

Plot HW4-e2

Plot HW4-c2 Plot HW4-d2

@ J. Sanz & J.M. Juan 123


HW5: Analyze the carrier phase biases convergence in the kinematic
PPP positioning.

 Complete the following steps


1. Configure gLAB as in Mode 2 for the Kinematic PPP positioning. Activate the “Print POSTFIT
messages” in the OUPUT panel
(see message content in the Tooltip, or executing gLAB_linux –messages).

2. Run gLAB.
The program will output the file gLAB.out.

3. From gLAB.out, “grep” the POSTFIT message and generate the file amb.out, containing the
estimates of ambiguities for each epoch. Take the last estimated value of the ambiguities for
each epoch. This can be done by executing:
grep POSTFIT gLAB.out| gawk '{i=$6" "$4;a[i]=$13}END{for (i in a) print i,a[i]}' |sort ‐n > amb.out

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 graph.py ‐f amb.out ‐x2 ‐y3 
used instead of the ‐f amb.out ‐x2 ‐y3 ‐c '($1==16)' ‐‐l "PRN16" 
“graph.py” command. ‐f amb.out ‐x2 ‐y3 ‐c '($1==21)' ‐‐l "PRN21" 
‐‐xn 40000 ‐‐xx 70000 ‐‐yn ‐10 ‐‐yx 10

@ J. Sanz & J.M. Juan 124


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
Plot HW5-a Plot HW5-b cycle slips which leads to a global
reinitialization of carrier-phase biases
in the navigation (Kalman) filter .
– After such ambiguities reinitialization,
Zoom Zoom 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-c Plot HW5-d

@ J. Sanz & J.M. Juan 125


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
2
126
@ J. Sanz & J.M. Juan
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
Complete the steps
Single frequency
C1P 3. [Filter]:
L1P • Single Frequency
3 Set measurements:
• L1P (L1 carrier)
C1P= 1 meter
• C1P (P1 code)
L1P = 0.01 meters 4. In console mode:
• Convert the glab.out
to orb.sp3 format file.
4
1. Convert the output gLAB.out file to sp3 format:
Execute (in Console):  out2sp3 gLAB.out
 orb.sp3 • Compute differences
2. Compare the computed coordinates orb.sp3 with reference GRAA_07_080.sp3.  with reference file
Note: Use the configuration file dif.cfg.
gLAB_linux –input:cfg dif.cfg –input:SP3 GRAA_07_080.sp3 –input:SP3 orb.sp3
GRAA_07_080.sp3
 dif.out
3. Plot dif.out file: Make plots as before.

@ J. Sanz & J.M. Juan 127


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 LEO’s.
• Next plot compares the L1 delay
computed from Klobuchar with the STEC
experienced by the GPS signal.

@ J. Sanz & J.M. Juan 128


HW7: Generate a file with the satellite track (in a Earth-Fixed Earth-
Centered 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. View the file with:

@ J. Sanz & J.M. Juan 129


Thanks for your
attention

@ J. Sanz & J.M. Juan 130


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.

@ J. Sanz & J.M. Juan 131

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy