NMEA Strings

NMEA String Data › Utilizing a third party GPS receiver or utilizing a StarFire iTC

National Marine Electronics Association (NMEA) has developed a specification that defines the interface between various pieces of electronic equipment.

One of the most important NMEA sentences include the GGA which provides the current Fix data, the RMC which provides the minimum gps sentences information, and the GSA which provides the Satellite status data.

GGA - essential fix data which provide 3D location and accuracy data.

GGA STRING EXAMPLE:

$GPGGA,123519,4807.038,N,01131.000,

E,1,08,0.9,545.4,M,46.9,M,,*47

Where:

GGA Global Positioning System Fix Data
123519 Fix taken at 12:35:19 UTC
4807.038,N Latitude 48 deg 07.038' N
01131.000,E Longitude 11 deg 31.000' E
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)
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

 

GSA - GPS DOP and active satellites. This sentence provides details on the nature of the satellite constellation fix. It includes the numbers of the

satellites being used in the current solution and the DOP. DOP (dilution of precision) is an indication of the effect of satellite geometry on the accuracy of the fix. It is a unitless number where smaller is better. For 3D fixes using 4 satellites a 1.0 would be considered to be a perfect number, however for overdetermined solutions it is possible to see numbers below 1.0.

There are differences in the way the PRN's are presented which can effect the ability of some programs to display this data. For example, in the example shown below there are 5 satellites in the solution and the null fields are scattered indicating that the almanac would show satellites in the null positions that are not being used as part of this solution. Other receivers might output all of the satellites used at the beginning of the sentence with the null field all stacked up at the end. This difference accounts for some satellite display programs not always being able to display the satellites being tracked. Some units may show all satellites that have ephemeris data without regard to their use as part of the solution but this is non-standard.

GSA String Example

$GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39

Where:

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 *

 

RMC - NMEA has its own version of essential gps pvt (position, velocity, time) data. It is called RMC, The Recommended Minimum, which will look similar to:

JS56696,00005A7 -19-13MAY09-1/2


RMC String Example

$GPRMC,123519,A,4807.038,N,01131.000,

E,022.4,084.4,230394,003.1,W*6A

Where:

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 *

 

VTG - Velocity made good. The gps receiver may use the LC prefix instead of GP if it is emulating Loran output.

VTG String Example

$GPVTG,054.7,T,034.4,M,005.5,N,010.2,K*33

where:

VTG Track made good and ground speed
054.7,T True track made good (degrees)
034.4,M Magnetic track made good
005.5,N Ground speed, knots
010.2,K Ground speed, Kilometers per hour
*33 Checksum

 

ZDA - Data and Time

ZDA String Example

$GPZDA,hhmmss.ss,dd,mm,yyyy,xx,yy*CC

$GPZDA,201530.00,04,07,2002,00,00*6E

where:

hhmmss HrMinSec(UTC)
dd,mm,yyy Day,Month,Year
xx local zone hours -13..13
yy local zone minutes 0..59
*CC checksum

 

JS56696,00005A7 -19-13MAY09-2/2