一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于硬件性能调整的无线通信CSMA/CA的优化方法与流程

2022-06-02 12:44:20 来源:中国专利 TAG:

一种基于硬件性能调整的无线通信csma/ca的优化方法
技术领域
1.本发明属于无线通信技术领域,具体涉及一种基于硬件性能调整的无线通信csma/ca的优化方法。


背景技术:

2.无线通信中所运用的csma/ca算法主要应用在mac层,其在媒体介质访问时起重要功能,在多节点同时检测信道强度准备传输时起作用。它进行时域分配,实现帧的分时发送,避免无线信号在空间中重合,避免无线信息碰撞冲突。此外,无线通信中所应用csma/ca算法主要是服务于多个模块或节点的发送时,作为能否发送的条件判断。具体使用方式为,需要发送无线信息的模块或节点,检测到信道被其他无线信息占用时,则通过csma/ca算法进行一定时间的退避,退避完成后再次检测信道,当信道空闲时,则准备发送。
3.由于硬件的原因,从准备发送到信息真正发送出需要初始化时间,这类似与汽车从启动到能移动时需要一定时间。在这段时间内,并无无线信号发出,导致其他模块或节点误判信道空闲,若准备发送,将导致信号冲突。另外,接收端接收到信息后会自动回复确认,该回复信息的发送同样需要初始化时间,但由于接收端模块需处理很多信息,默认没有时间去退避等待,所以该回复帧不经过退避,直接回复,造成较大的冲突风险。
4.综上所述,现有的csma/ca算法处理较笼统,设计时并未考虑硬件初始化时间以及回复帧造成的坏影响。因此,需要对现有的csma/ca算法进行优化处理。


技术实现要素:

5.为适应无线通信技术领域的实际需求,本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种基于硬件性能调整的无线通信csma/ca的优化方法,以提高多模块无线通信时系统的通信效率,节约系统运行资源。
6.为了解决上述技术问题,本发明采用的技术方案为:一种基于硬件性能调整的无线通信csma/ca的优化方法,包括以下步骤:
7.s1、无线发送模块有无线消息准备发送时,根据最小退避时间获取第一随机时间,并根据第一随机时间进行退避,退避完成后,进入步骤s2;所述最小退避时间基于硬件性能确定;
8.s2、读取当前信道的信号值,判断当前信道是否处于空闲,若否,则进入步骤s3,若是,则进入步骤s4;
9.s3、根据当前窗口cw和最小退避时间获取第二随机时间,并根据第二随机时间进行退避,然后调整窗口cw的大小,并返回进入步骤s2;所述第一随机时间和第二随机时间均为随机时间;
10.s4、进行固定时间pcstime的退避,然后读取当前信道的信号值,并判断是否处于空闲,若否,返回步骤s3,若是,则退避结束,准备发送,并调整窗口cw的大小。
11.所述步骤s1中第一随机时间的计算方法为:
12.delaytime1=n1*slottime n2*slottime;
13.其中,delaytime1表示第一随机时间,n1表示第一随机整数,其为在0~n1内取值的随机整数,n2为第二随机整数,其为在0~n2内取值的随机整数,n1为与当前窗口值cw正相关的正整数,n2为与节点数量正相关的正整数,slottime为最小退避时间单位。
14.所述步骤s1中,第一随机时间的计算方法为:
15.delaytime1=n1*slottime;
16.其中,delaytime1表示第一随机时间,n1表示第一随机整数,其为在0~n1内取值的随机整数,slottime为最小退避时间单位,n1为与当前窗口值cw正相关的正整数。
17.所述步骤s3中第二随机时间的计算方法为:
18.delaytime2=n1*slottime;
19.其中,delaytime2表示第二随机时间,,n1表示第一随机整数,其为在0~n1内取值的随机整数,slottime为最小退避时间单位,n1为与当前窗口值cw正相关的正整数。
20.所述步骤s3中调整窗口cw大小的方法为:循环开始时,逐渐增加当前窗口cw的值作为调整后的窗口cw的值,当循环进行到窗口cw调整到最大值时,逐渐减小窗口cw的值作为调整后的窗口cw的值,直至窗口cw的值减小到最小值后保持不变。
21.固定时间pcstime的取值范围为:
22.t1 t2<pcstime<t1 t2 t3;
23.所述t1表示接收模块处理信息时间,t2表示使接收模块初始化回复时间,t3表示接收模块回复占用空间时间段。
24.所述步骤s4中,调整窗口cw的值时,将其减小。
25.本发明与现有技术相比具有以下有益效果:
26.1、本发明提供了一种基于硬件性能调整的无线通信csma/ca的优化方法,仍以csma/ca算法规则为基础,在无线通信中csma/ca算法退避结果作为参照,在此基础上优化csma/ca算法,更贴合真实无线发送场景实际用途。
27.2.本发明可根据不同的硬件性能以及竞争情况进行参数调整,竞争主要是根据csma/ca算法规则调节,而对性能的适应主要是从pcstime和最小时间单位slottime两个参数进行调节,因此,本发明解决硬件性能问题的效果明显,降低了信道中信息的冲突现象,提高了信道中有效信息的占比。硬件性能的不足具有普遍性,本发明在无线发送中针对csma/ca应用进行了适应,弥补了这方面的空白。
28.3.本发明不对发送相关报文进行修改,节约了信息空间,使用简易,可移植性强。
29.4.本发明充分考虑接收端工作繁重的情况,对于接收端回复ack帧的场景,仅在发送端进行优化,节约系统运行资源。
附图说明
30.图1为本发明实施例一提供的一种基于硬件性能调整的无线通信csma/ca的优化方法的流程示意图;
31.图2为本发明实施例一中常数n和窗口cw关系图;
32.图3为本发明实施例一中pcstime时长选择示意图。
33.具体实施例方式
34.为使本发明的技术方案和优点更加清楚,下面将结合具体实施例和附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.实施例一
36.无线通信模块在运行无线通信时,模块需要按程序需求向代理节点模块,频繁发送数据。而从准备发送到成功发送,无线通信硬件模块需要经过例如220us~352us不等的初始化时间(和所发送数据的长度呈正相关,也和硬件性能相关)才发出对应无线信号。该信号在空间中存在的时间,和信号的长度呈正相关,当两个或以上无线信号在空间中同时存在时,信号发生冲突,信号无效。空间中的信号来源主要来自于各子节点模块的数据发送,以及接收模块的数据回复,发出无线信号后,空间中的信号强度上升。据此,在信号发送前,加入信号强度检测功能,结合csma/ca退避算法,判断模块数据能否发送。由于多模块工作时,通常只配有一个接收模块统筹处理,因此接收模块系统工作量较大,当接收模块需要发送数据时,直接进行发送,不进行csma/ca退避算法,而当普通模块进行发送时,需主动避开该无线信息,以防冲突。
37.本发明实施例提供的一种基于硬件性能调整的无线通信csma/ca的优化方法,主要应用于在多模块同时运行,存在回复场景,发送前无线通信模块硬件需要初始化时间下的优化。假设通信时包括多个无线发送模块,即设备甲、设备乙
……
,通信过程中假如设备甲确认发送,在设备甲进行初始化的220us~352us时间内,即第一初始化时间内,设备乙检测信道强度,此时信道仍然空闲(因为设备甲还未发出),于是设备乙开始准备发送,两模块都初始化完毕时,可能会出现冲突。此类情况普遍存在,而发生概率根据硬件发送需要的初始化时间呈正相关,此冲突无可避免,本发明能通过合理的处理控制其发生概率。此外,在发送成功后,接收端模块将信息进行处理,以及回复确认帧,同样需要初始化时间,即第二初始化时间,由此引发第二重冲突。
38.本发明针对第一初始化时间进行优化,主要目标是将csma/ca算法中退避时间进行合理延长,从而降低位于该段初始化时间的概率。对csma/ca算法的退避时间进行控制,尤其是针对最小退避时间进行控制,使其超过硬件的初始化时间,而以此作为基础,在退避过程中根据当前模块之间对信道的竞争情况,适当增加其退避时间。
39.此外,对于第二初始化时间,也就是避开回复帧初始化的方法如下,帧出现的时机为收到正常帧过后,此时空间中的高信号强度刚结束,此时接收端处理完收到的数据后,进行回复的初始化。在此期间,若有发送模块正退避完成,进行空间信号强度检测准备发送,则会和该回复帧冲突。因此,本发明实施例中引入新机制,当退避完成后再次进行一个固定时间pcstime的定时退避,该定时退避时间根据接收模块的处理信息和初始化回复帧发送的能力而定,定时完成后再次检测信道是否空闲,若再次空闲则发送,若不空闲,则重新退避,由此来防止发送帧和回复帧冲突。
40.具体地,如图1所示,本实施例提供的一种基于硬件性能调整的无线通信csma/ca的优化方法,包括以下步骤:
41.s1、无线发送模块有无线消息准备发送时,根据当前窗口cw退避第一随机时间,退避完成后,进入步骤s2。
42.步骤s1中,各个无线发送模块根据当前窗口cw和默认同时启动处理机制进行一次退避,退避时间为第一随机时间。此外,步骤s1之前,各个节点模块(无线发送模块)需要初始化csma/ca算法相关参数的值,如窗口cw的起始大小,最小退避时间单位slottime,固定时间pcstime等参数。所述最小退避时间基于硬件性能确定。
43.s2、读取当前信道的信号值,判断当前信道是否处于空闲,若否,则进入步骤s3,若是,则进入步骤s4。
44.s3、根据当前窗口cw和节点数量计算第二随机时间,退避第二随机时间,然后调整窗口cw的大小,并返回进入步骤s2;
45.步骤s2中,需要读取当前信道的信号值,并判断其是否处于高位,如果是高位,说明信道当中存在信号,信号不空闲,则进入步骤s3,根据csma/ca退避机制,进行第二随机时间的退避。退避完成后返回步骤s2循环重复,直到得出当前信号值在低位,此时信道空闲,则进入步骤s4。
46.具体地,本实施例中,第一随机时间和第二随机时间均为不为零的随机时间,所述步骤s1中,第一随机时间的计算方法为:
47.delaytime1=n1*slottime;
ꢀꢀ
(1)
48.其中,delaytime1表示第一随机时间,n1表示第一随机整数,其为在0~n1内取值的随机整数,slottime为最小退避时间单位,n1为与当前窗口值cw正相关的正整数。
49.所述步骤s3中第二随机时间与第一时间相同,其计算方法为:
50.delaytime2=n1*slottime;
ꢀꢀ
(2)
51.其中,delaytime2表示第二随机时间,n1为0~n1内的随机整数,slottime为最小退避时间单位,n1为与当前窗口值cw正相关的正整数。slottime为最小退避时间单位。应做出说明的是,本实施例中的正相关指的是可以倍数关系,指数关系或者其他正相关的关系等等,例如,n1可以等于当前窗口值,也可以等于其2倍,或者平方,等等。
52.具体地,最小退避时间单位slottime为确定值,其最低不小于所述第一初始化时间,例如可以为780us,该时间尽量略大于初始化时间的整数倍,使得退避完成后,更容易避开初始化时间区域,从而降低冲突的可能性,且保护通信效率。
53.本实施例中,第一随机时间和第二随机时间均为系数(随机整数)与最小退避时间单位slottime的乘积,在使用时取得一个随机整数,使得用于退避的第一随机时间和第二随机时间互不影响,并且可以在退避过程中使各个无线通信模块之间分散开(退避时间不同),从而提高多模块通信的效率以及信道利用效率。
54.此外,实际通信过程中,检测到信道中信号值高,则说明信道忙,随即退避。当连续退避后同样检测到信道忙时,则认为当前有较多模块在发送信息,而不是有同一模块在连续发送占用信道。为配合这一情况,所述步骤s3中对第二时间的系数的取值范围进行了调整,即每当检测到信道被占用时,将退避时间的范围适当扩大,从而一定程度上以疏散信道繁忙拥堵的现状。
55.具体地,本实施例中,窗口cw为常数,决定系数的取值范围,从而改变模块的退避时间,改变单个模块的发送优先级,从而调整模块群的竞争强度。
56.s4、进行固定时间pcstime的退避,然后读取当前信道的信号值,并判断是否处于空闲,若否,返回步骤s3,若是,则退避结束,准备发送,并调整窗口cw的大小。
57.具体地,如图3所示,固定时间pcstime的值大于从发出后接收端接收到并处理完所接收到信息,到成功发送出回复帧无线信号所需要的时间,从而防止pcstime退避完成后时间点位于接收端尚未回复时;另外pcstime需要小于从发送端发送结束到接收端回复完毕的时间,因为此时pcstime过长,影响退避效率。因此,固定时间pcstime的取值范围为:
58.t1 t2<pcstime<t1 t2 t3;(3)
59.所述t1表示接收模块处理信息时间,t2比嗾使接收模块初始化回复时间,t3表示接收模块回复占用空间时间段。
60.具体地,所述步骤s4中,调整窗口cw的值时,将其减小。
61.本实施例中,窗口作为csma/ca算法中分量最重的一个变量,只进行一次初始化。具体地,可以在初始化时将窗口赋值为2^3=8,应说明的是,窗口初始值可根据当前信道中模块数量的增加而增加,此时理论上随机数n1可以在[0,8]范围内取得一个随机整数,每当模块需退避时,可以将当前窗口扩大一倍再进行退避,直到窗口扩大到最大值(例如2^6=64,具体最大值可根据实际信道可能出现的拥堵情况而定,越容易拥堵该值应越大,和信息发送频率和模块数正相关)时,认为当前信道拥堵,随机数n1可以在[0,64]范围内取得一个随机整数。窗口到达最大值时,模块已经退避较多次,此后若继续退避,则可以将窗口逐渐减小,以促使模块成功发送该条信息,每一次窗口大小减少量可以为16(最低减小到窗口初值8),从而使模块在退避多次后,提高模块的发送优先级,促进其发送,以防由于随机数原因导致其一直退避。成功发送时,窗口可以再进一步调整,例如减小16,防止下一帧优先级受上一帧过多影响。
[0062]
应作出说明的是,本实施例中,窗口的初始化值,窗口扩大方式,窗口最大值64,最小值8,窗口缩小方式,缩小时机等,皆可根据实际中可能出现的信道拥堵情况,以及对发送效率等需求,按照csma/ca算法规则进行调整优化,以满足更多使用场景。
[0063]
多节点运行时,空间中往往伴随着密集的发送,以及单个发送模块的多次退避,本实施例中,每个模块自身cw大小随之变化,在其中调节着空间中信道的竞争强度以及模块自身的优先级。最小退避时间单位slottime值则一定程度防止在退避后,正好在其他模块初始化时间进行初始化,而pcstime则防止接收端的回复帧被冲突。
[0064]
本发明实施例可根据不同的硬件性能以及竞争情况进行参数调整,解决硬件性能问题的效果明显,降低了信道中信息的冲突现象,提高了信道中有效信息的占比。关于性能的参数调整具体是指:通过设置最小退避时间单位slottime,最小退避时间单位slottime可以根据测得的硬件从确认发送到真正发送出无线信息的时间bus而定,当时间bus越短,则slottime可以适当缩减,提高退避效率,时间bus越长则a也slottime延长,使一次退避过后更不容易落到其他模块正在进行初始化的时间。另外固定时间pcstime也随硬件的初始化时间或者软件处理时间增长而增长,因此,本发明可以基于硬件性能进行参数调整。
[0065]
此外,本发明中,通过设置最大窗口之和最小窗口值,使得通信的退避参数是基于竞争情况进行参数调整,如当前最大窗口为64,根据csma/ca规则,窗口需要成倍增长,当64的窗口不能满足最拥堵的情况时,则可将最大窗口值设成128甚至256。同理,当前最小窗口为8,当普遍竞争很弱时,可以将最小窗口从8改为4甚至2(几乎不可能),以提高随机效率。或者当出现更多模块共同启动时,可以增大起始随机数范围,更好的防止两模块共同退避的情况发生。
[0066]
实施例二
[0067]
本发明实施例二提供了一种基于硬件性能调整的无线通信csma/ca的优化方法,其步骤与实施例一相同,与实施例一不同的是,本实施例中,第一随机时间的计算方法不同。
[0068]
在批量启动模块发送时,所有模块最初窗口比较小,尽管有随机数n1的存在,但是n1值的可选范围比较小,根据随机数得到系数容易相同,容易出现多个模块几乎共同退避,共同检测信道是否被占用,如果同样得到信道空闲的结果,则该部分模块将同时准备发送,导致冲突情况。为了解决该问题,针对刚启动时模块发送集中,且窗口较小,几乎同时进行的情况,本实施例二对第一随机时间进行了进一步地优化,在进行每次发送前的第一次csma/ca退避时,将其退避时间即第一随机时间,根据模块实际的同时启动情况,另外增加一项随机数的应用。在实施例一中的第一随机时间的基础上增加另一随机数决定的时间,使第一次退避时间由两部分随机数组成,适当增加随机的范围,从而降低多模块同时唤醒时,同时退避完成的可能性。此优化仅在刚唤醒时进行退避时间增加,并不影响后续退避的所用时间,对整体的csma/ca效率不影响。
[0069]
具体地,本实施例中,所述第一随机时间的计算方法为:
[0070]
delaytime1=n1*slottime n2*slottime;
ꢀꢀ
(4)
[0071]
其中,delaytime2表示第一随机时间,n1为0~n1内的随机整数,n1为与节点数量正相关的正整数,n2为0~cw内的随机数,cw为当前窗口值,slottime为最小退避时间单位。
[0072]
具体地,最小退避时间单位slottime为确定值,其最低不小于所述第一初始化时间,例如可以为780us,该时间尽量略大于初始化时间的整数倍,使得退避完成后,更容易避开初始化时间区域,从而降低冲突的可能性,且保护通信效率。
[0073]
本实施例中,第一随机时间根据可能同时启动竞争的模块数,以及当前窗口cw大小确定,由于第一随机时间的退避主要是为了尽量避免模块同步检测信道,导致同步初始化而冲突的问题。而最有可能导致该问题的时刻,为批量模块同时启动时。此时模块的窗口初始化为最小,且模块最有可能同步进行csma/ca算法的发送。如评估同时启动的模块为10个左右,则可以选择与启动模块相关的正整数n2的取值为8,即第二随机整数n2取值范围为[0,3],在最小窗口为8情况下,第一随机整数n1的取值范围为[0,8],两者相结合,除开无效随机值0的情况,整体随机范围为[1,11],从而使10个模块重叠概率不为100%,或者再将第一随机时间取值范围设置为上述结果
×
2的方式,继续扩大整体随机范围,使其扩大为[1,22],都能降低此10个模块退避完成重叠的几率。此范围可根据同步启动模块数,对一次成功率的要求,对退避效率的要求等因素,进行调整优化。理论上随机范围为无限大时退避完成的重叠概率为0,但将随机数限定范围,主要是保护csma/ca退避效率,退避时间太长效率降低。对于退避后成功率(不重叠)需求,是在保证成功率的情况下,尽可能花更少的总时间。此类处理重心放在整体同时启动时的情况,因为根据csma/ca算法,退避窗口cw扩大时,第二随机整数的取值范围增加,且模块的发送也随着模块的运行以及之前的退避分散开,使的同步冲突的概率自动下降。
[0074]
综上所述,本发明提供了一种基于硬件性能调整的无线通信csma/ca的优化方法,以csma/ca算法规则为基础,在无线通信中csma/ca算法退避结果作为参照,在此基础上优化csma/ca算法,更贴合真实无线发送场景实际用途。.本发明可根据不同的硬件性能以及
竞争情况对第一随机时间和第二随机时间进行参数调整,解决硬件性能问题的效果明显,降低了信道中信息的冲突现象,提高了信道中有效信息的占比。硬件性能的不足具有普遍性,本发明在无线发送中针对csma/ca应用进行了适应,弥补了这方面的空白。此外,.本发明无需对发送相关报文进行修改,节约了信息空间,使用简易,可移植性强。本发明充分考虑接收端工作繁重的情况,对于接收端回复ack帧的场景,仅在发送端进行优化,节约系统运行资源。
[0075]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献