发明名称 一种自适应精度控制的WSN节点定位方法
摘要 一种自适应精度控制的WSN节点定位方法,本发明涉及WSN节点定位方法。本发明是要解决噪声和信标节点的部署会导致WSN节点的定位误差波动的问题而提出的一种自适应精度控制的WSN节点定位方法。该方法是步骤一、设U接收到信号的第i个信标节点为B<sub>i</sub>=(x<sub>i</sub>,y<sub>i</sub>);步骤二、在受高斯噪声n的影响下,得到未知节点U到信标节点B<sub>i</sub>真实距离d<sub>i</sub>的无偏估计量<img file="DDA0000662778660000011.GIF" wi="36" he="64" />;步骤三、得到U位置的估计坐标<img file="DDA0000662778660000012.GIF" wi="240" he="67" />;步骤四、计算定位误差的方差<img file="DDA0000662778660000013.GIF" wi="50" he="63" />;步骤五、获得未知节点所需测量信标节点B<sub>i</sub>信号的次数K<sub>new</sub>;步骤六、得到未知节点接收到来自信标节点B<sub>i</sub>的信号功率的平均值为<img file="DDA0000662778660000014.GIF" wi="114" he="59" />;步骤七、得到未知节点最终的定位结果x<sub>k</sub>,y<sub>k</sub>等步骤实现的。本发明应用于WSN节点定位领域。
申请公布号 CN104581944A 申请公布日期 2015.04.29
申请号 CN201510041398.8 申请日期 2015.01.28
申请人 哈尔滨工业大学 发明人 韩帅;岳晋;孟维晓;巩紫君
分类号 H04W64/00(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W64/00(2009.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 牟永林
主权项 一种自适应精度控制的WSN节点定位方法,其特征在于一种自适应精度控制的WSN节点定位方法具体是按照以下步骤进行的:步骤一、在WSN工作环境内,部署M个信标节点;对于工作环境内任意的未知节点U=(x,y),设U接收到信号的第i个信标节点为B<sub>i</sub>=(x<sub>i</sub>,y<sub>i</sub>),i=1,2,...,N,N≤M,B<sub>i</sub>对于未知节点U是可见的;其中,(x<sub>i</sub>,y<sub>i</sub>)表示信标节点B<sub>i</sub>的坐标,N表示对于未知节点U可见的信标节点的数目;步骤二、在受高斯噪声n的影响下,根据一般的信号传播模型,计算未知节点与信标节点B<sub>i</sub>的距离v<sub>i</sub>:根据v<sub>i</sub>得到未知节点U到信标节点B<sub>i</sub>真实距离d<sub>i</sub>的无偏估计量<img file="FDA0000662778630000011.GIF" wi="72" he="84" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mover><mi>d</mi><mo>^</mo></mover><mi>i</mi></msub><mo>=</mo><msup><mn>10</mn><mrow><mfrac><mrow><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>d</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>P</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><mn>10</mn><mo>&CenterDot;</mo><mi>&alpha;</mi></mrow></mfrac><mo>-</mo><mfrac><mrow><msubsup><mi>&sigma;</mi><mi>w</mi><mn>2</mn></msubsup><mi>ln</mi><mn>10</mn></mrow><mrow><mn>2</mn><mi>K</mi></mrow></mfrac></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000662778630000012.GIF" wi="655" he="170" /></maths>其中,<img file="FDA0000662778630000013.GIF" wi="551" he="123" />i=1,2,...,N;在距离信标节点d<sub>0</sub>处设置参考节点,参考节点接收信标节点B<sub>i</sub>的信号功率为P<sub>i</sub>(d<sub>0</sub>);未知节点U与信标节点B<sub>i</sub>的距离为d<sub>i</sub>;在不受噪声的情况下,未知节点U接收到信标节点B<sub>i</sub>的信号功率为P<sub>i</sub>(d<sub>i</sub>);在高斯噪声n的影响下,未知节点U通过K次测量接收到信标节点B<sub>i</sub>的信号功率<img file="FDA0000662778630000014.GIF" wi="129" he="92" />的均值为<img file="FDA0000662778630000015.GIF" wi="157" he="83" />α为路径损耗指数,对于传感器网络工作环境为自由空间时,其值一般取为2;<img file="FDA0000662778630000016.GIF" wi="390" he="98" />n为均值为0,方差为<img file="FDA0000662778630000017.GIF" wi="66" he="84" />的高斯噪声;K为整数;步骤三、根据无偏估计量<img file="FDA0000662778630000018.GIF" wi="55" he="85" />结合加权最小二乘法和牛顿迭代法得到如下矩阵形式:b=H·△X   (3)<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>H</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><mrow><msub><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub></mrow><msub><mi>r</mi><mn>1</mn></msub></mfrac></mtd><mtd><mfrac><mrow><msub><mi>y</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mn>1</mn></msub></mrow><msub><mi>r</mi><mn>1</mn></msub></mfrac></mtd></mtr><mtr><mtd><mfrac><mrow><msub><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mn>2</mn></msub></mrow><msub><mi>r</mi><mn>2</mn></msub></mfrac></mtd><mtd><mfrac><mrow><msub><mi>y</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mn>2</mn></msub></mrow><msub><mi>r</mi><mn>2</mn></msub></mfrac></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mfrac><mrow><msub><mi>x</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>x</mi><mi>N</mi></msub></mrow><msub><mi>r</mi><mi>N</mi></msub></mfrac></mtd><mtd><mfrac><mrow><msub><mi>y</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>y</mi><mi>N</mi></msub></mrow><msub><mi>r</mi><mi>N</mi></msub></mfrac></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000662778630000019.GIF" wi="671" he="526" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>b</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mover><mi>d</mi><mo>^</mo></mover><mn>1</mn></msub><mo>-</mo><msub><mi>r</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mover><mi>d</mi><mo>^</mo></mover><mn>2</mn></msub><mo>-</mo><msub><mi>r</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mover><mi>d</mi><mo>^</mo></mover><mi>N</mi></msub><mo>-</mo><msub><mi>r</mi><mi>N</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00006627786300000110.GIF" wi="391" he="343" /></maths>其中,△X=[(x‑x<sub>k‑1</sub>) (y‑y<sub>k‑1</sub>)]<sup>T</sup>,<img file="FDA0000662778630000021.GIF" wi="618" he="107" />i=1,2,...,N;权重矩阵W为:<img file="FDA0000662778630000022.GIF" wi="996" he="347" />获得△X为:△X=(H<sup>T</sup>WH)<sup>‑1</sup>H<sup>T</sup>Wb (7)取△X=[(x<sub>k</sub>‑x<sub>k‑1</sub>) (y<sub>k</sub>‑y<sub>k‑1</sub>)]<sup>T</sup>,根据公式(4)、(5)、(6)和(7)进行迭代求解,得到信号测量次数为K次时,未知节点U位置的估计坐标<img file="FDA0000662778630000023.GIF" wi="288" he="91" />其中,x<sub>k</sub>,y<sub>k</sub>为第k次牛顿迭代法求解未知节点U位置坐标;步骤四、定义误差因子R=tr((H<sup>T</sup>D<sup>‑1</sup>H)<sup>‑1</sup>),根据未知节点U位置的估计坐标计算定位误差的方差<img file="FDA0000662778630000024.GIF" wi="68" he="82" />为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>&sigma;</mi><mi>p</mi><mn>2</mn></msubsup><mo>=</mo><mi>R</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msup><mn>10</mn><mrow><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>w</mi><mn>2</mn></msubsup><mi>ln</mi><mn>10</mn><mo>)</mo></mrow><mo>/</mo><mi>K</mi></mrow></msup><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000662778630000025.GIF" wi="602" he="140" /></maths>其中,tr(·)表示矩阵的迹,即对角线元素之和;定义<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>D</mi><mo>=</mo><mi>diag</mi><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mover><mi>d</mi><mo>^</mo></mover><mn>1</mn><mn>2</mn></msubsup></mtd><mtd><msubsup><mover><mi>d</mi><mo>^</mo></mover><mn>2</mn><mn>2</mn></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mover><mi>d</mi><mo>^</mo></mover><mi>N</mi><mn>2</mn></msubsup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000662778630000026.GIF" wi="596" he="93" /></maths>diag[·]表示对角阵;步骤五、根据WSN节点定位的实际需求,令定位误差的标准差的门限值为PL,也称为保护门限;若满足<img file="FDA0000662778630000027.GIF" wi="267" he="95" />退出程序执行,x<sub>k</sub>,y<sub>k</sub>为未知节点最终的定位结果,若<img file="FDA0000662778630000028.GIF" wi="268" he="95" />则获得未知节点所需测量信标节点B<sub>i</sub>信号的次数K<sub>new</sub>为:<img file="FDA0000662778630000029.GIF" wi="580" he="183" /><img file="FDA00006627786300000210.GIF" wi="80" he="82" />表示向上取整,根据保护门限PL,结合式(9),计算需要测量信标节点B<sub>i</sub>信号的次数K<sub>new</sub>;步骤六、若K<sub>new</sub>≤K,退出程序执行,x<sub>k</sub>,y<sub>k</sub>为未知节点最终的定位结果;若K<sub>new</sub>&gt;K,未知节点U在K次的基础上,再次测量(K<sub>new</sub>‑K)次接收到的信标节点B<sub>i</sub>的信号功率<img file="FDA00006627786300000211.GIF" wi="151" he="84" />j=1,2,…,K<sub>new</sub>‑K;则未知节点接收到来自信标节点B<sub>i</sub>的信号功率的平均值为<img file="FDA0000662778630000031.GIF" wi="149" he="79" /><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mover><mi>P</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mi>K</mi><msub><mi>K</mi><mi>new</mi></msub></mfrac><msub><mover><mi>P</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><msub><mi>K</mi><mi>new</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>K</mi><mi>new</mi></msub><mo>-</mo><mi>K</mi></mrow></munderover><msubsup><mover><mi>P</mi><mo>^</mo></mover><mi>i</mi><mi>j</mi></msubsup><mrow><mo>(</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000662778630000032.GIF" wi="909" he="156" /></maths>步骤七、将K值更新为K=K<sub>new</sub>,重新执行步骤二~七的过程,直至满足K<sub>new</sub>≤K或<img file="FDA0000662778630000033.GIF" wi="268" he="93" />退出程序执行,得到未知节点最终的定位结果x<sub>k</sub>,y<sub>k</sub>;即完成了一种自适应精度控制的WSN节点定位方法。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号