Professional Documents
Culture Documents
719
The signal is propagated through the wireless channel, resulting digital IF offset from its nominal value caused
received by the receiver antenna, amplified, filtered, by oscillator error is usually treated as user clock drift and
down-converted and digitized by the receiver front-end resolved in the PVT solution directly. But the analysis
into a digital IF signal: later in this section shows that in addition to this digital IF
sIF ( nTS ) = AIF D ⎡⎣ nTS (1 + γ Cd ) − τ ⎤⎦ offset, the sampling frequency error will also contribute to
the above-solved clock drift in a software-correlator based
⋅C ⎡⎣ nTS (1 + γ Cd ) − τ ⎤⎦ cos ⎡⎣ 2π ( f IF + f d ) nTS + φ ⎤⎦ receiver. While the total clock drift can be easily resolved
in the PVT solution, the sampling frequency error has
(4) other implications.
where we put the reference point of the signal model at
the entrance of the digital correlator in the receiver. τ is The receiver correlates the incoming digital signal with a
the group delay of the propagation channel, fd is the locally generated reference signal to obtain the
dispreading gain for further processing, in the form of
carrier Doppler shift corresponding to the relative velocity either a time-domain MAC correlator or an equivalent
of the satellite and the receiver along the line-of-site frequency-domain multiplier or a passive matched filter.
(LOS) path, γ Cd = fCd fC0 is the relative code The local reference signal in the software correlator can
be expressed as:
Doppler, f Cd is the code Doppler, φ is the carrier phase,
and AIF is the amplitude. The relative code Doppler
( )
sL nTˆS = C ⎡⎣nTˆS (1 + γˆCd ) − τˆ ⎤⎦
(6)
γ Cd can be approximated by the relative carrier Doppler ⎣ ( )
⋅ cos ⎡ 2π fˆIF + fˆd nTˆS + φˆ ⎤
⎦
γ d = fd f L if we ignore the code and carrier rate where the symbol x̂ denotes the receiver estimated value
divergence. For the analysis of batched digital signal of the quantity x. The estimation error is Δx = xˆ − x .
processing, these parameters are considered constant in
Not knowing the exact true sampling frequency f S , the
one batch of samples, and γ Cd and γ d can be explicitly receiver processes the signals in its estimated sampling
formulated using different τ and φ values from frequency fˆS = 1 TˆS with a relative error
consecutive batches instead of being embedded in the
derivatives of τ and φ [7]. TS = 1 fS is the true γ = fˆ − f
S ( S S )
f = Δf f S S S (7)
720
with different parameters of carrier frequency, carrier δC = 1540 × δCcode − δCcarr (13)
phase, code frequency and code phase. While the IF error
will directly result in carrier Doppler measurement error, So the relationship of f IF with fS can actually be
the sampling frequency error will lead to both carrier and
code Doppler measurement error, although the two measured by Ĉ . Note that there will be a code-carrier
sample sequences are digitally equivalent.
(
Doppler divergence/discrepancy γˆCd f L − fˆd in the )
two "matched" PRN code+BPSK modulated waveforms receiver measurements caused by Δf S and/or Δf IF .
local incoming
fS
Cˆ =
(
f L − fˆIF + γˆCd f L − fˆd )= f L − f IF
+ δ C (11)
where j denotes the jth SV tracked. The receiver velocity
721
fˆ receiver time of each navigation solution after correcting
fˆu = − fˆIF + S f IF = −Δf IF + γ S f IF (16) the clock bias, as well as the solved clock drift, we can
fS adjust the sample number of the measurement interrupt
As can be seen in this equation, the clock drift solution after each navigation solution to the desired value.
contains not only the IF error but also an error term Consequently, the raw measurements are latched at the
caused by the sampling frequency error, and the latter samples nearest to the integer intervals of true GPS time,
term cannot be neglected. and the impact of sampling frequency error is eliminated
in such raw measurements. Since the differences between
The clock drift solution can be used to compute the the measurements latching time and the integer intervals
Doppler frequency: of GPS time are known and are within one sampling
interval, the raw measurements and position solutions can
f d − cali = fˆd − fˆu (17) be interpolated onto the expected integer intervals of GPS
Substituting (17) into equation (8) and (9), we can solve time. The accuracy of the clock-steered results is
for the IF and sampling frequencies: determined by the accuracy of the navigation solutions.
f IF − cali =
f L + f d − cali ˆ
(
f + fˆ − f
(1 + γˆCd ) f L IF d d − cali
) (18) We recommend choosing one SV with high elevation or
high carrier-to-noise-ratio (thus small carrier Doppler and
f + f d −cali small measurement error), such that the code Doppler
f S −cali = fˆS IF −cali (19)
fˆ + fˆ IF d
γˆCd fC 0 and carrier Doppler fˆd measurements needed in
Alternatively, we can combine equation (11) and (16) to equation (20) and (21) can be averaged over a period from
solve for the calibrated sampling frequency and IF: the interval of one position solution to a few seconds,
f IF − cali =
( fˆ
IF + fˆu f L) (20)
while the clock drift measurements fˆu can be averaged
over an even longer period. The calibrated IF and
(
f L + fˆu + γˆCd f L − fˆd ) sampling frequency in equation (20) and (21) can also be
averaged to reduce errors. The averaging windows mainly
fL depend on the change rate and the desired update rate of
f S −cali = fˆS (21)
(
f L + fˆu + γˆCd f L − fˆd ) the averaged quantity.
722
rate divergences between the group delay and the phase different sets of IF and sampling frequencies used in the
delay of the propagation channel. receiver processing:
Top panel: The IF and sampling frequency assume the
EXPERIMENTAL RESULTS AND DISCUSSIONS nominal values: fIF =1250000Hz and fS =5000000 Hz.
Middle panel: The IF and sampling frequency take the
In order to investigate the code and carrier measurement true values: fIF =1251000Hz, fS =5000050Hz.
performance in the presence of the sampling frequency Bottom panel: The IF has the true value fIF =1251000Hz,
error, and to examine the calibration accuracy of the the sampling frequency fS =4999950Hz.
algorithm, a set of digital GPS IF signal is generated
using a digital IF GNSS signal simulator [9]. The The carrier to noise ratio of the simulated IF signal is set
simulated digital IF of the GPS L1 C/A signal is to 50dB-Hz, and none of the pseudorange error terms is
1.251MHz with a +1KHz error relative to the nominal included in the simulation except the thermal noise. For
frequency of 1.25MHz, and the simulated sampling all three simulation scenarios, the tracking loop
frequency are 5.00005MHz with a +50Hz error relative to parameters of the software receiver have the same values
the nominal value of 5MHz. The data are processed by a after achieving steady state tracking, and the receiver raw
software receiver using different locally assumed measurements are extracted after achieving the navigation
sampling frequency. Figure 2 shows the carrier and code solution with the measurement latching intervals
Doppler measurements variation with the local sampling continuously steered. As shown in Figure 3, the clock-
frequency ranging from 4999750Hz to 5000350Hz in steered raw pseudorange and carrier phase measurements
50Hz steps. The left top subplot shows that the carrier show no bias from the simulated values, and present
Doppler measurement fˆd vary from 2607.906Hz to
similar noise characteristics in the three cases. As
expected, Figure 4 shows that the height error of the
2758.347Hz; the right top subplot shows that the position solutions also presents no much difference in the
measured Cˆ carr maintains a value of about 0.250734118; three cases. Extensive test results demonstrate that the
sampling frequency error will not impact the accuracy of
the left middle subplot is the code Doppler measurement
the code/carrier phase measurements and the
fˆCd = γˆCd fC 0 varying from -59.618Hz to 63.141Hz; the consequential PVT solutions when the clock-steering
option is turned on, until it is large enough to prevent
right middle is the measured Cˆ averaged code some SV channels from entering steady state tracking.
0.2045983063; the left bottom subplot is the code-carrier
Doppler divergence going from -94419.789Hz to Pseudorange (m) x 10
-3 Carrier phase (m)
94478.566Hz; the right bottom subplot is the measured Case (1):
2 5
fIF=1250000 0 0
Ĉ averaged 3148.3065757. Equation (8), (9), (11) are f =5000000
S -2 -5
validated by these processing results. 2
0 200 400 600
5
0
x 10
-3 200 400 600
Case
(2): 0 0
PRN1 carrier and code Doppler measurements fIF=1251000
2800 0.2507341182 -2 -5
fS=5000050 0 200 400 600 0 -3 200 400 600
fd (Hz)
Ccarr
2700 0.250734118
x 10
2 5
Case (3):
2600 0.2507341178 fIF=1251000 0 0
-200 -100 0 100 200 300 -200 0 200
fS=4999950
100 0.2045983070 -2 -5
0 200 400 600 0 200 400 600
fCd (Hz)
Ccode
-100
-200 -100
5
0 100 200 300
0.2045983060
-200 0 200 Figure 3 Clock-steered raw pseudorange and carrier
phase measurements under different assumed IF and
1540fCd-fd (Hz)
x 10
1 314.8306580
0 314.8306575
sampling frequency
C
-1 314.8306570
-200 -100 0 100 200 300 -200 0 200 Case (1) Case (1) - Case (2)
assumed fS - nominal fS0 (Hz) assumed fS - nominal fS0 (Hz) 5 0.05
0
fˆS
0
Figure 2 Doppler measurements under different -5 -0.05
Height difference (m)
0 0
With the simulated signal parameters known, the accuracy -5 -0.05
0 200 400 600 0 200 400 600
of all the measurements in the software receiver can be Case (3) Case (3) - Case (1)
5 0.05
evaluated. Figure 3 shows the differences between the 0
0
receiver-measured pseudorange, carrier phase and the -5 -0.05
corresponding simulator-generated parameters for three 0 200 400
Time (20ms)
600 0 200 400
Time (20ms)
600
723
Figure 4 Height errors under different assumed IF and calibrated results are (9547983.8Hz, 38192000.401Hz)
sampling frequency for a 8s window.
fd (Hz)
-149
C carr
evaluated with the initially assumed sampling frequencies -150
0.2526157106
fCd (Hz)
0
C code
GDOP, HDOP, VDOP and TDOP values are 2.409, -0.2
0.0625016984
C
Table 1 Frequency calibration results under different -500
-50 -48 -46 -44
95.9999996
-50 -48 -46 -44
initially assumed sampling frequencies assumed fS - nominal fS0 (Hz) assumed fS - nominal fS0 (Hz)
1251000.1 5000050.0
5000250 39.9996 0.000628 298
17598 03140
297
1251000.1 5000049.9 299,659 299,662 299,665 299,668
5000350 59.9994 -0.0001162
01926 99419 Receiver Time (s)
As a further test using live GPS satellite signals, Figure 5 Figure6 Differences between raw measurement latching
and Figure 6 give the processing results of the data set time and integer intervals of GPS time, as well as height
“GPS_and_GIOVE_A-NN-fs16_3676-if4_1304.bin” solution using live GPS signals
provided by [10]. The local sampling frequency changes
in turn from 16367550Hz to 16367556.25Hz with a step Data collected from the same Motorola front end used in
of 0.25Hz in Figure 5. The IF and sampling frequency [3] has also been processed. The nominal values of the
published in [10] are 4130400MHz and 16367600MHz, (IF, sampling frequency) are (1364000Hz, 5456000Hz),
while the calibrated IF and sampling frequency are the calibrated results using the method in this paper are
4134846.7Hz and 16367553.679Hz respectively in a 8s (1261722.53Hz, 5455623.421Hz).
window. There is a -46.321Hz deviation of the true
sampling frequency from the nominal value, which The data set "GPSdata-DiscreteComponents-fs38_192-
corresponds to the zero passage point in the left bottom if9_55.bin" is also processed as a case study for the
subplot, with a zero code-carrier Doppler discrepancy periodic averaging technique, although a wideband
under the calibrated IF. The top plot in Figure 6 shows the frontend is necessary for high fidelity signal quality
differences between the clock-steered raw measurement monitoring. The data are collected using a conventional
latching time and integer multiples of 20ms of GPS time. active hemispheric antenna. The technique applies a
It can be seen that all the differences are within one sequence of operations on the collected signals of PRN18
sampling interval. The bottom plot shows the at an elevation of 72 deg. The carrier (plus Doppler) and
corresponding navigation solution results with an navigation data are wiped off from the incoming signals
updating rate of 50Hz. Another data set in [10] named after achieving tracking and bit synchronization in the
"GPSdata-DiscreteComponents-fs38_192-if9_55.bin" has software receiver. Then the baseband code signal is
also been processed. The published (IF, sampling periodically averaged and characterized in the time,
frequency) are (9548000Hz, 38192000Hz), and the frequency, modulation and correlation domain. Figure 7
shows the time domain waveforms with different
724
averaging window using the calibrated sampling zoomed in view of the individual code chip and the eye
frequency and the code chip rate measurement obtained pattern after averaging over 8000 code periods. The ring
using this sampling frequency. The receiver estimated phenomenon induced by the limited frontend filter
C/N0 is 50dB-Hz for PRN18 signals. The received signals bandwidth is evident. Figure 12, 13 show the CCF of the
are below the noise floor. Averaging 100 code periods incoming PRN18 code with the ideal local code and the
results in a 20dB SNR gain which makes the code chip S-curve bias of the incoming code signal respectively
barely visible as the signal level is raised above the after averaging over 8000 code periods. A non-coherent
thermal noise floor, and the 39dB SNR gain of 8s early minus late power discriminator is used in the S-
averaging window leads to a clear code structure in the curve analysis. As a contrast, Figure 14 shows the CCF
last subplot. Figure 8 is the corresponding histogram for without averaging, as well as the autocorrelation function
signal amplitude distribution, which shows the variance of (ACF) of an ideal PRN18 code sequence. It can be seen
the Gaussian distribution is reduced as the averaging that the SNR gain introduced by averaging processing
window size increases. lead to clear signal observation and characterization in the
time, frequency and correlation domain.
Periodic averaging on PRN18 code - Time domain waveforms
50
Periodic averaging on PRN18 code - PSD
0 No Average
-50 -60
0 200 400 600 800 1000 1200
10
No Average
0 Aver. 0.1s -80
-10
0 200 400 600 800 1000 1200 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
5
Signal amplitude
-60
0 Aver. 0.5s
PSD (dB/Hz)
-5 Aver. 0.1s
0 200 400 600 800 1000 1200 -80
5
0 Aver. 1s 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
-5 -60
0 200 400 600 800 1000 1200
5
Aver. 1s
0 Aver. 2s -80
-5
0 200 400 600 800 1000 1200
5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
0 Aver. 4s -60
-5
5
0 200 400 600 800 1000 1200 Aver. 8s
-80
0 Aver. 8s
-5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
0 200 400 600 800 1000 1200
Number of samples Frequency (MHz)
Figure 7 Waveforms with different averaging window Figure 9 PSDs with different averaging window
PRN18 code after averaging Sampling frequency: 38192000.4Hz
Periodic averaging on PRN18 code - Signal amplitude distribution 1.5
10000
5000 No Aver.
1
0
-6 -4 -2 0 2 4 6
1000
Signal amplitude
0.5
500 Aver. 0.1s
0
-4 -3 -2 -1 0 1 2 3 4 0
2000
Aver. 0.5s
Number of samples
1000
0 -0.5
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
2000
1000 Aver. 1s -1
0
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
2000 -1.5
0 10 20 30 40 50 60 70 80
1000 Aver. 2s Time (number of samples in 1chips)
0
4000
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Figure 10 Zoomed in view of one chip after averaging
2000 Aver. 4s over 8s
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
4000
2000 Aver. 8s
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Signal amplitude
Figure 8 Histograms with different averaging window
725
2
Eye pattern of PRN18 code after averaging over 8s
Figure 14 CCF of the incoming code without average,
1.5
and ACF of the ideal local code
1
To demonstrate the impact of sampling frequency error on
Signal amplitude
-1.5
averaging window increases, the degradation becomes
-2
0 10 20 30 40 50 60 70 80
even severe.
Time - number of samples in 2 chips)
0 No Average
Correlation function after averaging over 8s -50
1.2 0 200 400 600 800 1000 1200
10
1
0 Aver. 0.1s
-10
0 200 400 600 800 1000 1200
5
0.8
0 Aver. 0.5s
signal amplitude
-5
0.6 0 200 400 600 800 1000 1200
5
0.4
0 Aver. 1s
-5
0 200 400 600 800 1000 1200
0.2 5
0 Aver. 2s
0 -5
0 200 400 600 800 1000 1200
5
-0.2 0 Aver. 4s
-5 -4 -3 -2 -1 0 1 2 3 4 5
-5
Delay (chips) 0 200 400 600 800 1000 1200
2
Figure 12 CCF of the incoming code after averaging over 0 Aver. 8s
8s with the ideal local code -2
0 200 400 600 800 1000 1200
Time (number of samples)
4
S-Curve bias after averaging over 8s
3
x 10
Figure 15 Waveforms with different averaging window
under a deviated sampling frequency
Relative Lock-Point Bias [ps]
2.5
500
0
0 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
0 0.5 1 1.5 1000
E-L-Spacing[Chips] 500 Aver. 1s
Figure 13 S-curve bias of the incoming PRN18 code 0
-3 -2 -1 0 1 2 3
1000
signal after averaging over 8s 500 Aver. 2s
0
-3 -2 -1 0 1 2 3 4
Correlation function, no average 1000
1.2 500 Aver. 4s
CCF, collected 0
PRN18 signal -4 -3 -2 -1 0 1 2 3 4
1 1000
ACF 500 Aver. 8s
ideal PRN18 code
0.8 0
-4 -3 -2 -1 0 1 2 3 4 5
Normalized CCF
Signal amplitude
0.6
726
0.25Hz (bottom plot). The correlation loss is more severe [1] P.W. Ward, “Satellite signal acquisition, tracking,
with larger frequency mismatch. and data demodulation” in E. D. Kaplan and C. J.
Hegarty, editor, “Understanding GPS, Principles and
Coorelation peak after averaging under different assumed sampling frequency
3
Applications (2nd Edition),” Artech House Publishers,
2
p153-242, 2006.
1
[2] John R. Vig.
http://homepage.ntlworld.com/jan.ooijman/quartz_cr
Correlation peak value
0
38,191,900
3
38,191,950 38,192,000 38,192,050 38,192,100
ystal_resonators_and_oscillators_for_frequency_con
2
trol_and_timing_applications_tutorial.pdf.
[3] L. L. Liou, D. M. Lin, J. B. Tsui, J. Schamus, Y.
1
Morton, “Frequency Characterization of A/D
0
38,191,985 38,191,990 38,191,995 38,192,000 38,192,005 38,192,010 38,192,015 Converter in Software GPS Receivers,” Proc. 2005
2.5
Joint IEEE Int'l Frequency Control Sym. & Precise
Time & Time Interval Sys. & Appl. Meeting, p656-
2
659, Aug. 2005, Vancouver, Canada.
1.5
[4] P. M. Corbell. “Design and validation of an accurate
38,191,999 38,191,999.5 38,192,000 38,192,000.5 38,192,001 38,192,001.5 38,192,002
Assumed sampling frequency
GPS signal and receiver truth model for comparing
advanced receiver processing techniques,” MS thesis
Figure 17 Correlation peak after averaging under of AFIT, OH, March 2000.
different assumed sampling frequency [5] M. Pini, D.M. Akos. Exploiting GNSS Signal
Structure to Enhance Observability. IEEE
Transactions on Aerospace and Electronic Systems,
CONCLUSIONS VOL. 43(4), p1553-1566,Oct. 2007.
[6] X. Li, D.M. Akos, Implementation and performance
This paper has investigated the sampling frequency error of Clock Steering in a Software GPS L1 Single
impact on the signal processing in a software-correlator Frequency Receiver, Navigation: Journal of the
based GPS receiver as well as the periodic averaging Institute of Navigation, Vol.57(1), Spring 2010, to
technique in a pre-correlation GPS signal quality monitor. be published.
The refined signal model of receiver processing in the [7] Y. Kou. “Study on GNSS Software Receiver and
presence of clock error is established as the foundation of Signal Simulator,” Beijing University of Aeronautics
the performance analyses. A software-based method is and Astronautics, China, March 2006.
developed to accurately calibrate both the digital IF and [8] D. M. Akos, M. Pini, “Effect of Sampling Frequency
the sampling frequency simultaneously. The method on GNSS Receiver Performance,” Navigation, 2006,
requires no additional hardware other than the GPS VOL 53; No. 2, pages 85-96.
receiver RF front end output samples. It enables inline [9] X. Yin, Y. Kou, Z. Zhang. “Design and
calibration of the receiver measurements instead of Implementation of a Flexible Software-based GNSS
complicated post-processing. The performance of the IF Signal Simulator,” Proc. 22nd International
technique is evaluated using simulated signals as well as Technical Meeting of the Satellite Division ION
live GPS signals collected by several GPS data GNSS 2009, Sept. 22-25, 2009, Savannah, GA.
acquisition equipments, including clear time domain [10] K. Borre, D. M. Akos, N. Bertelsen, P. Rinder, S. H.
waveforms/eye patterns, amplitude probability density Jensen, “A Software-Defined GPS and Galileo
histograms, Power Spectrum Density (PSD) envelopes, Receiver A Single-Frequency Approach,”
and correlation-related characteristics. The results show Birkhäuser Boston, Nov. 2006.
that we can calibrate the sampling frequency with an
accuracy resolution of 10-9 of the true sampling frequency
online, and the pre-correlation SNR can be potentially
improved by 39dB using periodic averaging.
ACKNOWLEDGMENTS
REFERENCES
727