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.
Fig. 1: Image showing working of GPS Receiver
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 *.
Fig. 2: Image showing format of NMEA Sentence
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.
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
|
You may also like:
Filed Under: Tutorials
Questions related to this article?
👉Ask and discuss on EDAboard.com and Electro-Tech-Online.com forums.
Tell Us What You Think!!
You must be logged in to post a comment.