|
| |
GPS Toolbox List of modules
and programs
To go to one of the below section
click the desired link.
(1) GPS related
constants and conversion factors
|
convcon |
most used conversion constants |
|
gpscon |
most used GPS constants |
|
pz90con |
most used PZ-90 constants |
|
sgs85con |
most used SGS-85 constants |
|
wgs72con |
most used WGS-72 constants |
|
wgs84con |
most used WGS-84 constants |
|
xcon |
main program displaying constants specified in macros convcon, gpscon,
pz90con, sgs85con, wgs72con, and wgs84con |
Back to top
(2) Angle transformations
|
tadmsrad |
degrees/minutes/seconds to radians |
|
taraddms |
radians to degrees/minutes/seconds |
|
xatransf |
main program executing angle transformations from/to degrees/minutes/seconds
to/from radians (by selection) |
Back to top
(3) Coordinate transformations - Point
transformation
|
tecefgd |
ECEF to geodetic coordinates (direct method) |
|
tecefgd2 |
ECEF to geodetic coordinates (iterative method) |
|
tgdecef |
geodetic to ECEF coordinates |
|
xecef2gd_comp |
main program executing comparison between two ECEF to geodetic
transformation methods |
|
xptransf |
main program executing transformations from/to ECEF/geodetic to/from
geodetic/ECEF coordinates |
Back to top
(4) Coordinate transformations - Matrix
transformation
|
mbllw |
GPS body to LLW (Local Level Wander azimuth) |
|
mecefeci |
ECEF (Earth Centered Earth Fixed) to ECI (Earth Centered Inertial) |
|
mecefenu |
ECEF (Earth Centered Earth Fixed) to ENU (East, North, Up) |
|
mecefins |
ECEF (Earth Centered Earth Fixed) to INS (Wander/ North, West, Up) |
|
mecefllw |
ECEF (Earth Centered Earth Fixed) to (Local Level Wander azimuth) |
|
meciecef |
ECI (Earth Centered Inertial) to ECEF (Earth Centered Earth Fixed) |
|
menuecef |
ENU (East, North, Up) to ECEF (Earth Centered Earth Fixed) |
|
menullw |
ENU (East, North, Up) to LLW (Local Level Wander azimuth) |
|
minsecef |
INS (Wander / North, West, Up) to ECEF (Earth Centered Earth Fixed) |
|
mllwb |
LLW (Local Level Wander azimuth) to GPS body |
|
mllwecef |
LLW (Local Level Wander azimuth) to ECEF (Earth Centered Earth Fixed) |
|
mllwenu |
LLW (Local Level Wander azimuth) to ENU (East North Up) |
|
xmtransf |
main program generating matrix transformations specified in the above
mentioned list (by selection) |
Back to top
(5) Coordinate transformations
- Vector transformation
|
vbllw |
GPS body to LLW (Local Level Wander Azimuth) |
|
vecefeci |
ECEF (Earth Centered Earth Fixed) to ECI (Earth Centered Inertial) |
|
vecefenu |
ECEF (Earth Centered Earth Fixed) to ENU (East, North, Up) |
|
vecefgd |
ECEF (Earth Centered Earth Fixed) to Geodetic (latitude, longitude,
altitude) for a given position vector and a reference point |
|
vecefins |
ECEF (Earth Centered Earth Fixed) to INS (Wander / North, West, Up) |
|
vecefllw |
ECEF (Earth Centered Earth Fixed) to LLW (Local Level Wander azimuth) |
|
vecefp90 |
ECEF (Earth Centered Earth Fixed) to PZ-90 (Parametri Zemli 1990) |
|
vecefs85 |
ECEF (Earth Centered Earth Fixed) to SGS-85 (Soviet Geodetic System 1985) |
|
veciecef |
ECI (Earth Centered Inertial) to ECEF (Earth Centered Earth Fixed) |
|
venuecef |
ENU (East, North, Up) to ECEF (Earth Centered Earth Fixed) |
|
venugd |
ENU (East, North, Up) to Geodetic (latitude, longitude, altitude) for a
given position vector and a reference point |
|
venullw |
ENU (East, North, Up) to LLW (Local Level Wander azimuth) |
|
vgdecef |
Geodetic (latitude, longitude, altitude) to ECEF (Earth Centered Earth
Fixed), for a given position vector specified by the external points in
geodetic coordinates |
|
vgdenu |
Geodetic (latitude, longitude, altitude) to ENU (East, North, Up) for a
given position vector specified by the external points in geodetic
coordinates |
|
vinsecef |
INS (Wander / North, West, Up) to ECEF (Earth Centered Earth Fixed) |
|
vllwb |
LLW (Local Level Wander azimuth) to GPS body |
|
vllwecef |
LLW (Local Level Wander azimuth) to ECEF (Earth Centered Earth Fixed) |
|
vllwenu |
LLW (Local Level Wander azimuth) to ENU (East North Up) |
|
vp90ecef |
PZ-90 (Parametri Zemli 1990) to ECEF (Earth Centered Earth Fixed) |
|
vs85ecef |
SGS-85 (Soviet Geodetic System 1985) to ECEF (Earth Centered Earth Fixed) |
|
xvtransf |
main program executing vector transformations specified in the above
mentioned list (by selection) |
Back to top
(6)
Specialized plotting programs
|
xpbar |
bar graph for a selected column |
|
xyp1 |
x-y graph for a selected column |
|
xyp1s |
x-y graph for a selected column, with statistics |
|
xyp2w |
x-y graph for two selected columns in two different windows/subplots, with
statistics |
|
xyp3w |
x-y graph for three selected columns in three different windows/ subplots,
with statistics |
|
xypc2 |
x-y graph of the difference between columns (from different files), with
statistics |
|
xypc2rss |
x-y graph for RSS (root sum square) of the difference of three columns from
two files, with statistics |
|
xypm |
x-y graph for the selected multiple columns |
|
xyprss |
x-y graph for RSS (root sum square) of three selected columns, with
statistics |
|
xyprss2w |
x-y graph for RSS (root sum square) of three selected columns corresponding
to position and velocity errors, in two windows/subplots, with statistics |
|
xypvstd |
x-y graph for a selected column and the associated envelope (standard
deviation), with statistics |
Back to top
(7)
Specialized statistics related functions
|
cep |
circular error probable (CEP) |
|
rms |
root mean square (RMS) of a sample |
|
rms2 |
modified root mean square (RMS) of a sample (mean of the sample is assumed
to be zero) |
|
rss |
root sum square (RSS) of a three component vector sample |
|
rssxy |
root sum square (RSS) of a two component vector sample |
|
vep |
vertical error probable (VEP) |
|
statup |
running mean, standard deviation and root mean square (rms) |
|
xcepvep |
main program determining the CEP or VEP of a specified data set |
|
xstat |
main program testing the macros: rms, rss, rssxy, and statup |
|
xstatc |
main program determining the mean, standard deviation and rms of the
elements of a specified column |
Back to top
(8)
Specialized signal processing and Kalman filter functions
|
dcmnorm |
normalization of the direction cosines matrix |
|
genrn |
random numbers with normal (Gaussian) distribution, with mean and standard
deviation specified |
|
gmp1 |
first order Gauss-Markov sequence |
|
gmp2 |
second order Gauss-Markov sequence |
|
kfcov |
Kalman filter covariance matrix by using conventional formulation |
|
kfcova |
Kalman filter covariance matrix by using alternate conventional formulation |
|
rwalk |
random walk process |
|
xgenrn |
main program generating the random numbers with normal (Gaussian)
distribution and plotting the generated sequence, histogram, and the
normalized auto-correlation sequence |
|
xgmp1 |
main program generating first order Gauss-Markov sequence and plotting the
generated sequence and the normalized auto-correlation sequence |
|
xgmp2 |
main program generating second order Gauss-Markov sequence and plotting the
generated sequence and the normalized auto-correlation sequence |
|
xkfcov |
main program performing the covariance analysis by using the conventional or
alternate conventional Kalman filter formulation |
|
xrwalk |
main program generating the random walk process and plotting the generated
sequence and the normalized auto-correlation sequence |
Back to top
(9) GPS Time
Utilities and related functions
|
cday |
determination of the civil day (year, month, day, hour and fraction) from a
specified modified Julian day (with fraction) |
|
doy2ymd |
determination of civil date (year, month, day) from day of year and
specified year |
|
gpslsec |
UTC leap seconds value for a specified year between 1980 and 2059 |
|
leapyear |
determination of the leap year value |
|
mjday |
determination of the modified Julian day from the civil day (year, month,
day, hour and fraction) |
|
timetr |
determination of GPS time of transmission based on time of measurement
(reception) |
|
ymd2doy |
determination of day of year for a specified civil date (year, month, day) |
|
ymd2doy2 |
determination of day of year for a specified civil date (year, month, day)
- different algorithm |
|
ymd2gps |
determination of (GPS week, GPS roll number, day of week) from (year, month,
day) |
|
xgpslsec |
main program determining UTC leap seconds value for a specified year between
1980 and 2059 |
|
xgpstime |
main program executing GPS time related transformations |
Back to top
(10)
GPS Almanac and other data processing functions
|
elimcol |
elimination of a specified column of a two dimensional array |
|
elimrow |
elimination of a specified row of a two dimensional array |
|
msc2f |
symmetric matrix storage transformation from compact form (upper triangular
part, column-wise, one-dimensional array) to full form (all elements,
two-dimensional array) |
|
msf2c |
symmetric matrix storage transformation from full form (all elements,
two-dimensional array) to compact form (upper triangular part, column-wise,
one-dimensional array) |
|
selectd |
selection of the different elements from a specified array |
|
xelimrc |
main program testing the elimination of a specified row/column (see macros
elimrow and elimcol) |
|
xmisdat |
main program determining the missing data into a specified column of an
input data table |
|
xread_sem |
main program reading SEM almanac data and creating two data files |
|
xread_yuma |
main program reading Yuma almanac data and creating two data files |
|
xsortrec |
main program sorting the records based on the elements of a specified column
(in ascending order) |
Back to top
(11) Trajectory and
related utilities
|
gcnav |
great circle navigation position, velocity, acceleration |
|
geodes |
geodetic data for a specified departure-destination pair |
|
geoidh |
WGS-84 geoid height correction |
|
gridwaas |
generation of longitude-latitude WAAS grid |
|
hpe |
horizontal position error (range) when latitude and longitude of two points
are specified |
|
trajs |
vehicle trajectory in straight segment with constant speed |
|
xgcdr |
main program determining great circle dead reckoning trajectory |
|
xgcnav |
main program determining great circle navigation position, velocity and
acceleration |
|
xgeodes |
main program determining geodesic when the departure and destination points
are specified |
|
xgeoidh |
main program determining WGS-84 geoid height correction, and executing a
contour map |
|
xgridw |
main program plotting the longitude-latitude WAAS grid |
|
xhpe |
main program determining the horizontal position error (range) |
|
xppva |
main program determining acceleration from position/velocity data, and
plotting all relevant trajectory information |
|
xppvaj |
main program determining acceleration and jerk from position and velocity
data, and plotting all relevant trajectory information |
|
xtrajs |
main program determining the vehicle trajectory with straight segment and
constant speed |
Back to top
(12) Satellite position and velocity
computation
|
svpalm |
ECEF satellite position based on almanac data |
|
svpeph |
ECEF satellite position based on ephemeris data |
|
svpvalm |
ECEF satellite position and velocity based on ephemeris data |
|
xsvpalm |
main program determining ECEF satellite position based on almanac data |
|
xsvpcomp |
main program determining RSS satellite position difference based on
ephemeris and almanac data, and executing the corresponding graph |
|
xsvpeph |
main program determining ECEF satellite position based on ephemeris data |
|
xsvpvalm |
main program computing the ECEF satellite position and velocity based on
almanac data; WGS-84 constants are used |
|
xsvpvcomp |
main program computing the RSS between ECEF satellite position/velocity
based on ephemeris and almanac data; WGS-84 constants are used |
|
xsvpveph |
main program computing the ECEF satellite position and velocity based on
ephemeris data; WGS-84 constants are used |
Back to top
(13) Elevation and azimuth determination, and satellite visibility
|
eleva |
elevation angle and the ECEF unit line-of-sight vector |
|
elevar |
elevation angle, the ECEF unit line-of-sight vector, and the range |
|
elevaz |
elevation angle, azimuth angle, the ECEF unit line-of-sight vector, and
range |
|
range |
range between two position points |
|
uverv |
unit vertical vector for a given ECEF position vector |
|
xelaz |
main program determining elevation and azimuth angles for specified users,
time interval, and all satellites in view |
|
xpelaza |
main program executing the azimuth-elevation plot for all satellites in
view, and the number of visible satellites plot |
|
xpelazs |
main program executing graphs related to elevation and azimuth angles for a
specified satellite and selected used (input file can be generated by xelaz) |
Back to top
(14) DOPs computation, satellite selection and
related functions
|
dop1 |
dilution of precision (DOP) quantities when at least 3 line-of-sight unit
vectors are specified |
|
dop2 |
dilution of precision (DOP) quantities when 4 line-of-sight unit vectors are
specified |
|
gdopv |
approximate geometric dilution of precision (GDOP) when four line-of-sight
unit vectors are specified |
|
hmat |
H matrix based on line-of-sight measurements |
|
hmatb |
H matrix based on line-of-sight and baro measurements |
|
hmatbc |
H matrix based on line-of-sight, baro and clock measurements |
|
hmatc |
H matrix based on line-of-sight and clock measurements |
|
svsel4 |
selection of a set of 4 satellites based on minimum GDOP |
|
svsel5 |
selection of a set of 5 satellites based on minimum GDOP |
|
svsel6 |
selection of a set of 6 satellites based on minimum GDOP |
|
wdop1 |
weighted dilution of precision (WDOP) quantities when at least 3
line-of-sight unit vectors and the corresponding weighting factors are
specified |
|
wdop2 |
weighted dilution of precision (WDOP) quantities when 4 line-of-sight unit
vectors and the corresponding weighting factor are specified |
|
wdopv |
weighted dilution of precision (WDOP) quantities when 4 line-of-sight unit
vectors and the corresponding weighting factors are specified |
|
xdop |
main program determining dilution of precision (DOP) quantities by using 2
methods |
|
xgdopv |
main program determining an approximate value of the geometric dilution of
precision (GDOP) |
|
xhmatall |
main program testing the construction of the H matrix based on
line-of-sight, baro and clock measurements |
|
xmapdop |
main program determining repartition of number of visible satellites and the
corresponding DOPs for a specified geographical area |
|
xsvsel |
main program executing the selection of 4, 5 or 6 satellites based on
minimum GDOP, and the computation of the corresponding DOP quantities |
|
xwdop |
main program computing the weighted dilution of precision (WDOP) quantities
when at least 3 line-of-sight unit vectors and the corresponding weighting
factors are specified |
|
xwdopv |
main program computing the weighted dilution of precision (WDOP) quantities
when 4 line-of-sight unit vectors and the corresponding weighting factors
are specified |
Back to top
(15) Pseudorange and Delta range determination and
related functions
|
ionoc |
L1 iono correction computation by using Klobuchar model |
|
ionocon |
setting of Klobuchar model iono constants |
|
pionoc |
pseudorange measurement corrected for ionospheric effects based on L1/L2
measured pseudoranges |
|
pradr |
pseudorange and accumulated delta range |
|
tropoc1 |
tropospheric correction by using a simplified model |
|
uclock |
user clock bias and drift |
|
uercor |
user earth rotation correction vector |
|
xambig |
main program generating ambiguity numbers |
|
xionoc |
main program determining iono corrections by using Klobuchar model |
|
xmpath |
main program generating and saving the multipath pseudorange errors |
|
xpradr |
main program generating pseudorange and accumulated delta range |
|
xsaerr |
main program generating SA errors |
|
xtropoc1 |
main program generating tropospheric delay contours for a specified location |
|
xuclock |
main program generating user clock bias and clock drift |
|
xuercor |
main program generating and plotting the magnitude of the earth rotation
correction vector for a specified longitude/latitude grid |
Back to top
(16) Determination
of user's position and related functions
|
uspos4 |
position fix determination by using Bancroft's algorithm when 4
measurements are known |
|
uposdg |
position fix determination by using Bancroft's algorithm when at least 4
measurements are known |
|
uposit |
position fix determination by using an iterative method when at least
measurements are known |
|
xpfwls |
main program determining position fixes using weighted least squares
algorithm when the user is stationary |
|
xuposd4 |
main program determining the user's position fix by using a direct method
when 4 measurements are known |
|
xuposdg |
main program determining the user's position fix by using a direct method
when at least 4 measurements are known |
|
xuposit |
main program determining the user's position fix by using an iterative
method when at least 4 measurements are knon |
Back to top
(17) RINEX 2 data
processing and position determination
|
svclockc |
computation of satellite clock correction. WGS-84 constants are used |
|
xrinexn |
main program reads a RINEX 2 navigation message file and writes the data
into four files containing the header section main information, the complete
navigation section information, the reduced ephemeris and reduced almanac
data |
|
xrinexo |
main program reads a RINEX 2 observation message file and writes the data
into two files containing the header information and the main observation
data only |
|
xuposr |
main program computing user position based on RINEX 2 navigation and
observation data; no atmospheric corrections are applied |
|
xuposra |
main program computing user position based on RINEX 2 navigation and
observation data; iono and tropo corrections are applied |
|
xuposrp |
main program computing user position based on RINEX 2 navigation and
observation data; dual frequency P-code iono and tropo corrections are
applied |
Back to top
(18) Basic RAIM/FDE
functions
|
dhmax |
delta_h_max computation (used in RAIM constant alarm rate algorithm) |
|
raimfd |
RAIM availability and fault detection by using the parity vector algorithm
(one step implementation) |
|
raimst |
RAIM availability and fault detection by using the standard (constant alarm
rate) algorithm |
|
slopemax |
slopemax computation (used in RAIM constant alarm rate algorithm) |
|
xopcr |
main program comparing four different implementations of RAIM decision
variable computation |
|
xraimda |
main program determining the RAIM fault detection availability for a user
selected or defined set of input data |
|
xraimea |
main program determining the RAIM fault exclusion availability for a user
selected or defined set of input data |
|
xraimfd |
main program determining RAIM availability and fault detection by using the
parity vector algorithm |
|
xraimst |
main program determining RAIM availability and fault detection by using the
standard (constant alarm rate) algorithm |
|
xslope |
main program determining slopemax and delta_h_max for RAIM baseline standard
(constant alarm rate) algorithm |
Back to top
(19) Advanced RAIM/FDE
functions
|
chi2_dof |
probability density function of Chi-square distribution with specified
degrees of freedom |
|
fdnt |
fault detection normalized thresholds |
|
fpbias_c |
parity bias for Chi-square distribution with degree of freedom greater than
1 |
|
fpbias_g |
parity bias for Gauss distribution with one degree of freedom |
|
gauss_1 |
probability density function for the normal Gaussian distribution |
|
heLveL1 |
horizontal/vertical exclusion level (HEL/VEL) by using a direct conventional
method |
|
heLveL2 |
horizontal/vertical exclusion level (HEL/VEL) by using the parity method |
|
heLveL3 |
horizontal/vertical exclusion level (HEL/VEL) by using a new efficient
method |
|
hpLvpL1 |
horizontal/vertical protection level (HPL/VPL) by using a direct
conventional method |
|
hpLvpL2 |
horizontal/vertical protection level (HPL/VPL) by using the parity method |
|
ncchis2_k |
probability density function for the non-central Chi-square distribution,
where k is 2 to 10 for the degree of freedom 2 to 10 |
|
qrupa |
Q-R updating algorithm of the measurement matrix when a new clock
measurement is added |
|
sdop |
sub-dilution of precision (sub-DOP) quantities |
|
swdop |
sub-weighted dilution of precision (sub-WDOP) quantities |
|
xfdnt |
main program computing the fault detection normalized thresholds |
|
xheLveL |
main program determining the horizontal/vertical exclusion level (HEL/VEL)
by using three different methods |
|
xhpLvpL |
main program determining the horizontal/vertical protection level (HPL/VPL)by
using two different methods |
|
xpbias |
main program computing the value of the parity bias for 10 degrees of
freedom (dof) by using Gaussian distribution for dof = 1 and Chi-square
distribution for dof > 1 |
|
xqrupa |
main program testing the Q-R updating algorithm of the measurement matrix
when a new clock measurement is added |
|
xsdop |
main program determining sub-dilution of precision (sub-DOP) quantities |
|
xswdop |
main program determining sub-weighted dilution of precision (sub-WDOP)
quantities |
Back to top
(20) GPS receiver
evaluation functions
|
cn0_j |
equivalent carrier to noise power density ratio for a specified jamming
level |
|
cn0_unj |
unjammed carrier to noise power density ratio |
|
fom |
figure of merit determination based on ICD-059 table |
|
pracc_cl |
pseudorange accuracy of Costas loop implementation when the equivalent
carrier to noise power density ratio is known |
|
prscp |
carrier phase smoothed pseudorange by using a first order filter |
|
xcn0_pr |
main program executing graphs related to carrier-to-noise power density
ratio and pseudorange accuracy |
|
xebudget |
main program determining GPS error budget |
|
xfom |
main program plotting the figure of merit versus estimated position error
for a specified position error range |
|
xgpsr5s |
main program performing covariance analysis for the 5-state GPS receiver
model (near stationary user) |
|
xgpsr8s |
main program performing covariance analysis for the 8-state GPS receiver
model (near constant velocity user) |
|
xprcp |
main program performing pseudorange and carrier phase data analysis |
|
xprscp |
main program executing the pseudorange smoothing by carrier phase data using
a first order filter |
Back to top
|