無線設備越來越多地依賴于它們的位置作為用于各種應用的上下文。在確定位置時,這些設備可以采用各種定位技術,不幸的是,這些技術可能在電池供電的設備中消耗大量的功率。因此,這樣的設備可能經歷用于可靠地執行它們的各種功能的可用電源減少。
附圖說明
具體實施方式參考附圖闡述。在附圖中,參考標號的最左邊的(一個或多個)數字標識該參考標號首次出現的附圖。在不同的附圖中使用相同的參考標號表示相似或相同的項目。
圖1示出了在本公開的實施例中可以根據本文描述的技術來確定無線通信設備的位置的示例環境。
圖2示出了根據本公開的實施例的用于使用混合定位技術來實現無線通信設備的有效位置確定的計算環境。
圖3示出了根據本公開的實施例的用于確定無線通信設備的位置的示例混合定位技術。
圖4示出了根據本公開的實施例的用于使用混合定位技術來確定無線通信設備的位置的示例過程的流程圖。
現在將在下面參照附圖更全面地描述某些實現方式,附圖中示出了各種實現方式和/或方面。然而,各種方面可以以許多不同的形式實現,并且不應被解釋為限于本文所闡述的實現方式;相反,提供這些實施方式以使得本公開將是徹底和完全的,并且將向本領域技術人員充分地傳達本公開的范圍。全文中相似的數字指代相似的元件。
具體實施方式
本文的實施例涉及使用混合定位技術對無線通信設備進行有效位置確定等。無線通信設備(例如智能電話,移動電話或其他用戶設備)的位置可以以需要用戶設備降低的功耗而不犧牲位置精度的方式來確定。在本文的某些實施例中,可以實現諸如三邊測量的第一定位技術,以使得至少部分地基于用戶設備從無線接入點接收的接收信號強度指示符(RSSI)來確定用戶設備的近似位置。用戶設備的近似位置可以包括一個或多個候選位置,其中任何一個可以是用戶設備的實際位置。還可以確定增加這樣的候選位置的數量(或者換句話說,用戶設備可以位于其中的區域)的誤差,以增加所確定的用戶設備的位置在可接受的公差或統計置信度內的可能性。
諸如指紋識別的第二定位技術可以被實現為部分地通過僅考慮根據三邊測量方法確定的候選位置來確定用戶設備的位置。因此,在確定用戶設備的位置(例如,比通過三邊測量確定的位置更精確的位置)時,可以僅考慮用戶設備所在的地區或區域的指紋條目的總數的一部分。例如,在一個實施例中,對于每個候選位置,可以將用戶設備接收的RSSI與所存儲的候選位置的RSSI進行比較,以基于這樣的RSSI確定最佳匹配。與提供最佳匹配的RSSI相對應的一個或多個位置可以被確定為用戶設備的一個或多個最佳位置。
上述描述是為了說明的目的,而不意味著限制。在其他實施例中可以存在許多其他描述、示例、技術等,其中一些在以下文本中進行描述。
圖1描繪了示例環境100,其中可以根據本文所描述的技術來確定諸如用戶設備110的無線通信設備的位置。在某些實施例中,示例環境100可以包括室內設施(例如辦公室,住宅或其它內部空間),室內設施可以包括墻壁166和位于內部空間內的其他物品。在本文的某些實施例中,可以在這樣的區域中確定無線通信設備的位置。其他實施例可以涉及確定在室外區域中的無線通信設備的位置。
如圖1所示,環境100可以包括但不限于:用戶設備110,接入點140、142和144以及服務器170。雖然在圖1中示出了一定數量的每種設備,但在其他實施例中可以存在更少或更多的設備。例如,可以存在更多的接入點,并且用戶設備110可以利用接入點(例如,三個接入點140、142和144)的至少一部分來確定其位置,例如通過應用三邊測量和指紋識別定位技術,如下面將更詳細地描述的。
用戶設備110可以從接入點140、142和144的全部或至少一部分接收信息。該信息可以作為WiFi信號、WiFi Direct信號、藍牙、近場通信(NFC)信號或各種其他類型的通信信號來接收。所接收的信息可以包括接收信號強度指示符(RSSI),從其接收到RSSI的接入點的唯一標識等。在本文的某些實施例中,可以應用三邊測量來確定用戶設備110的近似位置。例如,從每個接入點140、142和144接收的RSSI可以用于通過確定圍繞每個接入點140、142和144的邏輯球的重疊部分來估計接入點140、142和144之間的距離,其中所估計的距離可以是每個邏輯球的半徑。球的重疊部分(無論是相同的點還是一組重疊的點)可以用于確定用戶設備110的近似位置。
與三邊測量方法相關聯的誤差也可結合用戶裝置110的近似位置使用以確定用戶裝置110可駐留的區域或范圍。這樣的區域或范圍內的位置在本文中可被稱為候選位置。
可以使用各種技術來選擇哪些接入點可以在三邊測量中用于確定用戶設備110的近似位置。這樣的技術可以包括基于接入點的RSSI和相對于用戶設備110的位置來選擇一定數量(例如,三個)的接入點。在一個實施例中,例如可以選擇具有相對較強的RSSI并且位于用戶設備110的基本不同側上的接入點。
在本文的某些實施例中,指紋識別(例如,RSSI指紋識別)可以與三邊測量結合使用以確定用戶設備110的更精確的位置。如本文所使用的,更精確的位置可以意味著通過指紋識別確定的位置可以比通過三邊測量確定的位置更準確。這種更精確的位置在這里也可以簡稱為(例如用戶設備110的)位置。在這種情況下,由三邊測量確定的位置可以被稱為近似位置。這樣的近似位置可以包括借助于與接入點140、142和144相關聯的邏輯球相重疊的較大部分和/或通過與三邊測量相關聯所確定的誤差而擴展的區域或范圍所得到的一個或多個候選位置。下面將更詳細地描述這些過程的詳細示例。
服務器170可以包括一個或多個數據庫以用于存儲可用于確定用戶設備110的位置的信息。例如,服務器170可以存儲指紋識別信息,諸如空間(例如室內設施100)中的每個點或位置的坐標以及在每個點或位置處測量的RSSI。服務器170還可以存儲與三邊測量相關聯的信息,諸如接入點140、142和144的位置以及與這些接入點相關聯的對應唯一標識符。在其他實施例中可以存儲各種其他信息。
由服務器170存儲的信息可以在用戶設備110請求時提供;在發生服務器170檢測到信息的改變(例如,接入點的重定位、接入點的移除或添加等)或由三邊測量或指紋識別定位技術使用的信息的其他變化時提供。在一個實施例中,用戶設備110可以至少部分地基于這樣的信息來確定其位置。在其他實施例中,服務器170可以至少部分地基于這樣的信息來確定用戶設備110的位置。
在本文的某些實施例中,用戶設備110和服務器170之間的通信可以通過蜂窩網絡進行。在其他實施例中,用戶設備110和服務器170之間的通信可以經由WiFi協議、WiFi Direct協議或各種其他通信協議進行。作為非限制性示例,用戶設備110和服務器170可以通過一個或多個接入點140、142或144(例如,使用WiFi協議)彼此通信,或者可以使用WiFi Direct協議彼此直接通信。
這里的無線網絡(諸如可以用于實現圖1中的設備之間的通信的無線網絡)可以利用各種頻率來實現這種通信。例如,一些無線網絡可以使用2.4GHz的頻率用于由電氣與電子工程師協會(IEEE)802.11b和IEEE 802.11g規范所定義的那樣進行通信。其他無線網絡可以使用5GHz的頻率用于如IEEE 802.11a規范所定義的那樣進行通信。IEEE 802.11a和IEEE 802.11b在1999年公布,并且IEEE 802.11g在2003年公布。符合IEEE 802.11b標準的設備通常可以稱為或銷售為無線保真(Wi-Fi)兼容設備。一些無線網絡可以在毫米波頻率(例如,60GHz頻帶)中操作。
以上對圖1的描述是為了說明的目的,并不意味著限制。各種其它描述、配置等可存在于其它實施例中。例如,接入點140、142和144相對于用戶設備110的位置可以變化。此外,接入點140、142和144以及服務器170中的一個或多個可以位于環境100外部。此外,雖然本文的某些實施例涉及使用三邊測量和指紋技術來確定用戶設備110的位置,但是也可以使用其它定位技術。一般地,可以應用第一位置估計技術來確定用戶設備110或其他設備的大致或近似位置。之后可以應用第二位置估計技術來確定用戶設備110的位置(例如,比由應用的第一定位技術所確定的位置更精確的位置)。根據該示例,第二位置估計技術可以比第一位置估計技術更準確,并且還可能具有相對更加密集的中央處理單元(CPU),消耗相對更多的功率,或者可能需要比第一位置估計技術相對更多的計算資源來確定用戶設備110的位置。在一些實現方式中,飛行時間(ToF)可以用于確定用戶設備110的近似位置。例如,無線電波的行進時間可以被轉換為用戶設備110和從其接收無線電波的接入點140之間的距離,因此可被用于確定用戶設備110的位置。
圖2根據本公開的實施例,描繪了用于使用混合定位技術來實現對無線通信設備進行有效位置確定的計算環境200。示例計算環境200可以包括但不限于諸如用戶設備210、服務器270和一個或多個接入點240之類的無線通信設備。在一個實施例中,這些設備可以由圖1中它們相應的設備來實現。如所描述的,用戶設備210可以通過一個或多個網絡205從一個或多個接入點240和服務器270接收諸如RSSI的信息,以協助確定用戶設備210的位置。在一個實施例中,用戶設備210可以在不與接入點240建立通信連接的情況下接收這樣的信息(例如,經由嗅探RSSI或其他信息)。
如本文所使用的,術語“設備”可以指包括可被配置為執行計算機可讀、計算機實現或計算機可執行指令的一個或多個處理器的任何計算組件。示例設備可以包括個人計算機、服務器計算機、服務器場、數字助理、智能電話、個人數字助理、數字平板、智能卡、可穿戴計算設備、互聯網設備、專用電路、微控制器、小型計算機、收發器、公用電話或其他基于處理器的設備。由與各種設備相關聯的一個或多個處理器執行適當的計算機實現的指令可以形成專用計算機或形成可以實現或協助本文所描述的過程的其它特定機器。
如本文所使用的,指紋位置的相關子集或類似物在本文中也可以被稱為候選位置的相關子集。在本文的某些實施例中,候選位置的相關子集可以包括比針對某區域或空間所存儲的指紋位置的總數少的多個指紋位置,并且由于減少了指紋位置的數量,該候選位置的相關子集可被用于以更有效的方式來確定設備的位置,使得確定位置的設備消耗更少的功率。
用戶設備210可以包括無線電接收器(未示出)。無線電接收器中的物理層接口可以包括射頻(RF)單元,其可以被配置為提供在一個或多個頻率上對一個或多個RF信號進行接收。根據一種配置,RF單元可以包括放大器、混頻器、本地振蕩器等。根據各種配置,RF單元可以被實現為分立的電子組件、集成電路、軟件定義的無線電裝置或其組合。用戶設備210還可以包括可以向一個或多個接入點(例如接入點240)發送一個或多個RF信號的無線電發射器。在一些配置中,用戶設備210可以包括無線電收發器,其可以接收和發送RF信號。收發器(或接收器和/或發射器)可以被耦合到一個或多個天線(例如與用戶設備210相關聯的天線)。在一個實施例中,單個無線接口可以包括多個天線,其可以用于降低接收信號上的多徑衰落效應,例如當在設備之間發送的信號偏離圖1中的環境100中的一個或多個墻壁166時。服務器270也可以被配置有與關聯于用戶設備210的無線電接收器和發射器(或收發器)相同或相似的無線電接收器和發射器(或收發器)。服務器270還可以被配備有有線網絡(例如,以太網),以使得服務器270能夠連接到蜂窩網絡,蜂窩網絡可以連接到骨干有線網絡。
各種類型的網絡205可以協助圖2所示的設備之間的通信。這樣的網絡可以包括可以使示例系統200中的各種計算設備能夠彼此通信的任何數量的無線或有線網絡。在一些實施例中,可以使用其它網絡、內聯網或不同類型網絡的組合,包括但不限于:WiFi網絡、WiFi Direct網絡、NFC網絡、網絡、蜂窩網絡、無線電網絡、衛星網絡、其他短距離、中距離或長距離無線網絡、因特網、內聯網、電纜網絡、基于陸線的網絡或者將多個計算設備彼此連接的其他通信介質。在本文的某些實施例中,例如用戶設備210可以不與接入點通信以從接入點接收信息。經由WiFi、蜂窩或各種無線通信介質在用戶設備210和服務器270之間通信。在本文的各種實施例中,服務器可以通過有線或無線網絡連接。
設備210、240和270可以包括被配置為與一個或多個存儲器設備和各種其他組件或設備通信的一個或多個處理器。例如,用戶設備210可以包括一個或多個設備,該一個或多個設備包括一個或多個處理器212、一個或多個輸入/輸出(I/O)設備214、存儲設備216、一個或多個通信連接218以及一個或多個數據存儲222。一個或多個處理器212可以按照需要在硬件、軟件、固件或其組合中實現。分別與接入點240和服務器270相關聯的一個或多個處理器242和272可以與處理器212相同或至少類似。
與用戶設備210相關聯的存儲器224可以存儲在處理器212上可加載且可執行的程序指令以及在執行這些程序期間生成的數據。根據用戶設備210的配置和類型,存儲器224可以是易失性的,例如隨機存取存儲器(RAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM);或非易失性的,例如只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、閃存等。分別與接入點240和服務器270相關聯的存儲器252和280可以與存儲器224相同或至少類似。
與用戶設備210相關聯的存儲設備216可以包括可移動和/或不可移動存儲設備,包括但不限于磁性存儲設備、光盤和/或磁帶存儲設備。盤驅動器及其相關聯的計算機可讀介質可以為計算系統提供計算機可讀指令、數據結構、程序模塊和其他數據的非易失性存儲。分別與接入點240和服務器270相關聯的存儲設備246和276可以與存儲設備216相同或至少類似。
存儲器224、252和280以及存儲設備216、246和276(可移動和不可移動)都是計算機可讀存儲介質的示例。例如,計算機可讀存儲介質可以包括以任何方法或技術實現的易失性和非易失性、可移動和不可移動介質,以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據之類的信息。
與用戶設備210相關聯的I/O設備214可以使得用戶能夠與用戶設備210交互以執行各種功能。I/O設備214可以包括但不限于:鍵盤、鼠標、筆、語音輸入設備、觸摸輸入設備、手勢檢測或捕獲設備、顯示器、相機或成像設備、揚聲器和/或打印機。分別與接入點240和服務器270相關聯的I/O設備244和274可以與I/O設備214相同或至少類似。
與用戶設備210相關聯的通信連接218可以允許用戶設備210通過一個或多個無線網絡205與諸如接入點240和服務器270之類的其他設備通信。通信連接218可以包括一個或多個天線220和一個或多個無線電裝置219,一個或多個無線電裝置219可以包括用于通過上述各種類型的網絡205來發送和/或接收無線信號的硬件和軟件。分別與接入點240和服務器270相關聯的通信連接248和278可以與通信連接218相同或相似。在一個實施例中,服務器270可以被配置為經由蜂窩網絡與用戶設備210或其他設備通信。在其他實施例中,通信連接278可以包括一個或多個無線電裝置和天線,該一個或多個無線電裝置和天線可以使得服務器270能夠向用戶設備210和/或向接入點240接收和/或發送無線信號,接入點240可以在用戶設備210和服務器270之間對無線信號進行路由。
一個或多個數據存儲222可以存儲列表、陣列、數據庫、平面文件等。在一些實現方式中,數據存儲222可以存儲在用戶設備210外部的存儲器中,但是可以經由一個或多個網絡來訪問,例如使用云存儲服務。數據存儲222可以存儲這樣的信息:該信息可使用定位技術來協助對用戶設備210進行的有效位置確定。這樣的信息可以包括但不限于:指紋信息,例如區域內多個位置的坐標(例如,在整個區域中針對一定距離重復的X、Y坐標位置);對于每個坐標位置的相應RSSI測量;在該區域范圍內的接入點的位置;歷史信息,例如由用戶設備210基于由用戶設備210接收到的一個或多個RSSI來確定的先前位置;在與三邊測量計算相關聯的選擇候選位置中使用的可接受誤差(例如,5米,10米等);所存儲的在用戶設備210可能駐留的近似范圍或區域內標識的指紋識別位置的數量(例如,多個候選位置);所存儲的用戶設備210和接入點240之間的距離,例如曼哈頓距離、歐幾里德距離等;確定用戶設備210的位置所需的處理時間量;使用指紋識別來確定位置所需的可比較的時間量;與接入點240和用戶設備210相關聯的標識信息;以及可以協助本文描述的過程的各種其他信息。存儲在數據存儲222中的信息的全部或至少一部分也可以存儲在分別與接入點240和服務器270或接入點240相關聯的一個或多個數據存儲250或數據存儲279中。如上所述,用戶設備210可以訪問來自這樣的設備的信息的至少一部分,并使用該信息來確定用戶設備210的位置。
轉到存儲器224的內容,存儲器224可以包括但不限于:操作系統(O/S)226、一個或多個用戶應用228、通信模塊230和位置確定模塊232。模塊228、230和232中的每一個可以被實現為單獨的模塊,其提供與使用混合定位技術來有效地確定無線通信設備(例如,用戶設備210)的位置相關聯的特定功能。或者,模塊228、230和232中的一個或多個可以執行與其他模塊相關聯的全部或至少一些功能。
操作系統226可以指管理計算機硬件資源并為計算機程序提供通用服務以使能和協助這些程序的操作的軟件集合。示例操作系統可以包括UNIX、Microsoft Windows、Apple OS X等。在一個實施例中,與服務器270相關聯的操作系統282可以與操作系統226相同或相似。
一個或多個用戶應用228可以執行任何數量的功能,包括使用戶能夠查看內容(例如,文本、數據、視頻、多媒體或其他信息)和/或與內容交互。在一些實施例中,用戶應用228可以與位置確定模塊232通信以獲得與用戶設備210的位置相關聯的定制結果。例如,用戶應用228可以請求位置確定模塊232提供一定數量的所確定的用戶設備210的可能位置(例如,所確定的位置的前3個、前5個、前10個等)。例如,更加依賴用戶設備210的精確位置的用戶應用228可以從位置確定模塊232接收更多數量的可能位置,以增加可能位置中的至少一個位置包括用戶設備210的精確位置的可能性。在另一個示例中,可以較少地依賴于用戶設備210的精確位置的用戶應用228可以從位置確定模塊232接收相對較少的用戶設備210的可能位置(例如,一個位置或最佳匹配位置)。以這種方式,在某些實施例中,位置確定模塊232可以基于對用戶設備210的改進定位的需要或嚴格程度(例如,嚴格程度高對應于需要相對較多數目的用戶設備210的可能位置;嚴格程度中對應于需要相對較少數目的用戶設備210的可能位置;以及嚴格程度低對應于需要相對最少數目的用戶設備210的可能位置),來向各種用戶應用228、程序模塊、計算設備等提供定制結果。在一個實施例中,低嚴格程度或低準確度要求可對應于使用第一定位技術(例如,三邊測量),而高嚴格程度或高定位準確度可對應于使用第一定位技術(例如,三邊測量)以及第二定位技術(例如,指紋識別)來提供高定位準確度。
通信模塊230可以使得用戶設備210能夠與服務器270通信并且從接入點240接收信息,以協助本文描述的過程。通信模塊230可以實現各種無線通信協議,例如WiFi、WiFi Direct等。通信模塊232還可以包括用于調制信號的各種調制技術。這樣的信號可以包括分布在一個或多個網絡205上的幀中的信息,例如正交頻分復用(OFDM)、密集波分復用(DWDM)、相移鍵控(PSK)、頻移鍵控(FSK)、幅移鍵控(ASK)和正交幅度調制(QAM)等技術。圖2所示的每個裝置可以利用這種調制技術以及解調技術來從調制信號中訪問信息。
位置確定模塊232可以包括區域位置模塊234和設備位置模塊236。模塊234和236二者的應用在這里可以被稱為混合定位,使得至少兩種不同的方法可以被用來以一種有效的方式來確定用戶設備210的位置,以便在確定用戶設備210的位置時消耗相對較少的功率等等。
區域位置模塊234可以確定用戶設備210可能駐留的區域或范圍。這樣的區域或范圍可以包括一個或多個候選位置,其中任何一個可以是用戶設備210的位置。在一個實施例中,區域位置模塊234可以實現三邊測量以確定用戶設備210的近似位置。如上所述,三邊測量可以包括部分地通過確定可能圍繞在三邊測量計算中使用的每個接入點240的邏輯球的重疊部分來估計接入點240和用戶設備210之間的距離。球的重疊部分(無論是相同的點還是一組重疊的點)可以用于確定用戶設備210的近似位置。在這樣做時,用戶設備210(例如,經由通信模塊230)可以從多個接入點240(例如,三個接入點240)接收RSSI。區域位置模塊234可以分析RSSI以確定接入點240和用戶設備210之間的距離。在一個實施例中,這樣的距離可以是圍繞每個接入點240的邏輯球的半徑或近似半徑。
區域位置模塊234還可以基于所確定的接入點240和用戶設備210之間的距離來確定用戶設備210的近似位置。在一個實施例中,區域位置模塊234可以確定從其接收RSSI的接入點240的位置。區域位置模塊234可以訪問存儲在諸如服務器270的數據存儲279、用戶設備210的數據存儲222或其它數據存儲、數據庫等之類的數據存儲中的這些位置。在一個實施例中,區域位置模塊234可以通過將從接入點240接收到的唯一標識符與所存儲的唯一標識符進行比較來確定這些位置。用于匹配唯一標識符的位置可以用于對用戶設備210的位置計算中。例如,在確定接入點240的位置時,區域位置模塊234可以通過將所確定的接入點240和用戶設備210之間的距離加上接入點240的位置的至少一個坐標,來確定用戶設備210的近似位置。各種技術可以用于確定用戶設備210的近似位置,例如但不限于,重疊接入點區域的質心。
在一個實施例中,區域位置模塊234還可以結合如上所述確定用戶設備210的近似位置來確定誤差。在一個實施例中,由三邊測量確定的用戶設備210的近似位置可以由這樣的誤差修改。誤差可以用于調整(例如,擴展或收縮)所計算的區域以包括額外的或更少的候選位置。任何值都可以用于該誤差。在一個實施例中,可以建立誤差以使得其提供用戶設備210在區域內的統計置信度(例如,95%確定性)。在其他實施例中,誤差可以是預定值(例如,10.0米,20.0米等),使得誤差通過預定值來調整區域的半徑。例如,10.0米的誤差可以將用戶設備210的區域或近似位置的半徑擴展10.0米,以包括比在該區域的初始計算中包括的候選位置更多的候選位置。這種調整的示例將在下面更詳細地描述。
設備位置模塊236可以確定用戶設備210的位置(例如,比由區域位置模塊234確定的位置更精確的位置)。在一個實施例中,設備位置模塊236可以實現指紋識別以確定用戶設備210的位置。如所描述的,指紋識別可以包括將關于特定空間或區域(例如圖1中的室內設施100)的信息存儲在數據庫中,該數據庫在本文中可被稱為指紋數據庫。所存儲的信息可以包括但不限于:空間或區域中的點的位置;例如在空間或區域中每隔一定距離的點的X,Y坐標位置(例如,每隔1米、2米、0.5米等的位置);以及在每個點處接收到的對應RSSI。可以將用戶設備210(例如,通過通信模塊230)接收到的RSSI與所存儲的RSSI進行比較,以確定與接收到的RSSI相關聯的一個或多個位置,如下面將更詳細描述的。
在本文的某些實施例中,由區域位置模塊234確定的候選位置可以由設備位置模塊236分析以確定用戶設備210的位置。在一個實施例中,可以將存儲在指紋數據庫中的每個位置與例如由區域位置模塊234確定的用戶設備210的近似位置進行比較。
在一種實現方式中,可以通過比較指紋數據庫中的位置與用戶設備210的近似位置之間的距離來確定指紋位置的相關子集。在一個實施例中,如果指紋位置與用戶設備210的近似位置之間的距離小于由區域位置模塊234實現的誤差,則設備位置模塊236可以將該指紋位置添加到指紋位置的相關子集。如果指紋位置與用戶設備210的近似位置之間的距離小于由區域位置模塊234所確定的區域或范圍中的最遠點與用戶設備210的近似位置之間的距離,則設備位置模塊236也可以或替換地將該指紋位置添加到指紋位置的相關子集。換句話說,如果指紋位置在由區域位置模塊234所確定的區域或范圍內,則可以將該指紋位置添加到指紋位置的相關子集,無論這樣的區域或范圍是否通過誤差值進行了擴展。
如果指紋位置和用戶設備210的近似位置之間的距離大于誤差,大于由區域位置模塊234所確定的區域或范圍中的最遠點與用戶設備210的近似位置之間的距離,或以其他方式在由區域位置模塊234所確定的區域或范圍之外,則該指紋位置可以不被添加到指紋位置的相關子集,或者可以其他方式被忽略。可以使用曼哈頓距離、歐幾里德距離或各種其他技術來確定指紋位置和用戶設備210的近似位置之間的相應距離。
以上述方式,可以將指紋數據庫中的每個位置與用戶設備210的近似位置進行比較,以確定指紋數據庫中的位置是否應當被添加到指紋位置的相關子集,從而是否可能是用戶設備210的位置(或者比由區域位置模塊234所確定的位置更精確的位置)。因此,可以更快速和有效地分析指紋數據庫中減少數量的位置,以確定用戶設備210的位置,而不是分析指紋數據庫中全部數量的位置。可以基于如上所述由區域位置模塊234確定的候選位置來確定這種減少數量的指紋位置。例如,當用戶設備210從一個或多個接入點240接收RSSI時,設備位置模塊236可以將接收到的RSSI與僅針對指紋位置的相關子集中的位置所存儲的RSSI進行比較。
在確定接收到的RSSI與所存儲的RSSI之間的匹配(例如,精確匹配;表示最佳匹配的指紋位置的最高百分比(例如,前5%、前10%等);表示最佳匹配的最前幾個指紋位置(例如,前3個、前5個、前10個等))時,從匹配得到的一個或多個位置可以被確定為用戶設備210的位置。以這種方式,用戶設備210的位置可以使用混合定位技術來確定,該混合定位技術消耗比向指紋數據庫中的所有位置應用指紋識別所需的功率相對更少的功率,而不會損失確定用戶設備210的位置的準確性,如果三邊測量或其它較不精確的技術單獨用于確定用戶設備210的位置則可能發生損失確定用戶設備210的位置的準確性。
在一個實施例中,指紋位置的相關子集可以基于對用戶設備210的位置的歷史確定。例如,每個所確定的用戶設備210的位置可以存儲在數據存儲(例如,數據存儲279、數據存儲222等)、數據庫或其他存儲機制中。在確定用戶設備210的后續位置時,設備位置模塊236可以基于接收到的RSSI來考慮先前確定的用戶設備210的位置。在一些示例中,這樣的先前確定的位置可以不在由區域位置模塊234所確定的區域或范圍內,但是在一個實施例中,借助于歷史上(例如至少一次)被確定為用戶設備210的位置的先前確定的位置、基于新接收的RSSI與所存儲的RSSI的比較,這樣的先前確定的位置可以被添加到指紋位置的相關子集。以這種方式,本文的某些實施方式可以利用歷史信息來確定用戶設備210的位置,或換句話說,比由區域位置模塊234確定的位置更精確的位置。
在一些實現方式中,服務器270可以確定用戶設備210的位置。根據這些實現方式,服務器270的存儲器280可以包括服務器定位模塊284,其可以執行與關聯于用戶設備210的位置確定模塊232相同或相似的功能。服務器定位模塊284可以從用戶設備210接收信息(例如由用戶設備210接收的RSSI,從其接收RSSI的接入點240的標識等),并且基于這樣的信息來確定用戶設備210的位置。服務器定位模塊284可以向用戶設備210發送所確定的一個或多個位置。在示例實現方式中,用戶設備210的用戶應用228可以使用所確定的一個或多個位置作為輸入。
接入點240可以包括各種軟件和/或程序模塊以協助如本文所描述的過程。在一個實施例中,接入點240的存儲器252可以包括接入點(AP)通信模塊254,其可以配置接入點240以從圖2所示的設備發送和/或接收信息。例如,AP通信模塊254可以向用戶設備210或服務器270發送與接入點240相關聯的信息。這樣的信息可以包括但不限于RSSI或可用于確定RSSI的信息、接入點240的唯一標識以及接入點240的位置。
圖2中的以上描述是為了說明的目的,而不意味著限制。可以存在許多其他配置、實施例和描述。例如,區域位置模塊234和設備位置模塊236可以分別實現除了三邊測量和指紋識別之外的技術,來確定用戶設備210的更精確的位置。此外,可以確定除用戶設備210之外的設備的位置。
圖3根據本公開的實施例,描繪了使用混合定位技術來確定設備的位置的說明性示例300。說明性示例300可以包括如在圖301a中應用的三邊測量以及在圖301b中應用的指紋識別。在一種實現方式中,兩種技術均可以用于以減少(例如,可由圖2中的用戶設備210實現的用戶設備310的)計算和所需的存儲器大小的方式來確定用戶設備310的位置,從而消耗相比于通過單獨實現指紋識別所消耗的功率相對較少的功率,同時保持指紋識別的準確性。
如圖301b所示,內部空間302可以被指紋識別,使得可以根據在點305a-z中的每一個點處接收到的一個或多個對應的RSSI來存儲點305a-z中的每一個點。在圖301b中,點305a-z可以相距1.0米。任何距離或分離可以存在于其他示例中。點305a-z的標記意在包括所示的每個點。在陰影區域中示出的點意味著是點305a-z的子集。在各種實施例中,與一個或多個接入點相關聯的指紋位置和對應的RSSI可以存儲在數據存儲(例如,圖2中的數據存儲279)、數據庫或其他存儲機制中。
區域320可以表示與內部空間302相關聯的全部指紋位置的子集。這樣的子集可以基于在圖301a中實現的三邊測量技術,其中示出了相同的區域320。在示例實施例中,三個接入點340、342和344可以在三邊測量(例如,由圖2中的區域位置模塊234實現)中用作最佳接入點,以在給定它們的RSSI及其位置的情況下執行三邊測量,這作為非限制性示例。用戶設備310可以使用RSSI來估計用戶設備310與從其接收RSSI的接入點340、342和344中的每一個之間的距離。這樣的距離可以被加上接入點340、342和344的位置的坐標中的至少一個坐標(例如,曼哈頓距離、歐幾里得距離等),以確定用戶設備310的近似位置(X,Y坐標)。在一個實施例中,距離可以是圍繞接入點340的邏輯球312、圍繞接入點342的邏輯球314以及圍繞接入點344的邏輯球316的半徑或近似半徑。在一個實施例中,邏輯球的交集或重疊部分可以包括多個位置(這里稱為候選位置),其質心可以是用戶設備310的近似位置。在其他示例中可以使用除質心之外的技術。在一些實施例中,三個邏輯球312、314和316的重疊部分可以是單個位置點,其可以是用戶設備310的近似位置。
在本示例中,用戶設備310被示為在重疊部分318的外部。在一個實施例中,可以使用誤差來通過這種誤差擴展重疊部分318,以增加用戶設備310在候選位置的范圍內的統計置信度或確定性,如本文所述。在本示例中,重疊部分318的質心可以在任何方向上延伸,使得區域320具有等于或近似等于誤差的半徑。這樣的誤差是10.0米,并且被用于形成用戶設備310所駐留的區域320,如示例300所示。
圖301a中所示的區域320可以與圖301b中所示的區域320相同。在一個實施例中,如圖301b所示的區域320可以表示與圖310a所示根據三邊測量所確定的用戶設備310的近似位置相對應的指紋位置305a-z的一部分。以這種方式,只有一部分指紋位置可被用于確定用戶設備310的位置。對用戶設備310的位置的示例計算可以如下。
為了說明的目的,由圖301a中的三邊測量所確定的用戶設備310的近似位置可以是(8,9),其中近似位置Loc=(X,Y)。轉到圖301b中的指紋信息,可以基于圖301a中的區域320來確定指紋位置的相關子集(如本文中所提及的)。例如,可以確定每個指紋點305a-z與根據三邊測量所確定的用戶設備310的近似位置(8,9)之間的距離。如果這樣的距離小于誤差(例如,在本示例中為10.0米),則與所確定的距離相關聯的指紋位置可以被添加到指紋位置的相關子集,并被用于確定用戶設備310的位置(例如,比由三邊測量確定的位置更精確的位置)。這樣的指紋位置的相關子集可以由本示例中的區域320表示。如何添加相關子集中每個指紋位置的示例計算如下。
指紋點305m、305h和305d可以分別具有位置(5,4)、(5,5)和(5,6)。使用歐幾里德距離,指紋點(5,4)和用戶設備310的近似位置(8,9)之間的距離大約為5.83米;指紋點(5,5)和近似位置(8,9)之間的距離大約為5.0米;并且指紋點(5,6)和近似位置(8,9)之間的距離為大約4.24米。因為這樣的距離小于10.0米的誤差,所以相關聯的指紋點可以被包括在相關指紋位置的區域320中,以用于確定用戶設備310的位置。在區域320之外的指紋位置可以在確定用戶設備310的位置中被忽略。
由用戶設備310接收到的RSSI可以與所存儲的與內部空間302中的每個指紋位置相關聯的RSSI進行比較,以確定用戶設備310的位置。在一種實現方式中,與接收到的RSSI的值最接近的RSSI相關聯的指紋位置可以被確定為用戶設備310的位置。在一個實施例中,這種指紋位置可以被認為是最佳匹配。在其他實現方式中,與接收到的RSSI的值總體上最接近的RSSI相關聯的前3%、5%、10%等數量的位置可以被確定為用戶設備310最有可能的位置。在各種實施例中,可以根據所比較的RSSI之間的歐幾里德距離或根據各種其他數學技術來對位置進行排名,以確定表示用戶設備310的最佳位置的前幾個位置數量或前幾個位置的百分比。在各種實施例中,平均值和/或其它數學技術可被用于分析候選位置與用戶裝置310的接近度。在本示例中,基于上述示例技術中的至少一個,指紋位置3051可以被確定為用戶設備310的位置,并且出于說明的目的,在給定指紋位置3051與用戶設備310的接近度比其他指紋位置更近的情形下,在本示例中指紋位置3051被選擇為最佳匹配。
在一些實施例中,可能不位于區域320內的一個或多個指紋點305a-z由于到用戶設備310的距離低于誤差,可以至少部分地基于歷史信息而被添加以確定用戶設備310的位置。例如,這些點(例如,305s和305t)可以之前已經基于由用戶設備310接收到的相同或相似的RSSI而被確定為用戶設備310的位置。當前RSSI可以與這樣的歷史RSSI進行比較,以確定與歷史RSSI相關聯的位置是否是用戶設備310的最佳當前位置。
圖3中的以上示例是為了說明的目的,而不意味著限制。在其他示例中可以存在不同數量和位置的指紋位置、區域320中不同數量的指紋位置、不同形狀的區域320、不同的誤差值等。
圖4根據本發明的實施例,描繪了用于使用混合式定位技術來確定無線設備(例如,用戶設備)的位置的示例過程400的流程圖。示例過程400可以在一個實施例中由用戶設備210實現,或者在另一實施例中由服務器270實現。示例過程400可以在框402開始,其中包括一個或多個接入點的唯一標識和RSSI以及其他信息的信息可以由用戶設備(例如,通過通信模塊230)接收。
可以使用各種定位技術(例如三邊測量和指紋識別)來確定用戶設備的近似位置。在框404,可以使用第一定位技術來確定用戶設備的近似位置。當第一定位技術是三邊測量(例如,如由區域位置模塊234實現)時,可以確定用戶設備和在框402處從其接收信息的一個或多個接入點之間的相應距離。此外,可以至少部分地基于一個或多個接入點的唯一標識來確定一個或多個接入點的位置。例如,唯一標識可被用于訪問存儲在數據庫、數據存儲或其他存儲機制中的一個或多個接入點的位置。在一些實施例中,一個或多個接入點的位置可以作為從一個或多個接入點到無線設備的WiFi通信的一部分來接收。根據這些實施例,可以不使用接入點的唯一標識在數據庫或數據存儲中查找位置。
在框406處,可以(例如,由區域位置模塊234)確定與無線設備的近似位置相關聯的誤差。這樣的誤差可以增加候選位置的數量,候選位置中的任何一個可以是無線設備的近似位置。在示例實施例中,誤差可以是5.0米、10.0米或提供可接受的統計確定性或置信度的任何距離。
可以實現第二定位技術以例如,經由設備位置模塊236)確定無線設備的位置(。在一個實施例中,第二定位技術可以包括指紋識別方法。指紋識別方法可以應用于用戶設備的近似位置,用戶設備的近似位置可以包括如上所述的一個或多個候選位置,而不是指紋數據庫中的每個存儲位置和針對每個存儲位置的對應RSSI。根據一個示例,在框408,可以針對指紋數據庫中的每個條目(例如,由設備位置模塊236)確定指紋條目位置與無線設備的近似位置之間的距離。在框410,如果所確定的距離不小于誤差,則處理可以返回到框408。如果所確定的距離小于誤差,則在框412可以將指紋數據庫條目添加到指紋位置的相關子集。在框414,基于針對用戶設備的歷史位置確定,一個或多個額外的指紋數據庫條目可以被添加到指紋位置的相關子集,如上所述。在框416,可以分析指紋位置的相關子集,以基于由無線設備接收到的RSSI來確定最佳匹配無線設備的位置的一個或多個指紋條目位置,如本文的示例實施例中所描述的。
上面描述和示出的操作和處理可以按照各種實現方式中所需要的任何合適的順序來實施或執行。另外,在某些實現方式中,可以并行地執行操作的至少一部分。此外,在某些實現方式中,可以執行少于或多于所描述的操作。
以上參照根據各種實現方式的系統、方法、裝置和/或計算機程序產品的框圖和流程圖描述了本公開的某些方面。將理解的是,框圖和流程圖的一個或多個框,以及框圖和流程圖中的框的組合可以分別通過計算機可執行程序指令來實現。同樣地,根據一些實現方式,框圖和流程圖的一些框可以不一定需要以所呈現的順序執行,或者可以不一定需要被執行。
這些計算機可執行程序指令可以被加載到專用計算機或其他特定機器、處理器或其他可編程數據處理裝置上以產生特定機器,使得在計算機、處理器或其他可編程數據處理裝置上執行的指令創建用于實現一個或多個流程圖框中指定的一個或多個功能的裝置。這些計算機程序指令還可以被存儲在計算機可讀存儲介質或存儲器中,這些計算機程序指令可以指導計算機或其他可編程數據處理裝置以特定方式工作,使得存儲在計算機可讀存儲介質中的指令產生制品,該制品包括實現一個或多個流程圖框中指定的一個或多個功能的指令裝置。
作為示例,某些實現方式可以提供計算機程序產品,包括具有在其中實現的計算機可讀程序代碼或程序指令的計算機可讀存儲介質,所述計算機可讀程序代碼適于被執行以實現一個或多個流程圖框中指定的一個或多個功能。計算機程序指令還可以被加載到計算機或其他可編程數據處理裝置上,以使得在計算機或其他可編程裝置上執行一系列操作元件或步驟來產生計算機實現的過程,從而使得在計算機或其他可編程裝置上執行的指令提供用于實現流程圖框中指定的功能的元件或步驟。
因此,框圖和流程圖的框支持用于執行指定功能的裝置的組合、用于執行指定功能的元件或步驟的組合以及用于執行指定功能的程序指令裝置的組合。還將理解,框圖和流程圖的每個框以及框圖和流程圖中的框的組合可以由執行指定功能、元件或步驟的專用、基于硬件的計算機系統或專用硬件和計算機指令的組合來實現。
除非另有特別說明或在所使用的上下文中被另外理解,否則諸如“能夠”、“可能”、“可”、或“可以”之類的條件性語言通常旨在表達某些實現方式可以包括,而其他實現方式不包括某些特征、元件和/或操作。因此,這樣的條件性語言通常不旨在暗示這些特征、元件和/或操作以任何方式對于一種或多種實現方式是必需的,或者一種或多種實現方式必須包括用于(利用或不利用用戶輸入或提示)決定這些特征、元件和/或操作是否被包括在任何特定的實現方式中或將在任何特定的實現方式中執行的邏輯。
通過在以上描述和相關聯的附圖中呈現的教導,本文闡述的本公開的許多修改和其他實施方式將是顯而易見的。因此,應當理解,本公開不限于所公開的具體實施方式,并且修改和其他實施方式旨在包括在所附權利要求的范圍內。雖然本文采用了特定術語,但是它們僅在一般和描述性意義上使用,而不是為了限制的目的。
在示例實施例中,公開了一種方法。該方法可以包括由包括至少一個處理器的用戶設備接收與一個或多個接入點相關聯的信息,其中該信息可以包括一個或多個接入點的相應接收信號強度指示符(RSSI)和相應標識。該方法還可以包括由用戶設備確定用戶設備的近似位置,該近似位置包括用戶設備的一個或多個候選位置,其中,確定用戶設備的近似位置可以包括至少部分地基于接收到的信息來實現第一定位技術。該方法還包括由用戶設備確定與用戶設備的近似位置相關聯的誤差,并且由用戶設備至少部分地基于誤差來增加一個或多個候選位置。該方法還可以包括由用戶設備至少部分地基于(i)針對與接收到的信息相關聯的區域的多個所存儲的位置與(ii)一個或多個候選位置的比較來確定候選位置的相關子集。該方法還可以包括由用戶設備確定用戶設備的位置,其中,確定用戶設備的位置可以包括實現第二定位技術,第二定位技術將接收到的RSSI與所存儲的與候選位置的相關子集相關聯的RSSI進行比較以確定用戶設備的位置。
第一定位技術可以是三邊測量,并且第二定位技術可以是指紋識別。多個所存儲的位置可以與用戶設備所位于的室內設施相關聯。用戶設備的位置可以由第二定位技術確定,并且可以比由第一定位技術確定的用戶設備的近似位置更精確。確定候選位置的相關子集可以包括由用戶設備至少部分地基于接收到的RSSI來確定用戶設備的一個或多個歷史位置,以及由用戶設備在確定用戶設備的位置之前將該一個或多個歷史位置添加到候選位置的相關子集。確定候選位置的相關子集可以包括由用戶設備確定多個所存儲的位置中的每一個與用戶設備的近似位置之間的相應距離,并且如果相應距離小于誤差,則由用戶裝置向候選位置的相關子集添加多個所存儲的位置中與相應距離相關聯的所存儲的位置。該方法還可以包括由用戶設備接收與用戶設備的位置相關聯的嚴格程度的指示,并且響應于該指示,由用戶設備至少部分地基于該嚴格程度來應用第一定位技術或第二定位技術中的至少一個。
在另一示例實施例中,公開了一種設備。該設備可以包括至少一個無線電裝置;至少一個天線;以及至少一個處理器。該至少一個處理器可以接收與一個或多個接入點相關聯的信息,其中該信息可以包括一個或多個接入點的相應接收信號強度指示符(RSSI)和相應標識。該至少一個處理器可以確定用戶設備的近似位置,該近似位置包括用戶設備的一個或多個候選位置,其中確定用戶設備的近似位置包括至少部分地基于接收到的信息來實現三角測量。至少一個處理器還可以確定與用戶設備的近似位置相關聯的誤差,并且至少部分地基于誤差來增加一個或多個候選位置的數量。該至少一個處理器可以至少部分地基于(i)針對與接收到的信息相關聯的區域的多個所存儲的位置與(ii)一個或多個候選位置的比較來確定候選位置的相關子集。該至少一個處理器可以確定用戶設備的位置,其中確定用戶設備的位置可以包括實現指紋識別,其中指紋識別可以包括將接收到的RSSI與所存儲的與候選位置的相關子集相關聯的RSSI進行比較,以確定用戶設備的位置。
多個所存儲的位置可以與用戶設備所位于的室內設施相關聯。與一個或多個接入點相關聯的信息可以通過蜂窩網絡或WiFi網絡從用戶設備接收。當確定候選位置的相關子集時,該設備可包括該至少一個處理器,該至少一個處理器被進一步配置為:至少部分地基于接收到的RSSI來確定用戶設備的一個或多個歷史位置,并且在確定用戶設備的位置之前,將一個或多個歷史位置添加到候選位置的相關子集。當確定候選位置的相關子集時,該設備可包括該至少一個處理器,該至少一個處理器被進一步配置為:確定多個所存儲的位置中的每一者與用戶裝置的近似位置之間的相應距離,并且如果相應距離小于誤差,則將多個所存儲的位置中與相應距離相關聯的所存儲的位置添加到候選位置的相關子集。該設備的至少一個處理器可以接收與用戶設備的位置相關聯的嚴格程度的指示,并且響應于該指示,可以至少部分地基于嚴格程度來應用定位或指紋識別中的至少一個。
在另一示例實施例中,公開了存儲計算機可執行指令的一個或多個計算機可讀介質。該一個或多個計算機可讀介質可以存儲計算機可執行指令,該計算機可執行指令在由至少一個處理器執行時配置該至少一個處理器以執行操作,這些操作可以包括:接收與一個或多個接入點相關聯的信息,其中該信息可以包括一個或多個接入點的相應接收信號強度指示符(RSSI)和相應標識;確定用戶設備的近似位置,該近似位置包括用戶設備的一個或多個候選位置,其中確定用戶設備的近似位置可以包括至少部分地基于接收到的信息來實現三邊測量;確定與用戶設備的近似位置相關聯的誤差,其中該誤差增加用戶設備的一個或多個候選位置的數量;至少部分地基于(i)針對接收到該信息的區域的多個所存儲的位置與(ii)增加數量的一個或多個候選位置的比較來確定候選位置的相關子集;以及確定用戶設備的位置,其中確定用戶設備的位置可以包括實現指紋識別,其中指紋識別可以將接收到的RSSI與所存儲的與候選位置的相關子集相關聯的RSSI進行比較,以確定用戶設備的位置。
多個所存儲的位置可以與用戶設備所位于的室內設施相關聯。可以通過蜂窩網絡或WiFi網絡從用戶設備接收與一個或多個接入點相關聯的信息。一個或多個計算機可讀介質的至少一個處理器可以執行計算機可執行指令以執行包括以下各項的操作:至少部分地基于接收到的RSSI來確定用戶設備的一個或多個歷史位置,以及在確定用戶設備的位置之前,將一個或多個歷史位置添加到候選位置的相關子集。該至少一個處理器可執行計算機可執行指令以執行包括如下各項的操作:確定多個所存儲的位置中的每一者與用戶設備的近似位置之間的相應距離,并且如果相應距離小于誤差,則向候選位置的相關子集添加多個所存儲的位置中與該相應距離相關聯所存儲的位置。該至少一個處理器可以執行計算機可執行指令以執行包括如下各項的操作:接收與用戶設備的位置相關聯的嚴格程度的指示,以及響應于該指示,至少部分地基于該嚴格程度來應用三邊測量或指紋識別中的至少一個。該至少一個處理器可執行計算機可執行指令以執行包括如下各項的操作:接收與多個所存儲的位置相關聯的信息。
在另一示例實施例中,公開了一種系統。該系統可以包括存儲計算機可執行指令的至少一個存儲器和被配置為訪問該至少一個存儲器的至少一個處理器,其中該至少一個處理器可以執行計算機可執行指令。這些指令用于接收與一個或多個接入點相關聯的信息,其中該信息可以包括一個或多個接入點的相應接收信號強度指示符(RSSI)和相應標識。計算機可執行指令可以包括確定用戶設備的近似位置,該近似位置包括用戶設備的一個或多個候選位置,其中,確定用戶設備的近似位置可以包括至少部分地基于接收到的信息來實現第一定位技術。計算機可執行指令還可以確定與用戶設備的近似位置相關聯的誤差,并且基于該誤差增加一個或多個候選位置的數量。計算機可執行指令可以包括至少部分地基于(i)針對與接收到的信息相關聯的區域的多個所存儲的位置與(ii)一個或多個候選位置的比較來確定候選位置的相關子集。計算機可執行指令還可以包括確定用戶設備的位置,其中確定用戶設備的位置可以包括實現第二定位技術,第二定位技術將接收到的RSSI與所存儲的與候選位置的相關子集相關聯的RSSI進行比較,以確定用戶設備的位置。
第一定位技術可以是三邊測量,并且第二定位技術可以是指紋識別。多個所存儲的位置可以與用戶設備所位于的室內設施相關聯。用戶設備的位置可以由第二定位技術確定,并且可以比由第一定位技術確定的用戶設備的近似位置更精確。計算機可執行指令還可包括確定候選位置的相關子集,確定候選位置的相關子集可以包括至少部分地基于接收到的RSSI來確定用戶設備的一個或多個歷史位置,以及由用戶設備在確定用戶設備的位置之前將該一個或多個歷史位置添加到候選位置的相關子集。計算機可執行指令可包括確定候選位置的相關子集,確定候選位置的相關子集可以包括確定多個所存儲的位置中的每一個與用戶設備的近似位置之間的相應距離,并且如果相應距離小于誤差,則向候選位置的相關子集添加多個所存儲的位置中與相應距離相關聯的所存儲的位置。計算機可執行指令還可包括接收與用戶設備的位置相關聯的嚴格程度的指示,并且響應于該指示,至少部分地基于該嚴格程度來應用第一定位技術或第二定位技術中的至少一個。
在另一示例實施例中,公開了一種裝置。該裝置可以包括用于接收與一個或多個接入點相關聯的信息的裝置,其中該信息可以包括一個或多個接入點的相應接收信號強度指示符(RSSI)和相應標識。該裝置可包括用于確定用戶設備的近似位置的裝置,該近似位置包括用戶設備的一個或多個候選位置,其中確定用戶設備的近似位置可以包括用于至少部分地基于接收到的信息來實現第一定位技術的裝置。該裝置可包括用于確定與用戶設備的近似位置相關聯的誤差的裝置,以及用于至少部分地基于該誤差來增加用戶設備的一個或多個候選位置的數量的裝置。該裝置可包括用于至少部分地基于(i)針對接收到該信息的區域的多個所存儲的位置與(ii)增加數量的一個或多個候選位置的比較來確定候選位置的相關子集的裝置。該裝置還可包括用于確定用戶設備的位置的裝置,其中確定用戶設備的位置可以包括用于實現第二定位技術的裝置,第二定位技術可以將接收到的RSSI與所存儲的與候選位置的相關子集相關聯的RSSI進行比較,以確定用戶設備的位置。
第一定位技術可以是三邊測量,并且第二定位技術可以是指紋識別。多個所存儲的位置可以與用戶設備所位于的室內設施相關聯。用戶設備的位置可以由第二定位技術確定,并且可以比由第一定位技術確定的用戶設備的近似位置更精確。確定候選位置的相關子集可包括用于至少部分地基于接收到的RSSI來確定用戶設備的一個或多個歷史位置的裝置,以及用于在確定用戶設備的位置之前將該一個或多個歷史位置添加到候選位置的相關子集的裝置。確定候選位置的相關子集可包括用于確定多個所存儲的位置中的每一個與用戶設備的近似位置之間的相應距離的裝置,以及如果相應距離小于誤差,用于向候選位置的相關子集添加多個所存儲的位置中與相應距離相關聯的所存儲的位置的裝置。該裝置還可包括用于接收與用戶設備的位置相關聯的嚴格程度的指示的裝置,并且響應于該指示,用于至少部分地基于該嚴格程度來應用第一定位技術或第二定位技術中的至少一個的裝置。