Toolbox for precise GNSS velocity estimation with time-differenced carrier phase technique
User Manual
Written by:
Pierluigi FredaAntonio AngrisanoSalvatore Gaglione
Salvatore Troisi
July 2014
Parthenope University of NaplesDepartment of Science and Technology
Italy
1
Table of Contents
1. Introduction.......................................................................32. Programming Language....................................................33. Run the Program................................................................33.1 Input................................................................................................................................43.2 Functions.........................................................................................................................63.3 Output.............................................................................................................................64. Example Test.....................................................................75. Support..............................................................................8
2
1. IntroductionThe toolbox for precise velocity estimation is based on the TDCP (Time-Differenced
Carrier-Phase) technique, which consists in differencing successive carrier phases,
enabling accuracies at mm/s level. As described in the paper “The Time-Differenced
Carrier Phases Technique for Precise GNSS Velocity Estimation” the use of different
broadcast ephemeris sets to calculate the satellite positions and clock offset, produces a
discontinuity in the TDCP measurements that affects the velocity estimation. To
overcome this drawback, the same ephemeris set is used to obtain the satellite clock
bias at consecutive epochs.
This manual describes all the steps to use the associated software.
2. Programming LanguageThe source codes are developed in MATLAB® Version 8.0.0.783 (R2012b) under OS
X Mavericks Version 10.9.4 and can be run on Windows too.
MATLAB® is a high-level language and interactive environment for numerical
computation, analysis and visualization of data. MATLAB enables to analyse data, and
develop algorithms to create models and applications. The language, tools and
mathematical functions built-in allow to explore different approaches and to reach a
solution faster than using traditional programming languages. Many applications
developed under MATLAB are portable and can be readily run on Windows,
Macintosh, and Unix/Linux operating systems (OS).
3. Run the ProgramThis toolbox consists of:
- “Test_Data” (folder) is a data set for a demo program processing.
This folder contains two file .mat.
The first is“NAPO078.mat” that includes the variables DOY (Day of The Year),
XYZ_station (approximate user coordinates), dt_data (data-rate), eph_GPS
(broadcast ephemeris), iono_corr (ionospheric corrections transmitted by the
navigation message), leap_sec (leap second), observation (observation data),
GDOP and user_position include respectively GDOP values, ECEF user
position and user clock offset previously estimated.
3
The second is “solution_nap.mat” that includes the true user position.
- “Library” (folder) includes a set of MATLAB m-files (function);
- “main_TDCP” (.m) is the main program.
3.1 InputThe software “main_TDCP.m” accepts in input the following variables:
- leap_sec
o it is the number of leap seconds and is a scalar
- observations
o it contains the measurements
- dt_data
o it is data interval and is a scalar
- eph_GPS
o it contains the GPS ephemerides
- iono_corr
o it contains the parameter to implement the Klobuchar model
- DOY
o It is the day of the year and it is a scalar
- GDOP
o It contains the GDOP values at each considered epoch
- user_postion
o it contains the user coordinates in ECEF frame at each epoch
The format of the variable “observation” is described below
FORMAT “observation”week toe SV prn C1 L1
The format of the variable “eph_GPS” is described below
4
FORMAT “eph_GPS”
eph_GPS(1,:) SVprn
eph_GPS(2,:) week
eph_GPS(3,:) toe
eph_GPS(4,:) af0
eph_GPS(5,:) af1
eph_GPS(6,:) af2
eph_GPS(7,:) IODE
eph_GPS(8,:) crs
eph_GPS(9,:) deltan
eph_GPS(10,:) M0
eph_GPS(11,:) cuc
eph_GPS(12,:) ecc
eph_GPS(13,:) cus
eph_GPS(14,:) roota
eph_GPS(15,:) toe
eph_GPS(16,:) cic
eph_GPS(17,:) Omega0
eph_GPS(18,:) cis
eph_GPS(19,:) i0
eph_GPS(20,:) crc
eph_GPS(21,:) omega
eph_GPS(22,:) omegadot
eph_GPS(23,:) idot
eph_GPS(24,:) CodesOnL2
eph_GPS(25,:) week_toe
eph_GPS(26,:) L2Pflag
eph_GPS(27,:) SVaccuracy
eph_GPS(28,:) SVhealth
eph_GPS(29,:) tgd
eph_GPS(30,:) IODC
eph_GPS(31,:) TTimeMsg
5
eph_GPS(32,:) Fit_IntervalThe format of the variable “user_position” is described below
FORMAT “user_position”X [m] Y [m] Z [m] cdtu [m]
Additional details about the parameters included in the described variables can be
found in:
IS-GPS-200: Navstar GPS space segment/navigation user interfaces, Revision D,
ARINC Research Corporation, El Segundo, CA, 2004
and
Gurtner, W. (2001): RINEX: The Receiver Independent Exchange Format Version
2.10, 2001.
3.2 FunctionsBelow the list of functions and a brief description:
- “ecef2enu_velocity.m” convert geocentric (ECEF) to local (ENU) velocity
coordinates;
- “enu2altaz.m” convert local (ENU) to altazimuth coordinates;
- “iono_correction.m” calculates the ionospheric corrections for single frequency,
using Klobuchar model;
- “Matrix_rot.m” compute a rotation matrix;
- “orbital_propagator.m” calculates ECEF satellite coordinates and velocity;
- “tropo_correction.m” computes an estimation of the tropospheric delay using
the model described in MOPS/WAAS or Saastamoinen model;
- “vel_phase.m” calculates ECEF user velocity with carrier-phase measurement.
3.3 OutputThe result of velocity estimation are displayed in the Workspace files named
RESULTS and SOLUTION_AVAILABILITY. This MATLAB files are organized in
the following format.
6
FORMAT “RESULTS”Horizontal mean error
[m/s]
Horizontal max error
[m/s]
Horizontal RMS[m/s]
Vertical mean error
[m/s]
Vertical max error
[m/s]
Vertical RMS[m/s]
FORMAT “SOLUTION_AVAILABILITY”Number of epochs used
% number of epochs used
4. Example TestThe example data provided with the software were collected at the GNSS permanent
station placed in Naples, Italy, on 19 March 2014; the data section has a duration of 8
hours and a data-rate of 1 second.
The GNSS station is equipped with a Topcon NET-G3 double frequency receiver
connected to a GPS Topcon CR-G3 antenna, as shown below.
The visibility during the test was excellent, there were always at least eight GPS
satellites in view and the corresponding GDOP was always below 2.4.
7
The positioning results, using pseudorange measurements were always within 12
meters horizontally and vertically.
5. SupportAny suggestions, corrections, and comments about this toolbox are sincerely welcomed
and could be sent to:
8
Pierluigi Freda
Email: [email protected]
Antonio Angrisano
Email: [email protected]
Salvatore Gaglione
Email: [email protected]
9