The present invention concerns the field of radio-navigation or positioning by satellite, in particular a method of geopositioning that uses assistance data calculated using a network of reference receivers. The invention further concerns a method for calculating the required assistance data. The scope of the invention is notably the reception of radio-navigation signals emitted by the transmitters of a satellite positioning system, for example. GPS (“Global Positioning System), Galileo, Glonass, QZSS, Compass, IRNSS, etc.
In general, the radio-navigation signals transmitted by satellites (or pseudolites) in a positioning system have the form of a carrier modulated by a spreading waveform containing a pseudo-random binary code. The modulation of the carrier causing the spread of the spectrum around the carrier frequency, the radio-navigation signals are often called “spread spectrum” signals. The pseudo-random codes represent an identifier of the signal and, therefore, of the satellite transmitter. Known by the receivers, they allow these a Code-Division Multiple Access (CDMA). Subsidiarily, some satellite positioning signals can also carry useful data (e.g. the navigation message) as a binary sequence (at much lower rate than the pseudo-random code) additionally modulated on the carrier.
In the case of GPS, the radio-navigation signals are transmitted in the frequency bands L1, centred on 1575.42 MHz, and L2, centred on 1227.6 MHz. As part of the modernisation of GPS, the L5 band, centred on 1176.45 MHz, will be added. The Galileo constellation satellites will transmit in the bands E2-L1-E1 (the portion of the median L1 band is the same as that of GPS), E5a (which, according to the Galileo nomenclature, represents the L5 band scheduled for GPS), E5b (centred on 1207.14 MHz) and E6 (centred on 1278.75 MHz). Note that satellites of the Compass constellation transmit or will transmit in the band B1 (centred on 1561.098 MHz), B1-2 (centred on 1589.742 MHz), L1 (centred on 1575.42 MHz), B2 (centred on 1207.14 MHz) and B3 (centred on 1268.52 MHz). The centre frequencies are the carrier frequencies of the various signals.
The reception of a radio-navigation signal typically includes a first demodulation using an internal replica of the carrier generated in the receiver by an oscillator driven by a carrier tracking loop and a second demodulation using an internal replica of the spreading waveform produced by a waveform generator controlled by a spreading waveform tracking loop (also called “code tracking loop”). The control signals of the carrier tracking loop and the spreading waveform are used by the receiver to determine its position. The signal of the phase difference between the signal carrier received and the internal carrier replica produced at each time step by the carrier tracking loop provides a first observable (the phase observable or measurement). The signal delay between the spreading waveform of the received signal and the replica internal spreading waveform produced at each time step by the tracking loop spreading waveform is a second observable (the code observable or measurement).
The elementary measurements that a receiver can make thus include code measurements and carrier phase measurements. These elementary measurements can obviously be combined. The code measurements are accurate to the order of the metre whereas the phase measurements are accurate to a few mm. However, the phase measurements have the disadvantage that they deliver only the real part of the difference in carrier phase between the emission by the satellite and the receiver. The phase measurements are therefore ambiguous in the sense that the number of integer cycles between the transmitter (the satellite) and the receiver is unknown at the start. In order to be able to benefit from the accuracy of the phase measurements, a receiver must resolve the ambiguities by which they are vitiated.
The resolution of the phase ambiguities is commonly done by differentiation of the phase measurements (single or double differentiation). This differentiation enables (not modelled) error sources common to several measurements to be eliminated, and thereby allows an integer information to be revealed, which, when taken into account, further improves performance. However, this integer information consists of the differences between one or more elementary phase ambiguities and does not generally enable one to work back to the elementary phase ambiguities.
Patent application FR 2 914 430 describes a method that solves, in a consistent manner, the phase ambiguities on a network of reference receivers with the aid of dual frequency observations (i.e. code and phase measurements on at least two distinct frequencies). At the same time, this method produces a set of satellite clocks that can be used as assistance data by a dual-frequency receiver external to the network (e.g. that of a user who wishes to know his position). These clocks have the particular property of highlighting entire phase ambiguities when one solves the positioning equations obtained by “elementary” measurements, i.e. neither differentiated between satellites nor between receivers. The disadvantage of the method of the application FR 2 914 430 is that it can only be applied by dual-frequency receivers.
The invention provides a method for geopositioning that allows a receiver to remove its phase ambiguities without necessarily resorting to multi-frequency observations. The invention further provides a method for determining the assistance data required for such a geopositioning method.
In general, the invention comprises two aspects. First, it comprises a method that takes place at the level of a network of reference receivers (stations) in which is determined additional information (assistance data), with the help of which a user receiver that is not part of the network can resolve the phase ambiguities. Furthermore, the invention comprises the method that is executed at the level of a receiver that does not necessarily form part of the network and that uses the additional information worked out using the network of reference stations and made available by any means of communication.
For reasons of clarity, the method of determining assistance data is treated first. In the following, we will assume that the radio-navigation signals come from a set of radio-navigational satellites, each broadcasting at least a first radio-navigation signal on a first frequency and a second radio-navigation signal on a second frequency distinct from the first.
The method of determining assistance data comprises the actions:
Preferably, the iono-free transmitter clock values associated with the consistent resolution of the ambiguities as well as the smoothed transmitter parts of the said measurement residues are provided to receivers outside the network as assistance data.
According to a preferred mode of operation of the invention, the method comprises, for each satellite of the set of satellites, the action of calculating a transmitter clock value associated with the carrier code shift combination as the sum of the iono-free transmitter clock value and the smoothed measurement residue.
Preferably, the transmitter clock values associated with the carrier code shift combination are made available to receivers outside the network as assistance data, for example by a means of telecommunication, such as the Internet, terrestrial broadcasting or by satellite, etc.
The smoothing of the transmitter parts of the said measurement residues can be made each time by fitting a sine function of a period of 12 hours on the transmitter part to be smoothed. This can be done notably by means of a least squares method.
Advantageously, the method for determining assistance data is implemented in a computer program product comprising carrier means (computer memory, hard disk, optical or radio waves, etc.) containing a computer program code configured to implement the method when the program is run on a computer.
In regard to the first aspect of the invention, a method for geopositioning comprises, at the level of a radio-navigation signal receiver, the actions of:
The data sufficient to reconstruct the transmitter clock value associated with the carrier code shift combination preferably comprise the satellite clock value associated with the carrier code shift combination itself Alternatively, the data sufficient to reconstruct the transmitter clock value associated with the carrier code shift combination value can comprise the iono-free transmitter phase clock values associated with the consistent resolution of the ambiguities as well as the smoothed transmitter parts of the measurement residues obtained by a method as described above.
The methods according to the invention are considered particularly advantageous for the L5 frequency band (the first frequency in this case being 1176.45 MHz). Alternatively, the first frequency could be 1575.42 MHz, 1227.6 MHz, 1207.14 MHz 1278.75 MHz 1561.098 MHz 1589.742 MHz 1207.14 MHz or 1268.52 MHz.
Advantageously, the geopositioning method is implemented in a computer program product comprising carrier means (computer memory, hard disk, optical or radio waves, etc.) containing a computer program code configured to implement the method.
Preferably, the geopositioning method is implemented in a satellite geopositioning device, commonly known as a GNSS (“Global Navigation Satellite System”) receiver.
The geopositioning process can be implemented as an a posteriori process or as a real-time process.
Other characteristics and features of the invention will become apparent from the detailed description of a preferred method of implementation given below, for illustration, with reference to the accompanying drawings. These show:
A navigation signal receiver can perform (non-ambiguous) code measurements and phase measurements (ambiguous by an integer number of cycles) on the radio-navigation signals it receives from various visible satellites (i.e. satellites above the horizon). A multi-frequency receiver can perform these measurements on at least two distinct frequencies f1 and f2. Assuming a dual-frequency receiver, one therefore has, for each visible satellite and at each time step, two code measurements, denoted P1 and P2, and two phase measurements, denoted L1 and L2, on frequencies f1 and f2. At each time step (tk), one therefore obtains, in a receiver, a set of code measurements P1j(tk), P2j(tk), L1j(tk) and L2j(tk), where the superscript (j) indicates the satellite, whose signal is received by the receiver. As the satellites orbit the Earth, only some of them are visible at a given time from the location of the receiver. For ease of notation, the dependence of time and the satellite index will not always be explicitly stated in the following.
We use the following notations:
where c is the speed of light. For the L1 and L2 bands of the GPS system, we have, for example: f1=154 f0 and f2=120 f0, where f0=10.23 MHz. By convention, the code measurements P1, P2 are expressed in units of length, whereas the phase measurements L1, L2 are expressed in cycles.
The code measurements and phase measurements satisfy the following equations (measurements on the left, model parameters on the right):
P
1
=D
1
+e+ΔH
p,1
P
2
=D
2
+γe+ΔH
p,2
λ1L1=D1+λ1W−e+ΔH1−λ1N1
λ2L2=D2+λ2W−γe+ΔH2−λ2N2 (E1)
where
Obviously, a single-frequency receiver can only make one code measurement and one phase measurement per satellite and per time step. Without loss of generality, we may assume that these measurements are P1 and L1 (instead of P2 and L2).
One calls “iono-free” code combination and denotes Pc the combination of the code measurements that eliminates the ionospheric contribution:
An (ambiguous) “iono-free” phase combination can be defined analogously. The advantage of working with “iono-free” combinations resides mainly in the fact that the ionosphere is a relatively unknown source of error in the sense that the ionospheric contribution is difficult to model with adequate accuracy. However, the “iono-free” code and phase combinations are only available in a receiver that is at a minimum dual-frequency.
In a single-frequency receiver, it is nevertheless possible to eliminate the ionospheric contribution by using measurements on the single frequency, thanks to the combination, denoted hereinafter as Pe, that is called “carrier code shift combination” (also called GRAPHIC combination, which is the acronym of the term “GRoup and PHase Ionospheric Correction”) that uses the sum of the phase measurement and the code measurement. For the frequency f1, this combination can be written as the arithmetic mean of the code measurement and the phase measurement:
One therefore has:
The term ΔΘ=(ΔHp,1+ΔH1)/2 corresponds to the difference between a receiver clock associated with the carrier code shift combination (common to all channels of the receiver, denoted Θrec) and a transmitter clock associated with the rec, carrier code shift combination (which depends on the satellite, denoted Θeme). This transmitter clock Θeme is a priori unknown for each satellite (for each channel of the receiver), which is why the combination of carrier code shift was previously of little practical interest in the case of non-differentiated measurements between satellites.
It is the merit of the inventors to have recognised that the transmitter part of the term ΔΘ can be estimated in a consistent manner for all satellites. This estimation is carried out using a network of reference receivers (or reference stations). The transmitter part ΘemeΔΘ can be communicated to other receivers outside the network as assistance information. Thanks to this, a receiver that is external to the network can break down the term ΔΘ into its transmitter part Θeme and its receiver part Θrec, common to all channels, thereby reducing drastically the number of unknowns in the system of positioning equations. As the transmitter part Θeme of ΔΘ is determined consistently for all satellites, the solution of the system of positioning equations highlights the integer ambiguities of the phase measurements N1 for the different channels (i.e. for the different satellites).
We will now describe the method that determines the assistance data provided through a network of reference receivers, part of which is schematically shown in
It is necessary to define the second term on the right side of equation (E2) as the “iono-free” code clock difference, denoted by Δhp=hp,rec−hp,eme Similarly, we define an “iono-free” phase clock difference, denoted by Δh=hrec−heme. The system of equations (E1) thus becomes:
P
1
=D
1
+e+Δh
p+Δτp
P
2
=D
2
+γe+Δh
p+γΔτp
λ1L1=D1+λ1W−e+Δh+Δτ−λ1N1
λ2L2=D2+λ2W−γe+Δh+γΔτ−λ2N2, (E5)
where
With this new notation, we can express the carrier code shift combination as follows:
Note that the value of this combination (left side of equation (E6)) is calculated directly with the code and phase measurements (step S2 in
To calculate the values of Θeme for the different satellites, one determines, in a first step, the values heme in a consistent manner for the network of receivers. This method (step S3 in
The (non-ambiguous) phase differences between the emission of the signals by the satellite and the reception by the receiver can be written L1+N1 and L2+N2, where N1 and N2 represent the (integer) ambiguities. We set Nw=N2−N1, Nw being called the (integer) widelane ambiguity.
One calculates the ionospheric code delay by:
We set:
These quantities depend only on the measurements.
However, the code measurement noises are such that, at the scale of one pass (time of visibility of a satellite), the estimated Ñ1 and Ñ2 suffer from a noise of the order of tens of cycles. We use the code measurements to determine the widelane ambiguity.
We introduce the gross value Ñw (which is an estimated value) of the widelane ambiguity by:
Ñ
w
=Ñ
2
−Ñ
1 (E10)
Substituting (E5) in (E9) we find for Nw an expression of the form:
Ñ
w
=N
w
+d+μ
rec−μeme. (E11)
where μrec is a linear combination of τrec, τp,rec, hrec−−hp,rec, μeme is a linear combination of τeme, τp,eme, heme−hp,eme and d is proportional to the difference between D1 and D2. The value of d being generally less than 0.1 widelane cycles, this quantity can be neglected in what follows. By calculating the average over one pass, we have:
<Ñw>=Nw+<μrec>−<μeme> (E12)
On the scale of one pass, Ñw presents a sufficiently low noise (less than the fraction of cycle) to make a correct estimate of Nw and thus of μrec and μeme (the widelane bias μrec and μeme remain constant over long periods).
In the absence of additional hypotheses, this mixed integer-real problem is singular: it is possible to shift Nw by one integer if we change the difference μrec−μeme at the same time. Moreover, μrec and μeme are defined only to within one real constant.
The calculation process is started by choosing a first network station, preferably one where it is known that the μrec are stable over time. For this station, the value of μrec is fixed arbitrarily, for example by setting μrec=0. One then goes through the passes of the satellites that are visible from this station. For each pass, one has) Ñw=Nw−μeme, by definition from the first station (with μrec=0). One therefore breaks down (Ñw into an arbitrary integral quantity (e.g. the nearest integer number), denoted by Nw, and a quantity that is not necessarily an integer and that corresponds to the difference Nw−Ñw, denoted by μeme. This provides the μeme of the satellites that are visible from the first station.
For the set of satellites for which one now knows the internal delays μeme, one estimates the delays μrec of the other stations. This time, in the equation Ñw=Nw+μrec−μeme, the value of μeme is known. Ñw+μeme is then broken down into an arbitrary integer Nw (of the new station) and the corresponding station delay μrec. These steps are repeated for all satellites and all stations in the reference network. One thus obtains consistent values of μrec across the entire reference network. The values μeme can be considered constant over at least one day.
After the widelane ambiguity has been determined, the ambiguity N1 remains unknown.
Because the widelane ambiguity is known, solving the ambiguity of phase N1 or N2 (narrowlane ambiguity) is significantly easier, especially with regard to the precision of the required modelling.
The code measurements P1 and P2 depend on several factors including the geometric distance between the points of transmission and reception, the ionospheric effects, the tropospheric effects, and the transmitter and receiver clocks. To identify the remaining ambiguities, one needs to have a sufficiently accurate model of these quantities, which will require a comprehensive resolution for the network of receivers to be treated, because of the clocks.
We set:
where {circumflex over (N)}1 is an integer estimation of N1, for example the nearest integer to Ñ1. {circumflex over (N)}1 can be removed from the true value of N1 by ten or so cycles because of code measurement noise.
{circumflex over (Q)}c represents therefore an estimate of the non-ambiguous iono-free phase combination Qc (which is not directly measurable):
By setting δN1=N1−{circumflex over (N)}1, one obtains the system:
P
c
=D+Δh
p
Q
c
=D
w
+Δh+λ
c
δN
1, (E15)
where λc=(γλ1−λ2)/(γ−1), D=(γD1−D2)/(γ−1) (geometric distance between the phase centres, ionospheric contribution offset), and Dw=λcD
Instead of directly calculating N1, one first determines δN1. Doing this requires an accurate modelling of Dw, which in particular uses the following elements:
The parameters estimated by the filter are:
The filter can be in as least squares formulation or in Kalman formulation, which is more compatible with real-time processing. The input values used by the filter are the iono-free code and iono-free phase values, with their respective noise, which are the order of 1 m for the code and 1 cm for the phase.
After this step, one obtains estimates of the identified residues δN1 calculated by ({circumflex over (Q)}c−Dw−Δh)/λc. Examples of residues δN1 are shown in
This filtering step is used primarily to calculate correctly the term D, (geometric modelling). The clocks identified at this stage are subsequently used as initial values, thereby allowing the small clock variations to be worked on subsequently, but this is not essential.
With the value of Dw obtained by filtering, one now looks for the integer values of δN1 at the level of the reference network. Once again, one uses the equation
{circumflex over (Q)}
c
−D
w=λcδN1+hrec−heme, (E16)
where Dw now takes the value found by the filtering. Note that the equation has a global unobservability. Indeed, one can shift the values δN1 for a given transmitter and the corresponding values heme and/or hrec while keeping the equation valid:
{circumflex over (Q)}
c
−D
w=λc(δN1+α)+(hrec−λcα)−heme (E17)
At this stage, one iteratively calculates the values heme starting with a first station (a first reference receiver), whose clock is taken as the reference clock, and successively adding stations in order to complete the entire network.
For the first station, one chooses δN1=0 and hrec =0. This choice is arbitrary and results in a set of heme for the satellites that are visible from the first station, such that equation (E16) holds.
The addition of a station is carried out as follows. With the set of heme known before the addition of the station we calculate the residues δN1+hrec/λc which must be expressed as an integer value per pass (the δN1), and a real value for each time step (corresponding to the clock hrec of the added station).
Note that for a new station, the satellite clocks, and thus the residues δN1+hrec/λc are only known, a priori, for a part of the passes. But as δN1 is constant per pass (cycle breaks are included in {circumflex over (Q)}c−Dw), it can be extended to the entire pass. The times at which a given satellite is visible from a station correspond only partially to the times at which the satellite is visible from a neighbouring station. The greater the distance between stations, the shorter the length of common observation time. This implies that one always adds a station neighbouring with at least one of the previous stations.
Note that together with the set of integer δN1, one also obtains a set of consistent satellite clocks heme and receivers hrec, having the first station's clock as its reference clock.
Using the values {μemej} (valid for at least one day) and {hemej} (needing to be updated each epoch), a dual-frequency receiver outside the network can determine the ambiguities N1 for the satellites in view in an efficient manner.
On the other hand, to find the quantity Θeme, one must also know the transmitter part of the second term on the right side of the equation (E7), that is (hp,eme−heme+τp,eme+τeme)/2, which will be denoted Ceme hereafter. We furthermore define:
C
rec=(hp,rec−hrec+τp,rec+τrec)/2 and ΔC=Crec−Ceme.
In the network of reference receivers, the values of μrec, Nw, N1, hrec and heme are known thanks to the preceding calculations. The quantity ΔC is thus observable:
Note that ΔC corresponds to the measurement residue obtained by subtracting from the carrier code shift combination (i.e. from the term (P1+λ1L1)/2), the (modelled) geometric contribution which includes the distance and the windup effect (i.e. the term D1+λ1W/2), the contribution of the receiver and transmitter iono-free phase clock values (i.e. the term Δh) and the contribution of the ambiguity of the phase measurement (i.e. the term −λ1N1/2). One can calculate the receiver and transmitter parts Crec and Ceme of the measurement residue for example by the method of least squares at each time step (step S4 in
{ΔCij=Crec,i−Cemej}i,j, (E19)
which can be written {right arrow over (ΔC)}=Γ{right arrow over (x)}, where Γ is the matrix of partial derivatives and {right arrow over (x)} is the vector of the unknowns: {right arrow over (x)}=(Crec,1, . . . ,Crec,I,Ceme1, . . . ,CemeJ)T with i=number of receivers in the network and J=number of satellites.
Note once again that the Ceme depend only on the satellites whereas the Crec depend only on the receivers. Since the system (E19) includes one equation less than unknowns, we need to add a constraint equation, which fixes for example the sum or average of the Ceme to 0:
ΣjCemej=0 (E20)
The values Ceme that we find are very noisy because of the code noise on the measurements. Two examples of plots 26, 28 of Ceme are shown in
As assistance data, one finally has (step S6 in
A method for geopositioning in a receiver outside the reference network, which provides the values heme and C′eme is shown schematically in
In system (E21), the satellite indices were used to illustrate more clearly what terms are common to all the satellites (all the channels of the receiver). Note that the term hrec+Crec is common to all the receiver channels and is equivalent to a global clock, to be estimated at each time step (i.e. for each measurement). The phase ambiguity N1, which depends on the satellite, only takes a single value per pass (time of satellite visibility) if we assume that the observation is not interrupted during this time and that the phase jumps are detected and included in the phase measurement L1. It is worth noting that it is sufficient for the receiver to know the values heme+C′eme; the values heme and C′eme do not therefore need to be transmitted separately. Note also that hrec+Crec corresponds to Θrec as defined above; in the same way: heme+C′eme=Θeme.
If the receiver position and the corresponding tropospheric extension are known (i.e. if D1 is known), the quantities (P1λ1L1)/2 −λ1W/2−D1heme+Ceme aggregate around values separated by intervals equal to integer multiples of λ1/2.
If one wishes to determine the position of the receiver (D1 in this case being unknown at the start), we can, for example, solve a least squares problem over a certain period (e.g. a few hours) in which the following parameters are to be determined (step S10 in
The ambiguities can then be determined by a “bootstrap” mechanism: an ambiguity is fixed to an arbitrary integer, after which the other ambiguities aggregate around integer values and can be determined iteratively.
Using the information heme and C′eme, the carrier code shift measurement becomes an unambiguous observable, free from the ionospheric contribution (“iono-free”), and having a noise equal to half the code noise. The PPP (“Precise Point Positioning”) has an accuracy of 20 to 50 cm in purely stochastic positioning. Its accuracy increases rapidly if one performs a static positioning of the receiver by storing several minutes' worth of measurements. For example, one obtains a positioning accuracy of about 10 cm for a quarter of an hour of measurements and about 2 cm for half an hour of data (with a receiver that is not too affected by multipath). The boot time is around an hour.
This is a Divisional Application of U.S. Non-Provisional application Ser. No. 13/256,260 filed on Sep. 13, 2011, the disclosure of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 13256260 | Sep 2011 | US |
Child | 14733355 | US |