无线传感器网络(Wireless Sensor Network, WSN)由大量的传感器节点组成, 这些节点密集地部署在一个特定的区域用于收集关于目标或事件产生的数据, 并提供各种传感和监测应用程序, 作为一种很有前途的数据采集技术, 在物联网中得到了广泛的应用, 成为重要的基础网络之一[1,2]. 由于无线业务的爆炸式增长使得未授权的频谱日益拥挤, 导致运行在未授权频谱上的无线传感器网络受到了严重干扰. 认知无线电(Cognitive Radio, CR)技术已经发展成为解决频谱短缺问题的一种有效方法, 它允许对许可频谱进行机会性访问并广泛应用于环境, 军事, 运输等多个领域[3]. 无线传感器网络受益于CR技术的这一优势克服了频谱匮乏的挑战. 为此, 通过在无线传感器网络中加入动态频谱接入(Dynamic Spectrum Access, DSA)方案, 提出了一种新的无线网络模式——认知无线传感器网络(Cognitive Radio Sensor Networks, CRSNs)[4].
CRSN同无线传感器网络中的固定频谱分配方法不同, 节点通过机会主义利用空闲频谱. 频谱的机会使用由认知循环操作完成, 包括频谱感知、频谱决策、频谱共享和频谱迁移. CRSN节点通过频谱感知来确定空闲频谱, 通过频谱决策来选择它们要使用的频谱, 根据主用户(Primary User, PU)的活动进行频谱切换来改变信道[4]. 尽管CR技术使用不同频段让无线通信更灵活, 但它们也带来了一些问题. 第一, 动态无线电环境中的路由受限于频谱可用性; 第二, 认知循环操作会中断传感器节点之间的传输; 第三, 主用户的活动会影响数据传输的成功率. 如果节点是移动的, 这些问题会更复杂. 节点的移动性导致频繁的拓扑变化. 此外, 事件驱动的通信特性会导致突发的流量, 造成信道冲突和数据包丢失.
本文提出了基于事件的移动认知无线传感器网的分簇算法(Event based clustering algorithm for Mobile Cognitive radio sensor networks, EMC). 该算法在事件发生后根据移动节点当前位置和在区域内停留时间来确立合格节点, 而后计算簇头权值来选择簇头. 设计了直接分簇模式, 并进行簇头与成员节点间的连接时间预估计, 簇头再根据簇中每个成员移动节点的预估计连接时间以TDMA方式进行通信, 分配给成员节点时隙和空闲信道用来数据传输. 这样确保了簇的稳定性, 从而提高了数据传输率, 并减少了由于簇成员移动变化而带来的控制开销和能量消耗.
1 相关工作在现有的移动节点分簇算法中, WSN中分簇算法是比较多比较成熟, WSN的分簇算法在提高网络性能, 延长网络生命周期等方面取得了一些成功. WSN设计分簇方案目的是以最小能耗收集信息[5]. 低能量自适应分簇层次移动(LEACH-mobile)算法[6], 通过在LEACH协议中加入节点成员声明来支持节点的移动性. 传感器在连续两帧期间未接收来自其簇头的请求, 就认为自己已离开簇, 因此它将广播一个簇加入请求消息, 以便加入新簇并避免丢失更多的数据包. 因此, LEACH-mobile算法以增加控制开销为代价, 提高了包传输的成功率. 文献[7]中提出了一种基于移动性度量的LEACH移动增强协议, 该协议用于簇头选举, 选择一个具有较小移动性的节点成为簇头. 文献[8]提出两种基于三层结构的移动WSN分簇算法, 最大限度地减少数据损失和提高能量效率. 然而, 所有这些分簇方案都假设固定信道分配, 它们无法处理频谱感知和信道切换等问题. 因此, 这些方案不适合CRSNs.
文献[9]提出了一种基于事件的移动认知无线传感网络分簇算法, 算法分为两个阶段, 首先寻找适合成簇的节点, 其次这些节点利用空闲频谱分簇, 率先把节点移动性应用到CRSN当中. 文献[10]研究了多信道CRSNs的动态频谱访问的问题. 文中采用了数据包大小可变的自适应技术, 来适应可变信道上的传输, 更充分利用了传感器的能量. 文献[11]提出了一种新的节点选择方案, 以提高CRSNs的协作频谱感知能量效率. 除此之外, 文中所提出的方案可在一定程度上有效平衡不同传感器之间的能量消耗. 文献[12]中提出了一种基于能量感知分簇的CRSN路由算法(EACRP), 该算法同时考虑了能量和动态频谱问题. EACRP采用自组织分布式成簇, 通过产生最佳簇数来获得较少的平均节点功率. 为了减轻PUs的影响, EACRP形成具有更多共用信道的簇, 并在选择用于簇内通信的数据信道时采用协作感测的概念. 文献[13]提出了一种用于CRSN的低能量自适应不均匀分簇层次结构, 采用不均匀分簇方法来平衡多跳传输方式下簇头之间的能耗. 仿真结果表明, 该算法不仅可以有效地平衡簇头中的能量消耗和CRSN中的网络负载, 还可以显著延长网络生命周期.
2 系统模型 2.1 网络模型传感器网络由分布在监测区域内的n个移动传感器节点组成, 具体信息:
1) 用户: PUs无限制使用授权信道, 次用户(Secondary User, SU)在没有PUs活动的情况下, 可以机会主义访问授权信道;
2) 节点: 传感器节点具有相同的初始能量、传输范围, 并且可以实现空闲频谱的感知.
3) 信道: 网络中存在M个具有唯一ID的非重叠正交信道; 两个相邻的CRSN节点如果有共同的信道, 则它们是互相连接的; 存在一个公共控制信道(Common Control Channel, CCC)用来交换控制信息, 并且每个节点通过邻居发现都获得一跳邻居节点及其空闲信道.
4) 定位: 每个传感器由定位算法计算出自己的二维坐标以及自身速度.
5) 移动: 传感器节点根据随机航点移动模型而移动[14].
6) 时钟: 假设节点均时钟同步, 且事件结束前非簇头合格节点在其分配的时隙中总有数据要发送到簇头.
通信由事件驱动, 位于事件区域内的CRSN节点检测事件, 这些节点生成传递到sink的数据包. CRSN事件覆盖范围用虚线表示, 如果PUs活跃, 则SUs应该机会主义访问信道, 具体过程如图1所示.
2.2 随机航点模型
移动节点随机选择一个目标位置, 然后从该位置向目标位置移动, 速度介于
2.3 能耗模型
移动CRSN节点的能耗主要包括频谱感知、频谱切换、数据传输、数据接收和节点移动的能耗. 本文使用
$ {E_{\rm tran}}(k,d) = {E_{\rm dis}} \times k + {e_{\rm amp}}{d^\varepsilon } \times k $ | (1) |
$ {E_{\rm rec}}(k) = {E_{\rm dis}} \times k $ | (2) |
其中,
事件区域内的移动节点检测到事件后, 自身状态由
假设任意节点需要
移动节点1, 2, 3是位于事件区域的节点, 通过不在事件区域内节点4和5反馈的数据, 节点1发现节点4的水平位置距离自己最远, 同理节点2发现节点6的水平位置距离自己最远, 由事件区域内节点协调, 划分出一个区域, 该区域是节点4与节点6横坐标区间, 如图3所示.
合格节点确定的EMC算法以分布式的方式确定合格节点, 在此阶段, 本文假设传感器节点密度足够大. EMC算法的步骤如流程图4所示.
算法1. 合格节点选择
1: Consider node where
2: if Node
3: It is eligible for clustering
4: State(
5:
6: calculate and select an interval
7: Start sending ENI to one-hop neighbors other than event Detecting neighbors
8: else
9: if It receives ENI from its neighbor then
10: judge whether it is in the internal
11: if
12: calculate i residence time t in
13: compare the distance
14: if
15: then Node i is eligible for clustering
16: State(i)= “Eligible”
17: Send ENI to one-hop neighbors
18: end if
19: if
20: Node
21: State(
22: else
23: Not eligible
24: end if
25: else
26: Not eligible
27: end if
28: else
29: Node
30: end if
31: end if
3.2 簇头选择本文使用启发式算法进行簇头选择. 簇头选择时充分考虑了频谱可用性、能量损耗、节点移动性等多项因素进行权值处理, 最大权值节点作为簇头, 选择的参数如下:
1) 节点速度(
2) 节点到sink的距离(
3) 剩余能量(
4) 可用信道数(
5) 合格节点度(
6) 节点方向与sink连线间夹角正切值(
根据这些参数, 任意节点
$ \begin{split} {W_i} = &{w_1}\frac{{{v_{\max }} - {v_{i - {\rm current}}}}}{{{v_{\max }}}} + {w_2}{d_{i,{\rm sink}}} + {w_3}{E_i} \\ & +{w_4}{C_i} + {w_5}D_i^e + {w_6}\frac{1}{A} \end{split} $ | (3) |
其中,
每个簇头检查所有符合条件的单跳邻居中是否存在公共信道. 如果存在公共信道, CRSN中的每个节点感知信道并记录包含每个信道的PU出现概率(
$ {W_a} = \frac{1}{{\overline {{P_{a,pu}}} }} \times \overline {{T_{\rm idle}}} \times {N_a} $ | (4) |
其中,
完成公共信道选择后, 簇头将向它邻居节点发送成簇请求(Clustering REQuest, C_REQ), 然而, 一个节点可以是两个或多个簇头的邻居, 但它只能成为一个簇头的簇成员节点. 因此, 节点只答复给一个簇头. 节点会计算与簇头亲密度, 该值用于确定节点是否适合连接这个簇头. 该值由下面过程得出:
假设在时间
$ {L_i}:({x_i} + {v_i}\cos {\theta _i}t,{y_i} + {v_i}\sin {\theta _i}t) $ | (5) |
簇头节点
$ {L_j}:({x_j} + {v_j}\cos {\theta _j}t,{y_j} + {v_j}\sin {\theta _j}t) $ | (6) |
本文将节点接收来自一个簇头消息的时间设置为
$ {({x_j} - {x_i})^2} + {({y_j} - {y_i})^2} \le R_{\rm tran}^2 $ | (7) |
其中,
$ \begin{split} &{({x_j} - {x_i} + {v_j}\cos {\theta _i}t - {v_i}\cos {\theta _i}t)^2} \\[-2pt] &+{({y_j} - {y_i} + {v_j}\sin {\theta _j}t - {v_i}\sin {\theta _i}t)^2} \le R_{\rm tran}^2 \end{split} $ | (8) |
本文在分簇时采用文献[15]所提出了直接分簇方式. 在无向分簇方式中数据传输需要先传给簇头, 簇头会聚合数据然后发给下一跳簇头或网关, 如图5(a)所示, 这会导致节点通讯开销大, 能耗高, 网络寿命短. 相反, 沿着数据在事件到sink的传播方向上分簇, 这样确保数据一直向着sink方向传输而不会回传, 如图5(b)所示.
节点与簇头的位置关系可以用
$ {W_{ij}} = {\lambda _1}\Delta {t_{ij}} + {\lambda _2}({d_{i,{\rm sink}}} - {d_{j,{\rm sink}}}) $ | (9) |
其中,
在节点选择完簇头之后, 它将发送一条确认信息(ACKnowledgement, ACK)来回复簇头. 如果一个非簇节点没有收到来自相邻簇头的任何请求, 它自己成为一个簇头. 算法2描述了直接分簇算法, 如算法2所示.
算法2. 分簇算法
1: if State(j)=“CH” then
2: for
3: calculate
4: end for
5: send C_REQ message to the nodes through channel
6: wait for ACK message from the nodes
7: else
8: if State(j) =“Eligible Node” and it receives C_REQ message then
9: calculate
10: join the cluster whose
11: send ACK message to the selected CH
12: if State(
13: State(
14: end if
15: end if
16:end if
3.5 簇维护由于传感器节点的速度或方向突然变化、传输过程中的网络拥塞或硬件故障造成的, 因此在传输过程中需要加入确认消息(ACK).
在成功接收到数据包后, 簇头将向非簇头合格节点发送ACK消息. 如果合格节点收到ACK消息, 它将确认数据包已成功传输, 如果合格节点未收到ACK消息它将广播簇加入请求消息. 收到簇加入联合请求消息时, 簇头将像在第二阶段那样向该节点传输簇头消息.
另外, 由于簇头节点和簇成员节点都保留了估计连接时间的信息, 所以它们都可以检查簇成员节点在下一个时隙是否会留在簇中. 如果簇成员节点不打算留在簇中, 它将广播一条请求消息以加入一个新簇. 然后, 簇头将删除该簇成员节点.
图6演示了合格节点离开旧簇并加入新簇的过程. 节点5加入簇J, 而节点9离开簇. 簇J的簇头将节点9从TDMA计划中删除, 并将节点5添加到TDMA计划中. TDMA调度是基于簇成员节点和簇头节点之间的估计连接时间
4 实验分析
本文在Matlab 2018b中建立了一个仿真环境来研究EMC分簇算法性能. 本文主要从分簇所需要的时间, 连通性和分簇过程中的能量消耗这3个方面对协议进行了仿真测试, 实验中改变的参数是事件到sink的距离、事件区域半径
本文定义成功的数据包传递率为
$ {R_{\rm pdr}} = \frac{{{N_{\rm rec}}}}{{{N_{\rm rec}} + {N_{\rm lost}}}} $ | (10) |
$ {O_{\rm avg}} = \frac{{{O_{\rm total}}}}{{{N_{\rm rec}}}} $ | (11) |
其中,
建立簇需要一些时间, 时间长短取决于合格区域的建立、簇头的选择、节点通讯范围等. 从图9中可以看出, mESAC, EACRP与MNB需要更多的分簇控制包交换, 因此它们形成簇需要更多的时间. 分簇所需要的时间随着事件半径的增加而增加, 如图10所示, EMC分簇需要的时间相比于mESAC, EACRP与MNB分别提升了1.18倍, 2.81倍和7.18倍.
4.2 连通性分析
图11表示了在不同传输半径下, 4种算法的连通性. 观察可以看出EMC的连通性更好, 这是由于在EMC中, 采用直接分簇办法, 让数据包沿单向传输, 避免了数据回传的问题, 并且选择信道数目多的节点成为簇头, 同时考虑了簇成员节点与簇头的连接时间, 减少了数据包不必要的丢失. 而算法MNB、EACRP和mESAC没有考虑节点连接时间, 在节点离开后容易造成数据包丢失. 因此EMC的连通性相比于mESAC, EACRP与MNB分别提升了1.07倍, 1.63倍和2.09倍.
4.3 分簇能耗CRSN节点的电池电量有限, 能耗是本文算法重点考虑的因素. 通过仿真实验得到, 事件发生区域到sink的距离和节点传输半径对分簇能量的影响, 节点传输半径增加导致有更多的节点参与到分簇过程中, 因此会消耗更多的能量. MNB形成簇需要3个步骤, 每个节点在每一步都会通知它的邻居节点, 这会导致额外的能耗. 并且MNB和EACRP在分簇过程中是所有节点均参加分簇, 这会导致能耗必然高于EMC和mESAC. 再由图9可以看出, mESAC控制包的数量略高于EMC. 如图11所示, EMC的分簇能耗同其他算法相比能耗有明显的优势. 图12为分簇能耗对比图. 图13为EMC分簇过程中簇头能耗与节点能耗对比, 簇头能耗较高, 并且节点是移动的, 所以要在每一轮重新进行簇头选择.
5 结论
分簇是一种提高动态网络拓扑稳定性的重要方法. 针对认知无线传感器网中移动节点能耗不均, 连通性不佳的问题, 本文中通过计算移动节点在合格区域的逗留时间以及节点在簇中的连接预估计时间, 并采用直接分簇算法来解决移动CRSN对于事件到sink协调方案的问题. 同时给出分簇的维护机制, 通过TDMA方式来协调事件和sink之间的通信. 仿真结果表明, EMC算法在连通性、分簇时间和分簇能耗方面均有明显提高, 能更好地适应移动场景.
[1] |
Ren J, Zhang YX, Zhang K, et al. SACRM: Social aware crowdsourcing with reputation management in mobile sensing. Computer Communications, 2015, 65: 55-65. DOI:10.1016/j.comcom.2015.01.022 |
[2] |
Idoudi H, Mabrouk O, Minet P, et al. Cluster-based scheduling for cognitive radio sensor networks. Journal of Ambient Intelligence and Humanized Computing, 2019, 10(2): 477-489. DOI:10.1007/s12652-017-0670-6 |
[3] |
Zhang N, Liang H, Cheng N, et al. Dynamic spectrum access in multi-channel cognitive radio networks. IEEE Journal on Selected Areas in Communications, 2014, 32(11): 2053-2064. DOI:10.1109/JSAC.2014.141109 |
[4] |
Ozger M, Alagöz F, Akan OB. Clustering in multi-channel cognitive radio ad hoc and sensor networks. IEEE Communications Magazine, 2018, 56(4): 156-162. DOI:10.1109/MCOM.2018.1700767 |
[5] |
Shin H, Moh S, Chung I. Clustering with one-time setup for reduced energy consumption and prolonged lifetime in wireless sensor networks. International Journal of Distributed Sensor Networks, 2013, 2013: 301869. |
[6] |
Kim DS, Chung YJ. Self-organization routing protocol supporting mobile nodes for wireless sensor network. Proceedings of the 1st International Multi-Symposiums on Computer and Computational Sciences. Hangzhou, China. 2006. 622–626.
|
[7] |
Nayebi A, Sarbazi-Azad H. Performance modeling of the LEACH protocol for mobile wireless sensor networks. Journal of Parallel and Distributed Computing, 2011, 71(6): 812-821. DOI:10.1016/j.jpdc.2011.02.004 |
[8] |
Zafar S, Bashir A, Chaudhry SA. Mobility-aware hierarchical clustering in mobile wireless sensor networks. IEEE Access, 2019, 7: 20394-20403. DOI:10.1109/ACCESS.2019.2896938 |
[9] |
Ozger M, Fadel E, Akan OB. Event-to-sink spectrum-aware clustering in mobile cognitive radio sensor networks. IEEE Transactions on Mobile Computing, 2016, 15(9): 2221-2233. DOI:10.1109/TMC.2015.2493526 |
[10] |
Li XY, Wang DX, McNair J, et al. Dynamic spectrum access with packet size adaptation and residual energy balancing for energy-constrained cognitive radio sensor networks. Journal of Network and Computer Applications, 2014, 41: 157-166. DOI:10.1016/j.jnca.2013.11.001 |
[11] |
Kong FH, Jin ZL, Cho J. A novel sensing nodes selection scheme for energy efficiency of cooperative spectrum sensing in cluster-based CRSNs. Proceedings of 2015 International Conference on Information and Communication Technology Convergence. Jeju, Republic of South Korea. 2015. 26–31.
|
[12] |
Yadav RN, Misra R, Saini D. Energy aware cluster based routing protocol over distributed cognitive radio sensor network. Computer Communications, 2018, 129: 54-66. DOI:10.1016/j.comcom.2018.07.020 |
[13] |
Pei ER, Han HZ, Sun ZH, et al. LEAUCH: Low-energy adaptive uneven clustering hierarchy for cognitive radio sensor network. EURASIP Journal on Wireless Communications and Networking, 2015, 2015: 122. DOI:10.1186/s13638-015-0354-x |
[14] |
Hayajna T, Kaldoching M. Ensuring two routes connectivity in mobile ad hoc networks with random waypoint mobility. Proceedings of 2017 IFIP/IEEE Symposium on Integrated Network and Service Management. Lisbon, Portugal. 2017. 636–639.
|
[15] |
Bereketli A, Akan ÖB. Event-to-sink directed clustering in wireless sensor networks. Proceedings of 2009 IEEE Wireless Communications and Networking Conference. Budapest, Hungary. 2019. 2290–2295.
|
[16] |
Bradonjić M, Lazos L. Graph-based criteria for spectrum-aware clustering in cognitive radio networks. Ad Hoc Networks, 2012, 10(1): 75-94. DOI:10.1016/j.adhoc.2011.05.009 |