1.74k likes | 1.97k Views
无线传感器网络. Wireless Sensor Networks ( WSNs ). 1. 无线传感器网络概述. 无线传感器网络通常由大量具有感知、计算及无线通信能力的微小节点组成,其目的是监视环境而非通信。 传感器节点部署在要监视的区域中,采集指定的环境参数,并将数据发送到汇聚节点供分析。. 传感器节点的组成. 传感器节点一般由传感模块、处理模块、无线通信模块和能量供应模块组成。 传感器节点已经可以做得非常小,称为智能尘埃( smart dust )。. 传感器节点的特点. 廉价:每个节点的期望价格在一美元左右 体积小:火柴盒或硬币般大小
E N D
无线传感器网络 Wireless Sensor Networks(WSNs)
1. 无线传感器网络概述 • 无线传感器网络通常由大量具有感知、计算及无线通信能力的微小节点组成,其目的是监视环境而非通信。 • 传感器节点部署在要监视的区域中,采集指定的环境参数,并将数据发送到汇聚节点供分析。
传感器节点的组成 • 传感器节点一般由传感模块、处理模块、无线通信模块和能量供应模块组成。 • 传感器节点已经可以做得非常小,称为智能尘埃(smart dust)。
传感器节点的特点 • 廉价:每个节点的期望价格在一美元左右 • 体积小:火柴盒或硬币般大小 • 重量轻:小于100克 • 能量有限:两节五号电池或纽扣电池供电 • 无线通信能力:能够用无线电、红外线、蓝牙、超声波等通信,带宽低,干扰大 • 计算能力:几百兆赫兹的处理器 • 存储能力:几兆或几百兆的存储空间 • 感知能力:具有一个或几个传感器 • 软件环境:TinyOS是专为传感器节点开发的操作系统
传感器网络的特点 • 节点固定或只有较小的活动性 • 数量大,密度高 • 拓扑动态变化 • 节点同构,或只有少量特殊节点; • 分布式:没有预先指定的中心,所有节点通过分布式算法相互协调; • 自组织:传感器网络的部署和初始化等不需要外界干预; • 节点资源受限,特别是能量非常有限; • 以数据为中心的网络,节点具有数据处理的能力; • 与应用紧密耦合的网络
传感器网络与移动自组网的不同 • 节点规模: • 移动自组网:节点数量通常在几十或上百 • 传感器网络:节点数目往往高出好几个数量级 • 节点密度: • 移动自组网:小 • 传感器网络:大(冗余部署的结果) • 拓扑变化的原因: • 移动自组网:节点运动 • 传感器网络:节点休眠调度、环境干扰或节点故障引起 • 节点处理能力: • 移动自组网:较强 • 传感器网络:十分有限
传感器网络的应用 • 传感器网络在环境监视方面的优势: • 通过在物理环境中部署大量廉价的智能传感器节点,可以获得长时间、近距离、高分辨率的环境数据,这是传统监视设备无法得到的。 • 传感器节点的计算和存储能力允许节点执行数据过滤、数据压缩等操作,也可以执行一些应用特定的处理任务。 • 节点之间的通信能力允许节点之间协同完成更复杂的任务,如目标跟踪。 • 通过任务的重新分配可以改变传感器网络的用途。
(1)监视红杉树的小气候[1] • 在一棵红杉树的不同位置安装无线气象站进行数据采集,如光辐射、温度、湿度、气压,形成森林气候一个样本。 • 可在森林的不同地方(如森林的中心处、迎风面、背风面、向阳面等)部署这样的传感器网络,然后利用长距离上行链路将数据发送到汇聚节点。
(2)监视地下结构的改变[2] • 将传感器节点固定放置在坑顶和坑壁上形成规则的网状网络(蜂窝状六边形),每个节点预先设置好位置,每个节点都知道自己的邻居集合,并定期与邻居交换信标。 • 当发生坍塌时,坍塌区域内的节点发生移位,在网络中形成空洞。当一个节点发现它的一些邻居突然消失时(收听不到信标),判断自己成为空洞的一个边界节点,向汇聚节点报告自己的位置。 • 汇聚节点计算空洞区域。
(3)人居环境监视[3] • 在一个标准的电源插线板上扩充了各种传感器和无线收发器,一个微处理器控制所有的部件,成为一个plug节点。 • 利用plug节点的多模式感知能力,可以较准确地推断发生的事件。 • 所有plug节点构成普适计算环境中的骨干网,可以了解到plug网络所在环境的活动情况
无线传感器网络要解决的问题 • 网络的自组织、自配置(节点定位、时间同步、自动校准、拓扑控制等) • 通信协议(MAC、路由协议) • 分布式数据管理(数据采集、存储、查询、获取等) • 各种应用特定的数据融合处理 • 节省能耗应贯穿到所有的设计中。
2. 节点定位 • 节点定位是传感器网络的重要基础功能,没有位置信息的环境数据是没有意义的。 • 手工为每个节点设定位置不可能, GPS定位系统无法大规模应用到传感器节点上。 • 传感器节点依靠相互之间的协作来确定各自物理位置的过程,称为节点定位。
节点定位算法的分类 • 绝对定位和相对定位: • 绝对定位:网络中存在已知位置的参考节点(锚节点),所有节点根据参考节点确定自己的位置,所有节点使用同一个坐标系。 • 相对定位:网络中不存在已知位置的参考节点,所有节点确定到其它节点的相对位置。 • 基于测距的定位和非基于测距的定位: • 基于测距的定位:借助于节点之间的距离信息或角度信息进行位置估计; • 非基于测距的定位:不需要或不直接测量节点之间的距离及角度信息。
衡量定位算法的性能指标 • 平均定位误差:待定位节点的估测位置到实际位置的平均距离。 • 可定位节点的比率 • 算法复杂度(计算、通信) • 收敛速度 • 健壮性
2.1 测距技术 • 大多数已有的位置发现方法由两个基本的阶段组成: • 距离(或角度)估计 • 距离(或角度)融合 • 估计两个节点间距离最常用的方法是: • 接收信号强度指示RSSI:根据接收到的信号强度计算路径损耗,再将路径损耗转换成距离。 • 基于时间的方法(ToA、TDoA):根据信号到达时间或两种信号的到达时间差估算距离。 • 到达角度AoA:估计信号的到达角度,用几何关系计算节点位置。
RSSI(Received Signal Strength Indicator) • 已知发射节点的发射功率,接收节点根据接收到的信号强度估算到发射节点的距离。 • 使用最广泛的信号传播模型是对数距离路径损耗模型,其中功率均用分贝表示: • 大量研究表明,在无线传感器网络中无法得到信号衰减与距离之间的一致模型,主要原因在于: • 环境的影响:多路径、衰落、遮蔽效应 • 天线高度 • 节点的发射功率未精确校准
TDoA(Time Difference of Arrival) • 发送节点同时发出射频及超声波两种信号,接收节点根据收到两种信号的时间差来估算距离。 • 特点: • 精度高 • 传输特性也受环境影响,但较易检测 • 超声传输距离短
AoA(Angle of Arrival)[5] • 通过阵列天线或多个接收器得到信号到达的方向。 • 图示的例子中同时使用到达信号的时间差(TDoA)和相位差: • 使用两个超声信号接收器,相距L放置; • 利用TDoA得到两个超声信号接收器到发送节点的距离x1和x2; • 利用x1、x2和L计算到发送节点的角度θ。
2.2 距离(角度)融合 • 距离(角度)融合常用的方法是: • 三边测量法(tri-lateration):通过计算3个圆的交点来定位节点。 • 三角测量法(triangulation):使用三角函数来计算节点位置。 • 最大似然估计法(Maximum Likelihood estimation):通过最小化测量距离和估计距离之间的差异来估计节点位置
三角测量转化为多边测量 • 知道参考节点A、B的位置及未知节点D到AB的角度,则D位于以O为圆心的圆周上,其中∠AOB = 2∠ADB。 • 对于每一对参考节点A、B,计算出O的位置和半径,列出圆方程,从而将三角测量问题转化为多边测量问题。
最大似然估计 • 位于(x0, y0)的待定位节点测得到N个参考节点的距离为d1~dN,若位置及距离是精确的,则有: • 在有噪声的环境下(位置或测距有误差),以上方程可能没有解(N个圆不交于一点),可采用最小均方估计来获得最佳的位置估计值:
线性化求解 • 将等式(2-1)的两边分别相加: • 将等式(2-1)减去等式(2-3),得到N个线性方程: • 以上方程组可以写为y=bX,其中b为 (x0,y0)T ,X为系数矩阵,y为常数矢量,则b=(XTX)-1XTy。
2.3 Ad-Hoc Localization System(AHLoS)[4] • AHLoS是一个基于TDoA和多边测量的定位算法,也称迭代多边测量法: • 参考节点向邻居节点广播自己的位置; • 未知节点测量到邻居参考节点的距离,若满足多边测量的条件(至少在3个参考节点的通信距离内),利用多边测量法估计自己的位置; • 一旦未知节点确定了自己的位置后,就成为新的参考节点,向其邻居节点广播自己的位置; • 这个过程不断重复,直至所有满足多边测量条件的未知节点都获得自己的位置。
原子多边测量 • 未知节点(x0,y0)到第i个参考节点的距离方程表示为: (xi-x0)2 + (yi-y0)2 = (stio)2 • 或 • 若有k个这样的方程,从其它方程中减去第k个方程,可得到以下线性方程:
该方程组可表示成y=bX的形式,并有b=(XTX)-1XTy,其中:该方程组可表示成y=bX的形式,并有b=(XTX)-1XTy,其中:
协同多边测量 • 原子多边测量需要满足的条件是: • 未知节点至少有3个参考节点邻居。 • 协同多边测量: • 未知节点利用距其多跳的参考节点位置估计自己的位置,同时可以估算出其它一些未知节点的位置。
协同多边测量的问题描述 • 将传感器网络抽象为一个连通的无向图G=(N, E),信标节点集合用B表示,未知节点集合用U表示,我们的目标是求解:
参与节点与参与节点对 • 定义1: • 一个节点是参与节点,如果它是一个参考节点,或者是一个至少有3个参与邻居的未知节点。 • 定义2: • 一个参与节点对是一对连通的参考节点-未知节点或未知节点-未知节点,其中所有未知节点均为参与节点。
2.4 不基于测距的(rang-free)定位算法 • 不基于测距的算法不需要知道待定位节点到参考节点的距离,或者不需要直接测量此距离,成本和功耗较低。 • 几种典型的不基于测距的定位算法: • 质心法(Centroid) • 几何约束法(Geomentic Consrain) • DV-HOP
(1)质心法[6] • 质心法基于以下两个假设: • 射频信号的传播遵循理想的圆球模型 • 所有节点的通信距离相等 • 网络中放置了固定数量、通信区域相重叠的一组参考节点,这些参考节点构成规则的网状结构。
质心法(续) • 参考节点周期性地发送包含自射位置信息的信标消息; • 未知节点在一个给定的时间间隔t内接收信标消息,对于每个参考节点Ri,统计在该时间内收到的信标消息数Nrecv(i,t),计算对应的连接测度CMi : CMi = Nrecv(i,t) / Nsent(i,t) ×100% • 未知节点选择连接测度大于指定阈值的参考节点(设为k个),计算这些参考节点的质心作为自己的位置估计值:
(2)几何约束法[7] • 每个节点的信号覆盖范围可以用一个几何形状来表示
几何约束法(续) • 对于每个听到的参考节点,待定位节点计算这些参考节点信号覆盖范围的重叠区域。
几何约束法(续) • 计算包含重叠区域的最小矩形,矩形的中心作为节点的位置估计值。
(3)基于DV的定位算法[8] • 如何在参考节点稀疏的网络中进行节点定位? • 基本思想: • 参考节点附近的节点通过直接测量 的方法获得到参考节点的距离,传播给其邻居节点; • 邻居节点据此估计自己到参考节点的距离,再传播给其邻居;依次类推。 • 类似于距离矢量路由算法中的距离传播,因此称这一类方法为基于DV的方法。
DV-HOP传播模式 • 参考节点向其邻居广播信标消息,所有节点维护到每个参考节点的最小跳数,并与邻居节点交换各自的距离矢量表。 • 参考节点利用其它参考节点的位置及自己到这些参考节点的最小跳数计算每跳平均距离,发布到网络中。 • 未知节点根据其最近的参考节点发布的平均每跳距离,计算到各个参考节点的距离,使用多边测量法估计自己的位置。
DV-Distance传播模式 • 类似于DV-HOP,但该算法传播的是累计距离,而非累计跳数。 • 该方法比DV-HOP精确一些,但对测距误差很敏感。
Euclidean传播模式 • 该方法传播到参考节点的物理距离。 • 未知节点A至少要有两个邻居B和C,且B和C都有到参考节点L的物理距离估计,另外A测量到B和C的距离,且必须知道距离BC。这样A可以计算距离AL。
2.5 安全定位 • 大多数通用的定位算法未考虑安全问题,在出现距离或位置欺骗的情况下,无法正确定位。 • 已有的一些安全定位算法通用性较差,只能对付一种或几种特定的攻击。 • 问题: • 能否找到一种统一的方法来抵御所有的节点定位攻击?
从统计的角度看节点定位问题[11] • 各种攻击手段最终都是要欺骗未知节点得到错误的参考位置、距离、角度等信息。 • 节点出现异常、局部环境干扰等因素也会导致未知节点获得错误信息。 • 正常节点产生的测量样本也是有误差的。 • 如果将错误及误差都看成噪声,未知节点的任务就是要根据给定的一组有噪声样本进行尽可能准确的位置估计。 • 这样,我们就将应对定位攻击、节点异常和环境干扰的问题统一转化为在测量样本集中去除大噪声样本的问题。
问题描述 • 由未知节点和若干参考节点组成的传感器网络中,每个节点可以通过某种测距技术获得到参考节点的距离。(AoA可以转化为多边测量问题) • 为简单起见,假设参考节点的位置可能受到攻击,距离信息未受到攻击(只有测量误差)。 • 在(x0,y0)的未知节点收到N个参考节点的位置及相应的距离{(x1,y1,d1),…,(xN, yN, dN)},未知节点估计自己的位置。
双边测量法Bilateration • 每次只计算两个方程,一般可得到两个实数解。
Bilateration的基本思想 • 每次只计算两个方程,得到的实数解为未知节点可能的位置,称候选位置。 • 如果不存在攻击和噪声,侯选位置中应当会有一些重叠的点,这个点便是未知节点的位置。 • 当存在攻击或噪声时,可能没有重合点,但是在误差范围有限的情况下,由正常样本产生的合理位置应当分布在真实位置的附近,因而这些位置相互靠近。 • Bilateration的基本思想是找出合理位置,并只利用合理位置来进行位置估计,方法是找出最大的侯选位置簇。
Bilateration的算法过程 • 未知节点对于获得的每对测量样本计算候选位置,得到包含M个候选位置的集合C。 • 对于C中的每一个候选位置ci计算到其它候选位置的距离,找到距离小于门限δ的候选位置,统计其个数ni,并记录相应的候选位置集合Ei。 • 找到{ni}中的最大值nm,Em即为最大的候选位置簇,计算这些位置的质心即为未知节点的位置。
Bilateration的算法过程(续) • 更精确一些,可以根据Em找到生成这些候选位置的参考节点,赋权值1,弃用的参考节点赋权值-1,与邻居交换权值表。 • 从收集到的所有权值表中选出共同的参考节点,将它们的权值相加,权值小于平均值的参考节点弃用,将其生成的侯选位置从Em中删除。 • 将Em中剩余的候选位置求平均,作为未知节点的位置估计。