# Patent

## Title
Device for receiving satellite signals including a phase loop with delay compensation

## Abstract

Described is a device for receiving radio-navigation signals by satellite, said received signals being transmitted at a carrier frequency. The device includes at least means for generating a local signal at a local frequency and a tracking device including a feedback loop called carrier loop for phase-locking the local frequency on the carrier frequency. The loop includes a hardware portion and a software portion. The software portion performs the functions of discrimination of the phase of the correlated signal and filtering of said phase. The software portion also includes correlation functions mainly dependent on the linear variation coefficients between the local phases φlocal delivered after each basic computation cycle. The device makes it possible to increase the loop band and the dynamic stability without changing the pre-detection band and the workload of the software.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present Application is based on International Application No. PCT/EP2008/052826, filed on Mar. 10, 2008, which in turn corresponds to French Application No. 0701931, filed on Mar. 16, 2007, and priority is hereby claimed under 35 USC §119 based on these applications. Each of these applications are hereby incorporated by reference in their entirety into the present application.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The technical field of the invention is that of satellite radio-navigation. It concerns the current “GPS” system, GPS being an acronym for global positioning system, and the future “Galileo” system. The technical field involved is more particularly that of the demodulation means for the receptions systems.
2. Description of the Prior Art
Satellite radio-navigation makes it possible to obtain the position of a signal receiver by a resolution similar to triangulation, using the pseudo-distances measured on the basis of the signals sent by several satellites. Each satellite transmits a signal made up of a sinusoidal carrier, the frequency of which is between 1.2 and 1.6 GHz. This carrier is modulated by a binary spreading code, the frequency of which is between 1 and 10 MHz.
FIG. 1 represents a first transmitted signal S modulated by its spreading code C.E. The first graph of FIG. 1 represents the sinusoidal variations of the initial carrier P as a function of time t, the second represents the spreading code C.E., the third represents the carrier modulated by its spreading code S, the fourth the self-correlation function A of the local code, and finally the fifth graph represents its power spectrum as a function of the frequency f.
The carrier can also be modulated by data bits, the frequency of which is between 1 Hz and 50 Hz. The spreading sequence has a period varying from one millisecond to a week. It is specific to each satellite and the sequences are decorrelated between the different satellites, so that they can be dissociated in the received signal.
A signal transmits either a data signal alone, or a data signal and a “pilot” signal that is not modulated by data bits.
The receiver includes a receiving antenna and means of demodulating the signals transmitted by the visible satellites. These demodulation means correlate the signal received by the antenna with a local carrier and a local code specific to each satellite. It is the sequence of the local code, identical to that of the received satellite, which enables the receiver to choose the tracked satellite.
To synchronize the local code and the local carrier on the signal received from the satellite contained in the signal received by the antenna, the receiver uses in parallel two tracking devices which are a code loop and a carrier loop. The functional block diagrams of these loops are represented in FIG. 2 and are detailed hereinbelow.
The code loop is used to position a local code in phase with the code contained in the received satellite signal S so as to produce a correlation giving the maximum energy.
The carrier loop is used to lock the frequency or the phase of the local carrier with respectively the frequency or the phase of the received carrier, in order to maximize the result of the correlation.
The presence of a signal at the output of the correlation with a high amplitude, that is to say significantly greater than what the ambient noise would give in the absence of satellite signal, means that the local code and the local carrier are synchronized on the received signal, which makes it possible to measure, at each instant, the transmission time and the Doppler of the received signal, via the phase of the local code and the speed of the phase of the local carrier.
The initial synchronization of the phase of the local code and of the local carrier on the signal received from the satellite is performed in a preliminary “acquisition” phase. This phase is not detailed in this description because it represents a departure from the inventive device. It is well known to those skilled in the art and does not pose any particular difficulties. As a general rule, it consists in searching for energy by scanning an area of uncertainty code-wise and Doppler-wise until the correlation gives an adequate signal level.
More specifically, as indicated in FIG. 2, the code loop uses at least two correlation channels, with a local code leading and a local code lagging relative to the reference code of the one-off channel, the local carrier being common to all three channels. These correlation channels are represented by the three arrows issuing from the correlation integrator ICOR. The loop seeks to equalize the levels at the output of the two correlation channels by feedback on the phase of the local code using:

    
    
        a code generator GC;
        a correlation integrator ICOR which performs the integration of the correlation;
        a code discriminator DC which measures the energy difference between the two channels;
        a loop corrector CC which filters the discriminator and produces a speed correction;
        a numerical control operator, also called NCO, which converts the speed command into a local code phase.
    
    


When the two levels are equal, the reference code of the one-off channel is in phase with the received satellite code, which ensures a maximum of efficiency in the correlation on this channel, excluding the loss due to the Doppler effect, if the frequency of the local carrier is not correctly locked onto that of the received carrier.
There are two types of carrier loop: frequency loops and carrier phase loops.
A frequency loop is used to match the frequency of the local carrier with that of the received carrier, firstly to maximize the signal collected after the correlation and secondly to supply a Doppler measurement to the tracked satellite.
A phase loop is used to lock the phase of the local carrier onto the phase of the received carrier to within modulo 2π in order to improve the accuracy of the code measurement thanks to a smoothing of the code by the phase of the carrier. A phase loop provides much richer information than a frequency loop, because the trends of the measured carrier phase very accurately reflect the trends of the pseudo-distances, without drift, unlike the measurements of an integrated frequency loop. It is this property which is used to greatly enhance the accuracy of the code measurement by filtering over a very long time. The difference between the code pseudo-distance measurement and the carrier pseudo-distance measurement is filtered and then the phase measurement of this filtered difference is corrected to find a very accurate code measurement.
A carrier phase loop, also called PLL, standing for phase-locked loop, uses the one-off correlation channel and locks the phase of the local carrier onto the phase of the received carrier by a feedback on the local phase thanks to:

    
    
        a phase discriminator DP which measures the difference between the local phase and the received phase;
        a loop correlator CP which filters the discriminator and produces a speed correction;
        a carrier NCO which converts the speed command into a local carrier phase PL.
    
    


In fact, the NCO command is the image of the Doppler and the NCO produces a phase at the frequency fcode or fcarrier called heel, augmented by the Doppler speed command, positive or negative.
The performance criteria of the tracking loops are:

    
    
        accuracy;
        robustness. Robustness should be understood to mean the capacity of a loop to remain attached and therefore to limit the phase error within a bounded range. The factors affecting robustness are:
        
            the various noises that can be ambient thermal noise, noise due to interference, attenuation of the wanted signal, etc.;
            the dynamic range due to the movement of the carrier or to clock defects.
        
        
    
    


Thanks in particular to the smoothing of the code by the carrier, the accuracy of a few tens of centimeters of the code is generally sufficient as long as the phase loop remains attached.
Similarly, the carrier accuracy of a few millimeters is sufficient for most applications.
The code loop is assisted in speed by the carrier loop, the code NCO command being the sum of the output of the code corrector and of the carrier NCO command as can be seen in FIG. 2, this sum being symbolized by the ringed+symbol. The code loop can have a narrow bandwidth, the robustness of the code loop to noise and to dynamics being linked to that of the carrier. As long as the carrier remains attached, the code loop remains attached and the accuracy remains good. As for the robustness of the receiver, its weak point is therefore the carrier phase loop. To improve noise resistance, it would be necessary to minimize its bandwidth. To improve dynamic resistance, it would be necessary to maximize its bandwidth. A trade-off is therefore required.
In current receivers, the implementation of the tracking loops is divided into two components:

    
    
        one part working at high frequency implemented by electronic components of the ASIC or FPGA type, the working frequency ranging from 1 MHz to 100 MHz;
        one part working at low frequency implemented as software, the measurement frequency being situated around 50 Hz.
    
    


As an example, FIG. 3 represents a carrier loop. The hardware part is represented in the first broken-line rectangle on the left of FIG. 3. It comprises:

    
    
        a 0 order blocker B0;
        a carrier NCO which is in fact a Doppler speed-driven integrator generating the carrier local phase;
        a sine and cosine trigonometric function table generating the local carrier PL;
        a correlator Cor performing the correlation of the local signals with the received signal, symbolized by the ringed x symbol;
        integration means ICOR working on intervals of duration T coinciding with the low frequency of the software.
    
    


The software part is represented in the second broken-line rectangle on the right of FIG. 3. The software part handles the driving of the NCOs, based on the result of the correlation produced at low frequency by the hardware part. It mainly comprises a phase discriminator DP and a code loop corrector CP. Hereinafter in the description, T is used to denote the duration or cycle time of a basic task of the software.
The practical implementation of the tracking loops incurs two sources of delay:

    
    
        delay due to the time it takes for the software to compute the NCO command;
        delay due to the NCO which is driven speed-wise and not instantaneous phase-wise.
    
    


Since the code loop is assisted speed-wise by the carrier loop, it has a narrow bandwidth relative to the frequency of the loops, and these delays have no notable effect on the performance of the code loop.
However, the delays in the carrier loop have the unfortunate effect of rendering the behavior in closed loop mode unstable, which makes it necessary to maintain a small loop band in front of the pre-detection band BFI equal to 1/T which corresponds to the inverse of the working frequency of the software part. If the delays in the carrier phase loop are not compensated, a margin of stability between the pre-detection band and the loop band must be retained. This means having a smaller loop band and therefore a lesser dynamic resistance.
The delay due to the computation time can be minimized by optimizing the software architecture, but this incurs additional development costs, load peaks that are prejudicial to correct operation and uncertainty concerning the command application delay. FIG. 4 illustrates this delay. This figure represents the variations of the different phases as a function of the cycle time T. The time t is subdivided with N periods of duration T, each period being indexed nT, n being an integer. The first curve represents the local phase, the second curve represents the received phase. The trapezoid-shaped dotted area represents the argument of the complex signal Zp(n) obtained from the correlation integrator. The phase discriminator is represented by the angle θ(n). The slope of the local phase at the end of the computation time and during the application time is denoted C(n+1). As can be seen in this FIG. 4, the delay due to the computation time TC leads to an uncertainty concerning the command application delay.
The delay due to the homing of the NCO can be cancelled by instantaneously repositioning the phase at the output of the NCO based on a command that would no longer be speed-oriented but hop-oriented. This point is illustrated in FIG. 5 using the same notations as previously. However, this is not compatible with the Doppler and would mean having to drive the NCO both hop-wise and speed-wise, hence a more complex receiver.
SUMMARY OF THE INVENTION
The proposed method makes it possible to increase the loop band and therefore the dynamic resistance without changing the pre-detection band and therefore the workload of the software.
It also makes it possible to reduce the pre-detection band without reducing the loop band that is dimensioned for a specified dynamic profile. The benefit of reducing the pre-detection band is to increase the signal-to-noise ratio at the discriminator level, which is useful when using the extended arc tangent, which is a dimensioning element for the loop's robustness to noise. The trade-off between robustness to noise and robustness to dynamics is thus enhanced.
The device according to the invention makes it possible to compensate these various delays. More specifically, the subject of the invention is a device for receiving radio-navigation signals by satellite, said received signals being transmitted at a first frequency called carrier frequency, said device comprising at least means for generating a local signal at a second frequency called local frequency and a tracking device including a feedback loop, called carrier loop, for phase-locking the local frequency on the carrier frequency, said feedback loop including a hardware portion and a software portion, said hardware portion comprising at least one integrator which performs the correlation between the local signal and the received signal, the signal deriving from the correlation being called correlated signal, said correlation being performed at high frequency, said software part performing functions of discriminating the phase of the correlated signal and filtering said phase, the software portion working at low frequency, the duration of a basic computation cycle being denoted T, each cycle being indexed by an integer number n so that the duration of a cycle is contained in the time interval [(n−1)T, nT], the correlated signal at the instant nT being denoted Zp(n), the signal θ(n) deriving from the discrimination being equal to the argument of the product ZR(n) of Zp(n) by a complex exponential function ZC(n), the argument of which is a compensation term that is a function of n and of T,
characterized in that, if C(n) is used to denote the linear variation coefficient of the phase of the local frequency φlocal between the instants nT and (n+1)T such that [φlocal((n+1)T)−φlocal(nT)]/T is equal to C(n), C(n) being calculated previously from data available respectively at the instant (n−1)T and concerning the value of the received phase, its position and its acceleration, then said compensation term depends at least on C(n) and C(n−1). More specifically, the compensation term is equal to the opposite of the sum of C(n) and 1⁄2 C(n−1).
Advantageously, when the received signal does not include data, an extended discriminator or winder is used, the signal θ(n) obtained from the discrimination being equal to the signal θ(n−1) plus the argument taken over the interval [−π, +π] of the product of the complex functions ZR(n) and ZR(n−1)*. Also, when the received signal includes data, the signal θ(n) obtained from the discrimination is equal to the signal θ(n−1) plus the argument taken over the interval [−π/2, +π/2] of the product of the complex functions ZR(n) and ZR(n−1)*.
The invention also relates to a device for receiving radio-navigation signals by satellite, said received signals being transmitted at a first frequency called carrier frequency, said device including at least means for generating a local signal at a second frequency called local frequency and a tracking device including a feedback loop called carrier loop for phase-locking the local frequency on the carrier frequency, said feedback loop including a hardware portion and a software portion, said hardware portion including at least one integrator which performs the correlation between the local signal and the received signal, the signal obtained from the correlator being called correlated signal, said correlation being performed at high frequency, said software portion performing the functions of discrimination of the phase of the correlated signal and filtering of said phase, the software portion working at low frequency, the duration of a basic computation cycle being denoted T, each cycle being indexed by an integer number n so that the duration of a cycle is included in the time interval [(n−1)T, nT],
characterized in that, said time interval being subdivided into M sub-intervals of duration T/M, said sub-intervals being referenced m, the correlated signal at the instant (n+m/M).T being denoted Zp(n, m), then the function Zp′(n) is equal to the sum of the products of Zp(n, m) by a complex exponential function, the argument of which is −C(n−1)+(m−1⁄2). [C(n)−C(n−1)]/M) with C(n) being the linear variation coefficient between the local phases φlocal at the instants nT and (n−1)T such that C(n) is equal to [φlocal((n+1)T)−φlocal(nT)]/T, the signal θ(n) obtained from the discrimination being equal to the argument of the product of Zp′(n) multiplied by a complex exponential function ZR(n), the argument of which is −1⁄2.C(n).
Advantageously, when the received phase is shifted, by Doppler effect, at the speed V, the linear variation coefficient C′(n) of the local phase is equal to C(n)+[δ(n+1)−δ(n)] with C(n) equal to [P(n)−P(n−1)]/T and δ(n+1) equal to 3/2.V(n).T, and the discriminator θ′(n) is equal to θ(n)+1⁄2[ δ(n−1)+δ(n−2)], with P(n) denoting the value of the phase and V(n) the speed of variation of the phase at the instant nT.
Finally, when the received phase is shifted, by Doppler effect, at the speed V with the acceleration A, the linear variation coefficient C′(n) of the local phase is equal to C(n)+[δ(n+1)−δ(n)] with C(n) equal to [P(n)−P(n−1)]/T and δ(n+1) equal to 3/2.[V(n)+2.A(n).T].T, and the discriminator θ′(n) is equal to θ(n)+1⁄2[δ(n−1)+δ(n−2) ], with A(n) denoting the acceleration of the received phase at the instant nT.
Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious aspects, all without departing from the invention. Accordingly, the drawings and description thereof are to be regarded as illustrative in nature, and not as restrictive.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
FIG. 1 represents the received signal, its self-correlation function and its Fourier transform;
FIG. 2 represents the general block diagram of the tracking devices of a satellite signal receiver;
FIG. 3 represents the general block diagram of a feedback loop, called carrier loop;
FIG. 4 represents the variations of the different received phases as a function of time in a first reception device according to the prior art;
FIG. 5 represents the variations of the different received phases as a function of time in a second reception device according to the prior art;
FIG. 6 represents the main parameters representative of the variations of the received and local phases as a function of time in the reception devices according to the invention;
FIG. 7 represents the variations of the different received phases as a function of time in a first embodiment of a reception device according to the invention;
FIGS. 8 and 9 represent the parameters Zp(n) and Zc(n) in a complex plane;
FIGS. 10 and 11 represent the trends of the discriminator as a function of the phase difference;
FIG. 12 represents the variations of the different received phases as a function of time in a second embodiment of a reception device according to the invention;
FIG. 13 represents the variations of the different received phases as a function of time in a third embodiment of a reception device according to the invention.



MORE DETAILED DESCRIPTION
A device according to the invention conventionally comprises a hardware part and a software part. Only the software part is novel. Thus, it is possible to exploit the benefits of the device without modifying the hardware part.
In the graphs of FIGS. 6, 7, 8, 12 and 13 which represent variations of the different phases as a function of time, the variations of the phase of the local carrier due to the hardware part are modeled in the form of continuous lines, because the working frequency of the hardware part, between 1 and 100 MHz, is very high compared to that of the software which is approximately 50 Hz. The timescale is subdivided into discrete time intervals nT, n being an integer, each time interval T corresponding to a task of the software. T is commonly 20 ms.
Given a linear variation of the phase variation Δφ(t) over the integration interval [(n−1)T, nT], this assumption is always true for φlocal(t), given the 0 order blocker and the NCO, so, using the same notations as previously, the following can then be expressed:

φlocal(t)=φlocal(t0)+∫[t0,1]c(τ)dτ, 

either:

φlocal(nT)=φlocal((n−1)T)+T.C(n−1)

or even:

φlocal((n+1)T)=φlocal(nT)+T.C(n)

In a misuse of language, the following is written indiscriminately:

φ(nT)=φ(n)=φn 

The signal obtained from the integrator has the value:

Zp(n)=∫[(n−1)T,nT]A.expi(φreceived(t)).expi(−φlocal(t)).dt 

Zp(n)=∫[(n−1)T,nT]A.expi(φreceived(t)−φlocal(t)).dt 

Zp(n)=∫[(n−1)T,nT]A.expi(Δφ(t)).dt 

with Δφ(t)=φreceived(t)−φlocal(t)

These different parameters are graphically represented in FIG. 6. This comprises two representations: on the left, the variations of the phase as a function of time and on the right the representation of the phase variations and of the signal ZP(n) in the complex plane (R, I), R representing the real part and I the imaginary part.
It can be shown, by computation, that, given the assumption of a linear variation of Δφ(t) over the integration interval [(n−1)T, nT], the following then applies:

ZP(n)=A.T.expi(1⁄2[Δφ(n)+Δφ(n−1)]).sinc(1⁄2[Δφ(n)−Δφ(n−1)])

The terms expi and sinc represent the conventional abbreviations of the complex exponential and of the cardinal sine.

The argument of ZP(n) is that of the factor expi(1⁄2[Δφ(n)+Δφ(n−1)]). The term 1⁄2[Δφ(n)+Δφ(n−1)] is thus determined, which is the average of the difference between the received phase and the local phase over the integration interval. The argument of ZP(n) is represented in the different figures representing the phase variations by a shaded area.
The real factor sinc(1⁄2[Δφ(n)−Δφ(n−1)]) which disappears in the argument, constitutes the Doppler loss, which reduces the amplitude of the signal after the coherent integration, which can be a real problem when it comes to the robustness to noise.
We assume:

θ(n)=arg(ZP(n)),or:

θ(n)=1⁄2[Δφn+Δφn−1]

θ(n)=1⁄2[φreceived(nT)+φreceived((n−1)T)]−1⁄2[φlocal(nT)+φlocal((n−1)T)]

The loop corrector is implemented by the following 3 steps from the instant nT:

A(n+1)=A(n)+T.K3.θ(n)

V(n+1)=V(n)+T.A(n)+T.K2.θ(n)

P(n+1)=P(n)+T.V(n)+T.K1.θ(n)

With A(n), V(n), P(n) respectively representing an estimate of the acceleration, speed and position of the phase.

The compensation command can be applied either without delay or with delay.
In the former case, the command is applied over the integration interval [nT, (n+1)T], and the following applies:

C(n)=[P(n+1)−P(n)]/T=V(n)+K1.θ(n)

C(n)=[φideal local((n+1)T)−φideal local(nT)]/T 

C(n)=[φlocal((n+1)T)−φlocal(nT)]/T 

P(n)=φideal local(nT)=φlocal(nT)

In the latter case, the command is applied over the integration interval [(n+1)T, (n+2)T], and the following applies:

C(n+1)=[P(n+1)−P(n)]/T=V(n)+K1.θ(n)

C(n+1)=[φideal local((n+1)T)−φideal local(nT)]/T 

C(n+1)=[φlocal((n+2)T)−φlocal((n+1)T)]/T 

P(n)=φideal local(nT)=φlocal((n+1)T)

In state representations, the loop corrector can be represented as follows:
System input:

E(n)=φreceived(nT)

Initial states of the loop corrector at the time nT: A(n), V(n) and P(n) respectively representing the acceleration, speed and position.

Corrector output:

P(n)=φlocal((n+1)T)

Comparator:

θ(n)=1⁄2[E(n)+E(n−1)]−1⁄2[P(n−1)+P(n−2)]

Loop corrector:

A(n+1)=A(n)+T.K3.θ(n)

V(n+1)=V(n)+T.A(n)+T.K2.θ(n)

P(n+1)=P(n)+T.V(n)+T.K1.θ(n)

The comparator θ(n) supplies a measurement of the difference between the average received phase 1⁄2[E(n)+E(n−1)] and the last delayed average local phase 1⁄2[P(n−1)+P(n−2)]. Ideally, with no delay, the following condition would need to be satisfied:

θ(n)=1⁄2[E(n)+E(n−1)]−P(n)

θ(n)=1⁄2[φreceived(nT)+φreceived((n−1)T)]−φlocal((n+1)T)

θ(n)=1⁄2[φreceived(nT)+φreceived(n−1)T)]−φideal(nT)

There are thus the following 2 delays:
NCO delay:

P(n)−1⁄2[P(n)+P(n−1)]

Computation delay:

1⁄2[P(n)+P(n−1)]−1⁄2[P(n−1)+P(n−2)]

The core function of the device according to the invention is to correct the discriminator so that the delays are best compensated. It is demonstrated that the correction to be made depends only on the current or old commands which are perfectly well known. The device does not correct the delay on the local phase of the NCO output, but this renders the closed loop mode behavior much more stable, including with larger loop bands. The delay on the local phase of the NCO output, proportional to the Doppler, can nevertheless be corrected in advance.
In the basic solution of the device according to the invention, the delays are compensated in the discriminator. In addition to the received phase and the local phase produced by the NCO, two imaginary phases are considered:

    
    
        the ideal phase, which is the local phase that would be obtained without any command application delay;
        the virtual phase, which is the local phase that would be obtained without any command application delay and with an instantaneous realignment hop-wise, and not speed-wise.
    
    


These different phases are represented in FIG. 7.
We have:

ZP(n)=∫[(n−1)T,nT]A.expi(φreceived(t)−φlocal(t))dt 

or else:

ZP(n)=A.T.expi(1⁄2[Δφ(n)+Δφ(n−1)]).sinc(1⁄2[Δφ(n)−Δφ(n−1)])

with Δφ(n)=φreceived(n−1)−φlocal(n)

We want:

θ(n)=1⁄2[φreceived(n−1)+φreceived(n)]−φideal(n)

“a” denotes this value as represented in FIG. 7.

We already have:

arg(ZP(n))/=1⁄2[φreceived(n−1)+φreceived(n)]1⁄2[φlocal(n−1)+φlocal(n)]

arg(ZP(n))=a+b+c 

a=1⁄2[φreceived(n−1)+φreceived(n)]−φideal(n)

b=1⁄2[φideal(n)−φideal(n−1)]

c=1⁄2[φideal(n)+φideal(n−1)]−1⁄2[φlocal(n−1)+φlocal(n)]

b=1⁄2[φlocal(n+1)−φlocal(n)]

c=1⁄2[φideal(n−1)−φlocal(n−1)]+1⁄2[φideal(n)−φlocal(n)]

or: θ(n)=arg(ZP(n))−b−c 

The aim is to express b and c as a function of the preceding loop corrector commands:

b=1⁄2C(n)

or α(n)=φideal(n)−φlocal(n)

c=1⁄2[α(n−1)+α(n)]

α(n) is constructed by recurrence:

α(n)=α(n−1)+C(n)−C(n−1)

If α(0)=0, C(0)=0, C(1)=0 then α(n)=C(n) for any n.

Therefore

c=1⁄2[C(n−1)+C(n)]

θ(n)=arg(ZP(n))−C(n)−1⁄2C(n−1)

θ(n)=arg(ZP(n))−Compensation(n)

with Compensation(n)=C(n)+1⁄2C(n−1)

In practice, when the argument of ZP(n) is taken out, the interval to be used must first be decided: [Δ−π, Δ+π]. This interval must be centered around the most probable value Δ of Arg(ZP(n)), in order to minimize the risk of tilting to the other side because of the noise or the dynamics. A tilt induces an error of 2π.
The most probable value of Arg(ZP(n)), given the NCO commands already applied, happens to be Compensation(n).
It is therefore sufficient to do:

ZC(n)=expi(Compensation(n))

ZR(n)=ZP(n).ZC(n)*

If there is no data (pilot channel):

θ(n)=arg[−π,π](ZR(n))=arg[−π,π][ZP(n).expi(−C(n)−1⁄2C(n−1))]

If there is data:

θ(n)=arg[−π/2,π/2](ZR(n))=arg[−π/2,π/2][ZP(n)expi(−C(n)−1⁄2C(n−1)]

These two cases are illustrated in FIGS. 8 and 9 where the signals ZP(n) and ZC(n) are represented in the complex plane (R, I).
If the system has to tolerate a greater phase error due, for example, to the dynamics-induced drag and greater than the interval [−π,π], a discriminator is used that can withstand a greater loop error. It consists in counting the number of turns and supplies an angle θ outside the interval [−π,+π]: this discriminator is called “winding discriminator” or “extended discriminator”. The following apply:

ZR(n−1)=Zp(n−1).ZC(n−1)*

and

ZR(n)=ZP(n).ZC(n)*

In this case, with data, the following applies:

θ(n)=arg[−π,π](ZR(n).ZR(n−1)*)+θ(n−1)

Without data, the following applies:

θ(n)=arg[−π/2,π/2](ZR(n).ZR(n−1)*)+θ(n−1)

FIGS. 10 and 11 show, in solid lines, the variations of θ(n) as a function of the phase difference when they are calculated based on the value of the argument, these variations being denoted 8 simple, and in dotted lines, the variations of θ(n) when they are calculated based on the value of the argument but taking into account preceding values, these variations being denoted 8 extended.
This discriminator provides a way of increasing the robustness to dynamics without changing the loop band or the pre-detection band. It does not introduce additional workloads at software level. However, it reduces the robustness to noise. Cycle jumps or cycles of loop synchronization become possible.
It is possible to further improve the discriminator according to the invention. A first improvement consists in compensating the Doppler losses. The correction made by the discriminator compensates the delay within the loop from the point of view of the dynamic behavior. However, the local phase is not affected. The local carrier frequency remains delayed relative to the received carrier, which can increase the Doppler losses in the presence of high acceleration where the factor sinc (1⁄2Δφ(n)−1⁄2Δφ(n−1)) becomes small because of 1⁄2Δφ(n)−1⁄2Δφ(n−1) containing 1⁄2C(n)−1⁄2C(n−1) which becomes great. In order to limit the Doppler losses, the interval [(n−1)T, nT] is subdivided into M sub-intervals of length T/M and M basic integrations ZP(n,m) are performed, with m equal to 1, 2, . . . , M.
The following then applies:

ZP(n)=Σm=1,2, . . . MZP(n,m)

with

ZP(n,m)=∫[(n−1)T+(m−1)T/M,(n−1)T+mT/M]expi(φreceived(t)−φlocal(t)).dt 

Or else:

ZP(n,m)=A.T/M.expi(1⁄2[Δφ(n−1,m)+Δφ(n−1,m−1)]).sinc(1⁄2[Δφ(n−1,m)−Δφ(n−1,m−1)])

The complex exponential and cardinal sine expression is found with:

Δφ(n,m)=Δφ(nT+m.T/M)=φreceived(n,m)−φlocal(n,m)

and

arg(ZP(n,m))=1⁄2[Δφ(n−1,m)+Δφ(n−1,m−1)]

arg(ZP(n,m))/=1⁄2[φreceived(n−1,m)+φreceived(n−1,m−1)]−1⁄2[φlocal(n−1,m−1)+φlocal(n−1,m)]

arg(ZP(n,m)) is broken down into 3 terms:

arg(ZP(n,m))=am+bm+cm 

with

am=1⁄2[φreceived(n−1,m)+φreceived(n−1,m−1)]−φvirtual(n−1,m)

bm=φvirtual(n−1,m)−1⁄2[φideal(n−1,m)+φideal(n−1,m−1)]

cm=1⁄2[φideal(n−1,m)+φideal(n−1,m−1)]−1⁄2[φlocal(n−1,m−1)+φlocal(n−1,m)]

And the following can be written:

ZP(n,m)=A.T/M.expi(am+bm+cm).sinc(Δ)

with

sinc(Δ)=sinc(1⁄2[Δφ(n−1,m)−Δφ(n−1,m−1)])

This expression is independent of m inasmuch as the variations of Δφ are linear.

As previously, each ZP(n,m) of the quantity cm is corrected, and integration is done. The following is obtained:

ZP′(n)=Σm=1,2, . . . MZP(n,m).expi(−cm)

ZP′(n)=Σm=1,2, . . . MA.T/M.expi(am+bm).sinc(Δ)

ZP′(n) is calculated, assuming a linear variation over the interval [(n−1)T, nT]:

ZP′(n)=A.T.expi(1⁄2[(a1+b1)+(aM+bM)].sincM(1⁄2[(a1+b1)−(aM+bM)]).sinc(Δ)

with

sincM(x)=sin(x.(M+1)/M)/sin(x/M)/M≅sinc(x)if M is great

sincM(1⁄2[(a1+b1)−(aM+bM)])≅sinc(1⁄2[Δ′φ(n)−Δ′φ(n−1)])if M is great

and

expi(1⁄2[(a1+b1)+(aM+bM)])=expi(1⁄2[Δ′φ(n)+Δ′φ(n−1)])

with

Δ′φ(n)=φreceived(n)−φideal(n)

hence

ZP′(n)=A.T.expi(1⁄2[Δ′φ(n)+Δ′φ(n−1)]).sinc(1⁄2[Δ′φ(n)−Δ′φ(n−1)]).sinc(Δ)

The two factors of the expression of ZP(n) seen previously are found, but this time the Doppler loss represented by the cardinal sine factor is no longer between the received phase and the local phase, but between the received phase and the ideal phase without delay. It is therefore less great. The factor sinc(Δ) also represents a Doppler loss between the received phase and the local phase, but over a shorter duration, and therefore much less sensitive than when an overall correction is made. The following therefore applies:

arg(ZP′(n))=1⁄2[φreceived(n−1)+φreceived(n)]−1⁄2[φideal(n−1)+φideal(n)]

or else:

arg(ZP′(n)=a+b 

As previously, the following is required:

θ(n)=a 

All that now remains is to correct the quantity b:

θ(n)=arg(ZP′(n))−b 

θ(n)=arg(ZP′)(n))−1⁄2C(n)

or else:

θ(n)=arg[ZP′(n).expi(−1⁄2C)(n))]

The terms cm are calculated. Assuming a linear variation from α(n) to α(n−1) over the interval [(n−1)T, nT]), the following can be stated:

cm=α(n−1)+(m−1⁄2).β(n−1)

with α(n−1)=C(n−1) and β(n−1)=[α(n)−α(n−1)]/M 

If M is great, the following can be written:

ZP(n,m)=∫[(n−1)T+(m−1)T/M,(n−1)T+mT/m]expi(φreceived(t)−φlocal(t)).dt

ZP(n,m)≅A.T/M.expi(φreceived(tm)−φlocal(tm)

with tm=(n−1)T+(m−1⁄2)T/M 

ZP′(n)=Σm=1,2, . . . MZP(n,m).expi(−cm)

ZP′(n)≅Σm=1,2, . . . MA.T/M.expi(φreceived)(tm)−φlocal)(tm).expi(−φideal)(tm)+φlocal(tm))

ZP′(n)≅∫[(n−1)T,nT]A.expi(φreceived)(t)−φideal(t)).dt 

The expression of ZP(n) is found if φideal(t) is replaced with φlocal(tm). Everything takes place as if there were no delay in the application of the NCO command.
Therefore, finally, the following expressions apply:

ZP(n,m)=∫[(n−1)T+(m−1)T/M,(n−1)T+mT/M]expi(φreceived(t)−φlocal(t)).dt 

α(n−1)=C(n−1)

β(n−1)=[C(n)−C(n−1)]/M 

and ZP′(n)=Σm=1,2, . . . MZP(n,m).expi(−α(n−1)+(m−1⁄2).β(n−1))

θ(n)=Arg[ZP′(n).expi(−1⁄2C(n))]

The practical implementation poses no particular technical problems. Every ZP(n,m), given m=1, 2, . . . , M, is produced by the hardware part and supplied to the software in packets at the end of each time interval [(n−1)T, nT]. ZP′(n) is calculated by the software.
As an example, the following can be taken as meaningful values:

T=20 ms

M=20,

or T/M=1 ms

There is a second possible path for improvement which consists in anticipating the delays on the local phase. The correction applied to the discriminator does not change the delay on the local phase. However, it is possible to compensate this delay, which is δ=3/2.V.T in the presence of Doppler V, in advance.
The command C′(n) is applied to the NCO, instead of the command C(n) over the interval [nT, (n+1)T] with:

C′(n)=C(n)+δ(n+1)−δ(n)

This command is calculated from the data available at the instant (n−1)T:

A(n)=A(n−1)+T.K3.θ′(n−1)

V(n)=V(n−1)+T.A(n−1)+T.K2.θ′(n−1)

P(n)=P(n−1)+T.V(n−1)+T.K1.θ′(n−1)

Hence:

C(n)=[P(n)−P(n−1)]/T 

δ(n)=3/2.V(n−1).T 

δ(n+1)=3/2.V(n).T 

In order not to disturb the behavior of the loop, the coherence of the discriminator is corrected:

θ′(n)=θ(n)+1⁄2[δ(n−1)+δ(n−2)]

This compensation of the delay on the local phase works perfectly in steady state operation at constant (Doppler) speed. In steady state operation with constant acceleration, the variation of the speed V between the middle of the interval [(n−2)T, (n−1)T] and the middle of the interval [nT, (n+1)T] can be anticipated, as follows:

δ(n)=3/2[V(n−1)+2.A(n−1).T].T 

δ(n+1)=3/2[V(n)+2.A(n).T].T 

For example, in the case of a signal without data corresponding to the pilot channel, with a pre-detection band of 50 Hz corresponding to a period T of 20 milliseconds, and gains K1, K2, K3 optimized for holding at an acceleration level, the device tolerates an instantaneous jump in acceleration of 24 g, compared to 4 g for a conventional loop.
It will be readily seen by one of ordinary skill in the art that the present invention fulfils all of the objects set forth above. After reading the foregoing specification, one of ordinary skill in the art will be able to affect various changes, substitutions of equivalents and various aspects of the invention as broadly disclosed herein. It is therefore intended that the protection granted hereon be limited only by definition contained in the appended claims and equivalents thereof.

## Claims

1. A device for receiving radio-navigation signals by satellite, said received signals being transmitted at a first frequency or carrier frequency, said device comprising:
at least means for generating a local signal at a second frequency or local frequency and
a tracking device including a feedback loop, for phase-locking the local frequency on the carrier frequency, said feedback loop including a hardware portion and a software portion, said hardware portion comprising at least one integrator which performs the correlation between the local signal and the received signal, the signal deriving from the correlation being called correlated signal, said correlation being performed at high frequency, said software part performing functions of discriminating the phase of the correlated signal and filtering said phase, the software portion working at low frequency, the duration of a basic computation cycle being denoted T, each cycle being indexed by an integer number n so that the duration of a cycle is contained in the time interval [(n−1)T, nT], the correlated signal at the instant nT being denoted Zp(n), the signal θ(n) deriving from the discrimination being equal to the argument of the product of Zp(n) multiplied by a complex exponential function ZR(n), the argument of which is a compensation term that is a function of n and of T,
wherein, if C(n) is used to denote the linear variation coefficient of the phase of the local frequency φlocal between the instants nT and (n+1)T such that [φlocal((n+1)T)−φlocal(nT)]/T is equal to C(n), C(n) being calculated previously from data available respectively at the instant (n−1)T and concerning the value of the received phase, its position and its acceleration, then said compensation term depends at least on C(n) and C(n−1).

2. The device as claimed in claim 1, wherein the compensation term is equal to the opposite of the sum of C(n) and 1⁄2 C(n−1).

3. The device as claimed in claim 1, wherein, when the received signal does not include data, the signal θ(n) obtained from the discrimination is equal to the signal θ(n−1) plus the argument taken over the interval [−π, +π] of the product of the complex functions ZR(n) and ZR(n−1)*.

4. The device for receiving radio-navigation signals by satellite as claimed in claim 1, wherein, when the received signal includes data, the signal θ(n) obtained from the discrimination is equal to the signal θ(n−1) plus the argument taken over the range [−π/2, +π/2] of the product of the complex functions ZR(n) and ZR(n−1)*.

5. The device as claimed in claim 1, wherein, when the received phase is shifted, by Doppler effect, at the speed V, the linear variation coefficient C′(n) of the local phase is equal to C(n)+[δ(n+1)−δ(n)] with C(n) equal to [P(n)−P(n−1)]/T and δ(n+1) equal to 3/2.V(n).T, and, coherently, the new discriminator θ′(n) is equal to θ(n)+1⁄2[δ(n−1)+δ(n−2)], P(n) denoting the value of the phase and V(n) the speed of variation of the phase at the instant nT, and δ=3/2.V.T.

6. The device as claimed in claim 5, wherein, when the received phase is shifted, by Doppler effect, at the speed V with the acceleration A, the linear variation coefficient C′(n) of the local phase is equal to C(n)+[δ(n+1)−δ(n)] with C(n) equal to [P(n)−P(n−1)]/T and δ(n+1) equal to 3/2.[V(n)+2.A(n).T].T, and, coherently, the new discriminator θ′(n) is equal to θ(n)+1⁄2[δ(n−1)+δ(n−2)], A(n) denoting the acceleration of the received phase at the instant nT, and δ=3/2.V.T.

7. The device as claimed in claim 2, wherein, when the received phase is shifted, by Doppler effect, at the speed V, the linear variation coefficient C′(n) of the local phase is equal to C(n)+[δ(n+1)−δ(n)] with C(n) equal to [P(n)−P(n−1)]/T and δ(n+1) equal to 3/2.V(n).T, and, coherently, the new discriminator θ′(n) is equal to θ(n)+1/2[δ(n−1)+δ(n−2)], P(n) denoting the value of the phase and V(n) the speed of variation of the phase at the instant nT, and δ=3/2.V.T.

8. The device as claimed in claim 3, wherein, when the received phase is shifted, by Doppler effect, at the speed V, the linear variation coefficient C′(n) of the local phase is equal to C(n)+[δ(n+1)−δ(n)] with C(n) equal to [P(n)−P(n−1)]/T and δ(n+1) equal to 3/2.V(n).T, and, coherently, the new discriminator θ′(n) is equal to θ(n)+1⁄2[δ(n−1)+δ(n−2)], P(n) denoting the value of the phase and V(n) the speed of variation of the phase at the instant nT, and δ=3/2.V.T.

9. The device as claimed in claim 4, wherein, when the received phase is shifted, by Doppler effect, at the speed V, the linear variation coefficient C′(n) of the local phase is equal to C(n)+[δ(n+1)−δ(n)] with C(n) equal to [P(n)−P(n−1)]/T and δ(n+1) equal to 3/2.V(n).T, and, coherently, the new discriminator θ′(n) is equal to θ(n)+1⁄2[δ(n−1)+δ(n−2)], P(n) denoting the value of the phase and V(n) the speed of variation of the phase at the instant nT, and δ=3/2.V.T.

10. A device for receiving radio-navigation signals by satellite, said received signals being transmitted at a first frequency or carrier frequency, said device comprising:
at least means for generating a local signal at a second frequency or local frequency and
a tracking device including a feedback loop for phase-locking the local frequency on the carrier frequency, said feedback loop including a hardware portion and a software portion, said hardware portion including at least one integrator which performs the correlation between the local signal and the received signal, the signal obtained from the correlation being called correlated signal, said correlation being performed at high frequency, said software portion performing the functions of discrimination of the phase of the correlated signal and filtering of said phase, the software portion working at low frequency, the duration of a basic computation cycle being denoted T, each cycle being indexed by an integer number n so that the duration of a cycle is included in the time interval [(n−1)T, nT],
wherein, said time interval being subdivided into M sub-intervals of duration T/M, said sub-intervals being referenced m which equals to 1, 2, . . . , M, the correlated signal at the instant (n+m/M).T being denoted Zp(n, m), then the function Zp′(n) is equal to the sum of the products of Zp(n, m) by a complex exponential function, the argument of which is −C(n−1)+(m−1⁄2).[C(n)−(n−1)]/M) with C(n) being the linear variation coefficient of the phase of the local frequency φlocal between the instants nT and (n+1)T such that [φlocal((n+1)T)−φlocal(nT)]/T is equal to C(n), C(n) being calculated previously from data available at the instant (n−1)T, the signal θ(n) obtained from the discrimination being equal to the argument of the product of Zp′(n) multiplied by a complex exponential function ZR(n), the argument of which is −1⁄2.C(n).