WO1988001409A1 - Distributed kalman filter - Google Patents

Distributed kalman filter Download PDF

Info

Publication number
WO1988001409A1
WO1988001409A1 PCT/US1987/001946 US8701946W WO8801409A1 WO 1988001409 A1 WO1988001409 A1 WO 1988001409A1 US 8701946 W US8701946 W US 8701946W WO 8801409 A1 WO8801409 A1 WO 8801409A1
Authority
WO
WIPO (PCT)
Prior art keywords
sensor
state
data
processor
vector
Prior art date
Application number
PCT/US1987/001946
Other languages
French (fr)
Inventor
Hubert Chin
Original Assignee
Grumman Aerospace Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Grumman Aerospace Corporation filed Critical Grumman Aerospace Corporation
Publication of WO1988001409A1 publication Critical patent/WO1988001409A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • G01S19/47Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement the supplementary measurement being an inertial measurement, e.g. tightly coupled inertial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/0255Filters based on statistics
    • H03H17/0257KALMAN filters

Definitions

  • the present invention relates to a method and apparatus for data estimation processing/ and more particularly, to a Distributed Kalman Filter utilizing distributed data processing techniques.
  • Kalman filtering techniques have been developed primarily for estimating state parameters in dynamic systems. Kalman Filters have been used in many applications such as in control systems where real time measurements are not possible. One of the areas of technology where a Kalman Filter is of great importance is in avionics.
  • GPS Global Positioning System
  • An alternative approach is the decentralized Kalman filter in which all sub-systems and their measurements are interconnected.
  • the fundamental idea is to decompose the large system into sub-systems and then manipulate the smaller sub-systems in such a way that the objectives of the overall system are met.
  • the decentralized filter is stable, it is not well suited for state estimation.
  • the present invention is directed to a distributed Kalman filter (DKF) for processing signals from at least one sensor device for a system having at least one measurement instrument to provide specific system and instrument data
  • DKF distributed Kalman filter
  • a sensor state processor for receiving instrument error state data from at least one sensor device processor and calculating sensor instrument error data
  • a system state processor coupled to said sensor state processor for receiving system error state data from said sensor device processor, for calculating system error data and for feeding said system error data back to said sensor device processor; and means for outputting the desired system data and for feeding back the error data to said at least one sensor device processor.
  • the present invention provides a method for the distributed data processing of signals from at least one sensor device for a system having at least one measurement instrument to provide specific device data, said distributed data processing being performed in a Kalman filter, said method comprising receiving instrument error state data from at least one sensor device processor and calculating sensor instrument error data in a sensor state processor; receiving system error state data from said sensor device processor and calculating system error data in a system state processor; feeding said system error data back to said sensor device processor; and outputting the desired system data and feeding back the error data to said at least one sensor device processor.
  • the present invention is directed to a distributed Kalman filter (DKF) utilizing distributed data processing techniques.
  • the DKF of the present invention is especially useful in integrated multi-sensor systems, such as the SAHRS-GPS system.
  • the DKF provides numerous benefits in solving the burden on computer time by allowing for greater computational capability resulting in improved accuracy, speed and reliability.
  • the DKF of the present invention is a universal filter that can be used to great benefit in the sensor systems for numerous devices.
  • the distributed Kalman filter can be used for processing data in radar, image processing, optics, television or any system at all where noise presents a problem in determining real time data measurements.
  • Devices in which the DKF would be employed includes aircraft/ spacecraft, land and water vehicles, television and cameras.
  • sensor systems include one or more sensors that collect data needed for the operation of the device, such as navigating a vechicle, identifying a target or focusing a camera.
  • the necessary data is usually provided in various states.
  • the states may consist of position, velocity and attitude. These are called system states.
  • the operation of the sensor itself consists of several states.
  • the sensor may be a gyroscope which has states that include alignment, coupling and drift. These are called instrument states. Errors are always present in the sensor system since exact measurements and data collection are subject to noise.
  • the DKF estimates the error for all the states which is then fed back to a data collection processor to continually make corrections in the measurements to compensate for the error.
  • the DKF of the present invention processes signals from at least one sensor device of a system to provide specific system and instrument data.
  • a distributed Kalman filter includes a sensor state processor that receives instrument error state data from at least one sensor device processor and calculates sensor instrument error data.
  • a system state processor is coupled to the sensor state processor and receives system state data from the sensor state processor and calculates system error data. The system state processor feeds the system error data back to the sensor state processor.
  • the DKF includes means for outputting the desired system data and for feeding back the error data to the sensor device processor.
  • a distributed system is defined as any configuration of two or more processors, each with private memory, in which the computations performed in each processor utilizes the combined resources of the component machines.
  • the amount of communication between the processors depends upon the nature of the multi-sensor system.
  • the operating system within each processor determines a communications request and provides the necessary software linkage and signaling required for effective communications.
  • the software to be processed by the distributed computing system consists of functional modules that collectively comprise the distributed program.
  • GPS-SAHRS environment Each of the SAHRS and GPS systems have corresponding instrument and system errors represented by a multiplicity of states to be described in detail in the description of the invention.
  • One system is a SAHRS-aided
  • GPS navigator wherein the DKF includes a GPS state processor and a system state processor.
  • the GPS processor provides data, for example, to compute range and range rates to the four statellites from the Doppler shift of carrier frequency.
  • This data is. fed through the GPS state processor and system state processor as described with the general DKF.
  • the SAHRS processor provides acceleration and velocity to aid the GPS processor and system state processor.
  • the second system is a GPS-aided SAHRS navigator which requires the DKF to estimate only the errors in the SAHRS and feedback these errors to recalibrate only the SAHRS.
  • the GPS position and velocity measurements are both supplied through the SAHRS.
  • the third system is a mixed SAHRS/GPS navigator wherein the DKF includes both a SAHRS state processor and a GPS state processor together with a system state processor that are interfaced using distributed processing techniques.
  • the GPS provides range measurements and statellite data.
  • the SAHRS provides acceleration and velocity transformed to the navigation frame together with attitude data.
  • the GPS navigator uses this information for signal reaquisition.
  • the SAHRS uses the GPS position and velocity updates for instrument alignment and calibration.
  • Figure 1 is a block diagram of a prior art integrated Kalman filter.
  • Figure 2 is a block diagram of the distributed
  • FIG. 3 is a block diagram showing the DKF in a SAHRS/GPS environment.
  • Figure 4 is a block diagram of a DKF in a mixed SAHRS/GPS system.
  • Figure 5 is a block diagram of a DKF in a SAHRS-aided GPS system.
  • Figure 6 is a block diagram of A DKF in a GPS-aided SAHRS system.
  • Figure 7a is a block diagram of a system model of a prior art standard Kalman filter.
  • Figure 7b is a block diagram of a system model of a DKF for the SAHRS/GPS mixed system.
  • Figure 1 is a block diagram showing the prior art Kalman Filter arrangement in a typical multi-sensor system.
  • Sensors 1 and 2 compute the error state signals which are then fed into Kalman Filters 1 and 2 respectively.
  • sensors 1 and 2 compute both system errors and sensor errors.
  • Kalman Filters 1 and 2 process the system errors they feed them into the Kalman Filter 3 which further processes the system errors.
  • This type of situation appears a likely candidate for a decentralized multirate Kalman filter.
  • the prior art system is redundant by processing the same system errors in both Kalman Filters 1 and 2.
  • the integration of Kalman Filters 1 and 2 by Kalman Filter 3 reduces calculation reliability.
  • a single distributed Kalman filter is utilized to process both the instrument and system errors which increases the amount of error states that can be processed.
  • the DKF 10 includes at least two individual processors, processor 12 for instrument errors and processor 14 for system errors.
  • the DKF 10 shown in figure 2 is coupled to a system having a single sensor device processor 16 that can compute a plurality of state signals received from a multiplicity of sensors.
  • the sensor device processor 16 transmits the sensor data to the DKF 10 where it is processed by state processors 12 and 14.
  • the sensor data is inputted to the instrumentstate processor 12 to process the instrument errors while the system error is fed to the system state processor 14 through the processor 12.
  • Processor 14 computes the system error which is fed back to processor 12.
  • the system and instrument errors are fed back to the sensor device processor 16 which then makes the necessary adjustments to the incoming state signals.
  • the instrument error processor is not burdened with filtering the system state errors but filters only the instrument errors while the system state processor filters the system errors received from the sensors. Therefore, less computing time and memory are needed due to the elimination of the redundancy of the system error processor operation. Furthermore, the size of the hardware necessary to accommodate the system is reduced making it applicable for real time operation.
  • a distributed Kalman. Filter is utilized to integrate two sensor systems.
  • a DKF 18 arranged to integrate data from a Strapdown Attitude Heading Reference System (SAHRS) and a Global Positioning System (GPS).
  • SAHRS Strapdown Attitude Heading Reference System
  • GPS Global Positioning System
  • the SAHRS system includes aircraft rate and acceleration as inputs. Inertial body rate and acceleration data are sensed by an array of skewed inertial components.
  • a sensor redundancy algorithm is performed to select signals, to isolate failures, and to monitor performances. Sensor compensations such as bias, scale factor, and body bending are aligned and the sensory information is resolved along the orthogonal body axes.
  • the orthogonal rate data are corrected for the effects of earth rate and aircraft angular velocity over the earth's surface to obtain the aircraft angular rates with respect to the local level coordinate frame. These rates are utilized to derive the direction cosines and associated vehicle attitude and heading.
  • the inertial body axis accelerations are transformed to the local level frame, compensated for the effects of gravity and Coriolis acceleration and integrated to obtain local level velocities.
  • the level velocity is divided by the radius of the earth to obtain the angular transport rates for compensation of the measured inertial angular rates.
  • the primary computation of the SAHRS processor 20 is the determination of the direction cosine matrix that relates the aircraft coordinate system to the local level coordinate system.
  • the resultant data are. not sufficiently accurate, specifically in terms of standoff error.
  • the more stringent accuracy requirements for SAHRS dictate that the actual filter is to be designed using sensory outputs and blending the external reference data to estimate error sources.
  • the basis for the GPS system is the information transmitted by each satellite.
  • This information includes the satellite ephemeris and the time of transmittion of the signal.
  • Transit time is proportional to range, so except for clock bias offset and atmospheric path distortion, the user has a measure of the range to the sending satellites.
  • These measurements are called pseudo-range because of the clock bias.
  • Four simultaneous pseudo-range measurements suffice to allow the user to solve for four unknowns, namely the three components of his position plus his clock bias.
  • the receiver can determine the frequency that must be tracked, which is the "apparent" broadcast carrier frequency, usually with a phase-locked loop. Progressive increases in the tracking error and attendant reductions in the detector gain lead to a complete loss of lock. In order to avoid loss of lock, to improve the Doppler estimate, and to reduce the acquisition time the aiding data should be obtained directly from the SAHRS via the DKF.
  • the DKF 18 includes a SAHRS sensor state processor 24, a GPS sensor state processor 26 and a common system state processor 28.
  • the SAHRS state processor 24 calculates the instrument error of the SAHRS system while passing the system error data to the system processor 28.
  • the GPS state processor calculates the instrument error of the GPS system and passes the system error to the system processor 28.
  • the system error processor 28 passes the system error data back to the SAHRS and GPS processors 24 and 26 respectively.
  • the DKF feeds the SAHRS and GPS error back to the respective sensor processors 20 and 22.
  • the DKF 18 provides the required data output which includes role, pitch , heading, velocity north, east and vertical, latitude, longitude and altitude.
  • Figure 4 shows another embodiment of present invention wherein the DKF 18 is used to integrate the data from four processors.
  • the reference sensor processor 30 includes a magnetic heading reference sensor for determining pressure, altitude, and true airspeed. To insure a bounded heading error in the presence of the SAHRS sensory errors, an external magnetic heading reference (flux valve) is selected. Flux valves are utilized to provide accurate long term heading. The flux valve data and gyro-driven heading data are combined via the filter to achieve both short-and long-term heading accuracy. The calculation of vertical velocity by the SAHRS algorithm requires an external reference to ensure stable velocity data.
  • the accelerometer bias and imperfect gravitational correction will result in an unbounded vertical velocity in a relatively short time.
  • the local level velocities are utilized in the calculation of the angular transport rates over the earth's surface. These angular rates are transformed into projections along the vehicle body axes to compensate for the measured angular rates. Without the true airspeed as a reference velocity, the attitude and velocity errors will contain the Schuler oscillations in the presence of certain component errors.
  • the processor 24 contains 33 states derivated from the SAHRS sensor error model.
  • the gyro error model is given as the following five classes: Scale factor errors, three states; Misalignment coupling errors, six states; Bias errors, three states;
  • Mass unbalance drift errors three states; Random noise errors, three states.
  • the model for the accelerometers can be described as the following classes:
  • Scale factor errors three states; Misalignment errors, six states; Bias errors, three states; Random noise errors, three states.
  • a global network of satellites can be configured so that at least four different satellites are above the local horizon for almost every point on or near the earth. The selection of these four satellites has a great influence on the accuracy of a navigation fix.
  • the satellite data processor 32 selects the proper satellites.
  • the satellite selection algorithm consists of the following four steps:
  • Step one Select the first satellite with the largest elevation angle
  • Step two choose the second satellite near to the first one to 110 degrees
  • Step three Determine the third satellite with optimum geometry for visibility
  • Step four Select the last satellite with the property of the minimum geometric dilution of precision.
  • the satellite motion algorithm determines the position of satellites by the satellite equations of motion. These equations can be expressed in Euler-Hill form, which is a rotating coordinate system defined by right ascension of ascending node, orbital inclination, and latitude. There exists an orthogonal matrix that transforms the position vector of a satellite in the Euler-Hill rotating form to the Cartesian coordinate of the inertially fixed geocentric system. The purpose of this algorithm is to develop
  • the processor 26 contains 10 states derived from the GPS sensor error model. They are three range measurements states, three range rate states, one clock state and one clock rate state.
  • the processor 28 contains 9 states derived from the aircraft attitude, position, and velocity.
  • the Reconfiguration Data Management System 34 includes algorithms to perform failure monitoring, failure isolation, configuration selection, and data normalization. In addition, analytic testing calculations are performed to minimize overall hardware requirements.
  • the normalization computation process is the final output, parameter computation, which uses best-estimate data to derive the output parameters.
  • the GPS receiver provides pseudo-range and deltarange measurements, and satellite data.
  • the SAHRS provides acceleration and velocity transformed to the navigation frame and attitude data.
  • the GPS navigator uses this information for signal reacquisition following intervals for signal outages (resulting from antenna shadowing, bad geometry; and high dynamic maneuvering).
  • the SAHRS uses the GPS position and velocity updates for alignment and calibration of its instruments.
  • the accurate position fixes from the satellite data can not only prevent long-term inertial error growth, but may allow various inertial errors to be estimated in real time and thus compensated for.
  • the error model of the filter is obtained by augmenting the state vector of the GPS-aided SAHRS error model by 10 elements.
  • FIG. 10 These 10 elements represent the range, range-rate, clock bias and clock rate of GPS correlated errors.
  • the error model of the total states is 46 and the update interval is one second.
  • Figure 5 shows the DKF 18 arranged as a GPS aided SAHRS navigator.
  • One way of combating long-term inertial error growth from the SAHRS is to periodically reset the user position coordinates using an accurate fix from GPS. This configuration requires the DKF to estimate only the errors in the SAHRS and feed back these errors to recalibrate only the SAHRS.
  • the GPS position and velocity measurements are both supplied to the SAHRS.
  • the system represents the updated states that will be subsequently propagate 50 iterations through time until the period of a one second update cycle.
  • a 36-state filter is implemented in the GPS-aided SAHRS navigation set.
  • These error states consist of the six acceleration errors, nine gyro errors, 12 misalignment errors of both accelerometers and gyros, and nine system errors.
  • the system of Figure 6 shows the DKF 18 implemented as a SAHRS-aided GPS navigator.
  • the GPS receiver provides the data necessary to compute ranges and range-rates to the four satellites from the Doppler shift of carrier frequency. There are two important errors that occur in making these range and range-rate measurements. The first one is caused by the user's clock not being perfectly synchronized with the sattelite clock System. The second error is caused by an oscillator frequency error relative to the transmitted frequencies of the satellites.
  • the SAHRS provides acceleration and velocity to aid the receiver in the phase-lock loop.
  • the DKF is formed in a two-stage process.
  • the first stage estimates position from GPS pseudo-range measurements and velocity inputs.
  • the second stage uses range-rate measurements and the output from the first stage, plus acceleration inputs.
  • the filter formalism requires 16 error states; they are four range measurements, four range-rate measurements, three gyro biases, three accelerometer biases, and the GPS receiver clock bias and bias rate. Range measurement residual is computed five times per second.
  • the measure vector is based on the SAHRS computation being available 50 times per second.
  • Algorithm design addresses not only the design of analytic estimation algorithms, but also the design of implemental procedures such as one whose function is to detect and respond to white noise in measurements.
  • the design process includes mapping, these algorithms into a system of software procedures that, when executed on some target equipment, will interact correctly with the environment and among themselves, and will also satisfy the real-time constraints of the problem.
  • w k is the system noise and is a zero-mean white noise process with covariance:
  • the subscript is a discrete filter update time argument that k,,j >0.
  • System equation is often referred to as the system model, since it describes the basic information that we are trying to determine.
  • the measurement equations is called the observation model. For simplicity, w and v are assumed uncorrelated so that:
  • the global state vector,X k can be partitioned into three substate vectors in which X 1 ,k is the sensor-one state vector, X 2,k the sensor-two state vector, and X 3 ,k the system state vector.
  • This scheme is depicted in Fig. 7 and forms a distributed computing system model.
  • a job may potentially execute on separate processors to provide coherence to a set of inputs. Then,
  • the measurement update equations are:
  • X i,k+1 (F ii,k ) X i,k + W i,k + U i,k
  • Figure 7a represents the continuous system model of a standard Kalman filter shown in Figure 1.
  • the states to be estimated must be modeled in the following vector form:
  • the output is passed through an integrator 48 to produce present state vector X.
  • the present state vector may go through channel 46 for re-input to combiner 42 and may stay on channel 40 for input to multiplier 50 to be multiplied by linear connection matrix H.
  • the output of multipler 44 is combined in the combiner 42 for estimating the next state vector.
  • the equations of the standard Kalman filter are presented in equations (17) to (25).
  • Figure 7b shows the method of distributed processing where the input white nose vector, w 1 is in channel 60, w 2 is in channel 62 and w 3 is in channel 64.
  • Processor 24 of the Fig. 7b shows the input white noise component w 1 , combined in a combiner 66 with previous state vector X 1 , which was multiplied in multiplier 68 by the linear connection matrix F 11 in channel 70, with previous state vector X 2 , which was multiplied in multiplier 72 by the linear connection matrix F 12 in channel 24, and with previous state vector X 3 , which was multiplied in multiplier 76 by the linear connection matrix F 13 in the channel 78.
  • the output from the combiner 66 produces the derivative of the present state vector, X 1 .
  • the vector X 1 is passed through an integrator 80 to produce present state vector X 1 .
  • the present state vector X 1 will go through channel 70 and be multipled by F 11 for re-input to combiner 66, stay on channel 60 and be multiplied by linear connection matrix H 11 in a multipler 82, and be sent to processors 26 and 28.
  • the X 2 from processor 28 is multiplied by H 13 in the multipler 88 of channel 90.
  • the sum of the outputs from channels 60, 90, and 86 are combined with white measure noise sequence, v 1 in a combiner 92 to produce the present measurement component Z 1 .
  • FIG. 7b shows the input white noise component w 2 , combined in a combiner 94 with previous state vector X 2 , which was multiplied in multiplier 96 by the linear connection, matrix F 22 in channel 98, with previous state vector X 3 , which was multiplied in multiplier 100 by the linear connection matrix F 23 in channel 102, and with previous state vector X 1 , which was multiplied in multiplier 104 by the linear connection matrix F 21 in channel 106.
  • the output from the combiner 94 produces the derivative of the present state vector, X 2 .
  • the vector X 2 is passed through an integrator 108 to produce present state vector X 2 .
  • the present state vector X 2 will go through channel 98 to be multiplied by F 22 for re-input to combiner 94, stay on channel 64 and be multiplied by linear connection matrix H 22 in the multiplier 110, and is sent to processors 24 and 28.
  • the vector X 1 from processor 24 is multiplied by H 21 in the multipler 112 of channel 114 and the vector X 3 from processor 28 is multiplied by H 23 in the multiplier 116 of channel 118.
  • the sum of the outputs from channels 64, 118 and 114 are combined with White measure noise sequence, v 2 in a combiner 120 to produce the present measurement component Z 2 .
  • Processor 28 of the Fig. 7b shows the input white noise component W 3 , combined in a combiner 122 with previous state vector X 3 , which was multiplied in multiplier 124 by the linear connection matrix F 33 in channel 126, with previous state vector X 2 , which was multiplied in multiplier 128 by the linear connection matrix F 32 in channel 130, and with previous state vector X 1 , which was multiplied in multiplier 132 by the linear connection matrix F 31 , in the channel 134.
  • the output from the combiner 122 produces the derivative of the present state vector, X 3 .
  • the vector X 3 is passed through an integrator 136 to produce present state vector, X 3 .
  • the present state vector X 3 will go through channel 126 to be multiplied by F 33 , for re-input to combiner 122, stay on channel 62 to be multiplied by linear connection matrix H 33 in the multipler 138, and be sent to processors 24 and 26.
  • the vector X 1 from processor 24 is multiplied by H 31 in the multiplier 140 of channel 142 and the vector X 2 from processor 26 is multiplied by H 32 in the multipler 144 of channel 146.
  • the sum of the outupts from channels 62, 142, and 146 is combined with white measure noise sequence, v 3 in a combiner 148 to produce the present measurement component Z 3 .
  • the equations of the distributed Kalman filter are implemented in accordance with equations (39) to (43).
  • the dashed lines and nodes are represent optional choices.
  • the system model of Figure 7b represents the operations of the DKF which is implemented across a number of physical devices that communicate with each other.
  • the algorithm of the DKF operates on the system errors in order that they will be eliminated out of the system providing improved performance as the end result.
  • An advantage of the DKF of the present invention is an approximate 78% reduction in the total number of operations and 57% decrease in required computer memory. In the mixed SAHRS/GPS system, this results in the optimal combining of the excellent long term performance of GPS with the good short term performance of SAHRS.

Abstract

A method and apparatus for processing signals from a sensor system including a distributed Kalman filter utilizing distributed data processing techniques to determine various system states (e.g. position, velocity, attitude, etc.). System state processor (18) and sensor state processors (24, 26, 28) are in communication with each other and receive and calculate error state data. The system errors are fed back to the sensor device processor and both the system and instrument errors are fed back to a data collection processor to continually make corrections in the measurements to compensate for the error estimation.

Description

DISTRIBUTED KALMAN FILTER
The present invention relates to a method and apparatus for data estimation processing/ and more particularly, to a Distributed Kalman Filter utilizing distributed data processing techniques.
Kalman filtering techniques have been developed primarily for estimating state parameters in dynamic systems. Kalman Filters have been used in many applications such as in control systems where real time measurements are not possible. One of the areas of technology where a Kalman Filter is of great importance is in avionics.
There is an increasing demand being placed on tactical aircraft avionic systems and this demand is impacting on the performance of the navigation sub-systems. Present day aircraft utilize an inertial navigation system such as the Strapdown Attitude Heading Reference System (SAHRS) having a plurality of gyroscopes and accelerometers to sense the various parameters necessary for flight control. Another system presently being implemented is the Global Positioning System (GPS), which utilizes a series of eighteen statellites plus three active spares, each circling the earth twice a day in six orbital planes, which will conduct and transmit navigational signals to any location. Each of the above systems as stand alone systems have their own advantages and disadvantages. It has been determined that a combination of the GPS with an inertial navigation system will provide optimal navigation. In an article entitled Integration of GPS With Inertial Navigation Systems, by Cox, Jr, Navigation: Journal of the Institute of Navigation, Vol. 25, No. 2, 1978, PP. 236-245, the author discloses the use of an integrated GPS-inertial filter configuration. Cox acknowledges that his filter is based on a high-order Kalman algorithm that presents problems in execution at a desired rate. In GPS/AHRS: A Synergistic Mix, by Sturza, et al, NAECON 1984, May 1984, pp. 339-348, there is also disclosed an integrated Kalman filter for combining GPS and SAHRS systems. However, no description of the model for implementing the integrated Kalman filter is disclosed. The integration of sensors described in the above systems utilize standard Kalman filtering techniques. However, in the development of mathematical descriptions of the error behaviors, the size of the Kalman filter states will increase markedly, and would lead to a high order model of the system. It follows, that a large number of uncertain variables that contribute to the state of estimation errors, would require a huge computer processing power and. memory.
Recent system literature concerning the subject of real time Kalman. Filtering in the problem of navigationintegration contains two major approaches to handle large, scale state estimation algorithms. In one approach, considerable effort is made for reducing the order of the Kalman filter. Usually this effort has lead to a sub-optimal Kalman filter by partitioning the system states and filter matrices, and rewriting the filter equations in terms of the resulting set of lower order equations. To insist on reduced states that have a computational significance in the application, is to risk degrading filter performance.
An alternative approach is the decentralized Kalman filter in which all sub-systems and their measurements are interconnected. The fundamental idea is to decompose the large system into sub-systems and then manipulate the smaller sub-systems in such a way that the objectives of the overall system are met. Although the decentralized filter is stable, it is not well suited for state estimation. In addition, there is no mechanism for enforcing the interconnection constraints and there are no workable algorithms for a large scale system.
The present invention is directed to a distributed Kalman filter (DKF) for processing signals from at least one sensor device for a system having at least one measurement instrument to provide specific system and instrument data comprising a sensor state processor for receiving instrument error state data from at least one sensor device processor and calculating sensor instrument error data; a system state processor coupled to said sensor state processor for receiving system error state data from said sensor device processor, for calculating system error data and for feeding said system error data back to said sensor device processor; and means for outputting the desired system data and for feeding back the error data to said at least one sensor device processor.
The present invention provides a method for the distributed data processing of signals from at least one sensor device for a system having at least one measurement instrument to provide specific device data, said distributed data processing being performed in a Kalman filter, said method comprising receiving instrument error state data from at least one sensor device processor and calculating sensor instrument error data in a sensor state processor; receiving system error state data from said sensor device processor and calculating system error data in a system state processor; feeding said system error data back to said sensor device processor; and outputting the desired system data and feeding back the error data to said at least one sensor device processor. The present invention is directed to a distributed Kalman filter (DKF) utilizing distributed data processing techniques. The DKF of the present invention is especially useful in integrated multi-sensor systems, such as the SAHRS-GPS system. The DKF provides numerous benefits in solving the burden on computer time by allowing for greater computational capability resulting in improved accuracy, speed and reliability. The DKF of the present invention is a universal filter that can be used to great benefit in the sensor systems for numerous devices. In addition to navigation the distributed Kalman filter can be used for processing data in radar, image processing, optics, television or any system at all where noise presents a problem in determining real time data measurements. Devices in which the DKF would be employed includes aircraft/ spacecraft, land and water vehicles, television and cameras.
The above are merely examples and the use of the DKF is in no way limited to those recited above.
Typically, sensor systems include one or more sensors that collect data needed for the operation of the device, such as navigating a vechicle, identifying a target or focusing a camera. The necessary data is usually provided in various states. For example, for navigation, the states may consist of position, velocity and attitude. These are called system states. In addition, the operation of the sensor itself consists of several states. In the navigation example, the sensor may be a gyroscope which has states that include alignment, coupling and drift. These are called instrument states. Errors are always present in the sensor system since exact measurements and data collection are subject to noise. The DKF estimates the error for all the states which is then fed back to a data collection processor to continually make corrections in the measurements to compensate for the error.
More particularly, the DKF of the present invention processes signals from at least one sensor device of a system to provide specific system and instrument data. A distributed Kalman filter includes a sensor state processor that receives instrument error state data from at least one sensor device processor and calculates sensor instrument error data. A system state processor is coupled to the sensor state processor and receives system state data from the sensor state processor and calculates system error data. The system state processor feeds the system error data back to the sensor state processor. The DKF includes means for outputting the desired system data and for feeding back the error data to the sensor device processor.
A distributed system is defined as any configuration of two or more processors, each with private memory, in which the computations performed in each processor utilizes the combined resources of the component machines. The amount of communication between the processors depends upon the nature of the multi-sensor system. The operating system within each processor determines a communications request and provides the necessary software linkage and signaling required for effective communications. The software to be processed by the distributed computing system consists of functional modules that collectively comprise the distributed program. In addition to the general embodiment of the DKF described above, three embodiments are disclosed in the
GPS-SAHRS environment. Each of the SAHRS and GPS systems have corresponding instrument and system errors represented by a multiplicity of states to be described in detail in the description of the invention. One system is a SAHRS-aided
GPS navigator wherein the DKF includes a GPS state processor and a system state processor. The GPS processor provides data, for example, to compute range and range rates to the four statellites from the Doppler shift of carrier frequency.
This data is. fed through the GPS state processor and system state processor as described with the general DKF. The SAHRS processor provides acceleration and velocity to aid the GPS processor and system state processor.
The second system is a GPS-aided SAHRS navigator which requires the DKF to estimate only the errors in the SAHRS and feedback these errors to recalibrate only the SAHRS. The GPS position and velocity measurements are both supplied through the SAHRS. The third system is a mixed SAHRS/GPS navigator wherein the DKF includes both a SAHRS state processor and a GPS state processor together with a system state processor that are interfaced using distributed processing techniques. The GPS provides range measurements and statellite data. The SAHRS provides acceleration and velocity transformed to the navigation frame together with attitude data. The GPS navigator uses this information for signal reaquisition. The SAHRS uses the GPS position and velocity updates for instrument alignment and calibration.
Figure 1 is a block diagram of a prior art integrated Kalman filter. Figure 2 is a block diagram of the distributed
Kalman Filter (DKF) of the present invention. Figure 3 is a block diagram showing the DKF in a SAHRS/GPS environment. Figure 4 is a block diagram of a DKF in a mixed SAHRS/GPS system. Figure 5 is a block diagram of a DKF in a SAHRS-aided GPS system. Figure 6 is a block diagram of A DKF in a GPS-aided SAHRS system. Figure 7a is a block diagram of a system model of a prior art standard Kalman filter. Figure 7b is a block diagram of a system model of a DKF for the SAHRS/GPS mixed system.
Referring now to the drawings, Figure 1 is a block diagram showing the prior art Kalman Filter arrangement in a typical multi-sensor system. Sensors 1 and 2 compute the error state signals which are then fed into Kalman Filters 1 and 2 respectively. In general, sensors 1 and 2 compute both system errors and sensor errors. After Kalman Filters 1 and 2 process the system errors they feed them into the Kalman Filter 3 which further processes the system errors. This type of situation appears a likely candidate for a decentralized multirate Kalman filter. The prior art system is redundant by processing the same system errors in both Kalman Filters 1 and 2. Furthermore, the integration of Kalman Filters 1 and 2 by Kalman Filter 3 reduces calculation reliability.
In the present invention, a single distributed Kalman filter (DKF) is utilized to process both the instrument and system errors which increases the amount of error states that can be processed. As shown in figure 2, the DKF 10 includes at least two individual processors, processor 12 for instrument errors and processor 14 for system errors. The DKF 10 shown in figure 2 is coupled to a system having a single sensor device processor 16 that can compute a plurality of state signals received from a multiplicity of sensors. The sensor device processor 16 transmits the sensor data to the DKF 10 where it is processed by state processors 12 and 14. Typically, the sensor data is inputted to the instrumentstate processor 12 to process the instrument errors while the system error is fed to the system state processor 14 through the processor 12. Processor 14 computes the system error which is fed back to processor 12. The system and instrument errors are fed back to the sensor device processor 16 which then makes the necessary adjustments to the incoming state signals.
The advantages of the present arrangement are that the instrument error processor is not burdened with filtering the system state errors but filters only the instrument errors while the system state processor filters the system errors received from the sensors. Therefore, less computing time and memory are needed due to the elimination of the redundancy of the system error processor operation. Furthermore, the size of the hardware necessary to accommodate the system is reduced making it applicable for real time operation.
In another embodiment of the present invention, a distributed Kalman. Filter is utilized to integrate two sensor systems. In figure 3, there is shown a DKF 18 arranged to integrate data from a Strapdown Attitude Heading Reference System (SAHRS) and a Global Positioning System (GPS). The SAHRS system includes aircraft rate and acceleration as inputs. Inertial body rate and acceleration data are sensed by an array of skewed inertial components. A sensor redundancy algorithm is performed to select signals, to isolate failures, and to monitor performances. Sensor compensations such as bias, scale factor, and body bending are aligned and the sensory information is resolved along the orthogonal body axes. The orthogonal rate data are corrected for the effects of earth rate and aircraft angular velocity over the earth's surface to obtain the aircraft angular rates with respect to the local level coordinate frame. These rates are utilized to derive the direction cosines and associated vehicle attitude and heading.
The inertial body axis accelerations are transformed to the local level frame, compensated for the effects of gravity and Coriolis acceleration and integrated to obtain local level velocities. The level velocity is divided by the radius of the earth to obtain the angular transport rates for compensation of the measured inertial angular rates. The primary computation of the SAHRS processor 20 is the determination of the direction cosine matrix that relates the aircraft coordinate system to the local level coordinate system. The resultant data are. not sufficiently accurate, specifically in terms of standoff error. The more stringent accuracy requirements for SAHRS dictate that the actual filter is to be designed using sensory outputs and blending the external reference data to estimate error sources.
The basis for the GPS system is the information transmitted by each satellite. This information includes the satellite ephemeris and the time of transmittion of the signal. Transit time is proportional to range, so except for clock bias offset and atmospheric path distortion, the user has a measure of the range to the sending satellites. These measurements are called pseudo-range because of the clock bias. Four simultaneous pseudo-range measurements suffice to allow the user to solve for four unknowns, namely the three components of his position plus his clock bias. Knowing the effects of errors in initial position and initial time on the estimated Doppler shift of the received satellite signals, the receiver can determine the frequency that must be tracked, which is the "apparent" broadcast carrier frequency, usually with a phase-locked loop. Progressive increases in the tracking error and attendant reductions in the detector gain lead to a complete loss of lock. In order to avoid loss of lock, to improve the Doppler estimate, and to reduce the acquisition time the aiding data should be obtained directly from the SAHRS via the DKF.
As shown in Figure 3, the DKF 18 includes a SAHRS sensor state processor 24, a GPS sensor state processor 26 and a common system state processor 28. The SAHRS state processor 24 calculates the instrument error of the SAHRS system while passing the system error data to the system processor 28. Similarly, the GPS state processor calculates the instrument error of the GPS system and passes the system error to the system processor 28. The system error processor 28 passes the system error data back to the SAHRS and GPS processors 24 and 26 respectively. The DKF feeds the SAHRS and GPS error back to the respective sensor processors 20 and 22. The DKF 18 provides the required data output which includes role, pitch , heading, velocity north, east and vertical, latitude, longitude and altitude.
Figure 4 shows another embodiment of present invention wherein the DKF 18 is used to integrate the data from four processors. In addition to the SAHRS and GPS processors 20 and 22, there are also provided a reference sensor processor 30 and a satellite data processor 32. The reference sensor processor 30 includes a magnetic heading reference sensor for determining pressure, altitude, and true airspeed. To insure a bounded heading error in the presence of the SAHRS sensory errors, an external magnetic heading reference (flux valve) is selected. Flux valves are utilized to provide accurate long term heading. The flux valve data and gyro-driven heading data are combined via the filter to achieve both short-and long-term heading accuracy. The calculation of vertical velocity by the SAHRS algorithm requires an external reference to ensure stable velocity data. The accelerometer bias and imperfect gravitational correction will result in an unbounded vertical velocity in a relatively short time. In order to bound the vertical velocity error, it is necessary to. utilize pressure altitude. The local level velocities are utilized in the calculation of the angular transport rates over the earth's surface. These angular rates are transformed into projections along the vehicle body axes to compensate for the measured angular rates. Without the true airspeed as a reference velocity, the attitude and velocity errors will contain the Schuler oscillations in the presence of certain component errors.
The processor 24 contains 33 states derivated from the SAHRS sensor error model. The gyro error model is given as the following five classes: Scale factor errors, three states; Misalignment coupling errors, six states; Bias errors, three states;
Mass unbalance drift errors, three states; Random noise errors, three states.
The model for the accelerometers can be described as the following classes:
Scale factor errors, three states; Misalignment errors, six states; Bias errors, three states; Random noise errors, three states.
A global network of satellites can be configured so that at least four different satellites are above the local horizon for almost every point on or near the earth. The selection of these four satellites has a great influence on the accuracy of a navigation fix. The satellite data processor 32 selects the proper satellites. The satellite selection algorithm consists of the following four steps:
Step one - Select the first satellite with the largest elevation angle;
Step two - Choose the second satellite near to the first one to 110 degrees;
Step three - Determine the third satellite with optimum geometry for visibility;
Step four - Select the last satellite with the property of the minimum geometric dilution of precision.
The satellite motion algorithm determines the position of satellites by the satellite equations of motion. These equations can be expressed in Euler-Hill form, which is a rotating coordinate system defined by right ascension of ascending node, orbital inclination, and latitude. There exists an orthogonal matrix that transforms the position vector of a satellite in the Euler-Hill rotating form to the Cartesian coordinate of the inertially fixed geocentric system. The purpose of this algorithm is to develop
Lagrange's equations of satellite motion of a perturbing acceleration in the Euler-Hill rotating frame, in terms of the angular velocity vector and eccentricity vector, the nonsingular orbital elements ranges and range rates are determined by the transformation.
The processor 26 contains 10 states derived from the GPS sensor error model. They are three range measurements states, three range rate states, one clock state and one clock rate state. The processor 28 contains 9 states derived from the aircraft attitude, position, and velocity. The Reconfiguration Data Management System 34 includes algorithms to perform failure monitoring, failure isolation, configuration selection, and data normalization. In addition, analytic testing calculations are performed to minimize overall hardware requirements. The normalization computation process is the final output, parameter computation, which uses best-estimate data to derive the output parameters.
The GPS receiver provides pseudo-range and deltarange measurements, and satellite data. The SAHRS provides acceleration and velocity transformed to the navigation frame and attitude data. The GPS navigator uses this information for signal reacquisition following intervals for signal outages (resulting from antenna shadowing, bad geometry; and high dynamic maneuvering). The SAHRS uses the GPS position and velocity updates for alignment and calibration of its instruments. The accurate position fixes from the satellite data can not only prevent long-term inertial error growth, but may allow various inertial errors to be estimated in real time and thus compensated for. The error model of the filter is obtained by augmenting the state vector of the GPS-aided SAHRS error model by 10 elements.
These 10 elements represent the range, range-rate, clock bias and clock rate of GPS correlated errors. The error model of the total states is 46 and the update interval is one second. Figure 5 shows the DKF 18 arranged as a GPS aided SAHRS navigator. One way of combating long-term inertial error growth from the SAHRS is to periodically reset the user position coordinates using an accurate fix from GPS. This configuration requires the DKF to estimate only the errors in the SAHRS and feed back these errors to recalibrate only the SAHRS. The GPS position and velocity measurements are both supplied to the SAHRS. The system then represents the updated states that will be subsequently propagate 50 iterations through time until the period of a one second update cycle. A 36-state filter is implemented in the GPS-aided SAHRS navigation set. These error states consist of the six acceleration errors, nine gyro errors, 12 misalignment errors of both accelerometers and gyros, and nine system errors.
The system of Figure 6 shows the DKF 18 implemented as a SAHRS-aided GPS navigator. The GPS receiver provides the data necessary to compute ranges and range-rates to the four satellites from the Doppler shift of carrier frequency. There are two important errors that occur in making these range and range-rate measurements. The first one is caused by the user's clock not being perfectly synchronized with the sattelite clock System. The second error is caused by an oscillator frequency error relative to the transmitted frequencies of the satellites.
The SAHRS provides acceleration and velocity to aid the receiver in the phase-lock loop. The DKF is formed in a two-stage process. The first stage estimates position from GPS pseudo-range measurements and velocity inputs. The second stage uses range-rate measurements and the output from the first stage, plus acceleration inputs. The filter formalism requires 16 error states; they are four range measurements, four range-rate measurements, three gyro biases, three accelerometer biases, and the GPS receiver clock bias and bias rate. Range measurement residual is computed five times per second. The measure vector is based on the SAHRS computation being available 50 times per second. Algorithm design addresses not only the design of analytic estimation algorithms, but also the design of implemental procedures such as one whose function is to detect and respond to white noise in measurements. The design process includes mapping, these algorithms into a system of software procedures that, when executed on some target equipment, will interact correctly with the environment and among themselves, and will also satisfy the real-time constraints of the problem.
The symbols and subscripts in the following discussion are defined as follows: For the i-th subsystem at the k-th update time, Xi ,k = state vector, zi,k = measure vector , vi,k = white measurement noise vector, wi ,K = input white noise vector. Fij ,k = the state transition matrix from the j-th subsystem state vector to the i-th subsystem state vector. Hij ,k = the linear connection matrix from the i-th subsystem state vector to the j-th subsystem measure vector. In the development of a distributed Kalman filter, the starting point is derived from the discreet system model of standard Kalman equations; then, the partition is taken to the desired subsystems. The system is described by the following linear vector equation:
X k+1 = Fkxk+wk. (1)
Here, wk is the system noise and is a zero-mean white noise process with covariance:
Cov = Qkδi,,j, E[wk]=0 (2) in which Qk is
Figure imgf000017_0001
a nonnegative definite matrix and δi,,j is the
Dirac delta function.
The subscript is a discrete filter update time argument that k,,j >0. System equation is often referred to as the system model, since it describes the basic information that we are trying to determine. The state vector, ] X, :k^θ/, is observed by means
Figure imgf000018_0001
of a noisy mechanism of the zk = HT kXk+Vk, (3) where the measurement noise vK is a zero-mean white noise process with: Cov E[vk]=0, (4)
Figure imgf000018_0002
hich RK is a definite matrix The measurement equations is called the observation model. For simplicity, w and v are assumed uncorrelated so that:
Cov = 0, for all j and k. (5)
Figure imgf000018_0003
The initial value of X is a random variable with: E
Figure imgf000018_0004
[X0] = X(, and Var ) X, = PO (6)
Also, it i
Figure imgf000018_0005
sss cassuumed that = 0, for all k.
Figure imgf000018_0006
The global state vector,Xk, can be partitioned into three substate vectors in which X1 ,k is the sensor-one state vector, X2,k the sensor-two state vector, and X3 ,k the system state vector. This scheme is depicted in Fig. 7 and forms a distributed computing system model. One of the differences between a distributed job and a conventional one is that a job may potentially execute on separate processors to provide coherence to a set of inputs. Then,
Figure imgf000018_0007
(9)
Figure imgf000019_0001
These forms are expanded and rewritten in the following three separate systems.
Sensor-one state space equation
X1,k+1 = F11,KX1,K + F12,kX2,k + F13,kX3,k + W1,k (10)
Z1,k = H11,k TX1,K+ H21,k TX2,k + H31,k TX3,k + v1,k (11)
Sensor-two state space equation:
X2,k+1 = F22,kX2,k + F21,kX1,k + F23,kX3,k + W2,k (12)
Z2,k = H22,k TX2,k + H 12,k T X1,k + H32K, TX2,k+ V 2,k (13)
System state-space equations:
X3,K+1 = F33,kX3,k + F31,kX1,k + F32,kX2,k + w3,k (14)
Z3,k = H33,kTX3,k + H13,k TX1,k + H23,k TX2,k + V3,k (15)
Since sensor X1,k and X2,k states are almost independent, let
F12 = F21 = 0, H21 = H12 = 0. (16) The standard Kalman filter is a linear, descrete-time finite dimensional system. The equations are summarized for convenience as follows: The filter is initialized by:
Figure imgf000020_0004
V (17)
The estimates are: T (18)
Figure imgf000020_0001
(19)
The measurement update equations are:
(20)
' (21)
Figure imgf000020_0002
V | (22)
where, based on a set of sequential observations: r (23) ] (24)
Figure imgf000020_0003
| i (25) A further extension of the standard Kalman filter yields three nonlinear subfilters that are no longer linear and the performance is different from the original one. For some, partition of substate vectors may diverge and be effectively useless, whereas for other selections it may perform well. In order to ensure stability of the distributed Kalman filter for certain coordinate basic selections, one important property is to make sure that the individual processors can accomplish a global effect, executing code and data, and working together to complete an estimation task.
Three subsystem models:
Xi,k+1 = fi,k (Xi ,k) + wi ,k (26)
zi,k = hi,k(Xi,k) + vi.k (27)
where the functions of fk , hk are nonlinear, and i = 1,2, and 3.
(28)
Figure imgf000021_0001
where = partial derivative. Approximations are introduced to drive a clearly suboptimal filter for the model.
A A
Figure imgf000021_0002
) | Then the model is as:
(31)
Xi,k+1 = (Fii,k) Xi,k + Wi,k + Ui,k
(32)
Zi,k = (Hii,k) Xi,k + Vi,k + Yi,k'
(33)
(34)
(35)
(36)
(37)
(38)
Figure imgf000022_0001
Extended Kalman filter ecuations are:
Figure imgf000023_0001
Figure 7a represents the continuous system model of a standard Kalman filter shown in Figure 1. The states to be estimated must be modeled in the following vector form:
X = F X + w The measurement relationship connecting the noisy measurement vector Z to the state vector X must be of the form:
Z = H X + v The method of processing in channel 40, includes the input white noise vector, w = [w1,w2,w3]T , combined in a combiner 42 with previous state vector X = [X1,X2,X3] T which has been multiplied in multiplier 44 by the linear connection matrix F in channel
46, to produce the derivative of the present state vector,
• • • •
X = [X1 ,X2,X3 ] T
The output is passed through an integrator 48 to produce present state vector X. The present state vector may go through channel 46 for re-input to combiner 42 and may stay on channel 40 for input to multiplier 50 to be multiplied by linear connection matrix H. The output of multipler 44 is combined in the combiner 42 for estimating the next state vector. The output of multipler 50 combines white measure noise sequence v = [v1,v2,v3] T in the combiner 52 to produce the present measurement vector Z = [Z1,Z2,Z3]T Based upon the system model in Fig. 7a, the equations of the standard Kalman filter are presented in equations (17) to (25).
Figure 7b shows the method of distributed processing where the input white nose vector, w1 is in channel 60, w2 is in channel 62 and w3 is in channel 64.
Processor 24 of the Fig. 7b shows the input white noise component w1, combined in a combiner 66 with previous state vector X1, which was multiplied in multiplier 68 by the linear connection matrix F11 in channel 70, with previous state vector X2, which was multiplied in multiplier 72 by the linear connection matrix F12 in channel 24, and with previous state vector X3, which was multiplied in multiplier 76 by the linear connection matrix F13 in the channel 78. The output from the combiner 66 produces the derivative of the present state vector, X1. The vector X1 is passed through an integrator 80 to produce present state vector X1. The present state vector X1 will go through channel 70 and be multipled by F11 for re-input to combiner 66, stay on channel 60 and be multiplied by linear connection matrix H11 in a multipler 82, and be sent to processors 26 and 28. The X2 from processor 28 is multiplied by H13 in the multipler 88 of channel 90. The sum of the outputs from channels 60, 90, and 86 are combined with white measure noise sequence, v1 in a combiner 92 to produce the present measurement component Z1. Processor 26 of Fig. 7b shows the input white noise component w2, combined in a combiner 94 with previous state vector X2, which was multiplied in multiplier 96 by the linear connection, matrix F22 in channel 98, with previous state vector X3, which was multiplied in multiplier 100 by the linear connection matrix F23 in channel 102, and with previous state vector X1, which was multiplied in multiplier 104 by the linear connection matrix F21 in channel 106. The output from the combiner 94 produces the derivative of the present state vector, X2. The vector X2 is passed through an integrator 108 to produce present state vector X2. The present state vector X2 will go through channel 98 to be multiplied by F22 for re-input to combiner 94, stay on channel 64 and be multiplied by linear connection matrix H22 in the multiplier 110, and is sent to processors 24 and 28. The vector X1 from processor 24 is multiplied by H21 in the multipler 112 of channel 114 and the vector X3 from processor 28 is multiplied by H23 in the multiplier 116 of channel 118. The sum of the outputs from channels 64, 118 and 114 are combined with White measure noise sequence, v2 in a combiner 120 to produce the present measurement component Z2.
Processor 28 of the Fig. 7b shows the input white noise component W3 , combined in a combiner 122 with previous state vector X3, which was multiplied in multiplier 124 by the linear connection matrix F33 in channel 126, with previous state vector X2, which was multiplied in multiplier 128 by the linear connection matrix F32 in channel 130, and with previous state vector X1, which was multiplied in multiplier 132 by the linear connection matrix F31, in the channel 134. The output from the combiner 122 produces the derivative of the present state vector, X3. The vector X3 is passed through an integrator 136 to produce present state vector, X3. The present state vector X3 will go through channel 126 to be multiplied by F33, for re-input to combiner 122, stay on channel 62 to be multiplied by linear connection matrix H33 in the multipler 138, and be sent to processors 24 and 26. The vector X1 from processor 24 is multiplied by H31 in the multiplier 140 of channel 142 and the vector X2 from processor 26 is multiplied by H32 in the multipler 144 of channel 146. The sum of the outupts from channels 62, 142, and 146 is combined with white measure noise sequence, v3 in a combiner 148 to produce the present measurement component Z3. Based upon the system model in Fig. 7b, the equations of the distributed Kalman filter are implemented in accordance with equations (39) to (43). The dashed lines and nodes are represent optional choices.
The system model of Figure 7b represents the operations of the DKF which is implemented across a number of physical devices that communicate with each other. The algorithm of the DKF operates on the system errors in order that they will be eliminated out of the system providing improved performance as the end result. An advantage of the DKF of the present invention is an approximate 78% reduction in the total number of operations and 57% decrease in required computer memory. In the mixed SAHRS/GPS system, this results in the optimal combining of the excellent long term performance of GPS with the good short term performance of SAHRS. While illustrative embodiments of the subject invention have been described and illustrated, it is obvious that various changes and modifications can be made therein without departing from the spirit of the present invention which should be limited only by the scope to the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A distributed Kalman filter for processing signals from at least one sensor device for a system having at least one measurement instrument to provide specific system and instrument data comprising: a sensor state processor (12) for receiving instrument error state data from at least one sensor device processor (16) and calculating sensor instrument error data; a system state processor (14) coupled to said sensor state processor (12) for receiving system error state data from said sensor device processor (16), for calculating system error data and for feeding said system error data back to said sensor device processor (16); and means for outputting the desired system data and for feeding back the error data to said at least one sensor device processor (16).
2. The distributed Kalman filter of Claim 1 wherein said system is a navigation system, such as a Strapdown Attitude Heading Reference System (SAHRS) or a Global Positioning System (GPS).
3. The distributed Kalman filter of Claim 2 wherein both of said SAHRS and GPS navigational systems are coupled to said distributed Kalman filter.
4. The distributed Kalman filter of Claims 1, 2 or 3 wherein said distributed Kalman filter network includes a SAHRS sensor state processor (24) and a GPS sensor state processor (26), both of said SAHRS and GPS sensor state processors being coupled to said system state processor (28).
5. The distributed Kalman filter of any one of the Drecedinq claims wherein both of said sensor (24,26) and system (28) state processors include first means (66,94,122) for combining input signals having noise with a first sensor present state vector and a system present state vector to produce a derivative sensor vector and means (80,108,122) for integrating said derivative sensor vector to produce said sensor present state vector, and include means for combining a second sensor present state vector in said first combining means.
6. The distributed Kalman filter of Claim 5 wherein both of said sensor (24,26) and system (28) state processors include first (68,96,128) and second (76,100,132) means for multiplying both said first and second system present state vectors by first and second matrices prior to being combined in said first combining means and including .third means (72, 104,124) for multipying said second present state vector by a third matrix prior to being combined in said first combining means.
7. The distributed Kalman filter of Claims 5 or 6 wherein both said sensor (24,26) and system (28) state processors include second means (92,120,148) for combining at least two of said present state vectors with a noise vector to produce a present measurement signal and wherein said first and second sensor present state vectors and said system present state vector are combined in second combining means.
8. The distributed Kalman filter of Claims 5,
6 or 7 including means for multiplying each of said sensor, and system present state vector by first (82,110,146), second (88,116,138) and third (84,112,144) matrices respectively prior to being combined by said second combining means.
9. A method for the distributed data processing of signals from at least one sensor device for a system having at least one measurement instrument to prrovide specific-device data, said distributed data processing being performed in a Kalman filter, said method comprising: receiving instrument error state data from at least one sensor device processor and calculating sensor instrument error data in a sensor state processor; receiving system error state data from said sensor device processor and calculating system error data. in a system state processor; feeding said system error data back to said sensor device processor; and outputting the desired system data and feeding back the error data to said at least one sensor device processor.
10. The method of Claim 13 wherein said system is a is a navigation system such as a Strapdown Attitude
Heading Reference System (SAHRS) or a Global Positioning
System (GPS).
11. The method of Claim 10 including coupling both a SAHRS and GPS navigational system to said distributed Kalman filter.
12. The method of Claims 9, 10 or 11 wherein receiving and calculating instrument and system error state data includes combining input signals having noise with a first sensor present state vector and a system present state vector in a first combining means to produce a derivative sensor vector and integrating said derivative sensor vector to produce said sensor present state vector and combining a second sensor present state vector in said first combining means.
13. The method of Claim 12 including mutiplying both said first and second system present state vectors by first and second matrices prior to being combined in said first combining means; and multiplying said second present state vector by a third matrix prior to being combined in said first combining means.
14. The method of Claims 12 or 13 including combining at least two of said present state vectors with a noise vector in a second combining means to produce a. present measurement signal, and multipying each of said sensor and system present state vectors by first, second and third matrices respectively prior to being combined by said second combining means.
PCT/US1987/001946 1986-08-20 1987-08-10 Distributed kalman filter WO1988001409A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US89817286A 1986-08-20 1986-08-20
US898,172 1986-08-20

Publications (1)

Publication Number Publication Date
WO1988001409A1 true WO1988001409A1 (en) 1988-02-25

Family

ID=25409060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1987/001946 WO1988001409A1 (en) 1986-08-20 1987-08-10 Distributed kalman filter

Country Status (3)

Country Link
EP (1) EP0277231A1 (en)
JP (1) JPH01500714A (en)
WO (1) WO1988001409A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0504024A1 (en) * 1991-03-15 1992-09-16 Thomson-Csf Multi-sensor navigation calculator with a modular Kalman filter
WO2005004517A1 (en) * 2003-06-17 2005-01-13 Telecom Italia S.P.A. A method for the location of mobile terminals, related systems and terminal, computer program products thereof
KR100823644B1 (en) 2007-03-23 2008-04-21 고려대학교 산학협력단 Method and system for in-network processing of skyline queries with filter
CN109858137A (en) * 2019-01-25 2019-06-07 哈尔滨工业大学 It is a kind of based on the complicated maneuvering-vehicle track estimation method that can learn Extended Kalman filter
CN111257824A (en) * 2020-01-20 2020-06-09 西安工程大学 Distributed detection method based on diffusion Kalman filtering

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2555017B1 (en) * 2011-08-03 2017-10-04 Harman Becker Automotive Systems GmbH Vehicle navigation on the basis of satellite positioning data and vehicle sensor data
JP6738656B2 (en) * 2016-06-14 2020-08-12 日立オートモティブシステムズ株式会社 Vehicle position estimation device

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3412239A (en) * 1963-01-22 1968-11-19 Sperry Rand Corp Algebraic-integration inertial navigation system
US4032759A (en) * 1975-10-24 1977-06-28 The Singer Company Shipboard reference for an aircraft navigation system
US4038536A (en) * 1976-03-29 1977-07-26 Rockwell International Corporation Adaptive recursive least mean square error filter
US4046341A (en) * 1976-03-30 1977-09-06 General Electric Company Aircraft angle-of-attack and sideslip estimator
US4179696A (en) * 1977-05-24 1979-12-18 Westinghouse Electric Corp. Kalman estimator tracking system
US4232313A (en) * 1972-09-22 1980-11-04 The United States Of America As Represented By The Secretary Of The Navy Tactical nagivation and communication system
US4310892A (en) * 1978-06-23 1982-01-12 Gebrueder Hofmann Gmbh & Co. K.G. Maschinenfabrik Method for determining imbalance in a mechanical system
US4320287A (en) * 1980-01-25 1982-03-16 Lockheed Electronics Co., Inc. Target vehicle tracking apparatus
US4347573A (en) * 1978-10-30 1982-08-31 The Singer Company Land-vehicle navigation system
US4450533A (en) * 1980-08-27 1984-05-22 Petit Jean P Distributed arithmetic digital processing circuit
US4462081A (en) * 1982-04-05 1984-07-24 System Development Corporation Signal processing system
US4533918A (en) * 1979-03-08 1985-08-06 Virnot Alain D Pilot assistance device
US4584646A (en) * 1983-06-29 1986-04-22 Harris Corporation System for correlation and recognition of terrain elevation
US4617634A (en) * 1983-06-28 1986-10-14 Mitsubishi Denki Kabushiki Kaisha Artificial satellite attitude control system
US4680715A (en) * 1984-05-16 1987-07-14 Teldix Gmbh Method for navigating vehicles, particularly land vehicles
US4700307A (en) * 1983-07-11 1987-10-13 General Dynamics Corp./Convair Division Feature navigation system and method

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3412239A (en) * 1963-01-22 1968-11-19 Sperry Rand Corp Algebraic-integration inertial navigation system
US4232313A (en) * 1972-09-22 1980-11-04 The United States Of America As Represented By The Secretary Of The Navy Tactical nagivation and communication system
US4032759A (en) * 1975-10-24 1977-06-28 The Singer Company Shipboard reference for an aircraft navigation system
US4038536A (en) * 1976-03-29 1977-07-26 Rockwell International Corporation Adaptive recursive least mean square error filter
US4046341A (en) * 1976-03-30 1977-09-06 General Electric Company Aircraft angle-of-attack and sideslip estimator
US4179696A (en) * 1977-05-24 1979-12-18 Westinghouse Electric Corp. Kalman estimator tracking system
US4310892A (en) * 1978-06-23 1982-01-12 Gebrueder Hofmann Gmbh & Co. K.G. Maschinenfabrik Method for determining imbalance in a mechanical system
US4347573A (en) * 1978-10-30 1982-08-31 The Singer Company Land-vehicle navigation system
US4533918A (en) * 1979-03-08 1985-08-06 Virnot Alain D Pilot assistance device
US4320287A (en) * 1980-01-25 1982-03-16 Lockheed Electronics Co., Inc. Target vehicle tracking apparatus
US4450533A (en) * 1980-08-27 1984-05-22 Petit Jean P Distributed arithmetic digital processing circuit
US4462081A (en) * 1982-04-05 1984-07-24 System Development Corporation Signal processing system
US4617634A (en) * 1983-06-28 1986-10-14 Mitsubishi Denki Kabushiki Kaisha Artificial satellite attitude control system
US4584646A (en) * 1983-06-29 1986-04-22 Harris Corporation System for correlation and recognition of terrain elevation
US4700307A (en) * 1983-07-11 1987-10-13 General Dynamics Corp./Convair Division Feature navigation system and method
US4680715A (en) * 1984-05-16 1987-07-14 Teldix Gmbh Method for navigating vehicles, particularly land vehicles

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
&. GENIN, "Chapter 2-Further Comments on the Derivation of Kalman Filters, Section II-Gaussian Estimates and Kalman Filtering" Unknown Origin, Pre-1980 pages Numbered 55-63 see Equations 14, 22, 27-28, 41 and 43-46. *
Agardograph No. 139 Edited by C.T. LEONDES "Theory and Applications of Kalman Filtering" Circa 1970; pages 205-229. See equations 3.3 and Figs. 1-3 *
Dr. A. GELB and Dr. A.A. SUTHERLAND, Jr. "Software Advance in Aided Inertial Navitation Systems", Navigation: Journal of the Institute of Navigation, (b). 17, No. 4 Winter 1970-71 pp 358-369 see figs. 1, 3, 4, 6, 7, 10, 11, Equations 10, 11, 15-17 and page 360 column 1 lines 3-10. *
F.H. SCHLEE et al., "Divergence in the Kalman Filter" AIAA Journal, Vol. 5 No. 6 1966. See fig. 3 *
GEORGE A. Anderson, "Interconnecting a Distributed Processor System for Avionics", Unknown Origin Pre-1980. See figs. 1, 2, 4 and page 11 column 2 Paragraph 1 *
JOSE A. ROMAGNOLI and RAFIQUL GANI "Studies of Distrubuted Parameter Systems: DeCoupling the State-Parameter Estimation Problem". Chemical Engineering Science, Vol. 38, No 11 pp 1831-1843 1983 *
L. MEIROVITCHG and H.OZ, "Digital Stochastic Control of Distributed-Parameter Systems". Journal of Optimization Theory and Applications: Vol. 43, No. 2 pp 307-325 June 1984 see fig. 1, Abstract and Mathematics *
P. STAVROULAKIS and S.G. TZAFESTAS, "Multipartioning in Distributed Parameter Adaptive Estimation" Int. J. Systems Sci., 1982, Vol. 13, No. 3, pp 301-315 see Abstract and Mathematics *
P.C. MAXWELL et al. "Incremental Computer Systems". The Australian Computer Journal, (b). 8, No. 3; Nov. 1976 see column 1 Paragraphs 2-4, Equations 1, 4(a)-5(b) and figs. 1-4 *
RAMAN K. MEHRA "On the Identification of Variances and Adaptive Kalman Filtering", IEEE Transactions on Automatic Control, Vol. AC-15, No. 2 Apr 1970 see Equations (1), (2) and fig. 2 *
ROBERT A. SINGER and ROLAND G. SEA, "Increasing the Computational Efficiency of Discrete Kalman Filters", IEEE Transactions on Automatic Control pp254-257 June 1971 Note Mathematical Derivation pp. 829-830 *
T. NISHIMURA, "A New Approach to Estimation of Initial Conditions and Smoothing Problems" IEEE Transactions on Aerospace and Electronic Systems Vol. AES-5, No 5 pp 828-836 Sept 1969 Note Mathematical Derivation pp. 829-830 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0504024A1 (en) * 1991-03-15 1992-09-16 Thomson-Csf Multi-sensor navigation calculator with a modular Kalman filter
WO2005004517A1 (en) * 2003-06-17 2005-01-13 Telecom Italia S.P.A. A method for the location of mobile terminals, related systems and terminal, computer program products thereof
US7873375B2 (en) 2003-06-17 2011-01-18 Telecom Italia S.P.A. Method for the location of mobile terminals, related systems and terminal, computer program products thereof
KR100823644B1 (en) 2007-03-23 2008-04-21 고려대학교 산학협력단 Method and system for in-network processing of skyline queries with filter
CN109858137A (en) * 2019-01-25 2019-06-07 哈尔滨工业大学 It is a kind of based on the complicated maneuvering-vehicle track estimation method that can learn Extended Kalman filter
CN109858137B (en) * 2019-01-25 2022-07-01 哈尔滨工业大学 Complex maneuvering aircraft track estimation method based on learnable extended Kalman filtering
CN111257824A (en) * 2020-01-20 2020-06-09 西安工程大学 Distributed detection method based on diffusion Kalman filtering
CN111257824B (en) * 2020-01-20 2023-03-28 西安工程大学 Distributed detection method based on diffusion Kalman filtering

Also Published As

Publication number Publication date
EP0277231A1 (en) 1988-08-10
JPH01500714A (en) 1989-03-09

Similar Documents

Publication Publication Date Title
US5543804A (en) Navagation apparatus with improved attitude determination
US6205400B1 (en) Vehicle positioning and data integrating method and system thereof
US6516272B2 (en) Positioning and data integrating method and system thereof
US8082099B2 (en) Aircraft navigation using the global positioning system and an attitude and heading reference system
US9404754B2 (en) Autonomous range-only terrain aided navigation
US7248964B2 (en) System and method for using multiple aiding sensors in a deeply integrated navigation system
US6424914B1 (en) Fully-coupled vehicle positioning method and system thereof
US5757316A (en) Attitude determination utilizing an inertial measurement unit and a plurality of satellite transmitters
US6697736B2 (en) Positioning and navigation method and system thereof
US6859727B2 (en) Attitude change kalman filter measurement apparatus and method
US6496778B1 (en) Real-time integrated vehicle positioning method and system with differential GPS
US7579984B2 (en) Ultra-tightly coupled GPS and inertial navigation system for agile platforms
Raol et al. On the orbit determination problem
Kocaman et al. GPS and INS integration with Kalman filtering for direct georeferencing of airborne imagery
WO1988001409A1 (en) Distributed kalman filter
Hayward et al. GPS-based attitude for aircraft
WO2002046699A1 (en) Vehicle positioning and data integrating method and system thereof
Hayward et al. Real time calibration of antenna phase errors for ultra short baseline attitude systems
Petrovska et al. Aircraft precision landing using integrated GPS/INS system
RU2087867C1 (en) Complex inertia-satellite navigation system
RU2428659C2 (en) Method for satellite correction of gyroscopic navigation systems of naval objects
Kaniewski Closed-loop INS/TACAN/ALT positioning system
Napier Integration of satellite and inertial positioning systems
Janschek et al. Satellite autonomous navigation based on image motion analysis
Chin Distributed Kalman filter in an integrated SAHRS/GPS navigation system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1987906692

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1987906692

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1987906692

Country of ref document: EP