GB2471270A - Evaluation of data filtering algorithms for an object tracking system - Google Patents
Evaluation of data filtering algorithms for an object tracking system Download PDFInfo
- Publication number
- GB2471270A GB2471270A GB0910618A GB0910618A GB2471270A GB 2471270 A GB2471270 A GB 2471270A GB 0910618 A GB0910618 A GB 0910618A GB 0910618 A GB0910618 A GB 0910618A GB 2471270 A GB2471270 A GB 2471270A
- Authority
- GB
- United Kingdom
- Prior art keywords
- performance
- algorithm
- time
- metric
- performance metric
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000001914 filtration Methods 0.000 title claims description 24
- 238000011156 evaluation Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims description 67
- 238000012360 testing method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003750 conditioning effect Effects 0.000 claims description 7
- 230000004807 localization Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000002405 diagnostic procedure Methods 0.000 claims description 4
- 238000012854 evaluation process Methods 0.000 description 24
- 230000000875 corresponding effect Effects 0.000 description 21
- 238000005259 measurement Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 230000007257 malfunction Effects 0.000 description 15
- 238000000546 chi-square test Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000002035 prolonged effect Effects 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004540 process dynamic Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/40—Means for monitoring or calibrating
- G01S7/4004—Means for monitoring or calibrating of parts of a radar system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/66—Radar-tracking systems; Analogous systems
- G01S13/72—Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar
- G01S13/723—Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar by using numerical data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
Data is produced by an object tracking system, such as a radar system, over a period. The data is processed using an algorithm, such as a Kalman filter, to filter the data or to produce an estimate from the data. The output from the algorithm is a function of time. Several performance metrics are calculated to determine the performance of the algorithm. The metrics are compared with separate predetermined bounds to see if there are times where the metric exceeds the bound. The times where the metrics exceed the bounds are then used to evaluate the algorithm. If more than one metric is out of bounds at the same time, this may be considered to be an error condition. The results of the evaluation may be used to detect faults in the system or to decide which algorithm to use.
Description
PERFORMANCE EVALUATION
FIELD OF THE INVENTION
The present invention relates to methods and apparatus for evaluating the performance an algorithm, where the algorithm is one of a filtering algorithm, an estimation algorithm, and a filtering and estimation algorithm. The present invention also relates to methods and apparatus for selecting such an algorithm, methods and apparatus for performing a process that has a plurality of such algorithms available for implementing the process, and related matters.
BACKGROUND
The field of signal filtering and the field of variable estimation are known.
Filtering algorithms that use a filter to remove or reduce unwanted components of a signal, for example noise, are known. Estimation algorithms that estimate a value of a variable are known. Filtering and estimation algorithms that both use a filter and estimate the value of a variable are known.
Such algorithms are used for various different filtering and/or estimation applications. For example, it is known to use a filtering and estimation algorithm as a tracking algorithm in a target tracking application. A Kalman filter, which is an example of a filtering and estimation algorithm, can be used to provide continuously updated information about a position and a velocity of a target given only a sequence of noisy observations about the position of the target. A Kalman filter is a recursive filter that estimates the state of a linear dynamic system from a series of noisy measurements.
Current methods of evaluating the performance of filtering and estimation algorithms adopt the monitoring of a single performance metric for the algorithm being evaluated. Some current methods utilise a small number of performance metrics in an uncoordinated and/or non-integrated fashion to monitor algorithm performance. Such methods, however, tend to be incapable of isolating and identifying unexpected errors or events and/or their causes.
SUMMARY OF THE INVENTION
The present inventors have realised it would be desirable to provide a method and apparatus for evaluating the performance of one or more filtering and estimation algorithms that provide more insight and information than is available from conventional use of a single performance metric, or plurality of uncoordinated performance metrics.
The present inventors have further realised it would be desirable to provide a method and apparatus for evaluating the performance of one or more filtering and estimation algorithms that provide an interrelationship between different evaluation metrics being assessed simultaneously.
The present inventors have further realised it would be desirable to provide a method and apparatus for evaluating the performance of one or more filtering and estimation algorithms that tends to provide an identification of unexpected errors and/or events.
In a first aspect the present invention provides a method of evaluating the performance of an algorithm, the algorithm being one of a filtering algorithm, an estimation algorithm, and a filtering and estimation algorithm; the method comprising: performing the algorithm over a time-period to provide an algorithm output as a function of the time within the time period; determining, for a plurality of performance metrics, a value of the respective performance metric for the algorithm output as a function of the time within the time period; determining, for each respective performance metric, a respective performance level as a function of the time within the time period wherein the respective performance level is a relative level indicative of the performance of the algorithm as a function of the time within the time period as assessed by the respective performance metric; and evaluating the performance of the algorithm by comparing the respective performance levels for the respective performance metrics in relation to common timings within the time period.
Evaluating the performance of the algorithm may further comprise detecting any performance characteristics that are indicated by a plurality of the performance metrics in relation to common timing within the time period.
The algorithm may perform one of the following: (i) tracking; (ii) simultaneous localisation and mapping.
One or more of the plurality of performance metrics may be selected from the following performance metrics: a normalised innovation squared performance metric, a time-averaged normalised innovation squared performance metric, a filter efficiency check performance metric, a time-averaged normalised innovation autocorrelation performance metric, a nominal filter performance, a normalised estimation error squared performance metric, a Cramér-Rao lower bound, a goodness-of-fit test, a time-averaged goodness-of-fit test, a filter numerical stability performance metric, and a covariance conditioning performance metric.
The method may further comprise performing a diagnostic process using the determined respective performance levels to determine the causes of any performance characteristics that are indicated by a plurality of the performance metrics.
In a further aspect the present invention provides a method of selecting an algorithm, the method comprising: evaluating the respective performances of a plurality of algorithms in accordance with a method according to any of the above aspects; and selecting the algorithm with the best evaluated performance.
In a further aspect the present invention provides a method of performing a process that has a plurality of algorithms available for implementing the process, the method comprising: selecting an algorithm according to the above aspect; and implementing the process by using the algorithm output of the selected algorithm.
In a further aspect the present invention provides a computer program or plurality of computer programs arranged such that when executed by a computer system it/they cause the computer system to operate in accordance with a method according to any of the above aspects.
In a further aspect the present invention provides a machine readable storage medium storing a computer program or at least one of the plurality of computer programs according to the above aspect.
In a further aspect the present invention provides apparatus for evaluating the performance of an algorithm, the algorithm being one of a filtering algorithm, an estimation algorithm, and a filtering and estimation algorithm; the apparatus comprising one or more processors adapted to: perform the algorithm over a time-period to provide an algorithm output as a function of the time within the time period; determine, for a plurality of performance metrics, a value of the respective performance metric for the algorithm output as a function of the time within the time period; determine, for each respective performance metric, a respective performance level as a function of the time within the time period wherein the respective performance level is a relative level indicative of the performance of the algorithm as a function of the time within the time period as assessed by the respective performance metric; and evaluate the performance of the algorithm by comparing the respective performance levels for the respective performance metrics in relation to common timings within the time period.
The one or more processors may be further adapted to detect any performance characteristics that are indicated by a plurality of the performance metrics in relation to common timing within the time period.
The algorithm may perform one of the following: (i) tracking; (ii) simultaneous localisation and mapping.
Each of the plurality of performance metrics may be selected from the following performance metrics: a normalised innovation squared performance metric, a time-averaged normalised innovation squared performance metric, a filter efficiency check performance metric, a time-averaged normalised innovation autocorrelation performance metric, a nominal filter performance, a normalised estimation error squared performance metric, a Cramér-Rao lower bound, a goodness-of-fit test, a time-averaged goodness-of-fit test, a filter numerical stability performance metric, and a covariance conditioning performance metric.
The one or more processors may be further adapted to perform a diagnostic process using the determined respective performance levels to determine the causes of any performance characteristics that are indicated by a plurality of the performance metrics.
In a further aspect the present invention provides apparatus for selecting an algorithm, the apparatus comprising: the apparatus for evaluating the performance of an algorithm in accordance with apparatus according to any of the above aspects arranged to evaluate the respective performances of a plurality algorithms; wherein the one or more processors are further adapted to select the algorithm with the best evaluated performance.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 a schematic illustration of an aircraft being tracked by an aircraft tracking device over a period of time; Figure 2 is a schematic illustration showing estimated respective positions of the aircraft and estimated aircraft directions; Figure 3 is a process flow chart showing certain steps of an embodiment of an aircraft tracking evaluation process; Figure 4A is an x-y graph showing a graphical representation of the time-averaged normalised innovation squared (TA NIS) performance metric for each of the time-steps; Figure 4B is an x-y graph showing a graphical representation of the normalised innovation squared (NIS) performance metric for each of the time-steps; Figure 4C is an x-y graph showing a graphical representation of the filter efficiency check (FEC) performance metric for each of the time-steps; Figure 4D is an x-y graph showing a graphical representation of the time-averaged normalised innovation autocorrelation (IA) performance metric for each of the time-steps; Figure 5 is an x-y graph showing a graphical representation of the timing information determined for each of the four performance metrics measured by the metric processor; Figure 6 is a schematic illustration of the aircraft being tracked by an aircraft tracking device over a period of time together with a sensor malfunction indication; Figure 7 is a schematic illustration showing further estimated respective positions of the aircraft and further estimated aircraft directions; Figure 8A is an x-y graph showing a further graphical representation of the time-averaged normalised innovation squared (TA NIS) performance metric for each of the time-steps; Figure 8B is an x-y graph showing a further graphical representation of the normalised innovation squared (NIS) performance metric for each of the time-steps; Figure 80 is an x-y graph showing a further graphical representation of the filter efficiency check (FEC) performance metric for each of the time-steps; Figure 8D is an x-y graph showing a further graphical representation of the time-averaged normalised innovation autocorrelation (IA) performance metric for each of the time-steps; and Figure 9 is an x-y graph showing a further graphical representation of the timing information determined for each of the four performance metrics measured by the metric processor;
DETAILED DESCRIPTION
Figure 1 is a schematic illustration of an aircraft 2 being tracked by an aircraft tracking device 8 over a period of time. The path of the aircraft during the period of time, hereinafter referred to as the "true aircraft path 16", is depicted schematically in Figure 1 as a dotted line. The positions of the aircraft 2 along the true aircraft path 16 at a series of seven time-steps are also shown schematically in Figure 1. The first time-step is identified by the reference character t1. The second time-step is identified by the reference character t2.
The third time-step is identified by the reference character t3. The fourth time-step is identified by the reference character t4. The fifth time-step is identified by the reference character t5. The sixth time-step is identified by the reference character t6. The seventh time-step is identified by the reference character t7.
At each of the time-steps t1 -t7, the respective direction in which the aircraft 2 is travelling, hereinafter referred to as the "true aircraft direction 4", is depicted as an arrow inside a respective schematic of the aircraft 2 at the respective position.
The aircraft tracking device 8 comprises a sensor 10, a position processor 12 and a metric processor 14.
The sensor 10 is a radar transceiver. The sensor 10 emits microwaves which reflect off the aircraft 2 and are received by the sensor 10. In this conventional way, the sensor 10 takes measurements of the position of the aircraft and the true aircraft direction 4. The sensor takes measurements of the position of the aircraft 2 and the true aircraft direction 4 at each of the seven time-steps t1 -t7. The microwaves that are reflected from the aircraft 2 and received by the sensor 10, hereinafter referred to as the "sensor observation 6", are schematically represented in Figure 1 by solid lines. In this embodiment, the sensor measurements 6 taken of the aircraft 2 at each of the time-steps are noisy measurements, i.e. the sensor measurements 6 taken of the aircraft 2 are subject to noise. Thus, data corresponding to the sensor observation 6 taken at each of the time-steps contains a number of errors (due to the random noise).
In this embodiment, the noise that the sensor readings 6 are subject to is stochastic noise. Thus, the noise present in the data corresponding to the sensor observation 6 taken at each of the time-steps are of random number, spread and severity. The source of this noise can be, for example, from thermal vibration of atoms, an imperfect sensor, or background radiation from space.
The sensor 10 is coupled to the position processor 12. The sensor 10 transmits respective data corresponding to the respective sensor observations 6 taken at the respective time-steps t1 -t7 to the position processor 12.
In this embodiment the position processor 12 implements a Kalman filter.
The position processor 12 receives the respective data corresponding to the respective sensor observations 6 taken at the respective time-steps t1 -t7 from the sensor 10. The position processor 12 determines and outputs an estimated position of the aircraft 2 and an estimated aircraft direction for each of the time-steps t1 -t7 for use by the metric processor 14 and for display to a user (not shown). The position processor 12 is coupled to the metric processor 14. The function of the position processor 12 and the processes carried out by the position processor 12 will be described in greater detail later below with reference to Figures 2 to 5.
The metric processor 14 is coupled to the position processor 12. The metric processor 14 and the functions and processes performed by the metric processor 14 will be described in greater detail later below with reference to Figures 3 to 5.
Figure 2 is a schematic illustration showing, in addition to the elements on Figure 1 and for each of the respective time-steps t1 -t7, an estimated respective position of the aircraft 2, hereinafter referred to as the "estimated aircraft position 3", and an estimated direction in which the aircraft is travelling, hereinafter referred to as the "estimated aircraft direction 5". The estimated aircraft positions 3 and the estimated aircraft directions 5 are determined by the position processor 12 during an aircraft tracking evaluation process, which is described in greater detail later below with reference to Figure 3. For ease of comparison with Figure 1, the estimated respective aircraft positions 3 and the estimated respective aircraft directions 5 for the respective time-steps t1 -t7 are shown relative to the true aircraft positions, the true aircraft path 16, and the aircraft tracking device 8 as shown in Figure 1. Figure 2 shows that, over the time-steps t1 -t7, the estimated aircraft position and the estimated aircraft direction 5 that are determined by the position processor 12, as described below with reference to Figure 3, deviate from the true aircraft path 16. The deviation of the estimated aircraft position 3 and the estimated aircraft direction from the true aircraft positions and directions are due to the noise present in the data corresponding to the sensor measurements 6 of the aircraft 2. This deviation between estimated and actual aircraft position/direction is shown in Figure 2 as being quite significant. However, the deviations depicted in Figure 2 are for illustrative purposes only. In reality, there would tend to be little significant deviation between the estimated and actual position of the aircraft 2 because the position processor 12 operates to reduce the noise in the system.
Apparatus, including the aircraft tracking device 8, for implementing the above arrangement, and performing the method steps to be described later below, may be provided by configuring or adapting any suitable apparatus, for example one or more computers or other processing apparatus or processors, and/or providing additional modules. The apparatus may comprise a computer, a network of computers, or one or more processors, for implementing instructions and using data, including instructions and data in the form of a computer program or plurality of computer programs stored in or on a machine readable storage medium such as computer memory, a computer disk, ROM, PROM etc., or any combination of these or other storage media.
Figure 3 is a process flow chart showing certain steps of an embodiment of an aircraft tracking evaluation process. The aircraft tracking evaluation process makes novel use of the metric processor's implementation of a process of concurrently monitoring a set of performance metrics in a coordinated manner.
At step s2, for the first time-step t1, the sensor 10 takes measurements of the position of the aircraft 2 and the true aircraft direction 4. The sensor 10 transmits data corresponding to the sensor observation 6 taken at the first time-step t1 to the position processor 12. In this embodiment, the sensor measurement 6 taken of the aircraft 2 at the first time-step t1 is a noisy measurement. Thus, the data corresponding to the sensor observation 6 taken at ti contains noise. The position processor 12 receives the data corresponding to the sensor observation 6 taken at t1 from the sensor 10.
At step s4, the position processor 12 uses the data corresponding to the sensor observation 6, taken at t1, to determine the estimated aircraft position 3 and the estimated aircraft direction 5 for the first time-step t1. The estimated aircraft position 3 and the estimated aircraft direction 5 are determined by the position processor 12 using a tracking algorithm, which in this embodiment is a Kalman Filter. The position processor 12 outputs the estimated aircraft position 3 and the estimated aircraft direction 5 for the first time-step t1 for display to the user. The position processor 12 outputs the estimated aircraft position 3 and the estimated aircraft direction 5 for the first time-step t1 for use by the metric processor 14.
At step s6, the metric processor 14 determines values of a number of performance metrics for the tracking algorithm used at step s4 by the position processor 12. In this embodiment, the metric processor 14 concurrently determines the values of the performance metrics. In this embodiment, the metric processor 14 concurrently determines the values of the following four performance metrics: the normalised innovation squared (NIS) performance metric, the time-averaged normalised innovation squared (TA NIS) performance metric, the filter efficiency check (FEC) performance metric, and the time-averaged normalised innovation autocorrelation (IA) performance metric.
However, in other embodiments, the metric processor concurrently determines values of other combinations of performance metrics, for example any or all of the following performance metrics: the normalised innovation squared (NIS) performance metric, the time-averaged normalised innovation squared (TA NIS) performance metric, the filter efficiency check (FEC) performance metric, the time-averaged normalised innovation autocorrelation (IA) performance metric, the nominal filter performance (NFP) performance metric, the normalised estimation error squared (NEES) performance metric, the Cramér-Rao lower bound (CRLB), the goodness-of-fit test (GFT), the time-averaged goodness-of-fit test (TA GFT), the filter numerical stability (FNS) performance metric, and the covariance conditioning (CC) performance metric. The performance metrics listed above will be described in greater detail in the annex.
At step s8, the steps s2 to s6 of the aircraft tracking evaluation processes are re-iterated for each of the time-steps t2 -t7. In this embodiment, the sensor measurements 6 taken of the aircraft 2 each of the time-steps t2 -t7 are noisy measurements. Thus, the respective data corresponding to the respective sensor observations 6 taken at each of the respective time-steps t2 -t7 contains respective noise. The position processor 12 determines the respective estimated aircraft positions 3 and the respective estimated aircraft directions 5 for each of the respective time-steps t2 -t7 using the tracking algorithm. In this embodiment, the tracking algorithm is used to determine the estimated aircraft position 3 and the estimated aircraft direction 5 for a time-step using data corresponding to the sensor observation 6 taken at that time-step, and an aircraft position 3 and an estimated aircraft direction 5 for the previous time-step.
Figures 4A to 4D illustrate the iterations of step s6 of the aircraft tracking evaluation process, as described above with reference to Figure 2. Steps slO and s12 of the process of Figure 2 described above will be described after the discussion of Figures 4A to 4D.
Figure 4A is an x-y graph showing a graphical representation of the time-averaged normalised innovation squared (TA NIS) performance metric for the time-steps t1 -t7, for this example. The determined values of the TA NIS performance metric for this example will hereinafter be referred to as the "first TA NIS performance metric values 104". In this embodiment, the first TA NIS performance metric values 104 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3.
Also shown in Figure 4A is an upper confidence bound for the TA NIS performance metric 102, and a lower confidence bound for the TA NIS performance metric 106. In this embodiment, the confidence bounds for the TA NIS performance metric 102, 106 are conventional statistically calculated confidence bounds for the TA NIS performance metric. The x-axis of Figure 4A is the time-step at which the metric processor 14 determines values of the TA NIS performance metric. The x-axis of Figure 4A ranges from the first time-step t1 to the seventh time-step t7. The y-axis of Figure 4A is the respective value of the TA NIS performance metric determined by the metric processor 14 at a respective time-step.
Figure 4B is an x-y graph showing a graphical representation of the normalised innovation squared (NIS) performance metric for the time-steps ti -t7, for this example. The determined values of the NIS performance metric for this example will hereinafter be referred to as the "first NIS performance metric values 204". In this embodiment, the first NIS performance metric values 204 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3. Also shown in Figure 4B is an upper confidence bound for the NIS performance metric 202, and a lower confidence bound for the NIS performance metric 206. In this embodiment, the confidence bounds for the NIS performance metric 202, 206 are conventional statistically calculated confidence bounds for the NIS performance metric. The x-axis of Figure 4B is the time-step at which the metric processor 14 determines values of the NIS performance metric. The x-axis of Figure 4B ranges from the first time-step t1 to the seventh time-step t7. The y-axis of Figure 4B is the respective value of the NIS performance metric determined by the metric processor 14 at a respective time-step.
Figure 40 is an x-y graph showing a graphical representation of the filter efficiency check (FEC) performance metric for the time-steps t1 -t7, for this example. The determined values of the FEC performance metric for this example will hereinafter be referred to as the "first NIS performance metric values 304". In this embodiment, the first FEC performance metric values 304 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3. Also shown in Figure 4C is an upper confidence bound for the FEC performance metric 302, and a lower confidence bound for the FEC performance metric 306. In this embodiment, the confidence bounds for the FEC performance metric 302, 306 are conventional statistically calculated confidence bounds for the FEC performance metric. The x-axis of Figure 4C is the time-step at which the metric processor 14 determines values of the FEC performance metric. The x-axis of Figure 4C ranges from the first time-step t1 to the seventh time-step t7. The y-axis of Figure 4C is the respective value of the FEC performance metric determined by the metric processor 14 at a respective time-step.
Figure 4D is an x-y graph showing a graphical representation of the time-averaged normalised innovation autocorrelation (IA) performance metric for the time-steps t1 -t7, for this example. The determined values of the IA performance metric for this example will hereinafter be referred to as the "first IA performance metric values 404". In this embodiment, the first IA performance metric values 404 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3. Also shown in Figure 4D is an upper confidence bound for the IA performance metric 402, and a lower confidence bound for the IA performance metric 406. In this embodiment, the confidence bounds for the IA performance metric 402, 406 are conventional statistically calculated confidence bounds for the IA performance metric. The x-axis of Figure 4D is the time-step at which the metric processor 14 determines values of the IA performance metric. The x-axis of Figure 4D ranges from the first time-step t1 to the seventh time-step t7. The y-axis of Figure 4D is the respective value of the IA performance metric determined by the metric processor 14 at a respective time-step.
At step slO, timing information is determined for each of the performance metrics measured in step s6 of the aircraft tracking evaluation process. In this embodiment, the timing information for a performance metric is defined by a function, the value of which is equal to zero if the performance metric value is between the lower and upper confidence bounds for that performance metric, and is equal to one if the performance metric value lies outside the range between the lower and upper confidence bounds for that performance metric, i.e. the timing information value for a performance metric is given by the following function: T(m)=O if L<m<U; =1 if m <L, or m > U where: m1 is the value of the ith performance metric. In this embodiment, i == 1 4. Thus the values of m1, i = 1 4, are the values of the four performance metrics: the normalised innovation squared (N IS) performance metric, the time-averaged normalised innovation squared (TA NIS) performance metric, the filter efficiency check (FEC) performance metric, and the innovation autocorrelation (IA) performance metric. Also, in this embodiment the each of the performance metrics is a function of time, i.e. m1 = m1(t); T(in) is the timing information of the ith performance metric; L1 is the statistically determined lower confidence bound of the ith performance metric; and U is the statistically determined upper confidence bound of the ith performance metric.
In this embodiment, the timing information is determined for each of the performance metrics by the metric processor 14. In this example, if the timing information for a particular performance metric is equal to one, it is concluded that that particular performance metric has detected an error event for the time period during which the timing information for the particular performance metric is equal to one.
Figure 5 is an x-y graph showing a graphical representation of the timing information determined for each of the four performance metrics measured by the metric processor 14, i.e. the TA NIS, NIS, FEC and IA performance metrics, for this example. The timing information for the TA NIS performance metric for this example is hereinafter referred to as "the first TA NIS timing information 100". The timing information for the NIS performance metric for this example is hereinafter referred to as "the first NIS timing information 200". The timing information for the FEC performance metric for this example is hereinafter referred to as "the first FEC timing information 300". The timing information for the IA performance metric for this example is hereinafter referred to as "the first IA timing information 400". The timing information for each of the four performance metrics are shown on common axes for ease of comparison.
At step s12, a diagnostic analysis of the timing information of the performance metrics is performed. In this embodiment, the diagnostic analysis of the timing information of the performance metrics is performed to detect any performance characteristics that are indicated by the measured performance metrics during the time-steps t1 -t7. In this example, the performance characteristics being detected are sufficiently serious error events that have occurred during the aircraft tracking evaluation process. The terminology "sufficiently serious error event" is here to refer to an event, occurring over a particular time period, that causes errors in sufficient number and/or severity to warrant the aircraft position 3 and the estimated aircraft direction 5, as determined by the position processor 12 using the tracking algorithm, to be unacceptably inaccurate. However, in other embodiments, the terminology "performance characteristic" refers to different features that, for example, affect the performance of an algorithm.
In this example, a sufficiently serious error event has been deemed to have occurred if the timing information of two or more performance metrics registers an error event over a common time-period during the time-steps t1 -t7.
The process of determining whether a sufficiently serious error event has occurred during the aircraft tracking evaluation process is performed as follows.
Firstly, for each of the respective measured performance metrics (the TA NIS, NIS, FEC and IA performance metrics) a respective time-period or time-periods over which an error event is registered is/are determined, i.e. in this example, a time-period or time-periods that the timing information for each of the measured performance metrics is equal to one is determined. Secondly, the determined time-period or time-periods over which errors occur for the measured performance metrics are compared to each other. This is done to determine whether or not any of the compared time-periods overlap, i.e. whether or not any of the measured performance metrics register an error over a common time-period. If the determined time-periods for two or more performance metrics overlap, i.e. if two or more measured performance metrics register an error over a common time-period, it is concluded that a sufficiently serious error event has occurred over the period of time over which the overlap occurs.
In this embodiment, a sufficiently serious error event has been deemed to have occurred if the timing information of two or more performance metrics registers an error event over a common time-period during the time-steps t1 -t7.
However, in other embodiments, a sufficiently serious error event has been deemed to have occurred if other criteria are satisfied, for example, if the timing information of two or more performance metrics registers an error event over a common time-period plus/minus a time threshold.
In this example, it can be seen from the timing information of the performance metrics, as shown in Figure 5, that the first TA NIS timing information and the first IA timing information 400 do not register an error event.
However, the first NIS timing information 200 and the first FEC timing information 300 each show a series of error events occurring over the time-steps t1 -t7. In this example, the error events shown in the first NIS timing information 200 and the first FEC timing information 300 do not occur in the timing information plots of both performance metrics over a common time-period, i.e. there is no overlap in the time-periods of the performance metrics over which an error occurs. Thus, in this example, it is concluded that, although errors have occurred, an error event of sufficient severity has not, and consequently that the estimated aircraft positions 3 and the estimated aircraft directions 5, as determined by the position processor 12 using the tracking algorithm, are sufficiently accurate for each of the time-steps t1 -t7.
In other embodiments the diagnostic analysis of the timing information is performed in a different manner. For example, in other embodiments it is determined that a serious error event has occurred if a certain percentage of the timing information plots of the measured performance metrics show an error event. In other embodiments, a serious error event is deemed to have occurred only if it is registered by a number or percentage of the performance metrics over a common time-period and for a specific time duration. Also, in other embodiments the timing information is used in a prognostic analysis process instead of or in addition to the diagnostic analysis performed as described above. For example, in other embodiments, some or all of the timing information for the measured performance metrics, and/or the performance metrics themselves, is used in a diagnostic and/or prognostic analysis process utilising a Bayesian network and/or a neural network and/or any other machine learning/artificial intelligence/decision making algorithm or a combination of the above.
In the above embodiments, the measured performance metrics tend to aid in the determination and/or identification of reasons why a particular tracking algorithm is not working as expected. For example, that the dynamics of the aircraft have not been modelled correctly could be determined by a certain combination of metrics having gone beyond their confidence bounds in a certain order. In certain embodiments, an expert is used to determine these aforementioned reasons. In other embodiments, the aforementioned reasons are determined automatically using any of the previously mentioned machine learning algorithms. Also, in other embodiments the diagnosis tool is trained to improve its diagnostic performance given guidance from an expert.
A further example of operation of the embodiment in which a sensor malfunction occurs will now be described. The sensor malfunction will be described in greater detail later below with reference to Figure 6. The further example utilises the aircraft tracking evaluation process, as described above with reference to Figure 3, i.e. steps s2 to s12 as described above are utilised in the further example in the same way as in the above example. However, the further example differs over the example described above (with reference to Figures 1 to 5) in that the data corresponding to the sensor readings 6 of the aircraft 2 taken after the occurrence of the sensor malfunction comprises errors in addition to those resulting from the random noise, as described in more detail later below.
Figure 6 is a schematic illustration of the aircraft 2 being tracked by an aircraft tracking device 8 over a period of time. The following entities are common to both Figure 1 and Figure 6 and are indicated by the same reference numerals: the aircraft 2 at respective positions corresponding to the respective time-steps t1 -t7, the respective true aircraft directions 4 at each of the respective time-steps t1 -t7, and the respective sensor readings 6 of the aircraft 2 for each of the respective time-steps t1 -t7, the true aircraft path 16, and the aircraft tracking device 8 comprising the sensor 10, the position processor 12, and the metric processor 14. In addition to the entities present in Figure 1, in Figure 6 an event of a malfunction occurring in the sensor 10, hereinafter referred to as the "sensor malfunction event 18", is indicated as a dotted line.
The sensor malfunction event 18 represents a point in time from which the sensor 10 ceases to operate as expected. Thus, measurements taken by the sensor 10 after the sensor malfunction event 18 will be affected. In this example, measurements taken by the sensor 10 after the sensor malfunction event 18 will be subject to errors in addition to random noise, as described above. Thus, data corresponding to measurements taken after the sensor malfunction event 18, and used by the position processor 12 to estimate the position of the aircraft 2 and the estimated aircraft direction 5, will contain errors in addition to noise. In this example, the sensor malfunction event 18 is positioned between the fourth time-step t4 and the fifth time-step t5. Thus, in this example, the sensor readings 6 taken of the aircraft 2 at the fifth, sixth and seventh time-steps t5 -t7 are affected by the sensor malfunction event 18 and errors will be present in the data corresponding to the senor readings 6 taken at these time-steps in addition to the random noise already present.
Figure 7 is a schematic illustration showing, in addition to the elements shown in Figure 6 and for each of the respective time-steps t1 -t7, a further estimated respective position of the aircraft 2, hereinafter referred to as "further estimated aircraft positions 30" and a further estimated direction in which the aircraft is travelling, hereinafter referred to as the "further estimated aircraft direction 7". The further estimated aircraft positions 30 and the further estimated aircraft directions 7 are determined by the position processor 12 during the aircraft tracking evaluation process, as described above with reference to Figure 3. For ease of comparison, the further estimated aircraft positions 30 and the further estimated respective aircraft directions 7 for the respective time-steps t1 -t7 are shown relative to the true positions of the aircraft 2, the true aircraft path 16, and the aircraft tracking device 8.
A comparison of Figures 6 and 7 shows that, over the time-steps t1 -t7, the further estimated aircraft position 30 and the further estimated aircraft direction 7, which are determined by the position processor 12, deviate from the true aircraft path 16. In this example, the aircraft 2 is estimated to be further away from the aircraft tracking device 8 than is actually the case. The deviation of the further estimated aircraft positions 30 and the further estimated aircraft directions 7 from the true aircraft positions and direction are due to noise or noise and errors due to sensor malfunction. In this example, the data corresponding to the sensor measurements 6 of the aircraft 2 taken at the first, second, third and fourth time-steps ti -t4 is affected by random noise, as described above. In this example, the data corresponding to the sensor measurements 6 of the aircraft 2 taken at the fifth, sixth and seventh time-steps t5 -t7 is affected by a combination of noise and the malfunctioning of the sensor 10. In this example, the errors present in the data have a cumulative effect on the estimated aircraft position and direction at each time-step, causing the further estimated aircraft position 30 to deviate more from the true aircraft path 16 with each time-step.
A comparison of Figures 2 and 7 shows that in these examples, over the time-steps t1 -t4, the estimated aircraft position 3 together with the estimated aircraft direction 5 do not differ substantially from the further estimated aircraft position 30 and the further estimated aircraft direction 7. This is because in both examples the respective sensor readings 6 of the aircraft 2 used to calculate the respective estimated positions and directions of the aircraft 2 at the respective time-steps t1 -t4, are all subject to the same level of random noise and no other error causing influence. Thus, the noise in the data corresponding to the sensor readings 6 taken at the time-steps t1 -t4 in the further example is of substantially the same severity as the noise in the corresponding data of the previous example. However, over the time-steps t5 -t7, the estimated aircraft position 3 together with the estimated aircraft direction do differ substantially from the further estimated aircraft position 30 and the further estimated aircraft direction 7. This is because in the further example the respective sensor readings 6 of the aircraft 2 used to calculate the respective estimated positions and directions of the aircraft 2 at the respective time-steps t5 -t7, contain errors resulting from the sensor malfunction event 18 in addition to random noise, whereas, in the previous example the respective sensor readings 6 merely contain random noise. Thus, in the further example, as a result of the sensor malfunction, the errors contained in the data corresponding to the sensor readings 6 at the time-steps t5 -t7 are more numerous and/or of greater severity than the errors in the data corresponding to the sensor readings 6 taken at the time-steps t5 -t7 in the previous example.
Figures 8A to 8D illustrate the iterations of step s6 of the aircraft tracking evaluation process, as described above with reference to Figure 2. Steps slO -20 -and s12 of the process of Figure 2 described above will be described after the discussion of these Figures.
Figure 8A is an x-y graph showing a graphical representation of the time-averaged normalised innovation squared (TA NIS) performance metric for the time-steps t1 -t7, for the further example. The determined values of the TA NIS performance metric for the further example will hereinafter be referred to as the "second TA NIS performance metric values 108". In this example, the second TA NIS performance metric values 108 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3.
Also shown in Figure 8A, for ease of comparison with Figure 4A, are the upper confidence bound for the TA NIS performance metric 102, and the lower confidence bound for the TA NIS performance metric 106, as described above with reference to Figure 4A. The x-axis of Figure 8A is the time-step at which the metric processor 14 determines values of the TA NIS performance metric.
The x-axis of Figure 8A ranges from the first time-step t1 to the seventh time-step t7. The y-axis of Figure 8A is the respective value of the TA NIS performance metric determined by the metric processor 14 at a respective time-step.
Figure 8B is an x-y graph showing a graphical representation of the normalised innovation squared (NIS) performance metric for the time-steps ti -t7, for the further example. The determined values of the NIS performance metric for the further example will hereinafter be referred to as the "second NIS performance metric values 208". In this example, the second NIS performance metric values 208 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3. Also shown in Figure 8B, for ease of comparison with Figure 4B, are the upper confidence bound for the NIS performance metric 202, and the lower confidence bound for the NIS performance metric 206, as described above with reference to Figure 4B. The x-axis of Figure 8B is the time-step at which the metric processor 14 determines values of the NIS performance metric. The x-axis of Figure 8B ranges from the -21 -first time-step t1 to the seventh time-step t7. The y-axis of Figure 8B is the respective value of the NIS performance metric determined by the metric processor 14 at a respective time-step.
Figure 80 is an x-y graph showing a graphical representation of the filter efficiency check (FEC) performance metric for the time-steps t1 -t7, for the further example. The determined values of the FEC performance metric for the further example will hereinafter be referred to as the "second FEC performance metric values 308". In this example, the second FEC performance metric values 308 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3. Also shown in Figure 80, for ease of comparison with Figure 40, are the upper confidence bound for the FEC performance metric 302, and the lower confidence bound for the FEC performance metric 306, as described above with reference to Figure 4C. The x-axis of Figure 8C is the time-step at which the metric processor 14 determines values of the FEC performance metric. The x-axis of Figure 8C ranges from the first time-step t1 to the seventh time-step t7. The y-axis of Figure 8C is the respective value of the FEC performance metric determined by the metric processor 14 at a respective time-step.
Figure 8D is an x-y graph showing a graphical representation of the time-averaged normalised innovation autocorrelation (IA) performance metric for the time-steps t1 -t7, for the further example. The determined values of the IA performance metric for the further example will hereinafter be referred to as the "second IA performance metric values 408". In this example, the second IA performance metric values 308 are determined by the metric processor 14 during the step s6 of each of the iterations of steps s2 to s6 of the aircraft tracking evaluation process, as described above with reference to Figure 3.
Also shown in Figure 8D, for ease of comparison with Figure 4D, are the upper confidence bound for the IA performance metric 402, and the lower confidence bound for the IA performance metric 406, as described above with reference to Figure 4D. The x-axis of Figure 8D is the time-step at which the metric processor 14 determines values of the IA performance metric. The x-axis of -22 - Figure 8D ranges from the first time-step t1 to the seventh time-step t7. The y-axis of Figure 8D is the respective value of the IA performance metric determined by the metric processor 14 at a respective time-step.
Figure 9 is an x-y graph showing a graphical representation of the timing information determined for each of the four performance metrics measured by the metric processor 14, i.e. the NIS, TA NIS, FEC and IA performance metrics, in the further example. The timing information for the TA NIS performance metric for the further example is hereinafter referred to as "the second TA NIS timing information 101". The timing information for the NIS performance metric for the further example is hereinafter referred to as "the second NIS timing information 201". The timing information for the FEC performance metric for the further example is hereinafter referred to as "the second FEC timing information 301". The timing information for the IA performance metric for the further example is hereinafter referred to as "the second IA timing information 401".
The timing information for each of the four performance metrics are shown on common axes for ease of comparison.
In this example, the timing information determined in the further example is interpreted in the same way as the timing information determined for the previously described example, as described above with reference to Figure 3 (i.e. at step si 2 of the aircraft tracking evaluation process).
In this example, the timing information of the performance metrics, as shown in Figure 9, is analysed using the process of determining whether a sufficiently serious error event has occurred as described above with reference to step s12 of the aircraft tracking evaluation process (Figure 3). Using this process it is determined that the second TA NIS timing information 101 indicates a prolonged error event starting between the fourth time-step t4 and the fifth time-step t5. Also, the second NIS timing information 201 shows a series of error events occurring over the time-steps t1 -t7, as in the previous example as described above with reference to Figure 5. Also, the second FEC timing information 301 indicates a prolonged error event, starting slightly before the fifth time-step t5, in addition to the error events that occurred before this point which occurred in the previous example as described above with -23 -reference to Figure 5. The second IA timing information 401 does not indicate an error event.
In this example, portions of the prolonged error events shown in the second TA NIS timing information 101 and the second FEC timing information 301 occur in the timing information plots of both performance metrics over a common time-period. Thus, in this example, it is concluded that, an error event of sufficient severity has occurred. Additionally, it is concluded that the error event of sufficient severity started slightly before the fifth time-step t5. Thus, it is concluded that the error event of sufficient severity affected the sensor reading 6 taken of the aircraft 2 in the fifth, sixth and seventh time-steps t5 -t7.
Consequently, it is concluded that the positions of the aircraft 2 and the estimated aircraft directions 4, as determined by the position processor 12 using the tracking algorithm, unacceptably inaccurate for each of the fifth, sixth and seventh time-steps t5 -t7.
Thus, the above described processes advantageously tend to provide improved insight into numerical instability, filter code implementation, unmodelled process dynamics, unmodelled observation dynamics, mismatched noise covariances, and algorithm benchmarking. Conventional filtering applications tend not check these causes and effects, thus the above described processes tend to reduce propagation and/or accumulation of errors due to noise and/or error events, for example in a state vector and/or a covariance matrix.
A further advantage provided by the above described processes is that diagnosis of a sufficiently serious error event tends to be aided. For example, unexpected behaviour of one or more performance metrics tends to be correlated in time to the occurrence of the sufficiently serious error event.
A further advantage provided by the above described processes is that a measure of how well an algorithm, for example the tracking algorithm, is performing tends to be provided. This advantage tends to be irrespective of whether or not a sufficiently serious error event occurs. For example, a measure of algorithm performance tends to be provided by the frequency and/or -24 -duration of errors being registered in the timing information of the measured performance metrics.
A further advantage provided by the above described processes is that a method of comparison of the respective performance levels of more than one respective algorithm tends to be provided. For example, the frequency and/or duration of errors registered in the timing information of measured performance metrics can be compared for each tracking algorithm in a plurality of tracking algorithms. In this way, a best performing tracking algorithm can be identified, and used, for a particular situation requiring a tracking algorithm.
A further advantage provided by the above described processes is that processes of validation and/or tuning of different sensor models and/or process models tend to be aided.
A further advantage provided by the above described processes is that insight into how errors and/or the sources of errors propagate through an algorithm, for example a tracking algorithm, tends to be provided.
A further advantage provided by the above described processes is that an accurate value for the variance of the experienced noise tends to be obtained. This parameter may be used within the Kalman Filter, for example, by iteratively adjusting the value of the variance passed to Kalman Filter, and analysing the performance metrics, an appropriate variance can be obtained.
Also, the noise characteristics of the tracking algorithm tend to be improved.
A further advantage provided by the above described processes is that filter initialisation tends to be improved.
A further advantage provided by the above described processes is that a measurement of filter performance tends to be provided.
In the above embodiment, an aircraft is tracked by an aircraft tracking device. However, in other embodiments any number of any objects is tracked by any number of appropriate tracking devices comprising any number of appropriate sensors.
In the above embodiments, the performance of a particular tracking algorithm, as described above, is evaluated. However, in other embodiments -25 -the performance of any appropriate algorithm is evaluated. For example, in other embodiments the performance of a simultaneous localisation and mapping (SLAM) algorithm is evaluated.
In the above embodiments, the performance of a single algorithm is evaluated. However, in other embodiments, the performances of any number of algorithms are evaluated. For example, in other embodiments the performances of a plurality of algorithms are evaluated and compared in order to determine a best performing algorithm, which is then utilised going forward, by being the algorithm chosen for use in implementing the relevant task when required (as opposed to the lesser performing algorithms(s)). Another possibility is that the results from the best performing algorithm are used as the final results, and the results from the lesser performing algorithm(s) are discarded.
In the above embodiment the performance of the tracking algorithm is evaluated over seven time-steps t1 -t7. However, in other embodiments the performance of the tracking algorithm is evaluated over any number of time-steps spanning any duration of time. In other embodiments, the performance of the tracking algorithm is evaluated at a series of discrete time-steps. In other embodiments, the performance of the tracking algorithm is evaluated for a continuous time-period.
In the above embodiments, the sensor observations are taken at discrete time-steps t1 -t7, i.e. the sensor is sampled at a specific frequency. However, in other embodiments, the sensor observations are taken over a continuous time-space. In other embodiments, a filtering and/or estimation algorithm that has a continuous time-space is used. In other embodiments, a filtering and/or estimation algorithm with no time-domain is used.
In the above embodiments, the performance metrics are measured at discrete time-steps ti -t7. However, in other embodiments, the performance metrics are measured over a continuous time-space.
In the above embodiment, the aircraft tracking device comprises a sensor, a position processor and a metric processor. However, in other embodiments the aircraft tracking device comprises one or more different -26 -appropriate entities that provide the same functionality as the sensor, the position processor and the metric processor. In other embodiments, the functionality provided by the aircraft tracking device is provided by a plurality of separate devices.
In the above embodiment, the steps (steps s2 to s12) of the aircraft tracking evaluation process, described above with reference to Figure 3, are performed consecutively. However, in other embodiments the some or all of the steps of the aircraft tracking evaluation process are performed in a different order or concurrently, or overlapping temporally to some extent, providing the functionality above.
In the above embodiments, the performance metrics are measured and processed by the metric processor. However, in other embodiments the performance metrics are processed by a different device, external to the aircraft tracking device. For example, in other embodiments the performance metrics are measured and/or processed by a Filter Analysis Tool, external to the aircraft tracking device, which can be used to evaluate the performance of one or more tracking devices and/or tracking algorithms.
In the above embodiments, the upper and lower confidence bounds for the measured performance metrics are conventional statistically determined confidence bounds. However, in other embodiments, one or more of the upper and/or lower confidence bounds of the measured performance metrics is determined in a different manner, for example one or more of the upper and/or lower confidence bounds of the measured performance metrics is a user specified threshold.
In the above embodiments, the normalised innovation squared (NIS) performance metric, the time-averaged normalised innovation squared (TA NIS) performance metric, the filter efficiency check (FEC) performance metric, and the time-averaged normalised innovation autocorrelation (IA) performance metric are measured and processed to evaluate the performance of the tracking algorithm. However, in other embodiments, any different appropriate performance metrics are measured and processed. For example, in other embodiments the tracking algorithm performance is evaluated by measuring -27 -and processing the normalised innovation squared (NIS) performance metric, the time-averaged normalised innovation squared (TA NIS) performance metric, the filter efficiency check (FEC) performance metric, the time-averaged normalised innovation autocorrelation (IA) performance metric, the nominal filter performance (NFP) performance metric, the normalised estimation error squared (NEEC) performance metric, the Cramér-Rao lower bound (CRLB), the goodness-of-fit test (GFT), the time-averaged goodness-of-fit test (TA GFT), the filter numerical stability (FNS) performance metric, and the covariance conditioning (CC) performance metric.
ANNEX -FURTHER DETAILS OF SOME OF THE ABOVE MENTIONED
PERFORMANCE METRICS.
FILTER BACKGROUND (Referred to later below)
There are three requirements that may be used to define filter performance. The first states that the filter must converge in the mean squared error (MSE) sense. This is the property of convergence and is given as: Jim E [\ \k\f)]j = where x and are the true and filter estimated states respectively. The second states that the filter must converge to the correct value. This is the property of consistency. In this work we define consistency for the first moment (mean) as: = 1) ) where the state error should be zero mean (unbiased), and the second moment (variance), defined as: L L['4& I] j I (3) where the true mean squared error (the true covariance) on the left hand side (LHS) should be equivalent to the filter calculated covariance P on the right hand side (RHS). Finally, the filter must be computationally efficient -28 - (complexity). The complexity requirement is defined as a function relating the size of the input to the number of steps (time complexity) or storage locations (space complexity) it takes to complete a problem.
NOMINAL FILTER PERFORMANCE
The nominal filter performance (NFP) measures the overall uncertainty in the state estimate. In this case the determinant or trace is commonly used. The determinant can be interpreted geometrically as the volume of the hyperellipsoid that characterizes the uncertainty of the parameter estimates provided by the filter. Alternatively, the trace, the derivative of the determinant at the identity, can be geometrically interpreted as the change in the volume of the hyperellipsoid. The NFP can be defined as the estimated standard deviation error (SDE) d(k)compared to the true SDE 5(k): (T&) = i &) \ I) 1(I Ii 4j ) = On average for an unbiased estimator o(k) =(k). A tolerance can be placed on this, such that a filter is deemed successful if the true SDE does not exceed the estimated SDE by more than, for example, 50%. cr
) T, I
NORMALISED ESTIMATION ERROR SQUARED
The normalised estimation error squared (NEES) measures the consistency of the filter. The NEES metric is given as: pLfl = (7 [x(k) ] F'L.k [x(k) where P is the estimated covariance and E is a scalar value with a chi-squared distribution with n degrees of freedom. A chi-squared test can be used to accept a null hypothesis that the filter is consistent for a single run test if: -29 -Ek:: where c is the significance level. However, typically many runs are required to verify whether a filter is consistent. Therefore, it is recommended that all these performance metrics should also be applied using Monte Carlo runs. The average NEES for a set ofNsimulations is obtained by: = A two-tailed chi-squared test can be carried out on the average NEES, with acceptance bounds given as: JO) Where
-_____ Ii-
-k 1-* 12= a2) Noting that the number of degrees of freedom is now given by n = Ndim(x) and given a two-sided test, the probability region is defined from =o/2. A filter is deemed consistent if, iI 13 optimistic if: U$) or pessimistic if: c -30 -
CRAMER-RAO LOWER BOUND
The Cramér-Rao lower bound (CRLB) can be used for comparing filters and comparing changes to filters. In order to implement the CRLB we assume that our estimator is an extended Kalman filter (EKF) with the linearised state model: X. = h?iXk) + W (16) = where the additive noise terms w and v are Gaussian with zero mean and invertible covariance matrices Q and R respectively, and Fk and Hk are the Jacobians of the nonlinear functions f and h respectively, that is: 1144] + L x)']2 (19j The sequence of Jk of posterior subrnatrices for estimating state vectors obeys: Jk�i = D(J&, -i-i)' )Jji)2 (20) where =* (21) I}2 = E{F & = [fl;1]2 = ( � where HlR;lHk+l is the information gained from a landmark and F[Q;1Fk the information gained from the vehicle. The recursion is initialised with Jo = i where Po is the covariance of the initial state. It is important to note that the expectation operator E used in (21-23) can be dropped for a linear system (as it is constant in time), or in the case where a groundtruth state xk is known and can be calculated at each time interval. Otherwise, the expectation can be taken either analytically by integrating over the state, or approximating by taking the mean over several Monte Carlo simulations. Combining (20) with the terms defined in (21-23) and dropping the expectation operator, the CRLB can be written as: -31 -Jk41 = + 11;4.1I:Fi1 Qj'.F. (J + I1Qj:.F) :F1' Using the matrix inversion lemma: =A.:J.A.'IB (2) + i3.' where (24) can be simplified to: P = [q +FI*j + r 1 LI itJ.klti+iJIk44)j given that: 1:: k+I. -
FILTER EFFICIENCY CHECKS
The filter efficiency checks (FEC) allow the efficiency to be measured in two ways. First, by applying a chi-square test on the NEES of J given as: = [x(ki *k) J(kk) [x(k) and second, by using the ratio of (k) to the. (k)from (7): 3O E pl k If Eratjo (k) > 1 then the filter is deemed optimistic, otherwise the filter is deemed pessimistic, except for Eratjo (k) = 1, when the filter is perfectly efficient.
NORMALISED INNOVATION SQUARED
The normalised innovation squared (NIS) is in a stochastic sense, the difference between the actual z and predicted 2 observations, defined as: = -32 -where S is the innovation covariance and v is the innovation residual. The value of the NIS has a chi-squared distribution and can be tested for filter consistency in a similar way to previous metrics. The NIS indicates if the observations are more or less noisy than the filter expects. A possible cause of the NIS falling outside of the chi-squared bounds is that the innovation sequence does not have AWGN with zero mean and with the computed variance.
TIME-AVERAGED NORMALISED INNOVATION SQUARED
In the case where it is not possible, or impractical to get Monte Carlo runs of a filter in operation, the time-averaged NIS can be calculated. This allows for a single value of consistency to be checked and possibly corrected in real-time. The time-averaged NIS for a total number of time-steps K is given by: 1 K = JI& 1.
If it is necessary to tune a filter parameter in real-time, then the time-averaged NIS would be skewed by prior data. An exponentially moving average can be used for finding a time-averaged NIS:
I
- iJ ii where y is a weighting factor between 0 <y < 1 and is calculated based on the number of time periods K to average over: = (35 Using a two-sided chi-squared test with nv = K dim(v) dimensions, the consistency can be determined for the filter in real-time. A possible cause of the time-averaged NIS falling below the chi-squared lower bound is that the noise levels in the filter are too high.
-33 -TIME-AVERAGED NORMALISED INNOVATION AUT000RRELATION The autocorrelation of the innovations p(l) can be used to check if the sequence of observations is zero mean and uncorrelated. This is written as the time-averaged innovation autocorrelation (IA):
K
= Vi +: + + (3.6) where 1 defines the sampling size and p(l) has a normal distribution with standard deviation = --. The sequence of innovations can be determined as uncorrelated if the value of p(l) lies within: where r is the confidence interval for a given certainty based on the normal distribution. An indication of the innovation sequence failing its whiteness test is when the IA consistently exceeds its -95% confidence bound (where r = 2).
This can indicate that either the process model has significant higher-order unmodelled dynamics, or the ratio of observations to process noise is too high or the sequence of innovations is uncorrelated.
GOODNESS-OF-FIT TEST
The goodness-of-fit test (GFT) is given as: = Ivt 3S where v (k) is the innovation residual. Using a two-sided chi-squared test with nv = Kdim(v) dimensions, the GFT can be used to determine whether the -34 -innovation is acceptable. This indicates whether observations are truly Gaussian or not.
FILTER NUMERICAL STABILITY
Filter numerical stability (FNS) tests ensure that the estimated covariance P has all the properties of a covariance. It must be invertible, i.e. non-singular: An U 39) positive definite: I U = U 4O) full rank and symmetrical (square). Some of these characteristics are often not met, with tolerances placed on them and or routines to enforce them. If numerical instability is not dealt with errors will accumulate and the filter will become inconsistent, problematic, ill-conditioned or unstable.
COVARIANCE CONDITIONING
The covariance condition (CC) value provides a sensitivity bound or measure of error for the solution of a linear equation. In the general case its geometrical interpretation is the ratio of the lengths of the major X11 and minor X axes of the hyperellipsoid. We define the condition value as: = $1) / ftitI I where X are the eigenvalues and c bounds the error relative to x. A covariance matrix with a low condition number (c < 6) is termed well-conditioned, while a matrix with a high condition number (cx> 6) is termed ill-conditioned. If P is rank deficient then X = 0 and c = 1.
Claims (15)
- -35 -CLAIMS: 1. A method of evaluating the performance of an algorithm, the algorithm being one of a filtering algorithm, an estimation algorithm, and a filtering and estimation algorithm; the method comprising: performing the algorithm over a time-period (t1 -t7) to provide an algorithm output (3, 5) as a function of the time within the time period (t1 -t7); determining, for a plurality of performance metrics, a value of the respective performance metric (104, 204, 304, 404) for the algorithm output as a function of the time within the time period (t1 -t7); determining, for each respective performance metric, a respective performance level (100, 200, 300, 400) as a function of the time within the time period (t1 -t7) wherein the respective performance level (100, 200, 300, 400) is a relative level indicative of the performance of the algorithm as a function of the time within the time period (t1 -t7) as assessed by the respective performance metric; and evaluating the performance of the algorithm by comparing the respective performance levels (100, 200, 300, 400) for the respective performance metrics in relation to common timings within the time period (t1 -t7).
- 2. A method of evaluating the performance of an algorithm according to claim 1 wherein evaluating the performance of the algorithm further comprises detecting any performance characteristics that are indicated by a plurality of the performance metrics in relation to common timing within the time period (t1 -t7).
- 3. A method of evaluating the performance of an algorithm according to any of claims 1 or 2, wherein the algorithm performs one of the following: (i) tracking; (ii) simultaneous localisation and mapping.
- 4. A method of evaluating the performance of an algorithm according to any of claims 1 to 3, wherein one or more of the plurality of performance metrics are selected from the following performance metrics: a normalised innovation squared performance metric, a time-averaged normalised innovation squared -36 - performance metric, a filter efficiency check performance metric, a time-averaged normalised innovation autocorrelation performance metric, a nominal filter performance, a normalised estimation error squared performance metric, a Cramér-Rao lower bound, a goodness-of-fit test, a time-averaged goodness-of-fit test, a filter numerical stability performance metric, and a covariance conditioning performance metric.
- 5. A method of evaluating the performance of an algorithm according to any of claims 1 to 4, further comprising performing a diagnostic process using the determined respective performance levels (100, 200, 300, 400) to determine the causes of any performance characteristics that are indicated by a plurality of the performance metrics.
- 6. A method of selecting an algorithm, the method comprising: evaluating the respective performances of a plurality of algorithms using the method of any of claims 1 to 5; and selecting the algorithm with the best evaluated performance.
- 7. A method of performing a process that has a plurality of algorithms available for implementing the process, the method comprising: selecting an algorithm using the method of claim 6; and implementing the process by using the algorithm output of the selected algorithm.
- 8. A computer program or plurality of computer programs arranged such that when executed by a computer system it/they cause the computer system to operate in accordance with the method of any of claims 1 to 7.
- 9. A machine readable storage medium storing a computer program or at least one of the plurality of computer programs according to claim 8.
- 10. Apparatus for evaluating the performance of an algorithm, the algorithm being one of a filtering algorithm, an estimation algorithm, and a filtering and estimation algorithm; the apparatus comprising one or more processors adapted to: -37 -perform the algorithm over a time-period (ti -t7) to provide an algorithm output (3, 5) as a function of the time within the time period (t1 -t7); determine, for a plurality of performance metrics, a value of the respective performance metric (104, 204, 304, 404) for the algorithm output (3, 5) as a function of the time within the time period (t1 -t7); determine, for each respective performance metric, a respective performance level (100, 200, 300, 400) as a function of the time within the time period (t1 -t7) wherein the respective performance level (100, 200, 300, 400) is a relative level indicative of the performance of the algorithm as a function of the time within the time period (t1 -t7) as assessed by the respective performance metric; and evaluate the performance of the algorithm by comparing the respective performance levels (100, 200, 300, 400) for the respective performance metrics in relation to common timings within the time period (t1 -t7).
- 11. Apparatus for evaluating the performance of an algorithm according to claim 10, the one or more processors further adapted to detect any performance characteristics that are indicated by a plurality of the performance metrics in relation to common timing within the time period (t1 -t7).
- 12. Apparatus for evaluating the performance of an algorithm according to any of claims 10 or 11, wherein the algorithm performs one of the following: (i) tracking; (ii) simultaneous localisation and mapping.
- 13. Apparatus for evaluating the performance of an algorithm according to any of claims 10 to 12, wherein each of the plurality of performance metrics are selected from the following performance metrics: a normalised innovation squared performance metric, a time-averaged normalised innovation squared performance metric, a filter efficiency check performance metric, a time-averaged normalised innovation autocorrelation performance metric, a nominal filter performance, a normalised estimation error squared performance metric, a Cramér-Rao lower bound, a goodness-of-fit test, a time-averaged goodness-of-fit test, a filter numerical stability performance metric, and a covariance conditioning performance metric.-38 -
- 14. Apparatus for evaluating the performance of an algorithm according to any of claims 10 to 13, the one or more processors further adapted to perform a diagnostic process using the determined respective performance levels (100, 200, 300, 400) to determine the causes of any performance characteristics that are indicated by a plurality of the performance metrics.
- 15. Apparatus for selecting an algorithm, the apparatus comprising: the apparatus for evaluating the performance of an algorithm according to any of claims 10 to 14 arranged to evaluate the respective performances of a plurality algorithms; wherein the one or more processors are further adapted to select the algorithm with the best evaluated performance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0910618A GB2471270A (en) | 2009-06-19 | 2009-06-19 | Evaluation of data filtering algorithms for an object tracking system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0910618A GB2471270A (en) | 2009-06-19 | 2009-06-19 | Evaluation of data filtering algorithms for an object tracking system |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0910618D0 GB0910618D0 (en) | 2009-08-05 |
GB2471270A true GB2471270A (en) | 2010-12-29 |
Family
ID=40972456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0910618A Withdrawn GB2471270A (en) | 2009-06-19 | 2009-06-19 | Evaluation of data filtering algorithms for an object tracking system |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2471270A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369599A (en) * | 1992-08-04 | 1994-11-29 | Honeywell Inc. | Signal metric estimator |
JP2002328164A (en) * | 2001-05-02 | 2002-11-15 | Mitsubishi Electric Corp | Target tracking method and radar system |
US20050114277A1 (en) * | 2003-11-21 | 2005-05-26 | International Business Machines Corporation | Method, system and program product for evaluating a data mining algorithm |
US7181727B1 (en) * | 2002-02-26 | 2007-02-20 | Emc Corporation | Providing data indicative of the performance of a competing algorithm and an incumbent algorithm |
US20070288414A1 (en) * | 2006-06-07 | 2007-12-13 | Barajas Leandro G | System and method for selection of prediction tools |
US20080095438A1 (en) * | 2006-10-20 | 2008-04-24 | Primax Electronics Ltd. | Method for calculating and adjusting photo and text separation performance |
-
2009
- 2009-06-19 GB GB0910618A patent/GB2471270A/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369599A (en) * | 1992-08-04 | 1994-11-29 | Honeywell Inc. | Signal metric estimator |
JP2002328164A (en) * | 2001-05-02 | 2002-11-15 | Mitsubishi Electric Corp | Target tracking method and radar system |
US7181727B1 (en) * | 2002-02-26 | 2007-02-20 | Emc Corporation | Providing data indicative of the performance of a competing algorithm and an incumbent algorithm |
US20050114277A1 (en) * | 2003-11-21 | 2005-05-26 | International Business Machines Corporation | Method, system and program product for evaluating a data mining algorithm |
US20070288414A1 (en) * | 2006-06-07 | 2007-12-13 | Barajas Leandro G | System and method for selection of prediction tools |
US20080095438A1 (en) * | 2006-10-20 | 2008-04-24 | Primax Electronics Ltd. | Method for calculating and adjusting photo and text separation performance |
Also Published As
Publication number | Publication date |
---|---|
GB0910618D0 (en) | 2009-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829938B (en) | Adaptive fault-tolerant volume Kalman filtering method applied to target tracking | |
US10496515B2 (en) | Abnormality detection apparatus, abnormality detection method, and non-transitory computer readable medium | |
JP2020017293A (en) | Method for forming dynamic model for machine behavior from detection data | |
Durrant-Whyte | Introduction to estimation and the Kalman filter | |
Ahmad et al. | Extended Kalman filter-based mobile robot localization with intermittent measurements | |
US7107176B2 (en) | Sensor fusion using self evaluating process sensors | |
Dodson et al. | Microsecond state monitoring of nonlinear time-varying dynamic systems | |
CN114877926B (en) | Sensor fault detection and diagnosis method, medium, electronic equipment and system | |
US7949497B2 (en) | Machine condition monitoring using discontinuity detection | |
Shoukry et al. | Imhotep-SMT: A satisfiability modulo theory solver for secure state estimation | |
EP2264480A1 (en) | Performance evaluation | |
Gao et al. | Quantitative analysis of incipient fault detectability for time-varying stochastic systems based on weighted moving average approach | |
Sandblom et al. | Moment estimation using a marginalized transform | |
US20230347933A1 (en) | Method for validating a control software for a robotic device | |
Dietrich et al. | Detecting external measurement disturbances based on statistical analysis for smart sensors | |
Magrabi et al. | Decentralised fault detection and diagnosis in navigation systems for unmanned aerial vehicles | |
Ratasich et al. | Self-healing by property-guided structural adaptation | |
GB2471270A (en) | Evaluation of data filtering algorithms for an object tracking system | |
Gamse | Dynamic modelling of displacements on an embankment dam using the Kalman filter | |
Brade et al. | Expressing validity estimates in smart sensor applications | |
CN114511088A (en) | Bayesian model updating method and system for structure damage recognition | |
Zug et al. | An approach supporting fault-propagation analysis for smart sensor systems | |
Ma et al. | A new enabling variational inference model for approximating measurement likelihood in filtering nonlinear system | |
De Brouwer et al. | Inferring causal dependencies between chaotic dynamical systems from sporadic time series | |
Mardt et al. | Robust Model-Based Fault Detection Using Monte-Carlo Methods and Highest Density Regions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |