Ionospheric delay correction information custom message encoding and decoding method and device
By fitting the ionosphere TEC model using low-order spherical harmonic function, and calculating and encoding the ionosphere delay correction model parameters, the impact of ionosphere delay on GNSS positioning is solved, and the effect of improving positioning accuracy is achieved.
Patent Information
- Application Number
- CN202111392009.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-19
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2041-11-19
AI Technical Summary
Ionospheric delay is one of the main error sources that affect GNSS positioning. If it is not corrected, it will seriously affect the positioning results.
By fitting the model function of the regional ionosphere TEC using low-order spherical harmonic function, the ionosphere delay correction model parameters are calculated and encoded into binary data streams, and broadcast to the user side through the network. After receiving and decoding, the user side can obtain accurate ionosphere delay correction information.
It effectively weakens the influence of ionosphere refraction and improves the positioning accuracy of the user side.
Smart Images

Figure CN114371490B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of global navigation satellite system (GNSS) differential data encoding and decoding, and in particular relates to an ionospheric delay correction information telegram encoding and decoding technology. Background Art
[0002] With the completion of my country's BeiDou-3 satellite navigation system, the Global Navigation Satellite System (GNSS) plays an important role in people's production and life. In order to meet the needs of high-precision differential GNSS positioning and applications, the 104th Professional Committee of the Radio Technical Commission for Maritime Services (RTCM) proposed the RTCM-SC104 standard GNSS differential signal format in November 1983 to provide services for DGNSS, and has continuously updated the version to date. At present, the more commonly used version is the RTCM3.2 data format, which reserves some custom information formats for users. Users can define the telegram format according to their own needs to enhance the accuracy, reliability and scalability of the system.
[0003] Ionospheric delay has always been one of the main error sources affecting GNSS positioning. If it is not corrected, it will seriously affect the positioning results. Summary of the invention
[0004] In order to solve the technical problems mentioned in the above background technology, the present invention proposes a method and device for encoding and decoding a custom message of ionospheric delay correction information, so as to weaken the influence of ionospheric refraction and improve the positioning accuracy of the user end.
[0005] In order to achieve the above technical objectives, the technical solution of the present invention is:
[0006] A method for encoding and decoding a custom message of ionospheric delay correction information comprises the following steps:
[0007] (1) Using low-order spherical harmonics to fit the model function of the regional ionospheric TEC, a set of ionospheric delay correction model parameters are calculated, including UTC time, ionospheric model coefficients, and solar longitude;
[0008] (2) Design and arrange the ionospheric delay correction information message format based on the calculated ionospheric delay correction model parameters;
[0009] (3) Split the ionospheric delay correction model parameters into integer and decimal parts, and encode the two parts of data according to the RTCM3.2 data format to form a binary data stream;
[0010] (4) Broadcast the generated binary data stream to users through the network using the TCP / IP protocol;
[0011] (5) After receiving the real-time data, the user end decodes the integer part and the decimal part according to the RTCM3.2 data format, and then recovers the accurate ionospheric delay correction information.
[0012] Furthermore, in step (1), the model function of the regional ionospheric TEC fitted by low-order spherical harmonics is as follows:
[0013]
[0014] θ=λ-λ 0
[0015] Where VTEC is the total electron content in the vertical direction, is the fully normalized Legendre function of order n and degree m, n max is the highest expansion order, n is the expansion order, m is the number of expansions, θ is the day-solid longitude of the puncture point, λ 0 is the solar longitude, A mn , B mn are the ionospheric model coefficients, λ and are the longitude and latitude of the puncture point respectively.
[0016] Furthermore, in step (2), the ionospheric delay correction model parameters are split into an integer part and a decimal part, and the decimal part is expanded by 2 α times to an integer, 2 α The times is called the resolution of the decimal part, and the two parts of data are encoded separately to form a binary data stream; the key to the design of the ionospheric correction information message format is to determine the length of each field and the resolution of the floating-point data variable.
[0017] Furthermore, the specific ionospheric correction information message format is designed as follows:
[0018] UTC times are all positive integers, defined using uint integer fields, and the length is selected based on the time value range;
[0019] The ionospheric model coefficients are positive or negative and are defined using a 14-bit int integer field. The resolution of the decimal part is 2. -12 , corresponding to the definition of an int integer field with a length of 13 bits;
[0020] The value of the solar longitude can be positive or negative, and is defined using a 10-bit int integer field; the resolution of the decimal part is 2 -15, corresponding to the definition of an int integer field with a length of 16 bits.
[0021] Furthermore, in step (3), the splitting rule of the ionospheric model coefficients is as follows:
[0022] Integer_Ion=Int[Ion]
[0023] Fraction_Ion=Int[(Ion-Integer_Ion) / 2 -12 ]
[0024] Among them, Ion is the ionospheric model coefficient, Integer_Ion is the field for rounding the integer part, Fraction_Ion is the field for rounding the decimal part, and Int[] is the rounding function;
[0025] The splitting rules of solar longitude are as follows:
[0026] Integer_SolarLon=Int[SolarLon]
[0027] Fraction_SolarLon=Int[(SolarLon-Integer_SolarLon) / 2 -15 ]
[0028] Among them, SolarLon is the solar longitude, Integer_SolarLon is the field for rounding the integer part, and Fraction_SolarLon is the field for rounding the decimal part;
[0029] The integer fields of UTC time, ionospheric model coefficients, and solar longitude are converted into binary data, thus realizing the encoding of ionospheric correction information.
[0030] Furthermore, after the ionospheric correction information is encoded, a message header is added to the message, the message header includes a guide word 11010011, a reserved word 000000 and a message length, and a 24-bit CRC check code is generated according to the message header, thereby completing the encoding of the ionospheric correction information message.
[0031] Further, in step (5), the user end reads the binary data byte by byte, finds the guide word 11010011, and determines whether the last 6 bits are the reserved word 000000, reads the message length, reads the last 24 bits of CRC check code according to the message length, and determines whether the CRC check passes. If the check passes, the message content is parsed to restore the ionospheric delay correction model parameters.
[0032] Furthermore, the recovery rules of the ionospheric model coefficients are as follows:
[0033] Ion=Integer_Ion+Fraction_Ion*2 -12
[0034] The rules for recovering the solar longitude are as follows:
[0035] SolarLon=Integer_SolarLon+Fraction_SolarLon*2 -15 .
[0036] Furthermore, in step (4), the encoded real-time binary data stream is sent to the user end via the network through a server with a fixed IP address.
[0037] A device for encoding and decoding a custom message of ionospheric delay correction information comprises a memory, a processor, and a computer program stored in the memory and running on the processor. When the computer program is loaded into the processor, the method for encoding and decoding a custom message of ionospheric delay correction information is implemented.
[0038] The beneficial effects brought by adopting the above technical solution are:
[0039] Based on the interpretation of the RTCM protocol standard, the present invention encodes the correction parameters calculated by the regional ionospheric model into a binary data stream according to some custom messages reserved in the RTCM3.2 version, and broadcasts it to users through a network protocol, so that users can obtain high-precision correction parameters without establishing a regional ionospheric model, effectively weakening the influence of ionospheric refraction and improving the positioning accuracy of the user end. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 The following is a flow chart of the overall method;
[0041] Figure 2 Flowchart for encoding ionospheric correction information message;
[0042] Figure 3 Flowchart for decoding ionospheric correction information message;
[0043] Figure 4 is the error distribution diagram of ionospheric model coefficients α1, α2, and α3;
[0044] Figure 5 is the error distribution diagram of ionospheric model coefficients α4, α5, and α6;
[0045] Figure 6 This is the distribution diagram of the solar longitude error of the ionosphere model. DETAILED DESCRIPTION
[0046] The technical solution of the present invention will be described in detail below with reference to the accompanying drawings.
[0047] The present invention proposes a method for encoding and decoding a custom message of ionospheric delay correction information. Firstly, a model function of a regional ionospheric TEC is fitted by using a low-order spherical harmonic function to calculate a set of ionospheric correction model parameters, which are UTC time, ionospheric model coefficients and solar longitude. Then, the calculated ionospheric delay correction model parameters are encoded according to a custom message format to form a binary data stream, and the data stream is sent to a user through a server with a fixed IP address by using network communication. After the user receives the real-time binary data stream, the user decodes it according to the custom message format to finally obtain high-precision ionospheric correction information parameters.
[0048] Figure 1 This is a flow chart of a method for encoding and decoding a custom message of ionospheric delay correction information based on the RTCM3.2 data format disclosed in this embodiment. The detailed process of this embodiment is as follows:
[0049] In the first step, by fitting the model function of the regional ionospheric TEC using low-order spherical harmonics, a set of ionospheric correction model parameters are calculated, namely UTC time, ionospheric model coefficients and solar longitude.
[0050]
[0051] θ=λ-λ 0 (2)
[0052] The above formula is the model function that uses low-order spherical harmonics to fit the regional ionospheric TEC.
[0053] In the formula, VTEC (Vertical Total Electron Content) is the vertical TEC, STEC (Slant Total Electron Content) is the satellite line of sight TEC, MF is the projection function, is the fully normalized Legendre function of order n and degree m, n max is the highest expansion order, n is the expansion order, m is the number of expansions, θ is the day-solid longitude of the puncture point, λ 0 is the solar longitude, A mn , B mn are the ionospheric model coefficients, λ and They are the latitude and longitude of the pierce point (Ionospheric Pierce Point, IPP), that is, the location where the GNSS signal passes through the ionosphere.
[0054] The second step is to encode the ionospheric correction information and convert the integer fields of UTC time, ionospheric model coefficients, and solar longitude into binary data.
[0055] The message number selection range in the RTCM3.2 protocol standard is 0 to 4095, of which 1001-1230 and 4001-4095 have been defined, so the message number is 2000, which is not used in the RTCM3.2 protocol standard. UTC times are all positive integers, defined using uint (unsigned integer) integer fields, and the appropriate length is selected based on the time value range. The ionospheric model coefficients are both positive and negative, and the value range generally does not exceed ±8191, and are defined using int (signed integer) integer fields with a length of 14 bits. The decimal part of the ionospheric model coefficient is generally taken as 0.001, and the resolution of the decimal part is required to be less than 0.0005, so the resolution of the decimal part is selected as 2. -12 (approximately: 0.000244), corresponding to the use of a 13-bit int integer field definition, to ensure that the ionospheric model coefficients can remain accurate after encoding and decoding. The solar longitude can be positive or negative, and the range is generally not more than ±360°, using a 10-bit int integer field definition. The decimal part of the solar longitude is generally taken to 0.0001, and the resolution of the decimal part is required to be less than 0.00005, so the resolution of the decimal part is selected as 2 -15 (approximately: 0.000031), corresponding to the definition of an int integer field with a length of 16 bits.
[0056] By arranging the message according to the above design, high-precision ionospheric delay correction information can be correctly encoded and decoded.
[0057] The parameter splitting rules of the ionosphere model are as follows:
[0058] Integer_Ion=Int[Ion] (3)
[0059] Fraction_Ion=Int[(Ion-Integer_Ion) / 2 -12 ] (4)
[0060] Where Ion is the ionospheric model coefficient, Integer_Ion is the field for rounding the integer part, Fraction_Ion is the field for rounding the decimal part, and Int[] is the rounding function.
[0061] The solar longitude splitting rules are as follows:
[0062] Integer_SolarLon=Int[SolarLon] (5)
[0063] Fraction_SolarLon=Int[(SolarLon-Integer_SolarLon) / 2 -15] (6)
[0064] Where SolarLon is the solar longitude, Integer_SolarLon is the field for rounding the integer part, Fraction_SolarLon is the field for rounding the decimal part, and Int[] is the rounding function.
[0065] The ionospheric model coefficients and solar longitude are split in the same way. First, split the data into integers and decimals, and divide the decimals by the resolution defined above. -12 , 2 -15 After rounding, the floating-point data ionospheric model coefficients and solar longitude are split into two integer fields.
[0066] After the ionospheric correction information is encoded, the guide word 11010011, the reserved word 000000 and the message length are added to the message. Finally, a 24-bit CRC check code is generated according to the message header (i.e., the guide word, the reserved word and the message length). The encoding of the ionospheric correction information message is now completed. The encoding flow chart is shown in Figure 2 .
[0067] The third step is to encode the real-time binary data stream and broadcast it to users via the network through a server with a fixed IP address.
[0068] Step 4: After the user obtains the real-time binary data stream, first read the binary data by byte, find the guide word 11010011, and determine whether the last 6 bits are the reserved word 000000, read the message length, read the last 24 bits of CRC check code according to the message length, and determine whether the CRC check passes, and finally parse the message content to obtain the integer field of the ionospheric model parameters, and decode the ionospheric model parameters according to the ionospheric model parameter recovery rules. See the decoding flow chart. Figure 3 The parameter recovery rules of the ionospheric model are as follows:
[0069] Ion=Integer_Ion+Fraction_Ion*2 -12 (7)
[0070] Where Ion is the ionospheric model coefficient, Integer_Ion is the field where the integer part is rounded, and Fraction_Ion is the field where the decimal part is rounded.
[0071] The rules for recovering the solar longitude are as follows:
[0072] SolarLon=Integer_SolarLon+Fraction_SolarLon*2 -15 (8)
[0073] SolarLon is the solar longitude, Integer_SolarLon is the field for rounding the integer part, and Fraction_SolarLon is the field for rounding the decimal part.
[0074] According to the above formula, the integer fields of the ionospheric model coefficients and the fractional part of the solar longitude obtained by the analysis are multiplied by the resolution defined above 2 -12 , 2 -15 Recovering it to a decimal and adding it to the integer obtained by analysis will decode it into the accurate ionospheric model coefficients and solar longitude.
[0075] The present invention also proposes a device for encoding and decoding a custom message of ionospheric delay correction information, comprising a memory, a processor, and a computer program stored in the memory and running on the processor. When the computer program is loaded into the processor, the method for encoding and decoding a custom message of ionospheric delay correction information is implemented.
[0076] Experimental verification:
[0077] In order to verify the correctness of the custom message encoding and decoding method of ionospheric delay correction information based on RTCM3.2 data format disclosed in the present invention, the ionospheric correction information generated in real time on a certain day in July 2020 is used as an example to verify the algorithm. The TECService software independently developed by my laboratory uses CORS real-time data and establishes a regional ionospheric TEC spherical harmonic function model based on Kalman filtering. The high-precision ionospheric correction information obtained is the original reference data, and is encoded in real time to generate a binary data stream, which is broadcast to users through the network using the TCP / IP protocol for real-time use.
[0078] After receiving the binary data stream, the user end decodes it into ionospheric correction information in real time and compares the result with the original reference data before encoding and decoding. The UTC time is kept consistent. Due to the decimal part of the ionospheric model coefficient and the solar longitude, errors are inevitable in the encoding and decoding process. The errors are as follows: Figure 4 , Figure 5 and Figure 6 shown.
[0079] Depend on Figure 4 , Figure 5 and Figure 6 It can be seen that after encoding, transmission and decoding, the errors of ionospheric model coefficients α1, α2, and α3 are within ±0.001, the errors of ionospheric model coefficients α4, α5, and α6 are also within ±0.001, and the error of solar longitude is within ±0.0001, all of which are within the allowable error range. Therefore, the custom message encoding and decoding method for ionospheric delay correction information based on the RTCM3.2 data format disclosed in the present invention is feasible and has reliable accuracy.
[0080] The embodiments are only for illustrating the technical idea of the present invention and cannot be used to limit the protection scope of the present invention. Any changes made on the basis of the technical solution in accordance with the technical idea proposed by the present invention shall fall within the protection scope of the present invention.
Claims
1. A method for encoding and decoding a custom message of ionospheric delay correction information. It is characterized in that The following steps are involved: (1) Using low-order spherical harmonics to fit the model function of the regional ionospheric TEC, a set of ionospheric delay correction model parameters are calculated, including UTC time, ionospheric model coefficients, and solar longitude; (2) Design and arrange the ionospheric delay correction information message format based on the calculated ionospheric delay correction model parameters; (3) Split the ionospheric delay correction model parameters into integer and decimal parts, and encode the two parts of data according to the RTCM3.2 data format to form a binary data stream; (4) Broadcast the generated binary data stream to users through the network using the TCP / IP protocol; (5) After receiving the real-time data, the user end decodes the integer and decimal parts according to the RTCM3.2 data format, and then recovers the accurate ionospheric delay correction information; In the step (2), the ionospheric delay correction model parameters are split into an integer part and a decimal part, and the decimal part is expanded by 2 α times to an integer, 2 α Times is called the resolution of the decimal part, and the two parts of data are encoded separately to form a binary data stream; The key to the design of the ionospheric correction information message format is to determine the length of each field and the resolution of floating-point data variables; The specific ionospheric correction information message format in step (2) is designed as follows: UTC times are all positive integers, defined using uint integer fields, and the length is selected based on the time value range; The ionospheric model coefficients are positive or negative and are defined using a 14-bit int integer field. The resolution of the decimal part is 2. -12 , corresponding to the definition of an int integer field with a length of 13 bits; The value of the solar longitude can be positive or negative, and is defined using a 10-bit int integer field; the resolution of the decimal part is 2 -15 , corresponding to the definition of an int integer field with a length of 16 bits.
2. According to the ionospheric delay correction information custom message encoding and decoding method described in claim 1, It is characterized in that In step (1), the model function of the regional ionospheric TEC fitted by low-order spherical harmonics is as follows: θ=λ-λ 0 Where VTEC is the total electron content in the vertical direction, is the fully normalized Legendre function of order n and degree m, n max is the highest expansion order, n is the expansion order, m is the number of expansions, θ is the day-solid longitude of the puncture point, λ 0 is the solar longitude, A mn , B mn are the ionospheric model coefficients, λ and are the longitude and latitude of the puncture point respectively.
3. According to the ionospheric delay correction information custom message encoding and decoding method described in claim 1, It is characterized in that In step (3), the splitting rule of the ionospheric model coefficients is as follows: Integer_Ion=Int[Ion] Fraction_Ion=Int[(Ion-Integer_Ion) / 2 -12 ] Among them, Ion is the ionospheric model coefficient, Integer_Ion is the field for rounding the integer part, Fraction_Ion is the field for rounding the decimal part, and Int[] is the rounding function; The splitting rules of solar longitude are as follows: Integer_SolarLon=Int[SolarLon] Fraction_SolarLon=Int[(SolarLon-Integer_SolarLon) / 2 -15 ] Among them, SolarLon is the solar longitude, Integer_SolarLon is the field for rounding the integer part, and Fraction_SolarLon is the field for rounding the decimal part; The integer fields of UTC time, ionospheric model coefficients, and solar longitude are converted into binary data, thus realizing the encoding of ionospheric correction information.
4. According to the method for encoding and decoding the ionospheric delay correction information user-defined message of claim 3, It is characterized in that After the ionospheric correction information is encoded, a message header is added to the message. The message header includes a guide word 11010011, a reserved word 000000 and a message length. A 24-bit CRC check code is generated according to the message header, thereby completing the encoding of the ionospheric correction information message.
5. According to the method for encoding and decoding the ionospheric delay correction information user-defined message according to claim 4, It is characterized in that In step (5), the user end reads the binary data byte by byte, finds the guide word 11010011, and determines whether the last 6 bits are the reserved word 000000, reads the message length, reads the last 24 bits of CRC check code according to the message length, and determines whether the CRC check passes. If the check passes, the message content is parsed to restore the ionospheric delay correction model parameters.
6. According to the method for encoding and decoding the ionospheric delay correction information user-defined message of claim 5, It is characterized in that The recovery rules of the ionospheric model coefficients are as follows: Ion=Integer_Ion+Fraction_Ion*2 -12 The rules for recovering the solar longitude are as follows: SolarLon=Integer_SolarLon+Fraction_SolarLon*2 -15 。 7. The method for encoding and decoding a custom message of ionospheric delay correction information according to claim 1, It is characterized in that In step (4), the encoded real-time binary data stream is sent to the user end via the network through a server with a fixed IP address.
8. A device for encoding and decoding a custom message of ionospheric delay correction information, Features: The invention comprises a memory, a processor and a computer program stored in the memory and running on the processor, wherein when the computer program is loaded into the processor, the method for encoding and decoding a custom message of ionospheric delay correction information according to any one of claims 1 to 7 is implemented.