基于信道预约机制的可见光全双工连续传输随机接入方法与流程

文档序号:11549241阅读:518来源:国知局
基于信道预约机制的可见光全双工连续传输随机接入方法与流程

本发明涉及可见光通信技术领域,更具体地,涉及一种基于信道预约机制的可见光全双工连续传输随机接入方法。



背景技术:

近年来,随着发光二极管(lightemittingdiode,led)技术的成熟和在照明上的普及,基于led灯发展而来的可见光通信(visiblelightcommunication,vlc)技术,因为具备高传输速率、绿色环保等优点,成为了学术界和工业界的研究热点之一。为了促进可见光通信技术的发展,美国电气与电子工程师协会(instituteofelectricalandelectronicengineers,ieee)在2011年制定了ieee802.15.7标准[1],详细描述了可见光在物理(physical,phy)层和介质访问控制(mediumaccesscontrol,mac)层的相关功能。

关于mac层的研究,最主要集中在信道资源分配的协议上。分布式随机接入是解决无线局域网多个用户如何竞争接入信道并共享信道资源最主要的方式。基于半双工传输的载波侦听多路访问/冲突避免(carriersensemultipleaccess/collisionavoidance,csma/ca)协议是目前随机接入协议中最主流的一个,也是大多数传统无线通信和目前可见光ieee802.15.7标准所采用的信道访问方式。

由于led灯覆盖范围(fieldofview,fov)有限,在一个多用户vlc网络中,多个用户因为相互不在fov范围内,无法相互通信而造成隐藏节点的问题。对于传统无线网络,利用信道预约机制,即请求发送/允许发送(requesttosend/cleartosend,rts/cts)四次握手机制,可以解决隐藏节点的问题。但对于vlc网络,用户为了节省能量的消耗,不处于一直侦听cts帧的状态,因此即使将rts/cts信道预约机制应用到半双工的可见光csma/ca协议中,依然无法解决vlc网络中的隐藏节点问题。

目前ieee802.15.7标准并没有给出解决可见光隐藏节点的方法。部分文献基于vlc网络没有隐藏节点的假设,分析了可见光csma/ca协议的性能。文献[2]分析了不同负载、不同用户数目对可见光csma/ca协议吞吐量和延时性能的影响,文献[3]建立了马尔可夫模型,完整分析了ieee802.15.7标准中csma/ca协议的吞吐量、冲突概率、丢包概率、延时等系统性能指标。从现有的文献对可见光csma/ca协议的分析来看,即使没有考虑隐藏节点的影响,ieee802.15.7标准中规定的csma/ca协议的吞吐量和延时性能相对较差。因此,解决可见光fov导致的隐藏节点问题,同时提升csma/ca协议的性能,对于vlc技术在mac层的发展和完善有重要的意义。

本发明针对目前ieee802.15.7标准发展不成熟,可见光csma/ca协议不能消除隐藏节点和性能较差的问题,基于rts/cts信道预约机制,提出了一种全双工连续传输的随机接入方法,能够有效地解决可见光隐藏节点问题并同时优化可见光csma/ca协议的吞吐量和延时性能。

参考文献如下:

[1]ieeestandardforlocalandmetropolitanareanetworks–part15.7:short-rangewirelessopticalcommunicationusingvisiblelight[j].ieeestandard802.15.7,2011:1–309.

[2]hwangj,dot,yoom.performanceanalysisonmacprotocolbasedonbeacon-enabledvisiblepersonalareanetworks[c]//2013fifthinternationalconferenceonubiquitousandfuturenetworks(icufn).2013:384–388.

[3]nobarsk,mehrka,niyajm.comprehensiveperformanceanalysisofieee802.15.7csma/camechanismforsaturatedtraffic[j].journalofopticalcommunicationsandnetworking,2015,7(2):62–73.



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于信道预约机制的可见光全双工连续传输随机接入方法,特别地,全双工的可见光接入点在接收到用户数据的同时,能够对其覆盖范围内的其他用户广播忙音,防止多个用户之间因为相互隐藏,同时发送数据而造成了冲突。基于rts/cts信道预约机制,提出了一种连续传输随机接入方法。不同于现有ieee802.15.7标准中的csma/ca协议,用户在执行空闲信道估计(clearchannelassessment,cca)并检测到信道为空闲状态后,不直接发送数据帧,而首先发送rts帧对信道进行预约。在成功预约了信道之后,再发送数据帧。并且,在成功进行了一次数据帧的传输之后,不再重新进行随机退避而直接执行cca,从而能在防止数据帧冲突的同时,减少随机退避所消耗的时隙资源,提高吞吐量和延时的性能。

为解决上述技术问题,本发明的技术方案如下:

一种基于信道预约机制的可见光全双工连续传输随机接入方法,包括以下具体步骤:

s1:用户有数据等待发送,进行随机退避;

s2:退避时间结束,用户执行cca判断当前信道是否空闲;

s3:如果cca检测到当前信道为空闲状态,用户不直接发送数据帧,而首先发送rts帧对信道进行预约;

s4:全双工的可见光接入点在接收rts帧时,需要对外发送忙音以消除隐藏节点;即其他用户如果在当前时刻执行cca,会接收到接入点发送的忙音信号从而认为当前信道状态为忙,需要重新进行退避来避免冲突;

s5:用户利用短帧间隔(shortinterframespace,sifs)时间从发送状态切换到接收状态,等待cts帧的到来;

s6:用户接收到接入点回复的cts帧后,从接收状态切换回发送状态并开始发送数据帧;

s7:用户在发送完数据帧后,在状态转换时间(aturnaroundtime-tx-rx,ttx-rx)内从发送状态切换回接收状态并等待接入点回复应答(acknowledgement,ack)帧;

s8:全双工的可见光接入点在接收数据帧时,同样需要对外广播忙音直到数据帧接收完毕,向用户回复ack帧,以表示数据帧接收成功;

s9:用户在成功接收到ack帧后,如果用户在发送成功后还有数据等待发送,等待一个长帧间隔(longinterframespace,lifs)时间后立即进行连续传输,即不再重新进行随机退避,而直接执行cca判断当前信道的状态;

s10:当用户已经没有数据等待发送,随机接入流程结束。

在一种优选的方案中,步骤s1中,当用户有数据需要发送时与接入点的信标帧同步,将退避的周期边界与接入点对齐。

在一种优选的方案中,在步骤s1中初始化两个变量:nb和be;变量nb表示退避的次数,nb初始化为0;变量be表示退避指数,用于计算退避窗口大小,设初始值为macminbe,代表mac层规定的be的最小值。

在一种优选的方案中,在步骤s2中计算退避窗口cw的大小cw=2be-1并从[0,cw]范围内随机选择一个整数退避窗口进行退避。

在一种优选的方案中,在步骤s2中,当cca检测到信道状态为忙时,mac层将变量nb和be分别自增1;设置be的最大值不能超过macmaxbe;并判断nb的值是否超过macmaxcsmabackoffs;如果nb超过macmaxcsmabackoffs,即本次发送失败,mac层向上层发送一个失败的指令并将数据包丢弃;如果nb没有超过macmaxcsmabackoffs,则跳转回步骤s2中进入下一个退避阶段,计算退避窗口cw;反之,如果cca检测到信道状态为空闲,执行步骤s3;其中macmaxbe为mac层规定的be最大值,macmaxcsmabackoffs为mac层规定的csma/ca最大退避次数。

在一种优选的方案中,在步骤s5中,用户如果在macackwaitduration时间内没有接收到cts帧,则说明发送的rts帧发生冲突,跳转回步骤s2;反之,在成功接收到cts帧后,进入到步骤s6;其中,macackwaitduration为mac层规定的用户等待接入点回复cts帧或ack帧的超时时间长度。

在一种优选的方案中,在步骤s8中,用户如果在macackwaitduration时间内没有接收到ack帧,则说明发送的数据帧丢失,跳转回步骤s2;反之,在成功接收到接入点回复的ack帧后,进入到步骤s9。

在一种优选的方案中,在步骤s9中,用户进行连续传输,执行cca检测信道状态时,如果恰好有其他用户已经在lifs时间内退避结束并执行cca,则其他用户会认为信道空闲而开始发送rts帧;则当前用户在连续传输时所执行的cca会检测到信道状态为忙,需要重新进行退避,即连续传输失败;反之,如果当前用户连续传输时执行的cca检测到信道空闲,则直接进入到下一轮发送rts的环节,即连续传输成功。

在一种优选的方案中,在等待一个lifs时间间隔后,将变量nb和be重新初始化,但是将退避窗口cw设置为0,即不再重新进行随机退避,而直接执行cca;如果用户是在发送失败后还有数据等待发送,则需要重新回到初始化状态,即跳转回步骤s1中重新初始化变量。

与现有技术相比,本发明技术方案的有益效果是:针对目前ieee802.15.7标准发展不成熟,可见光csma/ca协议不能消除隐藏节点和性能较差的问题,基于rts/cts信道预约机制,提出了一种全双工连续传输的随机接入方法,能够有效地解决可见光隐藏节点问题并同时优化可见光csma/ca协议的吞吐量和延时性能。

附图说明

图1为本发明可见光通信隐藏节点示意图。

图2为本发明基于rts/cts的可见光全双工csma/ca数据发送时序图。

图3为本发明基于rts/cts的可见光连续传输csma/ca随机接入流程图。

图4为本发明实施例1与ieee802.15.7标准csma/ca吞吐量仿真曲线对比。

图5为本发明实施例1与ieee802.15.7标准csma/ca延时仿真曲线对比。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面以可见光随机接入机制中基于时隙的、cca有效的csma/ca流程图做进一步说明。但应指出,本发明提出的全双工连续传输随机接入方法也适用于可选的非时隙或者cca无效的情况。

实施例1

如图1~3所示,一种基于信道预约机制的可见光全双工连续传输随机接入方法,包括以下具体步骤:

s1:用户有数据等待发送,进行随机退避;

s2:退避时间结束,用户执行cca判断当前信道是否空闲;

s3:如果cca检测到当前信道为空闲状态,用户不直接发送数据帧,而首先发送rts帧对信道进行预约;

s4:全双工的可见光接入点在接收rts帧时,需要对外发送忙音以消除隐藏节点;即其他用户如果在当前时刻执行cca,会接收到接入点发送的忙音信号从而认为当前信道状态为忙,需要重新进行退避来避免冲突;

s5:用户利用短帧间隔(shortinterframespace,sifs)时间从发送状态切换到接收状态,等待cts帧的到来;

s6:用户接收到接入点回复的cts帧后,从接收状态切换回发送状态并开始发送数据帧;

s7:用户在发送完数据帧后,在状态转换时间(aturnaroundtime-tx-rx,ttx-rx)内从发送状态切换回接收状态并等待接入点回复应答(acknowledgement,ack)帧;

s8:全双工的可见光接入点在接收数据帧时,同样需要对外广播忙音直到数据帧接收完毕,向用户回复ack帧,以表示数据帧接收成功;

s9:用户在成功接收到ack帧后,如果用户在发送成功后还有数据等待发送,等待一个长帧间隔(longinterframespace,lifs)时间后立即进行连续传输,即不再重新进行随机退避,而直接执行cca判断当前信道的状态;

s10:当用户已经没有数据等待发送,随机接入流程结束。

在具体实施过程中,步骤s1中,当用户有数据需要发送时与接入点的信标帧同步,将退避的周期边界与接入点对齐。

在具体实施过程中,在步骤s1中初始化两个变量:nb和be;变量nb表示退避的次数,nb初始化为0;变量be表示退避指数,用于计算退避窗口大小,设初始值为macminbe,代表mac层规定的be的最小值。

在具体实施过程中,在步骤s2中计算退避窗口cw的大小cw=2be-1并从[0,cw]范围内随机选择一个整数退避窗口进行退避;。

在具体实施过程中,在步骤s2中,当cca检测到信道状态为忙时,mac层将变量nb和be分别自增1;设置be的最大值不能超过macmaxbe;并判断nb的值是否超过macmaxcsmabackoffs;如果nb超过macmaxcsmabackoffs,即本次发送失败,mac层向上层发送一个失败的指令并将数据包丢弃;如果nb没有超过macmaxcsmabackoffs,则跳转回步骤s2中进入下一个退避阶段,计算退避窗口cw;反之,如果cca检测到信道状态为空闲,执行步骤s3;其中macmaxbe为mac层规定的be最大值,macmaxcsmabackoffs为mac层规定的csma/ca最大退避次数。

在具体实施过程中,在步骤s5中,用户如果在macackwaitduration时间内没有接收到cts帧,则说明发送的rts帧发生冲突,跳转回步骤s2;反之,在成功接收到cts帧后,进入到步骤s6;其中,macackwaitduration为mac层规定的用户等待接入点回复cts帧或ack帧的超时时间长度。

在具体实施过程中,在步骤s8中,用户如果在macackwaitduration时间内没有接收到ack帧,则说明发送的数据帧丢失,跳转回步骤s2;反之,在成功接收到接入点回复的ack帧后,进入到步骤s9。

在具体实施过程中,在步骤s9中,用户进行连续传输,执行cca检测信道状态时,如果恰好有其他用户已经在lifs时间内退避结束并执行cca,则其他用户会认为信道空闲而开始发送rts帧;则当前用户在连续传输时所执行的cca会检测到信道状态为忙,需要重新进行退避,即连续传输失败;反之,如果当前用户连续传输时执行的cca检测到信道空闲,则直接进入到下一轮发送rts的环节,即连续传输成功。

在具体实施过程中,在等待一个lifs时间间隔后,将变量nb和be重新初始化,但是将退避窗口cw设置为0,即不再重新进行随机退避,而直接执行cca;如果用户是在发送失败后还有数据等待发送,则需要重新回到初始化状态,即跳转回步骤s1中重新初始化变量。

为了更充分地阐述本发明所具有的有益效果,以下结合实际仿真结果,对比本发明与ieee802.15.7标准中csma/ca协议在吞吐量和延时性能,进一步对本发明的有效性和先进性予以说明。仿真场景假设用户处于饱和状态,即用户一直有数据包需要发送给接入点。

如图4对比了本发明方案与ieee802.15.7标准中csma/ca协议在不考虑隐藏节点情况下的吞吐量曲线。随着用户数量的增长,即使不考虑隐藏节点问题,ieee802.15.7标准中的csma/ca协议的吞吐量性能会逐渐下降,而本发明方案不仅解决了隐藏节点问题,同时避免了数据帧的冲突。因此吞吐量的性能比目前ieee802.15.7标准的csma/ca协议要好。并且在用户数量较多时,本发明方案的吞吐量性能也能保持基本恒定。

如图5对比了本发明方案与ieee802.15.7标准中csma/ca协议在不考虑隐藏节点情况下的延时曲线。随着用户数量的增长,两种随机接入方法成功发送数据包所消耗的延时都逐渐增加。本发明方案虽然引入了rts/cts开销,但基于信道预约机制,即结合了rts/cts四次握手的连续传输方案能在不额外引入冲突的情况下,缩短了用户退避消耗的时间。因此,本发明方案的延时性能比目前ieee802.15.7标准的csma/ca协议要好。

以上仿真结果表明,本发明方案在吞吐量和延时性能上都比现有ieee802.15.7标准的csma/ca协议性能好,说明了本发明方案的先进性。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1