A method, device, storage medium and equipment for detecting satellite clock error jump
The method enhances satellite clock error detection by using a quadratic difference test to identify small and continuous gross errors and clock jumps, improving the accuracy of satellite clock error detection and ensuring high-precision positioning.
Patent Information
- Application Number
- CN202210821771.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-13
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2042-07-13
AI Technical Summary
Existing methods for detecting satellite clock error jumps have low accuracy in identifying gross errors and clock jumps, leading to inaccurate satellite clock characteristic analysis and positioning results.
A method involving obtaining satellite clock error data, determining observation epoch counts, calculating the secondary difference test value, and setting a threshold based on the satellite clock error accuracy to detect clock jumps or gross errors, using a quadratic difference test to enhance detection sensitivity.
The method effectively identifies small and continuous gross errors and clock jumps, improving the accuracy of satellite clock error detection and ensuring high-precision positioning by amplifying the detection of abnormal values.
Smart Images

Figure CN115201864B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of satellite clock error detection, and in particular to a method, device, storage medium and equipment for detecting satellite clock error jump. Background Art
[0002] When using the Global Navigation Satellite System (GNSS) for high-precision positioning, the Precise Point Positioning (PPP) technology has the advantages of high positioning accuracy, convenient data collection, and simple data processing, and has become an important means of high-precision positioning services in recent years. PPP technology refers to the use of high-precision satellite ephemeris and clock error products that are solved in real time or after the fact, and the accurate correction of various errors through model correction, parameter estimation, random model control and other methods, and the use of pseudo-range and phase observations for positioning and solving, to achieve a single-station high-precision absolute positioning method. Among them, high-precision and accurate satellite clock error products are the basis of satellite navigation positioning and the guarantee for PPP technology to obtain high-precision positioning results. Because in GNSS navigation positioning, the distance from the satellite to the receiver is determined based on the propagation time of the satellite signal. Since the propagation speed of the signal is the speed of light, the measurement error caused by the nanosecond clock error is at least tens of centimeters, so in high-precision positioning, the clock error needs to be eliminated.
[0003] However, if the abnormal values in the satellite clock error data cannot be properly handled during the clock error processing, it will seriously affect the satellite clock characteristic analysis, clock error prediction accuracy and positioning result accuracy. Therefore, the preprocessing of satellite clock error data is the premise and basis for satellite clock stability analysis, clock error prediction and high-precision positioning, making the detection of satellite clock error abnormal data particularly important. However, the detection results and accuracy of the existing satellite clock error abnormal data detection methods are not accurate. Summary of the invention
[0004] In view of the above shortcomings of the prior art, the present invention provides a method, device, storage medium and equipment for detecting satellite clock difference jumps, so as to improve the problem that the existing clock difference jump method has low detection accuracy for gross errors.
[0005] To achieve the above-mentioned object and other related objects, the present invention provides a method for detecting satellite clock error jump, comprising:
[0006] Get the satellite clock error data of the current epoch;
[0007] performing a detection step;
[0008] The detection step comprises:
[0009] Determining whether the satellite's observed epoch count meets a set condition based on the satellite clock difference data;
[0010] When the satellite's observation epoch count meets the set conditions, the epoch-to-epoch quadratic difference test value when the satellite is at the current observation epoch count is obtained;
[0011] Determine whether the satellite clock error data has clock jumps or gross errors based on the secondary difference test value;
[0012] Output the detection results.
[0013] In one embodiment of the present invention, the step of determining whether the observation epoch count of a satellite meets set conditions includes: determining whether the satellite is a first epoch observation satellite, if so, setting the epoch observation count of the satellite to 1; if not, adding 1 to the epoch observation count of the satellite, and determining whether the epoch observation count is greater than or equal to a counting threshold.
[0014] In one embodiment of the present invention, judging whether the satellite clock error data has clock jumps or gross errors based on the secondary difference check value includes: judging whether the secondary difference check value is greater than a check threshold, and if so, clock jumps or gross errors exist in the satellite clock error data and are marked.
[0015] In one embodiment of the present invention, the check threshold is set based on N times the satellite clock error accuracy, where N is an integer greater than or equal to 2 and less than 10.
[0016] In one embodiment of the present invention, obtaining satellite clock error data of the current epoch includes: obtaining satellite clock error data of all satellites of the current epoch.
[0017] In one embodiment of the present invention, all satellites perform the entry detection step simultaneously.
[0018] In one embodiment of the present invention, all satellites enter the detection step one by one.
[0019] The present invention also provides a device for detecting satellite clock difference jumps, comprising: an acquisition unit and a processing unit, wherein the acquisition unit acquires the satellite clock difference data of the current epoch; the processing unit is used to perform a detection step; the processing unit includes: a judgment module, a calculation module, a detection module and an output module; the judgment module is used to judge whether the observation epoch count of the satellite meets the set conditions; the calculation module is used to obtain the epoch-to-epoch secondary difference test value when the satellite is in the current observation epoch count when the observation epoch count of the satellite meets the set conditions; the detection module is used to judge whether the satellite clock difference data has a clock jump or a gross error based on the secondary difference test value; the output module is used to output the detection result.
[0020] The present invention also provides a storage medium, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer executes the method for detecting satellite clock difference jumps.
[0021] The present invention also provides a device, comprising: one or more processors and a storage device; the storage device is used to store one or more programs, and when the one or more programs are executed by the one or more processors, the electronic device implements the method of detecting satellite clock difference jumps.
[0022] In the method for detecting satellite clock error jumps of the present invention, the quadratic difference test value between epochs reflects the characteristics of the satellite clock error between epochs, so the quadratic difference test value can very sensitively detect large gross errors and clock jumps, and at the same time, the quadratic difference test value only needs to be obtained by performing a difference on the satellite clock error data of several adjacent epochs, so the calculation of the quadratic difference is convenient and occupies less resources. Therefore, the method for detecting satellite clock error jumps of the present invention can effectively solve the problem that the existing detection method has low accuracy in detecting gross errors. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0024] Figure 1 Schematic diagram of gross error and clock jump;
[0025] Figure 2 A flowchart of a method for detecting satellite clock error jumps;
[0026] Figure 3 A schematic diagram of a device for detecting satellite clock error jumps.
[0027] Component number description
[0028] 100, acquisition unit; 200, processing unit; 201, judgment module; 202, calculation module; 203, detection module; 204, output module. DETAILED DESCRIPTION
[0029] The following is an explanation of the embodiments of the present invention by specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the features in the following embodiments and the embodiments can be combined with each other without conflict. It should also be understood that the terms used in the embodiments of the present invention are intended to describe specific embodiments, rather than to limit the scope of protection of the present invention. The test methods for which specific conditions are not specified in the following examples are usually carried out under conventional conditions or according to the conditions recommended by the manufacturers.
[0030] It should be noted that the terms such as "upper", "lower", "left", "right", "middle" and "one" etc. used in this specification are only for the convenience of description and are not intended to limit the scope of implementation of the present invention. Changes or adjustments to their relative relationships, without substantially changing the technical content, should also be regarded as the scope of implementation of the present invention.
[0031] Ensuring the accuracy of satellite clock error products is the basis for achieving high-precision positioning. Therefore, whether the abnormal values of satellite clock error data can be detected accurately and quickly is an important issue in satellite clock error preprocessing and an important part of high-precision positioning.
[0032] The abnormal values of satellite clock error data mainly include gross errors and clock jumps, as follows Figure 1 As shown:
[0033] like Figure 1 As shown, the satellite clock error presents a linear relationship on a shorter time scale. The appearance of gross errors and clock jumps will destroy the original linear relationship. Therefore, the problem to be solved in clock error quality detection is how to identify such outliers to avoid affecting the use of clock errors.
[0034] Due to the influence of many factors such as satellite clocks, satellite transceiver equipment, ground clocks, ground transceiver equipment, signal paths, and solution software, satellite clock error data may have gross errors or clock jumps. At present, domestic and foreign scholars have mainly used the following methods to detect gross errors and clock jumps in satellite clock errors:
[0035] 1. If the satellite clock error data sequence conforms to the normal distribution, the least squares estimation method can be used to calculate the mean and variance of the time series, and on this basis, the gross error detection can be performed based on the statistical method. However, the actual clock error data is not an independent observation and does not meet the assumption of normal distribution. In addition, there may be large gross error data, which makes the mean of the time series differ greatly from the expected value of the data, affecting the effect of gross error detection;
[0036] 2. Perform epoch single difference on the clock error data, taking 10 times the median parameter of the single difference sequence as the threshold, and utilizing the characteristics that a single gross error causes the corresponding epoch of the single difference sequence to form two large positive and negative values, while a single clock jump causes the corresponding epoch of the single difference sequence to form a single large value, to detect clock jumps and eliminate gross errors at the same time. However, this method does not take into account the actual situation where multiple gross errors of satellite clock errors occur continuously and gross errors appear in epochs adjacent to clock jumps, and the algorithm is difficult to detect small gross errors.
[0037] However, there are still shortcomings in the existing satellite clock error detection methods.
[0038] First, the calculation method and usage steps are complicated. For example, the first method mentioned above uses the least squares estimation method to calculate the mean and variance of the time series. This method requires the storage of clock error data for a period of time. Multiple satellites require dozens or even hundreds of times the storage space. The least squares method requires the use of matrix operations, which is complex to calculate and not convenient and fast to use. In addition, large gross errors will affect the overall mean and variance, which is not conducive to the detection of clock anomalies.
[0039] Second, the threshold is set too large, which makes it impossible to detect small gross errors and clock jump anomalies. For example, in the second method mentioned above, the threshold is set to ten times the mean error. The threshold is too large and can only identify large gross errors in the clock error data.
[0040] Third, it is impossible to identify continuous gross errors and gross errors occurring in epochs close to clock jumps. For example, the epoch single difference method mentioned in the second method above forms a gross value by making a difference between two adjacent epochs for detection. If equal gross errors occur in two consecutive epochs, this method will fail.
[0041] See also Figure 2 The present invention provides a method for detecting a satellite clock error jump, comprising:
[0042] Obtain the satellite clock error data of the current epoch; in this step, the satellite clock error data of all satellites in the current epoch can be obtained. The clock error data includes a clock error sequence. The satellite clock error data can be downloaded from the relevant equipment and input into the detection device, or it can be directly read online from the relevant data stream for acquisition.
[0043] All satellites enter the detection step simultaneously or all satellites enter the detection step one by one, and the detection step includes:
[0044] Based on the satellite clock difference data, it is determined whether the satellite's observation epoch count meets the set conditions. This step includes: determining whether the satellite is a first epoch observation satellite, if so, setting the satellite's epoch observation count to 1, if not, adding 1 to the satellite's epoch observation count, and determining whether the epoch observation count is greater than or equal to a counting threshold, which may be 3.
[0045] If the i-th satellite is observed in the first epoch, it means that there is no clock error data for the previous epochs, so it is impossible to construct the quadratic difference test value between epochs, and it is also impossible to detect its clock error quality, so its observed epoch count count i Set to 1; if the i-th satellite is not the first epoch observation, count its observation epochs count i Add 1.
[0046] When the satellite's observation epoch count meets the set conditions (for example, count i ≥3 hours), obtain the inter-epoch secondary difference test value when the satellite is in the current observation epoch count; the calculation formula of the secondary difference test value is:
[0047]
[0048] in, is the inter-epoch quadratic difference test value of satellite i when the observation epoch count is k; dt is the satellite clock error data; the superscripts k, k-1, and k-2 represent the moment when the observation epoch count is k, the moment when the observation epoch count is k-1, and the moment when the observation epoch count is k-2, respectively; the subscript i represents the satellite number, that is, the i-th satellite, and the values of i and k are both positive integers.
[0049] When the satellite's observation epoch count is less than the count threshold, the current observation epoch count is stored.
[0050] Since the satellite clock error sequence is linearly related to the time series, the epoch single difference can reflect the change of the satellite clock error between epochs, while the quadratic difference detection value between epochs can reflect the characteristics of the change of the satellite clock error between epochs. Therefore, the quadratic difference can very sensitively detect large gross errors and clock jumps. At the same time, since the quadratic difference reflects the rate of change of the clock error, a more stringent threshold can be set for the quadratic difference test value, which can better detect smaller clock jumps and gross errors. Moreover, the quadratic difference test value only needs to be obtained by difference of the satellite clock error data of several adjacent epochs, which is convenient to calculate and occupies less resources. Therefore, the method of detecting satellite clock error jumps of the present invention has a good detection effect on clock error anomalies in scenarios such as single gross error / multiple gross errors / clock jumps.
[0051] Based on the secondary difference test value, determine whether there is a clock jump or a gross error in the satellite clock difference data. This step includes: determining whether the secondary difference test value is greater than a test threshold, and if so, a clock jump or a gross error exists in the satellite clock difference data and is marked. The test threshold is set based on N times the satellite clock difference accuracy and the propagation speed of the satellite signal, for example, N times the satellite clock difference accuracy multiplied by the propagation speed of the satellite signal. N is an integer greater than or equal to 2 and less than 10. For example, if N is 3, the clock difference accuracy is 0.1 nanoseconds, and the test threshold is equal to 0.3 nanoseconds multiplied by the satellite signal propagation speed, which is approximately equal to 0.1 meters (at this time, the test threshold can be set to 0.1 meters). Setting the test threshold to single-digit times the accuracy can effectively detect small gross errors and improve the inspection accuracy of gross errors.
[0052] The detection result is output, which is a marked satellite clock difference sequence or an unmarked satellite clock difference sequence. The marked satellite clock difference sequence indicates that the clock difference sequence has clock jumps or gross errors, and the unmarked satellite clock difference sequence indicates that the clock difference sequence does not have clock jumps or gross errors.
[0053] The satellite clock error sequence with detected abnormal values (i.e., clock jumps or gross errors) can be subsequently processed by eliminating or repairing it according to actual needs.
[0054] The method for detecting satellite clock error jumps of the present invention first determines whether the satellite is continuously observed, then stores the historical satellite clock error data of all continuously observed satellites, and finally detects clock jumps or gross errors by constructing a quadratic difference test value between epochs. The method of constructing a quadratic difference test value can improve the calculation efficiency and detect smaller clock jumps and gross errors, thereby improving the quality of satellite clock errors.
[0055] See also Figure 3 The present invention also provides a device for detecting satellite clock difference jumps, including: an acquisition unit 100 and a processing unit 200, wherein the acquisition unit 100 acquires the satellite clock difference data of the current epoch; the processing unit 200 is used to perform a detection step; the processing unit 200 includes: a judgment module 201, a calculation module 202, a detection module 203 and an output module 204; the judgment module 201 is used to judge whether the observation epoch count of the satellite meets the set conditions; the calculation module 202 is used to obtain the secondary difference between epochs when the satellite is in the current observation epoch count when the observation epoch count of the satellite meets the set conditions; the detection module 203 is used to judge whether the satellite clock difference data has a clock jump or a gross error based on the secondary difference; the output module 204 is used to output the detection result.
[0056] The present invention also provides a storage medium, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer executes the method for detecting satellite clock difference jumps.
[0057] The present invention also provides a device, comprising: one or more processors and a storage device; the storage device is used to store one or more programs, and when the one or more programs are executed by the one or more processors, the electronic device implements the method of detecting satellite clock difference jumps.
[0058] The present invention has the following advantages:
[0059] (1) The constructed quadratic difference test value can better reflect the change of satellite clock error. The test value sequence constructed by the epoch single difference method is a time-dependent linear function. Small outliers are not obvious in the sequence. The quadratic difference test value sequence obtained by making a difference based on the epoch single difference reflects the change rate of the satellite clock error sequence. Small outliers will be amplified, which is more conducive to identification.
[0060] (2) The test threshold is more rigorous and reasonable. The test threshold of the quadratic difference is greatly reduced compared to the ten times mean error set by the single difference method. Since the accuracy of the precise clock error product is about 0.1 nanosecond, this scheme sets the threshold to 0.3 nanoseconds (about 0.1 meter). Therefore, the threshold of three times the clock error accuracy has a better detection effect on small gross errors and clock jumps in satellite clock error data.
[0061] (3) It is applicable to the situation where multiple gross errors of satellite clock errors occur continuously and gross errors occur in adjacent epochs of clock jumps. Since the constructed quadratic difference test value reflects the rate of change of the clock error, it can keenly detect abnormal values in these two situations.
[0062] Therefore, the present invention effectively overcomes some practical problems in the prior art and thus has high utilization value and use significance.
[0063] The above embodiments are merely illustrative of the principles and effects of the present invention, and are not intended to limit the present invention. Anyone familiar with the art may modify or alter the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or alterations made by a person of ordinary skill in the art without departing from the spirit and technical concept disclosed by the present invention shall still be covered by the claims of the present invention.
Claims
1. A method for detecting satellite clock error jump, characterized in that: include: Get the satellite clock error data of the current epoch; performing a detection step; The detection step comprises: Determining whether the satellite's observed epoch count meets a set condition based on the satellite clock difference data; When the satellite's observation epoch count meets the set conditions, the epoch-to-epoch quadratic difference test value when the satellite is at the current observation epoch count is obtained; Determine whether the satellite clock error data has clock jumps or gross errors based on the secondary difference test value; Output the test results; Wherein, the clock error data includes a clock error sequence; The detection result is a marked satellite clock difference sequence or an unmarked satellite clock difference sequence. A marked satellite clock difference sequence indicates that the clock difference sequence has clock jumps or gross errors, while an unmarked satellite clock difference sequence indicates that the clock difference sequence does not have clock jumps or gross errors.
2. The method for detecting satellite clock error jump according to claim 1, characterized in that: The step of determining whether the satellite's observation epoch count meets the set conditions includes: determining whether the satellite is a first epoch observation satellite; if so, setting the satellite's epoch observation count to 1; if not, adding 1 to the satellite's epoch observation count, and determining whether the epoch observation count is greater than or equal to a counting threshold.
3. The method for detecting satellite clock error jump according to claim 1, characterized in that: Judging whether there is a clock jump or gross error in the satellite clock difference data based on the secondary difference check value includes: judging whether the secondary difference check value is greater than a check threshold; if so, clock jumps or gross errors exist in the satellite clock difference data and are marked.
4. The method for detecting satellite clock error jump according to claim 3, characterized in that: The inspection threshold is set based on N times the satellite clock error accuracy, where N is an integer greater than or equal to 2 and less than 10.
5. The method for detecting satellite clock error jump according to claim 1, characterized in that: Acquiring the satellite clock error data of the current epoch includes: acquiring the satellite clock error data of all satellites of the current epoch.
6. The method for detecting satellite clock error jump according to claim 5, characterized in that: All satellites go through the entry detection step simultaneously.
7. The method for detecting satellite clock error jump according to claim 5, characterized in that: All satellites enter the detection step one by one.
8. A device for detecting satellite clock error jump, characterized in that: include: An acquisition unit, which acquires the satellite clock error data of the current epoch; A processing unit, configured to perform a detection step; The processing unit comprises: A judgment module determines whether the satellite's observation epoch count meets the set conditions; A calculation module, used for obtaining the inter-epoch quadratic difference test value when the satellite is in the current observation epoch count when the observation epoch count of the satellite meets the set conditions; A detection module, used for judging whether the satellite clock error data has a clock jump or a gross error based on the secondary difference test value; An output module, used for outputting the detection results; Wherein, the clock error data includes a clock error sequence; The detection result is a marked satellite clock difference sequence or an unmarked satellite clock difference sequence. A marked satellite clock difference sequence indicates that the clock difference sequence has clock jumps or gross errors, while an unmarked satellite clock difference sequence indicates that the clock difference sequence does not have clock jumps or gross errors.
9. A storage medium, characterized in that: Computer-readable instructions are stored thereon, and when the computer-readable instructions are executed by a processor of a computer, the computer is caused to execute the method for detecting satellite clock difference jumps as described in any one of claims 1 to 7.
10. A device, characterized in that: include: one or more processors; A storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, enables the device to implement the method for detecting satellite clock difference jumps as described in any one of claims 1 to 7.
