发明名称 一种无线传感器网络中的启发式节点定位方法
摘要 本发明是一种无线传感器网络中的启发式参数自适应定位方法,通过在网络中设置一个RSSI-d自动训练区,有效实现RSSI-d模型训练,并将网络中的锚节点按照等边三角形布置,并且锚节点设置为统一设备,未知设备进入网络区域后,首先进入RSSI-d自动训练区进行RSSI-d模型训练,获得与当前网络锚节点之间的RSSI-d模型曲线,以消除设备差异性带来的测距误差。仿真结果表明,本发明克服了现有技术的缺点,提高无线传感器网络未知节点的定位精度,有效平衡定位精度,定位能耗,定位时间三者之间的矛盾,从而改善未知节点的定位性能。在相关定位参数相同的情况下,定位精度高于现有技术方案。
申请公布号 CN102625447B 申请公布日期 2014.09.10
申请号 CN201210066549.1 申请日期 2012.03.14
申请人 东南大学 发明人 徐平平;杨希;褚宏云
分类号 H04W64/00(2009.01)I 主分类号 H04W64/00(2009.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 一种无线传感器网络中的启发式节点定位方法,其特征在于该方法包括以下两个过程:步骤一.接收信号强度指示RSSI与实际距离d之间的模型曲线训练RSSI‑d模型训练在RSSI‑d自动训练区内完成,步骤如下:1)未知节点进入RSSI‑d自动训练区,向RSSI‑d模型存储节点M<sub>E</sub>发送RSSI‑d模型查询请求数据包Rd_search_request,M<sub>E</sub>根据自身存储情况响应,向未知节点发送RSSI‑d模型查询回复数据包Rd_search_reply;2)未知节点根据Rd_search_reply数据包内容,若得到本类型设备的RSSI‑d模型数据,则本过程结束,进入步骤二未知节点自身定位过程;若未查询到本类型设备的RSSI‑d模型数据,则进行步骤3);3)未知节点向RSSI‑d自动训练区内的训练锚节点M<sub>T</sub>广播RSSI‑d模型训练请求数据包Rd_train_request,Rd_train_request广播次数为N<sub>T</sub>,广播间隔为T<sub>T</sub>;4)RSSI‑d自动训练区内的训练锚节点在收到来自未知节点的Rd_train_request包后,回复RSSI‑d模型训练回复数据包Rd_train_reply;5)未知节点在收到各训练锚节点MT的Rd_train_reply数据包之后,计算与各M<sub>T</sub>之间的RSSI均值,并根据已知的距离信息d<sub>1...m</sub>,使用最小二乘法进行拟合,得到本类型设备与网络锚节点之间的RSSI‑d模型;6)未知节点向存储节点M<sub>E</sub>发送自身的RSSI‑d模型数据包,M<sub>E</sub>收到后存储该未知节点类型设备的RSSI‑d模型数据;步骤二.未知节点自身定位21)未知节点进入定位区,根据自身状况确定定位精度、定位时间、定位能耗三者所占权重a<sub>1</sub>,a<sub>2</sub>,a<sub>3</sub>,然后根据最优性能评价函数计算定位参数:定位请求包个数N<sub>L</sub>;定位请求包发送间隔T<sub>L</sub>;其中,最优性能评价函数的构造方法遵循以下步骤:a)确定性能评价指标定位精度、定位时间、定位能耗三者所占权重a<sub>1</sub>,a<sub>2</sub>,a<sub>3</sub>,且a<sub>1</sub>+a<sub>2</sub>+a<sub>3</sub>=1;b)确定定位精度、定位时间、定位能耗三者与定位请求包个数n以及定位请求包发送间隔t之间的函数关系f(n,t)、g(n,t)、h(n,t),函数关系如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><mi>n</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msup><mi>&sigma;</mi><mn>2</mn></msup><mi>n</mi></mfrac></mrow>]]></math><img file="FDA0000476373780000021.GIF" wi="266" he="137" /></maths>g(n,t)=nth(n,t)=ne<sub>o</sub>+(n‑1)te<sub>m</sub>其中σ<sup>2</sup>为噪声方差,节点发送一次请求包或回复包能耗为e<sub>o</sub>,节点正常工作状态的每秒平均能耗为e<sub>m</sub>;c)建立最优性能评价函数:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><mi>n</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>a</mi><mn>1</mn></msub><mfrac><mrow><mfrac><msup><mi>&sigma;</mi><mn>2</mn></msup><mi>n</mi></mfrac><mo>-</mo><msub><mi>M</mi><mrow><mi>f</mi><mi>min</mi></mrow></msub></mrow><mrow><msub><mi>M</mi><mrow><mi>f</mi><mi>max</mi></mrow></msub><mo>-</mo><msub><mi>M</mi><mrow><mi>f</mi><mi>min</mi></mrow></msub></mrow></mfrac><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><mfrac><mrow><mi>nt</mi><mo>-</mo><msub><mi>M</mi><mrow><mi>g</mi><mi>min</mi></mrow></msub></mrow><mrow><msub><mi>M</mi><mrow><mi>g</mi><mi>max</mi></mrow></msub><mo>-</mo><msub><mi>M</mi><mrow><mi>g</mi><mi>min</mi></mrow></msub></mrow></mfrac><mo>+</mo><msub><mi>a</mi><mn>3</mn></msub><mfrac><mrow><mo>[</mo><msub><mi>ne</mi><mi>o</mi></msub><mo>+</mo><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><msub><mi>e</mi><mi>m</mi></msub><mo>]</mo><mo>-</mo><msub><mi>M</mi><mrow><mi>h</mi><mi>min</mi></mrow></msub></mrow><mrow><msub><mi>M</mi><mrow><mi>h</mi><mi>max</mi></mrow></msub><mo>-</mo><msub><mi>M</mi><mrow><mi>h</mi><mi>min</mi></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000476373780000022.GIF" wi="1442" he="193" /></maths>(M<sub>fmin</sub>,M<sub>fmax</sub>),(M<sub>gmin</sub>,M<sub>gmax</sub>),(M<sub>hmin</sub>,M<sub>hmax</sub>)分别为f(n,t)、g(n,t)、h(n,t)的值域;在构造最优性能评价函数之后,求取使得最优性能评价函数取最小值时的n,t值,分别赋予N<sub>L</sub>,T<sub>L</sub>;22)未知节点向定位区域内的定位锚节点M<sub>L</sub>广播定位请求数据包Lo_request,广播次数为步骤21)中计算所得N<sub>L</sub>,发送间隔为步骤21)中计算所得T<sub>L</sub>;23)定位锚节点M<sub>L</sub>在收到来自未知节点的Lo_request请求包后,立即回复定位回复数据包Lo_reply给未知节点;24)未知节点在收到来自各定位锚节点M<sub>L</sub>的Lo_reply回复包之后,计算与各定位锚节点M<sub>L</sub>之间的RSSI均值,然后根据自身的RSSI‑d模型计算得到与各定位锚节点M<sub>L</sub>之间的距离值d<sub>ML1</sub>...d<sub>MLN</sub>;25)未知节点可能收到来自三个以上定位锚节点的回复包,根据步骤24)计算得到的距离值,选择出三个最小值d<sub>ML1</sub>,d<sub>ML2</sub>,d<sub>ML3</sub>,并与相应定位锚节点对应;26)未知节点根据步骤25)选择出的与三个定位锚节点之间的距离信息,使用三边测量法计算得到未知节点自身坐标。
地址 214135 江苏省无锡市新安镇菱湖大道99号