Characteristics of signals transmitted between mobile devices and network access points (APs) or other radio transmitters can be measured and analyzed to provide network-based positioning capabilities for the mobile devices. Network-based, or terrestrial, positioning can be particularly useful in network service areas, often indoor areas, where weak or inconsistent satellite signals render satellite based positioning systems inaccessible or inaccurate. Typical signal characteristics measured by the APs and received by a position determination module can include round trip time (RTT), received signal strength indicator (RSSI), and channel frequency response (CFR). The position determination module can determine a mobile device location using measured signal characteristics and assistance data (AD) models. AD models can be signal propagation models which describe signal attenuation in a particular network service area due to signal absorption and reflection by environmental features of the network service area. Examples of environmental features can be building materials, furniture materials and configurations, a number and position of occupants, and the interior architectural configuration of rooms, hallways, doors, and walls. The environmental features of the network service area can define the parameters of the AD models. Diversity of environmental features and temporal changes in environmental features can increase the deviation between the calculated signal characteristics from the AD models and the measured signal characteristics and, therefore, decrease mobile device positioning accuracy. Using an AD learning process, the deviation of AD modeled and calculated signal characteristics from measured signal characteristics can be evaluated in an iterative manner in order to dynamically update and improve the AD models used for mobile device positioning in a network service area. Such a dynamically updated model may improve position determination accuracy despite complexities and temporal variations in environmental features.
An example of a method of determining a position of a mobile device in a network service area according to the disclosure may include receiving a first positioning request for the position of the mobile device and, in response to receiving the first positioning request, receiving first signal characteristic measurements, estimating a first a priori mobile device position area based on the first signal characteristic measurements, determining a selected AD model, and determining the position of the mobile device using the selected AD model.
Implementations of such a method may include one or more of the following features. The method may include storing a first position information based on the position of the mobile device and sending a first position information based on the position of the mobile device. Determining the selected AD model may include calculating signal characteristics for each AD model of a set of AD models, comparing the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, for each AD model, determining a first confidence score based on the first deviation, comparing the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, determining a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and determining the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The confidence score threshold may be heuristically determined and adjustable. The method may include comparing the calculated signal characteristics with a statistical parameter based on the first signal characteristic measurements and stored signal characteristic measurements to determine the first deviation for each AD model. The statistical parameter may include a mean or a weighted mean. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. Determining the selected AD model may include calculating signal characteristics for each sector for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, determining a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, comparing the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, determining a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and determining the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. A number of sectors may be dynamically adjusted based on the determined confidence score for each AD model. Determining the selected AD model may include calculating signal characteristics for each sector within the estimated first a priori mobile device position area for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector within the estimated first a priori mobile device position area to determine a first deviation for each AD model for each sector within the estimated first a priori mobile device position area, determining a first confidence score for each AD model for each sector within the estimated first a priori mobile device position area based on the first deviation for each AD model for each sector within the estimated first a priori mobile device position area, comparing the first confidence score of each AD model for each sector within the estimated first a priori mobile device position area to a confidence score threshold to determine a first qualifying set of AD models for each sector within the estimated first a priori mobile device position area, determining a first cost function based on the first qualifying set of AD models for each sector within the estimated first a priori mobile device position area and the first signal characteristic measurements, and, for each sector within the estimated first a priori mobile device position area, determining the selected AD model for each sector within the estimated first a priori mobile device position area that minimizes the first cost function evaluated at each sector within the estimated first a priori mobile device position area and is one AD model of the set of qualifying AD models. The method may include receiving a second positioning request and, in response to receiving the second positioning request, receiving second signal characteristic measurements, estimating a second a priori mobile device position area based on the second signal characteristic measurements, determining a selected AD model confidence score based on the second signal characteristic measurements, and determining the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. In response to the selected AD model confidence score being the acceptable confidence score, the method may include calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determining a second confidence score for each AD model based on the second deviation, and determining the position of the mobile device using the selected AD model. In response to the selected AD model confidence score being the unacceptable confidence score, the method may include calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, and determining a second confidence score for each AD model based on the second deviation, comparing the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determining a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, determining an updated selected AD model that minimizes the second cost function and is one AD model of the qualifying set of AD models, and determining the position of the mobile device using the updated selected AD model.
An example of a method for determining a position of a mobile device in a network service area according to the disclosure may include sending a first positioning request and receiving first position information based on the position of the mobile device determined, in response to the first positioning request, by receiving first signal characteristic measurements, estimating a first a priori mobile device position area based on the first signal characteristic measurements, determining a selected AD model, and determining the position of the mobile device using the selected AD model.
Implementation of such a method may include one or more of the following features. Determining the selected AD model may include calculating signal characteristics for each AD model of a set of AD models, comparing the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, for each AD model, determining a first confidence score based on the first deviation, comparing the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, determining a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and determining the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. Determining the selected AD model may include calculating signal characteristics for each sector for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, determining a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, comparing the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, determining a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and determining the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. The method may include sending a second positioning request and receiving second position information based on the position of the mobile device determined, in response to the second positioning request, by receiving second signal characteristic measurements, estimating a second a priori mobile device position area based on the second signal characteristic measurements, determining a selected AD model confidence score based on the second signal characteristic measurements, determining the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. In response to the selected AD model confidence score being the acceptable confidence score, the method may include calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determining a second confidence score for each AD model based on the second deviation, and determining the position of the mobile device using the selected AD model. In response to the confidence score of the selected AD model being the unacceptable confidence score, the method may include calculating signal characteristics for each AD model of the set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine the second deviation for each AD model, determining the second confidence score for each AD model based on the second deviation, comparing the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determining a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, determining an updated selected AD model that minimizes the second cost function and is one AD model of the set of AD models, and determining the position of the mobile device using the updated selected AD model.
An example of an apparatus for determining a position of a mobile device in a network service area according to the disclosure may include one or more processors configured to receive a first positioning request for the position of the mobile device. In response to receiving the first positioning request, the one or more processors may be configured to receive first signal characteristic measurements, estimate a first a priori mobile device position area based on the first signal characteristic measurements, determine a selected AD model, and determine the position of the mobile device using the selected AD model.
Implementations of such an apparatus may include one or more of the following features. The apparatus may include a memory configured to store a first position information based on the position of the mobile device. The one or more processors may be configured to send a first position information based on the position of the mobile device. The one or more processors may be configured to determine the selected AD model by calculating signal characteristics for each AD model of a set of AD models, comparing the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, determining a first confidence score for each AD model based on the first deviation, comparing the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, determining a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and determining the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The confidence score threshold may be heuristically determined and adjustable. The one or more processors may be configured to compare the calculated signal characteristics with a statistical parameter based on the first signal characteristic measurements and stored signal characteristic measurements to determine the first deviation for each AD model. The statistical parameter may include a mean or a weighted mean. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. The one or more processors may be configured to determine the selected AD model by steps including calculating signal characteristics for each sector for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, determining a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, comparing the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, determining a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and determining the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. A number of sectors may be dynamically adjusted based on the determined confidence score for each AD model. The one or more processors may be configured to determine the selected AD model by steps including calculating signal characteristics for each sector within the estimated first a priori mobile device position area for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector within the estimated first a priori mobile device position area to determine a first deviation for each AD model for each sector within the estimated first a priori mobile device position area, determining a first confidence score for each AD model for each sector within the estimated first a priori mobile device position area based on the first deviation for each AD model for each sector within the estimated first a priori mobile device position area, comparing the first confidence score of each AD model for each sector within the estimated first a priori mobile device position area to a confidence score threshold to determine a first qualifying set of AD models for each sector within the estimated first a priori mobile device position area, determining a first cost function based on the first qualifying set of AD models for each sector within the estimated first a priori mobile device position area and the first signal characteristic measurements, and determining the selected AD model for each sector within the estimated first a priori mobile device position area that minimizes the first cost function evaluated at each sector within the estimated first a priori mobile device position area and is one AD model of the set of qualifying AD models. The one or more processors may be configured to receive a second positioning request, and, in response to receiving the second positioning request, receive second signal characteristic measurements, estimate a second a priori mobile device position area based on the second signal characteristic measurements, determine a selected AD model confidence score based on the second signal characteristic measurements, and determine the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. In response to the selected AD model confidence score being the acceptable confidence score, the one or more processors may be configured to calculate signal characteristics for each AD model of the set of AD models, compare the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determine a second confidence score for each AD model based on the second deviation, and determine the position of the second mobile device using the selected AD model. In response to the selected AD model confidence score being the unacceptable confidence score, the one or more processors may be configured to calculate signal characteristics for each AD model of a set of AD models, compare the second signal characteristic measurements with the calculated signal characteristics to determine the second deviation for each AD model, determine a second confidence score for each AD model based on the second deviation, compare the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determine a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, and determine an updated selected AD model that minimizes the second cost function and is one AD model of the qualifying set of AD models, and determine the position of the second mobile device using the updated selected AD model.
An example of an apparatus for determining a position of a mobile device in a network service area according to the disclosure may include a transceiver configured to send a first positioning request and receive first position information based on the first position of the mobile device determined, in response to the first positioning request, by receiving first signal characteristic measurements, estimating a first a priori mobile device position area based on the first signal characteristic measurements, determining a selected AD model, and determining the first position of the mobile device using the selected AD model.
Implementation of such an apparatus may include one or more of the following features. Determining the selected AD model may include calculating signal characteristics for each AD model of a set of AD models, comparing the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, determining a first confidence score for each AD model based on the first deviation, comparing the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, determining a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and determining the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. Determining the selected AD model may include calculating signal characteristics for each sector for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, determining a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, comparing the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, determining a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and determining the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. The transceiver may be configured to send a second positioning request and, in response to the second positioning request, receive second position information based on the position of the mobile device determined by receiving second signal characteristic measurements, estimating a second a priori mobile device position area based on the second signal characteristic measurements, determining a selected AD model confidence score based on the second signal characteristic measurements, and determining the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. In response to the selected AD model confidence score being the acceptable confidence score, the position of the mobile device may be determined by calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determining a second confidence score for each AD model based on the second deviation, and determining the position of the mobile device using the selected AD model. In response to the confidence score of the selected AD model being the unacceptable confidence score, the position of the mobile device may be determined by calculating signal characteristics for each AD model of the set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine the second deviation for each AD model, determining the second confidence score for each AD model based on the second deviation, comparing the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determining a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, and determining an updated selected AD model that minimizes the second cost function and is one AD model of the set of AD models, and determining the position of the mobile device using the updated selected AD model.
An example of an apparatus for determining a position of a mobile device in a network service area according to the disclosure may include means for receiving a first positioning request for the position of the mobile device and means for, in response to receiving the first positioning request, receiving first signal characteristic measurements, estimating a first a priori mobile device position area based on the first signal characteristic measurements, determining an AD model, and determining the position of the mobile device using the selected AD model.
Implementations of such an apparatus may include one or more of the following features. The apparatus may include means for storing a first position information based on the position of the mobile device and means for sending a first position information based on the position of the mobile device. The means for determining the selected AD model may include means for calculating signal characteristics for each AD model of a set of AD models, means for comparing the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, means for determining a first confidence score for each AD model based on the first deviation, means for comparing the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, means for determining a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and means for determining the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The confidence score threshold may be heuristically determined and adjustable. The apparatus may include means for comparing the calculated signal characteristics with a statistical parameter based on the first signal characteristic measurements and stored signal characteristic measurements to determine a first deviation for each AD mode. The statistical parameter may include a mean or a weighted mean. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. The means for determining the selected AD model may include means for calculating signal characteristics for each sector for each AD model of a set of AD models, means for comparing the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, means for determining a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, means for comparing the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, means for determining a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and means for determining the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. A number of sectors may be dynamically adjusted based on the determined confidence score for each AD model. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. The means for determining the selected AD model may include means for calculating signal characteristics for each sector within the estimated first a priori mobile device position area for each AD model of a set of AD models, means for comparing the first signal characteristic measurements with the calculated signal characteristics for each sector within the estimated first a priori mobile device position area to determine a first deviation for each AD model for each sector within the estimated first a priori mobile device position area, means for determining a first confidence score for each AD model for each sector within the estimated first a priori mobile device position area based on the first deviation for each AD model for each sector within the estimated first a priori mobile device position area, means for comparing the first confidence score of each AD model for each sector within the estimated first a priori mobile device position area to a confidence score threshold to determine a first qualifying set of AD models for each sector within the estimated first a priori mobile device position area, means for determining a first cost function based on the first qualifying set of AD models for each sector within the estimated first a priori mobile device position area and the first signal characteristic measurements, and means for determining the selected AD model for each sector within the estimated first a priori mobile device position that minimizes the first cost function evaluated at each sector within the estimated first a priori mobile device position area and is one AD model of the set of qualifying AD models. The apparatus may include means for receiving a second positioning request and means for, in response to receiving the second positioning request, receiving second signal characteristic measurements, estimating a second a priori mobile device position area based on the second signal characteristic measurements, determining a selected AD model confidence score based on the second signal characteristic measurements, and determining the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. The apparatus may include means for, in response to the selected AD model confidence score being the acceptable confidence score, calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determining a second confidence score for each AD model based on the second deviation, and determining the position of the mobile device using the selected AD model. The apparatus may include means for, in response to the confidence score of the selected AD model being the unacceptable confidence score, calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determining a second confidence score for each AD model based on the second deviation, comparing the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determining a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, determining an updated selected AD model that minimizes the second cost function and is one AD model of the qualifying set of AD models, and determining the position of the mobile device using the updated selected AD model.
An example of an apparatus for determining a position of a mobile device in a network service area according to the disclosure may include means for sending a first positioning request and means for receiving first position information based on the position of the mobile device determined, in response to the first positioning request, by receiving first signal characteristic measurements, estimating a first a priori mobile device position area based on the first signal characteristic measurements, determining a selected AD model, and determining the position of the mobile device using the selected AD model.
Implementations of such an apparatus may include one or more of the following features. Determining the selected AD model may include calculating signal characteristics for each AD model of a set of AD models, comparing the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, determining a first confidence score for each AD model based on the first deviation, comparing the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, determining a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and determining the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. Determining the selected AD model may include calculating signal characteristics for each sector for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, determining a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, comparing the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, determining a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and determining the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. The apparatus may include means for sending a second positioning request and means for receiving second position information based on the position of the mobile device determined, in response to the second positioning request, by receiving second signal characteristic measurements, estimating a second a priori mobile device position area based on the second signal characteristic measurements, determining a selected AD model confidence score based on the second signal characteristic measurements, determining the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. In response to the selected AD model confidence score being the acceptable confidence score, the position of the mobile device may be determined by calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determining a second confidence score for each AD model based on the second deviation, and determining the position of the mobile device using the selected AD model. In response to the confidence score of the selected AD model being the unacceptable confidence score, the position of the mobile device may be determined by calculating signal characteristics for each AD model of the set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine the second deviation for each AD model, determining the second confidence score for each AD model based on the second deviation, comparing the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determining a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, determining an updated selected AD model that minimizes the second cost function and is one AD model of the set of AD models, and determining the position of the mobile device using the updated selected AD model.
An example of a computer program product residing on a processor-readable non-transitory storage medium according to the disclosure may include processor-readable instructions executable by one or more processors to receive a first positioning request for a position of a mobile device and, in response to receiving the first positioning request, receive first signal characteristic measurements, estimate a first a priori mobile device position area based on the first signal characteristic measurements, determine a selected AD model, and determine the position of the mobile device to be the position of the mobile device determined using the selected AD model.
Implementations of such a computer program product may include one or more of the following features. The computer program product may include processor-readable instructions executable by one or more processors to store a first position information based on the position of the mobile device and send a first position information based on the position of the mobile device. The processor-readable instructions executable by one or more processors to determine the selected AD model may include instructions to calculate signal characteristics for each AD model of a set of AD models, compare the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, determine a first confidence score for each AD model based on the first deviation, compare the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, determine a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and determine the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The confidence score threshold may be heuristically determined and adjustable. The computer program product may include processor-readable instructions executable by one or more processors to compare the calculated signal characteristics with a statistical parameter based on the first signal characteristic measurements and stored signal characteristic measurements to determine a first deviation for each AD model. The statistical parameter may include a mean or a weighted mean. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. The processor-readable instructions executable by one or more processors to determine the selected AD model may include instructions to calculate signal characteristics for each sector for each AD model of a set of AD models, compare the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, determine a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, compare the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, determine a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and determine the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. A number of sectors may be dynamically adjusted based on the determined confidence score for each AD model. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. The processor-readable instructions executable by one or more processors to determine the selected AD model may include instructions to calculate signal characteristics for each sector within the estimated first a priori mobile device position area for each AD model of a set of AD models, compare the first signal characteristic measurements with the calculated signal characteristics for each sector within the estimated first a priori mobile device position area to determine a first deviation for each AD model for each sector within the estimated first a priori mobile device position area, determine a first confidence score for each AD model for each sector within the estimated first a priori mobile device position area based on the first deviation for each AD model for each sector within the estimated first a priori mobile device position area, compare the first confidence score of each AD model for each sector within the estimated first a priori mobile device position area to a confidence score threshold to determine a first qualifying set of AD models for each sector within the estimated first a priori mobile device position area, determine a first cost function based on the first qualifying set of AD models for each sector within the estimated first a priori mobile device position area and the first signal characteristic measurements, and determine the selected AD model for each sector within the estimated first a priori mobile device position area that minimizes the first cost function evaluated at each sector within the estimated first a priori mobile device position area and is one AD model of the set of qualifying AD models. The computer program product may include processor-readable instructions executable by one or more processors to receive a second positioning request and, in response to receiving the second positioning request, receive second signal characteristic measurements, estimate a second a priori mobile device position area based on the second signal characteristic measurements, determine a selected AD model confidence score based on the second signal characteristic measurements, and determine the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. The computer program product may include processor-readable instructions executable by one or more processors to, in response to the selected AD model confidence score being the acceptable confidence score, calculate signal characteristics for each AD model of a set of AD models, compare the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determine a second confidence score for each AD model based on the second deviation, and determine the position of the mobile device using the selected AD model. The computer program product may include processor-readable instructions executable by one or more processors to, in response to the confidence score of the selected AD model being the unacceptable confidence score, calculate signal characteristics for each AD model of a set of AD models, compare the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determine a second confidence score for each AD model based on the second deviation, compare the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determine a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, determine an updated selected AD model that minimizes the second cost function and is one AD model of the qualifying set of AD models, and determine the position of the mobile device using the updated selected AD model.
An example of a computer program product residing on a processor-readable non-transitory storage medium according to the disclosure may include processor-readable instructions executable by one or more processors to send a first positioning request and receive first position information based on the position of the mobile device determined, in response to the first positioning request, by receiving first signal characteristic measurements, estimating a first a priori mobile device position area based on the first signal characteristic measurements, determining a selected AD model, and determining the position of the mobile device using the selected AD model.
Implementations of such a computer program product may include one or more of the following features. Determining the selected AD model may include calculating signal characteristics for each AD model of a set of AD models, comparing the calculated signal characteristics with the first signal characteristic measurements to determine a first deviation for each AD model, determining a first confidence score for each AD model based on the first deviation, comparing the first confidence score of each AD model to a confidence score threshold to determine a first qualifying set of AD models, determining a first cost function based on the first qualifying set of AD models and the first signal characteristic measurements, and determining the selected AD model that minimizes the first cost function and is one AD model of the first qualifying set of AD models. The network service area may be divided into a plurality of sectors, each sector of the plurality of sectors being a section of the network service area. Determining the selected AD model may include calculating signal characteristics for each sector for each AD model of a set of AD models, comparing the first signal characteristic measurements with the calculated signal characteristics for each sector to determine a first deviation for each AD model for each sector, determining a first confidence score for each AD model for each sector based on the first deviation for each AD model for each sector, comparing the first confidence score of each AD model for each sector to a confidence score threshold to determine a first qualifying set of AD models for each sector, determining a first cost function based on the first qualifying set of AD models for each sector and the first signal characteristic measurements, and determining the selected AD model for each sector that minimizes the first cost function evaluated at each sector and is one AD model of the first qualifying set of AD models. The computer program product may include processor-readable instructions executable by one or more processors to send a second positioning request and, in response to the second positioning request, receive second position information based on the position of the mobile device determined by receiving second signal characteristic measurements, estimating a second a priori mobile device position area based on the second signal characteristic measurements, determining a selected AD model confidence score based on the second signal characteristic measurements, and determining the selected AD model confidence score to be an acceptable confidence score or an unacceptable confidence score. In response to the selected AD model confidence score being the acceptable confidence score, the position of the mobile device may be determined by calculating signal characteristics for each AD model of a set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine a second deviation for each AD model, determining a second confidence score for each AD model based on the second deviation, and determining the position of the mobile device using the selected AD model. In response to the confidence score of the selected AD model being the unacceptable confidence score, the position of the mobile device may be determined by calculating signal characteristics for each AD model of the set of AD models, comparing the second signal characteristic measurements with the calculated signal characteristics to determine the second deviation for each AD model, determining the second confidence score for each AD model based on the second deviation, comparing the second confidence score of each AD model to a confidence score threshold to determine a second qualifying set of AD models, determining a second cost function based on the second qualifying set of AD models and the second signal characteristic measurements, determining an updated selected AD model that minimizes the second cost function and is one AD model of the set of AD models, and determining the position of the mobile device using the updated selected AD model.
In accordance with implementations of the invention, one or more of the following capabilities may be provided. In response to receiving a positioning request, signal characteristic measurements can be received. An a priori mobile device position area can be estimated based on the signal characteristic measurements. Signal characteristics can be calculated for a set of AD models. A confidence score for each AD model can be determined based on a determined deviation between the calculated signal characteristics and the signal characteristic measurements. The confidence scores can be compared to a threshold to determine a qualifying set of AD models for a cost function. The cost function can be determined based on the qualifying set of AD models and the signal characteristic measurements. A selected AD model can be determined that minimizes the cost function. The position of the mobile device can be determined using the selected AD model. The selected AD model can be updated for a subsequent positioning request based on a selected AD model confidence score determined based on subsequent signal characteristic measurements. Other capabilities may be provided and not every implementation according to the disclosure must provide any, let alone all, of the capabilities discussed. Further it may be possible for an effect noted above to be achieved by means other than that noted and a noted item/technique may not necessarily yield the noted effect.
In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a dash and a second label that distinguished among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
Techniques are provided for positioning of a mobile device using software and/or hardware implemented algorithms which iteratively evaluate and improve the AD models used for mobile device positioning. The techniques discussed below are by way of example only and not limiting as other implementations in accordance with the disclosure are possible. Described techniques may be implemented as a method, apparatus, or system and can be embodied in computer-readable media.
A positioning request for a particular mobile device is received. In response to the positioning request, measurements of signal characteristics are requested from APs in the network service area. An a priori mobile device position area is estimated from the received signal characteristic measurements and a previously stored set of AD models. The network service area is divided into multiple sectors. For each sector within the estimated a priori mobile device position area, a deviation between calculated signal characteristics using the AD models and measured signal characteristics is determined. A confidence score for each model in each sector is calculated based on the deviation and is stored in a scoring table. The confidence scores are compared with a confidence score threshold to determine a qualifying set of AD models with confidence scores greater than or equal to the confidence score threshold. A cost function for the network area is determined using the signal characteristic measurements and the qualifying set of AD models. The mobile device position is determined using a selected AD model for each sector that mathematically minimizes the cost function evaluated in each sector. A subsequent positioning request is received for the same mobile device as the prior positioning request or for a different mobile device than the prior positioning request. With the subsequent positioning request, the confidence score of the selected AD model for each sector is determined based on measured signal characteristics received with the subsequent positioning request and determined to be unacceptable or acceptable. If the confidence score of the selected AD model for each sector is determined to be unacceptable, then the selected AD model for each sector is updated by repeating the steps of determining deviations, determining confidence scores, determining a qualifying set of AD models, determining a cost function, and minimizing the cost function. The mobile device position is determined using the updated selected AD model for each sector. If the confidence score of the selected AD model for each sector is determined to be acceptable, then the confidence scores of the AD models are updated and stored in a scoring table and the mobile device position is determined using the selected AD models from a prior positioning request. By evaluating the confidence scores of the selected AD models with each positioning request and updating the selected AD models if the confidence score is unacceptable, the AD models used to determine the mobile device positions are dynamically updated and improved.
Referring to
Mobile devices 110, APs 120, network controller(s) 140, network server(s) 160, and positioning server(s) 150 may, for example, be enabled (e.g., via one or more network interfaces) for use with various communication network(s) 130 via wireless and/or wired communication links. Examples of such communication network(s) 130 include but are not limited to a wireless wide area network (WWAN), a wireless local area network (WLAN), and a wireless personal area network (WPAN), and so on. The term “network” and “system” may be used interchangeably herein. 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), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), to name just a few radio technologies. Here, cdma2000 may include technologies implemented according to 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 include an IEEE 802.11x network, and a WPAN may include a Bluetooth network, an IEEE 802.15x, for example. Wireless communication networks may include so-called next generation technologies (e.g., “4G”), such as, for example, Long Term Evolution (LTE), Advanced LTE, WiMax, Ultra Mobile Broadband (UMB), and/or the like.
The network 130 may be associated with a network service area. The network service area may constitute all or part of an indoor structure. Examples of indoor structures, not limiting of the invention, include schools, office buildings, stores, stadiums, arenas, convention centers, malls, a collection of buildings connected by tunnels, bridges, walkways, etc., airports, amusement parks, gardens, courtyards, parking lots, academic or business campuses, and any combinations or sub-sections thereof. For example, but not limiting of the invention, a network service area may be one or more entire indoor structures or a particular floor, room, area, group of floors, or group of rooms in an indoor structure.
The network controller 140 can manage and control network communications between the one or more APs 120 and the positioning and network servers, 150 and 160. The network controller 140 includes hardware and software for managing and controlling these communications.
The one or more APs 120 can communicate with the network controller 140 and with one or more mobile devices 110. The one or more APs 120, which may be wireless APs (WAPs), may be any type of terrestrial radio transmitter used in conjunction with the one or more mobile devices 110 and network 130 including, for example, WiFi/WLAN APs, femtocell nodes or transceivers, pico cell nodes or transceivers, WiMAX node devices, beacons, WiFi base stations, a Node B, an evolved Node B (EnB), Bluetooth transceivers, etc. Each AP 120-a, b, and c may be a moveable node, or may be otherwise capable of being relocated. Three APs 120 are shown in
In an embodiment, each AP 120-a, b, and c is associated with a unique AP identifier, for example a MAC address, and is configured to collect various types of signal characteristic measurements including, for example, but not limited to RTT, RSSI, and CFR. The AP identifier can be used by the position determination module 170 to identify a network service area known to include the identified AP.
Mobile devices 110 are intended to be representative of any electronic device that may be reasonably moved about by a user. Examples of mobile devices 110 may include, but are not limited to, a wireless chip, a mobile station, a mobile phone, a smartphone, a user equipment, a netbook, a laptop computer, a tablet or slate computer, an entertainment appliance, a navigation device and any combination thereof. Claimed subject matter is not limited to any particular type, category, size, capability etc. of mobile device. The mobile device may be operatively associated with one or more cellular networks or the like.
Three mobile devices 110 are shown in
Referring to
While only one processor and one memory are shown in
Functions stored by the memory 35 may be executed by the processor 25. Thus, the memory 35 is a processor-readable memory and/or a computer-readable memory that stores software code (programming code, instructions, etc.) configured to cause the processor 25 to perform the functions described. Alternatively, one or more functions of the one or more mobile devices 110 may be performed in whole or in part in hardware.
Referring again to
In an embodiment, the positioning server 150 may include a position determination module 170 and a model evaluation module 180. The position determination module 170 may include a memory 172 and a processor 174. Similarly, the model evaluation module 180 may include a memory 182 and a processor 184. The processors 174 and 184 may be one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs) and the like. The term processor is intended to describe the functions implemented by the system rather than specific hardware. Memory 172 and 182 may be any non-transitory computer-readable storage medium (or media) that stores functions as one or more instructions or code including but not limited to RAM, ROM, FLASH, disc drives, etc., may be long term or short term, and may not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
In an embodiment, the position determination module 170 and the model evaluation module 180 may reside in the positioning server 150 and/or the network server 160. Any processor 174 and 184 and/or memory 172 and 182 used or associated with the position determination module 170 and/or the model evaluation module 180 may be used or associated with other functions of the positioning server 150 and/or the network server 160 and may not be hardware specifically or uniquely allocated for use by the position determination module and the model evaluation module.
Functions stored by memory 172 and 182 may be executed by either processor 174 and 184. Thus, memory 172 and 182 are each processor-readable memory and/or computer-readable memory that stores software code (programming code, instructions, etc.) configured to cause the processor 174 and/or 184 to perform the functions described.
Only one processor, one memory, and one of each module type are shown in
Referring to
Referring to
Referring again to
Referring to
In an implementation, an a priori mobile device position may be estimated by the position estimation module processor 174 using a prior mobile device position, stored in memory 172, from a previous positioning request for the particular mobile device. In such an implementation, the a priori mobile device position may be determined using the elapsed time between positioning requests and a known or assumed speed and direction of motion associated with the particular mobile device.
The model evaluation module 180 can access a previously stored database of AD models using the processor 184. The database of AD models may reside in memory 182. In an embodiment, the database of AD models may reside on the network server 160. The database of AD models may be associated with the network service area identified by the position determination module 170 using the received AP identifiers. The AD model database can include a set of N models, {AD1, AD2, . . . , ADN}, for each AP where N is an integer greater than or equal to one. For a network service area including K APs 120, there may be a total of {N×K} AD models stored in the network service area database in memory 182. In an implementation, the database of AD models may be previously stored offline (i.e. stored prior to mobile device positioning procedures) for a particular network service area. The stored AD models can be available for use by the model evaluation module 180 during mobile device positioning. The AD models can mathematically predict the signal characteristics measured at a particular AP for signals transmitted from any mobile device located in the network service area.
The number of models, N, for each AP can depend on the environmental features of the particular indoor network service area. For example, a structurally complex indoor environment including many types of interspersed building materials (ex. wood, glass, brick, concrete, plastic) may require more AD models than a simpler indoor environment with fewer types of building materials. Additionally, environmental features subject to variation may necessitate multiple models to describe the effects of the possible variations in the environmental features on signal propagation. For example, the number, placement, and motion of occupants in an indoor space may vary (e.g. the number of workers on a day shift versus a night shift, for example). As another example, the positions of doors and/or windows may vary between open and closed.
In an embodiment, the model evaluation module processor 184 can divide, or tile, the network service area into M sectors {S1, S2, . . . , SM}. In an embodiment, the model evaluation module processor 184 may determine the sectors offline (i.e. prior to or separately from mobile device positioning procedures) for a particular network service area. The determined sectors may be stored in the model evaluation module memory 182.
In an implementation, the number of sectors, M, may be determined by diversity within the service area with regard to the environmental features. Each sector can be a section of the network service area within which the signal attenuation due to environmental features can be mathematically modeled with an AD signal propagation model using the same modeling parameters everywhere within the sector. For example, each sector may correspond to a section of the network service area with a single, particular type of wall material (i.e. a section with concrete walls) or a particular office configuration in terms of walls, windows, and doors. In general, an AD model may more accurately predict the signal attenuation of a smaller sector due to the reduction in the number, diversity, and fluctuation of environmental features associated with a smaller sector. Smaller sectors can increase the number of sectors, M. In an implementation, an entire network service area may be a single sector. In an implementation, each sector may correspond to a defined interior architectural unit such as a corridor or a room. The number of sectors, M, can depend on the number of types of defined interior architectural units.
In an embodiment, the number of sectors, M, may be determined based on a grid, a map, or other geographic representation of the network service area stored, for example, at the model evaluation module 180. In an embodiment, the number of sectors M may be determined by dividing the network service area into sectors of a fixed size (e.g. area or volume) based on graphic coordinates of a map. In an example, the area of each sector may be a fixed dimension (e.g. 5×5 meters or 10×10 meters).
In an implementation, the number of sectors M may depend on a combination of factors including, but not limited to, environmental feature diversity, number of types of defined interior architectural units, and a grid, map, or geographic representation of the network service area.
Referring again to
The model evaluation module processor 184 can implement a model evaluation process for AD learning as described in detail below with regard to
ADmin can be stored in memory 182 and/or memory 172 for use by processor 174 to determine a location of the particular mobile device (e.g. 110-a, b, or c) being located. The processor 174 can store position information based on the determined mobile device position in the memory 172.
Referring to
In operation, referring to
A general overview of method 200, not limiting of the invention, may be as follows. Stages 205, 210, 215, 220, and 221 can determine a first selected AD model for use in mobile device positioning and determine the location of the mobile device (i.e., a first mobile device position) using the selected AD model for a first mobile device positioning request. A second positioning request at stage 225 can be an initial step for at least two possible method loops. A first loop, including stages 225, 230, 240, 245, 250, 260, and 295, can determine a second mobile device position using the first selected AD model. A second loop, including stages 225, 230, 240, 265, 280, 285, and 290 can determine the second mobile device position using an updated selected AD model. In general, the first loop can be faster and less computationally intensive than the second loop. Therefore, the first selected AD model may be used repeatedly for multiple positioning requests as long as the confidence score of the first selected AD model can be determined to be acceptable. Conversely, the second loop can be slower and more computationally intensive than the first loop. Therefore, it may be desirable to utilize the second loop only when the confidence score of the first selected AD model may indicate that the accuracy of the first selected AD model may have decreased, for example, due to changes in the environmental features of the network service area after the determination of the first selected AD model. Each iteration of the second loop may update the selected AD model to account for changes in environmental features of the network service area and to maintain mobile device positioning accuracy despite these changes. The updated selected AD model may provide improved positioning accuracy as compared with the first selected AD model. The improved positioning accuracy may result from a reduced deviation between calculated signal characteristics and measured signal characteristics. In general, a reduced deviation for an AD model may indicate that the AD model more accurately predicts measured signal characteristics. Because the updating can occur in conjunction with ongoing positioning requests, the selected AD model from any positioning request may be dynamically updated in conjunction with any subsequent positioning request.
At stage 205, the position determination module 170 can receive a mobile device positioning request to determine the position of a particular mobile device, 110-a, b, or c, in the network service area of network 130. The positioning request may be a first positioning request. In an example, a mobile device 110 initiates the positioning request via the network 130. In an implementation, the network server 160 may initiate the positioning request.
At stage 210, in response to the positioning request, the position determination module 170 can instruct APs 120 to collect signal characteristic measurements from the particular mobile device 110 that is the subject of the positioning request. In an embodiment, the position determination module 170 can instruct APs 120 to collect signal characteristic measurements from one or more mobile devices 110. The signal characteristic measurements may be the first signal characteristic measurements. The position determination module processor 174 can receive the collected signal characteristic measurements. The signal characteristic measurements can include, for example, RSSI, RTT, and CFR.
Additionally, at stage 210, the position determination module processor 174 can estimate an a priori position for the particular mobile device using the collected measurements and stored AD models. The a priori mobile device position can determine an area within which the mobile device is likely to be located. Referring to
At stage 215, the model evaluation module processor 184 can determine confidence scores of AD models and determine a selected AD model (ADmin) using a method 300 of assistance data learning or a method 600 of multiple sector assistance data learning, as described below with reference to
Referring to
The confidence score determined for the AD models can replace any previously determined confidence score for the AD models. In this manner, the model evaluation module processor 184 can adjust the confidence scores of the AD models. In an implementation, prior to any positioning requests for a network service area, for example prior to stage 205 of
At stage 220, position determination module processor 174 may determine a position for particular mobile device being located (e.g. 110-a, b, or c) using the selected and stored ADmin model from the assistance data learning process 300. The position determination module processor 170 can communicate the determined position to the particular mobile device being located (e.g. 110-a, b, or c) and/or to the network server 160.
The processor 184 can adjust the confidence score, in scoring table 400 stored in memory 182, for ADmin in the sector SM that includes the calculated mobile device position coordinates. The adjusted confidence score for ADmin may reflect a high likelihood that calculated results from ADmin have the smallest deviation, as compared with the other models, from the measured signal characteristics.
At stage 221, with reference to
At stage 225, the position determination module 170 can receive a subsequent mobile device positioning request. The subsequent mobile device positioning request may be a second mobile device positioning request. The term second as used herein means subsequent to the first and does not imply a total quantity or a particular ordinal rank. In an embodiment, a mobile device, 110-a, b, or c may initiate the subsequent positioning request. In an embodiment, the network server 160 may initiate the subsequent positioning request. The subsequent positioning request may be for the same particular mobile device as the prior positioning request or for a different particular mobile device than the prior positioning request.
At stage 230, with reference to
Additionally, at stage 230, the position determination module processor 174 can estimate an a priori position for the particular mobile device using the collected measurements and AD models stored in memory 182.
At stage 240, the processor 184 may determine a confidence score for the selected ADmin model based on a deviation between calculated signal characteristics using the selected ADmin and the collected measured signal characteristics. In response to every subsequent received positioning request at stage 225, the position determination module processor 174 can request and receive collected signal characteristic measurements. The processor 174 can combine the received measurements with stored signal characteristic measurements from prior positioning requests. The statistical reliability of the received signal characteristic measurements and associated statistical parameters (e.g. mean, weighted mean, standard deviation) can increase with an increasing number of positioning requests. As a result, the deviation and confidence score determined at stage 240 for ADmin may be more accurate with an increasing number of positioning requests.
The confidence score of ADmin, or any other AD model, can change over a period of time ΔT. ΔT may be a period of any duration, for example, seconds, minutes, hours, days, weeks, months, or years. A detected change in the selected ADmin confidence score may indicate that the selected ADmin is no longer a more accurate model to use for mobile device positioning than the other AD models {AD1, AD2, . . . , ADN}. The model evaluation processor 184 may evaluate the selected ADmin confidence score to determine if a change has occurred in response to non-transient changes in the measured signal characteristics or transient changes in the measured signal characteristics compared to the measured signal characteristics received at a prior positioning request.
Non-transient changes in the measured signal characteristics can be due to significant changes in modeled environmental features of the network service area of network 130. For example, a renovation may change the types of building materials, the corridor layout, and/or any other aspects of the interior architecture. Other examples, not limiting of the invention, of significant changes that may occur include rearrangement of furniture, differences in the number and position of occupants, for example between a night work shift and a day work shift, or an alteration of a cubicle partition layout. The position determination module processor 174 may utilize a particular selected ADmin determined for the network service area at time T1 to determine requested mobile device positions for a period of time ΔT. By time T2=T1+ΔT, a significant environmental feature change may occur or have occurred. As a result, the particular selected model ADmin determined at T1 may be associated with an unacceptable deviation and confidence score at T2. Dynamically updating ADmin by updating ADmin during a positioning request in response to non-transient changes in the measured signal characteristics may adaptively improve the accuracy of the AD model used for mobile device positioning.
Alternatively, transient changes in the measured signal characteristics may involve, for example, signal propagation parameters that may not be included in the modeled parameters. Examples of sources of transient changes, not limiting of the invention, can include changes in the way a mobile device is held by a user (e.g. various mobile device configurations in, for example, a user's hand, pocket, briefcase, or handbag) and electronic fluctuations in a mobile device battery, transceiver, or other component. Updating the selected ADmin in response to these transient changes may cause the model evaluation module 180 to flicker or bounce between models without any associated improvement in mobile device positioning accuracy. Such model updates can be an unnecessary utilization of computing resources. In an embodiment, the model evaluation module processor 184 may implement routines stored in memory 182 which can statistically evaluate the magnitude (i.e. the size of the shift compared to the confidence score threshold) and frequency (the number of changes per unit time) of detected confidence score changes or shifts. In an implementation, processor 184 can evaluate environmental feature changes identified by an operator of the model evaluation module 180. The statistical routines may be used by the model evaluation module processor 184 to heuristically determine and adjust the confidence score threshold. The
confidence score threshold may be set so that non-transient changes in the measured signal characteristics can result in an unacceptable confidence score evaluation at stage 265 and an updated selected ADmin. In general, the number of mobile device positioning determinations that may occur with any particular selected ADmin depends upon the type, magnitude, and frequency of changes in the modeled environmental features that may occur in the network service area for network 130.
At stage 245, the model evaluation module processor 184 may determine the confidence score for ADmin to be acceptable based on the confidence score threshold. In an implementation, the confidence score threshold can be set so that transient changes in the measured signal characteristics can result in an acceptable confidence score. If the confidence score for ADmin equals or exceeds the confidence score threshold and/or equals or exceeds the confidence score of any other AD model in the scoring table, then the confidence score of ADmin may be determined to be acceptable. As a result, the position determination module processor 174 may continue to use the ADmin, with an acceptable confidence score for one or more subsequent mobile device positioning requests.
Alternatively, at stage 265, the model evaluation module processor 184 may determine the confidence score to be unacceptable. For example, if the confidence score for ADmin is less than the confidence score threshold and/or less than the confidence score of another AD model in the scoring table, then the confidence score of ADmin may be determined to be unacceptable. As a result, the processor 184 may proceed to determine an updated ADmin, store the updated ADmin, in memory 182 and/or 172, and the position determination module 170 may use the stored, updated ADmin for one or more mobile device positioning requests.
In an embodiment, the processor 184 may adjust the confidence score threshold so that the confidence score for ADmin may be determined to be unacceptable at stage 265 because of a long time gap between positioning requests from a particular network service area. The likelihood that positions determined from a particular ADmin may have a high deviation from measurements (i.e. a low confidence score) may increase with longer gaps between positioning requests due to the increased chance that changes in a particular network service area may have occurred during a long time gap between positioning requests. In an embodiment, the time gap considered to be a long time gap can be determined based on a significant change in the frequency of positioning requests (i.e. the number of positioning requests occurring per unit time). A user or operator of the model evaluation module 180 may decide that a time gap is a long time gap, for example, based on user knowledge of positioning request frequencies or of environmental feature changes. An unacceptable confidence score, for example, zero, may be assigned to a particular model ADmin in order to implement the model evaluation process following a long time gap between positioning requests.
Referring again to
At stage 260, the position determination module processor 174 can determine a position for the particular mobile device being located using the selected ADmin model as determined in conjunction with a prior positioning request. In an embodiment, the position determination module memory 172 can store position information based on the determined mobile device position. In an embodiment, the model evaluation processor 182 can update the confidence score for selected AD model for the sector corresponding to the determined mobile device position to indicate a higher confidence score.
At stage 295, with reference to
Following stage 260 or optional stage 295, process 200 can return to 225 in response to a subsequent mobile device positioning request.
At stage 280, following an unacceptable confidence score determination at stage 265, the model evaluation module processor 184 can determine confidence scores of AD models and determine an updated selected ADmin using a method 300 of assistance data learning or a method 600 of multiple sector assistance data learning, as described below with reference to
The updated selected ADmin can replace the selected ADmin determined with the initial positioning request. Subsequently, the position determination module processor 174 can continue to use the updated selected ADmin to determine mobile device positions in response to positioning requests as long as the confidence score of the updated selected ADmin is determined to be acceptable at stage 245. With every subsequent positioning request for which stage 280 is implemented to determine the updated selected ADmin, the updated selected ADmin can replace the selected ADmin or the updated selected ADmin from a prior positioning request.
At stage 285, the position determination module processor 174 may determine a position for the particular mobile device being located using the updated selected ADmin model as determined at stage 280. The updated selected ADmin be an improvement over a prior selected ADmin determined in a prior iteration. This improvement may refer to a reduced deviation, between signal characteristics calculated with ADmin and the measured signal characteristics. An ADmin with a reduced deviation, may improve the mobile device positioning accuracy. The model evaluation processor 182 can be configured to update the confidence score for selected AD model for the sector corresponding to the determined mobile device position to indicate a higher confidence score.
At stage 290, with reference to
Following stage 285 or optional stage 290, process 200 can return to 225 with a subsequent mobile device positioning request.
Referring to
At stage 310, using the set of AD models {AD1, AD2, . . . , ADN} for each of the APs 120, the processor 184 can be configured to calculate signal characteristics predictive of measured signal characteristics for signals transmitted from one or more mobile devices 110 to APs 120.
At stage 315, for each of APs 120, the processor 184 can be configured to compare the measured signal characteristics stored in the position determination module memory 172 with the calculated signal characteristics from the set of N models {AD1, AD2, . . . , ADN} to determine a deviation for each AD model. The deviation corresponds to a difference between the measured signal characteristics measurements and the calculated signal characteristics for each AD model of the set of N models. In an embodiment, the processor 184 can be configured to compare the calculated signal characteristics from each of the N models {AD1, AD2, . . . , ADN} with a statistical parameter (e.g. mean or weighted mean) associated with the measured signal characteristics for a current positioning request combined with stored signal characteristics prior positioning requests.
At stage 320, the model evaluation module processor 184 determines a confidence score for each of the models {AD1, AD2, . . . , ADN} based on the deviation. The confidence score can represent the likelihood that each model of the set of N models provides the smallest deviation, as compared with the other models, between the calculated signal characteristics and the measured signal characteristics for a given sector. In an implementation, the deviation can be between the calculated signal characteristics and a mean or a weighted mean of signal characteristics measured in response to one or more positioning requests from multiple signals transmitted from one or more mobile devices 110 to a particular AP 120-a, b, or c. A confidence score of zero for a particular model, for example, may indicate a low probability that the particular model provides the smallest deviation. In an implementation, the model evaluation processor 184 can be configured to store the confidence scores in a data structure, for example, scoring table 400 of
At stage 323, as described above, method 300 may return to method 200 and resume method 200 at stage 340 or may continue to stage 325.
At stage 325, the model evaluation processor 184 can compare the confidence scores to a heuristically determined confidence score threshold in order to qualify AD models for use in a cost function. The confidence score threshold can correspond to a confidence score requirement to qualify an AD model for inclusion in the cost function. In various implementations, the confidence score threshold may be a fixed number or may be a computed value of a qualification function or other algorithm applied to the confidence scores.
In an implementation, if all of the AD models have a confidence score of zero or a confidence score below the confidence score threshold (i.e. none of the AD models meet the confidence score threshold criterion), then all of the AD models may qualify for inclusion in the cost function and the processor 184 may include all of the AD models in the cost function.
At stage 330, the model evaluation module processor 184 can determine a cost function for the network service area of network 130 including signal characteristic measurements and AD models qualified for inclusion in the cost function. Calculated signal characteristics from the included AD models may constitute a prediction vector. The stored measurements may constitute a measurement vector. The cost function may be, for example, a Euclidian distance or a weighted Euclidian distance between the prediction vector and the measurement vector.
In an embodiment, the cost function may correspond to a particular AP 120-a, b, or c. In an additional and/or alternative embodiment, the cost function may combine measurements and AD models for all APs 120.
At stage 335, the module evaluation module processor 184 can determine a selected model, referred to herein as ADmin, from the set of models {AD1, AD2, . . . , ADN} that mathematically minimizes the cost function for the network service area. The term minimizes refers to a mathematical operation and is used herein to mean that ADmin mathematically minimizes the cost function as compared to the remaining models in the set of available AD models {AD1, AD2, . . . , ADN}. In various implementations, ADmin may correspond to a local minimum or an absolute minimum of the cost function. In an implementation, ADmin can be the AD model associated with the minimum deviation between the calculated signal characteristics from the model and the measured signal characteristics received by the position determination module processor 174. Memory 182 and/or memory 172 can store ADmin for use by the position determination module 170.
In an embodiment, if the cost function corresponds to a particular AP 120-a, b, or c, then the determined model ADmin can correspond to the same particular AP. The ADmin determined for one of AP 120-a, b, or c may or may not be the same ADmin determined for a different one of AP 120-a, b, or c. In an additional and/or alternative embodiment, if the cost function corresponds to combined measurements and AD models for all APs 120, then the model ADmin can correspond to all APs 120.
At stage 350, the method 300 may return to stage 220 or stage 285 of method 200. The ADmin determined at stage 335 may be used at stage 220 or stage 285 of method 200 to determine the mobile device position.
In an embodiment, the model evaluation module processor 184 can divide, or tile, the network service area into multiple sectors {S1, S2, . . . , SM}. The assistance data learning process may determine confidence scores and select AD models for each sector. In such an embodiment, referring to
Method 600 may be implemented at stages 215, 250, and 280 of method 200. At stage 215, method 600 may be implemented to determine a selected AD model for each sector of multiple sectors. In this case, method 600 may not return to method 200 at stage 623 and may proceed with stages 625, 630, and 635 may resume method 200 (e.g. at stage 220) at stage 650. At stage 250, method 600 can be implemented to determine updated confidence scores for each AD model for each sector. In this case, method 600 may return to method 200 at stage 623 and at stage 640 may resume method 200 (e.g. at stage 260). At stage 280, an updated selected AD model for each sector can be determined via the method 600. In this case, method 600 may not return to method 200 at stage 623, may proceed with stages 625, 630, and 635, and at stage 650 may resume method 200 (e.g. at stage 285).
At stage 610, using the set of AD models {AD1, AD2, . . . , ADN} for each of the APs 120, the processor 184 can calculate signal characteristics predictive of measured signal characteristics for each sector of the multiple sectors for signals transmitted from the one or more mobile devices 110 to APs 120.
At stage 615, for each of APs 120, the processor 184 can compare the measured signal characteristics stored in the position determination module memory 172 with the calculated signal characteristics for the set of N models {AD1, AD2, . . . , ADN} for each sector to determine a deviation for each AD model for each sector. In an embodiment, the process 184 can compare the calculated signal characteristics for each sector with a statistical parameter (e.g. mean or weighted mean) for each sector based on the measured signal characteristics associated with each sector and the current positioning request combined with stored measured signal characteristics associated with each sector.
At stage 620, the model evaluation module processor 184 can determine a confidence score for each of the models {AD1, AD2, . . . , ADN} for each sector based on the deviation for each sector. In an implementation, the confidence scores may be stored in a data structure, for example, scoring table 400 in
In an embodiment, the model evaluation module processor 184 can be configured to dynamically adjust the number of sectors in response to determined confidence scores. For example, large sectors may be divided into smaller sectors to increase the number of sectors if the confidence scores of the AD models are determined to be too low. The smaller sectors may present less diversity with regard to the environmental features than the larger sectors. AD models evaluated for smaller, less diverse sectors may correspond to a smaller deviation between the measured signal characteristics and the modeled, or calculated, signal characteristics. This adjustment may improve AD model position determination accuracy. In another example, small sectors may be combined into larger sectors to reduce the number of sectors if the small sectors are sufficiently similar to one another with regard to environmental features and/or environmental feature diversity. This adjustment may reduce computing time without increasing the deviation (i.e. reducing the confidence score) between the measured signal characteristics and the calculated signal characteristics from the AD models.
At stage 623, as described above, method 600 may return to method 200 and resume method 200 at stage 640 or may continue to stage 625.
At stage 625, the model evaluation processor 184 can compare the confidence scores for each AD model for each sector to a heuristically determined confidence score threshold in order to qualify AD models for each sector for use in a cost function. A higher confidence score, indicative of a smaller deviation between the modeled signal characteristics and the measured signal characteristics, can indicate a higher predictive accuracy of an AD model for a sector.
The qualifying set of AD models can be those AD models for each sector for which the confidence score equals or exceeds the confidence score threshold. In an implementation, if all of the AD models for a particular sector have a confidence score of zero or a confidence score below the confidence score threshold (i.e. none of the AD models meet the confidence score threshold criterion), then all of the AD models for the particular sector may qualify for inclusion in the cost function. In this case, the processor 184 may include all of the AD models for the particular sector in the cost function.
In an implementation, a larger number M of smaller sectors may increase the resolution of the AD model qualification for inclusion in the cost function. In general, an AD model may more accurately predict the signal attenuation of a smaller sector due to the reduction in the number, diversity, and fluctuation of environmental features associated with a smaller sector. Smaller sectors may increase the resolution by increasing the likelihood that, for a given sector, the confidence score(s) of one or more AD models are significantly higher than the confidence scores of the remaining AD models.
Referring to
At stage 630, the model evaluation module processor 184 can determine a single cost function for the network service area of network 130 including signal characteristic measurements and AD models for each sector qualified for inclusion in the cost function. Calculated signal characteristics from the included AD models for each sector may constitute a prediction vector. The stored measurements may constitute a measurement vector. The cost function may be, for example, a Euclidian distance or a weighted Euclidian distance between the prediction vector and the measurement vector.
At stage 635, the module evaluation module processor 184 can determine a selected AD model for each sector, ADmin that mathematically minimizes the cost function evaluated at each sector. Memory 182 and/or memory 172 can store ADmin for each sector for use by the position determination module 170.
Following stage 635, the method 600 may return to stage 220 or stage 285 of method 200. The ADmin for each sector determined at stage 635 may be used at stage 220 or stage 285 of method 200 to determine the mobile device position.
Other embodiments are within the scope and spirit of the invention. For example, due to the nature of software, functions described above can be implemented using software, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, and symbols 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.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure 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 algorithm 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 disclosure.
The various illustrative logical blocks, modules, and circuits described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the disclosure herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium know in the art. A storage medium may be coupled, for example, to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
In one or more design examples, the functions described may be implemented in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the functions may be stored on or transmitted over as one or more instructions or code on a non-transitory computer-readable medium such as a computer storage medium. Processors may perform the described tasks.
Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A computer storage medium includes any medium that facilitates transfer of a computer program from one place to another. A computer storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitations, such computer-readable media can include RAM, ROM, EEPROM, CD-RIM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special purpose computer, or a general purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or mobile technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or mobile technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer readable media.
The methods, systems, and devices discussed above are examples. Various alternative configurations may omit, substitute, or add various procedures or components as appropriate. Configurations may be described as a process which is depicted as a flow diagram or block diagram. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figure. Having described several example configurations, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the disclosure. For example, the above elements may be components of a larger system, wherein other rules may take precedence over or otherwise modify the application of the invention. Also, a number of steps may be undertaken before, during, or after the above elements are considered. Accordingly, the above description does not limit the scope of the claims. Also, technology evolves and, thus, many of the elements are examples and do not limit the scope of the disclosure or claims.
Specific details are given in the description to provide a thorough understanding of example configurations (including implementations). However, configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the configurations. This description provides example configurations only, and does not limit the scope, applicability, or configurations of the claims. Rather, the preceding description of the configurations will provide those skilled in the art with an enabling description for implementing described techniques. Various changes may be made in the function and arrangement of elements without departing from the spirit or scope of the disclosure.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
As used herein, including in the claims, “or” as used in a list of items prefaced by “at least one of” indicates a disjunctive list such that, for example, a list of “at least one of A, B, or C” means A or B or C or AB or AC or BC or ABC (i.e., A and B and C), or combinations with more than one feature (e.g., AA, AAB, ABBC, etc.).
As used herein, including in the claims, unless otherwise stated, a statement that a function or operation is “based on” an item or condition means that the function or operation is based on the stated item or condition and may be based on one or more items and/or conditions in addition to the stated item or condition.
“First” as used herein refers to a first occurrence associated with the method 200 and/or the method 300. Unless stated otherwise, “first” does not necessitate or imply the absolute first. For example, “first” does not require the first positioning request to be the first positioning request ever received for one or more mobile devices 110-a and/or 110-b and/or c nor does “first” necessitate that the first positioning request be the first positioning request ever received in association with the network service area of the network 130.
Further, while the description above refers to the invention, the description may include more than one invention.