2. Overview
• What is NMEA?
• NMEA Data Format
• Intro of Selected Datatype
• Decode of Selected Sentences
• References
3. What is NMEA?
• Specified by National Marine Electronics Association
• Define the interface between various marine electronic
equipments (HW / SW)
– NMEA 0183
• Serial commnunication (EIA-422, RS-232)
– 4800 b/s, 8 bits of data, no parity, one stop bit
– ASCII format
– Latest release is v2.3
– NMEA 2000
• Control Area Network (CAN)
– Designed for auto industry
– 250 kb/s, Binary format
4. NMEA Data Format
• Composed of sentences (messages)
• Format of sentence
– Start with '$', End with 'rn' (CR LF).
– Each data field is delimited by ',' and could be empty.
– First field indicate the datatype of sentence
– Checksum is appended at last field and prepended by a
'*'
• Bitwise-XOR all characters between '$' and '*'
• Example:
– $GPRMC,134807,A,2409.9030,N,12030.7368,
E,0.000,332.460,230212,0.0,W*62
5. Intro of Selected Datatype
• Messages applicable to GPS receiver (All
messages start with "GP")
– GGA: Fix information
– GSA: Overall satellite data
– GSV: Detailed satellite data
– RMC: Recommended minimum data for GPS
• Proprietary message
– GGYRO: Gyro state
– ELIN: ???
6. GGA
• Essential fix data which provide 3D location and accuracy data.
• $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46
.9,M,,*47
– 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, GPS fix, 0 = fix not available, 2 = Differential GPS fix
– 08: Number of satellites being tracked
– 0.9: Horizontal dilution of position (HDOP)
– 545.4,M: Antenna Altitude (meters) above/below mean-sea-level (geoid)
– 46.9,M: Geoidal separation, the difference between the WGS-84 earth ellipsoid
and mean-sea-level (geoid)
– (empty field): time in seconds since last DGPS update
– (empty field): DGPS station ID number
– *47: Checksum
8. GSA
• GPS DOP and active satellite
– DOP (Dilution Of Precision) is an indication of the effect of satellite
geometry on the accuracy of the fix
• For 3D fixes using 4 satellites a 1.0 would be considered to be a perfect
number
• $GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39
– A: Auto selection of 2D or 3D fix (M = manual)
– 3: 3D fix, 1 = no fix, 2 = 2D fix
– 04,05... : PRNs of satellites used for fix (space for 12)
• May have different representation
– 2.5: Positional (3D) Dilution Of Precision (PDOP)
– 1.3: Horizontal dilution of precision (HDOP)
– 2.1: Vertical dilution of precision (VDOP)
10. GSV
• Satellites in view
• One GSV sentence can provide data for 4 satellites and
thus need 3 sentences for the full information
• $GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,1
4,22,228,45*75
– 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 true
– 46: SNR(Signal to Noise Ratio) - higher is better
12. RMC
• Recommended Minimum Specific
– Essential GPS pvt (position, velocity, time) data
• $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,
230394,003.1,W*6A
– 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 (Could also be magnetic north)
– 230394: Date - 23rd of March 1994
– 003.1,W: Magnetic Variation