vecsol Positioning Application



The application computes a 3D vector solution using dual-frequency carrier phases. A double difference algorithm is applied with properly computed weights (elevation sine weighting) and correlations. The program iterates to convergence and attempts to resolve ambiguities to integer values if close enough. Crude outlier rejection is provided based on a triple-difference test. Ephemerides used are either broadcast or precise (SP3).

Alternatively, P code processing is additionally provided. The solution is computed using either the ionosphere-free linear combination, or the average of L1 and L2. The ionospheric model included in broadcast ephemeris may be used. A standard tropospheric correction is applied, or tropospheric parameters (zenith delays) may be estimated for the first station (vector mode) or both.


vecsol usage: vecsol <RINEX Obs file 1> <RINEX Obs file 2>

RINEX Observation Files

The two arguments are names of RINEX observation files. They contain the observations collected at the two end points 1 and 2 of the baseline. They must contain a sufficient set of simultaneous observations to the same satellites.

If no separate station coordinate files are provided, the initial station coordinates are taken from the RINEX headers. Upon finishing, vecsol creates or updates the coordinate file of the first station (vector mode) or both.


The file vecsol.conf contains the input options for the program, one per line.
Configuration File vecsol.conf
Options Value Meaning
obsMode 3/2/1/0 If 1 or 3, process carrier phase data (instead of P code data). if 0 or 1, iterate on ionosphere-free vector (not L1 + L2).
timeconv 1/0 If 1, use true double difference covariances. If 0, ignore any possible correlations.
precise 1/0 If 1, use true double-difference covariances. If 0, ignore any possible correlations.
iono 1/0 If 1, use the 8-parameter ionospheric model that comes with the broadcast ephemeris (.nav) files.
tropo 1/0 If 1, estimate troposphere parameters (zenith delays relative to the standard value, which is always applied).
vecmode 1/0 If 1, solve the vector, i.e., the three coordinate differences between the baseline end points. If 0, solve for the absolutely coordinates of both end points.
debug 1/0 If 1, produce lots of gory debugging output. See the source for what it all means.
refsat elev number Minimum elevation (degrees) of the reference satellite for computing inter-satellite difference. Good initial choice: 30.0
cutoff elev number Cut-off elevation (degrees). Good initial choice: 10.0, -20.0
rej TP, rejTC two numbers Phase code triple differences rejection limit (m).
reduce 1/0 Apply post-reduction to combine dependent unknowns.

Ephemeris File Lists

The file vecsol.nav contains the names of the navigation RINEX files ("nav files", extension). Good navigation RINEX files that are globally valid can be found from the CORS website at

The file vecsol.eph contains the names of the precise ephemeris SP3 files (extension .sp3) to be used. These should cover the time span of the observations, with time to spare on both ends. Note that the date in the filenames of the SP3 files is given as GPS week + weekday, not year + day of year, as in the observation and nav files.

In the .nav and .eph files, comment lines have \# in the first position.


Currently, vecsol does not recover from cycle slips, so the RINEX observation files used have to be fairly clean.

-- NicoleQuindara - 05 Aug 2011
Topic revision: r2 - 05 Aug 2011, NicoleQuindara

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback