Satellite positioning result generation method, device, equipment and medium
By dynamically adjusting the fault detection threshold in the GNSS receiver and combining the least squares method and residual statistics to identify and eliminate faulty satellites, the problem of traditional methods relying on current observation data is solved, and the accuracy and reliability of positioning results are improved.
Patent Information
- Application Number
- CN202510580914.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-05-07
AI Technical Summary
Traditional GNSS receiver fault detection methods rely on current observation data and fail to fully utilize historical PVT information on the user side, resulting in insufficient accuracy and reliability of positioning results.
By acquiring satellite observation data and fault detection thresholds, a pre-selected observation data set is established, and the solution value and residual statistics are calculated using the least squares method. The fault detection threshold is dynamically adjusted in combination with the error value, precision degradation factor, and preset error slope value to identify and eliminate faulty satellites and optimize the positioning results.
It achieves fast and accurate identification and elimination of faulty satellites, improves fault detection efficiency and positioning accuracy, and ensures the reliability and stability of the GNSS system.
Smart Images

Figure CN120103397B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of satellite positioning technology, and in particular to a method, device, equipment and medium for generating satellite positioning results. Background Art
[0002] The Global Navigation Satellite System (GNSS) provides users with precise position, velocity, and time (PVT) information and is a core component of modern navigation systems. To ensure the safety and reliability of navigation systems, in addition to providing accurate positioning information, fault identification capabilities are also required to ensure timely notification of system failures and continued navigation service after the fault is corrected. GNSS Receiver Autonomous Integrity Monitoring (RAIM) technology is a key means of achieving this goal. Its primary purpose is to leverage redundant receiver information to detect and identify satellite failures, thereby ensuring the reliability of navigation system results.
[0003] Traditional methods for detecting GNSS receiver faults and generating navigation positioning results primarily rely on least squares and parity vector-based approaches. These methods implement fault detection by using redundant observations for consistency checks, where the detection statistic is typically constructed from pseudorange residuals. Specifically, such methods require at least one redundant observation for fault detection, while at least two redundant observations are required for fault identification. Furthermore, traditional RAIM algorithms rely on current observations for receiver autonomous integrity testing and fail to fully utilize historical PVT information on the user side. Therefore, a method for improving the accuracy of satellite positioning results through fault detection and positioning result generation is needed. Summary of the Invention
[0004] The main purpose of this application is to provide a method, device, equipment and medium for generating satellite positioning results, aiming to solve the technical problem of how to improve the accuracy of satellite positioning results.
[0005] To achieve the above objectives, the present application proposes a method for generating satellite positioning results, the method comprising:
[0006] Obtain satellite observation data and fault detection thresholds;
[0007] Selecting a preset number of satellites based on the satellite observation data to establish a preselected observation data set;
[0008] Calculating the preselected observation data set to obtain a least squares result, the least squares result including a solution value, a residual statistic, a dilution of precision factor, and an error slope value, the solution value including position, velocity, and time information obtained by solving the satellite receiver;
[0009] Obtaining an error value based on the preselected observation data set and the solution value;
[0010] Calculate according to the residual statistic to obtain a test statistic;
[0011] Adjusting the fault detection threshold according to the error value, the precision reduction factor, and a preset error slope value to obtain a target fault detection threshold;
[0012] When the test statistic exceeds the target fault detection threshold, it is determined that a fault exists, and the faulty satellite is identified and removed;
[0013] Acquire a target observation data set, where the target observation data set is a preselected observation data set remaining after excluding observation data corresponding to the faulty satellite;
[0014] Calculating based on the target observation data set to obtain a target dilution of precision factor and the number of satellites;
[0015] A determination is made based on the target precision reduction factor and the number of satellites to obtain a satellite positioning result.
[0016] In one embodiment, the step of adjusting the fault detection threshold according to the error value, the DOP, and a preset error slope value to obtain a target fault detection threshold includes:
[0017] Calculate a geometric distribution influence coefficient based on the dilution of precision factor;
[0018] Calculating the error value and the preset error slope value to obtain a dynamic adjustment factor;
[0019] Multiplying the geometric distribution influence coefficient and the dynamic adjustment factor to obtain a comprehensive adjustment coefficient;
[0020] The fault detection threshold is processed according to the comprehensive adjustment coefficient to obtain a target fault detection threshold.
[0021] In one embodiment, the step of processing the fault detection threshold according to the comprehensive adjustment coefficient to obtain a target fault detection threshold includes:
[0022] Set the scaling factor calculation method and scaling direction in the scaling processing strategy;
[0023] Adjusting the comprehensive adjustment coefficient according to the scaling factor calculation method and scaling direction to obtain a scaled adjustment coefficient;
[0024] The fault detection threshold is iteratively optimized based on the scaled adjustment coefficient to obtain a target fault detection threshold.
[0025] In one embodiment, the step of determining based on the target dilution of precision factor and the number of satellites to obtain a satellite positioning result includes:
[0026] When the target dilution of precision factor does not exceed a preset threshold and the number of satellites meets a preset number, determining that the satellite positioning result is valid, and outputting the satellite positioning result, wherein the satellite positioning result is a least squares result;
[0027] When the target precision reduction factor exceeds a preset threshold or the number of satellites does not meet a preset number, the satellite positioning result is determined to be invalid, and the process returns to the step of selecting a preset number of satellites based on the satellite observation data and establishing a preselected observation data set to update the satellite positioning result.
[0028] In one embodiment, the step of obtaining an error value based on the preselected observation data set and the solution value includes:
[0029] Inputting the observation data in the preselected observation data set into a preset satellite prediction model for processing to obtain predicted elevation and predicted clock error;
[0030] The predicted elevation and predicted clock error are compared with the calculated value to obtain an error value.
[0031] In one embodiment, before the step of inputting the observation data in the preselected observation data set into a preset satellite prediction model for processing to obtain the predicted elevation and predicted clock error, the step includes:
[0032] Obtain satellite navigation sample data and build an initial satellite prediction model;
[0033] Training the initial satellite prediction model based on the satellite navigation sample data to obtain a preset satellite prediction model;
[0034] The step of training the initial satellite prediction model based on the satellite navigation sample data to obtain a preset satellite prediction model includes:
[0035] Initialize model parameters;
[0036] Inputting the satellite navigation sample data into the initial satellite prediction model for calculation to obtain a predicted value;
[0037] Calculating the error between the predicted value and the true value according to the loss function;
[0038] Obtaining the gradient of the model parameters by back propagation algorithm calculation;
[0039] The model parameters are iteratively updated through an optimization algorithm according to the gradient until a maximum number of iterations is reached or the error value converges to a preset threshold, thereby obtaining a preset satellite prediction model.
[0040] In one embodiment, when the test statistic exceeds the target fault detection threshold, determining that a fault exists, identifying the faulty satellite, and removing the faulty satellite comprises:
[0041] When the test statistic exceeds the target fault detection threshold, it is determined that a fault exists, and a fault identification process is triggered;
[0042] Statistical analysis methods are used to identify and obtain the faulty satellite;
[0043] Eliminating the observation data corresponding to the faulty satellite from the preselected observation data set to obtain an updated observation data set;
[0044] An updated solution value and an updated check statistic are calculated for the updated observation data set to identify and eliminate other existing faulty satellites.
[0045] In addition, to achieve the above-mentioned purpose, the present application also proposes a satellite positioning result generating device, the satellite positioning result generating device comprising:
[0046] Acquisition module, used to obtain satellite observation data and fault detection threshold;
[0047] A construction module, configured to select a preset number of satellites based on the satellite observation data to establish a preselected observation data set;
[0048] a calculation module, configured to calculate the preselected observation data set to obtain a least squares result, wherein the least squares result includes a solution value, a residual statistic, a precision reduction factor, and an error slope value, wherein the solution value includes position, velocity, and time information obtained by solving the problem by the satellite receiver;
[0049] The calculation module is further configured to obtain an error value based on the preselected observation data set and the solution value;
[0050] The calculation module is further used to calculate according to the residual statistic to obtain a test statistic;
[0051] an optimization module, configured to adjust the fault detection threshold according to the error value, the precision reduction factor, and a preset error slope value to obtain a target fault detection threshold;
[0052] a processing module, configured to determine that a fault exists when the test statistic exceeds the target fault detection threshold, identify the faulty satellite, and remove it;
[0053] An updating module is used to obtain a target observation data set, where the target observation data set is a preselected observation data set remaining after eliminating the observation data corresponding to the faulty satellite;
[0054] The calculation module is further used to perform calculations based on the target observation data set to obtain a target dilution of precision factor and the number of satellites;
[0055] The result module is used to make a judgment based on the target precision reduction factor and the number of satellites to obtain a satellite positioning result.
[0056] In addition, to achieve the above-mentioned purpose, the present application also proposes a medium, which is a computer-readable medium and stores a computer program. When the computer program is executed by a processor, the steps of the satellite positioning result generation method as described above are implemented.
[0057] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the steps of the satellite positioning result generating method as described above.
[0058] This application obtains satellite observation data and a fault detection threshold, selects a preset number of satellites based on the satellite observation data, establishes a preselected observation data set, calculates the preselected observation data set, obtains the least squares result, obtains the error value based on the preselected observation data set and the solution value, calculates based on the residual statistic, obtains the test statistic, adjusts the fault detection threshold based on the error value, the precision reduction factor, and the preset error slope value, obtains the target fault detection threshold, and when the test statistic exceeds the target fault detection threshold, determines that a fault exists, identifies the faulty satellite and eliminates it, obtains the target observation data set, calculates based on the target observation data set, obtains the target precision reduction factor and the number of satellites, and makes a judgment based on the target precision reduction factor and the number of satellites to obtain the satellite positioning result. By using historical data and current observation data to establish a preselected observation set, using the least squares method to calculate the solution value, and calculating the test statistic based on the residual statistic, the fault detection threshold is dynamically adjusted in combination with the error value, the precision reduction factor, and the error slope, thereby achieving fast and accurate identification and elimination of faulty satellites, improving fault detection efficiency and positioning accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0060] Figure 1This is a flowchart of the first embodiment of the satellite positioning result generation method of the present application;
[0061] Figure 2 This is a SLOPE basic principle diagram of the first embodiment of the satellite positioning result generation method of this application;
[0062] Figure 3 This is a schematic diagram of the relationship between measurement error and positioning error in the first embodiment of the satellite positioning result generation method of the present application;
[0063] Figure 4 This is a schematic diagram of simulation results of the first embodiment of the satellite positioning result generation method of the present application;
[0064] Figure 5 This is a flowchart of the second embodiment of the satellite positioning result generation method of the present application;
[0065] Figure 6 This is a flowchart of the third embodiment of the satellite positioning result generation method of the present application;
[0066] Figure 7 This is a schematic diagram of the module structure of the satellite positioning result generating device according to an embodiment of the present application;
[0067] Figure 8 This is a schematic diagram of the device structure of the hardware operating environment involved in the satellite positioning result generation method in the embodiment of the present application.
[0068] The purpose, features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0069] It should be understood that the specific embodiments described herein are merely used to explain the technical solutions of the present application and are not intended to limit the present application.
[0070] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0071] In the Global Navigation Satellite System (GNSS), ensuring the accuracy of position, velocity, and time information is crucial. However, satellite signals can be interfered with by various factors, resulting in data errors or loss, affecting positioning accuracy. Traditional fault detection methods rely on redundant observation data for error detection and elimination, but this has problems such as requiring a large number of visible satellites and high computational complexity.
[0072] Therefore, in order to overcome these problems, the method of the present application is proposed. The main solution of the embodiment of the present application is: by acquiring satellite observation data and a fault detection threshold, selecting a preset number of satellites based on the satellite observation data, establishing a preselected observation data set, calculating the preselected observation data set, obtaining a least squares result, obtaining an error value based on the preselected observation data set and the solution value, calculating based on the residual statistics, obtaining a test statistic, adjusting the fault detection threshold according to the error value, the precision reduction factor and the preset error slope value, obtaining a target fault detection threshold, determining that a fault exists when the test statistic exceeds the target fault detection threshold, identifying the faulty satellite and eliminating it, acquiring a target observation data set, calculating based on the target observation data set, obtaining a target precision reduction factor and the number of satellites, making a judgment based on the target precision reduction factor and the number of satellites, and obtaining a satellite positioning result.
[0073] Based on this, the embodiment of the present application provides a method for generating satellite positioning results, referring to Figure 1 , Figure 1 This is a flowchart of the first embodiment of the satellite positioning result generation method of the present application.
[0074] In this embodiment, the satellite positioning result generating method includes steps S10 to S100:
[0075] Step S10: Obtain satellite observation data and fault detection threshold.
[0076] It's important to note that in the Global Navigation Satellite System (GNSS), obtaining accurate satellite observation data is key to achieving high-precision positioning. Satellite observation data primarily includes pseudorange, carrier phase, Doppler shift, and other information. This data is not only used to calculate the user's position, velocity, and time (PVT), but is also crucial for fault detection.
[0077] Specifically, the signals from different satellites are captured by the receiver antenna and converted into usable observation data. These data contain the distance information of each satellite relative to the receiver and signal quality parameters such as carrier-to-noise ratio. The setting of the fault detection threshold needs to comprehensively consider the dynamic changes of the dilution of precision (DOP), the error slope (SLOPE) and the test statistic. The SLOPE is related to the satellite geometry and the number of visible satellites. It reflects the relative relationship between the positioning error and the RAIM detection amount when a single satellite pseudorange deviates. When performing fault monitoring, due to the geometric distribution of satellites to users, the positioning error may exceed the limit value, while the monitoring statistical monitoring amount is less than the threshold, that is, missed detection. Therefore, to ensure the integrity of fault detection, it is necessary to determine whether the current satellite geometric distribution is suitable for integrity monitoring. The commonly used judgment standard is to use the approximate radial error protection value ARP to detect the availability of satellite geometric distribution, such as Figure 2The SLOPE basic principle diagram shown in the figure shows the size of the statistical monitoring quantity on the horizontal axis and the approximate radial error caused by navigation satellite failure on the vertical axis. As can be seen from the figure: during the positioning solution process, the most difficult satellite to detect is the satellite whose deviation can produce the largest slope (Slopemax), and the approximate radial positioning error caused by this will be greater. In other words, the largest navigation satellite is the most difficult to monitor when it fails, and is most likely to exceed the alarm limit and cause missed detection. Figure 3 The diagram below shows the relationship between measurement error and positioning error. Under the same DOP value, the positioning error and observation error (such as pseudorange noise and multipath) have an approximately linear relationship. That is, the larger the observation error, the larger the positioning error. Under the same observation error, changes in the DOP value will significantly affect the degree of positioning error amplification. When the DOP value is high (such as DOP = 6), the satellite geometry is poor, and the observation error will be amplified, resulting in a significant increase in positioning error. At low DOP values (such as DOP = 1.5), the satellite geometry is better, and the observation error has less impact on the positioning results. This shows that in GNSS positioning, it is necessary not only to improve the accuracy of the observation quantity, but also to optimize the spatial distribution of satellites to reduce the DOP value and thus improve overall positioning performance.
[0078] Furthermore, the receiver autonomous integrity monitoring (RAIM) algorithm based on least squares residuals detects and identifies satellite faults by calculating pseudorange residuals, providing an effective self-protection mechanism for the global navigation satellite system (GNSS). In the case where only a single satellite pseudorange has a deviation, fault detection can be achieved when the number of visible satellites reaches 5; and when the number of visible satellites increases to 6 or more, it is possible to further identify which specific satellite has a fault. In order to verify the effectiveness of this method, simulation tests were conducted on different numbers (5-8) of GPS satellites in a simulated environment, and in each test, a pseudorange deviation ranging from 0m to 200m was added to one of the satellites. The test was repeated 50 times for each deviation to ensure the reliability of the results. Figure 4 The simulation results show that as the Slope value (i.e., error slope) increases, the positioning error tends to increase, while the pseudorange residual (absolute value) gradually decreases. This means that for satellites with large Slope values, even if some pseudorange deviation exists, the residual is too small to be accurately detected by the RAIM algorithm. In this embodiment, specifically, when the Slope exceeds 20, the rate of decrease in the pseudorange residual slows significantly, indicating that any anomaly on this satellite becomes extremely difficult to detect. For example, when the Slope is maximum (assuming a constant 50m deviation), the RAIM test statistic continues to decrease as the Slope increases, until it falls below the set threshold, preventing the system from effectively identifying the presence of a fault.
[0079] In addition, the threshold value needs to be dynamically adjusted in combination with the prediction model of historical PVT data. For example, the slowly changing characteristics of the receiver clock error and user elevation can be used to establish a quadratic polynomial prediction model to correct the anomaly detection standard at the current moment in real time.
[0080] Step S20: selecting a preset number of satellites based on the satellite observation data to establish a preselected observation data set.
[0081] It should be noted that the receiver captures signals from multiple satellites and extracts key parameters such as pseudorange, carrier phase and Doppler shift from them. However, not all received signals are suitable for subsequent calculations because some satellites are affected by environmental factors such as building obstruction or ionospheric disturbances, resulting in unreliable observation data. Therefore, it is crucial to select a suitable satellite combination. According to the needs of the actual application scenario and the number and geometric distribution of currently visible satellites, certain criteria are used to screen out the best satellite subset, that is, the pre-selected observation data set. This usually involves considering multiple factors, such as the carrier-to-noise ratio (CNR) of the satellite. ), the elevation angle between the satellite and the user, and the impact of geometric distribution on the dilution of precision (DOP). Ideally, satellites with a high signal-to-noise ratio and a good geometric layout should be selected to ensure the accuracy and reliability of the solution.
[0082] Step S30: Calculate the preselected observation data set to obtain a least squares result.
[0083] It should be noted that the least squares method is a commonly used mathematical optimization technique used to find the model parameter estimates that are closest to the observed data, that is, to minimize the sum of squared residuals between the observed data and the model predictions. In this embodiment, the least squares results include the calculated value, residual statistics, a dilution of precision factor, and an error slope value. The calculated value includes the position, velocity, and time information obtained by the satellite receiver.
[0084] Specifically, the position, velocity, and time (PVT) solution is calculated by the satellite receiver based on a preselected observation dataset. Accurate PVT solutions are one of the core objectives of GNSS systems and directly impact whether users can obtain accurate positioning services. The solution process involves complex mathematical models and algorithm optimization to ensure reliable positioning information even in the presence of small observation errors. Residual statistics refer to the difference between the actual observed value and the theoretical value calculated based on the current estimate. By calculating the residuals for all observations and further analyzing their statistical properties, such as the sum of squares or sum of absolute values, the quality of the entire observation dataset can be assessed. Large residuals may indicate anomalous observations or potentially faulty satellites. DOP is a key metric that measures the impact of satellite geometry on positioning accuracy. It reflects the amplification effect of positioning errors caused by non-ideal satellite position distribution. A lower DOP value indicates a better satellite geometry, thus providing higher positioning accuracy. Conversely, a higher DOP value indicates a poor satellite geometry, resulting in inaccurate positioning results. The error slope value describes the impact of a deviation in the pseudorange of a single satellite on positioning error. Generally, as the slope value increases, positioning error also increases, but pseudorange residuals may decrease. This means that some satellites with high slope values may be difficult for the RAIM algorithm to effectively detect, even if they have large pseudorange deviations. Therefore, when designing fault detection algorithms, special attention should be paid to satellites with high slope values. Consider adjusting the detection threshold or adopting other strategies to improve detection sensitivity.
[0085] Combining the above results, it is not only possible to accurately locate the user's position, but also to effectively monitor and identify potential faults in the GNSS system, ensuring the reliability and stability of the system.
[0086] Step S40: Obtain an error value based on the preselected observation data set and the solution value.
[0087] It should be noted that in GNSS systems, in order to further improve the accuracy and reliability of fault detection, a key step is to use historical observation data and current solution values to predict future elevation and clock errors, and compare them with the actual solution values to evaluate the system error.
[0088] Specifically, step S40 includes: inputting the observation data in the preselected observation dataset into a preset satellite prediction model for processing to obtain predicted elevation and predicted clock errors; and comparing the predicted elevation and predicted clock errors with the calculated values to obtain error values. Specifically, the observation data in the preselected observation dataset are input into a pre-set satellite prediction model for processing. This model is typically built based on the receiver's historical PVT (position, velocity, time) information. In particular, historical elevation and clock error data is used to construct a quadratic polynomial model or other suitable time series prediction model. This method produces the predicted elevation and predicted clock errors at the current moment. These predicted values reflect the ideal state of the receiver in the absence of any faults. Next, the predicted elevation and clock errors are compared with the actual calculated values using the least squares method. This comparison reveals the difference between the two, namely the error value. Specifically, the error value can be obtained by calculating the absolute or relative difference between the predicted and calculated values. Large errors may indicate issues such as signal interference, multipath effects, or satellite failures.
[0089] Further analysis of the error trends and distribution characteristics is crucial for fault detection. For example, if the error continues to increase over multiple epochs, this could be due to an anomaly in a specific satellite. In this case, combining other metrics such as pseudorange residuals, DOP, and Slope can more accurately pinpoint the source of the fault. Furthermore, similar comparisons across different satellite subsets can help identify the specific faulty satellite, providing a basis for subsequent removal.
[0090] Step S50: Calculate based on the residual statistic to obtain a test statistic.
[0091] It should be noted that the test statistic is used to quantify the consistency of the observation data and determine whether there is a potential satellite failure in the system. The pseudo-range residuals obtained by the least squares method are used to construct a residual vector, which contains the measurement deviation of each satellite relative to the solved position. Then, preliminary statistics are generated by calculating the residual sum of squares or its normalized form. For example, one of the commonly used test statistics is the F statistic based on the residual sum of squares, which reflects the difference in the degree of fit between the observed data and the model. A larger F statistic indicates the presence of significant deviations, suggesting that some satellites are faulty.
[0092] Furthermore, a Gaussian test based on residual elements or other statistical methods can be used to refine fault identification for individual satellites. This approach not only detects overall system faults but also accurately locates faults on a satellite-by-satellite basis. Specifically, the above process is repeated for each subset of satellites, and the corresponding test statistics are calculated, forming a set of statistics under multiple fault hypotheses.
[0093] Step S60 , adjusting the fault detection threshold according to the error value, the precision reduction factor, and the preset error slope value to obtain a target fault detection threshold.
[0094] It's important to note that a dynamic adjustment mechanism is established to optimize the fault detection threshold. Specifically, the fault detection threshold can be adjusted in real time based on the mathematical relationship between error, DOP, and Slope values derived from a simulation statistical model. For example, when the error is large and the DOP is high, the system automatically lowers the fault detection threshold to ensure that even minor deviations are detected and addressed promptly. Conversely, if the error is small and the DOP is low, the threshold can be appropriately relaxed to reduce unnecessary alarms.
[0095] Step S70: When the test statistic exceeds the target fault detection threshold, it is determined that a fault exists, and the faulty satellite is identified and removed.
[0096] It should be noted that when the test statistic exceeds the preset target fault detection threshold, it means that there is a potential satellite failure or abnormal observation data in the system. In this case, it is necessary to accurately identify and eliminate these faulty satellites to ensure the accuracy and reliability of the positioning results.
[0097] Furthermore, when the check statistic exceeds the target fault detection threshold, a fault is determined to be present, triggering the fault identification process. Specifically, once the check statistic exceeds the set threshold, a potential fault is first determined to be present. This step marks the transition from normal operation to fault detection and elimination mode. Statistical analysis methods are then used to identify the faulty satellite. In this embodiment, a subset comparison method is employed. This method removes one satellite at a time from all currently available satellites and recalculates the test statistic based on the remaining satellites. By comparing the changes in the test statistic after each removal, the satellite most likely to be the fault source can be determined. Generally, if the test statistic decreases significantly after removing a satellite, it indicates that the satellite may be faulty or abnormal. The observation data corresponding to the faulty satellite is removed from the preselected observation dataset to obtain an updated observation dataset. Specifically, after identifying the faulty satellite, the next step is to remove the observation data corresponding to that satellite from the preselected observation dataset to obtain an updated observation dataset. This process not only includes deleting relevant observation information such as pseudorange, carrier phase, and Doppler shift, but also requires the synchronous updating of other auxiliary information, such as satellite ephemeris and clock correction parameters, to ensure data consistency and integrity. Finally, the updated observation data set is used to update the solution value and update the verification statistics to identify and eliminate other faulty satellites. Specifically, using the updated observation data set, the least squares solution is re-performed to obtain new position, velocity, and time (PVT) solution values. At the same time, the verification statistics are recalculated to verify whether there are other faulty satellites. If the new verification statistic is still higher than the set threshold, it indicates that there may be multiple faulty satellites in the system, and the above identification and elimination steps need to be repeated until all faulty satellites are correctly identified and eliminated.
[0098] Step S80: Acquire the target observation data set.
[0099] It should be noted that the target observation dataset described above represents the pre-selected observation dataset remaining after removing the observation data corresponding to the faulty satellite. After the faulty satellite is removed, its observation dataset is automatically updated to remove all observation information related to the faulty satellite, such as pseudorange, carrier phase, and Doppler shift. This process requires precision and efficiency to prevent any residual erroneous data from impacting subsequent calculations. To ensure data consistency and integrity, the system also synchronously updates related auxiliary information, such as satellite ephemeris and clock correction parameters. Next, a least-squares solution is re-performed based on the updated target observation dataset to obtain a new position, velocity, and time (PVT) solution. Due to the removal of the faulty satellite, the new solution is typically more accurate and reliable. Furthermore, by recalculating the Dilution of Precision (DOP), the impact of the current satellite geometry on positioning accuracy can be assessed, ensuring that the system maintains high positioning quality even with a reduced number of available satellites.
[0100] Ultimately, using the target observation dataset for subsequent processing and analysis not only improves the robustness and stability of the system but also enhances the user experience. For example, in a dynamic environment, real-time updates of the observation dataset help quickly respond to environmental changes and provide continuous and stable navigation services.
[0101] Step S90: Calculate based on the target observation data set to obtain the target dilution of precision factor and the number of satellites.
[0102] It should be noted that, first, a least-squares solution is re-performed using the pseudorange observations of the remaining satellites in the target observation dataset to obtain a new position, velocity, and time (PVT) solution. Based on this, the target Dilution of Precision (DOP) is calculated using the geometric matrix. The DOP value reflects the impact of the satellite geometric layout on positioning accuracy, including horizontal dilution of precision (HDOP), vertical dilution of precision (VDOP), and geometric dilution of precision (GDOP). Simultaneously, the number of available satellites is counted. Ensuring a sufficient number of visible satellites is essential for the normal operation of the GNSS system. Typically, at least four satellites are required to provide three-dimensional position information and time corrections. However, in practice, more satellites can significantly improve positioning accuracy and reliability. Therefore, in addition to calculating the DOP value, it is also necessary to evaluate the number of remaining satellites and their geometric distribution to ensure that the system can provide stable positioning services under various conditions.
[0103] Step S100: determining based on the target dilution of precision factor and the number of satellites to obtain a satellite positioning result.
[0104] It's important to note that the calculated target DOP can be used to assess the impact of the current satellite geometry on positioning accuracy. Therefore, in practical applications, a DOP threshold is typically set. When the calculated DOP value falls below this threshold, the current satellite geometry is considered suitable for high-precision positioning. Otherwise, additional measures may be necessary to improve the satellite geometry, such as extending observation time or waiting for more satellites to come into view. Considering the number of available satellites is also crucial. While a GNSS system theoretically requires only four satellites to provide three-dimensional position information and time corrections, in practice, more satellites can significantly improve positioning accuracy and reliability. By counting the number of available satellites and considering their geometric distribution, positioning results can be further optimized. For example, if the number of available satellites is large and evenly distributed, higher positioning accuracy can be expected. However, if the number of available satellites is small or unevenly distributed, positioning results must be processed more cautiously, requiring increased redundant observations or other enhancement techniques to improve reliability.
[0105] Furthermore, step S100 includes: when the target dilution of precision factor does not exceed a preset threshold and the number of satellites meets a preset number, determining that the satellite positioning result is valid and outputting the satellite positioning result. This satellite positioning result is a least squares solution. Specifically, when the target dilution of precision factor does not exceed a preset threshold and the number of currently available satellites meets a preset number, the satellite positioning result can be determined to be valid. In this embodiment, assume that a vehicle-mounted GNSS receiver observes six satellites in real time, calculates that the HDOP = 2.5 (preset threshold = 3.0), and the satellite signal-to-noise ratio is greater than 35 dB-Hz. In this case, for DOP testing, HDOP = 2.5 < 3.0, indicating a good satellite geometric distribution. For satellite number testing, 6 > the minimum requirement of 4, meeting redundancy requirements. The user position is calculated using the least squares method. A RAIM residual test finds no faulty satellites, and the final positioning result (e.g., latitude and longitude error ±2m) is output. In this case, the position, velocity, and time (PVT) result obtained by the least squares solution is output as the final satellite positioning result. The results are generally accurate and reliable, making them suitable for a variety of applications, including high-precision navigation and safety-critical applications.
[0106] Furthermore, if the target DOP exceeds a preset threshold or the number of satellites does not meet the preset requirement, the satellite positioning result is deemed invalid, and the process returns to the step of selecting a preset number of satellites based on the satellite observation data and establishing a preselected observation dataset to update the satellite positioning result. Specifically, if the target DOP exceeds the preset threshold or the number of currently available satellites does not meet the preset requirement, the satellite positioning result is deemed invalid. For example, if the DOP is greater than 3.0 and the number of satellites is less than 4, this means that the current satellite geometry is insufficient to provide reliable positioning services, or that the insufficient number of satellites cannot meet basic positioning requirements. In this case, an unreliable positioning result is not output. Instead, a series of measures are implemented to update and optimize the observation dataset to obtain higher-quality positioning results. Specifically, first, the optimal satellite subset is re-evaluated and selected based on the latest observation data and signal quality parameters (such as carrier-to-noise ratio (CN0). Satellites with a high signal-to-noise ratio and a good geometric layout are prioritized to ensure the accuracy and reliability of the solution. Second, if the number of currently available satellites is insufficient, the observation time is extended to allow more satellites to enter the field of view or for the signal quality of existing satellites to improve. Increasing the time span of observation data can improve the stability and accuracy of positioning results. Third, in some cases, auxiliary technologies such as Differential GPS (DGPS) and Real-Time Kinematic (RTK) can be used to compensate for insufficient satellite numbers. These technologies can significantly improve positioning accuracy by incorporating additional reference station data or other external information sources. Finally, once the preselected observation dataset is updated, the least-squares solution is performed again, and the target DOP and number of satellites are recalculated. If the new result meets the preset conditions, the updated positioning result is output; otherwise, the above steps are iterated until the requirements are met. Furthermore, in certain scenarios (such as in urban canyons where only two satellites are available), if a valid solution is still unavailable, the system automatically switches to a degraded mode: combining base station differential data (RTK) or map matching to provide an approximate position. A "weak positioning signal" message is displayed on the human-machine interface, and the failure time and environmental data are recorded for subsequent analysis. For example, when a drone flies among high-rise buildings, the HDOP suddenly rises to 4.5 due to signal obstruction. The system automatically eliminates obscured satellites (elevation angle <10°), prioritizes the top three satellites with high signal-to-noise ratio, and integrates IMU data to complete positioning, keeping the error within 5m.
[0107] This dynamic adjustment mechanism enables the GNSS system to continue to provide reliable service in complex and changing environments. This approach not only improves the system's robustness and responsiveness, but also enhances the user experience by ensuring stable and accurate positioning information even when some satellites fail or are subject to interference.
[0108] This embodiment provides a method for generating satellite positioning results. The method obtains satellite observation data and a fault detection threshold, selects a preset number of satellites based on the satellite observation data, establishes a preselected observation dataset, performs calculations on the preselected observation dataset to obtain a least squares result, obtains an error value based on the preselected observation dataset and the solution value, calculates a test statistic based on the residual statistics, adjusts the fault detection threshold based on the error value, the DOP, and a preset error slope value to obtain a target fault detection threshold, and determines a fault presence when the test statistic exceeds the target fault detection threshold. The method also obtains a target observation dataset, performs calculations based on the target observation dataset to obtain a target DOP and number of satellites, and performs a determination based on the target DOP and number of satellites to obtain a satellite positioning result. By using historical data and current observation data to establish a preselected observation dataset, calculating the solution value using the least squares method, and calculating the test statistic based on the residual statistics, the fault detection threshold is dynamically adjusted based on the error value, the DOP, and the error slope, enabling rapid and accurate identification and elimination of faulty satellites, thereby improving fault detection efficiency and positioning accuracy.
[0109] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above embodiment 1 can be referred to the above introduction and will not be described in detail later. Figure 5 The satellite positioning result generation method step S60 further includes steps S201 to S204:
[0110] Step S201: Calculate the geometric distribution influence coefficient based on the precision reduction factor.
[0111] It should be noted that, assuming the value of the precision reduction factor is DOP, the geometric distribution influence coefficient can be defined as for:
[0112]
[0113] This formula reflects the degree of influence of the DOP on the overall geometric layout. The closer the value is to 1, the better the satellite geometric distribution is and the higher the positioning accuracy is.
[0114] Step S202 , performing calculation based on the error value and a preset error slope value to obtain a dynamic adjustment factor.
[0115] It should be noted that the error value can be represented by the pseudorange residual or other measurement errors. The error slope describes the change in positioning error caused by the unit pseudorange deviation. In this embodiment, the preset error slope is the maximum error slope. Dynamic adjustment factor The definition is as follows:
[0116]
[0117] in, Indicates error, Indicates the maximum error slope. A value of indicates that the current observation data has a large deviation or anomaly, requiring a stricter fault detection standard; a smaller A value of indicates that the observed data is relatively stable and the fault detection conditions can be appropriately relaxed.
[0118] Step S203: multiply the geometric distribution influence coefficient and the dynamic adjustment factor to obtain a comprehensive adjustment coefficient.
[0119] It should be noted that in order to comprehensively evaluate the impact of each satellite on the overall performance of the system, the geometric distribution influence coefficient and the dynamic adjustment factor can be multiplied to obtain the comprehensive adjustment coefficient , the larger The value indicates that the satellite not only has a great influence on the system in terms of geometric distribution, but also its observation data may have large deviations or anomalies, which requires special attention.
[0120] Step S204 : Process the fault detection threshold according to the comprehensive adjustment coefficient to obtain a target fault detection threshold.
[0121] It should be noted that to further optimize the fault detection threshold and improve the robustness and accuracy of the GNSS system, a scaling processing strategy can be introduced. This strategy adjusts the comprehensive adjustment coefficient by setting the scaling factor calculation method and scaling direction, thereby achieving a more accurate fault detection threshold setting.
[0122] Furthermore, the scaling factor calculation method and scaling direction in the scaling processing strategy are set. Specifically, the scaling factor It can be dynamically calculated based on the current state of the system and historical data. A common method is to determine it based on error statistics and system performance indicators. The specific formula is:
[0123]
[0124] in is the maximum error value, is the average error value. The scaling direction depends on the performance requirements of the current system. If the system requires higher sensitivity to detect potential faults, the amplification direction should be selected ( ); On the contrary, if the system wants to reduce the false alarm rate, it can choose to narrow the direction (i.e. ).
[0125] Then adjust the comprehensive adjustment coefficient according to the scaling factor calculation method and scaling direction to obtain the scaled adjustment coefficient. Specifically, multiply the scaling factor by the scaled adjustment coefficient. ,Finally, the fault detection threshold is iteratively optimized to obtain the target fault detection threshold.
[0126] Finally, the comprehensive adjustment coefficient is used to adjust the fault detection threshold. Assume that the initial fault detection threshold is , then the target fault detection threshold for the i-th satellite is It can be expressed as:
[0127]
[0128] Here, k is the adjustment coefficient, set based on historical data. A comprehensive adjustment coefficient is calculated based on the geometric distribution influence coefficient and the dynamic adjustment factor. This is used to dynamically adjust the fault detection threshold, enabling the GNSS system to continue to provide stable and reliable navigation services in complex environments.
[0129] This embodiment calculates a comprehensive adjustment coefficient based on the geometric distribution influence coefficient and the dynamic adjustment factor, and dynamically processes the fault detection threshold accordingly, thereby enhancing the system's adaptability, improving user experience, and improving system reliability.
[0130] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the first embodiment can be referred to the above introduction and will not be described in detail later. Figure 6 The satellite positioning result generating method further includes steps S301 to S302 before step S40:
[0131] Step S301: Obtain satellite navigation sample data and build an initial satellite prediction model.
[0132] It's important to note that acquiring satellite navigation sample data is fundamental to building prediction models. This data typically includes key information such as pseudoranges, carrier phase, and Doppler shift. GNSS receivers can capture signals from various satellites and record observations at each epoch. Furthermore, relevant auxiliary information is required, such as satellite ephemeris, clock correction parameters, and environmental conditions (such as ionospheric delay and tropospheric effects). To ensure data diversity and comprehensiveness, it is recommended to collect data from diverse geographic locations, time periods, and satellite constellations. For example, in a typical experimental setup, multiple fixed observation stations can be selected to continuously record data for several days, covering different time periods during the day and night, to capture changes in various environmental conditions. Furthermore, considering the characteristics of different satellite constellations (such as GPS, GLONASS, Galileo, and BeiDou), a mix of satellite signals can be used to improve the model's versatility and adaptability. After acquiring sufficient sample data, the next step is to build an initial satellite prediction model, which primarily predicts trends in elevation and clock errors.
[0133] Step S302: training the initial satellite prediction model based on the satellite navigation sample data to obtain a preset satellite prediction model.
[0134] It should be noted that to train the initial satellite prediction model, the model parameters are first initialized, and the satellite navigation sample data is input into the initial satellite prediction model for calculation to obtain the predicted value. The error value between the predicted value and the true value is calculated according to the loss function. The gradient of the model parameters is calculated through the back propagation algorithm. The model parameters are iteratively updated according to the gradient through the optimization algorithm until the maximum number of iterations is reached or the error value converges to the preset threshold, thereby obtaining the preset satellite prediction model. Specifically, assuming that the user's elevation and clock error change slowly over time, in this embodiment, a quadratic polynomial model can be used to fit the historical data as the initial satellite prediction model. Specifically, assume Indicates time, Indicates elevation, If represents the clock error, the model form is as follows:
[0135]
[0136] in, and is the model parameter to be estimated, which can be estimated by the least square method. Next, the satellite navigation sample data is input into the initial model for calculation to obtain the predicted value. The sample data includes the timestamp and the corresponding elevation and clock difference observations. For each epoch , calculate the predicted elevation output by the model and predicted clock error In order to evaluate the performance of the model, a loss function is defined to calculate the error between the predicted value and the true value. Common loss functions such as mean square error (MSE) are in the form of:
[0137]
[0138] Where n is the number of samples, and They are the actual elevation value and the actual clock error value, respectively. Based on the calculated error value, the back propagation algorithm is used to calculate the gradient of the model parameters. Back propagation uses the chain rule to calculate the partial derivatives of the loss function with respect to each model parameter layer by layer to obtain gradient information. Then, based on the gradient, an optimization algorithm such as gradient descent or Adam iteration is used to update the model parameters. This process continues until the preset maximum number of iterations is reached or the error value converges to the preset threshold. Usually, when the change in the loss function is less than a certain minimum value after several consecutive iterations, the model is considered to have converged. Finally, after multiple iterative optimizations, the preset satellite prediction model is obtained. This model can accurately predict the changing trends of elevation and clock error, providing strong support for fault detection and positioning accuracy optimization of the GNSS system.
[0139] After obtaining the preset satellite prediction model, the method further includes: evaluating the preset satellite prediction model to obtain an evaluation result; if the evaluation result does not meet the detection requirements, retraining the preset satellite prediction model until the detection requirements are met.
[0140] This embodiment trains the model through sample data and iteratively optimizes until convergence to obtain a preset satellite prediction model, thereby improving positioning accuracy and system robustness, reducing errors and failure rates, and ensuring the stability and reliability of navigation services in complex environments.
[0141] This application also provides a satellite positioning result generation device, please refer to Figure 7 , the device comprises:
[0142] The acquisition module 10 is used to acquire satellite observation data and fault detection thresholds.
[0143] The construction module 20 is used to select a preset number of satellites based on the satellite observation data and establish a pre-selected observation data set.
[0144] The calculation module 30 is used to calculate the preselected observation data set to obtain the least squares result.
[0145] The calculation module 30 is further configured to obtain an error value based on a preselected observation data set and a solution value.
[0146] The calculation module 30 is further configured to perform calculations based on the residual statistics to obtain a test statistic.
[0147] The optimization module 40 is configured to adjust the fault detection threshold according to the error value, the precision reduction factor, and the preset error slope value to obtain a target fault detection threshold.
[0148] The processing module 50 is used to determine the presence of a fault when the test statistic exceeds the target fault detection threshold, identify the faulty satellite and remove it.
[0149] The updating module 60 is used to obtain the target observation data set.
[0150] The calculation module 30 is further configured to perform calculations based on the target observation data set to obtain the target dilution of precision factor and the number of satellites.
[0151] The result module 70 is used to make a judgment based on the target precision reduction factor and the number of satellites to obtain a satellite positioning result.
[0152] The satellite positioning result generation device provided in this application, which employs the satellite positioning result generation method of the aforementioned embodiment, can solve the technical problem of how to improve the accuracy of satellite positioning results. Compared with the prior art, the beneficial effects of the satellite positioning result generation device provided in this application are the same as those of the satellite positioning result generation method provided in the aforementioned embodiment. Other technical features of the satellite positioning result generation device are the same as those disclosed in the aforementioned embodiment and are not further described here.
[0153] In one embodiment, the optimization module 40 is further used to calculate the geometric distribution influence coefficient based on the precision attenuation factor, calculate according to the error value and the preset error slope value to obtain the dynamic adjustment factor, multiply the geometric distribution influence coefficient and the dynamic adjustment factor to obtain the comprehensive adjustment coefficient, and process the fault detection threshold according to the comprehensive adjustment coefficient to obtain the target fault detection threshold.
[0154] In one embodiment, the optimization module 40 is further used to set the scaling factor calculation method and scaling direction in the scaling processing strategy; adjust the comprehensive adjustment coefficient according to the scaling factor calculation method and scaling direction to obtain the scaled adjustment coefficient; and iteratively optimize the fault detection threshold based on the scaled adjustment coefficient to obtain the target fault detection threshold.
[0155] In one embodiment, the result module 70 is further used to determine that the satellite positioning result is valid and output the satellite positioning result when the target precision reduction factor does not exceed the preset threshold and the number of satellites meets the preset number; when the target precision reduction factor exceeds the preset threshold or the number of satellites does not meet the preset number, determine that the satellite positioning result is invalid, return to the step of selecting a preset number of satellites based on the satellite observation data, and establishing a pre-selected observation data set to update the satellite positioning result.
[0156] In one embodiment, the calculation module 30 is also used to input the observation data in the pre-selected observation data set into a preset satellite prediction model for processing to obtain the predicted elevation and predicted clock error; and compare the predicted elevation and predicted clock error with the solution value to obtain the error value.
[0157] In one embodiment, the calculation module 30 is also used to obtain satellite navigation sample data and construct an initial satellite prediction model; train the initial satellite prediction model based on the satellite navigation sample data to obtain a preset satellite prediction model; the steps of training the initial satellite prediction model based on the satellite navigation sample data to obtain the preset satellite prediction model include: initializing model parameters; inputting the satellite navigation sample data into the initial satellite prediction model to calculate and obtain a predicted value; calculating according to the loss function to obtain the error value between the predicted value and the true value; calculating through the back propagation algorithm to obtain the gradient of the model parameters; iteratively updating the model parameters through the optimization algorithm according to the gradient until the maximum number of iterations is reached or the error value converges to a preset threshold, thereby obtaining the preset satellite prediction model.
[0158] In one embodiment, the processing module 50 is further used to determine that a fault exists and trigger a fault identification process when the check statistic exceeds the target fault detection threshold; use a statistical analysis method to identify and obtain the faulty satellite; eliminate the observation data corresponding to the faulty satellite from the pre-selected observation data set to obtain an updated observation data set; and update the solution value and update the check statistic calculation on the updated observation data set to identify and eliminate other existing faulty satellites.
[0159] The present application provides a satellite positioning result generating device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the satellite positioning result generating method in the above-mentioned embodiment 1.
[0160] Reference below Figure 8 , which shows a schematic diagram of the structure of a satellite positioning result generating device suitable for implementing the embodiments of the present application. The satellite positioning result generating device in the embodiments of the present application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), in-vehicle terminals (such as in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 8 The satellite positioning result generating device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0161] like Figure 8The satellite positioning result generating device may include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes based on programs stored in a ROM (Read Only Memory) 1002 or programs loaded from a storage device 1003 into a RAM (Random Access Memory) 1004. RAM 1004 also stores various programs and data required for the operation of the satellite positioning result generating device. Processing device 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to I / O interface 1006: input devices 1007, such as a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008, such as a liquid crystal display (LCD), speaker, vibrator, etc.; storage device 1003, such as a magnetic tape or hard disk; and communication device 1009. The communication device 1009 can allow the satellite positioning result generating device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows a satellite positioning result generating device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or provided instead.
[0162] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes program code for executing the method described in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are performed.
[0163] The satellite positioning result generation device provided in this application, employing the satellite positioning result generation method of the aforementioned embodiment, can solve the technical problem of how to improve the accuracy of satellite positioning results. Compared with the prior art, the beneficial effects of the satellite positioning result generation device provided in this application are the same as those of the satellite positioning result generation method provided in the aforementioned embodiment. Other technical features of the satellite positioning result generation device are the same as those disclosed in the aforementioned embodiment and are not further described here.
[0164] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0165] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art 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.
[0166] The present application provides a computer-readable medium having computer-readable program instructions (i.e., a computer program) stored thereon for performing calculations to obtain computer-readable program instructions for executing the satellite positioning result generation method in the above-mentioned embodiment.
[0167] The computer-readable medium provided in this application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination thereof. More specific examples of computer-readable media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. Calculations are performed in this embodiment to obtain a machine-readable medium that may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0168] The computer-readable medium may be included in the satellite positioning result generating device; or may exist independently without being assembled into the satellite positioning result generating device.
[0169] The computer-readable medium carries one or more programs. When the one or more programs are executed by the satellite positioning result generating device, the satellite positioning result generating device can write computer program code for performing the operations of the present application in one or more programming languages or a combination thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user computer, partially on the user computer, as a stand-alone software package, partially on the user computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0170] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, program segment or a part of code, and the module, program segment or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.
[0171] The modules described in the embodiments of the present application may be implemented in software or hardware, wherein the name of a module does not necessarily limit the unit itself.
[0172] The computer-readable medium provided in this application stores computer-readable program instructions (i.e., a computer program) for executing the aforementioned method for generating satellite positioning results. This computer-readable medium addresses the technical problem of improving the accuracy of satellite positioning results. Compared to the prior art, the beneficial effects of the computer-readable medium provided in this application are similar to those of the method for generating satellite positioning results provided in the aforementioned embodiments, and are not further elaborated here.
[0173] The present application also provides a computer program product, comprising a computer program, which implements the steps of the above-mentioned satellite positioning result generation method when executed by a processor.
[0174] The computer program product provided in this application can solve the technical problem of how to improve the accuracy of satellite positioning results. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the satellite positioning result generation method provided in the above embodiment, and will not be repeated here.
[0175] The above description is only part of the embodiments of the present application and does not limit the patent scope of the present application. All equivalent structural transformations made by using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect application in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A method for generating satellite positioning results, characterized in that: The method comprises: Obtain satellite observation data and fault detection thresholds; Selecting a preset number of satellites based on the satellite observation data to establish a preselected observation data set, wherein establishing the preselected observation data set includes using historical data and current observation data to establish the preselected observation set; Calculating the preselected observation data set to obtain a least squares result, the least squares result including a solution value, a residual statistic, a dilution of precision factor, and an error slope value, the solution value including position, velocity, and time information obtained by solving the satellite receiver; Obtaining an error value based on the preselected observation data set and the solution value; Calculate according to the residual statistic to obtain a test statistic; Adjusting the fault detection threshold according to the error value, the precision reduction factor, and a preset error slope value to obtain a target fault detection threshold; When the test statistic exceeds the target fault detection threshold, it is determined that a fault exists, and the faulty satellite is identified and removed; Acquire a target observation data set, where the target observation data set is a preselected observation data set remaining after excluding observation data corresponding to the faulty satellite; Calculating based on the target observation data set to obtain a target dilution of precision factor and the number of satellites; A determination is made based on the target precision reduction factor and the number of satellites to obtain a satellite positioning result.
2. The method according to claim 1, wherein The step of adjusting the fault detection threshold according to the error value, the precision reduction factor, and the preset error slope value to obtain a target fault detection threshold includes: Calculate a geometric distribution influence coefficient based on the dilution of precision factor; Calculating the error value and the preset error slope value to obtain a dynamic adjustment factor; Multiplying the geometric distribution influence coefficient and the dynamic adjustment factor to obtain a comprehensive adjustment coefficient; The fault detection threshold is processed according to the comprehensive adjustment coefficient to obtain a target fault detection threshold.
3. The method according to claim 2, wherein The step of processing the fault detection threshold according to the comprehensive adjustment coefficient to obtain a target fault detection threshold includes: Set the scaling factor calculation method and scaling direction in the scaling processing strategy; Adjusting the comprehensive adjustment coefficient according to the scaling factor calculation method and scaling direction to obtain a scaled adjustment coefficient; The fault detection threshold is iteratively optimized based on the scaled adjustment coefficient to obtain a target fault detection threshold.
4. The method according to claim 1, wherein The step of determining according to the target dilution of precision factor and the number of satellites to obtain a satellite positioning result includes: When the target dilution of precision factor does not exceed a preset threshold and the number of satellites meets a preset number, determining that the satellite positioning result is valid, and outputting the satellite positioning result, wherein the satellite positioning result is a least squares result; When the target precision reduction factor exceeds a preset threshold or the number of satellites does not meet a preset number, the satellite positioning result is determined to be invalid, and the process returns to the step of selecting a preset number of satellites based on the satellite observation data and establishing a preselected observation data set to update the satellite positioning result.
5. The method according to claim 1, wherein The step of obtaining an error value based on the preselected observation data set and the solution value comprises: Inputting the observation data in the preselected observation data set into a preset satellite prediction model for processing to obtain predicted elevation and predicted clock error; The predicted elevation and predicted clock error are compared with the calculated value to obtain an error value.
6. The method according to claim 5, wherein Before the step of inputting the observation data in the preselected observation data set into a preset satellite prediction model for processing to obtain the predicted elevation and predicted clock error, the method includes: Obtain satellite navigation sample data and build an initial satellite prediction model; Training the initial satellite prediction model based on the satellite navigation sample data to obtain a preset satellite prediction model; The step of training the initial satellite prediction model based on the satellite navigation sample data to obtain a preset satellite prediction model includes: Initialize model parameters; Inputting the satellite navigation sample data into the initial satellite prediction model for calculation to obtain a predicted value; Calculating the error between the predicted value and the true value according to the loss function; Obtaining the gradient of the model parameters by back propagation algorithm calculation; The model parameters are iteratively updated through an optimization algorithm according to the gradient until a maximum number of iterations is reached or the error value converges to a preset threshold, thereby obtaining a preset satellite prediction model.
7. The method according to claim 1, wherein The step of determining that a fault exists when the test statistic exceeds the target fault detection threshold, identifying the faulty satellite and removing it comprises: When the test statistic exceeds the target fault detection threshold, it is determined that a fault exists, and a fault identification process is triggered; Statistical analysis methods are used to identify and obtain the faulty satellite; Eliminating the observation data corresponding to the faulty satellite from the preselected observation data set to obtain an updated observation data set; An updated solution value and an updated check statistic are calculated for the updated observation data set to identify and eliminate other existing faulty satellites.
8. A satellite positioning result generating device, characterized in that: The device comprises: Acquisition module, used to obtain satellite observation data and fault detection threshold; A construction module is configured to select a preset number of satellites based on the satellite observation data and establish a preselected observation data set, wherein establishing the preselected observation data set includes establishing the preselected observation set using historical data and current observation data; a calculation module, configured to calculate the preselected observation data set to obtain a least squares result, wherein the least squares result includes a solution value, a residual statistic, a precision reduction factor, and an error slope value, wherein the solution value includes position, velocity, and time information obtained by solving the problem by the satellite receiver; The calculation module is further configured to obtain an error value based on the preselected observation data set and the solution value; The calculation module is further used to calculate according to the residual statistic to obtain a test statistic; an optimization module, configured to adjust the fault detection threshold according to the error value, the precision reduction factor, and a preset error slope value to obtain a target fault detection threshold; a processing module, configured to determine that a fault exists when the test statistic exceeds the target fault detection threshold, identify the faulty satellite, and remove it; An updating module is used to obtain a target observation data set, where the target observation data set is a preselected observation data set remaining after eliminating the observation data corresponding to the faulty satellite; The calculation module is further used to perform calculations based on the target observation data set to obtain a target dilution of precision factor and the number of satellites; The result module is used to make a judgment based on the target precision reduction factor and the number of satellites to obtain a satellite positioning result.
9. A satellite positioning result generating device, characterized in that: The device includes: a memory, a processor, and a satellite positioning result generation program stored in the memory and running on the processor, wherein the satellite positioning result generation program is configured to implement the steps of the satellite positioning result generation method according to any one of claims 1 to 7.
10. A storage medium, characterized in that: The storage medium stores a satellite positioning result generation program, which, when executed by a processor, implements the steps of the satellite positioning result generation method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Fault detection and identification method for integrated navigation system
CN115420284A
Abnormal pseudo-range identification method and device and computer readable medium
CN115586551A