电磁频谱监测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电磁频谱监测自组织通信单元需求分析与设计
---李玉林、林键、
曾梦君、朱亚坤
一、系统分析
自组织通信单元是分布式电磁频谱系统侦查的重要组成部分。在分布式电磁频谱的侦查系统中,多个传感器节点组成无线传感器网络,对电磁频谱区域侦查,侦查的结果以无线传输到无人机。自组织通信单元需要具备以下功能:(1)动态的分群和sink选举,(2)路由,即建立群首和群首和sink节点之间的路径;(3)媒体接入控制,在多个节点接入信道时以分布式的方式避免冲突;(4)业务信息(指令下达和数据回传)的传输,即将用用户通过地址空间单元向传感器节点下达的采集指令发送到每个传感器节点,将传感器节点采集的数据发送到sink,这些业务均要求可靠的传输;(5)低能耗的无线通信能力。经分析,整个
二、问题分析
整个系统主要可以分为如下几个方面,过频通信、突发通信、可靠广播、均衡分群、基于能量的动态本地sink选举。当然,在这五个方面,目前都有很多相应的算法设计实现,但是,相应的算法都存在一些问题。比如,对于基于能量的动态本地sink选举,已有的解决办法是PEGASIS算法,所有的节点根据id号轮流作为sink。然而在实际工作中,sink节点的能耗仅取决于其工作期内实际的数据流量,特别
是在随机数据传输的情况下,基于id号的sink选举方法理论十分简单,但是在实际中存在较多问题。例如,节点随即失效、网络分割等将导致某轮没有sink,从而极大的影响网络性能。当然,其他的情况的设计方案也都存在或多或少的不足。在此基础上,我们给出自己的一些想法,当然,不足之处还是很多的。
三、算法设计
(1)、总体方案
总体方案如图所示,整个系统分成n个群,每个群选择一个群首,另外还定一个sink节点。群内节点交消息传给群首,群首节点交给sink节点,sink节点再与无人机进行通信。
图一系统总体方案
(2)、均衡分群
在布好节点后,初始时每个节点想周围相邻节点广播自己的信息,通过不断的广播,最后,每个节点都有所有的网络的拓扑信息。然后,
考虑某个区域节点的数量和节点之间的距离等因素为权值,通过一定的算法(我们相信这个算法是存在的)将网络大致均分为多个群,使群内节点都能够通信,并且每个节点都有自己所在群的信息。
最初分好群时,所有群内的节点能量都是相同的,所以可以选举群内大致在中心的节点为群首(均分群时即可确定),为了确保在群首出现意外的故障时,我们在需要设置一个副群节点,来保证群正常的工作与信息搜集。
副群首的选举是有群首定的,群首根据群中节点能量的高低来选择,除群首之外能量最高的是副群首。副群首的工作就是定时检测群首的存活情况,如果副群首发现群首不在,责副群首向群内广播自己已成为群首的消息,然后选举一个副群首。
(3)、群首更替
当然随着节点作为群首的时间变长,能量也逐渐被更多的消耗,多以需要一个更换群首机制。在此,我们为群首的能量设定一个阀值,当群首的能量低于这个阀值时,则其向群内的其他成员发送能量询问信息,来获知群内其他节点的能量信息,并根据结果,确定一个新的群首。老群首向群内其他节点广播下一任群首继承的消息并向其他群首公布本群内新群首产生的信息,新群首继任,然后选举副群首。(4)、sink节点选举
最初的sink节点选举时从网络的中心选举的,通过最初的算法(均分群算法),选择一个非群首的节点作为本地sink节点,当然这个选举要根据最初得到的全网信息为依据,然后指派副sink节点,具体方式
与群内指派副群首一样。
(5)、sink节点的轮换
Sink节点在更换前,向每个群首发送查询消息,获得每个群中能量最高的节点,然后根据这些能量高的节点的位置和能量进行加权选举一个合适的几点作为新的sink节点,老sink节点将群首的信息发给新的sink节点;然后新的sink节点想群首公布自己的信息并指派副sink 节点。
(6)、节点通信
a、群首,sink之间的通信
群首群首之间,群首sink之间都是多跳进行通信的,由于初始每个节点都有全网的链路状态,群首、sink可根据链路状态生成路由信息,进行多跳通信,当更换群首或是sink时,则进行路由信息的更新,从而使群首、sink之间的路由信息正确,保证正常的信息传递。
b、群首群内节点的通信
群内节点要想群首发送消息之前,其先发个RTS报文进行确认下,如果群首回了个cts报文并且该节点收到cts报文,则该节点才可以发送数据,群首收到数据后然后发送ack报文进行确认。
当群首发送报文给群内节点时,为了保证可靠的广播,群首在发送真正的数据报文之前先连续发送三次RTS报文,然后再发送真正的数据包,当节点收到RTS报文并受到紧接其后数据报文,正常;如果节点受到RTS未收到数据报文,则其向群首通知自己未收到数据报文,群首重新向该节点发送数据报文;如果节点未收到RTS报文,则认为该
节点已经不可用。
(7)、能耗问题
节点有两根天线,一根天线用来接收自己在睡眠时的唤醒信号。另一根天线用来信息收集、检测环境、通告群首。为了降低能耗,群内节点平时处于休眠状态,定时醒来检测周围的环境,并将收集的信息汇报给群首,如果群首有特殊情况需要唤醒群内节点,则节点通过唤醒信号检测天线随时检测唤醒信号,保证能够紧急情况下与群首通信。
(8)、报文格式
我们为系统的每一个节点定一个ID值,作为全网唯一的标识。因为中间传输数据设计到多跳传输,所以报文应该包括链路层报文和网络层报文格式。
链路层报文格式如下:
其中IDSRC和IDDEST为链路层的源和目的的ID号。TYPE和SUBTYPE 用以区分不同类型的报文,Data为网络层数据。
网络层报文格式如下:
其中IDSRC和IDDEST为网络层的源和目的的ID号。OtherHead为其它的头部信息,如校验和等,Data为真正需要传输的信息。
四、设计不足
虽然设计大致有以上想法,但是想法中存在很多不足,主要有以下几个方面: