The subject matter disclosed herein relates to electronic devices, and more particularly to methods, apparatuses, and systems for obtaining position fixes.
Wireless Local Area Network (WLAN) and Bluetooth-based positioning techniques are well-understood and commonly used. These positioning techniques rely on trilateration of range measurements based on WLAN/Bluetooth signal measurements such as Received Signal Strength Indicator (RSSI), Round-Trip Time (RTT), etc. to determine the position of a receiver device. To obtain accurate and updated position estimates using the WLAN and/or Bluetooth-based positioning techniques requires frequent wireless (WLAN and/or Bluetooth) signal scanning (e.g., approximately once every 2 seconds). Frequent wireless signal scanning is relatively power-consuming and may become a concern in scenarios where battery power conservation is important. Other wireless signal-based positioning techniques include satellite-based positioning techniques, base station-based positioning techniques, and peer device-based positioning techniques. Scanning these wireless signals to obtain position fixes may also be power-consuming.
Aspects of the disclosure are related to a method for adjusting a wireless signal scanning rate based on a pedestrian dead-reckoning (PDR) reliability level estimate includes estimating a PDR reliability level, determining a wireless signal scanning rate based at least in part on the estimated PDR reliability level, wherein wireless signal scanning is performed to obtain position fixes, and performing the wireless signal scanning at the determined wireless signal scanning rate.
Additional aspects of the disclosure are related to an apparatus includes a memory, and a processor coupled to the memory, the processor configured to estimate a PDR reliability level, determine a wireless signal scanning rate based at least in part on the estimated PDR reliability level, and perform wireless signal scanning at the determined wireless signal scanning rate.
Further aspects of the disclosure are related to an apparatus includes means for estimating a PDR reliability level, means for determining a wireless signal scanning rate based at least in part on the estimated PDR reliability level, and means for performing wireless signal scanning at the determined wireless signal scanning rate.
Still further aspects of the disclosure are related to a non-transitory, computer-readable, storage medium includes storing computer executable code for adjusting a wireless signal scanning rate based on a pedestrian dead-reckoning (PDR) reliability level estimate comprising: estimating a PDR reliability level, determining a wireless signal scanning rate based at least in part on the estimated PDR reliability level, and performing wireless signal scanning at the determined wireless signal scanning rate.
Aspects of the disclosure are disclosed in the following description and related drawings directed to specific embodiments of the disclosure. Alternate embodiments may be devised without departing from the scope of the disclosure. Additionally, well-known elements of the disclosure may not be described in detail or may be omitted so as not to obscure the relevant details of the disclosure.
The word “example” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “example” is not necessarily to be construed as preferred or advantageous over other embodiments. Likewise, the term “embodiments” does not require that all embodiments 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 limit embodiments of the disclosure. 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 (e.g., a server or device). It will be recognized that various actions described herein can be performed by specific circuits (e.g., application specific integrated circuits), 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 disclosure 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.
A positioning technique known as pedestrian dead reckoning (PDR) may be used to estimate a relative motion of a device. A common PDR module (either hardware or software) may include a pedometer (i.e., step counter) and a heading/direction estimator. The PDR leverages readings of low-power sensors of a device to obtain a relative motion of the device over a period of time. PDR may be different from other dead reckoning techniques in that PDR may provide a relative motion associated with each step. If an initial position fix at the beginning of the period of time is known, an updated position fix may be obtained by combining the initial position fix with the relative motion as estimated by PDR. The initial position fix may be obtained using a conventional wireless signal-based method, such as satellite-based positioning (e.g., Global Positioning System “GPS”), base station-based positioning, Bluetooth-based positioning, WLAN-based positioning, vision-based positioning, peer device-based positioning, or other positioning technologies.
The device 200 may include sensors such as ambient light sensor (ALS) 235, accelerometer 240, gyroscope 245, magnetometer 250, barometric pressure sensor 255, proximity sensor 275, and/or global navigation satellite system (GNSS) receiver 260. The GNSS receiver 260 may receive navigation satellite signals from one or more navigation satellite systems including but not limited to Global Positioning System (GPS), Galileo, GLONASS, or BeiDou, etc. In some embodiments, one or more cameras 270 are integrated or accessible to the device. For example, a mobile device may have at least a front and rear mounted camera. In some embodiments, other sensors may also have multiple installations or versions.
Memory 205 may be coupled to processor 201 to store instructions for execution by processor 201. In some embodiments, memory 205 is non-transitory. Memory 205 may also store one or more models or modules to implement embodiments described below. Memory 205 may also store data from integrated or external sensors.
Network interface 210 may also be coupled to a number of wireless subsystems 215 (e.g., Bluetooth 266, WLAN 211, Cellular 261, or other networks) to transmit and receive data streams through a wireless link to/from a wireless network, or may be a wired interface for direct connection to networks (e.g., the Internet, Ethernet, or other wired or wireless systems). The device 200 may include one or more local area network transceivers connected to one or more antennas. The local area network transceiver comprises suitable devices, hardware, and/or software for communicating with and/or detecting signals to/from wireless APs, and/or directly with other wireless devices within a network. In one aspect, the local area network transceiver may comprise a WLAN (802.11x) communication system suitable for communicating with one or more wireless access points.
The device 200 may also include one or more wide area network transceiver(s) that may be connected to one or more antennas. The wide area network transceiver comprises suitable devices, hardware, and/or software for communicating with and/or detecting signals to/from other wireless devices within a network. In one aspect, the wide area network transceiver 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 or femtocells, such as, for example, TDMA, LTE, LTE Advanced, WCDMA, UMTS, 4G, or GSM. In addition, the wide area network transceiver(s) may also be coupled to peer devices directly rather than through a base station, femtocell, etc. For example, a device 200 may be coupled directly to another device through LTE Direct. Additionally, any other type of wireless networking technologies may be used, for example, WiMAX (802.16), Ultra Wide Band, ZigBee, wireless USB, etc.
Referring to
Each of the modules illustrated in
Frequent scanning of the wireless signals by the device 200 may be required to maintain accurate position estimates without the use of such techniques as PDR. As described above, the wireless signals scanned may be WLAN signals, Bluetooth location signals, WWAN base station signals, peer device signals, navigation satellite signals, or any combination thereof. Scanning the wireless signals frequently to update position fixes may be power-consuming, and therefore may be undesirable in use scenarios where power conservation is a concern. With the assistance of PDR, the wireless signals may be scanned less frequently without significant loss in position estimate accuracy, especially when the PDR reliability level is high.
While PDR is generally less power-demanding than wireless signal-based positioning techniques and may provide more frequent position estimates (e.g., a new estimate at each step of a user carrying the device 200), PDR may be inaccurate and/or unreliable under certain circumstances, such as circumstances where the initial heading is unknown, or where the turn angles are biased, etc. Moreover, as PDR provides only estimates of relative motion, error in PDR-based position fixes may accumulate over time and/or drift.
Generally speaking, PDR performs accurately and reliably when the device 200 is steady in a user's hand or pocket, or is stationary. PDR performs less well when the device 200 is swung, rotated, when there are frequent changes in the device position, or when the device 200 is inside a loose pocket, etc. Therefore, the PDR reliability level may be estimated based on device stability, rotation of the device, motion of the device, or any combination thereof.
When PDR is performing less reliably, the results from wireless signal-based positioning techniques may help recalibrate PDR and improve the PDR reliability level by providing a position fix that corrects the heading and removes or reduces accumulated error in the PDR.
Embodiments of the disclosure intelligently adjusts the rate of wireless signal scanning that is performed to obtain new position fixes based on a PDR reliability level estimate. When the estimated PDR reliability is high, the wireless signal scanning may be performed less frequently to conserve power without sacrifice in the accuracy of updated position fixes. On the other hand, when the estimated PDR reliability is low, the wireless signal scanning may be performed more frequently to obtain accurate updated position fixes. Referring to
At block 420, a wireless signal scanning rate at which wireless signal scanning is performed to obtain position fixes may be determined based at least in part on the PDR reliability level estimated at block 410. The new wireless signal scanning rate may be higher than, lower than, or the same as a previous wireless signal scanning rate. For example, if the estimated PDR reliability level is high (e.g., above a first predetermined threshold), the wireless signal scanning rate may be decreased; on the other hand, if the estimated PDR reliability level is low (e.g., below a second predetermined threshold), the wireless signal scanning rate may be increased. In an alternative embodiment, a suitable wireless signal scanning rate may be directly determined based at least in part on the estimated PDR reliability level. Generally a higher PDR reliability level may result in a lower wireless signal scanning rate. The wireless signal scanning rate may be selected from a plurality of preset rates, or may be determined based on the PDR reliability level using a mathematical formula. In particular, the wireless signal scanning rate may be updated based on a comparison of the PDR reliability level to a predetermined threshold. For example, the wireless signal scanning rate may be increased when the PDR reliability level is below the threshold, and the wireless signal scanning rate may be decreased when the PDR reliability level is above the threshold.
At block 430, the wireless signal scanning may be performed at the rate determined at block 420 in order to obtain position fixes. Various known positioning techniques, such as WLAN-based techniques, Bluetooth-based techniques, WWAN base station signals-based techniques, peer device-based positioning techniques, or navigation satellite-based techniques, may be utilized to obtain the position fixes.
Referring to
Referring to
Various methods for estimating the PDR reliability level based on sensor readings have been contemplated. These methods use readings from common sensors in a device such as accelerometer 240, gyroscope 245, magnetometer 250, barometer 255, or microphone 265, etc. to calculate an estimated PDR reliability level. In some embodiments, some of the relevant sensors may each provide an estimated PDR reliability level, and the processor 201 and/or a separate dedicated hardware module may synthesize the estimated PDR reliability levels provided by the sensors to generate an overall estimated PDR reliability level. In other embodiments, the processor 201 and/or a separate dedicated hardware module may estimate the PDR reliability level directly based on sensor readings. A number of example methods for estimating the PDR reliability level are described hereinafter. These different methods may be used alone or in any possible combination. However, it should be appreciated that the method used to estimate the PDR reliability level does not limit the disclosure.
In one embodiment, to estimate the PDR reliability level, device stability (e.g., rate of change in the tilt/heading of the device 200) as estimated based on gyroscope 245 and accelerometer 240 readings may be relied on as being indicative of the PDR reliability level. For example, a low rate of change in the tilt/heading of the device 200 may indicate that the device 200 is stable and therefore the PDR reliability level is high, while a high rate of change in the tilt/heading of the device 200 may indicate that the device 200 is not stable and therefore the PDR reliability level is low.
In another embodiment, the PDR reliability level may be estimated based on an eigenvalue ratio of accelerometer 240 readings. When plotted on a Cartesian plane, the accelerometer readings over a period of time may approximate an ellipse. The ellipse is associated with two eigenvalues. The ratio between the two eigenvalues, or the eigenvalue ratio, is indicative of the ratio between the length of the major axis and the length of the minor axis of the ellipse. The direction of the major axis of the ellipse may be used as a proxy of the heading of the movement of the device 200. If the shape of the ellipse is close to that of a circle, the heading estimate is generally less reliable. On the other hand, if the ellipse is elongated, the heading estimate is generally more reliable. Therefore, an eigenvalue ratio close to 1 may indicate that the shape of the ellipse is close to that of a circle, which in turn may indicate a poor heading estimate and thus a low PDR reliability level. Depending on whether the ratio of the larger eigenvalue to the smaller eigenvalue or the ratio of the smaller eigenvalue to the larger eigenvalue is used as the eigenvalue ratio, a very large eigenvalue ratio (the former case), or an eigenvalue ratio very close to 0 (the latter case) may indicate that the shape of the ellipse is elongated, which in turn may indicate a good heading estimate and thus a high PDR reliability level. Accordingly, the PDR reliability level may be estimated based on the eigenvalue ratio of accelerometer 240 readings.
Referring to
In yet another embodiment, the PDR reliability level may be estimated based on a local consistency of recent PDR estimates: volatility in estimates indicate uncertain convergence and may be indicative of a low PDR reliability level. For example, the consistency of the PDR estimates for the last few steps, such as 3 steps, 4 steps, 5 steps, 6 steps, or 7 steps, etc., may be calculated as the local consistency. The local consistency may be represented as, for example, a standard deviation. Therefore, a high local consistency of recent PDR estimates may indicate a high PDR reliability level, and vice versa.
In yet another embodiment, the eigenvalue analysis may be applied to gyroscope readings. After the orientation of the device is ascertained and translated into the north east down (NED) coordinate system, plots of x, y, and z coordinates of gyroscope readings may approximate a three-dimensional ellipsoid. The longest axis of the ellipsoid may indicate a dominant turning direction. Therefore, the three eigenvectors of the ellipsoid being close to each other may be an indication that the turning direction estimate has low accuracy.
Referring to
In yet another embodiment, the PDR reliability level may be estimated based on the angle between gravity and a device axis. The gravity direction may be obtained from accelerometer 240 readings. A small angle between the gravity direction and a device axis may indicate that the device is in a stable position (e.g., in a shirt or backpack pocket), and thus may be indicative of a high PDR reliability level.
In yet another embodiment, the PDR reliability level may be estimated based on the rate of change of the angle between gravity and a device axis. The gravity direction may be determined using the accelerometer 240. A frequent change in the angle between the gravity direction and a device axis may indicate that the device is being swung (e.g., by a user) and thus may be indicative of a low PDR reliability level. On the other hand, a steady angle between the gravity direction and a device axis over a period of time may indicate that the device is inside a pocket or a bag and thus may be indicative of a high PDR reliability level.
In yet another embodiment, the PDR reliability level may be estimated based on the microphone 265 activity. For example, an active microphone 265 may indicate that the user is likely talking and holding the device 200 close to the ear, and thus may be indicative of a low PDR reliability level.
In yet another embodiment, the PDR reliability level may be estimated based on the cellular subsystem 261 activity (e.g., cellular modem activity). An active cellular subsystem 261 may indicate that the user is likely to be on a call and holding the device 200 close to the ear, which may indicate a low PDR reliability level.
In yet another embodiment, the PDR reliability level may be estimated based on ambient light sensor (ALS) 235 readings. The ALS is commonly used to determine whether a user is holding the device close to the ear as the head of the user may block the ambient light and prevent the ambient light from reaching the ALS. Thus, an ALS 235 reading that indicates a low ambient light level may indicate that the user is holding the device 200 close to the ear and talking on a call, which may indicate a low PDR reliability level.
In yet another embodiment, the PDR reliability level may be estimated based on the camera 270 activity. For example, if the front facing camera captures a dark image, while the back camera captures a clear image, it may be assumed that the user is likely holding the device 200 close to the ear, which may indicate a low PDR reliability level. As another example, if both the front facing camera and the back camera capture clear images, it may be assumed that the user likely has the device 200 out and may be using the device, which may indicate a low PDR reliability level. As a further example, if both the front facing camera and the back camera capture dark images, it may be assumed that the device 200 is likely in a pocket or a bag and is not in use, which may indicate a high PDR reliability level.
In yet another embodiment, the PDR reliability level may be estimated based on the rate of change in barometer 255 measurements. A rapid change in barometer 255 readings may indicate that the user is moving up the stairs or using an elevator, and thus may be indicative of a low PDR reliability level.
In yet another embodiment, the PDR reliability level may be estimated based on the gyroscope 245 drift over a long period of time. A consistent and persistent gyroscope 245 drift over a long period of time may indicate a sensor bias and thus may be indicative of a low PDR reliability level.
Referring to
Therefore, embodiments of the disclosure are directed to intelligently adjusting the rate of wireless signal scanning that is performed to obtain new position fixes based on a PDR reliability level estimate. When the estimated PDR reliability is high, the wireless signal scanning may be performed less frequently to conserve power without sacrificing the accuracy of updated position fixes. On the other hand, when the estimated PDR reliability is low, the wireless signal scanning may be performed more frequently to obtain accurate updated position fixes and possibly recalibrate the PDR. Various methods for estimating the PDR reliability level have been described hereinafter.
It should be appreciated that aspects of the disclosure previously described may be implemented in conjunction with the execution of instructions (e.g., applications) by processor 201 of device 200, as previously described. Particularly, circuitry of the device, including but not limited to processor, may operate under the control of an application, program, routine, or the execution of instructions to execute methods or processes in accordance with embodiments of the disclosure (e.g., the processes of
Methods described herein may be implemented in conjunction with various wireless communication networks 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, 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.
Example methods, apparatuses, or articles of manufacture presented herein may be implemented, in whole or in part, for use in or with mobile communication devices. As used herein, “mobile device,” “mobile communication device,” “hand-held device,” “tablets,” etc., or the plural form of such terms may be used interchangeably and may refer to any kind of special purpose computing platform or device that may communicate through wireless transmission or receipt of information over suitable communications networks according to one or more communication protocols, and that may from time to time have a position or location that changes. As a way of illustration, special purpose mobile communication devices, may include, for example, cellular telephones, satellite telephones, smart telephones, heat map or radio map generation tools or devices, observed signal parameter generation tools or devices, personal digital assistants (PDAs), laptop computers, personal entertainment systems, e-book readers, tablet personal computers (PC), personal audio or video devices, personal navigation units, wearable devices, or the like. It should be appreciated, however, that these are merely illustrative examples relating to mobile devices that may be utilized to facilitate or support one or more processes or operations described herein.
The methodologies described herein may be implemented in different ways and with different configurations depending upon the particular application. For example, such methodologies may be implemented in hardware, firmware, and/or combinations thereof, along with software. In a hardware implementation, for example, a processing unit 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 devices units designed to perform the functions described herein, and/or combinations thereof.
The herein described storage media may comprise primary, secondary, and/or tertiary storage media. Primary storage media may include memory such as random access memory and/or read-only memory, for example. Secondary storage media may include mass storage such as a magnetic or solid state hard drive. Tertiary storage media may include removable storage media such as a magnetic or optical disk, a magnetic tape, a solid state storage device, etc. In certain implementations, the storage media or portions thereof may be operatively receptive of, or otherwise configurable to couple to, other components of a computing platform, such as a processor.
In at least some implementations, one or more portions of the herein described storage media may store signals representative of data and/or information as expressed by a particular state of the storage media. For example, an electronic signal representative of data and/or information may be “stored” in a portion of the storage media (e.g., memory) by affecting or changing the state of such portions of the storage media to represent data and/or information as binary information (e.g., ones and zeros). As such, in a particular implementation, such a change of state of the portion of the storage media to store a signal representative of data and/or information constitutes a transformation of storage media to a different state or thing.
In the preceding detailed description, numerous specific details have been set forth to provide a thorough understanding of claimed subject matter. However, it will be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, methods and apparatuses that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter.
Some portions of the preceding detailed description have been presented in terms of algorithms or symbolic representations of operations on binary digital electronic signals stored within a memory of a specific apparatus or special purpose computing device or platform. In the context of this particular specification, the term specific apparatus or the like includes a general-purpose computer once it is programmed to perform particular functions pursuant to instructions from program software. Algorithmic descriptions or symbolic representations are examples of techniques used by those of ordinary skill in the signal processing or related arts to convey the substance of their work to others skilled in the art. An algorithm is here, and generally, is considered to be a self-consistent sequence of operations or similar signal processing leading to a desired result. In this context, operations or processing involve physical manipulation of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated as electronic signals representing information. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals, information, or the like. It should be understood, however, that all of these or similar terms are to be associated with appropriate physical quantities and are merely convenient labels.
Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “identifying”, “determining”, “establishing”, “obtaining”, and/or the like refer to actions or processes of a specific apparatus, such as a special purpose computer or a similar special purpose electronic computing device. In the context of this specification, therefore, a special purpose computer or a similar special purpose electronic computing device is capable of manipulating or transforming signals, typically represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the special purpose computer or similar special purpose electronic computing device. In the context of this particular patent application, the term “specific apparatus” may include a general-purpose computer once it is programmed to perform particular functions pursuant to instructions from program software.
Reference throughout this specification to “one example”, “an example”, “certain examples”, or “example implementation” means that a particular feature, structure, or characteristic described in connection with the feature and/or example may be included in at least one feature and/or example of claimed subject matter. Thus, the appearances of the phrase “in one example”, “an example”, “in certain examples” or “in some implementations” or other like phrases in various places throughout this specification are not necessarily all referring to the same feature, example, and/or limitation. Furthermore, the particular features, structures, or characteristics may be combined in one or more examples and/or features.
While there has been illustrated and described what are presently considered to be example features, it will be understood by those skilled in the art that various other modifications may be made, and equivalents may be substituted, without departing from claimed subject matter. Additionally, many modifications may be made to adapt a particular situation to the teachings of claimed subject matter without departing from the central concept described herein. Therefore, it is intended that claimed subject matter not be limited to the particular examples disclosed, but that such claimed subject matter may also include all aspects falling within the scope of appended claims, and equivalents thereof.