A common means to determine the location of a device is to use a satellite position system (SPS), such as the well-known Global Positioning Satellite (GPS) system or Global Navigation Satellite System (GNSS), which employ a number of satellites that are in orbit around the Earth. Position measurements using SPS are based on measurements of propagation delay times of SPS signals broadcast from a number of orbiting satellites to an SPS receiver. Once the SPS receiver has measured the signal propagation delays for each satellite, the range to each satellite can be determined and precise navigation information including 3-dimensional position, velocity and time of day of the SPS receiver can then be determined using the measured ranges and the known locations of the satellites.
Before the SPS receiver can receive an SPS signal, however, the SPS receiver must locate the satellite relative to the receiver. Typically, the SPS receiver must locate at least four orbiting satellites before a position fix may be performed. The location of the satellites within the SPS system can be identified by a number of different pieces of information. For example, the almanac and ephemeris provide information regarding the location of all of the satellites in the “constellation”, where the ephemeris information is more accurate than the almanac information. The almanac and the ephemeris information, however, is valid for only a limited amount of time, the ephemeris information being valid for a much shorter time than the almanac information.
When a SPS receiver has already acquired the satellite signals and has determined a fix of the position of the SPS receiver, the subsequent determination of position is fast. However, when the SPS receiver is powered on, or brought out of a sleep mode, a first position fix must be performed, which includes locating the satellites. The Time to First Fix (TTFF) is the time it takes to perform this first position fix. Several factors affect how long it will take to locate the satellites, and thus, the TTFF. Factors include the length of time from the last position fix and, thus, whether the SPS receiver has valid almanac and ephemeris data and whether there is a significant change in the location of the SPS receiver since the last position fix. An SPS receiver will typically have almanac information; however, the ephemeris may be expired upon start up. Thus, satellites will need to be detected and their signals demodulated to get new ephemeris so that a position fix may be performed. Typically, an SPS receiver will use the last prior fix as a seed position for searching for visible satellites. Where there is little change in location, using the last position fix as a seed position provides a fast TTFF. If, however, there has been a large change in position, e.g., after an intercontinental flight, relying on the last position fix will result in a failed satellite search. As a result, the SPS receiver may go into a recovery mode before it can lock onto the first satellite at the expense of significantly increased TTFF.
A mobile station determines an approximate latitude using a feature of the Earth's magnetic field as measured by the mobile station. The feature of the Earth's magnetic field may be, e.g., inclination or vertical intensity, and may be determined using data from a three-dimensional magnetometer and a local vertical sensor, such as a three-dimensional accelerometer. An instantaneous value of the magnetic field feature determined using a magnetometer and accelerometer may be filtered over time to reduce the affects of user motion and the presences of large metallic masses. An approximate longitude may also be determined, e.g., based on the time difference between a local time zone and a reference time zone with a known longitude, or using an external signal such as the local country code. The mobile station uses the approximate latitude and approximate longitude, if determined, to assist in determining a position fix for the mobile station. For example, the mobile station may use the approximate latitude and approximate longitude to determine a list of visible satellites in a satellite positioning system (SPS) during a search and acquisition of satellite signals for a position fix. The mobile station may also use the approximate latitude and approximate longitude as a seed position in the position computation.
A satellite positioning system (SPS) typically includes a system of transmitters positioned to enable entities to determine their location on or above the Earth based, at least in part, on signals received from the transmitters. Such a transmitter typically transmits a signal marked with a repeating pseudo-random noise (PN) code of a set number of chips and may be located on ground based control stations, user equipment and/or space vehicles. In a particular example, such transmitters may be located on Earth orbiting satellite vehicles (SVs). For example, a SV in a constellation of Global Navigation Satellite System (GNSS) such as Global Positioning System (GPS), Galileo, Glonass or Compass may transmit a signal marked with a PN code that is distinguishable from PN codes transmitted by other SVs in the constellation (e.g., using different PN codes for each satellite as in GPS or using the same code on different frequencies as in Glonass).
In accordance with certain aspects, the techniques presented herein are not restricted to global systems (e.g., GNSS) for SPS. For example, the techniques provided herein may be applied to or otherwise enabled for use in various regional systems, such as, e.g., Quasi-Zenith Satellite System (QZSS) over Japan, Indian Regional Navigational Satellite System (IRNSS) over India, Beidou over China, etc., and/or various augmentation systems (e.g., an Satellite Based Augmentation System (SBAS)) that may be associated with or otherwise enabled for use with one or more global and/or regional navigation satellite systems. By way of example but not limitation, an SBAS may include an augmentation system(s) that provides integrity information, differential corrections, etc., such as, e.g., Wide Area Augmentation System (WAAS), European Geostationary Navigation Overlay Service (EGNOS), Multi-functional Satellite Augmentation System (MSAS), GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system (GAGAN), and/or the like. Thus, as used herein an SPS may include any combination of one or more global and/or regional navigation satellite systems and/or augmentation systems, and SPS signals may include SPS, SPS-like, and/or other signals associated with such one or more SPS.
The mobile station 100, however, is not limited to use with an SPS, but position determination techniques described herein may be implemented in conjunction with various wireless communication networks, including cellular towers 104 and from wireless communication access points 106, such as a wireless wide area network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” are often used interchangeably. A WWAN may be a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an Orthogonal Frequency Division Multiple Access (OFDMA) network, a Single-Carrier Frequency Division Multiple Access (SC-FDMA) network, Long Term Evolution (LTE), and so on. A CDMA network may implement one or more radio access technologies (RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on. Cdma2000 includes IS-95, IS-2000, and IS-856 standards. A TDMA network may implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSM and W-CDMA are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). Cdma2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN may be an IEEE 802.11x network, and a WPAN may be a Bluetooth network, an IEEE 802.15x, or some other type of network. The techniques may also be implemented in conjunction with any combination of WWAN, WLAN and/or WPAN.
As used herein, a mobile station refers to a device that is capable of determining position location and may be, e.g., a dedicated SPS receiver, including a handheld or vehicular mounted system, or cellular or other wireless communication device, personal communication system (PCS) device, personal navigation device, Personal Information Manager (PIM), Personal Digital Assistant (PDA), laptop or other suitable mobile device which is capable of receiving wireless navigation signals. The term “mobile station” is also intended to include devices which communicate with a personal navigation device (PND), such as by short-range wireless, infrared, wireline connection, or other connection—regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device or at the PND. Also, “mobile station” is intended to include all devices, including wireless communication devices, computers, laptops, etc. which are capable of communication with a server, such as via the Internet, Wi-Fi, or other network, and regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device, at a server, or at another device associated with the network. Any operable combination of the above are also considered a “mobile station.”
The mobile station 100 includes a magnetic field sensor, such a three-dimensional magnetometer, to detect one or more features of the Earth's magnetic field 112. The values of the magnetic field feature with respect to location on the Earth are known and may be included in a table stored in the mobile station 100. The value of the magnetic field feature as measured by the mobile station 100 can be compared to the table to determine a coarse position for the mobile station 100. For example, the inclination angle and/or vertical component of the magnetic field may be used to provide a rough latitude position of the mobile station 100. Moreover, the local time may be used to determine a coarse longitude position, thereby creating the boundaries for a search window or a seed position for the position calculation.
As can be seen in
Moreover, over time, e.g., from about 1850 to 1990, both the inclination and the vertical intensity have been stable, with the vertical intensity most stable. Thus, both inclination angle and vertical intensity are suitable for deriving an approximate position. If desired, however, other features of the magnetic field, e.g., total intensity shown in
Mobile station 100 includes a receiver 140, such includes a satellite positioning system (SPS) having a SPS receiver 142 that receives signals from a SPS satellites 102 (
The magnetometer 120, accelerometer 130, receiver 140, transceiver 143 and altimeter 147 are connected to and communicate with a mobile station control 150. The mobile station control 150 accepts and processes data from the various devices in the mobile station, such as the magnetometer 120, the accelerometer 130 and the receiver 140 and controls the operation of the device. The mobile station control 150 may be provided by a processor 152 and associated memory 154, a clock 153, hardware 156, software 158, and firmware 157. It will be understood as used herein that the processor 152 can, but need not necessarily include, one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like. The term processor is intended to describe the functions implemented by the system rather than specific hardware. Moreover, as used herein the term “memory” refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile station, and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
The mobile station 100 also includes a user interface 160 that is in communication with the mobile station control 150, e.g., the mobile station control 150 accepts data and controls the user interface 160. The user interface 160 includes a display 162 that displays position information as well as control menus and a keypad 164 or other input device through which the user can input information into the mobile station 100. In one embodiment, the keypad 164 may be integrated into the display 162, such as a touch screen display. The user interface 160 may also include, e.g., a microphone and speaker, e.g., when the mobile station 100 is a cellular telephone.
The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware 156, firmware 157, software 158, or any combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in memory 154 and executed by the processor 152. Memory may be implemented within the processor unit or external to the processor unit. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The inclination angle or vertical intensity of the Earth's magnetic field may be determined using the magnetometer 120 of the mobile station 100 with reference to the local vertical direction. The local vertical direction may be determined using a vertical sensor, such as the accelerometer 130, illustrated in
Thus, as illustrated in
As discussed above, if desired additional or different features of the magnetic field may be used. For example, the vertical intensity of the magnetic field may be used of or in addition to the inclination. The instantaneous value of the vertical intensity vi can be can be extracted from the six measured data values using the dot product logic 404 applying, e.g., the following dot-product formula:
If the total intensity of the magnetic field is to be used, e.g., in place of or in addition to one or both of the inclination and the vertical intensity, the instantaneous value of the total intensity ti can be extracted from the three data values from the magnetometer by logic 404 using, e.g., the following formula:
ti=√{square root over (Bx2+By2+Bz2)}. eq. 3
As illustrated in
Similarly, the acceleration perturbation detector 408 receives the three data values (Gx, Gy, and Gz) from the accelerometer 130 and analyzes the data to determine if a perturbation in the dynamics on the accelerometer 130 is present. For example, the acceleration perturbation detector 408 may detect whether the total acceleration is within an expected range around 1 G, e.g., 1.0 G±0.25 G. A different expected range may be used, but the range should be large enough to accommodate geographical variations in gravity acceleration, which may vary approximately 0.5% from pole to equator. A measured value outside the expected range indicates the presence of an error source, such as a large amount of user motion, which will generate an inaccurate estimate of inclination. Accordingly, the acceleration perturbation detector 408 provides a signal to the hold element 406 indicating the presence of a perturbation in the dynamics and, in response, the hold element 406 prevents the corresponding instantaneous inclination Sin i value from being integrated by the integration element 414.
If no perturbations are present, the hold element 406 provides the instantaneous inclination Sin i value to be compared to an inverse Sin table 412, thereby producing an instantaneous inclination i value. It should be understood that the hold element 406, if used, may be located after the inverse Sin table 412, if desired. The dot product logic 404, hold element 406, and inverse Sin table 412 may be updated at a rate of 1 sample every 0.2 s, as are the detections by the acceleration perturbation detector 408 and magnetic perturbation detector 410.
As illustrated in
The integration element 414 produces an average inclination i value that is then compared to the magnetic inclination Earth model 416, which may be a table of inclination values with respect to latitude, to convert the inclination i value to an approximate latitude of the mobile station, which is stored in memory 154. The final measurement after model 416 may be produced once every 10 seconds. The approximate latitude can then be used to determine the satellite visibility list, and thus reduce the GPS or GNSS satellite search time and complexity in an autonomous mode. It can be also used for seeding the position computation algorithms to converge faster to the true position.
As discussed above, other features of the Earth's magnetic field may be additionally or alternatively used. For example, the vertical intensity or the total intensity may be used in the determination of the latitude in a manner similar to that described above and in
The position of the mobile station can be further narrowed by determining an approximate longitude. In general, no magnetic field features exist with iso lines neatly aligned roughly in a North-South fashion along the meridians. The declination shown in
Referring to
The time difference between the reference time 502 and the local time 504 is converted to a longitude difference (506). Aside from some specific locations (e.g., where the time zones are incremented by half an hour), the time zones are in integer numbers of hours difference, where one hour is equivalent to 15° of longitude, and thus, the uncertainty is ±7.5° or ±8000 km at the equator.
Additionally, the reference time zone 508 is converted into a longitude 510, which may be stored, e.g., in memory 154. The longitude difference 506 is combined with the reference longitude 510 to determine the approximate longitude of the mobile station 100, which is stored in memory 154.
With an approximate latitude determined using a feature of the Earth's magnetic field, and an approximate longitude determined by comparing the local time and the time at a home location, the approximate position of the mobile station 100 is a roughly square cell, which at the equator has total dimensions of 1100 km in latitude by 1600 km in longitude.
Referring to
Although the present invention is illustrated in connection with specific embodiments for instructional purposes, the present invention is not limited thereto. Various adaptations and modifications may be made without departing from the scope of the invention. Therefore, the spirit and scope of the appended claims should not be limited to the foregoing description.
This application claims the benefit of U.S. Provisional Application No. 60/110,078, filed Oct. 31, 2008, which is incorporated herein by reference.