SATELLITE GEOPOSITIONING METHOD AND ASSOCIATED TERMINAL
20170276799 · 2017-09-28
Inventors
- Nicolas Martin (Bourg les Valence, FR)
- Denis Bouvet (Valence, FR)
- Hervé Guichon (Guilherand-Granges, FR)
Cpc classification
G01S19/32
PHYSICS
International classification
Abstract
The invention concerns a satellite geopositioning method on the basis of satellites each transmitting dual-frequency signals. The method comprises, for each satellite, a step of computation of four pseudo-distances on the basis of the two codes and the two carriers of the received dual-frequency geopositioning signals, a step of correction of the ionospheric delays over each computed pseudo-distance by applying an ionospheric error propagation model, a step of carrier code smoothing using a Kalman filter in order to provide a pseudo-distance measurement without measurement noise and to correct the residual ionospheric error.
The position is estimated by using the corrected pseudo-distances computed for each satellite.
Claims
1. A satellite geopositioning method implemented by a geopositioning terminal on the basis of at least four satellites each transmitting electromagnetic geopositioning signals, known as dual-frequency signals, at two different frequencies, each of the signals being formed by a carrier frequency modulated by a spreading code, the terminal comprising at least one reception module configured to receive the electromagnetic signals originating from each satellite at two different frequencies and at least one computation module configured to process the signals, the method comprising, for each geopositioning satellite: using the computation module to: compute, in a rated regime, four pseudo-distances on the basis of the two codes and the two carriers of the received dual-frequency geopositioning signals received by the terminal reception module; compute a correction of the ionospheric delays over each computed pseudo-distance by applying an ionospheric error propagation model; perform a carrier code smoothing using a Kalman filter whose measurement vector comprises the four corrected pseudo-distances in order to provide a single pseudo-distance measurement without measurement noise and to correct the residual ionospheric error; and determine an estimated position of the geopositioning terminal by using the corrected pseudo-distances computed for each satellite.
2. The method of claim 1, further comprising determining a correction of tropospheric delays.
3. The method of claim 1, further comprising generating a correction of system errors.
4. The method of claim 1, further comprising calculating a compensation for an interfrequency bias between the dual-frequency signals, prior to the carrier code smoothing.
5. The method of claim 1 wherein the Kalman filter is configured to propagate a state vector comprising the value of the pseudo-distance without measurement noise, the value of the ionospheric error at a frequency after correction by the ionospheric error propagation model and the values of float ambiguities of carrier phase measurements at each of the two frequencies.
6. The method of claim 1 wherein the Kalman filter is configured to propagate a state vector moreover comprising the value of an interfrequency bias between the dual-frequency signals.
7. The method of claim 1 wherein the ionospheric error propagation model is a Klobuchar model.
8. The method of claim 1 wherein the ionospheric error propagation model is a Nequick model.
9. The method of claim 1, further comprising storage of the ionospheric error.
10. A geopositioning terminal, comprising: at least one reception module configured to receive electromagnetic geopositioning signals, known as dual-frequency signals, transmitted by at least four satellites at two different frequencies, each of the signals being formed by a carrier frequency modulated by a spreading code; and at least one computation module configured to process the geopositioning signals: computing, in a rated regime, four pseudo-distances on the basis of the two codes and the two carriers of the received dual-frequency geopositioning signals received by the terminal reception module; computing a correction of the ionospheric delays over each computed pseudo-distance by applying an ionospheric error propagation model; performing a carrier code smoothing using a Kalman filter whose measurement vector comprises the four corrected pseudo-distances in order to provide a single pseudo-distance measurement without measurement noise and to correct the residual ionospheric error; and determining an estimated position of the geopositioning terminal by using the corrected pseudo-distances computed for each satellite.
11. The method of claim 4 wherein the Kalman filter is configured to propagate a state vector comprising the value of the pseudo-distance without measurement noise, the value of the ionospheric error at a frequency after correction by the ionospheric error propagation model and the values of float ambiguities-of carrier phase measurements at each of the two frequencies.
12. The method of claim 11 wherein the Kalman filter is configured to propagate a state vector moreover comprising the value of an interfrequency bias between the dual-frequency signals.
13. The method of claim 4 wherein the Kalman filter is configured to propagate a state vector moreover comprising the value of an interfrequency bias between the dual-frequency signals.
14. The method of claim 2 wherein the Kalman filter is configured to propagate a state vector comprising the value of the pseudo-distance without measurement noise, the value of the ionospheric error at a frequency after correction by the ionospheric error propagation model and the values of float ambiguities of carrier phase measurements at each of the two frequencies.
15. The geopositioning terminal of claim 10 wherein the computation module is further configured to determine a correction of tropospheric delays.
16. The geopositioning terminal of claim 10 wherein the computation module is further configured to generate a correction of system errors.
17. The geopositioning terminal of claim 10 wherein the computation module is further configured to calculate a compensation for an interfrequency bias between the dual-frequency signals, prior to the carrier code smoothing.
18. The geopositioning terminal of claim 10 wherein the Kalman filter is configured to propagate a state vector comprising the value of the pseudo-distance without measurement noise, the value of the ionospheric error at a frequency after correction by the ionospheric error propagation model and the values of float ambiguities of carrier phase measurements at each of the two frequencies.
19. The geopositioning terminal of claim 18 wherein the Kalman filter is configured to propagate a state vector moreover comprising the value of an interfrequency bias between the dual-frequency signals.
20. The geopositioning terminal of claim 10 wherein the Kalman filter is configured to propagate a state vector moreover comprising the value of an interfrequency bias between the dual-frequency signals.
Description
[0030] Other distinctive features and advantages of the present invention will become more clearly apparent on reading the description below, which is provided by way of illustration and without implying limitation, and written with reference to the appended drawings, in which:
[0031]
[0032]
[0033] It will subsequently be assumed that each geopositioning satellite transmits electromagnetic geopositioning signals at two different frequencies. Reference will be made to dual-frequency signals, and these two frequencies will be denoted Fa and Fb.
[0034] It will also be assumed that there is never disengagement of the two carriers at the same time, (or during a very short period of time), and that the geopositioning terminal receives at least one of the two geopositioning signals.
[0035]
[0036] This method is implemented by a geopositioning receiver or terminal on the basis of electromagnetic geopositioning signals transmitted by at least four geopositioning satellites. As set out above, each of these dual-frequency signals is formed by a carrier frequency modulated by a spreading code.
[0037] The method comprises, for each visible satellite, a first step Etp1 of measuring pseudo-distances. For this, the geopositioning terminal comprises at least one reception module configured to receive these electromagnetic signals originating from each satellite at two different frequencies.
[0038] In a known manner, this reception module can comprise at least one antenna, an analogue circuit performing amplifications and changes of frequency, an analogue-to-digital converter and at least N digital processing channels. Each channel being assigned to a satellite, the integer N will be chosen to be greater than the number of satellites from which it is desirable to receive geopositioning signals.
[0039] Each digital channel receives a digitized signal containing all of the satellite signals, which it subjects to a double control loop allowing firstly phase synchronization of a carrier generated locally using the carrier from the satellite under consideration and secondly synchronization of a pseudo-random code generated locally using an identical code that is present in the satellite signal and specific to this satellite.
[0040] The two control loops can each comprise two oscillators, the content of which represents, for the first oscillator, the instantaneous phase of the local pseudo-random code (aligned with the code that is present in the signal), which constitutes the measurement of the instantaneous phase of the received code, and, for the second oscillator, the instantaneous phase of the local carrier (aligned with the phase of the carrier that is present in the signal received from the satellite, except for the phase shift introduced by the circuits of the receiver), which constitutes the measurement of the instantaneous phase of the received carrier.
[0041] The measurement of the instantaneous phase of the code in each channel is used to compute a first digital datum called code pseudo-distance PD.sub.code representing a first measurement of the pseudo-distance between the receiver and the satellite under consideration. This measurement is unambiguous but fairly noisy.
[0042] The measurement of the instantaneous phase of the carrier in the channel under consideration is used to compute a second digital datum, called carrier pseudo-distance PD.sub.carrier, representing a second measurement of the pseudo-distance between the receiver and the satellite under consideration. This measurement is less noisy but ambiguous.
[0043] As the signals are dual frequency, in a rated regime, two code pseudo-distances and two carrier pseudo-distances can be computed for each satellite visible to the receiver. There are therefore, in each digital channel, four independent measurements (PD.sub.code a, PD.sub.code b, PD.sub.carrier a, PD.sub.carrier b) of one and the same pseudo-distance separating the receiver from each satellite visible to the latter. For each satellite, the two types of pseudo-distance measurements (PD.sub.code and PD.sub.carrier) are obtained in the form of signal propagation times between the satellite under consideration and the receiver along the axis (satellite axis) connecting the satellite under consideration and the receiver.
[0044] At the instant n, the pseudo-distances PD.sub.code a(n) , PD.sub.code b(n) and PD.sub.carrier a(n) , PD.sub.carrier b(n), respectively measured on the code and the carrier at the frequency Fa and the frequency Fb, are given by the formulae:
PD.sub.code a(n)=(T.sub.reception(n)−T.sub.sat a(n))
PD.sub.code b(n)=(T.sub.reception(n)−T.sub.sat b(n))
PD.sub.carrier a(n)=(T.sub.reception(n)−φ.sub.carrier a(n)/Fa)
PD.sub.carrier b(n)=(T.sub.reception(n)−φ.sub.carrier b(n)/Fb)
in which: [0045] T.sub.reception(n) represents the date, at the instant n at which the measurement is taken, provided by the clock of the receiver, [0046] T.sub.sat a(n) represents the date of transmission, by the satellite, of the signal received at the instant n by the receiver, provided by the local code phase, [0047] φ.sub.carrier a(n) represents the phase of the local carrier, returned as a carrier frequency (cycles).
[0048] For each satellite visible to the geopositioning receiver, the geopositioning method comprises a step Etp2 of correction of the ionospheric delays over each pseudo-distance computed by applying an ionospheric error propagation model. To this end, the terminal also comprises at least one computation module configured to process the received signals.
[0049] The ionospheric error propagation model may be a Kobuchar model, a Nequick model or any other equivalent model known to a person skilled in the art.
[0050] The ionospheric error propagation model provides an estimate of the ionospheric error in the measurement of code pseudo-distance for a frequency, for example the frequency Fa, on the basis of the position on Earth and the time of day. This ionoshperic error represents the group delay caused in the propagation of the signal when crossing the ionosphere. This delay is proportional to the total electronic content of the atmospheric column crossed by the signal and inversely proportional to the square of the carrier frequency. The delay is found in the code measurement. The effect on the carrier is a phase lead for the same absolute value.
If the ionospheric error at the frequency Fa is considered:
[0051] in the carrier measurement Fa, then there is a phase lead of −B.sub.iono,
[0052] in the carrier measurement Fb, then there is a phase lead of −γ.Math.B.sub.iono,
[0053] in the code measurement Fa, then there is a delay of B.sub.iono=α. CET/Fa.sup.2 and
[0054] in the code measurement Fb, then there is a delay of γ.Math.B.sub.iono=α. CET/Fb.sup.2
[0055] where γ=Fa.sup.2/Fb.sup.2
[0056] Therefore, to correct the carrier code and phase measurements, the following corrections are applied: [0057] In PD.sub.code a (n) : −B.sub.iono model [0058] In PD.sub.carrier a (n) : +B.sub.iono model [0059] In PD.sub.code b (n) : −y B.sub.iono model
[0060] In PD.sub.carrier b (n) : +y B.sub.iono model
[0061] Of course, similar reasoning can be applied by considering a model providing an estimate of the ionospheric error at the frequency Fb.
[0062] In order to process the signals transmitted by the geopositioning satellites at the two frequencies Fa and Fb, the reception module comprises two distinct analogue pathways. When this reception module receives two signals of different frequencies, the propagation times in each of the analogue pathways of a module may be different. This has the effect of introducing group delay differences between the two frequencies Fa and Fb, called RF biases.
[0063] When the measurements are homogenous, that is to say all single frequency at the same frequency or all dual frequency, the RF biases, which are common to all satellites, have no effect on the resolute position. By contrast, when mixing single frequency measurements at different frequencies or single-frequency and dual-frequency measurements, distortions are introduced between the satellite measurements, therefore an error in the resolute position. This scenario can arise, for example, when one of the two dual-frequency signals is not received by the geopositioning terminal, for example following ionospheric scintillation problems.
[0064] In order to avoid this, for each visible satellite, the method can comprise a step Etp3 of compensating for an interfrequency bias between the dual-frequency signals.
[0065] In the course of this step, the computation module identifies the RF bias gap between the two frequencies in the dual-frequency signal measurements and corrects this gap on all satellites by compensating for the gap between the two frequencies only in the code measurements and only at one of the two frequencies. Identification of the RF bias and correction thereof can be implemented by using the techniques known to a person skilled in the art, particularly the technique developed in the patent application FR 2 943 868. The RF bias gap can be estimated by averaging all dual-frequency-signal measurements available from the beginning (average over time and over the satellites) and by regarding the RF biases to be constant over time.
[0066] The dual-frequency code measurements of each satellite are then smoothed using the dual-frequency carrier measurements in the course of a step Etp4 of smoothing the compensated pseudo-distances using a Kalman filter. In the course of this step, the Kalman filter simultaneously performs carrier code smoothing and correction of the residual ionospheric error.
[0067] With reference to
[0068] Kalman filtering uses a state model, established on the basis of the knowledge (proven or assumed) of the behaviour of the unknown physical quantities to be determined and of the measurements available.
[0069] This state model consists of: [0070] a state vector X.sub.n representing the physical quantities modelled at the instant t.sub.n, having a number of components N.sub.state. [0071] a propagation model, in the form:
X.sub.n+1=F.sub.n.Math.X.sub.n+V.sub.n [0072] in which: [0073] X.sub.n+1 is the state vector at the instant t.sub.n+1, of [0074] F.sub.n is the propagation matrix over the interval [t.sub.n, t.sub.n+1], of dimension N.sub.state×N.sub.state (in which the operator “x” represents the multiplication sign). [0075] V.sub.n is the white, Gaussian propagation noise vector over the interval [t.sub.n, t.sub.n+1], of zero mean and covariance matrix Q.sub.n=E[V.sub.n.sup.T. [0076] V.sub.n] (where V.sub.n.sup.T is the vector transpose of Vn) and of dimension N.sub.state. [0077] an observation model, in the form:
Z.sub.n=H.sub.n.Math.X.sub.nW.sub.n [0078] in which: [0079] Z.sub.n+1 is the observation vector at the instant t.sub.n, of dimension N.sub.obs [0080] H.sub.n is the observation matrix at the instant t.sub.n, of dimension N.sub.obs×N.sub.state; [0081] W.sub.n is the white, Gaussian measurement noise vector at the instant t.sub.n, of zero mean and covariance matrix R.sub.n=E[W.sub.n.sup.T.Math.W.sub.n](where W.sub.n.sup.T is the vector transpose of Wn) and of dimension N.sub.obs.
[0082] In this state model, the value of the state vector X.sub.n is a priori unknown. It is not directly accessible by measurement, unlike the observation vector Z.sub.n, but only by way of the observation model.
[0083] The Kalman filter estimates the state vector using a propagation computation, on the basis of the propagation model, and using a readjustment computation, on the basis of the observations and the observation model.
[0084] To this end, the filter uses two variables:
[0085] the estimated state vector, denoted X.sub.n/n after readjustment at the instant t.sub.n, denoted X.sub.n+1/n+1 after propagation between the instants t.sub.n and t.sub.n+1, and denoted X.sub.n+1/n+1 after readjustment at the instant t.sub.n+1, of dimension N.sub.state.
[0086] the covariance matrix of the estimated state, denoted P.sub.n/n after readjustment at the instant t.sub.n, denoted P .sub.n+1/n after propagation between the instants t.sub.n and t.sub.n+1, and denoted P.sub.n+1/n+1 after readjustment at the instant t.sub.n+1, of dimension N.sub.state×N.sub.state.
[0087] To perform the propagation computation, the filter uses the formulae: [0088] for the estimated state vector:
X.sub.n+1/n=F.sub.n.Math.X.sub.n/n
[0089] The propagation matrix F.sub.n is used to establish a linear relationship between the state vectors before propagation and after propagation. [0090] for the covariance matrix:
P.sub.n+1/n=F.sub.n.Math.P.sub.n/n.Math.F.sub.n.sup.T+Q.sub.n [0091] (in which F.sub.n.sup.T represents the matrix transpose of F.sub.n).
[0092] In this formula, the coefficients of the covariance matrix P.sub.n represent the variance of each of the components of the estimated state vector (diagonal terms) and the covariance of the various pairs of components of this vector (nondiagonal terms). This matrix P.sub.n represents the degree of confidence that is attributed to the estimated state vector.
[0093] The covariance matrix Q.sub.n for the propagation noise makes it possible to quantify the random portion and the approximations made in the propagation model for each component of the state vector X.sub.n/n.
[0094] To perform the readjustment computation, the filter uses the formulae: [0095] for the readjustment gain:
K.sub.n+1=P.sub.n+1/n.Math.H.sub.n+1.sup.T.Math.(H.sub.n+1.Math.P.sub.n+1/n.Math.H.sub.n+1.sup.TR.sub.n+1).sup.−1 [0096] (where H.sub.n+1.sup.T is the matrix transpose of H.sub.n+1).
[0097] The observation matrix H.sub.n is used to establish a linear relationship between the state vector and the measurements.
[0098] The covariance matrix R.sub.n characterizes the noise specific to the measurements. R.sub.n is a square matrix of dimension N.sub.obs×N.sub.obs. [0099] for the estimated state vector:
X.sub.n+1/n+1=X.sub.n+1/n+K.sub.n+1.Math.(Z.sub.n+1−H.sub.n+1.Math.X.sub.n+1/n) [0100] for the covariance matrix:
P.sub.n+1/n+1=(Id.sub.state−K.sub.n+1.Math.H.sub.n+1).Math.P.sub.n+1/n
[0101] (in which Id.sub.Nstate represents the identity matrix of dimension N.sub.state.Math.N.sub.state).
[0102] At the outset, the state vector X.sub.0 is initialized to zero and the matrix P.sub.0 is initialized with the variances and covariances that are representative of the uncertainty in the physical quantities modelled in the state vector.
[0103] The propagation computation involves the matrices F.sub.n and Q.sub.n to determine the propagated estimated state vector X.sub.n+1/n on the basis of the readjusted estimated state vector X.sub.n/n and the propagated covariance matrix P.sub.n+1/n on the basis of the readjusted covariance matrix P.sub.n/n.
[0104] The readjustment computation involves the observations Z.sub.n+1 arising from the measurements and the matrices H.sub.n+1 and R.sub.n+1, to determine the readjusted estimated state vector X.sub.n+1/n+1 on the basis of the propagated estimated state vector X.sub.n+1/n and the readjusted covariance matrix P.sub.n+1/n+1 on the basis of the propagated covariance matrix P.sub.n/n.
[0105] The index n is then incremented by 1 (i.e. n=n+1) and the propagation and then the readjustment are repeated. A cycle of propagation, readjustment and incrementation of the index is thus linked together.
[0106]
[0107] In the carrier code smoothing filter according to the preferred implementation of the invention, the state vector X and the evolution model represented by the matrices F and Q are as follows:
[0108] in which: [0109] PD represents the pseudo-distance without receiver measurement noise (thermal noise, interference, multiple paths) and without ionisopheric error; [0110] PD=satellite/receiver distance+receiver clock bias x c+tropospheric error+satellite bias [0111] B.sub.iono represents the ionospheric error at a frequency (for example at the frequency Fa) after correction by the model (residual); [0112] δ.sub.a represents the float ambiguity of the carrier phase measurement at the frequency Fa; [0113] δ.sub.b represents the float ambiguity of the carrier phase measurement at the frequency Fb; [0114] B.sub.RF represents the interfrequency bias of the analogue pathway at the frequency Fb compared with the analogue pathway at the frequency Fa; [0115] λ.sub.iono represents the attenuation factor of the Markov model of the ionospheric error.
λ.sub.iono=1−ΔT/τ [0116] ΔT represents the adjustment period for the filter and τ represents the time constant of the Markov model (1.sup.st order) of the ionospheric error after correction by the model. It will be assumed that ΔT=1s and τ=2000 s [0117] q.sub.PD represents the true state noise over the pseudo-distance. A very high value will be chosen for this component, because a reliable evolution model is not available. By way of example, it will be assumed that q.sub.pD=(1000 m).sup.2; [0118] q.sub.iono represents the state noise of the Markov model (1.sup.st order) of the ionospheric error after correction by the model;
q.sub.iono=σ.sub.iono.sup.2+2+ΔT/τ
[0119] σ.sub.iono representing the standard deviation of the ionospheric error after correction by the model. It will be assumed that σ.sub.iono=(20 m).sup.2 [0120] q.sub.a represents the state noise of the ambiguity of the carrier phase measurement at the frequency Fa. It will be assumed that q.sub.a=(10.sup.−2 m).sup.2 [0121] q.sub.b represents the state noise of the ambiguity of the carrier phase measurement at the frequency Fb. It will be assumed that q.sub.b=(10.sup.−2 m).sup.2
[0122] According to an alternative implementation, the state vector can comprise four states. In this case, the matrices F and Q of the evolution model also have a dimension of four. The state vector X and the evolution model become:
[0123] In the absence of a cycle jump from the carrier phase loop, the state noise on the ambiguities is zero. To allow for the risk of a cycle jump (nonlinear and non-Gaussian model), the time constant of the smoothing filter, which has a natural tendency towards infinity, is limited. The reason is that if the time constant is too great, then the effect of the cycle jump on the filtered pseudo-distance lasts for a long time, the time for which the filter converges and readjusts itself for the code measurement (without a jump). In the case of a repeated cycle jump, with a low signal-to-noise ratio, the jumps will accumulate before the filter has had time to converge on the code measurement, which can introduce an unacceptable measurement error. By way of example, five cycle jumps produce an error of 1 metre.
[0124] To limit the time constant, a non-zero state noise value is used.
[0125] The matrices representative of the measurements and of the observation model are written as follows:
in which: [0126] PD.sub.code a(n) represents the pseudo-distance measured for the code at the frequency Fa, at the instant t(n)=n.Math.ΔT [0127] PD.sub.carrier a(n) represents the pseudo-distance measured for the carrier at the frequency Fa, at the instant t(n)=n.Math.ΔT [0128] PD.sub.code b(n) represents the pseudo-distance measured for the code at the frequency Fb, at the instant t(n)=n.Math.ΔT [0129] PD.sub.carrier b(n) represents the pseudo-distance measured for the carrier at the frequency Fb, at the instant t(n)=n.Math.ΔT [0130] σ.sub.code a and σ.sub.code b respectively represent the standard deviation of the measurement error of the code phase specific to the receiver for the frequencies and b. [0131] σ.sub.carrier a and σ.sub.carrier b respectively represent the standard deviation of the measurement error of the carrier phase specific to the receiver for the frequencies a and b.
[0132] On initialization, the state vector X and the covariance matrix P have the value:
[0133] σ.sub.iono represents the standard deviation of the ionospheric error on the axis in sight of the satellite under consideration. Its value is given by atmospheric models, depending on the inclination of the satellite axis, the latitude of the receiver and the time of day. It will be assumed that σ.sub.iono=30 m.
[0134] σ.sub.RF represents the standard deviation of the error for the interfrequency bias on the axis in sight of the satellite under consideration. It will be assumed that σ.sub.RF=3 m.
[0135] When a satellite disengages at a frequency, that is to say that one of the two dual-frequency signals transmitted by a geopositioning satellite is not received by the terminal or is received with too low an amplitude, the observation model is modified. The two rows corresponding to these measurements in the matrices Z, R and H are removed.
[0136] If, by way of example, on a satellite axis, the measurements at the frequency Fb become unavailable and only the measurements at the frequency Fa are available, then the matrices representative of the observation model become:
[0137] Similarly, when the measurements at the frequency Fa become unavailable, the observation model is written as follows:
[0138] When the measurements become available again, the two rows associated with these measurements in the matrices Z, R and H are restored. Moreover, for the frequency that has reappeared, the estimate of the ambiguity of the phase measurement of the state vector X is reset to 0 for the readjustment for the 4 measurements. The diagonal coefficient (variance) associated with the carrier phase ambiguity in the matrix P is reset to a very high value in the face of the orders of magnitude that are currently used. This value is increased artificially in order to indicate to the filter that the estimate of the ambiguity is no longer good, and that it should therefore reset it. This variance may be fixed at a value of 1000.sup.2.
[0139] When the measurements at the frequency Fa become available again, the state vector X and the covariance matrix P are written as follows:
[0140] Similarly, when the measurements at the frequency Fb become available again, the following are obtained:
[0141] When a discontinuity is observed in the carrier phase measurement at one of the two frequencies, the state vector and the covariance matrix are reset in the same way before the readjustment for the new carrier phase measurement. The Kalman filter makes it possible to perform both carrier code smoothing and “iono-free” combination. At the output of the carrier code smoothing, the useful datum is the pseudo-distance PD filtered and corrected for the ionospheric error, corresponding to the first coordinate of the estimated state vector after readjustment X.sub.n+1/n+1.
[0142] Advantageously, since the corrections to the model are applied upstream of the Kalman filter, the latter now merely has to identify the residual ionospheric error. The error computed using the model obeys the same Markov model as the ionospheric error, hence a fortiori the difference too, with a smaller amplitude. As the correction is itself proportional to the inverse of the square of the frequency, the residual error is too, therefore the observation model linking the state of the filter to the dual-frequency measurements remains unchanged.
[0143] The Kobuchar and Nequick models are models for forecasting the ionospheric error that are normally used to correct single-frequency measurements. In the case of dual-frequency measurements, “iono-free” combination of signals at two different frequencies normally allows the ionospheric error to be eliminated. In the method according to the invention, this method is useful when one of the two frequencies is no longer available and the measurement ends up single frequency.
[0144] When one of the two frequencies is no longer available over a long period, for example following jamming or too small an amplitude, dual-frequency operation changes to single-frequency operation. At first, the filter will operate naturally on an achievement of dual-frequency operation with the ionospheric bias estimated when the dual-frequency signals are present, and gradually this estimate of the bias will expire because this bias has changed. As a correction to the ionospheric error is applied upstream of the Kalman filter, the method will progressively change from “iono-free” combination at two frequencies to operation that is equivalent to a single-frequency case, but one corrected using the model for forecasting the ionospheric error.
[0145] A step Etp5 of correcting tropospheric delays can then be applied to the pseudo-distance measurement at the output of the Kalman filter for each satellite. This compensation is obtained by applying a conventional model depending, inter alia, on the time of day and the geographical position of the satellite under consideration.
[0146] A step Etp6 of correcting “system” errors can then be applied for each satellite axis. These errors are linked to the principle of the GNSS. They involve, by way of example, the Sagnac effect due to the time shift in the reception of two signals rotating in opposite directions. These errors also include the imprecision of atomic clocks. During this step, the relativistic effect is also corrected. These corrections to be made are provided by the satellite under consideration through a “navigation” message containing the corrective terms. These corrected terms are common to the four measurements from one and the same satellite.
[0147] Once these corrections have been made, the computation module estimates the position of the geopositioning terminal by combining the filtered and corrected pseudo-distances computed for each satellite visible to the terminal using the resolution algorithm, PVT for “Position, Velocity and Time”. As set out above, at least four pseudo-distances are necessary.
[0148] According to an alternative implementation, the steps of correcting tropospheric delays Etp5 and “system” errors Etp6 can be performed upstream of the Kalman filtering provided that these corrections are applied to the four pseudo-distance measurements.
[0149] The computation module can comprise one or more microprocessors, processors, computers or any other equivalent means programmed as appropriate.