This application claims priority to French Patent Application No. 19 09209, filed on Aug. 14, 2019. The disclosure of the priority application is incorporated in its entirety herein by reference.
The present invention relates to a method for determining a wrong synchronization of a receiver with a satellite.
The present invention also relates to an associated receiver and computer program product.
The method according to the invention is carried out after a phase for acquiring a navigation signal from a satellite.
Such a satellite is part of a global navigation satellite system (GNSS).
In general, a GNSS system is made up of a plurality of satellites allowing a mobile receiver to determine its position in a land-based plane of reference, its speed and the time.
There are currently several GNSS systems, which in particular include the GPS system, the GLONASS system and the GALILEO system, which is expected to be brought into operational use soon.
The satellites of such a GNSS system are able to emit electromagnetic signals in particular comprising navigation information.
Each item of navigation information generally comprises data relative to the transmission time by the satellite of the corresponding signal and the current position of the satellite. In particular, the data relative to the current position of the satellite generally contain the almanac providing a rough position of the satellite and the ephemerids giving the exact current position of the satellite.
The item of navigation information is carried by a carrier wave and modulated by a spreading code specific to each satellite. Thus, the signals are transmitted by the satellites using a spread spectrum technique.
The receiver is able to receive the signals emitted by the satellites and to extract the navigation information therefrom in particular to determine the distance to the satellite that transmitted the corresponding signal. This distance, also called pseudo-distance, is determined by analyzing the propagation delay of the corresponding signal.
To determine its position, its speed and the time, the receiver performs a digital processing of the navigation information from at least three different satellites.
In practice, to have a more precise position, the receiver needs navigation information from at least four different satellites.
More specifically, to acquire the navigation information from a given satellite, the receiver implements two phases processing the signals from this satellite.
During an initial phase, called acquisition phase in the state of the art, the receiver generates a local signal in particular containing a local spreading code showing the image of the spreading code of the satellite.
Since the receiver does not initially know its position, the local signal is not synchronized with the received signal. This in particular means that the local signal is carrier frequency-shifted from the received signal by a value called Doppler value, and the spreading code of the received signal is delayed from the local spreading code by a value called delay value.
The receiver then searches for a peak in the correlations between the local signal and the received signal by trying different Doppler and delay values.
When a peak is detected, the receiver determines the Doppler and delay values corresponding to this peak and, from these values, launches a following phase, called tracking phase in the state of the art.
During the tracking phase, the receiver regularly updates the Doppler and delay values, and extracts the item of navigation information from the signal transmitted by the satellite in particular using the local spreading code and the determined Doppler and delay values.
At the end of the acquisition phase, the receiver is considered to have synchronized itself with the satellite, or has “locked on” to the satellite.
This in particular means that the receiver was able to find the Doppler and delay values relative to this satellite to initiate the tracking phase.
Sometimes, the receiver synchronizes its local signal corresponding to the desired satellite with the signal received from another satellite, which leads to an incorrect distance measurement, and therefore potentially an inaccurate position.
In this case, this is a wrong synchronization, or a false “lock”.
This for example occurs when the correlation between the local signal and the signal received from the sought satellite provides less energy than the correlation with the signal received from another satellite, due to a large received power deviation.
Different methods exist in the state of the art making it possible to avoid such a wrong synchronization.
Thus, one method, used conventionally, consists of verifying the consistency between the position of the satellite computed from ephemerids contained in the item of navigation information and that computed from the almanac, containing the identifiers of the satellites, unlike the ephemerids. An inconsistency between these values therefore indicates a wrong synchronization.
However, this method is not fully satisfactory. In particular, it requires collecting all of the ephemerids contained in the navigation information, which is relatively time-consuming. In practice, this may take up to two minutes.
One can then see that this is detrimental to the operation of the receiver, in particular after the satellite is hidden and a re-acquisition occurs, and does not make it possible to ensure continuous service.
Also known is a method for detecting a wrong synchronization described in document FR 3,043,790 that uses the algebraic properties of spreading codes. This then makes the implementation of this method dependent on the spreading codes used.
Also known is a method for detecting a wrong synchronization described in document FR 3,047,567 that consists of comparing the power of the signals received over several correlation paths.
The present invention aims to improve the methods, and in particular to detect a wrong synchronization quickly, effectively and independently of the spreading codes used.
To that end, the invention relates to a method for determining a wrong synchronization of a receiver with a satellite during a phase for acquiring a navigation signal coming from this satellite, the satellite belonging to a global navigation satellite system;
the navigation signal comprising a data channel including an item of navigation information modulated by a data spreading code specific to this satellite and carried by a carrier wave, and a pilot channel including a pilot spreading code specific to this satellite and carried by a carrier wave;
during the acquisition phase, the receiver being able to receive the navigation signal, called received signal, transmitted by the satellite, to generate a local data signal including a local image of the data spreading code and a local image of the carrier wave, and to generate a local pilot signal including a local image of the pilot spreading code and the local image of the carrier wave;
the method being implemented after the acquisition phase during a convergence phase and comprising at least one of the following steps:
the convergence phase further comprising the following step:
According to other advantageous aspects of the invention, the detection method comprises one or more of the following features, considered alone or according to all technically possible combinations:
where
where
where
The invention also relates to a computer program product including software instructions which, when implemented by computer equipment, carry out a method as defined above.
The invention also relates to a receiver carrying out the method as previously defined.
These features and advantages of the invention will appear upon reading the following description, provided solely as a non-limiting example, and done in reference to the appended drawings, in which:
In reference to this
The total number of satellites Satn is for example equal to 30.
The index n corresponds to an identifier of each satellite Satn, and for example varies between 1 and 30.
Each satellite Satn is able to transmit electromagnetic signals S toward part of the Earth's surface 14 that it is flying over.
In particular, the satellites Satn are arranged such that at least four satellites Satn are able to transmit electromagnetic navigation signals S toward substantially each point of the Earth's surface 14.
The current position of each satellite Satn is characterized by the ephemerids relative to this satellite or by the almanac thereof.
As is known in itself, the ephemerids make it possible to determine the exact position of the satellite Satn, while the almanac provides a rough position.
Each signal S transmitted by each of the satellites Satn comprises a data channel including an item of navigation information.
In particular, such a signal S comprises an item of navigation information modulated by a data spreading code Cnd(ϕc) specific to the satellite Satn having transmitted this signal.
The modulated navigation information is carried by a carrier wave exp(−jϕp) using a technique known in itself.
Each signal S transmitted by each of the satellites Satn further comprises a pilot channel including a pilot spreading code Cnp(ϕc) specific to the satellite Satn having transmitted this signal.
Each item of navigation information in particular comprises the transmission time of the corresponding signal, the ephemerids and the almanac of the satellite Satn at the time of transmission of the signal S.
Each data Cnd(ϕc) or pilot Cnp(ϕc) spreading code has a binary code of the pseudorandom noise (PRN) type.
Each data Cnd(ϕc) or pilot Cnp(ϕc) spreading code is a periodic code with a code period denoted Lc and expressed as a whole number of reference units.
The reference unit is for example a chip whose duration is denoted Tchip and expressed in seconds.
A “chip” refers to a reference unit corresponding to a slot of a code of the pseudorandom type.
Over the duration of each reference unit, or chip, the spreading code assumes a constant value equal either to +1 or to −1.
The data Cnd(ϕc) or pilot Cnp(ϕc) spreading codes are characterized by their autocorrelation functions Rn,n respectively determined using the following formulas:
In particular, at point τ=0, called reference point, the autocorrelation function Rn,n assumes its maximum value Vmax. For τ≤−Tchip and τ≥Tchip, the autocorrelation function Rn,n assumes very small values V in view of Vmax, i.e., V<<Vmax.
The data Cnd (ϕc) or pilot Cnp(ϕc) spreading codes corresponding to the different satellites Satn are quasi-perpendicular. In other words, the inter-correlation function Rn,j between each pair of different spreading codes Cnd(ϕc) and Cid(ϕc) or Cnp(ϕc) and Cip(ϕc) assumes negligible values V in view of Vmax, the inter-correlation functions Rn,j for these codes respectively being determined by the following formulas:
Each data spreading code Cnd(ϕc) makes it possible to modulate the navigation information transmitted by the satellite Satn.
Each signal from a satellite Satn is demodulated using a spreading code that is the local image Cnd(ϕcloc) of the data spreading code Cnd(ϕc) or the local image Cnp(ϕcloc) of the pilot spreading code Cnp(ϕc) corresponding to this satellite.
These signals are demodulated using different techniques for transmitting complex signals known in themselves.
According to the “CDMA (Code Division Multiple Access) Multiplexing” technique, each complex signal is sent via two carrier waves at the same frequency and synchronously. In this case, the composite spreading code corresponds to the sum of the corresponding data Cnd(ϕc) and pilot Cnp(φc) spreading codes.
According to the example embodiment described below, the positioning system 10 is the GPS system (Global Positioning System).
Of course, other example embodiments are also possible.
The signals S transmitted by at least some of the satellites Satn are received by a receiver 20.
The receiver 20 is for example a portable electronic device.
The receiver 20 is for example able to move on or near the Earth's surface 14 with a variable speed.
The receiver 20 is able to receive signals S from satellites Satn, and to extract the navigation information from these signals S to deduce its current position, its current speed and the time, as will be explained later.
The receiver 20 is illustrated in more detail in
Thus, in reference to this
The modules 24, 26, 28 and 30 for example assume the form of software programs that are implemented by the hardware resources provided to that end, such as a processor, random-access memory, read-only memory, etc. The hardware resources are for example battery-powered.
In particular, the read-only memory of the receiver 20 is able to store images of the data Cnd(ϕc), and optionally pilot Cnp(ϕc), spreading codes of each satellite Satn.
The antenna 22 is able to receive electromagnetic signals Sr corresponding to the signals S transmitted by the satellites Satn when the latter are in range of its visibility.
The control module 30 is able to control the operation of the modules 24, 26 and 28.
The acquisition module 24 is able to carry out an acquisition phase for the signals Sr using techniques known in themselves.
The tracking module 26 is able to carry out a tracking phase for the signals Sr using techniques known in themselves.
Lastly, the detection module 28 is able to carry out a convergence phase, which is transitional between the acquisition phase and the tracking phase. The convergence phase in particular comprises a method for detecting a wrong synchronization according to the invention. This method will be described in detail below.
The operation of the receiver 20 will now be explained.
Each time the receiver 20 is started, the control module 30 initiates a plurality of acquisition channels for all of the satellites Satn. Each of these channels makes it possible to acquire the item of navigation information from the satellite Satn with which it is associated, when this satellite Satn is in the visibility range of the antenna 22.
The operation of the receiver 20 on each acquisition channel is substantially similar. Thus, only the operation of the receiver 20 on one channel will be explained below.
This channel is for example associated with the satellite Satn, hereinafter called sought satellite. It is further assumed that the satellite Satn is situated in the visibility range of the antenna 22 and that this satellite is able to transmit navigation signals.
The receiver 20 generates a local data signal Slocd including a local carrier wave exp(−jφploc) and a local data spreading code Cnd(ϕcloc) corresponding to a local image of the data spreading code Cnd(ϕc) of the sought satellite.
The local data signal Slocd as a function of time t is then written in the following form:
Slocd(t)=exp(−jϕploc(t))·Cnd(ϕcloc(t)),
with j2=−1.
The receiver 20 further generates a local pilot signal Slocp including a local carrier wave exp(−jϕploc) and a local pilot spreading code Cnp(ϕcloc) corresponding to a local image of the pilot spreading code Cnp(ϕc) of the sought satellite.
The local pilot signal Slocp as a function of time t is then written in the following form:
Slocp(t)=exp(−jϕploc(t))·Cnp(ϕcloc(t)),
with j2=−1.
Then, the control module 30 launches the execution of the acquisition phase, which is then carried out by the acquisition module 24.
In particular, during the acquisition phase, the acquisition module 24 determines a Doppler value and a delay value of the received signal Sr relative to the local data Slocd or pilot Slocp signal.
The Doppler value corresponds to the frequency shift of the local carrier wave exp(−jϕploc) relative to the carrier wave exp(−jϕp) of the received signal Sr.
The delay value corresponds to the delay of the pilot spreading code Cnp(ϕc) of this received signal relative to the local pilot spreading code Cnp(ϕcloc).
The delay values are determined using known techniques that in particular comprise computing three types of correlations.
A first type of correlation, called periodic correlation, consists of computing correlations between the received signal Sr and the local data Slocd or pilot Slocp signal.
A second type of correlation, called advance correlation, consists of computing correlations between the received signal Sr and a signal corresponding to the local data Slocd or pilot Slocp signal in which the local spreading code Cnd(ϕcloc+d) or Cnp(ϕcloc+d) is shifted forward by a value d comprised between 0 and Tchip.
A third type of correlation, called delay correlation, consists of computing correlations between the received signal Sr and a signal corresponding to the local data Slocd or pilot Slocp signal in which the local spreading code Cnd(ϕcloc−d) or Cnp(ϕcloc−d) is delay-shifted by the same value d.
At the end of the acquisition phase, the receiver 20 synchronizes the local data Slocd or pilot Slocp signal with the signal S transmitted by the sought satellite Satn by using the determined Doppler and delay values.
Then, the control module 30 launches the execution of the convergence phase, and in particular of the method for detecting a wrong synchronization. This method is in particular carried out by the detection module 28.
The convergence phase enslaves the delay value of the local spreading code Cnd(ϕcloc) or Cnp(ϕcloc) and the Doppler value of the local carrier wave exp(−jϕploc), on the received signal Sr, using code and carrier tracking loops, in particular owing to the three aforementioned types of correlation.
This transitional phase makes it possible to cause the local spreading code Cnd(ϕcloc) or Cnp(ϕcloc) and the local carrier wave exp(−jϕploc) to coincide precisely with the spreading code Cnd(ϕc) or Cnp(ϕc) and the carrier wave exp(−jϕp) of the received satellite signal Sr.
Furthermore, the detection method carried out during this phase makes it possible to detect a wrong synchronization of the corresponding acquisition channel with a satellite Satp other than the sought satellite Satn.
In particular, when a wrong synchronization occurs, the Doppler and delay values determined by the acquisition module 24 correspond to the signal S transmitted by a satellite Satp other than the sought satellite Satn.
One can then see that in this case, the signals Slocd or Slocp and S cannot be synchronized correctly. This is therefore a wrong synchronization and a false lock.
When the detection module 28 detects a wrong synchronization, the control module 30 launches the acquisition phase again.
When the detection module 28 does not detect a wrong synchronization, the control module 30 launches the tracking phase, which is then carried out by the tracking module 26.
In particular, during the tracking phase, the tracking module 26 regularly updates the Doppler and delay values, which allows it to demodulate the received signal Sr and extract the corresponding item of navigation information therefrom. It subsequently sends this information to the control module 30.
Lastly, the control module 30 consolidates all of the information acquired by the set of acquisition channels and deduces the position of the receiver 20, its speed and the time therefrom.
The method for detecting a wrong synchronization will now be explained in detail in reference to
In particular, this method comprises steps 110, 120 and 130 each corresponding to a criterion for a wrong synchronization. These criteria are next compared with predetermined thresholds during step 140, which then makes it possible to conclude whether a wrong synchronization has occurred.
Steps 110 to 130 are independent of one another and can therefore be implemented in parallel or consecutively. In one particular embodiment, at least some of these steps are implemented by using the results of previous calculations in particular done during the acquisition phase.
Furthermore, during the embodiment described below, the three steps 110 to 130 are implemented and the three criteria are therefore compared with the corresponding thresholds during step 140.
According to another exemplary embodiment, only two steps among the steps 110 to 130 are implemented and the two criteria are therefore compared with the corresponding thresholds during step 140.
According to still another exemplary embodiment, only one step among the steps 110 to 130 is implemented and the obtained criterion is therefore compared with the corresponding threshold during step 140.
Before the implementation of steps 110 to 140, the detection module 28 determines a plurality of correlation intervals that are for example the same for all of these steps.
Each correlation interval is thus called reference interval and will be identified hereinafter by the index m varying between 1 and N, N being the total number of reference intervals over the duration of the convergence phase.
The reference intervals for example have substantially the same duration T, which is for example equal to 20 ms. This duration T will be called reference value hereinafter.
During step 110, the detection module 28 determines a first value v1 corresponding to the anisotropy of the covariance matrix between the pilot and data channels.
In particular, during this step 110, the detection module 28 first determines a plurality of pilot channel periodic correlations Zp(m) and a plurality of data channel periodic correlations Zd @TO.
These periodic correlations Zp(m) and Zd @TO are determined as follows:
where
Slocp, Slocd and Sr respectively correspond to the local pilot signal, local data signal and received signal, as previously explained; and
X* means conjugate of the complex number X.
Then, the detection module 28 determines a covariance Pp, of the pilot channel periodic correlations Zp(m), a covariance Pdd of the data channel periodic correlations, a covariance Ppd of the pilot channel periodic correlations and data channel periodic correlations and a reference power Pref.
These values are defined as follows:
where
Re[X] is the real part of the complex number X;
ϵ(m)=±1 is the secondary code of the pilot channel; and
θ(m) is the estimate of the phase of the complex number Zp(m) done owing to the carrier phase loop.
Lastly, the detection module 28 determines the first value v1 as follows:
where σ2 is the variance of the noise of (Ppp−Pdd) and 2Ppd.
The first value v1 follows a law of X2 with two degrees of freedom.
During step 120, the detection module 28 determines a second value v2 by using a plurality of pilot channel partial correlations Zpp(m, p).
Each partial pilot channel correlation Zpp(m, p) corresponds to a periodic correlation on an integration interval of length equal to a fraction of the reference value T between the received signal Sr and the local pilot signal Slocp.
In the notation Zpp(m, p), the number p determines the type of the partial correlation. The number p varies between 1 and P, the number P referring to the number of fractions of the reference interval, which, in the described example, is equal to 4. Furthermore, these fractions all have a same duration, which is then equal to T/4.
Thus, each pilot channel partial correlation Zpp(m, p) is determined as follows:
Lastly, the second value v2 is determined by using the following relationship:
The second value v2 follows a law of X2 with three degrees of freedom.
In a variant, it is possible to determine the second value v2 by also using data channel partial correlations that are determined similarly to that used to determine the pilot channel partial correlations.
In this case, the second value v2 is determined as follows:
where the value Sumd is determined similarly to that of the value Sump but using data channel partial correlations.
During step 130, the detection module determines a third value v3 as a function of a plurality of shifted pilot channel correlations Zpd(m, τ).
In particular, each shifted pilot channel correlation ZPd(m, τ) corresponds to a shifted correlation between the received signal Sr and a shifted local signal Slocdp, corresponding to the local pilot signal Slocp in which the local image of the pilot spreading code Cnp(ϕcloc) is shifted by an integer number of chips.
Thus, each shifted pilot channel correlation Zpd(m, τ) is determined as follows:
with j2=−1 and τ=kTchip, where the number k varies between −K and K and is different from 0, the number K indicating the maximum number of shifts used in one direction.
In the described example, four types of shifted correlations respectively corresponding to k=+2, +1, −1 and −2 are determined. These correlations are said to be very advanced or very delayed based on the sign of k.
According to other exemplary embodiments, only very advanced correlations or very delayed correlations are used.
The third value v3 is determined as follows:
where
the values ϵ(m) and Pref are previously defined; and
σ2 is the variance of the noise of each of the functions Ip+k(p).
The third value v3 follows a law of X2 with four degrees of freedom.
In a variant, like in the preceding case, it is possible to use shifted data channel correlations. In this case, the values Ip+k(p) for the shifted data channel correlations will be determined similarly to that used in order to determine these values for the shifted pilot channel correlations.
During step 140, the detection module 28 analyzes the values v1, v2 and v3 to detect a wrong synchronization.
In particular, when at least one of these values v1, v2 and v3 exceeds a predetermined threshold for this value, the detection module 28 detects a wrong synchronization.
One can then see that the present invention has a certain number of advantages.
Indeed, the invention makes it possible to detect a synchronization phase with a satellite independently of the type of spreading codes used.
This detection is done with a high likelihood, which makes the invention particularly effective.
Additionally, the invention has particular advantages when the global system 10 is the GALILEO system, and in particular when the receiver according to the invention is used to receive so-called “open” signals from the band L1.
It is known in this case that the used data or pilot spreading codes are periodic at 4 milliseconds.
Thus, there is no need to recalculate the partial correlations during step 120 when the number P is equal to 4, that is to say when the partial correlations are calculated over a quarter of the reference interval, or 1 millisecond, since these correlations have already been calculated over time intervals of 1 millisecond, corresponding to an integration time commonly used in the satellite channels of the receivers.
Lastly, it has been observed that the data or pilot spreading codes of said signals have particular properties. In particular, their autocorrelations are nil or quasi-nil at −2 chip, −1 chip, +1 chip and +2 chip around the main autocorrelation peak. This then makes the third value v3 particularly representative of a false lock when K=2.
Number | Date | Country | Kind |
---|---|---|---|
19 09209 | Aug 2019 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
20050195789 | Akopian | Sep 2005 | A1 |
20070274374 | Abraham | Nov 2007 | A1 |
20110103432 | Tangudu et al. | May 2011 | A1 |
20120281735 | Martin | Nov 2012 | A1 |
20170227652 | Martin | Aug 2017 | A1 |
Number | Date | Country |
---|---|---|
2974914 | Nov 2012 | FR |
3043790 | May 2017 | FR |
3047567 | Aug 2017 | FR |
Entry |
---|
M.S. Braasch et al., GPS receiver architectures and measurements, Proceedings of the IEEE, vol. 87(1), p. 48-64, Jan. 1999 (Year: 1999). |
B.A. Siddiqui et al., Joint Data-Pilot Acquisition and Tracking of Galileo E1 Open Service Signal, Ubiquitous Positioning Indoor Navigation and Location Based Service (UPINLBS), IEEE, 7 pages, 2010 (Year: 2010). |
Y. Zaixiu et al., Chinese Journal of Aeronautics, vol. 26(3), p. 751-765, 2013 (Year: 2013). |
Shanmugam, S., et al.,“GPS L5 Cross-correlation Detection in WAAS G-III Reference Receiver”, GNSS 2012—Proceedings of the 25th International Technical Meetings of the Institute of Navigation (ion gnss 2012), Institute of Navigation, XP056008450, pp. 1369-1378, (Sep. 21, 2012). |
French Search Report issued by the French Patent Office in corresponding French Patent Application No. 1909209, dated Apr. 8, 2020. |
Bouvet, D. et al., “Proposal of Acceptable Means of BOC (1,1) False Locks Mitigation for DFMC SBAS Equipment”, GNSS 2018—Proceedings of the 31st International Technical Meeting of the Satellite Division of the Institute of Navigation, XP056014988, pp. 1661-1674, (Sep. 28, 2018). |
Number | Date | Country | |
---|---|---|---|
20210048536 A1 | Feb 2021 | US |