GPS Parameters NMEA and RAW

If you are using a GPS/GNSS module in your project you need to understand the parameters passed through the NMEA sentences. But if you are working on RTK or some precision Location algorithm then you should know the RAW data parameters too. These Raw data are mostly vendor specific like ublox has ubx, trimble T0 T1 T2 format, sirf has its own format  and the universal format taken as input to most softwares is RINEX.

Lets first explore the NMEA data

NMEA stands for National Marine Electronics Association. As NMEA was developed as a communication protocol between marine electronic components. Each sentence starts with $ and ends with CR LFAll standard sentences have prifix of two letters in case of GPS only receivers its GP. Followed by letters that define sentence content. Some vendors add some propietary sentences like garmin PGRM and magellan PMGN. Here is a list of sentence prefixes

AAM – Waypoint Arrival Alarm
ALM – Almanac data
APA – Auto Pilot A sentence
APB – Auto Pilot B sentence
BOD – Bearing Origin to Destination
BWC – Bearing using Great Circle route
DTM – Datum being used.
GGA – Fix information
GLL – Lat/Lon data
GRS – GPS Range Residuals
GSA – Overall Satellite data
GST – GPS Pseudorange Noise Statistics
GSV – Detailed Satellite data
MSK – send control for a beacon receiver
MSS – Beacon receiver status information.
RMA – recommended Loran data
RMB – recommended navigation data for gps
RMC – recommended minimum data for gps
RTE – route message
TRF – Transit Fix Data
STN – Multiple Data ID
VBW – dual Ground / Water Spped
VTG – Vector track an Speed over the Ground
WCV – Waypoint closure velocity (Velocity Made Good)
WPL – Waypoint Location information
XTC – cross track error
XTE – measured cross track error
ZTG – Zulu (UTC) time and time to go (to destination)
ZDA – Date and Time

GGA this is the most simplest way to get the cordinates from the NMEA


     GGA          Global Positioning System Fix Data
     223211       Fix taken at 22:32:11 UTC
     4807.234,S   Latitude 48 deg 07.234' S
     02243.050,W  Longitude 22 deg 43.050' W
     1            Fix quality: 0 = invalid
                               1 = GPS fix (SPS)
                               2 = DGPS fix
                               3 = PPS fix
			       4 = Real Time Kinematic
			       5 = Float RTK
                               6 = estimated (dead reckoning) (2.3 feature)
			       7 = Manual input mode
			       8 = Simulation mode
     08           Number of satellites being tracked
     0.9          Horizontal dilution of position
     545.4,M      Altitude, Meters, above mean sea level
     46.9,M       Height of geoid (mean sea level) above WGS84
     (empty field) time in seconds since last DGPS update
     (empty field) DGPS station ID number
     *47          the checksum data, always begins with *

GSA or GPGSA (Satellites Active)

This provides the satellite numbers and precision accuracy of location


     GSA      Satellite status
     A        Auto selection of 2D or 3D fix (M = manual) 
     3        3D fix - values include: 1 = no fix
                                       2 = 2D fix
                                       3 = 3D fix
     04,05... PRNs of satellites used for fix (space for 12) 
     2.5      PDOP (dilution of precision) 
     1.3      Horizontal dilution of precision (HDOP) 
     2.1      Vertical dilution of precision (VDOP)
     *39      the checksum data, always begins with *

GSV (Satelites in view)

One GSV sentence can provide data fro 4 sattellites so multiple sentences required for all staelites in view. GSV includes all satelites in view whether its used for localising or not.


      GSV          Satellites in view
      2            Number of sentences for full data
      1            sentence 1 of 2
      08           Number of satellites in view

      01           Satellite PRN number
      40           Elevation, degrees
      083          Azimuth, degrees
      46           SNR - higher is better
           for up to 4 satellites per sentence
      *75          the checksum data, always begins with *

GLL (Geographic Latitude and Longitude)


     GLL          Geographic position, Latitude and Longitude
     4916.46,N    Latitude 49 deg. 16.45 min. North
     12311.12,W   Longitude 123 deg. 11.12 min. West
     225444       Fix taken at 22:54:44 UTC
     A            Data Active or V (void)
     *iD          checksum data

RMC (Recomonded Minimum)


     RMC          Recommended Minimum sentence C
     123519       Fix taken at 12:35:19 UTC
     A            Status A=active or V=Void.
     4807.038,N   Latitude 48 deg 07.038' N
     01131.000,E  Longitude 11 deg 31.000' E
     022.4        Speed over the ground in knots
     084.4        Track angle in degrees True
     230394       Date - 23rd of March 1994
     003.1,W      Magnetic Variation
     *6A          The checksum data, always begins with *