LoRa物理层技术

Semtech并没有开发LoRa物理层技术细节,只能从找到的一些文档及semtech产品的datasheet中找到一些相关信息。LoRa用于物联网无线传输的通信技术,LoRA设计用于低功耗,低速率,远距离传输,LoRa的速率范围从0.3kbps到50kbps,ADR(adaptive data rate)调度算法可以根据环境条件修改数据速率及发射功率。

物理技术
LoRa使用扩频技术来发送数据,可有效对抗多普勒频移,不同直扩序列DSSS,而是使用啁啾扩频CSS(Chirp spreatrum Spread Spectrum)技术进行数据发送。调制模式可选为GFSK或是OOK(On-Off Keying),OOK又名而进制控幅键控ASK,0、1通过幅度来体现;FSK频移键控控制,同步不同频率来区分0和1,而GFSK是在FSK之前通过一个高斯滤波器来限制信号的频谱密度。CSS与DSSS的解扩原理也有相似之处,DSSS是通过PN序列扩频的,DSSS比较好理解,PN序列自相关性很强,而远大于互相关性,CSS通过匹配滤波一定程度也可以看做自相关性。在工作频率方面,LoRa使用未授权免费的公共ISM频率,终端使用伪随机接入方式来减少设备间的相关干扰,而LoRa中亦引入跳频发送技术。

物理帧结构
找到两个物理层帧结构说明,两个有些类似。前一个是反解LoRa信号的文档说明中找到的,另个是semtech 1272 datasheet 参考SX1272_settings_for_LoRaWAN_v2.0.pdf上的说明。

物理帧结构

参考SX1272的datasheet

图中的CR为码率code rate,CRC循环冗余校验

注:图中的CR为码率code rate,CRC循环冗余校验

可配参数
可定制的参数包括:BandWidth/频点频宽、Spreading Factor(SF,扩频)和Code Rate(CR),这些参数设置能够影响LoRa的发送速率,影响解码的灵敏度等,简单讲增加带宽会降低灵敏度,而增加扩频因子SF则可增加灵敏度。。CR(Code Rate)可以设置为4/(4+n) n为1、2、3、4中的某一个值。

Symbol的时间长度: Ts = 2^SF/BW

比特速率为:Rb=SF*(BW/2^SF)*CR

需要发送的符号数目计算公式如下:

需要发送的符号数目计算公式

可以看到最短为8个symbols,其中PL为payload长度,单位为字节,CRC存在时为16,否则CRC为0,SF为扩频码长度,如果存在Header则H为20,DE在低数据速率优化情况下为2,否则为0.

在SX1272文档中提供的寄存器信息:可以配置Preamble字节数为16比特,SyncSizewei 3个比特,SynOn使能位1个,Preamble的Polarity等等,SYNC word的数值可以配置,另外可以配置8个byte的PayloadMaxLength,可以配置codeRate CR、CRC选择、Syncword选择、BW(bandwidth)、SF、Modulation等等。

preamble是常数序列,其后为sync word,一个字节用于区分同频的不同LoRa网络,需要与配置相同网络数据才进行接收。Header是可选的,码率固定为4/8,内容含有一个字节指示的为载荷字节长度,同时指示是否有一个长度16的CRC,以及发送数据的码率CodeRate。Header本身带有CRC可以用来检查Header本身是否正确,而在知道长度、CRC、码率CR的情况下,Header是可以省略掉的。

文章转载自:CSDN