Satellite positioning method, satellite positioning device, and storage medium
By selecting an initial dynamic subset in a low-Earth orbit satellite single-satellite positioning scenario, performing outlier exclusion processing, and generating a target matrix, the problem of frequency observation data being susceptible to noise and outliers is solved, achieving a more accurate positioning effect.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI SPACECOM SATELLITE TECH LTD
- Filing Date
- 2025-12-29
- Publication Date
- 2026-07-21
Smart Images

Figure CN121559565B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite navigation and positioning, and more specifically, to a satellite positioning method, a satellite positioning device, and a storage medium. Background Technology
[0002] In related technologies, satellite positioning typically relies on two- or multi-satellite-based Direction of Arrival (DOA) and Time of Arrival (TOA) methods, as well as single-satellite-based Doppler positioning methods. Multi-satellite methods generally offer higher accuracy when geometrically feasible, but they have stricter requirements regarding the number of available satellites, synchronization, and observation coordination. Single-satellite-based Doppler positioning methods can achieve positioning using continuous frequency measurements provided by a single low-Earth orbit (LEO) satellite, offering advantages such as flexible deployment, simple implementation, and low requirements for precise time synchronization. They are suitable for scenarios where ground stations directly measure frequencies via relay links. However, the frequency observation data set in LEO single-satellite positioning scenarios is susceptible to measurement noise and outliers, which can reduce positioning accuracy and make it difficult to ensure the reliability of the positioning results.
[0003] There is currently no effective solution to the above problems. Summary of the Invention
[0004] This invention provides a satellite positioning method, satellite positioning device, and storage medium to at least solve the technical problem of low positioning accuracy caused by the susceptibility of frequency observation data sets to measurement noise and outliers in low-Earth orbit single-satellite positioning scenarios.
[0005] According to one aspect of the present invention, a satellite positioning method is provided, comprising: acquiring a frequency observation data set; selecting an initial dynamic subset from the frequency observation data set; performing outlier elimination processing on the frequency observation data set based on the initial dynamic subset to obtain a target dynamic subset; generating a target matrix based on the target dynamic subset, wherein the target matrix is used to describe the relationship between Doppler frequency changes and the position changes of the target source; and correcting the initial position of the target source using the target dynamic subset and the target matrix to obtain the positioning result of the target source.
[0006] Optionally, the outlier elimination process of the frequency observation dataset based on the initial dynamic subset to obtain the target dynamic subset includes: constructing a fitting model based on the initial dynamic subset, wherein the fitting model is a model of the Doppler frequency changing over time; using the fitting model to perform outlier detection processing on the frequency observation dataset to obtain the detection results; and eliminating the detected discrete points from the frequency observation dataset based on the detection results to obtain the target dynamic subset.
[0007] Optionally, outlier detection processing is performed on the frequency observation dataset using a fitted model to obtain the detection results, including: calculating the difference between each observation value in the frequency observation dataset and the predicted value of the fitted model to obtain the detection results; and excluding the detected discrete points from the frequency observation dataset based on the detection results to obtain the target dynamic subset, including: excluding discrete points from the frequency observation dataset whose difference is greater than or equal to a preset tolerance based on the detection results to obtain the target dynamic subset.
[0008] Optionally, generating the target matrix based on the target dynamic subset includes: constructing an initial matrix using the target dynamic subset; and performing scaling preprocessing on the initial matrix to obtain the target matrix.
[0009] Optionally, scaling preprocessing of the initial matrix to obtain the target matrix includes: in response to the matrix preprocessing process not satisfying the first iteration termination condition, iteratively updating the row transformation matrix and column transformation matrix; and based on the updated row transformation matrix and updated column transformation matrix, iteratively scaling preprocessing of the initial matrix to obtain an updated matrix, wherein the first iteration termination condition is determined based on the maximum number of iterations and the convergence threshold; in response to the matrix preprocessing process satisfying the first iteration termination condition, determining the target matrix based on the updated matrix obtained in the latest iteration round, the updated row transformation matrix, and the updated column transformation matrix.
[0010] Optionally, in response to the matrix preprocessing process not meeting the first iteration termination condition, the iterative update of the row transformation matrix and the column transformation matrix includes: in response to the matrix preprocessing process not meeting the first iteration termination condition, calculating the row scaling factor based on the infinite norm of each row in the update matrix of the current iteration round, and calculating the column scaling factor based on the infinite norm of each column; iteratively updating the row transformation matrix according to the row scaling factor, and iteratively updating the column transformation matrix according to the column scaling factor.
[0011] Optionally, excluding detected discrete points from the frequency observation data set based on the detection results to obtain the target dynamic subset includes: excluding detected discrete points from the frequency observation data set based on the detection results in response to the dynamic subset update process not satisfying the second iteration termination condition, wherein the second iteration termination condition is determined based on the minimum number of iterations and error limits; and determining the target dynamic subset based on the dynamic subset obtained in the latest iteration round in response to the dynamic subset update process satisfying the second iteration termination condition.
[0012] Optionally, the initial position of the target source is corrected using the target dynamic subset and the target matrix to obtain the target source localization result, including: obtaining the prediction difference corresponding to the target dynamic subset; and correcting the initial position of the target source using the prediction difference and the target matrix to obtain the target source localization result.
[0013] Optionally, obtaining the prediction difference corresponding to the target dynamic subset includes: obtaining the current velocity, current radial vector, current transmission frequency, and current frequency deviation corresponding to the target dynamic subset; calculating frequency prediction data using the current velocity, current radial vector, current transmission frequency, and current frequency deviation; and calculating the prediction difference corresponding to the target dynamic subset based on the frequency prediction data and the frequency observation data in the frequency observation data set.
[0014] Optionally, the target matrix includes: an update matrix, an updated row transformation matrix, and an updated column transformation matrix. The initial position of the target source is corrected using the prediction difference and the target matrix to obtain the target source localization result. This includes: updating the prediction difference based on the updated row transformation matrix to obtain the updated prediction difference; calculating the least squares solution between the updated prediction difference and the update matrix to obtain the initial correction amount; updating the initial correction amount based on the updated column transformation matrix to obtain the target correction amount; and correcting the initial position of the target source using the target correction amount to obtain the target source localization result.
[0015] According to another aspect of the present invention, a satellite positioning device is also provided, comprising: an acquisition module for acquiring a set of frequency observation data; a selection module for selecting an initial dynamic subset from the set of frequency observation data; a processing module for performing outlier elimination processing on the set of frequency observation data based on the initial dynamic subset to obtain a target dynamic subset; a generation module for generating a target matrix based on the target dynamic subset, wherein the target matrix is used to describe the relationship between Doppler frequency changes and the position changes of the target source; and a correction module for correcting the initial position of the target source using the target dynamic subset and the target matrix to obtain the positioning result of the target source.
[0016] Optionally, the processing module is also used to: construct a fitting model based on the initial dynamic subset, wherein the fitting model is a model of the Doppler frequency changing over time; use the fitting model to perform outlier detection processing on the frequency observation data set to obtain the detection results; and exclude the detected discrete points from the frequency observation data set based on the detection results to obtain the target dynamic subset.
[0017] Optionally, the processing module is further configured to: calculate the difference between each observation value in the frequency observation data set and the predicted value of the fitted model to obtain the detection result; and exclude the detected discrete points from the frequency observation data set based on the detection result to obtain the target dynamic subset, including: excluding discrete points with differences greater than or equal to a preset tolerance from the frequency observation data set based on the detection result to obtain the target dynamic subset.
[0018] Optionally, the generation module is also used to: construct an initial matrix using a target dynamic subset; and perform scaling preprocessing on the initial matrix to obtain the target matrix.
[0019] Optionally, the generation module is further configured to: in response to the matrix preprocessing process not satisfying the first iteration termination condition, iteratively update the row transformation matrix and column transformation matrix, and perform iterative scaling preprocessing on the initial matrix based on the updated row transformation matrix and updated column transformation matrix to obtain an updated matrix, wherein the first iteration termination condition is determined based on the maximum number of iterations and the convergence threshold; in response to the matrix preprocessing process satisfying the first iteration termination condition, determine the target matrix based on the updated matrix obtained in the latest iteration round, the updated row transformation matrix, and the updated column transformation matrix.
[0020] Optionally, the generation module is further configured to: in response to the matrix preprocessing process not satisfying the first iteration termination condition, calculate the row scaling factor based on the infinite norm of each row in the update matrix of the current iteration round, and calculate the column scaling factor based on the infinite norm of each column; iteratively update the row transformation matrix according to the row scaling factor, and iteratively update the column transformation matrix according to the column scaling factor.
[0021] Optionally, the processing module is further configured to: in response to the dynamic subset update process not satisfying the second iteration termination condition, exclude the detected discrete points from the frequency observation data set based on the detection results, wherein the second iteration termination condition is determined based on the minimum number of iterations and the error limit; and in response to the dynamic subset update process satisfying the second iteration termination condition, determine the target dynamic subset based on the dynamic subset obtained in the latest iteration round.
[0022] Optionally, the correction module is also used to: obtain the prediction difference corresponding to the target dynamic subset; and use the prediction difference and the target matrix to correct the initial position of the target source to obtain the positioning result of the target source.
[0023] Optionally, the correction module is also used to: obtain the current velocity, current radial vector, current transmission frequency, and current frequency deviation corresponding to the target dynamic subset; calculate frequency prediction data using the current velocity, current radial vector, current transmission frequency, and current frequency deviation; and calculate the prediction difference corresponding to the target dynamic subset based on the frequency prediction data and the frequency observation data in the frequency observation data set.
[0024] Optionally, the target matrix includes: an update matrix, an updated row transformation matrix, and an updated column transformation matrix. The correction module is further configured to: update the prediction difference based on the updated row transformation matrix to obtain the updated prediction difference; calculate the least squares solution between the updated prediction difference and the update matrix to obtain the initial correction amount; update the initial correction amount based on the updated column transformation matrix to obtain the target correction amount; and correct the initial position of the target source using the target correction amount to obtain the positioning result of the target source.
[0025] According to another aspect of the present invention, a satellite positioning device is also provided, comprising: a memory storing an executable program; and a processor for running the program, wherein the program executes the satellite positioning method of the present invention during runtime.
[0026] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein, when the executable program is executed, it controls the device where the storage medium is located to execute the satellite positioning method of the present invention.
[0027] According to another aspect of the present invention, a computer program product is also provided, including a computer program that, when executed by a processor, implements the satellite positioning method of the present invention.
[0028] According to another aspect of the present invention, a chip system is also provided, comprising: a processor for calling and running a computer program from a memory, such that a communication device equipped with the chip system performs the satellite positioning method of the present invention.
[0029] In this embodiment of the invention, by acquiring a frequency observation data set, selecting an initial dynamic subset from the frequency observation data set, and performing outlier elimination processing on the frequency observation data set based on the initial dynamic subset, a target dynamic subset is obtained. Then, a target matrix is generated based on the target dynamic subset. Finally, the initial position of the target source is corrected using the target dynamic subset and the target matrix to obtain the positioning result of the target source, thereby achieving the purpose of accurately locating the target source. This achieves the technical effect of improving positioning accuracy and robustness, and solves the technical problem of low positioning accuracy caused by the frequency observation data set being easily affected by measurement noise and outliers in the low-orbit satellite single-satellite positioning scenario. Attached Figure Description
[0030] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0031] Figure 1 This is a flowchart of a satellite positioning method according to one embodiment of the present invention;
[0032] Figure 2 This is a schematic diagram of a normal low-orbit satellite service scenario according to one embodiment of the present invention;
[0033] Figure 3 This is a structural block diagram of a satellite positioning device according to one embodiment of the present invention. Detailed Implementation
[0034] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0035] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0036] In related technologies, satellite positioning typically relies on two- or multi-satellite-based DOA and TOA methods and single-satellite-based Doppler positioning methods. Multi-satellite methods generally offer higher accuracy when geometric conditions permit, but they have stricter requirements regarding the number of available satellites, synchronization, and observation coordination. Single-satellite-based Doppler positioning methods can achieve positioning using continuous frequency measurements provided by a single low-Earth orbit (LEO) satellite, offering advantages such as flexible deployment, simple implementation, and low requirements for precise time synchronization. They are suitable for scenarios where ground stations directly measure frequencies via relay links. However, the frequency observation data set in LEO single-satellite positioning scenarios is susceptible to measurement noise and outliers, which can reduce positioning accuracy and make it difficult to ensure the reliability of the positioning results.
[0037] Specifically, in low-Earth orbit (LEO) satellite single-satellite positioning scenarios, frequency observation datasets are typically collected from satellites within a short time window, resulting in a very limited and closely spaced spatial distribution of observation samples. Due to the high-speed motion of LEO satellites relative to the ground, continuously acquired observation samples are highly correlated over time. This correlation means that data collected at different time points have almost identical geometric distributions, meaning that changes in the temporal dimension of the observation samples cannot be effectively translated into changes in the spatial dimension. Under these circumstances, the column vectors of the constructed Jacobian matrix are almost linearly correlated, resulting in a very high matrix condition number. This leads to unstable or even unsolvable equations, affecting the accuracy and robustness of positioning. Furthermore, measurement noise and outliers in the observation data, such as receiver noise, multipath effects, non-line-of-sight propagation, or other anomalies, further impact positioning performance. Especially in the presence of high-noise or anomalous observation data, outliers significantly distort the positioning model, causing positioning results based on all observation data to deviate from the actual location, reducing positioning accuracy and reliability.
[0038] According to embodiments of the present invention, a method embodiment for satellite positioning is provided. The method embodiment provided in this invention can be executed in a terminal device (the terminal device may include, but is not limited to, a satellite terminal, a mobile terminal), or a similar network device. Taking a satellite positioning device as an example, the satellite positioning device may include one or more processors (processors may include, but are not limited to, processing devices such as microprocessors (MCUs) or field-programmable gate arrays (FPGAs),) a memory for storing data, and a transmission device for communication functions. Those skilled in the art will understand that the above structure is merely exemplary and does not limit the structure of the satellite positioning device. For example, the satellite positioning device may also include more or fewer components, or have different configurations.
[0039] The memory can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the satellite positioning method in this embodiment of the invention. The processor executes various functional applications and data processing by running the computer program stored in the memory, thereby implementing the above-described method. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to the satellite positioning device via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0040] Transmission equipment is used to enable data exchange between satellite positioning equipment and external devices or systems. In satellite positioning scenarios, transmission equipment can be antennas, radio frequency modules, transceivers, etc., used to capture the frequency signals transmitted by the satellite and transmit them to the processor for analysis and processing. Simultaneously, the transmission equipment is also responsible for sending the satellite positioning equipment's status information, positioning requests, or final positioning results to relevant ground control centers, user equipment, or other network systems, ensuring that positioning information can be received and used in a timely manner.
[0041] Figure 1 This is a flowchart of a satellite positioning method according to one embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:
[0042] Step S11: Obtain the frequency observation data set;
[0043] The aforementioned frequency observation dataset refers to a series of frequency measurements collected by ground stations via a Low Earth Orbit (LEO) satellite relay link within a specific time period. Specifically, these frequency measurements include Doppler shifts caused by the relative motion between the satellite and the ground target, as well as any possible additional frequency offsets, such as the satellite's own frequency offset, receiver frequency offset, and unknown frequency residuals. Furthermore, the frequency observation dataset includes the timestamp corresponding to each frequency measurement, used to accurately calculate the radial velocity and distance between the satellite and the target. The frequency observation dataset forms the basis for positioning calculations; it allows the construction of observation equations to determine the precise location of the target source.
[0044] For example, taking a normal LEO satellite service scenario, the serving beam points to a cell on the ground, and the signal is relayed to the ground station via the satellite. Taking passive target positioning as an example, if a target exists within the cell at this time, the target's uplink signal will also be relayed to the ground station.
[0045] Figure 2 This is a schematic diagram of a normal low-Earth orbit satellite service scenario according to one embodiment of the present invention, such as... Figure 2 As shown, the radiation source is located at the target source position T, and the distance between it and the satellite S is... The distance between satellite S and ground station M is The transmission delay between satellite S and ground station M is Δ′. The data collection timestamp is recorded based on a ground clock source. Assume the target signal is transmitted at a frequency of... Due to the Doppler effect, the actual receiving frequency of satellite S is [frequency value missing]. After frequency conversion, with The frequency is relayed to the ground station, and the actual received frequency is [frequency]. The actual measured frequency of the monitoring equipment after frequency conversion is The local oscillator frequency of the two frequency conversions is and .
[0046] For example, The following formula can be used for calculation:
[0047]
[0048] For example, The following formula can be used for calculation:
[0049]
[0050] For example, suppose The measurement noise at time is , and These represent the satellite frequency offset and the receiver frequency offset, respectively, with the relative velocity vector being... Under the simplified condition that the target source is stationary, it can be considered as the velocity of a moving satellite. The user position to be estimated is... The satellite position is The radial vector is The corresponding radial distance can be calculated using the following formula:
[0051]
[0052] When the transmission frequency is unknown, it can be determined based on the receiving frequency. Make a rough estimate and obtain a rough estimate. The following formula can be used for calculation:
[0053]
[0054] Assuming the remaining frequency difference is ,but Under normal circumstances much smaller Since it can be ignored when calculating the Doppler frequency, the remaining part , , It can be viewed as a set of coupled parameters, denoted as Then the observation equation shown in the following formula can be generated:
[0055]
[0056] in, Indicates the firsti The Doppler frequency values measured by ground monitoring equipment during this observation.
[0057] Step S12: Select an initial dynamic subset from the frequency observation data set;
[0058] The aforementioned initial dynamic subset refers to a selection of observation data from the frequency observation dataset.
[0059] For example, the above-mentioned initial dynamic subset can be obtained by randomly selecting M points from the frequency observation data set.
[0060] Step S13: Based on the initial dynamic subset, outlier elimination processing is performed on the frequency observation data set to obtain the target dynamic subset;
[0061] The outliers mentioned above refer to abnormal data points in the frequency observation dataset caused by measurement errors, equipment malfunctions, or other anomalies. These outliers deviate from the central trend of the dataset, and their frequency observations differ significantly from the expected Doppler frequencies calculated based on satellite position, velocity, and transmission frequency. They do not follow the normal Doppler frequency shift pattern, which may negatively impact the accuracy and stability of the positioning algorithm.
[0062] The aforementioned target dynamic subset refers to the set of observation data that conforms to the expected Doppler frequency shift pattern and is not marked as outliers, identified and retained after analysis and processing of the frequency observation data set.
[0063] Step S14: Generate a target matrix based on the target dynamic subset, wherein the target matrix is used to describe the relationship between the Doppler frequency change and the position change of the target source;
[0064] The aforementioned target matrix refers to the optimized Jacobian matrix, used to describe the relationship between Doppler frequency variations and target source location variations. Specifically, the condition number of the original Jacobian matrix can be improved by applying row and column scaling preprocessing, thereby making the scale of each row and column of the generated target matrix approximately the same order of magnitude, thus reducing the differences between different parameters or observation scales.
[0065] Step S15: Correct the initial position of the target source using the target dynamic subset and the target matrix to obtain the target source localization result.
[0066] The initial position of the target source mentioned above refers to the preliminary estimate of the target source's location before the localization algorithm begins its iterative solution. This estimate is typically obtained based on known satellite positions and velocities, as well as prior knowledge of the target area. For example, a rough starting point can be obtained from the ground grid position pointed to by the satellite beams. The initial position of the target source is the starting point of the iterative localization algorithm. By continuously refining the algorithm using dynamic subsets of the target and the target matrix, it eventually converges to the true position of the target source, thus obtaining a more accurate localization result.
[0067] Based on steps S11 to S15 above, by acquiring a frequency observation data set, selecting an initial dynamic subset from the frequency observation data set, and performing outlier removal processing on the frequency observation data set based on the initial dynamic subset, a target dynamic subset is obtained. Then, a target matrix is generated based on the target dynamic subset. Finally, the initial position of the target source is corrected using the target dynamic subset and the target matrix to obtain the positioning result of the target source, thus achieving the goal of accurately locating the target source. This achieves the technical effect of improving positioning accuracy and robustness, and solves the technical problem of low positioning accuracy caused by the frequency observation data set being easily affected by measurement noise and outliers in the low-orbit satellite single-satellite positioning scenario.
[0068] Optionally, in step S13, outlier exclusion processing is performed on the frequency observation data set based on the initial dynamic subset to obtain the target dynamic subset, which includes:
[0069] Step S131: Construct a fitting model based on the initial dynamic subset, wherein the fitting model is a model of the Doppler frequency changing with time;
[0070] Step S132: Use the fitting model to perform outlier detection processing on the frequency observation dataset to obtain the detection results;
[0071] Step S133: Based on the detection results, exclude the detected discrete points from the frequency observation data set to obtain the target dynamic subset.
[0072] The aforementioned fitting model refers to a mathematical expression for the change of Doppler frequency over time, used to describe the trend of frequency observation data evolving over time under ideal conditions.
[0073] Specifically, the fitting model built based on the initial dynamic subset is essentially a high-order polynomial fitting of the initial dynamic subset in order to capture and approximate the nonlinear relationship between Doppler frequency and time.
[0074] For example, the above-mentioned fitting model can be extracted from the initial dynamic subset using the least squares method to represent the inherent time-frequency behavior of the initial dynamic subset. Specifically, the fitting model is a polynomial function with time as the independent variable and Doppler frequency as the dependent variable. Its parameters are estimated from the selected observation data through linear regression, aiming to reflect the basic characteristics of frequency changes caused by the radial velocity between the target source and the satellite.
[0075] Specifically, outlier detection is performed on the frequency observation dataset using a fitted model. This involves comparing the fitted model with all frequency observation data to identify data points that significantly deviate from the model's predicted values. This process can be achieved by calculating the residual between each observation data point and the model's predicted value. The larger the residual, the greater the deviation between the observation point and the ideal state represented by the model.
[0076] For example, when detecting outliers, a threshold determined based on the statistical properties (such as standard deviation or quantiles) of the frequency observation dataset can be set. Any residual value exceeding this threshold will be considered an outlier. Furthermore, detected discrete points can be excluded from the frequency observation dataset to obtain a target dynamic subset.
[0077] Based on steps S131 to S133 above, a fitting model is constructed based on the initial dynamic subset, and then the fitting model is used to perform outlier detection processing on the frequency observation data set to obtain the detection results. Finally, the detected discrete points are excluded from the frequency observation data set based on the detection results to obtain the target dynamic subset. This can eliminate outlier observations caused by noise or abnormal conditions, thereby reducing the impact of ill-conditioned matrices or observation noise on the positioning results.
[0078] Optionally, in step S132, outlier detection processing is performed on the frequency observation dataset using a fitting model, and the detection results include:
[0079] The detection result is obtained by calculating the difference between each observation in the frequency observation dataset and the predicted value of the fitted model;
[0080] The target dynamic subset is obtained by excluding the detected discrete points from the frequency observation data set based on the detection results. This includes excluding discrete points whose difference is greater than or equal to the preset tolerance from the frequency observation data set based on the detection results.
[0081] The aforementioned preset tolerance refers to the threshold used to determine whether an observed value is an outlier (discrete point) when detecting the difference between the observed value and the predicted value of the fitted model.
[0082] For example, a preset tolerance ( This is used to filter inliers and outliers in a frequency observation dataset. It can be determined based on the data distribution of the frequency observation dataset and the estimated proportion of inliers. Specifically, it involves calculating the differences between all observed values and the predicted values generated by the fitted model, and then finding the inlier among these differences. p Determined by the value of the quantile. This allows for the effective elimination of outliers that differ significantly from the model's predictions in subsequent iterations. Specifically, the inliers are the data points that make up the target dynamic subset, while the outliers are the extrapolation points.
[0083] For example, suppose that M points are extracted from the frequency observation data set each time, the Doppler observation curve is extracted, and the least squares method is used for fitting. The observation array is defined as Y, and the fitting order is . The corresponding coefficient is Assume the time array of the observed samples is... The sampling time array is Then the system of linear equations can be solved:
[0084]
[0085] definition Subsampling matrix Then the fitting coefficients can be obtained. The complexity of matrix inversion and Correlation is generally sufficient for removing outliers, typically a third-order fit is enough. If the fitted parameters... The curve formed The difference between each observation in the frequency observation dataset and the predicted value of the fitted model can be expressed as:
[0086]
[0087] Assume the ratio of the interior points is Then you can choose of Designed using quantiles The above difference Sort the array in ascending order. Corresponding The quantile position is:
[0088]
[0089] definition For the floor function, if If it is an integer, then You can directly take the first one. Sample Otherwise, calculate by interpolation. Quantiles. Assuming the decimal part... = Then perform linear interpolation:
[0090]
[0091] Further, determine Then, based on the detection results, values with differences greater than or equal to [the specified value] can be excluded from the frequency observation data set. The discrete points are used to obtain the target dynamic subset.
[0092] Based on steps S1321 to S1323 above, the difference between each observation value in the frequency observation data set and the predicted value of the fitted model is calculated to obtain the detection result. Then, based on the detection result, discrete points with differences greater than or equal to the preset tolerance are excluded from the frequency observation data set to obtain the target dynamic subset. This can suppress the influence of outliers on the positioning solution and thus improve the positioning accuracy.
[0093] Optionally, in step S14, generating the target matrix based on the target dynamic subset includes:
[0094] Step S141: Construct an initial matrix using the target dynamic subset;
[0095] Step S142: Perform scaling preprocessing on the initial matrix to obtain the target matrix.
[0096] The initial matrix mentioned above refers to the Jacobian matrix used in the localization algorithm to describe the relationship between the observed values and the parameters to be estimated. . Specifically, Gradient of Doppler frequency shift in coordinate system It is a component used to reflect the sensitivity of the observations to the target source location parameters and frequency offset parameters. Each column corresponds to a parameter to be estimated (such as the initial estimated location coordinates of the target source). and frequency offset Each row corresponds to an observation time. i Doppler frequency shift gradient .
[0097] For example, suppose Frequency prediction difference It can be represented as:
[0098]
[0099] The gradient of the Doppler frequency shift in the coordinate system can be expressed as: Then we have:
[0100]
[0101]
[0102]
[0103] in,( ) represents the location result of the target source, i.e., the expected true three-dimensional coordinates obtained through the positioning algorithm. C is the speed of electromagnetic waves in a vacuum, usually the speed of light (approximately 3 × 10^8 meters / second). , , These represent the velocity components of the satellite in the x, y, and z directions, respectively. The velocity vector of the satellite at the first observation moment is the instantaneous velocity of the satellite relative to the fixed coordinate system on the ground. For the first i Each observation time is from the target source location ( ) to satellite position ( The radial vector of ).
[0104] Therefore, the above initial matrix It can be defined as:
[0105]
[0106] For m sets of observation equations, we have:
[0107]
[0108] in =[ , =[ , This is the difference between the observed value and the predicted value of the initial prediction point. The right side is the linearized approximation, and this linear equation has a least-squares solution:
[0109]
[0110] After obtaining the predicted difference, the starting point can be corrected and updated. The difference is then iterated and predicted again, as follows:
[0111]
[0112]
[0113] Solving the above equations requires... Inverting the order can easily lead to ill-conditioned problems due to the close spatial proximity of the sampling points and the near linear dependence of the column vectors in the observation matrix. An excessively large condition number can affect the solution of the system of equations.
[0114] Based on the above issues, we can address the following: Perform scaling preprocessing to improve The condition number is increased to improve solution stability. Specifically, this can be achieved by... The rows and columns are scaled to make the elements of the matrix more numerically balanced, avoiding numerical sensitivity issues in the solution process caused by excessive scale differences.
[0115] Based on steps S141 to S142 above, an initial matrix is constructed using a target dynamic subset, and then the initial matrix is scaled and preprocessed to obtain the target matrix. This reduces the condition number of the matrix, making the least squares solution process more stable and reducing positioning errors caused by numerical instability.
[0116] Optionally, in step S142, the initial matrix is scaled and preprocessed to obtain the target matrix, which includes:
[0117] Step S1421: In response to the matrix preprocessing process not meeting the first iteration termination condition, the row transformation matrix and column transformation matrix are iteratively updated, and the initial matrix is iteratively scaled preprocessed based on the updated row transformation matrix and the updated column transformation matrix to obtain the updated matrix. The first iteration termination condition is determined based on the maximum number of iterations and the convergence threshold.
[0118] Step S1422: In response to the matrix preprocessing process satisfying the first iteration termination condition, the target matrix is determined based on the updated matrix obtained in the latest iteration, the updated row transformation matrix, and the updated column transformation matrix.
[0119] Specifically, the row transformation matrix and column transformation matrix mentioned above are used to transform... H Scaling is performed to ensure that the elements in each row and column of the matrix are at a similar scale, thereby reducing the condition number of the matrix and improving the stability of the least squares solution.
[0120] For example, the termination condition of the first iteration described above can be expressed as:
[0121] &&||( < && < )||
[0122] in, The maximum number of iterations, For the current iteration round, and They respectively calculate the maximum absolute value of the difference between the row scaling factor and the column scaling factor and the identity matrix (i.e., a diagonal matrix with all elements equal to 1).
[0123] For example, during the iterative update process, it can be checked whether the first iteration termination condition is met. If the first iteration termination condition is not met, that is, the matrix preprocessing has not yet reached the ideal stable state or scale balance, then it needs to be iterated again. In each iteration, the row transformation matrix and column transformation matrix can be updated, and then based on the updated row transformation matrix and the updated column transformation matrix, the initial matrix is iteratively scaled and preprocessed to obtain the updated matrix.
[0124] For example, the initial matrix is preprocessed by iterative scaling to obtain the updated matrix. It can be represented as:
[0125]
[0126] in, This is the updated row transformation matrix. This is the updated column transformation matrix.
[0127] Furthermore, when the matrix preprocessing process meets the first iteration termination condition, the target matrix can be determined based on the updated matrix obtained in the latest iteration, the updated row transformation matrix, and the updated column transformation matrix.
[0128] Based on steps S1421 to S1422 above, by iteratively optimizing the row transformation matrix and column transformation matrix, the matrix scale of the Jacobian matrix can be effectively balanced, thereby reducing the condition number of the matrix and improving the stability and accuracy of the least squares solution.
[0129] Optionally, in step S1421, in response to the matrix preprocessing process not satisfying the first iteration termination condition, the iterative update of the row transformation matrix and column transformation matrix includes:
[0130] Step S21: In response to the matrix preprocessing process not meeting the first iteration termination condition, calculate the row scaling factor based on the infinite norm of each row in the update matrix of the current iteration round, and calculate the column scaling factor based on the infinite norm of each column.
[0131] Step S22: Iteratively update the row transformation matrix based on the row scaling factor, and iteratively update the column transformation matrix based on the column scaling factor.
[0132] Specifically, for For any row in the array, its infinity norm is the maximum absolute value of all elements in that row, reflecting the maximum magnitude difference in the data for that row, and is used to assess and adjust for imbalances in row and column scaling. Similarly, for... For any column in the matrix, the infinite norm is the maximum absolute value of all elements in that column. It is used to evaluate the scale of each column's data to facilitate appropriate data scaling. Iteratively updating the row transformation matrix based on the row scaling factor and the column transformation matrix based on the column scaling factor is to ensure that the elements in each row and column of the matrix are of similar order of magnitude, thereby reducing matrix ill-conditionedness and improving numerical stability and the accuracy of least squares solutions.
[0133] For example, the infinite norm of each of the above rows It can be represented as:
[0134]
[0135] in, Indicates the th element in the update matrix m The maximum absolute value of the row elements.
[0136] For example, the infinite norm of each of the above columns can be expressed as:
[0137]
[0138] in, Indicates the th element in the update matrix m The maximum absolute value of the column elements.
[0139] Furthermore, the row scaling factor is calculated based on the infinite norm of each row in the update matrix of the current iteration round. It can be represented as:
[0140] =
[0141] The column scaling factor is calculated based on the infinite norm of each column in the update matrix of the current iteration round. It can be represented as:
[0142] =
[0143] Iteratively updating the row transformation matrix based on the row scaling factor can be expressed as:
[0144]
[0145] in, This indicates dot product.
[0146] Iteratively updating the column transformation matrix based on the column scaling factor can be expressed as:
[0147]
[0148] Based on steps S21 to S22 above, by scaling each row and each column, it can be ensured that each element of the matrix is at a similar scale during the iteration process, thereby avoiding numerical problems caused by excessive scale differences. In this way, even when the observation data contains significant noise or nonlinear relationships, the solution process can be guaranteed to proceed smoothly, reducing the instability of the solution caused by the ill-conditioned matrix and the sensitivity to observation noise, ultimately improving the robustness and convergence speed of the localization algorithm.
[0149] Optionally, in step S133, the detected discrete points are excluded from the frequency observation data set based on the detection results to obtain a dynamic subset of the target, including:
[0150] Step S1331: In response to the failure of the dynamic subset update process to meet the second iteration termination condition, the detected discrete points are excluded from the frequency observation data set based on the detection results, wherein the second iteration termination condition is determined based on the minimum number of iterations and the error limit;
[0151] Step S1332: In response to the dynamic subset update process satisfying the second iteration termination condition, the target dynamic subset is determined based on the dynamic subset obtained in the latest iteration round.
[0152] For example, suppose the required number of iterations is The total number of observed samples is The corresponding number of interior and exterior points is and Then the interior point ratio is:
[0153]
[0154] In the K iterations, each time a random sample is drawn. In the case of n points, the probability that each selected point contains at least one outlier is 1. Then, in K iterations, it is possible to randomly select The probability of an interior point is:
[0155]
[0156] The minimum number of iterations K is:
[0157]
[0158] That is, to estimate the probability of obtaining the correct model, assume... Interior point ratio Number of samples to be drawn Therefore, the required number of iterations can be estimated to be 10.0865. Even if the number of samples is increased to ensure the stability of the extracted Doppler curves... The required number of iterations is calculated to be 38.1205.
[0159] For example, the termination condition of the second iteration described above can be expressed as:
[0160] &&
[0161] For example, when && In this case, it is necessary to exclude the detected discrete points from the frequency observation data set based on the detection results. Indicates the target source location and frequency offset. The size of the value reflects the difference between the current location estimate and the actual location. This is the error limit, i.e., the maximum permissible error between the positioning solution and the true position. This represents the minimum number of iterations. Furthermore, when the dynamic subset update process satisfies the second iteration termination condition, the dynamic subset obtained based on the latest iteration round... It can be represented as:
[0162]
[0163] Specifically, The number of interior points in the array is .when > Update when and ,in, This represents the estimated maximum number of inliers in the historical samples, i.e., the size of the largest set of inliers identified in previous iterations. The final output is... , .
[0164] Based on steps S1331 to S1332 above, if the second iteration termination condition is not met during the dynamic subset update process, it means that the current subset selection may still contain outliers or the noise influence of the observation data exceeds the predetermined threshold, causing the accuracy and stability of the positioning result to fail to meet the expected standards. Excluding detected discrete points (outliers) from the frequency observation data set based on the detection results helps reduce the impact of noise and abnormal observations on the positioning algorithm, thus better meeting the convergence requirements in subsequent dynamic subset updates. By iteratively filtering and updating the observation subset, data points that adversely affect the positioning result can be gradually eliminated, ensuring that the final observation dataset used for positioning is relatively clean and representative, reflecting the true location information of the target source. Determining the target dynamic subset based on the dynamic subset obtained in the latest iteration not only improves positioning accuracy but also enhances the robustness of the algorithm, enabling it to stably converge to the correct solution even when facing noise and abnormal data.
[0165] Optionally, in step S15, the initial position of the target source is corrected using the target dynamic subset and the target matrix to obtain the target source localization result, including:
[0166] Step S151: Obtain the prediction difference corresponding to the target dynamic subset;
[0167] Step S152: The initial position of the target source is corrected using the prediction difference and the target matrix to obtain the positioning result of the target source.
[0168] Specifically, the predicted differences corresponding to the target dynamic subset are obtained. This involves calculating the set of differences between the observed Doppler frequencies and the theoretical Doppler frequencies estimated based on the current iterative position parameters from the observation samples (i.e., the dynamic subset) that have been selected as inliers of the target. These predicted differences are the results after selection based on the dynamic subset update strategy and are used to improve the robustness and accuracy of subsequent positioning processes.
[0169] Specifically, correcting the initial position of the target source using the prediction difference and the target matrix means using the prediction difference set and the target matrix to solve for the correction amount of the position parameters by the least squares method, and adding it to the position estimate of the current iteration to improve the position of the target source.
[0170] Based on the above steps S151 to S152, the prediction difference corresponding to the target dynamic subset is obtained, and then the initial position of the target source is corrected by using the prediction difference and the target matrix to obtain the positioning result of the target source, which can improve the accuracy and reliability of the positioning result.
[0171] Optionally, in step S151, obtaining the prediction difference corresponding to the target dynamic subset includes:
[0172] Step S1511: Obtain the current velocity, current radial vector, current transmission frequency, and current frequency deviation corresponding to the target dynamic subset;
[0173] Step S1512: Calculate frequency prediction data using the current velocity, current radial vector, current transmission frequency, and current frequency deviation;
[0174] Step S1513: Based on the frequency prediction data and the frequency observation data in the frequency observation data set, calculate the prediction difference corresponding to the target dynamic subset.
[0175] For example, the above frequency prediction data It can be represented as:
[0176]
[0177] in, Indicates the current speed. Indicates the current radial vector. Indicates the current transmission frequency. Indicates the current frequency deviation. It is the speed of light.
[0178] Furthermore, based on the frequency prediction data and the frequency observation data in the frequency observation data set, the prediction difference corresponding to the target dynamic subset is calculated. It can be represented as:
[0179] =[
[0180] in, = , For frequency observation data in the frequency observation dataset, This is frequency prediction data.
[0181] Based on steps S1511 to S1513 above, the current velocity, current radial vector, current transmission frequency, and current frequency deviation corresponding to the target dynamic subset are obtained. Then, using the current velocity, current radial vector, current transmission frequency, and current frequency deviation, frequency prediction data is calculated. Finally, based on the frequency prediction data and the frequency observation data in the frequency observation data set, the prediction difference corresponding to the target dynamic subset is calculated. This can more accurately simulate and predict the Doppler frequency shift change of the target object, thus providing a more reliable data foundation in the least squares solution.
[0182] Optionally, the target matrix includes: an update matrix, an updated row transformation matrix, and an updated column transformation matrix. In step S152, the initial position of the target source is corrected using the prediction difference and the target matrix to obtain the target source localization result, including:
[0183] Step S1521: Update the prediction difference based on the updated row transformation matrix to obtain the updated prediction difference;
[0184] Step S1522: Calculate the least squares solution for the updated prediction difference and the update matrix to obtain the initial correction amount;
[0185] Step S1523: Update the initial correction amount based on the updated column transformation matrix to obtain the target correction amount;
[0186] Step S1524: Correct the initial position of the target source using the target correction amount to obtain the positioning result of the target source.
[0187] The aforementioned initial correction amount is used to indicate the direction and magnitude in which the target source parameters (position and frequency offset) need to be adjusted.
[0188] For example, the prediction difference is updated based on the updated row transformation matrix, resulting in the updated prediction difference. It can be represented as:
[0189]
[0190] The initial correction is obtained by calculating the least squares solution between the updated prediction difference and the update matrix. It can be represented as:
[0191]
[0192] Specifically, due to The calculation is performed at the scale of the preprocessed matrix. To transform it back to the original parameter scale, the initial correction value needs to be updated using the updated column transformation matrix, resulting in the final target correction value. It can be represented as:
[0193] = ′
[0194] Furthermore, the correction process for the target source localization result can be expressed as follows: .
[0195] Based on steps S1521 to S1524 above, the predicted difference is updated based on the updated row transformation matrix to obtain the updated predicted difference. The least squares solution is then calculated on the updated predicted difference and the updated matrix to obtain the initial correction amount. Subsequently, the initial correction amount is updated based on the updated column transformation matrix to obtain the target correction amount. Finally, the initial position of the target source is corrected using the target correction amount to obtain the positioning result of the target source. This method can improve positioning accuracy, enhance the robustness of the algorithm, reduce the number of iterations, and achieve fast and stable convergence. At the same time, it can effectively suppress the influence of noise and outliers in the observation data on the positioning result, ensuring accurate positioning even in complex environments and under limited observation conditions.
[0196] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0197] This invention also provides a satellite positioning device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0198] Figure 3 This is a structural block diagram of a satellite positioning device according to one embodiment of the present invention, such as... Figure 3 As shown, the device includes:
[0199] Module 301 is used to acquire frequency observation data sets;
[0200] Selection module 302 is used to select an initial dynamic subset from the frequency observation data set;
[0201] Processing module 303 is used to perform outlier elimination processing on the frequency observation data set based on the initial dynamic subset to obtain the target dynamic subset;
[0202] The generation module 304 is used to generate a target matrix based on a dynamic subset of the target, wherein the target matrix is used to describe the relationship between the Doppler frequency change and the position change of the target source;
[0203] The correction module 305 is used to correct the initial position of the target source using the target dynamic subset and the target matrix to obtain the positioning result of the target source.
[0204] Optionally, the processing module 303 is further configured to: construct a fitting model based on the initial dynamic subset, wherein the fitting model is a model of the Doppler frequency changing over time; use the fitting model to perform outlier detection processing on the frequency observation data set to obtain detection results; and exclude the detected discrete points from the frequency observation data set based on the detection results to obtain the target dynamic subset.
[0205] Optionally, the processing module 303 is further configured to: calculate the difference between each observation value in the frequency observation data set and the predicted value of the fitted model to obtain the detection result; and exclude the detected discrete points from the frequency observation data set based on the detection result to obtain the target dynamic subset, including: excluding discrete points with differences greater than or equal to a preset tolerance from the frequency observation data set based on the detection result to obtain the target dynamic subset.
[0206] Optionally, the generation module 304 is further configured to: construct an initial matrix using a target dynamic subset; and perform scaling preprocessing on the initial matrix to obtain the target matrix.
[0207] Optionally, the generation module 304 is further configured to: in response to the matrix preprocessing process not satisfying the first iteration termination condition, iteratively update the row transformation matrix and the column transformation matrix, and perform iterative scaling preprocessing on the initial matrix based on the updated row transformation matrix and the updated column transformation matrix to obtain an updated matrix, wherein the first iteration termination condition is determined based on the maximum number of iterations and the convergence threshold; in response to the matrix preprocessing process satisfying the first iteration termination condition, determine the target matrix based on the updated matrix obtained in the latest iteration round, the updated row transformation matrix, and the updated column transformation matrix.
[0208] Optionally, the generation module 304 is further configured to: in response to the matrix preprocessing process not satisfying the first iteration termination condition, calculate the row scaling factor based on the infinite norm of each row in the update matrix of the current iteration round, and calculate the column scaling factor based on the infinite norm of each column; iteratively update the row transformation matrix according to the row scaling factor, and iteratively update the column transformation matrix according to the column scaling factor.
[0209] Optionally, the processing module 303 is further configured to: in response to the dynamic subset update process not satisfying the second iteration termination condition, exclude the detected discrete points from the frequency observation data set based on the detection results, wherein the second iteration termination condition is determined based on the minimum number of iterations and the error limit; in response to the dynamic subset update process satisfying the second iteration termination condition, determine the target dynamic subset based on the dynamic subset obtained in the latest iteration round.
[0210] Optionally, the correction module 305 is further configured to: obtain the prediction difference corresponding to the target dynamic subset; and use the prediction difference and the target matrix to correct the initial position of the target source to obtain the positioning result of the target source.
[0211] Optionally, the correction module 305 is further configured to: obtain the current velocity, current radial vector, current transmission frequency, and current frequency deviation corresponding to the target dynamic subset; calculate frequency prediction data using the current velocity, current radial vector, current transmission frequency, and current frequency deviation; and calculate the prediction difference corresponding to the target dynamic subset based on the frequency prediction data and the frequency observation data in the frequency observation data set.
[0212] Optionally, the target matrix includes: an update matrix, an updated row transformation matrix, and an updated column transformation matrix. The correction module 305 is further configured to: update the prediction difference based on the updated row transformation matrix to obtain the updated prediction difference; perform least squares calculation on the updated prediction difference and the update matrix to obtain the initial correction amount; update the initial correction amount according to the updated column transformation matrix to obtain the target correction amount; and use the target correction amount to correct the initial position of the target source to obtain the positioning result of the target source.
[0213] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.
[0214] According to another aspect of the present invention, a satellite positioning device is also provided, comprising: a memory storing an executable program; and a processor for running the program, wherein the program executes the satellite positioning method of the present invention during runtime.
[0215] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:
[0216] Step S11: Obtain the frequency observation data set;
[0217] Step S12: Select an initial dynamic subset from the frequency observation data set;
[0218] Step S13: Based on the initial dynamic subset, outlier elimination processing is performed on the frequency observation data set to obtain the target dynamic subset;
[0219] Step S14: Generate a target matrix based on the target dynamic subset, wherein the target matrix is used to describe the relationship between the Doppler frequency change and the position change of the target source;
[0220] Step S15: Correct the initial position of the target source using the target dynamic subset and the target matrix to obtain the target source localization result.
[0221] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein, when the executable program is executed, it controls the device where the storage medium is located to execute the satellite positioning method of the present invention.
[0222] Optionally, in this embodiment, the storage medium may be configured to store a computer program for performing the following steps:
[0223] Step S11: Obtain the frequency observation data set;
[0224] Step S12: Select an initial dynamic subset from the frequency observation data set;
[0225] Step S13: Based on the initial dynamic subset, outlier elimination processing is performed on the frequency observation data set to obtain the target dynamic subset;
[0226] Step S14: Generate a target matrix based on the target dynamic subset, wherein the target matrix is used to describe the relationship between the Doppler frequency change and the position change of the target source;
[0227] Step S15: Correct the initial position of the target source using the target dynamic subset and the target matrix to obtain the target source localization result.
[0228] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0229] According to another aspect of the present invention, a computer program product is also provided, including a computer program that, when executed by a processor, implements the satellite positioning method of the present invention.
[0230] Optionally, in this embodiment, the above-mentioned computer program product can be configured as a computer program that performs the following steps:
[0231] Step S11: Obtain the frequency observation data set;
[0232] Step S12: Select an initial dynamic subset from the frequency observation data set;
[0233] Step S13: Based on the initial dynamic subset, outlier elimination processing is performed on the frequency observation data set to obtain the target dynamic subset;
[0234] Step S14: Generate a target matrix based on the target dynamic subset, wherein the target matrix is used to describe the relationship between the Doppler frequency change and the position change of the target source;
[0235] Step S15: Correct the initial position of the target source using the target dynamic subset and the target matrix to obtain the target source localization result.
[0236] According to another aspect of the present invention, a chip system is also provided, comprising: a processor for calling and running a computer program from a memory, such that a communication device equipped with the chip system performs the satellite positioning method of the present invention.
[0237] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0238] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0239] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0240] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0241] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0242] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0243] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A satellite positioning method, characterized in that, include: Obtain a set of frequency observation data; Select an initial dynamic subset from the frequency observation data set; Based on the initial dynamic subset, outlier elimination processing is performed on the frequency observation data set to obtain the target dynamic subset; Construct an initial matrix using the target dynamic subset; The initial matrix is scaled and preprocessed to obtain the target matrix, wherein the target matrix is used to describe the relationship between the Doppler frequency change and the position change of the target source; The initial position of the target source is corrected using the target dynamic subset and the target matrix to obtain the positioning result of the target source; The scaling preprocessing of the initial matrix to obtain the target matrix includes: in response to the matrix preprocessing process not satisfying the first iteration termination condition, iteratively updating the row transformation matrix and the column transformation matrix, and based on the updated row transformation matrix and the updated column transformation matrix, iteratively scaling preprocessing of the initial matrix to obtain the updated matrix, wherein the first iteration termination condition is determined based on the maximum number of iterations and the convergence threshold; The iterative update of the row transformation matrix and the column transformation matrix in response to the matrix preprocessing process not meeting the first iteration termination condition includes: calculating a row scaling factor based on the infinite norm of each row in the updated matrix of the current iteration round, and calculating a column scaling factor based on the infinite norm of each column; iteratively updating the row transformation matrix according to the row scaling factor, and iteratively updating the column transformation matrix according to the column scaling factor.
2. The satellite positioning method according to claim 1, characterized in that, Based on the initial dynamic subset, outlier exclusion processing is performed on the frequency observation data set to obtain the target dynamic subset, which includes: A fitting model is constructed based on the initial dynamic subset, wherein the fitting model is a model of the Doppler frequency changing over time; The fitting model is used to perform outlier detection processing on the frequency observation dataset to obtain the detection results; Based on the detection results, the detected discrete points are excluded from the frequency observation data set to obtain the target dynamic subset.
3. The satellite positioning method according to claim 2, characterized in that, The fitting model is used to perform outlier detection on the frequency observation dataset, and the detection results include: The detection result is obtained by calculating the difference between each observation in the frequency observation dataset and the predicted value of the fitted model. Based on the detection results, the detected discrete points are excluded from the frequency observation data set to obtain the target dynamic subset, which includes: Based on the detection results, discrete points with differences greater than or equal to a preset tolerance are excluded from the frequency observation data set to obtain the target dynamic subset.
4. The satellite positioning method according to claim 1, characterized in that, The initial matrix is scaled and preprocessed to obtain the target matrix, which includes: In response to the matrix preprocessing process satisfying the first iteration termination condition, the target matrix is determined based on the updated matrix obtained in the latest iteration, the updated row transformation matrix, and the updated column transformation matrix.
5. The satellite positioning method according to claim 2, characterized in that, Based on the detection results, the detected discrete points are excluded from the frequency observation data set to obtain the target dynamic subset, which includes: In response to the failure of the dynamic subset update process to meet the second iteration termination condition, the detected discrete points are excluded from the frequency observation data set based on the detection results, wherein the second iteration termination condition is determined based on the minimum number of iterations and the error limit; In response to the dynamic subset update process satisfying the second iteration termination condition, the target dynamic subset is determined based on the dynamic subset obtained in the latest iteration round.
6. The satellite positioning method according to claim 1, characterized in that, The initial position of the target source is corrected using the target dynamic subset and the target matrix to obtain the localization result of the target source, including: Obtain the prediction difference corresponding to the target dynamic subset; The initial position of the target source is corrected using the predicted difference and the target matrix to obtain the positioning result of the target source.
7. The satellite positioning method according to claim 6, characterized in that, Obtaining the prediction difference corresponding to the target dynamic subset includes: Obtain the current velocity, current radial vector, current transmission frequency, and current frequency deviation corresponding to the target dynamic subset; Frequency prediction data is calculated using the current velocity, the current radial vector, the current transmission frequency, and the current frequency deviation; Based on the frequency prediction data and the frequency observation data in the frequency observation data set, the prediction difference corresponding to the target dynamic subset is calculated.
8. The satellite positioning method according to claim 6, characterized in that, The target matrix includes: an updated matrix, an updated row transformation matrix, and an updated column transformation matrix. The initial position of the target source is corrected using the predicted difference and the target matrix to obtain the localization result of the target source, including: The prediction difference is updated based on the updated row transformation matrix to obtain the updated prediction difference; The updated prediction difference and the update matrix are used to calculate the least squares solution to obtain the initial correction amount; The initial correction amount is updated based on the updated column transformation matrix to obtain the target correction amount; The initial position of the target source is corrected using the target correction amount to obtain the positioning result of the target source.
9. A satellite positioning device, characterized in that, include: Memory, which stores executable programs; A processor for running the program, wherein the program executes the satellite positioning method according to any one of claims 1 to 8 when it runs.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored executable program, wherein, when the executable program is executed, it controls the device on which the storage medium is located to perform the satellite positioning method according to any one of claims 1 to 8.
11. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the satellite positioning method according to any one of claims 1 to 8.
12. A chip system, characterized in that, include: A processor for retrieving and running a computer program from memory, causing a communication device equipped with the chip system to perform the satellite positioning method as described in any one of claims 1 to 8.