UWB PHY层数据帧结构分析

介绍

​ 在IEEE802.15.4-2011标准中定义了UWB PHY层的相关规范,上图为一个UWB数据帧的基本格式。通过分析UWB PHY层数据帧,我们将间接了解到一些UWB技术的工作原理。如上图所示,UWB PHY层的数据帧包括基本的三个部分:同步头、物理层头以及PDU数据段。接下来将对各部分进行介绍:

同步头(Synchronisation header,SHR)

​ PHY层的数据帧帧头部分为同步头SHR,该帧头用于帮助接收机检测数据包时的AGC设置、天线分集选择、定时采集、粗细频率恢复、数据包帧同步、信道评估和边沿信号触发等相关接收机算法。需要注意的是,和UWB数据传输时使用的BPM-BPSK调制方式不一样,SHR使用的是一种类似于OOK-BPSK的调制技术来传递信息。

相关调制技术的介绍可以看我的另一篇介绍UWB脉冲调制技术的博客,了解相关技术原理对后面的分析是很有帮助的

​ 在同步头中,通过对发送一串连续时间的脉冲串来传递信息,脉冲串通过脉冲是正极性脉冲、负极性脉冲和没有脉冲来对应一个三元码元表{1、-1、0}。如下图所示,这样的一串脉冲代表了信息{1,-1,0,-1,0,1}:

​ 在上图中,可以看到横坐标分分为一个个小格,对应的是一个个时间片(Chips),脉冲只能在时间片内进行输出一位{1、-1、0}信息,一个chip对应1位三元数据。如果说chip的大小则代表了单个脉冲的周期时间,那么1/chip则代表了脉冲的输出频率。在标准中,称之为pulse repetition frequency(脉冲重复频率,PRF)。这个频率一般定义为499.2Mhz,作为UWB PHY的一个基本频率存在。

SYNC

​ 同步头最开始的是同步字段,一般也叫前导码(preamble)。前导由多个同样的Symbol码元重复组成,symbol数量可选,最高可为4096个。

每一个Symbol码元又是由某一个特定的编码序列(Code sequence)组成。在UWB规范中规定了8种长度为31和16种长度为127的编码序列,例如下表

这些编码序列被规定只能被成组的在特定的信道中使用,例如1、2号序列只能在信道0、1、8、12中使用。要注意的是,编码序列并非是单纯的重复之后组成了码元,而是通过扩频的方式,用编码序列\(C_i\)通过Kronecker product的得到的码元\(Si\)。其公式如下:

\[S_i=C_i\otimes\delta_L \]

\[\delta_L=\begin{cases} 1 & n=0 \\ 0 & n=1,2,....,L-1 \\ \end{cases} \]

\(\otimes表示Kronecker运算\)

通过公式可以看到,\(C_i\)\(\delta_L\)进行\(\otimes\)运算的结果是在编码序列的每个元素\(C_i\)后面添加\(L-1\)个零点,\(L\)长度由\(\delta_L\)决定。由此得到的单个码元\(S_i\)结构如下:

举个例子,假定在0信道选择编码序列1作为前导码的构成。随后扩频因子\(L\)选4,那么经过\(\otimes\)运算后1个码元\(S_i\)便有4个\(C_i\)组成。而一个\(C_i\)则是由1个编码序列13个0组成。

对于这些编码序列,选用他们最大的原因在于他们拥有一个重要的性质,叫做完全周期自相关。整个重要性质可以减少多径传播引起的测距误差。通过对其在不同信道上进行分组,可以使同一信道上的前导码具有最低互相关性。

这里要注意,由于选用的扩频因子\(L\)和编码序列长度的不同,每个码元symbol包含的脉冲数量或者说时间片chips数量会有多种可能。

以上表为例,假设选择31长度的编码序列,扩频因子选择16,则包含的chips时间片为31*16=496。(这里不考虑补的0)

这将导致一个码元占用的时间周期\(T_{psym}\)也会随之变长变短

前面说过,PRF为499.2Mhz,则一个Chips的长度约为2ns。一个symbol码元,即496个chip约为993.58ns

这里我们引入一个新概念叫做Mean PRF,即有效PRF。mean PRF定义为在一个码元symbol周期内发射的脉冲总数除以码元持续时间的长度\(T_{psym}\)

对于31长度的编码序列,发射的脉冲(只包括正负脉冲,不包括0)都是16个,而127长度的编码序列,发射的脉冲都是64个。对于上述例子,可得其有效PRF为:

mean PRF = 16 / \(T_{psym}\) = 16.10 Mhz

需要注意,这里参考的有效脉冲数是定义为扩频前面的一个编码序列本身的脉冲,与扩频因子无关,只与选择的编码序列长度有关

同样还有个类似的概念叫做Peak PRF,即峰值PRF。Peak PRF定义为基本PRF除以扩频因子。

还是以上述例子,对于16的扩频因子\(L\)

Peak PRF = 499.2Mhz / 16 =31.20Mhz

对于同步序列来说,标准给每个信道划分了两个标称16Mhz PRF的前导码(即前面说的,31长度的编码序列,Mean PRF约为16Mhz),4个标称64Mhz PRF的前导码(即127长度的编码序列,Mean PRF约为64Mhz)。

SFD(start of frame delimiter)

​ SFD部分用于提示接收机前面的SYNC前导码同步结束,准备开始接收物理层头(PHR),用于建立帧时序。在我其他的TOF测距原理中有介绍过,测量信号飞行时间需要对数据帧的发送和接收时间点作为采集,而采集的位置就是SFD。也就是用SFD作为触发,来启动和停止时间定时器,以记录数据帧收发时间从而推算出飞行时间。

​ 在标准中定义了由8个码元序列组成和由64个码元序列组成的两种格式SFD。对于8个symbol的,码元序列如下:

[0 +1 0 –1 +1 0 0 –1]

对于64个的symbol,其码元序列为:

[0 +1 0 –1 +1 0 0 –1 0 +1 0 –1 +1 0 0 –1 –1 0 0 +1 0 –1 0 +1 0 +1 0 0 0 –1 0 –1 0 –1 0 0 +1 0 –1 –1 0 –1 +1 0 0 0 0 +1 +1 0 0 –1 –1 –1 +1 –1 +1 +1 0 0 0 0 +1 +1]

这里要注意这里是码元序列,其中的{+1,-1,0}并不是单个脉冲,而是前面选择的码元Si。以8短帧SFD为例,实际的情况为:

在标准中短帧格式是强制要求的,断帧格式适用于高速率、短距离传输应用(大于800kbps)。而长帧用于通信速率为110kbps的低速率,长距离应用。

小结

​ 上述概念性的东西是有点难以理解的,对于普通用户只需知道同步头就是开始时候发一些重复的脉冲串(SYNC),结尾时候再发一个种特殊规律的脉冲串(SFD)即可。

​ 但要注意,在实际应用中,需要根据应用的场景是高速率还是低速率,是远距离还是静距离,对功耗的支持能力来选择前导的长度。对于SYNC段,16 Mhz PRF(31长度)短编码、64Mhz PRF(127长度)长编码,码元symbol长度(16、64、1024、4096)的选择影响着整个SYNC的耗时。SYNC段越长,越能提供更好的RF性能,对于定位精度也就越高。但同时也会导致功耗增加,速率越低。

物理层头(PHY Header)

​ 如图所示,在SHR后面的是物理层头(PHY header,简称PHR)。PHR长度为19位比特数,使用BPM-BPSK方式进行调制解调。在PHR中包含了如下信息:

  • Data Rata:数据速率字段表示接收到的PDU的数据速率。应根据表105根据有效PRF设置比特位。比特位位的默认值应设置为01,因为这是兼容UWB的PHY实现所支持的唯一强制性数据速率。支持表105中列出的其他数据速率是可选的。
  • Frame Length:帧长度字段应该是一个无符号整数,它表示MAC子层当前请求PHY传输的PDU中的八位字节数。
  • Ranging Packet:测距包比特位,如果当前帧为RFRAME时,设为1,否则设为零。
  • Header Extension:预留位,应设为0
  • Preamble Duration:前导持续时间,即SYNC部分的长度,应按照表104进行设置。
  • SECDED Check Bits:SECDED(单错误纠正,双错误检测)字段是一组6个奇偶校验位,用于保护PHR免受噪声和信道损伤引起的错误。

Data段

该段与PDU同义,用于承载实际传输数据,以BPM-BPSK方式进行调制解调。该部分由于涉及更上层协议内容,其本身并没有太多可以分析的东西。

总结

对于整个数据帧,还有很多有意思的东西值得深入分析,限于篇幅,这里其实只着重解释了SHR部分。对于更深层次的调制解调,纠错等技术内容,可以直接阅读IEEE802.15.4-2011 UWB PHY篇内容。

posted on 2023-06-25 17:09  不回本不改名  阅读(1601)  评论(0编辑  收藏  举报

导航