CLAIM OF PRIORITY UNDER 35 U.S.C. §119The present Application for Patent claims priority to Provisional Application No. 61/116,996 entitled “DETERMINATION OF PROCESSING DELAY FOR ACCURATE TWO-WAY RANGING IN A WIRELESS NETWORK” filed Nov. 21, 2008, and 61/117,055 entitled “LOCALIZATION VIA SIGNAL STRENGTH” filed Nov. 21, 2008, each assigned to the assignee hereof and hereby expressly incorporated by reference herein in its entirety.
REFERENCE TO CO-PENDING APPLICATIONS FOR PATENTThe present Application for Patent is related to the following co-pending U.S. patent applications.
“BEACON SECTORING FOR POSITION DETERMINATION” by Aggarwal et al., having Attorney Docket No. 090215, filed concurrently herewith, assigned to the assignee hereof, and expressly incorporated by reference herein.
“NETWORK-CENTRIC DETERMINATION OF NODE PROCESSING DELAY” by Aggarwal et al., having Attorney Docket No. 090505, filed concurrently herewith, assigned to the assignee hereof, and expressly incorporated by reference herein.
“WIRELESS-BASED POSITIONING ADJUSTMENTS USING A MOTION SENSOR” by Aggarwal et al., having Attorney Docket No. 090533, filed concurrently herewith, assigned to the assignee hereof, and expressly incorporated by reference herein.
FIELD OF DISCLOSUREAspects of this disclosure generally relate to wireless communication systems, and more specifically, to improved position determination methods and apparatuses for use with and/or by wireless mobile devices.
BACKGROUNDMobile communications networks are in the process of offering increasingly sophisticated capabilities associated with the motion and/or position location sensing of a mobile device. New software applications, such as, for example, those related to personal productivity, collaborative communications, social networking, and/or data acquisition, may utilize motion and/or position sensors to provide new features and services to consumers. Moreover, some regulatory requirements of various jurisdictions may require a network operator to report the location of a mobile device when the mobile device places a call to an emergency service, such as a 911 call in the United States.
In conventional digital cellular networks, position location capability can be provided by various time and/or phase measurement techniques. For example, in CDMA networks, one position determination approach used is Advanced Forward Link Trilateration (AFLT). Using AFLT, a mobile device may compute its position from phase measurements of pilot signals transmitted from a plurality of base stations. Improvements to AFLT have been realized by utilizing hybrid position location techniques, where the mobile station may employ a Satellite Positioning System (SPS) receiver. The SPS receiver may provide position information independent of the information derived from the signals transmitted by the base stations. Moreover, position accuracy can be improved by combining measurements derived from both SPS and AFLT systems using conventional techniques.
However, conventional position location techniques based upon signals provided by SPS and/or cellular base stations may encounter difficulties when the mobile device is operating within a building and/or within urban environments. In such situations, signal reflection and refraction, multipath, and/or signal attenuation can significantly reduce position accuracy, and can slow the “time-to-fix” to unacceptably long time periods. These shortcomings may be overcome by having the mobile device exploit signals from other existing wireless networks, such as Wi-Fi (e.g., IEEE 802.11x standards), to derive position information. Conventional position determination techniques used in other existing wireless networks may utilize round trip time (RTT) measurements derived from signals utilized within these networks.
Utilizing RTT measurement techniques to accurately determine position typically involves knowledge of time delays incurred by the wireless signals as they propagate through various network devices comprising the network. Such delays may be spatially variant due to, for example, multipath and/or signal interference. Moreover, such processing delays may change over time based upon the type of network device and/or the network device's current networking load. In practice, when employing conventional RTT positioning techniques, estimating processing delay times may involve hardware changes in the wireless access points, and/or time-consuming pre-deployment fingerprinting and/or calibration of the operational environment.
Accordingly, it may be desirable to implement various models, alone or in combination, that exploit wireless signal properties (such as, for example, RTT, signal strength, etc.) which can improve position determination while avoiding costly pre-deployment efforts and/or changes to the network infrastructure.
SUMMARYExemplary embodiments of the invention are directed to apparatus and methods for wirelessly determining the position of a mobile station. In one embodiment, a method may include measuring a round trip time (RTT) to each of a plurality of wireless access points, and estimating a first distance to each wireless access point based upon the round trip time delay and an initial processing time associated with each wireless access point. The method may further include estimating a second distance to each wireless access point based upon supplemental information, combining the first and second distance estimates to each wireless access point, and calculating the position of the mobile station based upon the combined distance estimates.
In another embodiment, an apparatus for wireless position determination is presented. The apparatus may include a wireless transceiver, a processor coupled to the wireless transceiver, and a memory coupled to the processor. The memory may store executable instructions and data for causing the processor to measure a round trip time (RTT) to each of a plurality of wireless access points, estimate a first distance to each wireless access point based upon the round trip time delay and an initial processing time associated with each wireless access point, estimate a second distance to each wireless access point based upon supplemental information, combine the first and second distance estimates to each wireless access point, and calculate the position of the mobile station based upon the combined distance estimates.
In yet another embodiment, a method for wirelessly determining a position of a mobile station using signals provided by a plurality of wireless access points is presented. The method may include measuring a distance to each wireless access point based upon a wireless signal model and calculating a position of the mobile station based upon the measured distance. The method may further include determining a computed distance to each wireless access point based upon the calculated position of the mobile station, updating the wireless signal model based upon the measured and computed distances to each wireless access point, and determining whether the wireless signal model has converged.
In yet another embodiment, an apparatus for wireless position determination of a mobile station using signals provided by a plurality of wireless access points is presented. The apparatus may include a wireless transceiver, a processor coupled to the wireless transceiver, and a memory coupled to the processor. The memory may store executable instructions and data for causing the processor to measure a distance to each wireless access point based upon a wireless signal model, calculate a position of the mobile station based upon the measured distance, determine a computed distance to each wireless access point based upon the calculated position of the mobile station, update the wireless signal model based upon the measured and computed distances to each wireless access point, and determine whether the wireless signal model has converged.
In yet another embodiment, a method for wirelessly determining a position of a mobile station may include measuring a round trip time delay to each of a plurality of wireless access points and estimating an initial processing time for each of the wireless access points. The method may further include calculating the position of the mobile station based upon the measured round trip time delays and estimated processing times, and updating the estimated processing time for each of the wireless access points based upon the calculated position of the mobile station.
In yet another embodiment, an apparatus for wirelessly determining a position of a mobile station may include a wireless transceiver, a processor coupled to the wireless transceiver, and a memory coupled to the processor. The memory may store executable instructions and data for causing the processor to measure a round trip time delay to each of a plurality of wireless access points, estimate an initial processing time for each of the wireless access points, calculate the position of the mobile station based upon the measured round trip time delays and estimated processing times, and update the estimated processing time for each of the wireless access points based upon the calculated position of the mobile station.
Various embodiments may benefit from having wireless access points which do not require knowledge of their processing times and/or require providing this information to mobile stations using beacons, ranging packets, and/or look-up tables. Such advantages can reduce the burden on wireless access point manufacturers, which may be able to avoid modifications their hardware and/or protocols. Moreover, various embodiments may permit reducing the complexity of maintaining a central database of the processing time values for different manufactures of wireless access points.
BRIEF DESCRIPTION OF THE DRAWINGSThe accompanying drawings are presented to aid in the description of embodiments of the invention and are provided solely for illustration of the embodiments and not limitation thereof.
FIG. 1 is a diagram of an exemplary operating environment for a mobile station consistent with embodiments of the disclosure.
FIG. 2 is a block diagram illustrating various components of an exemplary mobile station.
FIG. 3 is diagram illustrating an exemplary technique for determining a position of a mobile station using information obtained from a plurality of wireless access points.
FIG. 4 is a diagram showing exemplary timings within a round trip time (RTT) occurring during a wireless probe request and a response.
FIG. 5 is a graph illustrating an exemplary relationship of a received signal strength indication (RSSI) and the distance between a mobile station and a wireless access point.
FIG. 6 is a flowchart showing an exemplary process for combining wireless signal models to improve the position determination of a mobile station.
FIG. 7 is flowchart of another embodiment of the process illustrated inFIG. 6, where the distances based upon the measured signal strength (RSSI) and RTT may be combined to improve the position of the mobile station.
FIG. 8 shows a flowchart illustrating an exemplary method for adaptively improving a wireless signal model.
FIG. 9 is a graph of exemplary ranging models used to determine the distance between a mobile station and a wireless access point based upon RSSI.
FIG. 10 is a diagram of an exemplary indoor environment which may be modeled to improve distance estimates between wireless access points and a mobile station based upon RSSI.
FIG. 11 is a flowchart illustrating another exemplary method which uses both RSSI and RTT ranging models for position determination, wherein the RTT model is adaptive model.
DETAILED DESCRIPTIONAspects of the invention are disclosed in the following description and related drawings directed to specific embodiments of the invention. Alternate embodiments may be devised without departing from the scope of the invention. Additionally, well-known elements of the invention will not be described in detail or will be omitted so as not to obscure the relevant details of the invention.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. Likewise, the term “embodiments of the invention” does not require that all embodiments of the invention include the discussed feature, advantage or mode of operation.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of embodiments of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising,”, “includes” and/or “including”, when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Further, many embodiments are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits (e.g., application specific integrated circuits (ASICs)), by program instructions being executed by one or more processors, or by a combination of both. Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the invention may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the embodiments described herein, the corresponding form of any such embodiments may be described herein as, for example, “logic configured to” perform the described action.
FIG. 1 is a diagram of anexemplary operating environment100 for amobile station108. Embodiments of the invention are directed to amobile station108 which may utilize a combination of range models and/or for determining position. Other embodiments may adaptively change the ranging models, such as, for example, using round trip time measurements (RTTs) that are adjusted to accommodate for processing delays introduced by wireless access points. The processing delays may vary among different access points and may also change over time. By using supplemental information, such as, for example, a received signal strength indicator (RSSI), the base station may determine position and/or calibrate out the effects of the processing delays introduced by the wireless access points using iterative techniques.
The operatingenvironment100 may contain one or more different types of wireless communication systems and/or wireless positioning systems. In the embodiment shown inFIG. 1, a Satellite Positioning System (SPS)102 may be used as an independent source of position information for themobile station108. Themobile station108 may include one or more dedicated SPS receivers specifically designed to receive signals for deriving geo-location information from the SPS satellites.
The operatingenvironment100 may also include a plurality of one or more types Wide Area Network Wireless Access Points (WAN-WAPs)104, which may be used for wireless voice and/or data communication, and as another source of independent position information formobile station108. The WAN-WAPs104 may be part of wide area wireless network (WWAN), which may include cellular base stations at known locations, and/or other wide area wireless systems, such as, for example, WiMAX (e.g., 802.16). The WWAN may include other known network components which are not shown inFIG. 1 for simplicity. Typically, each WAN-WAPs104a-104cwithin the WWAN may operate from fixed positions, and provide network coverage over large metropolitan and/or regional areas.
The operatingenvironment100 may further include Local Area Network Wireless Access Points (LAN-WAPs)106, may be used for wireless voice and/or data communication, as well as another independent source of position data. The LAN-WAPs can be part of a Wireless Local Area Network (WLAN), which may operate in buildings and perform communications over smaller geographic regions than a WWAN. Such LAN-WAPs106 may be part of, for example, WiFi networks (802.11x), cellular piconets and/or femtocells, Bluetooth Networks, etc.
Themobile station108 may derive position information from any one or a combination of the SPS satellites102, the WAN-WAPs104, and/or the LAN-WAPs106. Each of the aforementioned systems can provide an independent estimate of the position formobile station108 using different techniques. In some embodiments, the mobile station may combine the solutions derived from each of the different types of access points to improve the accuracy of the position data.
When deriving position using the SPS102, the mobile station may utilize a receiver specifically designed for use with the SPS that extracts position, using conventional techniques, from a plurality of signals transmitted by SPS satellites102. The method and apparatus described herein may be used with various satellite positioning systems, which typically include 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.
Furthermore, the disclosed method and apparatus may be used with positioning determination systems that utilize pseudolites or a combination of satellites and pseudolites. Pseudolites are ground-based transmitters that broadcast a PN code or other ranging code (similar to a GPS or CDMA cellular signal) modulated on an L-band (or other frequency) carrier signal, which may be synchronized with GPS time. Each such transmitter may be assigned a unique PN code so as to permit identification by a remote receiver. Pseudolites are useful in situations where GPS signals from an orbiting satellite might be unavailable, such as in tunnels, mines, buildings, urban canyons or other enclosed areas. Another implementation of pseudolites is known as radio-beacons. The term “satellite”, as used herein, is intended to include pseudolites, equivalents of pseudolites, and possibly others. The term “SPS signals”, as used herein, is intended to include SPS-like signals from pseudolites or equivalents of pseudolites.
When deriving position from the WWAN, each WAN-WAPs104a-104cmay take the form of base stations within a digital cellular network, and themobile station108 may include a cellular transceiver and processor that can exploit the base station signals to derive position. It should be understood that digital cellular network may include additional base stations or other resources show inFIG. 1. While WAN-WAPs104 may actually be moveable or otherwise capable of being relocated, for illustration purposes it will be assumed that they are essentially arranged in a fixed position.
Themobile station108 may perform position determination using known time-of-arrival techniques such as, for example, Advanced Forward Link Trilateration (AFLT). In other embodiments, each WAN-WAP104a-104cmay take the form of WiMax wireless networking base station. In this case, themobile station108 may determine its position using time-of-arrival (TOA) techniques from signals provided by the WAN-WAPs104. Themobile station108 may determine positions either in a stand alone mode, or using the assistance of apositioning server110 andnetwork112 using TOA techniques, as will be described in more detail below. Note that embodiments of the disclosure include having themobile station108 determine position information using WAN-WAPs104 which are different types. For example, some WAN-WAPs104 may be cellular base stations, and other WAN-WAPs may be WiMax base stations. In such an operating environment, themobile station108 may be able to exploit the signals from each different type of WAN-WAP, and further combine the derived position solutions to improve accuracy.
When deriving position using the WLAN, themobile station108 may utilize time of arrival techniques with the assistance of thepositioning server110 and thenetwork112. Thepositioning server110 may communicate to the mobile station throughnetwork112.Network112 may include a combination of wired and wireless networks which incorporate the LAN-WAPs106. In one embodiment, each LAN-WAP106a-106emay be, for example, a WiFi wireless access point, which is not necessarily set in a fixed position and can change location. The position of each LAN-WAP106a-106emay be stored in thepositioning server110 in a common coordinate system. In one embodiment, the position of themobile station108 may be determined by having themobile station108 receive signals from each LAN-WAP106a-106e.Each signal may be associated with its originating LAN-WAP based upon some form of identifying information that may be included in the received signal (such as, for example, a MAC address). Themobile station108 may then derive the time delays associated with each of the received signals. Themobile station108 may then form a message which can include the time delays and the identifying information of each of the LAN-WAPs, and send the message vianetwork112 to thepositioning server110. Based upon the received message, the positioning server may then determine a position, using the stored locations of the relevant LAN-WAPs106, of themobile station108. Thepositioning server110 may generate and provide a Location Configuration Information (LCI) message to the base station that includes a pointer to the mobile station's position in a local coordinate system. The LCI message may also include other points of interest in relation to the location of themobile station108. When computing the position of themobile station108, the positioning server may take into account the different delays which can be introduced by elements within the wireless network.
The position determination techniques described herein may be used for various wireless communication networks such as a wide area wireless network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” may be 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, a WiMax (IEEE 802.16) 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 used for any combination of WWAN, WLAN and/or WPAN.
FIG. 2 is a block diagram illustrating various components of an exemplarymobile station200. For the sake of simplicity, the various features and functions illustrated in the box diagram ofFIG. 2 are connected together using a common bus which is meant to represent that these various features and functions are operatively coupled together. Those skilled in the art will recognize that other connections, mechanisms, features, functions, or the like, may be provided and adapted as necessary to operatively couple and configure an actual portable wireless device. Further, it is also recognized that one or more of the features or functions illustrated in the example ofFIG. 2 may be further subdivided or two or more of the features or functions illustrated inFIG. 2 may be combined.
The mobile station may include one or more wide area network transceiver(s)204 that may be connected to one ormore antennas202. The widearea network transceiver204 comprises suitable devices, hardware, and/or software for communicating with and/or detecting signals to/from WAN-WAPs104, and/or directly with other wireless devices within a network. In one aspect, the widearea network transceiver204 may comprise a CDMA communication system suitable for communicating with a CDMA network of wireless base stations; however in other aspects, the wireless communication system may comprise another type of cellular telephony network, such as, for example, TDMA or GSM. Additionally, any other type of wireless networking technologies may be used, for example, WiMax (802.16), etc. The mobile station may also include one or more localarea network transceivers206 that may be connected to one ormore antennas202. The localarea network transceiver206 comprises suitable devices, hardware, and/or software for communicating with and/or detecting signals to/from LAN-WAPs106, and/or directly with other wireless devices within a network. In one aspect, the localarea network transceiver206 may comprise a WiFi (802.11x) communication system suitable for communicating with one or more wireless access points; however in other aspects, the localarea network transceiver206 comprise another type of local area network, personal area network, (e.g., Bluetooth). Additionally, any other type of wireless networking technologies may be used, for example, Ultra Wide Band, ZigBee, wireless USB etc.
As used herein, the abbreviated term “wireless access point” (WAP) may be used to refer to LAN-WAPs106 and/or WAN-WAPs104. Specifically, in the description presented below, when the term “WAP” is used, it should be understood that embodiments may include amobile station200 that can exploit signals from a plurality of LAN-WAPs106, a plurality of WAN-WAPs104, or any combination of the two. The specific type of WAP being utilized by themobile station200 may depend upon the environment of operation. Moreover, themobile station200 may dynamically select between the various types of WAPs in order to arrive at an accurate position solution.
AnSPS receiver208 may also be included inmobile station200. TheSPS receiver208 may be connected to the one ormore antennas202 for receiving satellite signals. TheSPS receiver208 may comprise any suitable hardware and/or software for receiving and processing SPS signals. TheSPS receiver208 requests information and operations as appropriate from the other systems, and performs the calculations necessary to determine the mobile station's200 position using measurements obtained by any suitable SPS algorithm.
Amotion sensor212 may be coupled toprocessor210 to provide relative movement and/or orientation information which is independent of motion data derived from signals received by the widearea network transceiver204, the localarea network transceiver206 and theSPS receiver208. By way of example but not limitation,motion sensor212 may utilize an accelerometer (e.g., a MEMS device), a gyroscope, a geomagnetic sensor (e.g., a compass), an altimeter (e.g., a barometric pressure altimeter), and/or any other type of movement detection sensor. Moreover,motion sensor212 may include a plurality of different types of devices and combine their outputs in order to provide motion information.
Aprocessor210 may be connected to the widearea network transceiver204, localarea network transceiver206, theSPS receiver208 and themotion sensor212. The processor may include one or more microprocessors, microcontrollers, and/or digital signal processors that provide processing functions, as well as other calculation and control functionality: Theprocessor210 may also includememory214 for storing data and software instructions for executing programmed functionality within the mobile station. Thememory214 may be on-board the processor210 (e.g., within the same IC package), and/or the memory may be external memory to the processor and functionally coupled over a data bus. The details of software functionality associated with aspects of the disclosure will be discussed in more detail below.
A number of software modules and data tables may reside inmemory214 and be utilized by theprocessor210 in order to manage both communications and positioning determination functionality. As illustrated inFIG. 2,memory214 may include and/or otherwise receive apositioning module216, anapplication module218, a received signal strength indicator (RSSI)module220, and a round trip time (RTT)module222. One should appreciate that the organization of the memory contents as shown inFIG. 2 is merely exemplary, and as such the functionality of the modules and/or data structures may be combined, separated, and/or be structured in different ways depending upon the implementation of themobile station200.
Theapplication module218 may be a process running on theprocessor210 of themobile device200, which requests position information from thepositioning module216. Applications typically run within an upper layer of the software architectures, and may include Indoor Navigation, Buddy Locator, Shopping and Coupons, Asset Tracking, and location Aware Service Discovery. Thepositioning module216 may derive the position of themobile device200 using information derived from the RTTs measured from signals exchanged with a plurality of WAPs. In order to accurately determine position using RTT techniques, reasonable estimates of processing time delays introduced by each WAP may be used to calibrate/adjust the measured RTTs. The measured RTTs may be determined by theRTT module222, which can measure the timings of signals exchanged between themobile station200 and the WAPs to derive round trip time (RTT) information.
Once measured, the RTT values may be passed to thepositioning module216 to assist in determining the position of themobile device200. Thepositioning module216 may use supplemental information to estimate the processing times of the WAPs. In one embodiment, the amplitude values of the signals transmitted by the WAPs may be used to provide this information. These amplitude values may be determined in the form of RSSI measurements determined byRSSI module220. TheRSSI module220 may provide amplitude and statistical information regarding the signals to theposition module216. The position module may then estimate the processing times to calibrate the RTT measurements and accurately determine position. The position may then be output to theapplication module218 in response to its aforementioned request. In addition, thepositioning module216 may utilize aparameter database224 for exchanging operational parameters. Such parameters may include the determined processing times for each WAP, the WAPs positions in a common coordinate frame, various parameters associated with the network, initial processing time estimates, processing time estimates determined previously, etc. Details of these parameters will be provided in subsequent sections below.
In other embodiments, the supplemental information may optionally include auxiliary position and/or motion data which may be determined from other sources. The auxiliary position data may be incomplete or noisy, but may be useful as another source of independent information for estimating the processing times of the WAPs. As illustrated inFIG. 2 using dashed lines,mobile device200 may optionally store auxiliary position/motion data226 in memory which may be derived from information received other sources as described below. Moreover, in other embodiments, supplemental information may include, but not be limited to, information that can be derived or based upon Bluetooth signals, beacons, RFID tags, and/or information derived from map (e.g., receiving coordinates from a digital representation of a geographical map by, for example, a user interacting with a digital map).
In one embodiment, all or part of auxiliary position/motion data226 may be derived from information supplied bymotion sensor212 and/orSPS receiver208. In other embodiments, auxiliary position/motion data226 may be determined through additional networks using non-RTT techniques (e.g., AFLT within a CDMA network). In certain implementations, all or part of auxiliary position/motion data226 may also be provided by way ofmotion sensor212 and/orSPS receiver208 without further processing byprocessor210. In some embodiments, the auxiliary position/motion data226 may be directly provided by themotion sensor212 and/orSPS receiver208 to theprocessing unit210. Position/motion data226 may also include acceleration data and/or velocity data which may provide direction and speed. In other embodiments, position/motion data226 may further include directionality data which may only provide direction of movement.
While the modules shown inFIG. 2 are illustrated in the example as being contained inmemory214, it is recognized that in certain implementations such procedures may be provided for or otherwise operatively arranged using other or additional mechanisms. For example, all or part ofpositioning module216 and/orapplication module218 may be provided in firmware. Additionally, while in thisexample positioning module216 andapplication module218 are illustrated as being separate features, it is recognized, for example, that such procedures may be combined together as one procedure or perhaps with other procedures, or otherwise further divided into a plurality of sub-procedures.
Processor210 may include any form of logic suitable for performing at least the techniques provided herein. For example,processor210 may be operatively configurable based on instructions inmemory214 to selectively initiate one or more routines that exploit motion data for use in other portions of the mobile device.
Themobile station200 may include auser interface250 which provides any suitable interface systems, such as a microphone/speaker252,keypad254, and display256 that allows user interaction with themobile station200. The microphone/speaker252 provides for voice communication services using the widearea network transceiver204 and/or the localarea network transceiver206. Thekeypad254 comprises any suitable buttons for user input. Thedisplay256 comprises any suitable display, such as, for example, a backlit LCD display, and may further include a touch screen display for additional user input modes.
As used herein,mobile station108 may be any portable or movable device or machine that is configurable to acquire wireless signals transmitted from, and transmit wireless signals to, one or more wireless communication devices or networks. As shown inFIGS. 1 and 2, the mobile device is representative of such a portable wireless device. Thus, by way of example but not limitation,mobile device108 may include a radio device, a cellular telephone device, a computing device, a personal communication system (PCS) device, or other like movable wireless communication equipped device, appliance, or machine. 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, wire line 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, WiFi, 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.”
As used herein, the term “wireless device” may refer to any type of wireless communication device which may transfer information over a network and also have position determination and/or navigation functionality. The wireless device may be any cellular mobile terminal, personal communication system (PCS) device, personal navigation device, laptop, personal digital assistant, or any other suitable mobile device capable of receiving and processing network and/or SPS signals.
I. Models for Wireless Position Determination
A simplified environment is shown inFIG. 3 for illustrating an exemplary technique for determining a position ofmobile station108. Themobile station108 may communicate wirelessly with a plurality of WAPs311 using RF signals (e.g., 2.4 GHz) and standardized protocols for the modulation of the RF signals and the exchanging of information packets (e.g., IEEE 802.11). By extracting different types of information from the exchanged signals, and utilizing the layout of the network (i.e., the network geometry) themobile station108 may determine its position in a predefined reference coordinate system. As shown inFIG. 3, the mobile station may specify its position (x, y) using a two-dimensional coordinate system; however, embodiments disclosed herein are not so limited, and may also be applicable to determining positions using a three-dimensional coordinate system, if the extra dimension is desired. Additionally, while three WAPS311a-311care shown inFIG. 3, embodiments may utilize additional WAPs and solve for position using techniques applicable to over-determined systems, which can average out various errors introduced by different noise effects, and thus improve the accuracy of the determined position. In order to determine its position (x, y), themobile station108 may first need to determine the network geometry. The network geometry can include the positions of each of the WAPS311 in a reference coordinate system ((xk, yk), where k=1, 2, 3). The network geometry may be provided to themobile station108 in any manner, such as, for example, providing this information in beacon signals, providing the information using a dedicated server external on an external network, providing the information using uniform resource identifiers, etc.
The mobile station may then determine a distance (dk, where k=1, 2, 3) to each of the WAPs311. As will be described in more detail below, there are a number of different approaches for estimating these distances (dk) by exploiting different characteristics of the RF signals exchanged between themobile station108 and WAPs311. Such characteristics may include, as will be discussed below, the round trip propagation time of the signals, and/or the strength of the signals (RSSI).
In other embodiments, the distances (dk) may in part be determined or refined using other sources of information that are not associated with the WAPs. For example, other positioning systems, such as GPS, may be used to provide a rough estimate of dk. (Note that it is likely that GPS may have insufficient signal in the anticipated operating environments (indoors, metropolitan, etc.) to provide a consistently accurate estimate of dk. However GPS signals may be combined with other information to assist in the position determination process.) Other relative positioning devices may reside in themobile station108 which can be used as a basis to provide rough estimates of relative position and/or direction (e.g., on-board accelerometers).
Once each distance is determined, the mobile station can then solve for its position (x, y) by using a variety of known geometric techniques, such as, for example, trilateration. FromFIG. 3, it can be seen that the position of themobile station108 ideally lies at the intersection of the circles drawn using dotted lines. Each circle being defined by radius dkand center (xk, yk), where k=1, 2, 3. In practice, the intersection of these circles may not lie at a single point due to the noise and other errors in the networking system.
Sections 1 and 2 below will discuss in more detail the following wireless signal models: 1) exemplary models relating distance and wireless signal round trip time, and 2) exemplary models relating distance and wireless signal strength. As both of the exemplary models relate distance to different signal parameters, they may also be referred to as “ranging” models. One should appreciate that various embodiments of the invention are not limited to these ranging models, and that other wireless signal models may be used.
1. Determining Distance Using a Round Trip Time (RTT) Ranging Model
Determining the distance between themobile station108 and each WAP311 may involve exploiting time information of the RF signals. In one embodiment, determining the round trip time (RTT) of signals exchanged between themobile station108 and a WAP311 can be performed and converted to a distance (dk). RTT techniques can measure the time between sending a data packet and receiving a response. These methods utilize calibration to remove any processing delays. In some environments, it may be assumed that the processing delays for the mobile station and the wireless access points are the same. However, such an assumption may not be true in practice.
FIG. 4 is a diagram showing exemplary timings within a round trip time (RTT) occurring during a wireless probe request and a response. In one embodiment, the response may take the form of an acknowledgement packet (ACK); however, any type of response packet would be consistent with various embodiments of the invention. For example, an RTS (request to send) transmit packet and/or CTS (clear to send) response packet may be suitable.
To measure the RTT with respect to a given WAP311k,themobile station108 may send a directed probe request to WAP311k,and then record the time the probe request packet was sent (tTXPacket) as shown on the mobile station (MS) timeline inFIG. 4. After a propagation time tpfrom themobile station108 to the WAP311k,the WAP will receive the packet. The WAP311kmay then process the directed probe request and may send an ACK back to themobile station108 after some processing time Δ as shown on the WAP timeline inFIG. 4. After a second propagation time tp, themobile station108 may record the time the ACK packet was received (tRXACK) as shown on the MS time line. The mobile station may then determine the RTT as the time difference tRXACK−tTXPacket.
If themobile station108 knows the WAP311kprocessing time Δ, it can then estimate the propagation time to the WAP311kas (RTT−Δ)/2, which will correspond to the distance (dk) between themobile station108 and the WAP311k.However, since themobile station108 typically has no knowledge of the WAP311kprocessing time, themobile station108 should obtain an accurate estimate of the processing time Δ before it can estimate the distance to the WAP311k.Various techniques presented below will describe embodiments where themobile station108 processes the collected RSSI and RTT measurements to three or more WAPs311 to accurately estimate the WAPs311 processing times to allow the determination of the mobile station's position in space.
One will appreciate that by using a directed probe request based RTT ranging as described above, thewireless device108 does not need to associate with any of the WAPs311. Since a directed access probe is considered a unicast packet, the WAP will typically ACK a successful decoding of an access probe packet after a prescribed period of time. The ability to do this ranging without having to associate with the WAPs311 may greatly reduce the extra overhead involved.
The round-trip time between themobile station108 and WAP k may be analyzed in a ranging model as follows:
RTTk=2dk+Δk+ΔMS+nk
where:
dkis the actual distance between themobile station108 and WAP311k(ft).
Δkis the hardware processing time of the kthWAP (ns).
ΔMSis the hardware processing time at the mobile station108 (ns). Here may be assumed that the processing delay can be calibrated out the by themobile station108. Accordingly, it can be set to be zero.
nk=nz,k+nMS,k+nAP,k, which is the error in the RTT measurement (ns).
This error is the sum of the errors due to unknown WAP height, mobile station timing errors, and WAP timing errors.
One should appreciate that given because the units of distance are provided in feet, and the units of distance are provided in nano-seconds, the velocity of light may be approximated as unity to simplify the model and reduce computation time by avoiding multiply operations.
The overall noise nkmay be the sum of the WAP height, mobile station timing, and WAP timing errors listed above. After combining all these errors, the resulting probability density function may be very close to Gaussian. Thus, the noise may be modeled as Gaussian with the distance-dependent mean and standard deviation.
2. Determining Distance Using Signal Strength (RSSI) Ranging Model
The distance between each WAP311 and themobile station108 may also be estimated using information in addition to RTT for obtaining an estimate of the processing times explained above. This information is generally referred to herein as supplemental information. One form of supplemental information may take the form of the measured signal strength (RSSI) associated with the ACK packets received from each WAP311.FIG. 5 is a graph illustrating an exemplary relationship of RSSI and the distance between a mobile station and a wireless access point.
In order to effectively exploit RSSI, themobile station108 may utilize an approximate ranging model of distance, and variance of the distance, as a function of the received signal strength (RSSI). This model may be used when themobile station108 is initially trying to learn the WAP processing delays. One feature of the RTT-based positioning algorithm is that the RSSI model can be extremely simple, without the need for extensive pre-deployment fingerprinting. In one embodiment, the model may assume that the only RSSI information known to the mobile station is the approximate maximum distance dmax, in feet, as a function of RSSI in dBm. Based on initial propagation simulations for an indoor environment with WAPs having a maximum range of 225 feet, this function is provided below in Eq. 2, which is graphed inFIG. 5.
From the above distance bound, themobile station108 may convert any measured RSSI to a distance estimate that may be modeled as normally distributed with the following relationships in Eqs. 3 and 4:
where the variance assumes that 4σdRSSI=dmax.
In other embodiments, the mobile station could also model the minimum distance as a function of signal strength. However, for 2-D positioning, it is possible that a mobile station is close to a WAP in the X-Y plane (the distance utilized for positioning purposes), but sees arbitrary signal strength because of distance and obstacles in the Z-dimension. Thus, the simple RSSI model takes the minimum distance vs. signal strength as 0 ft for all RSSI.
II. Combining Ranging Models for Wireless Position Determination
The follow description provides details for a mobile station centric algorithm for position determination using ranging models which can be based upon RTT and other supplemental measurements, such as, for example, RSSI. In this embodiment, themobile device108 may estimate distances to three or more wireless access points using the two or more ranging models. Each wireless access point has positions which are known to the mobile device by providing the network geometry information using techniques mentioned above. Using these distance estimates and the location of the wireless access points311, themobile station108 can determine its position using known positioning techniques.
The following assumptions may be utilized in this embodiment:
- 1. Themobile station108 has the WAP311 positions in a local or global coordinate system (which may be obtained using methods described above).
- 2. Themobile station108 is within radio range of at least three non co-linear WAPs311 for two-dimensional positioning.
- 3. There is a consistent processing time between when a WAP receives a unicast packet to when it sends an ACK response (i.e. the processing time has low-variance).
- 4. Each WAP311 may have a different processing time delay.
- 5. Themobile station108 may be able to make a nanosecond scale measurement of RTT. This may require changes to the currentmobile station108 chipsets in thewireless transceivers204 and/or206.
- 6. Themobile station108 has an approximate model of distance as a function of RSSI.
- 7. A complete set of RSSI and RTT measurements (to all target WAPs) can be completed fast enough such that themobile station108 can be considered stationary while the measurements are taken; and
- 8. Themobile station108 has a method of determining when it has moved to a new location based on significant changes in RSSI, RTT, elapsed time since the last set of measurements, and/or additional sensor data (such as for example, motion sensor212).
FIG. 6 is a flowchart showing anexemplary method600 for combining ranging models to improve the position determination of themobile station108. The method may be performed at themobile station108 onprocessor210 using various modules and data stored inmemory214.
Upon entering a new environment, themobile device108 may initialize parameters/models associated with each WAP311k(where k=1, . . . , N) used for position determination (Block605).
Accordingly, for each WAP311k,the parameters/models may include:
- 1. The location in a local or universal coordinate system.
- 2. An identifier for the network associated with the WAP (e.g., an SSID).
- 3. An identifier associated with the WAP hardware (e.g., a MACID).
- 4. An initial processing time delay estimate and variance.
- 5. For some embodiments, a model of distance vs. signal strength (RSSI).
Once the above parameters are obtained (where they may have been downloaded from server110), they may be stored in memory in aparameter database224. Parameters 1-3 above may be obtained from annotations from a map, as described above. In alternative embodiments, parameters 2 and 3 may be learned by themobile station108 by listening to beacons that may be provided by the WAPs311 (e.g., for a WiFi network,mobile station108 may determine the SSID and the MACID from standard beacon signals). Parameter 4 above may be an a priori coarse initial estimate based upon WAP specifications, and/or a more refined value learned previously by themobile station108. Alternatively, the initial processing time read from theparameter database224 may have been provided from theserver110, which may have been previously learned bymobile station108, or by another mobile station.
As provided above in the description ofFIG. 4, the processing time for each WAP311 Δkmay be the turnaround time for sending a response to a unicast packet. For example, in 802.11a or 802.11g WiFi networks, this processing time may correspond to a delay known as the short interframe space (SIFS) and typically lies within 16000±900 ns for a 20 MHz channel. Let Δkbe the actual, unknown processing delay for WAP311k,and let {circumflex over (Δ)}kbe the mobile station best estimate of the processing delay. Themobile station108 can initially take {circumflex over (Δ)}k=16000 with a variance of
(assuming a normal distribution with 3σ=900). Alternatively, the mobile device can obtain the initial processing delays for a WAP311kby using its hardware identifier (e.g., a MACID) in a local cache that can be stored inparameter database224, or an external database to obtain an estimate of the processing time.
As will be discussed in more detail below, some embodiments may use a model of distance vs. RSSI for each WAP311 that can map each signal strength measurement RSSIkto a distance that may be normally distributed with mean dRSSI,kand and variance σdRSSI,k2. If no model is available, the mobile device can use a default model (such as, for example, the model described above in Eq. 2).
After initialization inBlock605, themobile station108 may measure round trip time (RTT) to each WAP311 (B610). Here, themobile station108, either using the widearea network transceiver204, the localarea network transceiver206, or a combination of the two, may send a directed probe request using the each WAP311 based upon the hardware identifier (e.g., MACID for WAP311k). By using, for example, directed probe requests, the mobile station can perform RTT ranging measurements without associating with the WAPs311. This can avoid the problem of not being able to utilize WAPs for RTT measurements which are locked down using some form of wireless encryption (e.g., WEP, WAP, RADIUS, etc.) and require a pass-code for access. However, one should appreciate that embodiments are not limited to probe request packets, and other types of packets may be used. Once a WAP processes the probe request, it may provide an ACK response that can be received by widearea network transceiver204 and/or localarea network transceiver206. Upon receiving the ACK response, themobile station108 may compute the RTT usingRTT module222.
As described above, based upon the RTT ranging model, each RTT measurement for WAP311kmay be given by
RTTk=2dk+Δk+nk
- where
- dkis the actual distance (ft) between themobile station108 and the WAP311k;
- Δkis the actual processing time (ns) for WAP311k;and
- nkis Gaussian noise having a mean and variance depending on distance dk.
In the above equation, the units for distance and time are feet and nano-seconds, respectively, so the speed of light propagation may be estimated as ˜1 ft/ns. This approximation may be useful as it may obviate multiplication operations when converting between distance and time, thus saving processing time and power consumption.
Using the RTT measurements and the aforementioned RTT ranging model, the distance between the mobile station and each WAP311kmay be estimated (B615). The actual processing time delay Δkfor each WAP311kmay be previously determined using manufacturer specifications and/or calibration techniques, and subsequently stored inparameter database224 for used by themobile station108.
Using a second model, a supplemental distance to each WAP may be estimated using another approach(es) which may not rely on the RTT of the signal, but rather some other supplemental information (B620). As used herein, the supplemental distance is the same distance (dk) as discussed above, but it is estimated using techniques other than RTT. In some embodiments, the supplemental information may exploit one or more alternative properties of the signals exchanged between themobile station108 and the WAPs311, such as, for example, amplitude and/or phase. In other embodiments, the supplemental information may a previously determined position. As discussed above, and presented in more detail below in the description ofFIG. 7, amplitude (e.g., RSSI) may be used to estimate the supplemental distance.
In other embodiments, other independent sensors may provide supplemental information that may be useful. For example, accelerometers or other forms of networked position determination (AFLT, etc.) may help estimate distances between the WAPs andmobile station108. Additionally, while SPS signals may be weak and/or intermittent in some of the operating environments ofmethod600, there may be, in some environments, adequate SPS signal strength which may be sufficient for determining supplemental distances between themobile station108 and the WAPs311.
For example, a mobile station with a set of valid ephemerides may be able to detect when it is indoors vs. outdoors based on its ability to detect satellites. This can help eliminate conditions when a portion of the initial bounded space is outside. If the system has provided WGS84 coordinates for the WAPs or a WGS84 landmark on a map, themobile station108 may also be able to use its last-known position from SPS to limit its current position.
In another example, themobile station108 may have motion sensor-based information (from motion sensor212) which may relate its current position to a previously established position. If, for example, a mobile station includes an accelerometer, it may know that it has experienced at most 4 meters of movement from a previously established position It can use that data to limit the range of locations at which it may currently be. A triaxial accelerometer and altimeter might also be combined to determine movement along the Z axis.
Once the two distance estimates to each WAP are determined in B615 and B620, the distance estimates may be processed to generate a combined distance estimate to each WAP (B625). This processing may include any type of statistical and/or deterministic approaches, including kalman filters, fading memory filters, minimal mean square error (MMSE) techniques, etc.
Using the combined distance to each WAP311k,themobile station108 may determine its position using conventional trilateration methods based upon the combined distances and the network geometry (B630).
FIG. 7 is flowchart of anotherembodiment700 providing an alternative approach to the process blocks615-625 illustrated inFIG. 6. InFIG. 7, the supplemental distances are based upon the measured signal strength RSSI associated with the ACK responses provided by the WAPs311. The RSSI measurements for each WAP may be mapped to distances using the models described above. These RSSI-based distances may be used in conjunction with RTT-based distances to determine position of themobile station108, and to calibrate the processing times of the WAPs311.
Further referring toFIG. 7, after the RTTs to each WAP311khave been measured (610,FIG. 6), the distance to each WAP311kis determined based upon the RSSI (B715). The measured RSSIkvalues (for each WAP) may be the average of the RTT ranging packets measured from each WAP311k.Themobile station108 may determine the distance to each WAP311kusing RSSIkbased upon the following equation.
dRSSI,k=fd(RSSIk)
σ2dRSSI,k=fσ2(RSSIk)
- where
- dRSSI,kis the distance frommobile station108 to WAP311k.
- σRSSI,k2is the variance the distance dRSSI,kbased upon RSSIk.
- fd(RSSIk) is a mathematical model relating distance and RSSI.
- fσ2(RSSIk) is a mathematical model relating variance and RSSI.
Themobile station108 may then estimate the mean and variance of the RTT noise nk. Once themobile station108 determines the RTT noise, the following can be estimated.
{circumflex over (μ)}n,k=μn,k(dRSSI,k)
{circumflex over (σ)}n,k2=σn,k2(dRSSI,k+2σdRSSI,k)
- where
- {circumflex over (μ)}n,kis an estimate of the mean of the RTT noise.
- {circumflex over (σ)}n,k2is an estimate of the variance of the RTT noise.
- μn,k(dRSSI,k) is a mathematical model of the mean RTT noise as a function of distance to WAP311k.
- σn,k2(dRSSI,k+2σdRSSI,k) is a mathematical model of the variance of the RTT noise as a function of distance to the WAP311k,where the mobile device adds 2σdRSSI,kto take a more conservative estimate of the RTT noise variance.
When themobile station108 has no knowledge of the RTT statistics, it may assume, for example, that {circumflex over (μ)}n,k=0 and {circumflex over (σ)}n,k2=50, where RTT timing is estimated using a 20 MHz clock with 50 ns resolution.
Themobile device108 may then determine the distance to each WAP311kbased upon the measured RTT (B720), and may also determine the variance of the distance based on the measured RTT using the following equations.
- where:
- dRTT,kis the RTT-based distance to each WAP311k.
- RTTkis the averaged RTT time over mkmeasurements for WAP311k.
- {circumflex over (Δ)}kis the estimated processing time for WAP311k
- σdRTT,k2is the variance of dRTT,k.
- is the variance of {circumflex over (Δ)}k
- {circumflex over (σ)}n,k2is an estimate of the variance of RTT noise.
- mkis the number RTT measurements associated with WAP311k.
Themobile station108 may truncate dRTT,kif necessary to fall between 0 and the maximum WAP311 range.
Once the RTT-based distance and variance are determined as above, themobile station108 may determine a combined distance estimate to each WAP311k(B723). In one embodiment, the combined distance estimate may be performed using a weighted combination of the RTT-based distance dRTT,kand the RSSI-based distance dRSSI,kfor each WAP311kto determine a distance estimate dest,k. This distance estimate may be determined by using a Minimum Mean Square Error (MMSE) estimator based on the following equation:
- with variance estimated as:
σdest,k2=(σdRSSI,k−2+σdRTT,k−2)−1.
The above equations may assume that the RSSI and RTT noise can be modeled as uncorrelated and Gaussian.
The above distance estimator may rely on RSSI when σdRTT,k2is large, either from uncertainty in the processing time or very noisy RTT measurements. However, once the processing time is known (e.g., low
the above MMSE estimator may put more weight on the RTT measurements.
Once the set of distances {dest,k} to each WAP311khave been determined, the method may then proceed to Block725, where the position of themobile device108 may be determined using known trilateration techniques. In other embodiments, triangulation or other positioning algorithms may be used. The distances with lower variance σdest,k2may be given more weight in the algorithm. The trilateration algorithm may also utilize past localization data to perform trajectory smoothing using, for example, Kalman filtering.
III. Updating the Ranging Models to Improve Position Determination
In order to improve the position determination process, various embodiments of the invention provide for updating the ranging models to improve their accuracy in an adaptive manner. In one embodiment, the processing times {circumflex over (Δ)}kassociated with each WAP311kused in the RTT ranging model may be updated using an iterative approach. Thus, these processing times {circumflex over (Δ)}kcan be refined through a “learning” process to arrive at better values. In other embodiments, the RSSI ranging models may be adjusted using an adaptive process to improve their fidelity. Different aspects of the models may be continuously monitored and updated if it is determined that the model should be improved.
FIG. 8 shows a flowchart illustrating anexemplary method800 for adaptively improving a wireless signal model. Themobile station108 may measure the distance to each WAP311kusing a wireless signal model (B815). While only one model is discussed here for ease of explanation, other embodiments may use a plurality of wireless signal models. A position of themobile station108 may then be calculated using conventional localization (e.g., trilateration) techniques (B820). Once themobile station108 position has been estimated,mobile station108 may compute the distance between the estimated position and each WAP311k.Using the computed distances determined in B825 and the measured distances determined in B815,mobile station108 may update the wireless signal model to improve its fidelity. As will be shown below, for example, the RTT ranging model may be improved by updated the processing time {circumflex over (Δ)}kassociated with each WAP311k.In other embodiments, coefficients associated with the RSSI ranging model may be updated, as will also be described in more detail below.
Once the model is updated in B830, a test may be performed to determine if the model has converged (B835). This test may be a simple threshold of a parameter of interest in the model, or may be a more sophisticated metric based on statistical measurements. Once the model has converged, any further iterations may only bring marginal improvements to the model and are thus may not be worth performing. If no further convergence is observed in B835, then subsequent position determinations may be performed using the updated wireless model (B840).
3.1 Updating the RTT Model Using Minimum Mean Square Error
Further referring toFIG. 8, in another embodiment of theprocess800 described above, the details are provided below when the wireless signal model is the RTT ranging model. Once the position of the mobile station has been determined, themobile station108 may update the estimated processing times {circumflex over (Δ)}kfor each WAP311kbased upon the position. After performing the position determination in B820 (e.g., trilateration), themobile station108 has the option of updating a local (e.g., parameter database224) or remote database with information about the processing times {circumflex over (Δ)}k, observed WAPs311k(e.g., based upon MACID). Embodiments allow the localization system to learn and adapt over time by varying each {circumflex over (Δ)}k, without requiring a substantial up-front deployment cost.
Below more details are presented for allowing themobile station108 to update its estimate of the processing delay. This algorithm may assume that the trilateration error at the current position in space is uncorrelated with previous measurements. That is, themobile station108 should perform this processing delay update procedure when it has moved sufficiently far from its previous location in space. Themobile station108 could estimate such movement detecting a large change in the RSSI or RTT measurements and/or by utilizing other sensors (e.g., motion sensor212).
After trilateration, themobile station108 may calculate the distance dtri,kbetween the estimated position and WAP311k.The average round-trip timeRTTk and the post-trilateration distance dtri,kmay be related via the following matrix equation:
where Δkis the exact processing time delay for WAP311k,dkis the exact distance to WAP311k,nk is the average noise in the RTT measurements, and εkis the post-trilateration error. Let us define the post-trilateration error variance, which is unknown, as σdtri,k2=E└εk2┘. A reasonable heuristic may be to take the average variance of the pre-trilateration distances, modeled using the following equation, as trilateration may have an averaging effect on the positioning error:
Themobile station108 can model all variables on the right side of the above matrix equation as being uncorrelated and normally distributed as described below.
Themobile station108 can then form an updated estimate of the processing time delays using minimum mean square error (MMSE) techniques as shown using the equations below:
The new processing time {circumflex over (Δ)}k,newmay be a weighted sum of the current processing time {circumflex over (Δ)}kand a measured processing time {circumflex over (Δ)}k,measuredthat may be derived from the RTT measurements, the RSSI distances, and the post-trilateration distances. The weights may depend on the estimated variance of the processing time. During the early stages of learning, typically
and the processing time is updated with {circumflex over (Δ)}k,new≈{circumflex over (Δ)}k,measured. During the intermediate stages {circumflex over (Δ)}k,new, may be updated whenever the measurements cause a substantial decrease in
Once {circumflex over (Δ)}khas converged, based on
the processing time may reach a steady state with {circumflex over (Δ)}k,new≈{circumflex over (Δ)}k.
3.2 Updating the RSSI Model Using Iterative Techniques
In another embodiment of the process shown inFIG. 8, the wireless signal model may be based upon an RSSI ranging model.FIG. 9 is a graph of exemplary ranging models used to determine the distance between a mobile station and a wireless access point based upon RSSI. In various embodiments, themobile station108 may “listen” for signals transmitted by each WAP311k,where the signals may be in the form of beacons. The signal strength of each transmission may be converted to a distance using a model that may be based on the deployment environment, such as, for example, an office building or shopping mall. As shown inFIG. 9 the exemplary plot of RSSI vs. distance is representative of an indoor environment, with upper and lower bounds being shown. These bounds may be based upon the variance of the RSSI. In other embodiments, as will be described in more detail below forFIG. 10, the model may be based on propagation models based upon a map of the WAP deployment.
The models may be used to convert signal strength to a distance for each WAP311k.An initial distance estimate may be determined by the midpoint of the min/max range from the RSSI, although more sophisticated approaches may be used. Trilateration may be performed using the initial distance estimates to roughly approximate the position of themobile station108. In some embodiments, the variance of the RSSI measurements may be used to weight distance estimates based upon confidence prior to trilateration (e.g., low variance distance estimates may be weighted higher than high variance estimates). Moreover, multiple measurements may be performed to each WAP311 in a short time interval to reduce noise via averaging, filtering, and/or other processing. In other embodiments, various model(s) may provide an average distance, and a variance in this distance, as a function of RSSI.
Advantages of using such a model may include: avoiding time-consuming fingerprinting of the environment of interest; generating no additional wireless traffic to determine the estimates; and utilizing standard wireless protocols (e.g., 802.11 a/b/g/n, etc.) without having to alter them.
FIG. 10 illustrates a diagram of an exemplaryindoor environment1000 which may be modeled to improve distance estimates between wireless access points and a mobile station based upon RSSI. In this environment, themobile station108 may be able to exchange wireless signals with a plurality of Local Area Network Wireless Access Points (LAN-WAPs)1006. Some LAN-WAPs, for example,1006a,1006c,and1006e,may be within direct line of sight with themobile station108. One may expect, in the absence of other forms of electronic interference, that the signals received from LAN-WAPs1006a1006c,and1006ewould be relatively strong. Other LAN-WAPs, for example1006band1006d,may reside in different rooms, and may have the signals attenuated by building obstructions such as walls. The attenuation of signals exchanged with LAN-WAPs1006band1006emay vary depending upon the material used in the construction of the walls. RSSI models relating distance and signal strength may be generated based upon theindoor environment1000. Such models may include the geometry of each LAN-WAP in relation to themobile device108, and/or geometry of each LAN-WAP in relation to the obstructions within the environment. Furthermore, such models may also include other factors affecting the signal, such as, for example, the material of the obstructions to module their attenuation effects (e.g. metal walls versus drywall), the radiation patterns of the LAN-WAP antennas, interfering signals from undesired sources (e.g., other WAPs external to the LAN), the make and model of each individual LAN-WAP1006, etc.
In some embodiments, the mobile station may already be receiving the LAN-WAP network geometry through a particular channel. Such as channel may be used to provide information about the local conditions which may be presumed to exist. For example, the channel may be used to provide a ray-tracing based model of the local conditions which would improve on the fidelity of the base RSSI model. This model might be provided in the forms as detailed as the ray-tracing of the venue or as simple as a reference to a known set of general models (e.g. “auditorium”, “cube farm”, “high-rise office”). In other embodiments, a full map of the environment may be provided, and themobile station108 may also produce its own ray-tracing model, and/or perform pattern-matching to pick a more appropriate RSSI model.
In other embodiments, the RSSI model may be dynamic in nature, and thus can be refined in an iterative manner over time as themobile station108 moves throughout theenvironment1000. For example, themobile station108 may initially start with a simple model of how the RSSI behaves with distance (for example, as described above inFIG. 5 andFIG. 9), using a ray-tracing model generated from a map of the environment, and/or from a generic model such as office, warehouse, mall, etc. Themobile station108 may then move around the environment, localizing itself using the positioning algorithm described in above. Deviations from the model may be compared, and the model updated, based upon the computed position of themobile station108.
3.3 Updating the RTT Module by Bounding Range Using the RSSI Model
FIG. 11 is a flowchart showing anotherexemplary process1100 for which uses both RTT and RSSI ranging modules for determining the position of a mobile station and adaptively improving the RTT model.
In this embodiment, the mobile station may determine an initial estimation of the WAP311 processing times based on the known limitations of the WAP radio ranges. Themobile station108 may calculate its position using a trilateration algorithm, where typically at least three WAPs311 are visible in two-dimensional space. The mobile station may perform updates to prior estimates of the WAP311 processing times by comparing its most recent calculated position with prior position solutions. Using the updated position calculations and additional RTT measurements, themobile station108 may continue refining the processing time estimate as more measurements are taken. The details of this process are presented below.
Process1100 may start out by having themobile device108 initialize various parameters associated with each WAP311k(B1105). This process may be similar to the initialization described in B605. Themobile station108 may then perform RTT measurements to each WAP311k(B1110). As before, the model for RTT may be provided as:
RTTk=2dk+Δk+nk,
- where
- dkis the actual distance (ft) between themobile station108 and the WAP311k;
- Δkis the actual processing time (ns) for WAP311k;and
- nkis uniform noise having a mean and variance depending on distance dk.
As in the previous embodiment, the foregoing method may estimate the processing time Δkfor each WAP311k.Note that this model differs from model used in theaforementioned process800 described above in 3.1, in that the noise nkmay be modeled here using a uniform distribution, whereas in process800 a Gaussian distribution may be used. The noise nkmay be mitigated by averaging several measurements taken in the same location. This assumption may be reasonable if themobile station108 is stationary or moving at low speed.
One may note that, as presented above, because the units for distance and time are in feet and nano-seconds, respectively, the speed of light propagation may be estimated as ˜1 ft/ns.
Once RTTkare determined, the mobile station may determine an initial estimate of each WAP311kprocessing time {circumflex over (Δ)}kbased upon signal strength measurements (B1115).
By determining the strength of one or more received packets used in making the RTT measurements inBlock1110, themobile station108 can bracket the distance dka WAP311kto be in an interval between a maximum range (Rk,min) and a minimum range (Rk,min), as represented by the equation below.
Rk,min≦dk≦Rk,max
If the processing time is different for each WAP311k,the initial estimate of processing time {circumflex over (Δ)}k,initmay be approximated as the midpoint of the above interval for each WAP311k:
{circumflex over (Δ)}k,init=E[RTTk−nk−Rk,min−Rk,max]=RTTk−Rk,min−Rk,max.
If the processing time is the same for each WAP311k,the initial estimate of processing time {circumflex over (Δ)}k,initmay be approximated as the midpoint of the intersection of the above intervals for WAPs311:
Theprocess1100 may next calculate the position of the mobile station based on the measured RTTs and then WAP processing time estimates (B1120). To determine position, themobile station108 may convert the RTT measurements associated with each WAP311kto an estimated distance {circumflex over (d)}k. The estimated distance to each WAP311kmay be determined using the following equation.
Once the set of estimated distances {{circumflex over (d)}} are determented for the available WAPs311k,themobile station108 may calculate its position (x,y) using trilateration. Typically, the error in the calculated position (x,y) is less that the error associated with each estimated distance.
The process may then update the distance to each WAP311 then determine a new processing time for each WAP based upon the new distance (B1125). The new distance to each WAP311kmay be determined using the following equation.
{circumflex over (d)}′k=∥(x,y)−(xk,yk)∥
- where
- (x, y) is the most recent position of the mobile station
- (xk, yk) is the position of each WAP311k
From the new distance estimate {circumflex over (d)}′k, themobile station108 may update the processing time estimate {circumflex over (Δ)}′kusing the following equation, when each WAP311khas a different processing time.
{circumflex over (Δ)}′k=RTTk−2{circumflex over (d)}′k
If it may be assumed that each WAP311khas substantially the same processing time, the following equation may be used to update the processing time estimate.
{circumflex over (Δ)}′=mean(RTTk−2{circumflex over (d)}′k)
A test may be performed to determine if further iterations should be made to further refine the processing time estimates. In one embodiment, the WAP311 processing estimates may be tested to determine if they have converged (B1135). Alternatively, a test may be performed on the distances to each WAP, or a mathematical functions thereof (e.g., mean distances), to determine whether further refinements to the processing time should be performed. If further iterations are useful, theprocess1100 may loop back toBlock1140, where the round trip time to each WAP311kis measured again. One should appreciate that multiple measurements may be performed, and may be mathematically combined with prior measurements (e.g., averaging, FIR/IIR filtering, etc.), to mitigate the effects of noise. The new RTT measurements may then be used in a reiteration ofBlocks1120 through1125 to refine the processing time estimate {circumflex over (Δ)}′kassociated with each WAP311k.
If in B1135 it is determined that no further refinements to processing time should be performed, theprocess1100 may then monitor the position of themobile station108 to determine whether its position has changed (B1141). If so, themobile station108 may repeat theprocess1100 starting looping back toBlock1110. In this case, if new WAPs are discovered, the initial processing times may be computed as described above in Block1115. However, for WAPs that are in still in range which already have had refined processing times determined (assuming that they are different), the refined times for these WAPs may be used to improve the efficiency of theprocess1100. If it is determined in Block1141 that the position of themobile station108 has not changed, the mobile station may monitor its position to detect changes in position (B1142).
In some embodiments, determining whether themobile station108 has changed position in Block1141 may be accomplished using themotion sensor212, or some other form of position determination (e.g., AFLT, GPS, etc.) In these embodiments, the motion state of the mobile device may be monitored, and once motion is detected, the process resumes as described above.
In other embodiments, where the mobile station may not have amotion sensor212, or the environment prevents motion detection through other means (e.g., insufficient signal coverage for GPS and/or AFLT), the mobile station may monitor its position inBlock1142 by continuing to measure RTT to each WAP311kusing the updated processing times (B1145), and then determining its position (B1150) based upon the updated. WAP processing time as described above.
Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware, firmware, software, 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 a memory and executed by a processor unit. 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.
In addition to storage on computer readable medium, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims. That is, the communication apparatus includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions.
While the foregoing disclosure shows illustrative embodiments of the invention, it should be noted that various changes and modifications could be made herein without departing from the scope of the invention as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the embodiments of the invention described herein need not be performed in any particular order. Furthermore, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.