Site menu:


Latest comments

Knowledge partners

polimi logo
ocu logo

Technology partners

g-red logo
cryms logo
galileian plus logo
applied technology logo

Supporters

osgeo.jp logo

georepublic logo

gpslombardia logo

jenoba logo

Feeds

RSS InsideGNSS

RSS GPS World Professional OEM

RSS GPS World Consumer OEM

goGPS MATLAB 0.4.3

goGPS MATLAB version 0.4.3 is available for download.

This is mainly a release to fix a bug that emerged since version 0.4.2: if the rover RINEX file contained approximate coordinates in the header, these were used as approximate coordinates for each processing epoch, also for kinematic datasets. If the rover moved farther away than 30-40 kilometers from its starting position, the least squares solution RMS error exceeded a hard-coded threshold of 4 m, causing the subsequent epochs to be discarded. Please note that previous versions of goGPS already used the RINEX header coordinates in this way, but the 4 m threshold (and the consequent discarding of “bad” epochs) was introduced only since version 0.4.2. Now the rover approximate coordinates are always estimated from code pseudoranges, disregarding the RINEX header coordinates.

This release also serves as a reference for this paper, published on the “GPS Toolbox” column of the GPS Solutions journal: http://link.springer.com/article/10.1007/s10291-015-0469-x

Changelog since v0.4.2:

Miscellanea:
Added the leap second that will be introduced between the 30th of June and the 1st of July 2015

Various bug-fixes, among which:
– the observation synchronization was not working properly when syncing obs with different time rates
– fixing an error that occurred when reading antennas that missed the azimuth-dependent section
– restored the possibility for the rover to use RINEX header coordinates (if available); now the estimation of approximate coordinates (either from the RINEX ones or from the center of the Earth) is done iteratively until the code point-positioning sigma02 goes below a fixed threshold (now set to (4m)^2), or until the number of iterations reaches a maximum of 5 (whichever comes first)
– the SP3 reading function had not been updated to use the continuous GPS time

Note 1: goGPS binary observation data (*_obs_* and *_eph_*) format was not modified, thus old datasets can be used with the new version without any modification.

Note 2: GUI settings files are also unchanged.

Please report any bug you find or any problem you may have.
If you find goGPS to be useful, please let us know!

goGPS MATLAB 0.4.2

goGPS MATLAB version 0.4.2 is available for download.

Main changes introduced since v0.4.1beta:

Core:
Added an outlier detection and removal method based on a Leave-One-Out (LOO) procedure (it’s applied to all Least-squares and Kalman filter solutions)

Added the use of antenna PCO/PCV to correct phase observations

Input:
Added support for NVS receivers (with GPS, GLONASS, Galileo and QZSS observations; only GPS and GLONASS navigation data); This development was supported by the JSPS Grant-in-Aid for Scientific Research (Issue No. 24700105)

Added support for reading receiver antenna phase center offset from ATX files

Added new functions that read RINEX files and synchronize observations among different receivers

Added batch processing (i.e. automated processing of multiple input RINEX files)

Output:
Automatic generation of daily RINEX files, following the standard RINEX file naming scheme, for both rover and master decoders

Added hourly file division for rover and master monitors. Increased the number of digits for counting the hours in the filename (from 2 to 3). Added a check to avoid overwriting existing files for rover and master monitors

Added output PDF with plots of the code and phase residuals of each satellite

Added output text files with reports about the positioning results (statistics, quality indexes, etc.)

Miscellanea:
Improved the computation time of the functions satellite_orbits.m and ecc_anomaly.m (about 30% improvement)

Added a utility to concatenate the hourly binary files produced by goGPS monitors into a single file

Various bug-fixes, among which:
– the frequencies selected for computing the BeiDou wavelengths were wrong
– using the TOW for synchronizing observations from RINEX files was not enough when processing several weeks of data; now a “UNIX time”-like parameter is used, thus such synchronization can be done
– some incompatibilities found when running goGPS under MATLAB 2014 were fixed

The following figure shows the evolution of the number of lines of code for the eleven officially published goGPS versions since 2009 to 2014.
LOC_2009_2014

Since this update includes several new features and the overall software is now a bit more robust, we have decided to drop the “beta” suffix.

Note 1: goGPS binary observation data (*_obs_* and *_eph_*) format was not modified, thus old datasets should still be compatible. It’s only needed to change the hour counter in the filename from 2 digits (e.g. “04”) to (e.g. “004”).

Please report any bug you find or any problem you may have.
If you find goGPS to be useful feel free to post a quick comment in the mailing list!

goGPS MATLAB 0.4.1beta

goGPS MATLAB version 0.4.1 beta is available for download.

This is mainly a bug-fix release to improve compatibility with new MATLAB versions (starting from R2013).

Changelog since v0.4.0beta:

Core:
Ionospheric delay inter-frequency factor is now properly computed and applied for all the multi-GNSS frequencies.

Input:
Antenna offset in the header of RINEX files is now read and applied

Made the u-blox binary decoding function more robust against truncated UBX messages.

Miscellanea:
Fixed some bugs that were introducing compatibility errors with new MATLAB versions (starting from R2013).

Bug-fixing

Note 1: goGPS binary observation data (*_obs_* and *_eph_*) format was not modified, thus old datasets can be used with the new version without any modification.

Note 2: GUI settings files are also unchanged.

Please report any bug you find or any problem you may have.
If you find goGPS to be useful, please let us know!

goGPS Java v1.0.2

A new version of goGPS Java (1.0.2) has been released.

Changelist:
– Added a check on satellite health

– Added a method to write a text file output with the processing results (same format as goGPS MATLAB)

– Added the source code of a command line application (org.gogpsproject.apps.LogUBX) for logging UBX binary data from one ore more u-blox receivers connected to serial ports (the executable jar file will be published directly on this website in the coming weeks, together with some more details about how to use it)

– Changed the version of the RXTX library (from 2.1.7 to 2.2pre1). The library is no longer obtained from Maven, it is included directly in goGPS Java; this was done both because RXTX development seems to have stopped and because goGPS Java now uses a slightly modified version of RXTXcomm.jar, that scans also /dev/ttyACM* ports on Linux (useful for interfacing with u-blox receivers).

New publication about goGPS

A new paper about goGPS, focusing the details of its (extended) Kalman filter implementation, was published on October 16th, 2013 on Measurement Science and Technology: http://iopscience.iop.org/0957-0233/24/11/115010

It should be downloadable for free for the first 30 days since publication.

A new page was added to list all the available publications about (or involving the use of) goGPS.

goGPS MATLAB 0.4.0beta

goGPS MATLAB version 0.4.0beta is available for download.

Main changes introduced since v0.3.1beta:

Core:
Added support for EGNOS corrections in stand-alone mode, using the EMS service. Requires an active Internet connection or to download EMS files beforehand.

Added integer ambiguity resolution by LAMBDA method; both LAMBDA v2 and v3 can be used (MATLAB code published by TU Delft and Curtin University). LAMBDA v2 code is included, while v3 code must be downloaded separately.

Added multi-constellation support (including GPS, GLONASS, Galileo, BeiDou and QZSS) – still experimental; it may require a relatively high amount of free memory (RAM).

Added a variometric approach applied on stand-alone time-differenced phase observations as an alternative way to estimate the receiver velocity.

Added pre-processing functions that remove “jumps” due to clock resets in the observations and synchronize rover and master observations to the microsecond level.

Input:
Added RINEX v2.12 and v3.01 reading.
Added configuration (.ini) files to define the input paths and filenames.

Output:
Output variables are saved also in a .mat file automatically.

Miscellanea:
First steps done to make the code object-oriented.
Added raw data logging at rates other than 1 Hz.
Added waitbars during time-consuming processing tasks.
Improved speed of RINEX reading functions.
Bug-fixing.

Note 1: goGPS binary observation data (*_obs_* and *_eph_*) format was modified, thus old datasets should be converted to the new format by decoding again the rover and master binary streams with the apposite tool.

Note 2: The GUI and GUI settings files have been heavily modified, so we cannot provide a conversion tool from the old settings format to the new one. Please transfer your old settings by hand if needed.

Please report any bug you find or any problem you may have.
If you find goGPS to be useful feel free to post a quick comment in the mailing list!

goGPS MATLAB v0.3.1beta

goGPS MATLAB version 0.3.1 beta is available for download.

Changelog since v0.3.0beta:

Core:
Fixed an error in the satellite orbit computation that was introduced with v0.3.0beta (the relativistic term was being applied after the orbit computation)
Added observations reading and processing at rates other than 1 sec (post-processing only; ‘INTERVAL’ keyword in RINEX header is required for reading RINEX files with observation rate ~= 1 sec)

Output:
Added a new output file for the XYZ covariance. The old (ENU) covariance file now has the ‘_ENU’ suffix added to its filename.

Miscellanea:
Bug-fixing

Note 1: goGPS binary observation data (*_obs_* and *_eph_*) format was not modified, thus old datasets can be used with the new version without any modification.

Note 2: GUI settings files are also unchanged.

Please report any bug you find or any problem you may have.
If you find goGPS to be useful feel free to post a quick comment in the mailing list!

goGPS MATLAB v0.3.0beta

goGPS MATLAB version 0.3.0 beta is available for download.

A summary of the main changes since v0.2.0beta:

Core:
Re-structured the core functions for:

  • improving the satellite orbits computation by iterative least squares adjustment together with receiver position and clock
  • optimizing the code by removing duplicate function calls and unnecessary ‘for’ cycles (computation speed improved by ~15%)
  • making the code more easily understandable and modifiable

Introduced a check on the condition number on the eigenvalues of the normal matrix in the stand-alone least squares positioning algorithm, for detecting ill-conditioned problems and excluding their results from the final solution

Added SP3 (precise ephemeris) positioning

Input:
Improved the RINEX parser
Added a SP3 parser

Output:
Modified the structure of *_position.txt and *_cov.txt output files: fixed-width instead of tab-delimited fields
Added “Date” and “GPS time [hh:mm:ss]” fields to *_position.txt files

Miscellanea:
Added ETRF2000 – ITRF2008 transformation functions
Modified the algorithm for Julian date <-> GPS week/TOW conversion
Speed optimizations
Bug-fixing

Note 1: goGPS binary observation data (*_obs_* and *_eph_*) format was not modified, thus old datasets can be used with the new version without any modification.

Note 2: GUI settings files are also unchanged.

Please report any bug you find or any problem you may have.
If you find goGPS to be useful feel free to post a quick comment in the mailing list!

goGPS Java v1.0.1

A new version of goGPS Java (1.0.1) has been released to address a bug involving incomplete KML files in output.

goGPS Java

The first official release of goGPS Java is available for download.

Currently it is provided as a library implementing the core functions of goGPS MATLAB. It can work either in post-processing by reading observations from RINEX or UBX files or real-time by acquiring raw data from a u-blox receiver connected to a USB/serial port and from an NTRIP caster via TCP/IP connection.

The main motivations that lead the development of goGPS Java are its integration into production projects as a server side service and the execution of time consuming tasks (it is much faster than goGPS MATLAB).

Documentation is being produced here.

As usual, feedback is appreciated!