传感器网络的应用层技术

  基于测距的定位技术是通过测量节点之间的距离,然后在多条距离的基础上经过数学计算得到节点所在的位置。测量距离可以通过RSSI或ToA/TDoA获得。RSSI指的是接收信号强度指示,通过测量接收射频信号的能量高低来判断与发送节点之间的距离,但是精度不会很高。ToA/TDoA指的是到达时间/到达时间差技术,ToA与TDoA这是2种不同的技术,但都是通过传输时间来估算两节点之间的距离,精度较高,不过由于无线信号传输速度快只要有一点时间误差就会造成很大的误差。ToA是已知传输速度与传输时间,根据这2个条件得到距离。TDoA则是同时发送两个不同速度的信号,根据这两种信号的传输速度以及到达的时间差得到距离。得到距离后有多边定位方法和Min-Max定位方法,多边定位就是得到多个锚点到一个目标节点的距离,有了距离后可以以锚点为圆心画圆,这些圆之间的交点便是目标节点了。多边定位解方程会有浮点运算,因此计算代价高。Min-Max定位则是根据锚点位置到目标节点的距离创建正方形而不是圆了,这些正方形相交后可以得到一个最小范围的矩形,取这个矩形的质心就可以了,这样比较简单但是定位精度没有多边定位高。

  无需测距定位技术是根据网络的连通性确定网络节点之间的跳数,通过给跳数设置一个大致距离然后用跳数乘以跳数距离就可以了。显然这种方式精度不高,不过它的优点是开销小比较节能。无需测距定位有2种算法,一种是质心算法,锚点会广播自己的坐标位置信息,这样当目标节点收到这些信息后会根据这些信息缩小为一个形状比较规则的多边形,然后以这个多边形中的锚点计算出质心,就是将所有x坐标相加然后取平均值,对y坐标也做同样的处理,然后就这么简单粗糙的得道目标节点的位置信息了。还有一种是DV-Hop算法,也不是很靠谱的一个算法。它会根据锚点与锚点之间的距离以及跳数计算出一个一个跳数的大概距离,然后再使用多边定位或Min-Max进行定位。

  3.数据融合

  数据融合在传感器网络中非常重要,它的最本质作用有3点:节省网络的能量、提高精确度、提高收集数据的效率。传感器网络部署时往往是大量的投放传感器到目标区域,因为单个传感器监测能力有限故要使传感器达到一定的密度才能满足需求,这样会增强整个网络的健壮性以及准确性。可是缺点也显而易见,多个传感器节点可能会在某个区域比较集中而导致冗余。这个时候数据融合可以在中间节点进行转发时对数据进行去冗余,已经有实验表明传感器发送一个比特消耗的能量远远大于执行一条指令所消耗的能量,从而进行数据融合可将网络消耗降到最低,这就是节能的作用; 受到成本和体积的限制,节点的功能往往不会很强大,所以需要大量的节点来进行探测,当节点很多时如果所有信息最后放到汇聚节点进行总结由于会有很多数据是有大误差的,从而造成了最终结果的误差。如果在一个小型区域里进行融合,由于节点之间数据比较相近,因此对于有较大误差的数据可以直接删除从而提高精确度; 在内部进行数据融合的话,可以减少数据传输量、减轻网络拥塞、降低数据延迟,这样的话传感器节点可以花更多精力去采集数据从而提高数据收集效率。

  数据融合可分为无损失融合和有损失融合。无损失融合指的是所有细节都被保留只去掉冗余部分信息,它只是缩减了分组头部的长度和控制开销,具体的数据仍然不会改变。比如要实时的采集一个房间的温度信息,汇报节点收到多个数据后如果数据相同则只是选择时间最新的数据进行汇报,即只修改头部的时间信息,而数据不变。有损失融合指的是丢弃一些细节信息从而减少需要存储或传输的数据量,比如要得到一个房间的最低温度,可以对某一区域的汇报节点收到的数据取最小值,而其他数据则将丢弃。此外还有许多分类的方式这里就不介绍了。

  4.能量管理

  传感器网络能源管理主要体现在传感器节点电源管理和节能通信协议2个方面。传感器节点通常有4个部分:处理器单元、无线传输单元、传感器单元、电源管理单元。传感器单元的能耗与应用的复杂度有关,不过它的能耗与无线传输单元相比还是很低的几乎可以忽略。处理器损耗和无线传输是需要考虑电源管理的部分,处理器部分主要是硬件方面的改进,我关心的是无线传输部分的损耗。无线传输部分包含整个传输过程,所以应该从各层协议开始就尽可能的降低能耗。传感器网络协议栈的核心部分是数据链路层和网络层。数据链路层控制相邻节点之间使用无线信道的方式,决定着节点的发送、接收、侦听、睡眠状态。其中采用侦听/睡眠机制可以很好的节能。网络层负责选择最佳的路由进行数据传输,转发数据需要消耗能量且随着通信距离的增大会导致能耗的急剧增高。而且当节点发送数据给另一个节点,采用短距离多跳的方式比长距离单跳消耗的能量更少,因此选择合适的路由非常非常重要。在应用层方面,由上面的介绍知道有数据融合进行节能。