发明名称 基于Kriging的WSN多维度向量指纹定位方法
摘要 基于Kriging的WSN多维度向量指纹定位方法,包括:步骤1,将已知位置的待处理RSSI(接收信号强度)值采用高斯滤波处理;步骤2,将经处理的已知位置RSSI样本使用自适应Kriging插值算法对定位区域内的未知位置点的RSSI值进行最优、无偏、线性估计;步骤3,对所有信标节点重复步骤1和步骤2,将得到的所有单维指纹向量进行并集操作即可成功构建定位区域的多维指纹向量;步骤4,使用向量相似度匹配算法得到相似度从高到低的前num个向量对应的格子,即是节点定位的范围;步骤5,将得到的前num个格子采用K‑means聚类算法进行分类,提取出含格子数最多簇的簇首(簇的几何中心)作为节点的实际定位结果输出。
申请公布号 CN106028290A 申请公布日期 2016.10.12
申请号 CN201610297252.4 申请日期 2016.05.06
申请人 浙江工业大学 发明人 毛科技;方飞;方凯;李鹏欢
分类号 H04W4/04(2009.01)I;G01S5/02(2010.01)I;H04W84/18(2009.01)I 主分类号 H04W4/04(2009.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 一种基于Kriging的WSN多维度指纹向量定位方法,其特征在于,包括如下步骤:步骤1,高斯滤波;步骤11,以已知位置待处理的RSSI(接收信号强度)值为输入,由于存在多径效应的RSSI值服从正态分布,而高斯分布对于处理满足正态分布的噪声非常有效,因此满足公式<maths num="0001"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><msqrt><mrow><mn>2</mn><mi>&pi;</mi></mrow></msqrt><mi>&sigma;</mi></mrow></mfrac><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><mn>2</mn></msup><mrow><mn>2</mn><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982835270000011.GIF" wi="1214" he="124" /></maths>式(1)中x表示传感器获取的RSSI值,μ表示传感器获取到RSSI值的平均数,σ表示传感器获取的RSSI值的标准差,f(x)表示RSSI正态分布函数;步骤12,正常的RSSI值发生在高概率区域[μ‑0.6σ,μ+0.6σ],所以把高概率区域的RSSI平均值取出,这个过程就把异常值过滤掉;步骤2,自适应Kriging插值算法;步骤21,以步骤12获取的RSSI值为输入,使用自适应Kriging插值算法对定位区域内的未知位置点的RSSI值进行最优、无偏、线性估计,具体步骤包括为:步骤211,使用Kriging插值算法找到样本点之间的依存规则,首先利用配对关系Pair(d,RSSI)(d表示两个传感器节点间的距离,RSSI表示传感器节点所获取的RSSI值)和经验半变异函数进行空间建模,然后采用最小二乘法进行拟合得到经验半变异模型,最后选择一个理想且误差最小的模型,经验半变异函数如下所示<maths num="0002"><math><![CDATA[<mrow><mi>r</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>n</mi></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>(</mo><mi>z</mi><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo><mo>-</mo><mi>z</mi><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mi>h</mi></mrow><mo>)</mo><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982835270000012.GIF" wi="1205" he="127" /></maths>式(2)中n表示关系对Pair<sub>i</sub>的数量,z(x<sub>i</sub>)和z(x<sub>i</sub>+h)分别表示配对的两个节点对应的RSSI值,且节点间距离为h,r(h)表示半变异函数值;步骤212,以步骤211获得的经验半变异模型为输入,对未知位置点的RSSI值进行预测,预测过程如下公式所示<maths num="0003"><math><![CDATA[<mrow><msub><mi>z</mi><mi>o</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>s</mi></munderover><msub><mi>z</mi><mi>x</mi></msub><msub><mi>w</mi><mi>x</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982835270000013.GIF" wi="1087" he="134" /></maths>式(3)中Z<sub>0</sub>表示待估计位置的RSSI值,s表示预测过程所需要的样本数(本方法中s=4),Z<sub>x</sub>表示样本传感器上所获取的RSSI值,W<sub>x</sub>表示所需样本对应的权重系数,具体的权重系数W<sub>x</sub>(x∈{1,2,3,4})可根据如下公式计算<maths num="0004"><math><![CDATA[<mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>11</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>21</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>31</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>41</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>12</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>22</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>32</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>42</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>13</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>23</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>33</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>43</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>14</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>24</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>34</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>&gamma;</mi><mrow><mo>(</mo><msub><mi>h</mi><mn>44</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>w</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>w</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>w</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>w</mi><mn>4</mn></msub></mtd></mtr><mtr><mtd><mi>&lambda;</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mi>&gamma;</mi><mo>(</mo><msub><mi>h</mi><mn>10</mn></msub><mo>)</mo></mtd></mtr><mtr><mtd><mi>&gamma;</mi><mo>(</mo><msub><mi>h</mi><mn>20</mn></msub><mo>)</mo></mtd></mtr><mtr><mtd><mi>&gamma;</mi><mo>(</mo><msub><mi>h</mi><mn>30</mn></msub><mo>)</mo></mtd></mtr><mtr><mtd><mi>&gamma;</mi><mo>(</mo><msub><mi>h</mi><mn>40</mn></msub><mo>)</mo></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982835270000021.GIF" wi="1700" he="350" /></maths>式(4)中γ(h<sub>ij</sub>)(i,j∈{0,1,2,3,4})都可以通过步骤211中获取的经验半变异模型计算得到,λ为一个无关的未知数,W<sub>i</sub>(i∈{1,2,3,4})表示所需样本对应的权重系数;步骤3,RSSI向量指纹构建;步骤31,采用步骤2的自适应插值算法可以建立一个信标节点对应在定位区域内的单维度指纹向量;步骤32,所有信标节点广播信号建立对应的单维度指纹向量,再对所有单维度指纹向量进行并集操作,具体步骤包括:步骤321,定位区域的长、宽分别为L和W,并将它划分为m行和n列,每个小格子的长和宽分别为cl=L/m、cw=W/N;步骤322,步骤321将定位区域D划分后,通过Kriging插值算法计算每个小格子对应的RSSI值,这样就建立了信标节点A对应的单维度指纹V<sub>A</sub>,V<sub>A</sub>是一个m×n的指纹;步骤323,对信标节点B、C、D、E重复步骤322,分别构建单维度指纹V<sub>B</sub>、V<sub>C</sub>、V<sub>D</sub>、V<sub>E</sub>,最后对单维度指纹做并集建立定位区域的多维度指纹向量,那么第i(i∈{1,2,3,…,m×n})个格子对应的5维向量就是五个单维度指纹在该位置的RSSI值的并集,通过321、322、323三个步骤就可以建立完整的定位区域多维度指纹向量FingerP[m×n][5]=V<sub>A</sub>[m×n]∪V<sub>B</sub>[m×n]∪V<sub>C</sub>[m×n]∪V<sub>D</sub>[m×n]∪V<sub>E</sub>[m×n]   (5)式(5)中V<sub>i</sub>[m×n](i∈{A,B,C,D,E})表示信标节点i广播信号在定位区域内建立的单维指纹向量,m×n表示定位区域内的格子数,FingerP[m×n][5]表示信标节点A、B、C、D、E对应的5个单维指纹向量的一个并集;步骤4,组合匹配定位方法;步骤41,以步骤323获得的多维指纹向量和需定位节点所获取到的多维RSSI向量为输入,使用向量相似度匹配算法得到相似度从高到低的前num个向量对应的格子,即是节点定位的范围,多维RSSI向量如下所示<maths num="0005"><math><![CDATA[<mrow><mi>T</mi><mi>V</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>RSSI</mi><mi>a</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>RSSI</mi><mi>b</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>RSSI</mi><mi>c</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>RSSI</mi><mi>d</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>RSSI</mi><mi>e</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982835270000022.GIF" wi="1093" he="342" /></maths>式(6)中RSSI<sub>i</sub>(i∈{a,b,c,d,e})表示所对应的信标节点i广播信号时定位节点所获取的RSSI值,TV表示定位节点所获取到的5维RSSI指纹向量;步骤5,K‑means聚类算法提取定位结果;步骤51,以步骤41获得的前num个格子为输入,使用K‑means聚类算法对这些格子进行分类,提取出含格子数最多簇的簇首(簇的几何中心)作为节点的实际定位结果输出。
地址 310014 浙江省杭州市下城区朝晖六区潮王路18号