Expand description
swiftnav
is a library that implements GNSS utility functions to perform
position estimations. The data used by swiftnav
typically comes from GNSS
receiver chips as raw observation and ephemeris data. swiftnav
is more of
a “bring your own algorithm” library, it provides a bunch of functionality that
is useful when processing raw GNSS data, but it provides only limited position
estimation capabilities. Each module encompasses a single set of functionality,
and they are meant to be pretty self-explanatory for developers familiar with
GNSS processing.
GNSS systems are used to estimate the location of the receiver by determining the distance between the receiver and several satellites. The satellites send out precisely timed periodic messages and the receiver measures the delay of those messages. Knowing the location of the satellites at the time of transmission and the delays of the messages the receiver is able to determine the location of itself in relation to the satellites.
swiftnav
does not provide any functionality for communicating with
receivers made by Swift Navigation, or any manufacturer.
libsbp is the library to use if you
want to communicate with receivers using Swift Binary Protocol (SBP).
§Time
Time is a very important aspect of GNSS. swiftnav
defaults to representing
all times as GPS times. It provides the ability to manipulate GPS time stamps,
as well as means to convert a GPS time stamp into various other time bases
(GLONASS time, UTC, MJD).
§Coordinates
Several different coordinate types have representations and the ability to convert between them. Earth centered earth fixed (ECEF), Latitude longitude and height (both in radians and degrees), and Azimuth and elevation coordinates are available.
§Ephemeris
Decoding and evaluation of broadcast ephemeris for all major GNSS constellations is made available. You are able to calculate the satellite position at a particular point in time in several different coordinates.
§Troposphere and Ionosphere
Two major sources of signal error in GNSS are the troposphere and ionosphere.
swiftnav
provides the ability to decode and use the broadcast Klobuchar
ionosphere model. An implementation of the UNM3m troposphere model is also
provided.
§Single epoch position solver
A simple least squares position solver is also included. This allows you to get an approximate position with GNSS measurements from a single point in time. It uses a least squares algorith, so no state is maintained between solves. This can be used to seed your own position estimation algorithm with a rough starting location.
Modules§
- coords
- Coordinates and conversions
- edc
- Error detection code
- ephemeris
- Decoding and evaluation of satellite ephemeris
- geoid
- Geoid height calculation
- ionosphere
- Ionosphere delay calculation
- navmeas
- Raw GNSS measurement representation
- reference_
frame - Geodetic reference frame transformations
- signal
- Signal identifiers
- solver
- Single epoch PVT solver
- time
- Time handling
- troposphere
- Troposphere delay calculation