Next Article in Journal
Discrete and Polymeric, Mono- and Dinuclear Silver Complexes of a Macrocyclic Tetraoxime Ligand with AgI–AgI Interactions
Previous Article in Journal
Garment Counting in a Textile Warehouse by Means of a Laser Imaging System

Sensors 2013, 13(5), 5649-5670; doi:10.3390/s130505649

Fast Nearly ML Estimation of Doppler Frequency in GNSS Signal Acquisition Process
Xinhua Tang 1,*, Emanuela Falletti 2 and Letizia Lo Presti 1
NavSAS Group, Department of Electronics and Telecommunications, Politecnico di Torino, Corso Duca degli Abruzzi 24, Torino 10129, Italy
NavSAS Group, Istituto Superiore Mario Boella, Via Pier Carlo Boggio 61, Torino 10138, Italy
Author to whom correspondence should be addressed; Tel.: +39-327-979-3717; Fax: +39-011-227-6299.
Received: 14 March 2013; in revised form: 17 April 2013 / Accepted: 22 April 2013 / Published: 29 April 2013


: It is known that signal acquisition in Global Navigation Satellite System (GNSS) field provides a rough maximum-likelihood (ML) estimate based on a peak search in a two-dimensional grid. In this paper, the theoretical mathematical expression of the cross-ambiguity function (CAF) is exploited to analyze the grid and improve the accuracy of the frequency estimate. Based on the simple equation derived from this mathematical expression of the CAF, a family of novel algorithms is proposed to refine the Doppler frequency estimate with respect to that provided by a conventional acquisition method. In an ideal scenario where there is no noise and other nuisances, the frequency estimation error can be theoretically reduced to zero. On the other hand, in the presence of noise, the new algorithm almost reaches the Cramer-Rao Lower Bound (CRLB) which is derived as benchmark. For comparison, a least-square (LS) method is proposed. It is shown that the proposed solution achieves the same performance of LS, but requires a dramatically reduced computational burden. An averaging method is proposed to mitigate the influence of noise, especially when signal-to-noise ratio (SNR) is low. Finally, the influence of the grid resolution in the search space is analyzed in both time and frequency domains.
acquisition; CAF; refinement; CRLB; least square; averaging method

1. Introduction

The main purpose of the acquisition and tracking systems of a Global Navigation Satellite System (GNSS) receiver is to provide an estimate of the Doppler frequency ƒd, the code delay τ, and the phase of the carrier, ϕ, of the signal transmitted by each visible satellite. The task of the acquisition system is to detect the visible satellites and to provide, for each detected satellite, a coarse estimate f ^ d a , τ ^ a of ƒd and τ. This parameter vector is then passed to the tracking systems, whose task is to refine this estimate. The refinement of Doppler frequency estimate is generally performed by a classic phase lock loop (PLL), which requires an initial estimate much more accurate than the one provided by the acquisition system. Therefore it is necessary to improve the accuracy of the estimate f ^ d a to an acceptable level before starting the operations of the phase tracking loop. A system typically adopted by a GNSS receiver to reach this goal is a frequency lock loop (FLL), which is generally integrated within a PLL. The first refinement is done by a robust FLL operating at wideband, then the loop bandwidth is gradually reduced and finally the system switches to a PLL scheme [1,2]. Other methods [3,4] refine the frequency estimate by exploiting the phase difference between two successive periods of data. An interpolation method is introduced in Reference [5] to estimate the true value of the Doppler frequency, but it is based on an empirical approximation.

In most of the previous methods, usually the estimates of ƒd and τ are picked in a search plane only considering the peak cell without any usage of the other cells. In the fields of communications, audio, medical, instrumentation, and others [6], the problem of estimating the frequency of a tone contaminated with noise is tackled for example by Quinn [7,8], MacLeod [9,10], and Jacobsen [6,11], by exploiting the idea of refining the final frequency estimate using the peak sample and two neighbors of the discrete Fourier components. At the same time there are other methods, studied in Reference [12,13], which utilize the phase information. These methods cannot be directly applied to the acquisition of a GNSS signal, because of the very low signal-to-noise ratio and the different signal model, but they can inspire us to do some innovation in GNSS frequency estimation.

In this paper, the peak and neighbor points of the cross-ambiguity function (CAF) in the frequency domain are used to derive a simple formula that greatly improves the accuracy of the frequency estimate provided by the acquisition system. The CAF was initially derived in Reference [14] using statistical principles, then Reference [15] presented a new approach of the CAF derivation. Furthermore in this paper the approximation in CAF main lobe is analyzed in details, based on this approximation, and a new family of methods for refining the estimate of the Doppler frequency is proposed, which exploits the cells close to the peak in the search plane. Compared with the traditional methods, these methods significantly improve the accuracy without increasing the computation complexity or using additional received data.

A preliminary version of this work was presented in Reference [16]. With respect to that previous work, here we extend and complete all the mathematical derivations, extend the performance analysis with appropriate comparisons, derive and discuss the Cramer-Rao lower bound (CRLB) for the frequency estimator showing that the proposed approach is close to the CRLB (quasi-ML approach), and include the theoretical analysis of other non-AWGN nuisances.

This paper is organized as follows. In Section 2 the signal model is presented and the approximate mathematical expression of the CAF in the main lobe is obtained. In Section 3 a new family of algorithms is derived and proved to work perfectly in the absence of noise. In Section 4 the performance of the proposed algorithms is investigated in the presence of additive noise; both the CRLB and a least-square (LS) solution are derived as benchmark, and the comparison shows that the new algorithms can approach very closely the CRLB. Besides that, a simple averaging approach based on non-coherent sums is proposed to improve the accuracy of the algorithms in low SNR conditions. Furthermore, in Section 5, the effects of other nuisances, uncorrelated with the additive noise, are analyzed, and some countermeasures are proposed. Finally, in Section 6 the conclusion is drawn.

2. Fundamentals of the New Algorithms

The basic scheme of the acquisition method proposed in this paper is illustrated in Figure 1. The left part of the figure indicates the traditional GNSS acquisition process from which a two-dimensional search grid (marked in green color) is generally obtained, while the right side shows the presence of a new additional block able to refine the Doppler frequency estimate in a simple way. The innovation proposed in this paper refers to the algorithms used by this additional block to refine the frequency estimate.

2.1. Acquisition Process

The acquisition system for GNSS application is based on the maximum-likelihood estimation theory, which can be briefly described as follows [17].

The incoming sampled signal can be denoted as a vector

y = [ y ( 0 ) y ( 1 ) y ( L 1 ) ]
where L is the total number of the samples, and
y ( n ) = r ( n ) + W ( n )
where r(n) is a signal that contains a vector of unknown parameters a = [α1α2α3αK], W(n) is a zero-mean White Gaussian Noise (WGN) random process with variance σ2, and 0 ≤ nL — 1.

The ML estimate of the parameter vector a can be found by maximizing the likelihood function, which depends on the probability density function (PDF), that is

p ( y ; a ¯ ) = 1 ( 2 π σ 2 ) L 2 exp [ 1 2 σ 2 n = 0 L 1 ( y ( n ) r ¯ ( n ) ) 2 ] = 1 ( 2 π σ 2 ) L 2 exp [ 1 2 σ 2 n = 0 L 1 ( y 2 ( n ) + r ¯ 2 ( n ) ) + 1 2 σ 2 n = 0 L 1 y ( n ) r ¯ ( n ) ]
where the test signal (n) has the same structure of r(n), but the unknown parameter vector a is substituted by a vector a̅, whose elements are variables defined in a range rana that contains all the possible values of the unknown vector a, that is to say, ϵ rana.

If the energy of the test signal (n) (that is the term n = 0 L 1 r ¯ 2 ( n ) in Equation (3)) does not depend on a̅, then it is possible to show [17] that the corresponding ML estimate âML of a is

a ^ ml = arg max a ¯ ran a n = 0 L 1 y ( n ) r ¯ ( n )
So, in this case, the ML estimation actually depends on the scalar product R() between the test signal and the received signal, defined as
R ( a ¯ ) = n = 0 L 1 y ( n ) r ¯ ( n )
âML can be found by searching the maximum R() in the range rana.

In GNSS field, without considering the influence of noise, the received signal, after down-conversion and sampling, can be written as [1]

y ( n T s ) = m = 1 N υ y m ( n T s )
where Nυ is the number of satellites in view, and
y m ( n T s ) = A m C m ( n T s τ m ) d m ( n T s τ m ) cos ( 2 π ( f I F + f d , m ) n T s + φ m )
where Am is the amplitude of the signal, Cm(nTsτm) = cm (nTsτm) sb(nTsτm) is the product of the satellite spreading code cm(nTsτm) and subcarrier sb(nTsτm) used in the new GNSS systems [18], such as in Galileo (if no subcarrier is present, then sb(nTsτm)=1), τm is the code delay, dm(nTsτm) is the navigation data, fIF is the intermediate frequency, fd,m is the Doppler frequency shift, φm is the phase of the carrier, and Ts is the sampling interval (the inverse of the sampling frequency fs).

From Equation (7), we can learn that in principle, the satellite signal actually contains four unknown parameters: code delay (τ), Doppler frequency (fd), carrier phase (φ) and data bit. However in the acquisition process, only two of them are estimated, which are τ and fd.

With respect to the parameter data bit, in the implementation, a non-coherent acquisition scheme is used to solve the problem, so here we assume that there is no data-transition in the accumulation period.

Considering the parameter carrier phase, its influence can be removed by involving two components in the acquisition process that are in-phase component (I) and 90° phase-shifted quad-phase (Q) component [19]. Therefore, the test signal (n) can be written as

r ¯ ( n ) = C ( n T s τ ¯ ) e 2 π ( f I F + f ¯ d ) n T s
where the parameter vector becomes a ¯ = [ τ ¯ , f ¯ d ], and the energy of (n) is not related to a̅. So the accumulation process in acquisition can be expressed mathematically as
R ( τ ¯ , f ¯ d ) = 1 L n = 0 L 1 y ( n ) C ( n T s τ ¯ ) e 2 π ( f I F + f ¯ d ) n T s

Equation (9) is known as cross-ambiguity function (CAF). Based on Equations (4) and (5), the ML estimate of [τ, fd] can be obtained [17], as

a ^ ml = arg max ran a | R ( τ ¯ , f ¯ d ) |
where |·| means the modulus of a complex value, and the range of a̅, rana will be discussed in Section 3.

There are mainly three acquisition schemes [19]: serial search acquisition, parallel frequency space search acquisition and parallel code phase search acquisition. No matter what kind of scheme is used, a two-dimensional search grid (Figure 4) is always obtained, and the resulting estimated vector is selected as the location of the peak cell, and, at the same time, the other cells in the search grid are abandoned. However, because of the large frequency searching step fsp, the frequency estimate error is located in the range [ f s p 2 , f s p 2 ], so the initial Doppler frequency estimate is usually not accurate enough to pass to the tracking loop directly.

In order to refine the Doppler frequency estimate, a system typically used is the Frequency Lock Loop (FLL) mentioned in Reference [1,2]. An FLL needs additional data and a special structure, which is generally embedded inside the tracking loops. Another typical technique [3,4], which exploits the phase relation of consecutive data (p.150 in Reference [3]), also needs additional data, and, at the same time, encompasses an ambiguity problem in the phase measurement that has to be solved. Actually this technique is essentially similar to an FLL with a particular discriminator.

In this paper, we develop new methods to refine the Doppler frequency estimate, based only on the search grid already evaluated by the acquisition; that is, we do not have to compute new correlations, but we only use the neighbor cells of the CAF peak, already available in the search grid.

2.2. Analytical Expression of the CAF

The CAF [15] is used in radar, sonar and other similar systems to estimate the time delay and the Doppler shift of an incoming signal. An accurate estimation of these signal parameters generally requires the evaluation of several CAF samples, at the cost of an increased computational complexity. In this paper we propose a family of methods that exploits the knowledge of an approximate expression of the analytical formula of the CAF, given in Reference [15], to reach a trade-off between accuracy and complexity.

Following the approach presented in Reference [15], the CAF associated to the generic i-th satellite code, locally generated for each trial value of code delay τ̅ and Doppler frequency d, can be written as

S i ( τ ¯ , f ¯ d ) = m = 1 N υ R m , i ( τ ¯ , f ¯ d )
where Rm,i(τ̅,f̅d) is the contribution to the CAF of the m-th signal ym(nTs). Its analytical expression is [15]
R m , i ( τ ¯ , f ¯ d ) = 1 T d 0 T d y m ( t ) { C i ( t τ ¯ ) e j 2 π ( f I F + f ¯ d ) t } d t = A m 2 T d e j φ m { F { P T d ( t ) } * F { b m , i ( t ) } } f = Δ f = B m k = a k ( m , i ) sin c ( ( Δ f k T p ) π T d ) e j ( Δ f k T p ) π T d
where Bm = (Am/2Td)ejφm, the subscript i denotes the i-th satellite code generated by the local generator, Td is the integration time, F{} denotes Fourier transform, the symbol * denotes convolution operation, Tp is the code period, τ̅ is the code delay estimate introduced in the local code, Sinc(x) = sin (x)/x, d is the Doppler frequency estimate introduced in the local carrier, Δf is the Doppler frequency estimate error, which can be expressed as
Δ f = f d , m f ¯ d
bm,i(t) is the product of two spreading codes, that is
b m , i ( t ) = C m ( t τ m ) C i ( t τ ¯ )
and PTd is a window function defined as
P T d = { 1 , 0 < t < T d 0 , otherwise
Since bm,i(t) is a periodic signal with a period equal to the code period, its Fourier transform leads to a line spectrum with coefficients given by
a k ( m , i ) = 1 T p T p b m , i ( t ) e j k ( 2 π / T p ) d t
and the convolution with the line spectrum leads to the summation in Equation (12).

In Figure 2 the distribution of ak(m,i) is shown in the case τm = 0.2 Tch, where Tch is the chip duration. Thanks to the property of Pseudo Random Noise (PRN) code, as expected, a0(m=i) predominates over the other ak(m,i). To better understand the nature of the summation in Equation (12), let us refer to Figure 3 where for simplicity, we represent the quantity

k = a k ( i , i ) | Sinc ( ( Δ f k T p ) π T d ) |
to demonstrate the relationship among different Sinc functions. As Figure 3 shows, if a0 is the peak component in Equation (12) (the subscript i,i is omitted to simplify the notations) only the components strictly adjacent to a0(i.e., a-2a-1a1a2 …) affect the shape of the main lobe of Equation (12), while the contribution of faraway components can be ignored. So, if we can guarantee that the adjacent coefficients (a-2a-1a1a2 …) are far smaller than α0, the mathematical expression of the CAF in the main lobe (subscript “ml”) can be written as
S i ( τ ¯ , f ¯ d ) ml = R i , i ( τ ¯ , f ¯ d ) ml + m i R m , i ( τ ¯ , f ¯ d ) ml A i 2 e φ i a 0 sinc ( Δ f π T d ) e j Δ f π T d
where α0 = α0(i,i) = R(Δτ), and Δτ = τmτ̅. As a conclusion the approximate expression of the CAF in its main lobe is
S i ( τ ¯ , f ¯ d ) ml A i 2 e j φ i R ( Δ τ ) Sinc ( Δ f π T d ) e j Δ f π T d

The validity of this approximation can be improved in two ways:

  • By enlarging the integration time Td. In fact as Td increases, the adjacent components will “move” away relatively In other words, as Td increases the width of the lobe decreases, while the distance between two sinc functions stays constant, as it depends on the code period.

  • By decreasing the values of the adjacent coefficients (a−2a−1a1a2 …). This can be obtained by improving the accuracy of code delay estimate, so as to work close to the maximum of Rτ).

Based on the CAF expression in Equation (19), new algorithms for a better estimation of the Doppler frequency are discussed hereafter, both in ideal (i.e., noiseless, Section 3) and realistic (Section 4) scenarios.

3. Doppler Frequency Evaluation in the Absence of Noise

The signal acquisition process is basically a two dimensional search in a grid plane (commonly referred to as search space), as shown in Figure 4, where τ̅ ϵ (0, Tp) (X-axis range), and d ∈ (−fdmax, fdmax) (Y-axis range). The variables under test τ̅ and d are discretized with a step τsp for the code delay, and a step fsp for the Doppler frequency. The integration time is Td = LTs (where L is the total number of integrated samples). The number of trial points in the two axes are Nτ = Tdsp, and Nf = 2fdmax/fsp. Therefore the grid plane contains Nτ × Nf cells, and each cell (marked by yellow color in Figure 4) corresponds to a parameter pair 〈τ̅, d〉. Finally the decision variable for the acquisition is

S ¯ ( τ ¯ , f ¯ d ) ml = | S i ( τ ¯ , f ¯ d ) ml |

The purpose of a traditional acquisition system is to find the coordinates of the peak cell of the grid plane when the satellite we want to detect is visible. To improve the accuracy of the estimates, the steps τsp and fsp must be decreased, at the expenses of the computational complexity, since the number of points of the search space increases. The empirical value fsp = 2/(3LTs) is a typical choice [8] for the Doppler frequency step.

An example of search space is shown in Figure 4. The column (marked in green) crossing the peak cell (marked A) contains cells that share the same code delay. When the i-th satellite is visible, the function in this column is as shown in Figure 5, where the X-axis contains the variable Doppler frequency d, while the Y-axis represents the absolute value of the acquisition test statistic (τ̅, d)ml. As indicated in Figure 3, the width of the main lobe is 2/Td = 2/(LTs). Since fsp = 2/(3LTs), this guarantees that three adjacent points of the frequency domain CAF (A, B, C) are located in the main lobe, and then we can assume that Equation (19) is always valid in these points.

The cells A, B and C are characterized by the triplete and (τ̅A,f̅Aa),(τ̅B,f̅BB),and(τ̅C,f̅CC), where the code delay is the same for all the cells in the same column (τ̅a=τ̅Bτ̅C) and we adopt the notation X = (τ̅X, dX) ml, X = (A,B,C) for simplicity. In the case of no noise, these triplets can be used to find the true Doppler frequency fd, as it will be shown hereafter. This will be also the starting point of the estimation method proposed in this paper, when the measurements are affected by noise.

3.1. True Solution Based on the Absolute Value of CAF

In Reference [16], which is our initial work on this topic, we can also find the basic idea about the solution based on the absolute value of the CAF. Under the assumption that there is no data transition in the integration interval, based on Equations (19) and (20) we can write the following equations [16]

S ¯ A = A 2 | R ( Δ τ ) | | Sinc ( π LT s ( f d f ¯ A ) ) | S ¯ B = A 2 | R ( Δ τ ) | | Sinc ( π L T s ( f d f ¯ B ) ) | S ¯ C = A 2 | R ( Δ τ ) | | Sinc ( π L T s ( f d f ¯ C ) ) |
where the unknowns are the amplitude A, the value of the code correlation function Rτ), and the true Doppler frequency fd. We are going to show that the value of fd can be easily computed from the above system of equations [16].

First of all we observe that, when the points are located in the main lobe (like points A, B and C in Figure 5), we can write |Sinc (πLTs(fdA))| = Sinc(πLTs(fdA)). Now, according to Equation (13) we write = fd − Δf, so

f ¯ S ¯ = ( f d Δ f ) S ¯ = f d S ¯ A | R ( Δ τ ) | sin ( π L T s Δ f ) 2 π L T s
Based on Equations (21) and (22), we can write
f ¯ A S ¯ A + f ¯ B S ¯ B + f ¯ C S ¯ C = f ¯ d S ¯ A + f ¯ d S ¯ B + f ¯ d S ¯ C S A , B , C
S A , B , C = A | R ( Δ τ ) | 2 π L T s ( sin ( π L T s Δ f A ) + ( sin ( π L T s Δ f B ) + ( sin ( π L T s Δ f C ) )
Considering fsp = 2/(3LTS):
f ¯ B = f ¯ A + 2 3 L T s Δ f B = Δ f A + 2 3 L T s f ¯ C = f ¯ A + 2 3 L T s Δ f C = Δ f A + 2 3 L T s
from which
S A , B , C = sin ( π L T s Δ f A + 2 π 3 ) + sin ( π L T s Δ f A 2 π 3 ) = 0
By substituting Equation (26) for SA,B,C in Equation (23) we obtain AA + BB + CC = fd(A + B + C), from which we can write the true Doppler frequency as
f d = f ¯ A S ¯ A + f ¯ B S ¯ B + f ¯ C S ¯ C S ¯ A + S ¯ B + S ¯ C
This expression gives the correct value of the Doppler frequency fd, independently from the code delay error Δτ, in the absence of noise and other nuisances. This equation represents a weighted average of the three measured points, and can be used as a first promising estimator of the Doppler frequency even when the CAF is affected by noise. Notice that Equation (27) is valid only when the Doppler frequency step is fsp = 2/(3LTS).

More in general, if we choose the Doppler frequency step as

f s p = 2 n ¯ L T s
where is a positive integer, we can choose the cells as follows:
  • When is odd, we take ( − 1)/2 cells at each side of the peak cell, as shown in Figure 6(a).

  • When is even, we take n̅/2 cells at one side and [(n̅/2) − 1]cells on the other side of the peak cell, as Figure 6(b) shows.

No matter what value assumes (even or odd), there will be cells taken into the final calculation, and Equation (26) will become

k = 0 n ¯ 1 sin ( π L T s Δ f 1 + 2 k L ¯ T s ) = 0
where Δf1=fd1 and 1 is the trial value of the Doppler frequency in the first cell of the set (i.e., the cell 1 marked in Figure 6). Then Equation (27) becomes
f d = k = 1 n ¯ f ¯ k S ¯ k k = 1 n ¯ S ¯ k
which can be adopted as an estimator of the Doppler frequency in the presence of noise.

For simplicity, hereafter we refer to solution Equation (27) as algorithm R-3 and solution Equation (30) as algorithm R-.

3.2. True Solution Based on Complex Values of CAF

Based on References [7,10], we can obtain another similar solution by using the test statistic (,d)ml in the complex form given in Equation (19). In fact it is possible to show that

f d , complex = Real { f ¯ C S C + f ¯ A S A e j π f s p T d + f ¯ B S B e j π f s p T d S C + S A e j π f s p T d + S B e j π f s p T d } = Real { ( f ¯ C | S C | + f ¯ A | S A | + f ¯ B | S B | ) e j ( π Δ f C T d + φ i ) ( | S C | + | S A | + | S B | ) e j ( π Δ f C T d + φ i ) } = f ¯ C | S C | + f ¯ A | S A | + f ¯ B | S B | | S C | + | S A | + | S B | = f d

At the same time, similarly to Equation (30), we can generalize this solution as

f d , complex = Real { k = 1 n ¯ f ¯ k S k e j ( k 1 ) π f s p T d k = 1 n ¯ S k e j ( k 1 ) π f s p T d }
where k+1=k+fsp and ƒ1 is the Doppler frequency value in cell 1 marked in Figure 6.

For simplicity, hereafter we refer to solution Equation (31) as algorithm C-3 and solution Equation (32) as algorithm C-.

3.3. Test of Validity

The formulas in the previous sections show that, in the absence of noise and other nuisances, the proposed equations are able to evaluate the true Doppler frequency, hence reducing the estimation error range from the traditional (−fsp/2, fsp/2) to theoretically zero. A possible residual error can arise due to the fact that the method is based on an approximate formulation of the test statistic Equation (19). Therefore to test its validity, we set up a simulated acquisition campaign, where the Doppler frequency estimation error due to the traditional acquisition method is compared with the residual error introduced by the algorithms R-3, R-, C-3, and C-. In the simulations, the GNSS signals are generated by using the signal simulator N-FUELS [20], and several instances of a Galileo E1-b signal are obtained. Firstly we tested the methods in an ideal scenario (i.e., noiseless), with parameters fIF = 4 MHz, fs = 17 MHz, τ = 0.11 ms.

The accumulation time of the acquisition stage is set to the minimum period (4 ms), assuming that no data transition occurs in this period, the Doppler frequency step is

f s p = 2 3 L T s = 167 H Z
and 67 different values of fd are randomly chosen in the range (−4, 500,4, 500) Hz. This makes the original errors uniformly distributed in (−fsp/2, fsp/2), as also proved in Figure 7, where the cumulative distribution of the Doppler frequency estimation errors is shown. After the refinements are obtained by using R-3 or C-3, the error range decreases to nearly (−0.8,0.8) Hz, which is a residual numerical error due to the approximations introduced in Equations (18) and (19).

Therefore, we can conclude that in the absence of noise, in experiments, the new methods eliminate the error in the evaluation of the Doppler frequency due to the discretization of the search space, just using three cells selected in the main lobe of the frequency-domain CAF The only constraint is that the Doppler frequency step has to be as given in Equation (28), with = 3. Moreover the obtained results show that the method is not affected by the code delay error Δτ.

The practical situation in which the noise is unavoidable is discussed in the next section.

4. Doppler Frequency Estimation in the Presence of Noise

In real scenarios, we have to consider the influence of noise, which can be modeled as an Additive White Gaussian Noise (AWGN), as commonly done in the literature. Then the received signal model becomes

y ( n T s ) = y ( n T s ) + η ( n T s ) = A c ( n T s τ ) s b ( n T s τ ) d ( n T s τ ) cos ( 2 π ( f I F + f d ) n T s + φ ) + η ( n T s )
where η(nTs) represents the white Gaussian noise normally distributed with zero mean and variance σ I F 2, related to the power spectral density SN(f) = N0/2 of the analogue noise by the well-known formula
σ I F 2 = E { η 2 ( n T s ) } = N 0 f s 2
valid when the transfer function of the equivalent front-end filter is assumed flat over the whole digitization bandwidth (−fs/2,fs/2). Without considering the data-transition, the in-phase and quadrature components of the CAF for the local parameters d and τ̅ can be written as
I ( τ ¯ , f ¯ d ) = 1 N n = 0 N 1 ( y ( n T s ) + η ( n T s ) ) C ( n T s τ ¯ ) cos ( 2 π ( f I F + f ¯ d ) ) Q ( τ ¯ , f ¯ d ) = 1 N n = 0 N 1 ( y ( n T s ) + η ( n T s ) ) C ( n T s τ ¯ ) sin ( 2 π ( f I F + f ¯ d ) )
which, based on Equation (19) (and omitting the subscript i), becomes
I ( τ ¯ f ¯ d ) = Real { S ( τ ¯ , f ¯ d ) } + N I Q ( τ ¯ f ¯ d ) = Img { S { S ( τ ¯ , f ¯ d ) } + N Q }
where Real{ } and Img{ } mean respectively real and imaginary part of a complex value, and
N I = 1 N n = 0 N 1 η ( n T s ) C ( n T s τ ¯ ) cos ( 2 π ( f I F + f ¯ d ) ) N Q = 1 N n = 0 N 1 η ( n T s ) C ( n T s τ ¯ ) sin ( 2 π ( f I F + f ¯ d ) )
According to Reference [21], we know that NI and Nq are still white noise processes with variance var ( N I ) = var ( N Q ) = σ I F 2 / ( 2 N ), and the envelope of (τ̅, f̅d) = I + jQ is
S ¯ ( τ ¯ , f ¯ d ) 2 = I ( τ ¯ , f ¯ d ) 2 + Q ( τ ¯ , f ¯ d ) 2 = S ¯ ( τ ¯ , f ¯ d ) 2 + 2 Real { S ( τ ¯ , f ¯ d ) } N I + 2 Img { S ( τ ¯ , f ¯ d ) } N Q + N I 2 + N Q 2 = S ¯ ( τ ¯ , f ¯ d ) 2 + ω I + ω Q
where the term wI+wq = w is a random process with mean E { w } = E { N 1 2 + N Q 2 } = σ I F 2 / N including all the noise contributions. At this point, working as in Equations (27) or (31), we can develop two new estimators in the presence of noise, that is
f ^ d = f ¯ A S ¯ A + f ¯ B S ¯ B + f ¯ C S ¯ C S ¯ A + S ¯ B + S ¯ C
f ^ d , complex = Real { f ¯ C S C + f ¯ A S A e j π f s p T d + f ¯ B S B e j π f s p T d S C + S A e j π f s p T d + S B e j π f s p T d }
(for simplicity the Doppler frequency step is as in Equation (33)).

Hereafter, we refer to Equation (40) as algorithm “Rn-3” and to Equation (41) as algorithm “Cn-3”. As before, they can be generalized to “Rn-n̅” and “Cn-n̅

In the following two subsections, we discuss two terms of comparison worth to be considered for the frequency estimators proposed so far, firstly a least squares solution and secondly the CRLB on the variance of the estimator. Performance comparisons obtained in simulation are presented in Section 4.3.

4.1. Least-Square Method

Another approach to exploit the CAF points S ¯ A , S ¯ B , S ¯ C as defined in Equation (39) is to set up a least squares (LS) problem as follows.

Since we know that the main lobe of the CAF is a sinc function, it is possible to use the LS method in which the fitting curve is the sinc function Equation (21). The LS method requires that the sum of the squared residuals

Q L S ( a ¯ , f d ) = ( S ¯ A S ¯ A ) 2 + ( S ¯ B S ¯ B ) 2 + ( S ¯ C S ¯ C ) 2
is minimized with respect to the unknown parameters, where = A/(2Rτ)). This leads to the equations
Q L S ( A ¯ , f d ) a ¯ = 0 Q L S ( a ¯ , f d ) f d = 0
Since we are interested in the performance comparison with Rn-3 or Cn-3, we will use a numerical method to solve Equation (43) for fd.

4.2. Evaluation of the Cramer-Rao Lower Bound

Usually, a statistical estimator is characterized by its bias (mean error), variance (mean square error), and the threshold SNR (signal-to-noise ratio) [22]. Hence, here the Cramer-Rao lower bound (CRLB) is proposed as benchmark to compare the performance of different algorithms.

Without considering the data-transition problem and ignoring the influence of the code delay estimation error (which will be discussed in Section 5.2), the received samples Equation (34) can be mathematically expressed as

y ( n T S ) = y ( n T S ) + η ( n T S ) = A cos ( 2 π ( f I F + f d ) n T s + φ ) + η ( n T S )
which contains the unknown parameter vector θ = [A, fd, φ]. The corresponding Fisher information matrix I for an observation of N samples has elements [22]
[ I ( θ ) ] i j = 1 σ 2 n = 0 N 1 y ( n ; θ ) θ i y ( n ; θ ) θ j
where y(n; θ) = A cos(2π(fIF + fd)nTs + φ), and N is the number of samples used for the estimation of the unknowns. Therefore the Fisher matrix is
I ( θ ) = 1 σ I F 2 [ N 2 0 0 0 2 π 2 A 2 T s 2 n = 0 N 1 n 2 π A 2 T s n = 0 N 1 n 0 π A 2 T s n = 0 N 1 n N A 2 2 ]
The CRLB is found as the [i, i] element of the inverse of the Fisher matrix:
var ( θ i ) [ I 1 ( θ ) ] i i
Therefore the CRLB for the Doppler frequency estimate is
var ( f ^ d ) [ I 1 ( θ ) ] 22 12 ( 2 π ) 2 ρ T s 2 N ( N 2 1 )
where ρ = A 2 / ( 2 σ I F 2 ) . As N = fsTd ≫ 1, Equation (48) can be written as
var ( f ^ d ) [ I 1 ( θ ) ] 22 12 ( 2 π ) 2 ρ f s T d 3
which is the benchmark for our estimation algorithms.

4.3. Simulation Experiments for Performance Assessment

To test the algorithms Rn-3, Cn-3 and LS, we performed several simulation experiments with different values of the carrier-to-noise density ratio (CNR), corresponding to a signal-to-noise ratio ρ given by:

SNR = C N 0 B
where B is the one side front-end bandwidth, assumed ideally flat over the whole digitization bandwidth.

The parameters used in the experiments are fIF = 4 MHz, fs = 17 MHz, τ = 0.11 ms, and fsp is set as in Equation (33). We use the root-mean-square error (RMSE) computed for the different algorithms as a metric of performance comparison:

f RMSE = E { ( f ^ d f d ) 2 }
where d is the Doppler frequency estimate, and E{·} is the expected value (estimated as a temporal average along the simulation runs). The metric frmse is calculated for each algorithm and compared with the square root of CRLB.

In the first group of experiments, we set Td = 4 ms and we executed 1000 runs for each CNR. Then, according to Equation (51), we calculated the corresponding RMSE. The results can be seen in Figure 8. We can see that in this case the algorithm Rn-3 is better than Cn-3, as it achieves a lower RMSE closer to the CRLB. At the same time we can see that the algorithm Rn-3 is very close to the least-square method, though the latter is slightly better. However, considering the computation complexity of the LS method, the algorithm Rn-3 appears really competitive with respect to the LS. Finally, the threshold CNR (below which the RMSE rapidly worsens) is around CNR = 38 dB-Hz in all the proposed methods.

In the second group of experiments, we changed the integration time to Td = 8ms. Similarly, we executed 1,000 runs for each CNR and obtained the results reported in Figure 9, where we can observe that, as expected, the RMSE is lower than in Figure 8, since a longer integration time reduces the effects of noise. Again, Rn-3 is the closest to the least-square method, and the threshold CNR decreases to around CNR = 35 dB-Hz in all three proposed methods.

Comparing Figures 8 and 9 we can observe that, first, at the same CNR, the RMSE in Figure 9 is decreased by about a factor of 2.8 with respect to Figure 8. This is in agreement with the theoretical CRLB given in Equation (49). In fact when Td = 4 ms is replaced with Td = 8 ms, the CRLB bound decreases by a factor of 8. Furthermore, when CNR is relatively high (like CNR≥ 45dB-Hz in Figure 8), the proposed three algorithms are very close to the CRLB and each other.

4.4. Averaging Method

Since noise is dominant in the acquisition process, in order to increase the robustness of the proposed approach in the presence of noise, the performance of a simple averaging method, based on the idea of non-coherent sums, is assessed here. The main steps of the method represented in Figure 10 are:

  • Find the initial code delay using a first period of data, then pick out the column (marked in blue color in Figure 4), and save (2J + 1) points (J points at each side of the peak point as illustrated in Figure 10)

  • Use the parameter 〈d, τ̅〉 evaluated in the first step to calculate the new columns (as shown in Figure 10) of the next (M − 1) periods of data.

  • Calculate the average of the M columns into one single mean column.

  • Pick out the top cells in the mean column and use Equation (40) to calculate the final Doppler frequency.

In the following simulation, we set CNR = 43 dB-Hz, =3, J = 2, M = 4, and we execute 1,000 independent runs, for both averaging and non-averaging strategies. The result is shown in Figure 11, where we can see that the new averaging method decreases the error range from (−25,25) Hz to nearly (−15,15) Hz.

5. Analysis of Other Non-AWGN Nuisances

The performance of the algorithms presented so far depends not only on the additive noise but also on other nuisances, whose impact is analyzed in this section. In particular we observe that the methods Rn-3 and Cn-3 are based on the two measured vectors f = [C, A, B] and = [SC, SA, SB] used in Equations (27) and (31), obtained by reading the peak cell and the adjacent cells in the same column (marked as C, A and B in Figure 4). In particular, the code delay τ̅p is kept constant in these three cells.

Since the search space is discretized, in general even in the absence of noise pfd, and τ̅pτ. This can be seen as a quantization error Δ fq = pfd in the frequency domain, and Δ τq = τ̅pτ in the time domain. We know that Equations (27) and (31) completely eliminate the quantization errors in the absence of noise. However, in the presence of noise, we experience an accuracy degradation due to the noise influence on vector , as shown in the simulation results of the previous section. The purpose of the following analysis is to state the influence of the frequency and code delay quantization errors on the proposed frequency estimators, in the presence of noise.

5.1. The Influence of the Peak Point's Location

In this section we study the influence of the quantization error in the frequency domain, which can be re-elaborated as

Δ p = | Δ f q f s p |
from which it is evident that 0 ≤ Δp ≤ 0.5. Using Equation (40) and setting fsp as in Equation (33), the estimation error can be expressed as
f ^ d f d = δ f = f ¯ A S ¯ A + f ¯ B S ¯ B + f ¯ C S ¯ C S ¯ A + S ¯ B + S ¯ C f d = ( f d + Δ f A ) S ¯ A + ( f d + Δ f A + f s p ) S ¯ B + ( f d + Δ f A f s p ) S ¯ C S ¯ A + S ¯ B + S ¯ C f d = Δ f A S ¯ A + ( Δ f A + f s p ) S ¯ B + ( Δ f A f s p ) S ¯ C S ¯ A + S ¯ B + S ¯ C = Δ f A + f s p ( S ¯ B | S ¯ C ) S ¯ A + S ¯ B + S ¯ C
From Equation (53), and using the definition Equation (52), we can calculate the expected value of δf as
E { δ f } = f s p E { Δ p + S ¯ B S ¯ C S ¯ A + S ¯ B + S ¯ C }
From this result we observe that the residual error depends on both the noise contribution in the vector and the parameter Δp.

From Figure 12 we can see that Δp influences the accuracy of the proposed three methods, especially when it comes to the top limit 0.5. This result suggested us to adopt a strategy to mitigate this effect. Recalling Figure 4, in which “A” is the peak point, “B” is the second high point and “C” is the lowest point independently from their relative position on the frequency axis, we can easily observe that, when Δp is close to the limit 0.5, then C is close to zero. In this case the residual error defined in Equation (39) introduces a significant error in the estimate Equation (40), since noise dominates in point “C”. This is experimentally proven in Figure 12, where the curves of Rn-3 and Cn-3 show an increasing RMSE as Δp increases, while the LS appears slightly more robust.

So when Δp is close to 0.5, to limit the accuracy degradation we changed the algorithm (40) as

f ^ d , rel = f ¯ A S ¯ A + f ¯ B S ¯ B S ¯ A + S ¯ B
which will be used whenever the point “C” gets close to zero. The idea is to ignore the “C” term, because when Δp is close to 0.5, the true value S̅Cis nearly zero and S ¯ C mainly contains noise.

To implement this method, a threshold control has to be added, as drawn in Figure 13. Here we use the empirical criterion S ¯ B / S ¯ A > 0.92 to decide whether Δp is critically close to 0.5 or not. In Figure 12 we can observe the result of the method drawn in Figure 13 (continuous line with square markers), which is able to consistently reduce the RMSE when Δp is close to 0.5.

5.2. The Influence of the Code Delay Error

The peak column selected in the search space (marked in Figure 4) also depends on the resolution of the search space in the code delay domain. The mentioned quantization error Δτq = τ̅pτ affects the CAF samples with an amplitude scale factor |Rτq) | as shown in Equation (21), where now Δτ = Δτq. This factor is expected to affect the performance of the estimators Cn-3, and Rn-3.

The influence of such a code delay error can be quantified by modifying the expression of the signal-to-noise ratio ρ in the CRLB Equation (49), so as to take into account the term Rτq). Thus, defining the modified SNR ρ = A 2 | R ( Δ τ q ) | 2 σ I F 2 2 , Equation (49) becomes

var ( f d ^ ) 12 ( 2 π ) 2 ρ f s T d 3

From Equation (56), because Rτq ≤ 1), we can conclude that the CRLB value increases as the code delay Δτq increases; this increase will be also experienced by the RMSE of the proposed algorithms. In conclusion the effect of the quantization error Δτq is an attenuation, which does not modify the results of Figures 8 and 9, except for a scaling factor in the abscissa.

6. Conclusions

In this paper a new family of algorithms is proposed for the fine estimation of the Doppler frequency based on an approximate analytical expression of the CAF The proposed methods have been analyzed in both ideal (i.e., noiseless) and realistic (i.e., noisy) scenarios and compared with a similar LS approach. The CRLB has been derived and used as benchmark for performance assessment. The influences of non-AWGN nuisances are also analyzed under a theoretical perspective. In application, from the experiments, we can see that the method Rn-3 almost achieves the performance of LS, which is very close to CRLB, but the complexity of Rn-3 is notably lower. Moreover, performance can be improved by adopting a simple averaging method.


  1. Kaplan, E.D.; Hegarty, C.J. Understanding GPS: Principle and Applications; Artech House: Boston, MA, USA, 2006; pp. 166–173. [Google Scholar]
  2. Curran, J.T.; Lachapelle, G.; Murphy, C.C. Improving the design of frequency lock loops for GNSS receivers. IEEE Trans. Aerosp. Electron. Syst. 2012, 48, 850–868. [Google Scholar]
  3. Tsui, J.B. Fundamentals of Global Positioning System Receiver: A Software Approach; Wiley: New York, NY, USA, 2005; pp. 146–151. [Google Scholar]
  4. Borio, D.; Camoriano, L.; Lo Presti, L.; Fantino, M. DTFT-based frequency lock loop for GNSS applications. IEEE Trans. Aerosp. Electron. Syst. 2008, 44, 595–612. [Google Scholar]
  5. Ma, C.; Lachapelle, G.; Cannon, M.E. Implementation of a Software GPS Receiver. 142–149.
  6. Jacobsen, E.; Kootsookos, P. Fast, accurate frequency estimators. IEEE Signal Process. Mag. 2007, 24, 123–125. [Google Scholar]
  7. Quinn, B.G. Estimating frequency by interpolation using Fourier coefficients. IEEE Trans. Signal Process 1994, 42, 1264–1268. [Google Scholar]
  8. Quinn, B.G. Estimation of frequency, amplitude, and phase from the DFT of a time series. IEEE Trans. Signal Process. 1997, 45, 814–817. [Google Scholar]
  9. Macleod, M.D. Fast High Accuracy Estimation of Multiple Cisoids in Noise. In Signal Processing V: Theories and Applications; Torres, L., Masgrau, E., Eds.; Elsevier: New York, NY, USA, 1990; pp. 333–336. [Google Scholar]
  10. Macleod, M.D. Fast nearly ML estimation of the parameters of real or complex single tones or resolved multiple tones. IEEE Trans. Signal Process 1998, 46, 141–148. [Google Scholar]
  11. Jacobsen, E.A. On Local Interpolation of DFT Outputs. Available online: (accessed on 2 January 2013).
  12. Kay, S.M. A fast and accurate single frequency estimator. IEEE Trans. Acoust. Speech Signal Process 1989, 37, 1987–1990. [Google Scholar]
  13. Candan, C. A method for fine resolution frequency estimation from three DFT samples. IEEE Signal Process. Lett. 2011, 18, 351–354. [Google Scholar]
  14. Parkinson, B.W.; Spilker, J.J., Jr. Global Positioning System: Theory and Application; American Institute of Aeronautics and Astronautic: Washington, WA, USA, 1996; pp. 330–368. [Google Scholar]
  15. Lo Presti, L.; Motella, B. The math of ambiguity. Inside GNSS 2010, 5, 20–28. [Google Scholar]
  16. Tang, X.; Falletti, E.; Lo Presti, L. Fine Doppler Frequency Estimation in GNSS Signal Acquisition Process.
  17. Lo Presti, L.; Xuefen, Z.; Fantino, M.; Mulassano, P. GNSS signal acquisition in the presence of sign tansition. IEEE J. Sel. Top. Signal Process 2009, 3, 557–570. [Google Scholar]
  18. European Union. European GNSS (Galileo) Open Service Signal in Space Interface Control Document. Available online: (accessed on 10 January 2013).
  19. John, J.B. A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach; Birkhauser: Boston, MA, USA, 2007; pp. 75–85. [Google Scholar]
  20. Falletti, E.; Margaria, D.; Motella, B. A complete educational library of GNSS signals and analysis functions for navigation studies. Coordinates 2009, 5, 30–34. [Google Scholar]
  21. Borio, D.; O'driscoll, C.; Lachapelle, G. Composite GNSS signal acquisition over multiple code periods. IEEE Trans. Aerosp. Electron. Syst. 2010, 46, 193–206. [Google Scholar]
  22. Kay, S.M. Fundamentals of Statistical Signal Processing Estimation Theory; Prentice-Hall PTR: New Jersey, NJ, USA, 1993; pp. 27–67. [Google Scholar]
Figure 1. Brief structure of new Doppler frequency refinement process.
Figure 1. Brief structure of new Doppler frequency refinement process.
Sensors 13 05649f1 1024
Figure 2. The value of ak when τ m τ ¯ = Δ τ = 0.2 T c h in the GPS case.
Figure 2. The value of ak when τ m τ ¯ = Δ τ = 0.2 T c h in the GPS case.
Sensors 13 05649f2 1024
Figure 3. The combination of sinc functions.
Figure 3. The combination of sinc functions.
Sensors 13 05649f3 1024
Figure 4. Two-dimensional search space.
Figure 4. Two-dimensional search space.
Sensors 13 05649f4 1024
Figure 5. The plot of the column (τ̅τ)
Figure 5. The plot of the column (τ̅τ)
Sensors 13 05649f5 1024
Figure 6. The cells chosen in the generalized method.
Figure 6. The cells chosen in the generalized method.
Sensors 13 05649f6 1024
Figure 7. Cumulative distribution of the frequency errors (comparison between the conventional and methods R-3 and C-3).
Figure 7. Cumulative distribution of the frequency errors (comparison between the conventional and methods R-3 and C-3).
Sensors 13 05649f7 1024
Figure 8. Results of the first group of experiments, with Td = 4 ms (including the false alarm).
Figure 8. Results of the first group of experiments, with Td = 4 ms (including the false alarm).
Sensors 13 05649f8 1024
Figure 9. Results of second group of experiments, with Td = 8 ms. (including the false alarm).
Figure 9. Results of second group of experiments, with Td = 8 ms. (including the false alarm).
Sensors 13 05649f9 1024
Figure 10. Averaging method.
Figure 10. Averaging method.
Sensors 13 05649f10 1024
Figure 11. The distribution of the Doppler frequency estimates.
Figure 11. The distribution of the Doppler frequency estimates.
Sensors 13 05649f11 1024
Figure 12. Influence of the quantization error on the RMSE as a function Δp.
Figure 12. Influence of the quantization error on the RMSE as a function Δp.
Sensors 13 05649f12 1024
Figure 13. The strategy used in improved algorithm Rn-3.
Figure 13. The strategy used in improved algorithm Rn-3.
Sensors 13 05649f13 1024
Sensors EISSN 1424-8220 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert