汇聚树协议的多信道通信算法研究

上传人:小** 文档编号:34149856 上传时间:2018-02-21 格式:DOC 页数:8 大小:85KB
返回 下载 相关 举报
汇聚树协议的多信道通信算法研究_第1页
第1页 / 共8页
汇聚树协议的多信道通信算法研究_第2页
第2页 / 共8页
汇聚树协议的多信道通信算法研究_第3页
第3页 / 共8页
汇聚树协议的多信道通信算法研究_第4页
第4页 / 共8页
汇聚树协议的多信道通信算法研究_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《汇聚树协议的多信道通信算法研究》由会员分享,可在线阅读,更多相关《汇聚树协议的多信道通信算法研究(8页珍藏版)》请在金锄头文库上搜索。

1、汇聚树协议的多信道通信算法研究 李胜 施伟斌 上海理工大学光电信息与计算机工程学院 摘 要: 汇聚树协议 (CTP) 是无线传感器网络操作系统 TinyOS 中实现的一种基于单信道通信的路由协议。由于 WIFI (802.11b/g) 与 WSN 都工作在 2.4GHz 频段, 使二者信道产生冲突, 造成 WSN 通信效率降低。为了避开 WIFI 干扰, 在 CTP 中加入多信道切换算法, 使 WSN 切换到与 WIFI 信道频带不重叠的信道上通信。实验证明改进后的多信道 CTP 协议能有效抵抗 WIFI 的干扰。关键词: 汇聚树协议; TinyOS; 无线传感器网络; 多信道; 作者简介:李

2、胜 (1988-) , 男, 硕士研究生。研究方向:无线传感器网络。1 引言无线传感器网络 (WSN:Wireless Sensor Network) 是大量体积小、成本低的传感器节点构成的无线网络1。在 Tiny OS2.x 中已经实现了汇聚树协议 (Collection Tree Protocol, CTP) 的协议栈。该协议提供了尽全力、多跳地将消息包发送到树根节点的传输机制。实现了灵活动态的树状拓扑结构, 并满足拓扑中其他节点与根节点的单向通信。当前 Tiny OS 中实现 CTP 协议没有信道调度功能, 只是工作于单信道中。当WSN 与 WIFI (Wireless Fidelity

3、) 在同一环境中同时工作, 若二者信道重叠, 干扰 WSN 通信, 使无线传感器的帧丢失率和节点功耗增加。为了改善这种状况, 提出一种改进的 CTP 通信协议, 该协议在 WSN 受到 WIFI 干扰时可以自适应切换信道避开 WIFI 干扰。2 CTP 协议介绍2.1 基本原理在物理空间中的很多无线传感器需要将采集到的数据发送给汇聚节点 (Sink) 。由于单个节点的通信距离有限, 为了扩大通信范围, CTP 协议通过在节点和Sink 之间组网, 使节点多跳地向基站传送数据。网络中的节点既是信息的采集者和发送者, 又是其他节点信息的转发者。Sink 和所有节点形成一个树形结构。Sink 作为树

4、根节点, 深度为 0。帧的流向为从的深度大的节点流向深度小的节点, 最终到达深度为 0 的根节点。节点根据路由梯度形成到根的路由。CTP 协议的 3 个主要组件为:(1) 链路质量估计器, 负责估计单跳的 ETX 值。(2) 路由引擎, 它根据链路估计和网络层的信息 (如拥塞情况) 来决定哪个邻居节点作为路由的下一跳。(3) 转发引擎, 它维护发送包队列, 决定是否发送和发送的时机2。2.2 汇聚算法CTP 使用期望传输值 (ETX, Expected Transmissions) 作为路由梯度, 节点会根据 ETX 选择最优路径。一般使用收包率来衡量一条链路的质量。子节点到父节点的 ETX

5、值计算公式为:df表示从发送节点到目的节点的收包率;d r为从目的节点到发送节点的收包率。根节点的 ETX 为 0, 其它节点的 ETX 为其父节点的 ETX 值加上到父节点 ETX 值。这种相加的方法需要假设节点使用链路层重传。若要对有效的路由进行选择, CTP 协议应当选择 ETX 值最小的路由。在转发数据包的路径上 ETX 值逐级递减。如果发送节点的 ETX 值比接收节点的 ETX 值小, 则表示发送节点的路由信息过期或存在路由循环。通过这种数据路径验证路由一致性, 可以及时检测出路由循环, 并通过广播路由帧来解决路由循环。3 改进的多信道 CTP 协议3.1 改进的目标对 Tiny O

6、S 2.x 系统原有的单信道 CTP 通信协议进行改进, 在 CTP 协议栈中增加信道切换组件。当 WIFI 信号干扰较强, WSN 能够通过自适应的信道分配算法切换信道避开受到干扰的信道, 降低丢包率, 防止信道阻塞。3.2 WS N 与 WIFI 频率特性分析在 2.4GHz 频段内, 802.11b/g/n 协议定义了 13 个可用信道。每个信道带宽22MHz, 信道间隔为 3MHz。两个完全互不重叠的相邻信道中心频率间隔为25MHz3-4。基于 802.15.4 协议的 WSN 也工作于 2.4GHz 的 ISM 频段。WIFI 的每一个信道频带与 WSN 的 4 个信道频带重叠3-4

7、, 如图 1 所示。WIFI 信号功率比 WSN 信号的功率大 12 个数量级, 在同一环境中, 当 WSN 信道与 WIFI 信道重叠时, WSN会受到较大干扰。图 1 WIFI 和 WSN 的信道频带分布 下载原图3.3 信道分配算法WSN 网络有 16 个可用信道, 每个信道带宽为 3MHz, 信道间隔为 2MHz。WSN 的 26 信道最不容易受到干扰, 因此将该信道作为控制信道。第 11第 25 信道作为数据信道。控制信道的作用是通信节点之间控制指令的传输及信道的预约 5。为了避开这种信道干扰, 可以使 WSN 切换到与 WIFI 不重叠的信道上通信。要避开 WIFI 干扰, WSN

8、 节点首先需要计算出当前 WIFI 所在的信道。通过如下算法 WSN 节点可以探测出 WIFI 的工作信道:从 WIFI 信道频带与 WSN 信道频带分布关系可以看出, 设 WIFI 信道号为 Idwifi, 若则信道号为 Idwsn 的 WSN 信道与信道号为 Idwifi 的 WIFI 信道重合。当工作在Idwsn 信道的 WSN 节点受到 WIFI 干扰时, 循环执行下述测试可以确定 Idwifi值:步骤 (1) :Idwsn 加 1, 对 13 取模, 更新, 即步骤 (2) :测试 WSN 在新的 Idwsn 信道上是否避开了 WIFI 干扰;如果没有避开干扰, 返回步骤 (1) ,

9、 如果避开了干扰, 则执行步骤 (3) ;步骤 (3) :判定 WIFI 的工作为 Idwsn-13, Idwsn 为 WSN 节点不受干扰的数据信道。当 WSN 在新信道通信的丢包率不超过 1%, 通信时间比在无 WIFI 干扰情况下延长不超过 25%时, 判定 WSN 避开了 WIFI 干扰。可以证明, 最坏情况下需要探测 4 次才能确定 WIFI 的工作信道, 探测次数期望值 2.5。3.4 请求响应机制在通信质量较差的情况下, 网络首先会采用 CTP 协议进行更换路由。如果在路由更换后的通信质量依然不好, 节点会通过广播的方式通知邻居节点进行信道切换, 避开现在的拥塞信道。数据信道主要

10、传输 CTP 协议的路由帧和数据帧。路由帧里面包含着节点的路由信息, 用于组建网络和更新路由。而数据帧是节点发送的数据, 控制信道发送广播消息帧, 用于通知邻居节点之间切换信道。发送节点 Sender 在发送数据帧或路由帧之前, 都会在控制信道上广播出请求消息 Req, 消息包含将要进行通信的数据信道号。接收节点 Receiver 在收到这个消息后, 切换到消息中指定的信道并给 Sender 发送一个 ACK 消息。当 Sender收到 Receiver 发送的 ACK 消息后, Sender 也会跳到 Req 消息中指定的数据信道。指定的数据信道号是通过第 3.3 节中的算法计算出来的。当这

11、一对收发节点完成通信之后, 都会回到控制信道上, 继续侦听控制信息。通过请求响应机制, WSN 的不同节点可以采用不同的信道进行数据传输, 减少了信道冲突和数据的重发。3.5 信道切换组件工作原理本协议将设置一个 ETX 极限值 。如果在传输过程中, 发送节点的ETX 值加上最优邻居节点的 ETX 值比 ETXlim大, 则表示最优邻居节点也不能在该数据信道上有效通信。此时节点应该切换数据信道, 将父节点的链路质量清空, 重新估计链路质量, 若 ETX 满足条件, 节点间会重新开始正常通信。否则, 再选择一个数据信道重新估计链路质量, 比较 ETX 值5。在 WSN 中, 信道的分配需要 MA

12、C 层与网络层协同工作。数据包的发送由网络层与 MAC 层共同控制, 网络层决定了路由的选择, MAC 层决定了信道的分配方式。通过在原有的 CTP 中加入信道切换组件, 使之与原有的三个主要组件协同工作就可以根据 WSN 信道干扰情况使节点切换到不受干扰的信道上工作。组件关系如图 2 所示。图 2 CTP 组件关系 下载原图在维护路由和数据转发的两个功能中, 都需要信道切换的支持。当节点检测到某个数据信道受到干扰, 节点通过广播机制向父节点发送信标帧请求切换到指定的信道。通信过程中, 任意时刻节点处于以下有 5 个状态中的一个:信标发送、信标接收和数据发送、信标接收以及空闲状态。当处于前 4

13、 个状态, 可以判定节点处于数据信道 (即 11 到 25 信道其中之一) , 当节点处于空闲状态, 可以判定此时节点处于控制信道, 即 26 信道。信道切换组件 Channel Change P 的最主要两个功能是通过节点状态判断是否能够切换信道和收到请求切换信道的消息后的处理。信道切换组件 Channel Change P 中的 Prepare To Send 函数实现了通过节点状态判断切换到哪一个信道。该函数通过调用 ask For Switching 函数通知邻居节点进行信道切换。中实现了当节点收到一帧数据后, 在 Receive.receive 函数会根据收到的请求信息类型作相应的处

14、理, 包括设置节点状态, 调用底层函数完成信道的切换 (在 Tiny OS 中, 这个函数为 Config.set Channel) , 发送反馈信息。当节点切换到数据信道后, 设置定时器时间并开启定时器中断。在数据信道的持续时间不能超过定时器设置的时间。当数据传输完成或定时器时间到, 节点切换到控制信道。4 实验及结论分析4.1 实验为了验证改进的 CTP 协议多信道通信的效果, 开展 WSN 多点组网通信实验。实验器材如下:(1) 1 个带串口的 CC2430 网关板, 用户可以从 PC 上读出 CC2430 节点收到的数据。网关板作为汇聚节点。(2) 10 个普通的 CC2430 节点板

15、, 作为 WSN 的普通节点。(3) 1 个 WIFI 路由器、2 台可以 WIFI 上网的便携式 PC 机 A、PC 机 B, 这些设备用于制造干扰 WSN 通信的 WIFI 信号。(4) Packet Sniffer 软件, CC2531 USB Dongle, 实现 WSN 网络数据转包侦听, 可以观察到发送节点的信道号。(5) 带串口的 PC 机, 通过 PC 上的串口软件读出网关板收集到的如下参数:节点 ID、收包数量、节点压降 (V) 、RSSI 均值 (d Bm) 、传输时间 (s) 实验场景如下:在 90m 的空间中随机均匀分布 10 个 CC2430 节点, 网关板与 PC

16、机通过串口相连。发送节点以每 500ms 发送 1 个数据包的速度发送 500 个数据包。实验分 3 次开展, 每次记录实验数据记录到表格中。WSN 的 WIFI 干扰信号制造方法为:无线路由器工作在 1 信道, PC 机 A 通过 WIFI向 PC 机 B 以 11.5Mb/s 的速度传送一个 10G 的文件, 并确保这个文件的传输时间大于 WSN 数据包传输时间。第 1 次实验的条件为:使用单信道 CTP 协议通信, 无 WIFI 信号干扰。实验数据如表 1 所示。表 1 无 WIFI 干扰 CTP 单信道通信实验 下载原表 第 2 次实验的条件为:使用单信道 CTP 协议通信, 有 WIFI 信号干扰。实验数据如表 2 所示。表 2 有 WIFI 干扰 CTP 单信道通信实验 下载原表 第 3 次实验条件为:使用改进后的多信道 CTP 协议通信, 有 WIFI 信号干扰。实验数据如表 3 所示。表 3 有 WIFI 干扰 CTP 多信道通信实验 下载原表 4.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号