发明名称 一种利用传感器计步提高WiFi指纹定位鲁棒性的方法
摘要 本发明涉及一种利用传感器计步提高WiFi指纹定位鲁棒性的方法。首先在每个采样点的无线接入点进行检测得到信号强度值,将每个采样点的信号强度值及其MAC地址共同组成该位置的位置指纹并存入指纹数据库。然后在未知位置A扫描无线接入点获取位置指纹,并与指纹数据库中的指纹进行匹配,最接近的指纹对应的地理坐标即为位置A的当前位置。最后根据测试人竖直方向加速度的变化判断终端位置是否发生变化,从而决定是否进行计步操作。本发明通过传感器计步检测法检验终端位置是否发生变化,判定是否需要更新位置信息,解决了静止状态下由于WiFi信号不稳定引起终端位置信息出现错误的问题,从而提高了WiFi指纹定位的鲁棒性。
申请公布号 CN103957503A 申请公布日期 2014.07.30
申请号 CN201410141684.7 申请日期 2014.04.09
申请人 北京工业大学 发明人 黎海涛;王奇;齐双
分类号 H04W4/02(2009.01)I;H04W64/00(2009.01)I 主分类号 H04W4/02(2009.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 沈波
主权项 一种利用传感器计步提高WiFi指纹定位鲁棒性的方法,应用具有WiFi功能且带有加速度传感器的智能手机终端进行测量,其特征在于,所述方法包括以下步骤:步骤1:确定整个定位区域内的所有采样点个数N;步骤2:将终端WiFi功能打开,在第n个采样点处检测得到k个无线接入点AP的信号强度值,即RSSI<sub>1</sub>,RSSI<sub>2</sub>,...,RSSI<sub>k</sub>;n=1,2,…,N;步骤3:将每个RSSI与其对应的MAC地址ID一起组成采样点的位置指纹矩阵FP,第n个采样点的位置指纹<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>FP</mi><mi>n</mi></msub><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>RSSI</mi><mi>i</mi></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>RSSI</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><msub><mi>ID</mi><mi>i</mi></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>ID</mi><mi>j</mi></msub></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000488711640000011.GIF" wi="618" he="186" /></maths>ID<sub>i</sub>即为RSSI<sub>i</sub>对应的MAC地址;步骤4:记下第n个采样点的坐标FP<sub>n</sub>(x,y),并将该采样点的坐标FP<sub>n</sub>(x,y)和位置指纹FP<sub>n</sub>添加到指纹数据库中;步骤5:重复执行步骤2~4,直到遍历采样区域内的所有采样点,为采样区域建立完整的位置指纹数据库;步骤6:在某一未知位置A处扫描无线接入点AP,得到k个AP的RSSI值,按照步骤3获取A位置的位置指纹,即得到位置A处的RSSI序列以及每个RSSI对应的MAC地址;步骤7:将A位置的位置指纹的MAC地址序列和指纹库中所有采样点的位置指纹的MAC地址序列进行匹配;步骤8:匹配一致的采样点对应的地理坐标即为位置A的当前位置;步骤9:测试人手持终端行走时,由终端的传感器读取前一时刻人体竖直方向加速度平均值a<sub>0</sub>(t‑1),初始时刻竖直方向加速度平均值设定为a<sub>0</sub>(0),大小等于重力加速度g,屏蔽WiFi信号跳变,终端位置信息不变;步骤10:实时检测竖直方向加速度,选出峰值a<sub>1</sub>(t)和低谷值a<sub>2</sub>(t);步骤11:计算竖直方向加速度峰值和低谷值与前一时刻竖直方向加速度平均值的差,即a<sub>1</sub>(t)‑a<sub>0</sub>(t‑1)和a<sub>0</sub>(t‑1)‑a<sub>2</sub>(t),若a<sub>1</sub>(t)‑a<sub>0</sub>(t‑1)和a<sub>0</sub>(t‑1)‑a<sub>2</sub>(t)均小于阈值r,则视为轻微震动,转步骤9;否则,执行步骤12;r通常取0.35;步骤12:终端位置发生变化,进行计步;步骤13:计算当前时刻竖直方向加速度平均值a<sub>0</sub>(t)的大小,公式如下:a<sub>0</sub>(t)=[a<sub>1</sub>(t)+a<sub>2</sub>(t)]/2步骤14:返回步骤6,获取新的位置信息,重复执行步骤6~14,直到结束。
地址 100124 北京市朝阳区平乐园100号