Development of A Single Channel Direction Finding Algorithm

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 117

Development of a Single-Channel Direction Finding Algorithm

Nathan M. Harter
Thesis submitted to the faculty of of the Virginia
Polytechnic Institute and State University in partial
fulfillment of the reuirements for the degree of
Master of Science
in
!lectrical !ngineering.
Thesis "ommittee
#. Michael $uehrer% "hair
&effrey #eed
'illiam Tranter
(pril )*% +,,-
$lac.sburg% V(
/ey0ords1 'ireless "ommunications% 2irection
3inding% Signal Processing% $eamforming
"opyright +,,-% Nathan M. Harter
Development of a Single-Channel Direction Finding Algorithm
Nathan M. Harter
Abstract
( radio direction finding 4235 system uses a multiple6element antenna array coupled 0ith
one or more receivers to estimate the direction6of6arrival 427(5 of a targeted emitter using
characteristics of the signal received at each of the antennas in the array. In general% 23 systems can
be classified both by the number of receivers employed as 0ell as 0hich characteristics of the
received signal are used to produce the 27( estimate% such as the signal8s amplitude% phase% or time
of arrival.
This 0or. centers on the development and implementation of a novel single6channel
direction finding system based on the differential phase of the target signal received by a uniform
circular antenna array 0ith a commutative s0itch. The algorithm is called the P99 23 Method and
differs from older single6channel 23 techniues in that it is a digital algorithm intended for
implementation on a soft0are6defined radio 4S2#5 platform 0ith a custom6designed antenna array
and #3 s0itching net0or.. It uses a ban. of parallel soft0are P99s to estimate the phase of the
signal received at each element of the multi6antenna array. Theses estimated phase values are then
fed to a speciali:ed signal processing bloc. that estimates the 27( of the received signal.
This thesis presents the details of the initial version of the P99 algorithm 0hich 0as used to
produce a proof6of6concept system 0ith an eight6element circular array. It then discusses various
technical challenges uncovered in the initial implementation and presents numerous enhancements
to the algorithm to overcome these challenges% such as a modification to the P99 model to offer
increased estimator robustness in the presence of a freuency offset bet0een the transmitter and
receiver% revisions of the soft0are implementation to reduce the algorithm8s processing
reuirements% and the adaptation of the 23 algorithm for use 0ith a );6element circular array. The
performance of the algorithm 0ith these modifications under various conditions are simulated to
investigate their impact on the 27( estimation process and the results of their implementation on
an S2# are considered.
iii
For Sarah.
Acknowledgments
This 0or. 0ould not have been possible 0ithout the help of many people. 3irst of all% I
must than. my advisor% 2r. Michael $uehrer. His guidance 0as invaluable during and even after my
time at Virginia Tech.
I 0ould also li.e to than. 2#S Signal Solutions% Inc. for funding this 0or. and providing
the receiver hard0are as 0ell as for offering me a <ob right out of school. Numerous engineers from
2#S6SS also deserve my gratitude. Tom Potter and &eff Silvey% the t0o points of contact for the
University program% 0ere helpful in either ans0ering any uestions I had about the receiver or
directing them to someone 0ho could. =uy >aybe.ian 0as an incredible help 0hen it came to my
uestions about ho0 the radio operates% as 0ell as a more than capable teacher 0hen it came to
0or.ing 0ith him professionally on a ne0 soft0are defined radio during my tenure at 2#S6SS.
(lso% the entire engineering staff 0as very helpful 0hen the provided a responsive and supportive
audience for presentations on our 0or..
Many of my colleagues at MP#=% all of 0hom I count as friends% also deserve their place
here. "hris (nderson 0as indispensable 0hen it came to solving problems relating to hard0are.
S0aroop Ven.atesh and &ody Neel also .ne0 0ere to point me 0hen I had 2SP uestions and Ma?
#obert 0as al0ays around 0hen I <ust needed to ta.e a brea.. I must also than. &ohn /eaveny% 0ho
0as one of my good friends during both my undergraduate years at Saint 9ouis University as 0ell as
0hen I follo0ed him out to Virginia Tech and too. over his research pro<ect 0hen he finished. I
learned uite a lot from him in my first year at Tech.
9astly% I must also than. my 0ife% Sarah. 'ithout her love and support this 0ould have
been a difficult process% and not nearly as much fun.
Nathan Harter
(pril )*% +,,-
iv
Table of Contents
Abstract.................................................................................................................. ii
Acknowledgments................................................................................................iv
List of Figures....................................................................................................viii
List of Tables.......................................................................................................ii
List of Acron!ms................................................................................................iii
S!mbol "lossar!.................................................................................................iv
Chapter #
$ntroduction........................................................................................................#
).) Pro<ect !uipment 2escription................................................................................................+
).).) Soft0are Introduction.....................................................................................................................+
).).+ Hard0are Introduction...................................................................................................................+
).+ Thesis 2escription....................................................................................................................... *
Chapter %
$ntroduction to DF Concepts.............................................................................&
+.) 2irection 3inding 3undamentals..............................................................................................@
+.).) $asic (ssumptions...........................................................................................................................@
+.).+ The #eceived Signal Model............................................................................................................A
+.+ "lassical 23 (lgorithms.............................................................................................................-
+.+.) 'atson6'att (lgorithm.................................................................................................................-
+.+.+ 2oppler and Pseudo62oppler Methods......................................................................................B
+.+.* "orrelative Vector 23..................................................................................................................),
+.+.@ The MUSI" (lgorithm for Superresolution 23......................................................................)+
Chapter '
The (LL Algorithm For Single Channel DF...................................................#)
*.) (lgorithm 7vervie0.................................................................................................................)A
*.+ Mathematical 2evelopment.....................................................................................................);
*.+.) (ntenna (rray Model and !?pression for P99 Input............................................................);
*.+.+ !?pression for P99 7utput.........................................................................................................)B
*.+.* B6element "urve 3it (lgorithm...................................................................................................+,
*.+.@ 27( !stimation............................................................................................................................++
Chapter &
*nhancements to the (LL Algorithm.............................................................%&
@.) Modifications to the P99.........................................................................................................+@
@.).) The P99 Model..............................................................................................................................+@
v
@.).+ Parallel P99 7peration 0ith (ntenna S0itching.....................................................................+B
@.).* Nonlinear to 9inear P99..............................................................................................................+C
@.).@ 3reuency 7ffset #emoval..........................................................................................................*+
@.+ ); !lement "urve 3it (lgorithm............................................................................................*-
@.+.) Motivation for a Ne0 "urve 3it (lgorithm..............................................................................*-
@.+.+ The );6element "urve 3it (lgorithm.........................................................................................*C
@.* 23 System !rror Performance !nhancements...................................................................@*
@.*.) Motivation.......................................................................................................................................@*
@.*.+ 27( !stimate 3iltering...............................................................................................................@@
@.*.* 27( !stimate Duality Metric....................................................................................................@@
@.*.@ "ombined 9o0pass and Metric6(ssisted 3iltering (pproach...............................................@;
Chapter )
Simulation Anal!sis of the (LL DF Algorithm............................................... &+
A.) Simulation 7vervie0................................................................................................................. @-
A.+ !rror Performance vs. P99 =ain...........................................................................................@B
A.+.) P99 7utput Statistics....................................................................................................................@C
A.+.+ !ffect on #MS !rror Performance............................................................................................A)
A.* !rror Performance vs. (ntenna Spacing...............................................................................A)
A.@ !rror Performance vs. 3reuency 7ffset.............................................................................A@
A.@.) 3reuency 7ffset !stimator Performance................................................................................A@
A.@.+ !ffect on #MS !rror Performance............................................................................................AA
A.A !ffect of 27( !stimate 9o0pass and Metric6(ssisted 3iltering....................................AA
A.A.) 27( !stimate !rror 2istributions........................................................................................... AA
A.A.+ !ffect of 3iltering (pproaches on #MS !rror Performance................................................ ;,
A.; 27( !stimation on a Moving Target...................................................................................;@
A.- 27( !stimation 0ith a T0o6#ay Multipath Model..........................................................;;
A.-.) 2erivation of Signal #epresentation for T0o Signals 0ith !ual Strength........................ ;-
A.-.+ #esolution of T0o 2irections of (rrival for !ual (mplitude "ase...................................-,
A.-.* 3inal "omments on Performance in Multipath "hannels......................................................-)
Chapter ,
Algorithm $mplementation..............................................................................+'
;.) Hard0are 7vervie0..................................................................................................................-*
;.).) '&6B;+Ca Soft0are 2efined #eceiver........................................................................................-*
;.).+ B6element (ntenna (rray.............................................................................................................-A
;.).* (ntenna S0itching "ircuit...........................................................................................................-;
;.).@ Test System Setup..........................................................................................................................--
;.+ Implementation of B6!lement (lgorithm (dditions..........................................................-B
;.+.) 9inear P99 and 3reuency 7ffset !stimator Implementation............................................. -C
;.+.+ 27( !stimate Duality Metric Implementation...................................................................... B+
;.+.* 2ata "ollection and 3iltering Using a Matlab =raphical User Interface............................. B@
;.+.@ (rray Materials and =eneral 2esign.......................................................................................... BA
;.+.A S0itching "ircuit 2esign..............................................................................................................B-
vi
;.+.; (ntenna (rray "alibration and 7peration................................................................................C,
;.* Implementation Performance.................................................................................................C)
;.*.) Processing "ycle #euirements...................................................................................................C)
;.*.+ Performance of the B6element (lgorithm 0ith a 3reuency 7ffset.....................................C*
;.*.* Performance of the );6element (lgorithm...............................................................................C@
Chapter +
Conclusion........................................................................................................-+
-.) Summary of #esults................................................................................................................... C-
-.+ 3uture 'or................................................................................................................................CC
-.* 3inal Thoughts.........................................................................................................................),,
.eferences..........................................................................................................#/#
0ita...................................................................................................................... #/'
vii
List of Figures
3igure +.). !?ample of an arbitrary antenna array for modeling purposes............................A
3igure +.+. 'atson6'att antenna array gain pattern..................................................................-
3igure +.*. 2oppler method freuency shift e?ample................................................................C
3igure +.@. Pseudo6doppler system bloc. diagram.....................................................................C
3igure +.A. =eneral beamforming system...................................................................................),
3igure +.;. "orrelative vector 23 system bloc. diagram........................................................))
3igure +.-. !?ample spatial spectra from the correlative vector and MUSI" 23
algorithms 0ith a single received signals at a 27( of )+,E....................................................)+
3igure +.B. MUSI" algorithm bloc. diagram.............................................................................)*
3igure +.C. !?ample spatial spectra from the correlative vector and MUSI" 23
algorithms 0ith t0o received signals at 27(s of )+,E and +,,E...........................................)@
3igure *.). P99 23 system bloc. diagram.................................................................................)A
3igure *.+. P99 23 method 27( estimation processing bloc. diagram........................... );
3igure *.*. !?ample P99 acuisition on an unmodulated input signal................................)B
3igure *.@. !?ample P99 output data for B antennas..............................................................)C
3igure *.A. !?ample )st difference data......................................................................................+)
3igure *.;. (.5 left% MS! data from curve fit algorithmF $.5 right% inverse of MS! data
from curve fit algorithm.................................................................................................................. ++
3igure @.). $loc. diagram of operation of "ostas P99 for synchronous demodulation of
2S$6S" signals................................................................................................................................. +@
3igure @.+. $loc. diagram of soft0are "ostas P99 0ith decision directed feedbac......... +A
3igure @.*. !?ample P99 acuisition 0ith the presence of $PS/ modulation.................. +;
3igure @.@. !?ample P99 acuisition 0ith varying loop filter gain....................................... +-
3igure @.A. !?ample parallel P99 operation..............................................................................+C
3igure @.;. Sinusoidal and linear error detector characteristics.............................................. *,
3igure @.-. "omparison of P99 acuisition 4left5 and internal error signals for "ostas
P99 0ith different error detectors................................................................................................*)
3igure @.B. 9inear "ostas P99 bloc. diagram............................................................................*+
3igure @.C. !?ample of phase at antenna array output 0ith and 0ithout a +.H: freuency
offset................................................................................................................................................... *+
3igure @.),. !?ample phase acuisition for a "ostas P99 0ith )st or +nd order loop
filter..................................................................................................................................................... **
3igure @.)). 3reuency removal overvie0..................................................................................*@
3igure @.)+. !?ample P99 acuisition of signal 0ith freuency offset removed given
perfect .no0ledge of offset............................................................................................................ *A
3igure @.)*. 2etail freuency estimator bloc. diagram...........................................................*;
3igure @.)@. !?ample plot of error in freuency offset estimate per array s0eep inde?... *-
3igure @.)A. P99 output and first difference curve amplitudes relative to antenna array
viii
inter6element spacing....................................................................................................................... @,
3igure @.);. Plot of ma?imum amplitude of first and second difference curves relative to
inter6element spacing....................................................................................................................... @)
3igure @.)-. !?ample first difference data before and after processing by the );6element
curve fit algorithm............................................................................................................................ @+
3igure @.)B. !?ample 27( !stimate !rror Scatter plots for the B element P99
algorithm at *d$ SN#.....................................................................................................................@*
3igure @.)C. !?ample )st difference curves 4left5 and associated freuency transforms
4right5 to illustrate metric calculation............................................................................................@A
3igure A.). 7vervie0 of Matlab simulation setup.....................................................................@-
3igure A.+. P99 Performance plots1 P99 output standard deviation vs. received SN# 4a%
left5 and mean error of the P99 output 4b% right5......................................................................A,
3igure A.*. 3urther plots of simulated P99 performance1 P99 output and )st difference
standard deviation relative vs. received SN# 4a% left5 and )st difference variance relative to
P99 output variance vs. SN# 4b% right5.......................................................................................A,
3igure A.@. Simulated 27( estimate #MS error of the B6element 4a% left5 and );6element
4b% right5 versions of the P99 23 algorithm 0ith varying P99 gain......................................A,
3igure A.A. Simulated #MS error performance of the B6element 4left5 and );6element
4right5 versions of the P99 23 algorithm 0ith varying inter6element spacing.................... A*
3igure A.;. !?ample freuency offset estimate acuisition and trac.ing for various
freuency offsets for a signal received 0ith ),d$ SN#............................................................A*
3igure A.-. !?ample estimated 27( for P99 algorithm 0ith freuency offset estimation
during offset acuisition and trac.ing for various freuency offsets for a signal received
0ith ),d$ SN#................................................................................................................................. A*
3igure A.B. Variance 4left5 and mean 4right5 of freuency offset estimator in simulation..A;
3igure A.C. Simulated #MS error performance of the B6element 4left5 and );6element
4right5 versions of the P99 23 algorithm for varying freuency offsets.............................. A;
3igure A.),. !?ample 27( estimate error scatter plots for the B6element P99 23
algorithm 0ith an SN# of Bd$ 4left5% Ad$ 4center5% and *d$ 4right5 0ith no freuency
offset................................................................................................................................................... A;
3igure A.)). !?ample 27( estimate error scatter plots for the );6element P99 23
algorithm 0ith an SN# of Bd$ 4left5% Ad$ 4center5% and *d$ 4right5 0ith no freuency
offset................................................................................................................................................... AC
3igure A.)+. Histograms of 27( estimate uality metrics sho0ing distribution of the
metric relative to SN# for a.5 4left5 the B6element and b.5 4right5 );6element versions of
the P99 23 algorithm..................................................................................................................... AC
3igure A.)*. Histograms of 27( estimate uality metrics sho0ing distribution relative to
27( estimate error magnitude for a.5 4left5 the B6element and b.5 4right5 );6element
versions of the P99 23 algorithm................................................................................................AC
3igure A.)@. Simulated #MS error performance of the B6element 4left5 and );6element
4right5 versions of the P99 23 algorithm 0ith 27( estimate filtering................................;,
i?
3igure A.)A. 27( estimate error scatter plot 4left5 and associated error histogram 4right5
of 27( estimate error for B6element P99 23 algorithm after M( filtering 0ith
SN#G*d$.......................................................................................................................................... ;+
3igure A.);. 27( estimate error scatter plot 4left5 and associated error histogram 4right5
of 27( estimate error for );6element P99 23 algorithm after M( filtering 0ith
SN#G*d$.......................................................................................................................................... ;+
3igure A.)-. Simulated #MS error performance 0ith 27( estimate filtering of the B6
element 4left5 and );6element 4right5 versions of the P99 23 algorithm 0ith the addition
of freuency offset removal and a A,,H: offset........................................................................;+
3igure A.)B. Simulated rate of acceptance of 27( estimates using the 27( estimate
uality metric for both versions of the P99 23 algorithm......................................................;A
3igure A.)C. !?ample plots of 27( estimation on a moving target in a ;d$ ('=N
channel 0ith a freuency offset of +A,H:1 a.5 4left5 27( estimates over time and b.5
4right5 27( estimate error over time..........................................................................................;A
3igure A.+,. !?ample output of freuency offset estimator for 23 on the moving target
from 3igure A.)C 0ith a.5 4left5 ),d$ SN# and b.5 4right5 ),,d$ SN# and a freuency
offset of +A,H:................................................................................................................................. ;A
3igure A.+). T0o6ray multipath model........................................................................................;-
3igure A.++. P99 23 algorithm in a t0o6ray multipath environment sho0ing a.5 4left5
scatter plot of 27( estimates and b.5 4right5 percentage of accepted 27( estimates vs.
po0er ratio of the t0o unmodulated signals...............................................................................;C
3igure A.+*. !?ample plot of angle resolution for t0o6ray model 0ith eual signal po0ers
0ith true 27(s of ,E and B,E....................................................................................................... ;C
3igure A.+@. P99 23 algorithm in a t0o6ray multipath environment sho0ing a.5 4left5
scatter plot of 27( estimates and b.5 4right5 percentage of accepted 27( estimates vs.
po0er ratio of the t0o modulated signals...................................................................................;C
3igure ;.). 7vervie0 of processing flo0 in the '&6B;Ca........................................................-*
3igure ;.+. B6element array s0itching "ircuit.............................................................................-A
3igure ;.*1 MP#= B6element uniform circular array.................................................................-A
3igure ;.@. S0itching circuit for the B6element array................................................................-;
3igure ;.A. (nalog control signal for B6element s0itching circuit......................................... --
3igure ;.;. 23 system testing setup............................................................................................. -B
3igure ;.-. Implementation model for lo0pass filters in freuency offset estimator
sho0ing a.5 4left5 initial model and b.5 4right5 modified model................................................-C
3igure ;.B. !?ample plot of implementation of P99 output 0ith HA;,H: freuency
offset during a.5 4left5 freuency offset acuisition and b.5 4right5 freuency offset trac.ing
phases.................................................................................................................................................B,
3igure ;.C. !?ample freuency offset estimator output from implementation for a
received signal 0ith a true freuency offset of appro?imately A;,H:................................... B)
3igure ;.),. Screen capture of Matlab data collection =UI....................................................B@
3igure ;.)). $loc. 2iagram of s0itching circuit for );6element array................................. B;
?
3igure ;.)+. 2igital control signals for ne0 s0itching circuit.................................................B-
3igure ;.)*. Picture of the assembled );6element s0itching circuit......................................BC
3igure ;.)@. #3 s0itching circuit phase calibration setup.......................................................C,
3igure ;.)A. !ye diagram of );6element array output and corresponding P99 used to
measure s0itch transition timing...................................................................................................C,
3igure ;.);. Processing cycles reuired by various implementations of the P99 23
algorithm as a percentage of total available cycles.....................................................................C)
3igure ;.)-. Performance plot of the implementation of the B6element P99 23
algorithm 0ith freuency offset removal sho0ing a.5 4left5 #MS error vs. SN# and b.5
4right5 simulated #MS error vs. SN# for comparison...............................................................C+
3igure ;.)B. Scatter plot of error in estimated 27( samples from implementation of the
B6element algorithm.........................................................................................................................C*
3igure ;.)C. Plots of phase curves measured using the );6element antenna array sho0ing
the a.5 4left5 P99 output and b.5 4right5 first difference curves for ;@ consecutive array
s0eeps................................................................................................................................................. C@
3igure ;.+,1 Plots of data from the implementation of the );6element algorithm sho0ing
a.5 4left5 !stimated 27( and b.5 4left5 associated uality metric magnitude over time for a
true 27( of ,E................................................................................................................................CA
?i
List of Tables
Table @.). "urve fit MS! operation count.................................................................................*B
Table ;.). 9ist of coefficients and associated error statistics for magnitude estimation
function.............................................................................................................................................. B*
Table ;.+. Parts list for ma<or items involved in construction of );6element array
s0itching circuit................................................................................................................................ BA
Table ;.*. Tabular description of manual s0itching circuit state control via 2IP s0itches.
............................................................................................................................................................. BB
?ii
List of Acron!ms
(2" (nalog to 2igital "onverter
(7( (ngle6of6(rrival% used interchangeably 0ith 27(
('=N (dditive 'hite =aussian Noise
$PS/ $inary Phase Shift /eying
"P92 "omple? Programmable 9ogic 2evice
"' "ontinuous 'ave
23 2irection 3inding
27( 2irection of (rrival% used interchangeably 0ith (7(
2#S6SS 2#S Signal Solutions% Inc.
2SP 2igital Signal Processor
=397PS ),
C
3loating Point 7perations Per Second
33T 3ast 3ourier Transform
97 9ocal 7scillator
97S 9ine of Sight
M( Metric6(ssisted
MS! Mean Suared !rror
P99 Phase 9oc.ed 9oop
#3 #adio freuency
#MS #oot Mean Suare
S2# Soft0are 2efined #adio
SN# Signal to Noise #atio
?iii
S!mbol "lossar!

(ngle of (rrival% a:imuth

(ngle of (rrival% elevation

!stimated angle of (rrival% a:imuth

0
m
| i
Steady state output of m6th P99
A

0
m
| i
)
st
difference curve
A
2

0
m
| i
+
nd
difference curve
\
'avelength
Phase propagation factor% =2n/ \
M
Number of elements in an antenna array
m Inde? of elements in an antenna array% m=0,1,., M1
D
Number of signals incident upon the antenna array
d Inde? of incident signals% d =0,1, ., D1
K
Number of samples ta.en per array element
r
(rray radius
?iv
Chapter #
$ntroduction
#adio direction finding 4235 systems use a multiple6antenna array 0ith one or more
receivers to produce an estimate of the bearing angle or geographical coordinates of an intercepted
signal of interest 4S7I5. The primary function of a 23 system is to produce a direction6of6arrival
427(5. 23 systems have numerous applications from amateur use in H(M radio Ifo?huntingJ
contests to emergency service to military defense and intelligence operations.
These systems can be categori:ed into t0o main types% n6channel 23 systems using typically
one receiver channel per antenna% and single6channel 23 systems 0hich use a single receiver 0ith a
multiple6antenna array along 0ith some form of s0itching among the elements or combining them
to present the receiver 0ith a single signal. Single6channel 23 systems offer obvious advantages
over n6channel systems in terms of si:e% 0eight% po0er% and portability reuirements but in general
pay for these advantages 0ith reduced processing po0er% accuracy% and robustness in adverse
channel conditions. The challenges inherent in developing a single6channel 23 system are precisely
0hat ma.e it an attractive field of study as the utility of a system that can offer performance
characteristics that approach those of n6channel systems is undisputed.
This thesis is concerned 0ith a specific single6channel 23 algorithm .no0n as the Phase
9oc.ed 9oop (lgorithm K)L%K+L%K*L%K@L. It is the continuation of 0or. started at MP#= by a previous
student% &ohn /eaveny% along 0ith his advisor 2r. Michael $uehrer and fello0 student S0aroop
Ven.atesh. His 0or. focused on the initial development% simulation% and implementation of the
algorithm. In short% the algorithm uses an B element circular array connected to a single6channel
soft0are defined radio 4S2#5 receiver through a digitally controlled B6to6) s0itching circuit that
s0itches seuentially around the elements. This time divided signal is then fed into a ban. of eight
parallel phase loc.ed loops 4P99s5 0hich then trac. the phase of the signal at each antenna. This
collected phase data is then differentiated and fed through a signal processing bloc. to produce a
single 27( estimate for one full array s0eep 4i.e. the time reuired to s0itch from the first antenna
)
element to the last5.
This 0or. e?tends the original algorithm development and implementation in a fe0 0ays.
3irst% the initial implementation of the P99 model% 0hile perfectly functional% 0as overly processor
intensive. In order to add further enhancements to the algorithm implementation it 0as necessary
to produce a more efficient implementation of the P99 model. Second% it 0as discovered during the
initial implementation that a slight freuency offset occurs bet0een the test signal generated by the
transmitter and the receiver8s local oscillator 4975. Since the 27( estimations process of the P99
algorithm is based on the phase of the received S7I% this freuency offset can 0rea. havoc 0ith the
estimate if it is of significant magnitude. This 0or. provides a means of removing the freuency
offset.
Third% a method for improving the error performance of the system 0as developed. This
consists of producing a uality metric to accompany each 27( estimate as 0ell as filtering the
output 27( estimates over time. 3inally% a method for scaling the algorithm to 0or. 0ith a );
element array 0as also considered. This involved a ne0 approach to dealing 0ith the phase data
generated by the P99s as the original signal processing bloc. 0ould be computationally infeasible
0hen the number of antenna elements is increased.
#.# (ro1ect *2uipment Description
1.1.1 Software Introduction
Practically all algorithm development 0as performed in Matlab. Matlab provides an
e?cellent environment for uic. evaluation of algorithms through its combination of built in
functions and ease of development. 3or implementation purposes% the ma<ority of the code 0as
simply translated from Matlab into ". 7nly certain functions% such as the 23T implementation and
s0itch control 0ere prototyped in " before integration into the larger implementation. The "
program 0as compiled using TI "ode "omposer Studio and do0nloaded to the S2# using
proprietary soft0are developed by 2#S6SS.
1.1.2 Hardware Introduction
The S2# used in this pro<ect% as 0ell as the funding% 0as provided by 2#S Signal Solutions%
Inc. of =aithersburg% M2. This 0or. is part of the Sunrise University pro<ect% 0hich 0as
established to fund implementation6based research at the graduate level at both Virginia Tech and
"arnegie Mellon University. The radio used is the '&6B;+Ca soft0are6definable surveillance
+
receiver. The B;+Ca has a freuency range of +,MH: to +.-=H:% ++ selectable I3 band0idths from
+,,H: to ).+*MH:% and A user6definable band0idth slots. It also contains a floating point Te?as
Instruments ";- 2SP capable of )=397PS. 2#S6SS also furnished their proprietary soft0are for
program development and do0nload as 0ell as radio control. (s far as algorithm development is
concerned% the actual specifications of the hard0are used for implementation is unimportant as long
as it conforms to certain basic assumptions% mainly that it provides a digital baseband version of the
targeted #3 signal relatively free of spurious signals generated by the receiver itself.
#.% Thesis Description
"hapter + 0ill provide a brief overvie0 of direction finding techniues and 0ill give a fe0
e?amples of both single6channel and n6channel algorithms. "hapter * continues the discussion of
23 algorithms by describing in detail the P99 (lgorithm for single6channel 23. In "hapter @% 0e
0ill discuss the various enhancements to algorithm that encompass the bul. of the 0or.. These
enhancements include modification of the P99 model used for both more efficient implementation
and robustness in the presence of a freuency shift on the signal of interestF modification of the
curve6fitting algorithm to reduce computational comple?ity 0hen used 0ith antenna arrays
consisting of a large number of elementsF and the development of a uality metric to aid in the
determination of estimation errors.
"hapter A presents simulations of the P99 algorithm and its enhancements discussed in
"hapters * and @. The simulation results 0ere generated using Matlab and focus on the statistical
performance of the algorithm in an ('=N channel 0ith various operating parameters. The
chapter 0ill also investigate the operation of the algorithm 0ith a moving target and simple
multipath channel model. "hapter ; 0ill describe the implementation of the enhancements to the
algorithm. The chapter 0ill also present limited performance results of the algorithm operating
under controlled laboratory conditions.
The final chapter 0ill present our conclusions on the 0or.. It 0ill discuss the main
contributions of this 0or. to the P99 algorithm as 0ell as a summary of the implementation
successes and failures and lessons learned during the research. 3inally% it 0ill describe possible
future directions for research.
*
Chapter %
$ntroduction to DF Concepts
'hen one searches for 23 literature% they 0ill most li.ely find a vast assortment of
algorithms and corresponding systems. Ho0ever% much of this literature presupposes a familiarity
on the part of the reader 0ith fundamental .no0ledge of 23 topics. In this chapter 0e 0ill briefly
discuss some of the basic concepts encountered in practically any 23 discussion as 0ell as introduce
a fe0 0ell6.no0n 23 algorithms in order to illustrate the basic concepts. T0o of the algorithms
discussed% the 'atson6'att and 2opplerMPseudo62oppler methods% are single6channel techniues
that . The third algorithm% "orrelative Vector 23% is an n6channel method based on simple delay6
and6sum beamforming. The fourth and final algorithm discussed% MUSI"% is a high6performance
algorithm capable of operating in a multipath environment. 'e 0ill revisit this algorithm in "hapter
-.
%.# Direction Finding Fundamentals
2.1.1 Basic Assumptions
23 algorithms% apart from being classified by the number of receiver channels used% can also
be classified by the manner in 0hich they treat the signal received at an antenna array. "entral to
this is the response of the antenna array over 27( 4in a:imuth and possibly elevation5 as 0ell as
freuency. (pproaches can be categori:ed as amplitude6based% phase6based% or a combination of
the t0o. (mplitude6based systems compare the received amplitude among the various elements in
the antenna array to locate a point in an plane about the array that the signal originates. Phase6based
systems determine 27( information from either the absolute or differential phase of the 0avefront
as it crosses the array. Systems that use a combination of amplitude and phase information tend to
be more comple? but also result in higher performance. $eamforming and superresolution systems
fall into this category.
The basic antenna array can be envisioned as an arbitrary array of isotropic antennas
arranged about an arbitrarily defined origin point as in 3igure +.). 3or our purposes% 0e need to
@
ma.e a fe0 basic assumptions about the antenna array KAL1
The difference in amplitude of a received S7I bet0een antenna elements is negligible.
There is a finite number of incident S7Is% each of 0hich can be described by a plane
0ave.
The S7Is are narro0band signals.
These assumptions follo0 the basic reuirements for narro0band beamforming systems.
The first point essentially means that the antenna array is small relative to the distance of
propagation such that any measured path loss from one antenna to another is insignificant. This
implies that the primary response of the antenna array to a signal is by modifying the phase of the
signal. The second point allo0s for simplified modeling of the antenna array N the multipath
environment can be described as the linear sum of a finite number of signals. 3inally% the
narro0band assumption implies that the phase response of the array is flat across the signal8s
band0idth.
2.1.2 The Received Signal odel
#eferring to the array in 3igure +.) the phase difference bet0een any antenna and a
reference point at the origin of the coordinate system is given as
A
m
=
(
x
m
cossin +y
m
sin sin +z
m
cos
)
4+.)5
0here G+M is called the phase propagation factor% is the 27( in a:imuth% is the 27( in
elevation% and the three6dimensional coordinates of the m6th antenna element are given as x
m
% y
m
%
and z
m
. In all analysis in this paper% the antenna arrays of interest are t0o6dimensional% meaning
A
Figure 2.1. !"ample of an ar#itrar$ antenna arra$ for modeling purposes.
that the term relating to the %6coordinate of the array can be ignored. 'hen modeling the signal
received at the antenna element% the phase response of that element relative to a reference point
along 0ith the antenna8s amplitude gain are seen as a comple? scaling factor given by1
a
m
(, )=g
m
e
j A
m
=g
m
e
j ( x
m
cos sin+y
m
sinsin )
4+.+5
0here g
m
is the gain for the m6th antenna% and the comple? baseband output of the m6th antenna is
given by1
x
m
(t )=s(t ) a
m
(, )=s(t ) g
m
e
j ( x
m
cossin +y
m
sinsin )
4+.*5
0here s4t5 is the S7I and x
m
(t ) is the signal at the output of the m6th antenna. If 0e are concerned
only 0ith signals arriving on the same plane of the array then the elevation angle is eual to C,E%
resulting in1
x
m
(t )=s (t ) g
m
e
j ( x
m
cos +y
m
sin )
4+.@5
The collection of scaling factors into an ?) vector a is .no0n as the array manifold vector
or as the array steering vector in beamforming conte?ts1
a=
|
a
0
(, ) a
1
(,) a
M1
(, )

T
4+.A5
The received signal at the output of the array can then be e?pressed in matri? notation as
X=a s(t ) 4+.;5
This approach can be scaled up to construct a received signal that is the combination of multiple
signals. $y creating a matri? S 0hich represents the finite number of incident signals% 2% as its ro0s1
S(t )=
|
s
0
(t )

s
D1
(t )

4+.-5
and a second ?& matri? A1
A=
|
a(
0,

0
) a(
D1
,
D1
)

4+.B5
0here a(
d
,
d
) is the array manifold vector for the d6th received signal% 0e can then e?press the
received signal as1
X =AS+N 4+.C5
0here 3 is essentially the linear combination of & signals given by euation ; and 4 is a noise
vector representing ('=N in the received signal path that is assumed to be independent for each
antenna and receiver path. This multiple signal model 0ill be revisited in "hapter - during the
discussion of the P99 algorithm8s performance in the presence of multipath.
;
%.% Classical DF Algorithms
2.2.1 'atson('att Algorithm
The 'atson6'att algorithm K;L is an old amplitude6based analog 23 algorithm that can use
either t0o orthogonally oriented loop or (dcoc. pair antennas. In an (dcoc. pair% the vector
difference of the voltage outputs from the t0o antennas is ta.en to provide a single output from the
pair. This difference operation effectively merges the circular gain patterns of the t0o discrete
antennas into a figure6B pattern 0ith ma?imum gain along the baseline of the pair and a null along
the perpendicular to the baseline midpoint. The perpendicular arrangement of t0o such pairs is
sho0n in 3igure +.+ 0ith the first pair antennas labeled (
N
and (
S
4for North and South antennas5
and the second pair labeled (
!
and (
'
. This same gain pattern can be achieved 0ith the use of t0o
crossed loop antennas as the typical gain pattern for a loop antenna is a figure6B 0ith the gain
pattern of the north6south pair sho0n as the solid gray line and the gain pattern of the east60est pair
sho0n by the dashed blac. line.
In order to produce the 27( estimate% the voltage output from both antenna pairs 4in the
case of t0o (dcoc. pairs5 is compared. The t0o outputs can be e?pressed as1
V
NS
=V
N
V
S
=e
j
nd
\
sin
e
j
nd
\
sin
= j 2sin
(
nd
\
sin
)
4+.),5
V
EW
=V
E
V
W
=e
j
nd
\
cos
e
j
nd
\
cos
=j 2sin
(
nd
\
cos
)
4+.))5
0here d is the spacing bet0een antenna elements. =iven a sufficiently small antenna spacing%
generally much less than half a 0avelength at the freuency of the S7I% !uations 4+.),5 and 4+.))5
can be simplified to1
-
Figure 2.2. 'atson('att antenna arra$ gain pattern.
V
NS

2nd
\
sin 4+.)+5
V
EW

2nd
\
cos 4+.)*5
The north6south pair can be treated as generating the $6a?is voltage 0hile the east60est pair creates
the "6a?is voltage for the array8s coordinate system. the arctangent of the uotient of the north6
south voltage% V
NS
% and east60est voltage% V
!'
% as1

=tan
1
(
V
NS
V
EW
)
4+.)@5
This operation essentially uses the t0o voltage measurements to locate a point in an abstracted
plane% the angle of this point corresponding to the 27( of the received signal.
This approach can use either a t0o channel receiver%0ith each channel devoted to receiving
the combined signal from one of the (dcoc. pairs% or a single receiver channel that receives a
multiple?ed version of the signal. These t0o options trade t0ice the receiver hard0are in the former
case for a more complicated antenna hard0are in the latter. 7ne dra0bac. to this system is that the
gain pattern of each (dcoc. pair is symmetric about the pair8s baseline% meaning that a signal
arriving from one side of the pair is indistinguishable from a signal arriving from )B,E a0ay. This
can be remedied through the use of an antenna at the center of the array to provide a reference
signal% or by treating the a?is voltages as comple? numbers and using a four uadrant arctangent
function.
2.2.2 &oppler and )seudo(&oppler ethods
The 2oppler and derivative Pseudo62oppler algorithms KBL are single6channel algorithms
that produce a 27( estimate based on the phase of the received signal. 7riginally% the doppler
method used a single antenna that moved about the circumference of a circle at a fi?ed angular
velocity. The pseudo6doppler method 0as developed using a multi6element circular array 0ith a
commutating s0itch that selects the antennas seuentially around the circle to appro?imate the
circular motion of the doppler antenna. This algorithm see.s to measure the doppler shift induced
on the received signal due to either the rotation of the single antenna or commutation of the
s0itched antenna array. The received signal is modeled as1
r (t )=Acos
|
2n f
o
t +
2nr
\
cos
(
2n f
r
t
)


4+.)A5
B
0here f
r
is the inverse of the time ta.en to sample around the entire antenna array. 3or an
illustrative e?ample refer to 3igure +.*. (s 0e sample around the array at a fi?ed rate% the doppler
shift imposed on the signal 0ill be directly proportional to the rate of sampling around the array.
'hen the sampling approaches the 27( of the S7I as 0ell as )B,E a0ay 4the paths labeled and
+5 the measured 2oppler shift 0ill cross :ero. 3urthermore% the measured doppler shift 0ill be at
a negative and positive ma?imum 0hen the array is sampled at C,E and +-,E from the true 27(%
respectively 4paths +/2 and +3/2 in the e?ample figure5.
Therefore% the 27( estimation function can consist of a simple 3M demodulator consisting
of a freuency discriminator follo0ed by a :ero crossing detector sho0n in 3igure +.@. The phase of
the signal at the output of the :ero crossing detector 0ill be directly proportional to the 27(. 7ne
of the dra0bac.s to this system is decreased listen6through capability due to 3M and (M artifacts in
the signal due to the sampling. (nother dra0bac. is the reuirement that the speed of rotation or
s0itching must be fast relative to any freuency modulation on the S7I as it can interfere 0ith
C
Figure 2.*. )seudo(doppler s$stem #loc+ diagram.
Figure 2.,. &oppler method fre-uenc$ shift e"ample.
27( estimation.
2.2., .orrelative /ector &F
"orrelative vector 4"V5 23 is one of the most commonly used 23 methods of those based
on beamforming algorithms due to its relative simplicity. It differs from the previous t0o
algorithms in that it is an n6channel algorithm and it uses both the phase and amplitude of the
received signal. 'ith this approach% a database of array manifold vectors for the antenna array is
generated for a set number or .no0n 27( and freuency points% the distribution of 0hich depends
on ho0 smooth the response is bet0een points. This database can either be generated theoretically
or through empirical measurements% depending on ho0 closely the actual antenna array response
matches the theoretical manifold. 7ne of the main strengths of this algorithm is that it can
accommodate any imperfections in array construction or installation as long as they are reflected in
the database.
This algorithm is adapted from the beamforming algorithm .no0n as delay6and6sum
beamforming. "onsider a generic beamforming system as sho0n in 3igure +.A% in 0hich the output
of each antenna from an 6element array is 0eighted by a comple? number and then summed to
produce a single output. The vector of comple? 0eights is .no0n as the steering vector% and the
method of generating the steering vector is the main characteristic of any beamforming algorithm.
3or delay6and6sum beamforming% the steering vector is simply chosen to be the comple? con<ugate
of a single entry from the array manifold database for a desired loo. direction . 'eighting the
received signal by this steering vector 0ill essentially coherently combine the phase6shifted signals
from each antenna in the array if the received signal8s 27( corresponds to the loo. direction.
),
Figure 2.0. 1eneral #eamforming s$stem.
'hen used as a 23 algorithm% the 27( estimate is produced by correlating the measured
array manifold 0ith the each entry in the database at the operating freuency. The 27( at 0hich
the measured manifold e?hibits ma?imum correlation 0ith the database is chosen as the estimated
27(. "onsider the bloc. diagram of a general "V system in 3igure +.;. =iven a measured
manifold vector v% the correlation 0ith each database vector can be e?pressed as1
r ()=
v a()
T
.
( v v
T
) ( a()a()
T
)
4+.);5
0here a( )
is the manifold vector in the database corresponding to the measured magnitude and
phase vector at 27( relative to some defined reference point on the array. The collection of
correlation values% r ( ) % is .no0n as the spatial spectrum. 3rom the beamforming point of vie0%
the correlation process can be seen as varying the steering vector applied to the measured received
signal manifold and measuring the output po0er. Ma?imum output po0er 0ill result 0hen the
steering vector corresponding to the received signal8s 27( is chosen.
3igure +.- sho0s an e?ample plot of a "V spatial spectrum 4in red% dashed5 for a A6element
circular array 0ith a S7I 27( of )+,E. Inspection of this plot sho0s that there is one definite pea.
at )+,E% 0hich sho0s that the received manifold vector has the strongest correlation 0ith the
database at that point. 'e can see that the main lobe of this spectrum is 0ide. If the a:imuth
points used in constructing the database are spaced too far apart to provide satisfactory results 4e.g.
), degree spacing 0hen desired resolution is less than ) degree5% it is also possible to interpolate the
resulting spatial spectrum in order to find the ItrueJ correlation pea.. 7f course% processing time is
traded for higher resolution 0hen the spatial spectrum is calculated at an increasing number of
))
Figure 2.2. .orrelative vector &F s$stem #loc+ diagram.
points.
2.2.* The 3SI. Algorithm for Superresolution &F
The MUSI" algorithm% first proposed in )C-C by #. 7. Schmidt K))L%K)+L% falls into a class of
high performance 23 algorithms call superresolution% as the algorithm has the capability of
simultaneously determining the 27( of multiple signals 0ith a resolution of less than one degree%
depending on antenna array geometry. This algorithm achieves its high resolution from the
e?ploitation of an input covariance matri? derived from the input data model. The eigenvalues of
this covariance matri? are determined and partitioned into t0o sets% called the signal and noise
subspaces. The signal subspace is comprised of a set of array manifold vectors that correspond to
the signals received at the array. The eigenvectors that form the noise subspace are completely
orthogonal to the signal subspace. If used as the steering vectors in a beamforming system% the
noise subspace vectors 0ould effectively destructively combine the received signals because the
noise vectors are orthogonal to the manifold of the received signals.
The MUSI" algorithm% a bloc. diagram of 0hich can be found in 3igure +.B% can be
summari:ed in as follo0s K)*L1
). 3irst% 4 samples from each receiver channel must be collected to form ?4 array 3. 3or
simulation purposes% this array can be generated according to euation 4+.C5. Ne?t% the
covariance matri? R
xx
must be estimated from the received data1
)+
Figure 2.5. !"ample spatial spectra from the correlative vector and 3SI. &F algorithms with a single received
signals at a &6A of 1278.
R
xx
=
1
K
XX
H
4+.)-5
+. Perform eigenvalue decomposition on R
xx
1
R
xx
V =V A 4+.)B5
0here A=diag \
0,
\
1,
.,\
M1
, \
0
<\
1
<.<\
M1
are the eigenvalues and
V =
|
q
0
q
1
. q
M1
are the corresponding eigenvectors of R
xx
.
+. 3rom the multiplicity

k
of the smallest eigenvalue \
min
% estimate the number of signals

D
1

D=M

k
4+.)C5
*. 3orm the noise subspace V
n
from the eigenvectors corresponding to the

k
smallest
eigenvalues. 2etermine the MUSI" spatial spectrum1

M!S"#
()=
a
H
() A()
a
H
()V
n
V
n
H
a()
4+.+,5
0here a( )
is the manifold vector from the database corresponding to 27( .
@. 3ind the

D
largest pea.s of
M!S"#
( )
. These correspond to the 27( of the received
S7I4s5.
'hen comparing the MUSI" spatial spectrum to that of the "V it is illustrative to consider
the euations used for spatial spectrum calculation. !uations +.); and +.+, are similar in that they
both produce a correlation bet0een some form of the received array manifold 0ith a previously
stored or measured manifold in the form of the database. The main difference is that the MUSI"
algorithm is an inverted measure of the correlation as the vectors used in this algorithm are
supposed to be orthogonal to the received signal% meaning that the correlation bet0een the noise
subspace is very nearly :ero 0hen correlated 0ith the database at a:imuth angle corresponding to
)*
Figure 2.9. 3SI. algorithm #loc+ diagram.
the 27( of the received signal.
(n e?ample spatial spectrum for the MUSI" algorithm is sho0n in 3igure +.- for a single
received signal 0ith a 27( of )+,E and a five element antenna array. "ompared to the "V spatial
spectrum% the pea. of the MUSI" spatial spectrum is obviously much narro0er. This allo0s for the
much higher resolution of the MUSI" algorithm N the 0ide pea. of the "V spectrum can hide
multiple signals arriving 0ith a narro0 angular spacing. If the noise subspace vectors 0ere used as
the array 0eights in a beamforming system% the resulting spatial spectrum 0ould be a mirror image
of the MUSI" spatial spectrum along the vertical a?is N a nearly flat response across a:imuth angles
0ith sharp nulls at the 27( of the received signal.
( second comparison of the t0o algorithm8s spatial spectra can be found in 3igure +.C. This
is the result of an e?ample simulation of t0o signals arriving at the array at angles of )+,E and +,,E%
0ith a *d$ difference in the po0er of the first signal relative to the second. The "V spectrum
clearly sho0s a pea. at )+,E but the second pea. at +,,E is nearly indistinguishable from the other
sidelobes present in the spectrum because the "V spectrum is sensitive to the amplitude of the
received signals. If one signal is significantly stronger than the other% the less po0erful signal 0ill
essentially be hidden by the sidelobes of the spectrum. The MUSI" spectrum on the other hand
sho0s t0o clearly defined pea.s. This spatial spectrum is not dependent on the received signal
strength of the signals because the po0er of the received signals is not reflected in the eigenvectors
used to form the signal subspace N the eigenvalues contain this information.
)@
Figure 2.:. !"ample spatial spectra from the correlative vector and 3SI. &F algorithms with two received
signals at &6As of 1278 and 2778.
Chapter '
The (LL Algorithm For Single Channel DF
The previous chapter presented some of the basic concepts of 23 systems and presented a
fe0 e?amples of algorithms. 'e 0ill no0 move on to discuss the P99 (lgorithm for single6channel
23% emphasi:ing at points 0here it dra0s from previously discussed algorithms. This chapter 0ill
first 0or. through the mathematical bac.ground and lay out the assumptions 0e ma.e about the
system. This discussion 0ill concern the basic version of the algorithm as originally developed for
use 0ith an B6element array.
'.# Algorithm 5verview
The basic P99 23 system% as sho0n in 3igure *.)% consists of an 6element uniform
circular array 0ith an 6to6) #3 s0itching net0or. and a soft0are radio platform. Initial
development of this algorithm assumed that it 0ould be used 0ith an e?isting B6element array. The
receiver filters and do0nconverts the #3 input to a comple? baseband signal 0hich is then fed into
a ban. of parallel soft0are P99s 0hich are used to trac. the phase of the signal present at each
antenna. (fter a single array s0eep% i.e. the time it ta.es to s0itch around the array from the first to
)A
Figure ,.1. );; &F s$stem #loc+ diagram.
last element% the final value of each P99 is stored in an ?) vector. This vector of phase values is
then processed to produce a single 27( estimate for the array s0eep.
This algorithm is based on the phase modulation induced on the incident signal by s0itching
by the #3 s0itching. The P99s are used to measure the phase of the signal from each element in
the array. The steady6state response of the P99s then forms the measured phase data used by the
27( estimator to produce its estimate. ( bloc. diagram of the processing flo0 after the P99 is
sho0n in 3igure *.+. The vector of phase samples from the P99 output% one measured value for
each antenna% is first differentiated to remove any constant phase offset on the data and to limit the
data8s amplitude. It is then processed by a curve fit algorithm to remove any ambiguities on the P99
data related to data modulation on the received signal. ( 23T is then performed on the P99 data
in order to e?tract the 27( information as 0ell as to produce a uality metric for the 27(
estimate to assess the amount of noise and distortion present on the data output from the curve fit
algorithm.
'.% 6athematical Development
,.2.1 Antenna Arra$ odel and !"pression for );; Input
"onsider a uniform circular array of elements 0ith spatial coordinates x
m
and y
m
given
by
x
m
=r cos
(
2nm
M
)
y
m
=r sin
(
2nm
M
)
4*.)5
0ith the reference point of the array being the center of the circle. 'or.ing from the frame0or. for
describing the phase relationship bet0een elements in an arbitrary antenna array as described in
"hapter +% 0e can simplify the array manifold given by euation +.@ to
a
m
()=g
m
e
j
2nr
\
cos
(
2nm
M

)
4*.+5
3urthermore% the signal present at the output of the m6th antenna can be given by
);
Figure ,.2. );; &F method &6A estimation processing #loc+ diagram.
x
m
(t )=s(t ) e
j
2nr
\
cos
(
2nm
M

)
4*.*5
0here s ( t ) is the comple? baseband envelope of the the incident S7I. This envelope is assumed
to ta.e the form
s (t )=m(t ) e
j 0
o
4*.@5
0here m(t ) is the modulated data signal% either real or comple?% and
e
j 0
o
is a phase shift on the
signal resulting from an arbitrary propagation distance of the signal. This phase shift is assumed to
be constant across all elements of the antenna array% 0hich is e?pected if the propagation distance is
large compared to the radius of the array. The resulting signal presented to the P99 corresponding
subseuently ta.es the form
x
m
(t )=m(t )e
j
|
0
o
+
2nr
\
cos
(
2nm
M

)
4*.A5
'e can see from euation 4*.A5 that the phase of the signal received at the m6th antenna
element is related to the 27( of the incident signal by a sine curve 0ith an angular freuency
described given by the antenna element8s angular displacement from the first antenna% amplitude
given by the ratio of the array radius to signal 0avelength% and phase given by the 27( itself% as1
0
m
=0
o
+
2nr
\
cos
(
2nm
M

)
4*.;5
This means that if the phase of the signal received at the array neglecting any data modulation on the
signal itself is plotted versus the antenna inde?% one full period of a sine curve 0ill result. It is this
relationship that the 27( estimator see.s to e?tract from the P99 data. 3igure *.* is an e?ample
plot of the P99 acuiring the phase of the received signal as the array is s0itching. In this e?ample%
the received signal is not modulated and the antenna array s0itches from one element to the ne?t
every ;@ samples% 0hich can be observed in the phase discontinuities at every ;@
th
sample. The
P998s output value for the m6th antenna is ta.en as the final value of the P99 at the end of the data
bloc. corresponding to antenna m. Plotting the final P99 values against the antenna inde? 0ill
produce an estimate of euation 4*.;5.
If the estimator is able to recover the sine curve traced by the s0itching6induced phase
modulation% then it is possible to determine the 27( by measuring the phase shift of that sinusoid.
7f course% data modulated onto the signal must be considered. 3or the development of this
algorithm% it 0as assumed that the modulation format 0ould be $PS/% 0ith the signal s( t ) being
)-
e?pressed as
m(t )=Ae
jnn
, n=0,1
4*.-5
0here n represents the binary data symbols , or ). Substituting this into euation 4*.A5 gives
x
m
(t )=Ae
j
|
0
o
+
2nr
\
cos
(
2nm
M

)
+nn

, n=0,1
4*.B5
It is this data that 0ill be fed into the soft0are P99 for the m6th antenna.
,.2.2 !"pression for );; 6utput
The P99 is assumed to ta.e the form of a carrier recovery loop for a $PS/ signal. This
carrier recovery loop 0ill have the effect of trac.ing the phase of the signal8s carrier 0hile removing
the $PS/ modulation. 7ne do0nside to this is that due to an arbitrary signal constellation rotation%
the acuired phase can be shifted by n . This is because the P99 0ill only trac. angles in the first
and fourth uadrants. 'ith this in mind% 0e assume that the output of the P99 corresponding to
the m6th antenna can be e?pressed as
0
m
=0
o
+
2nr
\
cos
(
2nm
M

)
+nn, n=0,1 4*.C5
If the data symbols and constant offset 0
o
are .no0n% 0e can compute the 27( using

=cos
1
(
0
m
0
0
2nr /\
)

2nm
M
4*.),5
0here m is the antenna inde? as used above. Unfortunately this information is generally not .no0n
)B
Figure ,.,. !"ample );; ac-uisition on an unmodulated input signal.
a priori so an alternate approach needs to be devised.
3igure *.@ illustrates this issue. The line labeled I!?pected P99 7utputJ is the theoretical
output of the P99s 0ithout a phase shift or modulation effects plotted against antenna inde?. It is
obviously a clean sinusoid. The line labeled I(ctual P99 7utput 0M offsetJ is the actual output of
the P99s for an unmodulated signal 0ith a constant phase offset. This is still a sine curve% and
evaluating euation 4*.),5 0ill still 0or. as the constant phase shift appears simply as a 2" offset on
the data. The problem becomes more comple? 0hen modulation is added. The line labeled I(ctual
P99 7utput 0M $PS/J is a plot of the P99 output data 0hen the input signal is modulated. Notice
that it only contains values in in the range of n/ 2<0
m
<n/ 2 because as previously mentioned
the P99 0ill only trac. phase values in the first and fourth uadrants. 'e can see that 0hen this
data differs from the actual P99 output 0ithout modulation the difference is e?actly n . This
ambiguity 0ill obviously hinder any simplistic attempts to determine the 27(.
3urthermore% the amplitude of the phase curve% given above in euation +A as 2nr/ \ % can
ta.e on values larger than n % 0hich can cause problems 0ith fitting the data to a sinusoid because
due to the !n on the data each element in the vector can have up to t0o additional possible true
values to fit in the amplitude range. The e?amples in 3igure *.@ used an array radius eual to \/ 2 .
7bviously% this assumption 0ill only 0or. for an antenna array operating at a single freuency. 23
)C
Figure ,.*. !"ample );; output data for 9 antennas.
systems typically reuire an inter6element spacing of less than \/ 2 in order to reduce any resulting
ambiguities KBL%K),L. 3or an B element circular array% this spacing 0ill reuire an array radius of at
most 0.65\ % 0hich 0ill result in the phase curve having an amplitude of 1.25n . This means that
the phase trac.ed by the P99 0ill be 0rapped into the range n<0
m
<n . "onseuently% the
curve fit algorithm must be able to handle phase 0rapping on the P99 data in addition to
ambiguities related to the modulation.
,.2., 9(element .urve Fit Algorithm
'e have thus far sho0n that the curve fit algorithm 0ill need to deal 0ith three ma<or
sources of phase ambiguity1 phase 0rapping due to a constant offset in the received signal% phase
0rapping due to the phase curve8s amplitude% and phase ambiguities due to the received signal8s
modulation. $y recogni:ing that the first derivative of a sinusoid is another sinusoid% 0e are able to
facilitate the process some0hat. If 0e define the first difference of the P99 data as
A0
m
=0
m
0
m1
4*.))5
then the first difference of the P99 data can be e?pressed as
A0
m
=
(
0
o
+
2nr
\
cos
(
2nm
M

)
)

(
0
o
+
2nr
\
cos
(
2n(m1)
M

))
4*.)+5
A0
m
=
(
2nr
\
cos
(
2nm
M

))

(
2nr
\
cos
(
2nm
M

2n
M

))
4*.)*5
A0
m
=
4nr
\
sin
(
n
M
)
sin
(
2nm
M

n
M
+
)
4*.)@5
Note that differentiation has multiple effects1 the constant phase offset 0
o
is eliminated% the
amplitude of the resulting sine curve has been scaled by 2sin(n/ M ) % and the 27( information is
preserved as the phase offset of a sine curve. 3or the B6element array 0ith an inter6element spacing
of \/ 2 and subseuently a radius of 0.65\ % this 0ill result in a sine curve 0ith an amplitude of
0.995n.This result does ignore modulation ambiguities on the P99 data. If 0e ta.e modulation
into account 0hile assuming that during the differentiation the resulting data points are limited to
the region n<A0
m
<n% 0e can e?press the resulting first difference data as
A0
m
=
4nr
\
sin
(
n
M
)
sin
(
2nm
M

n
M
+
)
+nn, n=0,1 4*.)A5
+,
The assumed limit of !n on the first difference data is a valid assumption because the elimination
of the 2" component of the data means that the resulting curve 0ill be centered about :ero
guaranteeing that the data 0ill be less than n for element spacings of less than \/ 2 . This is
illustrated in 3igure *.A. The I!?pected )
st
2iff. 2ataJ represents the first difference of simulated
P99 data 0ithout modulation. #eliance on the first difference of the phase data means that 0e are
not necessarily interested 0ith the e?act value of the phase modulation induced by s0itching but
0ith the differential phase modulation on the received signal.
This relation forms the basis of the curve fit algorithm. =iven that each element of the first
difference data vector can possibly be shifted from its e?pected value by n % this results in a total of
+
B
possible permutations from the measured first difference data% 0hich are called the given
difference curves. In order to pic. the correct curve% these +A; possible curves are each compared
to a database of theoretical first difference curves called the target difference curves. The mean
suared error is determined bet0een each given and target difference curve% and the given difference
curve 0ith the smallest MS! relative to any of the target difference curves is chosen as the true first
difference curve from the set. The si:e of the set of target difference curves only needs to be large
enough to provide a meaningful measure of MS!. In practice% it 0as found that only ); to *+ target
curves are necessary to provide good estimates. This operation is in a 0ay similar to the correlation
+)
Figure ,.0. !"ample 1st difference data.
process from the "orrelative Vector algorithm e?cept that the data set that is searched is t0o6
dimensional instead of one6dimensional.
3igure *.;a is an e?ample plot of the measured MS! bet0een all +A; permutations of a
simulated first difference data set and a set of *+ target difference curves. The inde? of the first
difference permutation that produces the smallest MS! is chosen. In order to demonstrate this
concept better% 3igure *.;b plots the inverse of the data in 3igure *.;a. In 3igure *.;b% 0e can see
that there is a single large pea.% corresponding to a MS! that is close to :ero% and that every other
inverted MS! value is small.
,.2.* &6A !stimation
7nce the true first difference curve is selected% the final step in the 27( estimation is to
determine the phase of the sine curve described by the data. This information can be retrieved by
performing a 23T of the seuence. #ecogni:ing that the difference curve can be represented as
++
Figure ,.2. A.< left= S! data from curve fit algorithm> B.< right= inverse of S! data from curve fit algorithm.
f | m=
|

4nr
\
sin
(
n
M
)
sin
(

n
M
+
)

4nr
\
sin
(
n
M
)
sin
(
2n
M

n
M
+
)

4nr
\
sin
(
n
M
)
sin
(
2n
3n
M
+
)

4*.);5
the 23T of this vector can be evaluated as
$ | k =

m=0
M1
f | m e
j 2nmk / M
4*.)-5
In the absence of noise% each bin of the 23T 0ill be :ero e?cept for k=1 . This is due to the fact
that the data is still one full period of a sine 0ave. 'indo0ing of the seuence is unnecessary since
the sine 0ave is sampled such that all of the energy of that sine 0ave 0ill be contained in the second
bin of the 23T and that the sidelobes of its freuency transform 0ill not appear in the 23T.
Therefore% for k=1 1
$ |1
((

n
M
)
+j
(

n
M
))
4*.)B5
and the 27( estimate can be found as the angle of that comple? number minus a constant offset1

=$ | 1
n
2
+
n
M
4*.)C5
+*
Chapter &
*nhancements to the (LL Algorithm
The previous chapter described the basic P99 (lgorithm in detail for use 0ith an B element
array. In this chapter 0e 0ill discuss the main improvements to the algorithm. 3irst% 0e 0ill discuss
t0o modifications to the P991 the change from a nonlinear to linear model% and the modification of
the P99 for removal of a residual freuency component on the signal. 'e 0ill then move to discuss
t0o methods for improving the 27( estimate error performance1 filtering the 27( estimates and
defining a uality metric associated 0ith the 27( estimates. 3inally% 0e 0ill introduce a ne0 curve
fit algorithm use 0ith a ); element array.
&.# 6odifications to the (LL
To preface the discussion of the P99 modifications% the general P99 model and its
operation 0ith antenna s0itching are considered. This leads into the discussion of the change from
a nonlinear to linear P99 and the modification for the removal of a freuency component.
*.1.1 The );; odel
The P99 model used to estimate the phase of the received signal is that of a soft0are "ostas
P99 0ith decision directed feedbac.. The "ostas P99 0as originally proposed by &. P. "ostas in
)CA; K)@L as an optimal demodulator for amplitude modulated 4(M5 double sideband suppressed
carrier 42S$6S"5 systems and is sho0n in 3igure @.). In this P99% the received #3 signal s (t ) %
+@
Figure *.1. Bloc+ diagram of operation of .ostas );; for s$nchronous demodulation of &SB(S. signals.
s(t )=A
#
cos
(
o
%
t
)
m(t ) 4@.)5
is mi?ed 0ith a uadrature oscillator produced by the P998s voltage controlled oscillator 4V"75 and
both output signals are passed through lo0pass filters in order to remove high freuency
components% resulting in
&
"
(t )=A
#
A
0
cos
(
0
e
)
m(t )/ 2 4@.+5
&
'
(t )=A
#
A
0
sin
(
0
e
)
m(t )/ 2 4@.*5
0here A
#
is the amplitude of the received signal% A
0
is the amplitude of the V"7% 0
e
is the phase
difference bet0een the received signal8s carrier and the V"7% and m(t ) is the modulating signal.
'hen the phase error 0
e
in the system is small% the in6phase signal &
"
(t ) is proportional to the
modulating signal and is used as the demodulated output of the system 0hereas the uadrature
signal &
'
(t ) is practically :ero. The in6phase and uadrature signals are then multiplied% resulting
the the product voltage &

(t ) %
&

(t )=
(
A
#
A
0
m(t )
)
2
sin
(
20
e
)
/8
4@.@5
0hich is subseuently passed through a lo0pass filter in order to produce a control voltage for the
V"7% &
E
(t ) % as
&
E
(t )=K sin
(
20
e
)
4@.A5
0hich is a 2" signal proportional to the sine of the phase error 0here K is a constant related to
the filter and V"7 settings. This error detector is .no0n as a sinusoidal error detector% since the
control signal to the V"7 is sinusoidal function of the phase error.
This model for the "ostas P99 can be abstracted for implementation in soft0are and
e?tended for the demodulation of PS/ signals 0ith the addition of decision directed feedbac.. The
bloc. diagram for this P99 is sho0n in 3igure @.+. This model assumes that the comple? input
+A
Figure *.2. Bloc+ diagram of software .ostas );; with decision directed feed#ac+.
signal x| n has already been do0nconverted% filtered% and sampled by the S2#8s #3 front end.
Initially% 0e assume that the P99 is at phase

0| n . The input signal x| n is rotated% via comple?


multiplication% to form intermediate signal a| n .
a| n=x| ne
j

0| n
4@.;5
This is analogous to the uadrature mi?er and baseband filters of the original "ostas P99. "omple?
signal a| n is then passed to the decision bloc. that maps the intermediate signal to a demodulated
PS/ symbol d | n . 3or a $PS/ signal% this decision is formulated as
d | n=

1+ j 0, +a| n0
1+ j 0, +a| n0
4@.-5
0here +a| n denotes the real part of a| n . (fter this step% both a| n and d | n are used to
create the error signal e| n % by evaluating1
e| n=5a| n d (| n
4@.B5
0here d *| n is the comple? con<ugate of d | n and 5 represents ta.ing the imaginary part.
Investigating further% 0e find that the argument of 5 in euation 4@.B5 can be simplified as
a| nd (| n=a| ne
ja| n
d | ne
js| n
=a| nd | ne
j (a| nd | n)
=a| nd | n| cos(a| nd | n)+ j sin (a| nd | n)
4@.C5
0hich after isolating the imaginary part results in
+;
Figure *.,. !"ample );; ac-uisition with the presence of B)S4 modulation.
e| n=a| nd | nsin (a| nd | n) 4@.),5
0here 0e find that the error signal is therefore proportional to the sine of the phase difference
bet0een the received symbol a| n and its demodulated counterpart d | n . Note that the error
signal is also influenced by the amplitude of the received signal% 0hich means that unless the
received signal is hard6limited e| n 0ill be affected by noise on both the amplitude and phase of
the input signal.
This error formulation is 0here the term Idecision6directed feedbac.J stems from N unli.e
the original "ostas P99 0here the error signal 0as a function of the phase error bet0een the
received signal8s carrier and the P998s V"7% the error signal here is both a function of the phase
error bet0een the received signal and the P99 and the difference bet0een the received signal8s phase
and the demodulated symbol% as follo0s.
e| n sin (a| nd | n) sin(x| n

0| nd | n)
4@.))5
2ecision6directed feedbac. is also 0hat induces the !n ambiguities on phase trac.ed by the P99.
'hen used 0ith any PS/ signal% the ambiguity on the output signal 0ill be related to the rotational
symmetry of the signal constellation. (n e?ample of P99 acuisition is sho0n in 3igure @.* for a
$PS/ modulated signal. The line labeled ITrue "arrier PhaseJ represents the phase of the received
signal 0ithout modulation% and the dots labeled IInput Signal PhaseJ represent samples of the actual
modulated signal8s phase. 'e can see that although the true signal8s phase is at 2n/ 3 % the P99
trac.s to n/ 3 as the true carrier phase is in the second uadrant. Moreover% if 0e 0ished to use
+-
Figure *.*. !"ample );; ac-uisition with var$ing loop filter gain.
this P99 to demodulate an (M signal% 0e 0ould simply force the output of the decision bloc.%
d | n % to be a constant )% 0hich 0ould simply eliminate the presence of the decision feedbac.
resulting in
e| n sin (a| n0)sin(a| n )sin (x| n

0| n)
4@.)+5
0hich is analogous to the V"7 control signal given in euation 4@.A5 and is also a sinusoidal error
detector.
(fter the error detector% the signal eKnL is passed through a first order II# lo0pass filter 0ith
the transfer function
H
)oo*
| z
1
=

1z
1
, 1 4@.)*5
0here is the update parameter for the filter. It controls the filter8s band0idth and subseuently
the time it ta.es to acuire the signal. This filter can be implemented in soft0are by simply
evaluating the difference euation1

0| n+1=e| n+

0| n
4@.)@5
3igure @.@ provides an e?ample of the P99 output phase 0hen presented 0ith an unmodulated
signal 0ith a phase of n/ 2 for values of bet0een +
6+
and +
6A
. 'e can see that as the filter gain
decreases% the P99 ta.es a longer time to acuire the signal. 3urthermore% 0e 0ould e?pect that the
variance of the P99 output 0ould decrease 0ith filter gain as the loop filter8s band0idth also
decreases% thus reducing the noise po0er.
*.1.2 )arallel );; 6peration with Antenna Switching
7ne important consideration for the operation of the P99 is that the input to the P99 is
discontinuous in time. (s stated in "hapter *% the signals from each antenna in the array are routed
through an #3 s0itching net0or. 0hich acts as a multiple?er in time that presents the receiver 0ith
a single #3 signal. 3ortunately% s0itching is completely under the 23 system8s control% so the d0ell
time on each antenna is .no0n. In order to preserve the parallel operation of the P99s% the state of
the m6th P99 is stored at the end of that antenna8s d0ell period and the stored state of the ne?t P99
is retrieved to initiali:e the P99 for the ne?t antenna8s data. This allo0s the P99 to trac. the phase
of the received signal at each antenna over time N the P99s do not have to reacuire at every array
s0eep% 0hich allo0s for the selection of a P99 gain that results in an acuisition time that is long
relative to each data bloc..
+B
3igure @.A is an e?ample plot of the P99 acuisition acuiring and trac.ing 0ith an input
signal from an arbitrary *6element antenna array over t0o successive array s0eeps. "onsider the line
labeled IP99 O) 7utput%J 0hich is the phase output of the first P99 over time. 'e can see that
during the first ;@ samples% the P99 acuires the input signal phase% starting from its initial value of
:ero. (t the ;@
th
sample% the value of the P99 is stored and the P99 is reinitiali:ed for the second
antenna8s signal. 'hen the second data bloc. from the first antenna arrives at sample )C+% 0e can
see that the value of the first P99 is then reloaded and the P99 is thus able to continue trac.ing the
received signal8s phase from its previous value instead of reacuiring the signal.
*.1., ?onlinear to ;inear );;
7ne dra0bac. to the P99 model chosen is that although although it is conceptually simple%
implementation in a real6time 23 system can be problematic due to the number of mathematical
operations reuired to update the P99 for each sample. 3or e?ample% the P998s loop filter outputs a
single real phase value. In order to perform the initial phase rotation of the input signal% this phase
value 0as converted to a comple? value through through the "7#2I" algorithm. 2uring initial
implementation of the algorithm% it 0as found that the curve fit algorithm reuires a significant
proportion of the processing and that in order to support sustained real6time 23 estimation% the
computational overhead related to P99 operation needed to be reduced. Therefore% the P99
needed to be either modified or replaced 0ith a more efficient model to satisfy this goal.
3ortunately% an overloo.ed aspect of the target implementation platform offered an attractive
+C
Figure *.0. !"ample parallel );; operation.
solution N every comple? data sample 0as available in both rectangular 4I and D5 and polar
4magnitude and phase5 form. This meant that instead of using a P99 model that heavily relied on
comple? multiplication and a sinusoidal error detector a simpler model could be used 0ith linear
error detectors that considered only the received signal8s phase.
To this end% t0o error detectors 0ere considered1 a sa0tooth detector described by1
e
sa+
| n=

e
i n
| n+n, 2n<e
i n
| nn
e
i n
| n , n<e
i n
| n<n
e
i n
| nn, ne
i n
| n<2n
4@.)A5
and a triangular error detector described by1
e
tri
| n=

ne
i n
| n , 3n/ 2<e
i n
| nn/ 2
e
i n
| n , n/ 2<e
i n
| n<n/ 2
ne
i n
| n , n/ 2e
i n
| n<3n/ 2
4@.);5
The input6output characteristics for these t0o error detectors along 0ith the sinusoidal error
detector are plotted in 3igure @.;. Note that 0hen the P998s phase error is less than n/8 % the three
error detectors are nearly euivalent as the input6output relationaship of the sinusoidal detector is
appro?imately linear 0hen the absolute value of the phase error is less than n/8 . 3igure @.- is a
comparison of both the phase output and internal error signal 4i.e. the signal presented to the loop
filter5 during the acuisition of an unmodulated input signal at a constant phase of 7n/8 for a P99
0ith each of the three error detectors.
*,
Figure *.2. Sinusoidal and linear error detector characteristics.
7bserve that the sa0tooth P99 acuires the signal8s phase faster than both the sinusoidal
and triangular detectors. This is due to the upper limit imposed on the error signal by the sinusoidal
and triangular P99s. 'e can see from the plot of the error signals that initially e
tri
|0 is eual to
the input phase value of 7n/8 . #eferring to the sa0tooth characteristic in 3igure @.;% 0e can see
that an initial P99 phase error 0ill essentially pass through the detector unchanged 0hereas the
triangular and sa0tooth detectors 0ill pass it as n/8 and sin(n/ 8) % respectively. 3urthermore%
observe that the acuisition of the triangular P99 starts out similar to the sinusoidal P99 but the
accelerates slightly. 'e can see that the triangular P998s error signal is not bounded as tightly as that
of the sinusoidal P99 and therefore can acuire signals slightly faster than the sinusoidal given the
right conditions.
The revised model for the P99 0ith a linear error detector is sho0n in 3igure @.B. The
triangular error detector 0as chosen due to its similarity to the sinusoidal error detector. In cases
0ith e?cessive noise% the sa0tooth error detector cause problems 0ith acuisition and trac.ing due
to its 0ider output range. It is still included in the P99 model for practical reasons N it simplifies the
implementation of the triangular error detector by limiting the input to the latter to !n instead of
the possible !2n. In practice% the performance of the P99 0ith the triangular error detector is
not substantially different from that of the acuisition and trac.ing capabilities. The only noticeable
difference is in the computational reuirements. Note also in the bloc. diagram that the initial step
*)
Figure *.5. .omparison of );; ac-uisition @left< and internal error signals for .ostas );; with different error
detectors.
in the P99 has changed to ISubtract

0
J to reflect that the signal constellation rotation is no0
performed using polar coordinates. 9i.e0ise% the PS/ decision bloc. no0 produces its
demodulated symbol outputs in polar form. These simple changes to the P99 can offer
computational performance gains by removing all multiplication operations from the P99% a
measurement of 0hich 0ill be presented in "hapter ;.
*.1.* Fre-uenc$ 6ffset Removal
7ne other hurdle encountered in the initial algorithm implementation 0as the presence of a
residual freuency offset bet0een the transmitter and receiver due to calibration differences bet0een
the 97s of the euipment. This can cause t0o main problems 0hen trac.ing the phase of the
received signal. 3irst% if the magnitude of the freuency offset is large enough% in general greater
than tens of Hert: dependent on sampling freuency% the drift in phase of the received signal during
*+
Figure *.9. ;inear .ostas );; #loc+ diagram.
Figure *.:. !"ample of phase at antenna arra$ output with and without a 2+H% fre-uenc$ offset.
one array s0eep 0ill s.e0 the phase input to the P99 farther than can be adeuately trac.ed by the
P99. If the freuency offset is sufficiently small it 0ill appear simply as a constant offset in the P99
data% 0hich can easily be dealt 0ith. Second% the first order loop filter is in general insufficient to
trac. a freuency shift due to the filter8s poor ramp response. Initially% this 0as overcome through
the use of a freuency reference signal bet0een the transmitter and receiver that allo0ed the receiver
to loc. its internal 97s to a ),MH: reference generated at the transmitter. Unfortunately% this setup
can not be e?pected in a real 0orld situation so another solution needed to be devised.
'e model the residual freuency offset on the signal as1
s (t )=m(t ) e
j 2nA f t
e
j 0
o
4@.)-5
0here A f is the freuency offset bet0een the carrier freuency and receiver 97. The output of
the m6th antenna is then1
x
m
(t )=Ae
j
|
0
o
+2nA f t+
2nr
\
cos
(
2nm
M

)
+nn

, n=0,1
4@.)B5
9i.e0ise% the corresponding phase input to the m6th P99 is1
0
m
(t )=0
o
+2nA f t +
2nr
\
cos
(
2nm
M

)
+nn, n=0,1 4@.)C5
0hich is similar to the original e?pression for the phase input to the P99 0ith the addition of the
time6dependent freuency term 2nA f t . 3igure @.C provides an e?ample of the received phase at
the output of the antenna array for t0o signals1 one 0ithout a freuency offset and one 0ith a
**
Figure *.17. !"ample phase ac-uisition for a .ostas );; with 1
st
or 2
nd
order loop filter.
freuency offset of A,,H:% both 0ith the same 27(. The antenna array s0itches every ;@ samples.
7bserve that in the signal 0ith the freuency offset% the discontinuity at the point of antenna
s0itching 4i.e. !very ;@
th
sample5 is eual in magnitude the the corresponding discontinuities in the
signal that does not contain a freuency offset. This means that although the received phase is time6
varying% the differential phase shifts imposed on the signal by the antenna s0itching are preserved.
Therefore% if 0e can remove the time varying component of the received signal8s phase 0e should
still be able to measure the differential phase shifts.
In order to remove the freuency offset on a signal% the first order P99 loop filter can
simply be replaced 0ith a second order filter% 0hich 0ill successfully trac. the freuency offset.
3igure @.), provides an e?ample of the acuisition of an unmodulated received signal 0ith a +/H:
freuency offset of t0o separate P99s% one 0ith a first order loop filter and the other 0ith a second
order filter. It is obvious that the first order P99 can not trac. the freuency offset 0hereas the
second order P99 has no problem. Unfortunately% substituting a second order filter in the P99 does
not solve the entire problem. The second order P99 0ill remove the freuency shift on the signal
but it 0ill also hide the constant phase information in 0hich 0e are interested.
Therefore% a method must be devised 0hich 0ill allo0 for removal of the freuency offset
0ithout destroying the underlying phase relationship bet0een the antennas. The selected approach
is to estimate the freuency offset on the signal using the P99 output data from an entire array
s0eep and then use that estimate to preprocess the received data before P99 processing to
accommodate the algorithm8s original design% as sho0n in 3igure @.)). 3igure @.)+ illustrates the
intended result of the freuency estimation process. The line labeled I A f #emoval VectorJ is a
plot of the vector used to remove the freuency offset on the data given perfect .no0ledge of the
freuency offset. Note that it is continuous across the entire array s0eep N this is necessary to
preserve the phase discontinuities as the antenna array is s0itched. 'hen this vector is subtracted
*@
Figure *.11. Fre-uenc$ removal overview.
from the received signal8s phase% 0e are left 0ith the signal labeled I#? Phase 0Mo A f %J 0hich
contains the differential phase information in 0hich 0e are interested. 3urthermore% a second order
P99 is not needed to trac. the resulting signal8s phase as there is no longer a freuency component.
The method for estimating the freuency offset can be summari:ed as follo0s1
). Initially% use a second order filter in the P99 0ith a 0ide band0idth.
+. #ecord P99 output for an entire array s0eep.
*. #un offset estimator1
a5 (fter allo0ing for P99 acuisition% differentiate the P99 output to determine slope of
received signal phase.
b5 3ilter 0ith moving average filter to determine average slope during entire array s0eep.
c5 (t the end of the array s0eep% update freuency offset accumulation filter% 0hich is
another moving average filter 0ith a very narro0 band0idth.
@. "reate freuency removal vector from current freuency offset estimate.
A. #epeat steps )6@ for a predetermined number of array s0eeps to allo0 for freuency
estimator acuisition.
;. (fter freuency estimate stabili:es% use a first order filter in the P99 0ith a narro0
band0idth for more precise phase measurements. "ontinue evaluating steps )6@ for fine
tuning of the freuency offset estimate.
*A
Figure *.12. !"ample );; ac-uisition of signal with fre-uenc$ offset removed given perfect +nowledge of offset.
3igure @.)* sho0s the detailed bloc. diagram of the freuency offset estimator. (s
discussed previously% freuency offset on the received signal 0ill appear as a constant slope to the
received signal8s phase. In order to estimate that slope% 0e first differentiate the P998s output after it
has acuired the freuency offset. Since freuency is the derivative of phase% differentiating the
phase 0ill return a value proportional to the freuency offset present. Specifically% after
differentiation 0e get1

0
m
| n

0
m
| n1=2nA f ( t | nt | n )=2nA f t
s
4@.+,5
0here t
s
is the time bet0een samples. The first filter% labeled IShort Term (veraging 9P3%J is an
e?ponential 0eighted moving average filter% the purpose of 0hich is to average the output of the
differentiator during the entire array s0eep. Its transfer function is1
H( z
1
)=

1
1(1
1
) z
1
4@.+)5
0hich can alternatively be e?pressed by the difference euation1
y| n=
1
x| n+(1
1
) y| n1=
1
( x| ny| n1)+y| n1 4@.++5
0here
1
is the gain of the filter. 'e can see that the updated state of this filter is a function of the
difference bet0een the filter8s previous state and the input value% x| ny| n1 . The second
filter% labeled I9ong Term (ccumulating 9P3%J is another averaging lo0pass filter 0ith the transfer
function1
H( z
1
)=

2
1z
1
4@.+*5
and corresponding impulse response1
y| n=
1
x| n+y| n1 4@.+@5
0here
2
is again the gain of this filter. This filter ta.es a slightly different form that the short term
averaging filter because its goal is to .eep trac. of the freuency offset during the entire time the
system is running. This means that the first filter is actually estimating the IleftoverJ freuency
*;
Figure *.1,. &etail fre-uenc$ estimator #loc+ diagram.
component of the received data after it has been preprocessed to remove the estimated freuency
offset and is providing the second filter 0ith the difference bet0een the freuency offset estimate
and the leftover offset. 2uring steady state operation% this 0ill allo0 for constant fine6tuning of the
offset estimate to account for any possible long term drift in the freuency of the received signal
relative to the receiver8s 97s.
3igure @.)@ plots the freuency offset estimator8s output error% 0hich is the difference
bet0een the output of the long term lo0pass filter and true freuency offset% plotted per array s0eep
for a total of +A; array s0eeps and four different freuency offsets 0ith an SN# of ),d$. 3or the
first ;@ s0eeps% the P99 is operated in second order mode to provide proper acuisition of the
freuency component of the signal. (fter the ;@
th
iteration% the P99 is s0itched to the original first
order mode for more reliable phase trac.ing. 7bserve that after the ;@
th
sample% the freuency
estimator stays 0ithin P+,H: independent of the true magnitude magnitude of the freuency offset.
&.% #, *lement Curve Fit Algorithm
*.2.1 otivation for a ?ew .urve Fit Algorithm
7riginally% this algorithm 0as designed to be used 0ith an e?isting B6element uniform
circular array. 'hen it 0as decided to investigate the use of a );6element uniform circular array
0ith this 23 algorithm to lay the ground0or. for future research into multipath issues% 0e reali:ed
that the curve fit algorithm used 0ith the B6element array does not scale nicely to ); elements.
*-
Figure *.1*. !"ample plot of error in fre-uenc$ offset estimate per arra$ sweep inde".
Therefore% a ne0 algorithm 0as designed to ta.e advantage of certain properties of the phase
relationships bet0een antennas 0hen there are ); elements in the array.
The original curve fit algorithm compared the set of +
B
possible first difference curves from
the B given data points against a target database of ); to *+ theoretical curves by determining the
mean suared error bet0een each given and target difference curves. 'hen scaling this algorithm to
0or. 0ith a ); element array% 0e first recogni:e that the possible number of permutations of the
measured first difference data is +
);
% or ;AA*;. This represents an e?ponential increase in the
number of calculations to be performed in order to select the true first difference curve. In order to
further e?plore the effect of increasing the number of antennas used in the system% 0e can estimate
the number of additions and multiplications the system 0ould need to perform to produce its MS!
surface as
, of Additions=(2M1)2
M
N
4@.+A5
, of M./ti*/%ations=(M+1)2
M
N
4@.+;5
Tota/ , of o*erations=3M 2
M
N
4@.+-5
0here is the number of antennas and ? is the number of curves in the target database. 3rom
euation @.+-% 0e can compare the total operation count reuired for the t0o array configurations to
find that the curve fit algorithm 0ith ); antennas reuires A)+ times as many operations% as derived
belo01
, of 0*erations, M=16
, of 0*erations, M=8
=
3162
16
N
382
8
N
=
2
20
2
11
=2
9
4@.+B5
Table @.) is a summary of the operation count for t0o values of both and ?. 'e can see
that that the total number of operations reuired to evaluate the algorithm 0ith ); antennas is three
orders of magnitude higher than reuired 0ith B antennas. 3urthermore% if 0e assume that each
operation 0ould reuire one cloc. cycle to perform% the );6element version 0ould ta.e A)+ times
*B
Ta#le *.1. .urve fit S! operation count.
?G); ?G*+

O of
(dditions
O of Mults.
Time #euired Q
);,MH: 4ms5
O of
(dditions
O of Mults.
Time #euired Q
);,MH: 4ms5
B ;).@e* *;.Ce* ,.ABB; )++.Ce* -*.-e* ).)--
); *+.Ae; )-.Be; *)@.A ;A.,e; *A.-e; ;+C.)
longer than the B element version% as predicted by euation @.+B. To put these values into
perspective% the algorithm as implemented ta.es ;@ samples per antenna at a sample rate of )+A.sps%
resulting in a d0ell time on any one antenna of ,.A)+ms and a total time of @.,C;ms to sample B
antennas or B.)C+ms to sample ); antennas. 3rom this estimation% the curve fit algorithm for B
antennas 0ith a target database of ); curves 0ould ta.e appro?imately ,.ABB;ms% the computation
of 0hich can be easily distributed over one array s0eep. The same situation 0ith ); antennas 0ould
reuire *)@.Ams% 0hich is considerably greater than the s0eep time. This algorithm 0ould ta.e over
*B array s0eeps% and 0ould drop the total number of 27( estimates produced per second to *.+.
7bviously% a ne0 approach needs to be found.
7ne factor that must be ta.en into account 0hen comparing the B and ); element versions
of the original MS!6based curve fit algorithm is the amplitude of the first difference curve. #ecall
from euation +C that the amplitude of the first difference curve ta.es the form
A

0
max
=
4nr
\
sin
(
n
M
)
4@.+C5
'e must also reali:e that the array radius is related to the spacing of the elements by
r=x
sin ( n/ 2n/ M )
sin( 2n/ M )
4@.*,5
0here " is the inter6element spacing. The ma?imum amplitudes of the P99 output and first
difference curve for both the B and ); element arrays are plotted in 3igure @.)A. 'e can see that for
the same antenna spacing% the ma?imum amplitude of the first difference curve for the B and );6
element arrays is nearly identical. This means that 0ith similar inter6element spacing% the differential
phase bet0een antenna elements 0ill stay the same regardless of the number of antennas and that
increasing the number of antennas 0hile maintaining the same inter6element spacing merely has the
effect of increasing the sampling freuency of the first difference curve. 'ith this in mind% 0e can
conclude that the ambiguities related to modulation 0ill not affect the data any differently than 0ith
the B6element array for the same antenna spacing.
*.2.2 The 12(element .urve Fit Algorithm
The first step in designing the ne0 algorithm 0as to consider the second difference of the
P99 output data 4or% the first difference of the first difference data5% given as
A
2

0
m
=A

0
m
A

0
m1
4@.*)5
0hich is e?actly the same form as the e?pression for the first difference 4refer to euation +;5. $y
*C
substituting the e?pression for the first difference curve given in euation +C% 0e get1
A
2
0
m
=
4nr
\
sin
(
n
M
)|
sin
(
2nm
M

n
M
+
)
sin
(
2n(m1)
M

n
M
+
)

4@.*+5
A
2

0
m
=
4nr
\
sin
(
n
M
)|
sin
(
2nm
M

n
M
+
)
sin
(
2nm
M

3n
M
+
)
4@.**5
$y using the trigonometric relation1
sinosin =2sin
(
o
2
)
cos
(
o+
2
)
4@.*@5
0e can further simplify euation A- and e?press it as1
A
2

0
m
=
8nr
\
sin
2
(
n
M
)
cos
(
2nm
M

2n
M

)
4@.*A5
(s e?pected% the second difference curve again ta.es the form of one full period of a sinusoid the
phase of 0hich is a function of the 27( of the received signal. 3rom this derivation% 0e find that
the ma?imum amplitude of the second difference curve is1
A
2

0
max
=
8nr
\
sin
2
(
n
M
)
4@.*;5
This relation% along 0ith the ma?imum amplitude for the first difference curves% is plotted in 3igure
@.); as a function of inter6element spacing. !ven though the first difference curves measured from
both the B and ); element arrays are nearly identical% the higher effective sampling rate of the );
element difference curve translates into a much smaller amplitude for the second difference curve.
@,
Figure *.10. );; output and first difference curve amplitudes relative to antenna arra$ inter(element spacing.
Moreover% the amplitude of the second difference curve 0ith G); is less than 0.4n for inter6
elements spacings of less than 0.5\ . This information is the basis for the ne0 curve fit algorithm.
(s stated previously% every measured element of the first difference data vector has a
possible ambiguity of !n due to the acuisition of the P99 in $PS/ modulation. $ut for the );
element array% 0e .no0 that the m6th element of the first difference curve can be no more than
0.4n a0ay from the 4m6)56th element. The ne0 curve fit algorithm is as follo0s1
). 3or the second through );
th
elements in the first difference vector% calculate and store those
values8 possible replications at !n and !2n .
+. Starting 0ith the first element of the measured first difference vector1
a5 Measure the difference bet0een it and the five possible values for the second element 4
A0
2
% A0
2
!n % and A0
2
!2n 5. These are the temporary second difference values.
b5 Ta.e the first difference value corresponding to the smallest temporary second
difference value and select it as the ItrueJ measured first difference value.
*. #epeat step + for elements t0o through )A.
3igure @.)- sho0s an e?ample of this algorithm. The blac. line labeled I A0 % Pre "urve
3itJ represents the );6element measured first difference data. There are obvious discontinuities in
this data% the first of 0hich occurring bet0een sample + and *. The values labeled I A0 Possible
ValuesJ% plotted in green% are the @ e?tra possible values for the first difference data% determined in
step ) of the algorithm. The lines labeled IValid A0 #angeJ reflect the second difference
@)
Figure *.12. )lot of ma"imum amplitude of first and second difference curves relative to inter(element spacing.
tolerance of !0.4n on the first difference data. The first difference values that lie in this range
0ill satisfy the reuirements for selection in step +b of the algorithm% namely have the smallest
associated second difference. This algorithm is similar to tracing through a trellis% as in the Viterbi
algorithm% measuring the minimum distance bet0een bet0een measured data points to determine
the final difference curve.
To evaluate this algorithm% )A, additions and subtractions must be performed along 0ith the
sorting of )A A6element arrays to produce the final first difference curve. This is obviously an
incredible reduction in the computational reuirements of the 23 algorithm overall. This does not
come 0ithout a price though N reliance on successive differentiation of the phase data 0ill introduce
an increasing amount of noise in the 27( estimates. If 0e assume that the P99 output values are
independent identically distributed random variables% each differentiation of the data 0ill double the
variance of the result. This means that the first difference data 0ill have a variance t0ice that of the
P99 output values% and the second difference data 0ill have a variance four times the P99 output.
(t moderate to high SN#s the resulting variance of the second difference data 0ould still be rather
small% but lo0 SN# conditions can possibly hurt this curve fit algorithm more than the original B6
element version. 'e 0ill e?plore the impact of this through simulation in chapter A.
@+
Figure *.15. !"ample first difference data #efore and after processing #$ the 12(element curve fit algorithm.
&.' DF S!stem *rror (erformance *nhancements
*.,.1 otivation
It is an unfortunate reality that any digital communication system 0ill ma.e errors% and great
effort goes into the design of these systems to reduce the effect of these errors on overall system
performance. "onsider 3igure @.)B% 0hich is a set of three scatter plots of the estimated 27(
samples for the P99 algorithm 0ith an B element array for a SN# values of *d$. These scatter plots
are produced by simulating the 23 algorithm to produce a number of 27( estimates for various
true 27( values from ,R to *;,R% and the error in each of these 27( estimates is plotted against
the true 27( value. 3or this plot% +A; estimates 0ere produced for true 27( values that range
from ,R to *A-R in *R increments. In this e?ample% 0e can see that there is a significant amount of
27( estimates 0ith little error% indicated by the band of points about :ero on the y6a?is. Ho0ever
there are numerous estimates 0ith an error magnitude that is uite large. 3rom these bands of
erroneous 27( estimates% 0e find that under poor SN# conditions% the P99 algorithm 0ith B
elements is not only li.ely to ma.e errors% but those errors 0ill significantly deviate from the true
value. In this plot% the ma<ority of the erroneous estimates cause errors in e?cess of C,R or more in
magnitude. This raises t0o uestions. 3irst% 0hat can be done to decrease the influence of 27(
estimates 0ith significant error on the #MS error of the system% and second% is it possible to detect
0hen the system has made such an error in order to flag that estimate as erroneousS
@*
Figure *.19. !"ample &6A !stimate !rror Scatter plots for the 9 element );; algorithm at ,dB S?R.
*.,.2 &6A !stimate Filtering
In order to enhance the #MS error performance of the 23 system% a lo0pass filter 0as
added to the output of the 27( estimator. (ny lo0pass filter 0ould suffice% but for
implementation an e?ponential 0eighted moving average filter 0as chosen due to its simplicity and
ease of implementation. (s stated previously% such a filter can be described by the transfer function
H(%
)
)=

)()) %
)
4@.*-5
3rom a practical perspective% this filter is implemented by evaluating1

63T
| n+)=

| n +())

63T
| n 4@.*B5
This has the effect of reducing the influence on #MS error measurements of 27( estimates
produced 0ith a large error magnitude because that error 0ill effectively be scaled do0n by the value
of chosen.
*.,., &6A !stimate Aualit$ etric
(lthough filtering 0ill help reduce the effects of large estimate error% it still does not help us
ma.e reasonable decisions about 0hich estimate 0as actually Igood.J "onseuently% a metric 0as
developed that attempts to measure the integrity of the 27( estimation process. "onsider the final
step in the 27( estimation process% in 0hich the 23T of a data series is calculated. 3or a 27(
estimate in the absence of noise% this data series 0ill describe one full period of a sine 0ave% but if
there is a large amount of noise it is possible that the first difference data 0ill be a noisy% distorted
version of the true data. Therefore% the 27( estimate uality metric 0as defined to measure the
amount of noise and distortion present on the first difference data using the magnitude of a subset
of the 23T bins of that data set1
et

| n =
F | )

m=*
/ +
F | m
4@.*C5
0here $ |1 is the 23T bin used to produce the 27( estimate and the denominator is the sum of
the rest of positive freuency portion of the 23T. Since the data set in uestion is purely real% the
negative freuency portion is disregarded as it is a mirror image of the positive freuencies.
3urthermore% the first 23T bin is also ignored as it only corresponds to a 2" offset on the first
difference data% 0hich has no bearing on the 27( estimate in any case.
This metric calculation can be vie0ed in t0o 0ays N on one hand it is simply a simplified
@@
calculation of the SN# of the first difference data% and on the other hand it is also a measure of ho0
closely the first difference data resembles a sinusoid. 3igure @.)C depicts the first difference and
23T data used in the metric calculation for t0o different first different curves produced by the );
element curve fit algorithm. The 23T plots 0ere normali:ed by the magnitude of their largest bin
for comparison purposes. The data labeled I=ood A0 dataJ sho0 the first difference and
subseuent 23T data for a simulation that produced a 27( estimate 0ith very lo0 error 4T)R5. 'e
can see that in the 23T of this seuence% only the bin corresponding to k=1 is of a significant
magnitude% 0hereas the rest of the bins are negligibly small. 7n the other hand% the data labeled
I$ad A0 dataJ produced a 27( estimate 0ith a very large error 4U@AR5 for the same true 27(.
'hen comparing the t0o data sets% it is obvious that the IbadJ data barely resembles a sinusoid
0hereas the IgoodJ data certainly does. The 23T of the IbadJ data contains significant energy in
the entire freuency spectrum relative to the 23T of the IgoodJ data% evidence of the distortion
present in the first difference data.
These t0o e?amples produced metric values of appro?imately +,, and @ for the IgoodJ and
IbadJ data respectively. 3rom observing a large number of 27( estimates and their associated
uality metrics% either simulated or from implementation% a metric threshold% T
Met
% can be
determined that 0ill provide an indication of 0hether a 27( estimate can be considered IgoodJ or
not. If a 27( estimates metric falls belo0 this threshold then that estimate is simply ignored and
@A
Figure *.1:. !"ample 1st difference curves @left< and associated fre-uenc$ transforms @right< to illustrate metric
calculation.
0ill not be considered 0hen calculated performance statistics. 'e call this approach metric6assisted
4M(5 filtering.
*.,.* .om#ined ;owpass and etric(Assisted Filtering Approach
The final step in improving the performance of the 23 system seems obvious N if lo0pass
or M( filtering the data provides an increase in error performance% 0hy not combine themS To
accomplish this% 0e first form a decision based on the value of the uality metric and a set threshold
for the metrics1
d
et
| n=

)% et

| n T
et
,% et

| n T
et
4@.@,5
This threshold can either be a predetermined set value or modified by the operator on the fly to
produce acceptable results. 'ith this decision% 0e can then decide to either evaluate the lo0pass
filter e?pression in euation 4@.*B5 or let the previous filter value remain1

0!T
| n+1=


| n+(1)

0!T
| n , d
Met
| n=1

0!T
| n , d
Met
| n=0
4@.@)5
This approach% 0hich 0e 0ill call M(69P filtering% 0ill provide the benefits of both the lo0pass and
M( filtering approaches N estimates deemed IbadJ by the M( approach 0ill be ignored 0hile the
error related to any IbadJ estimates that cross the metric threshold 0ill be reduced by the lo0pass
filter. These various approaches along 0ith error trends in the B and ); element algorithms 0ill be
e?plored in the ne?t chapter.
@;
Chapter )
Simulation Anal!sis of the (LL DF Algorithm
Presenting the details of any 23 system undoubtedly leads to one uestion1 ho0 0ell does it
0or.S This chapter see.s to ans0er that uestion by presenting the results of a simulated 23
system built on the P99 algorithm in an ('=N channel. The simulations 0ere constructed to
demonstrate the performance of the basic version of the algorithm 0hile varying parameters such as
array radius and P99 gain as 0ell as the effect of the freuency offset estimation and estimate
filtering enhancements presented in chapter @. This chapter also investigates the impact of motion
and a basic t0o6ray multipath channel model on the 27( estimation process.
).# Simulation 5verview
Simulation% data collection% and statistical processing of the P99 algorithm 0ere carried out
using a combination of scripts and functions in Matlab. !?cept for generic operations such as the
23T and ('=N generation% custom functions 0ere 0ritten to model the antenna array and
s0itched output signal% "ostas P99% freuency offset estimation 4if applicable5% and the curve fit
algorithm. ( basic simulation setup is depicted in 3igure A.). ( master simulation control script
0as used to determine runtime system parameters as 0ell as to coordinate calls to the 23 system
simulation function and to store the data from numerous repeated trials of the 23 algorithm.
Typically% a single script 0ould gather estimated 27( and associated uality metric data for a single
version of the algorithm for a set of true 27(s ranging from ,R to *;,R and a set of SN# values.
The simulated data is then stored in a series of Matlab data files categori:ed by parameters such as
number of antenna elements% )
st
order P99 gain% antenna spacing% and freuency offset magnitude
@-
Figure 0.1. 6verview of atla# simulation setup.
for future numerical and graphical analysis.
'hile any number of statistics pertaining to the performance of the system can be
determined from the simulated data files% the most important value is the #MS error performance%
defined for a single SN# value as1
!
RS
=
.

i =)
I

B =)
C
(

| i = B | i )
+
I C
4A.)5
0here

|i , j is the B6th 27( estimate resulting from a simulation 0ith true 27( |i % and I
and C are the number of true and estimated 27(s% respectively% for a single SN# value. The #MS
error of the system is essentially a measure of the standard deviation of the 23 algorithm.
'hen evaluating 23 systems% one must determine an acceptable value for the #MS error of
the system. This value is some0hat sub<ective and depends on numerous factors% such as the
number of #3 channels% installation type% and application. 3or e?ample% multi6channel military 23
systems installed in a fi?ed location typically achieve #MS values of less than ) degree 0hile a mobile
single6channel system is considered acceptable if it offers #MS error performance of ),E. 3or the
purposes of analysis% 0e 0ill consider #MS error values of ),E for moderate SN# values adeuate.
'e also 0ill consider ImoderateJ SN# values to be in the range of ;d$ to )+d$. Most of the
simulations 0ere performed 0ith SN# values that range from )+d$ do0n to ,db in order to
investigate the system performance in lo0 and moderate SN# conditions.
Heretofore the performance differences bet0een the B6element and );6element versions of
the P99 algorithm have not been mentioned. 3or all simulations in this chapter% both versions of
the algorithm 0ere simulated under the e?act same conditions so that 0hile 0e are investigating the
effect of varying parameters on the P99 algorithm in general 0e can simultaneously contrast the
performance of the t0o versions.
).% *rror (erformance vs. (LL "ain
3irst 0e 0ill consider the effect of varying the gain in the P998s first order loop filter on
both versions of the P99 algorithm. To preface this discussion% 0e 0ill also loo. at simulation
results that measure the input6output relationship of the P99 0ith respect to received SN# as 0ell
as the variance of the first difference data relative to the P99 output. (fter that 0e 0ill proceed to
the first real results of simulations designed to measure the #MS error performance of the P99 23
@B
algorithm.
0.2.1 );; 6utput Statistics
In order to determine the variance of the P99 output for a signal received 0ith ('=N%
simulations 0ere used instead of theoretical analysis. This arises from the problem of determining
the distribution of the phase of the received signal. The phase of a comple? =aussian signal is
essentially a function of the uotient of the real and imaginary parts of that signal. This uotient is
given by a "auchy random variable% the mean and variance of 0hich are undefined. 3urther
complicating this problem is the fact that the arctangent of this uotient is bounded N using a @
uadrant arctangent function 0ith this uotient 0ill yield an output bounded by !n . $ut our
investigation does not necessarily reuire a rigorous mathematical e?pression for this distribution% a
simulation e?periment 0ill suffice. To this end% the P99 itself 0as simulated at each SN# and filter
gain value by passing + parallel seuences of around @ million comple? input samples 0ith a .no0n
e?pected phase in order to produce a reasonable estimate of the variance of the P99 output 0ith an
adeuate allo0ance for P99 acuisition. 3urthermore% the difference bet0een the t0o parallel
output seuences 0as ta.en to provide an estimate of the e?pected variance increase incurred by the
differentiation of the P99 output data to produce the first difference curve. If 0e assume that the
outputs of t0o parallel P99s are identical independently distributed random variables% at least 0ith
respect to variance% then the difference of those t0o outputs 0ill have a variance eual to t0ice that
of the P99 output.
3igure A.+a is a plot of the standard deviation of the P99 output against the SN# of the
received signal for the first6order "ostas P99 0ith varying filter gain. It is e?pected that as the P99
gain decreases% the standard deviation of the filter output 0ill decrease due to the reduction in
band0idth and resulting po0er out of the filter. 'e can see that as the filter gain is decreased% the
standard deviation of the P99 output undergoes a corresponding decrease as e?pected. 3igure A.+b
is a plot of the mean error of the P99 output for each value of the filter gain. 'e can see the mean
is consistently close to :ero for all values of SN# and filter gain. This is to be e?pected% as the P99
loop filter is a lo0pass filter that 0ill effectively average the input signal. 3igure A.*a is a plot of the
standard deviation of the P99 output and the subseuent first difference data. 3igure A.*b plots the
variance of the first difference data normali:ed by the P99 output. 'e see that these normali:ed
values are consistently near the value +% 0hich is 0hat 0e 0ould e?pect as the result of the addition
@C
A,
Figure 0.2. );; )erformance plotsD );; output standard deviation vs. received S?R @a= left< and mean error of
the );; output @#= right<.
Figure 0.,. Further plots of simulated );; performanceD );; output and 1
st
difference standard deviation relative
vs. received S?R @a= left< and 1
st
difference variance relative to );; output variance vs. S?R @#= right<.
Figure 0.*. Simulated &6A estimate RS error of the 9(element @a= left< and 12(element @#= right< versions of the
);; &F algorithm with var$ing );; gain.
or subtraction of t0o independent identically distributed random variables 0ill have t0ice the
variance.
0.2.2 !ffect on RS !rror )erformance
3igures A.@a and A.@b plot the 27( estimate #MS error in both versions of the P99 23
algorithm for 0ith varying P99 filter gain and an inter6element spacing of 0.4\ . 'e can see that as
the gain of the filter decreases% the #MS error of both 23 systems decreases. (lso note that for all
but the smallest values of the B6element algorithm outperforms the );6element version. This is
contrary to 0hat is typically e?pected of 23 systems% that antenna arrays 0ith more elements in
general offer higher performance because the system has more information about the received
signal. 3or this algorithm though% the curve6fit algorithm for the );6element version is actually a
dra0bac. because the nature of its operation is more sensitive to noise because it relies on both the
first and second difference of the P99 data. (s seen in the previous section the variance of the
phase data 0ill double 0ith each successive differentiation% 0hich means that the information used
by the );6element curve fit algorithm is sub<ect to a higher noise level.
'hen considering the general #MS error reuirement for a single6channel 23 system laid
out at the beginning of this chapter% 0e can conclude that the B6element algorithm meets
e?pectations 0hen the P99 gain is lo0er than +
6*
. 3or the );6element algorithm% a filter gain of less
than +
6@
is acceptable. Therefore% in the selection of filter gain 0e must 0eigh the benefits of
reduced estimate error variance 0ith P99 acuisition time. 9ater in this chapter 0e 0ill see if the
addition of 27( estimate filtering enhances system performance for larger values of the P99 filter
gain.
).' *rror (erformance vs. Antenna Spacing
The second parameter considered for variation 0as that of the inter6element spacing in the
antenna array relative to 0avelength. Initial implementation of the algorithm K)L%K+L%K*L%K@L utili:ed a
pree?isting B6element array that 0as originally designed for operation at +=H: K)-L. (t this
freuency% the elements 0ere spaced at e?actly \/ 2 % resulting in an array radius of 0.65\ .
Unfortunately% the performance of the implemented system 0as considerably 0orse than that of the
simulated system even even 0hen the SN# 0as +,d$ or more. #ecall from 3igure @.)@ that the
ma?imum amplitude of the first difference curves gro0s linearly 0ith inter6element spacing. (s the
spacing approaches \/ 2 % the first difference amplitude approaches n . 2uring the differentiation
A)
process% calculated first difference points are restricted to the region n<A0
m
<n and for the
curve fit algorithm 0e only consider that calculated point and only one other possible value% either
A0+n or A0n . 'ith any amount of noise in the system% it is highly li.ely that the calculated
first difference point and its secondary value 0ill both be in error if the true first difference value is
close or eual to n . Therefore% if neither of the calculated values for A0 are correct the curve fit
algorithm 0ill obviously not produce a correct estimate of the first difference curve. !arly
simulations compensated for this by allo0ing for up to three separate values for each first difference
point 0hereas the implemented version of the algorithm did not in order to reduce the
computational load. This 0as compensated for by reducing the freuency used for testing. (s the
operating freuency is reduced% the 0avelength of the signal increases and the corresponding inter6
element spacing and array radius increase because the physical dimensions of the array have not
changed. The final freuency used 0as ).A-,-=H: because at that freuency the array radius is
eual to \/ 2 . The corresponding inter6element spacing 0as therefore reduced to 0.38\ .
3igures A.Aa and A.Ab sho0 the simulated #MS error performance of both versions of the
P99 algorithm for inter6element spacings that range from 0.35\ to 0.65\ 0ith a P99 gain of +
6*
.
3or the B6element version% performance obviously degrades as the spacing increases and that for
spacings greater than \/ 2 % the system appears to be practically useless. Moreover% a spacing of
\/ 2 definitely appears to be a critical point% 0here it begins to cross from acceptable to
unacceptable performance. This represents a model of the initial implementation8s operating
conditions. In contrast% the );6element version e?periences modest performance decreases as the
spacing gro0s.
These performance differences result from the difference bet0een the t0o versions8 curve fit
algorithms and their treatment of the first difference data. (s described in the preceding paragraph%
the B6element curve6fit algorithm can fail 0hen the amplitude of the first difference curve
approaches n . 7nce the e?pected amplitude e?ceeds n it is guaranteed that the curve fit
algorithm 0ill not produce meaningful results. This can be compensated for by e?panding the
number of curves considered during the curve fit algorithm. 3or e?ample% 0e could consider the
measured first difference point for each antenna and that point shifted by both +n and n .
This 0ould increase the number of candidate first difference curves from 2
8
=256 to 3
8
=6561 %
0hich represents a significant increase in the amount of time needed to evaluate the curve fit
A+
A*
Figure 0.0. Simulated RS error performance of the 9(element @left< and 12(element @right< versions of the );;
&F algorithm with var$ing inter(element spacing.
Figure 0.2. !"ample fre-uenc$ offset estimate ac-uisition and trac+ing for various fre-uenc$ offsets for a signal
received with 17dB S?R.
Figure 0.5. !"ample estimated &6A for );; algorithm with fre-uenc$ offset estimation during offset ac-uisition
and trac+ing for various fre-uenc$ offsets for a signal received with 17dB S?R.
algorithm. The );6element curve fit algorithm is not necessarily sub<ect to these same constraints.
'hile the first difference data for this version is bounded to 0ithin !n % the ma?imum amplitude
of the second difference data does not approach n until the inter6element spacing approaches
0.65n at 0hich point this version 0ould be unable to resolve the !n ambiguities due to the
$PS/ modulation.
).& *rror (erformance vs. Fre2uenc! 5ffset
Similar to the discussion of system performance 0ith respect to P99 filter gain% 0e 0ill begin
the discussion of system performance 0ith the freuency offset estimator included by loo.ing at the
performance of the estimator itself. This 0ill then flo0 into a discussion of the impact of this
addition on 27( estimate error.
0.*.1 Fre-uenc$ 6ffset !stimator )erformance
3igures A.; and A.- provide e?amples of the freuency estimator output and 27( estimates
for the 23 system 0ith freuency offset values of ,H:% ),,H:% +,,H:% and A,,H: during the
acuisition and trac.ing phases of the estimator. 3or these simulations% the estimator 0as allo0ed
;@ array s0eeps for acuisition of the freuency offset. This means that the P99 0as operated 0ith
a second order loop filter for the first ;@ array s0eeps follo0ing initiali:ation and then s0itched to a
first order loop filter after this period.
'e can see that during this acuisition phase% the error in the freuency estimator output
approaches :ero in each case% indicating that the alloted time period is sufficient. 7f course% if it is
found that the estimator fails to converge during the given acuisition duration% either the allo0ed
time can be increased to accommodate the estimator or the band0idth of the second order filter can
be increased to accelerate acuisition. 2uring the trac.ing phase of the estimator% the error in the
freuency offset is .ept to 0ithin P+,H:% 0hich is an acceptable deviation. (s stated in chapter @% if
the freuency offset on the received signal is small relative to the sampling freuency% it 0ill appear
as a constant shift across all of the phase values measured by the parallel P99s. (lso% observe in
3igure A.- that during the acuisition phase of the estimator% the 27( estimates produced by the
system are often in error but once the estimator converges the estimates sho0 very little error. This
gives us some measure of confidence that the estimator 0ill not have a large affect the #MS error of
the 27( estimates.
3igures A.Ba and A.Bb plot the variance and mean of the simulated freuency offset estimator
A@
for freuency offset values of ,H:% ),,H:% +,,H:% and A,,H: during after the initial acuisition
period of the estimator. These plots demonstrate that the error statistics of the estimator are not
dependent on the actual magnitude of the freuency offset as they are reasonably consistent. Much
of the variation bet0een individual traces stems from performing the simulation 0ith limited input
sample si:es. It is e?pected that given a larger number of simulated received samples% the traces
0ould be grouped tighter. 3urthermore% note that the estimator in the presence of no offset
reasonably matches the statistics of the estimators 0hen a freuency offset is actually present.
0.*.2 !ffect on RS !rror )erformance
3igure A.Ca and A.Cb plot the #MS error of the P99 23 algorithm 0ith freuency offset
values of ),,H:% +,,H:% and A,,H:. These values 0ere chosen in order to determine 0hether or
not the #MS error of the 23 system is dependent on the magnitude of the freuency offset. (s 0e
sa0 in the previous section% the mean and variance of freuency estimator is apparently not
dependent on the magnitude of the offset. 3or these simulations% the first order filter gain is +
6*
and
the inter6element spacing is 0.4\ . In these plots% the trace labeled I$asic VersionJ refers to the
performance of the system 0ithout the estimator included for the same array and P99 parameters
and no freuency offset. These t0o plots sho0 that the addition of the freuency offset estimator
incurs some performance penalties for the B6element algorithm but not for the );6element
algorithm. Upon close inspection% 0e note that 0ith the freuency estimator% the B6element
algorithm actually seems to match the performance of the );6element algorithm. The residual offset
left on the first difference data 0ith the B6element algorithm essentially has the same effect on the
resulting 27( estimates that noise has on the first difference data 0ith the );6element algorithm.
3urthermore% the );6element curve fit algorithm appears to perform eually 0ell 0hether the
estimator is included or not. This is because the #MS error overhead resulting form the increased
sensitivity of the curve fit algorithm to noise in the phase estimates from the P99 mas.s any
increase in the #MS error due to a residual freuency offset.
).) *ffect of D5A *stimate Lowpass and 6etric-Assisted Filtering
0.0.1 &6A !stimate !rror &istri#utions
In order to fully understand the operation of the P99 23 algorithm it is necessary to
e?amine the distribution of the 27( estimate errors in an attempt to discern any patterns or
tendencies that the 27( estimation process e?hibits. These error patterns are the impetus for the
AA
A;
Figure 0.9. /ariance @left< and mean @right< of fre-uenc$ offset estimator in simulation.
Figure 0.:. Simulated RS error performance of the 9(element @left< and 12(element @right< versions of the );;
&F algorithm for var$ing fre-uenc$ offsets.
Figure 0.17. !"ample &6A estimate error scatter plots for the 9(element );; &F algorithm with an S?R of
9dB @left<= 0dB @center<= and ,dB @right< with no fre-uenc$ offset.
development of the lo0pass and M( filtering approaches% and began 0ith the initial analysis of the
B6element P99 algorithm at the start of this research. 3igure A.), contains three scatter plots of
27( estimate error samples for simulations run in an ('=N channel 0ith received SN# values of
Bd$% Ad$% and *d$. To produce these plots% the error in 27( estimates for numerous simulation
trials is plotted against the true 27( value. This allo0s for the detection of any obvious bias in the
27( estimator. In the scatter plot for the Bd$ SN# case% 0e find that the ma<ority of the 27(
estimates carry very little error and that the fe0 erroneous estimates have an error magnitude at or
near ),,E. (s the SN# is decreased in the remaining t0o cases% 0e notice that 0hile the number of
obviously erroneous estimates increases there is still a consistent cluster of 27( estimates 0ith very
little error. This means that 0hen the B6element 23 algorithm produces an incorrect 27(
estimate% that estimate 0ill in general represent a large error magnitude of BAE or greater. The B6
element algorithm appears to have no Imiddle6groundJ 0hen it ma.es a mista.e N the 27(
estimate is either fairly close to the true value or uite far off. In other 0ords% the performance of
the 27( estimator does not degrade gracefully as SN# decreases.
"ompare the B6element scatter plots 0ith those in 3igure A.))% 0hich are similar scatter plots
produced at the same SN# values for the );6element 23 algorithm. 'e see that even at Bd$ SN#%
the );6element algorithm produces 27( estimates that can be up to A,E off from the true value.
(nd in a manner similar to the B6element algorithm% as SN# decreases 0e find an increasing number
of 27( estimates 0ith larger error magnitudes. This e?plains the overall higher #MS error curves
for the );6element algorithm displayed in 3igure A.@. !ven though as SN# decreases the B6element
algorithm has a tendency to produce 27( estimates 0ith significantly large error magnitude% those
large errors 0ill have a lesser effect on the overall #MS error as the 27( estimates 0ith small error
magnitudes are consistently small and thus help to reduce the mean suared error. Since the );6
element algorithm even at moderate to high SN# values produces 27( estimates 0ith a larger
spread about :ero error it has an effective #MS error overhead relative to the B6element algorithm
that is further deteriorated by 27( estimates produced 0ith large error magnitude as SN#
decreases.
(s described in chapter @% the 27( uality metric 0as devised to help combat the error
tendencies of the 23 algorithms by using it to flag estimates as either IgoodJ or Ibad%J but in order
to do this 0e need to determine a suitable threshold for the metric values. 3igures A.)+a and A.)+b
A-
plot histograms of the uality metrics associated 0ith the 27( estimates for a set of SN# values
ranging from )+d$ do0n to ,d$. Note that the histograms 0ere ta.en on the logarithm base6), of
the actual metric value so that their range is compressed. 'e find that as SN# decreases for the B6
element algorithm% the general shape of the distribution does not change but the mean value
decreases from over *, 4).A in the plotted log scale5 to less than ), 4)., in the plotted scale5. 3or the
);6element array% 0e see that in general the observed metric values fall into one of t0o groups N
those 0ith magnitudes greater than ), and those 0ith magnitudes less than ), N and that there is an
obvious separation bet0een these t0o groups. (s SN# decreases% the grouping 0ith a magnitude
greater than ), shrin.s. 3igure A.)*a and A.)*b sho0 the distribution of the 27( uality metric for
a single SN# of @d$ 0ith the metrics grouped according to the actual error magnitude in their
associated 27( estimates. 'e see that for the B6element case there is significant overlap bet0een
the t0o distributions 0hereas for the );6element algorithm the vast ma<ority of the estimates 0ith
small error have a large metric value. This sho0s that 0e can more easily set a metric threshold for
the );6element algorithm than the B6element algorithm because the distribution of the metrics for
the );6element algorithm definitely fall into t0o easily separable categories. Setting a threshold for
the B6element algorithm is not as easy for the B6element algorithm because the distributions sho0 no
clear separation.
The difference bet0een these t0o sets of histograms can be e?plained by considering the
operation of both versions8 respective curve fit methods. The first difference curve selected by the
B6element curve fit algorithm 0ill still appear some0hat sinusoidal because it 0as the data set that
most closely resembled a sinusoid. Therefore% the 23T associated 0ith the selected first difference
curve 0ill al0ays contain some amount of energy in the bin used to produce the 27( estimate. 'e
see this in the histograms. The overall variance in the metric values remains roughly the same as
SN# is decreased 0hile the overall noise and distortion level in the first difference curve% 0hich
affects the denominator of the metric calculation% 0ill gro0 thus creating shifting the mean of the
metric distribution lo0er. "onversely% the first difference data sets produced by the );6element
curve fit algorithm is less li.ely to resemble a sinusoid as noise level decreases because the distance
measurements bet0een first difference points% i.e. the second difference% 0ill be more affected by
received noise. In fact% a data set resembling a line of :ero slope 0ould be more li.ely pic.ed than a
sinusoid by this curve fit algorithm because the difference bet0een successive data points 0ould be
AB
AC
Figure 0.1,. Histograms of &6A estimate -ualit$ metrics showing distri#ution relative to &6A estimate error
magnitude for a.< @left< the 9(element and #.< @right< 12(element versions of the );; &F algorithm.
Figure 0.12. Histograms of &6A estimate -ualit$ metrics showing distri#ution of the metric relative to S?R for a.<
@left< the 9(element and #.< @right< 12(element versions of the );; &F algorithm.
Figure 0.11. !"ample &6A estimate error scatter plots for the 12(element );; &F algorithm with an S?R of
9dB @left<= 0dB @center<= and ,dB @right< with no fre-uenc$ offset.
:ero.
0.0.2 !ffect of Filtering Approaches on RS !rror )erformance
3igures A.)@a and A.)@b plot the #MS performance of both versions of the P99 algorithm
for a system 0ith a P99 gain of +
6*
and an inter6element spacing of ,.@ \ . 3or M( and M(69P
filtering% the threshold for the metric 0as set to ),. This threshold value 0as based on the metric
distributions for the );6element version of the algorithm and 0as used for the processing of the
output for both versions. The gain of the 27( estimate lo0pass filter 0as +
6+
. The line labeled
I#a0J denotes the #MS error in the system 0ithout filtering 4compared to 3igure A.@5 0hile 9P3%
M(% and M(69P3 denote the #MS error in the system 0ith lo0pass filtering% M( filtering% and M(6
9P filtering% respectively.
'hen comparing the effect of lo0pass to M( filtering on #MS error measurements% 0e see
that lo0pass filtering has a greater effect on the B element algorithm than M( filtering because in
many of the cases 0here the uality metric is above the set threshold for a 27( estimate 0ith a
large error magnitude. 3igures A.)Aa and A.)Ab offer a clue as to 0hy this happens. 3igure A.)Aa is a
scatter plot of the 27( estimate error samples after metric filtering for the simulation 0ith *d$
SN#. The points labeled I#e<ectedJ denote 27( estimates 0ith metrics that fell belo0 the
threshold of ), 0hile the points labeled I(cceptedJ denote samples processed either by the lo0pass
filter or ta.en as6is for #MS error calculation. 'e see that although a large number of 27(
estimates 0ith large error magnitudes are thro0n out% uite a fe0 remain and are included in the
#MS error calculation 0hile a number of 27( estimates 0ith very little error are thro0n out as
;,
Figure 0.1*. Simulated RS error performance of the 9(element @left< and 12(element @right< versions of the );;
&F algorithm with &6A estimate filtering.
0ell. This 0ill hurt the #MS error measurement because not only do estimates remain that carry a
significant amount of error but also because the distribution of error estimates 0ill be diluted by a
loss of estimates clustered about :ero error. 3ortunately% the number of estimates remaining 0ith
little error is sufficient to maintain a lo0 overall mean suared error and the system still achieves a
lo0er overall #MS error than 0ithout any filtering.
3igure A.)Ab is a histogram of the observed estimate error to accompany the scatter plot.
The line labeled ITotalJ represents the error distribution before M( filtering% 0hile the I(cceptedJ
and I#e<ectedJ lines represent the distributions of the accepted and re<ected 27( estimates8 error%
respectively. This confirms that although appro?imately )AV of the estimates re<ected had error
magnitudes larger than +,E% the rest of the re<ected estimates could actually have been used as
IgoodJ estimates as they fell 0ithin P),E of the true 27(. 9o0pass filtering outperforms M(
filtering simply because the overall percentage of IbadJ 27( estimates is small relative to the
overall estimate distribution so that by reducing their error contribution the overall mean suared
error is reduced. 3or this version% combining M( 0ith lo0pass filtering only reduces the #MS error
slightly from the lo0pass6only case in lo0 SN# situations because it helps flag some of the bad
estimates.
'e find that that filtering approaches have a different effect on the );6element version. M(
filtering offers a larger reduction in #MS error than lo0pass filtering. 3igures A.);a and A.);b sho0
the 27( estimate error scatter plot and distributions for the );6element version 0ith a SN# of *d$
4similar to 3igure A.)A5. In this case 0e find that metric does fulfill its intended goal N the
over0helming ma<ority of re<ected estimates 0ere obviously in error 0hile a relatively small number
of IgoodJ estimates 0ere thro0n a0ay and a very minor amount of IbadJ estimates 0ere retained.
This sho0s 0hy M( filtering outperforms lo0pass filtering for this version of the 23 algorithm.
The lo0pass filter has to contend 0ith 27( estimates that have a consistently large error variation
0hile that variation is almost totally eliminated 0ith the use of the uality metric. (s e?pected% M(6
9P filtering offers the greatest performance gains because the fe0 IbadJ estimates that remain are
attenuated.
7verall 0e see that 0ith the addition of the filtering approaches the );6element algorithm
performs better than the B6element algorithm because it e?ceeds the ),E #MS error criterion do0n
to very lo0 SN# values by a larger margin. #ecall from section A.).+ that for the P99 filter gain
;)
;+
Figure 0.12. &6A estimate error scatter plot @left< and associated error histogram @right< of &6A estimate error for
12(element );; &F algorithm after A filtering with S?RE,dB.
Figure 0.10. &6A estimate error scatter plot @left< and associated error histogram @right< of &6A estimate error for
9(element );; &F algorithm after A filtering with S?RE,dB.
Figure 0.15. Simulated RS error performance with &6A estimate filtering of the 9(element @left< and 12(element
@right< versions of the );; &F algorithm with the addition of fre-uenc$ offset removal and a 077H% offset.
used in this system% the );6element version did not meet the desired #MS error value for this P99
gain. 7f course% 0e also find that the filtering additions to the B6element algorithm definitely
enhance the B6element version and also ma.e it a viable 23 algorithm according to the same
criterion. This version almost met the #MS error target value before filtering.
3igures A.)-a and A.)-b present the simulated #MS error results for for both versions of the
algorithm 0ith 27( estimate filtering and freuency offset removal. The data labeled I$asicJ
refers to the unfiltered performance of the system 0ithout the presence of a freuency offset. 3or
the B6element version% M( filtering reduces the system8s #MS error to appro?imately the #MS error
of the basic algorithm 0hile lo0pass filtering introduces a significant #MS error reduction and M(6
9P filtering performs the best of the three. "ompared to the filtered #MS error data in 3igure
A.)*a% 0e see that the addition of the freuency offset estimator still incurs some #MS error
penalties but the addition of estimate filtering does reduce them. (s discussed earlier% the freuency
offset estimator has no ma<or effect on the performance of the );6element version% 0hich is further
confirmed in 3igure A.)-b. 'hen compared to the results in 3igure A.)*b% there are no ma<or
differences bet0een the effects of filtering on the );6element system 0ith or 0ithout the freuency
offset estimator.
These performance gains do not come 0ithout a price though. 3igure A.)B sho0s the
percentage of estimates discarded in the M( and M(69P filtering processes for the both the B6
element and );6element versions of the algorithm 0ithout the inclusion of the freuency offset
estimator. This sho0s that although the system e?periences some dramatic performance gains% the
number of useful 27( estimates output over time is reduced. 3or e?ample% 0ith ;@ samples ta.en
per antenna at a sampling rate of )+A.sps% the total number of estimates produced per second by the
B6element and );6element versions is +@@ and )++% respectively. (t an SN# of *d$% the number of
samples that pass through the t0o algorithms drops to ),B and +A per second% respectively. (s SN#
approaches ,d$% 0e see that less than +AV of the estimates produced by the B6element algorithm are
passed 0hile less than ),V of the );6element algorithm8s estimates are allo0ed. 7f course% the
viability of these theoretical rates is sub<ective and depends on application. =enerally spea.ing% this
algorithm does provide attractive performance characteristics and can be considered a feasible basis
for a 23 system based on its performance in ('=N. (lso% remember that even if the M( filter
does not consider the 27( estimates deemed Ibad%J those estimates are still available at the output
;*
of the system. This allo0s the user to vie0 all of the 27( estimates and use the entirety of the
information produced by the estimator.
)., D5A *stimation on a 6oving Target
7ne uestion that arose during this study of the P99 23 algorithm 0as that of its
performance 0hen trac.ing a moving target because any change in position of the target 0ill
effectively change the manifold of the signal received by the 23 antenna array. (ccording to the
assumptions laid out in chapter +% it is e?pected that any change in the 27( of the received signal
0ill appear as a change in the phase of the received signal. If these changes are relatively small the
P99 0ill have no problem in trac.ing them% but large changes may prevent succesful 27(
estimation.
3igures A.)Ca and A.)Cb sho0 scatter plots of the estimated 27( and error associated 0ith
the 27( estimates over time% respectively% for a target that is moving 0ith respect to the 23
antenna array. The SN# 0as ),d$ and the received signal had a freuency offset of +A,H:. The
23 system sampled the received signal ;@ times per antenna at a sampling freuency of )+A.H:.
The ); element algorithm 0ith freuency offset removal 0as used. In the scatter plots% estimates
labeled I#e<ectedJ had associated uality metric values less than ),. 'e can see from 3igure A.)Cb
that the accepted 27( estimates fell 0ithin PAE of the true 27( and that there is no noticeable lag
bet0een the 27( estimate and the true 27(.
To put this e?ample in perspective% the actual velocity of the target and distance from the
array must be considered. 'hen considering a moving target% it is obvious that the 27( is no
longer static. Therefore the received signal at the output of the m6th antenna can be e?pressed as1
x
m
(t )=m(t )e
j
|
0
o
+
2nr
\
cos
(
2nm
M
(t )
)
4A.+5
0here (t ) is the time dependent 27( 0hich for this e?ample is described by1
(t )=
n
4
+
n
3
sin( nt ) 4A.*5
The rate of change in 27( over time for this target can be e?pressed as1
A
t
=
n
2
3
cos(nt ) 4A.@5
(ssuming that the target maintains a constant distance from the antenna array% the rate of change of
;@
;A
Figure 0.1:. !"ample plots of &6A estimation on a moving target in a 2dB A'1? channel with a fre-uenc$
offset of 207H%D a.< @left< &6A estimates over time and #.< @right< &6A estimate error over time..
Figure 0.19. Simulated rate of acceptance of &6A estimates using the &6A estimate -ualit$ metric for #oth
versions of the );; &F algorithm.
Figure 0.27. !"ample output of fre-uenc$ offset estimator for &F on the moving target from Figure 0.1: with a.<
@left< 17dB S?R and #.< @right< 177dB S?R and a fre-uenc$ offset of 207H%.
the 27( over time can be related to the velocity of the target by1
A
t
=
&
r

4A.A5
0here v is the speed of the target in meters per second and r is the distance from the receive
antenna. 3or this e?ample% the ma?imum velocity of the target is eual to r n
2
/ 3 % 0hich for a
distance of ) .ilometer results in a target velocity of *+C, meters per second% <ust over C.A times the
speed of sound. 3rom this result% it is obvious that this e?ample is a fairly unrealistic simulation in
terms of rate of change of 27(% yet the algorithm is still able to trac. the 27(.
3igure A.+,a sho0s the output of the freuency offset estimator from the e?ample in 3igure
A.)C. The freuency offset on the signal 0as set to a constant +A,H:. 'e see that after the initial
half6second acuisition period the offset estimator trac.s the freuency offset reasonably 0ell but
has noticeable deviations from the true value. 3igure A.+,b is the output of the freuency offset
estimator for the same system and target setup 0ith an SN# of ),,d$% 0hich effectively eliminates
noise on the received signal. 'e can see from this 3igure that the output of the estimator oscillates
about the true value of +A,H: and that the oscillations are .ept 0ith PAH: of that value. This
oscillation is due to the offset estimator trac.ing the change in 27( over time as part of the
freuency offset on the signal% but the magnitude of that offset is fairly insignificant.
(s stated previously% small freuency offsets have very little effect on the 23 estimation
process and 3igure A.; sho0ed that 0ith an SN# of ),d$ the estimator 0ill vary P),H: from the
true value of the signal any0ay. This e?ample sho0s that 0hen considering the change in 27( due
to a moving target 0e should not e?pect the 27( estimation process to be negatively affected
because the apparent freuency offset induced on the signal due to the rate of change of the 27( is
negligible. The freuency offset estimator does not hamper the ability of the 27( estimator to
trac. the phase of the received signal because although it removes the short term freuency shifts
related to the target8s motion it does not stop the P99 from trac.ing the long term change in the
manifold of the received signal.
).+ D5A *stimation with a Two-.a! 6ultipath 6odel
Previous 0or. on the P99 algorithm K)L%K+L%K*L%K@L has sho0n that although superior in
performance to other single6channel 23 algorithms% specifically the 'atson6'att and pseudo6
doppler methods% in an ('=N channel the P99 algorithm8s performance in fading channels leaves
;;
much to be desired. Here 0e 0ill investigate the problems that arise 0hen evaluating the P99 23
algorithm in a multipath channel that follo0s a simple t0o path model sho0n in 3igure A.+). 'hile
this model is obviously uite simple and does not ta.e fading into account% it does help illustrate
some aspects of the problem of determining the 27( of a received signal in the presence of
multipath.
3igure A.++a is a scatter plot of the estimated 27( for the t0o6ray multipath model for a
primary 27( of ,E and secondary 27( of B,E as the ratio of the po0er of the primary signal to
the po0er of the secondary signal varies from +,d$ do0n to 6+,d$. 3igure A.++b plots the
percentage of 27( estimates accepted using the uality metric as the po0er ratio of the t0o paths
changes. This plot sho0s that if one path is ),d$ stronger than the other% the 23 algorithm 0ill
reliably pic. the angle of that path as the estimated 27(. If the one path8s po0er is 0ithin )d$ of
the other path% the 27( estimated by the algorithm indicates that the signal appears as if it is
coming from directly bet0een the t0o paths.
This is to be e?pected from the P99. 'hen one signal is significantly stronger than the
other% the P99 0ill trac. the strongest signal. If one signal is the line6of6sight signal% it should be
significantly stronger than the secondary signal because the other signal 0ill have propagated over a
longer distance. Ho0ever% if the secondary signal is generated by a reflection that is in close
pro?imity to the antenna array the t0o signals may be close in amplitude. The remainder of the
analysis 0or. centered on any possible approaches that can be ta.en to improve the algorithm8s
performance in this case.
0.5.1 &erivation of Signal Representation for Two Signals with !-ual Strength
In order to determine 0hether anything can be done to help mitigate multipath issues arising
from the t0o6ray model% a representation of the signal received by the array must be determined.
3irst% the t0o separate paths are modeled as t0o distinct 0aveforms impinging upon the array1
;-
Figure 0.21. Two(ra$ multipath model.
r
1, m
(t )=A
1
cos
|
o
%
t +
2nr
\
cos
(
2nm
Na

1
)
+0
1

4A.;5
r
2, m
(t ) = A
2
cos
|
o
%
t +
2nr
\
cos
(
2nm
Na

2
)
+0
2

4A.-5
0here
1
and
2
are the 27(s and 0
1
and 0
2
are constant phase offsets of the primary and
secondary paths% respectively. The signal received at the antenna array is simply modeled as the sum
of the t0o separate paths1
R
m
(t )=r
1, m
(t )+r
2,m
(t )=1
m
cos
(
o
%
t +O
m
)
4A.B5
0here 1
m
and O
m
are the resulting amplitude and phase of the signal received at the m6th antenna.
It is these resultant amplitude and phase e?pressions that are of interest. To solve for them the
trigonometric identity1
cos( x)+cos( y) = 2cos
(
x+y
2
)
cos
(
xy
2
)
4A.C5
is used 0here1
x=o
%
t +
2nr
\
cos
(
2nm
M

1
)
+0
1
4A.),5
y = o
%
t +
2nr
\
cos
(
2nm
M

2
)
+0
2
4A.))5
The sum of these t0o terms can be e?pressed as1
( x+y) =2o
%
t +0
1
+0
2
+
2nr
\ |
cos
(
2nm
M

1
)
+cos
(
2nm
M

2
)
4A.)+5
( x+y) =2o
%
t +0
1
+0
2
+
4nr
\
cos
(
2nm
M

1
+
2
2
)
cos
(

1
2
)
4A.)*5
0hile their difference can be reduced to1
( xy) =0
1
0
2
+
2nr
\ |
cos
(
2nm
M

1
)
cos
(
2nm
M

2
)
4A.)@5
( xy) =0
1
0
2

4nr
\
sin
(
2nm
M

1
+
2
2
)
sin
(

1
2
)
4A.)A5
The amplitude% 1
m
% of the signal received at the m6th antenna% R
m
% is then found to be1
;B
;C
Figure 0.2,. !"ample plot of angle resolution for two(ra$ model with e-ual signal powers with true &6As of 78
and 978.
Figure 0.22. );; &F algorithm in a two(ra$ multipath environment showing a.< @left< scatter plot of &6A
estimates and #.< @right< percentage of accepted &6A estimates vs. power ratio of the two unmodulated signals.
Figure 0.2*. );; &F algorithm in a two(ra$ multipath environment showing a.< @left< scatter plot of &6A
estimates and #.< @right< percentage of accepted &6A estimates vs. power ratio of the two modulated signals.
1
m
=2cos
(
xy
2
)
= 2cos
|(
0
1
0
2
2
)

2nr
\
sin
(
2nm
M

1
+
2
2
)
sin
(

1
2
)
4A.);5
from the ( xy) term because it is not a function carrier freuency o
%
. The phase% O
m
% can be
determined from the portions of the ( x+y) term that are not a function of the carrier freuency1
O
m
=
x+y
2
o
%
t =
(
0
1
+0
2
2
)
+
2nr
\
cos
(

1
2
)
cos
(
2nm
M

1
+
2
2
)
4A.)-5
Therefore% in the absence of noise the estimate of the received phase at the output of the m6th P99
can be e?pressed as1

0
m
= 0
o
+
2nr
\
cos
(

1
2
)
cos
(
2nm
M

1
+
2
2
)
4A.)B5
This differs from the e?pected phase as given in chapter * as1

0
m
=0
o
+
2nr
\
cos
(
2nm
M

)
4A.)C5
in t0o main 0ays. 3irst% the amplitude of the sinusoid traced by the output of the collection of
P99s is modified by a function of the angular separation of the t0o paths% cos|(
2

1
)/ 2 % and
second% the phase of the sinusoid is also a function of the angular separation of the t0o paths. This
means that the signal 0ill appear to come from bet0een the t0o paths 0hen the amplitude of the
t0o paths is eual. If follo0s that the first difference curve is given by1
A

0
i
=
4nr
\
sin
(
n
M
)
cos
(

1
2
)
cos
(
2nm
M

n
M

1
+
2
2
)
4A.+,5
and the final 27( estimate produced by the 23T after the curve6fit algorithm is1

=

1
+
2
2
4A.+)5
This sho0s that according to the model for the received signal% the first difference data generated
from the output of the parallel P99s 0ill cause the 27( estimation bloc. to estimate the 27( as
the average of the t0o paths8 27(s and since the data is still sinusoidal the associated uality metric
should still be able to determine 0hether the curve fit process 0as succesful. Ho0ever% the first
difference curve does contain e?tra information that can possibly be used to resolve the angles of
the t0o paths.
0.5.2 Resolution of Two &irections of Arrival for !-ual Amplitude .ase
3rom euation A.+,% 0e see that the ma?imum amplitude of the first difference curve is
-,
given by1
A

0
m
=
4nr
\
sin
(
n
M
)
cos
(

1
2
)
4A.++5
0hich is no0 a function of the 27(s of the t0o separate paths. $y defining a value

A 1

A=cos
(

1
2
)
=
max
m
A

0
m
min
m
A

0
m

2
4nr
\
sin
(
n
M
)
4A.+*5
as a scaled measurement of the amplitude of the first difference curve selected by the curve fit
algorithm% the t0o paths8 27(s can be

1
=

+cos
1

A
4A.+@5

2
=

cos
1

A 4A.+A5
3igure A.+* plots an e?ample scatter plot of the estimated 27( for the t0o6ray channel model
along 0ith the resolved 27(s of the t0o signals. 3or this e?ample% the t0o signals had true 27(s
of ,E and B,E. 'e see that 0hen the estimate is accepted based on its uality metric% the t0o 27(s
are successfully determined from the measured first difference data. Ho0ever% this process 0ill be
very sensitive to noise because the variance of the first difference data 0ill increase as SN#
decreases.
0.5., Final .omments on )erformance in ultipath .hannels
The preceeding development does brea. do0n 0hen modulation is included. 3igure A.+@
represents a repeat of the simulation that generated the data for 3igure A.++ 0ith the addition of
$PS/ modulation. This sho0s that if the po0er of one signal is 0ithin ),d$ of the other signal8s
po0er% the 23 algorithm e?hibits a definite tendency to0ard error. $ut notice that although the
number of obviously erroneous estimates increases% the algorithm is still capable of producing a
decent proportion of correct estimates of the 27( of the stronger signal do0n to a po0er ratio of
roughly *d$. This means that although the t0o6ray resolution 0ill not 0or. in general% if one path
is at least t0ice as strong as any other reflections% the algorithm 0ill still be able to determine the
proper 27(% although not necessarily in a reliable manner. 3urthermore% as the number of
multipath components gro0s% it 0ill be ever more li.ely to ma.e mista.es.
'e can conclude that from this simple model% the algorithm in its current form can not be
e?pected to offer robust performance in multipath channels. /eep in mind that this investigation
-)
did not consider most of the effects of small6scale fading% such as time6varying amplitude or phase
of the channel% only the effect of the reception of t0o signals 0ith a large angular separation and
large6scale fading. 'ith small6scale fading% a time6varying amplitude on the received signal should
not adversely affect the 27( estimation process as the P99 is designed such that it 0ill be able to
maintain a decent estimate of the received signal8s phase even 0hen the signal is e?periencing a deep
fade. If the angular separation bet0een paths is small such that the received signal appears to
emanate from a single 27(% the system should perform as if the SN# is temporarily degraded
during the fading. Ho0ever% a time6varying channel phase 0ill definitely prove problematic because
if the phase of the channel varies uic.ly relative to the s0itching rate of the array. If the channel
phase is not relatively constant over the time it ta.es to perform one full array s0eep% then the basic
assumptions on the operation of the algorithm 0ill be violated and the 27( estimation process 0ill
brea. do0n.
-+
Chapter ,
Algorithm $mplementation
The final part of this 0or. 0as concerned 0ith the proof6of6concept implementation of the
additions to the P99 algorithm discussed in chapter @. Initial 0or. on the algorithm K)L%K+L%K*L%K@L
yielded a 0or.ing version of the basic P99 23 algorithm as presented in chapter *. This initial
implementation provided the starting point for the implementation of the additions to the B6element
algorithm. In this chapter% 0e present the implementation of the algorithm including both the
hard0are and soft0are platforms% the test environment% as 0ell as the successes and failures
encountered in the process.
,.# 7ardware 5verview
2.1.1 'C(922:a Software &efined Receiver
The '&6B;+Ca Soft0are 2efinable #eceiver% provided by 2#S Signal Solutions% Inc.% is a
2SP based soft0are radio 0ith a freuency range of +,MH: to +.-=H:% a ma?imum computational
rate of nearly )=397PS% and communication and data interfaces over both #S6+*+ and VWI. 3or
data processing% it provides either samples directly from the analog6to6digital converter or from the
digital do0n6converter in both rectangular 4I and D5 and polar 4magnitude and phase5 form along
0ith freuency and automatic gain control 4(="5 information. There are ++ predefined I3 filter
band0idths from +,,H: to ).+*MH: and A slots for user customi:ation. (long 0ith its included set
of demodulators and audioMvideo filters% it allo0s the user to develop custom algorithms in either "
or assembly for its TMS*+,";-,) 2SP through the use of the included Sunrise 2SP soft0are
developer8s .it 4S2/5.
3igure ;.) sho0s a bloc. diagram of the processing flo0 in the '&6B;+Ca. The #3 input
-*
Figure 2.1. 6verview of processing flow in the 'C(92:a.
signal is first processed by the analog #3 front end 0hich performs the initial 0ideband filtering and
do0nconversion to a -,MH: I3 signal. The I3 signal is then processed by the digital
do0nconverter 422"5% 0hich digiti:es the signal% filters it 0ith a selectable narro0band filter% and
converts the digiti:ed signal to baseband. The '&6B;+Ca offers ++ different I3 band0idths from
+,,H: to ).+*MH: 0ith data sampling rates and bloc. si:es varying accordingly. It is possible for
the user to create up to A custom I3 filters 0ith the Sunrise S2/. The data output from the 22" is
then available for bloc. processing 0ithin the 2SP.
Three separate soft0are processing slots% labeled the demodulator% analy:er% and decoder% are
available for the use of predefined or custom processing modules. The '&6B;+Ca includes a set of
common demodulation functions% such as (M% 3M% "'% 9S$% US$% IS$% and 3S/% for use in the
demodulator slot. The analy:er and decoder both have the options for audioMvideo filters as 0ell as
an 3S/ decoder. !ach slot allo0s for up to @ custom 2SP algorithms to be do0nloaded and
activated. 2uring normal operation% the digital data from the 22" is first passed to the
demodulator slot and processed by the selected demodulation function. The data output from the
demodulator is then passed to the analy:er% the output of 0hich is in turn passed do0n to the
decoder. 7ne or more of the slots can be bypassed at any one time% resulting in the data bloc.s
simply being passed through the bypassed processing bloc. 0ithout change. The final output of the
decoder bloc. is then available as either analog or digital data through one of many interfaces% either
as a stereo audio signal from the headphone <ac.% as a mono video output from a SM( connector%
or as digital data through both the VWI bus and #S6+*+ port.
#eceiver control is either performed locally by a P" controlling the VWI bus or remotely
through an #S6+*+ connection. (ll commands and ueries to the radio% such as demodulator
selection and tuned freuency% are sent using (S"II. 3or e?ample% to tune the radio to C@.-MH:
the string I3#D C@.-J is sent and to determine the tuned freuency of the radio the string I3#DSJ
is sent% to 0hich the radio responds 0ith I3#D C@.-J. The '&6B;+Ca used in our implementation
0as installed in a VWI chassis 0ith a National Instruments VWI P" as the bus controller. Soft0are
supplied 0ith the receiver allo0ed for control of the receiver through a =UI. This =UI simplified
the tas.s of do0nloading our custom algorithms as 0ell as recording data output from the 2SP.
3or our implementation% an I3 band0idth of ),,.H: 0as selected 0hich uses a sampling
rate of )+A.H: and a data bloc. si:e of ;@ samples per bloc.. The noise floor of the receiver at this
-@
band0idth is 6)),d$m. This band0idth 0as selected because it represented a good trade off
bet0een noise level and bloc. si:e N the P99 0ith a filter gain of +
6*
is able to acuire the target
phase of the signal completely 0ithin one data bloc. if the antenna s0itch has a temporary
malfunction resulting in a loss of data for one or more array s0eeps and the noise level on the
received data allo0ed for lo0 po0er transmission of the target signal. (s testing occurred for the
most part in an indoor environment% lo0 transmission po0er 0as desired to reduce the po0er of
any possible multipath reflections. The 23 function 0as 0ritten in " and consisted of a single
module that 0as do0nloaded to the demodulator slot in the receiver. The analy:er and decoder
slots 0ere set to bypass mode as they 0ere unused.
2.1.2 9(element Antenna Arra$
The MP#= antenna array K)-L% sho0n in 3igure ;.*% is a uniform circular array of B
monopole antennas 0ith a diameter of appro?imately )C.Acm. (t +.,=H:% this gives a radius of
0.65\ and inter6element spacing of \/ 2 . (s discussed in chapter A% this antenna spacing led to an
unacceptable level of error in the initial implementation as it increases the amplitude of the first
difference curve to a critical point beyond 0hich the curve6fit algorithm can not successfully resolve
-A
Figure 2.,D )R1 9(element uniform circular arra$.
Figure 2.2. 9(element arra$ switching .ircuit.
the !n ambiguities on the observed first difference data. Subseuently% the freuency of
operation 0as reduced to ).A-,-=H:. This reduced the radius of the array to \/ 2 . "onceptually
this freuency 0as chosen because the target signal 0ill go through one complete period as it
propagates across the array. The corresponding inter6element spacing for the array at this freuency
is appro?imately 0.38\ .
2.1., Antenna Switching .ircuit
(s this array 0as originally designed for use 0ith a multi6channel receiver system% it did not
have the necessary s0itching hard0are to use 0ith a single6channel receiver. Therefore% a s0itch
0as developed to ta.e the B #3 outputs from the array and select one for routing to the receiver
based on a control signal generated by the receiver. The antenna s0itching circuit developed% sho0n
in 3igure ;.+% consists of t0o main parts1 a set of #3 s0itches suitable for the freuency range and
number of antennas% and a control circuit to . The s0itches selected for the pro<ect 0ere a
combination of single6pole four6thro0 4SP@T5 and single6pole double6thro0 4SP2T5 gallium6
arsenide 4=a(s5 s0itches from Mini "ircuits 4models >S'(6@6*,2# and >XS'(6+6A,2#%
respectively5. These s0itches 0ere selected primarily due to their 0ide freuency range 42"6
*.,=H:5% fast s0itching times 4@Ans typical5% high port isolation 4*+d$ minimum at +.,=H:5% and
TT9 control.
The s0itch control circuit% a bloc. diagram of 0hich is sho0n in 3igure ;.@% primarily
consists of a Te?as Instruments (2S-B,A );6bit analog6to6digital converter 4(2"5 for reception of
the control signal and a Wilin? comple? programmable logic device 4"P925 for (2" control and
-;
Figure 2.*. Switching circuit for the 9(element arra$.
s0itch signal processing. The design 0as a <oint product of both this 0or. and the previous
student8s 0or.. The analog control signal output by the receiver% sho0n in 3igure ;.A% essentially
consisted of a IstaircaseJ function in 0hich each of the eight voltage levels corresponded to the
desired antenna selected by the s0itching circuit. This control signal is output at the receiver from
the analog video output port% 0hich is an SM( connector. It is generated in the 2SP code by
simply setting the output data array for an entire processing bloc. to a single value.
The (2" samples this signal at ),,.H: under the control of the "P92. The "P92 then
latches the ten most significant bits of the );6bit output upon receiving the I#eadyJ signal from the
(2". The "P92 then converts the measured voltage level to the proper combination of TT9
signals to drive the s0itches. The SP2T s0itch reuires a single control signal to select bet0een its
t0o inputs 0hile the SP@T s0itches used @ control signals each. (s the output from only one SP@T
0ould be selected by the SP2T at any instant in time% these s0itches shared control signals in order
to reduce the comple?ity of the 0iring. These five s0itch control signals are latched and the latched
outputs are then 0ired from the "P928s interface pins through inverter I"s to the s0itch control
ports.
2.1.* Test S$stem Setup
Testing of the 23 system implementation too. place primarily in the hard0are design lab in
the MP#= student office space located in 2urham Hall. 3igure ;.; is a bloc. diagram of the basic
test scenario. These test scenarios 0ere set up to appro?imate an ('=N channel. To attempt this%
the target signal 0as transmitted at a lo0 enough po0er so that any multipath reflections 0ould
hopefully be 0ea. compared to the primary signal but the primary signal 0ould be received at a
reasonably high SN# to provide a relatively IcleanJ received signal for algorithm verification. In
addition% a log6periodic antenna 0as used at the transmitter to direct most of the target signal
to0ards the 23 antenna array and reduce the number of secondary reflected paths. The transmitter
--
Figure 2.0. Analog control signal for 9(element switching circuit.
and antenna array 0ere usually separated by at least t0o to three meters so that the target signal
appears to come from the far field of the array.
,.% $mplementation of 8-*lement Algorithm Additions
7verall% the implementation of the various processing modules proved to be straightfor0ard
and did not represent a significant ris. as the underlying hard0are and soft0are platforms for the
basic B6element algorithm 0ere already sho0n to have 0or.ed. 7nce the simulation bloc.s 0ere
0or.ing in Matlab% all that 0as needed 0as to convert the Matlab functions into " code and include
them in the " source code for the 2SP. 7f course% certain restrictions applied to the algorithm as
implemented on the 2SP that do not e?ist in the Matlab environment. 3irst% the ma<ority of the "
code 0as 0ritten using fi?ed6point variables instead of the double precision floating point variables
used by default in Matlab% primarily to save processing time as fi?ed6point arithmetic in general ta.es
fe0er processing cycles to perform that floating point. In fact% during the initial implementation of
the algorithm it 0as discovered that although the 2SP 0as designed to perform floating point
operations the use of floating point math for the entire implementation e?ceeded the ma?imum
number of processing cycles allo0ed per data bloc. by a large margin. The use of fi?ed point
variables also reuired that special attention be paid to the operation of the filters in both the P99 as
0ell as the freuency offset estimator. Second% the implementation needs to coordinate the antenna
s0itching 0ith the P99 bloc. processing. There 0ill be a delay bet0een the output of the s0itching
signal the reception of the corresponding antenna output due to% among other things% the receiver8s
operating system overhead and the time the signal ta.es to propagate through the various filters in
the #3 front end and digiti:ation section.
-B
Figure 2.2. &F s$stem testing setup.
2.2.1 ;inear );; and Fre-uenc$ 6ffset !stimator Implementation
(s the nonlinear to linear P99 transformation and the addition of the freuency offset
estimator 0ould reuire t0o ma<or overhauls of the P99 operation% it 0as decided to completely
replace the e?isting P99 0ith the freuency offset estimation version from Matlab simulation.
Implementation 0as relatively straightfor0ard and reuired only minor alterations to translate the
Matlab code to ". It 0as discovered during initial testing of this ne0 P99 that the freuency offset
estimation circuit 0ould fail to fully acuire the freuency offset% leaving a considerable residual
offset on the received data. The cause of this 0as the first filter in the freuency offset estimation
process. 3igure ;.-a sho0s the initial signal flo0 model used to implement the filter. #emember
that the difference euation describing the filter is given by1
y| n=
1
x| n+(1
1
) y| n1 4;.)5
In order to reduce the number of gain elements needed for the filter% it 0as instead implemented
using1
y| n=
1
( x| ny| n1)+y| n1 4;.+5
0hich is accomplished by presenting the filter 0ith the difference bet0een the current input and
output 4i.e. x| ny| n1 5 rather than the input x| n . The gain parameter%
1
% selected for this
filter 0as +
6A
.
It turns out that 0ith the phase uanti:ation in the 22" this filter gain 0ould essentially
reduce the fi?ed6point input to :ero if the residual freuency offset fell belo0 ;,H:. The phase
values output from the 22" are );6bit integers 0hich means that
n=2
15
1=32767
. #ecall from
the discussion of the estimator in chapter @ that the estimator does not e?plicitly trac. the value of
the freuency offset in Hert:% but the uantity 2nA f t
s
% 0here A f is measured in Hert: and t
s
is
the sampling freuency measured in seconds. In fi?ed point notation% this value becomes
-C
Figure 2.5. Implementation model for lowpass filters in fre-uenc$ offset estimator showing a.< @left< initial model and
#.< @right< modified model..
(2
16
2)nA f t
s
% and a freuency offset of ;)H: in turn is represented by the integer *+ 4),,,,,
in binary5. To simplify the implementation% all filter gains 0ere set as po0ers of + so that they could
be implemented using right shifts instead of divisions. $ecause of this% a freuency offset of ;)H:
0ill be reduced to the integer ) by this filter. Smaller values of the freuency offset 0ill be
effectively ignored by the filter.
7ne solution to this problem 0ould be to increase the filter gain so that it could trac. a
much smaller residual offset but that 0ould increase the variance of the estimator due to an increase
in the effective noise po0er. ( uic. return to elementary discrete time filter theory provided the
ans0er N simply s0itch the places of the accumulator and gain element in the filter% as sho0n in
3igure ;.-b. This 0ill result in an euivalent filter 0hile simultaneously solving the problem as the
accumulator 0ill then be able to gro0 to a much larger value. This accumulated value is then scaled
by the filter gain. 'ith this minor modification% the freuency offset estimator performed its
intended purpose e?tremely 0ell.
3igures ;.Ba and ;.Bb sho0 an e?ample of the received phase and corresponding P99 output
during the acuisition and trac.ing stages of the freuency offset estimator. !ach plot sho0s the
output of the P99 for each antenna for t0o full array s0eeps 0ith ;@ samples ta.en per antenna.
B,
Figure 2.9. !"ample plot of implementation of );; output with F027H% fre-uenc$ offset during a.< @left<
fre-uenc$ offset ac-uisition and #.< @right< fre-uenc$ offset trac+ing phases.
'e see in 3igure ;.Ba that initially the P99 has a slope nearing that of the received phase% although
0ith a definite phase offset. $ut after the first array s0eep% the P99 outputs some0hat level off due
to the offset estimator beginning to acuire the freuency offset. 3igure ;.Bb% 0hich is ta.en from
the same recorded data appro?imately ;, array s0eeps after the first plot% sho0s that the freuency
offset estimate has stabili:ed as the phase trac.ed by each P99 is relatively constant across each data
bloc..
Note that the phase trac.ed by the first P99 4during antenna inde? ,5 starts out near :ero at
every array s0eep. $ecause the received signal has a time6varying phase% in the absence of perfect
.no0ledge of the freuency offset the e?act value of the phase of the signal at the start of each array
s0eep is un.no0n. 3or a stationary target% it is assumed that the constant phase difference bet0een
elements 0ill remain the same and this assumption must remain valid in order to facilitate parallel
operation of the P99s. 7ther0ise% the P99 for each antenna 0ould have to reacuire the signal8s
phase 0ith each array s0eep. To compensate for this time6varying phase% the first phase sample
from the first antenna is used as a constant offset for every other phase sample for the entire array
s0eep. This ensures that the first P99 0ill al0ays trac. near :ero 0hile every other P99 0ill trac. a
constant phase value.
B)
Figure 2.:. !"ample fre-uenc$ offset estimator output from implementation for a received signal with a true fre-uenc$
offset of appro"imatel$ 027H%.
3igure ;.C sho0s the output of the freuency offset estimator from the same data set the
e?ample P99 plots 0ere ta.en from. 'e see that after appro?imately *A array s0eeps the estimator
has acuired the freuency offset. The ItrueJ value of the freuency offset 0as estimated to be
A;,H: from recorded data received by a single antenna over a period of appro?imately + seconds
and postprocessed in Matlab using a large 33T. Note that the offset estimate moves in +H: steps N
this is the smallest freuency offset that can be measured due to the system8s phase uanti:ation.
2.2.2 &6A !stimate Aualit$ etric Implementation
Implementation of the 27( estimate uality metric consisted of t0o steps. 3irst% the
method of 23T calculation needed to be addressed as only one freuency bin 0as calculated in the
initial implementation. Second% a method needed to be devised to implement the actual metric
calculation as division is not supported by the '&6B;+Ca due to peculiarities in the compiler used.
Specifically% the division and suare root functions offered by the TI 3ast#TS library 0ere not
supported on the receiver. Since the metric calculation relied on determining the magnitude of a set
of comple? numbers another approach needed to be found.
In order to produce each 27( estimate% the phase of one bin of the 23T of the first
difference data needs to be determined. The original algorithm implementation managed this by
directly evaluating the 23T for the single freuency reuired. In order to calculate the 27( uality
metric% the algorithm reuires half of the freuency spectrum to be calculated. In order to
accomplish this% a fe0 options 0ere considered in addition to direct evaluation of the 23T% such as
the =oert:el algorithm and other advanced 33T techniues% but in the end direct 23T evaluation
0as the method chosen because it 0as recogni:ed that the data set in uestion consists of only B or
); elements. 'hile the =oert:el algorithm and decimation633T algorithms are sho0n to be more
efficient than direct evaluation of the 23T% the processing cycle reductions offered by these options
is minimal 0hen the actual data series is small. 3or the B6element algorithm% determining four
freuency bins instead of <ust one added a nearly trivial amount of processing time relative to the
entire algorithm implementation. 3or the );6element algorithm% the massive reduction in the
processing reuirements of the curve fit algorithm compensated for the calculation of eight
freuency bins.
2etermining the magnitude of the comple? numbers representing the freuency bins
calculated by the 23T 0ithout the availability of a suare root function at first glance appears
B+
daunting. (fter searching for various numerical appro?imations to determine the magnitude of a
comple? number% such as a polynomial appro?imation of a suare root function or successive
appro?imation utili:ing a binary search% a much simpler appro?imation 0as found K)BL that simply
estimates the magnitude of a comple? number by using a linear combination of the real and
imaginary parts1
X=omax (",')+min(",') 4;.*5
0here I is the real part of the comple? number G and A is the imaginary part and o and are
coefficients 0hich can be altered based on the desired error characteristics of the estimator. This
appro?imation 0or.s by essentially restricting the phase of the comple? number to a region in 0hich
a linear combination of the t0o parts is a reasonable appro?imation of the magnitude. 3irst% ta.ing
the absolute value of the real and imaginary parts of G forces the phase of the comple? value to the
first uadrant. Second% the ma" and min operations further restrict the phase of the number to be
less than n/ 4 . Table ;.) sho0s an abbreviated list of possible values for the coefficients o and
and their associated error statistics.
Selection of the coefficients depends on the acceptable amount of error in the estimated
magnitude. (s the uality metric denominator is the sum of * or more numbers produced by this
appro?imation% the IMin. #MS 0M (vg.G,J version of the coefficients 0as selected for use in the
algorithm. To perform the final metric calculation% the numerator and denominator values 0ere
produced and the denominator value 0as scaled by the desired metric threshold.
B*
Ta#le 2.1. ;ist of coefficients and associated error statistics for magnitude estimation function.
4ame o
*rror Characteristics
Average
9linear:
.6S 9d;: (eak 9d;:
Min. #MS !rror ,.C@-A@ ,.*C+@A ,.,,,AA 6*+.; 6+A.;
Min. Pea. !rror ,.C;,@* ,.*C-B+ 6,.,)*,A 6*).@ 6+B.)
Min. #MS 0M (vg. G , ,.C@B,; ,.*C+-, ,., 6*+.; 6+A.-
)% Min. #MS !rror )., ,.*+*+; 6,.,+,B- 6+B.- 6+*.B
)% Min. Pea. !rror )., ,.**ACB 6,.,+A;) 6+B.* 6+A.)
)% )M+ )., ,.A 6,.,B;-B 6+,.- 6)B.;
)% )M@ )., ,.+A ,.,,;@; 6+-.; 6)B.-
)% *MB )., ,.*-A 6,.,@,); 6+;.@ 6+*.@
2.2., &ata .ollection and Filtering 3sing a atla# 1raphical 3ser Interface
Initially the 27( estimates 0ere recorded using the debug interface to the 2SP from the
Sunrise S2/ tools. The memory location that held the estimated 27( variable 0as periodically
probed for its value and 0ritten do0n. 7bviously% this process is very tedious and time6consuming
and a more efficient approach could be found. (s all control of the receiver during development
and testing too. place using the VWI bus% the #S6+*+ port 0as free for other uses. Therefore% that
port could be used to output the 27( estimates as 0ell as their associated uality metrics. The
approach ta.en 0as to1
). "onvert the floating6point 27( estimate to a string of (S"II characters in a fi?ed format
0ith * digits before and @ digits after the decimal point.
+. 7utput 27( estimate string follo0ed by carriage return and line feed characters.
*. 7utput decision based on the calculated uality metric follo0ed by carriage return and line
feed characters. The string IY)J is sent for a good estimate and I6,J for a bad estimate.
The receiver 0ill output these values for every array s0eep follo0ing system initiali:ation.
Since the 27( estimate and metric decision values are sent as plain te?t values instead of binary
encoded% any terminal program can be used to display this data during system operation. This also
facilitated the development of a Matlab =UI to collect and display 27( estimate data in real time.
B@
Figure 2.17. Screen capture of atla# data collection 13I.
( screen shot of the =UI is sho0n in 3igure ;.),. The underlying Matlab program opens the serial
port on the host P" to listen for the receiver serial output% retrieves each 27( estimate value% and
then calculates various statistics for a sliding 0indo0 of estimates as 0ell as filters the data. The
polar plot in the left of the =UI plots the current 27( estimate as 0ell as the current mean 27(
and filter output. The plot in the lo0er right of the =UI plots a sliding 0indo0 of the previous *,,
27( estimates. The =UI also allo0s the user to save the collected 27( estimates to a Matlab data
file for future processing.
); !lement (rray "onstruction
In order to test the implementation of the );6element algorithm% a ne0 antenna array 0as
reuired as the B6element array and s0itching circuit 0ould obviously be insufficient. "onseuently
the design of a ne0 uniform circular array 0as underta.en based on the design of the B6element
array.
2.2.* Arra$ aterials and 1eneral &esign.
The goal 0as to copy the manufacturing aspects of the B6element array 0hile simply scaling
the si:e up to accommodate ); antennas. The intended inter6element spacing 0as 0.4\ % 0hich
translates to an array radius of 1.03\ . (t +.,=H:% this 0ould reuire an array diameter of *,.-;cm
4)+.)in.5 but the implementation is not necessarily tied to that specific freuency. 3or convenience
sa.e% the array diameter 0as set to ),in. 4+A.@cm5% giving an inter6element spacing of 0.4\ at an
operating freuency of +.@++=H:% 0hich is 0ell 0ithin operating freuency range of both the
receiver and #3 s0itches. Table ;.* is a list of the ma<or parts used in construction of the );6
element array.
BA
Ta#le 2.2. )arts list for maBor items involved in construction of 12(element arra$ switching circuit.
(art 6odel < 6anufacturer=Supplier >uantit! (rice
Spartan6+ 3P=( $oard $A6Spartan+eY $urch !lectronic 2esigns ) Z*,,
3lash P#7M $A63lashProm $urch !lectronic 2esigns ) ZB,
2IP S0itches (dd6on $A62ipS0itch $urch !lectronic 2esigns ) Z+,
SP@T S0itch >S'(6@6*,2# Mini6"ircuits A Z)+,
He? Inverter SNA@(",@ Te?as Instruments @ 3ree
)8 Phase Matched "ables 6 #3 Products +, Z),
SM( "onnectors 6 Mouser.com ); Z+.A,
(s this array 0ill be digitally controlled% a Wilin? Spartan+ field programmable gate array
43P=(5 from $urch !lectronic designs 0as chosen. The development board from $urch!2
provides access to all +*, IM7 pins on the 3P=( and contains its o0n voltage regulators and a
programmable oscillator that can provide a stable cloc. signal from )MH: to ),,MH:. ( 3lash
P#7M add6on board from $urch!2 0as selected to load the 3P=( program upon po0er6up.
This is reuired because the circuitry in 3P=(s is #(M6based and 0ill lose its programming 0hen it
loses po0er. (n additional add6on board containing ); 2IP s0itches 0as included to provide
fle?ible input for the selection of multiple possible s0itching algorithms in the 3P=( as 0ell as for
future e?pandability.
The SP@T #3 s0itches from Mini6"ircuits 0ere the same s0itches used in the s0itching
circuit for the B6element array. They reuire both YAV and 6AV po0er supplies and AV TT9 signals
for control. The he? inverters are "M7S based inverters used to buffer the input and output pins
on the 3P=( in order to protect the 3P=( from current spi.es. The inverters are also used to
convert both the the digital control signals from the receiver as 0ell as the control signals to the
s0itches. $oth the receiver8s digital outputs and the s0itch control signals operate at AV 0hile the
3P=( operates at *.*V. The 3P=( is technically capable of sin.ing and sourcing AV logic signals%
but the inverters 0ere added as a failsafe measure.
B;
Figure 2.11. Bloc+ &iagram of switching circuit for 12(element arra$.
The antennas and ground plane 0ere made of the same materials as the B6element array.
The antennas 0ere made from rigid brass tubing 0ith a diameter of )M);in. and sanded to a length
of \/ 4 and soldered to the end of the SM( panel mount receptacles. The ground plane consisted
of a piece of sheet metal to 0hich the SM( receptacles 0ere attached.
2.2.0 Switching .ircuit &esign
( bloc. diagram of the ne0 s0itching circuit design is sho0n in 3igure ;.)). Than.s to a
special modification by an engineer at 2#S6SS% the '&6B;+Ca used for this implementation also
includes * digital output signals 0hich can be set from the 2SP code by simply setting bits in certain
memory locations. These digital outputs 0ere routed to unused pins on one of the receiver8s front6
panel connectors. The original scheme for antenna control 0as to use one of the digital liines as a
data cloc. and the other t0o lines as parallel data streams that 0ould send the binary number
corresponding to the desired antenna element t0o bits at a time. Unfortunately% timing for the
signals proved difficult to consistently provide and the 3P=( 0as unable to properly receive the
data.
"onseuently a simpler signaling scheme 0as devised and is sho0n in 3igure ;.)+. 7ne of
the control lines is used as a Is0itch controlJ signal. 'hen the 3P=( detects a short pulse on this
line it simply s0itches to the ne?t element counter6cloc.0ise from its current position. The second
control line is used as a Ireset controlJ signal. Sent concurrently 0ith the Is0itch controlJ signal%
this signal tells the 3P=( to reset to the first antenna in the array regardless of its current position.
The third control line% called Iau?iliary controlJ is unused but still sent to the 3P=( to provide
future e?pansion capabilities. In the current implementation it simply mimics the Ireset controlJ
signal but is ignored by the 3P=(. The one dra0bac. that this circuit has in relation to the B6
element s0itching circuit is that it is only possible to easily select the first antenna in the array
instead of any arbitrary antenna. 3or testing purposes% this 0as solved by the addition of the 2IP
B-
Figure 2.12. &igital control signals for new switching circuit.
s0itches for use as manual control inputs.
The #3 s0itch net0or. ta.es a t0o6tiered approach. The first tier of @ SP@T s0itches are
connected directly to the antennas by a set of ); phase6matched SM( cables. The outputs of the
four first tier s0itches are then connected to the inputs of the single second tier SP@t by another set
of @ phase6matched SM( cables. The output of the second tier s0itch provides the ssingle #3
output for the array.. ( total of B digital control signals are routed from the 3P=( through
inverters to the SP@T s0itches. The first tier s0itches all share the same @ control signals. (s only
one of the first tier s0itches can be selected by the second tier s0itch at a time% the state of the other
three first tier s0itches is unimportant.
In order to provide bac.0ards compatibility bet0een the ne0 s0itching circuit and the
original B6element antenna array as 0ell as to facilitate array calibration% an e?pansion board for the
3P=( containing ); 2IP s0itches 0as used. Table summari:es the various control options
available for the s0itching circuit. The reset state is asynchronous and activated by the first s0itch
4s0itch ,5. 2uring reset% the 3P=( ignores all other s0itch and signaling inputs and directs the #3
s0itches to select the first antenna. The first operational state% labeled in the table as IS0itch
through );%J s0itches seuentially through all ); antennas based on the control signaling from the
receiver. The second operational state% labeled IS0itch through B%J s0itches seuentially through
BB
Ta#le 2.,. Ta#ular description of manual switching circuit state control via &I) switches.
D$( Switch State 9Logical:
/ # % ' & ) , +-#)
Switching Circuit State
) W W W W W W W #eset State 4Non67perational5
, , , W W W W W 7perational% S0itch through );
, ) , W W W W W 7perational% S0itch through B 4even inde?ed5
, W ) , , , , W Static% (ntenna , selected
, W ) ) , , , W Static% (ntenna ) selected
, W ) , ) , , W Static% (ntenna + selected
[
[
[
, W ) ) , ) ) W Static% (ntenna )* selected
, W ) , ) ) ) W Static% (ntenna )@ selected
, W ) ) ) ) ) W Static% (ntenna )A selected
the even6inde?ed s0itch ports to support the use of an B6element array. The IstaticJ states allo0 for
manual selection of the antenna elements based on the binary encoding of their antenna inde? using
s0itches * through ;.
3igure ;.)* is a picture of the assembled s0itching circuit. The entire assembly 0as
mounted on a )M@J Ple?iglass base. 'iring for the #3 s0itch po0er supply lines 0as routed
underneath the base. The po0er supply for the inverters came from the 3P=( board N in addition
to a *.*V regulator to po0er the 3P=(% the development board also had a AV regulator to supply
any possible AV peripherals. The 3lash P#7M and &T(= programming boards also dre0 their
po0er from the 3P=( board. The YAV and 6AV po0er supply connections for the #3 s0itches
0ere provided by a des.top po0er supply in the MP#= lab.
BC
Figure 2.1,. )icture of the assem#led 12(element switching circuit.
2.2.2 Antenna Arra$ .ali#ration and 6peration
(fter construction of the antenna array% the final t0o steps before algorithm testing 0ere to
first produce a calibration table to compensate for any phase differences bet0een the different paths
through the s0itching net0or. and second to measure the propagation delay bet0een the generation
of the s0itch signal at the receiver and arrival of the desired antenna8s data in the 2SP. 3igure ;.)@
provides a bloc. diagram of the phase calibration setup. (n #3 signal at the desired freeuncy
offset is generated by and #3 signal generator and passed through a ,E po0er splitter. 7ne output
from the splitter is connected straight to an oscilloscope to be used as the reference signal. The
other output from the po0er splitter is then connected to each of the ); #3 ports on the s0itching
circuit and the output of the s0itching circuit is connected to the second oscilloscope input. The
phase difference bet0een the reference signal and s0itching circuit output is then recorded for each
#3 s0itch setting. This set of ); phase values is then used in the 23 processing at the output of the
P99 to remove the constant phase shifts on the received signal due to the separate #3 paths
C,
Figure 2.1*. RF switching circuit phase cali#ration setup.
Figure 2.10. !$e diagram of 12(element arra$ output and corresponding );; used to measure switch transition
timing.
through the s0itching circuit.
The final step in array calibration 0as to measure the timing of the s0itching transitions..
3igure ;.)Aa is an eye diagram of the phase of the array output signal plotted against sample inde?
for each processing bloc.. This plot sho0s that the #3 s0itching transitions consistently occur
during samples +; through +B. This is mar.edly different from the original B6element array N the
s0itch transitions for this array coincided 0ith the beginning of each data bloc.% 0hich definitely
simplified the implementation of the parallel P99s. 3or the ne0 s0itching circuit% the P99 state 0ill
need to be loaded and stored near the middle of each processing data bloc. instead of at the
beginning and end of each bloc. but that is of minor conseuence. 3igure ;.)Ab sho0s the eye
diagram of the parallel P99 trac.ing plotted against the sample inde? for each data bloc.. To
account for the s0itching transitions during samples +; through +B% the P99 state at sample +@ is
stored to the relevant memory slot for that antenna and the P99 for the ne?t antenna is not
initiali:ed until sample *). The A samples 4inde? +A through *,5 containing the s0itching transitions
are ignored. To measure the delay bet0een s0itching signal generation and arrival of the relevant
antenna8s data% the first antenna 0as disconnected from the #3 s0itching circuit and the number of
processing bloc.s bet0een the generation of the reset control signal and arrival of a data bloc.
consisting purely of noise 0as counted. It turns out that it ta.es a total of @ data bloc.s.
,.' $mplementation (erformance
2.,.1 )rocessing .$cle Re-uirements
3igure ;.); is a bar graph of the number of processing cycles used by each version of the
algorithm relative to the ma?imum available cycles for the I3 band0idth used. 'ith an I3
C)
Figure 2.12. )rocessing c$cles re-uired #$ various implementations of the );; &F algorithm as a percentage of total
availa#le c$cles.
band0idth of ),,.H:% each processing bloc. has +,@B, processing cycles available. The 2SP 7S
does introduce a slight overhead% appro?imately )V of the total on average. This 7S overhead
includes (=" operations as 0ell as coordination and control of the #3 and digiti:ation portions of
the receiver and memory management. The II\DJ version of the implementation represents the
processing reuirements of the algorithm as originally implemented using the nonlinear P99 and
original B6element array. This version reuired B,V of the avaliable processing cycles on average
and pea.ed at over C,V during the evaluation of the curve fit algorithm. The IM\PJ version of the
algorithm 0ith the B6element array represents the reuirements of the algorithm after the nonlinear
P99 0as replaced 0ith the linear P99 and the original B6element array. This sho0s that the
replacement of the P99 introduced a drastic reduction in the amount of time needed to evaluate the
23 algorithm. (fter the introduction of the freuency offset estimator% represented by the category
IM\P 0M 3re. #em.%J the addition reuired a modest increase in the average number of processing
cycles reuired N from )AV to +BV.
'hen comparing the processing reuirements of the );6element algorithm to that of the B6
element algorithm% the measurements sho0 that the reuirements for both algorithms are
comparable even though the );6element curve fit algorithm should ta.e less time to perform. The
C+
Figure 2.15. )erformance plot of the implementation of the 9(element );; &F algorithm with fre-uenc$ offset
removal showing a.< @left< RS error vs. S?R and #.< @right< simulated RS error vs. S?R for comparison.
reason the t0o versions have similar reuirements stems from the implementation of control signal
generation for the );6element array. The generation of the digital control signaling is implemented
in the 2SP code by setting the necessary register bits and then using a loop of Ino6operationJ
commands to create a delay before clearing the register bits. This delay loop runs longer than is
necessary for the 3P=( to detect the signaling pulses. (s it 0as e?pected that the );6element
algorithm 0ould have a significant amount of free processing cycles to accommodate a la?
implementation.
2.,.2 )erformance of the 9(element Algorithm with a Fre-uenc$ 6ffset
3igure ;.)-a is a plot of the measured #MS error plotted against estimated SN# on the
received signal for the B6element P99 23 algorithm 0ith the freuency offset estimator. 3or this
trial% the freuency offset 0as appro?imately AA,H:. This plot sho0s that the implementation of
the algorithm offers e?cellent performance% i.e. less than ),E #MS error% do0n to an SN# of Ad$.
The addition of 27( estimate filtering further enhances this error performance. 3igure ;.)B is a
scatter plot of the error in the recorded 27( estimate samples for each estimated SN# value. 'e
can see that the ma<ority of the samples are clustered about :ero error and that the 0idth of the
distribution of the samples increases as SN# decreases.
C*
Figure 2.19. Scatter plot of error in estimated &6A samples from implementation of the 9(element algorithm.
'hen comparing these plots to the simulated performance of the B6element algorithm in
3igure ;.)-b% 0e find that the implementation appears to perform better than the simulated system.
This may not actually be the case. The SN# for these 23 trials 0as estimated using the signal
strength reported by the receiver. To determine the noise floor at the band0idth used% the #3 input
0as terminated and the reported signal strength 0as recorded. Then during the trials% the reported
signal strength during algorithm operation 0as recorded and the difference bet0een this value and
the measured noise floor 0as used as the estimated SN#. This 0as only a rough estimate of the
signal strength as the amplitude of the received data noticeably varied as the array s0itched. The
signal strength reported by the receiver 0as a long term average and essentially hid the fluctuations
in the strength of the received signal from each antenna.
2.,., )erformance of the 12(element Algorithm
Unfortunately% 23 trials 0ith the );6element array ultimately 0ere not as successful as 0ith
the B6element array. Irregularities in the array construction resulting from the irregular shape of the
ground plane relative to the shape of the array as 0ell as difficulties producing the actual antenna
elements contributed to the received signal manifold deviating from the theoretical model enough to
cause brea.do0ns in the curve fit algorithm. 3igures ;.)Ca and ;.)Cb plot the phase curves traced
C@
Figure 2.1:. )lots of phase curves measured using the 12(element antenna arra$ showing the a.< @left< );; output
and #.< @right< first difference curves for 2* consecutive arra$ sweeps.
by the parallel P99 output and the first difference from implementation data and compare them to
the theoretically e?pected curves. This data 0as ta.en during the only successful trial of the );6
element 23 algorithm. The true 27( 0as appro?imately ,E and the estimated SN# 0as over
+,d$. 'e can see that although the P99 output data appears relatively close to the e?pected value%
the first difference curve resulting from the P99 output data appears to differ significantly from the
e?pected value% yet the curve fit algorithm is still successful in producing the correct data set. (s the
SN# 0as a fairly large value% noise on the received signal should not have much of an effect on the
phase estimates produced by the P99.
3igures ;.+,a and ;.+,b plot the estimated 27( and associated uality metric data resulting
from the phase data plotted in 3igure ;.)C. The estimated 27( 0as consistent over the observed
time duration and the uality metrics sho0 that the measured first difference curve produces
acceptable results. Unfortunately this 0as not repeatable. (rray imperfections as 0ell as possible
mutual coupling bet0een elements distorted the estimated phase curves for other 27(s used in
testing. (s the 27( of the target transmitter 0as changed% the deviations in the measured phases
from the e?pected values 0ere not constant or repeatable% and therefore they became impractical to
easily ta.e into account in the 2SP soft0are. This means that the main contribution of the 0or. on
CA
Figure 2.27D )lots of data from the implementation of the 12(element algorithm showing a.< @left< !stimated &6A
and #.< @left< associated -ualit$ metric magnitude over time for a true &6A of 78.
the );6element algorithm 0as the theoretical development and the design of the ne0 s0itching
control circuit.
C;
Chapter +
Conclusion
This thesis has provided an overvie0 of the development of a single6channel algorithm from
the design of the initial basic version through its implementation on a soft0are6defined receiver.
This final chapter 0ill first summari:e the main contributions of this 0or. to the algorithm8s
development. Second% technical challenges and problems faced in the implementation of the
algorithm 0ill be discussed. 9astly% possible future directions for this pro<ect to follo0 0ill be
discussed.
+.# Summar! of .esults
The basic version of the P99 23 algorithm as presented in "hapter * is primarily an
adaptation of classic single6channel 23 concepts for use 0ith digital modulation schemes and
implementation on a soft0are defined receiver. Past single6channel 23 systems 0ere designed to
0or. 0ith analog modulated signals and the implementation relied heavily on custom analog
hard0are. This algorithm bro.e 0ith that tradition by reuiring a simple antenna array and #3
hard0are but po0erful and fle?ible 2SP hard0are.
"hapter @ discussed the main contributions of this 0or. in the form of modifications to the
P99 algorithm to overcome various challenges encountered in the initial implementation of the
algorithm. 3irst% the nonlinear "ostas P99 used to estimate the phase of the signal received by each
antenna element 0as changed to a linear "ostas P99. This change did not introduce any apparent
differences in the phase estimation process but 0as intended to reduce the computational burden
imposed by the P99 on the 2SP hard0are. The nonlinear P99 reuired numerous multiplications
and calls to a "7#2I" algorithm function in its processing loop. The linear P99 eliminated those
reuirements by performing the e?act same functions 0ith simple addition and subtraction. Second%
a modification of the P99 to estimate and remove a freuency offset 0hile preserving the
differential phase relationships bet0een the signals trac.ed by each P99 0as introduced. Third% a
ne0 curve fit algorithm 0as developed to allo0 the algorithm to operate 0ith a );6element antenna
C-
array 0ithout reuiring an e?ponential increase in computational comple?ity that 0ould other0ise
result from scaling up the original curve6fit algorithm 0hich 0as designed for an B6element array.
3inally% a 27( estimate uality metric 0as established to aid in the filtering of erroneous 27(
estimates produced by the 23 system in lo0 SN# conditions.
"hapter A presented the simulation analysis of the performance of the algorithm in an
('=N channel 0ith the various algorithm modifications. Simulations of the algorithm 0ith
varying P99 gain sho0ed that as P99 gain decreases and the P99 loop filter conseuently decreases
the #MS error of the 27( estimates decreases due to reductions in the variance of the P99 phase
output error. The simulation of the freuency offset estimator sho0ed that the introduction of the
estimator introduces a noticeable increase in the #MS error for the B6element algorithm but the );6
element algorithm8s performance does not similarly degrade because the );6element curve6fit
algorithm already introduces an inherent error overhead due to the sensitivity of the curve6fit
algorithm to noise in the phase estimates. The inclusion of lo0pass and M( filtering on the output
27( estimates does provide a considerable reduction in the #MS error of both the B and );6
element algorithms. 2ue to the nature of the t0o algorithm8s respective curve6fit processes% it 0as
found that lo0pass filtering has a greater effect on the B6element algorithm 0hereas M( filtering has
the greatest effect on the );6element algorithm. In the end% both the B and );6element P99 23
algorithms 0ere found to have very good performance in an ('=N channel.
"hapter ; presented the implementation of the 23 algorithm on an S2# platform 0ith a
custom design B6element uniform circular antenna array and #3 s0itching circuit. The
implementation of the modifications to the B6element algorithm 0ere described and the results 0ere
uite favorable. The s0itch to a linear P99 provided a drastic reduction in processing reuirements
0hile the freuency offset estimator performed its intended purpose and the resulting #MS error
reasonably conformed to e?pected values determined by simulation. The implementation of the );6
element algorithm reuired both a ne0 antenna array and s0itching circuit. ( ne0 3P=(6
controlled circuit 0as designed that accepted digital control signals from the S2# as 0ell as manual
controls from a ban. of s0itches. Unfortunately% numerous imperfections in the si:ing and
construction of the antenna array prevented the );6element algorithm from performing 0ell. (s
e?pected% the algorithm reuired less processing po0er than the B6element algorithm to perform its
computations but inconsistencies in the phase of the received signal due to problems 0ith the
CB
manufacturing of antennas and possible mutual coupling bet0een antenna elements did not allo0
the curve6fit algorithm to reliably converge to the e?pected first difference curve. In the end% the );6
element algorithm may prove to not be a viable path for future development due to the difficulties
in manufacturing an antenna array 0ith a large number of elements for use in the UH3 band. In
fact% the antenna array is the most difficult part of the implementation of most 23 systems due to
the sensitivity of #3 hard0are to slight differences in manufacturing processes over time.
+.% Future ?ork
(s this 23 system is primarily implemented in soft0are as a 2SP algorithm% the addition of
future adaptations and modifications to the signal processing layer is limited only by the practical
limitations of signal processing techniues and 2SP hard0are abilities. 'or. on the P99 23
algorithm can e?tend it for use 0ith different modulation schemes and to attempt to combat the
problems arising from 27( estimation in fading channels. (s far as modulation is concerned% this
algorithm 0as designed to 0or. only 0ith $PS/ modulated or unmodulated target signals. The
curve6fit algorithm in particular bases its operation on the assumption that $PS/ modulation is
present. Higher order PS/ modulation schemes as 0ell as other digital modulation types such as
D(M 0ill present problems relating to the method of carrier recovery employed. The "ostas P99
used in this algorithm can be very easily modified to accommodate higher6order PS/ modulation%
but the ambiguities on the estimated carrier phase for each antenna 0ill definitely increase the
comple?ity of the curve6fit algorithm. 3or e?ample% the estimated carrier phase of a DPS/
modulated signal can have ambiguity of nn/ 4 % 0here n-0,1,2,3 . This 0ill lead to a dramatic
increase in the permutations of the measured first difference data used to resolve the ambiguities by
the MS!6comparison method for the B6element algorithm. It may turn out that the );6element
curve6fit algorithm 0ill not 0or. as the amplitude of the second difference of the P99 output
approaches the amplitude of the phase ambiguities. ( generali:ed version of the algorithm that can
handle many digital modulation schemes 0ill represent an attractive option for a modern single6
channel 23 system. 3urthermore% modifications to the algorithm that allo0 for an antenna array
that differs from the theoretical model 0ould definitely ma.e it a general purpose tool.
3ading channels and other harsh #3 environments also present numerous problems that
may be insurmountable for a single6channel system. Intelligent filtering and statistical modeling of
CC
the received signal may provide innovative solutions to the problem but may also lead to dead6ends
for the single6channel system.. 7ne 0ay in 0hich this 0or. can continue is by increasing the scope
of the pro<ect to involve the design and implementation of e?isting multi6channel 23 algorithms on
S2# platforms 0ith reduced channel counts. Initial 0or. on the adaptation of the MUSI"
algorithm for use 0ith a t0o6channel receiver and multi6element antenna array K)CL sho0s great
promise. The ability of the MUSI" algorithm to spatially resolve multiple received signals in fading
channels is 0ell .no0n but has typically reuired a one6to6one receiver6to6antenna ratio as 0ell as
significant processing po0er. (n efficient implementation of the algorithm 0ith a small t0o6
channel receiver that can approach the performance of the full6blo0n multi6channel algorithm
represents a significant leap for0ard in 23 technology.
+.' Final Thoughts
This thesis proved to be a valuable e?perience. Not only 0as it theoretically challenging% but
it 0as also technically challenging in that it reuired the inclusion of real60orld concerns as
implementation of the algorithm 0as the main goal. $eing involved 0ith the pro<ect from basic
algorithm design to the design of antenna s0itching hard0are and implementation as a real system
0as very re0arding. 7ften times research 0or. can seem divorced from reality in that the
assumptions relied upon to investigate any problem may not al0ays be valid and the violation of
them can have serious implications for the viability of the 0or. in a real implementation. 'hile
closely related% industry and academia can as. very different uestions of this 0or.. 'hereas a
professor might be more interested in the theoretical underpinnings of a 23 system% an engineer in
the field 0ill al0ays be concerned 0ith ho0 0ell it performs in practice. This pro<ect attempted to
satisfy both and in that attempt 0as an invaluable learning e?perience not only because of the
successes but also because of the failures. It 0as the perfect primer for a career as an engineer in the
0ireless industry.
),,
.eferences
K ) L &. &. /eaveny% I(nalysis and Implementation of a Novel Single "hannel 2irection 3inding
(lgorithm on a Soft0are #adio Platform%J M.S. Thesis% Virginia Polytechnic Institute and State
University% $lac.sburg% V(% +,,A.
K + L N. Harter% &. &. /eaveny% S. Ven.atesh% and #. M. $uehrer% I(nalysis and Implementation of a
Novel Single6"hannel 2irection 3inding (lgorithm%J )roc. 6f 2770 I!!! 'ireless .ommunications
and ?etwor+ing .onference% Vol. @% pp +A*,6+A**% March +,,A.
K * L N. Harter% &. &. /eaveny% S. Ven.atesh% and #. M. $uehrer% I(nalysis and Implementation of a
Novel Single6"hannel 2irection 3inding (lgorithm%J 2#S Signal Solutions Technical
Symposium% May +,,A.
K @ L N. Harter% &. &. /eaveny% S. Ven.atesh% and #. M. $uehrer% I2evelopment of a Novel Single6
"hannel 2irection 3inding (lgorithm%J )roc. 6f 2770 I!!! ilitar$ .ommunications .onference% Vol.
@% pp +-+,6+-+A% 7ctober +,,A.
K A L &. ". 9iberti and T. S. #appaport% Smart Antennas for 'ireless .ommunicationsD IS(:0 and Third
1eneration .&A Applications% Upper Saddle #iver1 Prentice Hall PT#% )CCC.
K ; L #3 Products% 'eb Note 'N6,,+ I$asics of the 'atson6'att #adio 2irection 3inding
Techniue.J
K - L 2. Peavey and T. 7gunfunmi% IThe Single "hannel Interferometer Using a Pseudo62oppler
2irection 3inding System%J )roc. 6f 1::5 I!!! .onference on Acoustics= Speech= and Signal )rocessing%
Vol. A% pp @)+C6@)*+% (pril )CC-.
K B L #3 Products% 'eb Note 'N6,,@ I( "omparison of the 'atson6'att and Pseudo62oppler
23 Techniues.J
K C L #. S. Smith% H. (nderson% and 9. &ugler% I"orrelative Vector 2irection 3inding%J 'at.ins6
&ohnson Technical Symposium% =aithersburg% M2% )CCA.
K ), L 9. &ugler% I2irection 3inding Techniues for T2M( Signals%J 2#S Signal Solutions
Technical Symposium% =aithersburg% M2% +,,A.
K )) L #. 7. Schmidt% IMultiple !mitter 9ocation and Signal Parameter !stimation%J )roc. of
RA&. Spectrum !stimation 'or+shop% =riffiss (3$% NX% pp. +@*6+AB% )C-C.
),)
K )+ L #. 7. Schmidt% IMultiple !mitter 9ocation and Signal Parameter !stimation%J )roc. of I!!!
Trans. 6n Antennas and )ropagation% Vol. (P6*@% No. *% Mar. )CB;.
K )* L #. Wu% I!valuation of MUSI" for Position 9ocation in a "ellular System 0ith Multipath%J
M.S. Thesis% Virginia Polytechnic Institute and State University% $lac.sburg% V(% )CC;.
K )@ L "ostas% &.P.% ]Synchronous "ommunications%] )roceedings of the IR! % vol.@@% no.)+pp.)-)*6
)-)B% 2ec. )CA;.
K )A L 9. '. "ouch% &igital and Analog .ommunications S$stems 2
th
!dition% Upper Saddle #iver% N&1
Prentice Hall% +,,).
K ); L '. H. Tranter% /. S. Shanmugan% T. S. #appaport% and /. 9. /osbar% )rinciples of S$stems
Simulation with 'ireless Applications% Upper Saddle #iver% N&1 Prentice Hall PT#% +,,@.
K )- L #. $. !rtel% I(ntenna (rray Systems1 Propagation and Performance%J Ph.2. 2issertation%
Virginia Polytechnic Institute and State University% $lac.sburg% V(% )CCC.
K )B L #. =. 9yons% 3nderstanding &igital Signal )rocessing% Upper Saddle #iver% N&1 Prentice Hall
PT#% )CC-.
K )C L N. Harter% ISuperresolution 2irection 3inding 0ith the MUSI" (lgorithm%J 2#S Signal
Solutions Technical Symposium% =aithersburg% M2% +,,;.
),+
0ita
Nathan Harter 0as born in Maryville% Illinois on 2ecember +C% )CB,. He attended (lthoff
"atholic High School in $elleville% I9 and later enrolled at Par.s "ollege of !ngineering and
(viation at Saint 9ouis University in the 3all of )CCC. 'hile at Saint 9ouis University% he pursued a
$achelor of Science in !lectrical !ngineering degree% graduating summa cum laude.
(fter graduation from Saint 9ouis University% Nathan enrolled at Virginia Polytechnic
Institute and State University in the 3all of +,,*% 0here he 0as a0arded the $radley =raduate
#esearch 3ello0ship by the department of !lectrical and "omputer !ngineering. 'hile pursuing
his Master of Science degree he became a member of the Mobile and Portable #adio #esearch
=roup. 2uring his time at MP#= he focused on direction finding systems and the implementation
of communication systems on soft0are defined radios. His research interests include 0ireless
communications% direction finding algorithms and their implementation% soft0are defined radio% and
communication system simulation. He defended his master8s thesis on 3riday% (pril )*
th
% +,,-.
(fter his time 0ith MP#=% Nathan accepted a position 0ith the 2irection 3inding and
"ellular Systems =roup at 2#S Signal Solutions in =aithersburg% Maryland 0here his 0or. involved
the design and implementation of 23 and beamforming systems and the design and testing of S2#
hard0are and algorithms. He is currently a Systems !ngineer at =* Technologies% Inc. in Mt. (iry%
Maryland. His 0or. at =* focuses on cellular net0or.s and on the design of direction finding and
intelligence systems. Nathan no0 lives outside 3rederic.% Maryland 0ith his 0ife Sarah and their
portly cat Sylvia. His hobbies include reading% playing the guitar% sno0boarding% coo.ing% and
bi.ing.
),*

You might also like