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 数据字段:真正的「货物」
数据字段的结构相对简单,但细节很多。它由三部分组成:
- Service字段:16比特,用于初始化扰码器
- PSDU(物理层服务数据单元):真正的MAC层数据
- Tail和Pad比特:用于收尾和对齐
为什么要有Service字段?因为数据在发送前要经过扰码处理,接收机需要知道扰码器的初始状态。这16比特里,前7比特就是扰码器的初始状态值。
PSDU的长度是可变的,从几十字节到上万字节不等。802.11ax支持的最大PSDU长度是11454字节,比802.11ac的6487字节大了将近一倍。这意味着什么?意味着单次传输可以携带更多数据,吞吐量自然就上去了。
2.4 帧结构全景图
下面我用一张SVG图来展示整个帧结构的逻辑关系。这张图是我做项目时自己画的,后来成了团队内部培训的标准素材。
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