Use of an altitude sensor to augment availability of GPS location fixes

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
133Forward
Citations 
0
Petitions 
2
Assignments
First Claim
1. A method for determination of location coordinates of a selected threedimensional location of a user on or adjacent to the Earth'"'"'s surface, the method comprising the steps of:
 receiving Global Positioning System (GPS) signals from at least three GPS satellites, numbered i=1, 2, . . . , and measuring the pseudoranges ρ
_{i} from satellite number i to a selected user location;
representing the pseudorange ρ
_{i} at a selected measurement time t=t_{k} as a sum
space="preserve" listingtype="equation">ρ
.sub.i (t.sub.k)=r.sub.i +b+e.sub.i,
space="preserve" listingtype="equation">r.sub.i =r.sub.i (t.sub.k)={(x.sub.i (t.sub.k)x(t.sub.k)).sup.2 +(y.sub.i (t.sub.k)y(t.sub.k)).sup.2 +(z.sub.i (t.sub.k)z(t.sub.k)).sup.2 }.sup.1/2,where (x_{i},y_{i},z_{i}) are the known, time varying location coordinates of the ith satellite in a selected first coordinate system, (x,y,z) are the true location coordinates of the user, to be determined, in the selected first coordinate system, b is an unknown user clock bias, and e_{i} represents other unknown measurement errors for satellite i, at the measurement time t=t_{k} ;
providing a nominal location solution set (x_{n},y_{n},z_{n}) of known location coordinates in the selected first coordinate system that provide a nominal estimate of location solutions for the pseudorange equations for the three satellites, and defining
space="preserve" listingtype="equation">r.sub.i,n (t.sub.k)={(x.sub.i (t.sub.k)x.sub.n).sup.2 +(y.sub.i (t.sub.k)y.sub.n).sup.2 +(z.sub.i (t.sub.k)z.sub.n).sup.2 }.sup.1/2,
space="preserve" listingtype="equation">ρ
.sub.i,n (t.sub.k)=r.sub.i,n (t.sub.k)+e.sub.i '"'"' (i=1,2,3)where e_{i} '"'"' is an estimate of the variable e_{i} ;
computing pseudorange increments δ
ρ
_{i},n =ρ
_{i} ρ
_{i},n, for the three satellites numbered i=1, 2, 3;
selecting a triple of location coordinates (x_{4}, y_{4}, z_{4})=(0,0,0) for a fictitious fourth satellite, numbered i=4, in the selected first coordinate system, where the distance from the fourth satellite location to the nominal solution location (x_{n},y_{n},z_{n}) is
space="preserve" listingtype="equation">r.sub.4,n =r.sub.n ={(x.sub.n).sup.2 +(y.sub.n).sup.2 +(z.sub.n).sup.2 }.sup.1/2 ;
providing a selected mean sea level surface S_{ms1} that represents the average mean sea level of the Earth;
providing a selected ellipsoidal surface S_{ell} that approximates the surface of the Earth;
representing the scalar length
space="preserve" listingtype="equation">r={(x'"'"'.sup.2 +y'"'"'.sup.2 +z'"'"'.sup.2 }.sup.1/2of a vector r extending from the fourth satellite location to a location with coordinates (x'"'"',y'"'"',z'"'"'), where an extension of the vector r intersects the surface S_{ell} and thereby defines a vector r_{ell} (x'"'"',y'"'"',z'"'"') from the fourth satellite to this intersection point, as a sum of the length r_{s} (x'"'"',y'"'"',z'"'"') of the vector r_{ell} plus the signed altitude A_{ell} of the user with respect to the selected ellipsoidal surface,
space="preserve" listingtype="equation">r=r.sub.s +A.sub.ell ;
providing an altitude sensor having an altimeter reading z_{alt} (t) as an estimate of an elevation coordinate A_{ms1} (t) of the user above the mean sea level surface at a selected time t, where z_{alt} (t) is a sum of terms including the elevation coordinate A_{ms1} (t), plus a bias term B(t) arising from altitude sensor measurement error, plus a sensor noise error term Q(t) that has approximately zero mean;
providing a reference elevation coordinate z_{ref} (t) as a sum including the elevation coordinate A_{ms1} (t) plus an error term G(t) that has approximately zero mean in the reference elevation coordinate at a selected calibration time t=t_{cal}, where z_{ref} (t_{cal}) is determined using at least one of (i) the altitude A_{ms1} obtained from a GPS location solution, computed using at least four satellites with no altitude constraints at one or more selected times t=t_{cal}, and (ii) an independently determined, accurate value of A_{ms1} (t_{cal});
computing an estimated altitude A_{est} (t) of the elevation coordinate A_{ms1} (t), from which the sensor bias has been removed, for a selected interval of times t>
t_{cal} as a difference A_{est} (t)=z_{alt} (t)C(t_{cal}), where C(t_{cal})=z_{alt} (t_{cal})z_{ref} (t_{cal});
providing a selected second coordinate system that is expressed in latitude, longitude and altitude coordinates, (lat,lon,alt), where the altitude coordinate is A_{ell} ;
determining the latitude, longitude and altitude coordinates (lat_{n}, lon_{n}, alt_{n}) that correspond to the nominal solution location coordinate values (x_{n},y_{n},z_{n}) in the selected second coordinate system;
determining a signed distance Δ
MSL(lat_{n},lon_{n})=A_{ms1} A_{ell} of the selected ellipsoidal surface above the mean sea level surface at a location whose latitude and longitude coordinates in the selected second coordinate system are (lat_{n}, lon_{n}), from a lookup table that provides the signed difference between the height of the selected ellipsoid surface and the mean sea level surface at a location with latitude and longitude coordinates (lat,lon) and arbitrary altitude in the selected second coordinate system for a location with selected location coordinates in the selected first coordinate system;
expressing the length r_{s} (x_{n},y_{n},z_{n}) of the vector r_{ell} (x_{n},y_{n},z_{n}) as a sum ##EQU11## calculating a distance r_{4} from the fourth satellite to a location at the altitude A_{est} by the relationr_{4} =r_{s} (x_{n},y_{n},z_{n})+(A_{est} Δ
MSL(x_{n},y_{n},z_{n})), using the estimated altitude A_{est}, and forming a difference
2 Assignments
0 Petitions
Accused Products
Abstract
Methods for GPSassisted determination of location coordinates of a mobile user or selected position on or adjacent to the Earth'"'"'s surface with improved accuracy. Elevation readings from an altimeter or barometer are integrated with readings of the GPSdetermined elevation coordinate for that location, using Kalman filter techniques, minimum least square techniques, or comparison of certain statistically defined parameters associated with the altimeter and GPS variables, such as the standard deviation of the expected errors in these variables. The resulting elevation coordinate may be a statistical blend or filtered blend of the altimeter value and a GPSdetermined value for the elevation coordinate; or this resulting elevation coordinate can be chosen to be one or the other of these values, based upon comparison of time varying statistical parameters corresponding to the altimeter and the GPS.
161 Citations
Transportation routing  
Patent #
US 7,908,080 B2
Filed 12/31/2004

Current Assignee
Google LLC

Sponsoring Entity
Google Inc.

Pairing of wireless devices using a wired medium  
Patent #
US 7,913,297 B2
Filed 08/30/2006

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Shoe wearout sensor, bodybar sensing system, unitless activity assessment and associated methods  
Patent #
US 7,911,339 B2
Filed 10/18/2006

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

MOBILE TELEPHONE WITH INERTIAL SENSOR  
Patent #
US 20110171946A1
Filed 03/23/2011

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

System and method for nonwirelessly determining freefall of a moving sportsman  
Patent #
US 7,991,565 B2
Filed 11/09/2010

Current Assignee
Intel Corporation

Sponsoring Entity
PhatRat Technology LLC

3D AIME™ aircraft navigation  
Patent #
RE42891E1
Filed 10/09/2001

Current Assignee
Northrop Grumman Systems Corporation

Sponsoring Entity
Northrop Grumman Guidance And Electronics Company Inc.

Portable media device with workout support  
Patent #
US 8,060,229 B2
Filed 12/11/2009

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Activity monitoring systems and methods  
Patent #
US 8,036,851 B2
Filed 02/13/2009

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Portable media device with workout support  
Patent #
US 7,643,895 B2
Filed 05/22/2006

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Method and Device for Monitoring a Horizontal Position of an Aircraft Rolling on the Ground  
Patent #
US 20100219986A1
Filed 05/05/2008

Current Assignee
Airbus Operations SL

Sponsoring Entity
Airbus Operations SL

Systems and methods for determining drop distance and speed of moving sportsmen involved in board sports  
Patent #
US 7,860,666 B2
Filed 04/02/2010

Current Assignee
PhatRat Technology LLC

Sponsoring Entity
PhatRat Technology LLC

Automated pairing of wireless accessories with host devices  
Patent #
US 7,813,715 B2
Filed 08/30/2006

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Impact reporting head gear system and method  
Patent #
US 7,693,668 B2
Filed 06/09/2008

Current Assignee
PhatRat Technology LLC

Sponsoring Entity
PhatRat Technology LLC

Method for finding the location of a mobile terminal in a cellular radio system  
Patent #
US 7,702,338 B2
Filed 09/29/2004

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

3D MAPS RENDERING DEVICE AND METHOD  
Patent #
US 20100198509A1
Filed 06/04/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

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

Current Assignee
Nokia Technologies Oy

Sponsoring Entity
Nokia Corporation

Smart garment  
Patent #
US 7,698,101 B2
Filed 03/07/2007

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Personal navigation device for use with portable device  
Patent #
US 7,706,977 B2
Filed 10/26/2004

Current Assignee
Open Invention Network LLC

Sponsoring Entity
Honeywell International Inc.

TELEPHONE OR OTHER PORTABLE DEVICE WITH INERTIAL SENSOR  
Patent #
US 20100174487A1
Filed 03/24/2010

Current Assignee
Open Invention Network LLC

Sponsoring Entity
Honeywell International Inc.

SATELLITE RADIOLOCALIZATION RECEIVER  
Patent #
US 20100149035A1
Filed 06/04/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

GNSS POSITIONING USING PRESSURE SENSORS  
Patent #
US 20100204916A1
Filed 06/04/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Height generating satellite navigation system  
Patent #
US 7,489,991 B2
Filed 02/11/2003

Current Assignee
Harman Becker Automotive Systems GmbH

Sponsoring Entity
Harman Becker Automotive Systems GmbH

Activity monitoring systems and methods  
Patent #
US 7,512,515 B2
Filed 05/10/2007

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

MULTIPATH MITIGATION USING SENSORS  
Patent #
US 20090096669A1
Filed 04/09/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
MEMERIX SA

NAVIGATION SYSTEM WITH DYNAMICALLY CALIBRATED PRESSURE SENSOR  
Patent #
US 20090143983A1
Filed 12/04/2007

Current Assignee
Qualcomm Inc.

Sponsoring Entity
NEMERIX SA

Personal items network, and associated methods  
Patent #
US 7,552,031 B2
Filed 12/28/2006

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

EFFICIENT USE OF EXPECTED USER ALTITUDE DATA TO AID IN DETERMINING A POSITION OF A MOBILE STATION  
Patent #
US 20090210156A1
Filed 02/20/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

SYSTEMS AND METHODS FOR DYNAMICALLY DETERMINING POSITION  
Patent #
US 20090267832A1
Filed 04/29/2008

Current Assignee
Texas Instruments Inc.

Sponsoring Entity
Texas Instruments Inc.

Movement and event systems and associated methods  
Patent #
US 7,627,451 B2
Filed 05/10/2007

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Apparatus and method for detecting vehicle location in navigation system  
Patent #
US 7,349,802 B2
Filed 07/21/2004

Current Assignee
LG Electronics Inc.

Sponsoring Entity
LG Electronics Inc.

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

Device and method for calibrating and improving the accuracy of barometric altimeters with GPSderived altitudes  
Patent #
US 7,429,948 B2
Filed 10/19/2006

Current Assignee
Garmin Limited

Sponsoring Entity
Garmin Limited

Activity monitoring systems and methods  
Patent #
US 7,451,056 B2
Filed 05/15/2006

Current Assignee
PhatRat Technology LLC, Nike Inc.

Sponsoring Entity
PhatRat Technology LLC

METHOD FOR VERIFYING THE INTEGRITY OF A CONTAINER  
Patent #
US 20080303663A1
Filed 06/08/2007

Current Assignee
Qualcomm Inc.

Sponsoring Entity
NEMERIX SA

GNSS RECEIVER AND ANTENNA SYSTEM INCLUDING A DIGITAL COMMUNICATION SUBSYSTEM  
Patent #
US 20080297407A1
Filed 05/23/2008

Current Assignee
Novatel Incorporated

Sponsoring Entity
Novatel Incorporated

DEVICE AND METHOD FOR CALIBRATING AND IMPROVING THE ACCURACY OF BAROMETRIC ALTIMETERS WITH GPSDERIVED ALTITUDES  
Patent #
US 20070040732A1
Filed 10/19/2006

Current Assignee
Garmin Limited

Sponsoring Entity
Garmin Limited

Personal navigation using terraincorrelation and/or signalofopportunity information  
Patent #
US 7,305,303 B2
Filed 02/25/2005

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Methods and apparatus for radar data processing  
Patent #
US 6,744,401 B2
Filed 05/13/2002

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Wireless assisted altitude measurement  
Patent #
US 6,518,918 B1
Filed 05/11/2000

Current Assignee
AlcatelLucent USA Inc.

Sponsoring Entity
Lucent Technologies Inc.

Halfdeadreckoning capable GPS navigation receiver  
Patent #
US 5,890,090 A
Filed 11/20/1996

Current Assignee
Trimble Navigation Limited

Sponsoring Entity
Trimble Navigation Limited

Methods and apparatus for terrain correlation  
Patent #
US 6,803,878 B2
Filed 05/13/2002

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Method for finding the location of a mobile terminal in a cellular radio system  
Patent #
US 20060068809A1
Filed 09/29/2004

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Personal navigation device for use with portable device  
Patent #
US 20060089786A1
Filed 10/26/2004

Current Assignee
Open Invention Network LLC

Sponsoring Entity
Honeywell International Inc.

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

Height generating satellite navigation system  
Patent #
US 20060271288A1
Filed 02/11/2003

Current Assignee
Harman Becker Automotive Systems GmbH

Sponsoring Entity
Harman Becker Automotive Systems GmbH

Device and method for calibrating and improving the accuracy of barometric altimeters with GPSderived altitudes  
Patent #
US 7,142,152 B2
Filed 04/16/2004

Current Assignee
Garmin Limited

Sponsoring Entity
Garmin Limited

Apparatus and method for detecting vehicle location in navigation system  
Patent #
US 20050021229A1
Filed 07/22/2004

Current Assignee
LG Electronics Inc.

Sponsoring Entity
LG Electronics Inc.

GPS device with compass and altimeter and method for displaying navigation information  
Patent #
US 6,845,323 B1
Filed 02/10/2003

Current Assignee
Garmin Corporation

Sponsoring Entity
Garmin 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

GPS device with compass and altimeter and method for displaying navigation information  
Patent #
US 6,862,525 B1
Filed 03/29/2004

Current Assignee
Garmin Corporation

Sponsoring Entity
Garmin Corporation

Portable device for determining horizontal and vertical positions and method for operating the same  
Patent #
US 6,882,308 B2
Filed 09/17/2002

Current Assignee
The Swatch Group Research and Development Ltd.

Sponsoring Entity
Asulab SA

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

Current Assignee
HERE Global B.V.

Sponsoring Entity
Ole Henry Dorum, Bishnu Phuyal, Narayanan Alwar

Apparatus and method for detecting vehicle location in navigation system  
Patent #
US 20050149261A9
Filed 07/21/2004

Current Assignee
LG Electronics Inc.

Sponsoring Entity
LG Electronics Inc.

Personal navigation using terraincorrelation and/or signalofopportunity information  
Patent #
US 20050197769A1
Filed 02/25/2005

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Portable device for determining horizontal and vertical positions and method for operating the same  
Patent #
US 20040054470A1
Filed 09/17/2002

Current Assignee
The Swatch Group Research and Development Ltd.

Sponsoring Entity
Asulab SA

Method and apparatus for calculating altitude based on barometric and GPS measurements  
Patent #
US 6,735,542 B1
Filed 06/25/2001

Current Assignee
GAMIN LTD.

Sponsoring Entity
GAMIN LTD.

Satellite positioning system receivers and methods therefor  
Patent #
US 6,756,938 B2
Filed 11/06/2001

Current Assignee
Google Technology Holdings LLC

Sponsoring Entity
Motorola Inc.

Device and method for calibrating and improving the accuracy of barometric altimeters with GPSderived altitudes  
Patent #
US 6,768,449 B1
Filed 11/19/2002

Current Assignee
Garmin Limited

Sponsoring Entity
Garmin Limited

METHODS AND APPARATUS FOR CORRECTLY ADJUSTING BAROMETRIC PRESSURE SETTINGS ON BAROMETRIC ALTIMETERS  
Patent #
US 20040186635A1
Filed 03/21/2003

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Device and method for calibrating and improving the accuracy of barometric altimeters with GPSderived altitudes  
Patent #
US 20040196176A1
Filed 04/16/2004

Current Assignee
Garmin Limited

Sponsoring Entity
Garmin Limited

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

GPS device with compass and altimeter and method for displaying navigation information  
Patent #
US 6,529,827 B1
Filed 11/01/1999

Current Assignee
Garmin Corporation

Sponsoring Entity
Garmin Corporation

Route guidance system and method for a pedestrian  
Patent #
US 6,339,746 B1
Filed 08/30/2000

Current Assignee
Toshiba Corporation

Sponsoring Entity
Toshiba Corporation

GPS device with compass and altimeter and method for displaying navigation information  
Patent #
US 6,381,540 B1
Filed 09/14/2001

Current Assignee
Garmin Corporation

Sponsoring Entity
Garmin Corporation

GPS device with compass and altimeter and method for displaying navigation information  
Patent #
US 6,434,485 B1
Filed 09/14/2001

Current Assignee
Garmin Corporation

Sponsoring Entity
Garmin Corporation

Method for navigation of moving platform by using satellite data supplemented by satellitecalibrated baro data  
Patent #
US 6,205,377 B1
Filed 04/27/1999

Current Assignee
Trimble Navigation Limited

Sponsoring Entity
Trimble Navigation Limited

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

Current Assignee
Alliedsignal Inc.

Sponsoring Entity
Alliedsignal Inc.

Sport monitoring apparatus for determining loft time, speed, power absorbed and other factors such as height  
Patent #
US 6,266,623 B1
Filed 06/02/1997

Current Assignee
PhatRat Technology LLC, Nike Inc.

Sponsoring Entity
PhatRat Technology Incorporated

Method for checking the reliability of nominal position indications  
Patent #
US 6,271,789 B1
Filed 01/05/2000

Current Assignee
Northrop Grumman Systems Corporation

Sponsoring Entity
LITEF GMBH

Method for calibrating aircraft altitude sensors  
Patent #
US 5,940,035 A
Filed 03/27/1998

Current Assignee
Innovative Solutions and Support Incorporated

Sponsoring Entity
Innovative Solutions and Support Incorporated

OBJECT LOCATING IN RESTRICTED ENVIRONMENTS USING PERSONAL NAVIGATION  
Patent #
US 20070282565A1
Filed 06/06/2006

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

Communication protocol for use with portable electronic devices  
Patent #
US 8,073,984 B2
Filed 05/22/2006

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Smart garment  
Patent #
US 8,099,258 B2
Filed 02/25/2010

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Telephone or other portable device with inertial sensor  
Patent #
US 8,112,226 B2
Filed 03/24/2010

Current Assignee
Open Invention Network LLC

Sponsoring Entity
Honeywell International Inc.

Multipath mitigation using sensors  
Patent #
US 8,165,807 B2
Filed 04/09/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Pairing of wireless devices using a wired medium  
Patent #
US 8,181,233 B2
Filed 03/18/2011

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Shoe wearout sensor, bodybar sensing system, unitless activity assessment and associated methods  
Patent #
US 8,217,788 B2
Filed 02/24/2011

Current Assignee
Perry Youngs, Curtis A. Vock

Sponsoring Entity
Perry Youngs, Curtis A. Vock

Board sports sensing devices, and associated methods  
Patent #
US 8,239,146 B2
Filed 07/25/2011

Current Assignee
PhatRat Technology LLC

Sponsoring Entity
PhatRat Technology LLC

Navigation system with dynamically calibrated pressure sensor  
Patent #
US 8,332,137 B2
Filed 12/04/2007

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Activity monitoring systems and methods  
Patent #
US 8,352,211 B2
Filed 09/13/2011

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Personal items network, and associated methods  
Patent #
US 8,374,825 B2
Filed 04/22/2009

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Moving Information Determination Apparatus, a Receiver, and a Method Thereby  
Patent #
US 20130082873A1
Filed 09/10/2012

Current Assignee
Maishi Electronic Shanghai Limited

Sponsoring Entity
Maishi Electronic Shanghai Limited

Method and device for monitoring a horizontal position of an aircraft rolling on the ground  
Patent #
US 8,416,100 B2
Filed 05/05/2008

Current Assignee
Airbus Operations SL

Sponsoring Entity
Airbus Operations SL

Methods and systems for determining location using a cellular and WLAN positioning system by selecting the best WLAN PS solution  
Patent #
US 8,462,745 B2
Filed 06/16/2009

Current Assignee
Skyhook Wireless Incorporated

Sponsoring Entity
Skyhook Wireless Incorporated

METHOD AND ARRANGEMENT FOR DETERMINING ALTITUDE  
Patent #
US 20130204567A1
Filed 01/18/2013

Current Assignee
Amer Sports Digital Services Oy

Sponsoring Entity
Suunto Oy

ALTITUDE INFORMATION ACQUIRING DEVICE AND ALTITUDE INFORMATION ACQUIRING SYSTEM  
Patent #
US 20130257650A1
Filed 03/12/2013

Current Assignee
Casio Computer Company

Sponsoring Entity
Casio Computer Company

DEVICE CONTROL SYSTEM AND METHOD OF DETERMINING ALTITUDE  
Patent #
US 20130316830A1
Filed 05/20/2013

Current Assignee
NXP B.V.

Sponsoring Entity
ams AG

Transportation routing  
Patent #
US 8,606,514 B2
Filed 04/23/2013

Current Assignee
Google LLC

Sponsoring Entity
Google Inc.

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

Current Assignee
Nokia Technologies Oy

Sponsoring Entity
Nokia Corporation

System for assessing and displaying activity of a sportsman  
Patent #
US 8,620,600 B2
Filed 08/06/2012

Current Assignee
PhatRat Technology LLC

Sponsoring Entity
PhatRat Technology LLC

Methods and systems for determining location using a cellular and WLAN positioning system by selecting the best WLAN PS solution  
Patent #
US 8,638,725 B2
Filed 06/11/2013

Current Assignee
Skyhook Wireless Incorporated

Sponsoring Entity
Skyhook Wireless Incorporated

Personal items network, and associated methods  
Patent #
US 8,688,406 B2
Filed 02/07/2013

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Efficient use of expected user altitude data to aid in determining a position of a mobile station  
Patent #
US 8,700,322 B2
Filed 02/20/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Shoe wearout sensor, bodybar sensing system, unitless activity assessment and associated methods  
Patent #
US 8,749,380 B2
Filed 07/09/2012

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Transportation routing  
Patent #
US 8,798,917 B2
Filed 08/09/2013

Current Assignee
Google LLC

Sponsoring Entity
Google Inc.

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

Current Assignee
Fitbit Incorporated

Sponsoring Entity
Fitbit Incorporated

GNSS positioning using pressure sensors  
Patent #
US 8,949,025 B2
Filed 06/04/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Locating a mobile station and applications therefor  
Patent #
US 8,994,591 B2
Filed 08/23/2010

Current Assignee
FineTrak LLC

Sponsoring Entity
TracBeam LLC

System and method for hybriding wireless location techniques  
Patent #
US 9,060,341 B2
Filed 05/24/2010

Current Assignee
TracBeam LLC

Sponsoring Entity
TracBeam LLC

Satellite radiolocalization receiver  
Patent #
US 9,086,478 B2
Filed 06/04/2008

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

Wireless location using network centric location estimators  
Patent #
US 9,134,398 B2
Filed 12/12/2011

Current Assignee
TracBeam LLC

Sponsoring Entity
TracBeam LLC

Calibration techniques for activity sensing devices  
Patent #
US 9,137,309 B2
Filed 10/23/2006

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Calibration techniques for activity sensing devices  
Patent #
US 9,154,554 B2
Filed 06/30/2008

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

GNSS receiver and antenna system including a digital communication subsystem  
Patent #
US 9,164,176 B2
Filed 05/23/2008

Current Assignee
Novatel Incorporated

Sponsoring Entity
Novatel Incorporated

Wireless location using signal fingerprinting and other location estimators  
Patent #
US 9,237,543 B2
Filed 04/24/2007

Current Assignee
TracBeam LLC

Sponsoring Entity
TracBeam LLC

Wireless location using location estimators  
Patent #
US 9,277,525 B2
Filed 03/15/2013

Current Assignee
TracBeam LLC

Sponsoring Entity
TracBeam LLC

Altitude information acquiring device and altitude information acquiring system  
Patent #
US 9,291,718 B2
Filed 03/12/2013

Current Assignee
Casio Computer Company

Sponsoring Entity
Casio Computer Company

Method and arrangement for determining altitude  
Patent #
US 9,297,650 B2
Filed 01/18/2013

Current Assignee
Amer Sports Digital Services Oy

Sponsoring Entity
Suunto Oy

GNSS positioning using pressure sensors  
Patent #
US 9,429,656 B2
Filed 01/06/2015

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

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

Current Assignee
Seiko Instruments Incorporated

Sponsoring Entity
Seiko Instruments Incorporated

Locating a mobile station and applications therefor  
Patent #
US 9,538,493 B2
Filed 03/15/2013

Current Assignee
FineTrak LLC

Sponsoring Entity
FineTrak LLC

Shoe wearout sensor, bodybar sensing system, unitless activity assessment and associated methods  
Patent #
US 9,578,927 B2
Filed 06/06/2014

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

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

Current Assignee
Fitbit Incorporated

Sponsoring Entity
Fitbit Incorporated

Device control system and method of determining altitude  
Patent #
US 9,604,134 B2
Filed 05/20/2013

Current Assignee
NXP B.V.

Sponsoring Entity
ams AG

Personal items network, and associated methods  
Patent #
US 9,643,091 B2
Filed 03/24/2014

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Transportation routing  
Patent #
US 9,709,415 B2
Filed 06/25/2014

Current Assignee
Google LLC

Sponsoring Entity
Google Inc.

ELECTRONIC DEVICE AND ALTITUDE CALCULATION METHOD  
Patent #
US 20170205232A1
Filed 01/19/2017

Current Assignee
Seiko Epson Corporation

Sponsoring Entity
Seiko Epson Corporation

Transportation routing  
Patent #
US 9,778,055 B2
Filed 01/31/2017

Current Assignee
Google LLC

Sponsoring Entity
Google LLC

SYSTEMS AND METHODS FOR CALIBRATING UNSTABLE SENSORS  
Patent #
US 20170363423A1
Filed 08/31/2017

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Integrated media jukebox and physiologic data handling application  
Patent #
US 9,868,041 B2
Filed 04/28/2014

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Real estate transaction system  
Patent #
US 9,875,492 B2
Filed 11/07/2007

Current Assignee
Mobile Maven LLC

Sponsoring Entity
Dennis J. Dupray

Transportation routing  
Patent #
US 9,945,686 B2
Filed 01/31/2017

Current Assignee
Google LLC

Sponsoring Entity
Google LLC

Automotive dead reckoning with dynamic calibration and/or dynamic weighting  
Patent #
US 9,952,330 B2
Filed 03/23/2016

Current Assignee
Veoneer US Inc.

Sponsoring Entity
Autoliv ASP Incorporated

Shoe wearout sensor, bodybar sensing system, unitless activity assessment and associated methods  
Patent #
US 9,968,158 B2
Filed 02/27/2017

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

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

Personal items network, and associated methods  
Patent #
US 10,080,971 B2
Filed 06/10/2015

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Method, device and system for positioning terminal  
Patent #
US 10,132,909 B2
Filed 10/24/2014

Current Assignee
Huawei Technologies Co. Ltd.

Sponsoring Entity
Huawei Technologies Co. Ltd.

Shoe wearout sensor, bodybar sensing system, unitless activity assessment and associated methods  
Patent #
US 10,376,015 B2
Filed 05/07/2018

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Personal items network, and associated methods  
Patent #
US 10,406,445 B2
Filed 06/10/2015

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Personal items network, and associated methods  
Patent #
US 10,427,050 B2
Filed 06/10/2015

Current Assignee
Apple Inc.

Sponsoring Entity
Apple Inc.

Method for determining a measurable target variable and corresponding system  
Patent #
US 10,451,437 B2
Filed 03/14/2013

Current Assignee
Amer Sports Digital Services Oy

Sponsoring Entity
Amer Sports Digital Services Oy

Systems and methods for calibrating unstable sensors  
Patent #
US 10,514,258 B2
Filed 08/31/2017

Current Assignee
NextNav LLC

Sponsoring Entity
NextNav LLC

Exploration system and method for highaccuracy and highconfidence level relative position and velocity determinations  
Patent #
US 5,202,829 A
Filed 06/10/1991

Current Assignee
Trimble Navigation Limited

Sponsoring Entity
Trimble Navigation Limited

Onboard navigation system for an aerial craft including a synthetic aperture sideways looking radar  
Patent #
US 5,485,384 A
Filed 09/03/1993

Current Assignee
AEROSPATIALE SOCIETE NATIONALE INDUSTRIELLE AYANT SON SIEGE SOCIAL

Sponsoring Entity
Aerospatiale Societe Nationale Industrielle

Fast response system for a fleet of vehicles  
Patent #
US 5,493,694 A
Filed 11/08/1993

Current Assignee
Trimble Navigation Limited

Sponsoring Entity
Trimble Navigation Limited

Method for infield updating of the gyro thermal calibration of an intertial navigation system  
Patent #
US 5,527,003 A
Filed 07/27/1994

Current Assignee
Northrop Grumman Systems Corporation

Sponsoring Entity
Litton Systems Incorporated

Method and apparatus for improving the accuracy of position estimates in a satellite based navigation system  
Patent #
US 5,430,654 A
Filed 12/01/1992

Current Assignee
Caterpillar Incorporated

Sponsoring Entity
Caterpillar Incorporated

Selfcontained method for correction of an inertial system over a body of water  
Patent #
US 5,345,241 A
Filed 12/07/1992

Current Assignee
Northrop Grumman Systems Corporation

Sponsoring Entity
Litton Systems Incorporated

Position aided evader maneuvering reentry vehicle navigator  
Patent #
US 5,355,316 A
Filed 03/24/1989

Current Assignee
Northrop Corporation

Sponsoring Entity
Northrop Corporation

Self guided recoverable airborne instrument module  
Patent #
US 5,186,418 A
Filed 07/31/1991

Current Assignee
University Corporation For Atmospheric Research

Sponsoring Entity
University Corporation For Atmospheric Research

Instrument for indicating altitude or direction  
Patent #
US 5,191,792 A
Filed 07/01/1991

Current Assignee
RECTA AG A SWISS CORPORATION

Sponsoring Entity
RECTA AG A SWISS CORPORATION

Global positioning system  
Patent #
US 5,210,540 A
Filed 06/12/1992

Current Assignee
Pioneer Electronics USA Incorporated

Sponsoring Entity
Pioneer Electronics USA Incorporated

Airborne system for determining the position of an aerial vehicle and its applications  
Patent #
US 5,208,757 A
Filed 01/11/1991

Current Assignee
Aerospatiale Societe Nationale Industrielle

Sponsoring Entity
SOCIETE ANONYME DITE AEROSPATIALE SOCIETE NATIONALE INDUSTRIELLE

Integrated enroute and approach guidance system for aircraft  
Patent #
US 5,216,611 A
Filed 02/08/1991

Current Assignee
Rockwell International Corporation

Sponsoring Entity
Rockwell International Corporation

Vehicle tracking system employing global positioning system (GPS) satellites  
Patent #
US 5,225,842 A
Filed 05/09/1991

Current Assignee
Navsys Corporation

Sponsoring Entity
Navsys Corporation

Onboard vehicle position detector  
Patent #
US 5,257,195 A
Filed 09/10/1991

Current Assignee
Mitsubishi Electric Corporation

Sponsoring Entity
Mitsubishi Electric Corporation

Navigation system using satellite signals  
Patent #
US 5,265,025 A
Filed 07/05/1991

Current Assignee
Mitsubishi Electric Corporation

Sponsoring Entity
Mitsubishi Electric Corporation

Terrain referenced navigation electromagneticgravitational correlation  
Patent #
US 5,272,639 A
Filed 01/14/1992

Current Assignee
Honeywell Incorporated

Sponsoring Entity
Honeywell Incorporated

Method and apparatus for providing an indication as to whether an aircraft can safely glide to a selected destination  
Patent #
US 5,142,480 A
Filed 02/27/1990

Current Assignee
UPS Aviation Technologies Inc.

Sponsoring Entity
UPS Aviation Technologies Inc.

Satellite radio signal tracking method for GPS receivers  
Patent #
US 4,983,980 A
Filed 07/06/1990

Current Assignee
Pioneer Electronics USA Incorporated

Sponsoring Entity
Pioneer Electronics USA Incorporated

Map and text display system for vehicle navigation  
Patent #
US 5,057,835 A
Filed 12/04/1989

Current Assignee
Eventide Inc.

Sponsoring Entity
Eventide Inc.

Method and system for determining position on a moving platform, such as a ship, using signals from GPS satellites  
Patent #
US 4,894,662 A
Filed 04/14/1986

Current Assignee
Western Atlas International Incorporated

Sponsoring Entity
Western Atlas International Incorporated

Navigation of aircraft by correlation  
Patent #
US 4,910,674 A
Filed 06/28/1988

Current Assignee
MBB GmbH

Sponsoring Entity
MBB GMBH

Elevation mapreferenced mechanism for updating vehicle navigation system estimates  
Patent #
US 4,939,663 A
Filed 04/04/1988

Current Assignee
Harris Corporation

Sponsoring Entity
Harris Corporation

Personal multipurpose navigational apparatus and method for operation thereof  
Patent #
US 4,977,509 A
Filed 05/30/1989

Current Assignee
Paul Hyde, Steve Pitchford, Gary Pitchford

Sponsoring Entity
CAMPSPORT INC.

Mapaided navigation system employing TERCOMSITAN signal processing  
Patent #
US 4,829,304 A
Filed 05/20/1986

Current Assignee
Harris Corporation

Sponsoring Entity
Harris Corporation

System for correlation and recognition of terrain elevation  
Patent #
US 4,584,646 A
Filed 06/29/1983

Current Assignee
HARRIS CORPORATION MELBOURNE FL

Sponsoring Entity
HARRIS CORPORATION MELBOURNE FL

Control system for aircraft  
Patent #
US 4,514,733 A
Filed 02/19/1982

Current Assignee
Vereinigte Flugtechnische Werke

Sponsoring Entity
Vereinigte Flugtechnische Werke

Highaccuracy navigating apparatus with stepdriven projected chart  
Patent #
US 4,513,378 A
Filed 10/20/1981

Current Assignee
NAVSTAR LTD.

Sponsoring Entity
Edward T. Antkowiak

Digital altimeter computer  
Patent #
US 4,292,671 A
Filed 07/30/1979

Current Assignee
Hydac Inc.

Sponsoring Entity
HYDAC INC.

25 Claims
 1. A method for determination of location coordinates of a selected threedimensional location of a user on or adjacent to the Earth'"'"'s surface, the method comprising the steps of:
receiving Global Positioning System (GPS) signals from at least three GPS satellites, numbered i=1, 2, . . . , and measuring the pseudoranges ρ
_{i} from satellite number i to a selected user location;representing the pseudorange ρ
_{i} at a selected measurement time t=t_{k} as a sum
space="preserve" listingtype="equation">ρ
.sub.i (t.sub.k)=r.sub.i +b+e.sub.i,
space="preserve" listingtype="equation">r.sub.i =r.sub.i (t.sub.k)={(x.sub.i (t.sub.k)x(t.sub.k)).sup.2 +(y.sub.i (t.sub.k)y(t.sub.k)).sup.2 +(z.sub.i (t.sub.k)z(t.sub.k)).sup.2 }.sup.1/2,where (x_{i},y_{i},z_{i}) are the known, time varying location coordinates of the ith satellite in a selected first coordinate system, (x,y,z) are the true location coordinates of the user, to be determined, in the selected first coordinate system, b is an unknown user clock bias, and e_{i} represents other unknown measurement errors for satellite i, at the measurement time t=t_{k} ; providing a nominal location solution set (x_{n},y_{n},z_{n}) of known location coordinates in the selected first coordinate system that provide a nominal estimate of location solutions for the pseudorange equations for the three satellites, and defining
space="preserve" listingtype="equation">r.sub.i,n (t.sub.k)={(x.sub.i (t.sub.k)x.sub.n).sup.2 +(y.sub.i (t.sub.k)y.sub.n).sup.2 +(z.sub.i (t.sub.k)z.sub.n).sup.2 }.sup.1/2,
space="preserve" listingtype="equation">ρ
.sub.i,n (t.sub.k)=r.sub.i,n (t.sub.k)+e.sub.i '"'"' (i=1,2,3)where e_{i} '"'"' is an estimate of the variable e_{i} ; computing pseudorange increments δ
ρ
_{i},n =ρ
_{i} ρ
_{i},n, for the three satellites numbered i=1, 2, 3;selecting a triple of location coordinates (x_{4}, y_{4}, z_{4})=(0,0,0) for a fictitious fourth satellite, numbered i=4, in the selected first coordinate system, where the distance from the fourth satellite location to the nominal solution location (x_{n},y_{n},z_{n}) is
space="preserve" listingtype="equation">r.sub.4,n =r.sub.n ={(x.sub.n).sup.2 +(y.sub.n).sup.2 +(z.sub.n).sup.2 }.sup.1/2 ;providing a selected mean sea level surface S_{ms1} that represents the average mean sea level of the Earth; providing a selected ellipsoidal surface S_{ell} that approximates the surface of the Earth; representing the scalar length
space="preserve" listingtype="equation">r={(x'"'"'.sup.2 +y'"'"'.sup.2 +z'"'"'.sup.2 }.sup.1/2of a vector r extending from the fourth satellite location to a location with coordinates (x'"'"',y'"'"',z'"'"'), where an extension of the vector r intersects the surface S_{ell} and thereby defines a vector r_{ell} (x'"'"',y'"'"',z'"'"') from the fourth satellite to this intersection point, as a sum of the length r_{s} (x'"'"',y'"'"',z'"'"') of the vector r_{ell} plus the signed altitude A_{ell} of the user with respect to the selected ellipsoidal surface,
space="preserve" listingtype="equation">r=r.sub.s +A.sub.ell ;providing an altitude sensor having an altimeter reading z_{alt} (t) as an estimate of an elevation coordinate A_{ms1} (t) of the user above the mean sea level surface at a selected time t, where z_{alt} (t) is a sum of terms including the elevation coordinate A_{ms1} (t), plus a bias term B(t) arising from altitude sensor measurement error, plus a sensor noise error term Q(t) that has approximately zero mean; providing a reference elevation coordinate z_{ref} (t) as a sum including the elevation coordinate A_{ms1} (t) plus an error term G(t) that has approximately zero mean in the reference elevation coordinate at a selected calibration time t=t_{cal}, where z_{ref} (t_{cal}) is determined using at least one of (i) the altitude A_{ms1} obtained from a GPS location solution, computed using at least four satellites with no altitude constraints at one or more selected times t=t_{cal}, and (ii) an independently determined, accurate value of A_{ms1} (t_{cal}); computing an estimated altitude A_{est} (t) of the elevation coordinate A_{ms1} (t), from which the sensor bias has been removed, for a selected interval of times t>
t_{cal} as a difference A_{est} (t)=z_{alt} (t)C(t_{cal}), where C(t_{cal})=z_{alt} (t_{cal})z_{ref} (t_{cal});providing a selected second coordinate system that is expressed in latitude, longitude and altitude coordinates, (lat,lon,alt), where the altitude coordinate is A_{ell} ; determining the latitude, longitude and altitude coordinates (lat_{n}, lon_{n}, alt_{n}) that correspond to the nominal solution location coordinate values (x_{n},y_{n},z_{n}) in the selected second coordinate system; determining a signed distance Δ
MSL(lat_{n},lon_{n})=A_{ms1} A_{ell} of the selected ellipsoidal surface above the mean sea level surface at a location whose latitude and longitude coordinates in the selected second coordinate system are (lat_{n}, lon_{n}), from a lookup table that provides the signed difference between the height of the selected ellipsoid surface and the mean sea level surface at a location with latitude and longitude coordinates (lat,lon) and arbitrary altitude in the selected second coordinate system for a location with selected location coordinates in the selected first coordinate system;expressing the length r_{s} (x_{n},y_{n},z_{n}) of the vector r_{ell} (x_{n},y_{n},z_{n}) as a sum ##EQU11## calculating a distance r_{4} from the fourth satellite to a location at the altitude A_{est} by the relation r_{4} =r_{s} (x_{n},y_{n},z_{n})+(A_{est} Δ
MSL(x_{n},y_{n},z_{n})), using the estimated altitude A_{est}, and forming a difference View Dependent Claims (3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 16, 17, 19)
 2. δ
 ρ
_{4}. n =r_{4} r_{4},n ;forming a 4×
4 matrix H having entries H_{ik} (i=1, 2, 3, 4;
k=1, 2, 3,
4) defined by H_{i1} =(x_{n} x_{i})/r_{i},n, H_{i2} =(y_{n} y_{i})/r_{i},n, H_{i3} =(z_{n} z_{i})/r_{i},n for i=1, 2, 3, H_{41} =(x_{n})/r_{4},n, H_{42} =(y_{n})/r_{4},n, H_{43} =(z_{n})/r_{4},n, H_{14} =H_{24} =H_{34} =1, and H_{44} =0, and computing an inverse matrix H^{1} =G with entries G_{ik} ;computing estimated location coordinate values (x_{p},y_{p},z_{p}) for the unknown location coordinates (x,y,z), defined by ##EQU12## using the estimated location coordinate values (x_{p},y_{p},z_{p}) to determine and display, by visually perceptible means or audibly perceptible means, an estimated present location of the user.
 ρ
 8. A method for determination of location coordinates of a selected threedimensional location of a user on or adjacent to the Earth'"'"'s surface, the method comprising the steps of:
receiving Global Positioning System (GPS) signals from at least three GPS satellites, numbered i=1, 2, 3, . . . , N1 (N1≧
3) and measuring the pseudoranges ρ
_{i} from satellite number i to a selected user location;representing the pseudorange ρ
_{i} at a selected measurement time t=t_{k} as a sum
space="preserve" listingtype="equation">ρ
.sub.i (t.sub.k)=r.sub.i +b+e.sub.i,
space="preserve" listingtype="equation">r.sub.i =r.sub.i (t.sub.k)={(x.sub.i (t.sub.k)x(t.sub.k)).sup.2 +(y.sub.i (t.sub.k)y(t.sub.k)).sup.2 +(z.sub.i (t.sub.k)z(t.sub.k)).sup.2 }.sup.1/2,where (x_{i},y_{i},z_{i}) are the known, time varying location coordinates of the ith satellite in a selected first coordinate system, (x,y,z) are the true location coordinates of the user, to be determined, in the selected first coordinate system, b is an unknown user clock bias, and e_{i} represents other unknown measurement errors for satellite i, at the measurement time t=t_{k} ; providing a nominal location solution set (x_{n},y_{n},z_{n}) of known location coordinates in the selected first coordinate system that provide a nominal estimate of location solutions for the pseudorange equations for the three satellites, and defining
space="preserve" listingtype="equation">r.sub.i,n (t.sub.k)={(x.sub.i (t.sub.k)x.sub.n).sup.2 +(y.sub.i (t.sub.k)y.sub.n).sup.2 +(z.sub.i (t.sub.k)z.sub.n).sup.2 }.sup.1/2,
space="preserve" listingtype="equation">ρ
.sub.i,n (t.sub.k)=r.sub.i,n (t.sub.k)+e.sub.i '"'"' (i =1,2,3, . . . , N1),where e_{i} '"'"' is an estimate of the variable e_{i} ; computing pseudorange increments δ
ρ
_{i},n =ρ
_{i} ρ
_{i},n, for the N1 satellites numbered i=1, 2, . . . , N1;selecting a triple of location coordinates (x_{N},y_{N},z_{N})=(0,0,0) for a fictitious Nth satellite, numbered i=N, in the selected first coordinate system, where the distance from the fourth satellite location to the nominal solution location (x_{n},y_{n},z_{n}) is
space="preserve" listingtype="equation">r.sub.N,n =r.sub.n ={(x.sub.n).sup.2 +(y.sub.n).sup.2 +(z.sub.n).sup.2 }.sup.1/2 ;providing a selected mean sea level surface S_{ms1} that represents the average mean sea level of the Earth; providing a selected ellipsoid surface S_{ell} that approximates the surface of the Earth; representing the scalar length
space="preserve" listingtype="equation">r={x'"'"'.sup.2 +y'"'"'.sup.2 +z'"'"'.sup.2 }.sup.1/2of a vector r extending from the fourth satellite location to a location with coordinates (x'"'"',y'"'"',z'"'"'), where an extension of the vector r intersects the surface S_{ell} and thereby defines a vector r_{ell} (x'"'"',y'"'"',z'"'"') from the fourth satellite to this intersection point, as a sum of the length r_{s} (x'"'"',y'"'"',z'"'"') of the vector r_{ell} plus the signed altitude A_{ell} of the user with respect to the selected ellipsoidal surface,
space="preserve" listingtype="equation">r=r.sub.s +A.sub.ell ;providing an altitude sensor having an altimeter reading z_{alt} (t) as an estimate of an elevation coordinate A_{ms1} (t) of the user above the mean sea level surface at a selected time t, where z_{alt} (t) is a sum of terms including the elevation coordinate A_{ms1} (t.sub.), plus a bias term B(t) arising from altitude sensor measurement error, plus a sensor noise error term Q(t) that has approximately zero mean; providing a reference elevation coordinate z_{ref} (t) as a sum including the elevation coordinate A_{ms1} (t) plus an error term G(t) that has approximately zero mean in the reference elevation coordinate at a selected calibration time t=t_{cal}, where z_{ref} (t_{cal}) is determined using at least one of (i) the altitude A_{ms1} obtained from a GPS location solution, computed using at least four satellites with no altitude constraints at one or more selected times t=t_{cal}, and (ii) an independently determined, accurate value of A_{ms1} (t_{cal}); computing an estimated altitude A_{est} (t) of the elevation coordinate A_{ms1} (t), from which the sensor bias has been removed, for a selected interval of times t>
t_{cal} as a difference A_{est} (t)=z_{alt} (t)C(t_{cal}), where C(t_{cal})=z_{alt} (t_{cal})z_{ref} (t_{cal});providing a selected second coordinate system that is expressed in latitude, longitude and altitude coordinates, (lat,lon,alt), where the altitude coordinate is A_{ell} ; determining the latitude, longitude and altitude coordinates (lat_{n}, lon_{n}, alt_{n}) that correspond to the nominal solution location coordinate values (x_{n},y_{n},z_{n}) in the selected second coordinate system; determining a signed distance Δ
MSL(lat_{n},lon_{n})=A_{ms1} A_{ell} of the selected ellipsoidal surface above the mean sea level surface at a location whose latitude and longitude coordinates in the selected second coordinate system are (lat_{n}, lon_{n}), from a lookup table that provides the signed difference between the height of the selected ellipsoid surface and the mean sea level surface at a location with latitude and longitude coordinates (lat,lon) and arbitrary altitude in the selected second coordinate system for a location with selected location coordinates in the selected first coordinate system;expressing the length r_{s} (x_{n},y_{n},z_{n}) of the vector r_{ell} (x_{n},y_{n},z_{n}) as a sum ##EQU13## calculating a distance r_{N} from the Nth satellite to a location at the altitude A_{est} by the relation
space="preserve" listingtype="equation">r.sub.N =r.sub.s (x.sub.n,y.sub.n,z.sub.n)+(A.sub.est Δ
MSL(x.sub.n,y.sub.n,z.sub.n)),using the estimated altitude A_{est}, and forming a difference
 9. δ
 ρ
_{4}. n =r_{N} r_{N},n ;forming an N×
4 matrix H having entries H_{ik} (i=1, 2, 3, . . . , N;
k=1, 2, 3,
4) defined by H_{i1} =(x_{n} x_{i})/r_{i},n, H_{i2} =(y_{n} y_{i})/r_{i},n, H_{i3} =(z_{n} z_{i})/r_{i},n for i=1, 2, 3, . . . N1, H_{N1} =(x_{n})/r_{N},n, H_{N2} =(y_{n})/r_{N},n, H_{N3} =(z_{n})/r_{N},n, H_{N4} =0, H_{14} =H_{24} =H_{34} = . . . =H_{N1},4 =1, and computing a 4×
N matrix (H^{tr} H)^{1} H^{tr} =G with entries G_{ik} ;computing estimated location coordinate values (x_{p},y_{p},z_{p}) for the unknown location coordinates (x,y,z), defined by ##EQU14## using the estimated location coordinate values (x_{p},y_{p},z_{p}) to determine and display, by visually perceptible means or audibly perceptible means, an estimated present location of the user.
 ρ
 15. A method for determination of location coordinates of a selected position on or adjacent to the Earth'"'"'s surface with improved accuracy, the method comprising the steps of:
using a Global Positioning System (GPS) to determine the location coordinates (x_{gps}, y_{gps}, z_{gps}) of a selected location on or adjacent the Earth'"'"'s surface, for GPS signals received from a group of GPS satellites numbered i=1, 2, . . . , N (N≧
3), where the coordinate z_{gps} =z_{gps} (t) is an estimate of the true elevation or vertical coordinate A(t) of the selected location relative to a fixed vertical location at a selected time t;providing an altimeter reading z_{alt} (t) that is an estimate of the elevation coordinate A(t) of the selected location relative to the fixed vertical location at a selected time t; computing statistically determined estimates σ
_{gps} (t) and σ
_{alt} (t) of the standard deviations of the variables z_{gps} (t) and z_{alt} (t), respectively, for at least one selected time t;defining an estimate A_{est} (t) of the elevation coordinate A(t) of the selected position to be equal to z_{gps} (t) if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) satisfy a selected first criterion, and defining A_{est} (t) to be equal to z_{alt} (t) if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) satisfy a selected second criterion, and defining A_{est} (t) to be equal to a value that lies between the value z_{gps} (t) and the value z_{alt} (t) if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) satisfy neither the first criterion nor the second criterion, where the first criterion is σ
_{gps} (t)<
σ
_{alt} (t)+Δ
z_{1}, and the second criterion is σ
_{gps} (t)>
σ
_{alt} (t)+Δ
z_{2}, where Δ
z_{1} and Δ
z_{2} are selected real numbers that may be positive, negative or zero, with Δ
z_{1} ≦
Δ
z_{2} ; andcalibrating the altimeter reading a_{alt} against an accurate value for z_{alt} at least once at a selected time t=t_{cal} subsequent to a time at which an altimeter reading is initially taken.
 18. A method for determination of location coordinates of a selected position on or adjacent to the Earth'"'"'s surface with improved accuracy, the method comprising the steps of:
using a Global Positioning System (GPS) to determine the location coordinates (x_{gps}, y_{gps}, z_{gps}) of a selected location on or adjacent to the Earth'"'"'s surface, where the coordinate z_{gps} =z_{gps} (t) represents the true elevation or vertical coordinate A(t) of the selected location relative to a fixed elevation at a selected time t; providing an altimeter having an altimeter reading z_{alt} (t) that is an estimate of the elevation coordinate A(t) of the selected location at a selected time t; computing a statistically determined estimate σ
_{gps} (t) of the standard deviation of the variable z_{gps} (t) for at least one selected time by the following steps;computing the vertical dilution of precision VDOP(t) and the satellite pseudorange ρ
_{i} (t) for each satellite number i in the satellite configuration used to determine the GPS location coordinates (x_{gps}, y_{gps}, z_{gps});forming the product max_{i} [VDOP(t).ρ
_{i} (t)]=ε
_{V} (t) representing a statistical error variable for the pseudorange variables; anddefining said standard deviation σ
_{gps} (t) to be the standard deviation σ
.sub.ε
V (t) for the error variable ε
_{V} (t);computing a statistically determined estimate σ
_{alt} (t) of the standard deviations of the variable z_{alt} (t) for the selected time t; andestimating the elevation coordinate A(t) of the selected location by an estimated value A_{est} given by
space="preserve" listingtype="equation">A.sub.est (t)=w(t)z.sub.gps (t)+(1w(t))z.sub.gps (t),where w(t) is a weight function that tends monotonically toward the value 1 over a selected time interval, if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) associated with the variables z_{gps} (t) and z_{alt} (t) satisfy a selected first criterion, and that tends monotonically toward the value 0 if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) satisfy a selected second criterion. View Dependent Claims (21)
 20. A method for determination of location coordinates of a selected position on or adjacent to the Earth'"'"'s surface with improved accuracy, the method comprising the steps of:
using a Global Positioning System (GPS) to determine the location coordinates (x_{gps}, y_{gps}, z_{gps}) of a selected location on or adjacent the Earth'"'"'s surface, for GPS signals received from a group of GPS satellites numbered i=1, 2, . . . , N (N≧
3), where the coordinate z_{gps} =z_{gps} (t) is an estimate of the true elevation or vertical coordinate A(t) of the selected location relative to a fixed vertical location at a selected time t;providing an altimeter reading z_{alt} (t) that is an estimate of the elevation coordinate A(t) of the selected location relative to the fixed vertical location at a selected time t; computing a statistically determined estimate σ
_{gps} (t) of the standard deviation of the variable z_{gps} (t) for at least one selected time by the following steps;computing the vertical dilution of precision VDOP(t) and the satellite pseudorange ρ
_{i} (t) for each satellite number i in the satellite configuration used to determine the GPS location coordinates (x_{gps}, y_{gps}, z_{gps});forming the product max_{i} [VDOP(t).ρ
_{i} (t)]=ε
_{V} (t) representing a statistical error variable for the pseudorange variables; anddefining said standard deviation σ
_{gps} (t) to be the standard deviation σ
.sub.ε
V (t) for the error variable ε
_{V} (t);computing a statistically determined estimate σ
_{alt} (t) of the standard deviations of the variable z_{alt} (t) for the selected time t; andinterpreting an estimate A_{est} (t) of the elevation coordinate A(t) of the selected position to be equal to z_{gps} (t) if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) satisfy a selected first criterion, and defining A_{est} (t) to be equal to z_{alt} (t) if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) satisfy a selected second criterion. View Dependent Claims (23, 24)
 22. A method for determination of location coordinates of a selected position on or adjacent to the Earth'"'"'s surface with improved accuracy, the method comprising the steps of:
using a Global Positioning System (GPS) to determine the location coordinates (x_{gps}, y_{gps}, z_{gps}) of a selected location on or adjacent to the Earth'"'"'s surface, where the coordinate z_{gps} =z_{gps} (t) represents the true elevation or vertical coordinate A(t) of the selected location relative to a fixed elevation at a selected time t; providing an altimeter having an altimeter reading z_{alt} (t) that is an estimate of the elevation coordinate A(t) of the selected location at a selected time t; computing statistically determined standard deviations σ
_{gps} (t) and σ
_{alt} (t) of the variables z_{gps} (t) and z_{alt} (t), respectively, for at least one selected time t;estimating the elevation coordinate A(t) of the selected location by an estimated value A_{est} given by
space="preserve" listingtype="equation">A.sub.est (t)=w(t)z.sub.gps (t)+(1w(t))z.sub.gps (t),where w(t) is a weight function that tends monotonically toward the value 1 over a selected time interval, if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) associated with the variables z_{gps} (t) and z_{alt} (t) satisfy a selected first criterion, and that tends monotonically toward the value 0 if the standard deviations σ
_{gps} (t) and σ
_{alt} (t) satisfy a selected second criterion, where the first criterion is σ
_{gps} (t)<
σ
_{alt} (t)+Δ
z_{1}, and the second criterion is σ
_{gps} (t)>
σ
_{alt} (t)+Δ
z_{2}, where Δ
z_{1} and Δ
z_{2} are selected real numbers that may be positive, negative or zero, with Δ
z_{1} <
Δ
z_{2} ; andcalibrating the altimeter reading z_{alt} against an accurate value for z_{alt} at least once at a selected time t=t_{cal} subsequent to a time at which an altimeter reading is initially taken.
 25. A method for determination of location coordinates of a selected position on or adjacent to the Earth'"'"'s surface with improved accuracy, the method comprising the steps of:
using a Global Positioning System (GPS) to determine the location coordinates (x_{gps}, y_{gps}, z_{gps}) of a selected location on or adjacent the Earth'"'"'s surface, for GPS signals received from a group of GPS satellites numbered i=1, 2, . . . , N (N≧
3), where the coordinate z_{gps} =z_{gps} (t) is an estimate of the true elevation or vertical coordinate A(t) of the selected location relative to a fixed vertical location at a selected time t;providing an altimeter having an altimeter reading z_{alt} (t) that is an estimate of the elevation coordinate A(t) of the selected location relative to the fixed vertical location at a selected time t; computing statistically determined estimates σ
_{gps} (t) and σ
_{alt} (t) of the standard deviations of the variables z_{gps} (t) and z_{alt} (t), respectively, for at least one selected time t; anddefining the elevation coordinate A(t) of the selected location to be a linear combination of the values z_{gps} (t) and z_{alt} (t), defined by
space="preserve" listingtype="equation">z(t)=K.sub.1 z.sub.gps (t)+K.sub.2 z.sub.alt (t),
space="preserve" listingtype="equation">K.sub.1 =c.sub.1 (σ
.sub.gps (t)).sup.p /[c.sub.1 (σ
.sub.gps (t)).sup.p +c.sub.2 (σ
.sub.alt (t)).sup.q ],
space="preserve" listingtype="equation">K.sub.2 =c.sub.2 (σ
.sub.alt (t)).sup.q /[c.sub.1 (σ
.sub.gps (t)).sup.p +c.sub.2 (σ
.sub.alt (t)).sup.q ]=1K.sub.1,where C_{1}, C_{2}, p and q are selected positive constants.
1 Specification
This invention relates to enhancement of the availability and accuracy of two and threedimensional location coordinates from a global positioning system by use of supplementary information.
The Global Positioning System (GPS) is a network of 24 satellites that is maintained by the United States Department of Defense and is used to determine the location of an antenna that passively receives signals from a number of these satellites. The GPS satellites are distributed among six orbits (four satellites per orbit) inclined at about 55° from the equator, with consecutive satellite orbits being separated by about 60° longitude across the equator. The four satellites in each orbit have roughly 12hour orbits, and the number of satellites visible at any location on the Earth varies with time.
A range measurement is obtained from each satellite along with the location of the satellite at the time of measurement. The range measurement, referred to as pseudorange, is obtained by measuring the propagation time of the signal from the satellite to the user antenna. The pseudorange measurement has an additive component that is proportional to the relative frequency offset between the receiver oscillator and the satellite oscillator.
At least four GPS satellite pseudoranges are needed to solve for the antenna location because four unknowns are present: the (x,y,z) location coordinates of the receiver antenna in an Earthcentered, Earthfixed (ECEF) coordinate frame, and the clock bias of the receiver oscillator relative to the GPS time frame. This is known as a threedimensional location fix, because all three components of the antenna location are determined. The latitude, longitude and altitude of the antenna are easily computed from the (x,y,z) location coordinates with a well known coordinate transformation.
Altitude is generally understood to represent the height above sea level. The meansealevel (MSL) altitude of the antenna is found by converting the computed x,y,z position in ECEF coordinates into the height above a reference ellipsoid defined with the WGS84 (World Geodetic Survey of 1984) model. This model takes into account the ellipticity of the Earth. A second model is used to obtain a correction between the ellipsoid model and meansealevel at the latitude and longitude computed from the ECEF coordinates (x,y,z). The MSL altitude is the difference between the MSL height and the local height of the reference ellipsoid.
Two factors affect the accuracy of the location fix. First, the pseudorange measurement from each satellite contains additive errors from a number of sources, such as errors in the satellite position, propagationinduced signal delays, errors from multipath signals, noise in the receiver, and intentionally induced errors from Selective Availability (SA). Second, the relative geometry of the satellites used for the solution controls how the measurement errors are incorporated into the location solution. A unit of measure of suitability of the satellite geometry is the dimensionless position dilution of precision (PDOP) parameter. The PDOP value helps determine how zero mean, unit variance errors, which are independent for each satellite, are scaled into errors in the location solution.
The PDOP parameter is well known in the practice of navigation and is calculated from a matrix of direction cosines, defined by projections of a unit vector extending from the receiver antenna to each satellite, onto selected coordinate axes. The PDOP value associated with a location fix computed using four pseudoranges is inversely proportional to the volume of the tetrahedron formed by first connecting these four unit vectors at the antenna location, and then connecting the other ends of the unit vectors into four planes, each of which is formed at ends of three of these unit vectors. The largest volume, and thus the smallest and best PDOP value, occurs when one satellite is directly overhead and the other three satellites are located near the horizon and spaced apart longitudinally 120° from each other. The smallest volume, and thus the largest and worst PDOP value, occurs when the ends of the unit vectors all lie in the same plane. In this case, the volume is zero and the PDOP is infinite.
The PDOP parameter can be decomposed into horizontal and vertical dilution of precision components, HDOP and VDOP. Because the satellites are generally always above the horizon of the antenna, the VDOP parameter is generally at least twice as large as the HDOP parameter. A large portion of the measurement error is translated into the vertical direction error. For this reason, the vertical position accuracy tends to degrade faster than the horizontal accuracy when the PDOP value becomes large.
An estimate of the accuracy of the location fix is obtained by multiplying the PDOP value by an estimate of the pseudorange error standard deviation, expressed in length units. When SA is present, this error can be as large as 550 meters. With SA absent, a typical error is generally 515 meters. A good PDOP value is in the range 26. Thus, for this range of pseudorange errors, the accuracy of the position solution can vary from 1090 meters without SA, and from 10300 meters with SA. The DoD claims the inaccuracy of the horizontal position to be no more than 100 meters 95 percent of the time. This corresponds to a twosigma horizontal position error with a range error standard deviation of 33 meters and an HDOP value of 1.5.
As the PDOP value becomes larger (say, PDOP>6), the location accuracy begins to degrade significantly. In this case, a good threedimensional location fix may be unavailable. Most GPS receivers have a maximum value of PDOP at which a threedimensional location fix is performed; for larger PDOP values, the receiver may begin to compute a twodimensional location fix instead. It is assumed that a satellite range measurement is available that is exactly in the vertical direction, which is equivalent to having a satellite at the center of the Earth. The range measurement is effectively the distance from the center of the Earth to the user antenna. This measurement is called an altitude fix because the altitude computed from the resulting (x,y,z) location fix is mathematically constrained to be the altitude used when the measurement is made. In other words, the measurement specifies what the altitude coordinate of the location solution will be.
A location solution computed with this type of measurement can be thought of as a threedimensional location fix that is constrained to have a fixed component in the vertical direction. Thus, the location fix has only two degrees of freedom and is referred to as a twodimensional location fix. As a result of this measurement, the VDOP value of the resulting location solution implicitly has a value of unity, because any altitude error in the measurement will be mapped into the altitude error of the location solution with a scale factor of 1. For most satellite geometries, use of an accurate altitude measurement will lower the overall PDOP value significantly, because of use of VDOP=1. Thus, twodimensional navigation is possible with only three satellites, if the resulting HDOP value is less than a usersupplied limit.
The altitude measurement can also be included with the system of equations with more than three satellite measurements. In this case, the location solution is overdetermined; that is, more equations than unknowns are present. The resulting altitude solution will be a compromise between the altitude measurement and the altitude solution that would be available from the satelliteonly vertical location solution. As a result, the altitude measurement must be weighted more heavily, in order to force the computed altitude to be close to the altitude supplied in the altitude measurement. Overdetermined solutions are a generalization of the solutions discussed here, where the number of measurements is assumed to be equal to the number of unknowns. In either case, the altitude measurement can be used to control the altitude of the computed ECEF location coordinates (x,y,z).
In summary, in at least two situations a need exists to stabilize the location solution. In a first situation, signals from fewer than four satellites are received, because other satellites are blocked by obstructions, or because only three satellites are available above the horizon. In a second situation, a good PDOP value from a foursatellite, threedimensional location solution is not available. In these situations, a typical receiver adopts one of two modes. In a first mode, the receiver does not compute a location fix, because the user requested only threedimensional fixes. In a second mode, the receiver goes into an altitudehold mode, where the receiver assumes that the altitude is fixed, and uses this assumption to generate the fourth measurement needed to obtain a threedimensional location solution. The altitude used is generally the last altitude computed from a threedimensional GPS solution or from a reference altitude externally supplied to the receiver.
The receiver in altitudehold mode cannot update the antenna altitude. If the receiver moves only in a horizontal plane, and if the assumed altitude is correct, the receiver will report the correct horizontal position, within the accuracy of the measurements and the associated PDOP value. However, if the user antenna changes altitude, or if the assumed altitude has a large error, large errors will be observed in both the horizontal and vertical location solutions. Thus, a user relying on this navigation system will not observe an altitude change when, in fact, the altitude is changing.
In this situation, the altitude sensor is of great value. When a threedimensional location solution cannot be obtained with only GPS satellite signals, the altitude sensor can be used to generate an altitude measurement that can be added to the satellite measurements to generate a true threedimensional location fix. Here, the altitude solution changes when the user antenna changes altitude and does not maintain a constant altitude as in altitudehold mode.
Some workers have used elevationmeasuring instruments in unconventional ways to increase the accuracy of location measurements. Evans et al disclose a digital altimeter computer using an atmospheric pressure transducer, in U.S. Pat. No. 4,292,671. The apparatus uses a predetermined local ground level pressure value and a nonlinear pressureversusaltitude equation that takes different forms in two altitude ranges. Only the altitude coordinate A is determined here, and the formalism is apparently valid only for the range 1,000 ft≦A≦70,000 ft. above the Earth'"'"'s surface. In particular, no account is taken of local variation of distance of the Earth'"'"'s surface from the Earth'"'"'s center.
A presentation system that magnifies and projects selected portions of a standard navigating chart is disclosed in U.S. Pat. No. 4,513,378, issued to Antkowiak. A vehicle carrying the system receives locationindicating signals from speed and direction sensors on the vehicle, from human input signals, and from radio waves transmitted from two or more Loran stations, and integrates these signals to estimate where the vehicle is presently located. The system then selects and projects a portion of the chart that includes this estimated present location and calculates a "course to steer" based on dead reckoning, manually entered information on nearby monuments, and other navigational aids.
U.S. Pat. No. 4,514,733, issued to Schmidtlein et al, discloses a navigational control system for aircraft that uses alreadyentered topographical data and terrain details, acquired by an earlier flight over the same territory and flight path as the present flight path. The reference material used to enter the topographical data may include stereo photos, topographic maps, etc. A radar transmitter and receiver, directed at the ground immediately below, is used to monitor the relative height of the aircraft along its flight path. No provision is made for receipt and analysis of altitude and horizontal location data that are presently gathered as the flight proceeds.
Chan et al, in U.S. Pat. No. 4,584,646, disclose a navigation system that compares terrain map correlation and dead reckoning location determination to determine horizontal, twodimensional error estimates for the present location of an aircraft following a prescribed flight path. Previously measured terrain data, expressed in the frequency domain, are correlated with reference elevations stored in a map format and are used to improve the accuracy of a dead reckoning estimation of present location. An error is asserted to be determined for a barometric pressure altimeter used with the system, but the method for such determination is not discussed.
U.S. Pat. No. 4,829,304, issued to Baird, discloses a mapaided navigation system that uses TERCOMSITAN control signals. An aircraft flies over terrain to be mapped and estimates aircraft location and altitude at a sequence of sampling points. These data are Kalman filtered, and the resulting filtered data are used to determine elevation and slope for this terrain. On a subsequent flight over this terrain, an aircraft uses altimeter sensing and the terrain map to determine the most likely flight path actually followed by the aircraft.
A navigationbycorrelation system for aircraft, using a relatively transparent atmospheric window (94 GHz) for measurements, is also disclosed by Lerche in U.S. Pat. No. 4,910,674. The aircraft is flown over a selected flight path, and the ground below is continually scanned in a direction transverse to the flight path direction. The system searches for an elevation that provides maximum correlation of the elevation reference data in a system computer with the location information received by the scanner. This approach requires that information on local elevation of the terrain flown over be already loaded into the system.
A vehicle navigation system that uses local topographical maps to correct an aircraft flight path is disclosed in U.S. Pat. No. 4,939,663, issued to Baird. During flight, local altitude measurements are made and used with a digital database containing local elevation (above a ground reference surface) of the Earth'"'"'s surface. The location of the aircraft is sampled separately and is compared with the local elevation contour corresponding to the altimeter measurement; a location correction is determined that places the aircraft location over the elevation contour. Here, the local altitude coordinate of the aircraft is determined exclusively by the altimeter measurement, and the other two aircraft position coordinates are determined approximately by independent position sampling, which may use aircraft dead reckoning.
In U.S. Pat. No. 4,977,509, issued to Pitchford et al, a handheld, multipurpose navigational instrument is disclosed that determines bearing, inclination, declination, temperature, barometric pressure, elapsed time and other variables. The apparatus uses an internal flux gate magnetometer for orientation information and uses a real time clock for time measurement, a foldable LCD display for navigation information, a keyboard for data entry and function choice, and a microprocessor for determining instrument twodimensional location utilizing internal software and magnetometer measurements. Barometric pressure measurements, corrected for local temperature, are used to determine altitude or elevation.
Ando discloses a use of a vehiclemounted GPS antenna and receiver for tracking GPS satellite signals without interruption when the vehicle passes through tunnels or urban canyons ("dead zones") and the GPS signals are temporarily lost, in U.S. Pat. No. 4,983,980. As soon as the vehicle emerges from the dead zone, the GPS receiver acquires a GPS signal from one satellite with the highest elevation angle, then begins to search for other GPS satellites, using known relative orbital positions for each GPS satellite. This approach is intended to reduce the time required for capture of GPS signals from a plurality of GPS satellites.
A map and text display system for aircraft navigation is disclosed by Factor et al in U.S. Pat. No. 5,057,835. The system stores terrain elevation information for regions adjacent to a flight path and compares the presently measured aircraft altitude with the maximum terrain elevation for the local region over which the aircraft is positioned, to determine if the aircraft altitude is above a safety threshold for that region. Aircraft latitude, longitude and altitude are determined conventionally, and no second source of aircraft altitude information is used to vary or improve the altitude estimate.
In U.S. Pat. No. 5,142,480, Morrow discloses method and apparatus for determination of a safe glide path for an aircraft approaching a landing site. The system uses horizontal location information provided by two or more Loran radiowave sources and vertical location information provided by an altimeter. The system provides backup calculations of all three location coordinates by the Loran information, if the altimeter is not operative. However, if the altimeter is operative, no integration of the altimeter readings and the Lorandetermined vertical coordinate readings is performed.
A guidable airborne instrument module is disclosed in U.S. Pat. No. 5,186,418, issued to Lauritsen. The module, when released, receives signals from a plurality of groundbased beacons and determines the altitude and horizontal location of the module, for purposes controlling a module rudder to cause the module to controllably descend to a chosen landing site. An onboard radio transmitter broadcasts the present location of the module as the module descends.
Gloor, in U.S. Pat. No. 5,191,792, discloses a handheld navigation instrument that uses a magnetometer and a pressure sensor to provide information on the present heading and the present altitude, respectively, of a user. A microprocessor contained therein switches between a direction computation mode with LCD display and an altitude computation mode with LCD display.
In U.S. Pat. No. 5,202,829, Geier discloses a shipboard location determination system in which GPSdetermined pseudorange values are passed through a Kalman filter. The Kalmanfiltered pseudorange values PR are monitored to determine the quality of each such PR value in a weighted least squares location solution process. The location solutions can be visually displayed as error ellipses.
An onboard system for determination of the location of an airborne vessel, such as an aircraft, is disclosed in U.S. Pat. No. 5,208,757, issued to Appriou et al. The spatial coordinates of discrete landmarks on the terrain below are entered into a computer memory. As the vessel flies over a landmark, the known location of this landmark is used to correct the location given by another navigation means that uses images of small portions of the terrain below for location determination. Kalman filtering is applied to the location of the vessel relative to the terrain.
Masumoto discloses a GPS location determination system, supplemented by an altimeter, in U.S. Pat. No. 5,210,540. When threedimensional GPSdetermined location coordinates are available, the system ignores the altimeter, irrespective of the quality of the GPS signals. When only two location coordinates (latitude and longitude) are available using the GPS signals, the system uses the altimeter to provide a third (relative altitude) coordinate. No blending or optimization of the GPS and altimeter readings is disclosed or suggested. The system also stores measured altitude values for major roads and compares these values with the altimeter readings by map matching of latitude and longitude coordinates.
An integrated aircraft guidance system, using GPS, an inertial navigation system (INS) and a microwave landing system (MLS), is disclosed by McElreath in U.S. Pat. No. 5,216,611. The aircraft uses a Kalman filter to integrate GPS and INS navigation data for most of a pointtopoint flight, until the aircraft comes within a few miles of the destination airport, where valid MLS data become available. The Kalman filter is then calibrated by the MLS data to permit precision landing using only the combined GPS/INS system, if MLS signals are lost during the landing. The locations determined by GPS/INS alone and by MLS alone are weighted to produce a composite location estimate, using only the distance d of the aircraft from the destination to determine the relative weights. The GPS/INS weight varies from 0.0 at d≦5 nautical miles to 1.0 at d≧10 nautical miles. No specific information is given on integration of the GPS and INS data.
U.S. Pat. No. 5,225,842, issued to Brown et al, discloses a vehicle tracking system that uses a GPS translator (not a full GPS receiver/processor) to sense certain GPS satellite signals at the vehicle. This GPS signal information is transmitted, unprocessed, to a remote GPS master station where this information is analyzed and the vehicle location and velocity are determined by postprocessing. The master station can also employ satellite altitude maps and other aids, such as estimates of atmospheric time delays and clock offsets, to determine the changing locations of GPS satellites whose signals are received by the GPS translator on the vehicle.
A dead reckoning location detector and a GPS location determination system are combined for vehicle navigation in U.S. Pat. No. 5,257,198, issued to Hirata. GPS data are used preferentially to determine vehicle location, if GPS signals from at least three satellites are available. If these signals are not available, or if the GPSdetermined distance the vehicle has traveled exceeds a predetermined threshold, dead reckoning is used exclusively to estimate the present vehicle location.
Hirata discloses a navigation system using a GPS location determination system, supplemented with altimeter information, in U.S. Pat. No. 5,265,025. If signals from four or more GPS satellites are available, threedimensional coordinates for the user'"'"'s present location are determined using standard GPS techniques. If signals from three or fewer GPS satellites are available, altimeter data are used to determine a vertical location coordinate, and the GPS signals are then used to determine two horizontal coordinates for the user'"'"'s present location. This method takes no account of the relative quality of the vertical coordinate data produced by the altimeter and by the GPS.
In U.S. Pat. No. 5,345,241, Huddle discloses a method for correction of inertial navigation information, when an aircraft flies over water. An onboard barometric altimeter and radar altimeter measure the aircraft vertical distance above the surface of an ellipsoidal model of the Earth and above the water surface, respectively. An onboard computer determines the differences of these two distances for a plurality of points along the aircraft path. These differences are compared with reference to a model of undulation of the true surface with respect to the ellipsoidal surface to determine deviations of the actual aircraft path from an ideal path.
An altimeterassisted reentry vehicle (REV) inertial navigation system is disclosed in U.S. Pat. No. 5,355,316, issued to Knobbe. Altimeter readings are taken and combined with the inertial system determination on the altitude in a Kalman filter arrangement that provides a correction to the inertial system altitude fix.
What is needed is an approach that supplements location coordinates determined by a GPS with measurements of one or more location coordinates by another instrument, such as an altitude sensor, to improve the accuracy of the location coordinates and/or the availability of twodimensional and threedimensional location fixes. Preferably, this approach should allow an estimate of the reduction in inaccuracy that this combination produces, based upon estimatable inaccuracies for the individual approaches without such combination.
These needs are met by the invention, which combines a GPS with an altimeter or other locationindicating instrument and provides a procedure for combination or integration of measurements made using these two systems to provide better availability or accuracy of twodimensional and/or threedimensional location coordinates than with the GPSdetermined location coordinates alone or the other instrument'"'"'s location coordinate(s) alone.
The invention combines measurements of altitude or elevation with GPSbased determination of location to provide accurate location coordinates for a GPS receiver, when GPS signals received from a satellite are noisy or purposely compromised (e.g., because of signal adjustment by Selective Availability, denoted "SA," imposed by the U.S. government), or when the GPS satellite signals received are insufficient in number to allow determination of the desired number of location coordinates. Imposition of SA signal adjustment typically degrades GPS accuracy from the range 0.110 meters to 50200 meters. An altimeter, barometer or other altitude sensor can provide altitude or elevation information that is accurate to within 1020 meters, depending upon the time elapsed since the last calibration, the quality of the last calibration and the local rate of change of barometric pressure. When only two location coordinates can be determined from the available GPS information, an altimeter will provide a more accurate determination of altitude or elevation and can provide an estimate of horizontal coordinates with improved accuracy for this location, if a local topographic map is also used. Even where SA signal adjustment is not present, the relative accuracy of a pure GPSbased location determination may be insufficient, and an altimeter or other altitude sensor can often provide more accurate information on a single location coordinate. This is especially true where GPS signals from at most three GPS satellites are available so that unambiguous threedimensional location coordinates cannot be determined. The altimeter signals can be combined with the GPS signals, using the PDOP or VDOP parameter for the satellite constellation as a criterion for use of one or the other of these altitudedetermining signals.
If the calibration variance of the altimeter is lower than the satellite ranging variance for GPS signals, the calibrated altimeter can provide a better estimate of altitude than can the GPSdetermined altitude. If the calibration variance of the altimeter is about the same as the satellite ranging variance, when selective availability is subsequently activated the calibrated altimeter can provide better availability of, and accuracy for, the measured altitude when the true altitude changes by an amount larger than the SA standard deviation σ_{SA}. Accuracy of the horizontal location coordinates is also improved, when the true altitude changes by an amount greater than σ_{SA}, because a better estimate of nominal altitude is used in computing these horizontal coordinates.
FIG. 1 illustrates use of the invention in a representative environment.
FIGS. 2A and 2B illustrate the relation between mean sea level and a geodetic reference ellipsoid that approximates the Earth'"'"'s surface.
FIG. 3 graphically compares the values of vertical coordinate error associated with GPS measurements and with altimeter measurements in a typical situation.
FIG. 4 illustrates the changes in vertical coordinate error that occur with change of GPS satellite configuration used for GPS location calculations.
In FIG. 1, a surveyor, navigator or other human or nonhuman user 11 of a location determination system carries a Satellite Positioning System (SATPS) location determination module 13 that includes an SATPS signal antenna 15 and associated SATPS signal receiver/processor 17 that receive and process SATPS signals from three or more SATPS satellites 19, 21, 23, 25. The SATPS may be a Global Positioning System (GPS), a Global Orbiting Navigation Satellite System (GLONASS), both discussed below, or a similar satellitebased location determination system. For convenient reference, the location determination system used here will be referred to as a GPS, but the invention covers use of other SATPSs as well. The GPS receiver/processor 17 receives these signals and, using analysis of either the code phase or carrier phase signals, initially determines the location coordinates of the GPS antenna 15 in a special coordinate system, such as the WGS 84 datum or the nearlyequivalent NAD 83 datum, which are discussed by Alfred Leick in GPS Satellite Surveying, John Wiley & Sons, New York, Second Edition, 1995, pp. 215232, 410429 and 486499, the information from this material being incorporated by reference herein.
If the broadcast ephemeris data and data corrections are used for computing location coordinates directly, GPS locations and vectors may be referenced to the WGS 84 datum, which provides a global coordinate system S1. The WGS 84 datum begins with a geoid, a twodimensional surface that approximates the Earth'"'"'s surface but is continuously differentiable so that a surface normal is defined and is continuous everywhere on the geoid surface. The direction of this surface normal is parallel to the local direction of total gravity (normal gravity plus the centrifugal effect of the Earth'"'"'s rotation about its rotational axis). The particular geoid chosen here is a "best fit" in some minimization sense to average sea level on the Earth. This geoid has some bulges inward and outward, especially near mountain ranges, and cannot be accurately defined mathematically by any series with a reasonable number of terms. This geoid is, therefore, approximated by an oblate ellipsoid of revolution, rotated about its minor axis, which is parallel to the Earth'"'"'s rotational axis. This ellipsoid, referred to as the geoellipsoid here for convenient reference, is slightly flattened at its poles relative to the ellipsoid'"'"'s equator, reflecting the Earth'"'"'s polar flattening due to rotation and other phenomena. The WGS 84 geoellipsoid has a semimajor axis length a, semiminor axis length b and flattening factor f related by
a=6378.137 km, (1)
f=(ab)/a=(298.257223563).sup.1. (2)
The geoellipsoid adopted by the NAD 83 datum, which is used primarily for civil surveying activities, has the same semimajor axis length but has a slightly different flattening factor, f=(298.257222101)^{1}. FIGS. 2A and 2B illustrate the relationship of a representative geoellipsoid surface 33 that approximates the geoid, and a twodimensional surface 35 representing the mean sea level (MSL) on the Earth. FIGS. 2A and 2B also show the signed distance or height
ΔMSL(x'"'"',y'"'"')=A.sub.ms1 (x'"'"',y'"'"')A.sub.ell (x'"'"',y'"'"') (3)
of the MSL surface 35 above the geoellipsoid surface 33 for a given location, prescribed by a coordinate pair (x'"'"',y'"'"'), on the MSL surface.
A surveyor, navigator or other user of a satellitebased location determination system will often record locations with reference to a local coordinate system S2 in which the location coordinates may be (North, East, Elevation) or (latitude, longitude, altitude) (often abbreviated as "(lat, lon, alt)"). The coordinate system S2 may be only locally defined, because vectors representing directions such as "North", "East" and/or "Elevation" may vary with a meridional angular coordinate, such as longitude, and with the distance of some local monument or other reference point from the equator (measured by latitude).
The user 11 in FIG. 1 also carries an altimeter, barometer or other altitudesensing device 27 that communicates with the GPS receiver/processor 17. A measurement from the altitude sensor has the same formulation as the altitude measurement used in a twodimensional location solution, except that the current altitude from the altitude sensor 27 is used and is allowed to vary, rather than being held fixed at the last GPSdetermined altitude. In this way, if the true altitude changes, this altitude change will be observed in the altitude sensor 27, and the location coordinate solution behaves as a threedimensional location solution. If the altitude used in a twodimensional GPS location is fixed at the last value of that altitude, and if the altitude sensed by the altimeter is not used in the (linearized) location solution but is simply added after a twodimensional, horizontal location fix is obtained, this twodimensional location fix will degrade as the true altitude changes further. However, if the true altitude is used in a (linearized) location solution, an update in the horizontal location fix will have no bias arising from use of the wrong altitude in this solution: The accuracy of the location solution is maintained when the altitude changes. Improvement of the accuracy of the altitude or vertical coordinate improves the accuracy of the other coordinates as well. This is a key point of the invention.
Assume that the altitude sensor 27 supplies the sensor altitude with respect to the meansealevel (MSL) surface 35 shown in FIGS. 2A and 2B. The coordinate frame is arbitrary, because a transformation from any other coordinate frame can always be performed to obtain the altitude relative to MSL. The altitude sensor 27 can provide continuous or discrete measurements. Without loss of generality, the altitude measurement is assumed to be available from the sensor at some minimum rate f_{a} with the corresponding period T_{a} =1/f_{a}, which produces altitude estimates at about the same rate and time epoch as for the GPS measurements. Thus, the altitude sensor 27 provides an independent estimate of the altitude at each of a sequence of measurement time t=t_{k} (t_{0} <t_{1} <t_{2} < . . . ). Generally, the altitude measured z_{alt} by the altitude sensor 27 will be a sum of the true altitude plus one or more error terms
z.sub.alt (t.sub.k)=A(t.sub.k)+B(t.sub.k)+Q(t.sub.k), (4)
where A(t_{k}) is the true altitude at time t_{k}, referenced to the MSL surface, B(t_{k}) is the biaslike sensor measurement error at time t_{k}, and Q(t_{k}) is sensor noise error. Ideally, the errors B(t_{k}) and Q(t_{k}) would be zero, and the altitude sensor 27 would contribute no error to the altitude estimate.
Thus, the altitude sensor error generally contains two error components. The dominant error component B(t_{k}) is generally a biaslike error, having a long time constant and changing very slowly. For example, many altimeters use barometric pressure to estimate altitude. The changing weather conditions would cause the biaslike error to change over the course of a day or over different regions of high or low pressure. The second error component Q(t_{k}) has a short time constant and is due to Gaussian measurement noise error and quantization error that can occur, for example, when the sensor output is converted to the digital domain via an analogtodigital (A/D) converter.
For the measurement to be useful, one must calibrate the sensor 27 by estimating the mean of the sensor error B(t_{k}). This is generally done by forming the difference between the sensor altitude and an altitude generated by an independent measurement, such as a measurement by GPS or another location determination system. The estimate of the bias error is then removed from the altimeter output value to produce a calibrated altimeter value. This approach is followed in the embodiments discussed below.
The notation used for this calibration procedure is as follows. First define a reference altitude measurement according to
z.sub.ref (t.sub.k)=A(t.sub.k)+G(t.sub.k), (5)
where z_{ref} (t_{k}) is a sum of the true altitude A(t_{k}) plus a zeromean additive error G(t_{k}) in this reference altitude measurement. The sensor calibration is performed at a time t=t_{cal} by forming the difference between the two independent altitude measurements.
C(t.sub.cal)=z.sub.alt (t.sub.cal)z.sub.ref (t.sub.cal)=B(t.sub.cal)+Q(t.sub.cal)G(t.sub.cal). (6)
If Q(t_{cal}) and G(t_{cal}) each has zero mean, the quantity C(t_{cal}) provides an estimate of the altimeter bias error, because
E[C(t.sub.cal)]=B(t.sub.cal), (7)
where E[u] denotes the expected value of the statistical variable u.
The calibrated sensor value is obtained for subsequent times t=t_{k} (t_{k} >t_{cal}), until a new calibration value is available, by subtracting the calibration C(t_{cal}) from the raw sensor output value to produce an altitude estimate A_{est} for which the bias is removed, viz.
A.sub.est (t.sub.k)=z.sub.alt (t.sub.k)C(t.sub.cal). (8)
A second feature of the invention is the observation that the altitude sensor information primarily operates exclusively in a calibration mode or in a navigation mode, where the navigation solution is used to calibrate the sensor 27. When the altitude sensor 27 operates in the calibration mode, the altitude sensor measurement error is estimated, and the sensor is not used in the location solution. When the sensor operates in the navigation mode, the current raw altitude measurement is compensated with the latest estimate of the altitude sensor measurement error. The compensated altitude measurement, which is assumed to be free of the majority of the measurement error, is then used in the location solution to provide a measurement of altitude.
The relative amount of time spent in either the calibration mode or the navigation mode will depend on the accuracy and stability of the altitude sensor 27 and on the availability of threedimensional location solutions from GPS satellite data. The altitude sensor 27 is used (in navigation mode) when the estimated altitude error of the calibrated altimeter is less than the estimated altitude error using only GPS. Thus, in some implementations, prior information on sensor accuracy and GPS measurement error is used to estimate the inaccuracies of the calibrated sensor altitude and of the GPSonly altitude.
In a different application, it may be desirable to provide a smooth transition between the GPSdetermined altitude and the sensordetermined altitude. In this situation, the altitude sensor error is estimated as the difference between the sensor output altitude and the latest GPSdetermined altitude. Here, the error in the sensorestimated altitude is dominated by the altitude error of the last GPSdetermined altitude, and the calibrated altitude will provide a more accurate indication of altitude change or relative altitude than will the GPSdetermined altitude. One such approach for providing this transition is discussed later, in connection with Eqs. (21) and (22).
In another application, the user 11 may supply an accurate altitude measurement to the GPS receiver/processor 17 at a selected time. This can occur when the user is near a road or trail sign that accurately reports the current altitude, referred to as a "trailhead value". This reported altitude can be used to calibrate the altitude sensor 27 or to estimate the altitude sensor error, by subtracting the reported or trailhead altitude from the sensorindicated altitude.
These last two techniques provide excellent methods of measuring relative altitude changes, because the altitude sensor accurately senses relative altitudes or altitude differences. Otherwise stated, many altitude sensors of the same type will not necessarily provide the same altitude output value, but will generally indicate the same change or difference in altitude when the altitude of the sensor changes.
In another application, the user 11 is only interested in changes in altitude relative to a given location. The receiver will calibrate the altitude sensor 27 with respect to any reference altitude value, obtained just before the time the sensor was used for navigation, and the receiver/processor 17 will report altitude changes relative to the reference altitude used for calibration. This approach will provide good altitude values relative to the reference altitude.
Some approaches are presented here that illustrate techniques that can be used to calibrate an altitude sensor. In a first technique, only a single measurement is used for a single calibration of the sensor 27. In this instance, the reference altitude may be the last threedimensional, GPSdetermined altitude, or may be a usersupplied altitude, such as a trailhead altitude value. The estimate of the altitude sensor error is then the difference between the altitude sensor measurement and the reference altitude. This estimated error is subtracted from the altitude sensor output value in subsequent altitude sensor measurements to generate a compensated altitude measurement used for surveying or navigation.
In a second technique, a sequence of GPSdetermined altitude estimates is used to calibrate the sensor 27. In this situation, the user 11 recognizes that most of the errors in the sensordetermined altitude and in the GPSdetermined altitude have zero mean random components that can be reduced through signal averaging or filtering. Thus, the difference, or residual, between the sensormeasured altitude value and the GPSdetermined altitude is formed and is blended with the previous estimate of the altitude sensor bias B(t_{n}), using a selected scalar blending factor.
This technique is general and includes all scalar Kalman filters and fixed gain filters that reduce to a first order lowpass filter. Typically, the filter gain (K_{n}) on the new residual depends on the variance of the last altitude calibration and on the variance of the current residual, which includes the variance of the sensor noise and the error of the GPSdetermined altitude. Kalman filtering is discussed by R. G. Brown and P. Hwang in Random Signal Analysis and Kalman Filtering, John Wiley & Sons, Second Edition, 1995, especially pages 409455, the information in this material being incorporated by reference herein.
Kalman filtering can be used to combine the altitude sensor values and the vertical coordinate measurements from the GPS. A onestate model is developed here for illustrative purposes. The statistical variable used here is ##EQU1## from Eqs. (6) and (7). Here, x =B(t) is a (onedimensional) state vector, and v1=Q(t) and v2=G(t) are zeromean, normally distributed, statistically independent variables with variances σ_{Q}^{2} and σ_{G} (t)^{2}, respectively. The dynamics of the transformation process are contained in a 1by1 transformation matrix H (which may be an identity matrix I or a scalar 1), with covariance matrix entry R(t)=σ_{Q}^{2} +σ_{G} (t)^{2}. The initial conditions for the process are given by x_{0}^{} (initial estimate of x)=P_{0}^{} (initial uncertainty vector)=some very large number, such as 10^{4} meters. The (onedimensional) Kalman gain matrix K_{k} at the kth step in the sequence becomes
K.sub.k =P.sub.k /(P.sub.k.sup. +R.sub.k), (11)
where P_{k}^{} and R_{k} are the projected values of P(t) and R(t) at t=t_{k}. At the kth step in the process, the updated state vector becomes ##EQU2## A new propagation matrix P_{k} is defined by the relation
P.sub.k =(IK.sub.k)P.sub.k.sup., (13)
and the propagation equation becomes
P.sub.k+1.sup. =P.sub.k +D.sub.k, (14)
where D_{k} is the drift variance between consecutive updates of the vector x . Here, the following correspondences can be made:
σ.sub.cal (t.sub.k).sup.2 ⃡P.sub.k,
C(t.sub.k)⃡x .sub.k.sup. =B.sub.est (t.sub.k)
where σ_{cal} (t_{k})^{2} is the error variance for the calibration. An estimate of altitude can then be written
A.sub.est (t)=z.sub.alt (t)C(t.sub.k) (t>t.sub.k). (15)
After an altitude sensor 27 has been used exclusively to determine the vertical coordinate z_{alt} (t) of a GPS station over a long time interval, this altimetersupplied vertical coordinate value may have drifted away from the true vertical coordinate value by a large distance. When the system has operated in a navigation mode for a considerable time (after a calibration value is determined by another measurement, such as GPS) and then switches back to calibration mode, use of a large value for the drift variance D_{k} may be required to cause the new vertical coordinate to converge quickly to the true or calibrated value of this variable.
A second, simpler approach also yields an estimate of the calibrator variance. Equations (6) and (7) are again the starting points, and a recursive estimate of the new value for the variable
C(t)=z.sub.alt (t)z.sub.ref (t)=B(t)+Q(t)G(t) (16)
is developed by use of the propagation equations
C.sub.f (t.sub.n)=(1K.sub.n)C(t.sub.n1)+K.sub.n z.sub.alt (t.sub.n),(17)
K.sub.n =max [1/n, 1/N.sub.max ]. (18)
for the filtered value C_{f} of the variable C, where n is the number of times the filtered value has been updated and N_{max} is a selected positive number. A recursive estimate for an upper bound for the variance of the error variable C_{f} (t_{n}) can be expressed as
σ.sub.C (t.sub.n).sup.2 =(1K.sub.n).sup.2 σ.sub.C (t.sub.n1).sup.2 +(K.sub.n).sup.2 σ.sub.z (t.sub.n).sup.2 =σ.sub.cal (t.sub.n).sup.2. (19)
The altitude estimate, after calibration at t=t_{n}, becomes
A.sub.est (t)=z.sub.alt (t)C.sub.f (t.sub.n) (t≧t.sub.n).(20)
The gain on the previous calibration value is one minus the residual gain factor, as indicated above, so that the mean value of the filter is unbiased; that is, both components are estimates of the sensor bias. After the filter is initialized, the filter gain K_{n} is required to be no greater than unity and no less than a selected minimum value K_{min} so that the gain does not become too small.
These techniques can be used mutually exclusively or in combination, depending on how the relative inaccuracies of the two altitude calibration sources are weighted. For example, a userentered altitude could be weighted by a multiplier according to the expected inaccuracy of the current calibration, using weight coefficients such as ##EQU3##
A.sub.est (t)=w(gps)z.sub.gps (t)+(1w)(gps))z.sub.alt (t),(22)
where p and q are selected nonnegative exponents, such as p=2 and/or q=2, and c_{1} and c_{2} are selected nonnegative weight coefficients. In another approach, Eq. (22) is used with general weight coefficients not necessarily defined by Eq. (21)), the weight coefficient w(gps)=w(t;gps) tends monotonically toward 1 (with the passage of time t) if σ_{gps} (t)<σ_{alt} (t)+Δz_{1}, and the weight coefficient w(t;gps) tends monotonically toward 0 if σ_{gps} (t)>σ_{alt} (t)+Δz_{2}, where Δz_{1} and Δz_{2} (≧Δz_{1}) are selected constants that may be positive, negative or zero.
If the user calibration inaccuracy is much lower than the estimated inaccuracy of the GPSdetermined location, the userentered altitude would be weighted more heavily. Otherwise, the user calibration would be blended more evenly with the previous calibration estimate. Apart from the fixed choices of exponents and weight coefficients, these weights are determined only by the statistical inaccuracies associated with the GPS and altitude sensor output signals. Equations (21) and (22), or Eq. (22) alone, can be used to provide a transition, discussed earlier, between the GPSdetermined altitude and the sensordetermined altitude.
The equations for using the altitude measurement in the GPS location fix are presented here. The twodimensional GPSonly and threedimensional GPSonly location fixes are presented, to illustrate differences between each of these location fixes and a threedimensional location fix that uses the altitude sensor 27.
A. Threedimensional Location Solution.
Assume that a measurement is taken at a time t=t_{k} and that an ECEF coordinate frame is used. A typical measurement of pseudorange ρ_{i} yields
ρ.sub.i =r.sub.i +b+e.sub.i, (23)
r.sub.i =[(xx.sub.i).sup.2 +(yy.sub.i).sup.2 +(zz.sub.i).sup.2 ].sup.1/2 ="true range", (24)
where (x_{i}, y_{i}, z_{i}) are the known location coordinates of the ith satellite in the ECEF frame, (x,y,z) are the unknown location coordinates of the receiver antenna in the ECEF frame, b is the unknown user clock bias, and e_{i} represents other unknown measurement errors, at time t=t_{k}, for satellite i.
Because Eq. (24) is a nonlinear equation in the unknowns x, y and z, the measurements are linearized about a nominal location (x_{n},y_{n},z_{n}). This linearization process can be repeated until the net change in the estimate is smaller than some selected threshold, at which time no further estimates of the location are made. A firstorder approximation for the measurement is formed by using the relations
r(x,y,z)≈r.sub.n (x.sub.n,y.sub.n,z.sub.n)+(∂r.sub.n /∂x)Δx+(∂r.sub.n /∂y)Δy+(∂r.sub.n /∂z)Δz(25)
x≈x.sub.n +Δx, (26)
y≈y.sub.n +Δy, (27)
z≈z.sub.n +Δz. (28)
The linearized pseudorange differential δρ_{in} is the difference between the actual and expected measurements at the nominal location, viz. ##EQU4## where ρ_{in} =r_{in} is the estimated range using the nominal location and the ith satellite. This yields a linearized system of four equations (pseudorange differentials from four satellites) in four unknowns, which can be written in matrix form as ##EQU5## The four quadruples (U_{xi},U_{yi},U_{zi},1) are assumed to be linearly independent. The matrix H_{3D} is therefore invertible, and the solution of Eq. (30) becomes
X=H.sub.3D.sup.1 Y. (37)
The complete estimated location solution (x_{p},y_{p},z_{p}) is the sum of the nominal position plus the corrections computed in Eq. (37), viz.
x.sub.p =x.sub.n +Δx, (38)
y.sub.p =y.sub.n +Δy, (39)
z.sub.p =z.sub.n +Δz. (40)
The altitude, measured relative to the MSL surface 35, of the GPS antenna is computed in two steps from the estimate of the location solution coordinates (x_{p},y_{p},z_{p}) in an ECEF system. The coordinates (x_{p},y_{p},z_{p}) are first converted to latitude, longitude and altitude above the geoellipsoid surface 33. Next, the altitude above this geoellipsoid surface is converted to height above the MSL surface 35 with a lookup table that generates the elevation difference between the geoellipsoid surface 33 and the MSL surface 35. This table is quantized according to the local latitude and longitude coordinates to yield a number Δ_{MSL} that represents the elevation difference between the MSL surface 35 and the geoellipsoid surface 33. The following relation is used in these computations:
A.sub.gps =AΔ.sub.MSL, (41)
Δ.sub.MSL =Alt(MSL)A, (42)
where A_{gps} represents the GPSdetermined altitude relative to the MSL surface 35. This altitude A_{gps} can be used for calibration with the altitude sensor as discussed above.
In order to enter a twodimensional mode, as discussed below, it is important to compute and preserve another parameter r_{s}, which is the difference between the magnitude r_{p} of the vector from the Earth'"'"'s center to the GPS user antenna and the computed altitude A_{gps}, viz.
r.sub.s =r.sub.p A.sub.gps. (43)
where
r.sub.p =[x.sub.p.sup.2 +y.sub.p.sup.2 +z.sub.p.sup.2 ].sup.1/2,(44)
The relationship between these variables is illustrated in FIG. 2B.
B. Twodimensional Location Solution.
In order to use an altitude measurement from the altitude sensor, or the last altitude if the receiver is in the altitude hold mode, a (fictitious) measurement is generated representing the range from the antenna to a fictitious satellite located at the Earth'"'"'s center. The satellite range measurement is generated by adding the desired altitude to the surface radius. This surface radius is available from the last threedimensional location fix or can be computed from the nominal location used in the twodimensional fix. See Eq. (43). The desired altitude can be specified by the user or can be determined from the altitude sensor measurements. The true range r of the present location from the center C of the Earth is
r=r.sub.s +A, (45)
where r_{s} is the distance from the origin to the MSL surface 35 at the present location and A is the true altitude above the MSL surface in the location solution. An estimate of this true range r is provided by the relation
r.sub.est =r.sub.s +A.sub.est. (46)
The true range r from the present location to the fictitious satellite with coordinates (x_{c},y_{c},z_{c})=(0,0,0) is defined by the relation
r=[(xx.sub.c).sup.2 +(yy.sub.c).sup.2 +(zz.sub.c).sup.2 ].sup.1/2.(47)
This equation is nonlinear in the location variables (x,y,z) and is linearized about the nominal location coordinates (x_{n},y_{n},z_{n}) by use of the same technique as used above in Eqs. (23) and (24), viz.
δr.sub.n =rr.sub.n
≈x.sub.n (Δx/r.sub.n)+y.sub.n (Δy/r.sub.n)+z.sub.n (Δz/r.sub.n), (48)
where
r.sub.n =[x.sub.n.sup.2 +y.sub.n.sup.2 +z.sub.n.sup.2 ].sup.1/2.(49)
A correction δr_{n} for the true range can be estimated by the relation
δr.sub.n =r.sub.s +A.sub.est r.sub.n. (50)
This measurement, combined with GPS measurements from three GPS satellites, produces a system of equations that can be written in matrix form as
Y.sub.n =H.sub.2D X.sub.n, (51)
where ##EQU6## Three degrees of freedom exist. A solution of Eq. (51) exists and can be written as
X.sub.n =(H.sub.2D).sup.1 Y.sub.n, (61)
if an inverse (H_{2D})^{1} exists for the matrix H_{2D}. The matrix H_{2D} is invertible if the three satellites corresponding to i=1, 2 and 3 are not collinear.
In order to maintain accuracy of the computed horizontal location coordinates, it is important to use the best available estimate of present altitude in such computations. If one merely uses the last threedimensional altitude from GPS in the subsequent computations, as done in the Masumoto patent, op. cit., as the vehicle altitude changes, the accuracy of the horizontal location coordinates will degrade or diverge from the true values of the horizontal location coordinates. This divergence is roughly proportional to the change in altitude experienced by the vehicle after the last accurate altitude estimate was used. In the Masumoto patent, the controller receives altitude data from the sensor and altitude data from the GPS as independent quantities. An improved estimate of altitude is never returned to or used by the GPS receiver/processor 17. In the invention disclosed here, the improved estimate of altitude is always returned to and used by the GPS receiver/processor, as indicated in Eq. (50).
Techniques are presented here for generating continuous altitude information where the altitude information is sometimes provided by GPS, when a good threedimensional PDOP is available for the satellite constellation, and at other times is provided by the altitude sensor, when three GPS satellites are available and the altitude measurement has a better associated VDOP value. Whenever this type of mode switching occurs, discontinuities can occur between the two sources of altitude values. This can occur when the calibration has a large error, or when the altitude sensor is used for navigation during a long time interval without recalibration and the sensor bias changes. Several solutions and strategies are available for dealing with these problems.
First, the altitude sensor 27 can be used to supply the altitude measurement in navigation mode at all times. The user 11 could be required to enter a reference altitude initially to calibrate the sensor 27, or the first threedimensional GPS location, or a short sequence of threedimensional location fixes, could be used to calibrate the sensor. No discontinuities would occur because the altitude sensor 27 is inherently analog and cannot manifest large jumps.
Second, a simple lowpass filter could be used on the altitude solutions computed in a threedimensional location fix that is provided either by a GPSonly threedimensional location fix or by a threedimensional location fix obtained using the altitude sensor values and other measured values. Proceeding in this manner, continuity of the reported altitude can be guaranteed even when mode switches occur between GPSdetermined altitude and sensorsupplied altitude. Third, the first and second techniques could be used together.
The altitude sensor reading A can be calibrated by several different approaches. First, the GPS signals (only) can be filtered. Second, the latest GPS altitude coordinate can be used, for relative calibration only. Third, the GPSsupplied altitude and the sensorsupplied altitude can be combined in a linear combination using (1) fuzzy logic or (2) Kalman filtering techniques or (3) weighting coefficients that depend only on estimates of the respective statistical inaccuracies of the individual altitude estimates, as done in Eqs. (21) and (22). Fourth, if an independent estimate of altitude is available, for example, from a local signpost or a weather radio broadcast, this estimate can be used to provide a trailhead altitude value to determine the GPSdetermined altitude error or the altitude sensor error.
If absolute accuracy is of importance, Differential GPS (DGPS) can be used to calibrate the altitude error. If DGPS is used for calibration, certain GPS measurement errors, which are common to all GPS receiver/processors 17, are measured by a nonmoving receiver or reference station at a known location. These measured errors are then communicated to other receiver/processors so that these errors can be removed. In this way, the measurement errors can be reduced to a level that ensures use of very accurate DGPSdetermined altitude estimates. The accuracy of the altitude value used for calibrating the sensor 27 is then enhanced. Also, an altitude sensor 27 in which the bias error is very stable, or close to zero, can be used to improve the accuracy and stability of the sensor derived altitude measurements used in the navigation mode.
Several quantitative approaches are available here, where the goal is to minimize the inaccuracies associated with the elevation or vertical coordinate z. In a first approach, one begins with the (dimensionless) position dilution of precision
PDOP(t.sub.n)=[(HDOP(t.sub.n)).sup.2 +(VDOP(t.sub.n)).sup.2 ].sup.1/2,(62)
where HDOP(t_{n}) and VDOP(t_{n}) are the horizontal and vertical components of the PDOP value for a location fix at time t=t_{n}, calculated from the present configuration of the satellites that would be used for the location fix. The estimated horizontal and vertical inaccuracies, expressed in the usual length units, become
horiz inacc(t.sub.n)=HDOP(t.sub.n)σ.sub.ρ (t.sub.n),(63)
vert inacc(t.sub.n)=VDOP(t.sub.n)σ.sub.ρ (t.sub.n),(64)
where σ.sub.ρ (t_{n}) is the present estimated standard deviation of the pseudorange error at time t_{n} in appropriate length units. Assume that the altitude sensor 27 was previously calibrated with a single GPSdetermined altitude at a time t=t_{i}. The calibration error variance is given by
σ.sub.cal (t.sub.i).sup.2 =VDOP.sub.cal (t.sub.i).sup.2. σ.sub.ρ (t.sub.i).sup.2 +σ.sub.Q.sup.2, (65)
where VDOP_{cal} (t_{i}) is the estimated (dimensionless) VDOP inaccuracy for the GPSonly vertical solution, and Q is the sum of noise error and quantization or resolution error for the altitude sensor readout. The statistical variance for the calibrated altimeter inaccuracy for a subsequent time t>t_{i} is given approximately by
σ.sub.cal (t).sup.2 ≈σ.sub.cal (t.sub.i).sup.2 +σ.sub.drift (t.sub.i).sup.2 (tt.sub.i), (66)
where it is assumed that σ_{drift} (t_{i})^{2} can be estimated from other measurements. The variance for the calibration will degrade with time because of changes in temperature, in the atmospheric conditions and in the altitude sensor itself. The elevation provided by the altimeter and by the vertical coordinate for a GPS location fix, and the difference between these values are expressed, as before, by Eqs. (4), (5) and (6), where B(t) is the slowly varying bias for the altimeter sensor. The mean value of C(t) is equal to B(t), and the variance for C(t) becomes
σ.sub.cal (t.sub.cal).sup.2 =σ.sub.v,gps (t.sub.cal).sup.2 +σ.sub.Q.sup.2. (67)
Here, the noise/quantization error Q(t) is uniformly distributed, with zero mean and variance σ_{Q}^{2} ; the error G(t) is normally distributed, with zero mean and variance σ_{v},gps (t)^{2} ; and the error variables Q and G are independent of each other.
Switching between use of the altitude sensor readout z_{alt} (t) and use of the GPSdetermined elevation coordinate z_{gps} (t) can be implemented based on any of several criteria. FIG. 3 illustrates a representative situation in which each of the calculated GPS error variable σ_{v},gps (t)=VDOP(t).σ.sub.ρ (t) and the calculated altimeter standard deviation σ_{cal} (t) varies with time. The GPS error variable σ_{v},gps (t) reaches a minimum value σ_{v},gps,min at times t=t_{min},1 and t=t_{min},2. The altitude sensor standard deviation σ_{cal} (t) reaches a minimum value at a time t=t_{cal} when (re)calibration occurs, beyond which σ_{cal} (t) increases approximately linearly with time, as indicated in Eq. (66), until the next altimeter (re)calibration occurs. The altitude sensor readout z_{alt} (t) for the elevation coordinate can be used where σ_{cal} (t) is less than σ_{v},gps (t), and the GPS elevation coordinate z_{gps} (t) can be used where this inequality is not satisfied, viz. ##EQU7## Alternatively, one can favor use of the altimeter value z_{alt} (t) by imposing instead the conditions ##EQU8## where Δz_{0} (≈150 meters) is a selected positive constant. Alternatively, one can favor use of the GPS elevation coordinate z_{gps} (t) by imposing Eqs. (69A) and (69B) with Δz_{0} being a selected negative constant. In practice, it is preferable to allow the elevation coordinate z(t) to move between the values z_{alt} (t) and z_{gps} (t) in a transition time interval so that no abrupt changes in z(t) occur.
The system can also switch from use of the GPS elevation coordinate z_{gps} (t) to use of the altitude sensor value z_{alt} (t) whenever a trailhead altitude value becomes available. A trailhead altitude value might be taken from a sign on a trail or roadway indicating the elevation at that point or might be taken from a known elevation of some monument or other feature, such as a hilltop or mountain peak or the surface of a body of water. As noted above, a difference in two consecutive altitude sensor readings Δz_{alt} =z_{alt} (t_{2})z_{alt} (t_{1}) is generally more accurate than a single sensor reading z_{alt} (t_{1}) or z_{alt} (t_{2}), because the quantization noise Q(t) is smaller than the altitude bias B(t). Thus, if the altitude sensor is recalibrated with a trailhead value z_{alt} (t_{trailhead})_{cal} of altitude at an appropriate point, the accuracy of subsequent sensor readings can be enhanced by redefining z_{alt} by the relations
C.sub.th (t.sub.cal)=z.sub.alt (t.sub.cal)z.sub.trailhead (t.sub.cal),(70)
A.sub.est (t)=z.sub.alt (t)C.sub.th (t.sub.cal), (71)
subject to degradation of subsequent sensor readings by drift as indicated in Eq. (66). The first term on the right in Eq. (68A) is the calibrated altitude, and the second term is the difference between the trailhead altitude value and the calibrated altitude value with bias removed.
The system can also switch from use of the GPS elevation coordinate z_{gps} (t) to use of the altitude sensor value z_{alt} (t) by recalibrating the altimeter at an arbitrary but suitable time t=t_{cal}, using the alternative definition
C.sub.gps (t.sub.cal)=z.sub.alt (t.sub.cal)z.sub.gps (t.sub.cal),(72)
A.sub.est (t)=z.sub.alt (t)C.sub.gps (t.sub.cal), (73)
With reference to the definition in Eq. (72), the user could define z_{gps} (t_{cal}) to be an arithmetical average of N (≧2) consecutive or nonconsecutive values of GPS elevation fix z_{gps} (t) over a selected time interval during which the actual elevation changes little or not at all, as in Eqs. (72) and (73). ##EQU9## The user 11 could, for example, remain at the same elevation, or remain stationary, during the time interval chosen for calculation of the averages.
The satellite configuration used for calculation of the GPS location coordinates will change at certain times t=t_{ch},j (j=1, 2, . . . ) as a given satellite is added to or deleted from the GPS satellite configuration. At such times, the value of the calculated GPS vertical error σ_{v},gps (t)=VDOP(t).σ.sub.ρ (t) will often change abruptly, as indicated in FIG. 4, as compared with changes in σ_{v},gps (t) that occur between two consecutive values t=t_{ch},j and t=t_{ch},j+1. In another alternative for switching between the altimeter reading and the GPS elevation coordinate, a maximum permissible GPS vertical error σ_{v},gps,max is selected and one defines ##EQU10## If the definition of A_{est} in Eq. (73) is adopted, it may be preferable to provide a modest time interval of length τ<<min_{1}≦i≦N1 (t_{ch},j+1 t_{ch},j) for a smoothed transition between the vertical coordinate values A_{est} (t) and z_{gps} (t).
A reference elevation coordinate z_{ref} (t_{cal}) can be used to estimate the true elevation or vertical coordinate z(t), for a selected time interval including times t≧t_{cal} during which: (i) a GPS estimate z_{gps} (t) changes by no more than a selected threshold amount Δz_{gps},thr (e.g., 520 meters); (ii) the user determines that the true elevation changes by no more than a selected threshold amount Δz_{gps},thr ; (iii) the magnitude of the vertical velocity component v_{gps},vert (t), as estimated by the GPS, never exceeds a selected threshold amount v_{gps},vert,thr ; or (iv) the magnitude of the horizontal velocity component v_{gps},horiz (t), as estimated by the GPS, never exceeds a selected threshold amount v_{gps},horiz,thr. In such instances, the reference elevation coordinate z_{ref} (t_{cal}) can be taken as a time average of the GPS estimate of the elevation coordinate z(t), as a time average of the altitude sensor estimate of the elevation coordinate z(t), or as some other conveniently measured value.
The above discussion, which was presented for a GPS location determination system, can be used with any Satellite Positioning System as the location determination system. A Satellite Positioning System (SATPS) is a system of satellite signal transmitters, with receiver/processors located on the Earth'"'"'s surface or adjacent to the Earth'"'"'s surface, that transmits information from which an observer'"'"'s present location and/or the time of observation can be determined. Two operational systems, each of which qualifies as an SATPS, are the Global Positioning System (GPS) and the Global Orbiting Navigational System (GLONASS).
The Global Positioning System (GPS) is part of a satellitebased navigation system developed by the United States Defense Department under its NAVSTAR satellite program. A fully operational GPS includes up to 24 satellites approximately uniformly dispersed around six circular orbits with four satellites each, the orbits being inclined at an angle of 55° relative to the equator and being separated from each other by multiples of 60° longitude. The orbits have radii of 26,560 kilometers and are approximately circular. The orbits are nongeosynchronous, with 0.5 sidereal day (11.967 hours) orbital time intervals, so that the satellites move with time relative to the Earth below. Theoretically, three or more GPS satellites will be visible from most points on the Earth'"'"'s surface, and visual access to two or more such satellites can be used to determine an observer'"'"'s position anywhere on the Earth'"'"'s surface, 24 hours per day. Each satellite carries a cesium or rubidium atomic clock to provide timing information for the signals transmitted by the satellites. Internal clock correction is provided for each satellite clock.
Each GPS satellite transmits two spread spectrum, Lband carrier signals: an L1 signal having a frequency f1=1575.42 MHz and an L2 signal having a frequency f2=1227.6 MHz. These two frequencies are integral multiples f1=1540 f0 and f2=1200 f0 of a base frequency f0=1.023 MHz. The L1 signal from each satellite is binary phase shift key (BPSK) modulated by two pseudorandom noise (PRN) codes in phase quadrature, designated as the C/Acode and Pcode. The L2 signal from each satellite is BPSK modulated by only the Pcode. The nature of these PRN codes is described below.
One motivation for use of two carrier signals L1 and L2 is to allow partial compensation for propagation delay of such a signal through the ionosphere, which delay varies approximately as the inverse square of signal frequency f (delay∝f^{2}). This phenomenon is discussed by MacDoran in U.S. Pat. No. 4,463,357, which discussion is incorporated by reference herein. When transit time delay through the ionosphere is determined, a phase delay associated with a given carrier signal can be determined.
Use of the PRN codes allows use of a plurality of GPS satellite signals for determining an observer'"'"'s position and for providing navigation information. A signal transmitted by a particular GPS signal is selected by generating and matching, or correlating, the PRN code for that particular satellite. All PRN codes are known and are generated or stored in GPS satellite signal receivers carried by ground observers. A first PRN code for each GPS satellite, sometimes referred to as a precision code or Pcode, is a relatively long, finegrained code having an associated clock or chip rate of 10 f0=10.23 MHz. A second PRN code for each GPS satellite, sometimes referred to as a clear/acquisition code or C/Acode, is intended to facilitate rapid satellite signal acquisition and handover to the Pcode and is a relatively short, coarsergrained code having a clock or chip rate of f0=1.023 MHz. The C/Acode for any GPS satellite has a length of 1023 chips or time increments before this code repeats. The full Pcode has a length of 259 days, with each satellite transmitting a unique portion of the full Pcode. The portion of Pcode used for a given GPS satellite has a length of precisely one week (7.000 days) before this code portion repeats. Accepted methods for generating the C/Acode and Pcode are set forth in the document GPS Interface Control Document ICDGPS200, published by Rockwell International Corporation, Satellite Systems Division, Revision B, 3 Jul. 1991, the information from this material being incorporated by reference herein.
The GPS satellite bit stream includes navigational information on the ephemeris of the transmitting GPS satellite and an almanac for all GPS satellites, with parameters providing corrections for ionospheric signal propagation delays suitable for single frequency receivers and for an offset time between satellite clock time and true GPS time. The navigational information is transmitted at a rate of 50 Baud. A useful discussion of the GPS and techniques for obtaining position information from the satellite signals is found in Tom Logsdon, The NAVSTAR Global Positioning System, Van Nostrand Reinhold, New York, 1992, pp. 1790, incorporated by reference herein.
A second configuration for global positioning is the Global Orbiting Navigation Satellite System (GLONASS), placed in orbit by the former Soviet Union and now maintained by the Russian Republic. GLONASS also uses 24 satellites, distributed approximately uniformly in three orbital planes of eight satellites each. Each orbital plane has a nominal inclination of 64.8° relative to the equator, and the three orbital planes are separated from each other by multiples of 120° longitude. The GLONASS circular orbits have smaller radii, about 25,510 kilometers, and a satellite period of revolution of 8/17 of a sidereal day (11.26 hours). A GLONASS satellite and a GPS satellite will thus complete 17 and 16 revolutions, respectively, around the Earth every 8 days. The GLONASS system uses two carrier signals L1 and L2 with frequencies of f1=(1.602+9k/16) GHz and f2=(1.246+7k/16) GHz, where k (=0, 1, 2, . . . , 23) is the channel or satellite number. These frequencies lie in two bands at 1.5971.617 GHz (L1) and 1,2401,260 GHz (L2). The L1 code is modulated by a C/Acode (chip rate=0.511 MHz) and by a Pcode (chip rate=5.11 MHz). The L2 code is presently modulated only by the Pcode. The GLONASS satellites also transmit navigational data at at rate of 50 Baud. Because the channel frequencies are distinguishable from each other, the Pcode is the same, and the C/Acode is the same, for each satellite. The methods for receiving and analyzing the GLONASS signals are similar to the methods used for the GPS signals.
Reference to a Satellite Positioning System or SATPS herein refers to a Global Positioning System, to a Global Orbiting Navigation System, and to any other compatible satellitebased system that provides information by which an observer'"'"'s position and the time of observation can be determined, all of which meet the requirements of the present invention.
A Satellite Positioning System (SATPS), such as the Global Positioning System (GPS) or the Global Orbiting Navigation Satellite System (GLONASS), uses transmission of coded radio signals, with the structure described above, from a plurality of Earthorbiting satellites. A single passive receiver of such signals is capable of determining receiver absolute position in an Earthcentered, Earthfixed coordinate reference system utilized by the SATPS. A configuration of two or more receivers can be used to accurately determine the relative positions between the receivers or stations. This method, known as differential positioning, is far more accurate than absolute positioning, provided that the distances between these stations are substantially less than the distances from these stations to the satellites, which is the usual case. Differential positioning can be used for survey or construction work in the field, providing location coordinates and distances that are accurate to within a few centimeters.
In differential position determination, many of the errors in the SATPS that compromise the accuracy of absolute position determination are similar in magnitude for stations that are physically close. The effect of these errors on the accuracy of differential position determination is therefore substantially reduced by a process of partial error cancellation.