[B] GGA, GlL, GSA, GSV, RMC, and Vtg interpretation of GPS 0183 Protocol [/B] [/size] [u] GGA, GlL, GSA, GSV, RMC and Vtg: [/u] [/color] $ Gpgga Example: $ gpgga, 092204.999, 4250.5589, S, 14718.5084, E, 24.4, 19.7, 0000, M, * 1f Field 0: $ gpgga, statement ID, indicating that the statement is Global Positioning System Fix Data (GGA) GPS location information Field 1: UTC time, hhmmss. Sss, in the format of hour/minute/second Field 2: latitude ddmm. Mmmm, degree score format (add 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 score format (add 0 if the number of leading digits is insufficient) Field 5: longitude E (eastern longitude) or W (Western longitude) Field 6: GPS status, 0 = undetermined, 1 = non-differential positioning, 2 = differential positioning, 3 = Invalid PPS, 6 = being estimated 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 elliptical sphere relative to the geolevel Field 11: differential time (the number of seconds from the last time the differential signal was received. If it is not a differential signal, it will be blank) Field 12: ID of the differential substation: 0000-1023 (0 is added if the number of leading digits is insufficient. Otherwise, the differential positioning will be blank) Field 13: Check Value$ Gpgll Example: $ gpgll, 4250.5589, S, 14718.5084, E, 092204.999, A * 2D Field 0: $ gpgll, statement ID, indicating that the statement is geographic position (GlL) Location Information Field 1: latitude ddmm. Mmmm, degree score format (add 0 if the number of leading digits is insufficient) Field 2: latitude N (north latitude) or S (south latitude) Field 3: longitude dddmm. Mmmm, degree score format (add 0 if the number of leading digits is insufficient) Field 4: longitude E (eastern longitude) or W (Western longitude) Field 5: UTC time, hhmmss. Sss format Field 6: Status, A = positioning, V = uncertain Field 7: Check Value $ Gpgsa Example: $ gpgsa, A, 40.4, 20, 19, 13, 24.4, 32.2 * 0a Field 0: $ gpgsa, statement ID, indicating the current satellite information of gps dop and active satellites (GSA) Field 1: positioning mode, a = Automatic manual 2D/3d, M = manual 2D/3D Field 2: positioning type, 1 = undetermined, 2 = 2D, 3 = 3D Field 3: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 1st channel (00) (0 if the number of leading digits is insufficient) Field 4: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 2nd channel (00) (0 if the number of leading digits is insufficient) Field 5: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 3rd channel (00) (0 if the number of leading digits is insufficient) Field 6: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 4th channel (00) (0 if the number of leading digits is insufficient) Field 7: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 5th channel (00) (0 if the number of leading digits is insufficient) Field 8: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 6th channel (00) (0 if the number of leading digits is insufficient) Field 9: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 7th channel (00) (0 if the number of leading digits is insufficient) Field 10: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 8th channel (00) (0 if the number of leading digits is insufficient) Field 11: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 9th channel (00) (0 if the number of leading digits is insufficient) Field 12: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 10th channel (00) (0 if the number of leading digits is insufficient) Field 13: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 11th channel (00) (0 if the number of leading digits is insufficient) Field 14: PRN code (Pseudo-Random Noise Code), number of the satellite PRN code used by the 12th channel (00) (0 if the number of leading digits is insufficient) Field 15: pdop comprehensive position precision 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: Check Value $ Gpgsv Example: $ gpgsv, 78,331, 59,235, 41,069, * 70 Field 0: $ gpgsv, statement ID, indicating that the statement is GPS satellites in view (GSV) Visible satellite information Field 1: Total number of GSV statements (1-3) Field 2: The number of GSV statements in this GSV statement (1-3) Field 3: Total number of visible satellites (00-12) (0 if the number of leading digits is insufficient) Field 4: PRN code (Pseudo-Random Noise Code) (01-32) (add 0 if the number of leading digits is insufficient) Field 5: Satellite elevation (00-90) degree (0 if the number of leading digits is insufficient) Field 6: Satellite azimuth (00-359) degree (0 if the number of leading digits is insufficient) Field 7: signal-to-noise ratio (00-99) dbhz Field 8: PRN code (Pseudo-Random Noise Code) (01-32) (0 if the number of leading digits is insufficient) Field 9: Satellite elevation (00-90) degree (0 if the number of leading digits is insufficient) Field 10: Satellite azimuth (00-359) degree (0 if the number of leading digits is insufficient) Field 11: signal-to-noise ratio (00-99) dbhz Field 12: PRN code (Pseudo-Random Noise Code) (01-32) (add 0 if the number of leading digits is insufficient) Field 13: Satellite elevation (00-90) degree (0 if the number of leading digits is insufficient) Field 14: Satellite azimuth (00-359) degree (0 if the number of leading digits is insufficient) Field 15: signal-to-noise ratio (00-99) dbhz Field 16: Check Value $ Uplmc Example: $ gprs mc, 024813.640, A, 3158.4608, N, 11848.3737, E, 10.05, 324.27, 150706, A * 50 Field 0: $ uplmc, statement ID, indicating that the statement is the minimum location information recommended by recommended minimum specific GPS/transit data (RMC ). Field 1: UTC time, hhmmss. Sss format Field 2: Status, A = positioning, V = uncertain Field 3: latitude ddmm. Mmmm, degree score format (add 0 if the number of leading digits is insufficient) Field 4: latitude N (north latitude) or S (south latitude) Field 5: longitude dddmm. Mmmm, degree score format (add 0 if the number of leading digits is insufficient) Field 6: longitude E (eastern longitude) or W (Western longitude) Field 7: speed, section, knots Field 8: azimuth, Degree Field 9: UTC date, in ddmmyy format Field 10: Magnetic offset (180-) (0 if the number of leading digits is insufficient) Field 11: Magnetic angle direction, E = east W = West Field 16: Check Value $ Gpvtg Example: $ gpvtg, 89.68, T, M, 0.00, N, 0.0, K * 5f Field 0: $ gpvtg, statement ID, indicating that the statement is track made good and ground speed (Vtg) ground speed information Field 1: motion angle, 000-359 (0 if the number of leading digits is insufficient) Field 2: t = zhenbei Reference System Field 3: motion angle, 000-359 (0 if the number of leading digits is insufficient) Field 4: M = magnetic north Frame Field 5: horizontal speed (0.00) (0 if the number of leading digits is insufficient) Field 6: N = Section, knots Field 7: horizontal speed (0.00) (0 if the number of leading digits is insufficient) Field 8: K = km/hour, km/h Field 9: Check Value [U] common functions to be implemented in software in actual use [/u] [/color] In current handheld projects, a normal positioning or navigation system basically provides the following functions: Read current Coordinate Message used: recommended minimum specific GPS/transit data (RMC) recommended location information Read Speed Packet used: track made good and ground speed (Vtg) ground speed information Read direction Packet used: track made good and ground speed (Vtg) ground speed information -- Note: When calculating the speed and direction, you must note that the GPS receiver does not simply subtract the two coordinates for calculation, but uses the Doppler effect for processing, in practical applications, the calculation of speed and direction will be delayed a little later, because the signal is received once every second, and the calculation of direction will be weighted based on the direction of the previous few seconds. Number and status of satellites read Use message: GPS satellites in view (GSV) to view satellite information Gps dop and active satellites (GSA) current satellite information [U] GPS error [/u] [/color] There are many factors that will affect the accuracy of GPS. The following is a simplified GPS error introduction table: Satellite clock error: 0-1.5 meters Satellite orbital error: 1-5 meters The error introduced by the electron sphere: 0-30 meters Error introduced in the atmosphere: 0-30 meters Noise of the receiver itself: 0-10 meters Multi-channel reflection: 0-1 meters Total Positioning Error: about 28 meters The preceding simplified table does not mean that such a large error exists. This is the best and worst range given. Of course, the best case cannot happen at the same time, and the worst case cannot happen at the same time. In the satellite navigation text, we have included correction parameters in the atmosphere, which can eliminate errors from 50% to 70%, in addition, the approximate range of GPS error in the past two years is 10 meters or less. In the current situation, it is impossible for a single GPS receiver of the civil level to achieve a precision of less than 1 m, except for the GPS precision, it also includes map, positioning point ing, and embedded device operation speed. Therefore, excessive pursuit of positioning accuracy has no practical significance for civil products. [U] GPS drift [/u] [/color] Drift is one of the problems that need to be addressed during GPS navigation. There are two main aspects of drift: first, the speed is too fast, so that the response time of GPS is shorter than the current running speed, causing drift; second, in dense buildings or poor weather conditions, GPS signals are converted and reflected many times, causing signal errors and drift. To solve GPS drift, we can start from two aspects: 1. The design of the main system mainly reduces interference to GPS signals at close distance. 2. software processing. Software processing is mainly completed in the navigation software, and the navigation software will position the coordinates within the road. If the signal received by GPS exceeds the radius of the road, the system will automatically filter the data, calculate the position of the current vertex based on the previous speed and direction. Software judgment is also recommended for static drift: 1. When the detected status is static, the Force speed is 0; 2. When the speed is 0, the force direction is 0; 3. When the speed value in the data is 0, the latitude and longitude of the map will not be updated; 4. Compare the absolute value (including time) of the longitude and latitude difference of the last positioned data to determine whether there is a slow movement; In addition, some GPS modules can set static mode, walking mode, vehicle mode, sea mode, and flight mode. These parameters are used to solve the Drift Problem. |