Method for determining the position of a device from a network of satellites in a predictive system
The variable gain filter method addresses the challenge of achieving centimeter-level accuracy in satellite positioning by iteratively minimizing innovation norm, adapting to non-linear systems, and utilizing a neural network for efficient calculations, surpassing conventional filters in precision and computational efficiency.
Patent Information
- Application Number
- FR2023006816
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-06-29
- Filing Date
- 2023-06-28
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2043-06-28
AI Technical Summary
Existing satellite positioning systems, particularly in urban environments with signal obstructions, struggle to achieve centimeter-level accuracy due to non-linear processing and uncertainties in error statistics, which conventional filters like the Kalman filter cannot effectively handle.
A method utilizing a variable gain filter with a vector of variable gain coefficients that iteratively minimizes the square of the innovation norm, allowing for stable and precise geolocation by adapting to non-linear systems without requiring exact knowledge of noise statistics, and incorporating a neural network for enhanced calculation efficiency.
The method provides centimeter-level geolocation accuracy with reduced computational load, maintaining precision even in obstructed environments by learning model uncertainties and reducing estimation errors, outperforming conventional filters like the Kalman filter.
Smart Images

Figure 00000020_0000 
Figure 00000020_0001 
Figure 00000021_0000
Abstract
Description
Title of the invention: Method for determining the position of a device from a network of satellites in a predictive system Technical field
[0001] The present invention relates to the field of satellite positioning and more particularly concerns a geolocation method and device. Prior art
[0002] Over the years, positioning and navigation techniques have been revolutionized by Global Navigation Satellite Systems (GNSS). Today, satellite positioning and navigation are important tools for security, including maritime security, ballistic guidance systems or vehicle and personnel tracking. In particular, various phases of flight, vessel movement, en route, approach or landing are carried out by satellite positioning since Global Navigation Satellite Systems have global coverage and do not require ground-based navigation aids, which allows for optimal route planning, improved air and ocean space and reduced operational costs.
[0003] The main concern in applications using satellite positioning is reliability and continuity. Satellite positioning algorithms are now designed and evaluated using an important performance metric called integrity to prevent its malfunctions and ensure its reliability - a measure of trust placed in a system. This is achieved by issuing alerts when the use of the satellite positioning system is not safe.
[0004] In these global satellite navigation systems, satellites emit signals that allow receivers to calculate their position. These signals are obtained by phase modulation of a carrier with coded messages and are available on several frequencies. The receiver, for example present in a smartphone or a location system on board a vehicle, includes a low-cost chip that allows the reception of a single frequency and ensures positioning on the code measurements only, without including a correction measurement algorithm.
[0005] This positioning method makes it possible to obtain a control accuracy of the order of five meters in open areas. By including a measurement correction algorithm, for example based on a Kalman filter, it is possible to obtain an accuracy of the order of one meter. However, this accuracy is insufficient for certain applications which require centimeter accuracy such as, for example, autonomous and semi-autonomous vehicles, regardless of the environment (highway, urban, etc.) in which they operate.
[0006] Obtaining centimetric precision in geolocation proves complicated when the signal is disturbed, particularly in an urban environment with the presence of obstacles that can block or reflect the signals coming from the satellites. This precision, already obtained in an open environment thanks to the use of a merging filter, can be obtained in an urban area by combining the measurements obtained using satellite signals with data from several sensors and with a choice of appropriate filter associated with a dynamic model. However, such multi-sensor systems are complex and expensive.
[0007] In this context, it is essential to design the best possible filtering algorithm for GNSS positioning of the vehicle.
[0008] So far, the satellite positioning algorithm based on the extended Kalman filter is recognized as the most powerful and widely used tool for processing satellite signals to ensure reliable position estimation. The reason is that the Kalman filter is time-recursive and takes into account the contribution of all measurements optimally, processing only current measurements without the need to store all past data. Notably, for linear input-output systems, the Kalman filter is the best linear estimator in the sense of minimum mean square error (MMSE) provided that the process and measurement covariances are known exactly.
[0009] The difficulty of having accurate statistics is a significant and practically insurmountable obstacle to ensuring accurate vehicle positioning by the Kalman filter. There are many attempts to overcome this difficulty and most of them are based on online estimation of covariance matrices to improve the performance of the Kalman filter which is then called "adaptive" (AKF).
[0010] There is therefore a need for a solution to at least partially remedy these drawbacks. Statement of the invention
[0011] One of the aims of the invention is to propose a simple, efficient and precise geolocation solution. Another aim of the invention is to propose an alternative filter solution adapted to geolocation. Another aim of the invention is to propose a technical solution making it possible to improve the precision of geolocation compared to a solution using a Kalman filter, in particular in the presence of obstacles which make the processing non-linear. Another aim of the invention is to propose an early detection solution for the degradation of the quality of geolocation signals.
[0012] To this end, the invention firstly relates to a method for measuring the geographical position of a device from a network of satellites in a forecasting (i.e. predictive) system with a variable gain filter, said gain being represented by a vector of variable gain coefficients, said method, implemented by the device, comprising, for an iteration at an instant t+1, the steps of:
[0013] - reception of signals transmitted by a plurality of satellites of the satellite network,
[0014] - determination of the position and / or speed of the device at an instant (t+l) at from the received signals, called “observation at time (t+l)”,
[0015] - calculation of the best prediction of the state of the system at time (t+l) from a predetermined estimate of the state of the system at time t and of a representative model of the system between time t and time (t+l),
[0016] - calculation of the prediction of the observation at time (t+l) as being the product from a predetermined observation matrix and the best prediction of the state of the system at time (t+l) calculated,
[0017] - calculation of the filter innovation at time (t+l) as the difference between the observation at time (t+l) and the prediction of the observation at time (t+l),
[0018] - determination of the vector of coefficients of the gain at time (t+l) by minimization of the square of the filter innovation norm at time (t+l) calculated in the previous step,
[0019] - calculation of the gain at time (t+l) by making a correction by approximation stochastic by time averaging of the gain coefficients of the determined gain coefficient vector,
[0020] - calculation of the estimate of the state of the system at time (t+l) as being the sum of the best prediction of the state of the system at time (t+l) calculated and of the product of the gain at time (t+l) by the innovation of the filter at time (t+l) calculated,
[0021] - determination of the position of the device from the estimation of the state of the system at the calculated time (t+l).
[0022] The method according to the invention allows significant geolocation accuracy thanks to the use of a stable adaptive filter. The minimization of the expectation of the square of the innovation of the filter at time t+l calculated from the gain parameters corresponds to the minimization of the mathematical expectation of the square of the distance between the observation at time t and its calculated prediction, which makes the calculations simple and therefore requires less computing power than for a Kalman filter. The vector of gain coefficients is a vector of parameters to be defined at each step (control parameters) in the gain of the filter. Under a condition called ergodicity, the minimization of the mathematical expectation of the square of the norm of the innovation of the filter in probability space is equivalent to minimizing the time average of the square of the norm of the filter innovation. This allows the recurrence equation to be deduced to calculate the control parameters in the gain. Thus, advantageously, the original minimization problem can be replaced by time average minimization, which is not the case in a Kalman filter. The method according to the invention does not require specification of input statistics of random variables (in particular, model error, observation error, ...). The method according to the invention approaches the optimal regime as the filtering process progresses. In addition, averaging the gain over time allows smoothing that stabilizes the filter and therefore reduces the error.The Kalman filter is theoretically optimal only when the statistics of the measurement and model errors are known with exact precision and, moreover, the model is linear, which is rarely the case in practice. The method according to the invention is not constrained by this restriction, the use of AF thus allows very precise geolocation, particularly in the presence of obstacles around the device which cause loss of knowledge of the error statistics and would make the Kalman filtering nonlinear. In practice, the majority of dynamic and observation systems are nonlinear. The Kalman filter is optimal only for linear filtering problems. The Extended Kalman Filter (EKF), an extension of the KF for nonlinear systems, is not optimal.Due to the time-iterative minimization of the mathematical expectation of the square of the norm of the innovation, the method according to the invention does not require linearization for nonlinear systems, it maintains optimality of nonlinear filters. For large model and observation errors, large deviations between the introduced statistics and the actual statistics lead to a worse gain specification in the Kalman filter. Therefore, estimation errors or even divergences can become significant with a Kalman filter. The method according to the invention learns the model uncertainties and observation error statistics through filter innovation realizations and is able to keep the estimation errors at a low level, synonymous with robustness.The filter used in the method according to the invention is stable, in particular because it is not constrained by the solution of the Riccati equations for the error covariance matrices as is the case with a Kalman filter. The method according to the invention constitutes a method that is both simple and efficient for satellite positioning, under low conditions of knowledge of noise statistics. The method according to the invention allows in particular a more precise estimation in the context of satellite positioning, with a limited computational load and storage requirement.
[0023] Advantageously, a variant is to use, as observation vector, no longer the speeds and positions, but the list of pseudoranges associated with each satellite visible to the receiver, that is, for each of these satellites, the speed of light in a vacuum multiplied by the delay between transmission and reception.
[0024] Preferably, the method further comprises, at each iteration, a step of limiting the variable gain coefficients between a minimum and a maximum in order to improve the smoothing while being simpler than an obvious solution using a Hessian.
[0025] More preferably, the gain coefficients are bounded between a minimum value equal to a bounding variable e (small and positive) and a maximum value equal to (2 - e)-
[0026] In one embodiment, the calculations, in particular on the gain coefficients, are carried out by a neural network from a predetermined sample.
[0027] Advantageously, the representative model of the system is devoid of the “acceleration” parameter, which is considered as a forcing, that is to say that it is treated mathematically. This makes it possible to optimize the size of the model, therefore to reduce the number of treatments and therefore errors, thus increasing the accuracy of the predictions and therefore of the localization.
[0028] The invention also relates to a computer program product which is remarkable in that it comprises a set of program code instructions which, when executed by one or more processors, configure the processor(s) to implement a method as presented previously.
[0029] The invention also relates to a module for measuring the geographical position of a device from a network of satellites in a predictive system with variable gain filter, said gain being represented by a vector of variable parameters, said module, embedded in said device, being configured to:
[0030] - receiving signals transmitted by a plurality of satellites in the satellite network,
[0031] - determine the position and / or speed of the device at an instant (t+1) from the received signals, called “observation at time (t+1)”,
[0032] - calculate the best prediction of the state of the system at time (t+1) from of a predetermined estimate of the state of the system at time (t) and of a representative model of the system between time (t) and time (t+1),
[0033] - calculate the prediction of the observation at time (t+1) as the product of a predetermined observation matrix and the best prediction of the state of the system at time (t+1) calculated,
[0034] - calculate the filter innovation at time (t+1) as the difference between the observation at time (t+1) and the prediction of the observation at time (t+1),
[0035] - determine the vector of coefficients of the gain at time (t+1) by minimizing the square of the filter innovation norm at time (t+1) calculated,
[0036] - calculate the gain at time (t+1) by making an approximation correction stochastic by time averaging of the gain coefficients of the determined gain coefficient vector,
[0037] - calculate the estimate of the state of the system at time (t+1) as the sum of the best prediction of the state of the system at time (t+1) calculated and of the product of the gain (K) at time (t+1) by the innovation of the filter at time (t+1) calculated,
[0038] - determine the position of the device from the estimation of the state of the system at the calculated time (t+1).
[0039] Preferably, the measurement module is configured to limit the variable gain coefficients between a minimum and a maximum.
[0040] Preferably, the measurement module is configured to limit between a minimum equal to a limiting variable e and a maximum equal to a limiting variable (2 - e).
[0041] Advantageously, the measurement module comprises a neural network configured to carry out the calculations by being optimized from a predetermined sample.
[0042] Advantageously, the measurement module is configured to store and use a model, representative of the system, devoid of the “acceleration” parameter.
[0043] The invention also relates to a device, in particular a mobile device, comprising a measuring module as presented previously.
[0044] The invention also relates to a satellite geolocation system, said system comprising a plurality of satellites, each configured to emit geolocation signals, and at least one module as presented previously and / or at least one device as presented previously. Brief description of the drawings
[0045] Other characteristics and advantages of the invention will become apparent from reading the description which follows. This description is purely illustrative and must be read in conjunction with the appended drawings in which:
[0046] [Fig-1] [Fig.l] schematically illustrates an embodiment of the system according to the invention.
[0047] [Fig.2] [Fig.2] schematically illustrates an embodiment of the method according to the invention.
[0048] [Fig.3] [Fig.3] illustrates a first example of comparison between the Kalman filter and the method according to the invention with the same input data.
[0049] [Fig.4] [Fig.4] illustrates an example of error on the trajectory of a vehicle with a Kalman filter (prior art).
[0050] [Fig.5] [Fig.5] illustrates an example of error on the trajectory of a vehicle with the method according to the invention.
[0051] [Fig.6] [Fig.6] illustrates an example of mean absolute error over time for a vehicle trajectory with a Kalman filter of the prior art and with the method according to the invention.
[0052] [Fig.7] [Fig.7] illustrates an example of absolute error along the X axis for the trajectory of [Fig.6] with a Kalman filter of the prior art and with the method according to the invention.
[0053] [Fig.8] [Fig.8] illustrates an example of absolute error along the Y axis for the trajectory of [Fig.6] with a Kalman filter of the prior art and with the method according to the invention.
[0054] [Fig.9] [Fig.9] illustrates an example of absolute error along the Z axis for the trajectory of [Fig.6] with a Kalman filter of the prior art and with the method according to the invention. Description of the embodiments
[0055] [Fig.l] shows an example of a satellite geolocation system 1.
[0056] The system 1 comprises a constellation of satellites S1, S2, S3, S4 and a device 10 according to the invention. In [Fig.l], only four satellites SI, S2, S3, S4 have been shown for the sake of clarity, but it goes without saying that the system 1 can comprise more than four satellites SI, S2, S3, S4, in particular dozens of satellites to be able to geolocate a device 10 in most regions of the globe, or even in all regions of the globe.
[0057] Each satellite S1, S2, S3, S4 is configured to transmit geolocation signals S10, S20, S30, S40.
[0058] The device 10, for example a smartphone or a vehicle, comprises a measurement module 100 configured to measure the position of said device 10 from the signals S10, S20, S30, S40 transmitted by the satellites S1, S2, S3, S4.
[0059] The measurement module 100, embedded in the device 10, is configured to receive signals S10, S20, S30, S40 transmitted by a plurality of satellites SI, S2, S3, S4 of the set of satellites SI, S2, S3, S4.
[0060] The measurement module 100 is configured to determine the position and / or the speed of the device 10 at a time (t+1) from the signals S10, S20, S30, S40 received, called “observation at time (t+1)”. The position and / or the speed can be measured directly or from other prior measurements, such as for example “pseudoranges”, known per se.
[0061] The measurement module 100 is configured to determine the position p(t+l) and / or the speed v(t+l) of the device 10 at time (t+1) using measurements and a predictive model based on a specific filter. The predictive model makes it possible to determine the state of the system by successive iterations.
[0062] For this purpose, the measurement module 100 is configured to determine an estimate
[0063] [Math.l] x(t+l) of the state of the system at time t+1 from the estimate
[0064] [Math.2] î(t) carried out at the previous iteration at time t, of a gain K of the filter at time t, of a model <e>representative of the system between time t and time t+1 and of the innovation
[0065] [Math.3] C(t+1) of the filter at time t+1. The gain K is parameterized by a vector of gain coefficients 01, 02, ..., 0n variables. A possible gain structure, used in the present implementation, is given by equations [Math 36] and following below.
[0066] The functions of the measurement module 100 allowing this predictive model to be implemented will now be described for an iteration carried out at a time t+1.
[0067] The measurement module 100 is configured to calculate the best prediction of the state of the system at time t+1, noted
[0068] [Math.4] x(t+ l|t) , from a predetermined estimate of the state of the system at time t, noted
[0069] [Math.5] , and a model <e>of representative parameters of the system.
[0070] The measurement module 100 is configured to calculate the prediction of the observation at time t+1, noted
[0071] [Math.6] z( t + l|t ) , as the product of a predetermined observation matrix H and the best prediction
[0072] [Math.7] x(t+ l|ü) of the state of the system at time t+1 calculated.
[0073] Alternatively, H and <e>could be nonlinear operators rather than matrices.
[0074] The measurement module 100 is configured to calculate the prediction error of the filter, called “innovation”, noted
[0075] [Math.8] at+i), at time t+1 as being the difference between the observation
[0076] [Math.9] z(t+ 1) at time t+1 and the prediction
[0077] [Math. 10] z( t+ l|t) of the observation at time t+1.
[0078] The measurement module 100 is configured to calculate the estimate of the state of the system at time t+1 as being the sum of the best prediction
[0079] [Math. 11] X(t+l]t) of the state of the system at time t+1 calculated and of the product of the gain K at time (t+1) by the innovation of the filter
[0080] [Math. 12] dt+D at time t+1 calculated.
[0081] The measurement module 100 is configured to determine the vector of coefficients of the gain 01, 02, ... 0n at time (t+1) by minimizing the square of the norm of the innovation of the filter at time (t+1). For this purpose, the measurement module 100 can be configured to calculate the gradient of the square of the innovation of the filter
[0082] [Math. 13] ca+D at time t+1 from the gain coefficients 01, 02, ... 0n variables of the gain K.
[0083] The measurement module 100 is configured to calculate the gain K at time (t+1), preferably by making a correction by stochastic approximation by time averaging of the gain coefficients 01, 02, ... 0n of the vector of coefficients of the determined gain in order to improve the accuracy of the localization. In the present example, the stochastic approximation by time averaging comprises the determination of a vector of the gain coefficients 0(t+l) at time (t+1) by minimizing the square of the norm of the innovation of the filter at time (t+1) as described above and its updating by replacing it with the average of the vectors of gain coefficients updated at the previous iterations 0(1), 0(2), ... 0(t).
[0084] In the case where the model <e>is linear, this amounts to calculating the gain K(t+1) at time (t+1) for the following iteration by stochastic approximation by time averaging of the gains K(l), ..., K(t) between time 1 and time t.
[0085] The measurement module 100 is configured to limit at each iteration the gain coefficients 01, 02, ... 0n variables between a minimum and a maximum. Preferably, the minimum is equal to a limiting variable e and the maximum is equal to (2 - e).
[0086] The model <e>is a matrix that describes the transition of the system state from time t to time (t+1). Preferably, the model <e>is used to calculate the position and / or velocity, preferably both position and velocity, in the state vector x(t+l) but is devoid of an acceleration parameter, which increases the accuracy of the predictions and therefore of the localization. The acceleration present in the model is calculated using the estimated velocity. It is possible to add other parameters (associated or not with additional sensors). If the model is non-linear, this matrix is obtained by linearization. It can be calculated once at the first iteration and then kept for subsequent iterations.
[0087] The measurement module 100 is configured to determine the estimate of the state of the system at time (t+1), noted
[0088] [Math. 14] x(t+1) , as the sum of the best prediction
[0089] [Math. 15] £(t+i|e) of the state of the system at time t+1 and the product of the gain K at time t+1 by the innovation
[0090] [Math. 16] C(t+1) of the filter at time t+1:
[0091] [Math.17] x( t+ l)=x(t+l|t) +K(0( t + l))C( t+1)
[0092] The measurement module 100 is configured to determine the position of the device 10 at time (t+1) from the estimation of the state of the system at time (t+1), noted
[0093] [Math. 18] î(t+ 1)
[0094] The state of the system x(t+l) is a column vector comprising the position coordinates of the device 10 at time (t+1) and the speed coordinates of the device 10 at time (t+1):
[0095] [Math. 19] 'p(t+ 1) ■ . v(t+l) .
[0096] The measurement module 100 is configured to determine the estimate of the position coordinates at time (t+1) by projection of the estimate of the state of the system
[0097] [Math.20] x(t + 1) at time (t+1).
[0098] In this case, the evolution of the position of the device 10 can be described according to the following equation:
[0099] [Math.21] p(t+l) = p(t) + dt.v(t) +
[0100] Similarly, the evolution of the speed of the device 10 can be described according to the following equation:
[0101] [Math.22] v(t+l) = v(t) +a(t).dt+w'(t)
[0102] So there exists a matrix such that x(t+l) = ¢. x(t) + A(t) + W(t), where the noise W(t) is the column vector (w(t), w'(t)), and where A(t) is a function that depends only on the acceleration. This matrix is the model involved in the algorithm and is preferably defined only once before or during the first iteration.
[0103] The measurement module 100 comprises at least one processor capable of implementing a set of instructions making it possible to carry out these functions.
[0104] Example of implementation
[0105] An example of implementation of the method for measuring the position of the device 10 will now be described with reference in particular to [Fig.2].
[0106] The method is considered to have been previously implemented for t iterations between a time 1 and a time (t). The steps of the method are described below for time (t+1).
[0107] In a step E1, the device receives the signals S10, S20, S30, S40 transmitted by the satellites S1, S2, S3, S4 then the measurement module 100 determines, in a step E2 the position and the speed of the device at the instant (t+1) from the signals received, called “observation at the instant (t+1)” noted
[0108] [Math.23] z(t+ 1) in a manner known per se.
[0109] The measurement module 100 then calculates, in a step E3, the best prediction of the state of the system at time (t+1), noted
[0110] [Math.24] x(t+l|t) , from a predetermined estimate of the state of the system at time (t) (determined at the previous iteration t), denoted [YES] [Math.25] Mt)
[0112] and a representative model of the system between time (t) and time (t+1), noted <e>:
[0113] [Math.26] x(t+l|t) = &x(t) +Ba(t)
[0114] where
[0115] [Math.27] â(t) is the estimate of the acceleration and B is the matrix of coefficients resulting from the development limited to order 2 of the positions and order 1 of the speeds.
[0116] The measurement module 100 then calculates, in a step E4, the prediction
[0117] [Math.28] z( t + l|t ) of the observation at time t+1 as the product of a predetermined observation matrix H and the best prediction
[0118] [Math.29] x(t+ l|t) of the state of the system at time t+1 calculated in step E3:
[0119] [Math.30] z(f+l|f) =
[0120] The measurement module 100 then calculates, in a step E5, the innovation of the filter at time t+1, noted
[0121] [Math.31] at+D as the difference between the observation at time t+1, noted
[0122] [Math.32] z(t+ 1) calculated in step E2, and the prediction
[0123] [Math.33] Z( t + l|t) from the observation at time t+1 calculated in step E4:
[0124] [Math.34] Ç(t+1)= z(t+1)-z(t + l|t)
[0125] At the current iteration (t+1), the device then calculates, in a step E6, the coefficients
[0126] [Math.35] e(t+i)=[ei, 02, ... en] of the gain K at time t+1.
[0127] To this end, the measurement module 100 minimizes the expectation of the square of the norm of the innovation
[0128] [Math.36] ca+n of the filter at time t+1 from the equation:
[0129] [Math.37] 0^)=221221(^0+1,9)11 2 ) OR
[0130] [Math.38] = z(t)-H0[x(M 11- 2)+1, 1)))]
[0131] This equation can for example be solved numerically using the known SPSA (Simultaneous Perturbation Stochastic Approximation) method, this known method requiring the calculation of the gradient of the squared norm of the innovation at time (t+1) to determine the minimum.
[0132] Solving this equation allows us to determine the vector 0(t+1) = (01, 02, ... 0n) which minimizes the expectation of the square of the innovation norm at time (t+1).
[0133] The measurement module 100 then calculates, in a step E7, the gain K(0(t+1)) at time t+1 preferably from the vector 0 calculated in step E6 according to the following formula:
[0134] [Math.39] K=e(t+i)x0
[0135] where
[0136] [Math.40] 0(t+l) = diag[01, 02, 0n]
[0137] [Math.41] K o = MH T [HMH T + T?] 4
[0138] Where
[0139] [Math.42] M = +Q
[0140] Po may be the initial covariance matrix used in a known manner in a prior art Kalman filter,
[0141] Q is an arbitrary positive semi-definite symmetric matrix, but preferably chosen close to the covariance matrix of the model noise, i.e. the noise W(t) in the equation x(t+l) = <e>.x(t) + W(t) described above.
[0142] The device then calculates, in a step E8, the estimate of the state of the system at time (t+1), noted
[0143] [Math.43] î(ü+ 1) , as the sum of the best prediction
[0144] [Math.44] x(t+ l|t) of the state of the system at time t+1 calculated in step E3, and of the product of the gain K at time t+1 (calculated in step E7) by the innovation
[0145] [Math.45] <(t+l) of the filter at time t+1 (calculated in step E5:
[0146] [Math.46] x(t+l) =x(f+l|f)+K(0(f+l))C(t+l)
[0147] This estimate
[0148] [Math.47] x(t+l) of the state of the system at time t+1 will then be used during step E3 of the next iteration at time t+2.
[0149] The position p(t+l) of the device 10 is determined at time (t+1) in a step E9.
[0150] The state of the system x(t+l) is a column vector comprising the position coordinates of the device 10 at time (t+1) and the velocity coordinates of the device 10 at time (t+1):
[0151] [Math.48] 'p(t+ 1) ■ . v(t+l) .
[0152] The estimation of the position coordinates at time (t+1) is obtained by projection of the estimation of the state of the system
[0153] [Math.49] x(t+ 1) at time (t+1).
[0154] Thus, the evolution of the position of the device 10 is described according to the following equation:
[0155] [Math.50] p(t +1) = p(t) + dt.v(t) +
[0156] Similarly, the evolution of the speed of the device 10 is described according to the following equation:
[0157] [Math.51] v(t+l) = v(t) + a(t).dt + w(t)
[0158] So there exists a matrix such that x(t+l) = ¢. x(t) + A(t) + W(t), where the noise W(t) is the column vector (w(t), w'(t)), and where A(t) is a function that depends only on the acceleration. This matrix is the previously described model involved in the algorithm and is preferably defined only once before or during the first iteration.
[0159] In one embodiment, the calculations, in particular on the gain coefficients, can be carried out by a neural network from a predetermined sample. In this case, the parameters of the cost function to be minimized are the weights W of the neural network which minimizes the difference between the training data and the outputs of said neural network.
[0160] This arrangement can be seen as a generalization of the device previously described. In its simplest version, a single hidden layer of neuron is sufficient, with linear activation functions. Advantageously, it is not the gain matrix K that is replaced by a neural network, but the matrix Ko (defined in 0170). The filter structure is then:
[0161] [Math.52] + 1) = x(t + 11t) + 6• NN(Ç(t+ 1))
[0162] where 0 is the parameter matrix defined previously, chosen as before to minimize innovation, and NN the neural network.
[0163] Examples of simulations
[0164] [Fig. 3] shows an example of comparison of the quadratic error between the actual trajectory and the estimated trajectory (i.e. the squared norm of the difference between the actual and estimated trajectories at each instant) with a method of the prior art based on a Kalman filter (top curve AA, labeled “Error NN TKF”) and with the method according to the invention (bottom curve INV, labeled “Error NN TAF”) for a mobile device 10 passing under a bridge between two instants t1 and t2.
[0165] The abscissa axis represents the number of iterations of the process. The ordinate axis represents the quadratic error (in meters), i.e. the square of the difference between the estimated trajectory and the reference trajectory.
[0166] It is noted that the prior art method based on a Kalman filter generates an error reaching more than five meters while the method according to the invention generates an error not exceeding 0.3 meters.
[0167] [Fig.4] illustrates an example showing the error obtained on a given trajectory with a prior art Kalman filter.
[0168] The abscissa axis represents a distance (in meters) along a first direction. The ordinate axis represents a distance (in meters) along a second direction. The black line represents the real trajectory REAL followed by the mobile device 10 (set of real positions). The light line represents the positions measured in the absence of MEAS filtering. The intermediate gray line represents the positions measured with prior art Kalman filtering AA.
[0169] [Fig.5] illustrates an example showing the error obtained on the same given trajectory with a filter according to the invention.
[0170] The abscissa axis represents a distance (in meters) in a first direction. The ordinate axis represents a distance (in meters) in a second direction. The black line represents the real trajectory REAL followed by the mobile device 10 (set of real positions). The light line represents the positions measured in the absence of MEAS filtering. The intermediate gray line represents the positions measured with filtering according to the invention INV.
[0171] It is noted that the positions determined with the filter according to the invention are significantly closer to the real trajectory than those determined with a Kalman filter of the prior art.
[0172] Figures 6 to 9 illustrate another comparison between a Kalman filter of the prior art and a method according to the invention for a trajectory of a vehicle-type mobile. It can be seen that the absolute error along the three dimensional axes X, Y and Z is always on average lower with the method according to the invention compared to a solution based on a Kalman filter and that the average absolute error is approximately 50% lower on average with the method according to the invention compared to a solution based on a Kalman filter, which is particularly advantageous. < / e> < / e> < / e> < / e> < / e> < / e> < / e> < / e>
Claims
1. Claims Method for measuring the geographical position of a device (10) from a network of satellites (SI, S2, S3, S4) in a predictive system with variable gain filter (K), said gain (K) being represented by a vector of variable gain coefficients, said method, implemented by the device (10), comprising at each iteration following a time t the steps of: - reception (El) of signals (S 10, S20, S30, S40) transmitted by a plurality of satellites (SI, S2, S3, S4) of the satellite network (SI, S2, S3, S4), - determination (E2) of the position and / or speed of the device (10) at a time (t+1) from the signals (S10, S20, S30, S40) received, called “observation at time (t+1)”, - calculation (E3) of the best prediction of the state of the system at time (t+1) from a predetermined estimate at the previous iteration of the state of the system at time (t) and from a representative model of the system between time (t) and time (t+1), - calculation (E4) of the prediction of the observation at time (t+1) as being the product of a predetermined observation matrix and the best prediction of the state of the system at time (t+1) calculated, - calculation (E5) of the innovation of the filter at time (t+1) as being the difference between the observation at time (t+1) and the prediction of the observation at time (t+1), - determination (E6) of the vector of gain coefficients at time (t +1) by minimizing the square of the norm of the filter innovation at time (t+1) calculated in the previous step, - calculation (E7) of the gain at time (t+1) by making a correction by stochastic approximation by time averaging of the gain coefficients of the vector of coefficients of the determined gain, - calculation (E8) of the estimate of the state of the system at time (t +1) as being the sum of the best prediction of the state of the system at time (t+1) calculated and the product of the gain (K) at time (t+1) by the innovation of the filter at time (t+1) calculated, - determination (E9) of the position of the device (10) from the estimate of the state of the system at the instant (t+1) calculated.
2. The method of claim 1, further comprising, at each iteration, a step of limiting the variable gain coefficients between a minimum and a maximum.
3. Method according to the preceding claim, in which the minimum is equal to a bounding variable e and the maximum is equal to (2 - e).
4. Method according to any one of the preceding claims, in which the calculations are carried out by a neural network from a predetermined sample.
5. Method according to any one of the preceding claims, in which the model describing the transition from the state of the system at time t to the state at time (t+1), is devoid of acceleration.
6. A computer program product characterized in that it comprises a set of program code instructions which, when executed by one or more processors, configure the processor(s) to implement a method according to any one of the preceding claims.
7. Module (100) for measuring the geographical position of a device (10) from a network of satellites in a predictive system with a variable gain filter K, said gain K being represented by a vector of variable parameters, said measurement module (100), embedded in said device (100), being configured to: - receive signals transmitted by a plurality of satellites of the satellite network, - determine the position and / or speed of the device at a time (t +1) from the received signals, called "observation at time (t +1)", - calculate the best prediction of the state of the system at time (t +1) from a predetermined estimate of the state of the system at time (t) and a representative model of the system between time (t) and time (t +1),- calculate the prediction of the observation at time (t+1) as the product of a predetermined observation matrix and the best prediction of the state of the system at time (t+1) calculated, - calculate the innovation of the filter at time (t+1) as the difference between the observation at time (t+1) and the prediction of the observation at time (t+1), - determining the vector of gain coefficients at time (t+1) by minimizing the square of the norm of the filter innovation at time (t+D, - calculating the gain at time (t+1) by making a correction by stochastic approximation by time averaging of the gain coefficients of the vector of coefficients of the determined gain, - calculating the estimate of the state of the system at time (t+1) as being the sum of the best prediction of the state of the system at time (t+1) calculated and the product of the gain (K) at time (t+1) by the innovation of the filter at time (t+1) calculated, - determining the position of the device (10) from the estimate of the state of the system at time (t+1) calculated.
8. Measurement module (100) according to the preceding claim, said module being configured to limit the variable gain coefficients between a minimum and a maximum.
9. Device (10), in particular mobile, comprising a measuring module (100) according to any one of claims 7 or 8.
10. Satellite geolocation system (1), said system (1) comprising a plurality of satellites, each configured to emit geolocation signals, and at least one measurement module (100) according to any one of claims 7 or 8 and / or at least one device (10) according to claim 9.