What is GPS Receiver: GPS Sentences & NMEA Standards
Close or Esc Key

Arduino Projects   |   Raspberry Pi   |   Electronic Circuits   |   AVR   |   PIC   |   8051   |   Electronic Projects

GPS Receivers and NMEA Standards


GPS receivers receive almanac data from the satellite and also calculate their position by calculating its distance from then visible satellites and then by using triangulation method to calculate its position.
 
After the data has been received and position has been calculated, the data is configured according to standards set up by NMEA (National Marine Electronics Association) and is serially transmitted at a baud rate of 4800 bps.
 
The National Marine Electronics Association (NMEA) has developed standards that describe the interface between various marine electronic equipments. The standards allow marine electronics to send information to computers and to other marine equipments.
 
GPS receivers also work on these NMEA Standards. Most of the computer programs and devices which provide position and other related information expect the data to be in NMEA format.
 
The data given by the GPS receiver includes many information like position (latitude and longitude), altitude, speed, time etc. In its standards, NMEA has specified to send a series of data in a sentence. A particular sentence is totally self-reliant and is independent from other sentences. There are standard sentences for particular type of data and for various categories of devices. NMEA has also provided the functionality for individual companies to write their own sentences.
 

 
All standard devices have a two letter prefix that defines the device for which it is being used, for GPS receivers the prefix is GP. The two letter prefix is then followed by three letters which represent the content of the sentence. The proprietor sentences allowed by the NMEA always start with P and are followed by a three letter sequence identifying manufacturer code and additional characters to define sentence type. For example a Garmin sentence would start with PGRM and Sony would begin with PSNY.
 
Every sentence begins with a ‘$’ sign, has about 80 characters and ends up with a carriage return/line feed sequence. Sentences are mostly framed in single lines (may run over to multiple lines sometimes) and the data items in each sentence are separated by commas.
 
The data received is just ASCII text and varies in precision. A sentence ends with checksum which consists of a ‘*’ and two hexadecimal digits. The checksum digits represent an 8 bit exclusive OR of all the characters between, but not including, the $ and *.
 
GPS units are made compatible to NMEA standards and are also compatible with serial ports using RS232 protocols. The serial configuration of a GPS receiver is summed as follows :
 
BAUD RATE
DATA bits
STOP bits
PARITY
HANDSHAKE
4800 bps
8
1
None
None
 

GPS Sentences

 

GPS Sentences
Some of the GPS sentences are explained below :

1)      $GPGGA - Global Positioning System Fix Data

$GPGGA,132453.970,2651.0138,N,07547.7054,E,1,03,7.1,42.5,M,-42.5,M,,0000*45
where: 
GGA
132453.970
2651.0138, N
07547.7054, E
1
 
 
 
 
 
 
 
 
 
03
7.1
42.5, M
46.9, M
Empty field
Empty field
*45
Global Positioning System Fix Data
Fix taken at 13:24:53970 UTC
Latitude 26 deg 51.0138' N
Longitude 07 deg 54.7054' E
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
Number of satellites being tracked
Horizontal dilution of position
Altitude, Meters, above mean sea level
Height of geoid (mean sea level) above WGS84 Ellipsoid
Time in seconds since last DGPS update
DGPS station ID number
The checksum data, always begins with *
 
2)      $GPGSV - (Satellites in view)
GPGSV sentence shows data about the satellites that are in view of the receiver. Each GPGSV sentence can show data for maximum of four satellites, so three sentences are required represent full data. All 3 sentences need not appear in sequence as each sentence can be identified easily.
 
A GPGSV sentence can show more number of satellites than GPGGA sentence as it also shows the satellites which are not in solution. The SNR (Signal to Noise Ratio) can be used as raw signal strength and lies between 0 and 99. Zero being the signal strength for the satellite being viewed but not tracked.
$GPGSV,3,1,12,18,57,291,40,21,56,346,45,26,23,043,46,29,57,174,25*71  
$GPGSV,3,2,12,22,28,259,16,27,13,107,,09,11,130,,16,09,288,25*79  
$GPGSV,3,3,12,30,08,210,33,06,08,320,22,25,02,188,26,14,01,203,21*7B
where: 
GSV
3
1
12
18
57
291
40
 
*75
Satellites in view
Number of sentences for full data
Sentence 1
Number of satellites in view
Satellite PRN(Pseudorandom Noise) number
Elevation, degrees
Azimuth, degrees
SNR (Signal to noise Ratio) - higher is better
For up to 4 satellites per sentence
The checksum data, always begins with *
 
              
1
Total number of messages of this type in this cycle
2
Message number
3
Total number of SVs in view
4
SV PRN number
5
Elevation in degrees, 90 maximum
6
Azimuth, degrees from true north, 000 to 359
7
SNR, 00-99 dB (null when SV is visible but not tracked)
8-11
Information about second SV, same as field 4-7
12-15
Information about third SV, same as field 4-7
16-19
Information about fourth SV, same as field 4-7
 
3)      $GPRMC - Recommended minimum specific GPS/Transit data
$GPRMC,132455.970,A,2651.0145,N,07547.7051,E,0.50,342.76,301010,,,A*64
where: 
RMC
132455.970
A
2651.0145, N
07547.7051, E
0.50
342.76
301010
Empty field (xxx.x, y)
*64
Recommended Minimum sentence C
Fix taken at 13:24:55.970 UTC
Status A=Active or V=Void.
Latitude 26 deg 51.0145' N
Longitude 075 deg 47.7051' E
Speed over the ground in knots
Track angle in degrees True
Date : 30th of October 2010
Magnetic Variation
The checksum data, always begins with *
 
4)      $GPVTG -
$GPVTG,054.7,T,034.4,M,005.5,N,010.2,K*48
where: 
VTG
054.7, T
034.4, M
005.5, N
010.2, K
*48
Track made good and ground speed
True track made good (degrees)
Magnetic track made good
Ground speed, knots
Ground speed, Kilometres per hour
The checksum data, always begins with *
 
1
Track made good
2
Fixed text 'T' indicates that track made good is relative to true north
3
Magnetic track made good
4
Fixed text 'N' indicates degrees magnetic
5
Speed over ground in knots
6
Fixed text 'N' indicates that speed over ground in knots
7
Speed over ground in kilometres/hour
8
Fixed text 'K' indicates that speed over ground is in kilometres/hour
9
Checksum
 
5)      $GPGSA -
This sentence shows the dilution of precision (DOP) and PRN of active satellites. DOP shows the effect of satellite geometry on the accuracy of the fix. DOP is a number and for 3D fix using four satellites a DOP of 1.0 is perfect.
$GPGSA,A,2,26,21,18,,,,,,,,,,7.1,7.1,1.0*3C
where: 
GSA
A
2
 
 
 
 
26, 21, 18...
7.1
7.1
1.0
*3C
Satellite status
Auto selection of 2D or 3D fix (M = manual)
2D fix
where:
1 = no fix
2 = 2D fix
3 = 3D fix
PRNs of satellites used for fix (space for 12)
PDOP (dilution of precision)
Horizontal dilution of precision (HDOP)
Vertical dilution of precision (VDOP)
The checksum data, always begins with *

Proprietary Sentences


Proprietary Sentences
NMEA allows proprietary sentences for private companies and they can be used to control information or can be used as output from GPS. Proprietary sentences always start with P followed by a three character manufacturers’ code and additional characters to determine sentence type.

Some examples of proprietary sentences are as follows :
 
S.No.
Company
Sentence
1
Garmin
$PGRME,15.0,M,45.0,M,25.0,M*1C
2
Magellan
$PMGNST,02.12,3,T,534,05.0,+03327,00*40
3
Rockwell International
$PRWIRID,12,01.83,12/15/97,0003,*42
4
Sony
$PSNY,0,00,05,500,06,06,06,06*14
5
Sirf
$PSRF103,05,00,01,01*20
 
All the GPS sentences with a brief description are tabulated below :
 
S.No.
Sentence
Description
1
$GPAAM
Waypoint Arrival Alarm
2
$GPALM
GPS Almanac Data
3
$GPAPA
Autopilot Sentence "A"
4
$GPAPB
Autopilot Sentence "B"
5
$GPASD
Autopilot System Data
6
$GPBEC
Bearing & Distance to Waypoint, Dead Reckoning
7
$GPBOD
Bearing, Origin to Destination
8
$GPBWC
Bearing & Distance to Waypoint, Great Circle
9
$GPBWR
Bearing & Distance to Waypoint, Rhumb Line
10
$GPBWW
Bearing, Waypoint to Waypoint
11
$GPDBT
Depth Below Transducer
12
$GPDCN
Decca Position
13
$GPDPT
Depth
14
$GPFSI
Frequency Set Information
15
$GPGGA
Global Positioning System Fix Data

16

$GPGLC
Geographic Position, Loran-C
17
$GPGLL
Geographic Position, Latitude/Longitude
18
$GPGSA
GPS DOP and Active Satellites
19
$GPGSV
GPS Satellites in View
20
$GPGXA
TRANSIT Position
21
$GPHDG
Heading, Deviation & Variation

22

$GPHDT
Heading, True
23
$GPHSC
Heading Steering Command
24
$GPLCD
Loran-C Signal Data
25
$GPMTA
Air Temperature (to be phased out)
26
$GPMTW
Water Temperature
27
$GPMWD
Wind Direction
28
$GPMWV
Wind Speed and Angle
29
$GPTTM
Tracked Target Message
30
$GPVBW
Dual Ground/Water Speed
31
$GPVDR
Set and Drift
32
$GPROO
Waypoint active route (not standard)
33
$GPOLN
Omega Lane Numbers
34
$GPVHW
Water Speed and Heading
35
$GPVLW
Distance Travelled through the Water
36
$GPVPW
Speed, Measured Parallel to Wind
37
$GPVTG
Track Made Good and Ground Speed
38
$GPWCV
Waypoint Closure Velocity
39
$GPWNC
Distance, Waypoint to Waypoint
40
$GPTRF
Transit Fix Data
41
$GPSTN
Multiple Data ID
42
$GPRMA
Recommended Minimum Specific Loran-C Data
43
$GPRMB
Recommended Minimum Navigation Information
44
$GPRMC
Recommended Minimum Specific GPS/TRANSIT Data
45
$GPROT
Routes
46
$GPSFI
Scanning Frequency Information
47
$GPOSD
Own Ship Data
48
$GPROT
Rate of Turn
49
$GPRPM
Revolutions
50
$GPRSA
Rudder Sensor Angle
51
$GPRSD
RADAR System Data
52
$GPWPL
Waypoint Location

53

$GPXDR
Transducer Measurements
54
$GPXTE
Cross-Track Error, Measured
55
$GPXTR
Cross-Track Error, Dead Reckoning
56
$GPZDA
Time & Date
57
$GPZFO
UTC & Time from Origin Waypoint
58
$GPZTG
UTC & Time to Destination Waypoint

 

]]>]]>