目录
NDP Feedback Report Parameter Set element格式
概述
NDP反馈报告(NDP Feedback Report,NFR)是802.11AX中引入,用于HE AP进行上行资源分配的一种机制。
为了向STA分配资源以传输HE-TB-PPDU,HE AP需要了解多个上行链路STA的调度需求,AP可以通过发送 NDP feedback report poll (NFRP) trigger帧请求STA进行 NDP feedback报告从而获得STA的资源信息。
帧格式
能力指示
HE Capabilities->HE MAC Capabilities Information->NDP Feedback Report Support指示是否支持NDP反馈上报功能。
Device | Value | NDP Feedback Report Support |
AP | 0 | 不支持NDP反馈上报流程 |
1 | 支持NDP反馈上报流程 | |
non-AP STA | 0 | 不支持响应NFRP Trigger帧 |
1 | 支持响应NFRP Trigger帧 |
NFRP Trigger帧格式
AP通过发送NFRP(NDP feedback report poll) Trigger帧触发指定的non-AP STA上报NDP反馈报告。
NFRP Trigger帧由non-HT PPDU、HT PPDU、或者作为VHT、HE ER SU PPDU、HE SU PPDU中的tagged MPDU承载。
NFRP Trigger帧格式如下:
下文主要介绍Common Info字段和User Info List字段。
Common Info字段
NFRP Trigger帧中Common Info字段定义如下:
Field | Bits | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
Trigger Type | 4 | 指示不同的Trigger帧类型。
| ||||||||||||||||||||||||||||||||||||||||||||||||
UL Length | 12 | 指示请求的HE TB PPDU的L-SIG LENGTH字段值 | ||||||||||||||||||||||||||||||||||||||||||||||||
More TF | 1 | 指示是否有一系列的Trigger帧发送 | ||||||||||||||||||||||||||||||||||||||||||||||||
CS Required | 1 | 指示了User Info字段中标识的STA是否需要使用能量检测去侦听媒介并基于媒介状态和NAV来决定响应与否。 1:需要;0:不需要 | ||||||||||||||||||||||||||||||||||||||||||||||||
UL BW | 2 | 指示带宽NDP Feedback Report的带宽。字段值Fval 对应带宽如下:
| ||||||||||||||||||||||||||||||||||||||||||||||||
GI And HE-LTF Type | 2 | 指示了HE TB PPDU 响应的GI和HE-LTF 类型。 在NFRP Trigger帧中该字段为2。
| ||||||||||||||||||||||||||||||||||||||||||||||||
MU-MIMO HE-LTF Mode | 1 | 指示了当GI And HE-LTF Type=2x HE-LTF + 1.6us GI或4x HE-LTF + 3.2us GI时,包含全带宽RU且分配给多个non-AP STA的HE TB PPDU(例如 UL MU-MIMO)的HE-LTF模式。
| ||||||||||||||||||||||||||||||||||||||||||||||||
Number Of HE-LTF Symbols And Midamble Periodicity | 3 | 当Doppler字段为0时,Number Of HE-LTF Symbols And Midamble Periodicity字段指示了HE TB PPDU中存在的HE-LTF符号数;当Doppler字段为1时,Number Of HE-LTF Symbols And Midamble Periodicity字段指示了HE TB PPDU中存在的HE-LTF符号数和Midamble周期性。 在NFRP Trigger帧中该字段为1(默认Doppler = 0?)。
| ||||||||||||||||||||||||||||||||||||||||||||||||
UL STBC | 9 | 指示请求的HE TB PPDU的STBC编码状态。 1:STBC编码,0:非STBC 在NFRP Trigger帧中该字段为Reserved。 | ||||||||||||||||||||||||||||||||||||||||||||||||
LDPC Extra Symbol Segment | 1 | 指示LDPC额外符号段状态。 1:指示请求的HE TB PPDU的存在LDPC额外符号段。 0:指示请求的HE TB PPDU的不存在LDPC额外符号段。 在NFRP Trigger帧中该字段为Reserved。 | ||||||||||||||||||||||||||||||||||||||||||||||||
AP Tx Power | 6 | 指示发送Trigger PPDU的所有天线的天线连接器处的联合发射功率,单位:dBm/20MHz。 发射功率 | ||||||||||||||||||||||||||||||||||||||||||||||||
Pre-FEC Padding Factor | 2 | 指示Pre-FEC 填充因子。
在NFRP Trigger帧中该字段为Reserved。 | ||||||||||||||||||||||||||||||||||||||||||||||||
PE Disambiguity | 1 | 指示PE处理时的歧义消除。 在NFRP Trigger帧中该字段为Reserved。 | ||||||||||||||||||||||||||||||||||||||||||||||||
UL Spatial Reuse | 16 | 指示请求的HE TB PPDU的HE-SIG-A字段中Spatial Reuse字段中要包括的值。其格式如下: 其中每个Spatial Reuse n(1≤n≤4 )分别设置成HE TB PPDU的HE-SIG-A中相应字段的值。 在NFRP Trigger帧中该字段为Reserved。 | ||||||||||||||||||||||||||||||||||||||||||||||||
Doppler | 1 | 指示在HE TB PPDU中是否存在midamble,设为1则存在、设为0则不存在。 在NFRP Trigger帧中该字段为Reserved。 | ||||||||||||||||||||||||||||||||||||||||||||||||
UL HE-SIG-A2 Reserved | 9 | 指示请求的HE TB PPDU的HE-SIG-A2字段中Reserved字段中要包括的值。 HE AP设置该字段为全1。 | ||||||||||||||||||||||||||||||||||||||||||||||||
Reserved | 1 | 预留 | ||||||||||||||||||||||||||||||||||||||||||||||||
Trigger Dependent Common Info | Variable | 在NFRP Trigger帧中该字段不存在。 |
User Info List字段
User Info List 包含0~多个User Info字段。
NFRP Trigger帧的User Info字段和其他Trigger帧的User Info字段不一样。
NFRP Trigger帧的User Info各字段定义如下:
Field | Bits | Description | ||||||
Starting AID | 12 | NFRP Trigger帧要求AID范围内的STA进行响应,Starting AID字段指示了该AID范围内的起始AID。 | ||||||
Reserved | 9 | 预留 | ||||||
Feedback Type | 4 |
| ||||||
Reserved | 7 | 预留 | ||||||
UL Target Receive Power | 7 | 指示AP期望接收的、在连接器处测量到的各天线的信号功率。 字段值Fval∈[0,90] ,则AP的期望接收功率 字段值Fval∈[91,126] ,为Reserved; 字段值Fval=127 ,则STA将以其被分配的HE-MCS对应的最大发射功率发送HE TB PPDU,AP的期望接收功率TargetpwrdBm=STAMaxTxPwrassignedHEMCS- Pathloss ; | ||||||
Number Of Spatially Multiplexed Users | 1 | 指示了相同RU的tones上空分复用的STA数NSpatiallyMultiUser ,字段值 对于NFRP Trigger帧中要求响应的STA数 BW=NFRP Trigger Frame→Common Info→UL BW 该字段只有1个bit,显然空分复用用户数最大为2。 |
HE TB feedback NDP帧格式
Non-AP STA通过HE TB feedback NDP,是HE TB PPDU的一种变体,其中携带NDP 反馈报告,来响应NFRP Trigger帧。
其中HE-LTF既非HE single stream pilot HE-LTF模式也不是HE masked HE-LTF sequence模式。只应用了4xHE-LTF。
其帧格式如下:
其中:
- 使用HE TB PPDU格式,但不包含Data字段(PSDU)。
- PE字段的持续时间为0us。
- 有两个4x HE-LTF符号。
- HE-LTF只有一种格式组合:4x HE-LTF with 3.2us GI(所以NFRP Trigger帧中的GI And HE-LTF Type = 2)。
- HE TB Feedback NDP的HE-LTF符号的生成定义见27.3.11.10,此文不展开。
HE-STF和pre-HE modulated字段仅在STA被分配的20 MHz信道上传输。
NDP Feedback Report Parameter Set element格式
dot11HEOptionImplemented = True时NDP Feedback Report Parameter Set element字段是可选的,否则该字段不存在。
AP可以在Beacon、Probe Response、 (Re)Association Response帧中携带NDP Feedback Report Parameter Set element字段,用以调整NDP反馈报告的参数。
注:NDP Feedback Report Parameter Set element发送与否并不影响NFR流程。
NDP Feedback Report Parameter Set element关键字段定义如下:
表 3‑4 NDP Feedback Report Parameter Set element关键字段
Field | Octets | Description |
Element ID | 1 | NDP Feedback Report Parameter Set element的Element ID = 255 |
Length | 1 | 指示该元素字段后续(即整个元素字段不包括Element ID & Length)的字节数。 |
Element ID Extension | 1 | NDP Feedback Report Parameter Set element的Element ID Extension = 41 |
Resource Request Buffer Threshold Exponent | 1 | 用于计算两个资源请求缓存阈值。 如果AP不发送NDP Feedback Report Parameter Set element,或者STA未收到NDP Feedback Report Parameter Set elemen,则资源请求缓存阈值 = 256 octets。 注,由于该字段占1字节,因此最大值为 |
NDP反馈报告流程
概述
AP通过发送NFRP(NDP feedback report poll) Trigger帧触发指定的non-AP STA上报NDP反馈报告,其中还制定了各STA响应时的传输参数。
被指定的多个Non-AP STA需要根据的NFRP Trigger帧中的指示,根据缓存状态和PowerSave决定是否进行响应,并导出其NDP反馈报告响应的HE TB feedback NDP的传输参数,在NFRP之后SIFS同时发送NDP反馈报告,其中携带资源请求信息(反馈状态FEEDBACK_STATUS)。
NFRP Trigger帧的User Info-> Feedback Type = 0(resource request)时,被调度的STA可以发送NDP反馈报告以告知AP其处于awake状态且UL MU发送队列中有待发送的帧。
如果STA不满足下表的任一条件,则STA不响应AP的NFRP Trigger帧。
TXVECTOR->FEEDBACK_STATUS | Condition |
0 | STA处于awake状态且报告的缓存数据不超过资源请求缓存阈值。 即使没有缓存数据待传,STA也可以通过该值指示其处于awake状态。例如请求AP递交缓存的STA数据。 |
1 | STA处于awake状态且报告的缓存数据超过资源请求缓存阈值。 |
基于AP最近发送的NDP Feedback Report Parameter Set element->Resource Request Buffer Threshold Exponent字段,可以计算资源请求缓存阈值Resource Request Buffer Threshold=2Resource Request Buffer Threshold Exponent 。如果STA未收到相应字段,则认为资源请求缓存阈值Resource Request Buffer Threshold=256 。
NDP反馈流程大致如下:
在AP发送了NFRP Trigger帧后,各STA可以同时发送NDP反馈报告响应给AP。AP不应发送任何确认去应答STA的NDP反馈报告。
不考虑MultiBSSID的AP或STA来自multiple BSSID中两个不同BSS的情况,AP应在NFRP Trigger帧中设置TA字段=AP MAC Address ,RA字段 = broadcast Address。
AP解调HE-LTF,并从中会付出FEEDBACK_STATUS。
基于RXVECTOR->NDP_REPORT,AP根据哪些资源上有传输(即NFR响应)得出AID列表、并得到对应的NFR响应。
其中对于Trigger帧中分配的每个空间流和tone集资源,RXVECTOR->NDP_REPORT提供了检测的状态数组,该数组有NSTA个入口,根据不同的传输检测结果每个入口的值如下表:
Condition | NDP_REPORT Entry Value |
在第1组tone集检测到传输 | 1 |
在第2组tone集检测到传输 | 0 |
未在任一组tone集检测到传输 | NONE |
STA行为
对于non-AP STA,当满足以下所有条件时,可以发送NDP反馈报告进行NFRP响应以告知AP其处于awake状态且UL MU发送队列中有待发送的帧:
- 接收到的PPDU中包含NFRP Trigger帧。
- AP的NFRP Trigger帧指示了non-AP STA被调度
- non-AP STA与NFRP Trigger帧的TA字段指示的BSSID相关联,或者non-AP STA与多BSSID集中的非传输BSSID关联且NFRP Trigger帧的TA字段为多BSSID集中的传输BSSID。
- NFRP Trigger帧中通过AID范围指示了non-AP STA被调度,即该STA满足
,其中:
- AIDSTA 是STA的AID;
- AIDstart 是 NFRP trigger 帧中携带的 starting AID字段指示的值;
- NSTA 是被调度来响应NFRP trigger 帧的non-AP STA数,可以通过NFRP Trigger帧中UL BW 字段 和 Number Of Spatially Multiplexed Users字段计算得出:
- STA的HE MAC Capabilities Information-> NDP feedback report support = 1。
- AP发送的NFRP Trigger帧的User Info-> Feedback Type = 0(resource request),且STA处于awake状态并满足以下任一条件(如果不满足下表的任一条件,则STA不响应AP的NFRP Trigger帧):
TXVECTOR->FEEDBACK_STATUS(1bit) | Condition |
0 | STA处于awake状态且报告的缓存数据不超过资源请求缓存阈值。 即使没有缓存数据待传,STA也可以通过该值指示其处于awake状态。例如请求AP递交缓存的STA数据。 |
1 | STA处于awake状态且报告的缓存数据超过资源请求缓存阈值。 |
其中:
基于其关联的AP(不考虑non-AP STA与多BSSID集中的非传输BSSID关联的情况)最近发送的Beacon/Probe Response/(Re)Association Response->NDP Feedback Report Parameter Set element字段,可以计算资源请求缓存阈值Resource Request Buffer Threshold=2Resource Request Buffer Threshold Exponent 。如果STA未收到相应字段,则认为资源请求缓存阈值Resource Request Buffer Threshold = 256 。
STA据此得到TXVECTOR->FEEDBACK_STATUS,并将该FEEDBACK_STATUS用于调制每个tone集的tones。
NDP反馈报告的TXVECTOR参数
除了以下关键参数外,non-AP STA的NDP反馈报告的TXVECTOR参数与其他响应Trigger帧(除了MU RTS Trigger帧)的HE TB PPDU的TXVECTOR参数一致。
以下对两种TXVECTOR的关键参数进行比较。
TXVECTOR参数 | 其他响应Trigger帧(除了MU RTS Trigger帧)的HE TB PPDU的TXVECTOR参数值 | NDP反馈报告的TXVECTOR参数 |
FORMAT | = HE_TB | = HE_TB |
TRIGGER_METHOD | TRIGGER_FRAME | <-同 |
APEP_LENGTH | 如果FORMAT = HE_SU且APEP_LENGTH=0,则指示为HE sounding NDP; 否则,指示PSDU内A-MPDU pre-EOF padding的字节数,数值范围[1, aPSDUMaxLength]。 | = 0 正如HE TB NDP帧格式所示,没有PSDU。 |
TXOP_DURATION | 见26.11.5章节,本文不展开讨论 | <-同 |
BSS_COLOR | 如果是从HE PPDU中收到Trigger帧,则设置为HE PPDU-> RXVECTOR-> BSS_COLOR; 如果是从non-HE PPDU中收到Trigger帧,则设置为active BSS color。(如果收到对端HE STA的HE Operation element则active BSS color = HE Operation element->BSS Color;如果收到对端HE STA的BSS Color Change Announcement element且通过了BSS color change TBTT则active BSS color = BSS Color Change Announcement element ->New BSS Color) | <-同 |
L_LENGTH | = Trigger frame-> Common Info -> UL Length | <-同 |
GI_TYPE and HE_LTF_TYPE | = Trigger frame-> Common Info ->GI and HE-LTF Type | <-同 |
NUM_STS | 设置为Trigger frame-> User Info->SS Allocation->Number Of Spatial Streams和Trigger frame->Common Info->UL STBC联合指示的值。 如果HE TB PPDU是在UORA流程中的RARU上传输,则NUM_STS = 1。 | = 1 |
CH_BANDWIDTH | = Trigger frame-> Common Info ->UL BW | <-同 |
HE_LTF_MODE | 如果HE_LTF_TYPE参数不指示为1x HE-LTF且Trigger指示全带宽MU-MIMO,则 = Trigger frame-> Common Info ->MU-MIMO HE-LTF Mode; 否则该参数不存在。 | <-同 |
NUM_HE_LTF | = Trigger frame-> Common Info -> Number Of HE-LTF Symbols And Midamble Periodicity中指示的Number Of HE-LTF Symbols | <-同 |
STBC | = Trigger frame-> Common Info ->UL STBC | <-同 |
LDPC_EXTRA_SYMBOL | = Trigger frame-> Common Info -> LDPC Extra Symbol Segment | <-同 |
SPATIAL_REUSE | = Trigger frame-> Common Info -> UL Spatial Reuse | = PSR_DISALLOW |
DOPPLER | = Trigger frame-> Common Info -> Doppler | <-同 |
MIDAMBLE_PERIODICITY | 当Trigger frame-> Common Info -> Doppler = 1时该参数存在且 = Trigger frame-> Common Info -> Number Of HE-LTF Symbols And Midamble Periodicity指示的Midamble Periodicity; 否则该参数不存在。 | <-同 |
HE_SIG_A2_RESERVED | = Trigger frame-> Common Info -> UL HE-SIG-A2 Reserved | |
MCS | = Trigger frame-> User Info-> UL HE-MCS | = 0 |
DCM | = Trigger frame-> User Info-> UL DCM | = 0 |
STARTING_STS_NUM | = Trigger frame->User Info->UL DCM->SS Allocation->Starting Spatial Stream 该值是STA被分配的STS的偏移。(比该STA被分配的STS的索引还低的、分配给其他用户的所有STS数之和) 如果该HE TB PPDU是在UORA流程中的RARU上发送的,则该参数为0。 | 根据Trigger frame->User Info-> Starting AID,计算出STARTING_STS_NUM =AID-Starting AID/18/2BW |
RU_TONE_SET_INDEX | 根据Trigger frame->User Info-> Starting AID,计算出RU_TONE_SET_INDEX =1+((AID-Starting AID)mod(18×2BW)) 注:RU_TONE_SET index的每个子载波包括在20MHz信道内,且可以被在20MHz工作的STA传输。 | |
FEC_CODING | = Trigger frame-> User Info-> UL FEC Coding Type | = BCC_CODING |
RU_ALLOCATION | 如果是非RARU或Trigger frame-> User Info->Number Of RA-RU=0的RARU,则设置为Trigger frame-> User Info-> RU Allocation指示的值; 如果此RU是以Trigger frame-> User Info->Number Of RA-RU != 0的RARU为起始的一组连续的RARU的第k个RU,则设置为Trigger frame-> User Info-> RU Allocation指示的值 + k – 1。 | = BW下最大的RU大小 |
TXPWR_LEVEL_INDEX | 基于Trigger frame-> Common Info -> AP Tx Power和Trigger frame-> User Info-> UL Target Receive Power及HE TB PPDU的传输功率控制需求(协议27.3.15.2章节)得出该参数值 | <-同 |
HE_TB_PE_DISAMBIGUITY | = Trigger frame-> Common Info -> PE Disambiguity | <-同 |
PRE_FEC_PADDING_FACTOR | = Trigger frame-> Common Info -> Pre-FEC Padding Factor | <-同 |
FEEDBACK_STATUS | 当FORMAT = HE_TB且APEP_LENGTH = 0,则该比特用于调制每个tone set的各tone。 否则不存在。 | NDP反馈报告中FORMAT = HE_TB且APEP_LENGTH = 0,则该比特用于调制每个tone set的各tone。 |
STA处理流程
- STA满足上一节的反馈条件。
- STA根据NFRP Trigger帧的参数,设置了大部分的TXVECTOR参数。
- STA根据自身AID、Trigger frame->User Info-> Starting AID,计算出:
- 根据AP最近发送的NDP Feedback Report Parameter Set element->Resource Request Buffer Threshold Exponent字段,可以计算资源请求缓存阈值:
- 比较STA(awake)的缓存STABUs与Resource Request Buffer Threshold ,得出FEEDBACK_STATUS:
- 根据HE TB feedback NDP帧所述,其采用的HE-LTF既非HE single stream pilot HE-LTF模式也不是HE masked HE-LTF sequence模式。只应用了4xHE-LTF。该4xHE-LTF序列按如下公式生成:
其中:
是在常规HE-LTF序列上子载波k的值。
是基于FEEDBACK_STATUS 和RU_TONE_SET_INDEX 及带宽从下表查询得到的用户的子载波索引集。
使用4xHE-LTF生成HE TB feedback NDP帧,携带NDP 反馈报告,在NFRP Trigger帧所在的PPDU后的SIFS时间发送,以响应NFRP Trigger帧。
NDP反馈报告流程中的Power save操作
AP发送NFRP Trigger帧给在PS模式下工作的non-AP STA,如果该STA进行了NDP反馈报告,则AP认为该STA处于或已转换到awake状态,并遵循以下规则。
- 根据11.2.3.5章节的规则,AP向发送了UAPSD trigger帧的STA递交BU。
- 根据11.2.3.1章节的规则,AP向发送了PS-Poll帧的STA递交BU。
- 根据26.8章节的规则,AP在TWT SP期间向TWT STA递交BU。
注意,由于AP不对NDP反馈报告响应发送确认,因此发送了NDP反馈报告响应并指示其处于awake状态的STA仍然可以发送PS-Poll 或 U-APSD trigger帧,以指示其处于awake状态。