[3] Kimhi, D., and Ben-Yaakov, S. (1991) A SPICE model of current mode PWM converters operating under continuous inductor current conditions. IEEE Transactions on Power Electronics, 6 (1991), 281-286. [4] Ben-Yaakov, S., and Gaaton, Z. (1992) Unified SPICE compatible model of current feedback in switch mode converters. IEE Electronic Letters, 28 (1992), 1356-1357. [5] Ben-Yaakov, S., and Adar, D. (1994) Average models as tools for studying the dynamics of switch mode DC-DC converters. In IEEE PESC Record, Taipei, 1994, 1218-1225. [6] Ben-Yaakov, S. (1994) Average simulation of PWM converters by direct implementation of behavioral relationships. International Journal of Electronics, 77 (1994), 731-746. [7] Vorperian, V. (1990) Simplified analysis of PWM converters using the model of PWM switch, Part I: Continuous conduction mode. IEEE Transactions on Aerospace and Electronic Systems, 26, 3 (1990), 490-496. [8] Vorperian, V. (1990) Simplified analysis of PWM converters using the model of PWM switch, Part II: Discontinuous conduction mode. IEEE Transactions on Aerospace and Electronic Systems, 26, 3 (1990), 497-505. [9] Chen, J., and Ngo, K. D. T. (1999) Alternate forms of the PWM switch models. IEEE Transactions on Aerospace and Electronics Systems, 35, 4 (1999), 1283-1292. [10] Chen, J., and Ngo, K. D. T. (1999) Simplified analysis of PWM converters operating in discontinuous conduction mode using alternate forms of the PWM switch models. In Proceedings of IEEE SoutheastCon2000, 2000, 505-509. [11] Sun, J. (2000) Unified averaged switch models for stability analysis of large distributed power systems. IEEE APEC Records, 2000, 514-520. Direct Kaiman Filtering Approach for GPS/INS Integration We present a novel Kaiman Altering approach for GPS/INS integration. In the approach, GPS and INS nonlinearities are preprocessed prior to a Kaiman Alter. The GPS preprocessed data are taken as measurement input, while the INS preprocessed data are taken as additional information for the state prediction of the Kaiman Alter. The advantage of this approach, over the well-studied (extended) Kaiman filtering approaches is that a Manuscript received August 5, 1998; revised May 22, 2000 and May 14, 2001; released for publication February 13, 2002. IEEE Log No. T-AES/38/2/11454. Refereeing of this contribution was handled by X. R. Li. 0018-9251/02/S17.00 © 2002 IEEE simple and linear Kaiman Alter can be implemented to achieve significant computation saving with very competitive performance figures. I. INTRODUCTION The Global Positioning System (GPS) is a worldwide radio navigation system and has applications in aviation, aircraft automatic approach and landing, land vehicle navigation and tracking, marine applications, and surveying, etc. [1-2]. A GPS receiver is a low frequency response navigation sensor and can provide instantaneous position accuracy in the order of 15 to 100 m normally at 1 Hz rate. Inertial navigation systems (INS) are one of the most widely used dead reckoning systems. They can provide continuous position, velocity, and also orientation estimates, which are accurate for a short term, but are subject to drift due to sensor drifts. The integration of GPS and INS can limit the shortcomings of the individual systems, namely, the typically low rate of GPS measurements as well as the long term drift characteristics of INS. Integration can also exploit advantages of the two systems, such as the uniform high accuracy trajectory information of GPS and the short term stability of INS. There are several methods to integrate INS and GPS, such as, loosely coupled or tightly coupled integration, closed-loop or open-loop integration, separated INS and GPS unit or embedded GPS with INS hardware, etc. [19-21]. In all these designs, GPS or the GPS/INS integration filter is typically some form of a Kaiman filter. Usually an indirect (extended) Kaiman filter is used with inertial errors as its state to achieve acceptable performance. A high-order filter is required to achieve, at best, near optimal performance. The computation load associated is very heavy, since on-line Kaiman gains have to be calculated. A fixed Kaiman gain is often used to decrease the computational load but with sacrifice of performance. In this paper, we present a direct Kaiman filter integration approach in order to eliminate the computational complexity drawbacks as discussed above. Here, the so-called direct Kaiman filter is a filter with the vehicle's position and velocity among its states. We aim to design a low order, linear Kaiman filter to achieve simple computations but with competitive performance figures when compared with the best published data. The two stage GPS filtering methodology in [6-12] is applied here to preprocess the nonlinearity prior to the Kaiman filter. The same methodology is also applied here to the nonlinear INS system, but this is not so straightforward since the nonlinearity for INS is dynamic rather than simply static as for GPS. The paper is organized as follows. A direct Kaiman filter integration approach is given in Section CORRESPONDENCE 687 ' INS unit Position and velocity feedback Attitude 1 i IMU Acceleration E I Estimation of position, velocity, Angular velocity Accelerations in e frame ', GPS unit V GPSrx front-end Pseudoranges Algebraic Data fusion Kaiman filter (direct) Delta range equations ! PVT ! with noise GPS receiver clock errors A Velocity feedback Fig. 1. Diagram of GPS/INS integration via direct Kaiman filter approach. II. Simulation results are shown in Section III. Finally, a conclusion is made in Section IV. II. A DIRECT KALMAN FILTERING APPROACH FOR GPS/INS INTEGRATION The diagram of the proposed GPS/INS integration is shown in Fig. 1. The functions of the blocks are as follows. Dynamical INS Equations: The navigation equations convert the inertial measurement unit (IMU) measured accelerations and angular velocity, along with feedback position and velocity estimates, to INS estimated accelerations in an Earth centered Earth fixed (ECEF) coordinate frame and to attitude estimates. The IMU and navigation equations together are referred to as the INS unit. Algebraic GPS Equations: As in [3-5], the algebraic GPS equations give position, velocity, and clock error estimates by solving the nonlinear GPS pseudo-range and delta range equations. The GPS front end and algebraic GPS equations are referred to as the GPS unit. Data Fusion Kaiman Filter (Direct): This filter obtains estimates of position, velocity, GPS receiver clock errors, as well as bias and drift in the INS estimated accelerations, based on the information data from both the INS and GPS units. Its estimates are fed back to the INS and GPS units as required. The essential feature of the proposed integration all the various nonlinear operations prior to linear Kaiman filtering and to put as much of the necessary dynamics as possible into the Kaiman filter. Recall that the Kaiman filter is the optimal minimum variance filter for a known linear stochastic model with zero mean Gaussian noise of known covariance. Should the model be linear but the noise be non-Gaussian, then the Kaiman filter is the best linear minimum variance filter. Of course, the more sophisticated inertial error models with extended Kaiman filtering may improve performance, although perhaps not always significantly, but will cost an order of magnitude or more in computational effort. The GPS nonlinearities are preprocessed in the block denoted "Algebraic GPS equations" at the GPS sample rate. The nonlinearities of the INS are preprocessed in the block denoted "Dynamical INS equations." These involve an integration and so are dynamical and not algebraic; they calculate an orthogonal coordinate transformation matrix. The outputs from the INS block are estimates of the vehicular attitude, and estimates of accelerations in the ECEF frame, denoted by superscript e here. The INS sampling rate is typically an order of magnitude or so faster than the GPS rate. The acceleration estimates from the INS unit are fed forward to the data fusion Kaiman filter, along with the GPS estimates. In this approach, vehicle position and velocity are chosen as states in the Kaiman filter. The propagation equations are simply the equations of motion of the vehicle. Accelerations are included in the Kaiman filter to make the propagation equations a better reflection of the real world. The accelerations are estimates from INS and taken as known inputs to the Kaiman filter. Additional error states can be included as filter states. The GPS indicated position and velocity from the algebraic GPS equation are the measurements of the Kaiman filter, which make the measurement matrix of the Kaiman filter very simple. In traditional approaches, the inertial errors are chosen as states in the Kaiman filter. The inertial error model and its linear approximation are well known and well developed. They are taken as the propagation equations of the Kaiman filter. The measurements of the Kaiman filter are taken to be the differences of GPS measured pseudo-range and INS estimated range. Thus measurement matrix of the Kaiman filter incorporates the nonlinearity of GPS pseudo-range equations. A. Dynamical INS Equations The computations performed by a strapdown navigator may be regarded as comprising two major parts: propagation of the attitude reference, and solution of the navigation equations. The former uses the gyro outputs to calculate the attitude of the 688 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 38, NO. 2 APRIL 2002 body coordinate frame with respect to a reference coordinate frame. The latter uses this relationship to transform the coordinates of vectors (which may include accelerometer outputs, velocity, gravity effects, Earth rotation) between the frames and hence to calculate acceleration of the body. In our proposed GPS/INS integration method, consequent velocity and position calculations frequently carried out in an INS unit are carried out in the data fusion Kaiman filter. The coordinate frame in which computation is performed, is usually chosen such that it agrees with the coordinate frame for the output. Here we choose the ECEF frame, so as to obtain directly the geocentric Cartesian coordinates which in turn are convenient for integration with GPS information. The continuous-time nonlinear dynamical equations in the ECEF frame are of the form [19] (1) where re,ve are the position and velocity vectors in the ECEF frame (e-frame), ŕ the specific force vector in the body frame (b-frame), gf the gravity vector in the e-frame and is re dependent, Rb is the transformation matrix from the b-frame to the e-frame, so that f6 = R^ŕ is the specific force vector in the e-frame, fibb is the skew-symmetric matrix of the angular velocity vector Wjb of the b-frame with respect to the e-frame coordinated in the b-frame, and ft? is the skew-symmetric matrix of the Earth's rotation rate a;? which is known precisely. The skew-symmetric matrices are of the form rc vc ve = Rlŕ- - 2^ + ^(1") ŘgJ «Ä ft = 0 0 (2) The various vectors are dependent on time t and the super dot denotes derivatives with respect to t. The angular velocity vector Ji, can be obtained by *eb •Rľ«S with R° = RE (3) where wbb is the gyro measured angular velocities with respective to the inertial frame coordinated in the body frame. After solving (1), a rotation matrix Rb from the body frame to the navigation frame (n-frame) can then be obtained K = KK (4) where R" is a rotation matrix from the e-frame to the n-frame, which is position re dependent. The rotation matrix R£ is composed of three successive rotations with angles called yaw, pitch, and roll, which are the attitude of a vehicle. Therefore the attitude of the vehicle can be obtained through the rotation matrix Rg [21]. 1) Discrete Time Navigation Equations: The INS unit seeks to implement (1) in discrete time at the INS sampling rate with period ST. This rate is chosen so that the discrete-time equations follow closely the continuous-time equations (1). To this end, let us first construct a sampled version of (1) with state matrix Rb(/) and output ve(/), driven by ftbb(/), ftfe(/), r(l), ve(/), gf (!*(/)): R5(/ + l) = Rg(Z) «?(«£,(/) *T) (5) ve(/) = Rg(/)r(/) - 2ftfe(/)ve(/) + ge(re(/)). (6) Since (5) holds only when ftbb(/) is constant during the period of ST from / to / + 1, the accuracy of Rb is dependent on the sample period ST. The smaller the ST, the more accurate the Rb calculation. Now exp(ftbb(Z)<5T) can be approximated using a (1,1) Pade approximation [22] denoted with a superbar as exp(ftbb(Z)<5T) = (21 + ftbb(Z),5T)(2I - ft^T)"1. (7) This is readily verified to preserve orthogonality. Higher accuracy approximations can be made by working with (exp(ftbb(Z)(<5T/2)))2 and applying the (1,1) Pade approximations. (Actually, it is straightforward to show that (n,m) Pade approximations preserve orthogonality with n - m, but otherwise do not.) The INS unit implements an approximation to (6) using accelerometer measurements of accelerations !*(/) which typically are noisy with bias and drift; likewise for the gyro rotation rates u;bb, and thus for wbb. Also in the INS unit, the position and velocity vectors re,ve are estimated from the data fusion Kaiman filter. This estimation introduces further errors (noise). Using carets to denote estimates or measurements, then the navigation equations are implemented in the INS unit as R^(/ + l) = R^(/)exp(i2ebb(/),5T) ve(Z) = RbXOfV) - 2QfevV) + ge(re(/)). (8) Recalling that there are drifts and biases in the measurements from gyros and accelerometers, we expect that these in turn lead to biases and drifts in the estimates of the e-frame acceleration ve. The details are as follows. B. Bias and Drift in INS Let angular velocity errors on wbb caused by gyro drifts be Awbb, leading to drifts Aftbb in ftbb and ARb(Z) in Rb(Z). Then (5) can be rewritten as Rg(Z + 1) + ARg(/ + 1) = Rg(/)exp((ilbb(/) + Aííebb(0)«5T) - Rg(Z + 1) + Rg(Z) Afibb(/) ST + HOT (9) CORRESPONDENCE 689 where HOT denotes higher order terms. Let accelerometer bias be Aŕ. Recalling that f6 = R^ŕ, then (RS(/ + 1) + Rg(/) AííS,(Z)ÍT)(lb(/ + 1) + Aŕ(/ + I)) = fe(/+l) + R^(/+l)Afb(/+l) + Rg(0 Afiebb(0(i*(' + 1) + AŕCZ + 1))<5T :=fe(/+l) + Afí(Z + l) + AI|(/+l)ÍT. (10) From (10), it can be concluded that gyro drift and accelerometer bias cause bias Afj and drift Af| on specific forces in the e-frame, where AffíZ + l^Rgtf + ^Aŕtf + l) (11) AP2(Z + 1): = RJ(0 Aí4(0(ŕ(Z + D + Aŕ(l + 1)). (12) Since equations are in discrete form, Af[, Af| are considered as the bias and drift, respectively, of the e-frame acceleration ve, which are also caused by gyro drift and accelerometer bias. Actually the errors on the e-frame acceleration are also dependent on e-frame velocity errors and position errors which are introduced by the Kaiman filter. C. Data Fusion Kaiman Filter Design Let the state space model for the design of the data fusion Kaiman filter be í = [xT b xT b (Af^)T (AP2)T] T-iT (13) where x is the GPS receiver's position coordinates in the ECEF frame, and b is the GPS receiver's clock range bias. Consider a discrete time signal model for data fusion, operating at a fast sample rate with sampling period /-iu/-i Update Pz//-i=AiiP/-i//-iAn+q/-i Pi/^P-kitflPi/i-i (25) (26) K,= if / = mN otherwise (27) _(kfix)6x8_ 0, Here p,k,c are covariance matrix, Kaiman gain, observation matrix, respectively, of the first 8 states, such as, position, velocity and GPS clock error states 4_;v for l=mN. (28) 0 otherwise q is the covariance matrix of the process noise vector w; associated with states of position, velocity and GPS clock errors and kfix is the Kaiman gain matrix of the 6 bias and drift states, it is constant, being the form of kfix = 3x3 £1^3x3 ^3x2 03x3 £2Í3x3 ° 3x2 (29) where g^,g2 are constant values, typically less than 1.0, which are again the design parameters of the Kaiman filter. Case 3: Nonsynchronized GPS and INS Sampling: This case can in principle be handled within the context of Kaiman filtering theory, see for example [18], but for our purposes since N is typical large, there can be approximate round off to the nearest integer value and the results used as for Case 2 above. We do not explain this further here. REMARKS Using the Kaiman filter for an assumed linear stochastic model (14)-(21), achieves optimality in a minimum error covariance sense when the noise is zero mean, white and Gaussian, and is the best linear filter when the noise is non-Gaussian. Loss of optimality, perhaps to a negligible degree occurs in practice since noise errors may be correlated, non-Gaussian, or the model may also have a degree of error due to finite filter sampling rates and other approximations. Even so, our conjecture is that the extra benefit of using inertial error models with extended Kaiman filtering may not be worth the extra computational effort, which would be an order of magnitude or so increase. The GPS receiver clock error states can be excluded from the Kaiman filter to achieve a low-dimensional filter with only a marginally degraded performance. Since GPS algebraic equation CORRESPONDENCE 691 TABLE I Mean and Variance of Estimated Position Errors for Three Design Options of GPS/INS IMU Statistics: 3 deg/hr gyro drift, 0.025 m/s > acceleromater bias GPS measurement noise variance Pseudorange: 30.0 m Pseudorange rate: 50 cm/s GPS measurement noise variance Pseudorange: 30.0 m Pseudorange rate: 5 cm/s Position Errors Latitude Longitude Height Latitude Longitude Height First option Mean (m) -5.310 -7.722 0.852 -1.003 -1.388 0.172 GPS resetting Variance (m2) 28.175 117.932 31.615 0.715 2.489 0.847 Second option Mean (m) -0.80834 1.317 0.069 1.313 1.361 -0.255 as in [20, 23] Variance (m2) 25.785 102.163 29.906 0.4 1.043 0.6445 Proposed Mean (m) -4.504 -3.373 0.761 -0.936 -1.572 0.137 method Variance (m2) 27.373 102.576 29.721 0.695 2.530 0.844 gives the point estimates of position, velocity and clock errors (PVT), however they are correlated with each other in their covariance matrix. When the clock errors are excluded from the Kaiman filter, actually the correlation of clock errors with position and velocity is ignored, resulting in the degraded performance. However the clock errors cannot be excluded from a Kaiman filter if there is no preprocessing of GPS pseudo-ranges as the GPS algebraic equation. The two-stage estimator concept was developed in [6] for the GPS case. Here the same concept is extended to the case of GPS/INS Integration. The GPS algebraic equation is taken as the first stage, the direct Kaiman filter as the second stage estimator. It is found in the next section that it has performance loss. This performance loss is due to the low order model used in the direct Kaiman filter, rather than the two stage estimator. A different approach using the same concept of the two stage estimator for GPS/INS integration is discussed in [23]. It uses an indirect Kaiman filter as the second stage estimator; near optimal performance can be achieved. It is proved [23] mathematically that the two stage estimator has superior performance than the EKF when the same order of Kaiman filter model is used. The algebraic equation does not lose information, since from solution, the raw pseudo-range measurements can be recovered completely. In the two stage case, actually all the information contained in the raw pseudo-range measurements is fed to the Kaiman filter, but in a different form of PVT, which is simpler to work with than pseudo-ranges. III. IMPLEMENTATION AND SIMULATION RESULTS A trajectory used for simulation is assumed as follows. An airplane's initial position is at latitude of 35 deg south, longitude of 150 west and height of 1000 m, the initial velocities are 700 km/hr, 200 m/hr, -100 m/hr along the three axes of the navigation frame, i.e., north, east, and vertical down, respectively. It is accelerated along the north, east, and down with the acceleration of 6 km/hr2, 6 km/hr2, —6 km/hr2, respectively. The airplane's initial orientation is assumed to be parallel to the navigation frame, i.e., 0 deg of yaw, pitch, and roll and then rotated with 0.005 deg/s for yaw, pitch, and roll. The simulation period is 1 hr. In the implementation of the new proposed 14 state Kaiman filter, the algorithm (25)-(27) is used, therefore fixed Kaiman gains for the bias and drift Afj, Af| are employed. The forgetting rates cx,c2 are set to be 0.99, and the fixed Kaiman gains, gx,g2 are set to be 0.008. The prediction rate is set to be 32 Hz; the measurement update rate is set to be the GPS sample rate, 1 Hz. Therefore ST = 0.03125 s, AT = 1 s, and N = 32. For comparison, two other integration options are presented. The first integration option, called GPS resetting, also the simplest from the implementation viewpoint, is resetting the INS-derived position and velocity. Here the GPS receiver employs a Kaiman filter as the one discussed in [6, 23]. However, the prediction equations are implemented at a fast sample rate, such as 32 Hz here, while the update equations are implemented at GPS sample rate, 1 Hz. The second option is the one using the GPS pseudo-range measurements in the integration filter as discussed in [20, 23]. Their simulation results are shown in Table I. From Table I, it can be seen that the proposed integration method gives better performance than the first option, GPS resetting approach, since the former takes INS calculated accelerations as known inputs and acceleration biases and drifts as Kaiman filter states. Certainly the proposed method makes use of the information from INS. However, it gives worse performance than the second option. This is because the errors on the calculated accelerations are modeled by the bias and drift states Afj, Af| in an 692 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 38, NO. 2 APRIL 2002 approximated and simple way as discussed in Section IIB, while a linearized differential equation of the acceleration errors are modeled in the second option. The advantage of the proposed method is that off-line Kaiman gain computation can be implemented so that on-line computation is low. IV. CONCLUSIONS In this paper we have presented a direct Kaiman *. filtering approach for GPS/INS integration. In the approach, GPS and INS nonlinearities are preprocessed prior to a Kaiman filter. The GPS preprocessed data are taken as measurement input; the INS preprocessed data are taken as an additional information to the state prediction of the Kaiman filter. The advantage of this approach is that a simple and linear Kaiman filter can be implemented to achieve significant computation saving with competitive performance figures. HONGHUI QI 1400 Pelican Bay Trail Winter Park, FL 32792 JOHN B. MOORE Dept. of System Engineering Research School of Information Science and Engineering The Australian National University Canberra, ACT 0200 Australia E-mail: (john.moore@syseng.anu.edu.au) REFERENCES [1] Kaplan, E. D. (1996) Understanding GPS, Principles and Applications. Boston: Artech House, 1996. [2] Parkinson, B. W„ Spilker, J. J., Jr., Axelrad, P., and Enge, P. (1996) Global Positioning System: Theory and Applications, Vols. I and II. New York: AIAA, 1996. [3] Bancroft, S. (1985) An algebraic solution of the GPS equation. IEEE Transactions on Aerospace and Electronic Systems, 21, 7 (Jan. 1985). [4] Chaffee, J., and Abel, J. (1994) On the "Exact Solutions of Pseudorange Equations." IEEE Transactions on Aerospace and Electronic Systems, 30, 4 (Oct. 1994). [5] Krause, L. O. (1991) A direct solution to GPS-type navigation equations. IEEE Transactions on Aerospace and Electronic Systems, 11, 6 (Mar. 1991). [6] Chaffee, J., and Abel, J. (1992) The GPS filtering problems. In Proceedings of IEEE PLANS 92, 12-20. [7] Chaffee, J., and Abel, J. (1992) Sufficiency, data reduction, and sensor fusion for GPS. Presented at the ION National Meeting, San Diego, CA, Jan. 27-29, 1992. [8] Chaffee, J., and Abel, J. (1993) GPS positioning, filtering, and integration. Presented at NAECON, Dayton, OH, Mar. 24-28, 1993. [9] Chaffee, J., and Abel, J. (1993) Methods for improved estimation and system integration for time-space-position information. Presented at the 16th Biennial Guidance Test Symposium, Holloman AFB, NM, Sept. 14-16, 1993. [10] Chaffee, J., and Abel, J. (1993) Direct GPS solutions. Presented at the ION 47th Annual Meeting, Boston, MA, June 21-23, 1993. [11] Chaffee, J., Pojman, and Zare (1993) Autonomous navigation for COMET with GPS. Presented at ION GPS'93, Salt Lake City, UT, Sept. 22-24, 1993. [12] Chaffee, J., Kovach (1996) Bancroft's algorithm is global nonlinear least squares. Presented at ION GPS'96, Kansas City, MO, Sept. 17-20, 1996. [13] Chaffee, J., and Abel, J. (1994) GDOP and the Cramer-Rao bound. Presented at IEEE PLANS 94, Las Vegas, NV, 1994. [14] Dropa, C. S. (1981) Original of inertial navigation. Journal of Guidance and Control (Sept.-Oct. 1981). [15] Getting, I. (1993) The Global Positioning System. IEEE Spectrum, 30, 12 (Dec. 1993), 36^17. [16] Lechna, W. (1982) Techniques for the development of error models for aided strapdown navigation systems. AGARD report, Mar. 1982. [17] Anderson, B. D. O., and Moore, J. B. (1979) Optimal Filtering. Englewood Cliffs, NJ: Prentice-Hall, 1979. [18] Williamson, D. (1991) Digital Control and Implementation. Englewood Cliffs, NJ: Prentice-Hall, 1991. [19] Wei, M„ and Schwarz, K. P. (1989) A discussion of models for GPS/INS integration. In Y. Bock and N. Leppard (Eds.), Global Positioning Systems: An Overview-New York: Springer-Verlag, 1989, 316-327. [20] Schwarz, K. P., Wei, M., and Gelderen, M. V. (1994) Aided versus embedded: A comparison of two approaches to GPS/INS integration. In Proceedings of IEEE PLANS 94, 314-321. [21] Qi, H., and Evans, M. E. (1997) Integration of GPS/INS. DSTO, J9505/14/8, 1997. [22] Golub, G. H., and Van Loan, C. F. (1989) Matrix Computations. Baltimore, MD: Johns Hopkins Press, 1989. [23] Qi, H., and Moore, J. B. (1998) Towards optimal GPS and INS integration via Kaiman filtering. DSTO, J9505/13/7, 1998. CORRESPONDENCE 693