Professional Documents
Culture Documents
value
processing techniques efficiently overcomes limitations of
the sequential processing approach. The second goal of 5
this paper is therefore to demonstrate application areas for 4.5
which batch processing is more powerful than a
sequential approach. Example applications include 4
1 2 3 4 5
tracking of signals with a low carrier-to-noise ratio (CNR) time
required to perform indoor navigation, navigation under Figure 1. Sequential filter estimation process
foliage, and navigation in interference environments. The
deep Global Positioning System (GPS)/Inertial The sequential filter computes its estimates on a sample
Navigation System (INS) integration is used as a case by sample basis. An estimate is computed every time a
study for these application examples. new measurement arrives. Equation (2) is applied for the
estimation computation:
Goals of this paper are thus formulated as follows:
x̂ k = (1 − α k ) ⋅ x̂ k −1 + α k ⋅ ~
xk
Show the place of existing processing terms in a (2)
k = 1,...,5
framework for the GNSS receiver design.
Provide new material that demonstrates efficient use where:
of batch processing techniques for practical x̂ k , k = 1,...,5 is the filter estimate;
application areas.
α k , k = 1,...,5 is the estimation weight function,
The remainder of the paper is organized as follows. First, which is calculated using error minimization criteria
a simple filtering example is used to introduce basic such as e.g. the least mean square criterion.
concepts of sequential and batch processing. Basic
sequential and batch processing concepts are then applied The estimation process of a batch filter is shown in Figure
to consider generalized sequential and batch architectures 2.
of GNSS signal processing. The main result of this 6.5
consideration is that the sequential and batch processing
approaches have complementary features. Receiver 6 measurements
design implementations that utilize combinations of estimate
value
5.5
sequential and batch processing techniques are therefore
presented next. Finally, deep GPS/INS integration is used 5
as a case study to demonstrate advantages of batch batch of
4.5
processing over sequential implementations. measurements
4
1 2 3 4 5
INTRODUCTION TO SEQUENTIAL AND BATCH time
PROCESSING: FILTERING EXAMPLE
This section illustrates basic concepts of sequential and Figure 2. Batch filter estimation process
batch processing approaches using a filtering example. The batch filter waits until all five measurements are
The example is formulated as follows: smooth 5 available and then performs all the computations at once
value
x̂ 5 = ∑ α k ⋅ ~x k (3)
10
noise spike
k =1
8
Performance of the sequential and batch filters differs in
6
two main aspects: computational expenses and signal
observability. With respect to the computational expenses, 4
1 2 3 4 5
the sequential filter requires less memory and needs fewer time
operations to compute an estimate as compared to the
Figure 3. Measurement set with a noise spike
batch filter. On the observability aspect, the batch filter
delivers better signal observability. A more detailed As stated above, the sequential filter performs estimations
comparison of the sequential and batch filter on a sample by sample basis. As a result, sequential filter
implementations for the above example follows. observation is limited to a measurement with the noise
spike and a previous estimate as illustrated by Figure 4.
Sequential filter vs. batch filter: computational Limited observability of the sequential filter limits the
expenses filter’s ability to identify the noise spike and adjust the
estimation weight function accordingly. The batch filter
As can be inferred from Equation (1), the sequential filter
observation ability is based on the entire data batch,
needs to keep 3 elements in memory (a current
which improves the noise spike visibility significantly as
measurement, a previous estimate, and a current value of
compared to the sequential filter case.
the weight function) to compute an estimate. The batch
filter requires 10 elements in memory (5 measurements 16
and 5 values of the weight function) for the estimate
14
computation formulated by Equation (3). The sequential
filter therefore requires less memory. 12
10
The sequential filter needs 20 operations (2 additions and
8
2 multiplications per estimate, where the total number of
estimates is 5) to compute the values of all estimates. 6
However, these operations are spread over time and every 4
1 2 3 4 5
time an estimate is computed only 4 operations are
needed. The batch filter does all the computations at once sequential observation
(cannot spread computations over time) and needs 10
operations to compute an estimate (5 additions and 5 16
multiplications). Because the sequential filter is capable 14
of spreading computations over time it requires fewer
12
operations per estimate as compared to the batch filter. noise spike
10
Batch Processing
Sequential Correlator
Figure 7 shows a generalized architecture of batch
Incoming
signal ⊗ ∑ Correlator
output
processing.
Batch Correlator
• time-frequency
domain correlation Batch of
Replica signal Incoming
∑
correlator
Acquisition
criterion is
signal ⊗ outputs
batch
satisfied
Yes
NCO Signal energy
Replica
Acquired code signal batch
phase and
Doppler shift
Doppler code phase,
shift, Hz
NCO ms
Code phase
… …
…
Batch estimator
Search space • time-domain parallel
Doppler shift • frequency-domain
• joint time-frequency
Search space domain
Time (ms)
RECEIVER DESIGN UTILIZING A
COMBINATION OF BATCH AND SEQUENTIAL
Figure 9. Time-Frequency tiling for a GPS signal with a PROCESSING
400Hz/second frequency change.
The above comparison of batch and sequential processing
Second, the use of batch processing allows parallel shows that these processing techniques have
computations. Particularly, parallel correlation complementary features. A receiver can therefore be
computations can be performed by using frequency- designed utilizing a combination of the batch and
domain correlation techniques. E.g. computation of sequential processing approaches. Based on the
correlation coefficients for all Doppler shifts from the generalized sequential and batch processing architectures
Doppler shift search space can be performed in parallel discussed earlier, key components of GNSS signal
using a FFT [7]. Parallel correlation computation for the processing include:
entire GPS Coarse Acquisition (CA) code search space
using direct and inverse FFT [6] serves as another Correlation;
example. Measurement computation;
Third, batch processing uses an open loop tracking Measurement exploitation.
architecture thus providing more robust tracking as
compared to the sequential closed loop tracking approach. Table 1 summarizes realizations of these key components
Particularly, batch processing computes the entire image with batch and sequential processing techniques.
of the signal, which allows immediate tracking recovery Correspondingly, the correlation component for a
after a temporary signal loss: the signal is “seen” combined batch/sequential correlation applies batch
immediately after it “reappears” following a temporary correlation to obtain a coarse image of the entire signal
signal loss. In addition, a batch processor does not have to for every data batch (coarse signal zoom), while
follow the motion dynamic within the bandwidth of a sequential correlation is used to achieve a fine signal
tracking loop filter. Instead, the motion dynamic needs to zoom in a computationally efficient manner. The
be followed within a correlator bandwidth, which is measurement computation component can combine batch-
inversely proportional to a correlation interval and is based parallel estimation techniques with time-domain
generally significantly wider than a loop filter bandwidth. sequential measurement computations. For instance, code
As a result, batch processing is less sensitive to high phase estimation is significantly less sensitive to high
dynamic stress conditions. dynamic conditions than estimation of the Doppler shift.
A STFT can thus be applied to improve dynamic
performance of a carrier estimator while for a code phase
estimator it is sufficient to use a sequential discriminator
(e.g. early minus later discriminator).
…
Incoming Averaging
batch and
sequential
signal ⊗ into 1024
samples
FFT ()*
batch
…
Correlation • Sequential • Batch • Batch-based
correlation parallel parallel correlation ⊗ FFT ⊗
()*
(time- correlation for coarse signal Replica
⊗ IFFT
domain) (joint time- zoom combined carrier batch ⊗
coarse zoom
frequency with sequential
domain) correlation for fine FFT Signal energy
signal zoom. fk
Measurement • Time-domain • Time- • Combination of Replica code
computation sequential domain time-domain … … batch
parallel; sequential (1024 samples)
-fmax fmax
• Frequency estimation of signal Δf Doppler
code phase,
-domain; parameters and shift, Hz
ms
batch-based parallel frequency search resolution
• Joint time space
frequency estimation of signal ⎛ Δf ⎞ ⎛ f acq ⎞
⎜ ⎟ ⎜ ⎟
domain. parameters. E.g.: ⎜ Tchip ⎟ ⎜ τ acq ⎟
⎝ ⎠ ⎝ ⎠
time-frequency-
domain estimation
Replica code
of the Doppler shift (early, prompt, and late)
with sequential
estimation of the Replica carrier
code phase (inphase and quadrature)
(
PRN E,P, L ( t n ) = PRN t n − τ acq − τ E,P, L ) (4)
Doppler shift
Coherent signal integration and a 1-cm/s accurate inertial
aiding are required to operate in this integration mode Carrier
phase 2.5 Hz
[10].
tracking
The reminder of this section illustrates the use of
inertial
sequential and batch processing techniques for the deep 0.25 chip
drift
GPS/INS integration for the CA code phase and carrier (0.5 chip correlator spacing)
phase tracking with and without data bit recovery. The
deep integration is performed herein to improve the GPS code phase
tracking margin by 17 dB as compared to a 32 dB-Hz Figure 13. Pull-in ranges of sequential tracking loops for
tracking threshold of an unaided GPS receiver. deep GPS/INS integration
Sequential Deep Integration A pull-in range of the code phase tracking loop is
determined by the code correlator spacing. For instance,
Figure 12 shows a deep GPS/INS integration scheme that the pull-in range is 0.25 chip for the case where a 0.5 chip
relies on sequential tracking. code correlator spacing is used. A pull-in range of the
Sequential correlation carrier phase tracking loop is inversely proportional to the
correlation interval and is equal to 2.5 Hz for a 0.1-s
correlation. The inertial aiding accuracy within 5 cm/s is
Down-sampled
incoming GPS signal ⊗ ∑ Correlator
outputs required to aid the carrier phase loop filter over 1-s
averaging intervals.
Discriminator
As stated previously, extremely tight pull-in ranges of
Replica Raw error
sequential tracking loops significantly limit capabilities of
Replica signal
parameters signal sequential tracking. Figure 14 shows a tracking state
Replica
graph for the deep GPS/INS integration based on
INS NCO adjustments
Loop filter sequential tracking.
calibration
Dynamic High CNR
aiding
signal
INS tracking Initialization
navigation INS
parameters Low CNR
Temporary
signal
signal loss
INS tracking
corrections
Sequential
Figure 12. Deep GPS/INS integration utilizing the sequential Dynamic aiding is re-acquisition Tracking
tracking approach required recovery
Doppler shift
phase can jump over a few code chips due to switching Local search space 5 cm/s
between a multipath and a direct signal for indoor
tracking scenarios. As a result, sequential search can miss
the signal. Another example is unreliability of sequential
10 Hz – 10 KHz
search for those cases where low-cost inertial Carrier phase
measurements are used and a significant carrier frequency tracking;
Navigation data
drift (on the order of 2 Hz/s if GPS updates are bits are known.
unavailable for more than 10 s) is thus present.
1023 chips Full search
Batch Deep Integration
Figure 15 represents a deeply integrated GPS/INS system
that is based on the batch tracking approach. Local search space 1 cm/s
Coarse signal zoom
Batch correlation
10 Hz – 10 KHz
Batch of Batch of Carrier phase
incoming GPS
signal samples
⊗ ∑ correlator
outputs
tracking;
Navigation data
bits are unknown.
Replica signal Batch
estimation
inertial
NCO 1023 chips Full search
drift
Coarse estimates
of signal
Local search
parameters
space
code phase
Dynamic
aiding
Figure 16. Pull-in ranges for the batch-based deep GPS/INS
Fine signal zoom NCO integration
INS
Replica signal
Inertial drift needs to be maintained within a 5 cm/s
INS
boundary to aid 1-s signal integration for the carrier phase
navigation tracking for the case where navigation data bits are
∑
Batch of
parameters correlator ⊗ known. If the navigation data bits are unknown and the
INS outputs
corrections
Sequential
batch-based deep integration performs the data bit
INS Batch correlation recovery, the maximum allowable inertial drift is reduced
calibration estimation
to a 1 cm/s level in order to maintain sign consistency of
Refined estimates
bit sequences estimated by the batch-based algorithm
of signal introduced in [10].
parameters
Figure 17 shows a tracking state graph for the batch deep
integration.
Figure 15. Deep GPS/INS integration utilizing the batch
tracking approach
High CNR signal
The signal is integrated over 1 s using inertialy-aided Tracking tracking
correlators. No knowledge of navigation data bits is recovery
required if the signal integration is augmented by a batch-
based bit estimation algorithm, which employs a time-
domain parallel search for the bit combination that Low CNR signal
maximizes the signal energy over the integration interval Signal energy tracking:
• Batch-based
[10]. Tracking pull-in ranges are defined by the local local search;
search space as illustrated in Figure 16. The full code • Fine signal
search is performed, so no a priori knowledge of the code zoom.
phase is therefore required. Frequency search space can
be in the range from 10 Hz (which is currently feasible in Doppler
code shift, Temporary
adjustment, Hz
real-time for satellite constellations that include 6 chips signal loss
satellites or fewer as it can be inferred from real-time
performance figures given in [14]) to the full frequency Figure 17. Tracking state graph for the deep GPS/INS
search within a 10-kHz search space. integration utilizing batch tracking
-0.1
Flight Test Results: Sequential vs. Batch Deep
Integration -0.15
0 5 10 15 20
Flight test results are presented below to demonstrate time, s
benefits of using batch processing techniques for the deep Figure 20. Sequential tracking: Carrier phase tracking
GPS/INS integration. The code and carrier phase tracking performance for SV 30 (CNR range is [21, 24] dB-Hz)
with navigation data bit recovery is implemented for the
deep integration mode. A low-cost AGNC coremicro®
Carrier phase error, m
IMU [15] provides inertial measurements. Figure 18 0.15
shows a flight test trajectory that incorporates significant
motion dynamic including a 90-deg turn. 0.1
0.05
North relative position, m
-0.05
-0.1
-0.15
0 5 10 15 20
time, s
East relative position, m Figure 21. Batch tracking: Carrier phase tracking
performance for SV 30 (CNR range is [15, 18] dB-Hz)
Figure 18. Flight test trajectory
The results presented demonstrate that the sequential
Figure 19 through Figure 21 exemplify flight test results tracking approach maintains continuous carrier phase
for the sequential and batch deep integration approaches. tracking for the case where the CNR stays in the range
from 23 to 26 dB-Hz. Sequential tracking is however not
Carrier phase error, m reliable if the CNR is reduced to the 21 dB-Hz level: half
0.15 a cycle slips is present in the carrier phase error plot
represented by Figure 20. Batch processing maintains
0.1
consistent carrier phase tracking without the knowledge
0.05
of navigation data bits for the CNR in the range from 15
to 18 dB-Hz as shown in Figure 21. Flight test results
0 shown thus demonstrate that batch processing improves
the tracking margin of deep integration by 8 dB as
-0.05 compared to sequential processing.
-0.1
CONCLUSIONS
-0.15
0 5 10 15 20 This paper demonstrates that in order to optimize
time, s performance characteristics of GNSS signal processing
Figure 19. Sequential tracking: Carrier phase tracking the receiver design needs to be considered not in terms of
performance for SV 30 (CNR range is [23, 26] dB-Hz) its implementation platform (i.e. FPGA, ASIC, software
receiver, software radio, DSP) but in terms of batch vs.
sequential processing strategies. Advantages of signal
processing architectures that utilize batch techniques over