谷动谷力

 找回密码
 立即注册
查看: 1827|回复: 0
收起左侧

WiFi基础学习到实战(三)

[复制链接]
发表于 2022-10-12 17:35:36 | 显示全部楼层 |阅读模式
WiFi基础学习到实战(三)
* s! e- b8 d7 `5 r# d0 t* j- a; x
欢迎大家一起学习探讨通信之WLAN。上节我们对802.11标准基于OSI模型,在“数据链路层”的定义进行了解,数据传送经过LLC层被封装为一个MSDU,通过MAC层封装为一个MPDU,“数据链路层”的工作就结束了,在OSI模型中数据传输流向,MPDU将传送给物理层,本节分析802.11标准在“物理层”的定义,其对数据做了哪些处理。
5 v4 g$ }* ?, a$ Z
640?wx_fmt=png.jpg

' ]* ^4 a  `8 k- G
OSI模型中,物理层是对数据处理的最后一个阶段。802.11协议将物理层分为“PLCP子层”和“PMD子层”。

- O. a7 A, n  h) X2 F# k, {
好。先看物理层的上子层“PLCP子层”,从MAC层传下来的数据MPDU,在PLCP层,我们称作PLCP Service Data Unit,缩写(PSDU)。
6 Z8 |7 P) x' l6 f
这里大家应该有疑问“MPDU和PSDU有什么区别呢?”
2 A, p0 q9 u1 P; `! U
PSDU和MPDU本质是同一个数据格式帧。根据OSI模型,在“数据链路层”称作MPDU,“物理层”中称作PSDU,无本质区别。

# S  k" ], V) k2 W% D6 }$ @
PLCP层中PSDU将是我们准备要传输的数据,并为其添加前导序列和PHY Header,创建一个PLCP Protocol Data Unit,缩写(PPDU)。
1 x+ a1 P) D5 m/ `# {! y
PPDU数据格式由一个PLCP 前导序列,PHY Header和PSDU组成。
根据调制方式的不同,PPDU帧格式在PLCP前导序列和PLCP Header有区别。
& K, v* H# I7 I) m
下面我们讨论协议对DSSS和OFDM调制方式对应PPDU帧格式的定义。其他调制方式的PPDU帧格式在相关章节分析。

+ J* \2 Z7 W9 N  M/ U' |; V6 [% O
1. DSSS PPDU帧格式
如下图所示,DSSS PPDU由DSSS PHY前导序列,DSSS PHY Header和MPDU组成。且前导序列和PHY Header只能使用1Mb/s速率传输。
  X& _% Q) ^, r% D" e
640?wx_fmt=png.jpg

0 Q0 m7 I: Y1 l+ [: [
PHY前导序列由SYNC和SFD字段组成。
  • SYNC字段:要求设置为全1,被接收端用作同步操作。作用:告知接收方,将有帧传输。接收方根据其识别同步帧信号。
  • SFD字段:要求设置为0xF3A0,被用作指示前导序列的开始。作用:接收方基于SFD识别帧传输的开始。

    9 v2 o+ ?0 b- C6 ^& _
注:【协议原文】
  • The SYNC field shall consist of scrambled 1s. This field shall be provided so that the receiver can performthe necessary operations for synchronization.
  • The SFD shall be provided to indicate the start of PHY-dependent parameters within the PHY preamble.The SFD shall be X'F3A0' (MSB to LSB). The LSB shall be transmitted first in time.
    " h# \8 h4 M$ `3 Z0 y) y

" H. M  k8 V0 t' t0 T; `4 I& M
PHY Header由信号(SIGNAL),服务(SERVICE),长度(LENGTH)和CRC组成。
! P" y! U2 h% F( O4 R5 `
  • SIGNAL字段:用8bit标识指明传输MPDU的调制方式,数据传输速率等于其值乘100kb/s。
  • SERVICE字段:要求设置为全0。为保留字段。
  • LENGTH字段:传输当前PSDU所需要的微秒数值。
  • CRC字段:对前三个字段传输进行鉴权保护。
    ; D% v' i9 \/ i
) L3 E0 g, z9 L1 U7 ~. a  n
注:【协议原文】
  • The SIGNAL field indicates to the PHY the modulation that shall be used for transmission (and reception)of the MPDU. The data rate shall be equal to the signal field value multiplied by 100 kb/s.
  • The PHY LENGTH field shall be an unsigned integer that indicates the number of microseconds required totransmit the MPDU.
    * ~  o" e" |) X9 V- e1 ?, N1 g: a8 P

, a- n$ S2 m8 |
如下图是PPDU在MAC层,PHY PCLP层和PHY PMD层传输交互示意图。
$ M! R# v, p  P; p3 R% H" V: [/ O* ]
640?wx_fmt=png.jpg

/ D" S2 g/ i$ \+ W& h
2. OFDM PPDU帧格式
如下图所示,OFDM PPDU帧由PLCP前导序列,PLCP Header,PSDU,Tail和Pad Bits组成。

# r+ F6 {( K1 x# g& v
640?wx_fmt=png.jpg
640?wx_fmt=png.jpg
8 n  T/ a1 G. Z. h) h8 c- n, a
PLCP前导序列由10个短符号和2个长符号组成,传输用时共16us(详细的时间计算可查看协议)。
  • 10个短符号:接收方根据其做AGC调整,分集选择,时序和频率获取。
  • 2个长符号:接收方根据其做信道估计和频率精细的确定。

    2 @6 u6 _( X6 h9 n5 U6 G" J
5 B& X; y7 J8 H, t
PLCP Header由RATE,LENGTH,Parity,Tail,SERVICE字段组成。
  • RATE(4bit):指明剩余PPDU部分传输的调制类型和编码速率。
  • LENGTH(12bit):指明MAC层请求PHY将传输PSDU的字节数。
  • Parity(1bit):奇偶校验位。
  • Tail(6bit):设置全0,接收方根据其启动对RATE和LENGTH字段进行解码。
  • SERVICE(16bit):(0-6bit)用作接收方的同步解调。(7-15bit)为保留位。该16bit设置全0。

    6 m0 ?  E8 y3 G$ C6 {6 n4 j0 S
5 c9 M7 {% e$ i# T
在接收端,利用以上对前导序列和PHY Header协助PSDU的传输交付和解调。此外,RATE和LENGTH字段被CCA机制利用,CCA机制通过从RATE和LENGTH字段获取PPDU的持续时间,预测信道的繁忙时长,即使监测设备不支持数据传输的速率。
' g0 F! ~) P. Q6 ~$ w: a/ U
注:【协议原文】
  • The RATE field conveys information about the type of modulationand the coding rate as used in the rest of the PPDU.
  • PHY LENGTH field shall be an unsigned 12-bit integer that indicates the number of octets in the PSDU that the MAC is currently requesting the PHY to transmit.
  • The Tail bits in the SIGNAL symbol enable decoding of the RATE and LENGTH fieldsimmediately after the reception of the tail bits.
  • The SERVICE field has 16 bits. The bits from 0–6 of the SERVICE field are set to 0s and are used tosynchronize the descrambler in the receiver.The remaining 9 bits (7–15) of the SERVICE field shall bereserved for future use.

      A: t: A4 a; j, o
  {# w0 L$ T/ V  y8 X7 U. X8 h
PPDU TAIL字段:要求6bit设置全0,目的是将编码器状态初始化到0状态。
! S$ s) t7 r7 t6 v) O, a
注:【协议原文】
The PPDU TAIL field shall be six bits of 0, which are required to return the convolutional encoder to thezero state.

* b' v: w& P5 J- y7 x0 {
Pad bits(PAD):将数据字段的bit个数刚好调整为每一个OFDM符号数据比特长度的整数倍,填充bit应设置为0。
$ Z2 v0 H7 h$ s% L# d" v; U
如下公式为计算Pad bit个数:

" Y$ j8 Y2 r8 R* b* k7 S
640?wx_fmt=png.jpg
( [3 y! \7 t* O$ \% w' ^
NCBPS:每个OFDM符号携带的编码bit个数。
NDBPS:每个OFDM符号携带的数据bit个数。

5 v1 `. `" C% J+ p$ C, r7 {' ]
下表为不同调试等级对应的编码速率,每个OFDM符号携带的编码bit数和数据bit数。

4 A) N, w: |4 E3 K& J! r
640?wx_fmt=png.jpg

* M$ o' a" @' `8 _5 G9 ]
注:【协议原文】* c& Q3 \* f9 d2 D4 R
The number of bits in the DATA field shall be a multiple of NCBPS, the number of coded bits in an OFDMsymbol (48, 96, 192, or 288 bits).
  • NDBPS:the number of data bits per OFDM symbol。
  • NCBPS:the number of coded bits in an OFDMsymbol。

    - }- ?( E$ ]1 |& N7 _* }& g

9 h4 M9 W* G) E+ T* r: w
以上我们分析了DSSS和OFDM PHY的PPDU数据格式,并对其组成字段进行了解释。PLCP层的任务就是创建PPDU,并将其传送到PMD层。接下来我们继续分析PMD层对PPDU做的处理。
. w& i, W8 t1 q6 n9 D. W
PMD层负责对PPDU数据进行调制传输。主要将这些0和1组成的比特流调制到指定频段,通过无线电波发送出去。

' D: N( M( c1 M# q
通过三节对802.11协议标准定义实现的讨论,基于OSI网络模型,对其标准在“数据链路层”和“物理层”中的规定实现进行了解学习。根据数据传输流向,在每一层对数据进行处理封装做了探讨,我们对802.11协议有了框架性的系统认识。后续章节将基于实际WiFi网络实现,对其进行探讨。
/ C6 a! J6 T/ [  x: n" v
同时,后续章节为了方便描述探讨,802.11协议将用WiFi代替。

% K- V  H5 H6 U9 T6 N5 A4 k9 x
本节探讨了802.11协议在“物理层”的定义实现,802.11协议将“物理层”定义分为“PLCP层”和“PMD层”,“PLCP层”处理PSDU并创建一个PPDU,基于不同的调制方式,PPDU帧格式有所区别。“PMD层”处理上层传送下来的PPDU,将其按比特流调制到天线进行发送。WiFi基础学习到实战(三)探讨就到此,后续期待共同继续探讨学习。

0 b/ K6 E/ A5 U# u. B
) O, R! P; C7 J3 G7 p  h+ D

* b( p) {3 s% H" B; ?
- P# K1 I" o  I. N+ V
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-3-28 19:23 , Processed in 0.083559 second(s), 37 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表