终端定位方法及相关设备
文献发布时间:2023-06-19 11:52:33
技术领域
本发明涉及终端定位领域,尤其涉及一种终端定位及相关设备。
背景技术
近年,美国微软研究院成功研发无线电侦察和测距(radio detection andranging,RADAR)室内定位系统。该系统首次提出位置指纹的思想,指利用WiFi信号作为定位特征,最后通过指纹匹配的方法进行定位。具体地:
终端设备位于信号覆盖区域,该信号覆盖区域部署有多个接入点(access point,AP)。终端设备测量来自多个AP各自的信号特征值,例如接收信号强度(Received SignalStrength,RSS)值。当终端设备在当前位置测量到各AP的信号特征值后,对各AP的信号特征值进行归一化处理,然后与位置指纹库中的位置指纹进行比对,选取相似度较高(例如超过预设阈值)的m个参考位置指纹进行记录。最后按照位置估算算法,对m个参考位置指纹进行位置估算,得到终端设备的定位位置。
然而在实践中发现,位置指纹库中的位置指纹是以位置点的形式记录,即每个位置指纹中记录终端设备在某个目标点位置的信号特征值。受限于测量设备的精度,位置指纹库中各位置指纹的位置精度可能存在很大的差异,这样在基于位置指纹库进行终端定位时,无法准确适应业务需求选择合适精度的参考位置指纹进行定位。从而降低了终端定位的准确性。
发明内容
本发明实施例公开了一种终端定位方法、装置、设备及系统,能解决现有技术中存在不能按照业务需求提供对应的定位精度的定位服务等问题。
第一方面,本发明实施例提供一种终端定位方法,该方法包括:
获取终端的定位请求,该定位请求包括终端的信号强度向量V和终端的第一定位服务等级,该第一定位服务等级用于指示请求的定位精度;从位置指纹库中,根据信号强度向量V和第一定位服务等级所请求的定位精度获取b个辅助位置指纹,所述位置指纹库中的每个位置指纹包括位置编码和信号强度向量,辅助位置指纹中的位置编码位数与第一定位服务等级所请求的定位精度相关,b为大于0的整数;根据b个辅助位置指纹、信号强度向量V和第一定位服务等级获取终端的位置编码,该终端的位置编码为信号强度向量V对应的,且对应于第一定位服务等级的位置编码,将终端的位置编码发送至终端。
采用本发明实施例,实现了在统一位置表达的框架下,基于位置指纹即可以确定位置指纹的空间位置,又可以确定位置指纹的定位精度,进而可以根据用户需求的定位精度选择相应定位精度的指纹数据,进而提供相应的定位服务。
在一个可行的实施例中,根据b个辅助位置指纹、信号强度向量V和第一服务定位等级确定终端的位置编码,包括:
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值,将所述b个相似度值中最小相似度值所对应的辅助位置指纹中的位置编码确定为所述终端的位置编码,或者;
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;并根据第一服务定位等级对所述b个相似度值和所述b个辅助位置指纹所对应的b个位置编码进行相似度权重计算,以得到第一计算结果,所述第一计算结果为所述终端的位置编码;或者,
根据所述第一定位服务等级对所述b个辅助位置指纹所对应的b个位置编码进行求平均计算,以得到第二计算结果,所述第二计算结果为所述终端的位置编码。
在一个可行的实施例中,所述根据所述b个辅助位置指纹、所述信号强度向量V和第一定位服务等级确定终端的位置编码,包括:
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度;并对所述b个相似度值和所述b个经纬度进行相似度权重计算,以得到第三计算结果,将所述第三计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为DGG形式的位置编码,所述位置编码为所述终端的位置编码;或者,
将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度,对所述b个经纬度进行求平均计算,以得到第四计算结果;将所述第四计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为全球离散格网DGG编码形式的位置编码,所述位置编码为所述终端的位置编码。
在一个可行的实施例中,所述从位置指纹库中,根据所述信号强度向量V和所述第一定位服务等级选取b个辅助位置指纹,包括:
根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹,所述s个参考位置指纹的参考位置编码时采用的编码位数与所述第一定位服务等级所请求的定位精度相关;
计算所述s个参考位置指纹中每个参考位置指纹的信号强度向量和所述信号强度向量V之间的相似度,得到s个相似度值;
根据所述s个相似度值,从所述s个参考位置指纹中选取b个辅助位置指纹;
其中,所述辅助位置指纹为所述s个参考位置指纹中相似度超过预设阈值的参考位置指纹,或者所述b个辅助指纹位置为将所述s个相似度值按照从低到高排序后排序靠前的b个相似度值所对应的参考位置指纹。
在一个可行的实施例中,所述s个参考位置指纹的参考位置编码的定位精度与所述第一定位服务等级所请求的定位精度相同
在一个可行的实施例中,所述根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹,包括:
根据所述终端的第一定位服务等级,从所述位置指纹库中获取第一位置指纹集合,所述第一位置指纹集合中每个第一位置指纹的参考位置编码的定位精度与所述第一定位服务等级所请求的定位精度相同,从所述第一位置指纹集合选取与所述信号强度向量V的相似度最高的p个第一位置指纹,或者从所述第一位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的p个第一位置指纹;
若所述p大于或者等于b,则将所述p个第一位置指纹确定为s个参考位置指纹;若p小于b,则根据所述终端的第二定位服务等级,从所述位置指纹库中获取第二位置指纹集合,所述第二位置指纹集合中每个第二位置指纹的参考位置编码的定位精度与所述第二定位服务等级所指示的定位精度相同,从所述第二位置指纹集合选取与所述信号强度向量V的相似度最高的q个第二位置指纹,或者从所述第二位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的q个第二位置指纹;所述第二定位服务等级所指示的定位精度高于所述第一定位服务等级所请求的定位精度;
若p与q之和大于或等于b,则将所述p个第一位置指纹和所述q个第二位置指纹作为所述s个参考位置指纹。
在一个可行的实施例中,所述根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹,还包括:
若p与q之和小于b,则根据所述终端的第三定位服务等级,从所述位置指纹库中获取第三位置指纹集合,所述第三位置指纹集合中每个第三位置指纹的参考位置编码所对应的定位精度与所述第三定位服务等级所指示的定位精度相同,从所述第三位置指纹集合选取与所述信号强度向量V的相似度最高的k个第三位置指纹,或者从所述第三位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的k个第三位置指纹;所述第三定位服务等级所指示的定位精度低于所述第一定位服务等级所请求的定位精度;
将所述p个第一位置指纹、所述q个第二位置指纹和所述k个第三位置指纹作为所述s个参考位置指纹。
第二方面,本发明实施例提供另一种终端定位方法,包括:
获取终端的定位请求,所述定位请求包括所述终端的信号强度向量V和所述终端的第一定位服务等级,所述第一定位服务等级用于指示请求的定位精度;从位置指纹库中,根据所述信号强度向量V和所述定位精度确定目标位置指纹;所述位置指纹库中的每个位置指纹包括位置编码和信号强度向量,所述终端的位置编码为所述目标位置指纹中位置编码;将所述终端的位置编码发送至所述终端。
在一个可行的实施例中,所述从位置指纹库中,根据所述信号强度向量V和所述定位精度确定目标位置指纹,包括:
根据所述信号强度向量V和所述定位精度从所述位置指纹库中获取参考位置指纹集合,所述参考位置指纹集合中的每个位置指纹中位置编码对应的定位精度与所述第一定位服务等级所请求的定位精度相同;
计算所述参考位置指纹集合中的每个位置指纹中信号强度向量与所述信号强度向量V之间的相似度,以得到多个相似度值;
将所述多个相似度值中,最小相似度值对应的位置指纹确定为目标位置指纹。
在一个可行的实施例中,所述从位置指纹库中,根据所述信号强度向量V和所述定位精度确定目标位置指纹,包括:
计算所述位置指纹库的每个位置指纹的信号强度向量与所述信号强度向量V之间的相似度,以得到多个相似度值;
将所述多个相似度值中,相似度值最小的,且位置编码对应的定位精度与所述第一服务等级所请求的定位精度相同的位置指纹确定为目标位置指纹。
第三方面,本发明实施例提供一种位置指纹库构建方法,包括:
获取Z0个样本指纹数据,所述Z0个样本指纹数据与Z0个位置一一对应,所述Z0个位置中任一位置Px对应的样本指纹数据包括多个信号强度值和所述位置Px的位置信息;所述Z0为大于0的整数;
对所述Z0个样本指纹数据进行预处理,以得到Z1个样本指纹数据,所述Z1为大于0且不大于Z1的整数;
根据所述Z1个样本指纹数据中每个样本指纹数据中的定位精度对该样本指纹数据中的位置信息进行编码,以得到位置编码,所述该样本指纹数据中位置信息的定位精度越高,所述位置编码的编码位数越长;
根据所述Z1个样本指纹数据中每个样本指纹数据中的多个信号强度值和位置编码获取位置指纹库,所述位置指纹库包括Z1个位置指纹,所述位置指纹包括信号强度向量和位置编码,所述信号强度向量是根据所述多个信号强度值得到的。
第四方面,本发明实施例提供一种服务器,包括:
获取单元,用于获取终端的定位请求,所述定位请求包括所述终端的信号强度向量V和所述终端的第一定位服务等级,所述第一定位服务等级用于指示请求的定位精度;
选取单元,用于从位置指纹库中,根据所述信号强度向量V和所述第一定位服务等级选取b个辅助位置指纹,所述位置指纹库中的每个位置指纹包括位置编码和信号强度向量,所述辅助位置指纹中的位置编码的编码位数与所述定位精度相关;所述b为大于0的整数;
确定单元,用于根据所述b个辅助位置指纹、所述信号强度向量V和所述第一定位服务等级确定终端的位置编码,所述终端的位置编码为所述信号强度向量V对应的且对应于所述第一定位服务等级的位置编码;
发送单元,用于将所述终端的位置编码发送至所述终端。
在一个可行的实施例中,所述确定单元具体用于:
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值,将所述b个相似度值中最小相似度值所对应的辅助位置指纹中的位置编码确定为所述终端的位置编码,或者;
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;并根据所述第一定位服务等级对所述b个相似度值和所述b个辅助位置指纹所对应的b个位置编码进行相似度权重计算,以得到第一计算结果,所述第一计算结果为所述终端的位置编码;或者,
根据所述第一定位服务等级对所述b个辅助位置指纹所对应的b个位置编码进行求平均计算,以得到第二计算结果,所述第二计算结果为所述终端的位置编码。
在一个可行的实施例中,所述确定单元具体用于:
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度;并对所述b个相似度值和所述b个经纬度进行相似度权重计算,以得到第三计算结果,将所述第三计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为DGG形式的位置编码,该位置编码为所述终端的位置编码;或者,
将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度,对所述b个经纬度进行求平均计算,以得到第四计算结果;将所述第四计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为全球离散格网DGG编码形式的位置编码,该位置编码为所述终端的位置编码。
在一个可行的实施例中,所述选取单元具体用于:
根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹,所述s个参考位置指纹的参考位置编码时采用的编码位数与所述第一定位服务等级所请求的定位精度相关;
计算所述s个参考位置指纹中每个参考位置指纹的信号强度向量和所述信号强度向量V之间的相似度,得到s个相似度值;
根据所述s个相似度值,从所述s个参考位置指纹中选取b个辅助位置指纹;
其中,所述辅助位置指纹为所述s个参考位置指纹中相似度超过预设阈值的参考位置指纹,或者所述b个辅助指纹位置为将所述s个相似度值按照从低到高排序后排序靠前的b个相似度值所对应的参考位置指纹。
在一个可行的实施例中,所述s个参考位置指纹的参考位置编码的定位精度与所述第一定位服务等级所请求的定位精度相同。
在一个可行的实施例中,在所述根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹的方面,所述选取单元具体用于:
根据所述终端的第一定位服务等级,从所述位置指纹库中获取第一位置指纹集合,所述第一位置指纹集合中每个第一位置指纹的参考位置编码的定位精度与所述第一定位服务等级所请求的定位精度相同,从所述第一位置指纹集合选取与所述信号强度向量V的相似度最高的p个第一位置指纹,或者从所述第一位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的p个第一位置指纹;
若所述p大于或者等于b,则将所述p个第一位置指纹确定为s个参考位置指纹;若p小于b,则根据所述终端的第二定位服务等级,从所述位置指纹库中获取第二位置指纹集合,所述第二位置指纹集合中每个第二位置指纹的参考位置编码的定位精度与所述第二定位服务等级所指示的定位精度相同,从所述第二位置指纹集合选取与所述信号强度向量V的相似度最高的q个第二位置指纹,或者从所述第二位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的q个第二位置指纹;所述第二定位服务等级所指示的定位精度高于所述第一定位服务等级所请求的定位精度;
若p与q之和大于或等于b,则将所述p个第一位置指纹和所述q个第二位置指纹作为所述s个参考位置指纹。
在一个可行的实施例中,在所述根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹的方面,所述选取单元具体还用于:
若p与q之和小于b,则根据所述终端的第三定位服务等级,从所述位置指纹库中获取第三位置指纹集合,所述第三位置指纹集合中每个第三位置指纹的参考位置编码所对应的定位精度与所述第三定位服务等级所指示的定位精度相同,从所述第三位置指纹集合选取与所述信号强度向量V的相似度最高的k个第三位置指纹,或者从所述第三位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的k个第三位置指纹;所述第三定位服务等级所指示的定位精度低于所述第一定位服务等级所请求的定位精度;
将所述p个第一位置指纹、所述q个第二位置指纹和所述k个第三位置指纹作为所述s个参考位置指纹。
第五方面,本发明实施例提供一种服务器,包括:
获取单元,用于获取终端的定位请求,所述定位请求包括所述终端的信号强度向量V和所述终端的第一定位服务等级,所述第一定位服务等级用于指示请求的定位精度;
确定单元,用于从位置指纹库中,根据所述信号强度向量V和所述定位精度确定目标位置指纹;所述位置指纹库中的每个位置指纹包括位置编码和信号强度向量,所述终端的位置编码为所述目标位置指纹中位置编码;
发送单元,用于将所述终端的位置编码发送至所述终端。
在一个可行的实施例中,所述确定单元具体用于:
根据所述信号强度向量V和所述定位精度从所述位置指纹库中获取参考位置指纹集合,所述参考位置指纹集合中的每个位置指纹中位置编码对应的定位精度与所述第一定位服务等级所请求的定位精度相同;
计算所述参考位置指纹集合中的每个位置指纹中信号强度向量与所述信号强度向量V之间的相似度,以得到多个相似度值;
将所述多个相似度值中,最小相似度值对应的位置指纹确定为目标位置指纹。
在一个可行的实施例中,所述确定单元具体用于:
计算所述位置指纹库的每个位置指纹的信号强度向量与所述信号强度向量V之间的相似度,以得到多个相似度值;
将所述多个相似度值中,相似度值最小的,且位置编码对应的定位精度与所述第一服务等级所请求的定位精度相同的位置指纹确定为目标位置指纹。
第六方面,本发明实施例提供一种位置指纹库构建装置,包括:
获取单元,用于获取Z0个样本指纹数据,所述Z0个样本指纹数据与Z0个位置一一对应,所述Z0个位置中任一位置Px对应的样本指纹数据包括多个信号强度值和所述位置Px的位置信息;所述Z0为大于0的整数;
预处理单元,用于对所述Z0个样本指纹数据进行预处理,以得到Z1个样本指纹数据,所述Z1为大于0且不大于Z1的整数;
编码单元,用于根据所述Z1个样本指纹数据中每个样本指纹数据中的定位精度对该样本指纹数据中的位置信息进行编码,以得到位置编码,所述该样本指纹数据中位置信息的定位精度越高,所述位置编码的编码位数越长;
所述获取单元,还用于根据所述Z1个样本指纹数据中每个样本指纹数据中的多个信号强度值和位置编码获取位置指纹库,所述位置指纹库包括Z1个位置指纹,所述位置指纹包括信号强度向量和位置编码,所述信号强度向量是根据所述多个信号强度值得到的。
第七方面,本发明实施例提供一种服务器,包括:处理器,存储器,通信接口和总线;所述处理器、所述通信接口、所述存储器通过总线相互通信;所述通信接口,用于接收和发送数据;所述存储器,用于存储指令;所述处理器,用于调用所述存储器中的指令,执行如第一方面或第二方面所述的方法。
第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种终端定位方法的流程示意图;
图2a是本发明实施例提供的一种终端定位系统的结构示意图;
图2b是本发明实施例提供的另一种终端定位系统的结构示意图;
图3是本发明实施例提供的另一种终端定位方法的流程示意图;
图4是本发明实施例提供的另一种终端定位方法的流程示意图;
图5是本发明实施例提供的一种位置指纹库构建方法的流程示意图;
图6是本发明实施例提供的一种服务器的结构示意图;
图7是本发明实施例提供的另一种服务器的结构示意图;
图8是本发明实施例提供的一种位置指纹库构建装置的结构示意图;
图9是本发明实施例提供的另一种服务器的结构示意图;
图10是本发明实施例提供的另一种位置指纹库构建装置的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例中的技术方案进行详细描述。
近年,RADAR室内定位系统首次提出将位置指纹思想应用到终端定位中。位置指纹是指将实际环境中的位置和某种“指纹”联系起来,一个位置对应一个独特的指纹。在终端通信过程中,该指纹是指终端与接入点(acess point,AP)通信时信号的一个或多个特征值,例如接收信号强度值(received signal strength,RSS)等。如果终端在发送信号,有一些固定的接收设备感知终端的信号,然后根据该信号的特征值来检测终端自身的位置,这种方式可称为远程定位或网络定位。如果终端接受一些固定的发送设备(例如wifi热点、基站等)的信号,然后根据这些检测到的信号特征来估计自身位置,这种方式被称为自身定位。
终端可将检测到的信号特征传达给网络中的服务节点,服务节点可利用它所获得的信息来估计终端自身位置,这种方式称为混合定位。
目前使用位置指纹进行定位,通常分为以下两个阶段:离线阶段和在线阶段。在离线阶段中,通过各种途径采集指定区域中各个位置上的指纹,构建一个位置指纹库。采集指纹的途径包括但不限于无线信号仿真计算数据、网络上报数据、路测数据及互联网向用户提供各种应用服务(over the top,OTT)数据等。每种数据获取的代价和定位精度各不相同。服务器可将采集的指纹进行预处理,形成归一化的指纹向量(也可称为信号强度向量)ρ={AP
在线阶段,终端处于位置指纹库覆盖的指定区域中,但并不知晓终端的具体位置。假设终端测量来多个AP的信号强度,例如RSS值。当来该多个AP上的信号强度都被测量到时,指纹向量的信号强度进行归一化处理,然后与位置指纹库中每个位置指纹进行比对。选择K个相似度较高的参考位置指纹。最后按照位置估算算法,例如最邻近法、平均法等计算得到终端的定位位置。具体请参见图1,示出在线阶段获取位置指纹的流程示意图。
在实践中发现,现有位置指纹库中的位置指纹采用位置点方式记录,无法分层表达不同精度的位置指纹,无法在统一的坐标框架下融合表达指纹的多尺度位置精度,导致定位无法根据业务需求自适应选择合适精度的位置指纹进行定位。现有指纹定位输出的位置结果以经纬度和高度最为典型,若采用格网化定位,需要对位置进行格网转换才能进行处理,增加处理系统的负担。
为解决上述问题,本申请提出一种终端定位方法及所述方法适用的框架。请参见图2a,是本申请提出的一种终端定位系统的结构示意图。如图2a所示的终端定位系统20中包括终端100和服务器200。服务器200中包括指纹构建模块201、位置指纹库202和指纹定位模块203。其中,
指纹构建模块201用于构建形成位置指纹库202。具体地指纹采集设备可通过各种途径(例如网络上报、OTT及路测等)采集各个终端位置的位置指纹数据,并将采集到的位置指纹数据发送至指纹构建模块201,该指纹构建模块201将接收到的位置指纹进行预处理后作为参考位置指纹,添加到位置指纹库202中。指纹定位模块203用于根据位置指纹库202中的各个参考位置指纹实现终端定位。
终端100用于获取信号强度向量V,向服务器200发送定位请求,该定位请求中携带该信号强度向量V和定位服务等级;服务器200根据信号强度向量V和定位服务等级从位置指纹库202中获取辅助位置指纹,并基于辅助位置指纹和信号强度向量V得到终端的位置信息,并将该位置信息发送至终端100。本发明中终端100包括但不限于智能手机、个人电脑、平板电脑、移动互联网设备(MID,Mobile Internet Devices)、穿戴式智能设备或其他具备网络通信功能的设备等。
请参见图2b,是本申请提出的另一种终端定位系统的结构示意图。如图2b所示的终端定位系统20中包括终端100、服务器200和位置指纹库300。其中,
位置指纹库300中包括多个位置指纹。具体地指纹采集设备可通过各种途径(例如网络上报、OTT及路测等)采集各个终端位置的位置指纹数据,基于该位置指纹数据构建位置指纹库300。
终端100用于获取信号强度向量V,向服务器200发送定位请求,该定位请求携带有将该信号强度向量V和定位服务等级;服务器200根据信号强度向量V和定位服务等级从位置指纹库300中获取多个辅助位置指纹,并基于多个辅助位置指纹得到终端的位置信息,并将该位置信息发送至终端100。本发明中终端100包括但不限于智能手机、个人电脑、平板电脑、MID、穿戴式智能设备或其他具备网络通信功能的设备等。
可选地,位置指纹库300可存储在服务器200、终端100或者不同于服务器200和终端100的设备中。
请参见图3,是本申请提出的一种终端定位方法的流程示意图。如图3所示的方法包括如下实施步骤:
S301、服务器接收终端发送的定位请求,该定位请求包括终端的信号强度向量V和终端的第一定位服务等级。
其中,信号强度向量V中包括a个信号强度,用于指示终端与a个第一接入点AP之间通信的信号强度,a为正整数,终端的第一定位服务等级用于指示定位请求所请求的定位精度。
终端在获取信号强度向量V后,将信号强度向量V和终端的第一定位服务等级发送至服务器。
本发明终端通过信号采集设备采集信号强度向量V。该信号强度向量V中包括a个信号强度。每个信号强度是指终端与一个第一AP之间通信的信号强度,例如接收信号强度(received signal strength,RSS),a为正整数。
本发明终端的定位服务等级与定位精度相关,位置的定位精度与进行位置编码时所采用的编码位数相关,进行位置编码时所采用的编码位数越长,位置的定位精度越高。不同定位服务等级对应不同的编码位数。实际应用中,终端根据自身的应用需求确定终端的第一定位服务等级。
该定位精度具体用于指示终端进行位置编码时采用的编码位数,即指示对终端的定位位置进行编码时采用的编码位数。
在实际应用中,终端的定位精度可分为L个等级,例如厘米级、分米级、米级和百米级等。每个等级的定位精度将参与位置数据库的构建。
S302、服务器从位置指纹库中,根据信号强度向量V和第一定位服务等级选取b个辅助位置指纹,位置指纹库中的每个位置指纹包括位置编码和信号强度向量,辅助位置指纹中的位置编码的编码位数与第一定位服务等级相关。
本发明位置指纹库中包括有多个参考位置指纹,每个参考位置指纹包括有参考位置编码及该参考位置的信号强度向量。该参考位置的信号强度向量中包括a个信号强度,每个信号强度是指终端在该参考位置处与第一AP通信时的接收信号强度。
可选地,该位置指纹库可位于服务器中,也可位于终端中,也可位于与服务器通信的其他设备中。
以位置指纹库中包括k个参考位置指纹,以参考位置指纹T
服务器可根据信号强度向量V从位置指纹库中选取与之匹配的b个辅助位置指纹。为提升辅助位置指纹选取的准确性,服务器可再结合第一定位服务等级从位置指纹库中查找b个辅助位置指纹,具体地服务器可根据第一定位服务等级从位置指纹库中获取m个参考位置指纹,该m个参考位置指纹中每个参考位置指纹的位置编码可计算位置指纹库中m个参考位置指纹中每个参考位置指纹的信号强度向量与信号强度向量V之间的相似度,得到m个相似度值。关于相似度计算的具体实施方式并不做限定,例如其可包括但不限于余弦相似度、欧式距离、曼哈顿距离、夹角余弦等。然后服务器根据m个相似度值从m个参考位置指纹选取b个辅助位置指纹,该b个辅助位置指纹中每个辅助位置指纹的相似度大于预设阈值;或者服务器对m个相似度值从低到高排序,然后将m个相似度值中排序靠前的b个相似度值所对应的参考位置指纹确定为辅助位置指纹。
可选地,若参考位置的信号强度向量中包括c个信号强度,c小于a。则在实际运算过程中,终端会对参考位置的信号强度向量中c个信号强度补0,以使每个参考位置中包括a个信号强度,以利用等长度的参考位置的信号强度向量和信号强度向量V计算它们之间的相似度。该c个信号强度是指终端在参考位置处与c个第二AP通信时的信号强度,第二AP为a个第一AP中的AP。
下面介绍查找b个辅助位置指纹的几种具体实施方式。
第一种,服务器根据终端的待定点位置,从位置指纹库中选取n个参考位置指纹。其中n个参考位置指纹的参考位置位于待定点位置所处的预设位置范围内。然后计算n个参考位置各自中参考位置的信号强度向量与信号强度向量V之间的相似度,得到n个相似度值。然后根据该n个相似度值,从n个参考位置指纹中选取b个辅助位置指纹,辅助位置指纹对应的相似度值大于预设阈值,或者b个辅助位置指纹为n个参考位置指纹中,与信号强度向量V之间的相似度最高的b个参考位置指纹。
具体地终端可通过定位途径(例如GPS定位、网络定位等途径)获取终端的待定点位置,该待定位位置为终端当前的概略或大概位置。终端将待定点位置发送至服务器,服务器依据概略的待定位位置,从位置指纹库中选取处于待定点位置的预设范围中n个参考位置指纹。即n个参考位置指纹对应的参考位置和待定点位置处于同一预设位置范围。服务器在计算得到n个参考位置指纹后,可计算n个参考位置指纹各自参考位置的信号强度向量与信号强度向量V之间的相似度,得到n个相似度值。然后从n个相似度值中选取超过预设阈值的b个目标相似度值,将该b个目标相似度值各自对应的参考位置指纹作为b个辅助位置指纹,或者将n个相似度中最小的b个相似度值所对应的b个参考位置指纹确定为b个辅助位置指纹,b为小于或等于n的正整数。
第二种,服务器根据第一定位服务等级,从位置指纹库中选取与第一定位服务等级匹配的s个参考位置指纹,s个参考位置指纹的参考位置编码的定位精度与第一定位服务等级所请求的定位精度相同。进一步终端可计算s个参考位置指纹中参考位置的信号强度向量和信号强度向量V之间的相似度,得到s个相似度值。然后根据s个相似度值,从s个参考位置指纹中选取b个辅助位置指纹;其中,该辅助位置指纹为s个参考位置指纹中符合相似度超过预设阈值的位置指纹;或者b个辅助位置指纹为s个参考位置指纹中相似度值最小的b个相似度值所对应的位置指纹。
举例来说,以指纹采集设备在采集指纹时通过基站、WiFi和GPS定位为例,且位置编码方式以比特位编码为例。指纹采集设备在利用不同定位方式采集指纹时,其定位精度可不相同。本例中假设基站的定位精度是100米、GPS的定位精度是10米、WiFi的定位精度是1米。可见本例中,指纹采集设备利用基站定位时其定位服务等级可为定位服务等级3,参考指纹位置编码时采用的编码位数为第一比特位,例如5bit。指纹采集设备利用GPS定位时其定位服务等级可为定位服务等级2,终端位置编码时采用的编码位数为第二比特位,例如10bit。指纹采集设备利用WiFi定位时其定位服务等级可为定位服务等级1,终端位置编码时采用的编码位数为第三比特位,例如20bit。
假设位置指纹库中包括30个参考位置指纹,其中15个参考位置指纹对应的定位服务等级为定位服务等级1,采用20bit实现参考位置指纹编码。10个参考位置指纹对应的定位服务等级为定位服务等级2,采用10bit实现参考位置指纹编码。5个参考位置指纹对应的定位服务等级为定位服务等级3,采用5bit实现终端位置编码。
在可选实施例中,若服务器从位置指纹库中获取第一位置指纹集合,该第一位置指纹集合中每个第一位置指纹的参考位置编码对应的定位精度与第一定位服务等级所请求的定位精度相同,从第一位置指纹集合中选取与信号强度向量V的相似度最高的p个第一位置指纹,或者从第一位置指纹集合中选取与信号强度向量V的相似度大于预设阈值的p个第一位置指纹。若p小于b,则服务器可从位置指纹库中获取第二位置指纹集合,该第二位置指纹集合中每个第二位置指纹的参考位置编码对应的定位精度与第二定位服务等级所指示的定位精度相同,从第二位置指纹集合中选取与信号强度向量V的相似度最高的q个第二位置指纹,或者从第二位置指纹集合中选取与信号强度向量V的相似度大于预设阈值的q个第二位置指纹。其中第一定位服务等级低于第二定位服务等级,相应地第一定位服务等级所请求的定位精度的低于第二定位服务等级所指示的定位精度。换句话说,当服务器从位置指纹库中选取与第一定位服务等级相匹配的第一位置指纹的个数p小于b时,还需从更高级别(即定位精度更高)的位置指纹中选取q个第二位置指纹。若第一位置指纹的数量和第二位置指纹的数量之和(p+q)大于或等于b,则将p个第一位置指纹和q个第二位置指纹确定为s个参考位置指纹。
若p与q之和(p+q)小于b,则服务器还可根据第三定位服务等级从位置指纹库中获取第三位置指纹集合,该第三位置指纹集合中每个第三位置指纹的参考位置编码对应的定位精度与第三定位服务等级所指示的定位精度相同,从第三位置指纹集合中选取与信号强度向量V的相似度最高的k个第三位置指纹,或者从第三位置指纹集合中选取与信号强度向量V的相似度大于预设阈值的k个第三位置指纹,第三位置指纹的参考位置编码对应的定位精度与第三定位服务等级所指示的定位精度相同。第三定位服务等级小于第一定位服务等级。即第三定位服务等级所指示的编码位数小于第一定位服务等级所请求的定位精度。换句话说,当服务器从位置指纹库中选取与第一定位服务等级和第二定位服务等级匹配的位置指纹的个数(p+q)小于b时,服务器可从低级别的位置指纹中选取k个第三位置指纹。将p个第一位置指纹、q个第二位置指纹及k个第三位置指纹确定为s个参考位置指纹。
服务器获得s个参考位置指纹后,可得到s个相似度值。根据s个相似度值,从s个参考位置指纹中选取b个辅助位置指纹。
在此需要说明的是,相似度值越小,位置指纹的信号强度向量与信号强度向量V之间的相似度越高。
S303、服务器根据b个辅助位置指纹、信号强度向量V和第一定位服务等级确定终端的位置编码,并将该终端的位置编码发送至终端。
服务器获得b个辅助位置指纹后,根据b个辅助位置指纹所对应的b个相似度值及b个目标位置对终端进行定位预测,得到终端的位置编码。具体地服务器可采用相似度权重、直接平均、或最临近方法进行位置估算然后输出以格网方式编码的位置编码。其中,格网方式是指采用地图格网定位终端的位置,此时的终端位置可称为格网位置,服务器对该格网位置按照该终端相应地定位服务等级采用DGG编码方式进行编码。
可选地,根据b个辅助位置指纹和信号强度向量V获取终端的位置编码,包括:
计算b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值,将b个相似度值中最小相似度值所对应的辅助位置指纹中的位置编码确定为终端的位置编码,或者;
计算b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;并根据第一定位服务等级对b个相似度值和b个辅助位置指纹所对应的b个位置编码进行相似度权重计算,以得到第一计算结果,该第一计算结果为终端的位置编码;或者,
根据第一定位服务等级对b个辅助位置指纹所对应的b个位置编码进行求平均计算,以得到第二计算结果,该第二计算结果为所述终端的位置编码。
其中,第一计算结果为:
其中,P
第二计算结果为:
其中,P
可选地,所述根据所述b个辅助位置指纹和所述信号强度向量V获取终端的位置编码,包括:
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度;并对所述b个相似度值和所述b个经纬度进行相似度权重计算,以得到第三计算结果,将所述第三计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为DGG形式的位置编码,所述位置编码为所述终端的位置编码;或者,
将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度,对所述b个经纬度进行求平均计算,以得到第四计算结果;将所述第四计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为DGG编码形式的位置编码,所述位置编码为所述终端的位置编码。
其中,第三计算结果为:
其中,L
第四计算结果为:
其中,L
服务器在获取终端的位置编码或者经纬度后,将终端的位置编码或者经纬度发送至终端。
在一个可行的实施例中,服务器中存储有指纹位置库,终端在获取信号强度向量V和该终端的第一定位服务等级后,将包括信号强度向量V和第一定位服务等级的定位请求发送至服务器,服务器根据信号强度向量V和第一定位服务等级从位置指纹库中获取b个辅助位置指纹,具体过程可参见上述步骤S302的相关描述,在此不再叙述。然后服务器将该b个辅助位置指纹所对应的b个辅助位置及b个相似度值发送至终端,终端根据b个辅助位置指纹所对应的b个辅助位置及b个相似度获取终端的位置编码。
在一个可行的实施例中,终端中存储有指纹位置库,终端获取信号强度向量V和该终端的第一定位服务等级,终端根据信号强度向量V和第一定位服务等级从位置指纹库中获取b个辅助位置指纹,具体过程可参见上述步骤S302的相关描述,在此不再叙述。然后终端根据b个辅助位置指纹所对应的b个辅助位置及b个相似度值获取终端的位置编码。
为更好地理解本发明,下面以一个例子进行详细说明。
①、假设位置指纹库中包括三种定位精度的位置指纹。分别为网络上报的位置数据,其定位精度为百米级别;OTT获取的位置数据,其定位精度为十米级别;路测设备采集的位置数据,其定位精度为亚米级别。每种位置数据中包括有相应终端位置和信号强度向量S。终端位置采用经纬度位置p=[lon,lat]表示,lon为经度、lat为纬度。
②为保证位置指纹库中位置指纹的质量,终端可剔除信号强度超过理论强度阈值及经纬度位置超出预设范围的异常值。假设s
③将位置数据中的终端位置p=[lon,lat]按照GeoSOT或者DQG等全球离散格网剖分方法转换为格网剖分编码表示,记针对网络上报的位置数据中的终端位置的格网编码为Gd
④将指纹库模型的逻辑表示T=(AP0,AP1,…,APn,O0,O1,…,Om,P)转换为所选数据库管理系统的库表结构,并初始化位置指纹库存储参数、索引等。其中,AP0,AP1,…,APn分别表示终端在位置P时接收到的AP设备A0、AP设备A1、…、AP设备An的信号强度,O0,O1,…,Om表示辅助属性,该辅助属性包括采集时间、注入时间、可信度、详细描述、采集方式等属性信息。
⑤将上述②和③处理后的样本指纹数据按照④的数据库库表结构格式写入数据库。
⑥当收到终端的定位请求和所在位置的信号强度向量γ=[γ
⑦若无需按照用户等级提供定位服务,则从位置指纹库中选择指纹位置与概略位置的欧式距离小于阈值r的参考位置指纹记录集,按照信号强度向量相似度计算方法,从参考位置指纹记录集中选择至多k个指纹特征相似度最高(即D值最小)的记录。其中,指纹特征相似度计算公式为:
⑧若按照用户等级提供定位服务等级,从位置指纹库中至多选择与信号强度向量δ相似度最高的k个参考位置指纹记录,且所选参考位置指纹记录的位置编码剖分层级与定位精度等级对应的格网剖分层级相等,即参考位置指纹记录的位置编码对应的定位精度与定位服务等级所指示的定位等级相同。若所选的参考位置指纹记录数量小于k个且筛选策略允许进一步选择,则从位置指纹库至多选择与信号强度向量δ相似度最高的l个记录,且所选指纹记录的位置编码剖分层级比定位精度等级对应的格网剖分层级高,即参考位置指纹记录的位置编码对应的定位精度高于定位服务等级所指示的定位等级。
⑨对⑦或者⑧所选择的参考位置指纹记录集记为{Ti|i=1,…,M},Ti与δ的指纹特征相似度记为Di,若按照相似度权重方法则
其中,p
可选地,当根据上述方法,当获取的终端位置信息是以经纬度形式表示的时,基于定位服务等级所指示的定位精度将以经纬度表示的位置转换为以DGG表示的位置编码。
可以看出,采用本发明实施例,实现了在统一位置表达的框架下,基于位置指纹即可以确定位置指纹的空间位置,又可以确定位置指纹的定位精度,进而可以根据用户需求的定位精度选择相应定位精度的指纹数据,进而提供相应的定位服务。
参见图4,图4为本发明实施例提供的一种终端定位方法的流程示意图。如图4所示,该方法包括:
S401、获取终端的定位请求,该定位请求包括终端的信号强度向量V和终端的第一定位服务等级。
其中,第一定位服务等级用于指示请求的定位精度。
S402、从位置指纹库中,根据所述信号强度向量V和第一定位服务器等级所请求的定位精度确定目标位置指纹。
其中,位置指纹库中的每个位置指纹包括位置编码和信号强度向量,终端的位置编码为目标位置指纹中位置编码。
可选地,从位置指纹库中,根据信号强度向量V和第一定位服务器等级所请求的定位精度确定目标位置指纹,包括:
根据第一定位服务器等级所请求的定位精度从位置指纹库中获取参考位置指纹集合,该参考位置指纹集合中的每个位置指纹中位置编码对应的定位精度与第一定位服务等级所请求的定位精度相同;计算参考位置指纹集合中的每个位置指纹中信号强度向量与信号强度向量V之间的相似度,以得到多个相似度值;将多个相似度值中,最小相似度值对应的位置指纹确定为目标位置指纹。
具体地,首先从位置指纹库中获取定位精度与第一定位服务器等级所请求的定位精度相同的多个位置指纹,该多个位置指纹构成参考位置指纹集合;然后计算该参考位置指纹集合中每个位置指纹的信号强度向量与信号强度向量V之间的相似度,以得到多个相似度值;最后将该多个相似度值中最小相似度值对应的位置指纹确定为目标位置指纹。
可选地,从位置指纹库中,根据信号强度向量V和第一定位服务器等级所请求的定位精度确定目标位置指纹,包括:
计算位置指纹库的每个位置指纹的信号强度向量与信号强度向量V之间的相似度,以得到多个相似度值;将多个相似度值中,相似度值最小的,且位置编码对应的定位精度与第一服务等级所请求的定位精度相同的位置指纹确定为目标位置指纹。
具体地,计算位置指纹库中每个位置指纹的信号强度向量与信号强度向量V之间的相似度,以得到多个相似度值;将位置指纹库中相似度值最小的,且位置编码对应的定位精度与第一定位服务器等级所请求的定位精度相同的位置指纹确定为目标位置指纹。
在此需要说明的是,相似度值越小,位置指纹的信号强度向量与信号强度向量V之间的相似度越高。
S403、将终端的位置编码发送至终端。
在此需要说明的是,位置指纹库中每个位置指纹的位置是采用DGG编码技术进行编码的,因此位置指纹库中每个位置指纹的位置又称为位置编码。
可以看出,采用本发明实施例,实现了在统一位置表达的框架下,基于位置指纹即可以确定位置指纹的空间位置,又可以确定位置指纹的定位精度,进而可以根据用户需求的定位精度选择相应定位精度的指纹数据,进而提供相应的定位服务。
参见图5,图5为本发明实施例提供的一种位置指纹库的构建方法的流程示意图。如图5所示,该方法包括:
S501、获取Z0个样本指纹数据。
其中,Z0个样本指纹数据与Z0个位置一一对应,Z0个位置中任一位置Px对应的样本指纹数据包括多个信号强度值和位置Px的位置信息,Z0为大于0的整数。
具体地,指纹采集设备在Z0个位置中的每个位置时,获取多个信号强度值和该位置Px的位置信息。其中位置信息可以是经纬度。该位置信息的定位精度可分为L个等级,例如厘米级、分米级、米级和百米级等。该位置信息的定位精度是由上报对象类型确定的,比如网络上报的位置信息的定位精度低于OTT上报的位置信息的定位精度,OTT上报的位置信息的定位精度低于路侧单元上报的位置信息的定位精度。
S502、对Z0个样本指纹数据进行预处理,以得到Z1个样本指纹数据,Z1为大于0且不大于Z1的整数。
具体地,为了保证Z0个样本指纹数据的质量,将异常样本指纹数据剔除,比如将信号强度超过理论强度阈值或者位置信息超出预设范围的异常样本指纹数据,并对每个样本指纹数据中的信号响度进行归一化处理。假设s
S503、根据Z1个样本指纹数据中每个样本指纹数据中的定位精度对该样本指纹数据中的位置信息进行编码,以得到编码位置。
其中,样本指纹数据中位置信息的定位精度越高,对该位置信息进行位置编码时所采样的编码位数越长。
具体地,将样本指纹数据中的位置信息按照GeoSOT或者DQG等全球离散格网剖分方法进行编码,以得到位置编码。比如记针对网络上报的位置指纹T
S504、根据Z1个样本指纹数据中每个样本指纹数据中的多个信号强度值和位置编码获取位置指纹库。
其中,位置指纹库包括Z1个位置指纹,该位置指纹包括信号强度向量和位置编码,该信号强度向量是根据多个信号强度值得到的。
可以看出,采用本申请实施例,实现了位置信息与定位精度的统一表示,又具备了定位精度的多尺度表达能力,使得后续进行定位时,可以按照用户需求提供不同定位精度的定位服务。
参见图6,图6为本发明实施例提供的一种服务器的结构示意图。如图6所示,该服务器600包括:
获取单元601,用于获取终端的定位请求,所述定位请求包括所述终端的信号强度向量V和所述终端的第一定位服务等级,所述第一定位服务等级用于指示请求的定位精度;
选取单元602,用于从位置指纹库中,根据所述信号强度向量V和所述第一定位服务等级选取b个辅助位置指纹,所述位置指纹库中的每个位置指纹包括位置编码和信号强度向量,所述辅助位置指纹中的位置编码的编码位数与所述定位精度相关;所述b为大于0的整数;
确定单元603,用于根据所述b个辅助位置指纹、所述信号强度向量V和所述第一定位服务等级确定终端的位置编码,所述终端的位置编码为所述信号强度向量V对应的且对应于所述第一定位服务等级的位置编码;
发送单元604,用于将所述终端的位置编码发送至所述终端。
在一个可行的实施例中,所述确定单元603具体用于:
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值,将所述b个相似度值中最小相似度值所对应的辅助位置指纹中的位置编码确定为所述终端的位置编码,或者;
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;并根据所述第一定位服务等级对所述b个相似度值和所述b个辅助位置指纹所对应的b个位置编码进行相似度权重计算,以得到第一计算结果,所述第一计算结果为所述终端的位置编码;或者,
根据所述第一定位服务等级对所述b个辅助位置指纹所对应的b个位置编码进行求平均计算,以得到第二计算结果,所述第二计算结果为所述终端的位置编码。
在一个可行的实施例中,所述确定单元603具体用于:
计算所述b个辅助位置指纹中每个辅助位置指纹中的信号强度向量与所述信号强度向量V之间的相似度,以得到b个相似度值;将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度;并对所述b个相似度值和所述b个经纬度进行相似度权重计算,以得到第三计算结果,将所述第三计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为DGG形式的位置编码,该位置编码为所述终端的位置编码;或者,
将所述b个辅助位置指纹所对应的b个位置编码进行转换,以得到b个经纬度,对所述b个经纬度进行求平均计算,以得到第四计算结果;将所述第四计算结果根据所述第一定位服务等级所请求的定位精度从经纬度表示形式转换为全球离散格网DGG编码形式的位置编码,该位置编码为所述终端的位置编码。
在一个可行的实施例中,所述选取单元602具体用于:
根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹,所述s个参考位置指纹的参考位置编码时采用的编码位数与所述第一定位服务等级所请求的定位精度相关;
计算所述s个参考位置指纹中每个参考位置指纹的信号强度向量和所述信号强度向量V之间的相似度,得到s个相似度值;
根据所述s个相似度值,从所述s个参考位置指纹中选取b个辅助位置指纹;
其中,所述辅助位置指纹为所述s个参考位置指纹中相似度超过预设阈值的参考位置指纹,或者所述b个辅助指纹位置为将所述s个相似度值按照从低到高排序后排序靠前的b个相似度值所对应的参考位置指纹。
在一个可行的实施例中,所述s个参考位置指纹的参考位置编码的定位精度与所述第一定位服务等级所请求的定位精度相同。
在一个可行的实施例中,在所述根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹的方面,所述选取单元602具体用于:
根据所述终端的第一定位服务等级,从所述位置指纹库中获取第一位置指纹集合,所述第一位置指纹集合中每个第一位置指纹的参考位置编码的定位精度与所述第一定位服务等级所请求的定位精度相同,从所述第一位置指纹集合选取与所述信号强度向量V的相似度最高的p个第一位置指纹,或者从所述第一位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的p个第一位置指纹;
若所述p大于或者等于b,则将所述p个第一位置指纹确定为s个参考位置指纹;若p小于b,则根据所述终端的第二定位服务等级,从所述位置指纹库中获取第二位置指纹集合,所述第二位置指纹集合中每个第二位置指纹的参考位置编码的定位精度与所述第二定位服务等级所指示的定位精度相同,从所述第二位置指纹集合选取与所述信号强度向量V的相似度最高的q个第二位置指纹,或者从所述第二位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的q个第二位置指纹;所述第二定位服务等级所指示的定位精度高于所述第一定位服务等级所请求的定位精度;
若p与q之和大于或等于b,则将所述p个第一位置指纹和所述q个第二位置指纹作为所述s个参考位置指纹。
在一个可行的实施例中,在所述根据所述终端的第一定位服务等级,从所述位置指纹库中选取s个参考位置指纹的方面,所述选取单元602具体还用于:
若p与q之和小于b,则根据所述终端的第三定位服务等级,从所述位置指纹库中获取第三位置指纹集合,所述第三位置指纹集合中每个第三位置指纹的参考位置编码所对应的定位精度与所述第三定位服务等级所指示的定位精度相同,从所述第三位置指纹集合选取与所述信号强度向量V的相似度最高的k个第三位置指纹,或者从所述第三位置指纹集合中选择与所述信号强度向量V的相似度大于所述预设阈值的k个第三位置指纹;所述第三定位服务等级所指示的定位精度低于所述第一定位服务等级所请求的定位精度;
将所述p个第一位置指纹、所述q个第二位置指纹和所述k个第三位置指纹作为所述s个参考位置指纹。
需要说明的是,上述各单元(获取单元601、选取单元602、确定单元603和发送单元604)用于执行上述方法的相关步骤。比如获取单元601用于执行步骤S301的相关内容,比如选取单元602用于执行步骤S302的相关内容,比如确定单元603和发送单元604用于执行步骤S303的相关内容。
在本实施例中,服务器600是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取单元601、选取单元602和确定单元603可通过图9所示的仿真测试装置的处理器901来实现。
参见图7,图7为本发明实施例提供的另一种服务器的结构示意图。如图7所示,该服务器700包括:
获取单元701,用于获取终端的定位请求,所述定位请求包括所述终端的信号强度向量V和所述终端的第一定位服务等级,所述第一定位服务等级用于指示请求的定位精度;
确定单元702,用于从位置指纹库中,根据所述信号强度向量V和所述定位精度确定目标位置指纹;所述位置指纹库中的每个位置指纹包括位置编码和信号强度向量,所述终端的位置编码为所述目标位置指纹中位置编码;
发送单元703,用于将所述终端的位置编码发送至所述终端。
在一个可行的实施例中,所述确定单元702具体用于:
根据所述信号强度向量V和所述定位精度从所述位置指纹库中获取参考位置指纹集合,所述参考位置指纹集合中的每个位置指纹中位置编码对应的定位精度与所述第一定位服务等级所请求的定位精度相同;
计算所述参考位置指纹集合中的每个位置指纹中信号强度向量与所述信号强度向量V之间的相似度,以得到多个相似度值;
将所述多个相似度值中,最小相似度值对应的位置指纹确定为目标位置指纹。
在一个可行的实施例中,所述确定单元702具体用于:
计算所述位置指纹库的每个位置指纹的信号强度向量与所述信号强度向量V之间的相似度,以得到多个相似度值;
将所述多个相似度值中,相似度值最小的,且位置编码对应的定位精度与所述第一服务等级所请求的定位精度相同的位置指纹确定为目标位置指纹。
需要说明的是,上述各单元(获取单元701、确定单元702和发送单元703)用于执行上述方法的相关步骤。比如获取单元701用于执行步骤S401的相关内容,确定单元702用于执行步骤S402的相关内容,发送单元703用于执行步骤S403的相关内容。
在本实施例中,服务器700是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取单元701和确定单元702可通过图9所示的服务器的处理器901来实现。
参见图8,图8为本发明实施例提供的一种位置指纹库构建装置的结构示意图。如图8所示,该构建装置800包括:
获取单元801,用于获取Z0个样本指纹数据,所述Z0个样本指纹数据与Z0个位置一一对应,所述Z0个位置中任一位置Px对应的样本指纹数据包括多个信号强度值和所述位置Px的位置信息;所述Z0为大于0的整数;
预处理单元802,用于对所述Z0个样本指纹数据进行预处理,以得到Z1个样本指纹数据,所述Z1为大于0且不大于Z1的整数;
编码单元803,用于根据所述Z1个样本指纹数据中每个样本指纹数据中的定位精度对该样本指纹数据中的位置信息进行编码,以得到位置编码,所述该样本指纹数据中位置信息的定位精度越高,所述位置编码的编码位数越长;
所述获取单元801,还用于根据所述Z1个样本指纹数据中每个样本指纹数据中的多个信号强度值和位置编码获取位置指纹库,所述位置指纹库包括Z1个位置指纹,所述位置指纹包括信号强度向量和位置编码,所述信号强度向量是根据所述多个信号强度值得到的。
需要说明的是,上述各单元(获取单元801、预处理单元802和编码单元803)用于执行上述方法的相关步骤。比如获取单元801用于执行步骤S501和S504的相关内容,预处理单元802用于执行步骤S502的相关内容,编码单元803用于执行步骤S503的相关内容。
在本实施例中,位置指纹库构建装置800是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上构获取单元801、预处理单元802和编码单元803可通过图10所示的位置指纹库构建装置的处理器1001来实现。
如图9所示服务器900可以以图9中的结构来实现,该服务器900包括至少一个处理器901,至少一个存储器902以及至少一个通信接口903。所述处理器901、所述存储器902和所述通信接口903通过所述通信总线连接并完成相互间的通信。
处理器901可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口903,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器902可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器902用于存储执行以上方案的应用程序代码,并由处理器901来控制执行。所述处理器901用于执行所述存储器902中存储的应用程序代码。
存储器902存储的代码可执行以上提供的任一种终端定位方法。
如图10所示位置指纹库构建装置1000可以以图10中的结构来实现,该服务器1000包括至少一个处理器1001,至少一个存储器1002以及至少一个通信接口1003。所述处理器1001、所述存储器1002和所述通信接口1003通过所述通信总线连接并完成相互间的通信。
处理器1001可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口1003,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器1002可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器1002用于存储执行以上方案的应用程序代码,并由处理器1001来控制执行。所述处理器1001用于执行所述存储器1002中存储的应用程序代码。
存储器1002存储的代码可执行以上提供的任一种位置指纹库构建方法。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种终端定位方法的部分或全部步骤,或位置指纹库构建方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。
- 一种终端设备定位方法及其相关设备
- 终端设备的定位方法、终端设备及终端设备定位系统