The invention relates to satellite navigation receivers using the signals transmitted by satellites each comprising two carriers with frequencies close together modulated synchronously by spreading codes.
Satellite positioning systems use several satellites transmitting their positioning by radiofrequency signals to a receiver placed in the position to be located estimating the distances, called pseudo-distances, that separate it from the satellites based on the propagation time of the captured satellite signals. The receiver is located by a technique similar to triangulation and this location is all the more accurate when the positions of the satellites are known accurately to the receiver and the measurements of the pseudo-distances done by the receiver are accurate.
The positions of the satellites are determined based on a network of ground tracking stations independent of the positioning receivers. They are communicated to the positioning receivers by the satellites themselves via the data modulating the transmitted signals.
The pseudo-distances are deduced by the positioning receivers from the apparent delays exhibited by the received signals: these signals are time-stamped on transmission by the clocks of the satellites, which are synchronized on the system time, and on receipt by the clock of the receiver, possibly exhibiting a bias relative to the system time. The distances deduced from the duly measured propagation times are called pseudo-distances because they are corrupted by a common error that can be significant, due to the bias of the clock of the receiver. This bias is eliminated on resolution of the fix provided that the signals from at least four satellites are received.
While the accuracy with which the positions of the satellites of the positioning system are known is independent of the performance of a positioning receiver, such is not the case for the pseudo-distance measurements which depend on the accuracy of the signal propagation time measurements on the receiver.
The radiofrequency signals transmitted by the satellites travel over long distances and are transmitted with limited power, so they arrive with very low power at the receivers, drowned in a radiofrequency noise. To enhance their reception efforts have been made to make them as insensitive as possible to narrowband interferences, by augmenting their bandwidths using the spread bandwidth technique. The current and anticipated near-future satellite positioning systems use, for the radiofrequency signals transmitted by their satellites, the modulation bandwidth spreading technique using pseudo-random binary sequences, a technique called DSSS (Direct Sequence Spread Spectrum). This DSSS modulation consists, after having converted the data to be transmitted into the form of a series of bits at regular bit rate, in calculating the product of each information bit with a pseudo-random binary sequence known in advance with a significantly faster bit rate. The resulting spread bandwidth is proportional to the bit rate of the spreading pseudo-random bit stream. The term “spreading code” is used.
The data to be transmitted by the satellites, once formatted as a spread frequency bit stream by a spreading code according to the DSSS technique, is transposed into the transmit frequency band by modulation with a transmit carrier.
On reception, the data contained in a radiofrequency signal from a satellite of a positioning system is extracted by two successive demodulations: a first demodulation using a carrier generated locally by an oscillator driven by a frequency and phase tracking loop called PLL (Phase-Locked Loop)—or carrier phase loop—used to transpose the received signal into baseband and a second demodulation using spreading code generated locally by a code generator driven by a delay tracking loop called DLL (Delay-Locked Loop)—or code loop—used to unspread the bit stream present in the received signal. The spreading codes generated locally are identical to those transmitted by the satellite, apart from the delay due to the propagation in space.
When a code loop is locked on, the code generated locally is in phase with the code contained in the signal received from the satellite.
Thus, the delays affecting the received spreading codes can be accessed in the code loop control signals. The delays observed by these loops allow for unambiguous or almost unambiguous measurements of the propagation times of the signals because the numbers of entire pseudo-random sequences repeated elapsing during the travel of the signals are relatively small. The term “code measurements” is used.
For example, for the GPS (Global Positioning System) satellite positioning system, the shortest repeated pseudo-random binary sequence, the one used for spreading C/A (Coarse/Acquisition Code or Clear/Acquisition Code) type satellite signals, is made up of 1023 bits with a bit rate of 1.023 MHz and a duration of one millisecond. Its overall duration corresponds to a travel distance of 300 km for a radiofrequency wave and therefore allows for modulo 300 km distance measurements. The 1 microsecond duration of each of its bits provides for an accuracy of around 0.1 microseconds. The ambiguity of the pseudo-distance measurements obtained from the pseudo-random binary sequence of a C/A code due to the fact that modulo 300 km measurements are being taken is easy to eliminate when the receiver receives from more than four satellites because it can then run a coherency check and retain only the coherent solution. In the absence of such a possibility, the ambiguity can also be eliminated using a very rough prior knowledge of the position. Such a measurement ambiguity does not arise with the type P satellite signals of the GPS system which use for their spreading a non-repeated encrypted pseudo-random binary sequence, but these signals are not freely available to the users.
The apparent delays of the transmit carriers can be accessed, modulo the periods of these carriers, by the local phases produced by the PLL carrier phase loops driving the local carrier generators. The term “phase measurements” applies. These measurements are very accurate but highly ambiguous. In the case of the GPS system, the signals accessible to the public use a 1.575 GHz carrier allowing pseudo-distance measurements that are modulo 0.19 m and therefore highly ambiguous, since the distance to the satellite is around 20 000 km.
Some satellite navigation systems use pairs of carrier frequency signals that are close together so as to be able to use them coherently and thus improve the accuracy of the position measurements, due to a broader spectrum.
Hereinafter, the following notations and definitions will apply:
The central carrier frequency is, by definition, the frequency located in the middle of the two carrier frequencies (for example, E5a and E5b).
The sub-carrier frequency is, by definition, the distance between the carrier frequency of the signal a or b and the central carrier frequency (or Fb−Fp=Fp−Fa).
Notations:
Fp Central carrier frequency Fp=(Fa+Fb)/2
Fsp Sub-carrier frequency Fsp=(Fb−Fa)/2
Fa Carrier E5a frequency Fa=Fp−Fsp
Fb Carrier E5b frequency Fb=Fp+Fsp
Fc Code frequency
ωp=2π·Fp Central carrier pulsing ωp=(ωa+ωb)/2
ωsp=2π·Fsp Sub-carrier pulsing ωsp=(ωb−ωa)/2
ωa=2π·Fa Carrier E5a pulsing ωa=ωp−ωp
ωb=2π·Fb Carrier E5b pulsing ωb=ωp+ωsp
λp=2π/Fp Central carrier wavelength
λsp=2π/Fsp Sub-carrier wavelength
λa=2π/Fa Carrier E5a wavelength
λb=2π/Fb Carrier E5b wavelength
λcode=1/Fc Code wavelength
In the rest of the document, the expression expi(θ) will be used for ejθ where j2=−1
In the case of bi-frequency services, the two signals in the receiver can be tracked independently on each band by PLL and DLL tracking loops. The pseudo-distance measurements, which rely on the delays observed by the code loops, are limited in accuracy by the width of each available band. Because of the independence of the tracking loops, any combined use of the measurements obtained from different bandwidth signals will give an accuracy limited by the less good of the two trackings.
It is, however, possible to improve the accuracy of the pseudo-distance measurements within the context of a bi-frequency service, with synchronous navigation signals, by combining the signals received on the two frequencies to benefit from a greater equivalent frequency bandwidth.
For each satellite signal (E5a or E5b), a processing according to the state of the art is carried out with a carrier phase loop and a code loop. For this, a local carrier PI and local codes Ca, Cp, Cr are generated to demodulate the signal by correlation. The term “tracking channel” is used.
The phase of the local carrier PI and the position of the local codes in phase with the received signal are controlled using the tracking loops of each channel. Each tracking loop comprises, for the carrier loop, a carrier discriminator DSP, a carrier corrector CRP controlling a carrier oscillator NCOp 24 generating a carrier local phase driving a carrier generator 26 supplying the local carrier for the carrier correlation circuit and, for the code loop, a code discriminator DSC, a code corrector CRC controlling a code oscillator NCOc 28 generating a phase local code driving the code generator 30 generating the local codes Ca, Cp, Cr (advance, spot and delay) for the code correlation circuit.
The code and carrier phase discriminators make it possible to measure at the output of the correlators after integration by the integrators INT, the carrier phase and code differences between the received signal and the local signal, for retrospective action in the tracking loops.
The carrier phase loop helps the code loop driving the code local oscillator NCOc in order to reduce the loop trailing due to the dynamic range, which makes it possible to reduce the code loop band and therefore the noise on the measured code phase.
This processing is carried out in parallel for each signal from a satellite (or one channel for each satellite signal). The different, decorrelated codes from one satellite to another make it possible to dissociate the signals between the satellites and therefore allocate a channel to a satellite.
The measurements are the phases of the local carrier φpb (rad) and of the local code φcb (s) for each channel.
The role of the numerically controlled oscillators NCOp or NCOc is to produce the phases of the local high speed signals (>10 MHz) from the phase velocity controls generated by the low speed signal processing software (<1 kHz)
The role of the integrators INT is to produce the demodulated, unspread, aggregated signal samples ZA, ZP, ZR (advance, spot and delay) at low speed (<1 kHz) for the signal processing software from products output from the code demodulators generated at high speed (>10 MHz).
The “code demodulator” is the multiplier between the complex, carrier-mode demodulated received signal, and a local code. The complex resultant product is the unspread demodulated received signal.
The term “complex correlator” is used to mean the assembly comprising a code demodulator and an integrator (INT) with periodic reset (Integrate & Dump). In this case, we have three complex correlators producing ZA, ZP, AR.
The processing of the two signals S1 and S2 (for example E5a and E5b) in the input stages of the receiver in separate analogue paths introduces different propagation times and phase delays on the two carriers (subsequently called delay differentials and phase differentials) which causes the coherence between the two components to be lost and causes the accuracy of the receiver measurements to be reduced (the signals can no longer be added together constructively), and biases the measurements.
The idea is to compensate the faults introduced on the signals received by the analogue paths at digital signal processing level, by a calibration performed using the signals received from the satellites themselves, by averaging and filtering the measurements to reduce the calibration errors
To this end, the invention proposes a satellite positioning receiver comprising at least one receive channel (R1, R2, . . . Ri, . . . RN), each receive channel being intended to perform a combined processing of a first S1 and a second S2 radiofrequency signals transmitted by one and the same satellite and separated in frequency, the signals being received by analogue paths of the receiver then digitized to be processed in digital receive channels, characterized in that each receive channel comprises:
In the invention, a single carrier loop and a single code loop are constructed to process the two received signals S1, S2.
In an improvement of the receiver according to the invention, the receiver comprises, in addition, a phase differential correction device Δφcal tending to compensate the phase differential between the two received signals occurring in the analogue paths of the receive channel.
In a first theoretical embodiment of the receiver according to the invention, each receive channel further comprises:
The carrier loop controls the phase of the local central carrier, reflecting the average of the phases of the two local carriers, with the phase of the central carrier of the received signals, reflecting the average of the carrier phases of the two received signals.
The code loop (or subcarrier loop) simultaneously controls the phase of the local subcarrier, reflecting the phase difference between the carriers of the two local carriers, with the phase of the received subcarrier, reflecting the phase difference between the two received signals, and the position of the local codes with that of the received codes. In practice, the received subcarrier remains in phase with the received code at the foot of the antenna, because they are subject to the same group delay. The discriminator of the code and subcarrier loop has to use the output of the integrators of the advance, spot and delay correlation paths.
The offset induced by the separate analogue paths of the receive channel must be corrected and, to this end, the receiver according to the invention further comprises a calibration device supplying, based on phase and delay differential values (differentials due to the separate analogue paths between the two signals) estimated by the different channels of the receiver, the phase differential Δφcal and delay differential Δτcal correction values to be applied to the output of the carrier (or subcarrier) and code numerically controlled oscillators NCO common to all the channels.
In another practical embodiment of the receiver according to the invention comprising N receive channels (R1, R2, . . . RN), each receive channel includes a code NCOc for each component of the signal S1 and S2 and the respective differential delay corrections, positive +Δτcal and negative −Δτcal, are performed by applying to the inputs of the respective code NCOcs correction signals +dΔτcal/dt and −dΔτcal/dt derived from the differential delay signal +Δτcal and −Δτcal relative to the time t, and there is added to the output of the code numerically controlled oscillators NCOc a respective correction +Δτ0i and −Δτ0i specific to each channel i which depends on the initial state of the code oscillators NCOc at the moment when the receive channel begins tracking the signal in coherent mode.
The receiver can further comprise a phase differential correction device Δφcal receiving on the one hand a differential phase correction signal Δφcal, on the other hand the signals output from the integrators of the two code correlation circuits and supplying to the discriminators signals including the phase differential compensation Δφcal.
This embodiment of the receiver according to the invention makes it possible to retain the hardware architecture used in the case of an independent tracking of the signals S1 and S2 (according to the prior art), and it is easy to initialize tracking by beginning with a convergence phase according to this mode.
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.
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:
The receive channel of
The complex local carriers are generated by a respective local carrier generator 43, 45 driven by a local phase signal fp output from a common central carrier numerically controlled oscillator NCOp 104 controlled by the carrier velocity signal Vp output from a central carrier phase discriminator circuit DSP (106) through a central carrier phase corrector CRP (107).
The signals output from the central carrier correlation paths are applied to subcarrier correlation paths 108, 110 with respective local subcarriers Ls1 for the first subcarrier correlation path and Ls2 for the other correlation path, then to the code correlation paths 112, 114.
The local subcarriers Ls1 and Ls2 are generated by a respective local subcarrier generator 111, 113 driven by a local subcarrier phase signal fsp output from a common subcarrier and code local numerically controlled oscillator NCOc 118.
The code oscillator NCOc 118 is controlled by a code velocity signal Vc output from a code phase discriminator DSC of the discriminator circuit 106 through a code phase corrector CRC 120.
A subcarrier phase summer 122 receives at an input ep1 the subcarrier phase output from the code oscillator NCOc 118 and at another input ep2 a phase differential correction Δφcal tending to compensate the phase differential between the two received signals occurring in the analogue paths of the receiver, the subcarrier phase summer 122 supplying, at its output, a local phase signal of the phase-shifted subcarriers to drive the subcarrier generator of the subcarrier correlation paths.
The signals output from the subcarrier correlation paths 108, 110 are then correlated in the respective code correlation paths 112, 114 with the respective local codes supplied by the respective local code generators 119, 121 for the signal S1 path and the signal S2 path.
The local code generators 119, 121 are driven by a respective code phase signal fCA, fCB output from the common code oscillator NCOc 118, controlled by the subcarrier (or code) velocity signal Vc, through a first local code summer 124 receiving at an input ec1 the phase of the local code output from the local code oscillator and at another input ec2 a differential delay correction −Δτcal tending to compensate the differential delay, the first summer 124 supplying at its output an offset local code phase to drive the local code generator 119 of the signal S1 path and a second local code summer 126 receiving at an input ec1 the phase of the local code output from the local code oscillator NCOc and at another input ec2 a differential delay correction +Δτcal tending to compensate the differential delay, the second local code summer 126 supplying at its output an offset local code phase to drive the local code generator 118 of the signal S2 path.
As in the receiver of
The phase differential Δφcal and delay differential Δτcal correction is common to all the channels used for the reception of the signals transmitted by the satellites themselves.
The pairs of frequencies received from the satellites, for example the carriers E5a and E5b, are applied to N bi-frequency receive channels R1, R2, . . . Ri . . . RN of the same type as that described in
Each bi-frequency receiver channel supplies a multichannel calibration filter 140 with the estimated values of the correction (or calibration) error of the phase differential εΔφi and of the correction (or calibration) error of the delay differential εΔτi, which calculates the phase differential Δφcal and delay differential Δτcal corrections that will be applied to the summers of the subcarrier phase and local code output from the NCOs, for all the channels.
Each channel applies as output from the correlators discriminators that make it possible to separately identify the tracking loop control faults and calibration faults. These calibration faults estimated for each channel εΔφi and εΔτi (i being the number of the channel) affected by channel-specific errors, feed a multi-channel calibration filter 140, the function of which is to average between the channels and to filter these measurements in time to re-update the corrections Δφcal and Δτcal, minimizing the impact of the measurement errors on the accuracy of the calibration.
There now follows a definition of the expression of the signals at the various stages of the receiver according to the invention and, to this end, the received signals are defined at the signal digitization level by the following expressions:
1.a—Physical Form of the Received Signals:
S
a received
=A·cos(φa received(t)+δφa)·Ca(treceived(t)+δta)·Da(treceived(t))
S
b received
=A·cos(φb received(t)+δφb)·Cb(treceived(t)+δtb)·Db(treceived(t))
1.b—Received Time:
treceived(t): Time at which the signal received by the receiver at the instant t (at the foot of the antenna) was sent by the satellite
tpropagation(t): Propagation time between the satellite and the antenna of the receiver
t
received(t)=t−tpropagation(t)
1.c—Received Carrier Phases:
φa received(t) Phase of the received signal at the instant t (at the foot of the antenna) on E5a
φb received(t) Phase of the received signal at the instant t (at the foot of the antenna) on E5b
δφa: Phase delay on the E5a path due to the receiver*
δφb: Phase delay on the E5b path due to the receiver*
φp received(t)=ωp·treceived(t)+φdiv(t)
φa received(t)=ωa·treceived(t)+φdiv(t)
φa received(t)=ωp·treceived(t)−ωsp·treceived(t)+φdiv(t)
φa received(t)=φp received(t)−ωsp·treceived(t)
φb received(t)=ωb·treceived(t)+φdiv(t)
φb received(t)=ωp·treceived(t)+ωsp·treceived(t)+φdiv(t)
φb received(t)=φp received(t)+ωsp·treceived(t)
φdiv(t): divergence between the phase of the carrier and the group delay due to the ionosphere, which justifies the use of separate code and carrier loops.
1.d—Spreading Codes:
Ca(t): Spreading code sent by the satellite at the instant t on E5a
Cb(t): Spreading code sent by the satellite at the instant t on E5b
Ca(treceived(t)): Spreading code on E5a received by the receiver at the instant t (at the foot of the antenna)
Cb(treceived(t)): Spreading code on E5b received by the receiver at the instant t (at the foot of the antenna)
δta: Group delay on the E5a path due to the receiver*
δtb: Group delay on the E5b path due to the receiver*
(*) Analogue processing between the foot of the antenna and the analogue/digital converter
1.e—Data:
Da(treceived(t)): Data received at the instant t on the signal E5a
Db(treceived(t)): Data received at the instant t on the signal E5b
In the case where the signal has a pilot path (that is, a path with no data), this path (distinguished from the data path by the decorrelated spreading code) is used.
1.f—New Expression of the Received Signals:
S
a received
=A·cos(φp received(t)−ωsp·treceived(t)+δφa)·Ca(treceived(t)+δta)·D(treceived(t))
S
b received
=A·cos(φp received(t)+ωsp·treceived(t)+δφb)·Cb(treceived(t)+δtb)·D(treceived(t))
Local signals are generated that are correlated with the received signal.
The correlation is done separately for the local carrier and the local code. However, this is mathematically equivalent to correlating the received signal with the product of the local carrier and of the local code (product called local signal).
2.a—Expression of the Physical Form of the Local Signals:
S
a local advance
=A·expi(−φp(t))·expi(+φsp(t))·Ca(φca(t)+d)
S
a local spot
=A·expi(−φp(t))·expi(+φsp(t))·Ca(φca(t))
S
a local delay
=A·expi(−φp(t))·expi(+φsp(t))·Ca(φca(t)−d)
S
b local advance
=A·expi(−φp(t))·expi(−φsp(t))·Cb(φcb(t)+d)
S
b local spot
=A·expi(−φp(t))·expi(−φsp(t))·Cb(φcb(t))
S
b local delay
=A·expi(−φp(t))·expi(−φsp(t))·Cb(φcb(t)−d)
expi(−φp(t)): Central carrier, complex (combined)
expi(−φsp(t)): Local subcarrier, complex (combined)
Ca(φca(t)+ε.d): Advance, spot, delay local codes (ε=−1,0,1) path a, real
Cb(φcb(t)+ε.d): Advance, spot, delay local codes (ε=−1,0,1) path b, real
Notation: expi(θ)=ejθ in which j2=−1
φp(t): Local central carrier phase (rad)
φsp(t): Local subcarrier phase (rad)
φca(t): Local code phase on path a (s)
φcb(t): Local code phase on path b (s)
1.b—Relation Between Estimated Received Time and Local Phase of the Codes:
testimated received(t) Estimated received time output from the code NCO
φsp(t)=ωsp·testimated received(t)+Δφcal
φca(t)=testimated received(t)−Δτcal
φcb(t)=testimated received(t)+Δτcal
1.c—Relation Between Received Time and Estimated Received Time:
φ: Phase shift between the local phase and the received phase of the central carrier
τ: Delay on the estimated received time relative to the actual received time
φp(t)=φp received(t)−φ
t
estimated received(t)=treceived(t)−τ
1.d—New Expression of the Local Signals:
S
a spot local
=A·expi(−φp received(t)+φ+ωsp·treceived(t)−ωsp·τ+Δφcal)·Ca(treceived(t)−τ−Δτcal)
S
b spot local
=A·expi(−φp received(t)+φ−ωsp·treceived(t)+ωsp·τ−Δφcal)·Cb(treceived(t)−τ+Δτcal)
Z
P=1/T∫[nT,(n+1)T]Sreceived(t)·Sspot local(t)dt (Spot path)
Z
A=1/T∫[nT,(n+1)T]Sreceived(t)·Sadvance local(t)dt (Advance path)
Z
R=1/T∫[nT,(n+1)T]Sreceived(t)·Sdelay local(t)dt (Delay path)
Z
P a=½·expi(φ−ωsp·τ+Δφcal+δφa)·R(τ+Δτcal+δta)
Z
P b=½·expi(φ+ωsp·τ−Δφcal+δφb)·R(τ−Δτcal+δtb)
Z
A a=½A·expi(φ−ωsp·τ+Δφcal+δφa)·R(τ+Δτcal+δta−d)
Z
A b=½A·expi(φ+ωsp·τ−Δφcal+δφb)·R(τ−Δτcal+δb−d)
Z
R a=½A·expi(φ−ωsp·τ+Δφcal+δφa)·R(τ+Δτcal+δta+d)
Z
R b=½A·expi(φ+ωsp·τ−Δφcal+δφb)·R(τ−Δτcal+δtb+d)
(Notation: (x+jy)*=(x−jy)* combined in the complex numbers sense)
R: self-correlation function of the spreading code:
R(τ)=1/T∫[nT,(n+1)T]Ca(t)·Ca(t−τ)dt=1/T∫[nT,(n+1)T]Cb(t)·Cb(t−τ)dt
R is symmetrical: R(τ)=R(−τ)
The ideal operating point, stabilized in permanent operation, for which the closed-loop control maximizes the output power of the spot correlation path, in phase, is chosen initially.
In permanent operation, the following are wanted:
φ−ωsp·τ−Δφcal+δφa=0 To rectify ZP a (zero imaginary part)
φ+ωsp·τ+Δφcal+δφb=0 To rectify ZP b (zero imaginary part)
τ−Δτcal+δta=0 To maximize R(τ−Δτcal+δta)
τ+Δτcal+δtb=0 To maximize R(τ−Δτcal+δtb)
There are four equations and four unknowns: φ, τ, Δφcal and Δτcal
Let τ0, φ0, Δφcal 0 and Δφcal 0 be the solutions to the problem:
τ0=(−δta−δtb)/2
Δτcal 0=(δta−δtb)/2
φ0=(−δφa−δφb)/2
Δφcal 0=(δφa−δφb)/2+ωsp·(δta+δtb)/2
Z
Pa=½A·expi{(φ−φ0)−ωsp·(τ−τ0)−(Δφcal−Δφcal 0)}·R{(τ−τ0)−(Δτcal−Δτcal 0)}
Z
Pb=½A·expi{(φ−φ0)+ωsp·(τ−τ0)+(Δφcal−Δφcal 0)}·R{(τ−τ0)+(Δτcal−Δτcal 0)}
Z
Aa=½A·expi{(φ−φ0)−ωsp·(τ−τ0)−(Δφcal−Δφcal 0)}·R{(τ+d−τ0)−(Δτcal−Δτcal 0)}
Z
Ab=½A·expi{(φ−φ0)+ωsp·(τ−τ0)+(Δφcal−Δφcal 0)}·R{(τ+d−τ0)+(Δτcal−Δτcal 0)}
Z
Ra=½A·expi{(φ−φ0)−ωsp·(τ−τ0)−(Δφcal−Δφcal 0)}·R{(τ−d−τ0)−(Δτcal−Δτcal 0)}
Z
Rb=½A·expi{(φ−φ0)+ωsp·(τ−τ0)+(ΔφcalΔφcal 0)}·R{(τ−d−τ0)+(Δτcal−Δτcal 0)}
φ−φ0 becomes φ
τ−τ0 becomes τ
Δφcal−Δφcal 0 becomes Δφ
Δτcal−Δτcal 0 becomes Δτ
Z
P a=½A·expi{φ−ωsp·τ−Δφ}·R{τ−Δτ}
Z
P b=½A·expi{φ+ωsp·τ+Δφ}·R{τ+Δτ}
Z
A a=½A·expi{φ−ωsp·τ−Δφ}·R{τ+d−Δτ}
Z
A b=½A·expi{φ+ωsp·τ+Δφ}·R{τ+d+Δτ}
Z
R a=½A·expi{φ−ωsp·τ−Δφ}·R{τ−d−Δτ}
Z
R b=½A·expi{φ+ωsp·τ+Δφ}·R{τ−d+Δτ}
6—Path a+b:
An effort is made to coherently add together the outputs of the correlators of paths a and b so as to have the maximum sensitivity to synchronization errors of the code and carrier phase tracking loops.
Z
P
=Z
P a
+Z
P b
Z
A=expi(−φsp·d)·ZA a+expi(+ωsp·d)·ZA b
Z
R=expi(+ωsp·d)·ZR a+expi(−ωsp·d)·ZR b
NOTE: d is the spacing between the advance, spot and delay correlators.
Z
P
=A·expi(φ)·cos {ωsp·τ+Δφ}·R(τ)
If Δτ=0 and Δφp=0:
Z
P
=A·expi(φ)·cos {ωsp·(τ)}·R(τ)=½A·expi(φ)·Rcos(τ)
Z
A
=A·expi(φ)·cos {ωsp·(τ+d)}·R(τ+d)=½A·expi(φ)·Rcos(τ+d)
Z
R
=A·expi(φ)·cos {ωsp·(τ−d)}·R(τ−d)=½A·expi(φ)·Rcos(τ−d)
With Rcos(τ)=cos(ωsp·τ)·R(τ)
There is a peak in the self-correlation function that is far more pronounced on Rcos than on R, which substantially improves the accuracy of the measurement.
Furthermore, the maximum amplitude is recovered on the path ZP which makes the closed-loop control of the carrier phase more accurate and more robust.
This justifies the objective of keeping Δτ and Δφ at zero, by the choice of dedicated discriminators detecting non-zero values on Δτ and Δφ and enabling a retroactive correction by a calibration filter.
Central carrier phase: εφ(φ,τ,Δφ,Δτ) Estimation of φ
Code delay: εφ(φ,τ,Δφ,Δτ) Estimation of τ
Phase differential: εΔφ(φ,τ,Δφ,Δτ) Estimation of Δφ
Group differential: εΔτ(φ,τ,Δφ,Δτ) Estimation of Δτ
The aim of these discriminators is to estimate, each by a combination of the outputs of the six correlators, the quantities φ, τ, Δφ, Δτ (after change of frame of reference) which indicate what is lacking respectively on φ, τ, Δφcal, Δτcal (before change of frame of reference) to reach the ideal closed-loop control giving the maximum accuracy and robustness on the central carrier phase and received time measurements. This allows for convergence by retrospective action towards the ideal closed-loop control.
The objective is that:
εφ(φ,τ,0,0)≅φ in the first order
ετ(φ,τ,0,0)≅τ in the first order
And that:
εΔφ(φ, τ, Δφ, 0)≅Δφ in the first order
εΔτ(φ, τ, 0, Δτ)≅Δτ in the first order
7.a—Phase Discriminator:
εφ=Arg(ZP)=Arg(ZP a+ZP b)=arctan(IP a+IP b,QP a+QP b)
εφ(φ,τ,Δφ,Δτ)=Arg[expi(φ)·Ra+b(τ,Δφ,Δτ)]
εφ(φ,τ,Δφ,Δτ)=φ+Arg[Ra+b(τ,Δφ,Δτ)]
with
R
a+b(τ,Δφ,Δτ)=expi(−ωsp·τ−Δφ)·R(τ−Δτ)+expi(ωsp·τ+Δφ)·R(τ+Δτ)
If Δτ=0, then at least:
εφ(φ,τ,Δφ,0)=φ
because Ra+b(τ,Δφ, 0)=cos(ωsp·τ+Δφ)·R(τ) is a real function
However, if Δφ≠0|Ra+b(τ,Δφ,0)|<Rcos(τ) then accuracy on c(P is lost, hence a reduced robustness and the need to keep Δφ zero.
If Δτ≠0, then:
R
a+b(τ,Δφ,Δτ)=cos(−ωsp·τ−Δφ){R(τ−Δτ)+R(τ+Δτ)}+i·sin(−ωsp·τ−Δφ){−R(τ−Δτ)+R(τ+Δτ)}
Ra+b(τ,Δφ,Δτ) is no longer a real function
The measurement depends on τ, therefore there is a coupling between the code and phase measurement.
R
a+b(0,Δφ,Δτ)=cos(−Δφ){R(−Δτ)+R(+Δτ)}+i·sin(−Δφ){−R(−Δτ)+R(+Δτ)}
R
a+b(0,Δφ,Δτ)=2 cos(−Δφ)·R(Δτ) if R is symmetrical
There is no bias for τ=0
7.b—Code Discriminator: the Code Discriminator Uses the Output of the Advance, Spot and Delay Correlation Paths on S1 and S2 (after Calibration)
ετ=Re[(ZA−ZR)·ZP*]/μ (Re: real part, *: combined)
μ: standardization factor to have a unitary slope to the origin
If Δτ=0 and Δφ=0, then at least:
Z
A
−Z
R
=A·expi(φ)·[Rcos(τ+d)−Rcos(τ−d)]
Z
P
*=A·expi(−φ)·Rcos(τ)
ετ(φ,τ,0,0)=A2/μ·[Rcos(τ+d)−Rcos(τ−d)]·Rcos(τ)
ετ(φ,0,0,0)=0
∂ετ/∂τ(φ,0,0,0)=2A2/μ·Rcos′(d)·Rcos(0)
ετ(φ,τ,0,0)≅2A2/μ·Rcos′(d)·Rcos(0)·τ
ετ(φ,τ,0,0)≅τ for μ=2A2Rcos′(d)·Rcos(0) and τ<<1
If Δτ=0 and Δφ≠0, then:
ετ(φ,τ,Δφ,0)=A2/μ·[cos {ωsp·(τ+d)+Δφ}·R(τ+d)−cos {ωsp·(τ−d)+Δφ}·R(τ−d)]·cos(φsp·τ+Δφ)·R(τ)
ετ(φ,0,Δφ,0)=A2/μ·[cos(ωsp·d+Δφ)−cos(−ωsp·d+Δφ)]·R(d)·cos(Δφ)·R(0)
ετ(φ,0,Δφ,0)≅A2/μ·2 sin(ωsp·d)·Δφ·R(d)·cos(Δφ)·R(0)
ετ(φ,0,Δφ,0)≅ρ·Δφ for ρ=A2/μ·2 sin(ωsp·d+Δφ)·R(d)·cos(Δφ)·R(0)
A bias is seen to appear and, furthermore, accuracy is lost: hence the need to keep Δφ zero.
In fact, the bias will be reflected in the code loop by an error on the estimated received time, that is, a non-zero τ.
If Δτ≠0 and Δφ=0, then:
ετ(φ,τ,0,Δτ)=(½A)2/μ·[cos {ωsp·(τ+d)}·{R(τ+d+Δτ)+R(τ+d−Δτ)}−cos {ωsp·(τ−d)}·{R(τ−d+Δτ)+R(τ−dΔτ)}]·cos {ωsp·τ}·{R(τ+Δτ)+R(τ−Δτ)}
ετ(φ,0,0,Δτ)=(½A)2/μ·cos(ωsp·d)·{R(d+Δτ)+R(d−Δτ)−R(−d+Δτ)−R(−d−Δτ)}]·2·R(Δτ)
ετ(φ,0,0,Δτ)=0 because R is symmetrical
There is no bias but power is lost.
εΔφ=arg[ZP b·ZP a*]/2−ωsp·ετ
Z
P b
·Z
P a*=(½A)2·expi{2ωsp·τ+2Δφ}·R{τ−Δτ}·R{τ+Δτ}arg[ZP b·ZP a*]/2=ωsp·τ+Δφ
If Δτ=0, then:
ετ(φ,τ,Δφ,0)≅τ+ρ·Δφ
εΔφ(φ,τ,Δφ,0)=ωsp·τ+Δφ−ωsp·(τ+ρ·Δφ)≅(1−ωsp·ρ)·Δφ
for Δφ<<1
Variant:
It is possible to take: εΔφ=arg[ZP b·ZP a*]/2−ωsp·(εcode b+εcode a)/η(εcode b+εcode a)/η≅τ for τ<<1 and Δτ<<1
εΔφ(φ,τ,Δφ,0)=ωsp·τ+Δφ−ωsp·(εcode b+εcode a)/η≅Δφ
7.d—Delay Differential Discriminator:
εΔτ=(εcode b−εcode a)/η
εcode a=Re[(ZA a−ZR a)·ZP a*]
Z
P a=½A·expi{φ−ωsp·τ−Δφ}·R{τ−Δτ}
Z
A a=½A·expi{φ−ωsp·τ−Δφ}·R{τ+d−Δτ}
Z
R a=½A·expi{φ−ωsp·τ−Δφ}·R{τ−d−Δτ}
εcode a(φ,τ,Δφ,Δτ)=(½A)2·[R(τ+d−Δτ)−R(τ−d−Δτ)]·R(τ−Δτ)
εcode a(φ,τ,Δφ,Δτ)≅2(½A)2R′(d)·R(0)·(τ−Δτ)
εcode b=Re[(ZA b−ZR b)·ZP b*]/η
Z
P b=½A·expi{φ+ωsp·τ+Δφ}·R{τ+Δτ}
Z
A b=½A·expi{φ+ωsp·τ+Δφ}·R{τ+d+Δτ}
Z
R b=½A·expi{φ+ωsp·τ+Δφ}·R{τ−d+Δτ}
εcode b(φ,τ,Δφ,Δτ)(½A)2·[R(τ+d+Δτ)−R(τ−d+Δτ)]·R(τ+Δτ)≅2(½A)2R′(d)·R(0)·(τ+Δτ)
εΔτ(φ,τ,Δφ,Δτ)≅2(½A)2/η·R′(d)·R(0)·ΔτεΔτ(φ,τ,Δφ,Δτ)≅Δτ
for η=2(½A)2·R′(d)·R(0), τ<<1 and Δτ<<1
Δφcal is realigned based on the estimations of the calibration error (Δφ=Δφcal−Δφcal 0) made on each satellite received. This makes it possible to average the measurement noises between the satellites, by weighting the measurements according to their quality, which depends on the signal-to-noise ratio and the inclination of the satellite: (see
Δφcal(k)=Δφcal(k−1)−Σi=1toNwi(k)·εΔφi(k)
wi(k)=realignment gain dependent on the satellite in the channel i concerned (there are N channels)
For example: wi=C/N0i/(Σm=1toNC/N0m)·e−dT/τ
with C/N0i being the estimated signal-to-noise ratio on the channel i
Σi=1toNwi(k)=e−dT/τ with τ being the time constant of the calibration filter and dT being the period in k
εΔφi is an estimate of the phase differential calibration error:
εΔφi(k)=Δφideal cal−Δφcal(k−1)+noisechannel i
As (see
Δτcal(k)=Δτcal(k−1)−Σi=1toNwi(k)·εΔτi(k)
wi=realignment gain dependent on the satellite concerned.
The idea is to retain the hardware architecture of a receive channel, which includes:
the local code and local carrier generators and the correlators (multipliers+integrator), identical to that of a separate processing between the two input signals (E5a and E5b) according to the state of the art. The only modification is to the processing carried out at low speed by software to obtain a receiver according to the invention. To this end, the compensation for the phase differential is applied at the correlator output, before the discriminators.
The receive channel of
for the carrier E5a correlator 160:
Z
Aa
=I
Aa
+iQ
Aa
Z
Pa
=I
Pa
+iQ
Pa
Z
Ra
=I
Ra
+iQ
Ra
for the carrier E5b correlator 162:
Z
Ab
=I
Ab
+iQ
Ab
Z
Pb
=I
Pb
+iQ
Pb
Z
Rb
=I
Rb
+iQ
Rb
Corresponding to the advance A, spot P and delay R code.
A compensation for the phase differential at the output of the correlators of the two circuits is applied before the discriminators 181 by a compensation module 182. The discriminators supply a code error signal ετ and a carrier phase error signal εφ for loop control, and a phase differential calibration error signal εΔφ and a delay differential calibration error signal εΔτ for the multi-channel calibration filter.
The compensation for the delay differential is applied at the input of the code NCOcs of the correlation circuits 160, 162, by deriving the correction Δτcal relative to the time, or dΔτcal/dt, such that, at the output of the code oscillators NCOc, the desired correction is obtained.
To this end, the receive channel of
Furthermore, there is added to the outputs of the two code oscillators NCOc 190, 192, driving the respective code generators 191, 193, a correction ±Δτ0i specific to the channel i which depends on the initial state of the NCOcs at the time when tracking in coherent mode is started.
To this end, the receive channel also includes:
The receive channel further comprises, for each correlation circuit, a central carrier oscillator NCOp 194, 195 driven on the basis of the central carrier velocity signal Vp supplied by a carrier loop corrector CRP 196 fed by the outputs of the discriminators 181.
The difference in embodiment between the carrier phase loop (compensation after correlation) and the code loop (compensation before correlation on the phases of the local codes) lies in the fact that a correction of θ on the phase of the local carrier is equivalent to a multiplication by ejθ of the complex local carrier or a multiplication by e−jθ of the output of the complex correlators. This cannot be applied generally to the code because a modification of the phase of the local code is reflected in a variation in amplitude (following a non-linear law dependent on the delay) on the correlators (and not a complex rotation).
For each satellite, the average of the measurements is taken:
φp i=(φpa+φpb)/2
t
estimated received i=(φca+φcb)/2
10.a—Initialization of Coherent Tracking:
The first step is to acquire and track each of the two signals independently as in the receiver represented in
Once each of the closed loop controls (PLL and DLL) has converged on each satellite, there is a switch to coherent tracking mode according to the receiver represented in
There is no change to the values of the phases output from the carrier NCOs, but they are corrected at the output of the correlators. However, it is necessary to correct the phases at the output of the code oscillators NCOc to conform to the diagram of
10.b—Initialization of Calibration (for all of the Satellites):
After the convergence phase for the separate tracking loops, there are observed delay Δτcal(0) and phase Δφcal(0) differentials between the two analogue paths E5a and E5b directly on the phases of the carriers and local codes, averaged over all the satellites:
Δφcal(0)=Σi=1toNwi(0)·[(φpb 0 i−φpa 0 i)/2−ωsp·(φcb 0 i+φca 0 i)/2]
Δτcal(0)=Σi=1toNwi(0)·[(φcb 0 i−φpa 0 i)/2]
Where: Σi=1toNwi(k)=1
(There is a similarity with the phase and delay differential calibration discriminators)
The calibration filter 140 is then maintained to follow the phase Δφcal and delay Δτcal differentials between the paths E5a and E5b, which can drift over time or change with temperature variations.
10.c—Compensation of the Phase Differential: (at the Correlator Output, by Software)
Let i=channel index
The outputs of the correlators are corrected by a rotation dependent on the phase difference observed on the channel (at the end of the separate tracking phase on E5a and E5b) and on the calibration correction Δφcal derived from all the channels.
Z
A a i compensated
=A
i
·e
+jΔφcal(0)·ZA a i
Z
A b i compensated
=B
i
·e
−jΔφcal(0)·ZA b i
Z
P a i compensated
=A
i
·e
+jΔφcal(0)·ZP a i
Z
P b i compensated
=B
i
·e
−jΔφcal(0)·ZP b i
Z
R a i compensated
=A
i
·e
+jΔφcal(0)·ZR a i
Z
R b i compensated
=B
i
·e
−jΔφcal(0)·ZR b i
A
i=expi(−[(φpb 0 i−φpa 0 i)/2−ωsp·(φcb 0 i+φca 0 i)/2])
B
i=expi(+[(φpb 0 i−φpa 0 i)/2−ωsp·(φcb 0 i+φca 0 i)/2])
Thus, just after the correction:
Z
P a i compensated
=A
i
·e
+jΔφcal(0)·½A·expi(−φpa 0 i+φa received i+δφa)·R( . . . )
Z
P b i compensated
=B
i
·e
−jΔφcal(0)·½A·expi(−φpb 0 i+φb received i+δφb)·R( . . . )
Z
P a i compensated=½A·expi[(φpb 0 i+φpa 0 i)/2+ωsp·(φcb 0 i+φca 0 ii)/2+jΔφcal(0)+φa received i+δφa]·R( . . . )
Z
P b i compensated=½A·expi[(φpb 0 i+φpa 0 i)/2−ωsp·(φcb 0 i+φca 0 i)/2−jΔφcal(0)+φb received i+δφb]·R( . . . )
Which is equivalent to:
Z
P a i compensated=½A·expi[−φpa virtual i+φa received i+δφa]·R( . . . )
Z
P b i compensated=½A·expi[−φpb virtual i+φb received i+δφb]·R( . . . )
With:
φpa virtual i=φp 0 i+ωsp·φc 0 i+Δφcal(0)
φpb virtual i=φp 0 i−ωsp·φc 0 i−Δφcal(0)
φp 0 i=(φpb 0 i+φpa 0 i)/2
φc 0 i=(φcb 0 i+φca 0 i)/2
φp 0 i and φsp 0 i depend on the channel (and therefore the satellite) whereas Δφcal(0) is common to all the channels
Conclusion: An expression according to the diagram of
Initial correction: Δτ0 i=−(φcb 0 i−φca 0 i)/2+Δτcal(0)
This correction, specific to each channel, is applied at the output of the code NCOs, according to the diagram of
Thus, just after the correction:
φca i=φca 0 i−Δτ0 i=(φcb 0 i+φca 0 i)/2−Δτcal(0)
φcb i=φcb 0 i+Δτ0 i=(φcb 0 i+φca 0 i)/2+Δτcal(0)
Which is equivalent to:
φca i=φc 0 i−Δτcal(0)
φcb i=φc 0 i+Δτcal(0)
φc 0 i depends on the channel (and therefore the satellite) whereas Δτcal(0) is common to all the channels
Conclusion: An expression according to the diagram of
In the ideal case where, for each channel, the following applies:
(φpb i−φpa i)/2−ωsp·(φcb i+φca i)/2=Δφcal(0)
φcb i−φca i)/2=Δτcal(0)
(in other words, all the terms on the left would be identical, on all the channels)
The following would be obtained:
A
i
·e
−jΔφcal(0)=1
B
i
·e
+jΔφcal(0)=1
Δτ0 i=0
Therefore, the initial calibration would add nothing!
This result is not in fact surprising in as much as, at the end of the initial convergence phase, in this case, the objective of the calibration would already have been achieved: each channel is set to the maximum energy by the initial tracking loops on E5a and on E5b, and the values Δτcal(0)i and Δφcal(0)i of the delay differential and of the phase differential (respectively) observed at the output of the NCOs are identical on all the channels.
After initialization, the correction is maintained by adding a complement to the velocity mode controls of the two code NCOs, according to the diagram of
dΔτ
cal
/dt=[Δτ
cal(k+1)−Δτcal(k)]/dT with dT: sampling interval in k
The gains of the two analogue paths can be different. It is important to compensate these differences when the discriminators are constructed, to avoid the biases due to the imbalance between the paths. For this, the ratio between the powers at the output of the spot correlators of the paths a and b is identified:
λ(0)=Σi=1toNwi(0)(∥Zp b∥2/∥ZP a∥2)i
λ(k)=λ(k−1)−Σi=1toNwi(k)·[(∥ZP b∥2/∥ZP a∥2)i−λ(k−1)]
The compensation is applied to the output of the correlators, before the discriminators:
Z
P
=λ·Z
P a
+Z
P b
Z
A
=λ·e
+iωd
Z
A a
+e
−iωd
Z
A b
Z
R
=λ·e
−iωd
Z
R a
+e
+iωd
Z
R b
It is assumed that the loop and calibration errors are taken up. In return, the compensation of the amplitude difference reduces the impact of the amplitude imbalance on the loop and calibration discriminators.
Case where the Signal has No Pilot Path (without Data):
In this case, the data bits must be rectified before applying the discriminators:
Z
A a rectified
=Z
A a·sign(Im[ZP a])ZA b rectified=ZA b·sign(Im[ZP b])
Z
P a rectified
=Z
P a·sign(Im[ZP a])ZP b rectified=ZP b·sign(Im[ZP b])
Z
R a rectified
=Z
R a·sign(Im[ZP a])ZR b rectified=ZR b·sign(Im[ZP b])
Case where there is a Desire to Use the Pilot and Data Paths:
The discriminators are applied to the pilot path only, except the code discriminator which uses both paths:
ε={Re[(ZA pilot−ZR pilot)·ZP pilot*]+Re[(ZA data−ZR data)·ZP data*]}/2/μ
This makes it possible to reduce the thermal noise on the code measurement, provided that the signal-to-noise ratio is broadly positive in the predetection band (Bpredetection=1/T).
The receiver according to the invention allows for a better positioning measurement accuracy through a reduced sensitivity of the code measurement with respect to the thermal noise and the multiple-paths. It also offers better robustness (fewer cycle slips and losses of synchronization of the carrier phase loop due to interference).
This technique for correcting differential phase and delay occurring in the analogue receive stages for two carriers also applies when the analogue filter is common to the signals a and b, because there can be phase differences and delays between the two components of the signal, due to the distortions of the analogue filter transfer functions.
Number | Date | Country | Kind |
---|---|---|---|
0510513 | Oct 2005 | FR | national |
The present application is based on International Application No. PCT/EP2006/067097, filed on Oct. 5, 2006, which in turn corresponds to French Application No. 05 10513 filed on Oct. 14, 2005, 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.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2006/067097 | 10/5/2006 | WO | 00 | 10/7/2008 |