2. 802.11ax物理层帧结构解析:前导码、信令字段、数据字段的比特级拆解

各位好,今天我们聊聊802.11ax的物理层帧结构。说实话,刚接触WiFi6的时候,我也被那一堆字段搞得头大。但后来我发现,只要把前导码、信令字段和数据字段这三块拆开看,事情就简单多了。

我个人习惯把物理层帧想象成一个快递包裹——前导码是快递单号,信令字段是配送信息,数据字段才是真正的货物。咱们一层层剥开来看。

2.1 前导码:接收机的第一道曙光

前导码的作用是什么?说白了,就是让接收机知道「嘿,有数据来了,准备接收」。我刚开始做基带算法时,总觉得前导码就是个固定的序列,没什么好研究的。直到有一次调试,发现接收机老是丢包,查了三天才发现是前导码检测阈值设错了。

802.11ax的前导码分为两部分:

  • L-STF(传统短训练字段):用于粗同步和AGC调整
  • L-LTF(传统长训练字段):用于精同步和信道估计

嗯,这里要注意:虽然802.11ax是新一代标准,但前导码的前半部分必须和802.11a/n/ac兼容。为什么?因为不同代的设备要能共存。你想想看,如果老设备看不懂新帧,那整个网络就乱套了。

关键点:L-STF和L-LTF的时域结构在802.11a到ax之间完全一致。这是WiFi向后兼容性的基石。

2.2 信令字段:帧的「身份证」

信令字段承载着接收机解码所需的所有参数。802.11ax的信令字段比前几代复杂得多,我把它拆成三个子字段来讲。

2.2.1 L-SIG:传统信令字段

L-SIG只有24比特,包含速率和长度信息。我记得第一次看协议文档时,觉得这24比特能装什么?后来发现,它其实是个「占位符」,主要作用是让老设备知道这个帧有多长,好乖乖地进入NAV(网络分配向量)状态。

2.2.2 RL-SIG:重复信令字段

这是802.11ax新增的。说白了就是把L-SIG重复一遍。为什么要重复?为了增加检测可靠性。我在项目中遇到过,在低信噪比环境下,没有RL-SIG的帧检测成功率会下降10%以上。

2.2.3 HE-SIG-A/B:高效信令字段

这才是802.11ax的核心信令。HE-SIG-A包含52比特,HE-SIG-B包含最多260比特。它们携带的信息包括:

字段 比特数 内容
HE-SIG-A 52 带宽、MCS、编码方式、GI长度、STBC等
HE-SIG-B 最多260 RU分配、用户特定参数、CRC等

避坑指南:我曾经在解析HE-SIG-B时踩过一个坑——它的内容长度是变化的,取决于RU分配方式。如果你按固定长度去解析,大概率会出错。建议先解析HE-SIG-A中的带宽字段,再决定HE-SIG-B的解析方式。

2.3 数据字段:真正的「货物」

数据字段的结构相对简单,但细节很多。它由三部分组成:

  1. Service字段:16比特,用于初始化扰码器
  2. PSDU(物理层服务数据单元):真正的MAC层数据
  3. Tail和Pad比特:用于收尾和对齐

为什么要有Service字段?因为数据在发送前要经过扰码处理,接收机需要知道扰码器的初始状态。这16比特里,前7比特就是扰码器的初始状态值。

PSDU的长度是可变的,从几十字节到上万字节不等。802.11ax支持的最大PSDU长度是11454字节,比802.11ac的6487字节大了将近一倍。这意味着什么?意味着单次传输可以携带更多数据,吞吐量自然就上去了。

2.4 帧结构全景图

下面我用一张SVG图来展示整个帧结构的逻辑关系。这张图是我做项目时自己画的,后来成了团队内部培训的标准素材。

802.11ax 物理层帧结构全景图 PPDU (PLCP Protocol Data Unit) 前导码 (Preamble) 信令字段 (SIG) 数据字段 (Data) L-STF L-LTF L-SIG RL-SIG HE-SIG-A Service PSDU Tail 发送顺序:从左到右 注意:HE-SIG-B 仅在 MU-MIMO 和 OFDMA 模式下存在 SU 模式下只有 HE-SIG-A,没有 HE-SIG-B

2.5 比特级拆解:一个实际例子

光说不练假把式。咱们来看一个实际的比特流例子。假设我们要发送一个20MHz带宽、MCS7、GI=0.8μs的帧:

// HE-SIG-A 字段比特分配示例
// 带宽: 20MHz -> 00 (2比特)
// MCS: 7 -> 0111 (4比特)
// GI: 0.8μs -> 0 (1比特)
// STBC: 未使用 -> 0 (1比特)
// ... 其他字段省略

比特流: 00 0111 0 0 ... (共52比特)

// 实际发送时,这52比特会经过卷积编码、交织、BPSK调制
// 然后映射到26个子载波上(20MHz带宽下)

你可能会问:为什么要用BPSK调制信令字段?因为BPSK的鲁棒性最强,确保信令字段能在最差的信道条件下被正确解码。数据字段可以用更高阶的调制方式,但信令字段必须可靠。

重要提醒:HE-SIG-A的CRC校验是强制性的。我曾经见过一个设计,CRC计算逻辑写错了,导致所有帧都被丢弃。调试时发现接收到的HE-SIG-A内容明明是对的,但CRC就是不通过。最后定位到是CRC生成多项式用错了。所以,写代码时一定要对照协议标准,别想当然。

2.6 我的经验总结

做了这么多年WiFi基带,我总结了几点关于帧结构解析的体会:

  • 先同步,再解析:前导码检测是第一步,这一步做不好,后面全是白费
  • 信令字段是灵魂:所有解码参数都在这里,解析错了就全错了
  • 数据字段要灵活:长度可变,要支持各种组合
  • 兼容性不能丢:802.11ax必须能和a/n/ac共存,这是硬性要求

嗯,今天就先聊到这里。帧结构是基带算法的基础,把这个搞清楚了,后面的OFDMA、MU-MIMO这些高级特性才能理解透彻。


公众号:蓝海资料掘金营,微信deep3321