一种改进的非时隙CSMA/CA优化方法及评估方法

文档序号:31476022发布日期:2022-09-10 00:28阅读:364来源:国知局
一种改进的非时隙CSMA/CA优化方法及评估方法
一种改进的非时隙csma/ca优化方法及评估方法
技术领域
1.本发明属于无线传感器网络技术领域,具体涉及一种改进的非时隙csma/ca优化方法,还涉及一种改进的非时隙csma/ca优化的评估方法,适用于改善zigbee网络系统下的传输性能。


背景技术:

2.在低速无线个域网中,根据网络当中的协调器节点是否产生网络信标,可以分为信标使能网络和无信标使能网络。在信标使能网络中,普通设备首先需要侦听接收网络中的信标帧,如果接收到了信标帧,就跟发送信标开始的超帧的节点进行同步,同步后使用时隙csma/ca算法竞争信道。在非信标使能网络中,普通节点向协调器节点发送数据时,使用非时隙的csma/ca算法竞争信道进行数据包的传输。
3.在基于非时隙csma/ca算法的mac协议中,退避算法的目的是给予节点适度的退避时间,来正确反映节点附近的信道竞争情况。大多数无线通信协议都采用二进制指数退避,主要由三个变量决定算法的过程,分别是退避次数nb(number of backoffs),竞争窗口长度cw(content window length),退避指数be(backoff exponent)。标准设定下be的最小值为3,最大值为8,退避计数器为[0,2
be-1]中的一个随机数,cw值默认为2。
[0004]
随着无线传感器网络的飞速发展,网络通信的流量也会越来越大,流量过大会导致丢包率严重,高延迟等情况,这对于医疗行业是不能容忍的,所以必须保证数据的稳定传输,尤其是重要的数据,大多数程序要求高可靠性和低延迟,甚至有的程序同时要求高可靠性和低延迟,但是在网络负重的情况下,这两个要求在本质上是矛盾的,因此,需要在满足可靠性的同时去降低延迟,提出了一种改进的非时隙csma/ca算法,能够有效的提高网络中的传输性能。


技术实现要素:

[0005]
本发明的目的在于针对ieee 802.15.4网络非时隙的csma/ca算法存在的上述问题,提供一种改进的非时隙csma/ca优化方法,还提供一种改进的非时隙csma/ca优化的评估方法,本发明将医疗数据根据实际情况分级,保证高优先级的数据能够优先传输,在满足不同优先级数据稳定传输的同时,增加了可靠性,减少了延迟,对整个网络系统进行了优化。
[0006]
为了实现上述目的,本发明采用以下技术方案:一种改进的非时隙csma/ca优化方法,包括以下步骤:步骤1、终端节点对医疗数据进行分级;步骤2、终端节点根据待传的医疗数据包的优先级设置初始退避窗口大小;步骤3、设置第i次退避对应的退避窗口,设置不同优先级的医疗数据包对应的退避时隙;
步骤4、当终端节点退避完成后,终端节点进行信道检测,当检测信道为空闲时,跳转到步骤5,当检测信道为繁忙时,跳转到步骤6;步骤5、终端节点对应的竞争窗口长度cw减1,cw=0时,竞争信道成功,允许终端节点接入信道,转到步骤7;步骤6、退避次数nb加1,若退避次数nb大于退避次数最大值macmaxcsmabackoffs,丢弃该医疗数据包,转到步骤2进行下一次医疗数据包的传输,若退避次数nb不大于退避次数最大值macmaxcsmabackoffs,跳转到步骤3;步骤7、终端节点开始向协调器节点传输医疗数据包,若传输成功,转到步骤8,若传输失败,转到步骤9;步骤8、协调器节点成功接收到终端节点发送的医疗数据包以后,向终端节点返回ack确认帧,转到步骤2进行下一次医疗数据包的传输;步骤9、将重传次数fr加1,若重传次数fr大于重传次数最大值macmaxframeretries,丢弃该医疗数据包,并将错误返回到上层网络,转到步骤2进行下一次医疗数据包的传输;重传次数fr不大于重传次数的最大值macmaxframeretries,转到步骤2继续重传该医疗数据包。
[0007]
如上所述步骤2中初始退避窗口大小,其中,macminbe为退避指数的最小值,优先级越高的医疗数据包对应的退避指数的最小值macminbe越小,退避次数初始值设置为0。
[0008]
如上所述步骤3中第i次退避对应的退避窗口,为初始退避窗口大小,,其中,是退避指数的最大值macmaxbe,是退避指数的最小值macminbe,所述步骤3中设置不同优先级的医疗数据包对应的退避时隙为,为医疗数据包在zigbee网关的缓存队列的缓存占有率,为优先级因子,x为区间内的随机一个整数。
[0009]
一种改进的非时隙csma/ca优化的评估方法,包括以下步骤:步骤1、构建三维马尔科夫链模型;其中,表示t时刻的退避次数,表示t时刻的退避计数器的状态,退避计数器的值为之间的随机值,表示t时刻的重传次数,定义m表示退避的最大次数,r表示重传的最大次数;步骤2、构建公式:
其中,表示为第i次退避,退避窗口为j,第k次重传时的概率,表示为第i次退避,第k次重传时进行cca的概率,表示为医疗数据包被成功接收的概率,表示为终端节点成功发送医疗数据包后,未收到ack确认帧的概率,表示为医疗数据包传输失败,丢弃医疗数据包的概率;率;率;率;率;其中,为终端节点第一次完成随机退避的概率,为医疗数据包生成概率,为cca失败的概率,为重传概率,,,表示医疗数据包长度对应的时隙长度,表示ack确认帧等待时间,表示ack确认帧长度对应的时隙长度,表示医疗数据包间隔对应的时隙长度,表示ack超时时间,参数,,步骤3、定义终端节点的医疗数据包生成率为,t0为每个时隙的单位周期时间,t为间隔周期;步骤4、定义终端节点执行空闲信道评估的概率为:步骤5、定义重传概率为:
其中,为传输错误的概率,n表示终端节点的个数;步骤6、定义cca失败概率为:步骤7、根据步骤2-6构建的公式,根据马尔科夫链归一性求出的表达式,进而计算概率、重传概率以及cca失败概率的值。
[0010]
步骤8、计算信道接入失败的概率为:;步骤9、计算传输时超出重传限制而丢包的概率为:;步骤10、计算可靠性的概率为:;步骤11、计算总延迟为:=退避阶段的延迟+数据包成功传输的延迟+重传过程的延迟;;;;其中,为时隙的单位时间,为初始退避窗口,表示第k次重传时,医疗数据包传输失败的延迟,。
[0011]
本发明相对于现有技术,具有以下有益效果:1、本发明选取的硬件传输模块为zigbee模块芯片cc2530,zigbee模块采用默认的csma/ca算法来进行冲突避免,会导致重要的数据来不及传输,甚至出现严重丢包的情况,根据本发明提出的非时隙csma/ca优化方法,更改zigbee协议栈中mac层协议,可以使医疗数据包更稳定的传输。
[0012]
2、由于医疗系统的特殊性,通过优先级因子和缓存占比进行医疗数据包的优先级设置,可以使得传输的过程中,高优先级数据包传输的占比会越来越大,符合实际情况。
附图说明
[0013]
图1是三维马尔科夫链模型图;图2是重传次数对可靠性的影响与比较图;图3是最大退避次数对可靠性的影响与比较图;图4是退避指数最小值对可靠性的影响与比较图;图5是重传次数对延迟的影响与比较图;图6是最大退避次数对延迟的影响与比较图;图7是退避指数最小值对延迟的影响与比较图;图8是不同优先级数据信道接入概率图;图9是不同优先级数据包吞吐量图。
具体实施方式
[0014]
为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0015]
在非信标使能网络中,终端节点向协调器节点发送医疗数据时,使用非时隙的csma/ca算法竞争信道进行医疗数据包的传输。默认的csma/ca算法无法满足医疗条件下需要同时满足高可靠性以及低延迟的情况,现有的很多csma/ca算法,有的只能满足高可靠性,有的只能满足低延迟,因此,本发明对现有技术进行了优化,提出了一种改进的非时隙csma/ca优化方法,包括以下步骤:步骤1、终端节点对医疗数据进行分级,对医疗数据等级的评判主要依赖于各项身体指标在医治的过程中的重要性进行分级,医疗领域的主要医疗数据分为:高优先级医疗数据为人体的体征数据,如心率、血压、血氧等以及紧急情况的报警信号、患者发出的求救信号等,低优先级医疗数据为环境温度,如温度、湿度等。根据上述医疗数据的重要程度,将高优先级数据优先级因子设置为0.7,低优先级数据优先级因子设置为0.3,终端节点将医疗数据封装为医疗数据包进行传输。
[0016]
步骤2、终端节点根据待传的医疗数据包的优先级设置初始退避窗口大小,,其中macminbe为退避指数(be)的最小值,决定了初始退避窗口的大小,不同优先级的医疗数据包,对应的退避指数的最小值macminbe不同,优先级越高,macminbe越小,本实施例中,将高优先级医疗数据包的退避指数的最小值macminbe设置为2,低优先级医疗数据包的退避指数的最小值macminbe设置为3。退避次数(nb)初始值均设置为0。
[0017]
步骤3、设置退避窗口,i为退避次数序号,为
初始退避窗口大小,,其中是macmaxbe,为退避指数(be)的最大值,是macminbe,为退避指数(be)的最小值。
[0018]
扫描时隙边界,在区间内随机选取一个整数x,再根据不同优先级的医疗数据包在zigbee网关的缓存队列的缓存占有率,以及医疗数据包的优先级对应的优先级因子来确定退避时隙,设置不同优先级的医疗数据包对应的退避时隙为。(例如,整个缓存队列大小为200,其中150给高优先级数据,50给低优先级数据,那么高优先级的缓存占有率为队列中的高优先级医疗数据包/150,同样,低优先级数据的缓存占有率为队列中的低优先级医疗数据包/50)。
[0019]
步骤4、当终端节点退避完成后,终端节点进行信道检测,当检测信道为空闲时,跳转到步骤5,当检测信道为繁忙时,跳转到步骤6。
[0020]
步骤5、终端节点对应的竞争窗口长度(cw)减1,本实施例默认所有终端节点对应的竞争窗口长度的初始值为1,cw=0时,竞争信道成功,允许终端节点接入信道,转到步骤7。
[0021]
步骤6、由于信道繁忙,终端节点需要进行下一次退避,退避次数(nb)加1,判断退避次数nb是否大于退避次数最大值macmaxcsmabackoffs,若大于退避次数最大值macmaxcsmabackoffs,则竞争信道失败,丢弃该医疗数据包,转到步骤2进行下一次医疗数据包的传输,若不大于退避次数最大值macmaxcsmabackoffs,跳转到步骤3。
[0022]
步骤7、终端节点接入信道成功,终端节点开始向协调器节点传输医疗数据包,若传输成功,转到步骤8,若传输失败,则对医疗数据包进行重传,转到步骤9。
[0023]
步骤8、协调器节点成功接收到终端节点发送的医疗数据包以后,向终端节点返回ack确认帧,此次传输完成,转到步骤2进行下一次医疗数据包的传输。
[0024]
步骤9、将重传次数(fr)加1,判断重传次数fr是否大于重传次数最大值macmaxframeretries,若大于重传次数最大值macmaxframeretries,丢弃该医疗数据包,并将错误返回到上层网络,转到步骤2进行下一次医疗数据包的传输。若不大于重传次数的最大值macmaxframeretries,转到步骤2继续重传该医疗数据包。
[0025]
实施例2:实施例1所述一种改进的非时隙csma/ca优化的评估方法,包括以下步骤:建立一个三维马尔科夫链模型,如图1所示,三维马尔科夫链模型表示t时刻的终端节点的状态,其中表示t时刻的退避次数,表示t时刻的退避计数器的状态,退避计数器的值为之间的随机值,表示t时刻的重传次数,为方便符号表示,定义m表示退避的最大次数,r表示重传的最大次数,退避窗口表示为,i为退避次数序号,为初始退避窗口大小,,其中是macmaxbe,为退避指数(be)的最大值,是macminbe,为退避指数(be)的最小值。本实施例采用单跳
星型网络拓扑,其中包括一个协调器节点和12个终端节点,且所有节点的侦听范围都足够大,故不考虑隐藏节点的问题。
[0026]
为了保证数据帧的可靠传输,为非时隙的csma/ca算法增加了重传机制,当终端节点向协调器节点发送数据帧后,如果在规定时间内没有收到协调器节点发送过来ack确认帧,终端节点将再次访问信道并且发送数据帧,且重传次数(fr)加1,当重传次数达到最大次数macmaxframeretries时,则传输失败。
[0027]
假设终端节点在[nt,(n+1)t]的时间间隔内,t为间隔周期,每次随机且均匀的生成第n个医疗数据包,每个时隙的单位周期时间为t0,值为320us,终端节点的医疗数据包生成率为,在时间间隔t内,可以计算为:将非时隙的csma/ca算法过程可以划分为不同的阶段,分别为回退递减,cca,数据包成功接收,终端节点未收到ack确认帧以及丢弃数据包,根据马尔科夫链的规律,所有阶段概率和为1,则有如下等式:其中,表示为第i次退避,退避窗口为j,第k次重传时的概率,表示为第i次退避,第k次重传时进行cca的概率,表示为医疗数据包被成功接收的概率,表示为终端节点成功发送医疗数据包后,未收到ack确认帧的概率,表示为医疗数据包传输失败,丢弃医疗数据包的概率。
[0028]
每个阶段的概率总和表达式如下:每个阶段的概率总和表达式如下:每个阶段的概率总和表达式如下:每个阶段的概率总和表达式如下:每个阶段的概率总和表达式如下:其中为终端节点第一次完成随机退避的概率,为医疗数据包生成概率,
为cca失败的概率,为重传概率,,。这里表示医疗数据包长度对应的时隙长度,表示ack确认帧等待时间,表示ack确认帧长度对应的时隙长度,表示医疗数据包间隔对应的时隙长度,表示ack超时时间。为了简化整个公式,令,。
[0029]
在随机的时间段内,定义终端节点执行空闲信道评估(cca)的概率为为:定义为重传概率,即终端节点发送医疗数据包到信道但未收到ack确认帧的概率,如果一个医疗数据包在传输的途中,与其他传输的医疗数据包发生碰撞,或者由于信道错误引起的传输错误,终端节点将尝试重新传输医疗数据包,直到达到最大重传次数。所以造成丢包的原因有两个:1)由于碰撞引起的丢包,2)传输错误。设为传输错误的概率,因此重传概率定义为:其中,n表示终端节点的个数。同样的,为了求得cca失败概率,即检测信道发现信道被占用的概率,可以将cca失败概率分为两部分,分别为医疗数据包传输时cca失败概率和ack确认帧传输时cca失败概率,因此cca失败概率定义为:将和分别表示为分别表示为其中为ack确认帧长度,n为终端节点个数,由此可以推导出cca失败概率为:联立上述公式,由马尔科夫链归一性可求出的表达式,再运用数值求解计算出执行空闲信道评估的概率、重传概率以及cca失败概率的值。
[0030]
为了分析本技术算法的性能,计算本技术算法的可靠性和延迟,可靠性定义为终端节点发送医疗数据包后,协调器节点成功接收数据包的概率。在非时隙csma/ca中,发生丢包的原因主要有两个:1)信道访问失败,2)传输时超出了重传限制。当回退次数达到了回退最大值时,终端节点依然无法感知到空闲信道,则信道访问失败,或者医疗数据包在达到最大重传次数时,依然无法感知到空闲信道后被丢弃。信道接入失败的概率为:其中表示为经历最大回退次数的概率,传输时超出重传限制而丢包的概率为:因此,通过上述公式可以得出可靠性的概率为延迟定义为从终端节点产生医疗数据包到终端节点接收到ack确认帧之间的时间间隔,丢弃的医疗数据包不考虑延迟问题。将总延迟分为三个部分,1) 退避阶段的延迟,2),2),3)终端节点未接收到ack确认帧时重传过程的延迟,因此,总延迟的表达式为:当终端节点进行cca时,发现信道繁忙,则进入退避状态,退避阶段的延迟表达式为:其中,为时隙的单位时间,为初始退避窗口。由于成功传输的数据包长度为,则很容易得出数据包成功传输的延迟。当医疗数据包发送到信道后,由于碰撞或者传输错误导致发送终端节点无法接收到ack确认帧,则进入重传状态,重传过程的延迟的表达式为:其中,表示第k次重传时,医疗数据包传输失败的延迟,且,由于,则本实施例中,。
[0031]
根据本发明提出的技术方案步骤,使用omnet++ 5.6.2平台进行仿真,仿真场景如下:本仿真拓扑结构为星型拓扑,1个协调器节点和12个终端节点,终端节点定期向协调器节点发送医疗数据包。为了比较mac参数对可靠性和延迟的影响,选择三个关键的参数,分别为重传次数的最大值,退避次数的最大值,退避指数的最小值进行变量分析。实验设置的取值范围为[1,7],的取值范围为[3,6],的取值范围为[1,6],设置传输错误概率的值分别为0.05,0.1,0.2三种情况,每个节点传输错误的概率是相同的,仿真参数表如表1。
[0032]
表1 仿真参数表(一)、可靠性分析与比较选择与biswas的模型进行比较,biswas模型是一种非时隙的ieee 802.15.4网络二维马尔科夫链分析模型,考虑了传输错误的概率,没有重传机制,只对其可靠性进行分析比较。如图2所示,设置为3,设置为4,很明显,可靠性随着的变大而变大,传输错误概率的值不同,可靠性也不同,当比较小时,可靠性随着的变大而显著变大,当大于5时,可靠性变大的幅度减小,因为过多的重传会导致碰撞的几率变大,从而导致丢包率变大。因此,并不是越大越好,反而会增加网络开销。如图3所示,设置为3,设置为3,可以看出的值对可靠性没有显著的影响,如图4所示,设置为4,设置为3,可以提高可靠性,因为决定初始退避窗口大小,可以减少碰撞次数,从以上分析可知,影响可靠性最主要的因素是。
[0033]
(二)、延迟分析与比较同样,分析了三个关键参数对延迟的影响,如图5所示,当比较小时,对延迟的影响不明显,然而当比较大时,延迟随着的变大而变大,这是因为当比较小时,大多数终端节点不需要重传就能传输成功。如图6所示,同样,只有当比较大时,延迟会随着的变大而变大。如图7所示,随着的变大,延迟明显变大,因为决定了初始退避窗口,越大,接入信道前的等待时间就越长,因此,影响延迟的主要参数是。
[0034]
由于是医疗系统下的csma/ca算法,因此为了保证重要的数据能够优先传输,优化算法会对数据进行分级,本技术对数据等级的评判主要依赖于各项身体指标在医治过程中的重要性进行分级,医疗领域主要数据分为:第一优先级数据为人体的体征数据,如心率、血压、血氧等,第二优先级数据为环境温度,如温度、湿度等,第三优先级数据为其他信号,
如紧急情况的报警信号、患者发出的求救信号等。根据上述数据的重要程度,将人体的体征数据以及其他信号划分为高优先级数据,环境温度划分为低优先级数据。在上文分析中得出,是影响延迟的主要参数,为了保证高优先级数据优先传输,因此给高优先级数据的初始值设置为2,低优先级数据的初始值设置为3,由此让高优先级数据能够优先接入信道,通过仿真实验,如图8所示,高优先级数据比低优先级数据接入信道的概率更高。
[0035]
为了进一步保证高优先级数据优先传输,本技术设置两次优先级筛选,第一次为zigbee网关的缓存队列的缓存占有率,(例如,整个缓存队列大小为200,其中150给高优先级数据,50给低优先级数据,那么高优先级的缓存占有率为队列中的高优先级医疗数据包/150,同样,低优先级数据的缓存占有率为队列中的低优先级医疗数据包/50),第二次为优先级数据的优先级因子来确定退避时隙,本技术中高优先级数据优先级因子为0.7,低优先级数据优先级因子为0.3,退避时隙为之间的随机值x,进行优先级区分后,退避时隙为,通过仿真实验,如图9所示,高优先级数据包的吞吐量高于低优先级数据包。
[0036]
综上所述,本文首先提出了一种非时隙csma/ca算法及其三维马尔科夫链模型,推导了可靠性以及延迟的表达式,通过仿真实验,验证了三个关键参数对可靠性和延迟的影响,证明了所提出算法的有效性,增加了可靠性,保证整个网络可靠传输,优化了网络的性能。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1