Positioning methods, devices, and storage media for navigation satellites
By screening and calibrating pseudorange observations in the global navigation satellite system and optimizing the initial value of the Kalman filter, the problems of positioning efficiency and accuracy in complex environments were solved, and rapid and accurate initial positioning was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HAO LI ZHI NENG KE JI (JIANG SU) YOU XIAN GONG SI
- Filing Date
- 2025-12-30
- Publication Date
- 2026-04-21
AI Technical Summary
In complex environments, the initial positioning efficiency and accuracy of global navigation satellite systems are difficult to meet the requirements of real-time performance and reliability. In particular, under the influence of obstruction or multipath interference in densely populated urban areas, the convergence speed and accuracy of the Kalman filter algorithm are affected.
After acquiring pseudorange observations at the receiver, the least squares algorithm is used to determine the observation information and posterior residuals. Preset satellite screening conditions are introduced to filter out satellites with poor signal quality. The pseudorange observations are then calibrated to determine the calibration posterior residuals. Subsequently, the initial values of the Kalman filter are optimized to improve the convergence efficiency of the Kalman filter algorithm.
It shortens the positioning time, improves the accuracy and efficiency of initial positioning, and ensures rapid and accurate positioning in complex environments.
Smart Images

Figure CN121432483B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of global navigation satellite positioning technology, and more particularly to a positioning method, apparatus, and storage medium for navigation satellites. Background Technology
[0002] The Global Navigation Satellite System (GNSS) is a core infrastructure enabling global, all-weather, high-precision positioning and navigation, and is widely used in transportation, surveying and mapping, and consumer electronics. In the signal processing flow of a satellite positioning receiver, the position velocity-time (PVT) algorithm is a crucial step in calculating the user's position using raw pseudorange or carrier observations. Typically, the PVT calculation process combines the least squares (LSQ) algorithm with the Kalman filter (KF) algorithm, with the LSK providing an initial solution for the KF algorithm, which then recursively converges based on this initial solution. With the rapid development of the Internet of Things (IoT) and intelligent transportation, application scenarios place higher demands on the real-time performance and reliability of positioning algorithms. Therefore, improving the efficiency of initial positioning using GNSS in complex observation environments is a significant challenge. Summary of the Invention
[0003] In view of this, the present disclosure provides a navigation satellite positioning method, apparatus, and storage medium to improve the efficiency of initial positioning of a carrier using a global navigation satellite system.
[0004] In a first aspect, a positioning method for navigation satellites is provided for a carrier to perform initial positioning using a Global Navigation Satellite System, comprising: acquiring a first pseudorange observation in a first epoch; determining first observation information and a first posterior residual corresponding to the first observation information based on the first pseudorange observation and a least squares algorithm; determining a first calibration pseudorange observation based on the first pseudorange observation and preset satellite selection conditions, wherein the preset satellite selection conditions are determined based on the signal quality of the navigation satellite; determining first calibration observation information and a first calibration posterior residual corresponding to the first calibration observation information based on the first calibration pseudorange observation and a least squares algorithm; determining an initial value for a Kalman filter based on the first posterior residual and the first calibration posterior residual; and converging to determine the positioning result based on the initial value for the Kalman filter and the Kalman filter algorithm.
[0005] The above navigation satellite positioning method, after acquiring the first pseudorange observation, determines the first observation information and the first posterior parameter through the least squares algorithm. Then, it introduces preset satellite screening conditions to filter out satellites with poor signal quality and those that affect positioning from the first pseudorange observation. This process determines the first calibration pseudorange observation, and then determines the first calibration observation information and the first calibration posterior parameter based on this. By judging the first calibration posterior parameter and the first posterior parameter, the initial value of the Kalman filter is determined, thereby improving the convergence efficiency of the Kalman filter algorithm, shortening the positioning time, and improving the accuracy of the first positioning.
[0006] Optionally, the initial value of the Kalman filter is determined based on the first posterior residual and the first calibration posterior residual, including: comparing the first posterior residual and the first calibration posterior residual; when the first posterior residual is less than the first calibration posterior residual, the first observation information is used as the initial value of the Kalman filter; when the first posterior residual is greater than the first calibration posterior residual, the first calibration observation information is used as the initial value of the Kalman filter.
[0007] Optionally, it also includes: acquiring a second pseudorange observation in the second epoch, wherein the second epoch is later than the first epoch; determining second observation information and a second posterior residual corresponding to the second observation information based on the second pseudorange observation and a least squares algorithm; determining a second calibration pseudorange observation based on the second pseudorange observation and preset satellite screening conditions; determining second calibration observation information and a second calibration posterior residual corresponding to the second calibration observation information based on the second calibration pseudorange observation and a least squares algorithm; and determining the initial value of the Kalman filter based on the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual.
[0008] Optionally, the initial value of the Kalman filter is determined based on the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual, including: comparing the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual; when the first posterior residual is less than the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual, the first observation information is used as the initial value of the Kalman filter; when the second posterior residual is less than the first posterior residual, the first calibration posterior residual, and the second calibration posterior residual, the second observation information is used as the initial value of the Kalman filter; when the first calibration posterior residual is less than the first posterior residual, the second posterior residual, and the second calibration posterior residual, the first calibration observation information is used as the initial value of the Kalman filter; when the second calibration posterior residual is less than the first posterior residual, the second posterior residual, and the first calibration posterior residual, the second calibration observation information is used as the initial value of the Kalman filter.
[0009] Optionally, it also includes: starting the Kalman filter algorithm based on the first Kalman filter initial value determined in the first epoch; restarting the Kalman filter algorithm based on the second Kalman filter initial value when the second Kalman filter initial value determined in the second epoch is different from the first Kalman filter initial value; and using the convergence result of the Kalman filter algorithm started based on the first Kalman filter initial value as the localization result when the first Kalman filter initial value is the same as the second Kalman filter initial value.
[0010] Optionally, the preset satellite selection criteria include one or more of the following conditions: the carrier-to-noise ratio of the satellite in the pseudorange observation is less than the preset carrier-to-noise ratio threshold; the elevation angle of the satellite in the pseudorange observation is less than the preset elevation angle threshold.
[0011] Optionally, based on the first pseudorange observation and preset satellite screening conditions, the first calibration pseudorange observation is determined, including: in the first pseudorange observation, deleting satellites with a carrier-to-noise ratio less than a preset carrier-to-noise ratio threshold; and / or deleting satellites with an elevation angle less than a preset elevation angle threshold; and determining the first calibration pseudorange observation after deletion.
[0012] Optionally, scenarios in which the carrier uses the Global Navigation Satellite System for initial positioning include: shared bicycle parking location detection scenarios, or vehicle-mounted startup positioning scenarios.
[0013] Secondly, a positioning device for navigation satellites is provided for a carrier to perform initial positioning using a Global Navigation Satellite System, comprising: an acquisition unit for acquiring a first pseudorange observation in a first epoch; a first determination unit for determining first observation information and a first posterior residual corresponding to the first observation information based on the first pseudorange observation and a least squares algorithm; a calibration unit for determining a first calibration pseudorange observation based on the first pseudorange observation and preset satellite selection conditions, wherein the preset satellite selection conditions are determined based on the signal quality of the navigation satellite; and determining first calibration observation information and a first calibration posterior residual corresponding to the first calibration observation information based on the first calibration pseudorange observation and a least squares algorithm; a second determination unit for determining an initial value for a Kalman filter based on the first posterior residual and the first calibration posterior residual; and a filtering unit for converging and determining the positioning result based on the initial value for the Kalman filter and the Kalman filter algorithm.
[0014] Thirdly, a computer-readable storage medium is provided having instructions stored thereon, which, when read by a processor, implement the positioning method for navigation satellites as provided in the first aspect. Attached Figure Description
[0015] The accompanying drawings used in the description of the embodiments of this disclosure are briefly introduced below:
[0016] Figure 1A flowchart illustrating a navigation satellite positioning method provided in some embodiments of this application is shown;
[0017] Figure 2 A flowchart illustrating another navigation satellite positioning method provided in some embodiments of this application is shown;
[0018] Figure 3 A schematic diagram of the structure of a navigation satellite positioning device provided in some embodiments of this application is shown. Detailed Implementation
[0019] To more clearly illustrate the technical solutions in the embodiments of this disclosure, examples of implementation methods of this disclosure will be described below with reference to the accompanying drawings. The accompanying drawings described below are merely some embodiments of this disclosure. For those skilled in the art, other drawings and other implementation methods can be obtained based on these drawings without creative effort. Adjustments and improvements made without departing from the concept of this disclosure are all within the protection scope of this disclosure.
[0020] To keep the drawings simple, each figure only schematically shows the parts relevant to the embodiment, and they do not represent the actual structure of the product. In addition, for the sake of clarity and ease of understanding, some figures only schematically show parts of components with the same structure or function, and there may actually be more or fewer components with the same structure or function.
[0021] In this disclosure, unless otherwise expressly specified and limited, ordinal numbers, such as “first”, “second”, etc., are used only to distinguish and describe related objects, and should not be construed as indicating or implying the relative importance or order between related objects; furthermore, they do not represent the quantity of related objects. “Multiple” includes two or more, and other quantifiers are similar. “ / ” is used to describe the relationship between related objects, indicating an “or” relationship between them. “And / or” is used to describe the relationship between related objects, including any combination relationship between them, such as “a and / or b” including: “a alone”, “b alone”, or “a and b”. “One or more” or “at least one” of multiple objects refers to any object or any combination of multiple objects, such as “one or more of a1, a2, a3” or “at least one of a1, a2, a3” including: “a1 alone”, “a2 alone”, “a3 alone”, “a1 and a2”, “a1 and a3”, “a2 and a3”, or “a1, a2 and a3”.
[0022] As a core infrastructure for modern spatiotemporal information services, Global Navigation Satellite Systems (GNSS) acquire pseudorange observations by measuring the propagation time of satellite signals through receivers mounted on the satellite platform. These pseudorange observations are then used to calculate the platform's position, velocity, and time information. The pseudorange observations are not the actual geometric distance between the satellite and the receiver, but rather observations that include various error terms such as receiver clock bias, satellite clock bias, ionospheric and tropospheric delays, multipath effects, and measurement noise. To solve for the receiver's three-dimensional coordinates and clock bias from the nonlinear pseudorange observation equations, a Taylor series expansion is typically used to linearize the equations at approximate locations. The least squares (LSQ) algorithm is then used iteratively to minimize the sum of squared observation residuals, thereby obtaining the single-point positioning result. In some algorithmic architectures applying Global Navigation Satellite Systems (GNSS), to further smooth noise and handle dynamic scenes, a cascaded system incorporating the least squares algorithm and the Kalman filter (KF) can be constructed. The least squares algorithm provides instantaneous position, velocity, clock error, and clock drift estimates at each epoch. These estimates are used as initial system state values or measurement inputs for the Kalman filter algorithm, which then performs state prediction and measurement updates to achieve gradual convergence in accuracy. However, in applications with extremely high requirements for initial positioning accuracy and rapid convergence, such as shared bicycle electronic fence determination and cold start of vehicle navigation systems, this cascaded architecture faces significant challenges. In the first few epochs after receiver startup, due to the lack of historical state information, the Kalman filter algorithm relies entirely on the initial solution provided by the least squares algorithm for initialization. If this occurs in a complex environment such as a densely built-up urban area, affected by obstruction or multipath interference, the initial solution calculated by the least squares algorithm may have a large positioning deviation. This will cause the Kalman filter algorithm to start in a significantly flawed initial state. Due to the convergence characteristics of Kalman filtering, correcting this significant initial deviation requires a long iteration period. This directly manifests as the positioning result needing a considerable amount of time to drift before stabilizing near the true location, making it difficult to meet the operational requirements of real-time and accurate positioning in the aforementioned application scenarios. In view of this, this application provides a positioning method, apparatus, and storage medium for navigation satellites. It acquires pseudorange observations during the epochs in which the receiver operates, determines the observation information and its corresponding posterior residual using a least squares algorithm, calibrates the pseudorange observations of the current epoch, determines the calibrated pseudorange observations, and uses the calibrated pseudorange observations and the least squares algorithm to determine the calibrated posterior residual and calibrated observation information. After judgment and processing, the initial values for entering the Kalman filtering algorithm are determined, thereby improving the accuracy and efficiency of the initial positioning of a carrier equipped with a global navigation satellite system.
[0023] The following description is in conjunction with the accompanying drawings:
[0024] Figure 1The diagram illustrates a flowchart of a navigation satellite positioning method provided in some embodiments of this application. This navigation satellite positioning method is used for initial positioning of a carrier using a Global Navigation Satellite System (GNSS). The carrier may include: non-motorized vehicles, motorized vehicles, ships, aircraft (e.g., flying vehicles, drones), mobile terminals (e.g., mobile phones, wearable devices), non-mobile terminals (e.g., computers, controllers, servers), industrial robots, or home robots, etc., and other equipment requiring the use of a GNSS system; no specific limitations are specified herein. The positioning method of this application is preferably applicable to initial positioning scenarios with high requirements for positioning convergence speed and accuracy, such as location point detection of shared bicycles when parked, or initial positioning when an in-vehicle navigation device is started. The positioning method includes at least the following steps:
[0025] S110: In the first epoch, acquire the first pseudorange observation;
[0026] S120: Based on the first pseudorange observation and the least squares algorithm, determine the first observation information and the first posterior residual corresponding to the first observation information;
[0027] S130: Based on the first pseudorange observation and the preset satellite screening conditions, determine the first calibration pseudorange observation, wherein the preset satellite screening conditions are determined based on the signal quality of the navigation satellite;
[0028] S140: Based on the first calibration pseudorange observation and the least squares algorithm, determine the first calibration observation information and the first calibration posterior residual corresponding to the first calibration observation information;
[0029] S150: Determine the initial value of the Kalman filter based on the first posterior residual and the first calibration posterior residual;
[0030] S160: Based on the initial value of the Kalman filter and the Kalman filter algorithm, the localization result is determined by convergence.
[0031] In the above embodiments of the navigation satellite positioning method, an epoch refers to the time node at which the receiver on the carrier performs signal sampling and data processing. The first epoch can be the first sampling time node after the carrier activates the receiver's positioning function. The pseudorange observation is the most basic raw observation data acquired in the global navigation satellite system at this first epoch. It is the distance obtained by multiplying the time difference between the satellite's signal transmission time and the receiver's signal reception time by the speed of light. In specific implementations, acquiring the pseudorange observation may include receiving and tracking satellite signals from the global navigation satellite system. The system in this application embodiment may include the Global Positioning System, the BeiDou Navigation Satellite System, the GLONASS system, or the Galileo system. At each epoch, the receiver simultaneously measures multiple satellites (e.g., 4, 5, or more satellites) within its line of sight, thereby obtaining a set of pseudorange observations. Therefore, the receiver receives and tracks multiple satellites within its line of sight at the first epoch, thereby obtaining the first pseudorange observation. The system can solve for the first pseudorange observation acquired at the first epoch using a least squares algorithm. The least squares algorithm is a mathematical optimization algorithm that finds the best function match for data by minimizing the sum of squared errors. In global navigation satellite system (GNSS) positioning, the least squares algorithm can be used to solve the linearized pseudorange observation equations, aiming to minimize the sum of squared residuals (or weighted sum of squared residuals) of all observations. The first observation information determined by the least squares algorithm is the state estimate of the carrier in the first epoch, including the carrier's position coordinates, velocity vector, receiver clock error or clock drift, and other parameters. Simultaneously, the first posterior residual is calculated. The first posterior residual is an important indicator for evaluating the quality of the solution obtained by the least squares algorithm for the current first pseudorange observation, reflecting the degree of fit between the observed and calculated values. This posterior residual can be represented by statistical measures such as unit weighted variance or weighted sum of squared residuals. The smaller the value of the posterior residual, the higher the accuracy and reliability of the observation information (such as position coordinates) calculated in that epoch. In the initial stage of initial positioning, satellite signals may be affected by environmental obstruction or instability, resulting in some low-quality measurements in the raw observation data. To eliminate the impact of low-quality signals on positioning accuracy, the system can filter the first pseudorange observations based on preset satellite screening criteria. These preset satellite screening criteria can be a set of indicators used to measure satellite signal quality or the availability of observation data. To broadly adapt to different application environments, these preset satellite screening criteria can include, but are not limited to, one or any combination of the following indicators: for example, signal strength indicators, such as carrier-to-noise ratio or signal-to-noise ratio, to reflect signal clarity; or geometric distribution indicators, such as satellite elevation angle or azimuth angle, to reflect the path length of the signal through the atmosphere and the risk of obstruction; or observation consistency indicators, such as the consistency detection results of Doppler frequency shift and pseudorange change rate.The system can filter the first pseudorange observations according to the aforementioned preset satellite screening conditions. After determining the filtered first calibration pseudorange observations, the system can perform a second calculation using the least squares algorithm. This calculation will output a new positioning result, namely the first calibration observation information, and a new quality assessment index, namely the first calibration posterior residual. This verifies whether the observation equations composed of the remaining satellites can achieve a smaller fitting error after removing some potentially inferior satellites. Furthermore, the system can compare the first posterior residual of the original solution with the first calibration posterior residual of the filtered solution, and select the observation information corresponding to the smallest posterior residual as the initial value for the Kalman filter. Alternatively, a threshold judgment can be used to first preset a residual threshold. Before and after calibration, if a posterior residual is found to be less than the residual threshold, the result is considered reliable, and its observation information is determined as the initial value for the Kalman filter. Alternatively, a weighted average can be used. When the posterior residuals before and after calibration are small and similar, the reciprocal of the posterior residuals is used as the weight to perform a weighted average of the observation information before and after calibration, and the averaged result is determined as the initial value for the Kalman filter. The Kalman filter algorithm is an algorithm that uses the state equation of a linear system to make an optimal estimate of the system state through the system input and output observation data. The Kalman filter algorithm has a predictive-update recursive nature, and its convergence speed and final accuracy are highly dependent on the accuracy of the initial state (i.e., the initial value of the Kalman filter involved in this application). In this application, the initial value of the Kalman filter determined by screening or optimization in step S150, as the initial value of the state vector (or covariance matrix) of the Kalman filter algorithm, can improve the convergence efficiency of the Kalman filter algorithm, thereby improving the accuracy of the first positioning and shortening the positioning time. Since this initial value of the Kalman filter is a high-quality solution selected based on the evaluation of the posterior residuals before and after calibration, it has higher accuracy than the solution obtained by blindly using the observation information directly determined in the first epoch. Therefore, the optimized initial value of the Kalman filter enables the Kalman filter algorithm to start recursively from a starting point that is closer to the real position after startup, thereby significantly reducing the number of iterations or time required for convergence and ultimately outputting high-precision positioning results quickly.
[0032] In some embodiments of this application, determining the initial value of the Kalman filter based on the first posterior residual and the first calibration posterior residual includes: comparing the first posterior residual and the first calibration posterior residual; when the first posterior residual is less than the first calibration posterior residual, using the first observation information as the initial value of the Kalman filter; when the first posterior residual is greater than the first calibration posterior residual, using the first calibration observation information as the initial value of the Kalman filter.
[0033] In the above implementation, if the first calibration posterior residual is less than the posterior residual, it indicates that the filtering operation has effectively removed noise sources (e.g., eliminating satellites with severe multipath issues or poor signal strength), improving positioning accuracy. Therefore, the first calibration observation information is determined as the final observation information for the current first epoch, forming the initial value for the Kalman filter. If the first calibration posterior residual is greater than the first posterior residual, it indicates that the elimination operation may have degraded the observation information, and its negative impact outweighs the positive impact of improved signal quality. In this case, to ensure the robustness of positioning, the system still retains the original first observation information as the final result for the current first epoch, and then determines the positioning result after convergence through the Kalman filter algorithm.
[0034] In some embodiments of this application, preset satellite screening conditions can be introduced in each of the multiple epochs to determine the initial values of the Kalman filter algorithm. Figure 2 A flowchart illustrating another navigation satellite positioning method provided in some embodiments of this application is shown. The positioning method further includes:
[0035] S210: In the second epoch, obtain the second pseudorange observation, wherein the second epoch is later than the first epoch;
[0036] S220: Based on the second pseudorange observation and the least squares algorithm, determine the second observation information and the second posterior residual corresponding to the second observation information;
[0037] S230: Determine the second calibration pseudorange observation based on the second pseudorange observation and the preset satellite screening conditions;
[0038] S240: Based on the second calibration pseudorange observation and the least squares algorithm, determine the second calibration observation information and the second calibration posterior residual corresponding to the second calibration observation information;
[0039] S250: Determine the initial values of the Kalman filter based on the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual.
[0040] In the above embodiments, the second epoch is a time that follows the first epoch (e.g., the immediately following next sampling time). At this time, the receiver performs another measurement to acquire the second pseudorange observation. It should be noted that the time interval between the first and second epochs is usually very short (e.g., a difference in milliseconds), and the motion state of the carrier and changes in the environment are usually continuous within a short period of time.
[0041] In the above implementation, a second pseudorange observation can be acquired at the second epoch, and the second pseudorange observation can be solved using a least squares algorithm to obtain the second observation information and the corresponding second posterior residual. Then, a preset satellite screening condition is introduced again to calibrate the second pseudorange observation into a second calibrated pseudorange observation, and the second calibrated observation information and the corresponding second calibrated posterior residual are determined by the least squares algorithm. This is then compared with multiple posterior residuals from the first epoch. The four posterior residuals—the first posterior residual, the second posterior residual, the first calibrated posterior residual, and the second calibrated posterior residual—are used to determine which posterior residual corresponds to which observation information should be used as the initial value for the Kalman filter. If a certain posterior residual is small, it indicates that the observation information data corresponding to that posterior residual is of higher quality, the calculated position better conforms to the geometric constraints of the pseudorange observation equation, and is less likely to be affected by multipath effects or gross errors. In this case, the observation information is confirmed to be reliable, and it is determined as the initial value for the Kalman filter. Alternatively, at the first epoch, if it has already been determined which of the first observation information before and after calibration, and the first calibration observation information, is more suitable as the initial value for the Kalman filter, the posterior residual corresponding to that observation information can be directly compared with the two posterior residuals obtained at the second epoch (the second posterior residual and the second calibration posterior residual). Alternatively, at the second epoch, the second posterior residual and the second calibration posterior residual can be compared and determined to determine which of the second observation information before and after calibration, and the second calibration observation information, is more suitable as the initial value for the Kalman filter. Then, the posterior residual determined at the second epoch can be compared with the posterior residual determined at the first epoch to determine which posterior residual corresponds to the observation information more suitable as the initial value for the Kalman filter. The specific implementation method can be set by technicians according to the actual positioning requirements of the navigation satellites, and no specific restrictions are imposed here. If the system has already pre-started the Kalman filter algorithm after step S120, and the initial value for the Kalman filter is determined to be the first observation information after step S250, the filtering process can continue without resetting. Conversely, if other posterior residuals are significantly smaller, it indicates that the quality of the solution based on the first observation information is inferior to that of the observation information corresponding to the posterior residual. This may be due to obstruction or instability of the satellite signal corresponding to the first observation information. The system determines that there are other observation information that is closer to the true value, and therefore determines it as the initial value for the Kalman filter. In this case, if the system has previously started the Kalman filter based on the first observation information, it is necessary to reset or reinitialize the state vector of the Kalman filter using the better quality observation information to eliminate the bias. It should be noted that the Kalman filter algorithm can be started after step S120 or step S150, and under certain time delay constraints, it can also be started after step S220 or step S250.
[0042] In some embodiments of this application, in the second epoch, after the second pseudorange observation is calculated using the least squares algorithm to determine the second observation information and the second posterior residual, the second posterior residual is directly compared with the first posterior residual and the first calibration posterior residual to determine the initial value of the Kalman filter. Alternatively, if it has already been determined in the first epoch which posterior residual corresponds to observation information more suitable as the initial value of the Kalman filter, that posterior residual is directly compared with the second posterior residual to determine the initial value of the Kalman filter again. Furthermore, this application may omit the introduction of preset satellite selection conditions in the second epoch, applying them only in the first epoch. That is, the process ends after determining the second observation information and the second posterior parameter through the second pseudorange observation and comparing them to determine the initial value of the Kalman filter. Therefore, the implementation of various embodiments of this application can be independently selected and configured by those skilled in the art to balance positioning efficiency and positioning accuracy, and no specific limitations are imposed here.
[0043] This application, through cross-epoch screening, effectively avoids the negative impact of positioning deviations caused by observation information directly determined by pseudorange observations and least squares algorithms on subsequent filtering. In actual initial positioning scenarios, the initial observation data of the first epoch is often most susceptible to the instability of equipment cold start or sudden environmental obstruction. This embodiment, by introducing preset satellite screening conditions at one or more epochs, can dynamically identify which observation information before and after calibration can provide higher quality initial Kalman filter values, and select the better observation information as the initial benchmark for the Kalman filter algorithm. This ensures that the filtering process always converges from a relatively more accurate position, avoiding convergence delays or trajectory drift caused by blindly trusting the observation information determined by directly obtaining pseudorange observations. Thus, while ensuring positioning efficiency, it significantly improves the reliability of the initial positioning.
[0044] In some embodiments of this application, determining the initial value of the Kalman filter based on the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual includes: comparing the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual; when the first posterior residual is less than the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual, using the first observation information as the initial value of the Kalman filter; when the second posterior residual is less than the first posterior residual, the first calibration posterior residual, and the second calibration posterior residual, using the second observation information as the initial value of the Kalman filter; when the first calibration posterior residual is less than the first posterior residual, the second posterior residual, and the second calibration posterior residual, using the first calibration observation information as the initial value of the Kalman filter; when the second calibration posterior residual is less than the first posterior residual, the second posterior residual, and the first calibration posterior residual, using the second calibration observation information as the initial value of the Kalman filter.
[0045] The implementation method of this application can realize a global optimization strategy, extending the selection range of the initial value of the Kalman filter from a binary choice in a single epoch to a multi-choice choice across multiple epochs. For example, the system can comprehensively compare the values of the four posterior residuals to determine which processing strategy (original or calibrated) produces the result closest to the true value at which time point (e.g., the first epoch or the second epoch). For instance, when the first observation information is optimal, i.e., when the first posterior residual is less than the second posterior residual, the first calibrated posterior residual, and the second calibrated posterior residual, it indicates that the original data quality of the first epoch is the best (neither surpassed by the second epoch nor requiring elimination optimization). In this case, the first observation information is determined as the initial value of the Kalman filter. When the second observation information is optimal, i.e., when the second posterior residual is less than the first posterior residual, the first calibrated posterior residual, and the second calibrated posterior residual, it indicates that the original observation conditions of the second epoch are optimal. In this case, the second observation information is determined as the initial value of the Kalman filter. This situation may occur due to signal occlusion in the first epoch, while the signal recovers to normal in the second epoch. When the first calibration observation information is optimal, i.e., the first calibration posterior residual is less than the first posterior residual, the second posterior residual, and the second calibration posterior residual, it indicates that the gain obtained by eliminating inferior satellites in the first epoch is the greatest. In this case, the first calibration observation information is determined as the initial value for the Kalman filter. When the second calibration observation information is optimal, i.e., the second calibration posterior residual is less than the first posterior residual, the second posterior residual, and the first calibration posterior residual, it indicates that the result after data calibration in the second epoch is the most reliable. In this case, the second calibration observation information is determined as the initial value for the Kalman filter. Through this multi-dimensional comparison mechanism, this application can minimize the sporadic errors of a single epoch and the limitations of a single processing strategy, ensuring that the initial value fed to the Kalman filter algorithm is the theoretically optimal solution among all possible data combinations within the current time window, thus providing the most solid foundation for the rapid convergence of the positioning algorithm. In addition, in some embodiments of this application, the above posterior residual comparison process can also introduce a posterior residual threshold. That is, after the difference between the two posterior residuals to be compared and the absolute value is taken, if the absolute value of the difference is greater than or equal to the posterior residual threshold, then the observation information corresponding to the smaller of the two posterior residuals is taken as the new Kalman filter initial value. If the absolute value of the difference is less than the posterior residual threshold, it means that even if the current more ideal observation information is taken as the new Kalman filter initial value, it has less impact on the final positioning result determined after filtering and convergence based on the current Kalman filter initial value, and the Kalman filter can be restarted.
[0046] In some embodiments of this application, the method further includes: starting the Kalman filter algorithm based on the first Kalman filter initial value determined in the first epoch; restarting the Kalman filter algorithm based on the second Kalman filter initial value when the second Kalman filter initial value determined in the second epoch is different from the first Kalman filter initial value; and using the convergence result of the Kalman filter algorithm started based on the first Kalman filter initial value as the localization result when the first Kalman filter initial value is the same as the second Kalman filter initial value.
[0047] In the above implementation, at the first epoch, after comparing the first posterior residual with the first calibrated posterior residual and selecting the optimal initial value for the first Kalman filter, the system does not wait but immediately inputs this initial value into the Kalman filter algorithm. At this time, the Kalman filter algorithm is initialized and begins its first round of recursive calculation. This means that the user can obtain a preliminary positioning result in the first epoch, ensuring the system's rapid response. After entering the second epoch, the system performs a more comprehensive comparison, that is, it compares the original and calibrated posterior residuals of the first and second epochs, as described in step S250 above. When a globally optimal initial value for the second Kalman filter is determined, the system compares the second initial value with the currently used initial value for the first Kalman filter. Through global comparison, it is found that the source of the optimal solution has changed. For example, the initial value for the first Kalman filter may have been selected from the first calibrated observation information, but after calculation in the second epoch, it is found that the posterior residual of the second observation information is smaller (or the second calibrated posterior residual corresponding to the second calibrated observation information may be smaller). Therefore, the determined initial value for the second Kalman filter is changed to the second observation information. Once it is confirmed that the second Kalman filter initial value is better and different from the current initial value, the system determines that the current Kalman filter convergence path is suboptimal. At this point, the system can perform a reset operation, interrupt the current filtering process, replace the first Kalman filter initial value already input to the Kalman filter algorithm with the second Kalman filter initial value, and restart convergence from this starting point. Alternatively, if the Kalman filter algorithm has already obtained a result while converging based on the first Kalman filter initial value, the system can cache the result and wait for subsequent judgments. After making a judgment, it decides whether to output the current positioning result. For example, if it determines that the current Kalman filter initial value used for input is optimal, it outputs the current positioning result; if it determines that the current Kalman filter initial value used for input is not optimal, it does not output the result but waits for convergence to determine a new positioning result. If, after comparison at the second epoch, it is found that the result selected at the first epoch is still the best among all candidates (i.e., the second Kalman filter initial value still points to the source of the first Kalman filter initial value, such as still being the smallest first posterior residual or first calibration posterior residual), or the difference between the two is within a negligible error range. This indicates that the judgment in the first epoch was accurate, and that inputting the initial Kalman filter value into the algorithm was successful. At this point, the system does not need to interrupt the Kalman filter's operation and can continue its convergence state. This maintains the continuity of the filtering process, allowing it to converge naturally over time and output accurate positioning results.The above implementation method can achieve a dual guarantee of rapid startup and optimal accuracy. Filtering is started immediately in the first epoch, ensuring that the user-perceived positioning response is without delay, meeting the time-sensitive requirements of scenarios such as unlocking shared bicycles and starting in-vehicle navigation. In the second epoch, it is found that the initial value of the first Kalman filter determined in the first epoch is not globally optimal. The algorithm is immediately reset with a new initial value of better quality, avoiding the Kalman filter algorithm from being affected by the iterative process due to an undesirable initial value. This effectively prevents the Kalman filter algorithm from getting stuck in local optima. Faced with the dilemma of either waiting for more epochs to ensure accuracy at the expense of the first positioning time, or starting immediately to ensure speed at the expense of positioning accuracy, the strategy of starting first, then judging, and restarting when necessary balances positioning efficiency and positioning accuracy.
[0048] In some embodiments of this application, the preset satellite screening conditions include one or more of the following conditions: the carrier-to-noise ratio of the satellite in the pseudorange observation is less than a preset carrier-to-noise ratio threshold; the elevation angle of the satellite in the pseudorange observation is less than a preset elevation angle threshold.
[0049] In some embodiments of this application, determining the first calibration pseudorange observation based on the first pseudorange observation and preset satellite screening conditions includes: deleting satellites with a carrier-to-noise ratio less than a preset carrier-to-noise ratio threshold from the first pseudorange observation; and / or deleting satellites with an elevation angle less than a preset elevation angle threshold; and determining the first calibration pseudorange observation after deletion.
[0050] Carrier-to-noise ratio (CNR) is a key indicator for measuring the signal strength of a Global Navigation Satellite System (GNSS), representing the ratio of carrier signal power to noise power spectral density per unit bandwidth. A higher CNR indicates a clear and high-quality signal, while a lower CNR typically indicates a weak signal, possibly due to severe attenuation (e.g., the signal may penetrate through foliage or other obstructions) or strong external interference. Signals with low CNR are often accompanied by significant measurement noise (large pseudorange jitter). A preset CNR threshold can be set based on receiver sensitivity and the application scenario. For example, a higher CNR threshold can be set in open environments, while a lower threshold can be appropriately set in complex urban environments. When the CNR of a satellite falls below the preset CNR threshold, the system determines that the satellite signal is unreliable and can filter it out. The elevation angle refers to the angle between the satellite and the horizontal plane where the receiver is located. The elevation angle affects positioning accuracy primarily in two ways: firstly, atmospheric delay, as low-elevation-angle satellites have longer paths through the ionosphere and troposphere, resulting in greater atmospheric delay errors; and secondly, multipath propagation and obstruction. In urban areas, low-elevation-angle satellites are more easily obstructed by surrounding buildings and trees, or their signals may be reflected from the ground or walls before entering the receiver (i.e., multipath effect), causing pseudorange measurements to deviate significantly from the true distance. When a preset elevation angle threshold is applied as a satellite filtering condition, the system can automatically remove all satellites with elevation angles below that threshold. These satellite filtering conditions can be used individually, such as filtering only based on the carrier-to-noise ratio (CNR). They can also be used in combination, such as selecting both elevation angle and CNR for combined filtering to achieve more accurate positioning. These combinations can be specifically set based on the accuracy requirements of navigation satellite positioning. In real-world urban positioning scenarios (such as shared bicycle parking detection), low elevation angle and low signal strength are the main causes of positioning drift. Therefore, this application pays particular attention to these two indicators. In pseudorange observations, satellites with a carrier-to-noise ratio (CNR) lower than a preset CNR threshold are removed. These satellites typically have weak signals and are highly susceptible to receiver noise, leading to changes in pseudorange observations. Furthermore, low-elevation-angle satellites have long signal transmission paths and are significantly affected by tropospheric delay, making them equally vulnerable in urban environments. Therefore, one of these two threshold conditions can be chosen, or, to obtain more accurate initial positioning results, both can be selected as preset satellite selection criteria. Finally, the calibration pseudorange observations are determined, and the pseudorange observations corresponding to the remaining satellites are combined into a new dataset as the calibration pseudorange observations. Through this specific removal strategy, the system can accurately identify and remove satellites most likely to cause positioning errors.
[0051] In some embodiments of this application, the scenarios in which the carrier uses the Global Navigation Satellite System for initial positioning include: shared bicycle parking location detection scenario, or vehicle-end startup positioning scenario.
[0052] The above embodiments have high application value in scenarios that present challenges in both timeliness and accuracy. For example, in the scenario of shared bicycle parking location detection, when a user finishes riding and locks the bicycle, the shared bicycle system needs to immediately determine whether the bicycle is parked within the designated electronic fence (parking point). At this time, the vehicle receiver wakes up from its sleep state to perform the initial positioning. If the initial observation information is directly used as the initial value of the Kalman filter, the system may misjudge the vehicle as illegally parked, thus incorrectly deducting fees from the user. Using the positioning method of this application, by filtering the initial value of the Kalman filter between the same epoch or different epochs, a high-precision position can be obtained in a short time after the user locks the bicycle, thereby significantly improving the accuracy of electronic fence determination. As another example, in the scenario of vehicle-end start positioning, when a vehicle starts and drives out of an underground garage or tunnel, the global navigation satellite system needs to perform a cold start. At this time, the driver often urgently needs navigation guidance. If the initial positioning drifts severely (e.g., drifts to a side road or oncoming lane), incorrect route planning will occur. Using the positioning method of this application, the actual lane position of the vehicle can be quickly converged, improving the user's driving experience.
[0053] Figure 3 A schematic diagram of a navigation satellite positioning device provided in some embodiments of this application is shown. The navigation satellite positioning device 300 is used for initial positioning of a carrier using a Global Navigation Satellite System, and includes: an acquisition unit 310 for acquiring a first pseudorange observation in a first epoch; a first determination unit 320 for determining first observation information and a first posterior residual corresponding to the first observation information based on the first pseudorange observation and a least squares algorithm; a calibration unit 330 for determining a first calibration pseudorange observation based on the first pseudorange observation and preset satellite selection conditions, wherein the preset satellite selection conditions are determined based on the signal quality of the navigation satellite; and determining first calibration observation information and a first calibration posterior residual corresponding to the first calibration observation information based on the first calibration pseudorange observation and a least squares algorithm; a second determination unit 340 for determining an initial Kalman filter value based on the first posterior residual and the first calibration posterior residual; and a filtering unit 350 for converging and determining the positioning result based on the initial Kalman filter value and the Kalman filter algorithm.
[0054] The above division of units is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, these units can be implemented by a processor calling software; for example, a navigation satellite positioning device includes a processor coupled to memory, which stores instructions. The processor calls these stored instructions to implement any of the above navigation satellite positioning methods or to achieve the functions of each unit. The processor can be, for example, a general-purpose processor, such as a CPU, and the memory can be memory within a cross-platform acquisition device or memory outside of it. Alternatively, these units can be implemented as hardware circuits. The functions of some or all units can be achieved through the design of the hardware circuit, which can be understood as one or more processors. For example, this hardware circuit includes an Application-Specific Integrated Circuit (ASIC), which implements the functions of some or all units by designing the logical relationships between the components within the circuit. Furthermore, this hardware circuit can be implemented using a programmable logic device (PLD), which can include a large number of logic gates. The logical relationships between these logic gates are configured through a configuration file, thereby achieving the functions of some or all units. All units of the above cross-platform acquisition device can be implemented entirely through processor calling programs, or entirely through hardware circuits, or partially through processor calling programs with the remaining parts implemented through hardware circuits.
[0055] A processor is a circuit capable of processing signals. For example, a processor includes circuits with instruction fetching and execution capabilities, such as a CPU, microprocessor, graphics processing unit (GPU), or digital signal processor (DSP). Alternatively, a processor can be implemented through the logical relationships of hardware circuits, which can be fixed or reconfigurable. For instance, a processor may include hardware circuits implemented using ASICs or PLDs, such as field-programmable gate arrays (FPGAs). In reconfigurable hardware circuits, the process of the processor loading a configuration file and configuring the hardware circuits can be understood as the processor loading instructions to implement the functions of some or all of the aforementioned units. Furthermore, a processor may include hardware circuits designed for artificial intelligence, which can be understood as an ASIC, such as one or more of a neural network processing unit (NPU), tensor processing unit (TPU), or deep learning processing unit (DPU). As can be seen, each unit in the positioning device of the above navigation satellite can be one or more processors (or processing circuits) configured to implement the above methods, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
[0056] Based on the same technical concept, this application provides a computer-readable storage medium storing instructions thereon, which, when read by a processor, implement the navigation satellite positioning method provided in the above embodiments.
[0057] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions in other embodiments. Furthermore, the above embodiments can be freely combined as needed.
Claims
1. A positioning method for navigation satellites, characterized in that, Used for initial positioning of a carrier application using the Global Navigation Satellite System, including: In the first epoch, the first pseudorange observation is obtained; Based on the first pseudorange observation and the least squares algorithm, the first observation information and the first posterior residual corresponding to the first observation information are determined. Based on the first pseudorange observation and the preset satellite selection conditions, the first calibration pseudorange observation is determined, wherein the preset satellite selection conditions are determined based on the signal quality of the navigation satellite; Based on the first calibration pseudorange observation and the least squares algorithm, the first calibration observation information and the first calibration posterior residual corresponding to the first calibration observation information are determined. Determining the initial value of the Kalman filter based on the first posterior residual and the first calibration posterior residual includes: comparing the first posterior residual and the first calibration posterior residual; when the first posterior residual is less than the first calibration posterior residual, using the first observation information as the initial value of the Kalman filter; when the first posterior residual is greater than the first calibration posterior residual, using the first calibration observation information as the initial value of the Kalman filter. Based on the initial Kalman filter value and the Kalman filter algorithm, the localization result is determined by convergence.
2. The positioning method for navigation satellites according to claim 1, characterized in that, Also includes: In the second epoch, a second pseudorange observation is obtained, wherein the second epoch is later than the first epoch; Based on the second pseudorange observation and the least squares algorithm, the second observation information and the second posterior residual corresponding to the second observation information are determined. Based on the second pseudorange observation and the preset satellite screening conditions, the second calibration pseudorange observation is determined; Based on the second calibration pseudorange observation and the least squares algorithm, the second calibration observation information and the second calibration posterior residual corresponding to the second calibration observation information are determined. The initial value of the Kalman filter is determined based on the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual.
3. The positioning method for navigation satellites according to claim 2, characterized in that, The step of determining the initial value of the Kalman filter based on the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual includes: Compare the first posterior residual, the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual; When the first posterior residual is less than the second posterior residual, the first calibration posterior residual, and the second calibration posterior residual, the first observation information is used as the initial value of the Kalman filter. When the second posterior residual is less than the first posterior residual, the first calibration posterior residual, and the second calibration posterior residual, the second observation information is used as the initial value of the Kalman filter. When all of the first calibration posterior residuals are less than the first posterior residual, the second posterior residual, and the second calibration posterior residual, the first calibration observation information is used as the initial value of the Kalman filter. When the second calibration posterior residual is less than the first posterior residual, the second posterior residual, and the first calibration posterior residual, the second calibration observation information is used as the initial value of the Kalman filter.
4. The positioning method for navigation satellites according to claim 3, characterized in that, Also includes: The Kalman filter algorithm is started based on the first Kalman filter initial value determined in the first epoch; When the second Kalman filter initial value determined in the second epoch is different from the first Kalman filter initial value, the Kalman filter algorithm is restarted based on the second Kalman filter initial value. When the first Kalman filter initial value is the same as the second Kalman filter initial value, the convergence result of the Kalman filter algorithm started based on the first Kalman filter initial value is used as the positioning result.
5. The positioning method for navigation satellites according to any one of claims 1 to 4, characterized in that, The preset satellite screening conditions include one or more of the following conditions: In the pseudorange observation, the satellite's carrier-to-noise ratio is less than a preset carrier-to-noise ratio threshold. In the pseudorange observation, the satellite's elevation angle is less than a preset elevation angle threshold.
6. The positioning method for navigation satellites according to claim 5, characterized in that, Based on the first pseudorange observation and preset satellite screening conditions, the first calibrated pseudorange observation is determined, including: In the first pseudorange observation Delete satellites whose carrier-to-noise ratio is less than the preset carrier-to-noise ratio threshold; and / or, Delete satellites whose elevation angle is less than the preset elevation angle threshold; After deletion, the first calibration pseudorange observation is determined.
7. The positioning method for navigation satellites according to any one of claims 1 to 4, characterized in that, The scenarios in which the carrier uses the Global Navigation Satellite System for initial positioning include: shared bicycle parking location detection scenario, or vehicle-end startup positioning scenario.
8. A positioning device for navigation satellites, characterized in that, Used for initial positioning of a carrier application using the Global Navigation Satellite System, including: The acquisition unit is used to acquire the first pseudorange observation in the first epoch; The first determining unit is used to determine the first observation information and the first posterior residual corresponding to the first observation information based on the first pseudorange observation and the least squares algorithm. The calibration unit is configured to determine a first calibration pseudorange observation based on the first pseudorange observation and preset satellite selection conditions, wherein the preset satellite selection conditions are determined based on the signal quality of the navigation satellite; and to determine first calibration observation information and a first calibration posterior residual corresponding to the first calibration observation information based on the first calibration pseudorange observation and the least squares algorithm. The second determining unit determines the initial value of the Kalman filter based on the first posterior residual and the first calibration posterior residual, including: comparing the first posterior residual and the first calibration posterior residual; when the first posterior residual is less than the first calibration posterior residual, using the first observation information as the initial value of the Kalman filter; when the first posterior residual is greater than the first calibration posterior residual, using the first calibration observation information as the initial value of the Kalman filter. The filtering unit, based on the initial Kalman filter value and the Kalman filter algorithm, converges to determine the positioning result.
9. A computer-readable storage medium, characterized in that, It stores instructions that, when read by a processor, implement the positioning method for navigation satellites as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Quality control method and device for satellite observation data and positioning device
CN110927757A
Pseudo-range observation data processing method and device, and readable medium
CN111665529A