Ephemeris prediction method and device
Through the server's prediction and encoding of satellite orbit and clock difference data, the amount of data propagation of ephemeris parameters is reduced, and the positioning efficiency and calculation efficiency of terminal equipment are improved.
Patent Information
- Application Number
- CN202110097826.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-25
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2041-01-25
AI Technical Summary
In the prior art, when the terminal device is positioned by broadcasting ephemeris parameters, the amount of parameter broadcast data is large, resulting in low positioning efficiency.
The server obtains EOP data and historical ephemeris data to predict satellite orbits and clock differences, fits orbit parameters and clock differences parameters and coding, reduces the amount of data, and broadcasts it to the terminal device in encoding form.
It effectively reduces the amount of data propagation of ephemeris parameters, improves positioning efficiency, and reduces the calculation amount and power consumption of terminal equipment.
Smart Images

Figure CN114791613B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of satellite navigation technology, and in particular to a method and device for ephemeris prediction. Background Art
[0002] Currently, terminal positioning requires the use of the Global Navigation Satellite System (GNSS). Specifically, the terminal device obtains the predicted orbit and predicted clock error from the server through a network request, and then performs positioning based on the predicted orbit and predicted clock error.
[0003] The server uses broadcast ephemeris parameters to broadcast the predicted orbit and clock error to the terminal device. The broadcast ephemeris parameters are large in size, which results in a large amount of data being broadcasted. Summary of the Invention
[0004] The embodiments of the present application provide a method and apparatus for ephemeris prediction, which can effectively reduce the amount of ephemeris parameter broadcast data.
[0005] In a first aspect, an embodiment of the present application provides an ephemeris prediction method, which is applied to a server, and the method includes: obtaining EOP data and historical ephemeris data for a preset time period; performing satellite orbit prediction and satellite clock error prediction based on the EOP data and historical ephemeris data to obtain a predicted orbit and predicted clock error for a future preset time period; after fitting the predicted orbit into orbital parameters, encoding the orbital parameters of satellites belonging to the same orbital plane to obtain an orbital parameter code for each orbital plane; after fitting the predicted clock error into clock error parameters, encoding the clock error parameters to obtain a clock error parameter code; and sending the ephemeris parameter code to a terminal device, the ephemeris parameter code including the clock error parameter code and the orbital parameter code for each orbital plane.
[0006] Based on the above technical solution, after fitting the predicted orbit segments into orbital parameters, the server encodes the orbital parameters based on the orbital plane to obtain the orbital parameter code for each orbital plane, and finally broadcasts it in the form of ephemeris parameter code, effectively reducing the amount of parameter broadcast data.
[0007] In some possible implementations of the first aspect, the process of performing satellite orbit prediction and satellite clock error prediction based on EOP data and historical ephemeris data to obtain the predicted orbit and predicted clock error for a preset future time period may include:
[0008] Satellite orbit prediction is performed based on satellite orbit data and EOP data to obtain the predicted orbit for a preset time period in the future;
[0009] Predict the clock error based on the satellite clock error data to obtain the predicted clock error for a preset time period in the future;
[0010] Among them, historical ephemeris data includes satellite orbit data and satellite clock error data.
[0011] In some possible implementations of the first aspect, the process of performing satellite orbit prediction based on satellite orbit data and EOP data to obtain a predicted orbit for a preset future time period may include:
[0012] According to the EOP data, the satellite position information in the earth-fixed system in the satellite orbit data is converted into the satellite position information in the inertial system;
[0013] According to the correspondence between satellite type and solar pressure model, the target solar pressure model used by each satellite in the satellite orbit data is determined;
[0014] Based on the target solar pressure model of each satellite and the satellite position information in the inertial system, the satellite motion equation and variational equation of each satellite are established;
[0015] Based on the satellite motion equation and variational equation of each satellite, the reference orbit position and state transfer matrix of each satellite at each moment are obtained by using numerical integration method;
[0016] Based on the satellite orbit data, reference orbit position and state transfer matrix, the satellite orbit state parameters of each satellite at the reference time are obtained by the least squares global solution method;
[0017] According to the satellite orbit state parameters at the reference time and the satellite dynamics model, the satellite orbit in the future preset time period is obtained by numerical integration;
[0018] According to the EOP data, the satellite orbit for the future preset time period is converted from the inertial system to the earth-fixed system to obtain the predicted orbit for the future preset time period.
[0019] In this satellite orbit prediction process, different solar pressure models are used for different types of satellites, which improves the accuracy of satellite orbit prediction.
[0020] In some possible implementations of the first aspect, the correspondence between the satellite type and the solar pressure model may include:
[0021] The solar pressure model corresponding to GPS satellites or GLNOSS satellites is: ECOM5 parameter model;
[0022] The solar pressure models corresponding to the Galileo satellites are: box-wing initial solar pressure model and ECOM5 parameter model;
[0023] The solar pressure model corresponding to the BeiDou GEO satellite is: initial solar pressure model, ECOM5 parameter model and periodic empirical acceleration parameters;
[0024] The solar pressure models corresponding to the QZSS satellite are: initial solar pressure model and ECOM5 parameter model.
[0025] In some possible implementations of the first aspect, the satellite orbit data may include two consecutive days of precise orbit products. Here, the optimal fit duration is set to two days to more accurately estimate satellite orbit dynamic parameters, further improving satellite orbit prediction accuracy.
[0026] In some possible implementations of the first aspect, the process of performing clock error prediction based on satellite clock error data to obtain a predicted clock error for a preset future time period may include:
[0027] Based on the broadcast ephemeris clock error data, the reference deviation of the precise ephemeris clock error data is corrected to obtain the corrected precise ephemeris clock error data. The satellite clock error data includes the broadcast ephemeris clock error data and the precise ephemeris clock error data.
[0028] The single-day clock velocity of each satellite is obtained by fitting the single-day clock error data in the corrected precise ephemeris clock error data of each satellite.
[0029] Based on the single-day clock speed of each satellite, the clock speed time series of each satellite is obtained;
[0030] According to the clock speed time series of each satellite, the clock speed change rate of each satellite is obtained by fitting;
[0031] Based on the initial value of the clock error, clock speed and clock speed change rate of each satellite, the predicted clock error of each satellite in the future preset time period is obtained.
[0032] In the satellite clock error prediction process, the broadcast ephemeris clock error data is used to correct the benchmark deviation of the precise ephemeris clock error data, and then the corrected precise ephemeris clock error data is used for clock error prediction, which can further improve the reliability and accuracy of the satellite clock error prediction.
[0033] In some possible implementations of the first aspect, the process of correcting the reference deviation of the precise ephemeris and clock error data based on the broadcast ephemeris and clock error data to obtain the corrected precise ephemeris and clock error data may include:
[0034] Difference the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence of the same epoch to obtain a difference sequence for each epoch, wherein the broadcast ephemeris clock error data includes the broadcast ephemeris clock error sequence of each epoch, and the precise ephemeris clock error data includes the precise ephemeris clock error sequence of each epoch;
[0035] Determine the mean and standard deviation of each difference series;
[0036] For each difference sequence, according to the mean value and standard deviation, remove the difference points that do not meet the preset conditions in the difference sequence to obtain the target difference sequence;
[0037] Calculate the benchmark deviation based on the target difference sequence;
[0038] The precise ephemeris clock error data is subtracted from the reference deviation to obtain the corrected precise ephemeris clock error data.
[0039] In this implementation, the precise ephemeris and clock error data are corrected based on the broadcast ephemeris data to improve the accuracy of the precise ephemeris and clock error data, thereby improving the accuracy and reliability of subsequent clock error predictions.
[0040] In some possible implementations of the first aspect, the process of removing difference points that do not meet preset conditions in the difference sequence based on the mean value and the standard deviation to obtain the target difference sequence may include:
[0041] Based on the mean and standard deviation, determine whether each difference point in the difference sequence meets the Among them, x is the difference point in the difference sequence, μ is the mean of the difference sequence, and δ is the standard deviation of the difference sequence;
[0042] If the condition is satisfied, it is determined that the difference point does not meet the preset condition, and the difference point that does not meet the preset condition is removed to obtain the difference sequence after the difference point is removed;
[0043] After determining the mean and standard deviation of the difference sequence after removing the difference points, the difference sequence after removing the difference points is used as the difference sequence, and returns the difference sequence based on the mean and standard deviation to determine whether each difference point in the difference sequence meets the until no difference point in the difference sequence meets the preset condition, and then the difference sequence in which no difference point meets the preset condition is used as the target difference sequence.
[0044] In some possible implementations of the first aspect, the process of fitting the clock speed change rate of each satellite based on the clock speed time series of each satellite may include:
[0045] For each satellite, a sliding window is used to fit the clock rate time series;
[0046] During the sliding window sliding process, whenever the number of clock speeds in the sliding window is greater than or equal to the preset number, the clock speed at the next moment is predicted based on the clock speed in the sliding window at the current moment and the fitting result obtained from the previous fitting;
[0047] When the difference between the forecast clock speed at the next moment and the clock speed to be added to the sliding window is less than or equal to a first preset threshold, the clock speed to be added to the sliding window is added to the sliding window, and the clock speed change rate at that moment is obtained by fitting the clock speed in the sliding window, and the fitting residual is obtained;
[0048] If the fitting residual is less than or equal to the second preset threshold, the clock speed change rate of that time is used as the clock speed change rate;
[0049] If the fitting residual is greater than the second preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold;
[0050] When the difference between the clock speed at the next moment and the clock speed to be added to the sliding window is greater than the first preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold.
[0051] In this implementation, during the process of fitting the clock rate time series using a sliding window, the size of the fitting residual is compared with the second preset threshold, as well as the size of the clock rate to be added to the window and the clock rate at the next moment of the fitting forecast, so as to detect and eliminate abnormal situations in the fitting process, thereby further improving the accuracy of the clock rate change rate and thus improving the accuracy and reliability of the clock error forecast.
[0052] In a second aspect, an embodiment of the present application provides an ephemeris prediction system, which includes a terminal device and a server.
[0053] The server may be used to implement the method described in any one of the first aspects above.
[0054] The terminal device can be used to receive ephemeris parameter codes from the server; decode the ephemeris parameter codes to obtain orbital parameters and clock error parameters; determine the position, velocity and clock error of visible GNSS satellites based on the orbital parameters and clock error parameters; and determine the current position and / or current velocity based on the position, velocity and clock error of visible GNSS satellites.
[0055] In a third aspect, an embodiment of the present application provides an ephemeris prediction method, which is applied to a server. The method includes: obtaining EOP data and historical ephemeris data for a preset time period; performing satellite orbit prediction and satellite clock error prediction based on the EOP data and historical ephemeris data to obtain the predicted orbit and predicted clock error for a future preset time period; fitting the predicted clock error into clock error parameters; using a polynomial model to fit the predicted orbit into polynomial coefficients; and sending the clock error parameters and polynomial coefficients to a terminal device.
[0056] The server side of the embodiment of the present application uses a polynomial model to fit the predicted orbit into polynomial coefficients, and broadcasts the parameters in the form of polynomial coefficients, thereby reducing the amount of calculation of the terminal device in the process of calculating the technical GNSS satellite position and speed.
[0057] In some possible implementations of the third aspect, using a polynomial model to fit the predicted orbit into polynomial coefficients includes:
[0058] The predicted orbit of each satellite is sampled at equal intervals to obtain the sampled predicted orbit of each satellite;
[0059] Segmenting the sampled predicted orbit of each satellite;
[0060] Each predicted orbit of each satellite is fitted according to the basis function and the order of the basis function, the basis function coefficients are determined, and the basis function coefficients are used as polynomial coefficients. The polynomial coefficient model includes the basis function.
[0061] In some possible implementations of the third aspect, the basis function of the polynomial model is:
[0062] T0(x)=1,T1(x)=x,T n (x) = 2xT n-1 (x)-T n-2 (x), n is greater than or equal to 2.
[0063] Where n represents the order of the basis function.
[0064] In some possible implementations of the third aspect, the process of performing satellite orbit prediction and satellite clock error prediction based on EOP data and historical ephemeris data to obtain the predicted orbit and predicted clock error for a preset future time period may include:
[0065] Satellite orbit prediction is performed based on satellite orbit data and EOP data to obtain the predicted orbit for a preset time period in the future;
[0066] Predict the clock error based on the satellite clock error data to obtain the predicted clock error for a preset time period in the future;
[0067] Among them, historical ephemeris data includes satellite orbit data and satellite clock error data.
[0068] In some possible implementations of the third aspect, the process of performing satellite orbit prediction based on satellite orbit data and EOP data to obtain a predicted orbit for a preset future time period may include:
[0069] According to the EOP data, the satellite position information in the earth-fixed system in the satellite orbit data is converted into the satellite position information in the inertial system;
[0070] According to the correspondence between satellite type and solar pressure model, the target solar pressure model used by each satellite in the satellite orbit data is determined;
[0071] Based on the target solar pressure model of each satellite and the satellite position information in the inertial system, the satellite motion equation and variational equation of each satellite are established;
[0072] Based on the satellite motion equation and variational equation of each satellite, the reference orbit position and state transfer matrix of each satellite at each moment are obtained by using numerical integration method;
[0073] Based on the satellite orbit data, reference orbit position and state transfer matrix, the satellite orbit state parameters of each satellite at the reference time are obtained by the least squares global solution method;
[0074] According to the satellite orbit state parameters at the reference time and the satellite dynamics model, the satellite orbit in the future preset time period is obtained by numerical integration;
[0075] According to the EOP data, the satellite orbit for the future preset time period is converted from the inertial system to the earth-fixed system to obtain the predicted orbit for the future preset time period.
[0076] In this satellite orbit prediction process, different solar pressure models are used for different types of satellites, which improves the accuracy of satellite orbit prediction.
[0077] In some possible implementations of the third aspect, the correspondence between the satellite type and the solar pressure model may include:
[0078] The solar pressure model corresponding to GPS satellites or GLNOSS satellites is: ECOM5 parameter model;
[0079] The solar pressure models corresponding to the Galileo satellites are: box-wing initial solar pressure model and ECOM5 parameter model;
[0080] The solar pressure model corresponding to the BeiDou GEO satellite is: initial solar pressure model, ECOM5 parameter model and periodic empirical acceleration parameters;
[0081] The solar pressure models corresponding to the QZSS satellite are: initial solar pressure model and ECOM5 parameter model.
[0082] In some possible implementations of the third aspect, the satellite orbit data includes two consecutive days of precise orbit products. Here, the optimal fit duration is set to two days to more accurately estimate satellite orbit dynamic parameters, further improving satellite orbit prediction accuracy.
[0083] In some possible implementations of the third aspect, the process of performing clock error prediction based on satellite clock error data to obtain a predicted clock error for a preset future time period may include:
[0084] Based on the broadcast ephemeris clock error data, the reference deviation of the precise ephemeris clock error data is corrected to obtain the corrected precise ephemeris clock error data. The satellite clock error data includes the broadcast ephemeris clock error data and the precise ephemeris clock error data.
[0085] The single-day clock velocity of each satellite is obtained by fitting the single-day clock error data in the corrected precise ephemeris clock error data of each satellite.
[0086] Based on the single-day clock speed of each satellite, the clock speed time series of each satellite is obtained;
[0087] According to the clock speed time series of each satellite, the clock speed change rate of each satellite is obtained by fitting;
[0088] Based on the initial value of the clock error, clock speed and clock speed change rate of each satellite, the predicted clock error of each satellite within a preset time period is obtained.
[0089] In the satellite clock error prediction process, the broadcast ephemeris clock error data is used to correct the benchmark deviation of the precise ephemeris clock error data, and then the corrected precise ephemeris clock error data is used for clock error prediction, which can further improve the reliability and accuracy of the satellite clock error prediction.
[0090] In some possible implementations of the third aspect, the process of correcting the reference deviation of the precise ephemeris and clock error data based on the broadcast ephemeris and clock error data to obtain the corrected precise ephemeris and clock error data may include:
[0091] Difference the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence of the same epoch to obtain a difference sequence for each epoch, wherein the broadcast ephemeris clock error data includes the broadcast ephemeris clock error sequence of each epoch, and the precise ephemeris clock error data includes the precise ephemeris clock error sequence of each epoch;
[0092] Determine the mean and standard deviation of each difference series;
[0093] For each difference sequence, according to the mean value and standard deviation, remove the difference points that do not meet the preset conditions in the difference sequence to obtain the target difference sequence;
[0094] Calculate the benchmark deviation based on the target difference sequence;
[0095] The precise ephemeris clock error data is subtracted from the reference deviation to obtain the corrected precise ephemeris clock error data.
[0096] In this implementation, the precise ephemeris and clock error data are corrected based on the broadcast ephemeris data to improve the accuracy of the precise ephemeris and clock error data, thereby improving the accuracy and reliability of subsequent clock error predictions.
[0097] In some possible implementations of the third aspect, the process of removing difference points that do not meet preset conditions in the difference sequence based on the mean value and the standard deviation to obtain the target difference sequence may include:
[0098] Based on the mean and standard deviation, determine whether each difference point in the difference sequence meets the Where x is the difference point in the difference sequence, μ is the mean of the difference sequence, and δ is the standard deviation of the difference sequence;
[0099] If the condition is satisfied, it is determined that the difference point does not meet the preset condition, and the difference point that does not meet the preset condition is removed to obtain the difference sequence after the difference point is removed;
[0100] After determining the mean and standard deviation of the difference sequence after removing the difference points, the difference sequence after removing the difference points is used as the difference sequence, and returns the difference sequence based on the mean and standard deviation to determine whether each difference point in the difference sequence meets the until no difference point in the difference sequence meets the preset condition, and then the difference sequence in which no difference point meets the preset condition is used as the target difference sequence.
[0101] In some possible implementations of the third aspect, the process of fitting the clock speed change rate of each satellite based on the clock speed time series of each satellite may include:
[0102] For each satellite, a sliding window is used to fit the clock rate time series;
[0103] During the sliding window sliding process, whenever the number of clock speeds in the sliding window is greater than or equal to the preset number, the clock speed at the next moment is predicted based on the clock speed in the sliding window at the current moment and the fitting result obtained from the previous fitting;
[0104] When the difference between the forecast clock speed at the next moment and the clock speed to be added to the sliding window is less than or equal to a first preset threshold, the clock speed to be added to the sliding window is added to the sliding window, and the clock speed change rate at that moment is obtained by fitting the clock speed in the sliding window, and the fitting residual is obtained;
[0105] If the fitting residual is less than or equal to the second preset threshold, the clock speed change rate of that time is used as the clock speed change rate;
[0106] If the fitting residual is greater than the second preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold;
[0107] When the difference between the clock speed at the next moment and the clock speed to be added to the sliding window is greater than the first preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold.
[0108] In this implementation, during the process of fitting the clock rate time series using a sliding window, the size of the fitting residual is compared with the second preset threshold, as well as the size of the clock rate to be added to the window and the clock rate at the next moment of the fitting forecast, so as to detect and eliminate abnormal situations in the fitting process, thereby further improving the accuracy of the clock rate change rate and thus improving the accuracy and reliability of the clock error forecast.
[0109] In a fourth aspect, an embodiment of the present application provides an ephemeris prediction method, which is applied to a terminal device. The method includes: receiving polynomial coefficients and clock error parameters from a server; determining the position and speed of visible GNSS satellites based on the polynomial coefficients; determining the clock error of the visible GNSS satellites based on the clock error parameters; and determining the current position and / or speed based on the position, speed and clock error of the visible GNSS satellites.
[0110] The embodiment of the present application uses a polynomial model to fit the predicted orbit into polynomial coefficients, which effectively reduces the amount of computation in the terminal device positioning process and thereby reduces power consumption in the GNSS positioning process.
[0111] In some possible implementations of the fourth aspect, the process of determining the position and velocity of visible GNSS satellites based on the polynomial coefficients may include:
[0112] Determine the positions of visible GNSS satellites based on the polynomial coefficients and the basis functions of the polynomial model;
[0113] The velocities of visible GNSS satellites are determined based on the polynomial coefficients and the derivatives of the basis functions of the polynomial model.
[0114] Exemplarily, the basis functions of the above polynomial model are:
[0115] T0(x)=1,T1(x)=x,T n (x) = 2xT n-1 (x)-T n-2 (x), n is greater than or equal to 2.
[0116] Where n represents the order of basis function;
[0117] Based on the basis function, the position of the GNSS satellite is:
[0118]
[0119] Here, x(t), y(t), and z(t) represent the three-dimensional position of the satellite.
[0120] The basis function derivatives are:
[0121] F0(x)=0,F1(x)=1,F n (x) = 2T n-1 (x)+2xF n-1 (x)-F n-2 (x), n is greater than or equal to 2.
[0122] Based on the basis function derivatives, the velocity of the GNSS satellite is:
[0123]
[0124] In a fifth aspect, an embodiment of the present application provides an ephemeris prediction system, which may include a server and a terminal device.
[0125] The server may be used to implement the method described in any one of the third aspects. The terminal device may be used to implement the method described in any one of the fourth aspects.
[0126] In a sixth aspect, an embodiment of the present application provides a server comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method of any one of the first or third aspects described above is implemented.
[0127] In the seventh aspect, an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method as described in any one of the fourth aspects above is implemented.
[0128] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the method of any one of the first, third or fourth aspects mentioned above.
[0129] In a ninth aspect, embodiments of the present application provide a chip system, comprising a processor coupled to a memory, the processor executing a computer program stored in the memory to implement the method described in any one of the first, third, or fourth aspects above. The chip system may be a single chip or a chip module composed of multiple chips.
[0130] In a tenth aspect, an embodiment of the present application provides a computer program product, which, when executed on an electronic device, enables the electronic device to execute the method described in any one of the first, third, or fourth aspects above.
[0131] It can be understood that the beneficial effects of the second to tenth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0132] Figure 1 A schematic diagram of the architecture of the standard AGNSS system provided in an embodiment of the present application;
[0133] Figure 2 A schematic block diagram of the architecture of the PGNSS system provided in an embodiment of the present application;
[0134] Figure 3 A schematic block diagram of the system architecture of the ephemeris prediction solution provided in an embodiment of the present application;
[0135] Figure 4 A schematic block diagram of the structure of a terminal device 31 provided in an embodiment of the present application;
[0136] Figure 5 A schematic diagram of the flow of the ephemeris prediction method provided in an embodiment of the present application;
[0137] Figure 6 A schematic block diagram of the satellite orbit prediction process provided in an embodiment of the present application;
[0138] Figure 7 A schematic block diagram of the satellite clock error prediction process provided in an embodiment of the present application;
[0139] Figure 8 A schematic block diagram of the reference deviation correction process for the precise ephemeris and clock data provided in an embodiment of the present application;
[0140] Figure 9 235-day clock rate time series of some satellites provided in the embodiments of this application;
[0141] Figure 10 Schematic diagram of orbital ephemeris parameter encoding method based on orbital plane;
[0142] Figure 11 Another schematic block diagram of the process of the ephemeris prediction method provided in an embodiment of the present application;
[0143] Figure 12 A schematic block diagram of the structure of the ephemeris prediction device provided in an embodiment of the present application;
[0144] Figure 13 Another schematic block diagram of the structure of the ephemeris prediction device provided in an embodiment of the present application;
[0145] Figure 14 Another structural schematic block diagram of the ephemeris prediction device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0146] With the widespread use of mobile phones, smart wearable devices, tablet computers, and car computers, location-based services (LBS) are gaining increasing attention. When using LBS, the terminal device needs to be positioned first to determine its current location.
[0147] Terminal devices are generally positioned based on the Global Navigation Satellite System (GNSS). Specifically, when a terminal device initiates a positioning request, it uses the built-in GNSS chip to demodulate a complete set of ephemeris from the satellite navigation signal, and then completes the positioning based on the complete ephemeris.
[0148] Currently, when terminal devices use GNSS for positioning, a long Time To First Fix (TTFF) may affect the user experience. To reduce TTFF and improve the user experience, Assisted GNSS (AGNSS) technology has been proposed. AGNSS technology can be divided into standard AGNSS services and Extended Ephemeris services. The following will provide an example introduction to standard AGNSS and Predicted GNSS (PGNSS), respectively.
[0149] (1) Standard AGNSS. See Figure 1 , is a schematic diagram of the architecture of the standard AGNSS system provided in the embodiment of this application. Figure 1 As shown, the system may include a terminal device 11 , a data exchange center 12 , an AGNSS server 13 , a GNSS observation station 14 and a GNSS satellite 15 .
[0150] The GNSS observation station 14 is used to obtain the GNSS signal of the GNSS satellite 15 and demodulate the broadcast ephemeris parameters from the GNSS signal in real time; and then send the demodulated broadcast ephemeris parameters to the AGNSS server 13.
[0151] The AGNSS server 13 is configured to receive and store broadcast ephemeris parameters sent by the GNSS observation station 14. In addition, after receiving a positioning request from the terminal device 11, the AGNSS server 13 is further configured to send the broadcast ephemeris parameters to the terminal device 11 in response to the positioning request.
[0152] The terminal device 11 is used to initiate a positioning request and send the positioning request to the AGNSS server 13 through the data exchange center 12. In addition, the terminal device 11 is also used to receive the broadcast ephemeris parameters returned by the AGNSS server 13 and perform positioning based on the broadcast ephemeris parameters.
[0153] Exemplarily, the terminal positioning process based on the standard GNSS system includes:
[0154] During each positioning process, the terminal device 11 sends a positioning request to the AGNSS server 13 via the network. The positioning request is used to obtain broadcast ephemeris parameters. After receiving the positioning request from the terminal device 11, the AGNSS server 13 sends the broadcast ephemeris parameters corresponding to the positioning request to the terminal device 11 via the network.
[0155] The terminal device 11 receives broadcast ephemeris parameters from the AGNSS server 13 over the network and, based on these broadcast ephemeris parameters, uses a built-in GNSS chip to calculate the positions and velocities of all visible GNSS satellites. The terminal device 11 then determines its current location and / or current velocity based on the positions and velocities of the GNSS satellites and GNSS observation data. In other words, the terminal device can determine its current location, current velocity, or both, based on GNSS.
[0156] (2)PGNSS. Figure 2 , is a schematic block diagram of the architecture of the PGNSS system provided in the embodiment of the present application. Figure 2 As shown, the system may include a terminal device 21 , a data exchange center 22 , a PGNSS server 23 , a data source server 24 and a GNSS satellite 25 .
[0157] The data exchange center 22 is used to transmit data. The data source server 24 is used to store data sources, which may be, but are not limited to, precise ephemeris data, broadcast ephemeris data, or raw carrier phase observations. The PGNSS server 23 is used to obtain the data sources stored on the data source server 24 and generate forecast ephemeris data based on the data sources.
[0158] The terminal device 21 is used to obtain the forecast ephemeris data generated by the PGNSS server 23 and determine its current location and / or current speed based on the forecast ephemeris data.
[0159] Exemplarily, the terminal positioning process based on the PGNSS system includes:
[0160] After obtaining the data source, the PGNSS server 23 performs modeling based on the data source to obtain a satellite orbit prediction model and a satellite clock error prediction model; then, the satellite orbit is predicted based on the satellite orbit prediction model to obtain a predicted orbit, and the satellite clock error is predicted based on the satellite clock error prediction model to obtain a predicted clock error; the predicted orbit and predicted clock error are then fitted into broadcast ephemeris parameters and transmitted to the terminal device 21.
[0161] After the terminal device 21 obtains the broadcast ephemeris parameters, it can periodically inject the broadcast ephemeris parameters into the GNSS chip to use the GNSS chip and the broadcast ephemeris parameters to calculate the position, velocity and clock error of the visible GNSS satellites, and determine the current position and / or current velocity based on the position, velocity and clock error of the visible GNSS satellites, as well as the pseudorange and carrier phase observations.
[0162] In the aforementioned standards, AGNSS and PGNSS, the server uses broadcast ephemeris parameters to transmit predicted orbits and clock errors to terminal devices. Broadcast ephemeris parameters are large in size, resulting in a large amount of data being transmitted.
[0163] To reduce the amount of parameter data broadcast in ephemeris prediction, embodiments of the present application propose an orbital plane-based ephemeris parameter broadcast scheme. In this orbital plane-based ephemeris parameter broadcast scheme, the server encodes the ephemeris parameters of satellites belonging to the same orbital plane to obtain the ephemeris parameter encoding for the same orbital plane. The server then transmits the predicted orbit and predicted clock error to the terminal device in the form of the ephemeris parameter encoding. Compared to the traditional broadcast ephemeris parameter transmission method, this greatly reduces the amount of parameter broadcast data.
[0164] The technical solutions provided by the embodiments of the present application are described in detail below. In the following description, for the purpose of illustration rather than limitation, specific details such as specific system structures and technologies are provided to facilitate a thorough understanding of the embodiments of the present application.
[0165] See also Figure 3 , is a schematic block diagram of the system architecture of the ephemeris prediction solution provided in the embodiment of this application. Figure 3 As shown, the system may include a terminal device 31 and a server 33 , and the terminal device 31 and the server 33 are connected via a network 32 .
[0166] The terminal device 31 is a device with wireless transceiver capabilities, and may be a handheld terminal device, a vehicle, an in-vehicle terminal, a smart wearable device, or other computing device. For example, the terminal device is a portable terminal device such as a mobile phone or a tablet computer; it may also be an augmented reality (AR) device, a virtual reality (VR) device, or an ultra-mobile personal computer (UMPC). The embodiments of the present application do not limit the specific type of the terminal device 31. Figure 3 It is exemplarily shown that the terminal device 31 is a mobile phone.
[0167] The specific structure of the terminal device 31 may vary depending on the type of the terminal device 31. Figure 4 The terminal device 31 provided in an embodiment of the present application is shown in a schematic block diagram. The terminal device 31 may include, but is not limited to, a processor 311, a GNSS chip 312, and a memory 313. The GNSS chip 312 and the memory 313 are both communicatively connected to the processor 311. Of course, the terminal device 31 also includes a GNSS antenna for transmitting and receiving GNSS signals.
[0168] The processor 311 may include one or more processing units. For example, the processor 311 may include an application processor (AP), a modem processor, a controller, and a baseband processor. The different processing units may be independent devices or integrated into one or more processors.
[0169] The controller may be the nerve center and command center of the terminal device 31. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0170] The memory 313 can be used to store computer-executable program code, which includes instructions. The processor 311 executes the instructions stored in the memory 313 to execute various functional applications and data processing of the terminal device 31. The memory 313 may include a program storage area and a data storage area. The program storage area may store an operating system, at least one application required for a function, and the like. The data storage area may store data generated during the use of the terminal device 31. For example, after receiving broadcast ephemeris parameters from the server, the terminal device 31 stores the broadcast ephemeris parameters in the data storage area and periodically reads the broadcast ephemeris parameters from the data storage area and injects them into the GNSS chip 312.
[0171] In addition, the memory 313 may include a high-speed random access memory and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0172] The terminal device 31 can receive and send GNSS signals, as well as perform GNSS positioning and / or speed control through the GNSS antenna and the GNSS chip 312 .
[0173] In an embodiment of the present application, GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite-based augmentation system (SBAS).
[0174] It should be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the terminal device 31. In other embodiments of the present application, the terminal device 31 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0175] Exemplarily, when the terminal device 31 is a smart wearable device, the smart wearable device may be a smart bracelet, a smart watch, or smart glasses, etc. At this time, the terminal device 31 may further include a sensor and a display screen, etc. The sensor may include a photoelectric sensor and a physiological sensor.
[0176] Exemplarily, when the terminal device 31 is a mobile phone, the terminal device 31 may also include a charging management module, a power management module, a battery, a mobile communication module, an audio module, a speaker, a receiver, a microphone, a headphone interface, a sensor module, a button, a motor, an indicator, a camera, a display, and a subscriber identification module (SIM) card interface, etc.
[0177] The server 32 may include one or more servers. Typically, the server 32 mainly includes a PGNSS server.
[0178] In a specific application, the server 32 is used to obtain a data source, and perform satellite orbit prediction and satellite clock error prediction based on the data source, and then convert the predicted orbit and predicted clock error into certain parameters, and transmit the parameters to the terminal device 31.
[0179] The terminal device 31 is used to obtain the predicted orbit and predicted clock error from the server 32 through a network request, and use the GNSS chip to calculate the position and speed of visible GNSS satellites based on the predicted orbit and predicted clock error, and then determine its own current position and / or current speed based on the position and speed of the GNSS satellites.
[0180] The embodiments of the present application can be applied to scenarios involving navigation, positioning, and / or speed measurement. For example, terminal device 31 is a vehicle-mounted terminal that uses GNSS for vehicle positioning and speed measurement. Another example is a mobile phone application that uses LBS to recommend products to the user. The embodiments of the present application do not limit the application scenarios.
[0181] After introducing the system structure and application scenarios that may be involved in the embodiments of the present application, the technical solutions of the embodiments of the present application will be described in detail with reference to the accompanying drawings.
[0182] See also Figure 5 , is a flow chart of the ephemeris prediction method provided in the embodiment of the present application. Figure 5 As shown, the process may include the following steps:
[0183] Step S501: The server obtains EOP data and historical ephemeris data for a preset period of time.
[0184] It should be noted that the historical ephemeris data may include precise ephemeris data, real-time broadcast ephemeris data, or raw carrier phase observations. The historical ephemeris data may refer to a data source in the PGNSS.
[0185] Typically, the historical ephemeris data includes satellite orbit data and satellite clock error data. Satellite orbit data includes the satellite position information of each satellite at various times, and satellite clock error data includes the satellite clock error information of each satellite at various times. Satellite orbit data and Earth Orientation Parameters (EOP) data can be used for satellite orbit prediction. EOP data is obtained externally by the server. Satellite clock error data can be used for satellite clock error prediction.
[0186] For example, when the historical ephemeris data includes precise ephemeris data, the precise ephemeris data may include precise orbit products and precise clock products. The precise orbit products and EOP files are used for satellite orbit prediction, and the precise clock products are used for satellite clock prediction.
[0187] In specific applications, the server can download precise orbit products and precise clock products from the File Transfer Protocol (FTP) server of the International GNSS Service (IGS), and download EOP files from the server of the International Earth Rotation Service (IERS).
[0188] The preset period can be set according to actual needs. For example, the preset period is 2 days, that is, the server obtains 2 days of historical ephemeris data.
[0189] When acquiring satellite orbit data, the server may acquire one or more days of satellite orbit data and perform a satellite orbit prediction based on the one or more days of satellite orbit data. Optionally, in an embodiment of the present application, the optimal fit duration may be set to two days to more accurately estimate satellite orbit dynamic parameters and improve the accuracy of satellite orbit prediction. In other words, the server acquires two consecutive days of satellite orbit data and uses the two consecutive days of satellite orbit data to perform satellite orbit prediction. Compared to using one or at least three days of satellite orbit data for satellite orbit prediction, the former has a higher satellite orbit prediction accuracy.
[0190] Step S502: The server performs satellite orbit prediction and satellite clock error prediction based on the EOP data and historical ephemeris data to obtain the predicted orbit and predicted clock error for a preset time period in the future.
[0191] It is understandable that the server can use the EOP data and the satellite orbit data in the historical ephemeris data to perform satellite orbit prediction, and use the satellite clock error data in the historical ephemeris data to perform satellite clock error prediction.
[0192] It should be noted that the future preset time period can be set according to actual needs. For example, the future preset time period can be 7 to 28 days, that is, the server can predict the satellite orbit and satellite clock error within the next 7 to 28 days.
[0193] The satellite orbit prediction process and satellite clock error prediction process are introduced and explained below.
[0194] In some embodiments, in order to improve the accuracy of satellite orbit prediction, the present application embodiment proposes an improved satellite orbit prediction process, which can use different solar pressure models for different types of satellites. The satellite orbit prediction process can be found in Figure 6 The satellite orbit prediction process is shown in the schematic diagram, as shown in Figure 6 As shown, the process may include the following steps:
[0195] Step S601: The server converts satellite position information in the earth-fixed system into satellite position information in the inertial system based on EOP data.
[0196] The satellite orbit data includes satellite position information in the ground-fixed system and can be a precise orbit product.
[0197] It should be noted that in order to estimate the satellite orbit dynamic parameters more accurately, the server can perform satellite orbit prediction based on two consecutive days of satellite orbit data, that is, the optimal fit estimation time is set to two days.
[0198] Step S602: The server determines the target solar pressure model corresponding to each satellite in the satellite orbit data according to the correspondence between the satellite type and the solar pressure model.
[0199] It should be noted that the correspondence between satellite types and solar pressure models is pre-set, that is, the solar pressure model used by each type of satellite is pre-determined.
[0200] For example, the correspondence between satellite types and solar pressure models may be shown in Table 1 below.
[0201] Table 1
[0202]
[0203]
[0204] According to Table 1 above, when a satellite is a GPS satellite or a GLONASS satellite, the target solar pressure model for that satellite is the ECOM5 parameter model. Similarly, when a satellite is a QZSS satellite, the target solar pressure model for that satellite is the initial solar pressure model and the ECOM5 parameter model.
[0205] It is understood that the satellite orbit data includes the three-dimensional position information of each satellite at each time, and also includes identification information for each satellite, such as the satellite number. The server determines the satellite type of each satellite in the satellite orbit data based on the satellite number and other identification information in the satellite orbit data. Based on the satellite type of each satellite and according to a pre-set correspondence between satellite type and solar pressure model, the server determines a target solar pressure model corresponding to each satellite.
[0206] In comparison, using different solar pressure models for different types of satellites can improve the accuracy of satellite orbit prediction.
[0207] Step S603: The server establishes the satellite motion equation and variational equation of each satellite based on the target solar pressure model of each satellite and the satellite position information in the inertial system.
[0208] It is understandable that, for a single satellite, the server establishes the satellite motion equation and variational equation of the satellite based on the target solar pressure model of the satellite and the satellite position information in the inertial system of the satellite.
[0209] Step S604: Based on the motion equation and variational equation of each satellite, the server obtains the reference orbit position, velocity and state transfer matrix of each satellite at each moment by numerical integration.
[0210] Among them, in the process of obtaining the reference orbital position, velocity and state transfer matrix at each moment through numerical integration, the server needs to obtain the reference orbital position, velocity and state transfer matrix at the current moment based on information such as the reference orbital position, velocity and state transfer matrix at the previous moment.
[0211] Step S605: The server obtains the reference-time satellite orbit state parameters of each satellite using a least-squares global solution based on the satellite orbit data, reference orbit position, and state transition matrix. The reference-time satellite orbit state parameters may include, but are not limited to, the reference-time satellite position, velocity, dynamic model parameters, and empirical force parameters.
[0212] Step S606: The server obtains the satellite orbit for the future preset time period by numerical integration based on the satellite orbit state parameters at the reference time and the satellite dynamics model. The obtained satellite orbit for the future preset time period is the satellite orbit in the inertial system.
[0213] Step S607: The server converts the satellite orbit for the future preset time period in the inertial system to the earth-fixed system based on the EOP data to obtain the predicted orbit for the future preset time period.
[0214] In a specific application, the server may convert the satellite orbit in the inertial system obtained in step S606 into the earth-fixed system according to the EOP forecast value in the EOP data.
[0215] As can be seen above, the satellite orbit prediction process uses different solar pressure models for different satellite types, improving the accuracy of satellite orbit predictions. Furthermore, setting the optimal fit duration to two days allows for more accurate estimation of satellite orbit dynamics, further improving satellite orbit prediction accuracy.
[0216] Of course, in other embodiments, the existing satellite orbit prediction method may also be used to perform satellite orbit prediction.
[0217] That is to say, for the satellite orbit prediction process, the server can adopt the improved satellite orbit prediction process proposed in the embodiment of the present application, or it can adopt the existing satellite orbit prediction process.
[0218] Similarly, for the satellite clock error prediction process, the server can adopt the improved satellite clock error prediction process proposed in the embodiment of the present application, or can adopt the existing satellite clock error prediction process. Figure 7 shown.
[0219] See also Figure 7 The schematic block diagram of the satellite clock error prediction process provided by the embodiment of the present application is shown, and the process may include the following steps:
[0220] Step S701: The server corrects the reference deviation of the precise ephemeris clock error data based on the broadcast ephemeris clock error data to obtain the corrected precise ephemeris clock error data. The satellite clock error data includes the broadcast ephemeris clock error data and the precise ephemeris clock error data.
[0221] It should be noted that the clock error of the atomic clock carried by the GNSS satellite is usually described by a linear polynomial or a quadratic polynomial. For example, the broadcast ephemeris clock error can be shown as the following formula (1).
[0222]
[0223] Among them, clk n (t) is the satellite clock error at time t. is the clock difference at the initial time t0, is the clock speed at the initial time t0, is the clock drift at the initial time t0. ε(t) is the uncertainty component of random changes.
[0224] The precise ephemeris clock error data can be expressed as follows (2).
[0225]
[0226] Where b(t) is the reference deviation.
[0227] Precision ephemeris and clock data are more accurate than broadcast ephemeris and clock data, and can be used to generate more accurate predicted clock errors. However, compared to broadcast ephemeris and clock errors, precision clock errors have a time-varying baseline bias, b(t). Furthermore, the baseline bias, b(t), varies depending on the source of precision ephemeris and clock data.
[0228] The reference deviation b(t) will affect the accuracy of the clock error prediction. In order to further improve the accuracy of the satellite clock error prediction, the precise ephemeris clock error data can be corrected before using it for satellite clock error prediction, and then the corrected precise ephemeris clock error data can be used for satellite clock error prediction.
[0229] In some embodiments, see Figure 8 The schematic block diagram of the reference deviation correction process of precise ephemeris clock data is shown. The correction process may include the following steps:
[0230] Step S801: The server performs a difference calculation between the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence of the same epoch to obtain a difference sequence for each epoch, wherein the broadcast ephemeris clock error data includes the broadcast ephemeris clock error sequence for each epoch, and the precise ephemeris clock error data includes the precise ephemeris clock error sequence for each epoch.
[0231] For example, the GPS broadcast ephemeris clock error and precise clock error at a certain epoch correspond to 32 clock error sequences (i.e., 32 stars), where the broadcast ephemeris clock error sequence is: The precise ephemeris clock error sequence is:
[0232] At this time, the difference between the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence at this epoch is obtained, and the difference sequence at this epoch is:
[0233] It can be understood that each epoch corresponds to a difference sequence.
[0234] Step S802: The server determines the mean and standard deviation of each difference sequence.
[0235] Specifically, after obtaining the difference sequence of each epoch, for each difference sequence, the mean value and standard deviation of the difference sequence are calculated.
[0236] For example, the difference sequence at a certain epoch is: The average value is: The standard deviation is:
[0237] Step S803: For each difference sequence, the server removes the difference points that do not meet the preset conditions in the difference sequence according to the mean value and the standard deviation to obtain a target difference sequence.
[0238] In some embodiments, an iterative approach can be used to remove abnormal differences in the difference sequence through 3sigma. Specifically, for each difference sequence, based on the mean and standard deviation, it is determined whether each difference point in the difference sequence meets Where x is the difference point in the difference sequence, μ is the mean of the difference sequence, and δ is the standard deviation of the difference sequence.
[0239] It is understandable that there are multiple difference points in the difference sequence. Based on the standard deviation and average value of the difference sequence, it is determined whether each difference point in the difference sequence meets the
[0240] If a difference point satisfies If the difference point does not meet the preset conditions, it is considered an abnormal difference point and is removed. Each difference point is judged accordingly to obtain a difference sequence after removing the difference point.
[0241] After the first round of abnormal difference elimination process is completed, the next round of abnormal difference elimination process is carried out based on the difference sequence after the difference points are eliminated.
[0242] In the next round of abnormal difference elimination, the server calculates the average value and standard deviation of the difference sequence after eliminating the difference points, and judges whether each difference point in the difference sequence after eliminating the difference points meets the following criteria: If the condition is satisfied, the corresponding difference point is removed. Each difference point is judged accordingly to obtain the difference sequence after removing the difference point.
[0243] The above abnormal difference elimination process is iterated until no difference points are eliminated in a certain difference sequence, and the difference sequence becomes the target difference sequence.
[0244] In the iterative process, after the first round of abnormal difference elimination process, the difference sequence after the difference points are eliminated can be regarded as the difference sequence, and the mean value and standard deviation are returned to determine whether each difference point in the difference sequence meets the requirements. until no difference point in the difference sequence meets the preset condition, and then the difference sequence in which no difference point meets the preset condition is used as the target difference sequence.
[0245] For example, a difference sequence is There are 32 difference points in this difference sequence.
[0246] First, calculate the mean and standard deviation of the difference sequence, and determine whether the 32 difference points meet At this time, assuming there are 2 difference points that meet These two difference points are considered abnormal difference points. These two abnormal difference points are eliminated to obtain the difference sequence after the difference points are eliminated. Here, the difference sequence after the difference points are eliminated includes 30 difference points. At this point, the first round of abnormal difference point elimination process is completed.
[0247] Then, the next round of abnormal difference point elimination process is carried out. At this time, the average value and standard deviation of the difference sequence including 30 difference points are calculated, and based on the average value and standard deviation, the 30 difference points are judged to see whether they meet the requirements. At this time, assuming there is 1 difference point that satisfies This difference point is considered to be an abnormal difference point, and the abnormal difference point is eliminated to obtain a difference sequence after eliminating the difference point. Here, the difference sequence after eliminating the difference point includes 29 difference points.
[0248] Then, the next round of abnormal difference point elimination process is carried out. At this time, the average value and standard deviation of the difference sequence including 29 difference points are calculated, and based on the average value and standard deviation, the 29 difference points are judged to see whether they meet the requirements. At this time, assuming there is 1 difference point that satisfies This difference point is considered to be an abnormal difference point, and the abnormal difference point is eliminated to obtain a difference sequence after eliminating the difference point. Here, the difference sequence after eliminating the difference point includes 28 difference points.
[0249] Then, the next round of abnormal difference point elimination process is carried out. At this time, the average value and standard deviation of the difference sequence including 28 difference points are calculated, and based on the average value and standard deviation, the 28 difference points are judged to see whether they meet the requirements. At this time, assuming that there is no difference point that satisfies That is, if there are no difference points that are eliminated, the difference sequence including 28 difference points will be used as the target difference sequence.
[0250] It should be noted that, in practical applications, only one round of abnormal difference point elimination process may be performed.
[0251] Step S804: The server calculates the benchmark deviation based on the target difference sequence.
[0252] Exemplarily, the reference deviation is calculated by the following formula (3).
[0253]
[0254] Here, N represents the number of clock difference values included in the target difference sequence. For example, after multiple rounds of abnormal difference point elimination, there are still 28 difference points remaining in the target sequence, that is, the target sequence includes 28 difference points. At this time, N=28.
[0255] Step S805: The server subtracts the precise ephemeris clock error data from the reference deviation to obtain corrected precise ephemeris clock error data.
[0256] Specifically, the server may subtract the reference deviation from the precise ephemeris clock error data in the satellite clock error data to obtain the corrected precise ephemeris clock error data.
[0257] It should be noted that correcting the precise ephemeris clock error data based on the broadcast ephemeris clock error data can further improve the accuracy and reliability of satellite clock error prediction.
[0258] Step S702: The server obtains the single-day clock velocity of each satellite by fitting the single-day clock error data in the corrected precise ephemeris clock error data of each satellite.
[0259] It can be understood that the corrected precise ephemeris clock error data includes one or more days of clock error data of each satellite. Based on the single-day clock error data of each satellite, a single-day fitting is performed on each satellite to obtain the single-day clock speed.
[0260] In some embodiments, the server may first perform gross error detection on the single-day clock error data in the corrected precise ephemeris clock error data to obtain precise ephemeris clock error data after gross error detection.
[0261] During gross error detection, if a jump occurs in either a0 or a1 in the original clock error time series, the original clock error time series is segmented and the gross errors are removed to obtain the satellite clock error data after gross error detection. The original clock error time series here refers to the corrected precise ephemeris clock error data, a0 refers to the clock error, and a1 refers to the clock rate.
[0262] In the embodiment of the present application, the gross error detection method may be arbitrary, for example, the gross error detection method may be median detection.
[0263] It should be noted that in some other embodiments, the server may not need to perform gross error detection on the clock error data. However, in comparison, gross error detection can eliminate gross errors in the clock error data, making the subsequent clock error forecast more accurate.
[0264] After gross error detection, the server uses the precise ephemeris clock error data after gross error detection as observation values to establish a linear polynomial model or a quadratic polynomial model for each satellite. For example, the observation equation for a satellite is shown in the following equation (4).
[0265]
[0266] Here, a0 refers to the clock error and a1 refers to the clock speed.
[0267] Based on the single-day clock error data for each satellite, the server uses the least squares method to perform a single-day fitting of the clock error and calculate the daily clock error model coefficients for each satellite. For example, using equation (4) above, the clock error is fitted for a single day to obtain the daily clock error model coefficients a0 and a1 for each satellite.
[0268] It is understandable that if no gross error detection is performed, the corrected precise ephemeris clock error data is directly used as the observation value to fit the single-day clock speed of each satellite.
[0269] Step S703: The server obtains the clock speed time series of each satellite based on the single-day clock speed of each satellite.
[0270] It is understandable that the server can obtain the clock error model coefficients a0 and a1 of each satellite for multiple days based on the satellite clock error data of each satellite every day. For example, Figure 9 A 235-day time series of the clock rates of some satellites is shown.
[0271] Step S704: The server obtains the clock speed change rate of each satellite by fitting the clock speed time series of each satellite.
[0272] In some embodiments, for each satellite, a sliding window can be used to fit the clock speed time series, that is, a sliding window is used to slide in the clock speed time series. During the sliding process of the sliding window, whenever the number of clock speeds in the sliding window is greater than or equal to a preset number, the predicted clock speed at the next moment is predicted based on the clock speed in the sliding window at the current moment and the fitting result obtained from the last fitting.
[0273] Then, determine whether the difference between the predicted clock speed at the next moment and the clock speed to be added to the sliding window is less than or equal to a first preset threshold. If the difference between the predicted clock speed and the clock speed to be added to the sliding window is less than or equal to the first preset threshold, the clock speed to be added to the sliding window can be included in the next fitting process of the clock speed change rate. That is, after the clock speed of the window to be added is added to the sliding window, fitting is performed according to the clock speed in the sliding window to obtain the clock speed change rate and fitting residual of the current fitting.
[0274] It should be noted that the clock speed to be added to the sliding window is the actual clock speed at the next moment. For example, a satellite's clock speed time series includes five clock speeds, which are chronologically ordered as b1, b2, b3, b4, and b5. That is, in the clock speed time series, the clock speed value corresponding to t1 is b1, the clock speed value corresponding to t2 is b2, the clock speed value corresponding to t3 is b3, the clock speed value corresponding to t4 is b4, and the clock speed value corresponding to t5 is b5. At time t4, the clock speeds contained in the sliding window are b1, b2, b3, and b4. Based on the clock speeds in the sliding window at this time, the predicted clock speed at t5 (i.e., the next moment) is predicted to be b5. At this time, the clock speed to be added to the sliding window is b5. The difference between the predicted clock speed B5 at time t5 and the actual clock speed b5 is calculated to determine whether the difference is less than or equal to the first preset threshold.
[0275] Assuming that the difference between the predicted clock speed B5 and the actual clock speed b5 at time t5 is less than or equal to the first preset threshold, b5 is added to the sliding window. At this time, the clock speeds contained in the sliding window are b1, b2, b3, b4 and b5. Fitting is performed based on b1, b2, b3, b4 and b5 in the sliding window at this moment to obtain the clock speed change rate and fitting residual of the current fitting.
[0276] After obtaining the current clock rate change rate and fitting residual, a further determination is made as to whether the fitting residual is less than or equal to a second preset threshold. If so, the current clock rate change rate is used as the satellite's clock rate change rate. Conversely, if the fitting residual is greater than the second preset threshold, a gross error or a1 jump is considered to have occurred. The sliding window is reset and then continued sliding forward, performing fitting and determination according to the above process until the clock rate time series is exhausted or the fitting residual is less than or equal to the second preset threshold.
[0277] If the difference between the predicted clock speed and the clock speed to be added to the sliding window is greater than the first preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold.
[0278] It should be noted that the above-mentioned first preset threshold, second preset threshold, and preset number can be set according to actual needs and are not limited here.
[0279] For example, the size of the sliding window is 5, meaning the number of clock speeds that can be accommodated within the sliding window is preset to 5. Furthermore, when the number of clock speeds within the sliding window is greater than or equal to 3, fitting and forecasting based on the clock speeds within the sliding window begins. This means that whenever the number of clock speeds within the sliding window is greater than or equal to 3, fitting and forecasting based on the clock speeds within the sliding window begins.
[0280] Assume that the clock rate time series of a satellite includes 100 clock rates, namely t1, t2, t3, ..., t 100 The clock speed values corresponding to each moment are b1, b2, b3, ..., b 100 At the initial moment, the number of clock speeds in the sliding window is 0, that is, there is no clock speed in the sliding window; the sliding window continues to slide forward, and it is determined whether the number of clock speeds contained in the sliding window is greater than or equal to 3; at a certain moment, the sliding window includes b5, b6, b7, b8 and b9, a total of 5 clock speed values. At this time, based on the 5 clock speed values b5, b6, b7, b8 and b9, the next moment (i.e., t 10 )'s predicted clock speed B 10 .
[0281] Then, calculate the predicted clock speed B10 and the real clock speed b 10 and determine whether the difference is less than or equal to the first preset threshold. If the difference is less than or equal to the first preset threshold, the actual clock speed b at the next moment is set to 11 Add to the sliding window. At this time, since the maximum number of clock speeds in the sliding window is 5, it is necessary to remove a clock speed value and then add the clock speed b at the next moment. 10 Add to the sliding window. Assume that b 10 After adding the sliding window, the clock speed values contained in the sliding window are b6, b7, b8, b9 and b 10 , then a fitting is performed based on the clock speed value in the sliding window at this moment to obtain the clock speed change rate and the fitting residual. Then, it is further determined whether the fitting residual of the current fitting is less than or equal to a second preset threshold.
[0282] If the clock speed B is predicted 10 and the real clock speed b 10 If the difference between the two is greater than the first preset threshold, the sliding window is reset. Resetting the sliding window means clearing the number of clock speeds in the sliding window to zero, that is, the reset sliding window does not include any clock speeds. After resetting the sliding window, the sliding window continues to slide forward according to the sliding step size, and during the sliding process, it continues to determine whether the number of clock speeds in the sliding window is greater than or equal to 3. If the number of clock speeds in the sliding window at a certain moment is greater than or equal to 3, the predicted clock speed at the next moment is fitted based on the clock speed in the sliding window at that moment, and the difference between the predicted clock speed and the actual clock speed is determined, and the difference between the difference and the first preset threshold is determined. This cycle continues until the clock speed time series is traversed, or the fitting residual of a clock speed change rate fitting process is less than or equal to the second preset threshold.
[0283] As can be seen from the above, this embodiment improves the accuracy of the clock rate change rate by fitting the clock rate change rate based on the clock rate time series and performing anomaly detection on the fitted predicted clock rate and fitting residual through a sliding window, thereby improving the accuracy and reliability of the satellite clock error prediction.
[0284] Of course, in some other embodiments, the existing clock speed change rate fitting method can also be used.
[0285] Step S705: The server obtains the predicted clock error of each satellite in a preset future time period based on the initial clock error value, clock speed, and clock speed change rate of each satellite.
[0286] In specific applications, the server fits the clock speed change rate based on the clock speed time series of each satellite, and then predicts the satellite clock error based on the satellite clock error a0 (i.e., the initial value of the clock error) at the reference time, the fitted clock speed, and the clock speed change rate as parameters to obtain the predicted clock error of each satellite in the future preset time period.
[0287] It can be seen from the above that the improved satellite clock error prediction process proposed in the embodiment of the present application can further improve the accuracy and reliability of satellite clock error prediction.
[0288] Step S503: After fitting the predicted orbit into orbital parameters, the server encodes the orbital parameters of the satellites belonging to the same orbital plane to obtain the orbital parameter code of each orbital plane.
[0289] Step S504: After fitting the predicted clock error into clock error parameters, the server encodes the clock error parameters to obtain clock error parameter encoding.
[0290] In a specific application, for the predicted clock error, the server fits the predicted clock error into clock error parameters, and then encodes the clock error parameters to obtain the clock error parameter encoding.
[0291] For the predicted orbit, in order to send the predicted orbit to the terminal device, the server can use a set of Kepler orbit parameters to perform segmented fitting on the predicted satellite orbit to obtain the orbital parameters of each segment of the predicted orbit.
[0292] The process of fitting the predicted orbit into orbit parameters by the server can be as follows:
[0293] First, the server samples the predicted orbit at equal intervals to obtain the satellite position at each sampling point. The sampling interval can be set according to actual needs. For example, the sampling interval can be 5 minutes, that is, the server samples once every 5 minutes. In this case, assuming that the initial sampling point is T0, the predicted orbit position corresponding to time T0 is (x0, y0, z0), the next sampling point is T1, T1 = T0 + 5, and the predicted orbit position corresponding to time T1 is (x1, y1, z1), and so on, until the sampling is completed. After the sampling is completed, multiple sampling points and the predicted orbit position corresponding to each sampling point are obtained.
[0294] Then, the server segments the multiple sampling points according to time to obtain segmentation results. For example, the segmentation is performed by 4 hours and the segmentation results obtained by sampling at 5-minute intervals are shown in Table 2.
[0295] Table 2
[0296] time X coordinate value Y coordinate value Z coordinate value <![CDATA[T0]]> <![CDATA[X0]]> <![CDATA[Y0]]> <![CDATA[Z0]]> <![CDATA[T1]]> <![CDATA[X1]]> <![CDATA[Y1]]> <![CDATA[Z1]]> … … … … <![CDATA[T 48 ]]> <![CDATA[X 48 ]]> <![CDATA[Y 48 ]]> <![CDATA[Z 48 ]]>
[0297] As shown in Table 2 above, there are 240 minutes in 4 hours, and sampling is done every 5 minutes, so there are 49 sampling points in total, namely T0, T1, ..., T 48 , the predicted orbit position corresponding to time T0 is (x0, y0, z0), T 48 The predicted orbit position corresponding to the time is (x 48 ,y48 , z 48 ).
[0298] After sampling and segmenting the predicted orbit, a 16-parameter broadcast ephemeris model or an 18-parameter broadcast ephemeris model can be used to fit each predicted orbit segment to obtain the corresponding broadcast ephemeris parameters. This fitting process can employ a least squares method or other fitting algorithm. For example, the 16-parameter broadcast ephemeris model can be shown in Table 3 below.
[0299] Table 3
[0300]
[0301] It should be noted that after the server has segmented the predicted orbit into orbital parameters, it can directly send these parameters to the terminal device. However, the orbital ephemeris parameters are large in size, and directly sending them to the terminal device results in a large amount of parameter broadcast data.
[0302] To reduce the amount of parameter broadcast data without increasing encoding complexity, the present invention proposes an orbital plane-based ephemeris parameter broadcast method. This method encodes the orbital ephemeris parameters of the same orbital plane to obtain the orbital ephemeris parameter encoding for each orbital plane. The orbital ephemeris parameters of satellites in the same orbital plane are highly consistent, so the orbital ephemeris parameters of the same orbital plane can be encoded.
[0303] Specifically, the server first determines the satellites belonging to the same orbital plane, and then encodes the orbital parameters corresponding to the satellites belonging to the same orbital plane to obtain the orbital ephemeris parameter encoding of the orbital plane. Figure 10 The schematic diagram of orbital ephemeris parameter encoding method based on orbital plane is shown in FIG. Figure 10 As shown in FIG, after encoding the original broadcast ephemeris parameters of orbital plane 1, ephemeris parameter code 1 of orbital plane 1 is obtained. Similarly, after encoding the original broadcast ephemeris parameters of orbital plane N, ephemeris parameter code N of orbital plane N is obtained. The original broadcast ephemeris parameters refer to the ephemeris parameters obtained by the server using Kepler orbit parameters to perform piecewise fitting on the predicted orbit.
[0304] After obtaining ephemeris parameter codes 1, ..., and N, the server sends ephemeris parameter codes 1, ..., and N to the terminal device instead of sending the original broadcast ephemeris parameters. This reduces the amount of ephemeris parameter data broadcast. For example, Table 4 below compares the data volume of broadcasting based on the original broadcast ephemeris parameters and broadcasting based on the orbital plane.
[0305] Table 4
[0306] Broadcast method Weekly data volume of a single constellation / kb Based on the original broadcast ephemeris parameters 54.35 Broadcast based on track plane 44.92
[0307] As can be seen from Table 4 above, the data volume of the broadcast method based on the orbital plane is smaller than that of the broadcast method based on the original broadcast ephemeris parameters.
[0308] It should be noted that when encoding the original ephemeris parameters of the same orbital plane, the original ephemeris parameters of one of the satellites can be normally encoded first, and then based on the ephemeris parameters of the normally encoded satellite, the ephemeris parameters of other satellites in the same orbital plane can be incrementally encoded to finally obtain the ephemeris parameter encoding of the orbital plane.
[0309] For example, orbital plane 1 includes three satellites. One of these three satellites is selected as the target satellite. The original broadcast ephemeris parameters of the target satellite are encoded normally to obtain the orbital ephemeris parameter code of the target satellite. For the two satellites other than the target satellite, incremental encoding is performed based on the ephemeris parameter code of the target satellite.
[0310] Step S505: The server sends the ephemeris parameter code to the terminal device. The ephemeris parameter code includes the clock error parameter code and the orbit parameter code of each orbital plane.
[0311] It is understood that the terminal device can obtain the predicted orbit and predicted clock error from the server through a network request. After receiving the request from the terminal device, the server can respond to the request by sending the clock error parameter code and the orbit parameter code of each orbital plane to the terminal device. After obtaining the ephemeris parameter code, the terminal device decodes the orbit parameter code to obtain the orbital ephemeris parameters of each satellite. Based on the orbital ephemeris parameters and clock error parameters, it calculates the position, velocity, and clock error of all visible GNSS satellites. Finally, based on the position and velocity of the visible GNSS satellites and the observed values, it determines the current position and / or current velocity.
[0312] As can be seen from the above, the embodiment of the present application, after fitting the predicted orbit segments into orbital ephemeris parameters, encodes the orbital ephemeris parameters based on the orbital plane to obtain the orbital ephemeris parameter encoding for each orbital plane, which can effectively reduce the amount of parameter broadcast data.
[0313] Furthermore, the embodiments of the present application also provide an improved satellite orbit prediction process, which improves the accuracy of satellite orbit prediction.
[0314] Furthermore, the embodiments of the present application also provide an improved satellite clock error prediction process, which improves the accuracy and reliability of satellite clock error prediction.
[0315] In some embodiments, the present application provides another ephemeris prediction solution. Figure 11, is another schematic flow chart of the ephemeris prediction method provided in an embodiment of the present application. The ephemeris prediction method may include the following steps:
[0316] Step S1101: The server obtains EOP data and historical ephemeris data for a preset period of time.
[0317] Step S1102: The server performs satellite orbit prediction and satellite clock error prediction based on the EOP data and historical ephemeris data to obtain the predicted orbit and predicted clock error for a preset time period in the future.
[0318] It should be noted that the relevant introduction of step S1101 and step S1102 can be found in the above steps S501 and step S502, which will not be repeated here.
[0319] Among them, when predicting the satellite orbit, the server can use the existing satellite orbit prediction method to predict the satellite orbit, or use the improved satellite orbit prediction method provided in the embodiment of the present application to predict the satellite orbit.
[0320] When the server predicts the satellite clock error, it can use the existing satellite clock error prediction method to predict the satellite clock error, or it can use the improved satellite clock error prediction method provided by the embodiment of the present application to predict the clock error. The improved satellite orbit prediction process can be found in the above Figure 6 And related content, the improved satellite clock error prediction process can be found above Figure 7 And related content will not be repeated here.
[0321] Step S1103: The server uses a polynomial model to fit the predicted orbit into polynomial coefficients and fits the predicted clock error into clock error parameters.
[0322] It should be noted that the polynomial model includes basis functions and coefficients of basis functions. For example, the polynomial model is a Chebyshev polynomial model, and its basis functions are:
[0323] T0(x)=1,T1(x)=x,T n (x) = 2xT n-1 (x)-T n-2 (x), n is greater than or equal to 2 (5)
[0324] Where n represents the order of the basis function.
[0325] The GNSS satellite position can be expressed using a basis function. For example, when the basis function is the above formula (5), the satellite position can be:
[0326]
[0327] Here, x(t), y(t), and z(t) represent the three-dimensional position of the satellite.
[0328] The process of the server using the polynomial to fit the predicted orbit into the polynomial coefficients may include:
[0329] First, the server samples and segments the predicted trajectory at equal intervals to obtain segmentation results. The introduction of sampling and segmentation can be found in the relevant content of step S503 above, and will not be repeated here.
[0330] Then, after selecting an appropriate basis function order n, the server uses the basis function to represent the satellite position of each sampling point to determine the basis function coefficient corresponding to the satellite position of each sampling point.
[0331] For example, the segmentation results of a certain predicted track are shown in Table 2. The above formula (6) is used to represent T0, T1, ..., T 48 The predicted orbit position corresponding to the time, and based on the X coordinate value, Y coordinate value and Z coordinate value corresponding to each time, determine T0, T1, ..., T 48 The basis function coefficients corresponding to the moment.
[0332] In addition, the server fits the predicted clock error into clock error parameters.
[0333] Step S1104: The server sends the polynomial coefficients and clock error parameters to the terminal device.
[0334] It is understood that the terminal device can obtain the predicted orbit and predicted clock error from the server through a network request. After receiving the request from the terminal device, the server can respond to the request and send the polynomial coefficients and clock error parameters to the terminal device.
[0335] Specifically, the terminal device receives the polynomial coefficients and clock error parameters from the generator. After obtaining the polynomial coefficients, the terminal device can calculate the satellite clock error of the visible GNSS satellite based on the clock error parameters, calculate the position of the GNSS satellite based on the basis function and the polynomial coefficients, and calculate the speed of the GNSS satellite based on the polynomial coefficients and the derivative of the basis function.
[0336] Among them, the basis function derivative can be exemplified as:
[0337] F0(x)=0,F1(x)=1,F n (x) = 2T n-1 (x)+2xF n-1 (x)-F n-2 (x), n greater than or equal to 2 (7)
[0338] Using the basis function derivative shown in formula (7), the GNSS satellite velocity can be calculated as shown in formula (8):
[0339]
[0340] It should be noted that using a polynomial model to fit the predicted orbit into polynomial coefficients can reduce the amount of calculation, calculation time and GNSS chip power consumption during the terminal device positioning process.
[0341] Specifically, when the server uses Kepler parameters to segment the predicted orbit and fit it into broadcast ephemeris parameters, the terminal device will calculate the position and velocity of all visible GNSS satellites based on the broadcast ephemeris parameters after receiving the broadcast ephemeris parameters from the server. On the one hand, the process of the terminal device calculating the position and velocity of a single GNSS satellite based on the broadcast ephemeris parameters involves many complex floating-point operations, which leads to a large amount of computation and occupies a lot of processor resources. On the other hand, the number of visible GNSS satellites in each positioning epoch is currently as high as 50 or even more. The more GNSS satellites there are, the greater the amount of computation. For example, assuming that the terminal device locates once per second, the terminal device needs to perform more than 50 GNSS satellite position and velocity calculation processes per second. The computational complexity is very large and the power consumption is high.
[0342] In other words, the terminal device calculates the position and speed of the GNSS satellite based on the broadcast ephemeris parameters, which requires a large amount of calculation, takes a long time, and causes high power consumption of the GNSS chip.
[0343] The embodiment of the present application uses a polynomial model to fit the predicted orbit segments into polynomial coefficients. After the terminal device receives the polynomial coefficients, it only needs to calculate the position of the GNSS satellite based on the polynomial coefficients and the basis function, and the satellite speed can be calculated based on the polynomial coefficients and the derivatives of the basis function. The calculation process involves fewer floating-point operations, which reduces the amount of calculations, reduces the calculation time, and thus reduces the power consumption of the GNSS chip.
[0344] Furthermore, during the segmented fitting of the predicted orbit, the fitting error increases as the fitting time increases. To ensure accuracy, the fitting time for each set of broadcast ephemeris parameters in the existing AGNSS and PGNSS schemes is typically four hours.
[0345] In the embodiment of the present application, the predicted orbit is fitted piecewise using a polynomial model. When the basis function order n is 18, under the same accuracy, the validity period of each set of parameters can be up to 12 hours, which means that the GNSS chip can adopt a lower parameter update frequency.
[0346] As can be seen from the above, for the terminal device side, the embodiment of the present application fits the predicted orbit into polynomial coefficients through a polynomial model, which effectively reduces the amount of computation in the terminal device positioning process and thereby reduces the power consumption in the GNSS positioning process.
[0347] Furthermore, the embodiments of the present application also provide an improved satellite orbit prediction process, which improves the accuracy of satellite orbit prediction.
[0348] Furthermore, the embodiments of the present application also provide an improved satellite clock error prediction process, which improves the accuracy and reliability of satellite clock error prediction.
[0349] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0350] The embodiment of the present application can divide the terminal and the server into functional modules according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function:
[0351] See also Figure 12 The following is a schematic block diagram of the structure of an ephemeris prediction device provided in an embodiment of the present application. The ephemeris prediction device can be applied to a server and may include:
[0352] The first acquisition module 121 is configured to acquire EOP data and historical ephemeris data of a preset period.
[0353] The first prediction module 122 is used to predict satellite orbits and satellite clock errors based on EOP data and historical ephemeris data, and obtain predicted orbits and predicted clock errors for a preset time period in the future.
[0354] The orbital parameter encoding module 123 is used to fit the predicted orbit into orbital parameters, and then encode the orbital parameters of the satellites belonging to the same orbital plane to obtain the orbital parameter code of each orbital plane;
[0355] A clock error parameter encoding module 124 is configured to fit the predicted clock error into clock error parameters and then encode the clock error parameters to obtain clock error parameter codes;
[0356] The first sending module 125 is configured to send an ephemeris parameter code to the terminal device, where the ephemeris parameter code includes a clock error parameter code and an orbit parameter code of each orbital plane.
[0357] In some possible implementations, the first forecasting module 122 specifically includes:
[0358] The first orbit prediction unit is used to predict the satellite orbit based on the satellite orbit data and the EOP data to obtain the predicted orbit for a preset time period in the future;
[0359] A first clock error prediction unit is used to perform clock error prediction based on satellite clock error data to obtain a predicted clock error for a preset time period in the future;
[0360] Among them, historical ephemeris data includes satellite orbit data and satellite clock error data.
[0361] In some possible implementations, the first orbit prediction unit is specifically configured to: convert, based on EOP data, satellite position information in an earth-fixed system in the satellite orbit data into satellite position information in an inertial system; determine, based on the correspondence between satellite type and solar pressure model, a target solar pressure model used by each satellite in the satellite orbit data; establish, based on the target solar pressure model of each satellite and the satellite position information in the inertial system, a satellite motion equation and a variational equation for each satellite; obtain, based on the satellite motion equation and variational equation for each satellite, a reference orbital position and a state transfer matrix for each satellite at each time by using numerical integration; obtain, based on the satellite orbit data, the reference orbital position, and the state transfer matrix, satellite orbital state parameters of each satellite at a reference time by using a least squares global solution; obtain, based on the satellite orbital state parameters at the reference time and the satellite dynamics model, a satellite orbit for a preset time period in the future by using numerical integration; and convert, based on the EOP data, the satellite orbit for the preset time period in the future from an inertial system to an earth-fixed system to obtain a predicted orbit for the preset time period in the future.
[0362] In some possible implementations, the correspondence between the above-mentioned satellite types and solar pressure models may include: the solar pressure model corresponding to GPS satellites or GLNOSS satellites is: ECOM5 parameter model; the solar pressure model corresponding to Galileo satellites is: box-wing initial pressure model and ECOM5 parameter model; the solar pressure model corresponding to Beidou GEO satellites is: initial pressure model, ECOM5 parameter model and periodic empirical acceleration parameters; the solar pressure model corresponding to QZSS satellites is: initial pressure model and ECOM5 parameter model.
[0363] In some possible implementations, the satellite orbit data may include precise orbit products for two consecutive days.
[0364] In some possible implementations, the above-mentioned first clock error prediction unit is specifically used to: correct the baseline deviation of the precise ephemeris clock error data based on the broadcast ephemeris clock error data to obtain the corrected precise ephemeris clock error data, and the satellite clock error data includes the broadcast ephemeris clock error data and the precise ephemeris clock error data; according to the single-day clock error data in the corrected precise ephemeris clock error data of each satellite, fit the single-day clock rate of each satellite; based on the single-day clock rate of each satellite, obtain the clock rate time series of each satellite; according to the clock rate time series of each satellite, fit the clock rate change rate of each satellite; according to the clock error initial value, clock rate and clock rate change rate of each satellite, obtain the predicted clock error of each satellite in the future preset time period.
[0365] In some possible implementations, the first clock error prediction unit is specifically used to: subtract the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence of the same epoch to obtain a difference sequence for each epoch, wherein the broadcast ephemeris clock error data includes the broadcast ephemeris clock error sequence of each epoch, and the precise ephemeris clock error data includes the precise ephemeris clock error sequence of each epoch; determine the average value and standard deviation of each difference sequence; for each difference sequence, remove the difference points in the difference sequence that do not meet the preset conditions according to the average value and the standard deviation to obtain a target difference sequence; calculate the benchmark deviation according to the target difference sequence; and subtract the precise ephemeris clock error data from the benchmark deviation to obtain corrected precise ephemeris clock error data.
[0366] In some possible implementations, the first clock error prediction unit is specifically configured to: determine whether each difference point in the difference sequence satisfies the following conditions based on the mean value and the standard deviation: Where x is the difference point in the difference sequence, μ is the mean of the difference sequence, and δ is the standard deviation of the difference sequence. If the conditions are met, it is determined that the difference point does not meet the preset conditions, and the difference points that do not meet the preset conditions are removed to obtain the difference sequence after the difference points are removed. After determining the mean and standard deviation of the difference sequence after the difference points are removed, the difference sequence after the difference points are removed is used as the difference sequence, and the average value and standard deviation are returned to determine whether each difference point in the difference sequence meets the conditions. until no difference point in the difference sequence meets the preset condition, and then the difference sequence in which no difference point meets the preset condition is used as the target difference sequence.
[0367] In some possible implementations, the first clock error prediction unit is specifically configured to: fit the clock speed time series for each satellite using a sliding window; during the sliding process of the sliding window, whenever the number of clock speeds in the sliding window is greater than or equal to a preset number, predict the clock speed at the next moment based on the clock speed in the sliding window at the current moment and the fitting result obtained by the previous fitting; when the difference between the predicted clock speed at the next moment and the clock speed to be added to the sliding window is less than or equal to a first preset threshold, add the clock speed to be added to the sliding window to the sliding window, and then calculate the predicted clock speed according to the sliding window. The clock speed in the mouth is fitted to obtain the clock speed change rate at that time, and the fitting residual is obtained; if the fitting residual is less than or equal to the second preset threshold, the clock speed change rate at that time is used as the clock speed change rate; if the fitting residual is greater than the second preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold; when the difference between the clock speed at the next moment and the clock speed to be added to the sliding window is greater than the first preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold.
[0368] The above-mentioned ephemeris prediction device has the function of implementing the above-mentioned ephemeris prediction method. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions, and the modules can be software and / or hardware.
[0369] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / modules are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.
[0370] See also Figure 13 Another schematic block diagram of the structure of the ephemeris prediction device provided in an embodiment of the present application is shown. The ephemeris prediction device can be applied to a server and may include:
[0371] The second acquisition module 131 is used to acquire EOP data and historical ephemeris data of a preset period.
[0372] The second prediction module 132 is used to predict satellite orbits and satellite clock errors based on EOP data and historical ephemeris data, and obtain predicted orbits and predicted clock errors for a preset time period in the future.
[0373] The clock error fitting module 133 is used to fit the predicted clock error into clock error parameters.
[0374] The polynomial fitting module 134 is used to fit the predicted orbit into polynomial coefficients using a polynomial model.
[0375] The second sending module 135 is configured to send clock error parameters and polynomial coefficients to the terminal device.
[0376] In some possible implementations, the polynomial fitting module 134 is specifically used to: perform equal-interval sampling on the predicted orbit of each satellite to obtain the sampled predicted orbit of each satellite; segment the sampled predicted orbit of each satellite; fit each segment of the predicted orbit of each satellite according to the basis function and the order of the basis function, determine the basis function coefficients, and use the basis function coefficients as polynomial coefficients, where the polynomial coefficient model includes the basis function.
[0377] In some possible implementations, the basis functions of the polynomial model are: T0(x)=1, T1(x)=x, T n (x) = 2xT n-1 (x)-T n-2 (x), n is greater than or equal to 2, where n represents the order of the basis function.
[0378] In some possible implementations, the second forecasting module 132 includes:
[0379] The second orbit prediction unit is used to predict the satellite orbit based on the satellite orbit data and the EOP data to obtain the predicted orbit for a preset time period in the future;
[0380] The second clock error prediction unit is used to perform clock error prediction based on satellite clock error data to obtain a predicted clock error for a preset time period in the future;
[0381] Among them, ephemeris data includes satellite orbit data and satellite clock error data.
[0382] In some possible implementations, the second orbit prediction unit is specifically configured to: convert, based on EOP data, satellite position information in the Earth-fixed system in the satellite orbit data into satellite position information in the inertial system; determine, based on the correspondence between satellite type and solar pressure model, a target solar pressure model used by each satellite in the satellite orbit data; establish, based on the target solar pressure model of each satellite and the satellite position information in the inertial system, a satellite motion equation and a variational equation for each satellite; obtain, based on the satellite motion equation and variational equation for each satellite, a reference orbital position and a state transfer matrix for each satellite at each time by using numerical integration; obtain, based on the satellite orbit data, the reference orbital position, and the state transfer matrix, satellite orbital state parameters of each satellite at a reference time by using a least squares global solution; obtain, based on the satellite orbital state parameters at the reference time and the satellite dynamics model, a satellite orbit for a preset time period in the future by using numerical integration; and convert, based on the EOP data, the satellite orbit for the preset time period in the future from the inertial system to the Earth-fixed system to obtain a predicted orbit for the preset time period in the future.
[0383] In some possible implementations, the correspondence between the above-mentioned satellite types and solar pressure models may include: the solar pressure model corresponding to GPS satellites or GLNOSS satellites is: ECOM5 parameter model; the solar pressure model corresponding to Galileo satellites is: box-wing initial pressure model and ECOM5 parameter model; the solar pressure model corresponding to Beidou GEO satellites is: initial pressure model, ECOM5 parameter model and periodic empirical acceleration parameters; the solar pressure model corresponding to QZSS satellites is: initial pressure model and ECOM5 parameter model.
[0384] In some possible implementations, the satellite orbit data includes precise orbit products for two consecutive days.
[0385] In some possible implementations, the above-mentioned second clock error prediction unit is specifically used to: correct the baseline deviation of the precise ephemeris clock error data based on the broadcast ephemeris clock error data to obtain the corrected precise ephemeris clock error data, and the satellite clock error data includes the broadcast ephemeris clock error data and the precise ephemeris clock error data; according to the single-day clock error data in the corrected precise ephemeris clock error data of each satellite, fit the single-day clock speed of each satellite; based on the single-day clock speed of each satellite, obtain the clock speed time series of each satellite; according to the clock speed time series of each satellite, fit the clock speed change rate of each satellite; according to the clock error initial value, clock speed and clock speed change rate of each satellite, obtain the predicted clock error of each satellite in the future preset time period.
[0386] In some possible implementations, the second clock error prediction unit is specifically used to: subtract the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence of the same epoch to obtain a difference sequence for each epoch, wherein the broadcast ephemeris clock error data includes the broadcast ephemeris clock error sequence of each epoch, and the precise ephemeris clock error data includes the precise ephemeris clock error sequence of each epoch; determine the average value and standard deviation of each difference sequence; for each difference sequence, remove the difference points in the difference sequence that do not meet the preset conditions according to the average value and the standard deviation to obtain a target difference sequence; calculate the benchmark deviation according to the target difference sequence; and subtract the precise ephemeris clock error data from the benchmark deviation to obtain corrected precise ephemeris clock error data.
[0387] In some possible implementations, the second clock error prediction unit is specifically configured to: determine whether each difference point in the difference sequence satisfies the following conditions based on the mean value and the standard deviation: Where x is the difference point in the difference sequence, μ is the mean of the difference sequence, and δ is the standard deviation of the difference sequence. If the conditions are met, it is determined that the difference point does not meet the preset conditions, and the difference points that do not meet the preset conditions are removed to obtain the difference sequence after the difference points are removed. After determining the mean and standard deviation of the difference sequence after the difference points are removed, the difference sequence after the difference points are removed is used as the difference sequence, and the average value and standard deviation are returned to determine whether each difference point in the difference sequence meets the conditions. until no difference point in the difference sequence meets the preset condition, and then the difference sequence in which no difference point meets the preset condition is used as the target difference sequence.
[0388] In some possible implementations, the second clock error prediction unit is specifically configured to: fit the clock speed time series for each satellite using a sliding window; during the sliding process of the sliding window, whenever the number of clock speeds in the sliding window is greater than or equal to a preset number, predict the clock speed at the next moment based on the clock speed in the sliding window at the current moment and the fitting result obtained by the previous fitting; when the difference between the predicted clock speed at the next moment and the clock speed to be added to the sliding window is less than or equal to a first preset threshold, add the clock speed to be added to the sliding window to the sliding window, and then calculate the predicted clock speed according to the sliding window. The clock speed in the mouth is fitted to obtain the clock speed change rate at that time, and the fitting residual is obtained; if the fitting residual is less than or equal to the second preset threshold, the clock speed change rate at that time is used as the clock speed change rate; if the fitting residual is greater than the second preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold; when the difference between the clock speed at the next moment and the clock speed to be added to the sliding window is greater than the first preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold.
[0389] The above-mentioned ephemeris prediction device has the function of implementing the above-mentioned ephemeris prediction method. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions, and the modules can be software and / or hardware.
[0390] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / modules are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.
[0391] See also Figure 14 Another schematic block diagram of the structure of the ephemeris prediction device provided in an embodiment of the present application is shown. The ephemeris prediction device can be applied to a terminal device. The ephemeris prediction device may include:
[0392] The receiving module 141 is configured to receive polynomial coefficients and clock error parameters from a server.
[0393] The first determination module 142 is configured to determine the position and velocity of the visible GNSS satellites based on the polynomial coefficients.
[0394] A second determining module 143 is configured to determine the clock errors of the visible GNSS satellites based on the clock error parameters;
[0395] The third determination module 144 is configured to determine the current position and / or velocity based on the positions, velocities, and clock errors of the visible GNSS satellites.
[0396] In some possible implementations, the first determining module 142 is specifically configured to:
[0397] Determine the positions of visible GNSS satellites based on the polynomial coefficients and the basis functions of the polynomial model;
[0398] The velocities of visible GNSS satellites are determined based on the polynomial coefficients and the derivatives of the basis functions of the polynomial model.
[0399] Among them, the basis function of the above polynomial model is:
[0400] T0(x)=1,T1(x)=x,T n (x) = 2xT n-1 (x)-T n-2 (x), n is greater than or equal to 2.
[0401] Where n represents the order of basis function;
[0402] Based on the basis function, the position of the GNSS satellite is:
[0403]
[0404] Here, x(t), y(t), and z(t) represent the three-dimensional position of the satellite.
[0405] The basis function derivatives are:
[0406] F0(x)=0,F1(x)=1,F n (x) = 2T n-1 (x)+2xF n-1 (x)-F n-2 (x), n is greater than or equal to 2.
[0407] Based on the basis function derivatives, the velocity of the GNSS satellite is:
[0408]
[0409] The above-mentioned ephemeris prediction device has the function of implementing the above-mentioned ephemeris prediction method. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions, and the modules can be software and / or hardware.
[0410] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / modules are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.
[0411] The terminal device provided in an embodiment of the present application may include a memory, a processor, and a computer program stored in the memory and run on the processor. When the processor executes the computer program, it implements any method in the above-mentioned embodiment of the ephemeris prediction method on the terminal device side.
[0412] An embodiment of the present application provides a server, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the server implements any one of the methods in the above-mentioned server-side ephemeris prediction method embodiments.
[0413] The present application also provides an ephemeris prediction system, comprising a server and a terminal device, wherein the server is configured to implement any of the methods described in the server-side ephemeris prediction method embodiments. The terminal device is configured to implement any of the methods described in the terminal-side ephemeris prediction method embodiments.
[0414] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.
[0415] An embodiment of the present application provides a computer program product. When the computer program product is run on an electronic device, the electronic device can implement the steps in the above-mentioned method embodiments when executing the computer program product.
[0416] The present application also provides a chip system, comprising a processor coupled to a memory, and executing a computer program stored in the memory to implement the methods described in the above method embodiments. The chip system can be a single chip or a chip module composed of multiple chips.
[0417] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts that are not described or recorded in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. It should be understood that the size of the sequence numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. In addition, in the description of this application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish descriptions and should not be understood as indicating or implying relative importance. References to "one embodiment" or "some embodiments" in the description of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized.
[0418] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A method for ephemeris prediction, characterized in that: Applied to a server, the method includes: Obtain Earth Orientation Parameters (EOP) data and historical ephemeris data for a preset period; Perform satellite orbit prediction and satellite clock error prediction based on the EOP data and the historical ephemeris data to obtain a predicted orbit and predicted clock error for a preset time period in the future; After fitting the predicted orbit into orbital parameters, encoding the orbital parameters of satellites belonging to the same orbital plane to obtain orbital parameter codes for each orbital plane; After fitting the predicted clock error into clock error parameters, encoding the clock error parameters to obtain clock error parameter codes; Sending ephemeris parameter codes to a terminal device, wherein the ephemeris parameter codes include the clock error parameter codes and the orbital parameter codes of each orbital plane.
2. The method according to claim 1, characterized in that The performing of satellite orbit prediction and satellite clock error prediction based on the EOP data and the historical ephemeris data to obtain a predicted orbit and predicted clock error for a future preset time period includes: Performing satellite orbit prediction based on the satellite orbit data and the EOP data to obtain the predicted orbit for the future preset time period; Performing clock error prediction based on satellite clock error data to obtain the predicted clock error for the future preset time period; The historical ephemeris data includes the satellite orbit data and the satellite clock error data.
3. The method according to claim 2, characterized in that The performing of satellite orbit prediction based on the satellite orbit data and the EOP data to obtain the predicted orbit for the future preset time period includes: Converting satellite position information in the Earth-fixed frame in the satellite orbit data into satellite position information in the inertial frame according to the EOP data; Determining a target solar pressure model used by each satellite in the satellite orbit data according to a correspondence between satellite type and solar pressure model; Establishing a satellite motion equation and a variational equation for each satellite based on the target solar pressure model of each satellite and the satellite position information in the inertial system; Based on the satellite motion equation and the variational equation of each satellite, a reference orbital position and a state transfer matrix of each satellite at each moment are obtained by using a numerical integration method; Based on the satellite orbit data, the reference orbit position and the state transition matrix, obtaining the satellite orbit state parameters of each satellite at the reference time by a least squares global solution method; Obtaining the satellite orbit of each satellite within the future preset time period by numerical integration according to the satellite orbit state parameters of each satellite at the reference time and the satellite dynamics model of each satellite; According to the EOP data, the satellite orbit of each satellite in the future preset time period is converted from an inertial system to an earth-fixed system to obtain a predicted orbit of each satellite in the future preset time period.
4. The method according to claim 3, characterized in that The correspondence between satellite types and solar pressure models includes: The solar pressure model corresponding to GPS satellites or GLNOSS satellites is: ECOM5 parameter model; The solar pressure models corresponding to the Galileo satellites are: box-wing initial solar pressure model and ECOM5 parameter model; The solar pressure model corresponding to the BeiDou GEO satellite is: initial solar pressure model, ECOM5 parameter model and periodic empirical acceleration parameters; The solar pressure models corresponding to the QZSS satellite are: initial solar pressure model and ECOM5 parameter model.
5. The method according to claim 2, characterized in that The satellite orbit data includes precise orbit products for two consecutive days.
6. The method according to any one of claims 2 to 5, characterized in that The performing clock error prediction based on the satellite clock error data to obtain the predicted clock error for the future preset time period includes: Based on the broadcast ephemeris clock error data, correcting the reference deviation of the precise ephemeris clock error data to obtain corrected precise ephemeris clock error data, the satellite clock error data including the broadcast ephemeris clock error data and the precise ephemeris clock error data; fitting the single-day clock velocity of each satellite based on the single-day clock error data in the corrected precise ephemeris clock error data of each satellite; Based on the single-day clock speed of each satellite, obtain a clock speed time series of each satellite; According to the clock speed time series of each satellite, fitting is performed to obtain the clock speed change rate of each satellite; The predicted clock error of each satellite within the future preset time period is obtained based on the initial value of the clock error, the clock speed and the clock speed change rate of each satellite.
7. The method according to claim 6, characterized in that The method of correcting the reference deviation of the precise ephemeris clock error data based on the broadcast ephemeris clock error data to obtain the corrected precise ephemeris clock error data includes: Subtracting the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence of the same epoch to obtain a difference sequence for each epoch, wherein the broadcast ephemeris clock error data includes the broadcast ephemeris clock error sequence for each epoch, and the precise ephemeris clock error data includes the precise ephemeris clock error sequence for each epoch; determining the mean and standard deviation of each of said difference sequences; For each difference sequence, removing difference points that do not meet preset conditions in the difference sequence according to the mean value and the standard deviation to obtain a target difference sequence; Calculating a benchmark deviation based on the target difference sequence; The precise ephemeris clock error data is subtracted from the reference deviation to obtain the corrected precise ephemeris clock error data.
8. The method according to claim 7, characterized in that The step of removing difference points that do not meet preset conditions from the difference sequence according to the mean value and the standard deviation to obtain a target difference sequence includes: Based on the mean value and the standard deviation, it is determined whether each difference point in the difference sequence meets the Where x is the difference point in the difference sequence, μ is the mean of the difference sequence, and δ is the standard deviation of the difference sequence; If the condition is satisfied, it is determined that the difference point does not meet the preset condition, and the difference point that does not meet the preset condition is removed to obtain a difference sequence after the difference points are removed; After determining the mean value and standard deviation of the difference sequence after removing the difference points, the difference sequence after removing the difference points is used as the difference sequence, and returning to judge whether each difference point in the difference sequence meets the requirements based on the mean value and the standard deviation. until no difference point in the difference sequence meets the preset condition, and then the difference sequence in which no difference point meets the preset condition is used as the target difference sequence.
9. The method according to claim 6, characterized in that The fitting of the clock speed change rate of each satellite based on the clock speed time series of each satellite includes: For each satellite, fitting the clock rate time series using a sliding window; During the sliding process of the sliding window, whenever the number of clock speeds in the sliding window is greater than or equal to a preset number, the clock speed at the next moment is predicted based on the clock speed in the sliding window at the current moment and the fitting result obtained by the previous fitting; When the difference between the predicted clock speed at the next moment and the clock speed to be added to the sliding window is less than or equal to a first preset threshold, the clock speed to be added to the sliding window is added to the sliding window, and a fitting residual is obtained based on the clock speed in the sliding window to obtain a rate of change of the clock speed at that moment; If the fitting residual is less than or equal to a second preset threshold, the clock speed change rate of that time is used as the clock speed change rate; If the fitting residual is greater than the second preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold; When the difference between the clock speed at the next moment and the clock speed to be added to the sliding window is greater than the first preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the second preset threshold.
10. A method for ephemeris prediction, characterized in that: Applied to a server, the method includes: Obtain EOP data and historical ephemeris data for a preset period; Perform satellite orbit prediction and satellite clock error prediction based on the EOP data and the historical ephemeris data to obtain a predicted orbit and predicted clock error for a preset time period in the future; Fitting the predicted clock error into clock error parameters; Using a polynomial model, fitting the predicted orbit into polynomial coefficients; Sending the clock error parameter and the polynomial coefficient to a terminal device; The step of performing satellite orbit prediction and satellite clock error prediction based on the EOP data and the historical ephemeris data to obtain a predicted orbit and predicted clock error for a preset time period in the future includes: Performing satellite orbit prediction based on the satellite orbit data and the EOP data to obtain the predicted orbit for the future preset time period; Performing clock error prediction based on satellite clock error data to obtain the predicted clock error for the future preset time period; The historical ephemeris data includes the satellite orbit data and the satellite clock error data; the satellite orbit data includes precise orbit products for two consecutive days.
11. The method according to claim 10, characterized in that The method of fitting the predicted orbit into polynomial coefficients using a polynomial model includes: Sampling the predicted orbit of each satellite at equal intervals to obtain the sampled predicted orbit of each satellite; Segmenting the sampled predicted orbit of each satellite; Each predicted orbit of each satellite is fitted according to a basis function and the order of the basis function, basis function coefficients are determined, and the basis function coefficients are used as the polynomial coefficients. The polynomial coefficient model includes the basis function.
12. The method according to claim 10, characterized in that The performing of satellite orbit prediction based on the satellite orbit data and the EOP data to obtain the predicted orbit for the future preset time period includes: Converting satellite position information in the Earth-fixed frame in the satellite orbit data into satellite position information in the inertial frame according to the EOP data; Determining a target solar pressure model used by each satellite in the satellite orbit data according to a correspondence between satellite type and solar pressure model; Establishing a satellite motion equation and a variational equation for each satellite based on the target solar pressure model of each satellite and the satellite position information in the inertial system; Based on the satellite motion equation and the variational equation of each satellite, a reference orbital position and a state transfer matrix of each satellite at each moment are obtained by using a numerical integration method; Based on the satellite orbit data, the reference orbit position and the state transition matrix, obtaining the satellite orbit state parameters of each satellite at the reference time by a least squares global solution method; According to the satellite orbit state parameters at the reference time and the satellite dynamics model, the satellite orbit for the future preset time period is obtained by numerical integration; The satellite orbit for the future preset time period is converted from an inertial system to an earth-fixed system according to the EOP data to obtain a predicted orbit for the future preset time period.
13. The method according to claim 12, characterized in that The correspondence between satellite types and solar pressure models includes: The solar pressure model corresponding to GPS satellites or GLNOSS satellites is: ECOM5 parameter model; The solar pressure models corresponding to the Galileo satellites are: box-wing initial solar pressure model and ECOM5 parameter model; The solar pressure model corresponding to the BeiDou GEO satellite is: initial solar pressure model, ECOM5 parameter model and periodic empirical acceleration parameters; The solar pressure models corresponding to the QZSS satellite are: initial solar pressure model and ECOM5 parameter model.
14. The method according to any one of claims 10 to 13, characterized in that Performing clock error prediction based on satellite clock error data to obtain the predicted clock error for the future preset time period includes: Based on the broadcast ephemeris clock error data, correcting the reference deviation of the precise ephemeris clock error data to obtain corrected precise ephemeris clock error data, the satellite clock error data including the broadcast ephemeris clock error data and the precise ephemeris clock error data; fitting the single-day clock velocity of each satellite based on the single-day clock error data in the corrected precise ephemeris clock error data of each satellite; Based on the single-day clock speed of each satellite, obtain a clock speed time series of each satellite; According to the clock speed time series of each satellite, fitting is performed to obtain the clock speed change rate of each satellite; The predicted clock error of each satellite within the future preset time period is obtained based on the initial value of the clock error, the clock speed and the clock speed change rate of each satellite.
15. The method according to claim 14, characterized in that The method of correcting the reference deviation of the precise ephemeris clock error data based on the broadcast ephemeris clock error data to obtain the corrected precise ephemeris clock error data includes: Subtracting the broadcast ephemeris clock error sequence and the precise ephemeris clock error sequence of the same epoch to obtain a difference sequence for each epoch, wherein the broadcast ephemeris clock error data includes the broadcast ephemeris clock error sequence for each epoch, and the precise ephemeris clock error data includes the precise ephemeris clock error sequence for each epoch; determining the mean and standard deviation of each of said difference sequences; For each difference sequence, removing difference points that do not meet preset conditions in the difference sequence according to the mean value and the standard deviation to obtain a target difference sequence; Calculating a benchmark deviation based on the target difference sequence; The precise ephemeris clock error data is subtracted from the reference deviation to obtain the corrected precise ephemeris clock error data.
16. The method according to claim 15, characterized in that The step of removing difference points that do not meet preset conditions from the difference sequence according to the mean value and the standard deviation to obtain a target difference sequence includes: Based on the mean value and the standard deviation, it is determined whether each difference point in the difference sequence meets the Where x is the difference point in the difference sequence, μ is the mean of the difference sequence, and δ is the standard deviation of the difference sequence; If the condition is satisfied, it is determined that the difference point does not meet the preset condition, and the difference point that does not meet the preset condition is removed to obtain a difference sequence after the difference points are removed; After determining the mean value and standard deviation of the difference sequence after removing the difference points, the difference sequence after removing the difference points is used as the difference sequence, and returning to judge whether each difference point in the difference sequence meets the requirements based on the mean value and the standard deviation. until no difference point in the difference sequence meets the preset condition, and then the difference sequence in which no difference point meets the preset condition is used as the target difference sequence.
17. The method according to claim 14, characterized in that The fitting of the clock speed change rate of each satellite based on the clock speed time series of each satellite includes: For each satellite, fitting the clock rate time series using a sliding window; During the sliding process of the sliding window, whenever the number of clock speeds in the sliding window is greater than or equal to a preset number, the clock speed at the next moment is predicted based on the clock speed in the sliding window at the current moment and the fitting result obtained by the previous fitting; When the difference between the predicted clock speed at the next moment and the clock speed to be added to the sliding window is less than or equal to a first preset threshold, the clock speed to be added to the sliding window is added to the sliding window, and a fitting residual is obtained based on the clock speed in the sliding window to obtain a rate of change of the clock speed at that moment; If the fitting residual is less than or equal to a second preset threshold, the clock speed change rate of that time is used as the clock speed change rate; If the fitting residual is greater than the second preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the first preset threshold; When the difference between the clock speed at the next moment and the clock speed to be added to the sliding window is greater than the first preset threshold, the sliding window is reset and continues to slide forward until the clock speed time series is traversed or the fitting residual is less than or equal to the first preset threshold.
18. A method for ephemeris prediction, characterized in that: Applied to a terminal device, the method includes: Receive polynomial coefficients and clock error parameters from the server; determining positions and velocities of visible GNSS satellites based on the polynomial coefficients; Determining the clock error of the visible GNSS satellite according to the clock error parameter; Determine the current position and / or velocity based on the position, velocity, and clock error of the visible GNSS satellites; Among them, the polynomial coefficients are obtained by the server fitting the predicted orbit using a polynomial model. The predicted orbit is the predicted orbit for a future preset time period obtained by the server predicting the satellite orbit based on the satellite orbit data and EOP data. The satellite orbit data includes precise orbit products for two consecutive days.
19. The method according to claim 18, characterized in that Determining the position and velocity of the visible GNSS satellites according to the polynomial coefficients includes: determining positions of the visible GNSS satellites based on the polynomial coefficients and basis functions of the polynomial model; The velocities of the visible GNSS satellites are determined based on the polynomial coefficients and derivatives of basis functions of the polynomial model.
20. A server comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 9 or 10 to 17 is implemented.
21. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method according to any one of claims 18 to 19 is implemented.
22. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 9, 10 to 17, or 18 to 19 is implemented.
Citation Information
Patent Citations
Method for determining position and speed of terminal equipment by using navigation satellite and electronic device
CN113740891A