当前位置: 首页 > 专利查询>武汉大学专利>正文

一种针对室内信号源部署方案筛选的指纹定位快速实现方法技术

技术编号:23406179 阅读:27 留言:0更新日期:2020-02-22 17:02
本发明专利技术涉及一种针对室内信号源部署方案筛选的指纹定位快速实现方法。首先生成部署方案对应的子指纹库,其中生成子指纹库时调用多核并行嵌套哈希查找的多层级加速方法,然后定位所有测试点位置并确定部署方案定位误差,定位过程中调用多核并行嵌套哈希查找+SIMD组合的多层级加速方法,最后从所有的信号源部署方案中筛选得到最优方案。本发明专利技术运用SIMD技术,在RSS距离计算过程中实现多数据并行计算,提升了定位速度。本发明专利技术运用多核或多GPU技术,并行处理多个参考点RSS以及多个测试点定位,大大提升了计算速度。本发明专利技术运用哈希查找算法,解决指纹库数组下标查找信号源ID标识时由于频繁查找导致耗时过久的问题。

A fast fingerprint location method for indoor signal source deployment scheme selection

【技术实现步骤摘要】
一种针对室内信号源部署方案筛选的指纹定位快速实现方法
本专利技术属于计算机应用技术与室内定位
,主要是将SIMD指令、多核或多GPU并行、以及哈希查找算法进行耦合,形成一种针对室内信号源部署方案筛选的指纹定位快速实现方法。
技术介绍
目前,全球定位系统GPS已经被应用到人们生活中的各个方面。虽然GPS在户外世界中广泛活跃着,但到了室内,由于室内复杂的环境以及众多的障碍物,GPS的信号衰减十分严重,难以精确定位,因此室内定位就成为了目前人们研究的热门问题。室内定位技术可采用多种信号进行定位,例如WIFI定位技术,蓝牙定位技术,红外线定位技术,ZigBee定位技术等等。以广泛应用WIFI定位技术为例,目前大多数室内布设了多个WIFI设备,作为无线访问接入点AP。每一个AP都有一个独一无二的MAC地址。许多移动终端如手机,平板等,可扫描收集周围AP信号。移动终端收集到各个AP信号后,将AP所对应的MAC地址,以及AP信号强度,通过某种算法确定移动终端位置。室内定位方法可划分为四大类:传播模型、区域单元、指纹法和多边形方法。其中又以指纹法最为广泛应用。指纹法顾名思义,就是根据每个人的指纹有着独一无二的特征,将指纹与室内的某个位置关联起来。某个位置接收或者发送信号,那么这个信号的特征可以作为该位置的指纹。具体来说指纹法分为离线建库阶段以及在线定位阶段。离线建库阶段主要是:在已知具体位置的参考点记录该点所收到各个AP的信号值,这些信号值将组成该参考点的指纹,可用RSS表示。所有参考点的RSS将组成一个指纹库。在线定位阶段主要是:利用移动设备在不同的测试点记录该点的RSS,并到指纹库中搜索与之最相近的RSS。算法根据最近RSS对应的参考点位置,便可以推测出测试点的具体位置。在实际应用过程,人们通常希望以较少成本获取较高的精度定位。因此,指纹算法会用于测试不同成本部署方案的定位误差。然而,部署方案成百上千,因此对应也需要频繁运行指纹算法。这将会耗费巨大的时间,拖延评价选取方案进度。基于上述原因,本专利技术提出一种针对室内信号源部署方案筛选的指纹定位快速实现方法。由于指纹法的在线定位阶段需要进行高维向量计算,因此本专利技术采用SIMD技术进行加速优化。SIMD是英文SingleInstructionMultipleData的缩写,指的是单指令处理多数据技术,可以同时对多个数据执行相同操作,以此达到空间上的并行性。将SIMD运用到高维向量运算后,程序从原本一次计算指令只能操作一个维度的数值,提升到了两个或四个维度。参考点与测试点RSS都是事先采集记录好的,数据之间无操作关联性。因此,在筛选信号源部署方案中,某些操作可以并行操作,如对所有测试点定位确定部署方案定位误差。本专利技术采用多核或多GPU并行编程技术实现并行加速。多核并行编程技术,就是将程序中的可并行的线程交托给多个核心处理,从而提高程序的运行速度由于在测试点定位过程中,需要调用查找算法,根据匹配RSS的序号确定对应的参考点ID,进而获取参考点位置坐标。但是,普通查找算法如顺序查找,二分查找等,时间复杂度偏高。因此,本专利技术采用哈希查找算法,利用空间换时间的思想,实现时间复杂度为O(1)的查找。
技术实现思路
针对上述存在的技术问题,本专利技术的目的是提供一种针对室内信号源部署方案筛选的指纹定位快速实现方法,以便于快速测评并确定最终部署方案。为了达到上述目的,本专利技术的技术方案如下:步骤1生成部署方案对应的子指纹库,其中生成子指纹库时调用多核并行嵌套哈希查找的多层级加速方法。步骤2定位所有测试点位置并确定部署方案定位误差,定位过程中调用多核并行嵌套哈希查找+SIMD组合的多层级加速方法。步骤3从所有的信号源部署方案中筛选得到最优方案。所述步骤1生成每个部署方案对应的子指纹库,包含以下子步骤:步骤1.1首先采集相关数据并生成总指纹库。在室内部署n个AP,作为部署方案的选择范围。每个AP都有唯一的ID标识。接着,取这n个AP位置作为测试点和参考点。其中,在每个测试点收集n个AP信号值作为该测试点的RSSt,写作(r1,r2,…rn)行向量形式;每个参考点收集n个AP信号值,作为该参考点的RSSr,写作(R1,R2,…Rn)的行向量形式,并汇集成大小为n*n的总指纹库。总指纹库具体形式如下:步骤1.2确定某个部署方案。在n个AP里选取m个AP作为部署方案(m≤n),并记录这m个AP的ID。步骤1.3针对确定的部署方案,利用多核或多GPU并行加速遍历总指纹库中每行,并行加工多个RSSr,得到部署方案对应的子指纹库。以下子步骤针对一个RSSr工作。步骤1.3.1利用哈希查找算法优化加速RSSr加工。根据部署方案中AP成员的ID,查找对应的m个AP信号值。为了加速AP信号值Ri的查找,根据ID与RSSr中对应元素下标i映射关系,确定哈希函数Hash(key),构造哈希表。其中,取ID值为key值,Hash(ID)输出的是ID对应的元素下标i。这样,便可以直接将ID代入到哈希表中,实现时间复杂度为O(1)的查找。步骤1.3.2根据上一步依次查找出来m个Ri,按照下标i递增顺序组成部署方案下的参考点RSSr′,写作(R′1,R′2,…R′m)行向量形式。步骤1.3.3所有的RSS′r汇集成大小为n*m的子指纹库。子指纹库具体形式如下:其中R′ij表示第i个参考点接收到第j个AP的信号值。所述步骤2定位所有测试点位置并确定部署方案定位误差,包括以下子步骤:步骤2.1利用多核并行加速遍历每个测试点,并行多个测试点位置定位。以下子步骤针对一个测试点工作。步骤2.1.1读取测试点RSSt。步骤2.1.2利用哈希查找算法优化加速RSSt加工。同子指纹库建立一样,RSSt需要筛选出部署方案中m个对应AP信号值。这里的过程与步骤3.1.1,3.1.2一致,不进行多余讲解。最后构建部署方案下的测试点RSS′t,写作(r′1,r′2,…r′m)行向量形式。步骤2.1.3遍历子指纹库,将RSS′t与库中每行RSS′r与进行距离计算。其中距离记为distancerow,row为RSS′r在子指纹库的行号。以下子步骤针对一行RSS′r与该RSS′t距离计算工作。步骤(1)利用SIMD加速RSS′r与RSS′t距离计算。距离计算公式具体定义为根据AVX指令集,利用三个256位通用寄存器x,y,z。其中前两个寄存器分别存储4个下标连续的R′i和r′i(R′i和r′i的数据类型设为double,占64位),第三个寄存器存储结果,初始存储值为0。对于RSS′r与RSS′t中前维的元素有如下子步骤,其中子步骤针对一组4个连续维度的元素工作。①从RSS′r与RSS′t分别加载4个连续维度的元素到x,y。②使用_mm256_sub_pd计算xy的数据差值,并存入256位寄存器temp。③使用_mm256_mul_pd计算temp的平方本文档来自技高网
...

【技术保护点】
1.一种针对室内信号源部署方案筛选的指纹定位快速实现方法,其特征在于,包括:/n步骤1、生成部署方案对应的子指纹库,其中生成子指纹库时调用多核并行嵌套哈希查找的多层级加速方法;包含以下子步骤:/n步骤1.1首先采集相关数据并生成总指纹库;在室内部署n个AP,作为部署方案的选择范围;每个AP都有唯一的ID标识;接着,取这n个AP位置作为测试点和参考点;其中,在每个测试点收集n个AP信号值作为该测试点的RSS

【技术特征摘要】
1.一种针对室内信号源部署方案筛选的指纹定位快速实现方法,其特征在于,包括:
步骤1、生成部署方案对应的子指纹库,其中生成子指纹库时调用多核并行嵌套哈希查找的多层级加速方法;包含以下子步骤:
步骤1.1首先采集相关数据并生成总指纹库;在室内部署n个AP,作为部署方案的选择范围;每个AP都有唯一的ID标识;接着,取这n个AP位置作为测试点和参考点;其中,在每个测试点收集n个AP信号值作为该测试点的RSSt,写作(r1,r2,…rn)行向量形式;每个参考点收集n个AP信号值,作为该参考点的RSSr,写作(R1,R2,…Rn)的行向量形式,并汇集成大小为n*n的总指纹库;总指纹库具体形式如下:



步骤1.2确定某个部署方案;在n个AP里选取m个AP作为部署方案(m≤n),并记录这m个AP的ID;
步骤1.3针对确定的部署方案,利用多核或多GPU并行加速遍历总指纹库中每行,并行加工多个RSSr,得到部署方案对应的子指纹库;以下子步骤针对一个RSSr工作;
步骤1.3.1利用哈希查找算法优化加速RSSr加工;根据部署方案中AP成员的ID,查找对应的m个AP信号值;为了加速AP信号值Ri的查找,根据ID与RSSr中对应元素下标i映射关系,确定哈希函数Hash(key),构造哈希表;其中,取ID值为key值,Hash(ID)输出的是ID对应的元素下标i;这样,便可以直接将ID代入到哈希表中,实现时间复杂度为O(1)的查找;
步骤1.3.2根据上一步依次查找出来m个Ri,按照下标i递增顺序组成部署方案下的参考点RSS′r,写作(R′1,R′2,…R′m)行向量形式;
步骤1.3.3所有的RSS′r汇集成大小为n*m的子指纹库;子指纹库具体形式如下:



其中R′ij表示第i个参考点接收到第j个AP的信号值;
步骤2、定位所有测试点位置并确定部署方案定位误差,定位过程中调用多核并行嵌套哈希查找+SIMD组合的多层级加速方法;包括以下子步骤:
步骤2.1利用多核并行加速遍历每个测试点,并行多个测试点位置定位;以下子步骤针对一个测试点工作;
步骤2.1.1读取测试点RSSt;
步骤2.1.2利用哈希查找算法优化加速RSSt加工;同子指纹库建立一样,RSSt需要筛选出部署方案中m个对应AP信号值;这里的过程与步骤3.1.1,3.1.2一致,不进行多余讲解;最后构建部署方案下的测试点RSS′t,写作(r′1,r′2,…r′m)行向量形式;
步骤2....

【专利技术属性】
技术研发人员:赵俭辉钟姗杉蔡波
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1