针对WLAN设备的快速速率适配的制作方法

文档序号:19019648发布日期:2019-11-01 20:32阅读:137来源:国知局
针对WLAN设备的快速速率适配的制作方法

本申请要求于2018年4月24日提交的美国临时专利申请62/662,072的权益,其公开内容通过引用并入本文。

本公开总体上涉及无线通信,并且特别地涉及用于通信设备中的速率适配的方法和系统。



背景技术:

已经提出了各种技术以用于适配无线局域网(wlan)中的无线通信链路的数据速率。例如,kamerman和monteban在“ahigh-performancewirelesslanfortheunlicensedband,”belllabstechnicaljournal,夏季发行,1997年,第118至133页中描述了一种被称为自动速率回退(arf)的速率适配算法。lacage等人在“ieee802.11rateadaptation:apracticalapproach”,halarchive,halid:inria-00070784,2006年5月19日中描述了被称为adaptivearf(aarf)的对arf的改进。

pavon和choi在2003年ieee国际通信大会(icc'03)的会议记录,2003年6月,第1108-1113页的“linkadaptationstrategyforieee802.11wlanviareceivedsignalstrengthmeasurement”中描述了一种链路适配算法,该算法基于从接收到的帧测量的接收到信号强度来使发射速率与当前链路状况适配。

bicket在2005年2月麻省理工学院msc论文的“bit-rateselectioninwirelessnetworks”中描述了被称为samplerate的比特率选择算法。samplerate以一个比特率发送大多数数据分组,这被认为提供最高的吞吐量。samplerate以某种其他比特率周期性地发送数据分组,以便更新该比特率丢失率的记录。如果基于其他比特率的记录的丢失率的吞吐量估计高于当前比特率的吞吐量,则samplerate切换到不同的比特率。

以上描述作为本领域中的相关技术的一般概述而被呈现,并且不应被解释为承认其包含的任何信息构成针对本专利申请的现有技术。



技术实现要素:

本文描述的实施例提供了一种用于通信设备中的速率适配的方法。该方法包括,在时间间隔期间,通过无线信道向对等通信设备进行以下两者(i)以通信数据速率发射承载用户数据的通信分组,以及(ii)以从通信数据速率得出的信道探测数据速率发射用于探测信道状况的信道探测分组。通信分组的第一统计性能和信道探测分组的第二统计性能在时间间隔上被估计。通信数据速率针对后续时间间隔基于第一统计性能和第二统计性能中的至少一项而被设置的。

在一些实施例中,该方法还包括基于通信分组的第一统计性能来决定是否在后续时间间隔中发射所述信道探测分组。在一个实施例中,该方法还包括基于通信分组的第一统计性能来决定是否在后续时间间隔中、相对于该时间间隔增加或减少信道探测数据速率。

在一个示例实施例中,该方法还包括:当通信分组的第一统计性能优于第一性能阈值时,在后续时间间隔中、相对于该时间间隔增加用于信道探测分组的信道探测数据速率;当第一统计性能劣于第二性能阈值时,在后续时间间隔中、相对于该时间间隔减少信道探测数据速率;以及当第一统计性能在第一性能阈值和第二性能阈值之间时,决定不在后续时间间隔中发射信道探测分组。

在一个公开的实施例中,针对后续时间间隔设置通信数据速率包括:当信道探测分组的第二统计性能优于第一性能阈值时,在后续时间间隔中、相对于该时间间隔增加通信数据速率;当第二统计性能劣于第二性能阈值时,在后续时间间隔中、相对于时间间隔减少通信数据速率;以及当第二统计性能在第一性能阈值和第二性能阈值之间时,将后续时间间隔中的通信数据速率保持为如在该时间间隔中一样。

在一些实施例中,该方法还包括:响应于与对等通信设备的链路的初始建立或者在链路的不活动之后,基于从对等通信设备接收的反向信道信号的质量来初始化通信数据速率。在一个实施例中,估计第一统计性能和第二统计性能包括估计指示通信分组和信道探测分组的吞吐量的性能测量。附加地或者备选地,估计第一统计性能和第二统计性能包括估计指示通信分组和信道探测分组的错误率的性能测量。

在一个实施例中,估计第一统计性能和第二统计性能仅基于通信分组和信道探测分组的、排除重新发射的第一发射而被执行。在一个公开的实施例中,该方法包括至少在给定时间将通信数据速率设置为与信道探测数据速率不同。

根据本文描述的实施例,附加地提供了一种包括发射器和处理器的通信设备。发射器被配置为通过无线信道向对等通信设备发射信号。处理器被配置为:在时间间隔期间,使用发射器向对等通信设备进行以下两者:(i)以通信数据速率发射承载用户数据的通信分组,以及(ii)以从通信数据速率得出的信道探测数据速率发射用于探测信道状况的信道探测分组;在该时间间隔上估计通信分组的第一统计性能和信道探测分组的第二统计性能;以及针对后续时间间隔,基于第一统计性能和第二统计性能中的至少一项来设置通信数据速率。

从以下对其实施例的详细描述以及附图中将更全面地理解本公开,其中:

附图说明

图1是示意性地图示了根据本文描述的实施例的无线局域网(wlan)的框图;

图2是示意性地图示了根据本文描述的实施例的用于图1的wlan中的速率适配的方法的流程图;以及

图3是示意性地图示了根据本文描述的实施例的wlan链路中随时间的速率适配的示例场景的示图。

具体实施方式

在各种通信应用中,期望适配利用其通过通信信道发射数据的速率,以考虑信道状况的变化。最佳速率适配过程支持通信系统以按照在任何给定时间可实现的最高可能数据速率操作,同时将通信质量维持在指定的可接受水平。

在实践中,最佳速率适配通常难以实现,例如当信道变化快速且强烈时。这样的不稳定的信道状况可能是由于例如发射器或接收器的运动、多路径衰落,由其他同时发射引起的分组冲突和/或来自其他源的干扰。

随着可能的数据速率的数目(例如,空间流的数目和调制和编码方案-mcs的数目)的增长,速率适配变得更加成问题。例如,ieee802.11ax标准规定使用多达八个空间流和多达十二个不同的mcs。评估如此大量的可能的数据速率在计算上是复杂且耗时的,并且如果信道变化太快则可能完全失败。

本文描述的实施例提供了用于在wlan和其他通信系统中执行速率适配的改进的方法和装置。无论空间流的数目和数据速率的可能的数目如何,所公开的技术在存在快速信道变化的情况中都表现良好。然而,所公开的技术并不限于这样的苛刻的条件,而是可用于任何信道。

在一些公开的实施例中,通信设备通过无线信道将携带用户数据的通信分组发射给对等通信设备。为了实现快速和可靠的速率适配,通信设备还发射用于探测信道状况的信道探测分组。信道探测分组通常被与通信分组交织,例如,只要通信设备不忙于发射通信分组,就按顺序发射。

在一些实施例中,除了服务用于探测信道状况之外,信道探测分组还将用户数据携带给对等通信设备。在其他实施例中,信道探测分组不携带用户数据,并且仅服务用于探测信道状况。在另一些其他实施例中,信道探测分组中的一个或多个信道探测分组携带用户数据,并且一个或多个其他信道探测分组不携带用户数据。

信道探测分组通常很小并且以短间隔被发射以支持可靠性能统计的累积。在一些实施例中,探测分组的大小和分组速率被选择以便引起通信分组的吞吐量和等待时间的最小劣化。

基于从对等通信设备接收的反馈,通信设备估计通信分组的统计性能和信道探测分组的统计性能。基于所估计的性能统计,通信设备配置后续分组发射,例如,决定是否在后续时间间隔中以及以什么数据速率发射信道探测分组,并且针对后续时间间隔设置通信数据分组的数据速率。

发射通信分组的数据速率在此被称为“通信数据速率”。发射信道探测分组的数据速率在此被称为“探测数据速率”。通常,通信设备从可能数据速率的预定义的选择通信数据速率和探测数据速率两者,每个可能的数据速率对应于空间流的相应数目(nss)和相应的调制和编码方案(mcs)。在本文中,诸如“更高数据速率”、“更低数据速率”、“下一更高数据速率”、“下一更低数据速率”、“递增数据速率”、“递减数据速率”、“最高数据速率”和“最低数据速率”的术语是指由通信设备使用的预定义的集合中的数据速率的顺序(或{mcs,nss}组合的顺序)。

在所公开的实施例中,在设置探测数据速率时,通信设备不会穷尽地测试所有可能的探测数据速率,并且也不会任意地(例如,随机地)选择探测数据速率。相反,通信设备从当前使用的通信数据速率得出探测数据速率。这一技术降低了计算复杂度并且显著加快了速率适配过程。

在一个示例实施例中,通信设备针对下一时间间隔将探测数据速率设置为低于通信数据速率的一个数据速率,或者高于通信数据速率的一个数据速率,这取决于当前时间间隔中的通信分组的性能。此外,通信设备针对下一时间间隔将通信数据速率设置为低于探测数据速率的一个数据速率,与探测数据速率相同,或者高于探测数据速率的一个数据速率,这取决于当前时间间隔中的信道探测分组的性能。

通过以本文描述的方式使用信道探测分组,通信设备能够有效地并且在持续的基础上评估除当前使用的通信数据速率之外的数据速率的性能。由于这一评估与正常通信并行发生,因此通信设备能够快速地适配通信数据速率,特别是快速并且准确地响应信道状况的变化。

图1是示意性地图示了根据本文描述的实施例的无线局域网(wlan)20的框图。wlan20包括wlan设备24,其通过无线信道32与对等wlan设备28通信。在各种实施例中,wlan20根据任何合适的wlan标准的协议(诸如ieee802.11族的标准中的任何标准)操作。这一标准的一些非限制性示例变体包括802.11n、802.11ac、802.11ax和802.11p。

此外,所公开的技术不限于wlan,并且适用于涉及通信设备之间的速率适配的各种其他合适的通信系统。因此,在本上下文中,wlan设备24和28被视为通信设备的非限制性示例。

在一个示例实施例中,wlan设备24包括接入点(ap),并且对等wlan设备28包括站(sta)。在一个备选实施例中,wlan设备24包括sta,并且对等wlan设备28包括ap。所公开的技术也适用于对等场景,例如,当wlan设备24和28都包括sta时或者当wlan设备24和28都包括ap时。

通常,wlan设备24包括用于将wlan信号发射给对等wlan设备的发射器(tx)36、用于从对等wlan设备接收wlan信号的接收器(rx)40、一个或多个天线44以及执行wlan设备的各种处理功能的处理器48。在其他任务中,处理器48使用本文详细描述的方法执行快速速率适配。

在图1的实施例中,处理器48包括通信分组生成器52和探测分组生成器56。通信分组生成器52生成承载用户数据的通信分组,以用于向对等wlan设备28发射。探测分组生成器56生成信道探测分组(为简洁起见也被称为“探测分组”),以用于信道32的当前状况的估计。(如上所述,在一些实施例中,探测分组中的至少一些探测分组也携带用户数据。)分组调度器60调度通信分组和探测分组的发射,并将这两种类型的分组提供给tx36以用于发射。下面进一步说明用于速率适配的通信分组和探测分组的联合使用。

在一个实施例中,通信分组中的任何通信分组和探测分组中的任何探测分组包括例如媒体访问控制(mac)协议数据单元(mpdu)或聚合mpdu(a-mpdu),例如,如在ieee802.11标准中所规定的。

在当前示例中,处理器48还包括统计计算器68和数据速率计算器64。统计计算器68基于经由rx40从对等wlan设备28接收的反馈信息来计算信道32的统计性能测量。

反馈信息的非限制性示例包括响应于各个mpdu而被接收的确认(ack)消息和/或响应于相应的a-mpdu而被接收的块ack(ba)消息,例如,如在ieee802.11标准中所规定的。

由统计计算器68计算的统计性能测量的非限制性示例包括通信分组和/或探测分组的分组错误率(per)、由通信分组和/或探测分组实现的平均吞吐量、或任何其他适当的性能测量。

在一些实施例中,统计计算器68仅基于每个分组的第一发射来计算统计性能。换句话说,统计计算器68从统计性能的计算排除分组重新发射。在这些实施例中被计算出的per也被称为“第一发射per”,并且被定义为失败的第一发射的数目与分组的第一发射的总数目之间的比率(针对给定的数据速率并且在给定的时间间隔中)。类似地,在这些实施例中被计算出的吞吐量也被称为“第一发射吞吐量”,并且被定义为经由分组的第一发射被成功地递送的比特数目除以第一分组发射的总持续时间(针对给定的数据速率并且在给定的时间间隔中)。

在一个实施例中,数据速率计算器64使用由统计计算器68计算的统计性能测量,以用于计算和设置用于通信分组的数据速率(这里被称为“通信数据速率”)和用于探测分组的数据速率(这里被称为“探测数据速率”)。这些数据速率(通常以每单位时间的比特被表达)不应与分组速率(通常以每单位时间的分组被表达)混淆。在某些时候,通信数据速率可以与探测数据速率相同。在其他时候,通信数据速率和探测数据速率不同。

图1中描绘的wlan和wlan设备配置是示例配置,其仅出于概念清楚的目的而被选择。在备选实施例中,可以使用任何其他合适的wlan和/或wlan设备配置。例如,尽管图1仅描绘了两个wlan设备,但是为了清楚起见,现实生活中的wlan通常包括更大数目的wlan设备。为清楚起见,已经从图中省略了对于理解所公开的技术不是强制性的元件。

wlan设备24的各种元件(例如,tx36、rx40、处理器48)以及处理器48的元件(诸如通信分组生成器52、探测分组生成器56、分组调度器60、数据速率计算器64、统计计算器68)可以使用专用硬件或固件而被实现,诸如使用硬连线或可编程逻辑,例如,在专用集成电路(asic)或现场可编程门阵列(fpga)中,使用软件或使用硬件和软件元素的组合。

wlan设备24的一些功能(例如,处理器48的功能或元件中的一些或全部),可以使用可编程处理器(例如,数字信号处理器(dsp))而被实现,该可编程处理器在软件中北编程以执行本文所描述的功能。例如,可以通过网络以电子形式将软件下载到处理器,或者可以备选地或附加地,将软件提供和/或存储在诸如磁性、光学或电子存储器的非暂态有形介质上。

图2是示意性地示出了根据本文描述的实施例的用于图1的wlan设备24中的速率适配的方法的流程图。

通常,当wlan设备24和对等wlan设备28已经在它们之间建立了wlan链路时,执行图2的方法。在一些实施例中,该方法之前是初始化过程,其设置用于通信数据速率的初始值。在一个示例实施例中,初始化过程基于相互作用(reciprocity)假设,即,在前向信道(从wlan设备24到对等wlan设备28)和在反向信道(从对等wlan设备28到wlan设备24)中的信道衰减类似。在这一实施例中,数据速率计算器24基于来自对等wlan设备28的接收的信号的接收信号强度指示(rssi)和/或信噪比(snr)来初始化通信数据速率。备选地,可以使用任何其他合适的初始化过程。

图2的方法开始于wlan设备24的处理器48在窗口启动操作80处开始新的滑动窗口。滑动窗口通常被定义为足以收集针对从wlan设备24被发送给对等wlan设备28的通信分组的性能统计的时间间隔。在每个滑动窗口的末尾,处理器48通常设置用于下一滑动窗口的通信数据速率。滑动窗口不一定具有恒定的持续时间,并且可以根据需要由处理器48延长或缩短。滑动窗口持续时间的典型非限制值大约近似于10-100ms,这取决于例如流量速度。备选地,可以使用任何其他合适的持续时间。

在分组发射操作84处,处理器48将通信分组以及可选地探测分组发射给对等wlan设备28。在链路的初始化之后的第一滑动窗口中,例如,处理器48仅发射通信分组而不发射探测数据分组。通常,通信分组由通信分组生成器52生成,探测分组(如果有的话)由探测分组生成器56生成,并且调度器60将所有分组发送给tx36以用于发射。

在统计信息收集操作88处,统计计算器68收集针对通信分组的性能统计和(如果有的话)针对探测分组的性能统计。性能统计可以包括,例如,通信分组的分组错误率(per)、探测分组的per、通信分组的吞吐量、探测分组的吞吐量和/或任何其他合适的性能测量。如上所述,被计算的per和/或吞吐量通常是第一发射per和/或吞吐量(不包括重新发射)。

在一个实施例中,针对作为mpdu而被发射的分组(通信分组或探测分组),统计计算器68基于经由rx40从对等wlan设备28接收的确认(ack)消息来计算性能统计。附加地或备选地,针对作为a-mpdu而被发射的分组(通信分组或探测分组),统计计算器68基于经由rx40从对等wlan设备28接收的块确认(ba)消息来计算性能统计。

该方法现在分成两个子过程。在图的左侧被描绘的子过程中,处理器48使用通信分组的统计性能来:(i)配置将如何在下一滑动窗口中执行信道探测,以及(ii)设置用于下一滑动窗口的通信数据速率。在图的右侧被描绘的子过程中,处理器48使用探测分组的统计性能来设置用于下一滑动窗口的通信数据速率。以下描述以探测配置开始,并且然后继续描述通信数据速率的设置,但实际上,两个子过程通常在一个实施例中被并行执行。

在窗口期满检查操作92处,处理器48检查当前滑动窗口是否已经期满。如果未期满,则该方法循环回到上面的操作84。如果滑动窗口已经期满,则统计计算器68在通信per评估操作96处评估当前滑动窗口中的通信分组的第一发射per。在一个实施例中,数据速率计算器64将通信分组的per与被表示为th1和th2的两个per阈值比较,其中th2>th1。

如果per低于th1(性能优于阈值),则在速率设置操作100处,数据速率计算器64(i)将通信数据速率递增到下一更高的数据速率,并且(ii)将探测数据速率设置为高于(已经被递增的)通信数据速率的一个速率。如果无法递增通信数据速率,因为当前通信数据速率已经是支持的最高速率,则通信数据速率保持不变。

如果per在两个阈值之间,即th1<per<th2,则在速率设置操作104处,数据速率计算器64(i)保持通信数据速率不变,并且(ii)决定不在下一滑动窗口中发射探测分组。

如果per高于th2(性能劣于阈值),则在速率设置操作108处,数据速率计算器64(i)将通信数据速率递减到下一更低的数据速率,并且(ii)将探测数据速率设置为低于(已经被递减的)通信数据速率的一个速率。如果无法递减通信数据速率,因为当前通信数据速率已经是支持的最低速率,则通信数据速率保持不变。

该方法然后循环回到上面的操作80,其中开始下一滑动窗口。

在探测分组检查操作112处,处理器48检查在当前滑动窗口中被发射的探测分组的数目是否已达到预定义数目,该预定义数目通常被设置为足以准确估计探测分组的统计性能的值。对于mpdu发射,探测分组的示例预定义数目是20,尽管可以使用任何其他合适的值。

如果未达到探测分组的预定义数目,则该方法循环回到上面的操作84。如果达到探测分组的预定义最大数目,则统计计算器68在探测per评估操作116处评估当前滑动窗口中探测分组的第一发射per。

在一个实施例中,数据速率计算器64将探测分组的per与被表示为th1_probing和th2_probing的两个per阈值比较,其中th2_probing>th1_probing。th1_probing和th2_probing在图2中分别表示为th1_p和th2_p。在一些实施例中,th1_probing和th2_probing(被用于探测分组的阈值)分别被设置为与th1和th2(被用于通信分组的阈值)的值相同的值。在其他实施例中,不同的阈值被用于探测分组和通信分组。

如果per低于th1_probing(性能优于阈值),则在速率设置操作120处,数据速率计算器64将通信数据速率设置为当前探测数据速率,并且将下一探测数据速率设置为更高的一个水平。(如果无法以这种方式设置通信数据速率,因为当前探测数据速率已经是支持的最高速率,则通信数据速率保持不变。)

如果per在两个阈值之间,即th1_probing<per<th2_probing,则在速率设置操作124处,数据速率计算器64将通信数据速率设置为等于当前探测数据速率,并且停止当前滑动窗口中的探测。

如果per高于th2_probing(性能劣于阈值),则在速率设置操作128处,数据速率计算器64将通信数据速率设置为低于当前探测数据速率的一个速率。(如果无法以这种方式设置通信数据速率,因为当前探测数据速率已经是支持的最低速率,则通信数据速率保持不变。)

该方法然后循环回到上面的操作80,其中开始下一滑动窗口。

图2的流程是示例流程,其仅出于概念清楚的目的而被描绘。在备选实施例中,可以使用任何其他合适的流程。此外,上述实施例涉及通过数据速率计算器64选择通信数据速率和探测数据速率的一种可能的技术。在备选实施例中,可以使用任何其他合适的技术。下面给出了几个附加示例。

如上所述,在一些实施例中,数据速率计算器64基于在第(n-1)个滑动窗口上的通信分组的第一发射per和第一发射吞吐量来选择用于第n个滑动窗口的通信数据速率。在一个实施例中,数据速率计算器64选择通信数据速率作为在第(n-1)个滑动窗口内具有最高第一发射吞吐量的速率,即:

公式1:

其中thpt(ri,t)表示在时间t处的数据速率ri的第一发射吞吐量,并且r表示评估的数据速率的集合,并且t表示滑动窗口的持续时间。

在一个备选实施例中,数据速率计算器64选择通信数据速率作为在第(n-1)个滑动窗口中具有最高有效吞吐量的速率:

公式2:

有效吞吐量thpt_eff(ri)转而是第一发射per的函数:

公式3:

其中,per(ri)表示在第(n-1)个滑动窗口上的数据速率ri的第一发射per,m(ri)表示数据速率ri的调制顺序,cr(ri)表示数据速率ri的编码速率,并且nss(ri)表示数据速率ri的空间流的数目。

在又一实施例中,数据速率计算器64根据在第(n-1)个滑动窗口中的第一发射吞吐量和第一发射per来选择通信数据速率:

公式4:

rate(nt)=f(thpt(ri),per(ri))

例如,考虑其中根据最高第一发射吞吐量标准(等式1)而被评估的第一最佳通信数据速率与根据最高第一发射有效吞吐量标准(公式2)而被评估的第二最佳通信数据速率不同的情况。在一个实施例中,数据速率计算器64通过以下选择通信数据速率:(i)取第一最佳通信数据速率和第二最佳通信数据速率中的较高者,(ii)评估这一数据速率的第一发射per,以及(iii)将该第一发射per与目标per比较。如果第一发射per低于目标per,则第一最佳通信数据速率和第二最佳通信数据速率中的较高者被选择为用于第n个滑动窗口的通信数据速率。否则,第一最佳通信数据速率和第二最佳通信数据速率中的较低者被选择为用于第n个滑动窗口的通信数据速率。

进一步备选地,数据速率计算器64可以按照任何其他合适的方式并且基于在第(n-1)个滑动窗口上的任何其他合适的统计性能来选择用于第n个滑动窗口的通信数据速率。

在一个实施例中,在第n个滑动窗口的开始,数据速率计算器64基于per(rate(nt))(即,针对第n个滑动窗口而被选择的通信数据速率rate(nt)的第一发射per)来设置第一探测分组的探测数据速率。

在一个示例实施例中,如果per(rate(nt))低于预定义目标per,th1_probing(例如,低于10%),则数据速率计算器64将第一探测分组的探测数据速率设置为高于rate(nt)的一个速率(只要不超过最大支持的数据速率)。如果per(rate(nt))高于被表示为th2_probing的预定义的阈值,则数据速率计算器64将第一探测分组的探测数据速率设置为低于rate(nt)的一个速率(但仅高达最小支持数据速率)。

在上面的示例中,th2_probing通常是rate(nt)和rate(nt)-1的函数,因为在假设rate(nt)-1的有效吞吐量应当大于rate(nt)的有效吞吐量并且下一速率的第一发射per应当低于目标per情况下选择下一速率,即:

公式5:

(1-th2_probing)·thpt_eff(rate(nt)))

<(1-th1_probing)·thpt_eff(rate(nt)-1))

在一些实施例中,处理器48保持一个或多个th1_probing值的表,每个值被映射到一个或多个数据速率,处理器48并且使用该表以用于设置探测数据速率。在一些实施例中,该表保持用于每个支持的数据速率的相应的th1_probing值。在其他实施例中,给定的th1_probing值被映射到两个或更多个数据速率,以便简化实现并减小表大小。

继续上述示例,如果per(rate(nt))高于目标per,但低于被映射到rate(nt)的th1_probing值,则数据速率计算器64决定不在当前滑动窗口中发射探测分组。

在各种实施例中,处理器48可以基于探测分组的ack统计的per来适配探测数据速率(探测分组的数据速率)。在一些实施例中,探测分组包括a-mpdu,并且统计计算器68基于从对等wlan设备28接收的块ack(ba)消息来计算per。ba消息指示对应的a-mpdu内的失败和成功递送的mpdu。取决于a-mpdu大小,可以每a-mpdu或在多个a-mpdu上计算per。

在一个实施例中,如果用于第n个滑动窗口中的第i个探测分组(第i个mpdu)的per(被表示为probing_rate(n,i))低于针对探测分组而被定义的目标per,则只要不超过最大支持的数据速率,数据速率计算器64就将下一(第i+1个)探测分组的探测数据速率设置为比probing_rate(n,i)更高的一个速率。在这种情况中,数据速率计算器64将通信数据速率设置为probing_rate(n,i)。在一个实施例中,用于探测分组的目标per被设置为与用于通信分组的目标per相同。备选地,可以将用于探测分组的目标per设置为低于用于通信分组的目标per,以避免探测数据速率中的过度激增。

如果per(probing_rate(n,i))(用于第n个滑动窗口中的第i个探测分组的per)高于针对探测分组而被定义的目标per,但是低于对应的per_higher_th值,则数据速率计算器64决定在当前滑动窗口中停止发射探测分组。在这种情况中,数据速率计算器64将通信数据速率设置为probing_rate(n,i)。如果probing_rate(n,i)高于对应的per_higher_th值,则数据速率计算器64决定停止在当前滑动窗口中发射探测分组。在这种情况中,数据速率计算器64将通信数据速率设置为probing_rate(n,i)-1。

在以上示例中,探测分组包括a-mpdu。在备选实施例中,探测分组包括个别的mpdu,在这种情况中,处理器48基于从对等wlan设备28接收的ack消息来适配探测数据速率。

在一个示例实施例中,如果针对探测数据速率probing_rate(n,i),接收到至少num_rateup_acks个连续ack的序列(其中num_rateup_acks是预定义的阈值),则数据速率计算器64将用于下一探测分组的探测数据速率设置为一个更高的速率,即probing_rate(n,i)+1=probing_rate(n,i)+1(直到支持的最大速率)。在这种情况中,数据速率计算器64将通信数据速率设置为probing_rate(n,i)。

继续上述示例,如果针对探测数据速率probing_rate(n,i),至少num_ratedown_no_acks个mpdu的序列未接收ack(其中num_ratedown_no_acks是预定义的阈值),则数据速率计算器64将用于下一探测分组的探测数据速率设置为一个更低的速率,即probing_rate(n,i+1)=probing_rate(n,i)-1(直到支持的最小速率)。在这种情况中,数据速率计算器64将通信数据速率设置为probing_rate(n,i)。如果probing_rate(n,i+1)与当前通信数据速率rate(nt)相同,则数据速率计算器64停止探测分组在当前滑动窗口中的发射。否则,数据速率计算器64将通信数据速率设置为probing_rate(n,i)。

通常,目标per由num_rateup_acks和num_ratedown_no_acks之间的比率确定,其收敛于:

公式6:

因此,在一个实施例中,为了实现目标per,num_rateup_acks和num_ratedown_no_acks之间的比率应当被设置为:

公式7:

图3是示意性地图示了根据本文描述的实施例的wlan设备24中随时间的速率适配的示例场景的示图。从图3的左侧开始,处理器48在时间140处开始第一滑动窗口。此时,例如,响应于wlan链路在设备24和28之间的初始建立,没有性能统计可用。因此,数据速率计算器64基于从对等wlan设备28接收的反向信道信号的rssi和/或snr来设置通信数据速率。在第一滑动窗口期间,不发射探测分组。

时间144标记第一滑动窗口的结束,其中没有发射探测分组。如上所述,在一些实施例中,第一滑动窗口的持续时间(以及后续滑动窗口的持续时间)大约为10-100ms。此时,数据速率计算器64基于在第一滑动窗口期间收集的per统计来设置用于下一滑动窗口的通信数据速率,并且还在下一滑动窗口中触发探测分组的发射。

在当前示例中,通信数据速率被设置为高于初始选择的通信数据速率的一个速率,并且探测数据速率被设置为高于新设置的通信数据速率的一个速率(如在图2的操作100中)。如图所示,下一滑动窗口继续通信分组和探测分组两者的发射。连续探测分组之间的时间间隔被表示为tinterval_probing,并且通常是系统可配置的参数。

时间148标记第(n-1)个滑动窗口的结束和第n个滑动窗口的开始。在当前示例中,此时数据速率计算器64决定将用于第n个滑动窗口的通信数据速率设置为与在第(n-1)个滑动窗口中被使用的探测数据速率相同,并且在第n个滑动窗口中不发射探测分组(如图2的操作104中)。第n个滑动窗口以这种方式进行。

时间152标记第n个滑动窗口的结束。在当前示例中,此时数据速率计算器64决定递减通信数据速率,以及将探测数据速率设置为低于新设置的通信数据速率的一个速率(如图2的操作108中)。

在时间156处,数据速率计算器64决定将通信数据速率设置为与当前探测数据速率相同,并且在下一滑动窗口中以下一较低速率发射探测分组。通信数据速率保持不变。

在时间160处,设备24和28之间的wlan链路在被表示为t_idle的时段内变为空闲。在时间164处重新建立链路。在一个实施例中,处理器48类似于初始链路建立来处理不活动的这一时段,即,基于接收到的反向信道信号的rssi和/或snr来设置通信数据速率。在一些实施例中,如果不活动时段超过预定义的持续时间阈值,则处理器48恢复到通信数据速率的初始设置。

尽管这里描述的实施例主要针对存在可变信道状况的wlan通信,但是本文描述的方法和系统也可以在各种其他应用中被使用。

应注意,通过示例的方式引用了上述实施例,并且本发明不限于上文特别示出和描述的内容。相反,本发明的范围包括上文描述的各种特征的组合和子组合两者,以及本领域技术人员在阅读前面的描述时将想到的并且在现有技术中未公开的变化和修改。在本专利申请中通过引用并入的文件应被视为本申请的组成部分,除非在这些并入的文件中以与本说明书中明确或隐含的定义相冲突的方式定义任何术语,仅应考虑本说明书中的定义。

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