Z. Yao et al.: Spreading Code Phase Measurement Technique for Snapshot GNSS Receiver
1275
Spreading Code Phase Measurement Technique for Snapshot GNSS Receiver Zheng Yao, Member, IEEE, Mingquan Lu, and Zhenming Feng Abstract — Driven by the expanding demand of location based services (LBS), the integration of satellite navigation receiver into mobile devices has received much attention in the last years. Snapshot positioning technique has turned out to be a very suitable candidate in LBS applications for its predominance of low cost and low power dissipation. However, the limited snapshot length is a major hurdle that limits the availability and accuracy of receivers. A code phase measurement technique is developed and used for snapshot receivers. By utilizing the features of the modernized global navigation satellite system (GNSS) signals and the characteristic of snapshot positioning, it uses a novel dual update-rate tracking loop with a non-causal smoothing estimator to obtain a relatively accurate estimation from a second or less snapshot data. Experiments with simulated data show that the proposed method has better estimation accuracy than the conventional code tracking loop in confined data length snapshot receivers1. Index Terms — Global navigation satellite system, snapshot positioning, spreading code tracking.
I. INTRODUCTION The developing GPS modernization and the upcoming European Galileo satellite system will undoubtedly improve and expand applications for users in many fields [1]. The appealing performances of these global navigation satellite systems (GNSS) have boosted the demand on location based services (LBS) [2]. Navigation receivers for LBS are expected to integrate with other mobile devices such as personal digital assistants (PDAs) and cell phones. In these intended integrations, the cost, power consumption, and sensitivity become critical specifications. Under this application background, snapshot positioning receivers get more and more concerned in recent years [3]-[6], for their predominance of lower cost and lower power dissipation compared to conventional GNSS receiver. In snapshot mode, for most of the time the GNSS receiver is in intellectual dormancy state. Upon a position fix request, the receiver turns on radio frequency (RF) section and stores a continuous piece of incoming signal samples, i.e. takes a snapshot, then shuts down RF section and performs signal processing offline to obtain the estimation of spreading code phase of each visible satellite. Since the incoming signal has been cached, it is not necessary to real-time process the acquisition and tracking tasks of each receiver channel in parallel. The receiver can handle these channels serially, and
the processing rate can be comparatively low, which obviously reduce the power dissipation and hardware complexity. Despite the benefits of snapshot receivers, the limited snapshot length is the largest hurdle for its performance. Due to the limited resource in mobile devices, the snapshot length should be as short as possible. However, a short length snapshot will bring some difficulties in the measurement of the time of transmission (TOT) of the satellite spreading code. As the foundation of position fix, GNSS receivers must recover the time information of each satellite, which is used for calculating satellite position as well as for ranging. With a short length snapshot, on the one hand, ambiguity will exist in the TOT measurement since the frame synchronization cannot be achieved, the code phase tracking loop, on the other hand, is hard to obtain relatively accurate code phase measurement within limited update times. The TOT ambiguity can be removed by employing GNSS assisted network [7] as well as some unaided techniques such as proposals in [4] and [6], whereas the poor accuracy is still the key factor affecting the performance. In order to improve the code phase tracking accuracy in confined snapshot length receivers, we present a novel code phase measurement technique herein. In modernized GNSS signals such as GPS L1C [8], L2C [9], and L5 [10] signals, there are two distinct components, namely the data and pilot components. Taking into account the respective characteristics of each component, the proposal uses a dual update-rate tracking loop with a non-causal smoothing estimator to obtain the code phase estimation. The performance of the proposed loop under various carrier-to-noise ratios (CNR) is evaluated by simulation test. The results demonstrate that under a snapshot length constraint, the proposed method has better estimation accuracy than the conventional code tracking loop. The rest of this paper is organized as follows. In the next section, snapshot position mode is briefly introduced. Code phase measurement techniques for GNSS signals are analyzed in section III, and the loop filter solution of the proposal is derived in Section IV. Section V presents the simulation results and discussions. The conclusions are given in Section VI. II. SNAPSHOT POSITIONING MODE Conventional GNSS receivers work in a continuous way [11]. After the first switched on, receivers search the carrier frequency and code phase of all visible satellites, and then they have to track them continuously throughout the run time to ensure the real-time and continuity of the position
1 The authors are with the Department of Electronic Engineering, Tsinghua University, Beijing 100084, China (e-mail:
[email protected]). Contributed Paper Manuscript received 07/05/10 Current version published 09/23/10 Electronic version published 09/30/10. 0098 3063/10/$20.00 © 2010 IEEE
IEEE Transactions on Consumer Electronics, Vol. 56, No. 3, August 2010
1276
information, which is necessary for navigation applications such as vehicle routing. However, for LBS, the location information does not require a high update rate. In most cases the interval between two position fix requests is longer than one minute or even several minutes, while the response to the position fix request should be prompt. In such practical requirement, the snapshot positioning is an ideal working mode in terms of receiver complexity and power consumption. In snapshot positioning mode, it is no need to track satellite signals incessantly. Receivers only need to store a continuous set of incoming signal samples, and then do the positioning calculation by using these data offline when a position fix request is issued by the user. For the rest of the time, receivers can remain in standby state. Figure 1 schematically illustrates the flow chart of the snapshot positioning mode. Boot
Receiver Init
Snapshot taking
III. CODE PHASE MEASUREMENT FOR GNSS SIGNALS In order to obtain as accurate estimation as possible from a limited length snapshot, one needs to use the information of the received signal sufficiently. The received snapshot signal r(t) can be modeled as r t
Hibernation
2a1 Pc1 t W t d t W t cos Z f ,0 t I t 2a2 Pc2 t W t cos Z f ,0 t I t I p n t
Signal processing
...
...
submit receive position fix result request
submit receive position fix result request
... t
first start
computational burden of the signal processing thread, and prolongs the time delay between position fix request and its response. In general, a snapshot length would be a few hundred milliseconds or even smaller. However, on the other hand, short snapshot length means limited update times in the code phase tracking loop. In order to reach steady state rapidly, the traditional tracking loop has to use a wide bandwidth, the price of which is the susceptibility to thermal noise. Therefore, inaccuracy of the code phase measurement is one of the major problems in snapshot working mode.
Fig. 1. Snapshot positioning mode.
As shown in Fig. 1, before turning into the snapshot mode, the receiver is first initialized to obtain necessary information such as rough GPS time and satellite ephemeris. At this stage, the receiver can work in continuous mode, whereas signals from different satellites can also be processed alternately in a single channel in order to reduce the computation complexity, though this may take longer time. However, if the auxiliary information is available from assisted network or internet, both the complexity and time of the initialization may be greatly reduced. Once the receiver finishes the initialization, it can shutdown RF section and suspend the signal processing thread to turn into the hibernation mode. Once a position fix request is submitted by the user, the receiver turns on RF section and takes a snapshot, then shutdowns RF section and performs signal processing to obtain the estimation of spreading code phase of each visible satellite. Note that the incoming signal has been cached, so it is no need to real-time process the acquisition and tracking of each satellite in parallel. The receiver can handle these channels serially, which will obviously reduce the constraint on the processing capability of the receiver. When code phase estimated values of all visible satellites are acquired, a one-time position fix calculation can be performed. After that, the GNSS receiver turns back to the hibernation mode, waiting for the next position fix request. In snapshot working mode, snapshot length is a key parameter. From the point of engineering realization, the length of snapshot is expected to be as short as possible. Long snapshot not only means big cache region which is hard to provided in most of the mobile device, but also increases the
(1)
where P is the total received power in W, ci(t) is the PN code modulated on each component, where i 1, 2 corresponds to the data component and the pilot component, d(t)is the binary data modulation, W is the code phase delay due to the travel time, I is the carrier phase of the signal, Z f ,0 is the intermediate carrier angular frequency of the incoming signal in radians/s and n(t) is the thermal noise. The fraction a1of the total received power is in the data component, and fraction a2 of the total received power is in the pilot component. For the traditional GPS L1 C/A code signal and P code signal, since there is no pilot component on it, a1 1 and a2 0 . For modernized GPS L1C signal, a1 1/ 4 , a2 3 / 4 . And for most of other GNSS signals, a1 a2 1/ 2 . The additional phase Ip in (1) is used to indicate the relative phase between data component and pilot component. It can take the value 0 or S / 2 . In the k-th loop update, the received signal r(t) is multiplied by a local complex carrier, and then the signal is correlated with replicas of spreading codes with different phases. The results XW,i,k, where W corresponds to the early (E) or late (L) phase, are sent to the code discriminator, which provides the phase estimate error 'W k W k Wˆk . In some of the GNSS signals, binary offset carrier (BOC) modulation are used, which needs some unconventional discriminators. However, for simplicity, in the following we only discuss the case of binary phase shift keying (BPSK). The result can be extended to other cases straightforward. When using the classical early-minus-late power (EMLP) discriminator [12], the close-loop noise variance of the code tracking loop is ª º BL d 2 V W2,i (2) «1 » 2ai C / N 0 ¬« C / N 0 Ti 2 d ¼»
where BL is the loop noise bandwidth in Hz, C / N 0 is CNR, Ti is PIT in seconds, and d is the early-late chip spacing in chips. Due to the presence of data modulation, T1
Z. Yao et al.: Spreading Code Phase Measurement Technique for Snapshot GNSS Receiver
0.06
0.05
0.04
0.03
0.02
0.01
0 20
25
30
35 C/N (dB.Hz)
40
45
50
0
Fig. 2 Code tracking error standard deviation for the data component and the pilot component.
Nevertheless, the signal power of the pilot component is only a2/(a1+a2) of the total, so there are performance degradations if only tracking the pilot component. Moreover, from (1) one should note that both the data component and the pilot component undergo exactly the same dynamics stress, using the fusion of the information from these two components to estimate the code phase can tremendously improve the tracking performance. In [13], an optimal linear combination (OLC) method was proposed to fuse the information from these two components. In this method, the input of the loop filter is
XE,1,k
DG1, k EG 2, k with D E
1
XL,1,k
Code Discriminator XE,2,k
(3)
I&D
Gk
G1,k
Code Discriminator
Loop Filter & Smoother
G 2,k
WˆN k
XL,2,k I&D
Data component only, T=10ms Pilot component only, T=50ms OLC (10ms) OLC (50ms)
I&D
Code tracking error standard deviation (chips)
0.07
the larger of T1 and T2 . If the pilot component uses a long PIT T2 MT1 which exceeds the data symbol length, in order to adapt the loop update rate 1 / T2 , some of the measurements in the data component have to be discarded. The utilization ratio of the measurements in the data component is only 1 / M . It may cause loss of information and decline of the tracking accuracy. Besides, although the code tracking loop can removes the dynamics by using carrier aiding, this kind of aiding is only available at every loop update time, and the frequency control signal at the input of the numerically controlled oscillator (NCO) is constant during the loop update interval, so an overlong loop update interval may lead to the dynamic stress error accumulation. Moreover, because of the limited snapshot storage, the long PIT means the less total amount of updating times. With a narrow loop bandwidth, the tracking loop is hard to reach steady state within few update times. In order to solve the conflict between PIT and loop update times, in the proposed implementation scheme, a two-input loop filter with dual update rate is employed to estimate the code phase. The data component and the pilot component can use different PIT and provide updated values to the loop in different rate. Figure 3 shows a block diagram of the proposed spreading code tracking loop. Note that for simplicity, the parts related to carrier tracking and demodulation are omitted. PIT of the data component and the pilot component are T and MT respectively. Two discriminators send their outputs to the loop filter at rates of 1/ T and 1 / MT respectively. The filter has two functions. It updates the NCO at the rate of 1/ T to keep the loop locked, while smoothing the code phase estimated value at a fixed time t N . When completing the processing of the snapshot data, the filter produces the final estimated value WˆN .
I&D
cannot be longer than one data symbol. However, since there is no data on the pilot component, T2 may be longer than a data symbol. For the case a1 a2 1 / 2 , Fig. 2 shows the code tracking error standard deviation for these two components respectively, in which T1 10 ms, T2 50 ms, d 0.1 chips, and BL 2 Hz. It can be observed that with a longer PIT, tracking pilot component can obtain higher accuracy.
1277
where D and E should be chosen as r(t)
D
V W2,2 ,E V W2,1 V W2,2
V W2,1 V W2,1 V W2,2
(4)
Local carrier
cE,1
cL,1
cE,2
cL,2
Code Generator
Wˆk 1 k
T z-1
to have an optimal estimation. The tracking error standard deviation of OLC method is also drawn in Fig. 2. It can be seen that OLC method can indeed improve the tracking accuracy. However, this method has some drawbacks, especially when applied in snapshot receivers. In OLC method, the loop has a single update rate. Its update time cannot be shorter than
Fig. 3
NCO
Block diagram of the proposed spreading code tracking loop.
The key parts of the proposed tracking loop are the loop filter and smoother, details of which are explained in the next section. In the next section, the structure of this dual update-rate filter is derived. The procedures for calculating the filter coefficients are also given.
IEEE Transactions on Consumer Electronics, Vol. 56, No. 3, August 2010
1278
IV. FILTER MODEL AND SOLUTION
For snapshot receiver, because of the limited snapshot length, the longer PIT takes, the less the total amount of updating times is. Note that the tracking loop may have an initial error when transferred from acquisition procedure, short pull-in time is required. In [14] it has been proved that it is possible to achieve fast full-in and low tracking jitter simultaneously by using a Kalman-filter (KF) based tracking loop to estimate the code phase, and the equivalent KF form of the tracking loop for conventional BPSK signals has been given [14]. Nonetheless, when the data component and the pilot component have different PIT length and they act on the loop at different rate, the equivalent observation equation of the loop is changed. Besides, in snapshot receivers, the signal has been stored. It allows non-casual smoothers to be employed to further improve the estimation. Therefore, the traditional equivalent form is not applicable. In this section, the equivalent KF form of the proposal is derived, and the structure of the dual update-rate filter with a smoothing estimator is presented. The procedures for calculating the filter coefficients are also given. Assuming there is a small code rate variation during the loop update interval T and the tracking error is within the linear range of the code discriminator, the process of the code phase disturbance can be modeled by ª W º ª1 T º ª W k º ªT º ª0º xk 1 « k 1 » « « » Z0 « » « » » (5) ¬Zk 1 ¼ ¬ 0 1 ¼ ¬Zk ¼ ¬ 0 ¼ ¬Z k ¼ ' xk BZ0 Yk
where Zk is the code rate at the start of the k-th update interval, and the additive white Gaussian noise sequences Yk represent process noises with covariance values of Q . Since the linear system (5) can be decomposed into the summation of a linear deterministic system and a purely stochastic system, for simplicity, we ignore the deterministic driver BZ0 . There are two measurement sources, namely the data component and the pilot component. The observation equation can be modeled in the following form ª H1 º yk « (6) » xk v k H k x k v k ¬ H 2, k ¼ where the covariance matrix of the observation noise vector is R. In a KF, the state estimation is obtained by using ª G1, k º lx k 1 k ' xˆ 'Kk « (7) » k k 1 ¬G 2, k ¼ where K k
> K11 , K12 ; K 21 , K 22 @
ª¬L1, k , L2, k º¼ is the Kalman gain matrix, it can be computed by Kk
Pk H kT H k Pk H kT Rk
1
(8)
and the recursive formula for the error covariance matrix Pk is Pk
ª ' P 'T 1 H T R 1 H º k 1 k k k» ¬« ¼
1
(9)
The update rate of data component measurements is 1/ T , which is the loop update rate. So the data component observation vector takes the form (10) H1 >1 0@ Nevertheless, since during every M update intervals, the pilot component can only get one measurement, when k 1 is not a multiple of M , H 2, k O1u 2 . When k 1 is M integer times, the pilot component finishes its integration and dump. Under the assumption that the carrier loop works well, the normalized outputs of complex predetection integrators can be expressed as § 1 M 1 · 2C / N 0 MT ¨ ¦ R 'W k i W W ¸ e j 'Ik nk (11) X W ,2, k ©M i 0 ¹ where R is the normalized autocorrelation function of the pilot component spreading code, Wˆk k 1 is the predicted code phase at the k 1 -th interval, 'W k W k Wˆk k 1 is the code phase delay in the early or late integrators ( W E d / 2 , W L d / 2 ), and nk is the complex Gaussian noise. Let 1 M 1 RW (12) ¦ R 'W k i W W M i 0 then the output of the EMLP discriminator is X E2 ,2, k X L2,2, k R E2 R L2 (13) G 2, k nkc 4MT C / N 0 2 d 2 2 d where nkc is the discriminator noise. The term R E2 R L2 can be expanded as 1 M 1 M 1 ª § d· § d· R E2 R L2 R 'W k i ¸ R ¨ 'W k j ¸ 2 ¦ ¦« ¨ 2¹ © 2¹ M i 0 j 0¬ © (14) d· § d ·º § R ¨ 'W k i ¸ R ¨ 'W k j ¸» 2¹ © 2 ¹¼ © If the data component error does not reach the limit of the linear range during these M intervals, then R can be replaced by its linear approximation, and (14) can be simplified as 1 M 1 M 1 R E2 R L2 ¦ ¦ 2 d 'W k i 'W k j (15) M2 i 0 j 0 Thus, the discriminator output can be expressed as 1 M 1 M 1 'W k i 'W k j G 2, k nkc ¦¦ 2 M2 i 0 j 0 1 M 1 ¦ 'W k i nkc M2 i 0 1 M 1 ¦ H1 xk i xˆ k i k i 1 nkc M2 i 0 Note that the data component updates the NCO at each transition interval during the integration process of the component by employing ªG º lx k 1 k ' xˆ ' K k « 1, k » k k 1 ¬ 0 ¼
' xˆ k k 1 'Lk G1, k
(16)
state pilot
(17)
Z. Yao et al.: Spreading Code Phase Measurement Technique for Snapshot GNSS Receiver
Using (17), we have lx k i k i 1
i 1
' xˆ k i k i 1 ¦ ' Lm k iG1, m k i i
m
(18)
m 0
and from (5), we have xk i
i 1
' i xk ¦ ' m 1Ym k i
(19)
m 0
Substituting (18) and (19) into (16) gives the following
G 2, k
H 2, k xk xˆ k k 1 K k
(20)
where ª M 1 T º «1 » 2 ¬ ¼ is the pilot component observation vector and M 1 i 1 1 Kk H1 ¦ ¦ M i 0 m 0 M 1 1 H1 ¦ ' i M i 0
H 2, k
u' m Lm k iG1, m k i ' 1Y1, m k i nkc
(21)
(22)
M 1
1 H1 ¦ Fk i H 2, k Fk nkc M i 0 where Fk is the one-step predicition error. Since the snapshot has been stored, it is reasonable to expect an improved estimation by using a non-causal filter. Considering that in most of the snapshot positioning applications, the positioning frequency is low, and one-shot position fix is enough, the fixed-point smoothing estimator [15] can be used. When the measurements at the time tk are available, the code phase estimate value at a fixed time t N N k can be updated by employing ª G1, k º xˆ N k 1 2N , k K k « », k ! N ¬G 2, k ¼ >Y 11 ,Y 12 ;Y 21 ,Y 22 @ . The initial state of
lx N k
where 2N , k xˆ N N , and °2N , N ® °¯ 2N , k
I 2N , k 1 I K k 1 H k 1 Pk 'T Pk1 , k ! N
(24)
The error covariance of the smoothing estimator PN , k can be computed by PN , k 1
PN , k 2N , k K k H k Pk 2TN , k
(25)
One should note that because this system is time-variant, both the observation matrix and the covariance matrix of the observation noise are time-variant. When the pilot component measurements are unavailable, matrices H and R take the forms ª1 0 º H « (26) » ¬0 0 ¼
and
ª d ª¬ 2 d C / N 0 T 2 º¼ º « » 2 2 R « 4a1 C / N 0 T 2 d (27) » « » 0¼ ¬ respectively, and when the outputs of integrators in the pilot component are valid, H and R take the forms 0 ª1 º » H « (28) «1 M 1 T » ¬« ¼» 2 and d R 2 4 C / N0 T 2 2 d ª 2 d C / N 0 T 2 º « » (29) a1 « » u « 2 d C / N 0 MT 2 » « » a2 M 2 ¬« ¼» The information graph of the code phase estimation process is shown in Fig. 4. X W ,2, k
G 2, N
G 2, N M
G 2,k
xˆ k
G1,k
(23) (23) is
1279
G1,N
G1, N 1
G1, N 2 G1, N M G1, N M 1 X W ,1, k
Fig. 4
Information graph of the code phase estimation process
Since the matrix H k changes in a MT cycle, the variation law with time of the entries of the error covariance Pk is dentate. When the pilot channel matrix integrate-and-dump process is not completed, the prediction process in pilot component becomes an extrapolation. And the loop uses the measurements of the data component and the extrapolative value of the pilot component to predict. Since the prediction errors accumulate gradually during the extrapolation, the error variances will rise smoothly. When the pilot component completes an integrate-and-dump process, providing a new measurement for the loop, owing to the improvement of the overall quality of the measurements, the error variances will decrease obviously. Figure 5 shows the typical profiles of the error variances for the proposed loop. The snapshot length is one second, and the total update time is 100. Note that the smoothed error covariance is smaller than the unsmoothed one, which is naturally due to the fact that smoothing uses additional information contained in the future data. It also can be seen
IEEE Transactions on Consumer Electronics, Vol. 56, No. 3, August 2010
1280
«
»
length of the snapshot. This time point is close to the center, and at that moment, the measurements in the data component and the pilot component are both available. −1
10
Proposal, without smoothing Proposal, with smoothing
−2
P11
10
−3
10
−4
10
Fig. 5
0
0.2
0.4 0.6 Time (seconds)
0.8
1
Typical profiles of the error variances for the proposed loop
By expanding (7) and (23), we have W k 1 k Wˆk k 1 K11G1, k K12G 2, k T Zˆ k 1 k ° l °Z ° k 1 k Zˆ k k 1 K 21G1, k K 22G 2, k (30) ® ° W N k WˆN k 1 Y 11 K11 Y 12 K 21 G1, k ° Y 11 K12 Y 12 K 22 G 2, k °¯ The block diagram representation of (30) is shown in Fig. 6, where the operator denotes a delay of T. The loop filter coefficients K11 , K12 , K 21 , K 22 , Y 11 , Y 12 can be computed by using (8) and (24) respectively.
Zˆ k 1 k
G1,k
G 2,k
Y 12 Y 11
Fig. 6
WˆN k
chip multiplexer. The CL code is unmodulated, no PIT length limit is imposed. The CM code is modulated with a 50 symbols/s message data, so PIT on this component cannot be longer than 20 ms. In view of the limitation of the snapshot length, in our tests, T 10 ms and M 10 are selected. The code rates of the data component and the pilot component are both 1.023 Mchip/s. Discriminators employed in these two components are both EMLP discriminator, with d 0.1 chips. The input signal is generated by Matlab. Since most of the dynamic stress can be removed by carrier aiding, only the static tests are undertaken. Firstly, the performance of the proposed loop is evaluated under the assumption that a perfect carrier tracking loop is used. The proposed loop is compared against OLC method. These two loops use the same PIT length. And both of them are second order with time-variant coefficients to ensure that the loops show their best performance. Fig. 7 shows the tracking error standard deviations of the OLC loop and the proposed loop against CNR. The CNR is from 20 dB Hz to 40 dB Hz with 2 dB Hz increment. The snapshot length is 1 second. The final accuracy of the tracking loop output and the smoothing estimator output are concerned. Each value has been evaluated through a Monte Carlo simulation over 1000 tests. It can be observed that with the limited snapshot, the tracking performance of the proposed loop is better than that of the OLC method. That is because the proposed loop makes nearly full use of the information provided by the data component, when using a long PIT in the pilot component to mitigate the squaring loss. It also can be observed that the smoothed code phase estimate has a higher accuracy. It is due to the fact that smoothing uses more measurements than the predictation. Using the smoothed estimate value of code phase to calculate the position fix can remarkably improve the accuracy of positioning results. 0.06
Tracking error standard deviation (chips)
that the minimum of the smoothed error covariance can be obtained at the center time. So the time we chose to get the smoothing estimate value is tªTt / 2 MT º 1 , where Tt is the total
Proposal, without smoothing Proposal, with smoothing OLC
0.05
0.04
0.03
0.02
0.01
Block diagram of the dual update-rate loop filter with smoother. 0 20
V. PERFORMANCE EVALUATION
A. Estimated Accuracy In order to evaluate the performance of the proposed technique, several computer simulation results under different circumstances will be presented. We consider tracking of the code phase of GPS L2C signal. In L2C signal, civil-moderate (CM) code and civil-long (CL) code are combined in a chip by
25
30 C/N0 (dB.Hz)
35
40
Fig. 7 Standard deviation of the code phase tracking error versus the CNR (no carrier frequency error)
Note that the carrier frequency error can attenuate the power of predetection integrator outputs. And with the same frequency error, the longer PIT is, the larger the attenuation is. So the performance of carrier loop has impact on code
Z. Yao et al.: Spreading Code Phase Measurement Technique for Snapshot GNSS Receiver
0.09 Proposal, without smoothing Proposal, with smoothing OLC
Tracking error standard deviation (chips)
0.08
method achieves the better performance without increasing the snapshot length. So the required memory can be reduced. The price is the computational burden. −3
11
Tracking error standard deviation (chips)
tracking. In practical application, since the snapshot length is limited, it is expected that the pull-in time of carrier tracking loop can be as short as possible. Fig. 8 shows the tracking error standard deviations of the proposed loop and the OLC loop, when a first order FLL with 10 Hz loop bandwidth is employed. It can be seen that because of the frequency error introduced by FLL, the code tracking performance of all those methods degrade. Especially when CNR is low, the proposed technique has significantly performance degradation, for the long PIT in the pilot component. However, the proposed loop still has an acceptable performance and outperforms the OLC loop at moderate and high CNR values.
1281
x 10
Proposal, without smoothing Proposal, with smoothing OLC
10
9
8
7
6
5
0.07 0.06
4
0.05
0
1
2
3
4 5 6 Snapshot length (seconds)
7
8
9
10
Fig. 9 Standard deviation of the code phase tracking error versus the snapshot length
0.04 0.03
VI. CONCLUSION
0.02 0.01 0 20
25
30 C/N0 (dB.Hz)
35
40
Fig. 8 Standard deviation of the code phase tracking error versus the CNR, with the effects of FLL
B. Computational Cost For consumer electronic applications, the computational cost and resource requirements are important. In order to accelerate the pull-in speed of the loop, the proposed method uses time-variant filter coefficients. At each update moment, the loop filter coefficients are needed to be computed via (8), (9), and (24). The increase of computing complexity is mainly concentrated on the computation of matrix Pk , which has the computation of inverse matrix. However, since in snapshot receivers the total update times are limited, those coefficients can be precomputed off-line and stored in the memory. In our experiments, a 64-bit word length is sufficient to guarantee the stability of the filter. For the case Tt 1 s, T 10 ms, the total number of coefficients needed to store is 600, which is affordable for general embedded system. The primary memory consumption is not on coefficients storage but on the snapshot buffer. Fig. 9 shows the impact of the snapshot length Tt on the tracking accuracy when C / N0
30 dB Hz. It can be seen that increasing Tt
can
improve the tracking accuracy especially when Tt is not large. And it also can be seen that by use of smoothing, the accuracy of the estimated code phase of proposed method exceeds that of the conventional OLC method. The proposed
In this paper, a spreading code phase measurement technique for GNSS snapshot positioning receivers is proposed. This technique uses the limited snapshot data. It tracks the code phase by using both the data component and the pilot component that is available in most of the modernized GNSS signals. Taking into account the respective characteristics of the data component and the pilot component, it uses a dual update-rate tracking loop with a non-causal smoothing estimator to estimate the code phase. The simulation results show that the proposed method has better estimation accuracy than the conventional code tracking loop in moderate and high CNR environments.
REFERENCES [1]
[2]
[3] [4]
[5]
[6]
[7]
[8]
P. Misra, and P. Enge, Global Positioning System: Signals, Measurements and Performance, Second ed.: Ganga-Jamuna Press, 2006. P. Bellavista, A. Kupper, and S. Helal, “Location-Based Services: Back to the Future ” IEEE Pervasive Computing, vol. 7, no. 2, pp. 85-89, 2008. J. Knight, G. Turetzky, C. Norman et al., “SiRF's low power receiver advances,” in ION GPS 1998, Nashville, TN, US, 1998, pp. 299-305. R. Kaniuth, B. Eissfeller, N. Lemke et al., “A snap-shot positioning approach for a high integrated GPS/Galileo chipset,” in ION GNSS 2005, Long Beach, CA, US, 2005, pp. 1153-1159. D. Jimenez-Banos, N. Blanco-Delgado, G. Lopez-Risueno et al., “Innovative techniques for GPS indoor positioning using a snapshot receiver,” in ION GNSS 2006, FortWorth, TX, US, 2006, pp. 2944-2955. Y. Qian, X. Cui, M. Lu et al., “Snapshot positioning for unaided GPS software receivers,” in ION GNSS 2008, Savannah, GA, US, 2008, pp. 2343-2350. J. Borkowski, J. Niemela, and J. Lempiinen, “Cellular location techniques supporting AGPS positioning,” in IEEE 62nd Vehicular Technology Conference, 2005, pp. 429-433. IS-GPS-800, Navstar GPS space segment/user L1C interfaces, 2006.
IEEE Transactions on Consumer Electronics, Vol. 56, No. 3, August 2010
1282 [9] [10] [11]
[12]
[13]
[14]
[15]
IS-GPS-200D, Navstar GPS space segment/navigation user interfaces, 2006. IS-GPS-705, NAVSTAR GPS space segment/navigation L5 User interfaces, 2005. A. Rabaeijs, D. Grosso, X. Huang, D. Qi, "GPS receiver prototype for integration into system-on-chip," IEEE Transactions on Consumer Electronics, vol. 49, no. 1, pp. 48-58, 2003. A. J. Van Dierendonck, "GPS receivers," Global positioning system: theory and applications, B. Parkinson and J. Spilker, eds., Washington, DC, US: AIAA, 1996. C. J. Hegarty, Evaluation of the proposed signal structure for the new civil GPS signal at 1176.45 MHz, The MITRE Corporation Technical Papers, 1999. P. Driessen, “DPLL bit synchronizer with rapid acquisition using adaptive Kalman filtering techniques,” IEEE Transactions on Communications, vol. 42, no. 9, pp. 2673-2675, 1994. M. Grewal, and A. Andrews, Kalman filtering theory and practice, Englewood Cliffs, New Jersey, US: Prentice Hall, 1993.
BIOGRAPHIES Zheng Yao (S’08-M’10) received his B.E. and Ph.D. degrees in Electronic Engineering from Tsinghua University, Beijing, China, in 2005 and 2010, respectively. He is currently an assistant professor at the Department of Electronic Engineering, Tsinghua University. His research interests include satellite positioning and navigation, statistical signal processing, and wireless communications.
Mingquan Lu received the M.S. degree in Electronic Engineering from the University of Electronic Science and Technology of China, Chengdu, China, in 1993. He joined the Department of Electronic Engineering of Tsinghua University, Beijing, China, in 2003, and is currently a professor and the director of the Institute of Highspeed Signal Processing and Network Transmission. His research interests include signal processing, simulation of satellite navigation system, local area navigation system, and software defined receiver.
Zhenming Feng received the B.S. and M.S. degrees in Electronic Engineering from Tsinghua University, Beijing, China, in 1970 and 1981, respectively, both in radar signal processing. He has been with the Department of Electronic Engineering, Tsinghua University, since 1970, where he became a professor in 2000. Before 1990, his research direction was radar signal processing. Now his research interests include broadband access networks, satellite positioning and navigation, and wireless communications.