发明名称 一种基于RSSI的近距离精确定位方法
摘要 本发明涉及一种基于RSSI的近距离精确定位方法。当前的基于RSSI定位方法误差较大,不满足高精度的要求。本发明首先进行参数标定,得到RSSI到距离的映射系统,达到精确测距的目的。接下来就要完成测距的后续工作:利用未知节点与多个不同信标节点的距离数据进行未知节点的精确定位。本发明适用于多遮挡环境,具有理想的定位精度。
申请公布号 CN104036136A 申请公布日期 2014.09.10
申请号 CN201410256215.X 申请日期 2014.06.10
申请人 杭州电子科技大学 发明人 曾虹;戴国骏;朱金成
分类号 G06F19/00(2011.01)I;G01S5/10(2006.01)I 主分类号 G06F19/00(2011.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种基于RSSI的近距离精确定位方法,其特征在于该方法首先进行参数的标定,然后再进行定位:参数标定具体是:第1步:固定低频基站位置和发射功率,依次分别选取等间隔距离的信号接收位置,d<sub>i</sub>距离测量出对应的接收信号强度值p<sub>i</sub>,如此便获得了n组(d<sub>i</sub>,p<sub>i</sub>),设d<sub>i</sub><d<sub>i+1</sub>,此时便可将d<sub>i</sub>距离时的参数k、α与d<sub>i+1</sub>时的看成近似相等;第2步:对于(d<sub>1</sub>,p<sub>1</sub>),(d<sub>2</sub>,p<sub>2</sub>)有方程组<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>d</mi><mn>1</mn></msub><mo>=</mo><msup><mrow><mo>(</mo><mfrac><mi>k</mi><msub><mi>p</mi><mn>1</mn></msub></mfrac><mo>)</mo></mrow><mfrac><mn>1</mn><mi>&alpha;</mi></mfrac></msup></mtd></mtr><mtr><mtd><msub><mi>d</mi><mn>2</mn></msub><mo>=</mo><msup><mrow><mo>(</mo><mfrac><mi>k</mi><msub><mi>p</mi><mn>2</mn></msub></mfrac><mo>)</mo></mrow><mfrac><mn>1</mn><mi>&alpha;</mi></mfrac></msup></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000518513210000011.GIF" wi="264" he="315" /></maths>由方程组可计算出k和α值,记为k<sub>1,2</sub>,α<sub>1,2</sub>;同理对于(d<sub>i‑1</sub>,p<sub>i‑1</sub>),(d<sub>i</sub>,p<sub>i</sub>)有方程组<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>d</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>=</mo><msup><mrow><mo>(</mo><mfrac><mi>k</mi><msub><mi>p</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub></mfrac><mo>)</mo></mrow><mfrac><mn>1</mn><mi>&alpha;</mi></mfrac></msup></mtd></mtr><mtr><mtd><msub><mi>d</mi><mi>i</mi></msub><mo>=</mo><msup><mrow><mo>(</mo><mfrac><mi>k</mi><msub><mi>p</mi><mi>i</mi></msub></mfrac><mo>)</mo></mrow><mfrac><mn>1</mn><mi>&alpha;</mi></mfrac></msup></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000518513210000012.GIF" wi="306" he="315" /></maths>可计算出k<sub>i‑1,i</sub>,α<sub>i‑1,i</sub>;如此便可获得k<sub>1,2</sub>,k<sub>2,3</sub>,…k<sub>i‑1,i</sub>…,k<sub>n‑1,n</sub>和α<sub>1,2</sub>,α<sub>2,3</sub>,…α<sub>i‑1,i</sub>…,α<sub>n‑1,n</sub>;第3步:令<img file="FDA0000518513210000013.GIF" wi="352" he="111" />此时组成n‑1对二元组(p<sub>i‑1,i</sub>,k<sub>i‑1,i</sub>)和(p<sub>i‑1,i</sub>,α<sub>i‑1,i</sub>),i=2,…,n;第4步:利用多项式拟合出函数映射k(p):p→k,α(p):p→α;代入公式<img file="FDA0000518513210000014.GIF" wi="259" he="139" />得到距离值d关于p的解析式<img file="FDA0000518513210000015.GIF" wi="326" he="166" />通过以上可得到RSSI到距离的映射系统,达到精确测距的目的;接下来就要完成测距的后续工作:利用未知节点与多个不同信标节点的距离数据进行未知节点的精确定位,具体是:(1)采用与标定时完全相同的N个低频基站B<sub>1</sub>,B<sub>2</sub>,B<sub>3</sub>,…,B<sub>N</sub>作为信标节点;建立空间直角坐标系Oxyz,信标节点在Oxyz下三维坐标依次为B<sub>1</sub>(x<sub>1</sub>,y<sub>1</sub>,z<sub>1</sub>),B<sub>2</sub>(x<sub>2</sub>,y<sub>2</sub>,z<sub>2</sub>),B<sub>3</sub>(x<sub>3</sub>,y<sub>3</sub>,z<sub>3</sub>),…,B<sub>N</sub>(x<sub>N</sub>,y<sub>N</sub>,z<sub>N</sub>);依次开启第i个低频基站发射低频信号,测得未知节点接收到的接收信号强度为P<sub>i</sub>,根据公式<img file="FDA0000518513210000021.GIF" wi="308" he="150" />计算出距离d<sub>i</sub>;(2)于是,得到N个距离值d<sub>1</sub>,d<sub>2</sub>,d<sub>3</sub>,…,d<sub>N</sub>和N个接收信号强度P<sub>1</sub>,P<sub>2</sub>,P<sub>3</sub>,…,P<sub>N</sub>;即这N个距离值分别对应N个低频基站B<sub>1</sub>,B<sub>2</sub>,B<sub>3</sub>,…,B<sub>n</sub>发射信号在未知节点处的接收信号强度;(3)从d<sub>1</sub>,d<sub>2</sub>,d<sub>3</sub>,…,d<sub>N</sub>中挑选出4个距离值,一共有<img file="FDA0000518513210000028.GIF" wi="80" he="84" />种挑选方案,依次编号为<img file="FDA0000518513210000029.GIF" wi="407" he="79" />假设其中某一编号<img file="FDA00005185132100000210.GIF" wi="401" he="87" />方案中的4个距离值为d<sub>m1</sub>,d<sub>m2</sub>,d<sub>m3</sub>,d<sub>m4</sub>,其中1≤d<sub>m1</sub><d<sub>m2</sub><d<sub>m3</sub><d<sub>m4</sub>≤N,对应的三个低频基站记为B<sub>m1</sub>(x<sub>m1</sub>,y<sub>m1</sub>,z<sub>m1</sub>),B<sub>m2</sub>(x<sub>m2</sub>,y<sub>m2</sub>,z<sub>m2</sub>),B<sub>m3</sub>(x<sub>m3</sub>,y<sub>m3</sub>,z<sub>m3</sub>),B<sub>m4</sub>(x<sub>m4</sub>,y<sub>m4</sub>,z<sub>m4</sub>);假设未知节点在Oxyz下的三维坐标为(x<sub>m</sub>,y<sub>m</sub>,z<sub>m</sub>),得到方程组<maths num="0003" id="cmaths0003"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>m</mi></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>m</mi></msub><mo>-</mo><msub><mi>z</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><msub><mi>d</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mn>2</mn></msup></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>m</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>m</mi></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>m</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>m</mi></msub><mo>-</mo><msub><mi>z</mi><mrow><mi>m</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><msub><mi>d</mi><mrow><mi>m</mi><mn>2</mn></mrow></msub><mn>2</mn></msup></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>m</mi><mn>3</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>m</mi></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>m</mi><mn>3</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>m</mi></msub><mo>-</mo><msub><mi>z</mi><mrow><mi>m</mi><mn>3</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><msub><mi>d</mi><mrow><mi>m</mi><mn>3</mn></mrow></msub><mn>2</mn></msup></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>m</mi><mn>4</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>m</mi></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>m</mi><mn>4</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>m</mi></msub><mo>-</mo><msub><mi>z</mi><mrow><mi>m</mi><mn>4</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><msub><mi>d</mi><mrow><mi>m</mi><mn>4</mn></mrow></msub><mn>2</mn></msup></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000518513210000022.GIF" wi="1078" he="387" /></maths>为简化计算,将非线性方程组后面每个等式减去第一个等式得到3*3线性方程组,解线性方程组计算出(x<sub>m</sub>,y<sub>m</sub>,z<sub>m</sub>);(4)对应不同的m得到<img file="FDA0000518513210000023.GIF" wi="84" he="88" />个未知节点的三维坐标估算值<img file="FDA0000518513210000024.GIF" wi="266" he="78" /><img file="FDA0000518513210000025.GIF" wi="1521" he="99" />(5)采用近似的高斯滤波算法对获得的<img file="FDA0000518513210000026.GIF" wi="72" he="88" />个三维坐标估算值进行滤波;方法如下:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>u</mi><mo>=</mo><mfrac><mn>1</mn><msubsup><mi>C</mi><mi>N</mi><mn>4</mn></msubsup></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msubsup><mi>C</mi><mi>N</mi><mn>4</mn></msubsup></munderover><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>,</mo><msub><mi>z</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>&sigma;</mi><mo>=</mo><msqrt><mfrac><mn>1</mn><msubsup><mi>C</mi><mi>N</mi><mn>4</mn></msubsup></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msubsup><mi>C</mi><mi>N</mi><mn>4</mn></msubsup></munderover><msup><mrow><mo>|</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>,</mo><msub><mi>z</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>u</mi><mo>|</mo></mrow><mn>2</mn></msup></msqrt><mo>,</mo></mrow>]]></math><img file="FDA0000518513210000027.GIF" wi="1223" he="198" /></maths>其中u为期望,σ为标准差,且此处对三维坐标的运算视作对坐标各元素的运算;以|(x<sub>i</sub>,y<sub>i</sub>,z<sub>i</sub>)‑u|≤1.2σ的值域为区间筛选所有的三维坐标估算值(x<sub>i</sub>,y<sub>i</sub>,z<sub>i</sub>);将筛选后的坐标点再次采用近似高斯滤波同样处理;对第二次筛选后的坐标点进行均值处理,最终得到未知节点的三维坐标值(x,y,z)。
地址 310018 浙江省杭州市下沙高教园区2号大街