Genetic least squares localization method using non-cooperative LEO satellites and GNSS satellites
By using a genetic least squares positioning method that combines non-cooperative LEO satellites with GNSS, the problems of insufficient applicability and large errors of LEO satellites in complex environments were solved, and high-precision positioning results were achieved.
Patent Information
- Application Number
- CN202511324713.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-17
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-09-17
AI Technical Summary
LEO satellites suffer from short visibility periods and large positioning errors in positioning applications. They are particularly unable to support high-precision real-time positioning in complex environments, and users cannot obtain satellite pseudorange information.
A genetic least squares positioning method combining non-cooperative LEO satellites and GNSS is adopted. By receiving satellite signals to obtain observation values and determine initial values, the least squares iterative calculation with additional weights is performed using a linear state update equation. Combined with genetic iteration, the positioning results are optimized.
It improves the applicability and accuracy of positioning, reduces positioning errors, achieves rapid iterative convergence, and improves processing speed and positioning accuracy.
Smart Images

Figure CN120831682B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite positioning, and in particular to a genetic least squares positioning method using a combination of non-cooperative LEO satellites and GNSS. Background Technology
[0002] The Global Navigation Satellite System (GNSS) is the most widely used and technologically mature navigation platform today, playing an irreplaceable and vital role in various fields. It provides high-precision positioning, navigation, and timing services to users worldwide. However, despite its superior performance in many areas, GNSS's limitations in complex environments and extreme scenarios are becoming increasingly apparent. Specific problems include: traditional navigation signals are susceptible to spoofing and interference; and GNSS signals are easily blocked by buildings or subject to multipath interference in densely populated urban areas, leading to lower positioning accuracy.
[0003] In existing technologies, non-cooperative low Earth orbit (LEO) satellite constellations can also be used as navigation signal transmission platforms for positioning. LEO satellites have the advantages of high speed and strong signal power, making them an important research direction for next-generation satellite positioning systems.
[0004] However, using LEO satellites for positioning also faces many challenges. For example, due to their low orbital altitude, LEO satellites have a short visibility period, making it difficult to acquire data from multiple LEO satellites in a short time. This is especially true in real-time applications requiring high-precision positioning, as they cannot support instant positioning services, thus limiting the application scenarios for positioning using LEO satellites. Furthermore, LEO satellites are not designed specifically for navigation purposes, so users cannot obtain satellite pseudorange information and can only rely on Doppler frequency shift for positioning, which also results in significant positioning errors. Summary of the Invention
[0005] To address the limitations of existing LEO satellite technologies in terms of application scenarios and large positioning errors, this invention provides a genetic least squares positioning method combining non-cooperative LEO satellites and GNSS. The method includes:
[0006] Step 1: Receive satellite signals from non-cooperative LEO satellites and GNSS satellites, and acquire observation values, including pseudorange observation values, pseudorange rate observation values, and Doppler observation values;
[0007] Step 2: Determine a set of initial values, including initial coordinate values and initial clock offset values. The clock offset includes a first clock offset corresponding to pseudorange, a second clock offset corresponding to pseudorange rate, and a third clock offset corresponding to Doppler.
[0008] Step 3: Based on the linear form of the state update equation, with the initial value and the observed value as input, perform a least squares iterative calculation with additional weights to obtain the initial positioning result and the initial clock offset calculation result of the target receiver; wherein, the state update equation includes the pseudorange state update equation, the pseudorange rate state update equation and the Doppler state update equation, and the state vector of the state update equation includes the coordinate correction amount and the clock offset correction amount.
[0009] Step 4: Based on the state update equation, the initial positioning result, and the initial clock offset calculation result, perform genetic iteration according to the fitness function with preset additional weights to obtain the positioning result of the target receiver;
[0010] In each least squares iteration, the weights are updated according to the following formula:
[0011] ,
[0012] ,
[0013] in, This represents the weighting coefficient added to the pseudorange data and pseudorange rate data corresponding to the i-th GNSS satellite. This represents the weighting coefficient added to the Doppler data corresponding to the j-th non-cooperative LEO satellite;
[0014] Represents the trace of a matrix. Represents the identity matrix. The operator representing the Hadamard product; This represents the coefficient matrix for the coordinate correction of the i-th GNSS satellite in the state update equation. express The transpose of the matrix, This represents the measurement noise matrix corresponding to the i-th GNSS satellite. ; This represents the coefficient matrix of the j-th non-cooperative LEO satellite in the state update equation, relating to the coordinate correction. express The transpose of the matrix, This represents the measurement noise corresponding to the j-th non-cooperative LEO satellite. .
[0015] Optionally, the fitness function is expressed according to the following formula:
[0016] ,
[0017] Where J represents fitness; Indicates the number of GNSS satellites. Indicates the number of non-cooperative LEO satellites; This represents the pseudorange observation value of the i-th GNSS satellite. This represents the pseudorange calculation value of the i-th GNSS satellite; This represents the pseudorange rate observation value of the i-th GNSS satellite. This represents the calculated pseudorange rate of the i-th GNSS satellite; This represents the Doppler observation of the j-th non-cooperative LEO satellite. This represents the calculated Doppler value of the j-th non-cooperative LEO satellite; This represents the weight parameter corresponding to the i-th GNSS satellite. This represents the weight parameter corresponding to the j-th non-cooperative LEO satellite.
[0018] Optionally, step 3 includes:
[0019] Based on the linear state update equation, the initial value and the observed value are used as inputs to perform a least squares iterative calculation with additional weights. The iteration is terminated when the updated values of the coordinate correction and clock offset correction are less than a preset threshold.
[0020] Based on the updated values, the coordinates and clock offset are updated to obtain the initial positioning result and the initial clock offset calculation result of the target receiver.
[0021] Optionally, the state update equation includes a pseudorange rate state update equation, and the clock offset correction includes a correction for the second clock offset; the pseudorange rate state update equation is expressed by the following formula:
[0022] ,
[0023] in, This represents the pseudorange rate observation value of the i-th GNSS satellite. This represents the calculated pseudorange rate of the i-th GNSS satellite; , , These represent the correction amounts of the target receiver's coordinates in the x, y, and z directions, respectively. This indicates the amount of correction for the second clock offset; This represents the error in the pseudorange rate state update equation corresponding to the i-th GNSS satellite; , , The coefficients for the coordinate correction of the i-th GNSS satellite in three directions are, respectively, expressed by the following formula:
[0024] ,
[0025] ,
[0026] ,
[0027] in, Let x represent the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the x-direction. Let represent the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the y-direction. This represents the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the z-direction; This represents the velocity component of the i-th GNSS satellite in the x-direction. This represents the y-component of the velocity of the i-th GNSS satellite. This represents the component of the velocity of the i-th GNSS satellite in the z-direction; This represents the calculated distance between the i-th GNSS satellite and the target receiver.
[0028] Optionally, the state update equation includes a Doppler state update equation, and the clock offset correction includes a correction for a third clock offset; the Doppler state update equation is expressed by the following formula:
[0029] ,
[0030] in, This represents the Doppler observation corresponding to the j-th non-cooperative LEO satellite. This represents the calculated Doppler value corresponding to the j-th non-cooperative LEO satellite; , , These represent the correction amounts of the target receiver's coordinates in the x, y, and z directions, respectively. This indicates the amount of correction for the second clock offset. This indicates the amount of correction for the third clock offset; This represents the error in the Doppler state update equation corresponding to the j-th non-cooperative LEO satellite; , , The coefficients for the coordinate corrections in the three directions of the j-th non-cooperative LEO satellite are, in order, expressed by the following formula:
[0031] ,
[0032] ,
[0033] ,
[0034] in, Let x represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the x-direction. Let represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the y-direction. Let z represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the z-direction. This represents the velocity component of the j-th non-cooperative LEO satellite in the x-direction. This represents the y-component of the velocity of the j-th non-cooperative LEO satellite. This represents the component of the velocity of the j-th non-cooperative LEO satellite in the z-direction; This represents the calculated distance between the j-th non-cooperative LEO satellite and the target receiver.
[0035] Optionally, step 4 includes:
[0036] Based on the initial positioning result and the initial clock offset calculation result, genetic iteration is performed according to the preset fitness function and the preset search space to obtain the positioning result of the target receiver.
[0037] Optionally, step 4 includes:
[0038] Based on the state update equation, the initial positioning result, and the initial clock offset calculation result, genetic iteration is performed according to the fitness function with preset additional weights. When the number of genetic iterations reaches the preset number, the iteration stops, and the positioning result of the target receiver is obtained.
[0039] Furthermore, the present invention also proposes an electronic device and a readable storage medium:
[0040] An electronic device includes a processor and a memory, the memory being used to store one or more programs; characterized in that: when the one or more programs are executed by the processor, the above-described method is implemented.
[0041] A readable storage medium storing a computer program, characterized in that: when the computer program is executed by a processor, the above-described method is implemented.
[0042] The embodiments described in this invention have the following advantages:
[0043] This invention provides a genetic least-squares positioning method using a combination of non-cooperative LEO satellites and GNSS. The method involves receiving satellite signals from both non-cooperative LEO and GNSS satellites to obtain observations; determining an initial value; performing a least-squares iterative calculation with additional weights based on a linear state update equation, using the initial value and the observations as inputs, to obtain the initial positioning result and initial clock offset calculation result for the target receiver; and then performing genetic iteration according to a preset fitness function with additional weights based on the state update equation, the initial positioning result, and the initial clock offset calculation result to obtain the final positioning result for the target receiver.
[0044] In the above approach, the simultaneous positioning of the three state update equations effectively addresses the applicability issues of non-cooperative LEO satellite positioning and significantly reduces positioning errors. Initial positioning utilizes least squares iterative searching for the global optimum, facilitating rapid iterative convergence and improving the processing speed of the positioning problem. Genetic iterative searching for local optima based on least squares iterative searching not only improves computational speed but also effectively reduces positioning errors. Furthermore, by adding weights based on factors such as noise and the importance of different satellite parameters, and updating these weights in each iteration, intelligent control over the contribution ratio of different data is achieved, leading to more accurate results and improved positioning precision during the iteration process. Attached Figure Description
[0045] The above and / or additional aspects and advantages of the present invention will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, in which:
[0046] Figure 1 This is a flowchart illustrating the steps of an embodiment of a genetic least squares localization method using a non-cooperative LEO satellite and GNSS combination provided by the present invention. Detailed Implementation
[0047] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.
[0048] Figure 1 The present invention provides a flowchart of an embodiment of a genetic least squares localization method using a non-cooperative LEO satellite and GNSS combination, the method comprising:
[0049] Step 1: Receive satellite signals from non-cooperative LEO satellites and GNSS satellites, and acquire observation values, including pseudorange observation values, pseudorange rate observation values, and Doppler observation values.
[0050] Non-cooperative LEO satellites refer to low-Earth orbit satellites not specifically designed for navigation purposes, for which users cannot obtain pseudorange information. Pseudorange observations are obtained by the target receiver through the propagation time of GNSS satellite signals, reflecting the distance between the GNSS satellite and the target receiver. Corresponding to GNSS satellites, they can be directly obtained by the receiver's acquisition unit. Pseudorange rate observations refer to the observed values of the pseudorange change rate, reflecting the relative radial velocity between the target receiver and the satellite. These can be calculated from the Doppler frequency shift of the satellite carrier transmitted by the received GNSS satellite, or from the ratio of the difference in pseudorange observations to time; this invention does not limit this. Doppler observations refer to the velocity observations calculated from the Doppler frequency shift of the satellite signal carrier frequency when the target receiver receives satellite signals transmitted by a non-cooperative LEO satellite, reflecting the relative radial velocity between the target receiver and the non-cooperative LEO satellite.
[0051] In the process of satellite signal processing, Doppler frequency shift information of non-cooperative LEO satellites can be extracted using time-domain methods, or Doppler frequency can be estimated through high-precision spectral peak positioning using maximum likelihood estimation. Simultaneously, when performing time-domain and frequency-domain analysis on the acquired raw signals, the focus can be on the signal's spectral distribution characteristics and signal intensity variations. For example, the dominant frequency component of the signal can be analyzed using Fourier transform, and its frequency consistency can be verified to reduce positioning interference.
[0052] Step 2: Determine a set of initial values, including initial coordinate values and initial clock offset values. The clock offset includes a first clock offset corresponding to pseudorange, a second clock offset corresponding to pseudorange rate, and a third clock offset corresponding to Doppler.
[0053] The first clock offset refers to the distance offset caused by the clock offset between the target receiver and the GNSS satellite; the second clock offset refers to the velocity offset caused by the clock offset between the target receiver and the GNSS satellite; and the third clock offset refers to the velocity offset caused by the clock offset between the non-cooperative LEO satellite and the GNSS satellite.
[0054] The initial values of the coordinates and the clock offset can be determined based on the coordinates and clock offset of the previous moment, or an estimated coordinate can be deduced from the satellite position that transmitted the satellite signal. The clock offset can be estimated by using multiple observations. The specific method can be determined according to the actual situation, and this invention does not limit it.
[0055] Step 3: Based on the linear form of the state update equation, with the initial value and the observed value as input, perform a least squares iterative calculation with additional weights to obtain the initial positioning result and the initial clock offset calculation result of the target receiver; wherein, the state update equation includes the pseudorange state update equation, the pseudorange rate state update equation and the Doppler state update equation, and the state vector of the state update equation includes the coordinate correction amount and the clock offset correction amount.
[0056] In each least squares iteration, the weights are updated according to the following formula:
[0057] (1)
[0058] (2)
[0059] in, This represents the weighting coefficient added to the pseudorange data and pseudorange rate data corresponding to the i-th GNSS satellite. This represents the weighting coefficient added to the Doppler data corresponding to the j-th non-cooperative LEO satellite;
[0060] Represents the trace of a matrix. Represents the identity matrix. The operator representing the Hadamard product; This represents the coefficient matrix for the coordinate correction of the i-th GNSS satellite in the state update equation. express The transpose of the matrix, This represents the measurement noise matrix corresponding to the i-th GNSS satellite. ; This represents the coefficient matrix of the j-th non-cooperative LEO satellite in the state update equation, relating to the coordinate correction. express The transpose of the matrix, This represents the measurement noise matrix corresponding to the j-th non-cooperative LEO satellite. .
[0061] This invention employs an Earth-Centered Earth-Fixed (ECEF) coordinate system. By fusing continuously updated "coordinate and clock offset estimates" with "observations" containing errors, it iteratively approximates the true state, thereby obtaining accurate and stable positioning results. Specifically, this invention utilizes a state update equation of the form (3), taking the observations, initial coordinate values, and initial clock offset values as inputs. Through iterative updates of the coordinate values and three clock offsets, the calculated values and coefficient matrix are updated, making the error estimate smaller and smaller, thus achieving the effect of approximating the true state, thereby obtaining the positioning result of the target receiver.
[0062] (3)
[0063] in, Here, is the observation vector, used to represent the residuals, i.e., the difference between the observed and calculated values, including pseudorange residuals, pseudorange rate residuals, and Doppler residuals; H represents the coefficient matrix. Represents the state vector. Indicates error.
[0064] Specifically, the pseudorange calculation value can be expressed according to the following formula:
[0065] (4)
[0066] in, This represents the calculated pseudorange value corresponding to the i-th GNSS satellite. This represents the calculated value of the actual distance between the i-th GNSS satellite and the target receiver; ) represents the receiver coordinates, ( () represents the coordinates of the i-th GNSS satellite, which can be obtained from the ephemeris file in the satellite signal. This indicates the first clock offset.
[0067] The pseudorange rate can be calculated using the following formula:
[0068] (5)
[0069] in, This represents the calculated pseudorange rate corresponding to the i-th GNSS satellite. " represents the dot product symbol; The velocity of the i-th GNSS satellite can be obtained from the ephemeris file in the satellite signal. The three-dimensional line-of-sight vector between the i-th GNSS satellite and the target receiver can be expressed by the following formula:
[0070] (6)
[0071] The explanation of each variable can be found in formula (4).
[0072] Doppler values can be expressed using the following formula:
[0073] (7)
[0074] in, This represents the calculated Doppler value corresponding to the j-th non-cooperative LEO satellite. " represents the dot product symbol; The velocity of the j-th non-cooperative LEO satellite can be obtained from the ephemeris file in the satellite signal. The three-dimensional line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver can be expressed by the following formula:
[0075] (8)
[0076] in, This represents the calculated true distance between the j-th non-cooperative LEO satellite and the target receiver; ) represents the receiver coordinates, ( () represents the coordinates of the j-th non-cooperative LEO satellite, which can be obtained from the ephemeris file in the satellite signal.
[0077] Based on the above formula (4), the pseudorange state update equation corresponding to the i-th GNSS satellite can be expressed by the following formula:
[0078] (9)
[0079] in, The pseudorange observation value corresponding to the i-th GNSS satellite obtained in step 1. This is the pseudorange calculation value corresponding to the i-th GNSS satellite; , , These represent the correction amounts of the target receiver's coordinates in the x, y, and z directions, respectively. This indicates the amount of correction for the first clock offset; This represents the calculated value of the actual distance between the i-th GNSS satellite and the target receiver. ) represents the receiver coordinates, ( () represents the coordinates of the i-th GNSS satellite. This represents the error in the pseudorange state update equation corresponding to the i-th GNSS satellite.
[0080] Based on the pseudorange state update equation, the pseudorange rate state update equation for the i-th GNSS satellite can be derived as follows:
[0081] (10)
[0082] Where i is a positive integer, taking values from 1 to... , Indicates the number of GNSS satellites. This represents the pseudorange rate observation value of the i-th GNSS satellite. This represents the calculated pseudorange rate of the i-th GNSS satellite; , , These represent the correction amounts of the target receiver's coordinates in the x, y, and z directions, respectively. This indicates the amount of correction for the second clock offset; This represents the error in the pseudorange rate state update equation corresponding to the i-th GNSS satellite; , , The coefficients for the coordinate correction of the i-th GNSS satellite in three directions are, respectively, expressed by the following formula:
[0083] (11)
[0084] (12)
[0085] (13)
[0086] in, Let x represent the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the x-direction. Let represent the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the y-direction. This represents the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the z-direction; This represents the velocity component of the i-th GNSS satellite in the x-direction. This represents the y-component of the velocity of the i-th GNSS satellite. This represents the component of the velocity of the i-th GNSS satellite in the z-direction; This represents the calculated distance between the i-th GNSS satellite and the target receiver. " is the symbol for scalar multiplication.
[0087] The Doppler state update equation for the j-th non-cooperative LEO satellite can be expressed by the following formula:
[0088] (14)
[0089] Where j is a positive integer, taking values from 1 to... , Indicates the number of non-cooperative LEO satellites. This represents the Doppler observation corresponding to the j-th non-cooperative LEO satellite. This represents the calculated Doppler value corresponding to the j-th non-cooperative LEO satellite; , , These represent the correction amounts of the target receiver's coordinates in the x, y, and z directions, respectively. This indicates the amount of correction for the second clock offset. This indicates the amount of correction for the third clock offset; This represents the error in the Doppler state update equation corresponding to the j-th non-cooperative LEO satellite; , , The coefficients for the coordinate corrections in the three directions of the j-th non-cooperative LEO satellite are, in order, expressed by the following formula:
[0090] (15)
[0091] (16)
[0092] (17)
[0093] in, Let x represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the x-direction. Let represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the y-direction. Let z represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the z-direction. This represents the velocity component of the j-th non-cooperative LEO satellite in the x-direction. This represents the y-component of the velocity of the j-th non-cooperative LEO satellite. This represents the component of the velocity of the j-th non-cooperative LEO satellite in the z-direction; This represents the calculated distance between the j-th non-cooperative LEO satellite and the target receiver.
[0094] Combining equations (9), (10)-(13) and (14)-(17), we obtain the linear state update equation described in step 3:
[0095]
[0096] (18)
[0097] in, H represents the observation vector, and H represents the coefficient matrix; This represents the state vector, including coordinate corrections and clock offset corrections. The error matrix corresponding to the combined state update equation is shown in equation (15). Other details in equation (15) can be found in equations (9), (10)-(13), and (14)-(17). Least square iteration is performed based on the state update equation shown in equation (18). In each iteration, H and the calculated value are updated using the result of the previous iteration. Then, based on the updated state update equation, i.e., Find the corresponding case where the error is minimized. and based on Update the coordinates and clock offset until the iteration terminates.
[0098] To more accurately combine data from GNSS satellites and non-cooperative LEO satellites, this invention employs weighted least squares iterations. In each least squares iteration, the weights are updated according to formulas (1) and (2):
[0099] (1)
[0100] (2)
[0101] in, This represents the weighting coefficient added to the pseudorange data and pseudorange rate data corresponding to the i-th GNSS satellite. This represents the weighting coefficient added to the Doppler data corresponding to the j-th non-cooperative LEO satellite;
[0102] Represents the trace of a matrix. Represents the identity matrix. The operator representing the Hadamard product; This represents the coefficient matrix for the coordinate correction of the i-th GNSS satellite in the state update equation. express The transpose of the matrix, This represents the measurement noise matrix corresponding to the i-th GNSS satellite. ; This represents the coefficient matrix of the j-th non-cooperative LEO satellite in the state update equation, relating to the coordinate correction. express The transpose of the matrix, This represents the measurement noise corresponding to the j-th non-cooperative LEO satellite. .
[0103] It can be expressed by the following formula:
[0104] (19)
[0105] Among them, refer to formulas (9) and (10)-(13). The first row of the matrix corresponds to the pseudorange coefficient matrix of the coordinate correction for the i-th GNSS satellite, and the second row corresponds to the pseudorange rate coefficient matrix of the coordinate correction for the i-th GNSS satellite.
[0106] Measurement noise matrix It can be expressed by the following formula:
[0107] (20)
[0108] in, , The pseudorange rate measurement noise for the i-th GNSS satellite is... and These are all prior knowledge, determined based on factors such as receiver equipment parameters and signal transmission environment.
[0109] Based on formulas (1) and (2), the following can be obtained: Weight matrix W:
[0110] ,(twenty one)
[0111] The weight matrix is a diagonal matrix; all off-diagonal parts of the weight matrix are 0.
[0112] As an example, with added weights, if the sum of squared errors is used as the objective function, the formula for calculating the minimum error can be used to determine the minimum error. :
[0113] ,(twenty two)
[0114] Wherein, the left side of the formula represents the objective function, which is the weighted sum of squared errors. Let represent the transpose of the error matrix; the right side of the formula represents the formula for calculating the objective function. In each least squares iteration, the formula corresponding to the minimum error is obtained based on formula (22). and based on The coordinates and clock offset are updated until the iteration terminates. Of course, the error can be measured not only by the sum of squares as shown in formula (22), but also by taking the absolute value. The specific method can be determined according to the actual situation, and this invention does not limit it. Furthermore, the termination conditions of the least squares iteration include, but are not limited to, setting thresholds for the coordinate correction amount and the clock offset correction amount, setting the number of iterations, etc.
[0115] Therefore, step 3 uses a weighted least-squares iteration to simultaneously solve the pseudorange state update equation, pseudorange rate state update equation, and Doppler state update equation, obtaining the initial positioning result and the initial clock offset calculation result. The simultaneous positioning using the three state update equations effectively addresses the insufficient applicability of non-cooperative LEO satellite positioning, and the increased data dimensionality effectively reduces positioning errors. Using least-squares iteration for initial positioning facilitates rapid iterative convergence, improving the processing speed of the positioning problem. Furthermore, genetic iteration based on the initial positioning result seeks local optima, which not only improves positioning speed but also reduces positioning errors. Simultaneously, adding weights to the least-squares iteration fully considers factors such as noise and the importance of different satellite parameters, and updating the weights in each iteration helps obtain more accurate results during the iteration process, improving positioning accuracy.
[0116] Optionally, step 3 may include:
[0117] Based on the linear state update equation, the initial value and the observed value are used as inputs to perform a least squares iterative calculation with additional weights. The iteration is terminated when the updated values of the coordinate correction and clock offset correction are less than a preset threshold.
[0118] Based on the updated values, the coordinates and clock offset are updated to obtain the initial positioning result and the initial clock offset calculation result of the target receiver.
[0119] By using the updated values of coordinate correction and clock offset correction as the iteration termination condition, the advantages of least squares fast iteration can be leveraged to quickly lock the positioning result to the initial positioning result and its vicinity. Then, based on the initial positioning result, genetic iteration is performed to seek the local optimum. This improves positioning speed and results while avoiding the problem of excessive iteration leading to wasted computing resources, thus improving positioning efficiency.
[0120] Step 4: Based on the state update equation, the initial positioning result, and the initial clock offset calculation result, perform genetic iteration according to the fitness function with preset additional weights to obtain the positioning result of the target receiver;
[0121] Genetic iteration simulates the process of "evolution," allowing a population of candidate solutions to evolve generation after generation until a near-optimal solution is reached. In this invention, an initial population is generated based on the initial positioning result obtained in step 3 and the initial clock offset calculation result. Then, based on the initial population, the state update equation, and a fitness function with preset additional weights, "evolutionary" iterations are performed until the iteration termination condition is met, thereby obtaining the positioning result of the target receiver. The state update equation can be used to record data residuals and update coefficient matrices during the iteration process, enabling monitoring of the iteration process and facilitating timely error correction.
[0122] The fitness function with added weights can be calculated using the observation vector in the state update equation. For example, fitness can be calculated using at least one of pseudorange residuals and pseudorange rate residuals, or Doppler residuals. Different weights are set based on the importance of GNSS satellite and non-cooperative LEO satellite data. The iteration termination conditions include, but are not limited to, reaching a preset number of iterations or the fitness reaching a preset threshold.
[0123] Using least squares iteration for initial positioning helps to achieve rapid iterative convergence and improves the processing speed of the positioning problem. Then, genetic iteration based on the initial positioning results seeks local optima, which helps to improve positioning speed and reduce positioning error. At the same time, the addition of weights can adjust the contribution ratio of satellite data, which helps to calculate fitness more accurately and thus improve positioning accuracy.
[0124] Optionally, the fitness function is expressed according to the following formula:
[0125] (twenty three)
[0126] Where J represents fitness; Indicates the number of GNSS satellites. Indicates the number of non-cooperative LEO satellites; This represents the pseudorange observation value of the i-th GNSS satellite. This represents the pseudorange calculation value of the i-th GNSS satellite; This represents the pseudorange rate observation value of the i-th GNSS satellite. This represents the calculated pseudorange rate of the i-th GNSS satellite; This represents the Doppler observation of the j-th non-cooperative LEO satellite. This represents the calculated Doppler value of the j-th non-cooperative LEO satellite; This represents the weight parameter corresponding to the i-th GNSS satellite. This represents the weight parameter corresponding to the j-th non-cooperative LEO satellite.
[0127] Specifically, For the fitness calculation part corresponding to the i-th GNSS satellite, (This refers to the weight parameters.) These are the weight parameters for the fitness calculation part corresponding to the j-th non-cooperative LEO satellite. To further improve positioning accuracy, and The parameters can be updated in each genetic iteration process, referring to formulas (1) and (2). For example, the weights can be updated using the coefficient matrix corresponding to the coordinates with the highest fitness and the clock offset. and Alternatively, the weights can be updated using the coefficient matrix corresponding to the average of the coordinates and clock offsets of the top M fitness values. and This allows the updated weights to be used in the fitness calculation for the next iteration; however, to improve computation speed and save computational resources, fixed weight parameters can also be preset. and For example, the parameters in the weight matrix determined during the last least squares iteration can be used as the parameters in the fitness function. Here, M is a positive integer.
[0128] Optionally, step 4 includes:
[0129] Based on the initial positioning result and the initial clock offset calculation result, genetic iteration is performed according to the preset fitness function and the preset search space to obtain the positioning result of the target receiver.
[0130] To ensure the receiver position is within a reasonable search range, the search space can be preset. For example, the search range can be determined with reference to the updated values of coordinate correction and clock drift correction during the last least squares iteration. It can also be adjusted based on the actual positioning situation; this invention does not impose any limitations.
[0131] Optionally, step 4 includes:
[0132] Based on the state update equation, the initial positioning result, and the initial clock offset calculation result, genetic iteration is performed according to the fitness function with preset additional weights. When the number of genetic iterations reaches the preset number, the iteration stops, and the positioning result of the target receiver is obtained.
[0133] Using the number of iterations as the condition for terminating the iteration can effectively balance the relationship between positioning accuracy and calculation speed, thus achieving a balance between positioning accuracy and calculation speed.
[0134] In summary, this invention provides a genetic least-squares positioning method using a combination of non-cooperative LEO satellites and GNSS. The method involves receiving satellite signals from both non-cooperative LEO and GNSS satellites to obtain observations; determining an initial value; performing a least-squares iterative calculation with additional weights based on a linear state update equation, using the initial value and the observations as inputs, to obtain the initial positioning result and initial clock offset calculation result for the target receiver; and then performing genetic iteration according to a preset fitness function with additional weights based on the state update equation, the initial positioning result, and the initial clock offset calculation result to obtain the final positioning result for the target receiver.
[0135] In the above approach, the simultaneous positioning of the three state update equations effectively addresses the applicability issues of non-cooperative LEO satellite positioning and significantly reduces positioning errors. Initial positioning utilizes least squares iterative searching for the global optimum, facilitating rapid iterative convergence and improving the processing speed of the positioning problem. Genetic iterative searching for local optima based on least squares iterative searching not only improves computational speed but also effectively reduces positioning errors. Furthermore, by adding weights based on factors such as noise and the importance of different satellite parameters, and updating these weights in each iteration, intelligent control over the contribution ratio of different data is achieved, leading to more accurate results and improved positioning precision during the iteration process.
[0136] In the description of this invention, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0137] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention without departing from the principles and spirit of the present invention.
Claims
1. A genetic least squares localization method using a combination of non-cooperative LEO satellites and GNSS satellites, characterized in that, The genetic least squares mapping method includes: Step 1: Receive satellite signals from non-cooperative LEO satellites and GNSS satellites, and acquire observation values, including pseudorange observation values, pseudorange rate observation values, and Doppler observation values; Step 2: Determine a set of initial values, including initial coordinate values and initial clock offset values. The clock offset includes a first clock offset corresponding to pseudorange, a second clock offset corresponding to pseudorange rate, and a third clock offset corresponding to Doppler. Step 3: Based on the linear form of the state update equation, with the initial value and the observed value as input, perform a least squares iterative calculation with additional weights to obtain the initial positioning result and the initial clock offset calculation result of the target receiver; wherein, the state update equation includes the pseudorange state update equation, the pseudorange rate state update equation and the Doppler state update equation, and the state vector of the state update equation includes the coordinate correction amount and the clock offset correction amount. Step 4: Based on the state update equation, the initial positioning result, and the initial clock offset calculation result, perform genetic iteration according to the fitness function with preset additional weights to obtain the positioning result of the target receiver; In each least squares iteration, the weights are updated according to the following formula: , , in, This represents the weighting coefficients added to the pseudorange observations and pseudorange rate observations corresponding to the i-th GNSS satellite. This represents the weighting coefficient attached to the Doppler observation corresponding to the j-th non-cooperative LEO satellite; Represents the trace of a matrix. Represents the identity matrix. The operator representing the Hadamard product; This represents the coefficient matrix for the coordinate correction of the i-th GNSS satellite in the state update equation. express The transpose of the matrix, This represents the measurement noise matrix corresponding to the i-th GNSS satellite. ; This represents the coefficient matrix of the j-th non-cooperative LEO satellite in the state update equation, relating to the coordinate correction. express The transpose of the matrix, This represents the measurement noise corresponding to the j-th non-cooperative LEO satellite. ; The fitness function of the preset additional weights is expressed by the following formula: , Where J represents fitness; Indicates the number of GNSS satellites. Indicates the number of non-cooperative LEO satellites; This represents the pseudorange observation value of the i-th GNSS satellite. This represents the pseudorange calculation value of the i-th GNSS satellite; This represents the pseudorange rate observation value of the i-th GNSS satellite. This represents the calculated pseudorange rate of the i-th GNSS satellite; This represents the Doppler observation of the j-th non-cooperative LEO satellite. This represents the calculated Doppler value of the j-th non-cooperative LEO satellite; This represents the weight parameter corresponding to the i-th GNSS satellite. This represents the weight parameter corresponding to the j-th non-cooperative LEO satellite.
2. The genetic least squares mapping method according to claim 1, characterized in that, Step 3 includes: Based on the linear state update equation, the initial value and the observed value are used as inputs to perform a least squares iterative calculation with additional weights. The iteration is terminated when the updated values of the coordinate correction and clock offset correction are less than a preset threshold. Based on the updated values, the coordinates and clock offset are updated to obtain the initial positioning result and the initial clock offset calculation result of the target receiver.
3. The genetic least squares mapping method according to claim 1, characterized in that, The state update equation includes a pseudorange rate state update equation, and the clock offset correction includes a correction for the second clock offset; the pseudorange rate state update equation is expressed by the following formula: , in, This represents the pseudorange rate observation value of the i-th GNSS satellite. This represents the calculated pseudorange rate of the i-th GNSS satellite; , , These represent the correction amounts of the target receiver's coordinates in the x, y, and z directions, respectively. This indicates the amount of correction for the second clock offset; This represents the error in the pseudorange rate state update equation corresponding to the i-th GNSS satellite; , , The coefficients for the coordinate correction of the i-th GNSS satellite in three directions are, respectively, expressed by the following formula: , , , in, Let x represent the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the x-direction. Let represent the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the y-direction. This represents the component of the three-dimensional unit line-of-sight vector between the i-th GNSS satellite and the target receiver in the z-direction; This represents the velocity component of the i-th GNSS satellite in the x-direction. This represents the y-component of the velocity of the i-th GNSS satellite. This represents the component of the velocity of the i-th GNSS satellite in the z-direction; This represents the calculated distance between the i-th GNSS satellite and the target receiver.
4. The genetic least squares mapping method according to claim 1, characterized in that, The state update equation includes a Doppler state update equation, and the clock offset correction includes a correction for a third clock offset; the Doppler state update equation is expressed by the following formula: , in, This represents the Doppler observation corresponding to the j-th non-cooperative LEO satellite. This represents the calculated Doppler value corresponding to the j-th non-cooperative LEO satellite; , , These represent the correction amounts of the target receiver's coordinates in the x, y, and z directions, respectively. This indicates the amount of correction for the second clock offset. This indicates the amount of correction for the third clock offset; This represents the error in the Doppler state update equation corresponding to the j-th non-cooperative LEO satellite; , , The coefficients for the coordinate corrections in the three directions of the j-th non-cooperative LEO satellite are, in order, expressed by the following formula: , , , in, Let x represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the x-direction. Let represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the y-direction. Let z represent the component of the three-dimensional unit line-of-sight vector between the j-th non-cooperative LEO satellite and the target receiver in the z-direction. This represents the velocity component of the j-th non-cooperative LEO satellite in the x-direction. This represents the y-component of the velocity of the j-th non-cooperative LEO satellite. This represents the component of the velocity of the j-th non-cooperative LEO satellite in the z-direction; This represents the calculated distance between the j-th non-cooperative LEO satellite and the target receiver.
5. The genetic least squares mapping method according to claim 1, characterized in that, Step 4 includes: Based on the initial positioning result and the initial clock offset calculation result, genetic iteration is performed according to the fitness function with preset additional weights and the preset search space to obtain the positioning result of the target receiver.
6. The genetic least squares mapping method according to claim 1, characterized in that, Step 4 includes: Based on the state update equation, the initial positioning result, and the initial clock offset calculation result, genetic iteration is performed according to the fitness function with preset additional weights. When the number of genetic iterations reaches the preset number, the iteration stops, and the positioning result of the target receiver is obtained.
7. An electronic device comprising a processor and a memory, wherein the memory is used to store one or more programs; characterized in that: When the processor executes the one or more programs, it implements the genetic least squares localization method according to any one of claims 1 to 6.
8. A readable storage medium storing a computer program, characterized in that: When the computer program is executed by the processor, it implements the genetic least squares localization method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Low-orbit navigation enhanced positioning method and system based on GNSS clock difference fixing
CN109061694A
Kalman filtering moving target positioning method based on inertial navigation system assisted single satellite positioning
CN109084762A