NEMA protocol Detailed

Source: Internet
Author: User
Tags in degrees

The origin of the NEMA protocol

The NMEA protocol is designed to establish a unified BTCM (Maritime Radio Technical Committee) standard in different GPS (Global Positioning System) navigation equipment, by the National Oceanic Electronics Association (nmea-the Nation Marine Electronics Associa-tion) set up a communication protocol. GPS receiver According to the standard specification of the NMEA-0183 protocol, the location, speed and other information through the serial port to the PC, PDA and other equipment.

NMEA-0183 protocol is the standard protocol that GPS receivers should abide by, and also the most widely used protocol in GPS receivers, most common GPS receivers, GPS data processing software, navigation software comply with or at least compatible with this protocol.

However, there are a few vendors that use self-agreed protocols such as Garmin's GPS devices (some Garmin devices can also output data that is compatible with the NMEA-0183 protocol). Software, the Google Earth we are familiar with does not currently support the NMEA-0183 agreement, but Google Earth has declared that it will be compatible with the NMEA-0183 protocol as soon as possible. Well, unless you are really strong enough to rival industry standards, you have to obey industry standards.

The NMEA-0183 protocol defines a lot of statements, but the most commonly used or most compatible statements are $gpgga, $GPGSA, $GPGSV, $GPRMC, $GPVTG, $GPGLL, and so on. The following is an explanation of the field definitions for these commonly used NMEA-0183 statements.

$GPGGA

Example: $GPGGA, 092204.999,4250.5589,s,14718.5084,e,1,04,24.4,19.7,m,,,, 0000*1f

Field 0: $GPGGA, statement ID, indicating that the statement is the Global positioning System Fix data (GGA) GPS location information

Field 1:UTC time, hhmmss.sss, hours and seconds format

Field 2: Latitude ddmm.mmmm, Degree fractal format (0 if the number of leading digits is insufficient)

Field 3: Latitude N (north latitude) or S (South latitude)

Field 4: Longitude dddmm.mmmm, Degree format (0 if the number of leading digits is insufficient)

Field 5: Latitude E (longitude) or W (West)

Field 6:gps state, 0 = not positioned, 1 = non-differential positioning, 2 = differential positioning, 3 = invalid pps,6= is estimating

Field 7: Number of satellites in use (00-12) (0 if the number of leading digits is insufficient)

Field 8:hdop horizontal precision factor (0.5-99.9)

Field 9: Altitude ( -9999.9-99999.9)

Field 10: Height of the Earth's ellipsoid to the geoid

Field 11: Differential Time (the number of seconds from the last received to the differential signal, if not differential positioning will be empty)

Field 12: Differential station ID number 0000-1023 (0 if the number of leading digits is not sufficient, if not differential positioning will be empty)

Field 13: Checksum value

$GPGSA

Example: $GPGSA, a,3,01,20,19,13,,,,,,,,, 40.4,24.4,32.2*0a

Field 0: $GPGSA, statement ID, indicating that the statement is a GPS DOP and active Satellites (GSA) Current satellite information

Field 1: Positioning mode, a= automatic manual 2d/3d,m= manual 2d/3d

Field 2: Positioning type, 1 = not positioned, 2=2d positioning, 3=3d positioning

Field 3:PRN code (pseudo-Random noise code), 1th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 4:PRN code (pseudo-Random Noise code), 2nd channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 5:PRN code (pseudo-Random noise code), 3rd channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 6:PRN code (pseudo-Random noise code), 4th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 7:PRN code (pseudo-Random noise code), 5th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 8:PRN code (pseudo-Random noise code), 6th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 9:PRN code (pseudo-Random noise code), 7th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 10:PRN code (pseudo-Random noise code), 8th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 11:PRN code (pseudo-Random noise code), 9th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 12:PRN code (pseudo-Random noise code), 10th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 13:PRN code (pseudo-Random noise code), 11th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 14:PRN code (pseudo-Random noise code), 12th channel is in use of the satellite PRN code number (00) (the number of leading digits is 0)

Field 15:pdop synthetic positional accuracy factor (0.5-99.9)

Field 16:hdop horizontal precision factor (0.5-99.9)

Field 17:VDOP Vertical precision factor (0.5-99.9)

Field 18: Checksum value

$GPGSV

Example: $GPGSV, 3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70

Field 0: $GPGSV, statement ID, indicating that the statement is a GPS Satellites in View (GSV) visible satellite information

Field 1: Total number of GSV statements (1-3)

Field 2: The GSV Statement of this article is the first of the GSV statement (1-3)

Field 3: Total number of currently visible satellites (00-12) (0 if the number of leading digits is insufficient)

Field 4:PRN code (pseudo-Random Noise Code) (01-32) (0 if the preamble is insufficient)

Field 5: Satellite elevation (00-90) degrees (0 if the number of leading digits is insufficient)

Field 6: Satellite azimuth (00-359) degrees (0 if the number of leaders is insufficient)

Field 7: Signal-to-noise ratio (00-99) dbhz

Field 8:PRN code (pseudo-Random Noise Code) (01-32) (0 if the preamble is insufficient)

Field 9: Satellite elevation (00-90) degrees (0 if the number of leading digits is insufficient)

Field 10: Satellite azimuth (00-359) degrees (0 if the number of leaders is insufficient)

Field 11: Signal-to-noise ratio (00-99) dbhz

Field 12:PRN code (pseudo-Random Noise Code) (01-32) (0 if the preamble is insufficient)

Field 13: Satellite elevation (00-90) degrees (0 if the number of leading digits is insufficient)

Field 14: Satellite azimuth (00-359) degrees (0 if the number of leaders is insufficient)

Field 15: Signal-to-noise ratio (00-99) dbhz

Field 16: Checksum value

NMEA0183 Standard statement Another way of expressing

1. Global Positioning System Fix data (GGA) GPS location information

$GPGGA, <1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,m,<10> M,<11>,<12>*hh<cr><lf>

<1> UTC Time, Hhmmss (hours, minutes, seconds) format

<2> latitude ddmm.mmmm (degree) format (0 of the preceding will also be transmitted)

<3> latitude Hemisphere n (Northern hemisphere) or S (Southern hemisphere)

<4> longitude dddmm.mmmm (in degrees) format (0 will also be transmitted)

<5> Longitude hemisphere E (longitude) or W (longitude)

<6> GPS Status: 0 = not positioned, 1 = non-differential positioning, 2 = differential positioning, 6 = Estimating

<7> number of satellites using the Solver location (00~12) (0 will also be transmitted)

<8> Hdop Horizontal accuracy factor (0.5~99.9)

<9> Altitude ( -9999.9~99999.9)

<10> the height of the Earth's ellipsoid to the geoid

<11> differential Time (the number of seconds from the last received differential signal, if not differential positioning will be empty)

<12> Differential Station ID number 0000~1023 (front 0 will also be transmitted if not differential positioning will be empty)

2. GPS DOP and Active Satellites (GSA) Current satellite information

$GPGSA, <1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3> <3>,<3>,<3>,<3>,<4>,<5>,<6>*hh<CR><LF>

<1> mode, m= Manual, A= automatic

<2> positioning type, 1 = no positioning, 2=2d positioning, 3=3d positioning

<3> PRN Code (pseudo-Random noise code), the satellite number being used to solve the position (01~32, 0 in front will also be transmitted).

<4> Pdop positional accuracy factor (0.5~99.9)

<5> Hdop Horizontal accuracy factor (0.5~99.9)

<6> Vdop Vertical accuracy factor (0.5~99.9)

3, GPS Satellites in View (GSV) visible satellite information

$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,... <4>,<5>,<6> <7>*hh<CR><LF>

<1> Total number of GSV statements

<2> GSV Number of this sentence

Total number of <3> visible satellites (00~12, 0 in front will also be transmitted)

<4> PRN Code (pseudo-Random Noise Code) (01~32, 0 in front will also be transmitted)

<5> satellite elevation (00~90度, 0 of the front will also be transmitted)

<6> satellite Azimuth (000~359度, front 0 will also be transmitted)

<7> signal-to-noise ratio (00~99db, empty when not tracking to satellites, 0 in front will also be transmitted)

Note:<4>,<5>,<6>,<7> information will be displayed in accordance with each satellite, each GSV statement can display up to 4 satellite information. Other satellite information will be output in the next sequence of NMEA0183 statements.

4, Recommended Minimum specific gps/transit data (RMC) Recommended location information

$GPRMC, <1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10> <11>,<12>*hh<CR><LF>

<1> UTC Time, Hhmmss (hours, minutes, seconds) format

<2> positioning status, a= effective positioning, v= invalid location

<3> latitude ddmm.mmmm (degree) format (0 of the preceding will also be transmitted)

<4> latitude Hemisphere n (Northern hemisphere) or S (Southern hemisphere)

<5> longitude dddmm.mmmm (in degrees) format (0 will also be transmitted)

<6> Longitude hemisphere E (longitude) or W (longitude)

<7> Ground Rate (000.0~999.9 section, front 0 will also be transmitted)

<8> Ground Course (000.0~359.9, with True north as reference, front 0 will also be transmitted)

<9> UTC date, Ddmmyy (Sun Moon Year) format

<10> declination (000.0~180.0, 0 of the front will also be transmitted)

<11> declination direction, E (east) or W (West)

<12> mode Indication (only NMEA0183 3.00 version output, a= autonomous positioning, d= differential, e= estimate, n= data not valid)

5. Track made good and Ground speed (VTG) ground velocity information

$GPVTG,<1>,t,<2>,m,<3>,n,<4>,k,<5>*hh<cr><lf>

<1> ground heading with True north as reference (000~359度, 0 in front will also be transmitted)

<2> ground heading with magnetic north as reference (000~359度, 0 in front will also be transmitted)

<3> Ground Rate (000.0~999.9 section, front 0 will also be transmitted)

<4> Ground Rate (0000.0~1851.8 km/h, front 0 will also be transmitted)

<5> mode Indication (only NMEA0183 3.00 version output, a= autonomous positioning, d= differential, e= estimate, n= data not valid)

6, geographic Position (GLL) Positioning Geographic Information

$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<cr><lf>

<1> latitude ddmm.mmmm (degree) format (0 of the preceding will also be transmitted)

<2> latitude Hemisphere n (Northern hemisphere) or S (Southern hemisphere)

<3> longitude dddmm.mmmm (in degrees) format (0 will also be transmitted)

<4> Longitude hemisphere E (longitude) or W (longitude)

<5> UTC Time, Hhmmss (hours, minutes, seconds) format

<6> positioning status, a= effective positioning, v= invalid location

<7> mode Indication (only NMEA0183 3.00 version output, a= autonomous positioning, d= differential, e= estimate, n= data not valid)

Two, Garmin-defined statements

7, estimated error information (PGRME) estimate errors information

$PGRME,<1>,m,<2>,m,<3>,m*hh<cr><lf>

<1> HPE (Level estimation error), 0.0~999.9 m

<2> VPE (vertical estimation error), 0.0~999.9 m

<3> EPE (position estimation error), 0.0~999.9 m

8, GPS fix data sentence (PGRMF) GPS positioning information

$PGRMF, <1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10> <11>,<12>,<13>,<14>,<15>*hh<CR><LF>

<1> GPS Week number (0~1023)

<2> GPS seconds (0~604799)

<3> UTC date, Ddmmyy (Sun Moon Year) format

<4> UTC Time, Hhmmss (hours, minutes, seconds) format

<5> number of GPs jump seconds

<6> latitude ddmm.mmmm (degree) format (0 of the preceding will also be transmitted)

<7> latitude Hemisphere n (Northern hemisphere) or S (Southern hemisphere)

<8> longitude dddmm.mmmm (in degrees) format (0 will also be transmitted)

<9> Longitude hemisphere E (longitude) or W (longitude)

<10> mode, m= Manual, A= automatic

<11> positioning type, 0 = no positioning, 1=2d positioning, 2=3d positioning

<12> Ground Rate (0~1851 km/h)

<13> Ground Course (000~359度, with True north as reference base)

<14> Pdop positional accuracy factor (0~9, rounded rounding)

<15> Tdop Time accuracy factor (0~9, rounding round rounding)

9. Map Datum (PGRMM) coordinate system Information

$PGRMM,<1>*hh<cr><lf>

<1> the name of the coordinate system currently in use (variable data length, such as "WGS 84")

Note: This information is used when connecting to Mapsource in real time.

10. Sensor status information (PGRMT) Working status information

$PGRMT,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh<cr> <LF>

<1> product model and software version (variable data length, e.g. "GPS 15l/15h VER 2.05")

<2> ROM Verification test, p= Pass, F= failed

<3> receiver discontinuous failure, p= pass, f= failure

<4> stored data, r= hold, L= lost

<5> clock Information, r= hold, L= lost

<6> oscillator discontinuous drift, p= Pass, f= detects excessive drift

<7> data is not continuous acquisition, c= is being collected, if no acquisition is empty

<8> GPS receiver temperature in degrees Celsius

<9> GPS receiver Configuration data, r= hold, L= lost

Note: This statement is sent once per minute, regardless of the baud rate selected.

11, 3D Velocity information (PGRMV) three-dimensional speed information

$PGRMV,<1>,<2>,<3>*hh<cr><lf>

<1> eastward speed, 514.4~514.4 m/s

<2> North Speed, 514.4~514.4 m/s

<3> up speed, 999.9~9999.9 m/s

12. DGPS Beacon Information (PGRMB) Beacon differential Information

$PGRMB, <1>,<2>,<3>,<4>,<5>,K,<6>,<7>,<8>*HH<CR><LF >

<1> Beacon Station Frequency (0.0,283.5~325.0khz, 0.5kHz interval)

<2> Beacon Bit Rate (0,25,50,100 or 200bps)

<3> Snr Beacon Signal-to-noise ratio (0~31)

<4> Beacon Data Quality (0~100)

Distance between <5> and Beacon station, in kilometers per unit

<6> Beacon Receiver Communication status, 0= check wiring, 1 = no signal, 2 = tuning, 3 = receiving, 4 = scanning in progress

<7> differential source, r=rtcm,w=waas,n= non-differential positioning

<8> differential State, a= Automatic, w= only for waas,r= only rtcm,n= does not receive differential signal

Any invalid number is replaced by an underscore.
NMEA-0183 Data Practical Examples:

NMEA-0183 data protocol is a more complex and diverse format, here are a few examples

The NMEA data is as follows:

$GPGGA, 121252.000,3937.3032,n,11611.6046,e,1,05,2.0,45.9,m,-5.7,m,,0000*77

$GPRMC, 121252.000,a,3958.3032,n,11629.6046,e,15.15,359.95,070306,,, a*54

$GPVTG, 359.95,t,,m,15.15,n,28.0,k,a*04

$GPGGA, 121253.000,3937.3090,n,11611.6057,e,1,06,1.2,44.6,m,-5.7,m,,0000*72

$GPGSA, a,3,14,15,05,22,18,26,,,,,,, 2.1,1.2,1.7*3d

$GPGSV, 3,1,10,18,84,067,23,09,67,067,27,22,49,312,28,15,47,231,30*70

$GPGSV, 3,2,10,21,32,199,23,14,25,272,24,05,21,140,32,26,14,070,20*7e

$GPGSV, 3,3,10,29,07,074,,30,07,163,28*7d

Description: The NMEA0183 format starts with "$" and the main statements are GPGGA,GPVTG,GPRMC etc.

1. GPS DOP and Active Satellites (GSA) Current satellite information

$GPGSA,<1>,<2>,<3>,<3>,,,,, <3>,<3>,<3>,<4>,<5>,<6> ,<7>

<1> mode: M = manual, A = Automatic.

<2> Positioning Type 1 = not positioned, 2 = two-dimensional positioning, 3 = three-dimensional positioning.

<3>PRN numbers: 01 to 32 table the satellite number in the sky, which can receive up to 12 satellite messages.

<4> Pdop positional accuracy factor (0.5~99.9)

<5> Hdop Horizontal accuracy factor (0.5~99.9)

<6> Vdop Vertical accuracy factor (0.5~99.9)

<7> Checksum. (check bit).

2, GPS Satellites in View (GSV) visible satellite information

$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6> <7>,<8>

<1> Total number of GSV statements

<2> GSV Number of this sentence

The total number of <3> visible satellites, 00 to 12.

<4> satellite number, 01 to 32.

<5> satellite elevation, 00-90 degrees.

<6> satellite azimuth, 000-359 degrees. The actual value.

<7> signal-to-noise ratio (c/no), 00 to + dB, no table not received signal.

<8>checksum. (check bit).

The individual satellites of section <4>,<5>,<6>,<7> will be repeated, with a maximum of four satellites per row. The rest of the satellite information will appear on the second line, and if not used, the fields will be blank.

3. Global positioning System Fix data (GGA) GPS location information

$GPGGA, <1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,m,<10> M,<11>,<12>*hh

<1> UTC Time, Hhmmss (hours, minutes, seconds) format

<2> latitude ddmm.mmmm (degree) format (0 of the preceding will also be transmitted)

<3> latitude Hemisphere n (Northern hemisphere) or S (Southern hemisphere)

<4> longitude dddmm.mmmm (in degrees) format (0 will also be transmitted)

<5> Longitude hemisphere E (longitude) or W (longitude)

<6> GPS Status: 0 = not positioned, 1 = non-differential positioning, 2 = differential positioning, 6 = Estimating

<7> number of satellites using the Solver location (00~12) (0 will also be transmitted)

<8> Hdop Horizontal accuracy factor (0.5~99.9)

<9> Altitude ( -9999.9~99999.9)

<10> the height of the Earth's ellipsoid to the geoid

<11> differential Time (the number of seconds from the last received differential signal, if not differential positioning will be empty)

<12> Differential Station ID number 0000~1023 (front 0 will also be transmitted if not differential positioning will be empty)

4, Recommended Minimum specific gps/transit data (RMC) Recommended location information

$GPRMC, <1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10> <11>,<12>*hh

<1> UTC Time, Hhmmss (hours, minutes, seconds) format

<2> positioning status, a= effective positioning, v= invalid location

<3> latitude ddmm.mmmm (degree) format (0 of the preceding will also be transmitted)

<4> latitude Hemisphere n (Northern hemisphere) or S (Southern hemisphere)

<5> longitude dddmm.mmmm (in degrees) format (0 will also be transmitted)

<6> Longitude hemisphere E (longitude) or W (longitude)

<7> Ground Rate (000.0~999.9 section, front 0 will also be transmitted)

<8> Ground Course (000.0~359.9, with True north as reference, front 0 will also be transmitted)

<9> UTC date, Ddmmyy (Sun Moon Year) format

<10> declination (000.0~180.0, 0 of the front will also be transmitted)

<11> declination direction, E (east) or W (West)

<12> mode Indication (only NMEA0183 3.00 version output, a= autonomous positioning, d= differential, e= estimate, n= data not valid)

5. Track made good and Ground speed (VTG) ground velocity information

$GPVTG, <1>,T,<2>,M,<3>,N,<4>,K,<5>*HH

<1> ground heading with True north as reference (000~359度, 0 in front will also be transmitted)

<2> ground heading with magnetic north as reference (000~359度, 0 in front will also be transmitted)

<3> Ground Rate (000.0~999.9 section, front 0 will also be transmitted)

<4> Ground Rate (0000.0~1851.8 km/h, front 0 will also be transmitted)

<5> mode Indication (only NMEA0183 3.00 version output, a= autonomous positioning, d= differential, e= estimate, n= data not valid)

For determining data accuracy and GPS stability, the location of the satellite is very important information. Since GPS precise reading will be described in detail in these two sections, then this section will mainly describe the satellite location and the intensity of the signal.

Satellites are orbiting for 24 hours, and at least six of them can be seen by the user at any time and in any location. Satellites constantly monitor the Earth, thus avoiding the presence of blind spots or places where satellites cannot see them. Like looking for stars in the sky, the satellite's position is represented as an azimuth and elevation. As mentioned earlier, the azimuth angle is measured directly horizontally. The elevation measurement is an angle to the horizontal plane, where 0 ° is horizontal and 90° is "zenith" (or overhead). Therefore, if the device says that the satellite has a azimuth of 45° and an elevation of 45°, then the satellite is now positioned in the horizontal northeast direction with a height of half the position. In addition, for satellite locations, the device reports "random pseudo-code" (PRC) for each satellite, which is used to uniquely identify a satellite.

Here is a statement about the $GPGSV:

$GPGSV, 3,1,10,24,82,023,40,05,62,285,32,01,62,123,00,17,59,229,28*70

Each statement contains four pieces of content, for example: The first part is "24,82,023,40", the second part is "05,62,285,32" and so on. The first word in each section is PRC, and the second word is satellite elevation, followed by azimuth and signal strength. If the satellite information is shown in a graph, then 1-1.

(Figure 1-1: A graphical representation of the $GPGSV statement, the center point is the current position, and the surrounding circle indicates the horizontal plane.) )

The most important indicator in this statement should be "Signal mania ratio (signal-to-noise ratio)" (hereinafter referred to as SNR). This value indicates the reception rate of the satellite signal.

We know that satellites emit signals at the same intensity, but they inevitably encounter obstacles such as trees and walls, which affect the identification of signals. The typical SNR value is between 0 and 50, where 50 represents a very good signal. (Snr can reach 99, but I've never seen more than 50 of the data.) )。

In Figure 1-1, the green satellite represents a strong signal, while the yellow satellite is medium (in the second part, I will provide a way to classify the signal intensity). The satellite # # signal was completely blocked.

NEMA protocol Detailed

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.