Over-The-Horizon Radar Tracking Using The Viterbi Algorithm Second ...

3 downloads 0 Views 832KB Size Report
Aug 31, 1995 - 9. the variable revisit rate due to scheduling of dwell regions. ... frequency is a further source of error in the measurement process, and we ...
Over-The-Horizon Radar Tracking Using The Viterbi Algorithm Second Report to HFRD 1

Graham Pulfordy, and Barbara La Scalay yDepartment of Electrical and Electronic Engineering, University of Melbourne, Parkville 3052,

Australia and the Cooperative Research Centre for Sensor Signal and Information Processing (CSSIP) August 31, 1995

Contents

1 Introduction

1.1 Overview : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.2 The Tracking Problem in Over-The-Horizon Radar : : : : : : : : : : : : : : : : : :

2 Preliminary Development 2.1 2.2 2.3 2.4

Target and Radar Measurement Model : Kalman Filter Equations : : : : : : : : : Gating : : : : : : : : : : : : : : : : : : : Clutter Model : : : : : : : : : : : : : : :

3 Viterbi Data Association 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9

Association Events : : : : : : Data Association Problem : : Transition Costs and Gating : Cost Function : : : : : : : : : Target Con dence Model : : Initiation : : : : : : : : : : : Merging : : : : : : : : : : : : Summary of VDA Algorithm Computational Complexity :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

2

2 2

3

3 4 5 5

5

5 7 8 11 11 12 14 14 15

4 Performance Example

16

5 Further Developments

18

6 Discussion and Further Work

28

4.1 Simulation Parameters : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4.2 Simulation Results : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5.1 Velocity Ambiguity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5.2 Multiple Targets : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5.3 Manoeuvring Target : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

1 Research

supported

by

High

Frequency

Radar

Organisation.

1

Division,

Defence

Science

and

16 17 18 26 26

Technology

1 Introduction

1.1 Overview

This is the second report on the application of hidden Markov modelling in over-the-horizon radar tracking. This rst report [1] surveyed the literature on HMM tracking and concluded with the decision to apply Viterbi algorithm to solve the data association problem, teamed with Kalman ltering to produce target state estimates. This approach is based on the work of Quach and Farooq [2]. In this report we customise the Viterbi data associator (VDA) for the OTHR tracking problem. This involves the introduction of gating and the incorporation of an auxiliary Markov chain model for track con dence. Gating leads to a threefold reduction in computational complexity compared to Quach and Farooq's approach. The resolution of velocity ambiguity is also addressed. Track initiation and maintenance is achieved using the track con dence measure to determine if and when extra VDA lters need to be initiated, con rmed or deleted. The approach is applicable to multitarget scenarios when target tracks do not cross in measurement space. The VDA lter is compared with a standard probabilistic data association lter in a single-dwell, single-target scenario. The VDA lter has comparable performance to PDA for high probabilities of detection and moderate clutter densities, but outperforms PDA in terms of steady-state errors at low probabilities of detection. The initiation transients for VDA tracking are also shorter than those of PDA lters in general. A processing delay of around 5 dwells is recommended for the VDA algorithm.

1.2 The Tracking Problem in Over-The-Horizon Radar

In a preceding report [1], we surveyed the state of the art in the application of hidden Markov modelling techniques to problems in tracking. We also gave a brief overview of the Jindalee overthe-horizon radar system and discussed its measurement characteristics. The signi cant aspects of the tracking problem were identi ed as: 1. the large quantity of data to be processed - of the order of 102 {103 detections per dwell region, per revisit, of 3-dimensional (azimuth, slant range, Doppler) or 4-dimensional measurement data (if SNR is included); 2. the presence of many false measurements due to ionospheric, earth and sea clutter; 3. the non-uniformity and non-stationarity of the clutter; 4. the diculty in mapping radar co-ordinates to geographic co-ordinates (co-ordinate registration); 5. the resolution of velocity ambiguity during track initiation; 6. the e ects of multipath propagation which can cause more than one detection from a single target; 7. the presence of multiple, manoeuvring and stationary targets in the surveillance area; 8. tracking across dwell region boundaries; and, 9. the variable revisit rate due to scheduling of dwell regions. The issues which will be taken into consideration in this report include (1), (2), (5), (7), and (9). Non-uniform sampling rates require only trivial modi cations to the tracking algorithm. Issues such as non-uniform clutter models, multiple dwell regions and multipath propagation are seen as topics for further development of an initial tracking strategy. We noted in [1] that the Viterbi algorithm is the only part of the HMM formalismwhich appears to have immediate application in OTHR tracking, bearing in mind that the maximum processing delay for tracking should be of the order of several dwells. Furthermore, the use of the Viterbi algorithm as a means of solving the data association problem teamed with a conventional Kalman 2

lter to provide state estimates [2] is by far the most promising of the current Viterbi-based tracking techniques. This approach does not require the state or measurement space to be discretised. The number of nodes in the Viterbi trellis at any time is equal to the number of measurements in the dwell (of the order of 100 to 1000) whereas discretisation could result in 10,000 states and has limited resolution. In the Viterbi data association approach, each path through the trellis identi es a particular sequence of target detections and has its own state estimate. Gating can be applied in the usual manner to limit the number of possible associations to consider. In the following sections we develop a Viterbi data association algorithm for OTHR tracking. We subsequently consider modi cations to the basic VDA algorithm to produce a target con dence measure for track maintenance and also show how to deal with velocity ambiguity. Some simulations are provided and the VDA lter's performance is compared with that of standard PDA [3].

2 Preliminary Development

2.1 Target and Radar Measurement Model

The re ned radar measurements consist of slant range, azimuth (with respect to the axis of the receiver array) and Doppler. These measurements are the result of preliminary signal processing of the received signal which includes calibration, range and Doppler processing, clutter and impulsive noise suppression, normalisation and peak detection. The signal-to-noise ratio is also measured, although we will not include this as a state variable for tracking. Jitter in the pulse repetition frequency is a further source of error in the measurement process, and we assume this can be modelled as an additive white noise component with known covariance. The slant range, azimuth and Doppler will be referred to as \radar co-ordinates"; we assume that tracking is carried out in this co-ordinate system, followed by an auxiliary process of co-ordinate registration which is outside the scope of the present study. We will focus on tracking a single target within a single dwell region. Tracking several noncrossing targets is mentioned but not implemented in this report. We assume that the other dwell regions would be treated in parallel, with some track matching rule adopted at the boundaries of adjacent dwell regions. At each revisit time k, the dynamical state of the target is x(k) = [(k); (k);b(k); _ b_ (k)] where  is the slant range and b is the azimuth or bearing. The target is assumed to be nonmanoeuvring and hence follows a nominally straight trajectory (constant range and azimuth rates) in radar co-ordinates, which may be represented by x(k + 1) = Fk x(k) + Gk v(k) (2:1) where   v  _ (k) v(k) = v _ (k) 2 b 3 1 Tk+1 0 0 6 7 Fk = 64 00 10 01 T 0 75 k+1 0 0 0 1 2 1 2 3 T 0 2 k+1 6 7 Gk = 64 Tk0+1 1 T02 75 2 k+1 0 Tk+1 where Tk is the time between the (k , 1)th and kth dwells. These linear equations are valid provided that the the range is large and the angular speed small. The lter process noise v(k) is 3

a zero-mean, white Gaussian sequence with covariance Qk = GkE[v(k)v(k)0 ]G0k  2 1 4 1 3 T T 4 k+1 2 k +1 2_ 1 3 2 6 T T k +1 k +1 = 64 2 0

3

0

7 7 5

(2.2) Tk Tk 2  b_ Tk Tk The measurement vector at dwell k consists of slant range r, Doppler r_ and apparent azimuth a 

1 4 1 2

4 +1 3 +1

1 2

3 +1 2 +1



y(k) = [r(k); r(k); _ a(k)] which satis es



Hx(k) + w(k) for the target (2:3) clutter otherwise where w(k) is a zero-mean, white Gaussian noise process and 2 3 1 0 0 0 H = 40 1 0 05 0 0 1 0 2 2 3  0 0 r 4 E[w(k)w0 (k)] = 4 0 2 0 5 R= r_ 0 0 a2 The clutter detections, for simplicity, are assumed to be uniformly distributed throughout the measurement space of the dwell region. The number of clutter detections received in the \vicinity" of the target is assumed to be a discrete-time Poisson process, which will be clari ed in section 2.4. Measurements are obtained sequentially in blocks for each dwell region. The number of detections per dwell region nk at each revisit is typically in the hundreds. The set of detections pertaining to one dwell region is called a dwell or scan, denoted by Y (k) = fy1(k); :: :; yn (k)g. The sequence of dwells Y k = fY (1);:: :; Y (k)g forms the measurement set for that region. In a similar manner, we denote a sequence of states by X k = fx(1);:: :; x(k)g. A sequence of state estimates forms a candidate track whose quality will be judged using the track con dence model (section 3). y(k) =

k

2.2 Kalman Filter Equations

In the absence of clutter in the measurement set, the optimal minimum-mean-square-error estimator for the system represented by equations (2.1) and (2.3) is of course the Kalman lter. The state estimate x^(kjk) and its error covariance P(kjk) are updated recursively by the equations x^(k + 1jk) = Fk x^(kjk) y^(k + 1jk) = H x^(k + 1jk) P(k + 1jk) = Fk P(kjk) Fk0 + Qk S(k + 1) = HP(k + 1jk) H 0 + R W(k + 1) = P(k + 1jk) H 0 S ,1(k + 1) x^(k + 1jk + 1) = x^(k + 1jk) + W(k + 1) fy(k + 1) , y^(k + 1jk)g P (k + 1jk + 1) = P(k + 1jk) , P(k + 1jk) H 0 S ,1(k + 1) HP(k + 1jk) The initial state estimate x^(0j0) and covariance P(0j0) must also be speci ed to start the recursions. A practical one-point initiation strategy is to use the rst target measurement y(0) to compute x^(0j0) and take a \suciently large" initial covariance P (0j0) to cover the initial estimation error [4]. The azimuth rate, although not measured, is small, so a reasonable initial estimate is b_ (0) = 0. 4

2.3 Gating

In heavy clutter, it is labour-saving to de ne for each target state estimate a validation region or \gate" in the measurement space in which we expect to see a detection from the target at the next dwell. In this way, many detections that are statistically distant from the expected target location are eliminated from the processing. Detections falling within the validation region are referred to as validated or gated measurements for that target. The number of validated measurements at dwell k for a particular target or track will be denoted by mk . Maintaining the same notation as the preceding section, if y^(k + 1jk) is a predicted target measurement with associated covariance S(k + 1), the validation gate G(k) is de ned as 4 fy 2 IR 3 : [y , y^(k + 1jk)]0(S(k + 1)),1 [y , y^(k + 1jk)]  g G(k) = where is a chi-squared random variable with ny = 3 degrees of freedom. We also de ne the gate probability PG as the probability that a measurement falls in the gate. Some examples of and PG are given in the table below. PG 0.95 0.975 0.99 0.999

7.81 9.35 11.3 16.3 The volume of the 3-dimensional ellipsoidal validation region is given by 1 3=2 2: V (k + 1) = 4

j S(k + 1) j 3

2.4 Clutter Model

A statistical model of the spatial and temporal distributions of the clutter within the validation region is required for probability calculations. In the simplest case, the measurement clutter is assumed to be uniformly distributed in azimuth, range and Doppler. The number of clutter detections mk within the validation region of volume V (k) for a given target is assumed to have a Poisson point mass function: 4 (k) = e,V (k) fV (k)gm ; m = 0;1;2; :: : (2:4) Pr(mk = m) = m! where  is the clutter density per unit volume. More general clutter models can be accommodated within this framework (see [5] for example), but the uniform/Poisson model results in a simpler presentation.

3 Viterbi Data Association In the last report [1] we summarised the main aspects of Quach and Farooq's algorithm. Instead of a discrete state-space approach, their algorithm uses forward dynamic programming to tackle the data association problem: compute the \most probable" sequence of measurements to associate with a particular target. The algorithm works in conjunction with a standard Kalman lter to provide target state estimates for each path in the Viterbi trellis. At each revisit time k, we receive the data Y (k) = fy1 (k);: :: ;yn (k)g from the single dwell region in question. The measurements yj (k) correspond to the nodes on a trellis as illustrated in Fig. 1. We derive in this and the following sections a Viterbi data association (VDA) algorithm based on that of [2] which, in addition to the features of the previous work, utilises gating and a target con dence model. k

3.1 Association Events

In order to de ne the association problem, we need to x the set of possible events pertaining to target existence and to the association of measurements to a target or to clutter. Considering a given set of validated measurements Yi (k) = fy1i (k); :: :; ymi (k)g corresponding to measurement or node i in dwell k , 1, we can make the following assertions pertaining to time k: i k

5

Time k , 3 y,1

Time k , 2

x

y0

y2

x

i x

x

x

x

i

x

x

x

x

i

y3

i

i

x

y4

Time k

x

i

y1

y5

Time k , 1

x

i

i

i i

x

x x

i

x

Figure 1: Viterbi Trellis for data association. Processing is currently at time k. Empty circles denote

inactive nodes; full circles are active nodes, that are on a current (surviving) path. The path segments to y3 (k , 1) and y5 (k , 1) have just been eliminated. Note that the number of nodes may vary from one time to the next.

1. event Ek { the target exists (or is \observable" [6]); 2. event E k { the target does not exist; 3. event i0 (k) { none of the measurements in Yi (k) is due to the target; 4. event ij (k) { measurement yji (1  j  mik ) is due to the target. The intersection of the association events ij (k) with the target existence events Ek and E k yields the set of all possible events at time k and for node i: ,1 (k) = ik0 \ Ek = Ek = target does not exist 0 (k) = i0 (k) \ Ek = target exists but was not detected or not gated j (k) = ij (k) \ Ek = target exists and the target measurement is yj (k) In heavy clutter a measure of prior target con dence or existence is indispensable in achieving track maintenance. The prior target con dence model is auxiliary to the dynamical model and is often taken to be a two-state Markov chain. Thus, in the notation of [6] we assume that the following two transition probabilities are known: 0 = Pr(Ek jEk,1 ) 1 = Pr(Ek jEk,1 ) 6

(3.1)

In other words, the target existence Markov chain has transition matrix   0 1 , 0 P=  1 1 , 1 In this model of target existence, we might expect P to be diagonally dominant, i.e., the diagonal entries of P would be close to unity.

3.2 Data Association Problem

We pose the data association problem as an exhaustive search through the entire dwell data set to time k for the \most probable" sequence of measurements to use in estimating the target track. We are using \measurement" to include the possibilities that 1) the target was not detected in a particular dwell (this is called the \null measurement" in [2]) { event 0 (k); 2) the target does not exist and the track consists of clutter { event ,1 (k). The latter event is not considered in [2]. The number of nodes at time k in the trellis of Fig. 1 is therefore equal to the number of received radar measurements nk at that time plus two. For convenience, we will refer to the all-clutter event at time k as measurement y0 (k) or node 0 and the non-existence event as measurement y,1 (k) or node ,1. Any sequence of measurements may be selected from the dwell data set Y k by intersecting this set with the appropriate joint association/existence event. For instance, the event that measurement number ji in dwell i is the target (i = 1;:: :; k) would be represented as 4  (1) \  (2) \ :: : (k) kjk = j1 j2 jk

and the sequence of target detections corresponding to this event is speci ed by Y k \ kjk . The data association problem then consists of determining the measurement sequence

fyj1 (1);: ::; yjk (k)g  Y k which maximizes the likelihood function p(Y (1);: :: ;Y (k);j1 (1);: :: ;jk (k)jX k )

(3:2)

This problem appears to involve an exhaustive k-dimensional optimisation for a data set of length k. Notice also that the problem as posed depends on knowledge of the target state sequence X k , we will see how to handle this later. Fortunately the problem has a recursive solution with only a scalar optimisation required at each time instant. We now show the reasoning behind this. Consider an arbitrary sequence of existence/association events kj up to time k, consisting of an event j (k) at time k and some other sequence ki ,1 of events up to time k , 1. In other words kj = j (k) \ ki ,1

The likelihood of the event sequence to time k is de ned as p(Y k ; kj jX k ) = p(Y (k); j (k); Y k,1 ;ki ,1 jX k ) where the indices take on values i = ,1;0;1;: :: ;nk,1 and j = ,1;0;1;: :: ;nk , with nk the number of measurements in dwell k. We now decompose the above probability to obtain a recursion. p(Y (k);j (k); Y k,1; ki ,1 jX k ) = p(Y (k);j (k)jY k,1; ki ,1 ;X k ) p(Y k,1 ;ki ,1jX k,1 ) 4 a (k) p(Y k,1 ;k,1jX k,1) = ij i where we have de ned

aij (k) =4 p(Y (k);j (k)jY k,1; ki ,1 ;X k ) 7

(3:3)

as a transition cost. We are able to do this because the target dynamics are a Markov process and the measurement process is memoryless, that is, there is no dependence on past measurements [7]. In other words, we assert that this probability depends only on the previous node i, and not on the path taken to get to node i (nor on the measurements prior to time k , 1). In practice, this assumption is invalid since we do not know the true state sequence X k and must use a ( ltered) estimate based on the data up to time k , 1. The state estimate clearly depends on the target data to time k , 1 and hence on the path taken to reach node i at time k , 1. Nonetheless, since each path through the trellis de nes a unique sequence of measurements, we can use a Kalman lter to provide a state estimate conditioned on the measurements in this path. The state estimates will be used to determine the transition costs in section 3.3. De ning the maximum of likelihood of the jth path to time k as dj (k): dj (k) = max p(Y k ;j1 (1);j2 (2);: :: ;jk,2 (k , 2);jk,1 (k , 1);j (k)jX k ) j1 ;j2 ;:::;jk,2 ;jk,1

= j ;j max p(Y k ; kj jX k ); j = ,1; 0;:: :; nk (3.4) 1 2 ;:::;jk,2 ;i where the range of each jl index is ,1;0; 1;:: :; nl . It is clear that the maximisation in (3.2) can now be re-expressed as dj (k) = i=,1max aij (k) di (k , 1); j = ,1; 0;: :: ;nk ; (3:5) ;0;:::;n k,1

which is the required recursion. At each stage we need to keep track of the maximising argument in (3.5): a (k) di(k , 1); j = ,1; 0;:: :; nk : j (k) = arg i=,1max ;0;:::;nk,1 ij

Notice that the Markov property which allows us to de ne a transition cost (3.3), reduces the k-dimensional maximisation in(3.2) to a sequence of k one-dimensional maximisations. The optimal value of the likelihood is obtained by computing dj (1); dj (2);: :: ; dj (k) for all possible j values at each time instant, and then taking the maximum dj (k) at the nal time k. The optimal sequence of associations is then recovered by backtracking using the j (k) variables. We will see later that this process can often be done as a xed-lag operation rather than as batch processing.

3.3 Transition Costs and Gating

We will derive expressions for the transition costs aij (k) (3.3) in this section, but rst, we consider the introduction of gating in the Viterbi algorithm. Gating serves to mitigate the computational burden of the algorithm since it reduces the number of possible source nodes that can transit to a given destination node. Without gating (as in Quach and Farooq's algorithm), any node may transit to any other node at the next time instant, i.e., all transitions are considered feasible, no matter how unlikely. The computational requirements of the latter Viterbi algorithm are considerably more on average than when gating is used (see section 3.9). For each destination node at time k we must ascertain which source nodes at time k , 1 may transit to it. Let the set of nodes at time k , 1 be Ak,1 = f,1; 0;1;:: :; nk,1 g. Each node i 2 Ak,1 at time k , 1 has an associated state estimate x^i (k , 1jk , 1) obtained by applying a Kalman lter to the sequence of measurements picked out by that path. Analogously to section 2.3, we de ne the gate region for node i at time k , 1 as Gi (k , 1) = fy 2 IR 3 : (y , y^i (kjk , 1))0 (Si (k)),1 (y , y^i (kjk , 1))  g; 0  i  nk,1 ; (3:6) where y^i (kjk , 1) is the measurement prediction obtained via y^i (kjk , 1) = Fk x^i(k , 1jk , 1), and Si (k) is the corresponding prediction covariance. The gate regions for the all-clutter and nonexistence \measurements" are the whole space IR 3. We denote the index set of the measurements at time k contained in the ith gate Gi(k , 1) as ,i (k , 1), thus ,i (k , 1) = fj : 1  j  nk ; yj (k) 2 Gi (k , 1)g [ f0; ,1g; i 2 Ak,1 (3:7) 8

Time k , 3 y,1

Time k , 1

Time k

x

x

j

x

x

x

j

x

x

x j

x

x

x

x

x

x

x

x

x

x

x

x

x

x

y0 y1 y2 y3 y4 y5

Time k , 2

x

j

x

Figure 2: Transitions with gating in Viterbi trellis. Possible transitions from node 1 at time k , 1 and to node 1 at time k are shown. The minimum cost path to y1 (k) (boxed) will be selected.

Notice that the all-clutter and non-existence \measurements" are included in the gates for all nodes at time k , 1, so that transitions are always permitted to the 0 and ,1 nodes. We de ne the gate index sets for the 0 and ,1 nodes as all measurements at time k, or ,,1 (k , 1) = ,0(k , 1) = f,1; 0;1;:: :; nk g = Ak The set of validated measurements for node i at time k , 1, as in section 3.1, is given by Yi (k) = fyj (k); j 2 ,i (k , 1)g; i = 1;: :: ;nk,1 In particular Y,1 (k) = Y0 (k) = Ak . The number of measurements, in Yi (k), excluding y0 (k) and y,1 (k), is denoted mik . In addition to the gates for transitions from nodes at k , 1 to nodes at k, we need to consider the inverse relationship: which nodes at k , 1 have feasible transitions to a given node at time k? We therefore de ne the index set of nodes at time k , 1 which can transit to a given node j at time k as ,,j 1 (k) =4 fi 2 Ak,1 : j 2 ,i(k , 1)g = fi 2 Ak,1 : yj (k) 2 Gi (k , 1)g; j = ,1;0;: :: ;nk :

For the j = 0 and j = ,1 nodes at time k, we de ne ,,j 1(k) as the the set of nodes Ak,1 . These notions are illustrated in the trellis diagram of Fig. 2 which depicts the process of going from time k , 1 to time k. The set of nodes at time k , 1 is Ak,1 = f,1; 0;1;:: :; 5g. The gate for y1 (k , 1) includes measurements (empty circles) y,1 (k);y0 (k); y1 (k);y4 (k), with gate index set ,1(k , 1) = f,1;0; 1;4;5g. Also shown is the set of possible transitions to node 1 (boxed) at time k, which is in this case ,,1 1(k) = f,1; 0;1;3g. We conclude this section by deriving explicit expressions for the transition costs aij (k) taking gating in to account. Recalling the statement of the association events in section 3.1, we de ne the association/existence events for the validated measurements at node i at time k , 1 as 1. ,i 1 (k): the target does not exist and all measurements in Yi (k) are clutter; 9

0i (k): the target exists but all measurements in Yi(k) are clutter; ji (k): measurement yj (k) is the target, measurements yl (k) l 6= j are clutter, l;j 2 ,i (k , 1)nf,1; 0g. The presence of validation gates does not alter the formulation of the Viterbi algorithm presented in section 3.2. However, we will need to indicate which set of validated measurements is being used at each stage. We therefore use kij to denote a sequence of existence/association events describing a particular path which includes node yi (k , 1) and ends at yj (k), implying that yj (k) is in the validation region of yi (k , 1). Suppose this path also includes yl (k , 2), then it follows that kij = kli,1 \ ji (k) where kli,1 is the sequence of events corresponding to the path history ending at yi (k , 1). Of course, only transitions to nodes within the particular gate are allowed at each time instant. We are now ready to derive expressions for the transition costs aij (k) = p(Yi (k); ji (k)jY k,1 ;kli,1; X k ) These calculations are similar to the association probability calculations in PDA [4]. The transition cost is the joint probability/PDF of the measurements and association/existence event at time k, conditioned on the sequence of measurements and association events to time k , 1 and state sequence to time k. This can be decomposed into two terms: ai;j (k) = p(Yi (k);ji (k)jY k,1; kli,1; X k ) = ji (k) p(Yi (k)jkij ; Y k,1 ;X k ) where the association probabilities are de ned for i 2 Ak,1 ; j 2 ,i (k , 1) by 2. 3.

4 Pr( i (k)jY k,1; k,1 ;X k,1 ) ji (k) = (3:8) j li We will now evaluate the association probabilities before returning to the computation of the transition costs. The probability that the target does not exist at dwell k, conditioned on the sequence of measurements/association events to time k , 1 is given by ,i 1 (k) = (mik )(1 , PE (kjk , 1)) Cik,1 ; i = ,1;0;: :: ;nk,1 (3:9) where () is the Poisson point mass function in (2.4), Cik is a normalisation constant which we will evaluate shortly. PE (kjk , 1) is the predicted probability of existence 4 Pr(E jY k,1; X k,1) PE (kjk , 1) = k = Pr(Ek jEk,1) Pr(Ek,1 jY k,1; X k,1 ) + Pr(Ek jEk,1 ) Pr(Ek,1jY k,1 ;X k,1 ) = 0 PE (k , 1jk , 1) + 1 f1 , PE (k , 1jk , 1)g (3.10) in which the i are the Markov chain transition probabilities (3.1) and PE (k , 1jk , 1) is the prior target existence probability, which will be derived in section 3.5. Similarly, the probability that the target exists at dwell k but that all measurements in the ith gate are clutter, conditioned on the sequence of measurements/associations to time k , 1 is given by 0i (k) = (mik )(1 , PD PG)PE (kjk , 1) Cik,1; i = ,1; 0;:: :; nk,1 (3:11) where PG and PD are respectively the gate and target detection probabilities. The validation gates for all measurements are assumed to have identical gate probabilities. Finally, the the probability that the jth measurement (j 6= 0; ,1) in the ith gate Gi (k , 1) is the target, and that that the other measurements in the gate are clutter, conditioned on the sequence of past measurements/associations is ji (k) = m1i (mik , 1)PD PGPE (kjk , 1) Cik,1; i = ,1; 0;: ::; nk,1 ; j 2 ,i (k , 1) (3:12) k

10

The normalisation constant at time k for each i 2 Ak,1 can be found by summing equations (3.9{3.12) and equating the result to unity, leading to Vi (k) Cik = (mik , 1)f Vmi (k) i + (1 , mi )PG PD PE (kjk , 1)g k k in which Vi (k) is the volume of the validation gate for node i at time k , 1. Assuming the clutter are uniformly distributed in the dwell, or at least within each validation gate, and that for each node i 6= ,1 the prior target density is normally distributed about its predicted position y^i (kjk , 1) with covariance Si (k), it is a simple matter to complete the derivation of the transition costs. For i 2 Ak,1, with k > 1, these are expressible as 8 >
:

(Vki,1 ),miki ,i 1 (k) j = ,1 i , m i k (Vk,1 ) 0 (k) j=0 (Vki,1 ),(mik ,1)PG,1N fyj (k); y^i (k jk , 1);Si (k)g ji (k) j 2 ,i (k , 1)

(3:13)

The last line above is an approximation resulting from the fact that the true target state x(k) is unknown and has been replaced by the Kalman lter prediction x^(k jk , 1) based on the measurement sequence to time k , 1 given by kli,1. N f ; ; S g denotes a Gaussian probability density function with mean  and covariance S evaluated at the rst argument. Note also that the i = ,1 node, corresponding to non-existence of the target, does not have an associated target state estimate, although the all-clutter node i = 0 does have a state estimate, except at initiation. The transitions from the non-existence node i = ,1 need special attention as these correspond to track initiation or re-initiation events and will be covered separately in section 3.6.

3.4 Cost Function

The Viterbi data association problem can be written in the equivalent form min , ln p(Y (1); :: :; Y (k); j1 (1); ::: ;jk (k)jX k )

j1 ;:::;jk

(3:14)

This avoids possible numerical under ow due to the product of the aij (k) terms in the original formulation. With gating also taken into account, the dynamic programming equation (3.5) takes the form dj (k) = max (3:15) ,1 aij (k) + di(k , 1); j = ,1; 0;:: :; nk ; i2,j (k)

where aij (k) = , ln aij (k) and di(0) = , ln di(0). The former variable is the incremental cost of a transition from node i at time k , 1 to node j at time k whereas the latter variable is the cumulative cost of the path to time k. The best path through the trellis is the minimum cost path. Because of gating, this path may not be the same as the path in obtained using (3.5) due to the elimination of some (very unlikely) transitions. In practice, this should have a negligible e ect on optimality, whereas gating gives rise to a saving in computation. We will discuss the initialisation of these costs in section 3.6.

3.5 Target Con dence Model

The Viterbi score for each node at time k is indicative of the likelihood of the associated track. The optimal path through the trellis has the highest likelihood of any sequence of feasible associations. We can harness the Viterbi scores to de ne a path-wise con dence measure. This is the probability of the sequence of existence/association events to time k given the state and data sequences: 4 Pr(k jY k ;X k ); j = ,1; 0;: ::; n cj (kjk) = k ij

11

An application of Bayes' Rule gives the con dence for path j as p(Y k ; k jX k ) cj (kjk) = p(Y k jijX k )  (3.16) = Pnkdj (k) j =,1 dj (k) where the dj (k) de ned in (3.4) is the exponential of the negative of the Viterbi cost to node j at time k. The cj (kjk) values for j = 0;1;: ::; nk are thus the relative costs of the paths to nodes at time k and the node with the largest cj (kjk) gives the most likely sequence of associations to a given time k. The distribution of these path con dences varies with time so that the highest con dence path may change from one time to the next. It is only possible to make a decision on which sequence of associations is optimal after merging takes place, or alternately, once the entire sequence of dwell data has been processed. We will describe merging in more detail in a following section. Since we have included a target existence event in the VDA formulation, we can also compute the a posteriori probability of target existence at time k: 4 1 , c (kjk) = 1 , P dk,1 PE (kjk) = (3:17) ,1 mk dk j =,1 j The prior target existence probability PE (k , 1jk , 1) is predicted using the Markov chain via (3.10), and updated using the cumulative Viterbi scores with (3.17). The target existence probability serves as a track con dence measure and can be used to decide whether the (optimal) track produced by a given VDA lter should be con rmed or deleted or whether such a decision should be postponed (for a \pending" track). The track maintenance function can be summarised according to:  con rm the track if PE (kjk) > Pcon;  delete the track if PE (kjk) < Pdel ;  class the track as pending if Pdel  PE (kjk)  Pcon. The maintenance thresholds Pcon and Pdel are design parameters whose values must be chosen by experiment. Although each node i = 0;: :: ;nk in the trellis has a path con dence given by (3.16), the distribution of these con dences may vary appreciably in the early stages, prior to merging (section 3.7). Once a clear optimal track emerges (i.e., after merging), the path con dence for the optimal track will tend to follow the overall track existence probability. As a cost-saving measure, surviving paths in the trellis with path con dences cj (kjk) less than, say, 0.001 could be deleted.

3.6 Initiation

Track initiation is the problem of forming tracks from an initial set of dwell data and determining without excessive delay which tracks are likely to be target tracks, rather than false tracks. This inevitably means initiating a large number of lters, waiting to decide on the quality of each lter's estimates, and then performing track maintenance as appropriate (see the preceding section). Track initiation in OTHR is computationally expensive due to the large number of detections, both true and false, present in the dwell data. Track initiation of a single VDA lter is accomplished by selecting an initial dwell or subset of an initial dwell on which to perform data association together with the assignment of initial Viterbi costs, Kalman lter state estimates and covariances. If the initial dwell consists of measurements y1 (0);: :: ;yn0 (0), with each measurement comprising range, Doppler and azimuth values [ri(0); r_i (0);ai (0)]0, then initial state estimates x^i (0j0) can be formed using a one-point initiation strategy as suggested earlier: x^i (0j0) = [i(0); _i (0); bi(0); b_ i(0)]0 4 [r (0); r_ (0);a (0);0]0 = (3.18) i i i 12

The initial covariance, identical for all measurements, is chosen by scaling the measurement variances r2; r2_ ;a2 by an appropriate factor C1, for example: 2 6

P(0j0) = 64

C1 r2 0 0 0 0 C1r2_ 0 0 0 0 C1a2 0 0 0 0 2C122=T 2

3 7 7 5

(3:19)

The cumulative Viterbi costs dj (0) are initialised by assuming a uniform distribution across all nodes corresponding to physical measurements, combined with the initial costs for the all-clutter and non-existence nodes. We apply similar reasoning to that used in obtaining the transition costs (3.3), except that a priori there is no gate, or rather the gate is the whole dwell region, so that PG = 1 and V (0) = Vs is the volume of the dwell region. A reasonable model for the initial distribution is obtained from the transition costs aij (k) (3.13) with i = ,1. At time k = 0 the measurement predictions for the n0 physical measurements yj (0) are the measurements themselves, or y^i (0) = yi (0). The initial prediction covariance, identical for i = 1;: :: ;n0 may be taken as S(0) = H fFP(0j0)F 0 + Q0 gH 0 + R assuming values for the initial state, process and measurement noise covariances. We can therefore write the initial cost distribution as  yj (0); S(0)g j (0) j = 1;:: :; n0 dj (0) = (Vs ),(n0 ,1) N fyj,(0); (3:20) (Vs ) n0 j (0) j = 0; ,1 where j (0) are initial existence/association probabilities given by ,1 (0) = (n0 ) (1 , PE (0))  ,1 0 (0) = (n0 ) (1 , PD )PE (0)  ,1 j (0) = n1 (n0) PD PE (0)  ,1; j = 1;:: :; n0 0 where () is the Poisson probability mass function and  is a normalisation constant given by Vs s  = (n0 , 1)f V n0 + (1 , n0 )PD PE (0)g The prior target existence probability PE (0) may be taken as 1 although it is possible to treat it as a separate parameter, chosen to bias the initial costs against or in favour of the non-existence event. The initial costs can therefore be re-expressed as 8 ( V1s )n0 ,1 PD PE (0) > > 3 = 2 > j1=2 fVs+(n0 ,Vs )PD PE (0)g < (2) jS (0) ( V1s )n0 ,1 (1,PD )PE (0) dj (0) = j (0) =4 Vs1+(nn0,,1Vs )PD PE (0) > > > ( Vs ) 0 (1,PE (0)) : Vs+(n0 ,Vs )PD PE (0)

j = 1;:: :; n0 j=0 j = ,1

(3:21)

The initial prediction of the probability of existence results in a short (two point) \transient" in PE (kjk) which is an artifact of initialisation and should be ignored. The initial costs above are to be used as the transition costs a,1;j (k) from the i = ,1 state (with PE (0) = 1) as well as at initialisation of the VDA lter. A formula for the transition cost a,1;0(k) from the non-existence state to the all-clutter state has been included, although it may be better to exclude this transition on the grounds that a track cannot be said to exist when all measurements are due to clutter.

13

Time k , 3 y,1

Time k , 1

Time k

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

y0 y1 y2 y3 y4 y5

Time k , 2

x

Figure 3: Merging of paths in the Viterbi trellis. At time k, all surviving paths share the segment f: : : ; y3 (k , 3); y2 (k , 2)g which must be on the optimal path. Subsequent processing cannot eliminate this merged path up to k , 2.

3.7 Merging

Concerning the operation of a single VDA lter, in general it is necessary to wait until the nal time in order to decide on the most likely sequence of associations, and hence on which is the optimal path. Naturally, there is no \ nal time" in the OTHR tracking problem, and decisions must be made with a xed delay (the decision delay). The delay in declaring or con rming a track is referred to as the latency of the algorithm. It is desirable to keep the latency short, but this comes at the expense of con rming as true tracks which are actually false (i.e., the false track rate). In general: the shorter the latency, the higher the risk of con rming false tracks. The Viterbi algorithm would not be a viable means of target tracking if it could not be implemented with a reasonable latency. Although in theory the Viterbi algorithm has unbounded decision delay, in practice it can be implemented as a xed-lag algorithm with negligible loss in optimality [7]. The phenomenon of merging is responsible for this. Merging occurs in a VDA lter (Fig. 3) when at a given time, say k , 2, all paths share a common path history. No amount of further processing can alter the path history of a merged path prior to the time of merging. This is because, prior to k , 2 there is no other survivor path to compete with the existing one. This means that the sequence of associations from time 1;: :: ;k , 2 on the merged path is optimal. The time to merge, measured as a delay from the current time, is a random variable. Its expected value depends on the path costs in the trellis, which themselves depend on the data. The determination of the expected merge time is not straightforward, although some bounding results exist [8]. For the simulations that we have carried out so far, the expected merge time is usually less than 5 - 7 dwells, which de nes the latency of the VDA algorithm in this application.

3.8 Summary of VDA Algorithm

We have discussed the structure of the Viterbi data association lter in the preceding sections, showing how target existence and gating have been introduced into Quach and Farooq's basic 14

algorithm. We now summarise the operation of a single Viterbi data association lter below, implemented with a maximum decision delay MAX DELAY (usually of the order of the expected time to merge). 1. Initialisation  initial costs (3.21) dj (0) = , ln j (0); j = ,1;: :: ;n0  initial state and covariance estimates x^i (0j0) (3.18), P(0j0) (3.19) 2. While k  1 (a) For each node i = 0; 1;:: :; nk,1 in dwell k , 1 i. Calculate measurement prediction y^i (kjk , 1) and prediction covariance Si (k) (section 2.2). ii. Determine the gate Gi (k , 1) (3.6) and set of validated measurements ,i (k , 1) (3.7). iii. For each node j in dwell k calculate the transition cost aij (k) (3.13) and aij (k) = , ln aij (k). (b) Determine the best path to each node j (j = ,1;0; 1;:: :; nk ) in dwell k according to (3.15) dj (k) = max ,1 aij (k) + di(k , 1) i2,j (k)

ijk = arg max ,1 aij (k) + di (k , 1) i2,j (k)

Store the indices ijk as the path history. Compute for j = 0;1; ::: ;nk the associated Kalman lter state estimate and covariance (section 2.2) based on yijk (k) (c) For each node j in dwell k calculate path con dence cj (kjk) (3.16). Calculate also the posterior target existence probability PE (kjk) (3.17). 3. Increment k and return to step 2. 4. If paths have merged or k  MAX DELAY, Find node with least cost path and backtrack. 5. Output optimal sequence of target state estimates, corresponding path con dences and existence probabilities. The exploitation of the VDA algorithm in a real tracking system relies on the presence of a separate track maintenance algorithm (see section 3.5). The maintenance algorithm determines which measurements are being used for con rmed tracks and labels the measurements so that they are not used by other lters. In addition, the maintenance algorithm initiates new VDA lters when unassociated measurements appear and deletes current VDA lters whose overall track con dence (probability of target existence) is below a threshold. It must also ensure that replication of existing tracks is prevented.

3.9 Computational Complexity

We now give a detailed analysis of the computational complexity of the basic Viterbi data association algorithm described in section 3.8. We consider one iteration of a VDA lter and evaluate the number of operations required. This does not take into account overheads associated with track maintenance when many VDA lters are operating in parallel. Since the computational load of the algorithm varies with time and with data, we assume a representative number of detections per dwell n (this xes the number of trellis nodes at n + 2), and an average number of gated physical measurements per node m (excluding the 0 and ,1 null measurements). This analysis ignores the 15

Operation count per iteration scaling factor +; ,, compare 8n2 + (89 + 2m)n + 4m + 112 1  12n2 + (114 + 2m)n + 108 1  (11+2m)n+12 2.5 sqrt(x) n+1 4 xn n+2 13 exp(x) mn 13 loge(x) (m + 4)n + 4 19 Table 1: Number and type of oating point operations required for a single iteration of the VDA lter, together with the relative cost of the operations. n is the average number of measurements per dwell and m is the mean number of gated measurements per node.

potentially high computational load over the rst few dwells following initiation, when the gates are relatively large; this could be allowed for by increasing m. The stages involved in a single iteration of a VDA lter are: Kalman lter prediction, gain, and determinant of covariance matrix; prediction of target existence probability; gating calculations; gate volume calculations; transition costs; normalisation constants; VA recursion; Kalman lter update; path con dence update. In calculating the number of operations, we further assume that the dimension of the Kalman lter state is 4, the number of measurement components is 3, and that all matrix operations are done component-wise without function calls (taking structure, e.g., symmetry, into account). The backtracking operation is also excluded. Table 1 summarises the number and type of operations required for a single iteration. In addition, a scaling factor relative to the basic oating point operation (a \FLOP" - an addition or multiplication ) has been included. The scaling factor is based on gures from [9] for the Intel 80847 arithmetic co-processor, and represents the mean number of clock cycles required for the operation divided by 20 (the maximum number of cycles for an addition). Figures for the DEC Alpha (which uses a RISC architecture) are likely to be di erent. Based on Table 1, the total number of FLOPS per iteration for a VDA lter is 21n2 + (323:5 + 41m)n + 4m + 356 which is approximately 21n2 when the average number of gated measurements m is much less than the average number of measurements per dwell n. Typically a value of m = 1 or 2 can be assumed, depending on the size of the gate and the clutter density. For example, with n = 100, the VDA lter has a complexity of around 250,000 FLOPS per iteration; for n = 500, this rises to 5.4 MFLOPS. If the measurement region and hence the number of measurements could be reduced, then this would signi cantly reduce the computational load for a single VDA lter. It is instructive to estimate the computational advantage of using gating in the VDA lter. Table 2 compares the number of FLOPS required with and without measurement gating in those stages a ected by gating. The di erence in the number of FLOPS required is roughly equal to 40n2, that is, a VDA without gating requires around three times as many computations as a VDA with gating.

4 Performance Example

4.1 Simulation Parameters

In this section, we present some numerical simulation results for the Viterbi data association algorithm described above. These simulations are intended to illustrate the performance of a single VDA lter in terms of its initiation time and expected time to merge, steady-state tracking errors, and its robustness to missed target detections and clutter. As a performance benchmark for tracking, we have included results for a PDA lter using an identical system and track existence 16

Operation FLOPS Without Gating FLOPS With Gating VA recursion 2(n + 2)2 2(m + 2)(n + 2) Gating calculations { n(n + 1) 2 Transition costs 39n 39mn Gate volumes { 5(n + 1) Total 41n2 + 8n + 8 n2 + (41m + 10)n + 4m + 3 Table 2: E ect of gating on the Viterbi data association calculations. model and the same one-point initiation strategy as the VDA algorithm. Both algorithms used the same slant range/Doppler/azimuth measurement data set. The scenario consisted of a single target moving in a nominally straight line without manoeuvring. The target was present and within the dwell region throughout the 30 dwell simulation. The following parameter values were assumed.  Nominal target range rate 0.05 km/s (180 km/hr), azimuth rate 0.01 degree/s (0.000175 rad/s); initial slant range 1000 km, initial azimuth 2.0 degree.  Dwell region size: 900 { 1200 km (slant range), ,0:12 { 0.12 km/s (Doppler), 0 { 10 degree (azimuth). Time between dwells 20s.  Probability of detection PD = 0:4; 0:8. Gate probability PG = 0:95, = 7:81.  Clutter characteristics: uniform distribution in measurement space; mean number of clutter points/dwell n c = 216 ( = 0:3), maximum number of clutter points/dwell 500.  Target existence Markov chain 0 = 0:9, 1 = 0:2, initial probability of target existence PE (0) = 0:9.  Target process noise (2.2) 2_ = 10,5, b2_ = 10,5. Filter process noise (2.2) 2_ = 10,4, b2_ = 10,4. Measurement noise r = 1 km, r_ = 0:01 km/s, a = 0:25 degree. Scaling factor (3.19) for initial lter covariance P(0j0): C1 = 10. The small process noise term in the target dynamics prevents the the gate from becoming too small once the lter has converged, forcing the state estimate to be a simple prediction of the past state estimate which e ectively ignores any new data. The VDA algorithm was coded in C and executed on a 233 Mhz DEC Alpha work-station running OSF version 3.2a. Matrix operation and function calls were avoided as far as possible, and standard compiler optimisation (O2) was used. The execution time for a single VDA lter under the above conditions (30 dwells, average of 216 clutter measurements per dwell) was just under 3 seconds including I/O overheads.

4.2 Simulation Results

Simulations were run at probabilities of detection PD = 0:8 and PD = 0:4 and a comparison made of the state estimates for the VDA lter against a standard PDA lter. The VDA lter initialises paths for all initial measurements, so an equivalent number of PDA lters were also initialised. Of the (approximately) 1500 PDA lters initialised, the best con rmed track was chosen for comparison with the optimal VDA track. The evolution of state estimates in range, range rate, azimuth and azimuth rate at a probability of detection of PD = 0:8 are shown for the VDA lter in Fig. 4, and for a PDA lter in Fig. 6. An asterisk indicates that the target was not detected in that dwell. The true state is shown as a dotted line, the estimated state is solid and the dashed lines indicate the 3 con dence interval around the state estimate (derived from the state error covariance). Fig. 5 shows the evolution of 17

the path con dence for the optimal track (dashed) together with the probability of target existence (solid line) for the VDA lter. After about 5 dwells the probability of existence closely follows the optimal path con dence. The track con dence for PDA is shown in Fig. 7 with the running average value (used for con rmation) shown dashed. The rst two points in the probability of existence are an artifact of the Markov chain and should be ignored. The state estimates for the VDA lter show a shorter initiation transient (the time to merge was 2 dwells). The squared magnitude of the estimation errors for the two algorithms are compared in Fig. 8, with VDA errors solid and PDA dashed. The slant range - bearing tracks for the VDA (solid line) and for PDA (dashed line) are shown in Fig. 9 compared with the true track (circles). The errors for PDA are somewhat larger than those of the VDA lter initially but of comparable magnitude in the steady state. In the second scenario, the probability of detection was lowered to 0.4. The state estimates for the VDA algorithm are displayed in Fig. 10. The VDA algorithm had little diculty maintaining track on the target, although the azimuth estimate re ects the poor quality of this measurement. The are-outs in the error covariance correspond to periods of successive missed target detections. There are also more marked di erences between the probability of existence and the optimal path con dence, indicating that at times there were other paths in the trellis with comparable con dence. The time to merge was 3 dwells. The target existence probability and optimal path con dence, Fig. 11, re ect the loss of con dence associated with several missed detections. The state estimates, Fig. 12, for the best PDA lter out of the roughly 1500 lters initiated in this example indicate a signi cant degradation in performance for PD = 0:4 compared to its good performance at higher values of PD ; this is despite the lter having been initiated close to the true state. Although the track con dence remained relatively high, the PDA lter could be considered to be have lost the track at times during the simulation. The error covariance comparison in Fig. 14 points clearly to the superiority of the VDA lter in this low PD scenario. The range-bearing tracks for the VDA (solid line) and for PDA (dashed line) are shown in Fig. 15 for this simulation. The true track (circles) is included for comparison. There is a marked di erence in track quality in favour of the VDA track. We now make some general observations based on evidence from the simulations. The VDA lter cannot usually be expected to converge to a target track present in the data unless target detections occur in the rst two to three dwells (after initiation). The reason for this is that since the VDA lter initiates tracks for all measurements in the dwell, if the target detection is absent at time 0, there is a high probability that no track will be initiated in the vicinity of the target. If a target detection appears subsequently, it will likely be treated as clutter since it will generally not correlate with the existing paths in the trellis (i.e., it will have a high transition cost associated with it). Typically, a high divergence rate can be expected for a VDA lter when several missed target detections occur in the rst few dwells. At low probabilities of detection, the VDA algorithm has increasing diculty initiating a track, but tracks e ectively once a track is initiated. The same remark applies to PDA, although the VDA lter appears to be more robust at low PD .

5 Further Developments

5.1 Velocity Ambiguity

Waveform ambiguity in OTHR, especially in aircraft mode, makes the determination of the correct Doppler measurement dicult during track initiation. Given an initial Doppler measurement r,_ one of several radial velocities is possible, each di ering by an integral multiple of the velocity ambiguity r_amb , directly related to the coherent integration time. Thus the correct measurement is one of r_i i = 1;:: :; namb , where namb is the number of plausible ambiguous velocities: r_1 r_2 r_3 r_4

= = = =

r_ r_ + r_amb r_ , r_amb r_ + 2r_amb 18

0.2 Range rate (km/s)

Range (km)

1040 1030 1020 1010 1000 990 0

200 400 Time (s)

600

0.1 0.05 0 −0.05 0

Azimuth rate (degrees/s)

Azimuth (degrees)

10

0.15

8 6 4 2 0 0

200 400 Time (s)

600

200 400 Time (s)

600

200 400 Time (s)

600

0.2 0.1 0 −0.1 −0.2 0

Figure 4: True (dotted) and estimated (solid) range, range rate, azimuth and azimuth rate for a Viterbi data association lter at PD = 0:8. The dashed lines are the 3 con dence interval. Asterisks denote a missed target detection.

1 0.9

Probability of Existence

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0

100

200

300 Time (s)

400

500

600

Figure 5: Probability of target existence for VDA lter, PD = 0:8. Track con dence for optimal path shown dashed.

19

0.15 Range rate (km/s)

Range (km)

1040 1020 1000 980 960 0

200 400 Time (s)

0.05 0 −0.05 −0.1 0

600 Azimuth rate (degrees/s)

10 Azimuth (degrees)

0.1

5

0

−5 0

200 400 Time (s)

600

200 400 Time (s)

600

200 400 Time (s)

600

0.2 0.1 0 −0.1 −0.2 0

Figure 6: True (dotted) and estimated (solid) range, range rate, azimuth and azimuth rate for the probabilistic data association lter at PD = 0:8. 3 con dence interval shown dashed.

0.9

Probability of Existence

0.85

0.8

0.75

0.7

0.65

0.6 0

100

200

300 Time (s)

400

500

600

Figure 7: Track con dence for PDA at PD = 0:8. Running average (dashed) used to con rm track. The rst two points in the existence probability are an initial transient not related to the data.

20

−4

4 Error in Range Rate

Error in Range

100 80 60 40 20 0 0

200

400

x 10

3 2 1 0 0

600

200

Time

400

600

400

600

Time −3

Error in Azimuth Rate

Error in Azimuth

4 3 2 1 0 0

200

400

1

x 10

0.8 0.6 0.4 0.2 0 0

600

Time

200 Time

Figure 8: Squared error of estimates with respect to true state for VDA lter (solid) and PDA lter (dashed) at probability of detection PD = 0:8.

1035 1030 1025

Range (km)

1020 1015 1010 1005 1000 995 990 1

2

3

4 5 6 Bearing (degrees)

7

8

9

Figure 9: Slant range - bearing tracks for the VDA lter (solid) and PDA lter (dashed) at PD = 0:8. Empty circles denote the true track. The initialisation transient would normally be suppressed on the display.

21

0.2 Range rate (km/s)

Range (km)

1040 1030 1020 1010 1000 990 0

200 400 Time (s)

0.05 0

Azimuth rate (degrees/s)

Azimuth (degrees)

0.1

−0.05 0

600

10

0.15

8 6 4 2 0 0

200 400 Time (s)

600

200 400 Time (s)

600

200 400 Time (s)

600

0.2 0.1 0 −0.1 −0.2 0

Figure 10: True values (dots), state estimates (solid), and con dence interval (dashed) for VDA lter at PD = 0:4. Asterisks indicate a missed target detection.

1 0.9

Probability of Existence

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0

100

200

300 Time (s)

400

500

600

Figure 11: Probability of existence for VDA lter at PD = 0:4. Track con dence for best path in trellis shown dashed.

22

0.2 Range rate (km/s)

Range (km)

1100

1050

1000

950 0

200 400 Time (s)

Azimuth rate (degrees/s)

Azimuth (degrees)

10

0

−10 0

200 400 Time (s)

600

0 −0.1 −0.2 0

600

20

0.1

200 400 Time (s)

600

200 400 Time (s)

600

0.3 0.2 0.1 0 −0.1 −0.2 0

Figure 12: True and estimated state with con dence region for PDA lter at PD = 0:4. The estimates shown were the best out of 1500 lters initiated during the simulation.

0.9

Probability of Existence

0.85

0.8

0.75

0.7 0

100

200

300 Time (s)

400

500

600

Figure 13: Track con dence and running average for PDA lter for PD = 0:4.

23

−3

4 Error in Range Rate

Error in Range

400 300 200 100 0 0

200 400 Time (s)

x 10

3 2 1 0 0

600

200 400 Time (s)

600

200 400 Time (s)

600

−3

Error in Azimuth Rate

Error in Azimuth

20 15 10 5 0 0

200 400 Time (s)

2.5

x 10

2 1.5 1 0.5 0 0

600

Figure 14: Squared state estimation error of VDA (solid) and PDA (dashed) for probability of detection 0.4.

1035

1030

Range (km)

1025

1020

1015

1010

1005

1000 1

2

3

4 5 6 Bearing (degrees)

7

8

9

Figure 15: Slant range - bearing tracks for the VDA lter (solid) and PDA lter (dashed) at PD = 0:4. Empty circles denote the true track.

24

r_5 = r_ , 2r_amb .. . We can de ne a probability that the rth Doppler measurement is correct conditioned on the path and observation sequence, and use this to eliminate the velocities which are incompatible with the measurements. This approach is essentially the same as the parallel lter approach of Colegrove [10] used in the PDA framework. To this end we de ne the event r

= fthe rth ambiguous velocity is correctg

with posterior probability

ir (k) = Pr( r jY k ;ki ; X k ): It is then straightforward to develop a recursion on ir (k) using Bayes' rule: jr (k) = Pr( r jkij ; Y k ;X k ); j = 1; ::: ;nk ; r = 1;: :: ;namb p(Y (k); r jkij ;Y k,1 ;X k ) = p(Y (k)j k ;Y k,1 ;X k ) ij r N fy (k); y^ir (kjk , 1); Sir (k)g ir (k , 1) = Pnamb Nj fy r (k); y^ir (kjk , 1); Sir (k)g ir (k , 1) j r=1 where kij is the path passing through node i at time k , 1 and j at time k, yjr (k) y^ir (kjk , 1) and Sir (k) are respectively the jth measurement, measurement prediction and covariance at time k assuming the rth velocity ambiguity. Note that the contribution due to the clutter terms in Y (k) cancel in the above expression. For the all-clutter and non-existence nodes j = ,1; 0 jr (k) = ir (k , 1) A uniform initial distribution is assumed for the ambiguity probabilities: ir (0) = n 1 ; i = ,1;: ::; m0 ; r = 1; :: :;namb : amb In e ect, each node j has namb state estimates x^rj (kjk) associated with it. The redundant state estimates due to incorrect velocity ambiguities are discontinued once one of the ir (k) probabilities reaches a threshold. In practice this occurs after a small number of dwells. A Gaussian-sum state estimate (as in PDA) is also possible, and this takes the form (omitting subscripts i and j) x^(kjk) = x^r (kjk) r (k jk , 1) P(kjk) ~ jk , 1) P(k

nX amb r =1

x^r (kjk) r (k)

= x^(kjk , 1) + W(k)r (kjk , 1) = yjr (k) , y^(kjk , 1) ~ jk , 1) = [I , W (k)H]P(kjk , 1) + P(k nX amb

= W(k)[

(k) =

nX amb r =1

r=1

r (k)r (k)r0 (k) , (k) 0 (k)]W(k)0

r (k)r (k)

This approach works provided that state estimates due to incorrect velocity ambiguities have a relatively small contribution to the sum. This approach is attractive since it does not require separate gating for each x^ri (kjk). 25

We have provided a simulation to demonstrate the performance of a VDA lter when Doppler measurements have possible velocity ambiguity numbers 0, 1 and ,1. The simulation parameters of section 4.1 were adopted with a probability of detection PD = 0:8. The Doppler region had a range of 0:12 km/s and the velocity ambiguity vamb was taken as 0.24 km/s. Three Kalman lters were run in parallel at each node in the trellis corresponding to the assumed velocity ambiguity. Figure 16 shows the evolution of state estimates for the VDA lter whose probability ir (k ) was the highest. The target existence probability and optimal path con dence for this track are displayed in Fig. 17 exhibiting a dip during the initial dwells. The VDA algorithm had a merge time of 7 in this case. Even though the target was not detected in the second dwell and the optimal path selected clutter measurements for the rst two dwells, the lter still managed to converge to the true track. This behaviour is not typical, however (see remark at end of section 4.2).

5.2 Multiple Targets

The present formulation of the VDA algorithm is based on a single-target assumption. If two paths in the trellis did in fact correspond to separate targets, then one track would eventually be eliminated since the Viterbi algorithm searches for the single best path. It is possible to design Viterbi algorithms to obtain the M best non-intersecting paths [11, 12], although these techniques often lead to a substantial increase in the number of states in the trellis, which leads to a polynomial increase in computational complexity. The \mixed" or unordered state space approach in [13] gives a means to reduce the number of states, but it should be remembered that a further processing step is required to separate the \mixed track" found by the Viterbi algorithm. Extending the current approach for crossing, multiple targets is a topic for future research, and we return to this point in the conclusions. A practical strategy for coping with multiple targets whose tracks do not cross in measurement space is to use a single-target VDA lter for each target. It is necessary to initiate VDA lters whenever an unassociated measurement occurs in case this measurement belongs to a real target. The track maintenance algorithm which con rms or deletes VDA lters must also keep a record of which lter is tracking a particular target so that the target measurements can be tagged; no other VDA lter is permitted to use these tagged measurements. Tags should only be attached to measurements on the optimal path of a con rmed Viterbi lter. This means that a merge has occurred in the VDA lter in question, or the maximum allowable delay time has been reached. VDA lters which replicate existing tracks should also be deleted.

5.3 Manoeuvring Target

The case of a manoeuvring target requires special attention. Many approaches have been proposed to deal with tracking manoeuvring targets; these fall into the broad classes of: input estimation, correlated process noise approach, variable dimension ltering, multiple model lter and interactive multiple model lter (IMM). The basic theme of these approaches is to i) detect the manoeuvre by monitoring the Kalman lter innovation, and ii) correct the non-manoeuvring state estimate. Further details are contained in [4]. We describe a simple approach used by [2] applicable to the VDA algorithm. Assuming that a VDA lter has con rmed the target track prior to the onset of the manoeuvre, a statistical test must be performed to decide at each time whether a manoeuvre has occurred. An e ective test is to count the number of times n0 (k) the VDA algorithm selects the all-clutter node on the best path at time k, rather than associating the track with a physical measurement. If the number n0 (k) is \statistically incompatible" with the assumed gating and detection processes, then a manoeuvre is declared and a modi ed transition cost is used. This new transition cost has a lower probability of missed detection and includes estimates of the target acceleration components r^_ j (k) and ^b_ j (k) obtained by di erencing the velocities of yi (k , 1) and the candidate measurement yj (k ). The weighting of detection probability and the acceleration estimates in the cost must be determined by experiment. Quach and Farooq claim that this modi cation forces the VDA lter to accept the path with the minimum net change in velocity, i.e., the smoothest trajectory consistent 26

0.45 Range rate (km/s)

Range (km)

1200 1150 1100 1050 1000 950 0

200 400 Time (s)

Azimuth rate (degrees/s)

Azimuth (degrees)

5

0

−5 0

200 400 Time (s)

600

0.35 0.3 0.25 0

600

10

0.4

200 400 Time (s)

600

200 400 Time (s)

600

0.2 0.1 0 −0.1 −0.2 0

Figure 16: State estimates for VDA algorithm initiated with velocity ambiguity. Probability of detection 0.8. The correct velocity was picked after a merge time of 7 dwells.

1 0.9

Probability of Existence

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0

100

200

300 Time (s)

400

500

600

Figure 17: Probability of existence (solid) and path con dence (dashed) for optimal track for the velocity ambiguity example.

27

with the measurements. The manoeuvre detection test suggested above can also be implemented using manoeuvre probability PM (k ) (the probability that a manoeuvre has occurred based on a chi-squared test, for example). When PM (k) exceeds a threshold, the lter process noise is increased, allowing a wider gate to be used in the VDA algorithm. In practice, it is necessary to backtrack one or two dwells and apply the correction retrospectively. This means that several dwells of data must be stored during processing.

6

Discussion and Further Work

We have developed a Viterbi data association technique for tracking in heavily cluttered environments such as over-the-horizon radar. The VDA lter is based on work in [2] but has been extended to include a target con dence model and gating. The former provides a track quality measure that is needed for track maintenance and initiation, while the latter results in a threefold saving in computation compared to the approach in [2]. The problem of velocity ambiguity has been found to be approachable within the VDA framework in the same way as in [10]. The VDA lter is essentially a xed-lag lter, meaning that it provides target state estimates with a xed delay. This delay corresponds to the expected time for paths to merge in the Viterbi trellis, and has been found to be of the order of 3{7 dwells for the simulations so far performed. The framework assumes non-crossing targets, and is at this stage only suitable for non-manoeuvring targets; although modi cations have been suggested to allow the tracking of manoeuvring targets. Quach and Farooq [2] suggest that this can be accomplished by monitoring the 0 (missed-target or all-clutter) node in the trellis to determine if a manoeuvre has occurred, and then modifying the transition costs to take the target's acceleration into account. Further work needs to be done to test the performance of the VDA lter in such cases, as it appears necessary to backtrack several dwells to re-estimate the target track at the onset of the manoeuvre. This would imply an increase in the algorithm's computational requirements. The target con dence computed by a VDA lter is typically dominated by the path in the trellis with the highest relative likelihood. Whereas a conventional (e.g., PDA) lter has only a single track estimate, a VDA lter processes many possible tracks in parallel and eliminates all but the most likely ones. In this sense the VDA lter is like a multi-hypothesis tracker; but the Viterbi algorithm is a very ecient search strategy compared to the burgeoning computations required in the MHT. Because of the Viterbi algorithm's inherent parallelism, it is important to be aware that the current best track may not be a part of the optimal track, when the latter nally emerges. The ( rst portion of the) optimal track only appears when all paths merge, which happens after some delay. The track maintenance logic must take into account whether a merge has occurred as well as what the track existence probability is at a given time. Only a track corresponding to a merged path in the trellis should be con rmed. The false track rate and probability of track loss have not been calculated in the simulations done so far. This would require Monte Carlo tests. The current simulations indicate that the VDA lter copes well in moderate clutter densities ( = 0:3) and is less sensitive to missed target detections than PDA, being able to maintain track at PD = 0:4. Allowing for the delay due to merging of paths, the VDA lter also tends to initiate faster than PDA. The VDA track quality is superior to that of an all-neighbours algorithm like PDA in terms of its steady-state error in harsh environments. The VDA lter tries many sequences of possible associations, picking one as the best. The Kalman lter for the optimal path in the trellis is operating as a nearest-neighbour lter fed by what the Viterbi algorithm regards as the most likely sequence of target detections. Whereas the nearest-neighbour Kalman lter makes a decision based only on the current dwell data as to which measurement to take as the target, the VDA lter has the capability to delay this decision until the optimal path emerges (via the process of merging). In heavy clutter, the time to merge may increase due to the presence of false (clutter) tracks which have comparable cost to the target path, and the algorithm's performance may degrade if the lag time is constrained to be too short. Loosely speaking, the nearest-neighbour lter is akin to a VDA lter with zero decision delay (or lag of zero). 28

For a practical implementation of a tracker based on VDA lters, it will be necessary to deal with several other issues, as pointed out in section 1.2. The presence of stationary targets with non-zero Doppler may be accommodated in a similar way to that of velocity ambiguity: each lter initialised must run two parallel estimates, one for a moving target and one for a stationary target. The inappropriate model would rapidly be found to be inconsistent with the observed data. Although we have assumed a uniform distribution for the clutter in our simulations, the framework in which the transition costs are calculated is exible enough to handle arbitrary, non-uniform clutter PDF's, as long as such a PDF realistically can be identi ed from the data. It is a simple exercise to rederive the path costs for the VDA algorithm for a general clutter PDF pc (), provided there is negligible correlation of the clutter from dwell to dwell. The presence of multiple dwell regions, such as in a step-scanned OTHR, means rstly that the revisit time may be variable. This has been taken into account in the calculations. Second and more importantly, target tracks must be maintained across dwell region boundaries. This means that the track maintenance algorithm must reinitiate a track whenever a target crosses a boundary. It is expected that special consideration must be given to the track maintenance and probability calculations in the vicinity of region boundaries. Lastly we mention some possible directions for future research. It may be possible to extend the ideas of Viterbi data association to cover the case of multiple, crossing targets. A special track maintenance framework or, perhaps, operator intervention could be used to detect when two targets are likely to cross paths, and then a \multi-target VDA lter" could be used locally to separate the crossing tracks. The ideas in [13, 11, 12] would be a good starting point for the design of such an algorithm. It seems likely that multi-target tracking using a Viterbi algorithm will of necessity result in a trellis with an increased number of states. If tracks are non-crossing, then the di erent VDA lters assigned to each target should not interfere with each other provided that track maintenance is adequate. We mentioned in the previous report [1] that a VDA algorithm could be developed to fuse measurements due to multipath propagation. Providing that knowledge of ionospheric heights is adequate, it would be reasonably straightforward to augment the Kalman lter with the extra information provided by multipath target detections.

Acknowledgements

The authors wish to thank the following people for helpful discussions during the course of this work: S. P. Tucker and S. B. Colegrove of High Frequency Radar Division, DSTO; R. J. Evans, and A. Logothetis of the University of Melbourne.

References [1] G. W. Pulford, and R. J. Evans. \A Survey of Hidden Markov Model Tracking with Emphasis on OTHR - First Report to High Frequency Radar Division", CSSIP Report No. 7/95 (to DSTO), May 1995. [2] T. Quach and M. Farooq. \Maximum Likelihood Track Formation with the Viterbi Algorithm", Proc. 33rd IEEE Conf. on Decision and Control, Orlando, FL, pp. 271{276, Dec. 1994. [3] Y. Bar-Shalom, and E. Tse. \Tracking in a Cluttered Environment With Probabilistic Data Association", Automatica, vol. 11, pp. 451{460, 1975. [4] Y. Bar-Shalom, and T. E. Fortmann. Tracking and Data Association, Academic Press, 1988. [5] S. B. Colegrove. \Multi-Target Tracking in a Cluttered Environment", Proc. ISSPA'87, pp. 307{314, Aug. 1987.

29

[6] S. B. Colegrove, A. W. Davis, and J. K. Ayli e. \Track Initiation and Nearest Neighbours Incorporated into Probabilistic Data Association", J. Elec. and Electronic Eng., Australia, vol. 6, no. 3, pp. 191{198, Sept. 1986. [7] G. D. Forney Jr. \The Viterbi Algorithm", Proc. IEEE, vol. 61, no. 3, pp. 268{278, Mar. 1973. [8] J. K. Omura. \On the Viterbi Algorithm", IEEE Trans. Info. Th., vol. IT-15, pp. 177{179, Jan. 1969. [9] B. B. Brey. The Intel Microprocessors 8086/8088, 80186, 80286, 80386, and 80486: Architecture, Programming, and Interfacing, 3rd ed., Macmillan, NY 1994, pp. 526{543. [10] S. B. Colegrove. \Track Initiation with a Multi-Model Filter", Proc. ISSPA'92, 1992. [11] J. K. Wolf, A. J. Viterbi, and G. S. Dixon. \Finding the Best Set of K Paths Through a Trellis With Application to Multitarget Tracking", IEEE Trans. AES, pp. 287{296, Mar. 1989. [12] D. A. Casta~non. \Ecient Algorithms for Finding the K Best Paths Through a Trellis", IEEE Trans. AES, pp. 405{409, Mar. 1990. [13] Xianya Xie, and R. J. Evans. \Multiple Target Tracking and Multiple Frequency Line Tracking Using Hidden Markov Models", IEEE Trans. Signal Proc., vol. 39, no. 12, pp. 2659{2676, Dec. 1991.

30