发明名称 一种基于RSSI的无线传感器网络自适应迭代定位方法
摘要 本发明提供了一种基于RSSI的无线传感器网络自适应迭代定位方法,是基于最速梯度下降的自适应迭代方法,基于最大似然法的数学模型,将非线性最小二乘代价函数作为目标函数进行最速梯度下降搜索定位,最终通过迭代得到目标位置,由于采用了时变步长,继承了传统最大似然法可以定位非合作目标的优点,在目标RSSI值未知的情况下,可以对目标的RSSI值进行估计,然后定位,与最大似然定位的搜索算法相比,运算量小且定位精度高。
申请公布号 CN104301999A 申请公布日期 2015.01.21
申请号 CN201410542880.5 申请日期 2014.10.14
申请人 西北工业大学 发明人 申晓红;张秀;王海燕;闫永胜;刘叙含;姚海洋;赵晓博;张之琛;张鹏飞
分类号 H04W64/00(2009.01)I 主分类号 H04W64/00(2009.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 一种基于RSSI的无线传感器网络自适应迭代定位方法,其特征在于包括下述步骤:步骤一,建立直角坐标系,得到无线传感器网络中每个传感器节点的位置信息,测量传感器节点的RSSI值,待测目标为非合作目标,目标能量未知;假设目标能量为S<sub>k</sub>,(k=1,2,…,K),传感器节点i的在t时刻的RSSI值为y<sub>i</sub>(t),则:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>y</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>g</mi><mi>i</mi></msub><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></msubsup><mfrac><mrow><msub><mi>S</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mtext></mtext></mrow><mrow><msubsup><mi>d</mi><mi>ik</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><msub><mi>&epsiv;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000586148900000011.GIF" wi="589" he="157" /></maths>其中,g<sub>i</sub>是第i个传感器节点自身对目标定位的能量增益,d<sub>ik</sub>(t)=|ρ<sub>k</sub>(t)‑r<sub>i</sub>|是第k个目标与第i个传感器节点之间的欧氏距离,ρ<sub>k</sub>(t)是t时刻待测目标的位置,r<sub>i</sub>是第i个传感器节点的位置,S<sub>k</sub>(t)为待测目标的能量,则y<sub>i</sub>(t)是测量得到的第i个传感器在t时刻的RSSI值;1≤k≤K,K为目标个数,1≤i≤I,I表示传感器个数;<img file="FDA00005861489000000114.GIF" wi="253" he="79" />v<sub>i</sub>是背景噪声,服从N<img file="FDA0000586148900000012.GIF" wi="189" he="81" />分布,<img file="FDA0000586148900000013.GIF" wi="71" he="77" />是背景噪声的方差,如果采样点数M足够大,M≥30,那么ε<sub>i</sub>(t)服从卡方分布,近似于<img file="FDA0000586148900000014.GIF" wi="305" he="85" />分布;步骤二,推导基于最大似然定位的代价函数:对传感器节点的RSSI值的测量式进行变换得到<img file="FDA0000586148900000015.GIF" wi="632" he="206" />用矩阵形式可表示为Z=GD+Sξ,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>Z</mi><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><mrow><msub><mi>y</mi><mn>1</mn></msub><mo>-</mo><msub><mi>u</mi><mn>1</mn></msub></mrow><msub><mi>&sigma;</mi><mn>1</mn></msub></mfrac></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mfrac><mrow><msub><mi>y</mi><mi>N</mi></msub><mo>-</mo><msub><mi>u</mi><mi>N</mi></msub></mrow><msub><mi>&sigma;</mi><mi>N</mi></msub></mfrac></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000586148900000017.GIF" wi="554" he="163" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>G</mi><mo>=</mo><mi>diag</mi><mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><msub><mi>g</mi><mn>1</mn></msub><msub><mi>&sigma;</mi><mn>1</mn></msub></mfrac></mtd><mtd><mfrac><msub><mi>g</mi><mn>2</mn></msub><msub><mi>&sigma;</mi><mn>2</mn></msub></mfrac><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mfrac><msub><mi>g</mi><mi>N</mi></msub><msub><mi>&sigma;</mi><mi>N</mi></msub></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000586148900000018.GIF" wi="553" he="172" /></maths><img file="FDA0000586148900000019.GIF" wi="485" he="333" />S=[S<sub>1</sub> S<sub>2</sub> … S<sub>N</sub>]<sup>T</sup>,ξ=[ξ<sub>1</sub> ξ<sub>2</sub> … ξ<sub>N</sub>]<sup>T</sup>,其中<img file="FDA00005861489000000110.GIF" wi="552" he="119" />是均值,<img file="FDA00005861489000000111.GIF" wi="212" he="79" />/M是方差,d<sub>ik</sub>=|ρ<sub>k</sub>‑r<sub>i</sub>|,则<img file="FDA00005861489000000112.GIF" wi="247" he="135" />服从N(0,1)分布,是个独立的高斯随机变量,则Z的联合概率密度的最大似然函数可以表示为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><mi>Z</mi><mo>|</mo><mi>&theta;</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow><mrow><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow></mrow></msup><mi>exp</mi><mo>{</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><mi>GDS</mi><mo>)</mo></mrow><mi>T</mi></msup><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><mi>GDS</mi><mo>)</mo></mrow><mo>}</mo></mrow>]]></math><img file="FDA00005861489000000113.GIF" wi="1034" he="134" /></maths>其中<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>&theta;</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>&rho;</mi><mn>1</mn><mi>T</mi></msubsup></mtd><mtd><msubsup><mi>&rho;</mi><mn>2</mn><mi>T</mi></msubsup></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><msubsup><mi>&rho;</mi><mi>K</mi><mi>T</mi></msubsup></mtd><mtd><msub><mi>S</mi><mn>1</mn></msub></mtd><mtd><msub><mi>S</mi><mn>2</mn></msub></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><msub><mi>S</mi><mi>K</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000586148900000021.GIF" wi="588" he="89" /></maths>是未知参数,N是采样点数,ρ<sub>k</sub>是第k个信号源的位置,S<sub>k</sub>是第k个信号源的能量,求出使似然函数f(Z|θ)达到最大的θ值,等价于求出使l(θ)=||Z‑GDS||<sup>2</sup>达到最小值时的θ值,l(θ)是非线性最小二乘代价函数;步骤三,求代价函数在未知参数ρ<sub>k</sub>处的梯度:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mo>&dtri;</mo><msub><mi>&rho;</mi><mi>k</mi></msub></msub><mi>l</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow><mo>=</mo><mn>2</mn><msub><mi>S</mi><mi>k</mi></msub><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mfrac><msub><mi>g</mi><mi>i</mi></msub><msub><mi>&sigma;</mi><mi>i</mi></msub></mfrac><mrow><mo>(</mo><mfrac><mrow><msub><mi>&rho;</mi><mi>k</mi></msub><mo>-</mo><msub><mi>r</mi><mi>i</mi></msub></mrow><msubsup><mi>d</mi><mi>ik</mi><mn>4</mn></msubsup></mfrac><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>z</mi><mi>i</mi></msub><mo>-</mo><mfrac><msub><mi>g</mi><mi>i</mi></msub><msub><mi>&sigma;</mi><mi>i</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mfrac><msub><mi>S</mi><mi>k</mi></msub><msubsup><mi>d</mi><mi>ik</mi><mn>2</mn></msubsup></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000586148900000022.GIF" wi="956" he="166" /></maths>其中,S=(GD)<sup>+</sup>Z;步骤四,选取合适的时变步长:本发明通过对Sigmoid函数进行变换给出了基于Sigmoid函数的时变步长计算公式:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>u</mi><mrow><mo>(</mo><mi>K</mi><mo>)</mo></mrow><mo>=</mo><mi>&beta;</mi><mrow><mo>(</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mi>&alpha;</mi><mo>|</mo><mi>l</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mn>0.5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000586148900000023.GIF" wi="698" he="196" /></maths>其中参数α是控制函数的形状,参数β是控制函数的取值范围,可通过大量仿真得到,l(k)是第k次迭代时的非线性最小二乘代价函数;步骤五,在待测区域内,选定初始点ρ<sub>0</sub>,终止误差ε>0,给定最大迭代次数maxiter;步骤六,计算S=(GD)<sup>+</sup>Z,并代入到位置参数的梯度<img file="FDA0000586148900000024.GIF" wi="188" he="87" />中,按照步骤四的方法,得到时变步长的参数α,β,计算得到时变步长u(k),沿梯度方向进行搜索,令<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>&rho;</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>&rho;</mi><mi>k</mi></msub><mo>-</mo><msub><mi>u</mi><mi>k</mi></msub><msub><mo>&dtri;</mo><msub><mi>&rho;</mi><mi>k</mi></msub></msub><mi>l</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000586148900000025.GIF" wi="495" he="86" /></maths>步骤七,检验是否满足收敛准则,如果<img file="FDA0000586148900000028.GIF" wi="314" he="74" />或者迭代次数k>maxiter,则停止迭代,得到点<img file="FDA0000586148900000026.GIF" wi="230" he="84" />否则返回步骤六,迭代停止时得到的点<img file="FDA0000586148900000027.GIF" wi="56" he="77" />即为目标位置。
地址 710072 陕西省西安市友谊西路127号