Crate swiftnav

Crate swiftnav 

Source
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. 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).

§Signal

Types for identifying GNSS signals. Each satellite can send out multiple signals, and each constellation of satellites support their own set of signals and keeping track which is which is important.

§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.

§Checksums

Implementation of commonly used checksum algorithms used with GNSS data.

§Geodetic Reference Frames

Maps and GNSS tend to use their own reference frames (a.k.a datums), so it’s important to keep track which reference frame a position is in and be able to transform positions in one reference frame into another so you can properly compare positions.

Modules§

coords
Coordinates and conversions
edc
Error detection code
nmea
This module contains National Marine Electronics Association (NMEA) related structures and formatting utilities. Notably, it contains (or eventually will contain) structures related to NMEA sentences and parsing/serialization of those sentences.
reference_frame
Geodetic reference frame transformations
signal
GNSS Signals and related functionality
time
Time handling