Method and apparatus for calculating altitude based on barometric and GPS measurements

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
69Forward
Citations 
0
Petitions 
1
Assignment
First Claim
1. A navigation device comprising:
 a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements;
a processor for providing GPS elevation readings based on GPS measurements, said processor calculating differences between said barometric elevation readings and said GPS elevation readings;
a filter filtering said differences to produce a barometer correction quantity, said filter being adjustable between a short time constant and a long time constant based on a time lapsed since a predetermined event; and
said processor correcting said barometric elevation readings based on said barometer correction quantity.
1 Assignment
0 Petitions
Accused Products
Abstract
A navigation device and a method of calibrating the same are provided. The device includes a barometric pressure sensor and a GPS receiver. A processor calculates barometric and GPS derived altitudes and, based on a difference therebetween, corrects barometer altitude readings that would otherwise include drift errors. The processor uses a filter, such as a state feedback loop, to determine correction factors. The state feedback loop is adjustable to operate with different time constants. An error drift model is empirically determined and used to set the time constant. The time constant may be adjusted during operation based on a relation between the barometer correction quantity and an uncertainty in the vertical component of the GPS derived altitude. The method includes updating and recalibrating an atmospheric pressure model used to derive altitudes from the output of the barometric pressure sensor.
78 Citations
View as Search Results
Using telematics data including position data and vehicle analytics to train drivers to improve efficiency of vehicle use  
Patent #
US 10,223,935 B2
Filed 07/24/2018

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Method and apparatus for matching vehicle ECU programming to current vehicle operating conditions  
Patent #
US 10,241,966 B2
Filed 07/21/2017

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Method and apparatus for matching vehicle ECU programming to current vehicle operating conditions  
Patent #
US 10,289,651 B2
Filed 07/21/2017

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Multisensor monitoring of athletic performance  
Patent #
US 10,022,589 B2
Filed 06/06/2017

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Method and apparatus for changing vehicle behavior based on current vehicle location and zone definitions created by a remote user  
Patent #
US 10,099,706 B2
Filed 11/18/2016

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Multisensor monitoring of athletic performance  
Patent #
US 9,937,381 B2
Filed 07/22/2016

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Method and apparatus for GPS based Zaxis difference parameter computation  
Patent #
US 10,102,096 B2
Filed 07/01/2016

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Altimeter, electronic timepiece, and program  
Patent #
US 10,066,938 B2
Filed 05/04/2016

Current Assignee
Seiko Instruments Incorporated

Sponsoring Entity
Seiko Instruments Incorporated

ALTIMETER, ELECTRONIC TIMEPIECE, AND PROGRAM  
Patent #
US 20160327387A1
Filed 05/04/2016

Current Assignee
Seiko Instruments Incorporated

Sponsoring Entity
Seiko Instruments Incorporated

Vehicle performance based on analysis of drive data  
Patent #
US 9,527,515 B2
Filed 01/25/2016

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Multisensor monitoring of athletic performance  
Patent #
US 9,833,660 B2
Filed 01/08/2016

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Techniques for generating environment and reference data reports for particular environments on behalf of mobile devices  
Patent #
US 9,854,404 B2
Filed 06/22/2015

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Sonar mapping system  
Patent #
US 10,012,731 B2
Filed 04/02/2015

Current Assignee
Johnson Outdoors Incorporated

Sponsoring Entity
Johnson Outdoors Incorporated

Gesture input for entertainment and monitoring devices  
Patent #
US 9,443,380 B2
Filed 06/10/2014

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

FITNESS MONITORING DEVICE WITH ALTIMETER  
Patent #
US 20140278220A1
Filed 05/30/2014

Current Assignee
Fitbit Incorporated

Sponsoring Entity
Fitbit Incorporated

Fitness monitoring device with altimeter  
Patent #
US 9,599,632 B2
Filed 05/30/2014

Current Assignee
Fitbit Incorporated

Sponsoring Entity
Fitbit Incorporated

Automatic incorporation of vehicle data into documents captured at a vehicle using a mobile computing device  
Patent #
US 9,563,869 B2
Filed 05/27/2014

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Multisensor monitoring of athletic performance  
Patent #
US 9,418,509 B2
Filed 04/15/2014

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Multisensor monitoring of athletic performance  
Patent #
US 9,694,239 B2
Filed 04/15/2014

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Using telematics data including position data and vehicle analytics to train drivers to improve efficiency of vehicle use  
Patent #
US 10,056,008 B1
Filed 03/14/2014

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Wide area positioning system  
Patent #
US 9,408,024 B2
Filed 10/30/2013

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Mobile computing device for fleet telematics  
Patent #
US 10,185,455 B2
Filed 10/04/2013

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Wide area positioning system  
Patent #
US 8,874,398 B2
Filed 09/17/2013

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Systems and methods for providing conditional access to transmitted information  
Patent #
US 9,286,490 B2
Filed 09/10/2013

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Systems and methods for providing conditional access to transmitted information  
Patent #
US 9,390,279 B2
Filed 08/26/2013

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Systems and methods for location positioning of user device  
Patent #
US 9,247,392 B2
Filed 06/04/2013

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Performance monitoring systems and methods  
Patent #
US 8,652,010 B2
Filed 03/08/2013

Current Assignee
Technikka Conexion LLC

Sponsoring Entity
Technikka Conexion LLC

Using social networking to improve driver performance based on industry sharing of driver performance data  
Patent #
US 9,412,282 B2
Filed 12/21/2012

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Method and apparatus for 3D accelerometer based slope determination, realtime vehicle mass determination, and vehicle efficiency analysis  
Patent #
US 9,489,280 B2
Filed 12/21/2012

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

METHOD AND APPARATUS FOR GPS BASED SLOPE DETERMINATION, REALTIME VEHICLE MASS DETERMINATION, AND VEHICLE EFFICIENCY ANALYSIS  
Patent #
US 20130166170A1
Filed 12/18/2012

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Method and apparatus for GPS based slope determination, realtime vehicle mass determination, and vehicle efficiency analysis  
Patent #
US 9,280,435 B2
Filed 12/18/2012

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Method and apparatus for GPS based slope determination, realtime vehicle mass determination, and vehicle efficiency analysis  
Patent #
US 9,384,111 B2
Filed 12/18/2012

Current Assignee
Zonar Systems Incorporated

Sponsoring Entity
Zonar Systems Incorporated

Cell organization and transmission schemes in a wide area positioning system (WAPS)  
Patent #
US 9,176,217 B2
Filed 08/02/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Cell organization and transmission schemes in a wide area positioning system (WAPS)  
Patent #
US 9,291,712 B2
Filed 08/02/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Cell organization and transmission schemes in a wide area positioning system (WAPS)  
Patent #
US 9,372,266 B2
Filed 08/02/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Coding in a wide area positioning system (WAPS)  
Patent #
US 8,917,209 B2
Filed 06/28/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Coding in a wide area positioning system (WAPS)  
Patent #
US 9,119,165 B2
Filed 06/28/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Wide area positioning systems and methods  
Patent #
US 9,035,829 B2
Filed 06/27/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Wide area positioning system  
Patent #
US 8,629,803 B2
Filed 03/05/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Wide area positioning system  
Patent #
US 8,643,540 B2
Filed 03/05/2012

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Systems and methods for monitoring athletic performance  
Patent #
US 9,642,415 B2
Filed 02/07/2012

Current Assignee
New Balance Athletics Inc.

Sponsoring Entity
New Balance Athletics Inc.

Multisensor monitoring of athletic performance  
Patent #
US 8,777,815 B2
Filed 12/06/2011

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Wide area positioning system  
Patent #
US 9,057,606 B2
Filed 11/14/2011

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Method And Device For Updating A Target Altitude For An Emergency Descent Of An Aircraft  
Patent #
US 20120022725A1
Filed 07/15/2011

Current Assignee
Airbus Operations

Sponsoring Entity
Airbus Operations

Method and device for updating a target altitude for an emergency descent of an aircraft  
Patent #
US 8,725,322 B2
Filed 07/15/2011

Current Assignee
Airbus Operations

Sponsoring Entity
Airbus Operations

Athletic activity user experience and environment  
Patent #
US 9,940,682 B2
Filed 08/11/2010

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

MultiSensor Monitoring of Athletic Performance  
Patent #
US 20100210421A1
Filed 04/29/2010

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Multisensor monitoring of athletic performance  
Patent #
US 8,086,421 B2
Filed 04/29/2010

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

MultiSensor Monitoring of Athletic Performance  
Patent #
US 20090319230A1
Filed 09/02/2009

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

Multisensor monitoring of athletic performance  
Patent #
US 8,112,251 B2
Filed 09/02/2009

Current Assignee
Nike Inc.

Sponsoring Entity
Nike Inc.

SYSTEM AND METHOD FOR GENERATING AN ALTIMETER MISSET ALERT ON A PRIMARY FLIGHT DISPLAY  
Patent #
US 20090189787A1
Filed 01/30/2008

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Abnormal condition determining system for steering angle sensor  
Patent #
US 20070282558A1
Filed 06/01/2007

Current Assignee
DENSO Corporation

Sponsoring Entity
DENSO Corporation

SELFCALIBRATING BAROMETER  
Patent #
US 20080202234A1
Filed 02/28/2007

Current Assignee
QUARTEX DIVISION OF PRIMEX INC.

Sponsoring Entity


Selfcalibrating barometer  
Patent #
US 7,637,141 B2
Filed 02/28/2007

Current Assignee
QUARTEX DIVISION OF PRIMEX INC.

Sponsoring Entity
QUARTEX DIVISION OF PRIMEX INC.

Relative positioning  
Patent #
US 20100049469A1
Filed 09/19/2006

Current Assignee
Nokia Technologies Oy

Sponsoring Entity
Nokia Technologies Oy

Relative positioning  
Patent #
US 8,612,172 B2
Filed 09/19/2006

Current Assignee
Nokia Technologies Oy

Sponsoring Entity
Nokia Corporation

Atmosphere model  
Patent #
US 20070016346A1
Filed 06/01/2006

Current Assignee
Nokia Technologies Oy

Sponsoring Entity
Nokia Technologies Oy

Atmosphere model  
Patent #
US 7,751,949 B2
Filed 06/01/2006

Current Assignee
Nokia Technologies Oy

Sponsoring Entity
Nokia Corporation

Remote Programmable Reference  
Patent #
US 20070281645A1
Filed 05/31/2006

Current Assignee
The Boeing Co.

Sponsoring Entity
The Boeing Co.

Remote programmable reference  
Patent #
US 8,331,888 B2
Filed 05/31/2006

Current Assignee
The Boeing Co.

Sponsoring Entity
The Boeing Co.

Systems and methods for monitoring an altitude in a flight vehicle  
Patent #
US 20070239326A1
Filed 04/05/2006

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Method and system for computing road grade data  
Patent #
US 20050125146A1
Filed 01/03/2005

Current Assignee
HERE Global B.V.

Sponsoring Entity
HERE Global B.V.

Method and system for computing road grade data  
Patent #
US 7,398,154 B2
Filed 01/03/2005

Current Assignee
HERE Global B.V.

Sponsoring Entity
Navteq North America LLC

Estimating altitude of a communications device  
Patent #
US 20050140548A1
Filed 02/24/2004

Current Assignee
Nokia Solutions and Networks Oy

Sponsoring Entity
Nokia Solutions and Networks Oy

Estimating altitude of a communications device  
Patent #
US 7,019,693 B2
Filed 02/24/2004

Current Assignee
Nokia Solutions and Networks Oy

Sponsoring Entity
Nokia Corporation

Method and system for computing road grade data  
Patent #
US 6,856,897 B1
Filed 09/22/2003

Current Assignee
HERE Global B.V.

Sponsoring Entity
Navteq North America LLC

Method and system for obtaining road grade data  
Patent #
US 7,035,733 B1
Filed 09/22/2003

Current Assignee
HERE Global B.V.

Sponsoring Entity
Navteq North America LLC

System and method for advance warning of severe weather for general aviation aircraft  
Patent #
US 20040246145A1
Filed 06/05/2003

Current Assignee
International Business Machines Corporation

Sponsoring Entity
International Business Machines Corporation

System and method for advance warning of severe weather for general aviation aircraft  
Patent #
US 6,917,297 B2
Filed 06/05/2003

Current Assignee
International Business Machines Corporation

Sponsoring Entity
International Business Machines Corporation

Device and method for calibrating and improving the accuracy of barometric altimeters with GPSderived altitudes  
Patent #
US 6,522,298 B1
Filed 04/12/2001

Current Assignee
Garmin Limited

Sponsoring Entity
Garmin Limited

Passive altimeter employing GPS signals  
Patent #
US 6,256,559 B1
Filed 03/13/2000

Current Assignee
United States Of America As Represented By The Secretary Of The Air Force

Sponsoring Entity
United States Of America As Represented By The Secretary Of The Air Force

Method and apparatus of automatically monitoring aircraft altitude  
Patent #
US 6,259,380 B1
Filed 01/10/2000

Current Assignee
Jensen David D.

Sponsoring Entity
Jensen David D.

Location sensor having a satellite receiver for position determination  
Patent #
US 6,249,246 B1
Filed 07/08/1999

Current Assignee
Robert Bosch GmbH

Sponsoring Entity
Robert Bosch GmbH

Use of desired orientation in automotive navigation equipment  
Patent #
US 6,222,485 B1
Filed 05/20/1999

Current Assignee
Garmin Corporation

Sponsoring Entity
Garmin Corporation

Enhanced integrated positioning method and system thereof for vehicle  
Patent #
US 6,246,960 B1
Filed 03/26/1999

Current Assignee
American GNC Corporation

Sponsoring Entity
Lin ChingFang

Method and apparatus for determining altitude  
Patent #
US 6,216,064 B1
Filed 02/23/1999

Current Assignee
Alliedsignal Inc.

Sponsoring Entity
Alliedsignal Inc.

Navigation device and method for selectively displaying thoroughfare names  
Patent #
US 6,188,956 B1
Filed 12/30/1998

Current Assignee
Garmin Corporation

Sponsoring Entity
Garmin Corporation

Inertially augmented GPS landing system  
Patent #
US 6,178,363 B1
Filed 12/22/1998

Current Assignee
The Boeing Co.

Sponsoring Entity
The Boeing Co.

36 Claims
 1. A navigation device comprising:
 a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements;
a processor for providing GPS elevation readings based on GPS measurements, said processor calculating differences between said barometric elevation readings and said GPS elevation readings;
a filter filtering said differences to produce a barometer correction quantity, said filter being adjustable between a short time constant and a long time constant based on a time lapsed since a predetermined event; and
said processor correcting said barometric elevation readings based on said barometer correction quantity.  View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
 a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements;
 9. A navigation device comprising:
 a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements;
a processor for providing GPS elevation readings based on GPS measurements, said processor calculating differences between said barometric elevation readings and said GPS elevation readings;
a filter filtering said differences to produce a barometer correction quantity, said filter being adjustable between a short time constant and a long time constant;
said processor correcting said barometric elevation readings based on said barometer correction quality; and
a statistical model of barometric altimeter errors represented expected drift in the barometer elevation reading over a time lapsed since the device was last turned on, said filter adjusting filter characteristics between high and low gain based on said statistical model.
 a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements;
 10. A navigation device comprising:
 a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements;
a processor for providing GPS elevation readings based on GPS measurements, said processor calculating differences between said barometric elevation readings and said GPS elevation readings;
a filter filtering said differences to produce a barometer correction quality, said filter being adjustable between a short time constant and a long time constant;
said processor correcting said barometric elevation readings based on said barometer correction quality; and
a statistical model of anticipated errors in said barometric elevation readings, said filter using low gain when said statistical model indicates that an anticipated error is small, said filter using high gain when said statistical model indicates that an anticipated error is large.
 a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements;
 11. In a navigation device, a method for estimating altitude based on measurements from a barometric sensor and measurements from a GPS receiver, comprising:
 obtaining a first elevation based on barometric pressure measurements;
obtaining a second elevation based on GPS coordinate information;
calculating a difference between said first and second elevations;
utilizing a state feedback loop to drive said difference between said first and second elevations to zero; and
calculating an estimated altitude based on an output of said state feedback loop and said first elevation.  View Dependent Claims (12, 13, 14, 15)
 obtaining a first elevation based on barometric pressure measurements;
 16. A method for estimating altitude based on GPS and barometer measurements, comprising:
 upon start up, determining a time lapse since last calibration of barometric altitude;
obtaining from a barometer drift model, an expected error in barometer readings based on the time lapse since last calibration; and
obtaining an estimated altitude based on the expected error.  View Dependent Claims (17)
 upon start up, determining a time lapse since last calibration of barometric altitude;
 18. A method for estimating altitude based on GPS and barometric measurements, comprising:
 deriving a barometric altitude from a barometer pressure measurement and an atmospheric pressure model;
deriving a GPS altitude from GPS information;
correcting said barometric altitude based on a coarse calibration of the atmospheric pressure model to obtain a coarse estimated barometric altitude;
after obtaining the coarse estimated altitude, correcting the barometric altitude based on a difference between the course estimated barometric and GPS altitudes to obtain a fine estimated altitude; and
adjusting an initial base pressure of the atmospheric pressure model toward a standard pressure value based on an amount of uncertainty in the barometric altitude at least one of the barometric attitude and GPS altitude.  View Dependent Claims (19, 20)
 deriving a barometric altitude from a barometer pressure measurement and an atmospheric pressure model;
 21. A method for correcting a barometer altitude reading of a navigation device, comprising:
 deriving a barometerbased altitude;
calculating a GPSbased altitude;
determining an expected drift error representing an amount of drift anticipated in said barometerbased altitude based on a model of drift error;
calculating a correction quantity based on convergence of a baroGPS relation between said barometerbased and GPSbased altitudes toward a steady state value;
adjusting a rate of said convergence toward said steady state value based on said expected drift error; and
correcting a barometer altitude reading based on said correction quantity.  View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
 deriving a barometerbased altitude;
 35. A method for correcting a barometric altitude reading of a navigation device, comprising:
 measuring barometric pressure;
calculating barometric altitude from an atmospheric pressure model and said barometric pressure;
recalibrating said atmospheric pressure model by changing a model base pressure as a function of said barometric pressure and said barometric altitude; and
correcting said barometric altitude based on said recalibrated atmospheric pressure model.  View Dependent Claims (36)
 measuring barometric pressure;
1 Specification
This application is related to, and claims priority from, Provisional Application No. 60/289,722, filed May 9, 2001, titled “Device and Method for Calibrating and Improving the Accuracy of Barometric Altimeters with GPSDerived Altitudes”, the complete subject matter of which is incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTIONAt least one embodiment of the present invention generally relates to the use of a filter to obtain a correction quantity to correct barometric altimeter readings based on GPS and barometric measurements. At least one embodiment of the present invention generally relates to adjusting the filter between multiple filter gains to account for the rate at which local pressure factors change to correct for errors introduced into the barometric altimeter readings. At least one embodiment of the present invention generally relates to barometer correction based on statistical models that predict drift in the barometer output. At least one embodiment relates to a method for calibrating an atmospheric model used to correct barometric altimeter readings.
In general, altitude measurements are made using a barometric altimeter that senses local atmospheric pressure and, based on a standard model of atmospheric pressures above MSL, converts each pressure measurement to an altitude. Local atmospheric pressure at any given altitude varies widely due to whether, solar heating and the like. In order to afford accurate altitude measurements, barometric altimeters are calibrated frequently to correct for atmospheric pressure variations.
An alternative technique for determining altitude is based on measurements from receivers within the Global Positioning System (GPS). The GPS system is a network of satellites used to calculate the location of the GPS receivers. The GPS satellites are distributed among six orbits inclined from the equator with consecutive satellite orbits being separated across the equator. The satellites in each orbit have approximately 12hour orbits and are spaced in order that a number of satellites are visible to a user at any time.
A range measurement is obtained by a GPS receiver from each satellite as well as the location of the satellite at the time of the measurement. Each range measurement is obtained by measuring propagation time of a signal from the satellite to the GPS receiver. Generally, at least four GPS satellite ranges are used to solve for the GPS receiver location, including the (x,y,z) location coordinates of the GPS receiver and the clock bias of an oscillator in the GPS receiver relative to the GPS system time.
The altitude represents the height of a user above sea level, where mean sea level (MSL) altitude is found by converting the x,y,z coordinate position into a height above a reference ellipsoid defined by the WGS84 (World Geodetic Survey) Model. The MSL altitude is the difference between the MSL height and the local height of the reference ellipsoid.
In the past, the vertical measurements performed by a GPS system have been found to be less accurate than desired with respect to altitude or horizontal measurements. The inaccuracies attributed to altitude measurements in the GPS system are due in part to the fact that the GPS satellites are constrained to be above the horizon in order for signal reception to occur. In this geometry, with all of the visible satellites above the horizon, it is more difficult to measure the vertical or altitude component of a users location since no satellites are visible below the user. The GPS receivers, when measuring physical coordinates, take into consideration satellite geometry (dilution of precision) and estimates of other satellite related errors (URA).
In practice, a barometric altimeter typically provides a more stable measurement of altitude than a GPS system over short periods of time. However, over longer periods of time, pressure variations may be of such magnitude that the barometric altimeter measurement becomes less accurate than GPS derived altimeter measurements. The altitude derived from an uncalibrated barometric altimeter is typically in error by several tens of meters due to normal atmospheric pressure fluctuations, weather fronts and other sources. However, the errors attributed to normal atmospheric pressure fluctuations exhibit bias like characteristics that vary slowly with time. Slow variations in such bias errors cause the barometric altimeter to be less accurate for readings spanning a longer period of time. Accordingly, while an altitude determination derived from barometric pressure may be meaningfully accurate over a short time frame following calibration, over a longer time frame after calibration, the accuracy of such a barometer derived altitude becomes less certain. Conversely, because GPS derived altitudes suffer from different complementary errors, over short periods of time, GPS altitude measurements are subject to large fluctuation and thus more error than barometric altimeter measurements.
U.S. Pat. No. 6,054,477 (McBurney et al.) discloses a method for combining a GPS unit and a barometric pressure sensor, in which an altitude sensor is used to augment availability of GPS location fixes. McBurney et al. provides GPSassisted determination of location coordinates of a mobile user or selected position on or adjacent to the earth's surface. Elevation readings from an altimeter or barometer are integrated with readings of the GPSdetermined elevation for a location, using Kalman filter techniques, minimum least square techniques, or using comparison of statistically defined parameters associated with the altimeter and GPS variables. The resulting elevation coordinate may be a statistical or filter blend of the altimeter value and a GPSdetermined value for the elevation coordinate.
The McBurney et al. method however, fails to recognize that utilizing the difference between the GPS derived altitude and a barometric altimeter altitude as a term in calibrating the barometric altimeter, will common mode out any dynamic changes due to movement of both the barometric altimeter and GPS receiver at the same time. As a result, the McBurney et al. approach requires that the user not change altitude during calibration periods. Hence, during the calibration operation, a user of the McBurney et al. method must remain at a single altitude, preferably stationary. In fact, McBurney et al. describes a navigation mode that is separate and discrete from a calibration mode.
The functional separation of the calibration mode and the navigation mode is a common limitation of conventional systems. Heretofore, a barometric altimeter was calibratable using GPS derived altitude information only when the user was stationary, referred to as a “calibration mode”. It is only after completing the “calibration mode” that the conventional systems enter the “navigation mode.” Another deficiency of conventional systems is the lack of a method to statistically determined when and whether calibration is needed. Instead, conventional systems perform calibration at startup and when the user manually directs the device to perform a calibration operation.
A need remains for an improved navigation device capable of calibration a throughout operation without separating navigation and calibration functions. Embodiments of the present invention meet this need and other problems experienced theretofore that will become apparent from the above and following description.
SUMMARY OF THE INVENTIONIn accordance with at least one embodiment of the present convention, a navigation device is provided having a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements. A processor is provided for obtaining GPS elevation readings based on GPS measurements. The processor calculates differences between the barometric elevation readings and the GPS elevation readings. A filter is also provided for filtering the differences to produce a barometric altitude correction quantity, where the filter gain is adjustable to correct for error caused by changing factors that vary differently over short and long periods of time. The processor corrects the barometric elevation readings based on the barometric altitude correction quantity generated by the filter.
In accordance with one alternative embodiment, a statistical model may be provided modeling barometric altimeter drift as a function of time with the filter adjusting the filter characteristics based the anticipated drift in the barometric reading. The filter may perform the filtering operations based upon one of multiple filter gain parameters. When initially turned on, the filter gain parameter may be chosen based on an elapsed time since the barometric altimeter was last calibrated. Alternatively, the filter may use a first set of filter gain parameters to remove, from the baroGPS difference, effects due to shortterm fluctuation and a second set of filter gain parameters to remove, from the baroGPS difference, effects due to longterm fluctuations in conditions.
In at least one embodiment, the processor and filter calibrate the barometric altimeter while the navigation device is in motion and while the elevation changes. The processor and filter may continuously calculate the barometric altimeter correction quantity throughout operation while in a navigation mode.
Optionally, the barometric altimeter may calculate barometric elevation readings based on an atmosphere model correlating barometric pressure readings to particular elevations. The processor may update the atmospheric model continuously throughout operation based on the barometric altimeter correction quantity. Alternatively, the processor may adjust the atmospheric model at least once during operation by recalculating the elevation associated with a particular barometric pressure measurement based on the difference between the barometric and GPS elevation readings associated therewith.
In accordance with at least one embodiment a method is provided for calculating altitude based on measurements from a barometric sensor and measurements from the GPS receiver. The method includes obtaining a first elevation based on barometric pressure measurements and a second elevation based on GPS coordinate information. The difference is calculated between the first andsecond elevations. A state feedback loop is utilized to drive the difference between the first and second elevations to a value of zero. A corrected altitude is calculated based on an output of the state feedback loop and the first elevation.
Optionally, the method may include computing at least two gain values defining a rate at which the state feedback loop converges to zero. The method may further include using one of the at least two gain values in the feedback loop. Optionally, a gain value may be selected from a set of multiple gain values, where the selected gain value controls a rate at which the state feedback loop converges to zero. Optionally, the state feedback loop may continuously update the altitude based on the first elevation and the output of the state feedback loop. Alternatively, the state feedback loop may update, at discrete intervals, not continuously, the altitude based on the first elevation and the output of the state feedback loop.
BRIEF DESCRIPTION OF THE DRAWINGSThe foregoing summary, as well as the following detailed description of the preferred embodiments of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present invention, there is shown in the drawings, embodiments that are presently preferred. It should be understood, however, that the present invention is not limited to the precise arrangements and instrumentality shown in the attached drawings.
<FGREF>FIG. 1</FGREF> illustrates a navigation device formed in accordance with at least one embodiment of the present invention.
<FGREF>FIG. 2</FGREF> illustrates a block diagram of the internal components of a navigation device formed in accordance with an embodiment of the present invention.
<FGREF>FIG. 3</FGREF> illustrates a graphical representation over time of a user elevation trajectory, and associated GPS elevation readings and barometric altimeter readings.
<FGREF>FIG. 4</FGREF> illustrates a processing sequence carried out in accordance with at least one embodiment of the present invention.
<FGREF>FIG. 5</FGREF> illustrates a flow chart setting forth a processing sequence carried out in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION<FGREF>FIG. 1</FGREF> illustrates a navigation device 10 that incorporates an embodiment of the present invention. Navigation device 10 includes a housing 12, a display 14, and an input 16, such as preferably a keypad input. Optionally, the input 16 may use a touchscreen. The housing 12 is preferably sized to be a portable unit, although the invention is not limited to portable units.
<FGREF>FIG. 2</FGREF> illustrates the navigation device 10 in a block format. The navigation device 10 includes a processor 18 that is connected to memory 20, display 14, input 16 and a barometric pressure sensor 22. Additionally, a GPS receiver 24 is connected to the processor 18 to provide GPS data to the processor 18. A filter 19 may be part of or separate from the processor 18. The filter 19 filters a difference between the GPS and barometer derived altitudes. An antenna 26 is connected to the GPS receiver 24 to receive GPS signals. A power source, such as a battery, battery pack, AC/DC adapter and the like are provided to supply power to the various electronic components. Additionally, navigation device 10 may include a port, such as a serial dataport, for connecting the device 10 to a remote processor or personal computer for uploading information (such as mapped information) to the device 10, or for downloading information (such as route information) to a remote processor or personal computer. Alternatively, the device 10 may include wireless communication capabilities such that data is received wirelessly from a remote site. As to be understood and appreciated, various electronic components are housed within the housing 12, such that display 14 and keypad input 16 are accessible and exterior of the housing.
The barometric pressure sensor 22 obtains barometric pressure readings periodically, such as every second and the like.
The altimeter sensor outputs local ambient pressure based on remaining atmosphere above the sensor. For example, at sea level, the average pressure is 29.92 inches of mercury (1013.25 millibars). At an elevation of 1000 feet, the average pressure is 977 millibars. A standard model as maintained by the ICAO, a standards organization, of the atmosphere equates certain altitudes with fixed pressures. The model models a column of atmosphere. The atmospheric model is based on certain assumptions about the atmosphere. For example, the standard atmospheric model assumes that the atmosphere is entirely calm with no wind.
The GPS receiver 24 and antenna 26 receive, from multiple satellites, GPS data that is processed by the processor 18 to provide GPS coordinate information periodically, such as every second and the like. The memory 20 stores, among other things, models, including an atmospheric pressure model 62 and a barometer drift error model 60. The barometer drift error model 60 defines a statistical relation between an anticipation drift in a barometric altimeter reading based upon an amount of time since the navigation device 10 was last calibrated. The atmospheric pressure model 62 is based on a standard atmospheric pressure model (described below in more detail) which is calibrated throughout operation by the processor 18 in order to update the atmospheric pressure model 62 from a standard model for a particular user's environment.
<FGREF>FIG. 3</FGREF> illustrates a graph having a horizontal axis representing time and a vertical axis representing altitude. The graph illustrates a user's actual elevation trajectory 50, GPS elevation readings 52, and barometric altimeter readings 54 over a period of time. By way of example only, an exemplary elevation profile of a user using navigation device 10 is represented by the elevation trajectory 50 as the user travels over terrain. The GPS elevation readings 52 vary over time as the user moves. As shown in <FGREF>FIG. 3</FGREF>, the GPS elevation reading 52 fluctuates over short periods of time 57. At any instant in time, the GPS elevation error 56 differs slight from the actual elevation trajectory 50. As also shown in <FGREF>FIG. 3</FGREF>, the barometric altimeter reading 54 differs from the elevation trajectory 50 by a barometric elevation error 58. The barometric elevation error 58 changes, over short periods of time, by an amount ΔB<HIL><SB>error </SB></HIL>less than the amount ΔGPS<HIL><SB>error </SB></HIL>of change over the same short period time by the GPS elevation error 56. Hence, over short periods of time, the change ΔB<HIL><SB>error </SB></HIL>barometric altimeter reading 54 varies from the actual elevation trajectory 50 by an amount far less significant than the variation ΔGPS<HIL><SB>error </SB></HIL>in the GPS elevation reading 52.
Before describing the operation of any particular embodiments, a general overview is provided to illustrate, inter alia, that altitude may be calibrated and corrected in accordance with certain embodiments while the device 10 is in motion and while the device 10 continues to provide navigation information. The barometric altitude reading H<HIL><SB>B</SB></HIL>(t) at time t may be modeled by equation (1).
<F>H<HIL><SB>B</SB></HIL>(t)=;H<HIL><SB>τ</SB></HIL>(t)+;B<HIL><SB>B</SB></HIL>(t)+;Q<HIL><SB>B</SB></HIL>(t) (1)</F>
The term H<HIL><SB>B</SB></HIL>(z) is the barometric altitude reading 54 derived from a pressure reading obtained at time t, the term H<HIL><SB>τ</SB></HIL>(t) is the true altitude at time (t) along the user elevation trajectory 50 in MSL, the term B<HIL><SB>B</SB></HIL>(t)is a slowly varying bias in the barometer reading (barobias term), and the term Q<HIL><SB>B</SB></HIL>(t) is a zero mean Gaussian noise term of variance σ<HIL><SB>Q</SB></HIL><HIL><SP>2</SP></HIL>. Equation (1) shows that barometric altitude reading H<HIL><SB>B</SB></HIL>(t) is the sum of the true altitude, plus a barobias term B<HIL><SB>B</SB></HIL>(t) that is due to the pressure variation of local pressure from the standard atmospheric model, and a noise term that is due to noise of the sensor, A/D, quantization, and other sources. In order to calibrate the barometric altimeter reading, the barobias term B<HIL><SB>B</SB></HIL>(t) must be determined. The barobias term B<HIL><SB>B</SB></HIL>(t) constitutes the majority of the error found in the barometer elevation error 58.
The GPS altitude reading H<HIL><SB>G</SB></HIL>(t) obtained at time (t) may be modeled by equation (2).
<F>H<HIL><SB>G</SB></HIL>(t)=;H<HIL><SB>τ</SB></HIL>(t)+;B<HIL><SB>G</SB></HIL>(t)+;C<HIL><SB>G</SB></HIL>(t) (2)</F>
The term H<HIL><SB>G</SB></HIL>(t) is the GPS altitude reading 52 (in MSL), the term B<HIL><SB>G</SB></HIL>(t) is a slowly varying GPSbias term due to ionospheric errors, ephemeris errors, satellite clock errors, and other factors, and the term C<HIL><SB>G</SB></HIL>(t) is a zero mean correlated noise term. The zero mean correlated GPS noise C<HIL><SB>G</SB></HIL>(t) has a much shorter time constant than either the GPSbias term B<HIL><SB>G</SB></HIL>(t) or the barobias term B<HIL><SB>B</SB></HIL>(t). The variance of the GPS noise C<HIL><SB>G</SB></HIL>(t) is σ<HIL><SB>V,GPS</SB></HIL><HIL><SP>2 </SP></HIL>and is an estimate of the errors associated with the GPS altitude reading 52. When Selective Availability (correlated error introduced into the satellite signals by the Government Agency controlling the satellites) is in operation, GPS noise C<HIL><SB>G</SB></HIL>(t) constitutes the largest contributor to GPS altitude error. The GPSbias B<HIL><SB>G</SB></HIL>(t) term is typically much smaller in magnitude than the barobias B<HIL><SB>B</SB></HIL>(t) term.
When determining an amount of error in a single sample of the barometric altitude, the processor 18 corrects a discrete barometer altitude reading based, in part, on a corresponding discrete GPS altitude reading. In particular, the processor 18 corrects the barometer altitude reading based on a difference between the barometer altitude reading, hereafter referred to as the baroGPS difference ΔH(t). For example, the processor 18 may calculate the baroGPS difference ΔH(t) by combining equations (1) and (2) at a particular point in time. The baroGPS difference ΔH(t) is set forth in equation (3).
<F>H<HIL><SB>B</SB></HIL>(t)−H<HIL><SB>G</SB></HIL>(t)=;ΔH(t)=;B<HIL><SB>B</SB></HIL>(t)+;Q<HIL><SB>B</SB></HIL>(t)−B<HIL><SB>G</SB></HIL>(t)−C<HIL><SB>G</SB></HIL>(t) (3)</F>
Taking the expected or filtered value E{; }; of the baroGPS difference ΔH(t) yields equation (4).
<F>E{;ΔH(t)};=;B<HIL><SB>B</SB></HIL>(t)−B<HIL><SB>G</SB></HIL>(t) (4)</F>
As shown in equation (4), the expected value E{; }; of the baroGPS difference ΔH(t) can be rewritten without the baro noise Q<HIL><SB>B</SB></HIL>(t) and GPS noise C<HIL><SB>G</SB></HIL>(t). The expected or filtered values E{; }; of the noise terms Q<HIL><SB>B</SB></HIL>(t) and C<HIL><SB>G</SB></HIL>(t) are zero since both terms Q<HIL><SB>B</SB></HIL>(t) and C<HIL><SB>G</SB></HIL>(t) are zero mean noise processes. The baroGPS difference ΔH(t) is a correction factor that may be used to calibrate the barometric altimeter reading.
Because Q<HIL><SB>B</SB></HIL>(t) and C<HIL><SB>G</SB></HIL>(t) are zero mean random processes, the error involved in estimating the barobias term B<HIL><SB>B</SB></HIL>(t) can be reduced by averaging the baroGPS difference ΔH(t) over many pressure and GPS samples. The GPS bias component B<HIL><SB>G</SB></HIL>(t) of equation (3) may be ignored since it is typically small relative to the barobias component B<HIL><SB>B</SB></HIL>(t). When estimating a random bias in the presence of additive noise, the variance of the estimate is reduced by the number of samples used to form the estimate provided that the additive noise is uncorrelated. The baro noise Q<HIL><SB>B</SB></HIL>(t) is indeed uncorrelated Gaussian noise. However, the GPS noise C<HIL><SB>G</SB></HIL>(t) is correlated noise with a correlation time of τ<HIL><SB>C</SB></HIL>. By way of example only, the GPS noise C<HIL><SB>G</SB></HIL>(t) may be correlated to GPS noise C<HIL><SB>G</SB></HIL>(tk) in prior GPS measurements, such as at time (tk). Correlations may be due to factors such as satellite geometry, ionospheric error and the like. Therefore, when expected values are obtained (e.g., filtering is carried out) for a time period greater than the correlation time τ<HIL><SB>C</SB></HIL>, the device 10 obtains appreciable reduction in the variance of the estimate of the baroGPS difference ΔH(t) due to GPS noise C<HIL><SB>G</SB></HIL>(t). By way of example only, long term averaging may be accomplished via a filter to obtain expected values. The processor 18 may perform filtering upon a series of samples for the GPS and barometer altitude readings. The filtering is based on one of multiple gain parameters defining different time constants.
In one embodiment, the processor 18 uses a state feedback loop to form a filter that drives the difference between the barometric altitude reading and the GPS altitude reading ΔH(t) to zero. The output of the filter (the feedback term) is then, by definition, equal to −ΔH(t). The quantity −ΔH(t) represented the amount needed to correct the barometric altimeter reading. The processor 18 may adjust the gains of the filter to average out zero mean noise induced variations in baroGPS difference ΔH(t), such as the GPS noise C<HIL><SB>G</SB></HIL>(t) and baro noise Q<HIL><SB>B</SB></HIL>(t). In this manner, the baroGPS difference ΔH(t) preserves, and accounts for, the longterm stability and accuracy of the GPS altitude reading and the shortterm stability and accuracy of the barometric altitude reading.
The state feedback loop may be constructed where a state vector X is used having first and second state terms X<HIL><SB>1 </SB></HIL>and X<HIL><SB>2</SB></HIL>. The first state term X<HIL><SB>1 </SB></HIL>equals ΔH(t<HIL><SB>k</SB></HIL>), and thus X<HIL><SB>1 </SB></HIL>represents the difference between the barometer and GPS derived altitudes at time t<HIL><SB>k</SB></HIL>. The baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>) is also considered the vertical error at sample time t<HIL><SB>k</SB></HIL>. The second state term X<HIL><SB>2 </SB></HIL>equals an integrated vertical error, or, in other words, a total vertical error over a period of time spanning several sample times t<HIL><SB>k</SB></HIL>. The state feedback loop may be described through state space equations that are written below in equations (5) and (6).
<CWU><MATHUS><MATHEMATICA></MATHEMATICA><MATHML><math><mtable><mtr><mtd><mrow><mover><mi>X</mi><mo>.</mo></mover><mo>=</mo><mrow><mrow><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow><mo>;</mo><mstyle><mtext> </mtext></mstyle><mo>;</mo><mi>X</mi></mrow><mo>+</mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow><mo>;</mo><mstyle><mtext> </mtext></mstyle><mo>;</mo><mi>U</mi></mrow><mo>+</mo><mrow><mo>[</mo><mtable><mtr><mtd><mrow><mi>Δ</mi><mo>;</mo><mstyle><mtext> </mtext></mstyle><mo>;</mo><mi>H</mi><mo>;</mo><mstyle><mtext> </mtext></mstyle><mo>;</mo><mrow><mo>(</mo><msub><mi>t</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></MATHML><EMI></EMI></MATHUS></CWU> U=;−[;C<HIL><SB>1</SB></HIL>C<HIL><SB>2</SB></HIL>];X (6)
The vector {dot over (X)} represents the change in the vector X between times t<HIL><SB>k </SB></HIL>and t<HIL><SB>k−1</SB></HIL>. The parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2 </SB></HIL>represent gain parameters used to adjust the time constant of the feedback loop. For example, parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2 </SB></HIL>may be set to provide a long time constant or may be set to provide a short time constant for the filtering operation of the feedback loop. Combining equations (1) and (2), and ignoring the external driving term in equation (5) provided by baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>) yields equation. (7). <CWU><MATHUS><MATHEMATICA></MATHEMATICA><MATHML><math><mtable><mtr><mtd><mrow><mover><mi>X</mi><mo>.</mo></mover><mo>=</mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><mrow><mo></mo><msub><mi>C</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mo></mo><msub><mi>C</mi><mn>2</mn></msub></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow><mo>;</mo><mstyle><mtext> </mtext></mstyle><mo>;</mo><mi>X</mi></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></MATHML><EMI></EMI></MATHUS></CWU>
Equation (8) below sets forth the characteristic equation for equation (7).
<F>α(s)=;s<HIL><SP>2</SP></HIL>−C<HIL><SB>1</SB></HIL>s−C<HIL><SB>2</SB></HIL> (8)</F>
It may be preferable that the system described in equation (7) have a characteristic equation described by equation (9).
<F>α<HIL><SB>D</SB></HIL>(s)=;s<HIL><SP>2</SP></HIL>+;2ω<HIL><SB>0</SB></HIL>s+;ω<HIL><SB>0</SB></HIL><HIL><SP>2</SP></HIL> (9)</F>
Equation (9) has two poles at [;ω<HIL><SB>o</SB></HIL>,ω<HIL><SB>o</SB></HIL>];where ω<HIL><SB>0</SB></HIL>=;1/τ, and τ is referred to as the time constant of the solutions. Equating coefficients between equations (8) and (9), enables the gain parameters C1 and C2 to be computed as follows in equations (10a) and (10b). <CWU><MATHUS><MATHEMATICA></MATHEMATICA><MATHML><math><mtable><mtr><mtd><mrow><msub><mi>C</mi><mn>1</mn></msub><mo>=</mo><mrow><mrow><mrow><mo></mo><mn>2</mn></mrow><mo>;</mo><mstyle><mtext> </mtext></mstyle><mo>;</mo><msub><mi>ω</mi><mn>0</mn></msub></mrow><mo>=</mo><mrow><mo></mo><mfrac><mn>2</mn><mi>τ</mi></mfrac></mrow></mrow></mrow></mtd><mtd><mstyle><mtext>(10a)</mtext></mstyle></mtd></mtr><mtr><mtd><mrow><msub><mi>C</mi><mn>2</mn></msub><mo>=</mo><mrow><mrow><mo></mo><msubsup><mi>ω</mi><mn>0</mn><mn>2</mn></msubsup></mrow><mo>=</mo><mrow><mo></mo><msup><mrow><mo>(</mo><mfrac><mn>1</mn><mi>τ</mi></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow></mrow></mtd><mtd><mstyle><mtext>(10b)</mtext></mstyle></mtd></mtr></mtable></math></MATHML><EMI></EMI></MATHUS></CWU>
When a large value for the time constant τ is selected by the processor 18, the feedback loop operates as a low pass filter. As a low pass filter, the feedback loop filters out the high frequency components of in the baroGPS difference ΔH(t) such as baro noise Q<HIL><SB>B</SB></HIL>(t) and GPS noise C<HIL><SB>G</SB></HIL>(t). In order to filter out the GPS noise C<HIL><SB>G</SB></HIL>(t), it may be desirable for the time constant to exceed the correlation time of the GPS noise C<HIL><SB>G</SB></HIL>(t) τ>τ<HIL><SB>C</SB></HIL>, where the time τ<HIL><SB>c </SB></HIL>represents the correlation time constant associated with GPS noise C<HIL><SB>G</SB></HIL>(t). Setting the filter time constant τ greater than the GPS noise correlation time constant τ<HIL><SB>c </SB></HIL>ensures that the components attributed to GPS noise C<HIL><SB>G</SB></HIL>(t) are filtered out. However, when using a large value for the filter time constant τ, the feedback loop drives the system to steady state (convergence) more slowly. Stated another way, the feedback loop moves slowly toward an accurate estimate of the baroGPS difference ΔH(t), from which the effects of GPS noise C<HIL><SB>G</SB></HIL>(t) and baro noise Q<HIL><SB>B</SB></HIL>(t) have been removed. Alternatively, when a smaller value is used for the filter time constant τ, the feedback loop converges more quickly to an estimate of the baroGPS difference ΔH(t). However, when a smaller filter time constant is used, the estimated baroGPS difference ΔH(t) is less accurate since the feedback loop performs less filtering of the GPS noise C<HIL><SB>G</SB></HIL>(t) and baro noise Q<HIL><SB>B</SB></HIL>(t).
In one embodiment of the present invention, the processor 18 implements high gain parameters (small filter time constant τ) at one point in time and low gain parameters (large filter time constant τ) at a later (or earlier) point in time. The processor 18 switches between the high and low gain parameters based on certain conditions as explained below. At steady state (convergence) the change between two consecutive outputs of the feedback loop equals zero, X<HIL><SB>1</SB></HIL>=;0, and equation (11) is true.
<F>−C<HIL><SB>1</SB></HIL>X<HIL><SB>1</SB></HIL>−C<HIL><SB>2</SB></HIL>X<HIL><SB>2</SB></HIL>+;ΔH(t<HIL><SB>k</SB></HIL>) (11)</F>
Consequently, the output of the state feedback loop is equal to the negative of the driving term as shown in equation (12).
<F>U=;−ΔH(t<HIL><SB>k</SB></HIL>) (12)</F>
Note that at steady state, due to the averaging effect of the filter gain parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2</SB></HIL>, the baro noise Q<HIL><SB>B</SB></HIL>(t) and GPS noise C<HIL><SB>G</SB></HIL>(t) are essentially averaged to near their expected value which is zero. Thus, the output of the state feedback loop equals the barometric altimeter bias term (again, B<HIL><SB>G</SB></HIL>(t) is neglected since it is small), which is shown in equation (13).
<F>U=;−B<HIL><SB>B</SB></HIL>(t<HIL><SB>k</SB></HIL>) (13)</F>
By adding the output of the feedback loop U to equation (1), the processor 18 arrives at a desired barometer altitude reading H<HIL><SB>B,cal(tk)</SB></HIL>, which is shown in equation (14).
<F>H<HIL><SB>B,cal</SB></HIL>(t<HIL><SB>k</SB></HIL>)=;H<HIL><SB>B</SB></HIL>(t<HIL><SB>k</SB></HIL>)+;U(t<HIL><SB>k</SB></HIL>) (14)</F>
Note that the correction term may be continuously updated and applied to correct the output of the barometric altimeter, or may be applied at discrete intervals.
The barometric altitude reading 54 may drift significantly between power cycles or times at which the navigation device 10 is turned on. When the device 10 is initially turned on, the processor 18 computes an initial estimate of the baroGPS difference ΔH(t) quickly in order to minimize the amount of time the barometric altitude reading 54 is in error. In order to arrive at a quick estimate for the baroGPS difference ΔH(t), the processor 18 initially may use high gain values for parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2</SB></HIL>. However, less of the GPS noise C<HIL><SB>G</SB></HIL>(t) and baro noise Q<HIL><SB>B</SB></HIL>(t) are removed by the filtering effect of the feedback loop when set with high gain parameters.
Once the feedback loop reaches a desired degree of convergence, the processor 18 calibrates the barometric altimeter by adjusting the atmospheric pressure model 62 (as described below) to remove a majority of the barometer drift error, then reinitialize the feedback loop with low gain parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2 </SB></HIL>to estimate a newer estimate of the baroGPS difference ΔH(t) which will be much smaller in magnitude. The new estimate of the baroGPS difference ΔH(t) is then used to calibrate the barometer altimeter reading via equation (14). The two step approach of using two sets of filter gains/time constants and calibrating the atmospheric pressure model 62 yields the greatest accuracy when the unit is subject to very large amounts of elevation change during a power cycle (e.g., between times in which the device 10 is turned on).
<FGREF>FIG. 4</FGREF> illustrates a processing sequence carried out in accordance with at least one embodiment of the present invention to correct barometric altimeter reading 54. At step 100, the device 10 is turned on. At step 110, the processor 18 determines the amount of time that has lapsed since the device 10 was last turned on and/or since the last calibration operation was performed of the barometric altimeter reading 54. At step 120, the processor 18 accesses a drift error model 60 stored in memory 20 in order to determine an expected amount of error in the barometric altimeter reading 54. The barometric altimeter reading 54 is read from the drift error model 60 at step 120. For example, if the processor 18 determines at step 110 that the device 10 has not been calibrated for two hours, the processor 18 accesses the drift error model 60 at step 120 to determine the maximum potential variation in barometer derived altitude over a twohour period, such as for example ±100 feet. The variation is considered the expected error (E<HIL><SB>BA</SB></HIL>).
The error model 60 may be generated based on empirical studies performed over an extended period of time, during which the barometric pressure is repeatedly measured at a fixed coordinate location and altitude. The measured barometric pressures may be compared with one another to determine a range over which barometric pressure may vary within discrete periods of time. By way of example only, barometric pressure readings may be measured in Denver every minute, 24 hours a day for a year. The barometric pressure readings may then be statistically compared to determine the range over which the barometric pressure and altitude derived therefrom varies during the prior year over every thirty minute period, onehour period, one day period, one week period, and the like. Over the course of the year, it may be determined that barometer derived altitude may vary in a thirty minute period ±20 feet. Similarly, it may be determined that the barometer derived altitude may vary in an hour ±40 feet, over a week ±100 feet, and the like. This information is then stored in the drift error model 60. Alternatively, the drift error model 60 may be derived from weather patterns known for a particular geographic area or multiple geographic locations and altitudes.
Once the expected error E<HIL><SB>BA </SB></HIL>is identified at step 120 from the drift error model 60, control passes to step 125, at which the processor 18 determines whether the expected error E<HIL><SB>BA </SB></HIL>in the barometer derived altitude is less than a predetermined threshold N1. The threshold N1 is used to distinguish whether a coarse calibration operation (steps 155170) should be performed, followed by a fine calibration operation (steps 130145) or, alternatively, whether a fine calibration operation alone should be performed. If the expected error E<HIL><SB>BA </SB></HIL>is less than the threshold N1, control passes to step 130 after which a fine calibration operation is carried out. If the expected error E<HIL><SB>BA </SB></HIL>is greater than the threshold N1, control passes to step 150 after which a coarse calibration is carried out. At step 130, the processor 18 calibrates the atmospheric pressure model 62 stored in memory 20. By way of example, the atmospheric pressure mode 62 may be defined by the following equation (15), at least for altitudes below 11,000 meters. <CWU><MATHUS><MATHEMATICA></MATHEMATICA><MATHML><math><mtable><mtr><mtd><mrow><msub><mi>H</mi><mi>B</mi></msub><mo>=</mo><mrow><mfrac><msub><mi>T</mi><mi>O</mi></msub><mi>L</mi></mfrac><mo>;</mo><mrow><mo>[</mo><mrow><msup><mrow><mo>(</mo><mfrac><msub><mi>P</mi><mi>L</mi></msub><msub><mi>P</mi><mi>B</mi></msub></mfrac><mo>)</mo></mrow><mfrac><mrow><mo></mo><mi>RL</mi></mrow><mi>g</mi></mfrac></msup><mo></mo><mn>1</mn></mrow><mo>]</mo></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></MATHML><EMI></EMI></MATHUS></CWU>
The quantities in equation (15) are defined in the 1993 ICAO Standard Atmosphere Model, where T<HIL><SB>O </SB></HIL>represents the standard temperature, at sea level; L represents lapse rate; R represents a gas constant; g represents acceleration of gravity, P<HIL><SB>L </SB></HIL>represents local pressure (measured by the barometer); P<HIL><SB>B </SB></HIL>represents base pressure (e.g., at Sea Level); and H<HIL><SB>B </SB></HIL>represents the actual local altitude. From equation (15), it is shown that the atmospheric pressure model 62 that relates pressure to altitude is an exponential model, not a linear model. Thus, if one determines that ΔH is 30 meters at a nominal altitude of 500 meters, it does not hold that the proper calibration factor will still be 30 meters at a nominal altitude of 5000 meters. The reason is that 30 meters of elevation difference at 500 meters nominal altitude is a far greater pressure differential than 30 meters of elevation difference at 5000 meters nominal altitude. The calibration method employed in <FGREF>FIG. 4</FGREF> accounts for this discrepancy.
To calibrate the atmospheric pressure model 62, the processor 18 holds constant the local pressure P<HIL><SB>L </SB></HIL>as measured by the barometer and, based on equation (15), recalculates the model base pressure P<HIL><SB>B</SB></HIL>, to obtain a calibrated model base pressure P<HIL><SB>B,cal</SB></HIL>. The newly calibrated model base pressure P<HIL><SB>B,cal </SB></HIL>as shown in equation (16) below is used in subsequent altitude computations using equation (14) to correct the barometer altitude reading.
The calibrated model base pressure P<HIL><SB>B,cal </SB></HIL>is computed as shown below in equation (16) and thereafter, the calibrated barometer altitude H<HIL><SB>B,cal </SB></HIL>is computed via equation (15). <CWU><MATHUS><MATHEMATICA></MATHEMATICA><MATHML><math><mtable><mtr><mtd><mrow><msub><mi>P</mi><mrow><mi>B</mi><mo>,</mo><mi>cal</mi></mrow></msub><mo>=</mo><mfrac><msub><mi>P</mi><mi>L</mi></msub><msup><mrow><mo>[</mo><mrow><mfrac><mrow><msub><mi>H</mi><mrow><mi>B</mi><mo>,</mo><mi>cal</mi></mrow></msub><mo>*</mo><mi>L</mi></mrow><msub><mi>T</mi><mi>O</mi></msub></mfrac><mo>+</mo><mn>1</mn></mrow><mo>]</mo></mrow><mfrac><mrow><mo></mo><mi>g</mi></mrow><mi>RL</mi></mfrac></msup></mfrac></mrow></mtd><mtd><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></MATHML><EMI></EMI></MATHUS></CWU>
The processor 18 stores the new value for the calibrated model base pressure P<HIL><SB>B,cal </SB></HIL>in the atmospheric pressure model 62. Thereafter, control passes to step 135. At step 135, a low gain factor is set for the feedback loop, the output U(t) of which is used to correct the barometric altimeter reading. The low gain factor may constitute one or more filter parameters, such as C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2</SB></HIL>, noted above. For instance, parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2 </SB></HIL>may be set based on a long time constant τ>τ<HIL><SB>c</SB></HIL>. When the expected error E<HIL><SB>BA </SB></HIL>is less than the threshold N1, the anticipated error is small and thus the actual altitude should be close to the barometric altimeter reading 54.
At step 140, the processor 18 corrects the barometric altimeter reading 54 based on the output of the feedback loop (discussed below in connection with FIG. 5). At step 145, the processor 18 determines whether the state feedback loop is accurately tracking the difference between the barometric altimeter reading 54 and GPS elevation reading 52. If accurate tracking is carried out, control loops back to node 142 where the feedback loop again corrects the barometric altitude reading (step 140) while using the low gain factor set at step 135. The loop between steps 140 and 145 is repeated continuously so long as the state feedback loop accurately tracks the baroGPS difference ΔH(t). If at step 140, the processor 18 determines that the state feedback loop is not accurately tracking the difference between the barometric altimeter reading 54 and GPS elevation reading 52, control passes along path 144 to node 180 where a coarse calibration operation is initiated.
In order to determine at step 145 whether the feedback loop is accurately tracking the baroGPS difference ΔH(t), the processor 18 may perform a comparison based upon the following equation (17).
<F>;U(t<HIL><SB>k</SB></HIL>)+;ΔH(t<HIL><SB>k</SB></HIL>);>β*σ(t<HIL><SB>k</SB></HIL>)<HIL><SB>v,GPS</SB></HIL> (17)</F>
In equation 17, the value U(t<HIL><SB>k</SB></HIL>) represents the output of the feedback loop at time (t<HIL><SB>k</SB></HIL>), the value ΔH(t<HIL><SB>k</SB></HIL>) represents the difference between the barometer and GPS derived altitudes, the value β represents a nonnegative real constant, and the value σ(t<HIL><SB>k</SB></HIL>)<HIL><SB>V,GPS </SB></HIL>represents the uncertainty in the vertical coordinate derived from the GPS measurements at time (t<HIL><SB>k</SB></HIL>). For example, when the GPS derived altitude indicates an altitude of 1,000 feet, such measurement shall include a range of uncertainty, such as ±10 feet. The vertical GPS uncertainty σ(t<HIL><SB>k</SB></HIL>)<HIL><SB>v,GPS </SB></HIL>is determined as part of the GPS measurements in accordance with known GPS procedures based on the GPS information. When the feedback loop accurately tracks the baroGPS difference ΔH(t), the output of the feedback loop U(t<HIL><SB>k</SB></HIL>) should approximate or be near the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>) at the same time t<HIL><SB>k</SB></HIL>. The output of the feedback loop U(t<HIL><SB>k</SB></HIL>) is opposite in sign to the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>), and thus the sum of the feedback loop output V(t<HIL><SB>k</SB></HIL>) and the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>) approaches zero when the feedback loop converses.
In equation (17), the processor 18 identifies the situation in which the feedback loop output does not accurately track the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>), since the sum thereof equals a large number that is greater than the vertical GPS uncertainty σ(t<HIL><SB>k</SB></HIL>)<HIL><SB>V,GPS </SB></HIL>times the constant β. By way of example, when the sum U(t<HIL><SB>k</SB></HIL>)+;ΔH(t<HIL><SB>k</SB></HIL>) exceeds twice the vertical GPS uncertainty, the processor 18 may determine at step 145 that the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>) is no longer being accurately tracked. Hence, flow passes along path 144 to node 180.
By way of example only, the feedback loop may not accurately track the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>) when the navigation device 10 experiences a significant change in its surrounding atmospheric conditions in a very short period of time. For instance, a strong weather system may move through an area quickly. As a further alternative, the user may travel between two geographic regions having substantially different weather conditions. For example, a low pressure weather condition may exist at the source of travel (e.g., the West coast), while a high pressure weather condition may exist at the destination of travel (e.g., the East coast). These and other such factors may cause the feedback loop to be unable to accurately track the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>) when set with low gain factors. In such conditions, processing passes to node 180 after which high gain factors are reset at step 160 and the barometric altitude reading is corrected at step 165 in a coarse calibration until completed at step 170.
By way of example only, the baroGPS difference ΔH(t) may equal 100 feet and the gain factors may be set to a low value to cause a slow rate of convergence, such as afforded by a onehour time constant. In this example, after the processor 18 processes altitude differences for 1 hour, the output U(t) of the state feedback loop will converge by one exponential state from U(t)=;100 to V=;36. In another hour, the output of the state feedback loop will converge another exponential state from U=;36 to U=;12. Alternatively, if a high gain factor, such as a 5 minute time constant, were applied to the state feedback loop, the output U(t) would converge from V=;100 to U=;36 in the first five minutes and from U=;36 to U=;12 in the second 5 minutes and from V=;36 to U=;12 in the second 5 minutes.
One issue to consider when using a high gain factor associated with a fast time constant is that the state feedback loop output will be more sensitive to, and react based on, short term changes in ΔH(t). If new GPS and barometric altitude readings are obtained every second, then the processor 18 will calculate 60 new altitude differences ΔH(t), respectively, every minute. Over 5 minutes, the state feedback loop will output 30 or 300 convergence values U depending on the sampling rate. The GPS altitude reading may fluctuate noticeably (e.g., ±10 feet) over 5 minutes, even though the user's terrain remains relatively constant. For instance, a hiker may evenly ascend 10 feet of elevation over 5 minutes such as illustrated in <FGREF>FIG. 3</FGREF> in time interval 80. However, over the same 5 minute interval, the GPS altitude reading may indicate (albeit inaccurately) that the hiker ascended 20 feet over the first 2 minutes, then descended 25 feet over the next 2 minutes and then again ascended 10 feet over the next minute. A state feedback loop having high gain associated with a short time constant would track this erroneous GPS altitude more closely than one with a long time constant.
In one embodiment, a user may turn on the navigation device 10 and calibrate the same to a known altitude. Immediately after calibration, the biases attributed to the GPS altitude readings and to the barometer altitude readings are near zero. In these instances, the state feedback loop is then implemented to track and continuously correct for changes due to atmospheric pressure variations that would otherwise cause the barometric altimeter reading to drift from the actual altitude. By way of example only, a barometric altimeter may drift from a discrete calibrated value over the course of a day or an evening by as much as 100 feet, 200 feet or more. In contrast, the bias that may be introduced over the same period of time in a GPS altimeter reading is substantially less, such as 10 or 20 feet. In these instances, the state feedback loop may be configured to track weather changes, such as by utilizing a long time constant (e.g., a low gain factor). By utilizing a long time constant, the state feedback loop filters out noise components that would appear otherwise as altitude changes over short periods of time. The long time constant attributed to the state feedback loop may be set based upon weather patterns.
In an alternative example, it may assumed that the navigation device may be turned on after sitting for two days since last calibrated. In this example, it is quite probable that weather conditions have changed the barometric pressure and that the barometric altimeter will be inaccurate. In this instance, it is preferable to recalibrate the barometric sensor. When the device is turned on after having sat for a couple days, the processor 18 may set the gain for the state feedback loop to a low gain value having a short time constant. As the state feedback loop operates with the short time constant, it estimates the bias in the barometer very quickly. In the example in which a five minute time constant is used, the state feedback loop would estimate 67% of the error every five minutes. After the state feedback loop has processed a sufficient amount of data to iterate through several of the short time constants, the processor 18 may recalibrate the barometer sensor. For instance, if a five minute time constant is used, after 10 or 15 minutes, the state feedback loop will have converged near the true barometric bias value which may be then used to recalibrate the barometric sensor.
Thereafter, the processor 18 may be reinitialize the state feedback loop by assigning new gain values associated with a longer time constant, such as one hour. Once converted to the longer time constant, the state feedback loop will then more slowly filter out the remaining barometric bias.
Returning to the decision branch at step 125, when flow passes to step 155, the processor 18 adjusts the model base pressure P<HIL><SB>B </SB></HIL>used in the atmospheric pressure model 62 towards a standard pressure. The mode base pressure is adjusted according to equation (18). <CWU><MATHUS><MATHEMATICA></MATHEMATICA><MATHML><math><mtable><mtr><mtd><mrow><msub><mi>P</mi><mi>B</mi></msub><mo>=</mo><mrow><msub><mi>P</mi><mrow><mi>B</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>+</mo><mrow><mfrac><msub><mi>σ</mi><mi>Baro</mi></msub><msub><mi>σ</mi><mrow><mi>Baro</mi><mo>,</mo><mi>max</mi></mrow></msub></mfrac><mo>;</mo><mstyle><mtext> </mtext></mstyle><mo>;</mo><mrow><mo>(</mo><mrow><msub><mi>P</mi><mrow><mi>B</mi><mo>,</mo><mi>S</mi></mrow></msub><mo></mo><msub><mi>P</mi><mrow><mi>B</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>18</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></MATHML><EMI></EMI></MATHUS></CWU>
The term σ<HIL><SB>Baro </SB></HIL>represents the barometer uncertainty which equals the expected error E<HIL><SB>BA </SB></HIL>read from the drift error model 62, the term P<HIL><SB>B,l </SB></HIL>represents the initial base pressure measured by the barometer (saved in nonvolatile memory at last power down), the term P<HIL><SB>B,S </SB></HIL>represents the standard atmosphere model base pressure, and the term σ<HIL><SB>Baro,max </SB></HIL>represents the maximum value of barometric altimeter drift or uncertainty. Equation (18) reflects the fact that as the expected error or barometer uncertainty σ<HIL><SB>Baro </SB></HIL>increases (e.g., the anticipated drift error E<HIL><SB>BA </SB></HIL>read from drift error model 62), the initial model that is used to calculate altitude based on barometer pressure should use a base pressure at or near the standard modeled base pressure P<HIL><SB>B,S</SB></HIL>.
At step 160, a high gain factor is set for the feedback loop. The high gain factor may be set by assigning values to filter parameters C1 and C2 based on a short time constant τ<τ<HIL><SB>C</SB></HIL>. At step 165, the processor 18 corrects the barometric altitude reading 54 through the feedback loop as explained below in connection with FIG. 5. Following correction of each barometric altimeter reading 54 at step 165, the processor 18 performs a test at step 170 to determine whether the feedback loop has converged by a desired amount and thus completed a coarse calibration of the barometric altimeter. If the feedback loop has not yet completed the coarse calibration, flow returns to node 172 and the feedback loop continues to correct the barometric altitude reading 54 (step 165) based on the high gain factors set at step 160. Once the coarse calibration operation is completed at step 170, flow passes along path 175 to node 178. After node 178, the barometer atmospheric pressure model 62 is calibrated again by the processor 18 at step 130 and the low gain factors are set at step 135. Thereafter, flow passes between steps 140 and 145 as explained above.
By way of example only, at step 170, the processor 18 may carry out a determination in accordance with equation (19) set forth below.
<F>;U(t<HIL><SB>k</SB></HIL>)+;ΔH(t<HIL><SB>k</SB></HIL>);<α*σ(t<HIL><SB>k</SB></HIL>)<HIL><SB>V,GPS</SB></HIL> (19)</F>
Equation (19) substantially follows equation (18) set forth above, however a different constant a is used, where the constant a may be larger than the constant β used in equation (18). As explained above in connection with the decision at step 145, the coarse calibration determination at step 170 determines whether the difference between the output of the feedback loop U(t<HIL><SB>k</SB></HIL>) is within some acceptable range of the baroGPS difference ΔH(t<HIL><SB>k</SB></HIL>). The acceptable range is set as a multiple α of the vertical GPS uncertainty σ(t<HIL><SB>k</SB></HIL>)<HIL><SB>V,GPS </SB></HIL>at τ(t<HIL><SB>k</SB></HIL>) which is obtained from the GPS information. When the difference between the feedback loop output and the baroGPS difference fall within an acceptable range of the vertical GPS uncertainty, flow passes along path 175 to node 178 after which a fine calibration operation is performed.
Adjusting the atmospheric pressure model 62 in accordance with at least one embodiment of the present invention renders the model 62 more accurate over a significant range of elevations. By way of example only, if a user is located at a nominal altitude of 1,000 feet, yet the barometric reading (based on an uncorrected standard atmospheric model) indicates that the altitude is 1100 feet, then the proper calibration factor ΔH equals 100 feet. However, should the user move to a much higher nominal altitude, such as while in an airplane, ascending a mountain and the like, the calibration factor will not remain at 100 feet. Instead, if the user moves to a nominal altitude of 5,000 feet, a 100 foot calibration factor would no longer accurately associate the barometric altitude reading and the actual altitude. Instead, at 5,000 feet, the difference between the measured and actual altitudes would be substantially greater than 100 feet. Accordingly, the processor 18 modifies the standard atmospheric model additionally based on the present altitude at which a calibration factor is determined.
<FGREF>FIG. 5</FGREF> illustrates a processing sequence carried out in accordance with one embodiment of the present invention to correct barometric altitude outputs, such as performed at steps 140 and 165 in FIG. 4. In accordance with the method of <FGREF>FIG. 5</FGREF>, the navigation device 10 first obtains barometer and GPS derived altitude readings at step 200. The barometer derived altitude reading may be based on a barometric pressure measured by the barometer sensor 22 that is subsequently applied to the atmospheric pressure model to obtain a corresponding altitude. The GPS derived altitude reading may be obtained from GPS measurement data received by the receiver 24 and antenna 26.
At step 210, the processor calculates the difference value between the barometer and the GPS derived altitudes, namely ΔH(t). Thus, for example, if the barometer derived altitude is 1,000 feet and the GPS derived altitude is 1,100 feet, the baroGPS difference ΔH(t) equals 100 feet. Next, at step 215, the processor 18 applies the baroGPS difference ΔH(t) at time (t) to the state feedback loop discussed above in connection with equations (4) and (5). It is noted that, before the state feedback loop is processed, filter parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2 </SB></HIL>have been assigned values having a desired gain and time constant. For instance, when performing a fine calibration operation, the filter parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2 </SB></HIL>are assigned low gain factors providing a long time constant to the feedback loop. When the state feedback loop is processed in connection with step 165, the filter parameters C<HIL><SB>1 </SB></HIL>and C<HIL><SB>2 </SB></HIL>are assigned a high gain factor to provide a short time constant for the feedback loop. After step 215, processing passes to step 220 at which the output of the feedback loop (e.g., the barometer altitude correction quantity) U(t<HIL><SB>k</SB></HIL>) is subtracted from the barometer altitude reading that was derived from the barometer sensor measurement at time t<HIL><SB>k </SB></HIL>to obtain a corrected altitude measurement. The corrected barometer altitude reading is displayed as navigation information.
In accordance with at least one embodiment of the present invention, a method is provided able to calibrate a barometric altimeter using the difference between the barometer and GPS derived altitudes while removing any dynamic changes due to movement of the barometer altimeter and the GPS in tandem. In other words, when the user changes altitudes, the altitude change is reflected in both the barometric altimeter reading and the GPS altitude reading, while the difference therebetween continues to accurately reflect any bias experienced in the barometer altitude reading. Accordingly, the device 10 is able to continuously operate in a normal navigation mode while simultaneously performing fine and/or coarse calibration operations. The navigation device 10 described above need not have separate calibration and navigation modes. In fact, the navigation device 10 discussed above is able to perform the coarse and fine calibration operations even while the navigation device is moving and changing altitude.
While particular elements, embodiments and applications of the present invention have been shown and described, it will be understood, of course, that the invention is not limited thereto since modifications may be made by those skilled in the art, particularly in light of the foregoing teachings. It is therefore contemplated by the appended claims to cover such modifications as incorporate those features which come within the spirit and scope of the invention.