基于等边三角形模型的RSSI加权测距方法与流程

文档序号:11882736阅读:403来源:国知局
基于等边三角形模型的RSSI加权测距方法与流程

本发明涉及无线传感器网络室内定位技术,特别涉及基于等边三角形模型的RSSI加权测距方法。



背景技术:

无线传感器网络(Wireless Sensor Network,简称WSN)是一种集成了包括传感器技术、微机电系统技术、无线通信技术以及分布式信息处理技术的新型网络技术。它是由传感器节点之间的协作,对节点部署区域内的环境或者对象进行实时感知、数据采集和以及数据分析处理等操作,并将处理过后的信息以无线电的形式发送,以自组多跳的网络方式传送到对此感兴趣的网络终端用户。WSN具有多种无可比拟的优点:可靠性高、灵活性强、有自组织能力、能够随机分布、不需要有线网络的支持。无线传感器网络具有种类繁多的无线传感器,它们可以为我们探测到我们周边环境中多种多样有趣的现象,例如电磁、温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等,而基于MEMS的微传感技术以及无线联网技术更为无线传感器网络赋予了更加广泛的应用前景和更为强大的生命力,这些潜在的应用领域可以归纳为:军事、航空、反恐、防爆、救灾、环境、医疗、保健、家居、工业、商业等领域。可以说,它正逐渐成为我们生活中不可分割的一部分。

室内定位可以说是无线传感器网络的又一重要的应用领域。随着智能手机的普及和移动互联网的发展,地图类与导航类的应用软件正在进入一个新的时代——室内定位导航时代。近些年来,包括一些科技巨头,如谷歌、微软、苹果、博通等,以及一些世界知名的大学,如耶鲁大学、哈佛大学等,它们都在研究室内定位技术。可以这么讲,室内定位技术的商业化必然会带来一波新的创新高潮,各种基于此技术的应用将出现在我们的面前,其影响和规模绝不会亚于GPS。

WSN与我们周围的环境息息相关。WSN由监测区域内许多传感器节点组成,感知到的信息需要与传感器节点的位置信息结合起来才能为观察者提供更加准确的数据信息。另外,WSN的跟踪算法、地理路由协议等都需要节点的位置信息。没有传感器节点的位置信息,感知数据不会准确。所以,如果要使节点能够正常的工作和测量数据,就不能缺失其位置信息。每一个节点需要知道其邻居节点的身份和位置以支持数据处理和协同工作。根据节点位置是否确定,传感器节点可大致分为信标节点(或锚节点)和未知节点两种。当锚节点的位置信息确定时,未知节点就可以通过锚节点按照某种定位算法的计算得出其位置信息。

尽管基于RSSI的测距算法与基于到达时间(ToA)的测距技术、基于到达时间差(TDoA)的测距技术相比有着明显的优点,但这种算法也有缺点。在实际应用中,大多数室内定位都在封闭或者半封闭的空间里,反射、多径、室内墙壁和障碍物阻挡等多种环境因素的干扰影响下,RSSI值会出现很大的不稳定,而这些RSSI值的偏差会对未知节点的定位计算带来很大的影响。长期以来,这都是基于RSSI定位精度不高的主要原因,如何解决这一问题是提高基于RSSI室内定位的精度的关键。



技术实现要素:

为了克服现有技术的上述缺点与不足,本发明的目的在于提供一种基于等边三角形模型的RSSI加权测距方法,减少确定因素所造成的不确定误差,提高了定位精度。

本发明的目的通过以下技术方案实现:

基于等边三角形模型的RSSI加权测距方法,包括以下步骤:

(1)初始化锚节点的网络模型;所述锚节点的部署采用等边三角形模型;

(2)未知节点周期性发送自身信息;

(3)各锚节点在收到信息后,记录同一个未知节点的RSSI测量值,并将记录到对应的RSSI数组Xn中;

(4)重复步骤(3)多次;

(5)对任一个锚节点对应的RSSI数组Xn,进行以下操作:对RSSI数组Xn中的RSSI测量值采用高斯分布函数进行筛选,将高斯分布函数值大于设定临界点的RSSI测量值存放到数组Xsum中;

对数组Xsum中的RSSI测量值进行加权平均,得出的RSSI优化值为:

<mrow> <mi>R</mi> <mi>S</mi> <mi>S</mi> <mi>I</mi> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <mi>X</mi> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>*</mo> <mi>f</mi> <mo>(</mo> <mrow> <mi>X</mi> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mi>n</mi> </mfrac> </mrow>

其中,n为数组Xsum中的RSSI测量值的个数;

Xsum(i)为数组Xsum中的第i个RSSI测量值,1≤i≤n;

f(Xsum(i))为Xsum(i)的值在数组Xsum中的出现概率;

(6)各锚节点将步骤(5)中得到的RSSI优化值传给基站,由基站根据RSSI优化值计算得到未知节点的坐标。

步骤(1)所述等边三角形模型为修正的等边三角形模型,具体为:

在网络模型中缺少锚节点的边缘区域中,在锚节点相距最长的边的中点部署一个边缘修正锚节点;所述边缘修正锚节点的发射功率低于其他锚节点。

所述边缘修正锚节点的发射功率为其他锚节点的75%。

步骤(5)所述临界点为0.6。

步骤(6)所述由基站根据RSSI优化值计算得到未知节点的坐标,具体为:由基站根据RSSI优化值,采用三边质心定位的方法计算得到未知节点的坐标。

采用三边质心定位的方法计算得到未知节点的坐标,具体为:

采用冒泡法将各锚节点的RSSI优化值进行排序,取最大的三个RSSI优化值,获取三个RSSI优化值对应的锚节点的坐标A(x1,y1),B(x2,y2),C(x3,y3),计算未知节点到三个锚节点的距离dA、dB、dC,,以A、B、C为圆心、dA、dB、dC为半径作圆,求出这3个圆的交点;若交于一点则该点就是未知节点的坐标;若解得3个圆的交点不重合,那么以这3个交点作出一个三角形,计算它的质心坐标,质心坐标即为未知节点坐标。

与现有技术相比,本发明具有以下优点和有益效果:

(1)现有技术中,当未知节点靠近三角形区域的某条边界线上时,除了边界线上的两锚节点外,还出现了有两个影响相近的锚节点对该定位节点起作用,从而可能使定位结果不断变化。本发明根据高斯分布提出赋予各个RSSI权重并进行均值计算的RSSI加权均值算法,很好地解决了该问题。减少了由于墙壁、各种固定或移动的障碍物(如人)、多径、绕射等不确定因素所造成的不确定误差。

(2)本发明结合高斯分布分析RSSI分布模型,得出合适的RSSI值稳定有效区域,可以有效筛选RSSI大概率结果,减小RSSI随机误差。

(3)本发明优先使用RSSI值最大的节点作为定位节点,并通过三边质心定位算法的定位方案,求出未知节点的坐标,本发明的方法优化计算量与定位精度,减少定位时间,在一定程度上降低网络能耗,延长了网络生命周期。

(4)现有技术中,当未知节点位于边缘区域时,节点将缺少一个必要的锚节点用于定位,本发明提出锚节点的修正等边三角形布置模型解决了该问题。本发明在边缘区域添加一个必要的锚节点用于定位减少多个定位节点的干扰,提高了定位精度。

附图说明

图1为本发明的实施例的基于等边三角形模型的RSSI加权测距方法的流程图。

图2为本发明的实施例的修正的等边三角形模型示意图。

图3为本发明的实施例的修正等边三角形模型定位结果。

图4为传统正方形模型定位结果。

图5为修正等边三角形模型和传统正方形模型定位误差比较。

图6为采取传统均值算法定位结果。

图7为采取传统均值算法定位结果。

图8为传统均值算法和传统均值算法的误差比较。

具体实施方式

下面结合实施例,对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例

如图1所示,本实施例的基于等边三角形模型的RSSI加权测距方法,包括以下步骤:

(1)初始化锚节点的网络模型;所述锚节点的部署采用等边三角形模型;

等边三角形模型为修正的等边三角形模型,如图2所示:在网络模型中缺少锚节点的边缘区域中(如△ABC),在锚节点相距最长的边的中点部署一个边缘修正锚节点(如AC中点D);所述边缘修正锚节点的发射功率为其他锚节点的75%。

(2)未知节点周期性发送自身信息;

(3)各锚节点在收到信息后,记录同一个未知节点的RSSI测量值,并将记录到对应的RSSI数组Xn中;

(4)重复步骤(3)20次;

(5)对任一个锚节点对应的RSSI数组Xn,进行以下操作:对RSSI数组Xn中的RSSI测量值采用高斯分布函数进行筛选,将高斯分布函数值大于设定临界点的RSSI测量值存放到数组Xsum中;

高斯分布:正态分布(Normal distribution)是一种概率分布,表达式为

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <msqrt> <mrow> <mn>2</mn> <mi>&pi;</mi> </mrow> </msqrt> <mi>&sigma;</mi> </mrow> </mfrac> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mfrac> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> </mrow> </msup> </mrow>

<mrow> <mi>&mu;</mi> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>X</mi> <mi>i</mi> </msub> </mrow> <mi>n</mi> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>X</mi> <mn>2</mn> </msub> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msub> <mi>X</mi> <mi>n</mi> </msub> </mrow> <mi>n</mi> </mfrac> </mrow>

<mrow> <mi>&sigma;</mi> <mn>2</mn> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> </mrow>

正态分布是具有两个参数μ和σ2的连续型随机变量的分布,第一参数μ是遵从正态分布的随机变量的均值,第二个参数σ2是此随机变量的方差,所以正态分布记作N(μ,σ2)。遵从正态分布的随机变量的概率规律为取μ邻近的值的概率大,而取离μ越远的值的概率越小;σ越小,分布越集中在μ附近,σ越大,分布越分散。

利用高斯分布处理数据的原则是:一个锚节点在同一位置可能接收到同一个未知节点发射的n个RSSI,其中必然存在着很多小概率事件。通过高斯模型选取高概率发生区域内的RSSI值,然后再取其几何均值,这种做法减少了一些小概率、大干扰事件对整体测量的影响,增强了定位信息的准确性。

本实施例中的选择0.68为临界点,即当高斯分布函数值大于0.68时认为对应的RSSI值为高概率发生值;小于或等于0.68对应的RSSI值认为是小概率随机事件。通过高斯模型选取高概率发生区域内的RSSI值,然后再取其几何均值,这种做法减少了一些小概率、大干扰事件对整体测量的影响,增强了定位信息的准确性。

对数组Xsum中的RSSI测量值进行加权平均,得出的RSSI优化值为:

<mrow> <mi>R</mi> <mi>S</mi> <mi>S</mi> <mi>I</mi> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <mi>X</mi> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>*</mo> <mi>f</mi> <mo>(</mo> <mrow> <mi>X</mi> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mi>n</mi> </mfrac> </mrow>

其中,n为数组Xsum中的RSSI测量值的个数;

Xsum(i)为数组Xsum中的第i个RSSI测量值,1≤i≤n;

f(Xsum(i))为Xsum(i)的值在数组Xsum中的出现概率;

(6)各锚节点将步骤(5)中得到的RSSI优化值传给基站,由基站根据RSSI优化值,计算得到未知节点的坐标:

采用冒泡法将各锚节点的RSSI优化值进行排序,取最大的三个RSSI优化值,获取三个RSSI优化值对应的锚节点的坐标A(x1,y1),B(x2,y2),C(x3,y3),计算未知节点到三个锚节点的距离dA、dB、dC,,以A、B、C为圆心、dA、dB、dC为半径作圆,求出这3个圆的交点;若交于一点则该点就是未知节点的坐标;若解得3个圆的交点不重合,那么以这3个交点作出一个三角形,计算它的质心坐标,质心坐标即为未知节点坐标。若求出的未知节点坐标存在有虚数的情况,那么就对其采取求实部的步骤,得出的结果就是未知节点的坐标;

对本实施例的基于等边三角形模型的RSSI加权测距方法进行仿真分析,结果如下:

(1)参数初始化

表1 实验前的参数初始化

(2)传统正方形模型、修正等边三角形模型对比

在传统正方形部署方案中,正方形以边长为4m部署锚节点,在三角形修正部署方案中,三角形边长为4m部署节点,则两个方案中均采用8*8平面作为仿真平面。锚节点布置坐标如下:

表2 仿真传统正方形模型、修正等边三角形模型中锚节点坐标

置锚节点完毕后,将对本文提出的修正等边三角形模型与传统的正方形模型进行比较,测试点为20个,仿真结果如图3~4所示。由图可以看到,尽管排除了有小概率、大误差的事件,使用传统的正方形模型定位的定位结果依然能够出现较大误差的情况,原因是有多个对影响相似的锚节点对定位结果产生影响,造成较大的误差;相比之下,本文使用的等边三角形模型则通过减少影响相似的锚节点的数目的部署,从而改善此方面的误差情况,达到较好的定位效果。

根据仿真的结果分析计算,得到两种算法的定位误差得到如图5所示。可以看到,本文使用的修正三角形模型与传统正方形模型相比,稳定性更好,减少了多个锚节点对定位结果的影响,这样就可以保证定位过程中定位结果不会发生较大的偏差,从而能够提高定位的精准度。初此之外,使用修正三角形模型的定位结果使平均定位误差得到了减小,精度有所提高。

(3)传统均值算法与加强均值算法对比

本次仿真使用8*7的平面,均使用修正等边三角形模型布置锚节点,三角形边长为4m,总共需要10个锚节点。锚节点布置坐标如下:

表3 仿真传统均值算法与加强均值算法对比的锚节点布置坐标

布置锚节点完毕后,将对本文提出的加权均值算法与传统的均值算法进行比较,测试点为20个,仿真结果如图6~7所示。由图可以看出,本文采取的加权均值算法比传统的均值算法具有更好的精度。此外,在计算量上,加权均值算法比传统的均值算法在相同精度的条件下,需要采集的RSSI值次数更少,有利于缩短定位时间,降低能耗。

通过测试数据我们也可以观察两种算法的定位性能比较。20次的定位效果如表4,分别为传统均值算法定位结果和加权平均算法定位结果。

表4 仿真两种定位算法定位结果(单位m)

观察上表可以发现,传统均值算法的定位结果与真实坐标的误差较为明显,说明该算法容易受到随机发生的小概率事件的影响,而加权均值算法在这方面则做得比较好,虽然其仍然存在有一定的误差,但是从结果可以看出,该算法减少了小概率随机事件的出现的概率,同时对位置变化的反应也比传统均值算法要敏感。根据上表的结果计算得出两种算法的定位误差如图8。由图可以看出,采用本文提出的加权均值定位算法相对于传统均值算法,平均定位误差得到了减小,精度有所提高。经过多次试验证明,在间隔4m左右的锚节点部署下,该定位算法可以使节点定位的误差大都维持在0.1到0.2m附近,有的甚至少于0.lm。同时由上图还可以看出,加权均值算法定位误差相比传统均值算法较为稳定,这样就可以保证定位过程中定位结果不会发生较大的偏差,从而能够提高定位的精准度。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1