Robust Beamforming for GNSS Synthetic Antenna Arrays
Transcript of Robust Beamforming for GNSS Synthetic Antenna Arrays
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 1/15
Robust Beamforming for GNSS Synthetic
Antenna Arrays
Tao Lin†, Ali Broumandan†, John Nielsen‡, Cillian O’Driscoll† and Gerard Lachapelle†
Position Location And Navigation Group
† Department of Geomatics Engineering
‡Department of Electrical and Computer Engineering
Schulich School of Engineering
University of Calgary
BIOGRAPHY
Tao Lin is a Ph.D. student in the PLAN Group of the
Department of Geomatics Engineering at the University
of Calgary. He received his BSc. from the same
department in May 2008. His research interests include
the fields of GNSS software receiver design, digital signal
processing, satellite-based navigation, inertial navigation
and ground-based wireless location.
Ali Broumandan is a Ph.D. candidate in the PLAN
Group of the University of Calgary. He holds a BSc.
degree from the Department of Electrical Engineering, K.
N. Toosi University of technology (2003) and a MSc.
degree from the Department of Electrical and Computer
Engineering, University of Tehran (2006). His current
research focuses on cellular network based positioning,
array processing, detection and estimation theory.
Dr. John Nielsen is an Associate Professor in the
Department of Electrical and Computer Engineering. Two
main areas of his research are Ultra-Wideband technology
that is applicable for high rate data communications and
short-range imaging radar. The other area is mobile
positioning based on TOA/AOA using CDMA and GPS
signals.
Dr. Cillian O’Driscoll received his Ph.D. in 2007 from
the Department of Electrical and Electronic Engineering,
University College Cork. His research interests are in the
area of software receiver for GNSS, particularly in
relation to weak signal acquisition and ultra-tight
GPS/INS integration. He is currently with the Position,
Location And Navigation (PLAN) group at the
Department of Geomatics Engineering in the University
of Calgary.
Dr. Gérard Lachapelle is a Professor of Geomatics
Engineering at the University of Calgary where he is
responsible for teaching and research related to location,
positioning, and navigation. He has been involved with
GPS developments and applications since 1980. He has
held a Canada Research Chair/iCORE Chair in wireless
location since 2001.
ABSTRACT
The impetus for this paper and the underlying research is
to investigate and develop robust beamforming algorithms
with synthetic antenna arrays for GNSS signals. The
concepts of synthetic array based beamforming and
Angle-Of-Arrival (AOA) estimation for Global
Navigation Systems (GNSS) signals are described in this
paper. The core idea is the utilization of GNSS antenna
motion to synthesize a virtual antenna array for GNSS
spatial processing (beamforming and AOA estimation).
Since only a single antenna is used, the amount of data for
processing is the same as other conventional temporal or
frequency processing techniques. However, the
visualization of received signals in the spatial domain
provides a great potential for signal separation, such as
interference and multipath mitigation. Several classical
beamforming techniques previously developed for a
physical real array are applied to a synthetic array based
system. Their performance is compared theoretically in
terms of the antenna beamforming beam-pattern. Angle of
arrival estimation for GNSS signals is successfully
demonstrated with both simulated datasets from an
advanced hardware simulator and field measurements.
The potential synthetic array based spatial processing for
the case of unknown antenna trajectory is introduced at
the end of the paper.
INTRODUCTION
The performance of Global Navigation Satellite Systems
(GNSS) strongly depends on signal reception quality
which is degraded by the presence of in-band interferer
signals and multipath. Sophisticated beamforming
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 2/15
algorithms, based on multiple antennas, can
simultaneously track the desired satellite signal via
several relevant multipath directions as well as tracking
the in-band interferer signals. Subsequent processing
would attempt to null out interference/multipath thereby
improving parameter estimation for the desired satellite
signal.
Conventional beamforming techniques are based on
multi-element antenna arrays which are physically bulky
and hardware intensive. This renders them unsuitable for
integration into a small handheld portable GNSS receiver.
Hence such devices are typically limited to a single small
antenna. However, the potential spatial processing gains
associated with the antenna array can be obtained if the
antenna is physically moved as the signal is being
captured by the receiver, which is equivalent to realizing a
spatially distributed synthetic antenna array. In addition,
unlike a physical real array, a synthetic antenna array is
not affected by inter-channel phases, gains and mutual
coupling between antenna elements. Therefore, it does not
require calibration, which is a serious problem in multi-
antenna array processing.
The concept of a synthetic array based on a single moving
antenna has been applied in radar for several decades, and
has been introduced to GNSS community in the past two
years. In (Broumandan et al 2007), a synthetic array based
AOA estimation algorithm to estimate the direction of the
incoming interference signals was proposed. (Pany et al
2008 a) and (Pany et al 2008 b) have demonstrated the
potential application of a synthetic antenna array with
circular antenna motion for synthesizing a uniform
circular array in multipath mitigation. In (Soloviev et al
2009), a fast Fourier transform (FFT) - based method was
applied for beamforming with a synthetic antenna array.
As mentioned in (Pany et al 2008 a) and (Soloviev et al
2009), one of the major advantages of synthetic array is
that the effective aperture is motion dependent. A very
large array aperture can be synthesized, which will be
beneficial for multipath mitigation and GNSS-based
synthetic aperture radar (SAR) imaging. However, the
effective aperture for our targeted application –
interference and multipath mitigation for a handheld
device – could be relatively small, depending on user
motion. Therefore, some adaptive beamforming
algorithms are required for synthetic arrays to provide
additional spatial zeros in the direction of undesired
signals. Adaptive beamforming algorithms, including
AOA estimation based algorithms such as Minimum
Variance Distortionless Response (MVDR), Minimum
Power Distortionless Response (MPDR) and reference
signal based algorithms such as Least Mean Squares
(LMS) have been studied for a multi-element antenna in
the wireless communication and radar communities for
many years and have demonstrated the capability for
interference suppression.
Needless to say, for reference signal based algorithms,
reference signals are required. In wireless communication,
a training sequence is used as a reference signal for
adaptive beamforming. For GNSS, the navigation data
bits from the data channel could be used as the reference
signals. However, in this case, the conflict between the
LMS beamforming algorithm and the Phase Lock Loop
(PLL) needs to be resolve (De Lorenzo 2007). This
conflict arises because both LMS and the PLL will try to
track the phase component of the signal. To optimally
apply LMS for GNSS adaptive beamforming, LMS and
PLL should be redesigned and combined together.
In this paper, the focus will be on the AOA estimation
based adaptive beamforming algorithms. Essentially the
robustness will degrade in the presence of AOA estimate
mismatch of the desired signals and the undesired signals
(i.e. interference and multipath). Several robust
beamforming algorithms such as Linear Constraint
Minimum Variance (LCMV) beamformer and Linear
Constraint Minimum Power (LCMP) beamformer have
been developed for improving robustness in the presence
of AOA mismatch (Van Trees, 2002). For AOA
estimation, three algorithms (Beam Scan, Minimum
Variance Distortionless Response (MVDR) and Multiple
Signal Classification (MUSIC)) previously developed for
physical real array are implemented and tested with the
simulated datasets from an advanced hardware simulator
and the collected field measurements.
SYNTHETIC ARRAY CONCEPTS
The core of synthetic array processing is the
transformation from the temporal samples received by a
moving antenna to spatial samples. When an antenna is
moving, the receiver receives signals with different
phases at different times. If the propagation channel is
stationary, this transformation is trivial. Figure 1
demonstrates the concept of a synthetic array. Assuming
there are M real GNSS antennas located uniformly on a
circle, signal samples are collected about every tsynthetic.
seconds. The batch of samples collected by each antenna
can be divided into M equal parts. If the channel is
stationary during the data collection period, the signal
blocks used for beamforming or AOA estimation can be
asynchronous in time. A synthetic array uses this property
to create a virtual antenna array. Instead of collecting M×
tsynthetic second signals, a single rotating antenna collects
signals represented by shaded cells in Figure 1.
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 3/15
Figure 1 Synthetic array (Broumandan et al 2007)
In reality, the propagation channel is not stationary,
because GNSS satellites are not static, and satellite clocks
and receiver clocks have different levels of drifts.
Therefore the carrier phase of the received signal samples
collected at different time and spatial points is due to not
just the motion of the antenna but also the effect of
satellite motion, satellite and receiver clock drifts. To
successfully perform spatial processing (e.g.
beamforming and AOA estimation), the phase/Doppler
change due to satellite motion, satellite and receiver clock
drifts need to be compensated prior to using the correlator
outputs for beamforming. If the location of the antenna is
exactly or approximately known, the satellite motion and
satellite clock drift can be compensated with ephemeris
information. An alternative approach is to use the Doppler
estimates from a static reference antenna for satellite
motion and satellite clock drift compensation (potential
extension of Assisted GPS), which is similar to the
concept of single differencing between the rover and the
base in a GNSS navigation solution. As shown in (Pany et
al 2008 b) the receiver clock drift can be further removed
by differencing between two satellites from the same
antenna. If a circular motion is used for a synthetic array,
the Doppler caused by the circular motion tends to be
sinusoidal, while the net Doppler caused by the satellite
motion and clock drift is approximately linear. In other
words, the Doppler due to the antenna motion can be
approximately extracted by de-trending the Doppler.
However, the net Doppler caused by the satellite motion
and clock drift is not exactly linear. This approximation
will degrade the performance of the synthetic spatial
processing (especially the AOA estimation with MUSIC).
In addition, the navigation data also must be wiped off for
synthetic array processing. At the post-correlation level
after tracking, the navigation data can be obtained from
the sign estimate of the prompt correlator. At the pre-
correlation level, external navigation data aiding is
required. For future GNSS signals, synthetic array
processing can be performed in the pilot channel.
Figure 2 Doppler estimates from a moving antenna
and a static antenna
In order to apply the complex spatial coefficients – the
steering vector/array manifold vector – to the received
signal samples, the relative antenna motion/trajectory
needs to be known precisely (on the order of cm given
that the spacing between two virtual antenna points
should be less than half of the carrier wavelength to avoid
spatial aliasing). In (Broumandan et al 2007) and (Pany et
al 2008 b), a controllable rotation table was used to
support the synthetic array system. Broumandan et al
2007 considered the use of a MEMS Inertial
Measurement Unit (IMU) to estimate the antenna motion.
In (Soloviev et al 2009), the trajectory was estimated
based on a GPS/INS navigation solution after fixing
carrier phase ambiguities. In this research work, a
controllable rotation table was used in the field test
demonstration since the main focus of this paper is the
signal processing part of synthetic array processing. The
estimation of the trajectory will be investigated fully in
future work. A synthetic array based GNSS software
receiver with aiding from an IMU is being developed. The
system diagram is shown below:
Figure 3 Proposed system
Compared to the common vector based/ultra-tight GNSS
software receivers, the major differences are the
interference detector and the spatial multipath mitigation
unit placed before and after the baseband processor. The
relative trajectory will be provided by the integrated
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 4/15
navigation solution. If the spatial correlation matrix can
be estimated precisely, the need of the relative trajectory
will be eliminated as will be explained at the end of the
paper.
SIGNAL MODEL FOR SYNTHETIC ARRAYS
In this section, the signal model for synthetic arrays is
introduced. As a starting point, it is assumed that there is
only GNSS signal and white Gaussian noise in the
received samples. At the post-correlation level, assuming
the local PRN code is perfectly synchronized with the
incoming signal, the prompt correlator is given as:
( ) ( ) ( ) ( ){ }
( ) ( ) ( )
, , exp ,
ˆ, , ,coh
t t t p
t t coh t T
P t a t d t j t n
t t t T
φ
φ φ φ −
= ∆ +
∆ = − −
r r r
r r r (1)
where, tr is the position vector with respected to the
reference point of the synthetic array (e.g. the centre of
the circular array) at epoch t , a is the signal amplitude,
d is the navigation data, R is the PRN code correlation
power, n is the white Gaussian noise, φ∆ is the carrier
phase difference, cohT is the coherent integration time.
As mentioned previously, the navigation data and the
carrier phase difference due to satellite motion and clock
drifts need to be compensated. For post-correlation
beamforming, since the carrier phase is tracked by the
PLL in the baseband processor, back compensation of the
correlator is required, which tries to restore the full carrier
phase information back to the correlator so that all the
signal information will be contained in the compensated
correlator. Assuming the signal power does not change
rapidly during the synthetic spatial processing, the
compensated correlator is:
( ) ( )
( ) ( ) ( )
( ) ( ){ }
1
0
0 0
ˆ, ,
, , ,
, exp ,
k
k k i i
i
comp k k k ref k k
comp k comp k p
t t
t t t
P t a j t n
φ φ
φ φ φ
φ
=
=
= −
= +
∑r r
r r r
r r
(2)
where, ( ),k ktφ r is the total carrier phase due to antenna
motion, satellite motion and clock drifts at epoch k,
( )ˆ ,i itφ r is the estimated carrier phase from PLL at epoch
i, ( ),ref k ktφ r is the carrier phase due to satellite motion
and clock drifts only at epoch k, n is the noise after the
compensation, ( )0 ,comp ktφ r is the compensated carrier
phase which is only due to antenna motion.
The compensated correlators can be thought as
representing the correlators from an antenna array. These
“spatial correlators” can be rewritten in a matrix form as:
( )
( ){ }
( ){ }
0 0
0
0 1
exp ,
exp ,
comp
comp p p
comp N
j t
t a
j t
φ
φ −
= +
r
P n
r
M (3)
where, pa is the amplitude of the prompt correlator, N is
the number of synthetic antennas.
The correlators above can be rewritten as a function of the
LOS signal array manifold vector ( )skv .
( ) ( )
{ }
{ }
0
0
1
exp
exp
cos cos2
cos sin
sin
Ts
comp p s p p
Ts N
s
j
t s k s
j
θ ϕπ
θ ϕλ
θ
−
= = +
=
k r
P v n
k r
k
M
(4)
where θ is the elevation angle, ϕ is the azimuth angle,
ps is signal at the reference point of the array.
The correlation matrix of the prompt correlator is as
follows:
( ) ( ) ( ) ( )2 20 0
HH
p s s nE t t s k k σ
= = +
xR P P v v I (5)
BEAMFORMING ALGORITHMS
In this section, several classical beamforming algorithms
will be discussed. Although these algorithms were
developed for physical arrays, they can be applied to
synthetic arrays after the compensation process, which
removes phase changes due to satellite motion, satellite
clock drifts and receiver clock drifts. In general,
beamforming is achieved by multiplying the spatial
correlators (at the post correlation level) or spatial signal
samples (at the pre-correlation level) by a complex weight
vector w . The algorithms described here are all linear;
therefore they can be applied at the pre-correlation level
or the post-correlation level depending on the application.
In general, interference detection/mitigation is applied at
the pre-correlation level, while multipath mitigation is
performed at the post-correlation level.
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 5/15
Delay-and-sum Beamformer
The Delay-and-sum beamformer, one of the fundamental
beamformers, is the optimum beamformer in white
Gaussian noise (Van Trees, 2002). It can be considered as
the spatial matched filter that can maximize the array
signal-to-noise ratio (ASNR) in the white noise channel.
The mathematical expression for the weighting vector of
the Delay-and-sum beamformer is (Van Trees, 2002):
( )1
skN
=w v (6)
Where N is the number of virtual antennas in the array;
( )skv is the true steering vector or array manifold vector
of the LOS GNSS signal.
MVDR/MPDR Beamformer
The MVDR beamformer is optimum in both maximum
likelihood and maximum Array Signal to Noise Ratio
(ASNR) sense in correlated or uncorrelated Gaussian
noise channels. Here, the term “noise” is meant in a
generic sense, which includes interference, multipath and
white noise. In fact, the MVDR beamformer can be
viewed as the spatial generalized matched filter. The cost
function of this beamformer is (Van Trees, 2002):
( ) ( )*1 1H H Hn s sF k kλ λ = + − + −
w R w w v w v (7)
where w is the array weighting vector; nR is the
correlation matrix of the unwanted signals (noise,
interference and multipath); ( )skv is the true steering
vector/array manifold vector.
The weight vector of the MVDR beamformer can be
shown as (Van Trees, 2002):
( )
( ) ( )
1
1
Hs nH
mvdr Hs n s
k
k k
−
−=
v Rw
v R v (8)
In practice, it is difficult to obtain nR , since the signal
component is always embedded in the received
measurements. Therefore an alternative beamformer
named MPDR was proposed. The cost function of the
MPDR is defined as (Van Trees, 2002):
( ) ( )*1 1H H Hs sF k kλ λ = + − + −
xw R w w v w v (9)
where w is the array weighting vector; xR is the
correlation matrix of the received samples (signal, noise,
interference and multipath); ( )skv is the true steering
vector.
The weight vector of the MPDR beamformer can be
shown as (Van Trees, 2002):
( )
( ) ( )
1
1
HsH
mpdr Hs s
k
k k
−
−=
x
x
v Rw
v R v (10)
If the AOA of the Line-Of-Sight (LOS) GNSS signal is
known perfectly, the performance of MVDR and MPDR
will be the same. However, the performance of MPDR
degrades more rapidly than MVDR when the LOS AOA
mismatch appears (Van Trees, 2002). One major
difference between the Delay-and-sum beamformer and
the MVDR/MPDR beamformer is that the MVDR/MPDR
beamformer takes into account the interference and
multipath in the channel. The inverse operation of the
unwanted signal correlation matrix or received sample
correlation ( 1−nR and 1−
xR ) will tend to null out the
interference and multipath signals. In other words,
interference and multipath signals will be mitigated even
if their AOAs are unknown, given that the unwanted
signal correlation matrix nR is known precisely. In
reality, nR must also be estimated. Therefore, MVDR
and MPDR are theoretically optimum but not practically
robust. In should be noted that forward-backward
smoothing techniques should be applied for any spatial
processing which needs to manipulate the correlation
matrix (eg. inversion and eigen-decomposition), since
multipath signals are coherent with the LOS signals (Van
Trees, 2002).
LCMV/LCMP Beamformer
LCMV and LCMP are the generalized versions of MVDR
and MPDR. They allow multiple linear constraints in the
cost function. The cost functions for LCMV and LCMP
are shown below (Van Trees, 2002):
*H H H HJ λ λ = + − + −
nw R w w C g C w g (11)
*H H H HJ λ λ = + − + −
xw R w w C g C w g (12)
where w is the array weighting vector; nR is the
correlation matrix of the unwanted signals (noise,
interference and multipath); xR is the correlation matrix
of the received samples (signal, noise, interference and
multipath); C is the constraint matrix that contains all the
steering vectors used in the defined constraints. g is the
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 6/15
constraint vector that contains all the numerical values for
all the constraints. The weight vectors for LCMV and
LCMP can be shown as (Van Trees, 2002):
1
1 1H H H Hlcmv
−− − =
n nw g C R C C R (13)
1
1 1H H H Hlcmp
−− − =
x xw g C R C C R (14)
Instead of utilizing only the distortionless constraint in
MVDR/MPDR, various constraints can be found in the
implementation of LCMV/LCMP. Four constraints
(distortionless constraint, distortion constraint, null
constraint and derivative constraint) are typically used.
Multi-Beam Beamformer
The beamformers introduced above can be applied for
multi-directional beamforming, although only one LOS
steering vector was used in the equations above. For
GNSS signals, there is only one desired signal after
correlation because of the pseudo-orthogonal nature the
spreading codes. The synthetic array beamforming in this
research is mostly performed at the post-correlation level.
In that case, beamforming will be performed in each PRN
tracking channel. In other words, 12 beamformers are
required for a 12 tracking channel GNSS receiver.
Synthetic array beamforming can be performed at the pre-
correlation level as well. In that case, only one multi-
beam beamformer (beams pointing at all satellites in
view) is required. The weight vectors for the
MVDR/MPDR based the multi-beam antenna array are
given as:
( )
( ) ( )
1
1
smvdr H
s s
k
k k
−
−=
n
n
R Vw 1
V R V (15)
( )
( ) ( )
1
1
smpdr H
s s
k
k k
−
−=
x
x
R Vw 1
V R V (16)
where w is the array weighting vector; nR is the
unwanted signals (noise, interference and multipath)
correlation matrix; xR is the received samples (signal,
noise, interference and multipath) correlation matrix, 1 is
a 1N × vector of ‘1’s, N is the number of synthetic
antennas, ( )skv is the true steering vector/array manifold
vector.
To illustrate these concepts, an antenna beam pattern for a
multi-beam synthetic array is simulated. An antenna is
moving circularly with a speed of 0.5 revolutions per
second to synthesize a virtual circular array. The radius of
the circle is 1.2 m. 7 satellites are simulated with
elevation and azimuths angles shown in the following
table:
Table 1 Simulated elevation and azimuth angles
Elevation (deg) Azimuth (deg)
PRN 3 53 315
PRN 6 65 60
PRN 8 77 220
PRN 13 30 15
PRN 18 45 90
PRN 21 30 150
PRN 22 40 260
Figure 4 Multi-Beam antenna beam pattern
In this simulation, satellite motion, satellite clock drift and
receiver clock drift are assumed to be completely
compensated before beamforming with a synthetic array.
Seven peaks circled in red in the plot correspond to the
simulated PRNs in space. The power of the antenna beam
pattern is normalized by the maximum value and coded in
colors. Some secondary peaks with less power can be
found in the plot, which are due to the constructive and
destructive interference of the side-lobs of the beams
which point towards the seven satellites.
BEAMFORMING BEAM-PATTERN
To illustrate some of the beamforming algorithms and the
effect of the antenna aperture of a synthetic array, a few
simulated antenna beam patterns are given below. For
these simulations, the directions of the GNSS signals are
assumed to be known and the compensation process is
performed at the correlator outputs prior to synthetic
beamforming.
Circular Synthetic Array
In the simulation, an antenna is moving circularly with an
angular speed of 0.5 revolutions/s. Two antenna apertures
are considered, with radius of 0.2 m and 1 m. The
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 7/15
synthetic array beamforms at the GNSS signal direction
( 53 , 315Elevation Azimuth= =o o) at the post-correlation
level. When the radius of the trajectory is 0.2 m (a small
circular trajectory), the beam pattern from a MVDR
beamformer in a pure noise channel (no
interference/multipath) is shown in Figure 5. When an
interference signal at (elevation = 60o , azimuth = 120o )
is added into the channel, the beam pattern from a MVDR
beamformer is shown in Figure 6. In Figure 7, the beam
pattern of a LCMV beamformer is provided for the same
interference and noise channel. The null point on the
interference direction is circled in red in both figures. For
the LCMV beamformer, the direction of the interference
signal is assumed to be known or estimated at the pre-
correlation level and five null constraints (the interference
direction and the four points located on elevation and
azimuth with 5± o offset from the interference direction)
and one distortionless constraint (at the GNSS signal
direction) are applied. Similarly, the beam patterns for the
case of 1 m radii are shown from Figure 8 to Figure 10.
Figure 5 MVDR beamformer, circular trajectory
radius = 0.2 m with eLOS = 53 deg, aLOS = 315 deg
Figure 6 MVDR beamformer, circular trajectory
radius = 0.2 m with eLOS = 53 deg, aLOS = 315 deg,
eInterference = 60 deg, aInterference = 120 deg
Figure 7 LCMV beamformer, circular trajectory
radius = 0.2 m with eLOS 53 deg, aLOS = 315 deg,
eInterfernce = 60 deg, aInterference = 120 deg, additional 4 nulls with +/- 5 deg from eLOS and aLOS
Figure 8 MVDR beamformer, circular trajectory
radius = 1 m with eLOS = 53 deg, aLOS = 315 deg
Figure 9 MVDR beamformer, circular trajectory
radius = 1 m with eLOS = 53 deg, aLOS = 315 deg,
eInterference = 60 deg, aInterference = 120 deg
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 8/15
Figure 10 LCMV beamformer, circular trajectory
radius = 1 m with eLOS 53 deg, aLOS = 315 deg,
eInterfernce = 60 deg, aInterference = 120 deg, additional 4 nulls with +/- 5 deg from eLOS and aLOS
From the beam patterns shown above, the larger the
radius, meaning the larger the antenna aperture, the better
the directivity exhibited. Assuming no AOA mismatch on
the array manifold vector, the motion which synthesizes a
large antenna aperture will more effectively mitigate the
undesired signals (interference and multipath) from other
directions. For some applications (e.g. a handheld GNSS
receiver), the size of the antenna aperture may be limited.
Therefore placing additional nulls in the spatial domain
becomes important for strong interference mitigation.
Given a precise estimate of the correlation matrix, the
MVDR beamformer can null out the interference signals
without estimating the interference AOAs. The null size
changes as the antenna aperture size changes. The larger
the antenna aperture, the smaller the null size is observed.
In practice, the estimate of the correlation matrix contains
errors. Usually, additional null points around the main
interference direction are placed to enlarge the null space
to count for the inaccurate estimation of the interference
AOA and the correlation matrix. In general, the spacing
between the null points around the interference direction
is proportional to the standard deviation of the
interference AOA estimate.
Linear Synthetic Array
In this case, an antenna is simulated moving with a linear
trajectory and a speed of 1 m/s towards the North. The
virtual antenna array is synthetic based on the linear
motion. Since the nulling effect will be similar to the
results in the circular synthetic array, only the noise
channel is considered here. The beam patterns with a
small and a large antenna aperture are plotted in Figure 11
and Figure 12 respectively. Similar to the observation in
the circular array case, the array with a larger antenna
aperture provides a better directivity thus attenuates
interference and multipath more severely.
Figure 11 Small aperture, linear trajectory, eLOS = 80
deg, aLOS = 60 deg
Figure 12 Large aperture, linear trajectory, eLOS = 80
deg, aLOS = 60 deg
Rectangular Synthetic Array
In (Soloviev et al 2009), the combination of a synthetic
array and a physical real array is used to construct a
synthetic rectangular synthetic array. The beam patterns
with a small and a large antenna aperture are shown
below to illustrate the concepts. In this case, a physical
antenna array is linearly moving towards the North with a
speed of 20 km/h. The virtual antenna array is synthetic
based on the linear motion along the motion, while the
physical array is used to provide the spatial information
perpendicular to the motion. A similar conclusion can be
made from the beam pattern shown below.
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 9/15
Figure 13 Rectangular array, small aperture on the
moving direction, eLOS = 75 deg, aLOS = 120 deg
Figure 14 Rectangular array, large aperture on the
moving direction, eLOS = 75 deg, aLOS = 120 deg
AOA ESTIMATION ALGORITHMS
As shown in previous sections, beamforming with a
synthetic array can enhance the directivity of the antenna
thus mitigating interference and multipath. One of the
major requirements of beamforming is the array manifold
vector. In other words, the trajectory of the motion and
the AOA of the GNSS signals should be known. In this
section, three algorithms for AOA estimation will be
discussed briefly.
Beam Scan Algorithm The Beam Scan algorithm is one of the most classical
AOA estimation methods. It estimates AOA by scanning
the signal power at each possible angle of arrival and
selects the one with the maximum power. The power from
a particular direction is measured by first forming a beam
in that direction and setting the beamformer weights equal
to the array manifold vector corresponding to that
particular direction. The mathematical formula for this
method is as follows (Van Trees, 2002):
( )
( )( ){ }( )( ) ( )( ){ }
( )
( )( ){ }( )( ) ( )( ){ }
2
2
ˆ arg max ,
arg max ,
arg max , ,
ˆ arg max ,
arg max ,
arg max , ,
Ha
Ha a
Ha
Ha a
P
E k
k k
P
E k
k k
θ
θ
θ
ϕ
ϕ
ϕ
θ θ ϕ
θ ϕ
θ ϕ θ ϕ
ϕ θ ϕ
θ ϕ
θ ϕ θ ϕ
=
=
=
=
=
=
x
x
v x
v R v
v x
v R v
(17)
where θ̂ is the estimated elevation angle, ϕ̂ is the
estimated azimuth angle, ( )( ),ak θ ϕv is the assumed
array manifold vector at elevation θ and azimuth ϕ ,
( ),P θ ϕ is the power at elevation θ and azimuth ϕ , x is
the vector of received samples (raw samples or
compensated correlator outputs) and xR is the sample
correlation matrix.
Capon’s Algorithm
Similar to the previous algorithm, Capon’s algorithm also
estimates AOA by measuring the power of received
signals in all possible directions. The major difference is
the weight vector. Instead of using the assumed array
manifold vector, it uses the weight from the MPDR
beamformer based on the assumed direction. In other
words, the power from the AOA estimate is measured by
constraining the signal power gain to be unity from the
assumed direction of arrivals and using the remaining
degrees of freedom to minimize the contribution to the
output power from all other directions. The mathematical
formula is as follows (Van Trees, 2002):
( )( )( )
( )( ) ( )( )
( ){ }( ) ( ){ }
( ){ }( ) ( ){ }
2
2
,,
, ,
ˆ arg max ,
arg max , ,
ˆ arg max ,
arg max , ,
a
Ha a
H
H
H
H
k
k k
E
E
θ
θ
ϕ
ϕ
θ ϕθ ϕ
θ ϕ θ ϕ
θ θ ϕ
θ ϕ θ ϕ
ϕ θ ϕ
θ ϕ θ ϕ
=
=
=
=
=
-1x
-1x
x
x
R vw
v R v
w x
w R w
w x
w R w
(18)
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 10/15
where θ̂ is the estimated elevation angle, ϕ̂ is the
estimated azimuth angle, ( )( ),ak θ ϕv is the assumed
array manifold vector , x is the vector of received samples
and xR is the sample correlation matrix.
MUSIC Algorithm
The MUSIC algorithm belongs to the family of subspace
algorithms, which can provide AOA or frequency
estimates with super-resolution. It can be easily shown
that the array manifold vectors corresponding to the
incoming signals lie in the signal subspace and are
therefore orthogonal to the noise subspace. One way to
estimate AOAs is to search through the set of all possible
directions and find those that are orthogonal to the noise
subspace. Given the array manifold vector of the
incoming signals ( )( ),sk θ ϕv , and the matrix
corresponding to the noise subspace nQ , then the
following should hold
( )( ),H
s nk θ ϕ =v Q 0 (19)
Based on the equation above, the mathematical formula
for MUSIC is (Van Trees, 2002):
( )
( )( ) ( )( )
( )
( )( ) ( )( )
ˆ arg max ,
1arg max
, ,
ˆ arg max ,
1arg max
, ,
MUSIC
H Ha n n a
MUSIC
H Ha n n a
P
k k
P
k k
θ
θ
ϕ
ϕ
θ θ ϕ
θ ϕ θ ϕ
ϕ θ ϕ
θ ϕ θ ϕ
=
=
=
=
v Q Q v
v Q Q v
(20)
where θ̂ is the estimated elevation angle, ϕ̂ is the
estimated azimuth angle, ( )( ),ak θ ϕv is the assumed
array manifold vector, ( ),P θ ϕ is the signal power, nQ is
the noise subspace matrix, which can be extracted from
the sample correlation matrix.
Although MUSIC algorithm theoretically provides AOA
estimates with super-resolution, the correlation matrix and
the number of the desired signals should be known. In
practice, these parameters need to be estimated. The
accuracy of these estimates will strongly affect the
performance of MUSIC.
DEMONSTRATION FOR AOA ESTIMATION
This section uses the simulated datasets generated from a
Spirent GSS7700 advanced hardware GNSS signal
simulator and the experimental datasets collected in the
field to demonstrate the AOA estimation of GPS L1 C/A
signal with a circular synthetic array. The AOA estimates
from the methods presented in the previous section will
be compared to the elevation and azimuth estimated from
the GPS navigation solution. Since the AOA estimate
from the navigation solution is used as the reference, an
open sky environment is chosen for the testing. As
mentioned earlier, the carrier phase due to satellite motion
and clock drifts need to be compensated before the
synthetic spatial processing. To compensate the satellite
motion, the location of the antenna or the Doppler
information from a nearby static reference antenna is
needed. However, this information will not be available in
some applications. As mentioned previously, the linear
curve fitting method does not require this information.
The main objectives of this test is to demonstrate the GPS
satellite AOA estimation with a synthetic array and
compare the performance from the linear curve fitting
method and the correlator based differential processing,
which provides the compensated correlators with the
phase information due to only the antenna motion .
Results with Simulated Data from the Hardware
Simulator
In the simulated scenario, an antenna was moving
circularly with a speed of 2 revolutions per seconds. The
radius was 1 m. A National Instruments
downconverter/digitizer was used to capture the raw IF
GPS L1 signal samples at a sampling rate of 10 MHz. The
AOAs (elevation and azimuth angles) of the GNSS
signals were estimated at the post-correlation level after
PLL. The coherent integration time was 20 ms.
Correlator-Based Differential Method
In the Spirent hardware simulator, it was configured that a
static antenna was placed at the centre of the circular
motion to provide the Doppler caused by the satellite
motion for the synthetic array processing. The two
antenna output ports were connected to the dual-channel
NI front-end. It should be noted that the same clock was
used inside the NI front-end to drive both channels.
Therefore the clock drifts from two channels will be
exactly the same. In other words, the correlator-based
differential processing will completely remove the carrier
phase due to the net effect of the satellite motion and the
front-end clock drift. The AOA spectrum from Beam
Scan, Capon and MUSIC are shown in Figure 15 to
Figure 17 for PRN 3. The estimated elevation and
azimuth angles were compared to the ones from the
navigation solution as shown in Figure 18 . The result for
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 11/15
PRN 5 is shown in Figure 19. From the results above,
MUSIC and Capon algorithms as expected provide higher
resolution on the AOA estimation than the Beam Scan
algorithm. The estimated elevation and azimuth angles
match to those from the navigation solution.
Figure 15 AOA spectrum from BeamScan with
correlation based differential processing on PRN3
Figure 16 AOA spectrum from Capon with correlation
based differential processing on PRN3
Figure 17 AOA spectrum from MUSIC with
correlation based differential processing on PRN3
Figure 18 Azimuth and Elevation estimates from
MUSIC, Capon and BeamScan with correlation based
differential processing compared to navigation solution on PRN3
Figure 19 Azimuth and Elevation estimates from
MUSIC, Capon and BeamScan with correlation based
differential processing compared to navigation solution on PRN5
Linear Curve Fitting Method
In this case, the satellite motion was assumed to be linear,
and the Doppler due to the antenna motion was
approximately extracted by de-trending the Doppler. The
results for PRN 3 and PRN 5 are shown below.
Comparing these AOA spectrum plots with the ones from
the correlator based differential processing, the AOA
spectrum and the estimated AOA are similar for PRN 3
(high elevation) but different for PRN 5 (relatively low
elevation). In Figure 22 the AOA spectrum for PRN 5 is
noisy. The noise floor increases in Figure 23. Also a 1.5
degree bias on the estimated elevation from all three
methods compared to the elevation from the navigation. It
is suspected that these errors are due to the linear
approximation of the satellite motion and clock drifts, and
the relatively lower C/N0 observed at low elevations.
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 12/15
Figure 20 Azimuth and Elevation estimates from
MUSIC, Capon and BeamScan with linear curve
fitting compared to navigation solution on PRN3
Figure 21 AOA spectrum from BeamScan method
with linear curve fitting on PRN5
Figure 22 AOA spectrum from Capon method with
linear curve fitting on PRN5
Figure 23 AOA spectrum from MUSIC method with
linear curve fitting on PRN5
Figure 24 Azimuth and Elevation estimates from
MUSIC, Capon and BeamScan with linear curve
fitting compared to navigation solution on PRN5
Results with experimental data collected in the field
Experimental data collected on the roof top of the CCIT
building at the University of Calgary was used to
demonstrate the AOA estimation with a synthetic array.
The antenna was mounted on a circular rotation table
rotating at a speed of 2 revolutions per second with a
radius of 66.5 cm. The NI front-end was again used to
capture the GPS L1 signals. The AOAs (elevation and
azimuth angles) of the GNSS signals were estimated at
the post-correlation level after the PLL. The coherent
integration time was 20 ms. A picture of the system is
shown in Figure 25. The linear curve fitting method was
used to remove the major part of carrier phase due to
satellite motion. The navigation data was wiped off based
on the sign estimates of the prompt correlator values in
the PLL. The AOA spectrums from the proposed methods
are plotted in the figures below. The results from the field
experimental data are similar to what we have observed
with the data generated from the Spirent Hardware
simulator. The linear curve fitting method seems to
perform better for high elevation satellites than low
elevation satellites. For satellites with low elevation, some
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 13/15
random biases (on the magnitude of 2 – 8 degrees) were
observed from the AOA estimates with the proposed
methods. It is suspected that these errors are due to the
linear approximation of the satellite motion and clock
drifts, and the lower C/N0 observed at low elevations.
Figure 25 Picture of the rotating antenna system
Figure 26 AOA spectrum from BeamScan method
with linear curve fitting on PRN3
Figure 27 AOA spectrum from Capon method with
linear curve fitting on PRN3
Figure 28 AOA spectrum from MUSIC method with
linear curve fitting on PRN3
Figure 29 Azimuth and Elevation estimates from
MUSIC, Capon and BeamScan with linear curve
fitting compared to navigation solution on PRN3
Figure 30 Azimuth and Elevation estimates from
MUSIC, Capon and BeamScan with linear curve
fitting compared to navigation solution on PRN6
BEAMFORMING WITH UNKNOWN AND
RANDOM TRAJECTORY
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 14/15
The materials presented in the previous sections are
mainly for an antenna moving in some regular trajectory
(e.g. circular motion). In reality, the trajectory of the
antenna is based on the motion of the user, which could
be unknown and irregular. The section will explain the
concepts of beamforming techniques utilizing the
dominant eigen-vector of the sample correlation matrix.
The sample correlation matrix based on the prompt
correlation values shown in (5), can be further
manipulated using eigen-decomposition.
( ) ( )2 2
2
1 1
Hp s s n
K NH H
i i i n i i
i i K
s k k σ
λ σ= = +
= +
= +∑ ∑
xR v v I
e e e e (21)
where K is the number of dominant eigen-values in the
correlation matrix (in the case of GNSS signal at the post-
correlation level in a noise only channel, K should be 1.),
N is the number of virtual antennas used in the synthetic
array, ie is the ith eigen-vector, iλ is the ith eigen-value,
and 2nσ is the noise variance.
Assuming there are K desired signals, the following can
be easily proven (Zoltowski & Gecan 1995).
( ) ( ) ( ){ }{ }
1 2
1 2
, ,
, ,
s s sK
K
span k k k
span=
v v v
e e e
L
L
(22)
In synthetic beamforming, both the trajectory and motion
of the antenna and the AOA of the desired signals are
required to construct the array manifold vector. However
since the vector space spanned by the array manifold
vector is the same as that spanned by the eigen-vectors
extracted from the sample correlation matrix,
beamforming can be performed based on the eigen-
vectors of the desired signals. In the previous section, it
was mentioned that the inverse operation of the sample
correlation 1−xR will tend to null out the interference and
multipath signals. This can be explained nicely with the
eigen-decomposition of the sample correlation matrix
(Zoltowski & Gecan 1995).
1
21 1
2
21
21
1 1
11
1
K NH H
i i i i
i ni i K
KHn
i i
in i
KH
i i
n i
λ σ
σ
λσ
σ
−
= = +
=
=
= +
= − −
≈ −
∑ ∑
∑
∑
xR e e e e
I e e
I e e
(23)
Based on (10), (22) and (23) it can be proved that the
weight vector w in MPDR will tend to null out strong
signal sources which are not the desired signals
(Zoltowski & Gecan 1995).
A simulation is used to illustrate the concept of eigen-
based synthetic beamforming with a random trajectory.
The antenna was assumed to move randomly on a 2D
plane. The data collection points of the random trajectory
are plotted in Figure 31. Assuming three desired signals
are coming from azimuths 30o , 60o and 75o , the antenna
pattern of the beamforming based on the eigen-
decomposition of the sample correlation matrix is shown
in Figure 32.
Figure 31 Random trajectory
Figure 32 Beamforming at azimuths 30 deg, 60 deg
and 75 deg
This technique can be applied for interference mitigation
as well. In another simulation, with the same random
trajectory, the signals coming from azimuths 30o , 60o
and 75o are strong interference signals. The desired signal
is very weak and below the noise floor (GNSS signals
before dispreading). In this case, the dominant eigen-
vectors in the correlation matrix are from the interference
signals. Utilizing this property, the strong interference can
be blocked by applying the projection matrix formulation
ION GNSS 2009, Session A5, Savannah, GA, 22-25 September 2009 15/15
with the dominant eigen-vectors from the correlation
matrix (Van Trees, 2002). The beam pattern is shown in
Figure 33. The beam response is flat in all directions
except those with interference signals, since the desired
signals are so weak (below noise floor) they can be
neglected in the correlation matrix, and the synthetic array
tries to form beams to noise, which is not directional.
Figure 33 Nulls at azimuths 30 deg, 60 deg and 75 deg
Although the AOAs of the incoming signals and the
trajectory are not required for eigen-based beamforming,
the knowledge of the correlation matrix is required. The
accuracy of the estimated sample correlation matrix is
critical for eigen-vector based beamforming. The
estimation of the correlation matrix will be investigated in
future work.
CONCLUSIONS
The generation of a GNSS synthetic phased array using a
moving antenna was described. Several classical
beamforming techniques previously developed for a
physical real array were investigated in the context of a
synthetic array based system. Their performance was
compared theoretically in terms of the antenna
beamforming beam-pattern. A novel approach based on a
linear curve fit of the received signal Doppler was
presented for the compensation of the effect of satellite
motion on the synthetic array. The AOA estimation for
GNSS signals was successfully demonstrated with
datasets from both an advanced hardware simulator and
field measurements. The linear curve fitting approach was
shown to provide results comparable with results where
the correlator compensation is achieved through the use of
a reference antenna. A potential technique for synthetic
array based spatial processing for the case of random
unknown trajectory was also introduced.
ACKNOWLEDGMENTS
The financial support of Research In Motion, the Natural
Science and Engineering Research Council of Canada,
Alberta Advanced Education and Technology and the
Western Economic Diversification Canada is
acknowledged.
REFERENCES
Broumandan, A., T. Lin, A.R.A. Moghaddam, D. Lu, J.
Nielsen and G. Lachapelle (2007) Direction of Arrival
Estimation of GNSS Signals Based on Synthetic Antenna
Array. Proceedings of GNSS07 (Forth Worth, 25-28 Sep,
Session C2), The Institute of Navigation, 11 pages
De Lorenzo, D (2007) Navigation Accuracy and
Interference Rejection for GPS Adaptive Antenna Arrays.
Ph.D. Dissertation, Stanford Uniersity, August, 2007.
Pany, T., M. Paonni, and B. Eissfeller (2008 a) Synthetic
Phased Array Antenna for Carrier/Code Multipath
Mitigation. Proceedings of ENC-GNSS08, Toulouse
Pany, T., B. Eissfeller (2008 b) Demonstration of
Synthetic Phased Array Antenna for Carrier/Code
Multipath Mitigation. Proceedings of GNSS08
Soloviev, A., F. van Graas, S. Gunawardena, M. Miller
(2009) Synthetic Aperture GPS Signal Processing:
Concept and Feasibility Demonstration. Procedings of
ITM09
Trees, H. L.V. (2002): Optimum Array Processing, part
IV, Detection, Estimation, and Modulation Theory, John
Wiley & Sons, Inc., New York, 2002.
Zoltowski, M. and A. S. Gecan, (1995) Advanced
Adaptive Null Steering Concepts for GPS. Military
Communications Conference, 5-8 November, San Diego
CA