Recently engaged in GPS receivers, learn to view NMEA-0183 data protocolsCode
The NMEA data is as follows:
$ Gpgga, 121252.000, 3937.3032, N, 11611.6046, E, 2.0, 45.9, 5.7, M,-0000, M, * 77
$ Gprs mc, 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.2, 44.6, 5.7, M,-0000, M, * 72
$ Gpgsa, A, 3, 14, 15, 05, 2.1, 18, 26, 1.2, 1.7 * 3D
$ Gpgsv, 84,067, 67,067, 49,312, 47,231, 30*70
$ Gpgsv, 32,199, 25,272, 21,140, 14,070, 20 * 7E
$ Gpgsv, 07,074, * 7d
Note: The nmea0183 format starts with "$". The main statements include gpgga, gpvtg, and gpmc.
1. gps dop and active satellites (GSA) current satellite information
$ Gpgsa, <1>, <2>, <3>, <3>, <3>, <3>, <4>, <5>, <6>, <7>
<1> mode: M = manual, a = automatic.
<2> positioning type 1 = undetermined, 2 = 2D, 3 = 3D.
<3> PRN number: Number of the satellites used in the sky from Table 01 to Table 32. Up to 12 satellites can be received.
<4> position precision factor of pdop (0.5 ~ 99.9)
<5> hdop horizontal precision factor (0.5 ~ 99.9)
<6> vdop vertical precision 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> the number of GSV in this sentence
<3> total number of visible satellites: 00 to 12.
<4> Satellite Number, ranging from 01 to 32.
<5> satellite elevation, ranging from 00 to 90 degrees.
<6> satellite azimuth, ranging from 359 to degrees. The actual value.
<7> signal-to-noise ratio (C/no), 00 to 99 dB; no table does not receive signals.
<8> checksum. (check bit ).
<4>, <5>, <6>, <7> some satellites are repeated. Each row has a maximum of four satellites. Other satellite information will appear in the next row. if not used, these fields will be blank.
3. Global Positioning System Fix Data (GGA) GPS Positioning Information
$ Gpgga, <1 >,< 2 >,< 3 >,< 4 >,< 5 >,< 6 >,< 7 >,< 8 >,< 9>, m, <10>, M, <11>, <12> * hh
<1> UTC time, hhmmss (hour/minute/second) Format
<2> latitude ddmm. Mmmm (degree) format (the preceding 0 will also be transmitted)
<3> latitude hemisphere N (northern hemisphere) or S (Southern Hemisphere)
<4> longitude dddmm. Mmmm (degree) format (the preceding 0 will also be transmitted)
<5> longitude hemisphere E (eastern longitude) or W (Western longitude)
<6> GPS status: 0 = undetermined, 1 = non-differential positioning, 2 = differential positioning, 6 = estimating
<7> Number of satellites at the resolution position being used (00 ~ 12) (the previous 0 will also be transmitted)
<8> hdop horizontal precision factor (0.5 ~ 99.9)
<9> altitude (-9999.9 ~ 99999.9)
<10> height of the earth's elliptical sphere relative to the geolevel
<11> differential time (the number of seconds from the last time the difference signal was received. If the difference is not located, it will be blank)
<12> ID number of the differential substation: 0000 ~ 1023 (the previous 0 will also be transmitted, if not differential positioning will be blank)
4. recommended minimum specific GPS/transit data (RMC) recommended positioning information
$ Uplmc, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, <10>, <11>, <12> * hh
<1> UTC time, hhmmss (hour/minute/second) Format
<2> positioning status, A = valid, V = invalid
<3> latitude ddmm. Mmmm (degree) format (the preceding 0 will also be transmitted)
<4> latitude hemisphere N (northern hemisphere) or S (Southern Hemisphere)
<5> longitude dddmm. Mmmm (degree) format (the preceding 0 will also be transmitted)
<6> longitude hemisphere E (eastern longitude) or W (Western longitude)
<7> ground speed (000.0 ~ Section 999.9, the previous 0 will also be transmitted)
<8> ground heading (000.0 ~ 359.9 degrees. Based on the reference of zhenbei, the preceding 0 will also be transmitted)
<9> UTC date, in ddmmyy format
<10> magnetic angle (000.0 ~ 180.0 degrees, the previous 0 will also be transmitted)
<11> magnetic angle direction, E (East) or W (West)
<12> mode indication (output only in nmea0183 3.00, A = self-locating, D = differential, E = estimation, n = Invalid Data)
5. Track made good and ground speed (Vtg) ground speed information
$ Gpvtg, <1>, T, <2>, M, <3>, N, <4>, K, <5> * hh
<1> ground heading based on zhenbei (000 ~ 359 degrees, the previous 0 will also be transmitted)
<2> ground heading (000 ~ 359 degrees, the previous 0 will also be transmitted)
<3> ground speed (000.0 ~ Section 999.9, the previous 0 will also be transmitted)
<4> ground speed (0000.0 ~ 1851.8 km/hour, the front 0 will also be transmitted)
<5> mode indication (output only in nmea0183 3.00, A = self-locating, D = differential, E = estimation, n = Invalid Data)
The satellite location is very important for determining data accuracy and GPS stability. Since precise GPS reading will be detailed in these two sections, this section will mainly describe the satellite position and signal strength.
The satellites are moving around in orbit 24 hours a day. At least six satellites can be viewed by users at any time and any location. Satellites constantly monitor the Earth, so as to avoid blind spots or regions that cannot be seen by satellites. Just like searching for stars in the sky, the satellite position is represented as an azimuth and elevation. As described above, the azimuth angle is a direct horizontal measurement. The elevation measurement is the angle between the watermark and the horizontal plane. 0 ° indicates the watermark, and 90 ° indicates the "top of the Sky" (or the top of the head ). Therefore, if the device says that the azimuth angle of the satellite is 45 ° and the elevation is 45 °, the current position of the satellite is in the horizontal northeast direction, and the height is half. In addition, for the satellite location, the device reports the "random pseudocode" (PRC) of each satellite, which is used to uniquely identify a satellite.
Here is a statement about $ gpgsv:
$ Gpgsv, 82,023, 62,285, 62,123, 59,229, 28*70
Each statement contains four parts. For example, the first part is "24, 82, 023,40", and the second part is ", 32. The first word of each part is PRC, the second word is the satellite elevation, followed by the azimuth and signal strength. If the satellite information is displayed in graphs, 1-1 is used.
(Figure 1-1: $ gpgsv: a graphical representation of the statement. The center is the current position, and the circle around it marks the horizontal plane .)
The most important indicator in this statement is signal-to-noise ratio (SNR ). This value indicates the satellite signal reception rate. We know that a satellite emits signals at the same intensity, but it will inevitably encounter obstacles such as trees and walls during transmission, which affects signal recognition. The typical SNR value ranges from 0 to 50, where 50 indicates a very good signal. (The SNR can reach 99, but I have never seen more than 50 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 method to classify the signal strength ). The signal of satellite #1 is completely blocked.