主权项 |
一种利用传感器计步提高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,直到结束。 |