Nav-Soft an OpenSource Software GNSS company.


Home >

Introduction to GNSS

Currently there are several Satellite based positioning systems either partially or fully deployed in Earth orbit. Collectively these are called Global Navigation Satellite Systems, GNSS, for short. There are 2 types of systems, those that cover the whole planet and those that work in a limited geographic area.

There are also GNSS Augmentation systems, which maybe ground or satellite based. These augment the GNSS systems in two ways, first by giving more accurate and frequent data about the behaviour of the Ionosphere, (the biggest error factor in the Receiver position calculation process), a band of charged particles high in the atmosphere that affects the transmission of RF signals from the Satellites, second they transmit corrections to the orbit of the satellites to improve accuracy to a few millimetres.

GPS NavStar is the full name for the American GNSS and WAAS (Wide Area Augmentation System) is the American Satellite based Augmentation system.


Open Source GNSS Software Receiver.

Nav-Soft is developing a fully programmable open source GNSS module. This will consist of an RF front end IC, feeding sampled digital IF data to a high performance ARM based micro-controller, optionally the board will have a 3-axis accelerometer and a 3-axis gyro connected to the micro-controller. The circuit schematics and layout will also be designed using open source tools. It is hoped to have this in production later this year (2021).

Circuit Schematics are almost complete, after which board layout will commence. The prototype will use an Arm Cortex based microprocessor and a 32 bit memory bus.

Nav-Soft has already ported FreeRTOS to an Arm 9 microprocessor evaluation board and developed software to read a GPS RF front end and perform digital correlation on the digital IF data from another evaluation board

The next step is to reproduce this on the prototype board and finish the digital tracking routines, then enhance the kalman filter PVT solution to include data from the onboard accelerometer and gyroscope IC's.
The kalman filter PVT solution has been running for some time on a Novatel Superstar II GPS receiver the details of which are described below.

The unit under development will be Navstar GPS compatible and incorporate WAAS processing. Once this has been completed the functionality will be extended to include the Galileo/EGNOS constellation.

Integration with the inertial sensors may be introduced before the Galileo/EGNOS depending on demand.

Open Source GNSS Hardware Receiver

Nav-Soft has already developed the software to operate a GPS receiver and compute a position/velocity solution using the Navstar GPS satellites and a WAAS satellite. This software runs on a commercially available Novatel SuperStar II receiver.

The reason for using this receiver is that it's chipset is one of very few if not the only chipset where the technical documentation is available to allow programming of an open source hardware receiver.

This section discusses the software used in a particular Navstar/GPS receiver, the Novatel Superstar II, which is based on the GEC-Plessey/Zarlink GP4020 & GP2015 chipset.

Here we describe how to program this particular GPS Receiver/Chipset although most of the steps would apply to any proprietry chipset.

For more information click this link GPS Hardware Receiver

GPS PVT Calculations

The calculations performed to determine the users position are fairly complex and involved, however to make use of the calculations an in depth mathematical understanding is not required. Here we will present the various equations needed and the steps taken to calculate a users position using the measurements made by a GPS receiver.

Having reviewed the equations we will walk through the programming required to derive the position of our GPS receiver.

To continue click this link GPS Theory

GPS Signal Data Encoding

The NavStar GPS system encodes certain data on top of the RF signal transmitted by the GPS satellites. This is done at two levels, first a binary 1023 bit Gold code pseudo random number sequence is mixed with the RF carrier signal using BPSK modulation. This Gold code is at a frequency of 1.023 MHz and since it is 1023 bits long it repeats every millisecond. This repeating Gold code is then modulated at 50 Hz or every 20 cycles of the full sequence and this data stream contains information crucial to the calculation of a Users position.

This 50 Hz signal contains data, called the Ephemeris, that describes the position of the GPS satellite transmitting the information with high accuracy. It also contains data that describes the position of all the GPS satellites to a lower accuracy, called the Almanac.

The low accuracy satellite position data is sufficient to allow the GPS receiver to pickup the signal from a Satellite if the GPS receiver has a rough idea of it's position. By rough we mean within a few hundred miles, the more accurate satellite position data is used in the calculations to get the Users position within a few metres.

The details of these data encoding schemes are available in a User guide from the GPS system designers.

For more information click this link GPS Data Encoding

WAAS and Augmenting Satellite Data

There are several systems that are available to augment GPS and other Satellite positioning systems. Some such as WAAS and EGNOS are geostationary satellite based, others use radio or the internet to make the information available. Apart from the method of transmiting the data, the systems are similar in that they provide more accurate Ionospheric delay or Orbital position data.

Here we will talk about WAAS and EGNOS, the American and European satellite based systems. These transmit correction data that applies to a large, contintent sized area. They also transmit data that only differs because it is for different areas of the planet.

These two systems transmit a signal at the same frequency and strength as the GPS satellites, but using different Gold codes, allowing it to be received by a standard civilian receiver with little modification.

The data message encoding scheme is significantly different from the GPS satellites and is at a higher data rate of 250 Hz or bits per second (bps). The messages contain both corrections to the satellite orbital and clock data, as well as Ionospheric delay data over the area covered.

For more details on the data encoding used by Waas Satellites see this page Waas Data Encoding

Useful Links

Navstar Almanac records are available for download from this location.GPS Almanacs

General GPS information from the US Government. GPS.gov

Back to Top of Page