发明名称 一种坑道无线传感器节点测距及定位方法
摘要 本发明提出一种坑道无线传感器节点测距方法,该方法通过测量报文在两节点之间的传输时间来获得节点之间的测量距离以及对测量距离的合理筛选,有效克服了坑道环境中无线电信号多径效应、衰减、畸变等对测距精度的影响,对测距过程中出现的瞬时故障有良好的抑制效果。本发明还提供了传感器节点定位方法,首先按照上述测距方法获取移动节点与参考节点的测量距离,再采用迭代法计算移动节点坐标,该方法在极大似然估计法的基础上加上了迭代求精的过程,大幅度提高了移动节点定位计算的精度。
申请公布号 CN102608570B 申请公布日期 2014.06.04
申请号 CN201210016451.5 申请日期 2012.01.17
申请人 华中科技大学 发明人 周纯杰;秦元庆;张琦;黄双;王洪成
分类号 G01S5/02(2010.01)I;G01S13/46(2006.01)I 主分类号 G01S5/02(2010.01)I
代理机构 华中科技大学专利中心 42201 代理人 李智
主权项 1.一种坑道无线传感器节点的定位方法,首先获取移动节点与各参考节点间的测量距离其过程为:移动节点广播定位请求;收到定位请求的信标节点反馈确认信号;移动节点从反馈确认信号的信标节点中选取部分作为参考节点;对移动节点与参考节点进行前向测距和反向测距,计算前向测距结果和反向测距结果的平均值即为移动节点与参考节点间的测量距离;所述前向测距的实现方式为:移动节点向参考节点发送查询帧,计算查询帧从移动节点到参考节点的飞行时间,由飞行时间乘以光速得到前向测距结果;所述反向测距的实现方式为:参考节点向移动节点发送查询帧,计算查询帧从参考节点到移动节点的飞行时间,由飞行时间乘以光速得到反向测距结果;移动节点利用定位算法计算自身坐标,其过程为:预估移动节点的初始位置;迭代计算移动节点的中间估计位置;其中迭代公式为<maths num="0001"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>=</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>+</mo><mfrac><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>g</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><mi>g</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>f</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow></mrow><mrow><msub><mi>g</mi><mi>x</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>f</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><msub><mi>f</mi><mi>x</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>g</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow></mrow></mfrac></mtd></mtr><mtr><mtd><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>=</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>+</mo><mfrac><mrow><mi>g</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>f</mi><mi>x</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>g</mi><mi>x</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow></mrow><mrow><msub><mi>g</mi><mi>x</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>f</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><msub><mi>f</mi><mi>x</mi></msub><mrow><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msub><mi>g</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup></mrow><mo>)</mo></mrow></mrow></mfrac></mtd></mtr></mtable></mfenced></math>]]></maths>(x<sup>(0)</sup>,y<sup>(0)</sup>)为移动节点的初始估计位置;(x<sup>(k)</sup>,y<sup>(k)</sup>)为第k次迭代结果,其中k=0,1,2,3,...;<maths num="0002"><![CDATA[<math><mrow><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi></mi><mo>[</mo><mo></mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mfrac><mrow><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msqrt><msup><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mfrac><mo>]</mo></mrow><mo>;</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mrow><mi>g</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi></mi><mo>[</mo><mo></mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mfrac><mrow><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msqrt><msup><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mfrac><mo>]</mo></mrow><mo>;</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>1</mn><mo>-</mo><mfrac><mrow><msub><mi>d</mi><mi>i</mi></msub><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow><mfrac><mn>3</mn><mn>2</mn></mfrac></msup></mfrac><mo>]</mo><mo>;</mo></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>f</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mfrac><mrow><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow><mfrac><mn>3</mn><mn>2</mn></mfrac></msup></mfrac><mo>;</mo></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><msub><mi>g</mi><mi>x</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mfrac><mrow><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow><mfrac><mn>3</mn><mn>2</mn></mfrac></msup></mfrac><mo>;</mo></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mi>g</mi><mi>y</mi></msub><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>,</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>1</mn><mo>-</mo><mfrac><mrow><msub><mi>d</mi><mi>i</mi></msub><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow><mfrac><mn>3</mn><mn>2</mn></mfrac></msup></mfrac><mo>]</mo><mo>;</mo></mrow></math>]]></maths>(x<sub>i</sub>,y<sub>i</sub>)为第i个参考节点的坐标;d<sub>i</sub>为移动节点到第i个参考节点的测量距离;n为参考节点的个数;当<maths num="0008"><![CDATA[<math><mrow><msqrt><msup><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>-</mo><msup><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>&lt;</mo><mi>EPS</mi></mrow></math>]]></maths>或者迭代次数超过上限时,停止迭代,移动节点的中间估计位置(x<sup>M</sup>,y<sup>M</sup>)为最后一次迭代的迭代结果,EPS是计算精度;将移动节点初始位置(x<sup>(0)</sup>,y<sup>(0)</sup>)和中间估计位置(x<sup>M</sup>,y<sup>M</sup>)分别代入评价函数<maths num="0009"><![CDATA[<math><mrow><mi>S</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><msqrt><msup><mrow><mo>(</mo><msub><mrow><mi>x</mi><mo>-</mo><mi>x</mi></mrow><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mrow><mi>y</mi><mo>-</mo><mi>y</mi></mrow><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><msub><mi>d</mi><mi>i</mi></msub></mrow><mn>2</mn></msup><mo>;</mo></mrow></math>]]></maths>如果S(x<sup>(0)</sup>,y<sup>(0)</sup>)<S(x<sup>M</sup>,y<sup>M</sup>),选取(x<sup>(0)</sup>,y<sup>(0)</sup>)作为移动节点的最优估计位置,否则选取(x<sup>M</sup>,y<sup>M</sup>)作为移动节点的最优估计位置。
地址 430074 湖北省武汉市洪山区珞喻路1037号
您可能感兴趣的专利