Design of Peak-finding Algorithm on Acquisition of Weak GPS Signals

2006 IEEE Conference on
Systems, Man, and Cybernetics
October 8-11, 2006, Taipei, Taiwan
Design of Peak-finding Algorithm on Acquisition of Weak GPS
Signals
W. L. Mao, A. B. Chen, Y. F. Tseng, F. R. Chang, H. W. Tsao, W. S. Huang

Abstract—GPS is the system combined CDMA technique and
trilateration to obtain precision position information. The main
goal of this paper is design of high-sensitivity receiver on
acquisition of weak GPS signals. A new peak-finding algorithm
is developed to search the C/A code phase in the FFT-based
correlation domain. This method can estimate the peak location
accurately and provides a faster performance in the
software-based signal acquisition. The integration time deciding
algorithm is also utilized to enhance the capability of waveform
search under indoor environments. Simulation results
demonstrate that our proposed scheme can acquire the GPS
signal efficiently under the power level of -155dBm in frequency
domain processing.
below those found outside. The high sensitivity GPS [1, 2]
which make use of real-time convolution processor instead of
an early-late correlator is proposed. The convolution
processor contains over 2000 correlators per satellite, and
become the most computation consuming operation. The
DSP-based approach is a store-and-process method that
performs the convolution in frequency domain. The code
averaging correlation [3] use the FFT-based correlator for
implementation the acquisition process in outdoor
environments. They are converted to frequency domain using
1024-point complex FFT and multiplied by the conjugate of
the FFT of the averaged-local-code.
I. INTRODUCTION
For indoor GPS operation, the extra millisecond of data can
be integrated and then yielded the SNR gains that approach
G
lobal positioning system (GPS) that provides accurate
positioning and timing information has become a
commonly used navigation instrument for aircraft precision
approaches, missile systems, automated vehicle guidance, and
other civil applications. Each GPS satellite simultaneously
transmits on two L-band frequencies denoted by L1 and L2,
which are 1575.42 and 1227.60 MHz, respectively. The
carrier of L1 signal consists of an in-phase and a
quadrature-phase component. The in-phase component is
biphase modulated by a 50-bps data stream and a
pseudorandom code where chipping rate is 1.023 MHz. It is
the basis for the vast majority of civil applications and will be
the object of most of our attention in this paper. We call it as
the civilian signal even through the military also uses this
signal. The quadrature-phase component is also biphase
modulated by the same 50-bps data stream but with a different
psedudorandom code called the P-code, which has a 10.23
MHz chipping rate and a one-week period.
The conventional GPS used outdoor can meet all the signal
and measurement requirements for commercial applications.
The biggest challenge of indoor GPS receiver is that the
indoor signal is at power levels 30dB (one thousand times)
M. L. Mao is with the Graduate Institute of Electrical Engineering and
Department of Electrical Engineering, Mingchi University of Technology,
Taipei county, Taiwan (e-mail: [email protected] )
A. B. Chen is with MediaTek Inc, Hsinchu City, Taiwan (email:
[email protected] )
Y. F. Tseng is with Department of Electrical Engineering, University of
California, Los Angeles, USA. (e-mail: [email protected] )
F. R. Chang and H. W. Tsao are with the Graduate Institute of Electrical
Engineering and Department of Electrical Engineering, National Taiwan
University,
Taipei,
Taiwan.
(e-mail:
[email protected],
[email protected] )
W. H. Huang is with Evermore Inc, Hsinchu City, Taiwan (e-mail:
[email protected] ).
1-4244-0100-3/06/$20.00 ©2006 IEEE
N for each extra N millisecond. It takes more time for
acquisition in indoor GPS receiver. The most important
contribution of this paper is the weak signal can be acquired
even the signal power is -155dBmW. The circular convolution
in frequency domain is performed and average correlation
method is then implemented. A peak-finding algorithm is
developed to detect the C/A code delayed phase accurately in
the autocorrelation domain. The integration time deciding
algorithm is also presented to determine the suitable dwell
time in each search bin. Simulation results show that our
proposed peak-finding algorithm can be utilized in indoor
applications even through the signal level is of -155 dBm.
The remainder of this paper is organized as follows.
Section 2 describes the GPS received signal and acquisition
process. In Section 3, the acquisition in frequency domain
using FFT scheme is introduced. The proper FFT size for
averaging correlation is proposed. The peak-find and
integration time deciding algorithms are developed for indoor
GPS receiver. Simulation results are demonstrated in Section
5. Some conclusions are stated in the last section.
II. GPS SIGNAL AND ACQUISITION PROCESS
The transmitted spread spectrum signal is represented as
S (t ) [ D (t ) CA(t )] cos(2f L1t )
(1)
where D(t ) is the binary data with duration T ( T= 20ms ).
CA(t ) represents the binary Gold Code with chip duration Tc
1820
1810
( RC 1 / TC 1.023MHz ). f L1 is the L1 carrier frequency
(1575.42MHz). The integer PG T / Tc 43dB is the
processing gain of the GPS system. A GPS receiver must
conduct a two-dimensional search in order to find each
satellite signal, where the dimensions are C/A code delay and
carrier frequency. Fig. 1 shows the block diagram of the serial
search. It must be conducted across the full delay range of the
C/A code for each frequency searched. A generic method for
conducting the search is that the received waveform is
multiplied by delayed replicas of C/A code, translated by
various frequencies, and then passed through a baseband
correlator containing a low-pass filter which has a relatively
small bandwidth (perhaps 100-1000 Hz)[10]. The output
energy of the detection filter serves as a signal detection
statistic and will be significant only if both selected code delay
and frequency translation match that of the signal. When the
energy exceeds a predetermined threshold , a tentative
decision is made that a signal is being received, subject to later
confirmation. The value chosen for the threshold  is a
compromise between the conflicting goals of maximizing the
probability PD of detecting the signal when it is actually
present at a given Doppler and code delay and minimizing the
probability PFA of false alarm when it is not. Fig. 1 shows the
block diagram of serial acquisition process.
Sequence in 0.5 chip
increments through
full span of 1023 chips
Code
generator
Sequence frequency in
500 Hz increments
through span of 10 KHz
Carrier
NCO
90 0
Received
signal r(t)
T
dt

Digital IF
4.092MHz
I
Detection threshold 
Declare signal if 
and no signal if

0
I 2 Q 2

0.5 chip increments. Each code phase search increment is a
code bin. The combination of one code and one Doppler bin is
a cell. Fig. 2 illustrates the two-dimensional search process.
The center of the frequency interval is located at f c f d ,
where f c is the L1 carrier frequency and f d is the estimated
carrier Doppler shift. A typical range for frequency search
interval is f c 5 KHz. The frequency search is conducted in
N discrete frequency steps that cover the entire search interval.
For coherent processing used in many GPS receivers, the
frequency bin width is approximately the reciprocal of the
search dwell time. Typical values of frequency bin ( f ) are
250-1000 Hz. Assuming a 5 KHz frequency search range,
the number N of frequency steps to cover the entire search
interval would typically be 10-40.
By the above discussion, if f =500 Hz, acquisition in time
domain needs 2046 × 20 = 40920 bins to search. If signal is
strong (above -120dBmW), the dwell time (integration time)
is 1 ms, the total search time is needed 40.92 second. The
acquisition process has a very large space to search and it
takes a lot of time. So, acquisition process is the most time
consumption in GPS receiver.
III. ACQUISITION IN FREQUENCY DOMAIN
Acquisition in time domain needs more signal bins to search
because the process has two-dimension search pattern. If the
data are transformed to frequency domain, the search pattern
can be reduced from two dimensions to one dimension. A
multiple numbers of period data are transformed on frequency
domain once. Fig. 3 shows this search pattern. The only one
dimension searched is Doppler shift in frequency domain. The
total searching steps are about 20 bins (from -5 KHz to +5
KHz). Besides FFT algorithm in DSP chip is easily to be
implemented.
T
dt

Q
0
T 0.5chip
Fig. 1 Signal search method
f 
250 ~ 1000 Hz
6
4
T 0.5chip
2
f 
250 ~ 1000 Hz
6
Search Direction
Start of
1
Search
4
2
3
Start of
1
Search
Search Direction
5
3
7
5
Doppler
search
sequence
7
Doppler
search
sequence
2046 code positions
Fig. 2 Two-dimensional C/A code search pattern
The following example assumes that a C/A code search is
being performed and that all 2046 C/A code phase positions
are being examined. The code phase is typically searched in
2046 code positions
Fig. 3 One-dimensional C/A code search pattern
A. FFT Search Algorithm
The conventional time-domain acquisition can compute
autocorrelation function in a simplest way, but it takes a lot of
number of operations. The convolution process in time
domain equals to multiplication in frequency domain. If x[n]
1821
1811
is the input signal, then
size can be reduced to 4K.
L
x[n]CA[(n m)L] x[n] CA[n]
R[m] 
n
1


(2)
IV. PROPOSED PEAK FINDING ALGORITHM
F 1 F ( x[n]) F (CA[n]) 
CA[n] is C/A code generator generates code,  means
convolution, F is Fourier Transform and F-1 means Inverse
Fourier Transform.
Acquisition in frequency domain can reduce a large of
number of operations and then increase the speed of
computation. For example, in time domain, one period has
163668 points (16 × 1023), there are 163668 × 163668
multiplications and 163668 additions need be done. In
frequency domain, FFT with 16K size will be used first.
16 1024
2
log 2 
16 1024229376
2
complex multiplications (3.1)
2 16 1024 log 2 
16 1024458752
complex adders
(3.2)
The block diagram of GPS frequency-domain acquisition is
shown in Fig. 4.
Digital IF
X[n]
I
cos[wn]
R[m]
FFT
IFFT
Q
Intergration
I 2 Q 2
FFT
CA [n]
sin[wn]
Fig. 4 Block diagram of GPS acquisition in frequency domain
Data
Collection
System
Decimate
16K to 4K
FFT
Decimate
C/A code
FFT
NCO
IFFT
Peak Search
and
NCO Controller
Fig. 5 Block diagram of averaging correlation algorithm
B. FFT Size
If the size of the FFT is not a power of two, a mixed-radix
algorithm can be used to manipulate the non–power–of–two
FFTs. The sampling rate is set as 16.367667 MHz in our
simulation, and almost 16368 points are calculated in one
period. The 16K FFT and IFFT must be used to accomplish
the transformation. It is difficult to implement the 16K FFT
and become the circuit burden. If the incoming sampled GPS
signal is down sampled from 16×1023 to 4×1023, the FFT
size can be reduced to 4K. So the correctness and efficiency
between 16K FFT and 4K FFT must be considered. In Fig. 5,
the averaging correlation algorithm [3] is utilized and the FFT
Once the autocorrelation function is computed, the code
delay phase needs to be determined from the time of peak
value occurrence. Especially if signal power is weak, it is hard
to get an optimal method to decide the correct peak time. For
the strong signal, the peak value is always evident. The
distance between maximum number (peak value) and second
maximum number is not very far. Increasing the integration
time is a simple way to become a higher peak value. It also
increases the search time and then degrades the receiver
efficiency. The determination of time of peak vale and
integration time are essential to be considered in weak signal
acquisition. Here, the Monte-Carlo method and statistical
properties are combined to decide the suitable integration
time.
A. Peak finding algorithm
In order to reduce the computation burden on receiver
and obtain a better code phase effectively, a peak finding
algorithm is proposed:
Step1: Compute the autocorrelation function using the FFT
method.
Step 2: Find the maximum value, second maximum value and
mean in correlation domain.
Step 3: Normalize the autocorrelation function (i.e.,
maximum value =1).
Step 4: If (maximum value-mean) > VTH1 , AND (maximum
value- second maximum value) > VTH2, then the time with
peak value is code delay.
Th
eme
a
n
i
n
gof“
pe
a
kv
a
l
u
e
”i
st
h
ema
x
i
mu
mv
a
l
u
eof
all. In order to avoid miscarriage, it is necessary to detect the
difference between maximum value and second maximum
value simultaneously. If the difference between maximum
value and second maximum value is large enough, the
probability of false alarm will be decreased. One vital index to
evaluate the signal strength is SNR. The SNR in the
autocorrelation function can be obtained as:
max

d 
n
mean
d 
n
SNR (dB) 10 log 
(4)

s
.
t
.
d

d

n



where d 
n is the data sample in autocorrelation function.
And combine the third step of the algorithm, it can be
rewritten as
(maximum value-mean) = SNR × (standard deviation) > VTH1
(5)
Using the rule of thumb, a good performance signal has SNR
more than 10dB and standard deviation is about 0.03 (after
normalization). So
SNR × (standard deviation) > 0.3, and VTH1= 0.3
(6)
Then, the maximum value is assumed as two times bigger than
second maximum value. The relationship can be represented
as:
1822
1812
SNR max_
value 
dB SNR 2 nd _ max_ value 
dB 3 dB
(6.1)
max

d 
n
mean
d 
n

log


s.t.d 
d 
n


(6.2)
2nd max

d 
n
mean
d 
n

log

0.3
s.t.d 
d 
n


The equation becomes
max
d 
n
mean
d 
n
max
d 
n
2nd max
d 
n

(6.4)
2
From the Eq. (6), max
d 
n
mean
d 
n 0.3
max 
d 
n
2 nd max 
d 
n
0.15
(a)
(6.5)
The variable VTH2 is set as 0.15. These two parameters are
decided and utilized in the acquisition process.
B. Integration time deciding algorithm
GPS receiver does not know the signal power level in the
indoor situation. It is necessary to provide an efficient method
to decide the integration time instead of increasing the
integration time straight forward. The integration time
deciding algorithm is follows:
Step 1: The starting of integration time is 1ms.
Step 2: The input signal is processed by peak finding
algorithm, and then its code delay is found.
Step 3: If the code delay cannot be found obviously, the
integration time is increased to the next longer duration. The
integration time step is as: 1ms
→10ms
→50ms
→100ms
→200
ms
→500ms
→1000ms
.
Using the algorithm above, the receiver can reduce the
probability of false alarm and acquire an unknown power
signal efficiently.
V. SIMULATION RESULTS
The simulation results of the peak-finding method are
conducted to verify the acquisition performances. The
received signal is bandpass filtered, amplified and
down-converted to IF and then digitized. The IF is fixed at
4.092 MHz, and a sampling frequency of 16.367667 MHz is
selected.
The averaging correlation algorithm is verified and then
chose the most feasible number of FFT size. In the first
experiments, the signal power is set as -120dBmW, noise
power is set as -109 dBmW, integration time is 1 ms, and zero
Doppler frequency shift. The size of FFT is varied as
1024(1K), 4096(4K) and 16368(16K) points. The output
signal-to-noise ratio (SNR) and processing gain are compared
for different FFT sizes. Fig. 6 shows the outputs of
autocorrelation function with different FFT sizes using
frequency domain method.
(b)
(c)
Fig. 6 Autocorrelation function for different FFT sizes, (a) 1K
FFT size, (b) 4K FFT size, and (c) 16K FFT size under the
input SNR = -11dB.
In the second experiment, the real data are recorded from
the receiver with one-bit resolution. The signal power level is
-125dBmW, noise power is -109 dBmW, integration time is 10
ms, Doppler frequency is 200 Hz, and the Clock offset is
44585 Hz. Fig. 7 shows the autocorrelation function with
different FFT size under the input SNR of -16dB.
(a)
1823
1813
approximates to 100%. Table 2 summarizes the integration
time and the corresponding probability of peak location for
indoor environments.
Table 2 Integration time vs. detect probability of peak location
(b)
(c)
Fig. 7 Autocorrelation function for different FFT sizes, (a) 1K
FFT, (b) 4K FFT, and (c) 4K FFT under the input SNR=-15dB
Table 1 shows the comparison between the 1K, 4K, and
16K FFT sizes under different input SNR conditions. The
choice of 4K FFT size can have the better performance
between processing gain and computation speed. The 16K
FFT has the highest processing gain, but it takes more than 4
times multiplication operations. (Accurately speaking, it takes
16 1024 log 2 
16 1024
4.67
times)
Since
the
4 1024 log 2 
4 1024
Signal
power
(dBmW)
Integration
time (ms)
Detect
Probability
(%)
Signal
power
(dBmW)
Integration
time (ms)
Detect
Probability
(%)
Signal
power
(dBmW)
Integration
time (ms)
Detect
Probability
(%)
-120
-125
-130
1
1
1
10
1
10
100
100
100
99.3
99.3
100
-140
-135
-145
10
50
100
100
200
500
3.6
97.3
100
0.3
98.9
100
-150
-155
200
500
1000
500
1000
1500
0.0
92.7
98.9
0.2
92.1
97.8
Based on the detective rate above, the adequate integration
times are chosen and plotted on Fig 8. The proper dwell time
are considered as the probability is near to 100%. Fig. 8 shows
the very useful information to determine the integration time
under variety of indoor circumstances.
processing gain of 1K FFT is not high enough, the probability
of false rate can be increased
Table 1 The output SNR and processing gain for different FFT
lengths
FFT size
1K
4K
16K
output
18.47 21.73 26.53
SNR(dB)
Experiment 1
processing
29.47 32.73 37.53
gain
output
14.16 19.63 23.08
SNR
Experiment 2
processing
30.16 35.63 39.08
gain
Fig. 8 Suitable integration time vs. different input SNR
VI. CONCLUSION
The peak-finding algorithm is verified with difference input
signal power. Each received data is simulated with 1000 runs,
and noise power is -109 dBmW. The input SNR is varied from
-120dBm to -155dBm. For the same signal power level, the
dwell time is increased until the detect probability
This paper presents a new peak-finding algorithm used in
GPS C/A code acquisition under indoor environments. The
average correlation method for signal search was simulated in
frequency domain. Three types of power-of-two-based FFTs,
1824
1814
i.e., 1024-points, 4096-points, and 16368-points FFTs are
implemented to evaluate the performances of output SNR and
processing gain. The 4K-points FFT size can have the better
performances between processing gain and computation
speed. By including a longer integration time in each bin, the
sensitivity can be increased to allow the indoor operation. The
suitable dwell times for power level ranging from -120 dBm to
-155 dBm have been simulated and summarized to the
high-sensitivity acquisition process.
ACKNOWLEDGMENT
This research was supported by the Evermore INC.,
Hsinchu City, Taiwan, R. O. C.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
F. van Diggelen and C. Abr
a
ha
m:“
I
ndo
o
rGPSTe
c
hno
l
o
g
y
”
,CTI
A
Wireless-Agenda, Dallas, May 2001.
F. v
a
n Di
g
g
e
l
e
n:“
I
ndo
o
rGPS t
he
o
r
y& i
mpl
e
me
nt
a
t
i
o
n”
:I
EEE
Position, Location & Navigation Symposium, vol.31, no.1,
pp.240-247, 2002.
J. Starzyk and Z. Zhu, “
Averaging correlation for C/A code acquisition
and tracking in frequency domain”
, MWSCS, Fairborn, Ohio, August,
2001.
E. D.Ka
pl
a
n:“
Unde
r
s
t
a
ndi
ng GPS:pr
i
nc
i
pl
e
sa
nd Appl
i
c
a
t
i
o
n”
(Artech House, London, 1996.)
P
. Mi
s
r
aa
nd P
. Eng
e
,“
Gl
o
ba
l po
s
i
t
i
o
ni
ng s
y
s
t
e
m: s
i
g
na
l
s
,
me
a
s
ur
e
me
nt
sa
ndpe
r
f
o
r
ma
nc
e
s
”
,Ga
ng
a
-Jamuna Press.
J
.B.Y.Ts
ui
:“
Funda
me
nt
a
l
so
fg
l
o
ba
lpo
s
i
t
i
o
ni
ngs
y
s
t
em receivers, a
s
o
f
t
wa
r
ea
ppr
o
a
c
h”(
J
o
hnWi
l
e
y&So
ns
,Ca
na
da
,2000.
)
M.
S.
Br
a
a
s
c
h,
a
ndA.
J
.
Va
nDi
e
r
e
ndo
nc
k,
”
GPSr
e
c
e
i
v
e
ra
r
c
hi
t
e
c
t
ur
e
a
ndme
a
s
ur
e
me
nt
”
,Pr
o
c
.o
ft
heI
EEE.
,v
o
l
.
87,no
.
1,pp.48-64, Jan.
1999.
Ralph Taylor and James Sennott, “
Na
v
i
g
a
t
i
o
nSy
s
t
e
ma
ndMe
t
ho
d”
,
United States Patent 4445118, NASA, Field May 22, 1981.
M.S.Gr
e
wa
l
,L.R.We
i
l
la
ndA.P
.Andr
e
ws
,“
Gl
o
ba
lpo
s
i
t
i
o
ni
ng
s
y
s
t
e
ms
,i
ne
r
t
i
a
lna
v
i
g
a
t
i
o
na
ndi
nt
e
g
r
a
t
i
o
n”
,J
o
hnWi
e
l
y&So
nsI
nc
.
,
2001.
Ha
r
r
yL.Va
nTr
e
e
s
,“
De
t
e
c
t
i
o
n,e
s
t
i
mation, and modulation theory,
Pa
r
t1”
,
Wi
l
e
yI
nt
e
rSc
i
e
nc
e
,2001.
Mo
ha
me
d Dj
e
bbo
ur
ia
nd Dj
a
me
lDj
e
bbo
ur
i
:“
Fa
s
tGPS Sa
t
e
l
l
i
t
e
Si
g
na
l
Ac
qui
s
i
t
i
o
n”
,El
e
c
t
r
o
ni
c
sLe
t
t
e
r
s
.
c
o
m,no
.
1/
10/
2003
A.J
.Va
n Di
e
r
e
ndo
nc
k,P
.Fe
nt
o
n,a
nd T.Fo
r
d,“
The
o
r
ya
nd
performance o
fna
r
r
o
wc
o
r
r
e
l
a
t
o
rs
pa
c
i
ng i
n a GPS r
e
c
e
i
v
e
r
,
”
Navigation: J. Inst. Navigation, vol. 39, no. 3, pp. 265–283, Fall 1992.
A.
J
.
Va
nDi
e
r
e
ndo
nc
k,
“
GPSr
e
c
e
i
v
e
r
s
,
”i
nGl
o
ba
l
Po
s
i
t
i
o
ni
ngSy
s
t
e
m:
Theory and Application, vol. I, B. W. Parkinson and J. J. Spilker, Jr.,
Eds. Washington, DC: American Institute of Aeronautics and
Astronautics, 1996, ch. 8, pp. 329–407.
P
.Wa
r
d,“
Sa
t
e
l
l
i
t
es
i
g
na
la
c
qui
s
i
t
i
o
na
ndt
r
a
c
ki
ng
,
”i
nUnde
r
s
t
a
ndi
ng
GPS: Principles and Applications, E. Kaplan, Ed. Boston: Artech
House, 1996, ch. 5, pp. 119–208.
B.W.Pa
r
ki
ns
o
n,a
ndJ
r
.J
.J
.Spi
l
ke
r
:‘
Gl
o
ba
lpo
s
i
t
i
o
ni
ngs
y
s
t
e
m:
t
he
o
r
ya
nda
ppl
i
c
a
t
i
o
ns
’(
AAAI
,USA,1996.
)
1825
1815