物理层(PHY)规范
一、概述
物理层PHY是介质访问控制层MAC与无线介质之间的接口,它传输和接收共享无线介质上的数据帧。
物理层由三个协议功能实体构成:如图p1
(1) 物理层收敛过程子层(PLCP) 主要提供将MAC子层协议数据单元(MPDU)转换成适合于发送,接收用户数据的帧格式的方法,同时,它还定义了使用关联物理介质依赖(PMD)系统的两个或两个以上工作站之间的管理信息。
(2) 物理介质依赖子层(PMD) 主要定义了在两个或两个以上工作站间通过无线介质发送和接收数据的方法和特性。
(3) 物理层管理(physical layer management)为物理层提供管理功能。
(在这里加入一些对各种物理层规范的介绍)
二、物理层服务
如图p1所示,MAC层和物理层之间通过PHY-SAP利用原语来进行信息传递,物理层内部,PLCP子层和PMD子层之间通过PMD-SAP利用原语进行通信,PLCP子层、PMD子层和物理层管理之间的管理信息的传递则通过PLME-SAP服务访问点来进行。
在本节我们仅介绍PHY-SAP原语,其他两类原语将在后面相应部分进行介绍。(需要理由么?)
MAC层和PHY层之间的原语(PHY-SAP原语)分为两类:
(1) 支持MAC对等交互的服务原语
(2) 支持子层与子层交互的服务原语
2.1 PHY-SAP服务原语基本服务及选项
注:表中
(1) -表示该原语没有定义,X表示该原语没有参数
(2) 参数DATA的取值为:‘00’-‘FF’,长度为一个字节
(3) 参数SYATE的取值为BUSY,IDLE
(4) 参数RxERROR的取值为:NoError,FormatViolation,CarrierLost,UnsupportedRate
(5) 参数TxVECTOR,RxVECTOR是参数矢量,它包含两个参数:DATARATE和LENGTH,它们没有确定取值范围,因为它们的取值是依赖于物理层的,他们属于管理实体而不是MAC实体。
2.2 PHY-SAP服务原语详述
(注:下面介绍的PHY-SAP原语的参数及其取值见表)
(1) PHY-DATA.request:定义了从MAC子层到PHY子层传送一个字节的数据的服务。该原语只能在MAC层收到PHY-TXSTART.confirm原语之后,才发出,PHY接收该原语之后,将发出PHY-DATA.confirm原语给MAC子层。
(2) PHY-DATA.indication:定义了从PHY子层到本地MAC层的数据传送。该原语由一个处于接收状态的PHY实体产生,用于将接收到的字节数据传给本地的MAC实体。
(3) PHY-DATA.confirm:当PLCP完成从MAC层到PHY层的数据传送后,PHY子层将产生该原语并发给MAC层。PHY子层发出本原语用于响应由MAC子层发出的PHY-DATA.request原语。MAC接收本原语后,MAC又可以开始下一个MAC层请求。
(4) PHY-TXSTART.request:当MAC子层需要开始传输一个MPDU时,MAC子层将产生该原语并发给PHY实体,PHY实体接收到该原语后将启动本地传输状态机。
(5) PHY-TXSTART.confirm:该原语由PHY子层产生并发给本地MAC层以确认传输开始。PHY子层发出该原语以响应MAC子层发出的PHY-TXSTART.request原语。MAC层接收到该原语后将开始以字节为单位向PHY实体传送数据。
(6) PHY-TXEND.request:该原语由MAC层发给本地PHY层以请求结束当前的MPDU传输。当MAC层接收到本地PHY层为当前正在传输的MPDU发出的最后一个PHY-DATA.confirm后,MAC层将产生该原语,本地PHY层接收到该原语后将停止传输状态机。
(7) PHY-TXEND.confirm: PHY实体在收到了一个PHY-TXEND.request原语后,并且传送了标志最后一个字节的最后一位,则PHY层将立即将产生该原语并发给MAC实体,确认本次MPDU传输的结束。该原语的接收可以为MAC层的退避机制提供参考时间。
(8) PHY-CCARESET.request:当NAV定时器结束时,MAC子层产生该原语,PHY接收了该原语将会对PLCP的信道空闲评估定时器置为接收帧结束的状态。一些物理层的应该还使用这个请求原语来对具有时隙定时信息的天线分集进行同步。
(9) PHY-CCARESET.confirm:PHY收到PHY-CCARESET.request原语后将产生该原语并发给MAC层以确认PHY已重置CCA状态机。
(10) PHY-CCA.indication:该原语由PHY层产生并发给MAC层以指示介质当前状态。每当信道状态从空闲到忙或从忙到空闲时,PHY层将产生该原语。PHY层保持信道状态为忙,直到由在一个有效PLCP报头中的长度字段所指明的传送时间或者接收时间结束为止。
(11) PHY-RXSTART.indication:当PHY收到一个新的PLCP PDU,并且成功确认PLCP报头错误校验CRC,则PHY就将产生该原语并发给MAC层。
(12) PHY-RXEND.indication:该原语由PHY层产生并发给MAC层表明接收状态机已经完成了一个有错或无错的接收。对于接收数据的有错或者无错是在该原语的参数RXERROR中表示出来的:
该原语的参数RXERROR可以有以下的某个或者某几个值:NoError, FormatViolation, CarrierLost, UnsupportedRate。在PLCP接收状态机已经检测到了一个合法的帧前同步码和SFD后会出现多种错误情况。以下描述在各个错误情况下参数返回的值:
l NoError:表示在PLCP的接收过程中没有错误。
l FormatViolation:表示接收到的PLCP PDU格式错误。
l CarrierLost:表示在接收MPDU的过程中载波丢失并且没有能够完成MPDU的进一步处理。
l UnsupportedRate:表示在PLCP PDU的接收过程中,检测到了不支持的速率。
IEEE 802.11 DSSS物理层规范
一、 概述
IEEE 802.11 WLAN系统工作在ISM(工业、科学、医疗)频段-2.4GHz。DSSS(直接序列扩频)提供速率为1Mbps和2Mbps的数据通信能力。根据FCC规则,DSSS系统将提供至少10dB的处理增益,这是因为在11MHz的带宽上使用11个码片的PN序列进行扩频获得的。在DSSS系统中,1Mbps使用带限的DBPSK(差分二相移位键控)调制方法,2Mbps使用DQPSK(差分四相移位键控)调制方法。
2.4GHz DSSS PHY包括3个功能实体:PMD功能实体,物理层收敛功能实体以及层管理功能实体。每个实体将在下面的相应章节中介绍。
3个功能实体在参考模型中的位置如图p1。
二、DSSS PLCP子层
在这节中主要讲述PLCP子层将MAC层的数据MPDU(MAC协议数据单元)转换成PPDU(PLCP协议数据单元)的收敛过程,在这个过程中,PLCP在MPDU之前按照一定的规则加上PLCP前同步码和报头,得到PPDU。在接收端,PLCP的前同步码和报头将协助MPDU的解调和传输。
2.1 PPDU格式
如上图,PPDU格式包括PLCP前同步码,PLCP报头和PHY接收的MPDU。PLCP前同步码和报头包括以下字段: Sync, SFD, SIGNAL, SERVICE, LENGTH,16位的循环校验(CCIT CRC-16)字段。PLCP前同步码和报头总是以1Mbps速率传输,MPDU可以以1,2Mbps速率传输。
2.2各字段定义
在这一节中将对PLCP前同步码和报头中各字段的定义做详细阐述:
(注:下面的数值描述如果没有特别说明,X‘’表示16进制数值)
(1) SYNC(同步)字段:该字段给接收端操作提供必要的同步信息。该字段长128bits,是一个对全一序列的扰码。
(2) SFD(开始帧界定)字段:SFD用于指出PPDU帧的开始位置。SFD字段对于所有IEEE 802.11 DSSS都使用相同的内容:F3A0(16进制表示)。最右边的位最先传送。
(3) SIGNAL(信号)字段:该字段的功能是指明传输和接收MPDU的调制方法。数据传输速率的值等于信号字段的值乘以100kbit/s。相应的DSSS PHY支持的2个强制性的速率(单位: 100 kbit/s)为:
l X‘0A’(msb to lsb) for 1 Mbit/s
l X‘14’ (msb to lsb) for 2 Mbit/s
最低有效位(lsb)将率先传送。
(4) SERVICE(服务)字段:长度为8bits的SERVICE字段保留使用,在IEEE 802.11中使用X‘00’来表示。
(5) LENGTH(长度)字段:该字段是长度为16位的无符号数,用于指明传输PSDU所需的微秒数,MAC层使用该字段来决定PPDU帧的结束位置。该字段的值由PHY-TXSTART.request原语中TXVECTOR矢量的LENGTH参数决定。由于TXVECTOR中的LENGTH参数是以字节为单位的,因此在这里需要转换为以微秒为单位。
(6) CRC(循环冗余检测)字段:在IEEE 802.11中,SIGNAL,SERVICE,和LENGTH字段都由CCITT CRC-16帧检测序列(FCS)校验。CCITT CRC-16 FCS是将需要保护的字段被多项式
2.3 DSSS PHY PLCP数据扰码和解扰
DSSS PHY传输的所有信息都使用多项式G(z) = z –7 + z –4 + 1来进行扰码。数据扰码器和解扰器的输入和输出是自同步的,所以接收时不需要事先知道传输端扰码器的初始状态。下图是数据扰码器的典型实现,扰码器和解扰码器的结构可以相同。
2.4 PLCP 数据调制和调制速率的改变
PLCP的前同步码的传输使用1Mbps DBPSK调制方法,PPDU格式中的SIGNAL域用来之处传输MPDU使用的调制方法。发送端和接收端将根据SIGNAL字段的内容对调制进行初始化。MPDU的传输速率将根据PHY-TXSTART.request原语的TXVECTOR向量的DATARATE参数来设置。
2.5 PLCP的传输过程
为了传输数据,需要使用PHY-TXSTART.request原语使物理层实体处于传输状态,通过PLME管理实体将给物理层分配合适的工作信道。
下图是DSSS PLCP的传输过程示意图,参数例如DATARATE,传输天线,传输功率通过PHY-TXSTART.request(TXVECTOR)来设置。
基于PHY-CCA.indicate的CCA状态,MAC将判断信道是否被清空,当信道为空时,PPDU的传输将通过PHY-TXSTART.request原语来进行初始化,该原语的产生TXVECTOR中各个子参数将用来设置PPDU的前同步码和报头,以及TX_ANTENNA,TXPWR_LEVEL的PMD参数。
PLCP在收到MAC层发出的PHY-TXSTART.request原语之后,发出PMD_ANTSEL, PMD_RATE,和 PMD_TXPWRLVL原语来配置PHY,然后又发出PMD_TXSTART.request原语,PHY实体将根据该原语中的参数立即初始化PLCP数据扰码器并开始传输前同步码。一旦PLCP前同步码传输完成,MAC与PHY之间将通过一系列由MAC发出的PHY-DATA.request (DATA)原语和由PHY发出的PHY-DATA.confirm原语交换数据。如果调制方式和传输速率改变,则将用MPDU最初的数据码元进行初始化。在PMD层,字节数据通过PMD_DATA.request原语提交给PHY层。MAC可通过PHY_TXEND.request原语提前终止数据传输,同时PHY-TXEND.request.原语还禁止了PHY-TXSTART.req原语。当传完PSDU最后一个字节的最后一位时,正常的传输过程终止。PPDU传输结束时,PHY实体进入接收状态。
2.6 PLCP接收过程
为了能够接收数据,物理层实体将禁止PHY-TXSTART.request原语,因为物理层实体需要处于接收状态,同样通过PLME来进行管理,选择CCA模式。其他的接收参数如接收信号强度指示(RSSI),信号质量(SQ),DATARATE都通过PHY-SAP获得。
下图是PLCP的接收过程图。
按照所选的CCA模式和接收信号的能量,当其RSSI强度达到ED_THRESHOLD时, 将开启PMD_ED,在建立码锁定之后,将开始PMD_CS。这些条件用来指示MAC的活动状态,在正确接收PLCP报头之前,将产生PHY-CCA.indicate(BUSY)来做能量检测和/或码锁定。原语PMD_SQ,PMD_RSSI用来更新RSSI和SQ参数。
当发出PHY-CCA.indicate后,PHY实体开始搜索SFD字段。一旦检测到SFD字段,将初始化CCITT CRC-16 处理,并接收PLCP SIGNAL, SERVICE, 和LENGTH字段。然后处理CCITT CRC-16 FCS,若CCITT CRC-16 FCS检测失败,PHY接收端将返回RXIDLE状态。如果在全部的PLCP处理完成之前已开始接收,CCA就返回到IDLE状态,PHY接收端也将返回到RX IDLE状态。
如果成功接收PLCP报头(并支持SIGNAL字段且该字段完全可识别),将发出PHY-RXSTART.indicate(RXVECTOR)原语,与该原语相关的RXVECTOR包括:
a) SIGNAL字段;
b) SERVICE字段;
c) 以微秒为单位的LENGTH域和以Mbit/s为单位的DATARATE计算出的MPDU长度。
d) 接收用的天线(RX_ANTENNA),RSSI和SQ。
接收到的MPDU位被装入字节并通过一系列PHYDATA.indicate (DATA)原语发给MAC层。PHY继续MPDU的接收,直到收到MPDU最后字节的最后一位,这时,接收端将返回到RXIDLE状态,这时将发出一个PHY-RXEND.indicate (NoError)原语。根据所选的CCA方式,当PHY载波检测和(或)PHY强度检测发生变化,将发出PHY-CCA.indicate (IDLE)原语。
在完成MPDU的接收之前,PHYCS或PHYED的变动将会导致CCA返回到IDLE状态,此时,该错误情况通过PHY-RXEND.indicate (CarrierLost)原语报告给MAC层。在整个PPDU传输期间,高速PHY应确保CCA一直指示介质忙。
如果PLCP报头接收成功,但SIGNAL和SERVICE字段中的速率和调制方式与接收端不兼容,则PHY不发送PHY-RXSTART.indicate原语,而将发送错误状态PHY-RXEND.indicate (UnsupportedRate)原语。如果PLCP报头无效,PHY同样不发送PHY_RXSTART. Indicate原语,而将发送错误状态PHY-RXEND.indicate (FormatViolation)原语。在这两种情形下,在整个PPDU传输期间,高速PHY都应确保CCA一直指示介质忙。计划持续时间由LENGTH字段指明(LENGTH ×µs)。
三、PLME(DSSS 物理层管理实体)
3.1 PLME_SAP层管理原语
下表列出了可以被PHY子层或高层管理实体访问的MIB属性,这些属性可以通过物理层管理原语PLME-GET, PLME-SET, 和PLME-RESET访问。
3.2 DSSS 物理层特征
DSSS 物理层特征通过PLME-CHARACTERISTICS原语提供,IEEE 802.11中定义的DSSS 物理层的特征见下表:
四、DSSS PMD子层
DSSS PMD子层接收PLCP子层的业务原语并且提供实际的基于介质的传输和接收工作。同时,PMD子层将原语和数据流,定时信息以及相关接收信号等参数传送给PLCP子层。
4.1 PMD-SAP服务原语
PMD-SAP原语分成两大类:
(1) 支持PLCP对等交互的服务原语
(2) 支持本地子层与子层间交互的服务原语
4.1.1 PMD-SAP服务原语基本服务及选项
PMD-SAP对等服务原语这里不作详细阐述,PMD-SAP子层与子层间交互的服务原语有:
注:其中X表示相应原语没有参数,其他各原语的参数在原语详细描述中讲述。
4.1.2 PMD-SAP服务原语详述
(1) PMD_DATA.request: 由PLCP子层产生,用来请求一个字节的数据传输。PMD收到该原语之后,执行差分编码,PN码调制和数据传输。该原语有一个参数:TXD_UNIT,该参数表示PMD用来进行差分编码的数据块,它的取值与调制方式有关:
(2) PMD_DATA.indicate:本原语由PMD实体产生,用于将接收到的数据转发给PLCP子层。PLCP收到该原语之后,将接收数据恢复出的bit数据要么解释为PLCP收敛程序的组成部分,要么将其作为PSDU的组成部分传输给MAC子层。该原语有一个参数:RXD_UNIT,它是已经PMD实体解调的单个码元,其取值与PMD_DATA.request原语的TXD_UNIT参数一致。
(3) PMD_TXSTART.request:MAC层收到PHY_DATA.request原语后,PLCP将发出本原语来对经过PMD层的PPDU的传输进行初始化。该原语没有参数。该原语应该在PMD_TXSTART命令之前发送。
(4) PMD_TXEND.request:本原语由PLCP子层产生,用来终止PPDU的PMD层传输。该原语没有参数。
(5) PMD_ANTSEL.request:该原语由PLCP子层产生,用于没有使用天线分集时指定发送或接收天线。PMD收到该原语之后,立即选择由ANT_STATE参数确定的天线。该原语有一个参数,即ANT_STATE,表示选择的用于传输的天线序号,可用的天线序号由MIB参数:aSuprtRxAntennas, aSuprtTxAntennas来决定。
(6) PMD_ANTSEL.indicate:该原语由PLCP子层产生,用来报告最近接收使用的天线。该原语的参数:ANT_STATE,表示最近接收数据可用的天线。
(7) PMD_TXPWRLVL.request:该原语由PLCP子层产生,用于选择PHY传输时的功率等级,本原语应在PMD_TXSTART设置为传输状态前产生。PMD收到该原语之后,立即根据参数TXPWR_LEVEL设置传输功率等级。该原语的参数:TXPWR_LEVEL,该参数宝石最近传输可用的功率等级,等级的个数由MIB的参数dot11NumberSupportedPowerLevels来决定。
(8) PMD_RATE.request:本原语由PLCP子层产生,用于改变或者设置当前的PHY传输MPDU的数据速率。其参数:RATE表示传输MPDU 使用的物理层数据速率。
(9) PMD_RATE.indicate:当PCLP前同步码被检测到时,PMD产生该原语用于指示接收PDU的MPDU部分使用的调制速率。调制方式由PLCP前同步码的SIGNALING字段指出。其参数:RATE表示接收MPDU的速率。
(10) PMD_RSSI.indicate:该可选的原语可由PMD产生,用于向PLCP提供接收到的信号强度。该原语有一个参数:RSSI,它是高速PHY接收的射频能量的测量值,长度为0-8bit(有256个等级)。RSSI和SQ作为CCA机制的部分一起协同使用。
(11) PMD_SQ.indicate:当高速PHY处于接收状态且获得了码锁时,PMD产生本原语,向PLCP提供高速PHY PN码相关性的SQ的指示。该原语的参数:SQ长度为0-8bits(有256个等级),时DSSS物理层接收到的PN码相关质量的测量值。
(12) PMD_CS.indicate:当高速PHY正在接收一个PPDU并且已经获得了PN码时,PMD子层将产生本原语,告诉PLCP接收器已经获得PN码并且数据正在被解调。其参数:PMD_CS9载波侦听):当PMD_SQ指明的SQ的相关值大于CS_THRESHOLD门限,使能PMD_CS,用‘1’表示。相反,用‘0’表示.
(13) PMD_ED.indicate:当PHY正在接收射频能量超过ED_THRESHOLD参数的信号时,PHY的PMD子层就产生该原语。PMD_ED和PMD_SQ参数一起提供CCA状态,其中PMD_ED(能量检测)是该原语的参数,当PMD_RSSI超过了ED_THRESHOLD参数值时,使能PMD_ED,用‘1’表示,当PMD_RSSI降低到能量检测限ED_THRESHOLD之下,禁止PMD_ED,用‘0’表示。
(14) PMD_ED.request:本原语由PLCP子层产生,用以改变或设置当前高速PHY的能量检测门限,本原语时可选的。其参数是ED_THRESHOLD。
4.2 PMD的工作规范
这小节主要讲述DSSS PMD子层的一般规范,包括传输,接收和DSSS物理层的一般操作。
4.2.1 工作频率范围
美国和欧洲的管理机构规定高速PHY工作在2.4–2.4835 GHz频段上,而日本则规定高速PHY工作在2.471–2.497 GHz频段上。
4.2.2 工作信道号
下表是信道的中心频率与信道号的对应关系表:
4.2.3 扩频序列
下面的11个码片长的Barker序列将作为扩频使用的PN码序列:
+1,-1, +1, +1, -1, +1, +1, +1,-1,-1,-1
最左边的码片最先输出。
4.2.4 调制和数据速率
DSSS 物理层支持两种调制方法和数据速率:基本访问速率和改进的访问速率。基本访问速率:基于1Mbps的DBPSK调制,改进的访问速率基于2Mbps的DQPSK调制。他们的编码规则分别为:
4.2.5.2 传输功率等级控制
当输出功率超过100mW时,将需要使用功率控制,功率控制等级最多为4级,同时传输功率高于100mW时应该能够允许传输功率降到100mW或100mW以下。
4.2.5.3 传输频谱
传输频谱在频率范围和
内,
在和
范围内,
其中表示中心频率。
4.2.5.4 传输开电和调电斜面
开电从最大功率的10%到90%需要的最大时间不能超过2us,同样调电时,从最大功率的90%到10%需要的最大时间不超过2us,开电和调电斜面示意如图:
4.2.5.5 调制精度
DSSS 物理层对调制精度的要求与实际传输波形和理想波形之间的差别有关。调制精度由每个码片周期内峰值向量误差幅度的测量来决定。对于DQPSK调制,理想的复数I,Q星座点为:(0.707,0.707),(0.707,-0.707),(-0.707,-0.707),(-0.707,0.707)。下图中表示了一个DQPSK调制精度的测量例子:
PMD发送端的其他特征值请参见3.2中的物理层特征值。
4.2.6 PMD接收端规范
4.2.6.1 接收端性能
在天线连接处,PSDU长度为1024字节,调制方式为2Mbps的DQPSK调制时,误帧率(FER)应该小于0.08 的最小输入功率为-80dBm,最大输入功率为-4dBm。
4.2.6.2 CCA
DSSS 物理层提供了CCA的以下模式中的一种:
l CCA模式1:当检测倒功率大于ED限时,CCA将报告介质忙。
l CCA模式2:只有载波侦听。当检测到DSSS信号时,CCA将报告该介质忙。这个信号的能量可以在大于或小于ED门限。
l CCA模式3:能量在门限值之上的载波侦听。当检测到能量大于ED门限的DSSS信号时,CCA将报告该介质忙。
能量检测的状态由PMD_ED提供,载波侦听状态由PMD_CS提供。PLCP使用PMD_ED,PMD_CS的状态来给MAC层指示PHY的活动状态,这个指示使用原语:PHY-CCA.indicate完成。
CCA工作模式的选择由PHY MIB的属性:dot11CCAModeSupported来指出。
CCA参数将遵守以下准则:
(1) 如果传输功率>100mW,能量检测门限应该小于或等于-80dBm;如果50mW<传输功率<=100mW,能量检测门限应该小于等于-76dBm;如果传输功率<=50mW,能量检测门限应该小于等于-70dBm。
(2) 如果在MAC时隙刚开始的5us之内有有效的信号,CCA将在时隙结束之前报告信道忙。
(3) 如果收到一个正确PLCP报头,DSSS物理层将在整个PLCP LENGTH字段指示的区间内使CCA信号保持非活动状态。如果在接收的过程中,载波侦听丢失,CCA将在传输PPDU的区间内指示介质忙。
IEEE 802.11b 高速直接序列扩频物理层规范
一、概述
IEEE 802.11b物理层规范是一种基于IEEE 802.11 DSSS的扩展规范,它工作在ISM(工业、科学、医疗)频段-2.4GHz,下面我们将其简称为:HR/DSSS PHY。高速物理层不仅提供了基本的1Mbps,2 Mbps的数据速率之外,还提供了5.5 Mbps和11 Mbps的数据速率。为了支持高速率的业务,物理层采用了8位码片的补偿编码键控(CCK)作为调制方法。和IEEE 802.11中DSSS系统一样,HR/DSSS的码片速率时11MHz,从而提供和IEEE 802.11 DSSS系统一样的占用信道带宽。在HR/DSSS PHY中使用的前同步码和报头与IEEE 802.11 DSSS中不一致,为了两种不同的物理层能够共存于一个BSS中,HR/DSSS PHY提供了速率转换机制。简单的说,HR/DSSS PHY提供了两个功能:
(1) 它使用不同的调制技术,将PSDU数据速率扩展到5.5Mbps和11Mbps。
(2) 它提供了一个速率转换机制,允许11Mbps,5.5Mbps的网络速率降到1Mbps和2Mbps,从而使高速DSSS系统与DSSS系统可以共同工作。
在HR/DSSS PHY中,为了提高无线局域网的性能,还提供了一些可选的技术:
(1) 用PBCC(分组二进制卷积编码)调制代替CCK调制
(2) 允许在使用短的PLCP前同步码的情况下,显著增加在更高速率(2,5.5,11Mbps)时的数据吞吐量,这种模式称为:HR/DSSS/short或者HR/DSSS/PBCC/short,它可以在限制条件下(如在不同的信道上或者使用合适的CCA机制)与DSSS,HR/DSSS,或者HR/DSSS/PBCC并存。
(3) 提供信道灵敏度的检测能力。它允许在不增加其它实现的开销的前提下,提供克服静态信道分配方法固有缺陷(a tone jammer)的信道分配方法。
HR/DSSS PHY的PLCP、PMD子层的结构和操作与IEEE 802.11 DSSS PHY相似。
HR/DSSS PHY同样也包括3个功能实体:PMD功能实体,物理层收敛功能实体以及层管理功能实体。对于MAC实体和MAC管理实体而言,当提供了信道灵敏度检测并且可用时,高速物理层被解释为高速和跳频的物理层。
二、HR/DSSS PHY PLCP子层
HR/DSSS PHY PLCP子层为速率为1,2,5.5,11Mbps速率的数据传输提供一个收敛过程,数据从MAC层传输下来,PLCP子层将PSDU加上一个PLCP前同步码和报头生成PPDU(具体的PPDU格式参见2.1),再传送给PMD子层。
2.1 PPDU格式
与IEEE 802.11 DSSS相同的时PPDU由前同步码,报头和PSDU组成,PMD使用PLCP的前同步码来获得输入信号,给PLCP解调器提供同步信息。
在IEEE 802.11b中定义了两种不同的前同步码和报头:
(1) 强制性长前同步码和报头,它可在当前的1 Mbit/s和2 Mbit/s DSSS上使用;
(2) 可选的短前同步码和报头,只能高速DSSS系统上使用。短前同步码和报头用于需要数据吞吐量最大的场合,但不能在使用非短前同步码的设备上使用,即只能用于可处理可选模式的网络。
2.1.1 长PLCP PPDU格式
如图,长PLCP PPDU格式包括高速PLCP前同步码,高速PLCP报头,PSDU。PLCP前同步码和报头包括以下字段: Sync, SFD, SIGNAL, SERVICE, LENGTH,16位的循环校验(CCIT CRC-16)字段。PPDU的格式除以下几项外,其他的都与IEEE 802.11中PPDU的格式相同。
这些不同之处分别是:
(1) SIGNAL字段中对速率的编码;
(2) PSDU的长度以微秒计数时,使用SERVICE字段的一位来使PSDU以字节为单位的长度不会产生歧义;
(3) 使用SERVICE字段的一位来表明可选的PBCC模式是否正在被使用;
(4) 使用SERVICE字段的一位来表明转换频率和位时钟频率被锁定;
2.1.2 短PLCP PPDU格式
短前同步码和报头的使用可以减小开销,因而使网络数据吞吐量最大化。使用短前同步码和报头PPDU的格式如图所示。
只有发信机和接收机都能够使用短前同步码和报头才能进行数据传输,否则,当只有发信机或者只有接收机能够使用短前同步码和报头时,数据传输将会迫使收发的双发都使用长前同步码和报头。
短PLCP前同步码使用1 Mbit/s的Barker码并采用DBPSK方式调制,短PLCP报头使用2 Mbit/s的Barker码并采用DQPSK方式调制,PSDU的传送速率可以是:2 Mbit/s,5.5 Mbit/s,11 Mbit/s。
2.1.3 各字段定义
在这个小节中将对比描述长PLCP PPDU和短PLCP PPDU格式中各字段的定义。
(6) SYNC(同步)字段:接收端使用该字段来获得输入信号和对接收端进行载频同步。长前同步码的SYNC字段长128bits,扰码种子的初始状态为[1101100];短前同步码的SYNC字段长56bits,扰码种子的初始状态为[0011011]。
(7) SFD(开始帧界定)字段:SFD用于指定PPDU帧的开始位置。长前同步码的SFD字段长为16bits:(1111 0011 1010 0000),最右边的位首先被传送;短前同步码的SFD字段长也是16bits:(0000 0101 1100 1111),是长前同步码的SFD字段的倒置,同样最右边的位首先被传送。
(8) SIGNAL(信号)字段:该字段的功能是标明传输和接收PSDU的调制方法。数据传输速率的值等于信号字段的值乘以100kbit/s。HR/DSSS PHY支持的8位信号字段给出4个强制性的速率(单位: 100 kbit/s),其最低有效位(lsb)将率先传送,这4个强制速率是:
l X‘0A’(msb to lsb) for 1 Mbit/s
l X‘14’ (msb to lsb) for 2 Mbit/s
l X‘37’ (msb to lsb) for 5.5 Mbit/s
l X‘6E’ (msb to lsb) for 11 Mbit/s
其中X‘’表示16进制数值,如果没有特殊声明,后面各小节也采用同样的表示方法。
采用HR/DSSS/short的PHY支持3个强制性的速率(以100 kbit/s为单位),即:2,5.5,11Mbit/s,其标号与上一致。
(9) SERVICE(服务)字段:该字段的长度为1字节,对于长PLCP PPDU格式,该字段各位的含义如表:
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
保留 |
保留 |
锁定时钟位 0=没有锁定 1=已经锁定 |
调制方式选择位 0=CCK 1=PBCC |
保留 |
保留 |
保留 |
长度扩充位 |
其中b2用于表示传输频率与码元时钟是否来源于同一个振荡器,成为锁定时钟位。
长PPDU格式和短PPDU格式中的该字段的定义相同。
(10) LENGTH(长度)字段:该字段是长度为16位的无符号数,用于指明传输PSDU所需的微秒数,MAC层使用该字段来决定PPDU帧的结束位置。该字段的值由PHY-TXSTART.request原语中TXVECTOR矢量的LENGTH和DATARATE参数决定,其计算方式如下:
首先计算以微秒为单位,因此需要将TXVECTOR矢量提供的LENGTH字段的值转换为以微秒为单位的值。对于任何一个超过8 Mbit/s的数据传输速率,以整数微秒描述的字节长度可能与TXVECTOR矢量提供的长度字段字节数有误差,因为在转换的时候可能有舍入,所以将SERVICE字段b7用于这种转换的误差的补偿,具体转换规则如下:
b) 数据速率为5.5 Mbit/s,调制方式为CCK的长度值=由TXVECTOR矢量提供的字节数×8/5.5的值上取整到下一个整数。
c) 数据速率为11 Mbit/s,调制方式为CCK的长度值=由TXVECTOR矢量提供的字节数×8/11的值上取整到下一个整数。如果舍入值小于8/11,将服务(service)字段的第7位(b7)置为“0”,如果舍入值大于等于8/11,则将服务(service)字段的第7位(b7)置为“1”。
d) 数据速率为5.5 Mbit/s,调制方式为PBCC的长度值= (由TXVECTOR矢量提供的字节数+ 1)×8/5.5的值上取整到下一个整数。
e) 数据速率为11 Mbit/s,调制方式为PBCC的长度值=(由TXVECTOR矢量提供的字节数+ 1)×8/11的值上取整到下一个整数。如果舍入值小于8/11,将服务(service)字段的第7位(b7)置为“0”,如果舍入值大于等于8/11,则将服务(service)字段的第7位(b7)置为“1”。
在接收端,STA根据PPDU长度字段的值可以按如下规则计算MPDU中的字节数:
a) 数据速率为5.5 Mbit/s,调制方式为CCK的字节数= PPDU的长度字段的值×5.5/8的积下取整到下一个整数
b) 数据速率为11 Mbit/s,调制方式为CCK的字节数 = PPDU的长度字段的值×11/8的值下取整到下一个整数,但如果服务(service)字段的第7位(b7) 值为“1”,还应该减去1。
c) 数据速率为5.5 Mbit/s,调制方式为PBCC的字节数=( PPDU的长度字段的值×5.5/8) –1的值下取整到下一个整数。
数据速率为11 Mbit/s,调制方式为PBCC的字节数= (PPDU的长度字段的值×11/8) –1的值下取整到下一个整数,但如果服务(service)字段的第7位(b7)值为“1”,还应该减去1。
其中这里描述的上取整是指入操作,例如对数值1.2上取整=2;下取整是指舍去操作,例如对数值1.9下取整=1。
(6)CRC(循环冗余检测)字段:在前面提到SIGNAL,SERVICE,和LENGTH字段都由CCITT CRC-16帧检测序列(FCS)校验。CCITT CRC-16 FCS是将需要保护的字段被多项式“x16+x12+x5+1”模2除得到的余数的补码。所有的FCS计算先于数据编码进行。处理示意图如下
(7)数据调制方式和调制速率的改变:长PLCP前同步码和报头的调制方式为1Mbit/s DBPSK调制,短PLCP前同步码的调制方式为1Mbit/s DBPSK调制,短PLCP报头使用2Mbit/s调制。SIGNAL字段和SERVICE字段一起标明了用于传输PSDU的调制方式。SIGNAL字段表明传输速率,SERVICE字段则表明调制方式。传输端和接收端将按SIGNAL字段和SERVICE字段指明的传输速率及调制方式进行初始化,初始化时从PSDU的第一个字节开始。PSDU的传输速率由PHY-TXSTART.request 原语中的TXVECTOR矢量的DATARATE参数来设置。
2.2 数据扰码和解扰
HR/DSSS PMD传输的所有信息bit都使用多项式G(z) = z –7 + z –4 + 1来进行扰码。数据扰码器和解扰码器的输入和输出是自同步的,所以接收时不需要事先知道传输端扰码器的初始状态。下图是数据扰码器和解扰码器的典型实现,扰码器和解扰码器的结构可以一致。
短的PLCP和长的PLCP的扰码器将分别如前所述(SYNC字段中的描述)进行初始化。对于长前同步码,扰码器寄存器的初始化为[1101100] (从Z1到Z7;亦即Z1= 1... Z7= 0)。而当传输可选的短前同步码时,扰码器将被初始化为[0011011]。
2.3 PLCP传输过程
使用长PLCP前同步码和报头的HR/DSSS 物理层的传输过程与IEEE 802.11相同,在5.5Mbit/s和11Mbit/s传输时改变不大。使用HR/DSSS/short和HR/DSSS/PBCC/short的发信机的传输过程除长度和速率变更外,主要过程与长PLCP一致。
如图133是HR/DSSS PLCP的传输过程示意图,其中除了DATARATE和LENGTH参数之外,其他的传输参数都是通过向PHY-SAP发送带有TXVECTOR的PHY-TXSTART.req原语参数来设置的。
下图是一个典型的PLCP传输过程状态机实现图。
PLCP在收到MAC层发出的PHY-TXSTART.request原语之后,发出PMD_ANTSEL, PMD_RATE, 和 PMD_TXPWRLVL原语来配置PHY,然后又发出PMD_TXSTART.request原语,PHY实体将根据该原语中的参数立即初始化PLCP数据扰码器并开始传输前同步码。一旦PLCP前同步码传输完成,MAC与PHY之间将通过一系列由MAC发出的PHY-DATA.request (DATA)原语和由PHY发出的PHY-DATA.confirm原语交换数据。如果调制方式和传输速率改变,则将用PSDU最初的数据码元进行初始化。PHY通过一系列来自MAC以字节为单位的数据来处理PSDU的传输。在PMD层,字节数据通过PMD_DATA.request原语提交给PHY层。MAC可通过PHY_TXEND.request原语提前终止数据传输,同时PHY-TXEND.request.原语还禁止了PHY-TXSTART.req原语。当传完PSDU最后一个字节的最后一位时,正常的传输过程终止。PPDU传输结束时,PHY实体进入接收状态(亦即关闭PHY-TXSTART )。
(如果这个图需要使用的话,需要重新画。)
2.4 PLCP接收过程
本节将描述使用必选的和可选的PLCP速率、调制方式的接收的接收过程。子层高速扩展的接收端除了能接收1Mbit/s和2Mbit/s,也能接收5.5Mbit/s和11Mbit/s速率的数据。
如果PHY使用了短前同步码选项,它就可以探测到前同步码是短格式还是长格式,并在RXVECTOR中指出接收的应是哪种类型。如果PHY实现了PBCC的调制方式,则通过SIGNAL字段的指示,就可知道调制方式是CCK还是PBCC,并在RXVECTOR中指出使用的是哪种类型。
开始接收一个PPDU时,接收端通过SFD的值识别出此次传输使用的是长报头还是短报头格式,对长PLCP报头,接收端采用BPSK的调制方式以1 Mbit/s的速率解调,而对短报头则采用QPSK的调制方式以2 Mbit/s的速率解调。最后接收端用PLCP报头中的SIGNAL和SERVICE字段来决定PSDU的数据速率和调制方式。
PLCP接收过程见图135。为接收数据,将关闭PHY-TXSTART.request原语,使PHY实体处于接收状态。而且,通过站管理,PHY将被置于恰当的信道和选定的CCA模式。其它参数(如接收信号强度指示、信号质量、数据速率等),可通过PHY-SAP得到。
按照所选的CCA模式和接收信号的能量,当其RSSI强度达到ED_THRESHOLD时, 将开启PMD_ED,在建立码锁定之后,将开始PMD_CS。这些条件用来指示MAC的活动状态,在正确接收PLCP报头之前,将产生PHY-CCA.indicate(BUSY)来做能量检测和/或码锁定。原语PMD_SQ,PMD_RSSI用来更新RSSI和SQ参数。
当发出PHY-CCA.indicate后,PHY实体开始搜索SFD字段。一旦检测到SFD字段,将初始化CCITT CRC-16 处理,并接收PLCP SIGNAL, SERVICE, 和LENGTH字段。然后处理CCITT CRC-16 FCS,若CCITT CRC-16 FCS检测失败,PHY接收端将返回RXIDLE状态(见图136)。如果在全部的PLCP处理完成之前已开始接收,CCA就返回到IDLE状态,PHY接收端也将返回到RX IDLE状态。
如果成功接收PLCP报头(并支持SIGNAL字段且该字段完全可识别),将发出PHY-RXSTART.indicate(RXVECTOR)原语,与该原语相关的RXVECTOR包括:
e) SIGNAL字段;
f) SERVICE字段;
g) 以微秒为单位的LENGTH域和以Mbit/s为单位的DATARATE计算出的PSDU长度。
h) RXPREAMBLE_TYPE。它是一枚举类型,其值为SHORTPREAMBLE 或 LONGPREAMBLE
i) 接收用的天线(RX_ANTENNA),RSSI和SQ。
接收到的PSDU位被装入字节并通过一系列PHYDATA.indicate (DATA)原语发给MAC层。PHY继续PSDU的接收,直到收到PSDU最后字节的最后一位,这时,接收端将返回到RXIDLE状态(见图136),这时将发出一个PHY-RXEND.indicate (NoError)原语。
根据所选的CCA方式,当PHY载波检测和(或)PHY强度检测发生变化,将发出PHY-CCA.indicate (IDLE)原语。
图136
在完成PSDU的接收之前,PHYCS或PHYED的变动将会导致CCA返回到IDLE状态,此时,该错误情况通过PHY-RXEND.indicate (CarrierLost)原语报告给MAC层。在整个PPDU传输期间,高速PHY应确保CCA一直指示介质忙。
如果PLCP报头接收成功,但SIGNAL和SERVICE字段中的速率和调制方式与接收端不兼容,则PHY不发送PHY-RXSTART.indicate原语,而将发送错误状态PHY-RXEND.indicate (UnsupportedRate)原语。如果PLCP报头无效,PHY同样不发送PHY_RXSTART. Indicate原语,而将发送错误状态PHY-RXEND.indicate (FormatViolation)原语。在这两种情形下,在整个PPDU传输期间,高速PHY都应确保CCA一直指示介质忙。计划持续时间由LENGTH字段指明(LENGTH ×µs)。
图135
三、 高速PMD子层
高速PMD子层接收PLCP子层的服务原语并提供从介质上传送和接收数据的实际方法。
3.1 PMD-SAP服务原语定义
与PHY-SAP服务原语一样,PMD-SAP原语也分成两大类:
(3) 支持PLCP对等交互的服务原语
(4) 支持本地子层与子层间交互的服务原语
上表是PMD-SAP原语列表,其中
(1) PMD_DATA原语属于支持PLCP对等交互的原语,其余是属于支持本地子层与子层间交互的服务原语。
(2) X表示该原语是可用的,-表示该原语没有定义。
3.1.2 PMD-SAP原语具体描述
(1) PMD_DATA.request: 由PLCP子层产生,用来请求一个字节的数据传输,本原语的数据时钟由PMD提供。PMD收到该原语之后,执行差分编码,PN码调制和数据传输。该原语有一个参数:TXD_UNIT,该参数表示PMD用来进行差分编码的数据块,它的取值为:
(2) PMD_DATA.indicate:本原语由PMD实体产生,用于将接收到的数据转发给PLCP子层。PLCP收到该原语之后,将接收数据恢复出的bit数据要么解释为PLCP收敛程序的组成部分,要么将其作为PSDU的组成部分传输给MAC子层。该原语有一个参数:RXD_UNIT,它是已经PMD实体解调的单个码元,其取值与PMD_DATA.request原语的TXD_UNIT参数一致。
(3) PMD_MODULATION.request:该原语由PLCP产生,用来改变或设置当前高速PHY的调制码。本原语通常PMD_TXSTART 之前发出。PMD收到该原语之后,选择用户后续PSDU传输的调制方式。该原语只有一个参数:MODULATION,在接收模式下,这个参数用来通知PLCP子层PHY在使用哪种数据调制方式。其取值有:1 MbBaker,2 MbBaker,55 CCK,11 CCK,5.5 PBCC,11 PBCC
(4) PMD_PREAMBLE.request: 本原语由PLCP子层产生,以改变或设置当前的用于PPDU中PSDU部分的前同步码类型。本原语通常在PMD_TXSTART前发出。PMD收到该原语之后,选择可以用于后续PSDU传输的前同步码类型。该原语有一个参数:PREAMBLE,该参数有两个值:‘0’表示长前同步码,‘1’表示短的前同步码。
(5) PMD_PREAMBLE.indicate:PMD在正确检测到PLCP前同步码之后,产生该原语。该原语的参数与PMD_PREAMBLE.request原语相同。
(6) PMD_TXSTART.request:MAC层收到PHY_DATA.request原语后,PLCP将发出本原语来对经过PMD层的PPDU的传输进行初始化。该原语没有参数。
(7) PMD_TXEND.request:本原语由PLCP子层产生,用来终止PPDU的PMD层传输。该原语没有参数。
(8) PMD_ANTSEL.request:该原语由PLCP产生,用于没有使用天线分集时指定发送或接收天线。PMD收到该原语之后,立即选择由ANT_STATE参数确定的天线。该原语有一个参数,即ANT_STATE,表示选择的天线序号,可取值为1-256,可用的天线序号由MIB参数:aSuprtRxAntennas, aSuprtTxAntennas来决定。
(9) PMD_TXPWRLVL.request:该原语由PLCP子层产生,用于选择PHY传输时的功率等级,本原语应在PMD_TXSTART设置为传输状态前产生。PMD收到该原语之后,立即根据参数TXPWR_LEVEL设置传输功率等级。该原语的参数:TXPWR_LEVEL,该参数的取值为0,1,2,3,可用的序号由MIB的参数dot11NumberSupportedPowerLevels来决定。
(10) PMD_RATE.request:本原语由PLCP子层产生,用于改变或者设置当前的PHY传输PSUD的数据速率。其参数:RATE,取值情况见下表:
速率 |
可选值 |
1Mits/s |
‘OA’ |
2Mbits/s |
‘14’ |
5.5Mbits/s |
‘37’ |
11Mbits/s |
‘6E’ |
(11) PMD_RSSI.indicate:该可选的原语可由PMD产生,用于向PLCP提供接收到的信号强度。该原语有一个参数:RSSI,它是高速PHY接收的射频能量的测量值,长度为0-8bit。RSSI和SQ作为CCA机制的部分一起协同使用。
(12) PMD_SQ.indicate:当高速PHY处于接收状态且获得了Barker码时,PMD就产生本原语,向PLCP提供高速PHY PN码相关性的SQ的指示。该原语的参数:SQ长度为0-8bits。
(13) PMD_CS.indicate:当高速PHY正在接收一个PPDU并且已经获得了PN码时,PMD子层将产生本原语,告诉PLCP接收器已经获得Barker码并且数据正在被解调。其参数:PMD_CS:当PMD_SQ指明的SQ的相关值大于相关门限,使能PMD_CS,用‘1’表示。相反,用‘0’表示。
(14) PMD_ED.indicate:当PHY正在接收射频能量超过ED_THRESHOLD参数的信号时,PHY的PMD子层就产生该原语。PMD_ED和PMD_SQ参数一起提供CCA状态,其中PMD_ED是该原语的参数,当PMD_RSSI超过了ED_THRESHOLD参数值时,使能PMD_ED,用‘1’表示,当PMD_RSSI降低到能量检测限之下,禁止PMD_ED,用‘0’表示。
(15) PMD_ED.request:本原语由PLCP子层产生,用以改变或设置当前高速PHY的能量检测门限,本原语时可选的。其参数PMD_ED设置的是ED_THRESHOLD值。
3.2 PMD的工作规范
3.2.1 工作频率范围
美国和欧洲的管理机构规定高速PHY工作在2.4–2.4835 GHz频段上,而日本则规定高速PHY工作在2.471–2.497 GHz频段上。
3.2.2 工作信道号
下表是信道的中心频率与信道号的对应关系表:
|
|
域 |
|||||
信道号 |
频率(MHz) |
‘10’FCC |
‘20’IC |
‘30’ETSI |
‘31’Spain |
‘32’France |
‘40’MKK |
1 |
2412 |
X |
X |
X |
- |
- |
- |
2 |
2417 |
X |
X |
X |
- |
- |
- |
3 |
2422 |
X |
X |
X |
- |
- |
- |
4 |
2427 |
X |
X |
X |
- |
- |
- |
5 |
2432 |
X |
X |
X |
- |
- |
- |
6 |
2437 |
X |
X |
X |
- |
- |
- |
7 |
2442 |
X |
X |
X |
- |
- |
- |
8 |
2447 |
X |
X |
X |
- |
- |
- |
9 |
2452 |
X |
X |
X |
- |
- |
- |
10 |
2457 |
X |
X |
X |
X |
X |
- |
11 |
2462 |
X |
X |
X |
X |
X |
- |
12 |
2467 |
- |
- |
X |
- |
X |
- |
13 |
2472 |
- |
- |
X |
- |
X |
- |
14 |
2484 |
- |
- |
- |
- |
- |
X |
3.2.3 调制方式和信道速率
高速PHY规定了四种调制方式和数据速率。它们分别是:基于DBPSK调制方式的1 Mbit/s的基本访问速率;基于DQPSK调制方式的2 Mbit/s的增强访问速率;基于CCK调制方式的5.5 Mbit/s和11 Mbit/s的高速访问速率;另一种可选的PBCC调制方式可以提供更好的性能。
3.2.4 1Mbit/s 和 2 Mbit/s的扩频序列和调制方式
1Mbit/s和2 Mbit/s使用下面长度为11位Barker序列码作为扩频的PN码序列:
+1, –1, +1, +1, –1, +1, +1, +1, –1, –1, –1
1Mbit/s传输使用DBPSK调制方式,其编码规则如下表所示:
输入bit |
改变相位( |
0 |
0 |
1 |
|
2Mbit/s传输使用DQPSK调制方式,其编码规则如下表所示:
输入bit |
改变相位( |
00 |
0 |
01 |
|
11 |
|
10 |
|
3.2.5 对5.5Mbit/s 和 11 Mbit/s的CCK调制方式和扩频序列
1998年7月,IEEE 802.11工作组接受了CCK调制作为高速扩展方案中传输5.5Mbit/s 和 11 Mbit/s PSDU数据帧的基本调制方式。工作组之所以接受CCK,是因为CCK能够比较简单的提供5.5Mbit/s 和 11Mbit/s系统和已存在的IEEE 802.11 1Mbit/s,2Mbit/s系统共同工作的途径。
CCK调制方式的扩频码是长度为8的补偿码,码片速率为11Mchip/s,8个复数码片构成一个码元,因此码元速率为1.375Msymbol/s。8位的CCK码字通过下面的公式计算得到:
其中C表示码字,
根据不同速率而不同,它们的取值将分别在下面讲述。
这是一种产生Hadamard传输编码的公式,其中被加到每个码片上,
被加到所有的奇数号码片上,
被加到所有的奇数对的码片上,
被加到所有的奇数四元组中的码片上(由于这个公式中只有8个码片,因此
被加到第一个到第四个码片上),由于
加到每个码片上,因此它可能改变序列的所有码片的相位,第四个码片和第七个码片的相位旋转了180度,目的是用来优化序列的相关特性以及最小化码元的直流偏移量。
对于5.5Mbit/s的CCK调制,4个数据bit(d0,d1,d2,d3)编码生成,编码规则如下:
(1)
首先,bit d0,d1将使用DQPSK编码构成,具体编码规则见下表:
(d0,d1)(其中d0先输入) |
偶数码元的相位改变( |
奇数码元的相位改变( |
00 |
0 |
|
01 |
|
|
11 |
|
0 |
10 |
|
|
其中表示相位的改变是按照顺时针旋转的
(2)
其次,d2,d3编码构成基本的码元,见下表。改表的得出是通过,
,
带入公式中得到的。
(d2,d3) |
c1 |
c2 |
c3 |
c4 |
c5 |
c6 |
c7 |
c8 |
00 |
j |
1 |
j |
-1 |
j |
1 |
-j |
1 |
01 |
-j |
-1 |
-j |
1 |
j |
1 |
-j |
1 |
10 |
-j |
1 |
-j |
-1 |
-j |
1 |
j |
1 |
11 |
j |
-1 |
j |
1 |
-j |
1 |
j |
1 |
对于11Mbit/s的CCK调制,8个数据bit(d0,d1,d2,d3,d4,d5,d6,d7)编码生成,编码规则如下:
二元组 |
相关相位参数 |
(d1,d2) |
|
(d2,d3) |
|
(d4,d5) |
|
(d6,d7) |
|
(1)
首先,bit d0,d1将使用DQPSK编码构成,具体编码规则与5.5Mbit/s生成
的规则相同。
(2)
d2,d3,d4,d5,d6,d7位相互配对生成,使用QPSK调试方法,具体如下:
二元组(di,d(i+1)) |
相位 |
00 |
0 |
01 |
|
10 |
|
11 |
|
CCK调制方案:
如图,CCK使用64个基本扩频码字,基本扩频码字具有良好的自相关特性和互相关特性。
输入数据经过扰码器,将数据以字节为单位进行复用,形成并行数据,6 bits的数据用来从64个复数码中选择一个,送入差分调制器中,另外2 bits用来进行QPSK调制,差分调制器的输出分成为I,Q两路(其输出结果按照公式得到),即完成了CCK调制,可以说CCK调制是比较简单的,这也是IEEE 802.11工作组将其列为高速物理层的调制技术的一个比较重要的原因。
3.2.6 DSSS PBCC数据调制和调制速率
PBCC(分组二进制卷积编码)方案在IEEE 802.11b中是一个可选的编码方案,它采用一个码率R=1/2,64状态的二进制卷积码(BCC)和一个覆盖序列。PBCC调制器的结构如图:
PPDU首先经过扰码器,经过扰码器的数据作为PBCC调制器的输入数据,在PBCC调制器中,首先进行BCC编码,然后使用16bit的cover码序列和BCC编码器的输出进行QPSK cover码映射,输出得到I,Q两路数据。
其中BCC是一个64状态码率为1/2的编码方案,其生成矩阵为:
用8进制来表示:
G=[133,175]
为了确保PPDU帧在接收端的正确解码,编码器将从0状态开始(在每一个PPDU的开始,所有存储单元为0)。在每一个PPDU的末端编码器必须被置于一个已知的状态。为做到这一点,在最后一个比特输入到卷积编码器后,至少六个确定的比特必须立即输入到卷积编码器。这可以通过在传输之前附加一个全“0”的字节到PPDU末尾,而在接收时又丢弃每个PPDU最末的字节来实现的。
BCC的输出数据映射到星座图中的时候,不同的速率会有不同的映射方案,在IEEE 802.11b中,5.5Mbps使用BPSK,而11Mbps使用QPSK方式。另外,在这个映射过程中,PSK的星座图由伪随机的cover序列决定,其中S表示cover序列的bit位。如图:
伪随机cover序列由一个种子序列生成,这个16bit的种子序列是:0011001110001011,左边的第一位最先输入。这个序列如果用八进制来表示,为:150714。
256位长的伪随机cover序列的生成规则为:第一个16位组是种子序列,第二个16位组是种子序列循环左移3位的序列,第三个16位组是种子序列循环左移6位的序列,依此类推。
3.3 信道灵活性
IEEE 802.11b允许IEEE 802.11 FHSS 1/2Mbps网络与HR/DSSS 11Mbps 网络共同工作,因此它定义了信道灵活性选项,它支持非重叠和重叠的高速信道。
如果信道灵活性选项可用,从一个信道转到另一个信道的时间是224us。
非重叠信道(频段)使得高速系统的干扰衰落最小,跳频的同步由MAC的层管理实体来完成。
重叠信道采用的是半重叠模式,如下图,每个信道的中心频率间隔10MHz。
3.4.2 传输功率等级控制
当输出功率超过100mW时,将需要使用功率控制,功率控制等级最多为4级,同时传输功率高于100mW时应该能够允许传输功率降到100mW或100mW以下。
3.4.3 传输频谱
传输频谱在频率范围和
内,
在和
范围内,
其中表示中心频率。
3.4.4 传输开电和调电斜面
开电从最大功率的10%到90%需要的最大时间不能超过2us,同样调电时,从最大功率的90%到10%需要的最大时间不超过2us,开电和调电斜面示意如图:
3.4.5 调制精度
高速物理层对调制精度的要求与实际传输波形和理想波形之间的差别有关。调制精度由每个码片周期内峰值向量误差幅度的测量来决定。对于DQPSK调制,理想的复数I,Q星座点为:(0.707,0.707),(0.707,-0.707),(-0.707,-0.707),(-0.707,0.707)。下图中表示了一个DQPSK调制精度的测量例子:
3.5 PMD接收端规范
3.5.1 接收端性能
在天线连接处,PSDU长度为1024字节,调制方式为11Mbps的CCK调制时,误帧率(FER)应该小于0.08 的最小输入功率为-76dBm,最大输入功率为-10dBm。
3.5.2 CCA
高速物理层提供了CCA的以下模式中的一种:
l CCA模式1:当检测倒功率大于ED限时,CCA将报告介质忙。
l CCA模式4:带定时器的载波侦听。当检测到高速物理层信号,CCA将报告该介质忙,并且开始一个时间长为3.65ms的定时器。当定时器超时还没有检测到高速物理信号时,CCA将报告介质空闲。这里定时器长度为3.65ms是针对5.5Mbps的PSDU而言的。
l CCA模式5:模式1和模式4的组合。至少一个正在天线接收的高速PPDU的能量超过ED限时,CCA将报告介质忙。
能量检测的状态由PMD_ED提供,载波侦听状态由PMD_CS提供。PLCP使用PMD_ED,PMD_CS的状态来给MAC层指示PHY的活动状态,这个指示使用原语:PHY-CCA.indicate完成。
CCA模式的选择由PHY MIB的属性:dot11CCAModeSupported来指出。
CCA参数将遵守以下准则:
(1) 当前同步码在CCA估计窗中检测到有效的高速信号时,如果传输功率>100mW,能量检测门限应该小于或等于-76dBm;如果50mW<传输功率<=100mW,能量检测门限应该小于等于-73dBm;如果传输功率<=50mW,能量检测门限应该小于等于-70dBm。
(2) 如果在MAC时隙刚开始的5us之内有有效的信号,CCA将在时隙结束之前报告信道忙。
(3) 如果收到一个正确PLCP报头,高速物理层将在整个PLCP LENGTH字段指示的区间内使CCA信号保持非活动状态。如果在接收的过程中,载波侦听丢失,CCA将在传输PPDU的区间内指示介质忙。
四、 高速物理层管理实体(PLME)
4.1 PLME_SAP原语
下表列出了可以被PHY子层或高层管理实体访问的MIB属性,这些属性可以通过物理层管理原语PLME-GET, PLME-SET, 和PLME-RESET访问(这些原语在IEEE 802.11中定义)。
直接序列扩频特征通过PLME-CHARACTERISTICS服务原语提供,它与IEEE
802.11中定义的扩频特征除了特征aMPDUMaxLength的取值变为:之外,其他都一致。
4.2 TXTIME的计算
PLME-TXTIME.confirm原语返回的TXTIME参数的计算方法如下:
TXTIME=PreambleLength + PLCPHeaderTime + Ceiling(((LENGTH+PBCC) ×8) / DATARATE)
其中:
l LENGTH(传送的MPDU的长度)和DATARATE(传送数据的速率)的值从相应的PLME-TXTIME.request原语中的TXVECTOR参数中获得;
l LENGTH以字节为单位;
l DATARATE以Mbit/s为单位;
l Ceiling是一个可以返回大于或等于给定参数的一个最小整数的函数。
l PBCC的取值与采用的调制方式有关,如果在TXVECTOR中表明采用的是PBCC调制方式,则PBCC的值为1,否则为0;
l PreambleLength的取值与使用的前同步码类型有关,如果在TXVECTOR 参数中的TXPREAMBLE_TYPE的值是“LONGPREAMBLE”(长前同步码),则PreambleLength的值是144µs,而当在TXVECTOR 参数中的TXPREAMBLE_TYPE的值是“SHORTPREAMBLE”(短前同步码)时,PreambleLength的值是72µs;
l
PLCPHeaderTime的取值也与使用的前同步码类型有关,如果在TXVECTOR
参数中的TXPREAMBLE_TYPE的值是“LONGPREAMBLE”
(长前同步码),则PLCPHeaderTime的值是48µs,而当在TXVECTOR
参数中的TXPREAMBLE_TYPE的值是“SHORTPREAMBLE”
(短前同步码)时,PLCPHeaderTime的值是24µs。