SATELLITE GEOPPOSITIONING METHOD AND TERMINAL, ASSOCIATED COMPUTER PROGRAM
The satellite geopositioning method uses a Kalman filter to smooth pseudo-distance measurements, addressing ionospheric errors and frequency disruptions, ensuring precise positioning by incorporating an ionospheric error model and fictitious state vector, thus improving accuracy and integrity.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- THALES SA
- Filing Date
- 2024-12-05
- Publication Date
- 2026-06-12
AI Technical Summary
Existing satellite positioning systems face challenges in achieving precise positioning accuracy due to ionospheric errors and the need to choose between dual-frequency and single-frequency measurements, leading to reduced geometric precision and integrity, especially during ionospheric scintillations, which disrupts the convergence of smoothing filters.
A satellite geopositioning method using a Kalman filter to smooth pseudo-distance measurements from dual-frequency signals, incorporating an ionospheric error propagation model and a fictitious state vector to account for varying biases between frequencies, allowing for the estimation of precise positions even during frequency disruptions.
The method enhances positioning accuracy by effectively smoothing pseudo-distance measurements, maintaining precision and integrity even when frequency disruptions occur, enabling reliable satellite positioning with mixed dual-frequency and single-frequency measurements.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: METHOD AND TERMINAL FOR SATELLITE GEOPPOSITIONING, ASSOCIATED COMPUTER PROGRAM
[0001] The present invention relates to the field of satellite positioning. The invention relates more particularly to a satellite geopositioning method and an associated receiver.
[0002] A satellite positioning system (or GNSS for "Global Navigation Satellite System"*) uses a constellation of satellites that orbit the Earth in very precisely determined orbits, meaning that their position can be known at any given moment. The satellite orbits are chosen so that at any given time, six to twelve satellites are visible from any point on Earth. Each dual-frequency satellite emits electromagnetic geopositioning signals on two different frequencies (for example, L1 = 1575.42 MHz and L2 = 1227.6 MHz for the GPS system and L1 = 1575.42 MHz and E5 = 1227.6 MHz for the GALILEO system). Dual-frequency satellite measurements make it possible to correct the ionospheric error by 99%, which constitutes the predominant source of error.
[0003] A GNSS receiver, for example one mounted on a mobile device, receives signals emitted by visible satellites and measures the propagation time required for a time mark transmitted by a satellite to reach it. The time marks are encoded on carrier waves using phase modulation. Each satellite thus transmits its own pseudo-random code. A replica of the code sequence is generated by the receiver, and the offset that the replica must undergo to coincide with the received code corresponds to the signal's propagation time to travel the satellite-receiver distance. This time, multiplied by the speed of light in the medium traversed, gives a distance measurement called the pseudo-range.Based on measurements of the pseudo-distances separating it from each visible satellite, and knowledge of the satellites' positions, the receiver deduces its precise position in latitude, longitude, and altitude within a terrestrial frame of reference through a digital position resolution step similar to triangulation. It can also deduce the precise date and time within the GNSS time frame.
[0004] The receiver's time reference, provided by its clock, does not perfectly coincide with the time reference of the satellites in the constellation, which induces a bias in the propagation time measurements, and therefore in the distance measurements, equal to the delay of the receiver's time reference relative to the time reference of the satellites. The term "pseudo-distance" is used for this. The clock time bias, common to all measurements, constitutes a fourth unknown, in addition to the three unknown positions, which requires at least four measurements to calculate the position.
[0005] Furthermore, the position of the receiving receiver is estimated by making a number of approximations. For example, the pseudorange measurement cannot eliminate system-related errors such as the lack of precision of ephemerides or the clocks onboard the satellites. The pseudorange measurement is also affected by errors related to the interactions between the signals and the atmospheric layers (troposphere and ionosphere) through which they pass. The signal propagation delay in the troposphere and ionosphere depends on the inclination of the path and the time of day. Typically, GNSS positioning errors related to the atmosphere are more pronounced during the day than at night and more significant when a satellite is near the horizon than at the zenith.In some applications, such as precision approach in aeronautics, the positioning accuracy obtained by a direct or absolute measurement of the pseudo-distance is not sufficient.
[0006] To improve positioning accuracy, receivers can also take advantage of a second piece of information generated by the receiver: the measurement of the carrier phase for each received satellite signal. Measuring the instantaneous phase of the received carrier allows for the calculation of a pseudo-distance, known as the carrier pseudo-distance, between the receiver and the satellite, just as the measurement of the instantaneous phase of the pseudo-random code does. This carrier pseudo-distance undergoes the same variations as the code pseudo-distance when the distance between the receiver and the satellite or the time bias due to the receiver's clock changes. This phase-measured pseudo-distance is inherently ambiguous since the phase is known modulo 2ir, but it is much less noisy than code pseudo-distance measurements.
[0007] A known solution for improving pseudo-distance measurements is to smooth noisy pseudo-distance measurements made on the code by low-noise phase measurements satellite axis by satellite axis.
[0008] A technique recommended by civil aviation standards for performing such smoothing is to use a first-order filter. However, such a filter must be reset, with a significant convergence time, each time a temporary carrier loop stall occurs, for example, following an ionospheric scintillation event. Given typical convergence time values of approximately one hundred seconds and an average duration between two stalls of ten seconds, satellite measurements remain unavailable in the presence of strong ionospheric scintillations, which is particularly problematic for an aeronautical receiver.
[0009] Another technique, described in EP 3 223 038 A1, is to perform this smoothing with a Kalman filter calibrated on the code pseudo-distance and carrier pseudo-distance measurements of the two frequencies. The advantage of the Kalman filter compared to the first-order filter is that it allows for better handling of the loss of one of the two frequencies, which occurs, for example, following the temporary dropout of the carrier loop due to ionospheric scintillation, because it maintains the continuity of the smoothing and the estimation of the ionospheric bias.
[0010] The invention relates to satellite positioning calculated using pseudo-distances smoothed by Kalman smoothing.
[0011] There are many reasons why the two measurements are not available at the same time on some satellites: - the time required to connect and demodulate the transmitted navigation messages is not the same; - some older satellites do not transmit on both frequency bands; - one of the two bands may be jammed.
[0012] In the event of interference on one of the two bands, the satellites do not all lose contact at the same time due to the different emitted powers and due to the antenna gain which depends on the direction of the satellite.
[0013] The effect of the ATPG propagation time difference between the two frequencies is not the same depending on whether the measurement is dual-frequency or single-frequency, on one or the other of the two frequencies.
[0014] However, when solving the position from the code measures, if a bias on the code measures common to all the measures does not have an effect on the position since it is found in the solved time error, this is no longer true if the bias is not the same on all the measures.
[0015] This is why we avoid mixing measurements, and we must choose between using only dual-frequency measurements or using only single-frequency measurements, on the same frequency.
[0016] The disadvantage is that this leads to doing without certain satellite axes, to the detriment of the geometry of the axes in view used and therefore of the precision and integrity (increased RAIM protection radius).
[0017] A known solution for mixing dual-frequency and single-frequency measurements consists of adding a fifth state in the position resolution, representing the ATPG propagation time difference, in addition to the 3 spatial coordinates and the time bias of the receiver clock, knowing that in the case of carrier code smoothing for example with a first-order filter, the coefficient of the linear relationship linking the value of ATPG to the bias induced on the code measurement depending on whether it is dual-frequency or single-frequency, is known.
[0018] But in the case of carrier code smoothing carried out with a Kalman filter, we already have a mixture of dual-frequency and single-frequency measurements due to possible dropouts in the past on one of the two frequencies and the value of this coefficient, which may change over time, is not known.
[0019] The aim of the invention is then to improve the positioning determined by dual-frequency satellites in the case of smoothing of pseudodistance measurements carried out by a Kalman filter.
[0020] To this end, the invention relates to a satellite geopositioning method implemented by a geopositioning terminal using N satellites, with N > 4, each emitting dual-frequency electromagnetic geopositioning signals on two different frequencies Fa, Fb, each of said signals being formed from a carrier frequency modulated by a spreading code, said terminal comprising at least one receiving module configured to receive the electromagnetic signals from each satellite on two different frequencies and at least one processing module configured to process said signals, said method being characterized in that it comprises, for each geopositioning satellite, for each considered instant of a succession of considered instants of determination of the position of the geopositioning terminal:
[0021] a calculation step, in nominal mode, of four pseudo-distances, one pseudo-distance being calculated from each element among the two codes and the two carriers of the received dual-frequency geopositioning signals;
[0022] a step of correcting ionospheric delays on each calculated pseudo-distance by applying an ionospheric error propagation model;
[0023] a step (carrier code smoothing using a Kalman filter whose measurement vector includes the four corrected pseudo-distances and whose state vector includes a single smoothed pseudo-distance measurement, said carrier smoothing step using a Kalman filter having the function of correcting measurement noise and ionospheric error residual and comprising two steps successively implemented on the state vector, to provide in the state vector thus propagated and recalibrated a single smoothed pseudo-distance measurement
[0024] one of the two steps being a propagation step, depending on a propagation matrix; and
[0025] the other of the two steps being a recalibration step, based on said measurement vector and a recalibration gain matrix;
[0026] the position of the geopositioning terminal being estimated using the smoothed pseudodistances calculated for each satellite;
[0027] said geopositioning method being characterized in that:
[0028] - said propagation matrix is further used to propagate another vector, said fictitious state vector, of the same size as the state vector, said propagated fictitious state vector being further recalibrated according to said recalibration gain matrix and a fictitious measurement vector of the same size as said measurement vector and comprising components of constant predefined values, common to said determination instants;
[0029] - a coefficient, called the proportionality coefficient, indicating the ratio between a the propagation difference between the two frequencies in the terminal and the bias induced by said difference on said smoothed pseudo-distance is determined as a function of the component of the fictitious state vector of the same rank as the rank of the smoothed pseudo-distance in the state vector;
[0030] - the position of the geopositioning terminal is estimated as a function of said N smoothed pseudo-distances for the N satellites and N proportionality coefficients determined for the N satellites.
[0031] According to other advantageous aspects of the invention, the geopositioning method comprises one or more of the following features, taken individually or in all technically possible combinations: - if the propagation time reference corresponds to the frequency Fa, the proportionality coefficient is determined as the result of the ratio between on the one hand the component of the fictitious state vector of the same rank as the rank of the pseudo-distance smoothed in the state vector and on the other hand the component of the fictitious measurement vector of the same rank as the rank, in the measurement vector, of the pseudo-distance code for the frequency Fb; - the component of the fictitious measurement vector of the same rank as the rank, in the measurement vector, of the pseudo-code distance for the frequency Fa, is set to 0; - the two components of the fictitious measurement vector of the same ranks as those in the measurement vector, of the pseudo-code and carrier distances for the frequency Fb are set to 1, the other two being set to 0; - if the pseudo-distances of one of the two frequencies of the measurement vector are not available for a time interval, a corresponding reduction of the dimension of the observation model implemented by the Kalman filter is carried out during said interval, said reduction including a reduction in the number of components of each of the vectors among said measurement vector and said fictitious measurement vector; - The position of the geopositioning terminal is estimated by solving the system Zsa^ = HpOS sat-Xpos
[0032] where each component of the vector XpOS is a function of a respective unknown among the positional unknowns to be determined x, y, z, t, ATPG
[0033] the i-th component of the vector Zsat i = 1 to N is a function of the smoothed pseudo-distance calculated for the i-th satellite
[0034] where if (coset^cc^ are the direction cosines in the direction of the i-th satellite and pi is the proportionality coefficient calculated for the i-th satellite so far considered, the i-th line of HpOS sat comprises the components a constant and pL
[0035] The invention also relates to a computer program comprising software instructions which, when executed by a computer, implement a geopositioning method as defined above.
[0036] The invention also relates to a geopositioning terminal characterized in that it comprises at least one receiving module configured to receive geopositioning electromagnetic signals, said to be dual-frequency, emitted by at least four satellites on two different frequencies and at least one computing module configured to process said geopositioning signals and implement the geopositioning method according to the invention.
[0037] The invention will become clearer upon reading the following description, given solely by way of non-limiting example, and made with reference to the drawings in which:
[0038] [Fig-1] [Fig.1] represents an example of a block diagram of a process of satellite geopositioning according to the invention;
[0039] [Fig.2] Fig.2 represents an example of an organizational chart of the operation of a Kalman filter implemented in a receiver according to the invention;
[0040] [Fig.3] Fig.3 represents an example of a position resolution flowchart implemented in a receiver according to the invention.
[0041] Hereafter, we will assume that each geopositioning satellite emits electromagnetic geopositioning signals on two different carrier frequencies. These will be referred to as dual-frequency signals, and we will denote these two frequencies as Fa and Fb.
[0042] It will also be assumed that there is never a dropout of the two carriers at the same time, (or for a very short period of time), and that the geopositioning receiver receives at least one of the two geopositioning signals.
[0043] Fig. 1 represents an example of a synoptic diagram, for each satellite axis, of a satellite geopositioning process according to an embodiment of the invention.
[0044] This method is implemented by a geopositioning receiver using electromagnetic geopositioning signals emitted by at least four satellites of geopositioning. As stated previously, each of these signals is made up of a carrier frequency modulated by a spreading code.
[0045] The process comprises 7 steps Etp 1 to Etp 7. This set of steps is iterated for each new time tn considered. Steps Etp 1 to Etp 6 are carried out, for example, in parallel, considering each satellite independently.
[0046] Step Etp 7 uses the results determined for the moment considered by the satellites.
[0047] The method comprises, for each visible satellite considered, a first step Etpl for measuring pseudo-distances. For this, the geopositioning receiver includes at least one receiving module configured to receive these electromagnetic signals from each satellite on the two frequencies Fa and Fb.
[0048] In a known manner, this receiving module may include at least one antenna, an analog circuit performing amplification, filtering and frequency conversion, an analog-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 geopositioning signals are to be received.
[0049] Each digital channel receives a digitized signal containing all the satellite signals which it submits to a double servo loop allowing on the one hand to synchronize in phase a locally generated carrier with the carrier from the satellite in question and on the other hand to synchronize a locally generated pseudo-random code with an identical code present in the satellite signal and specific to that satellite.
[0050] The two control loops can each include two digitally controlled oscillators, the content of which represents, for the first oscillator, the instantaneous phase of the local pseudo-random code (aligned with the code present in the signal), which constitutes the measure 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 present in the signal received from the satellite, up to the phase shift introduced by the receiver circuits), which constitutes the measure of the instantaneous phase of the received carrier.
[0051] The measurement of the instantaneous phase of the code in each channel is used to calculate a first numerical value called the pseudo-code distance (PDcode), representing a first measurement of the pseudo-distance between the receiver and the satellite in question. This measurement is unambiguous but rather noisy.
[0052] The measurement of the instantaneous phase of the carrier in the channel under consideration is used to calculate a second numerical value, called the carrier pseudo-distance PDpOrteuSe, representing a second measurement of the pseudo-distance between the receiver and the satellite under consideration. This measurement is low in noise but ambiguous.
[0053] Since the signals are dual-frequency, under nominal conditions, two pseudo-code distances and two pseudo-carrier distances are calculated for each satellite visible to the receiver. Therefore, in each digital channel, there are four independent measurements (PDcodea, PDcodeb, PDporteusea, PDporteuseb) of the same pseudo-distance separating the receiver from each visible satellite. For each satellite, the two types of pseudo-distance measurements (PDcode and PDporteuSe) are obtained as signal propagation times between the satellite in question and the receiver along the axis (satellite axis) joining the satellite in question and the receiver.
[0054] At the time tn considered, the pseudo-distances PDcode F a(n), PDcode F b(n) and PDporteuse F a(n), PDporteuSe fb(n), measured respectively on the code and the carrier at the frequency Fa and the frequency Fb, are given by the formulas:
[0055] PDcode a(n) — (Treception(ïï) Tsat a(ü))
[0056] PDcodeb(n) = (Treception(n) Tsat b(ïï))
[0057] PDporteuse a(n^ receptionC^) ^carrier a(n) / Fa )
[0058] PDpOrteuse b(n)— ( Tréception(a) Ç^porteuse b(^) / Fb )
[0059] in which: - Reception(n) represents the reception date of the signals considered at time tn, given by the receiver's clock. - Tsata(n) represents the date of emission, by the satellite, of such a signal received by the receiver, given by the local code phase. - <pPorteuse a(n) représente la phase de la porteuse locale, ramenée en fréquence de porteuse (cycles),
[0060] For each satellite visible to the geopositioning receiver, the geopositioning method includes an Etp2 step for correcting ionospheric delays on each calculated pseudo-range by applying an ionospheric error propagation model. For this purpose, the receiver also includes at least one computing module configured to process the received signals.
[0061] The ionospheric error propagation model can be a Kobuchar model, a Nequick model or any other equivalent model known to the person skilled in the art.
[0062] The ionospheric error propagation model provides an estimate of the ionospheric error in the code pseudo-distance measurement of a frequency, for example the frequency Fa, as a function of the position on Earth and the time of day. This ionospheric error represents the group delay induced on the propagation of the signal during its passage through the ionosphere. This delay is proportional to the total electronic content (TEC) of the atmospheric column traversed by the signal and inversely proportional to the square of the carrier frequency. The delay is found
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078] on the code measurement. The effect on the carrier is a phase lead of the same absolute value. If we consider the ionospheric error on the frequency Fa: on the Fa carrier measurement, we have a phase lead of - Biono, on the Fb carrier measurement, we have a phase lead of -y.Biono, on the Fa code measurement, we have a delay of Biono = a . CET / Fa2 and on the Fb code measurement, we have a delay of y.Biono = a . CET / Fb2 with y = Fa2 / Fb2. Therefore, to correct the carrier code and phase measurements, the following corrections are applied: On PDcodea(n): - B iono model Slir PD carrier a(ll) • + P iono model SUT PDcoc[eb(ll) • - Y Piono model On PDporteuse b(n) . + y Pioneer model Of course, a similar line of reasoning can be applied by considering a model providing an estimate of the ionospheric error on the frequency Fb. To process signals emitted by geopositioning satellites at the two frequencies Fa and Fb, the receiving module includes two separate analog channels. When this receiving module receives two signals of different frequencies, the propagation times in each of the module's analog channels may differ. This results in differences in group delay between the two frequencies Fa and Fb, known as RF bias and denoted hereafter as ATPG. When measurements are homogeneous—that is, all single-frequency measurements on the same frequency or all dual-frequency measurements—RF biases, common to all satellites, have no effect on the resolved position. However, when single-frequency measurements on different frequencies, or single-frequency and dual-frequency measurements, are mixed, distortions are introduced between the satellite measurements, thus introducing an error in the resolved position. This situation can occur, for example, when one of the two dual-frequency signals is not received by the geopositioning receiver, for instance, due to ionospheric scintillation problems. To avoid this, in one embodiment, for each visible satellite, the process includes an Etp3 step for compensating for an inter-frequency bias between the dual-frequency signals. The Etp3 step is therefore optional. During this step, the calculation module identifies the RF bias difference between the two frequencies in the dual-frequency signal measurements and corrects this difference across all satellites by compensating for the difference between the two frequencies only in the code measurements and only on one of the two frequencies. The identification of the RF bias and its correction can be implemented using techniques known to those skilled in the art, in particular that developed in patent application FR 2 943 868. The RF bias deviation can be estimated by averaging all available dual-frequency signal measurements from the beginning (averaging over time and across satellites) and assuming that RF biases are constant over time.
[0079] The dual-frequency code measurements of each satellite are then smoothed by the dual-frequency carrier measurements during an Etp4 step of smoothing the compensated pseudoranges using a Kalman filter. During this step, the Kalman filter simultaneously performs the carrier code smoothing and the correction of the ionospheric error residual.
[0080] With reference to [Fig.2] [Fig.2], the operating principle of Kalman filtering is recalled.
[0081] Kalman filtering uses a state model, established on the basis of knowledge (proven or assumed) of the behavior of the unknown physical quantities that one seeks to determine and the available measurements.
[0082] This state model consists of:
[0083] - of a state vector Xn representing the physical quantities modeled at time tn, comprising a number of components Netate •
[0084] - a propagation model, of the form:
[0085] Xn+i is the state vector at time tn+i
[0086] Fn is the propagation matrix on the interval [tn tn+i], of dimension x Neta (in which the operator Y represents the multiplication sign)
[0087] Vn is the propagation noise vector on the interval [tn>tn+1], white, Gaussian, with zero mean, covariance matrix Qn = E[VnT Vn] (where VnT is the transpose vector of Vn) and dimension Nstate, - of an observation model, of the form: Zn = Hn.Xn + Wn in which:
[0088] Zn is the observation vector at time tn, of dimension Nobs
[0089] Hn is the observation matrix at time tn, of dimension Nobs x Nstate
[0090] Wn is the measurement noise vector at time tn, white, Gaussian, with zero mean, covariance matrix Rn = E[WnT Wn] (where WnT is the transpose vector of Wn) and dimension Nobs.
[0091] In this state model, the state vector Xn has an a priori unknown value. It is not directly accessible by measurement, unlike the observation vector Zn, but only through the observation model.
[0092] The Kalman filter performs the estimation of the state vector by a propagation calculation, from the propagation model, and by a registration calculation, from the observations and the observation model.
[0093] For this, the filter uses two variables:
[0094] - the estimated state vector, denoted after recalibration at time tn, denoted Xn+i / nafter propagation between successive instants tn and tn+i, and noted Xn+i / n+i after recalibration at the instant tn+b of dimension Nétat;
[0095] - the covariance matrix of the estimated state, denoted Pn / n after recalibration at time tn, denoted Pn+i / n after propagation between times tn and tn+b and denoted Pn+i / n+i after recalibration at time tn+i, of dimension Nstate x Nstate
[0096] To perform the propagation calculation, the filter uses the following formulas: - for the estimated state vector: X n+Vn = F n . X n / n
[0097] the propagation matrix Fn used to establish a linear relationship between the state vector before propagation and after propagation; - for the covariance matrix: P n+i / n = F n . P .FnT + Qn
[0098] (where Fn T represents the transpose matrix of Fn).
[0099] In this formula, the coefficients of the covariance matrix Pn represent the variance of each component of the estimated state vector (diagonal terms) and the covariance of the different pairs of components of this vector (off-diagonal terms). This matrix Pn represents the degree of confidence attributed to the estimated state vector.
[0100] The covariance matrix Qn of the propagation noise allows us to quantify the random part and the approximations made in the propagation model for each component of the state vector X^.
[0101] To perform the calibration calculation, the filter uses the following formulas: For the recalibration gain: Kn+1 = Pn+Un . Hn+1 T . ( Hn+1 . Pn+Un . Hn+1 T + Rn+i )4
[0102] (where Hn+iT is the transpose matrix of Hn+i);
[0103] the observation matrix Hn is used to establish a linear relationship between the state vector and the measurements;
[0104] The covariance matrix Rn characterizes the self-noise of the measurements. Rn is a square matrix of dimension Nobs x Nobs; - for the estimated state vector: X n+Vn+i = X n+i / n + K n+i. ( Z n+i - H n+i . X n +l / n ) for the covariance matrix: P n+Un+1 = ( Id Nétat - K n+1. H n+1 ). P n+Un
[0105] (in which Id Nétat represents the identity matrix of dimension NetafNétat).
[0106] Initially (n=0), the state vector Xo is initialized to zero and the matrix Po is initialized with the variances and covariances representing the uncertainty on the physical quantities modeled in the state vector.
[0107] The propagation calculation involves the matrices Fn and Qn to determine the estimated propagated state vector Xn+i / n from the recalibrated estimated state vector Xn / n and the propagated covariance matrix Pn+i / n from the recalibrated covariance matrix Pn / n.
[0108] The recalibration calculation involves the observations Zn+i from the measurements and the matrices Hn+i and Rn+i, to determine the estimated recalibrated state vector Xn+i / n+i from the estimated propagated state vector Xn+i / n and the recalibrated covariance matrix Pn+i / n+i from the propagated covariance matrix Pn / n.
[0109] The index n is then incremented by 1 (i.e., n is replaced by n+1), and the propagation and registration processes are repeated. This creates a continuous cycle of propagation, registration, and index incrementation. Here, we have considered that a cycle begins with propagation and ends with registration; the smoothed pseudo-distance is therefore that obtained after propagation and then registration. In another embodiment, we consider that a cycle begins with propagation and ends with registration.
[0110] In [Fig. 2], a memory is shown that stores Xn+i / n+i and provides Xn / n to indicate that the state vector value entered into the propagation model for the calculation of Xn+i / n dated at time tn+i is the state vector value Xn / n that was calculated at the previous time tn. Similarly, a memory is shown for the covariance matrix Pn / n and for the estimated position Gn / n.
[0111] In the carrier code smoothing filter according to an implementation of the invention, the state vector X and the evolution model represented by the matrices F n = F and F n = Q are as follows: PD - "h ' 1 0 0 0 o] 0 G 0 0 F = 400i O0J i G 0 0: 1 0 |o 0 0 0 1| 0 0 0 0 = OOQ 2 0 0 0 0 0 u Q 0 0 0 0 0 00
[0112] in which:
[0113] - PD represents the noise-free pseudo-distance of receiver measurement (thermal noise, interference, multipath) and without ionospheric error;
[0114] PD = receiver satellite distance + receiver clock bias xc + tropospheric error + satellite bias
[0115] - Biono represents the ionospheric error on a frequency (for example on the frequency Fa) after correction by the model (residual);
[0116] - ôa represents the floating ambiguity of the carrier phase measurement on the frequency Fa;
[0117] - ôb represents the floating ambiguity of the carrier phase measurement on the Fb frequency;
[0118] - ATpg represents the inter-frequency bias of the analog channel at frequency Fb compared to the analog channel of the frequency Fa (in an embodiment where step Etp3 has been carried out, this ATPG bias represents the residual RF bias after this correction);
[0119] - represents the attenuation factor of the Markov model of the error ionospheric;
[0120] I - AT / t
[0121] - AT representing the filter calibration period and r the time constant of the Markov model (of the second order) of the ionospheric error after correction by the model. We will take AT = 1s and r = 2000 s;
[0122] - qPD represents the state noise on the true pseudo-distance. A value will be chosen very large for this component because we do not have a reliable evolution model. We will take for example qPD = (1000 m)2 ;
[0123] - qiono represents the state noise of the (first-order) Markov model of the error ionospheric after correction by the model;
[0124] qiono = Oiono2.2. AT / r
[0125] oiono representing the standard deviation of the ionospheric error after correction by the model; for example, oiono = (20 m)2;
[0126] - qa represents the state noise of the ambiguity of the carrier phase measurement on the frequency Fa; we will take for example qa = (102 m)2;
[0127] - qb represents the state noise of the ambiguity of the carrier phase measurement on the frequency Fb; we will take for example qb = (102 m)2.
[0128] The matrices representing the measurements and the observation model are written here: œ2^ 0 0 0 0 0 0 0 0 <T\-o4si 0
[0129] in which: - PDcodea(n) represents the pseudo-distance measured on the code of the frequency Fa, for the moment considered tn = n.AT; - PDpOrteuSe a(n) represents the pseudo-distance measured on the code of the frequency Fa, for the moment considered tn = n.AT; - PDcodeb(n) represents the pseudo-distance measured on the code of the frequency Fb, for now considered tn = n.AT; PD carrier b(n) represents the pseudo-distance measured on the code of the frequency Fb, for now considered tn = n.AT; - ocode a and omdeb represent respectively the standard deviation of the measurement error of the receiver's own code phase for the frequencies Fa and Fb; - Oporteuse a and Oporteuse b represent respectively the standard deviation of the error of measurement of the receiver's own carrier phase for frequencies Fa and Fb.
[0130] Of course, the order of the components in the observation vectors and the state vector X was chosen arbitrarily. It can be chosen differently, the components of the matrices used in the registration and propagation calculations simply being shifted according to the order of the components in the observation vectors and in the state vector X.
[0131] Thus, for a satellite considered, for each processing instant tn considered, at the end of step Etp 4, a smoothed pseudo-distance is delivered, resulting from the filtering by the Kalman filter of the four pseudo-distances which were provided to it as input, as well as a determined coefficient value p.
[0132] According to the invention, during each processing instant, the calculation module further calculates, in parallel with the Kalman filter, a coefficient p equal to the coefficient of
[0133]
[0134]
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141] proportionality between the ATPG propagation difference and the bias induced by ATPG on the smoothed code measurement at the filter output. In particular, this calculation uses the recalibration gains of the Kalman filter used to determine the state vector X and applies them to an estimated "fictitious" state vector, named Xficnf, recalibrated on 4 fictitious pseudo-distance measurements, indicated in a fictitious observation vector Zfjc^f which in one embodiment takes the following constant values (these values remain constant for all successive processing times considered t0,ti, t2,..., tn, tn+i.... ): for all n, component corresponding to PDcode a in Zlt component corresponding to PDporteuse a in Zn component corresponding to PDcode b in Zn component corresponding to PDportenss b in Zn 0 0 1 1 The fictitious state vector registration and propagation operations are performed by the calculation module using the fictitious observation vector and the propagation, registration gain and observation matrices determined during the determination of the registration and propagation of the X vector, at the current processing time tn considered. Thus, in the example considered, with reference to [Fig.3] [Fig.3]: - Xfjctjf recalibration step (the indices n / n, n+l / n, n+l / n+1 of Xf^ctjf have the same meanings regarding the propagated, recalibrated state as those explained above for the state vector X): Xfictive n / n “ Xficnf n / nl~ - propagation step: Xfictitious n+Vn = F-% fictitious n / n The coefficient p is given on the first component of the fictitious state vector: -P- -2 ^4 The value of this coefficient as determined at the current processing time is equal to the bias induced on the smoothed pseudo-distance at the output of the Kalman for a known constant ATPG interference bias of 1 (i.e., 1 meter); it is therefore equal to the proportionality coefficient between ATPG and the bias induced by this difference in propagation time on the smoothed measurement at the output of the Kalman filter. Initialization
[0142] During initialization (i.e., at processing time t0), the state vector X, the fictitious state vector Xficnf, and the covariance matrix P have the following values: '0' iooo2 0 0 0 0 1 0 o 0 0 0 0 n 0 !000; 0 0 0 0 0 0 10Ô02 0 0 0 0 0 0 oionore represents the standard deviation of the ionospheric error on the line-of-sight axis of the satellite in question. Its value is given by atmospheric models, as a function of the inclination of the satellite axis, the latitude of the receiver, and the time of day. Here, for example, 0iono = 30 m; (^ represents the standard deviation of the error on the interference bias on the axis at view of the satellite in question; here, for example, Grf = 3 m.
[0143] In the described embodiment, the fictitious observation vector of values was chosen for simplicity. Other constant values Z fictitious n could be chosen. For example, a constant value, named X, could be chosen instead of 1 in the last two components, in which case the first component of the fictitious vector Xfictjf would then be equal to the product Xp. In a mode In implementation, it is possible to choose any values (constant for any n) on the components corresponding to the carrier pseudo-distance measurements PDcareuse a and PDcareuseb of the fictitious observation vector, Zfictif n, (thanks to the floating ambiguity components of the state vector, ôa and ôb). However, in the case present, it is appropriate to set to zero the first component PD code a of Z fictitious, Z fictitious n, because, via the observation matrix H, it was indicated in the example considered, that ATPG was only observable on the measurements of the frequency Fb (PDcodeb and PDporteuseb): indeed, we were interested in the delay of the frequency Fb relative to the frequency Fa which plays the reference here.
[0144] When a satellite loses signal on a frequency, i.e., when one of the two dual-frequency signals emitted by a geopositioning satellite is not received by the receiver or is received with too low an amplitude, the observation model is modified. The two lines corresponding to these measurements in the Z, R, and H matrices are deleted.
[0145] If, for example, on a satellite axis, measurements on the frequency Fb become unavailable and only measurements on the frequency Fa are available, the matrices representing the observation model become: I | ^2^.. 0 ] [1 +1 0 0 0] Oh 1 00
[0146] Similarly, when measurements at the frequency Fa become unavailable The observation model is written as: rioi ri oo ii L g=i H= - 7 | 0 1 -v 1 0 1|
[0147] When the measurements become available again, the two rows associated with these measurements in the matrices Z, R, and H are restored. Furthermore, for the reappeared frequency, the ambiguity estimate of the phase measurement of the state vector X is reset to 0 before recalibration to the four measurements. The diagonal coefficient (variance) associated with the carrier phase ambiguity in the matrix P is reset to a value much larger than commonly used orders of magnitude. This value is artificially inflated to indicate to the filter that the ambiguity estimate is no longer accurate and therefore needs to be reset. This variance can be set to a value of 10002.
[0148] When measurements on the frequency Fa become available again, the state vector X and the covariance matrix P can be written as: n+l / n — 1000 3
[0149] and we force to zero the 4th component of the propagated fictitious state vector Xf^ctjf n+-yB ■
[0150] Similarly, when measurements at the Fb frequency become available again, we obtain: 1 / n 0
[0151] and we force to zero the 4th component of the fictitious state vector propagated n+ya.
[0152] When a discontinuity is observed in the phase measurement of the carrier of one of the two frequencies, the state vector and the covariance matrix, are reset in the same way before recalibrating to the new carrier phase measurement.
[0153] The Kalman Filter allows both carrier code smoothing and “iono-free” combination to be performed: for the moment tn considered for the positioning processing: at the input of the filter, four pseudo-distances are provided from which the filter provides the useful data, which is the pseudo-distance PD filtered and corrected for the ionospheric error, corresponding to the first coordinate of the state vector estimated after registration Xn+i / n+i.
[0154] Because the model corrections are applied upstream of the Kalman filter, the filter only needs to identify the residual ionospheric error. The error calculated using the model follows the same Markov model as the ionospheric error, and therefore, a fortiori, so does the difference, albeit with a smaller amplitude. Since the correction itself is inversely proportional to the square of the frequency, the residual error is also inversely proportional, and thus the observation model linking the filter state to the dual-frequency measurements remains unchanged.
[0155] The Kobuchar or Nequick models are ionospheric error prediction models that are normally used to correct single-frequency measurements. In the case of dual-frequency measurements, combining signals on two different frequencies in an "iono-free" manner normally eliminates the ionospheric error. In the method according to the invention, this model is useful when one of the two frequencies is no longer available and the measurement becomes single-frequency.
[0156] According to an alternative implementation, the state vector X and the fictitious state vector Xficttf n / n each comprise four states. In this case, the matrices F and Q of the evolution model are also four-dimensional. The state vector X n[w, the fictitious state vector Xfjctjf nin, and the evolution model become: 1 0 0 0' 0 0 0 0 0 l 0 0 0 0 11 ■■''F:'.? G 0 0 0 ton n 0 0 Ü 0 a® o 0 0 0
[0157] In the absence of cycle jumps in the carrier phase loop, the state noise on ambiguities is zero. To account for the risk of cycle jumps (nonlinear and non-Gaussian model), the time constant of the smoothing filter is limited, as it naturally tends towards infinity. Indeed, if the time constant is too large, the effect of the cycle jump on the filtered pseudo-distance lasts a long time, until the filter converges and re-aligns with the code measurement (without jumps). In the case of repeated cycle jumps, with a low signal-to-noise ratio, the jumps will accumulate before the filter There may not be enough time for the code measurement to converge, which can introduce an unacceptable measurement error. For example, five cycle jumps result in a 1-meter error.
[0158] To limit the time constant, a non-zero state noise value is used.
[0159] Optionally, an Etp 5 and / or Etp6 step is then implemented by the receiver calculation module.
[0160] The tropospheric delay correction step Etp5 can then be applied to the pseudo-range measurement at the output of the Kalman filter for each satellite. This compensation is obtained by applying a classical model that depends, among other things, on the time of day and the geographical position of the satellite in question.
[0161] The Etp6 error correction step for "system" errors can then be applied to each satellite axis. These errors are related to the principle of GNSS. For example, the Sagnac effect is due to the time difference in the reception of two signals rotating in opposite directions. Other errors include the inaccuracy of atomic clocks. During this step, the relativistic effect is also corrected. These corrections are provided by the satellite in question through a navigation message containing the correction terms. These correction terms are common to the four measurements from the same satellite.
[0162] According to an alternative implementation method, the steps for correcting tropospheric delays Etp5 and system errors Etp6 can be carried out upstream of the Kalman filtering provided that these corrections are applied to the four pseudo-distance measurements.
[0163] Still for the calculation time tn, once these corrections have been made where appropriate on the smoothed pseudo-distance measurement, the calculation module estimates, in step Etp 7 and with reference to [Fig.3] [Fig.3], the position of the geopositioning receiver by combining the smoothed (or even corrected) pseudo-distances calculated for each satellite visible to the receiver using the resolution algorithm, PVT for Position, Velocity and Time " according to the Anglo-Saxon terminology and also taking into account the value of the coefficient p determined for each satellite in step Etp4.
[0164] Let us consider that it has been calculated thus, for the processing time tn and the ith satellite, i = 1 to N, the smoothed (and corrected) pseudo-distance measurement PDiisséei, the coefficient p;.
[0165] As stated previously, at least four pseudo-distances are required: therefore N > 4.
[0166] In the embodiment considered, we reduce to a differential case which allows us to linearize the problem to be solved, by considering the differences between the positioning point to be determined and a predetermined point, called the linearization point PO with known coordinates (x0, yo, z0, to).
[0167] In this step Etp 7, the calculation module solves the following equation:
[0168] Zaat Hpos sat-Xpos
[0169] The Hpos sat matrix linking Zsat to XpOS is £65¾ j 75.55 1 pj- 1 P, J 1 -
[0170] where ) direct cosines in the direction of the ith satellite.
[0171] In the system to be solved Zsat = HpOS sat-^pos, we consider: such as i = ~ Calculated distance, ■ WHERE Catade distance^ = v (¾ -x^)z + (v0 -y^j)2 + (¾ - j2
[0172] and (xsat c, Zvft t) ■ position of satellite i (known from the ephemeris)
[0173] H pos sot is always equal to rcosS^ £#5¾ < ™s.0yi 4 p.- ffJsSj.j COS'Sj;; 1 £050^
[0174] The solution to the problem is given by the least squares method:
[0175] Y" _ / LT t LT 1 1 LT t 7 pos ~ (npOS sat . / apOS sat) '^1pos sat sat
[0176] Taking into account the coefficients pi ... pN makes it possible to solve the position with the smoothed pseudo-code distance measurements of all the tracked satellites, from the moment when a code measurement on at least one of the two frequencies is available.
[0177] In one embodiment, prior to step Etp7, when the linearization point PO, assumed to be close enough to the actual position so that linearization errors are negligible, is not known, the latter is determined, for example from the four pseudo-distances, as known in the state of the art, for example by a non-linear resolution method, for example of the Bancroft type or by iterative resolution.
[0178] The invention thus makes it possible to mix single-frequency and dual-frequency measurements smoothed by a Kalman filter while taking into account the impacts of this mixing on the difference in propagation time between the two frequencies in a reliable and simple manner.
[0179] Indeed, the effect of ATPG on the output of the dual-frequency carrier-code smoothing filter cannot be predicted without taking into account the measurement history, which may have been mixed up. Only a calculation based on the filter gains allows for a reliable and simple estimation of the effect of ATPG.
[0180] In one embodiment, the computing module may include at least one (micro)processor and at least one memory in which a computer program, also called a computer program product, comprising software instructions, is stored. When executed on the microprocessor of the computing module, the steps incumbent upon the latter are then implemented. The computer program is further capable of being stored on a computer-readable medium, not shown. The computer-readable medium is, for example, a medium capable of storing electronic instructions and being connected to a bus of a computer system. By way of example, the readable medium is an optical disc, a magneto-optical disc, ROM, RAM, any type of non-volatile memory (for example, FLASH or NVRAM), or a magnetic card.A computer program containing software instructions is then stored on the readable medium.
[0181] Alternatively, the calculation module is implemented in the form of a programmable logic component, such as an FPGA (Field Programmable Gate Array), or an integrated circuit, such as an ASIC (Application Specified Integrated Circuit).
Claims
1. Demands A satellite geopositioning method implemented by a geopositioning terminal using N satellites, with N > 4, each emitting dual-frequency electromagnetic geopositioning signals on two different frequencies Fa, Fb, each of said signals being formed from a carrier frequency modulated by a spreading code, said terminal comprising at least one receiving module configured to receive the electromagnetic signals from each satellite on two different frequencies and at least one processing module configured to process said signals, said method being characterized in that it comprises, for each geopositioning satellite, for each considered instant of a succession of considered instants of determination of the position of the geopositioning terminal: a calculation step (Etpl), in nominal mode, of four pseudodistances,a pseudo-distance is calculated from each element among the two codes and the two carriers of the received dual-frequency geopositioning signals; a correction step (Etp2) of the ionospheric delays on each pseudo-distance calculated by applying an ionospheric error propagation model; a carrier code smoothing step (Etp4) using a Kalman filter whose measurement vector includes the four corrected pseudo-distances and whose state vector includes a single smoothed pseudo-distance measurement, said carrier code smoothing step using a Kalman filter having the function of correcting measurement noise and ionospheric error residual and comprising two steps successively implemented on the state vector, to provide in the state vector thus propagated and recalibrated a single smoothed pseudo-distance measurement one of the two steps being a propagation step, depending on a propagation matrix; and the other of the two steps being a recalibration step, based on said measurement vector and a recalibration gain matrix; the position of the geopositioning terminal being estimated using the smoothed pseudo-distances calculated for each satellite; said geopositioning method being characterized in that: - said propagation matrix is further used to propagate another vector, called a fictitious state vector, of the same size as the state vector, said propagated fictitious state vector being further recalibrated according to said recalibration gain matrix and a fictitious measurement vector of the same size as said measurement vector and comprising components of constant predefined values, common to said instants of determination; - a coefficient, called the proportionality coefficient, indicating the ratio between a propagation difference between the two frequencies in the terminal and the bias induced by said difference on said smoothed pseudo-distance is determined according to the component of the fictitious state vector of the same rank as the rank of the smoothed pseudo-distance in the state vector;- the position of the geopositioning terminal is estimated based on the aforementioned N pseudo-distances smoothed for the N satellites and the N proportionality coefficients determined for the N satellites.
2. A method according to the preceding claim, wherein, if the propagation time reference corresponds to the frequency Fa, the proportionality coefficient is determined as the result of the ratio between, on the one hand, the component of the fictitious state vector of the same rank as the rank of the pseudo-distance smoothed in the state vector and, on the other hand, the component of the fictitious measurement vector of the same rank as the rank, in the measurement vector, of the code pseudo-distance for the frequency Fb.
3. A method according to any one of the preceding claims, wherein the component of the dummy measurement vector of the same rank as the rank, in the measurement vector, of the pseudo-code distance for the frequency Fa, is fixed at 0.
4. A method according to any one of the preceding claims, wherein the two components of the dummy measurement vector of the same ranks as those in the measurement vector, of the pseudo-code and carrier distances for the frequency Fb, are set to 1, the other two being set to 0.
5. A method according to any one of the preceding claims, wherein if the pseudo-distances of one of the two frequencies of the measurement vector are not available for a time interval, a corresponding reduction in the dimensionality of the observation model implemented by the Kalman filter is performed during said interval, said reduction comprising a reduction of the number of components of each of the vectors among said measurement vector and said fictitious measurement vector.
6. A method according to any one of the preceding claims, wherein the position of the geopositioning terminal is estimated by solving the J “ JJ V system where each component of the XpOS vector is a function of a respective unknown among the position unknowns to be determined x, y, z, t, ATPG. The i = 1 component of the Zsat vector is a function of the smoothed pseudo-distance calculated for the i-th satellite, where if (cos8*pcosevt,cas9-x) are the direction cosines in the direction of the i-th satellite and p is the proportionality coefficient calculated for the i-th satellite at the time considered, the i-th line of HpOS sat comprises the components roçô, a constant, and
7. Pi- Computer program comprising software instructions which, when executed by a computer, implement a geopositioning method according to any one of claims 1 to 6.
8. Geopositioning terminal characterized in that it comprises at least one receiving module configured to receive electromagnetic geopositioning signals, said to be dual-frequency, emitted by at least four satellites on two different frequencies and at least one computing module configured to process said geopositioning signals and implement the geopositioning method according to any one of claims 1 to 6.