当前位置:文档之家› LoRa调制总结

LoRa调制总结

目录
1.Chirp信号 (2)
2.LoRa调制 (3)
3 LoRa调制的具体方案 (5)
3.1 数据速率 (5)
3.2调制 (6)
3.3扩频调制的数学表示 (8)
LoRa调制是基于这个调制方案,但是具体的实现我还是有些谜。

(9)
1.Chirp信号
LoRa调制使用基于线性调频扩频调制(chirp Spread Spectrum,CSS)方案的调制。

chirp信号是sine信号,其频率随着时间线性增加(upchirp)或随着时间线性减小(downchirp)。

即chirp=cos(x(t));x(t)为时间t的二次函数。

如下式所示s ( t ) = a(t) cos [θ(t)]
a(t)是s(t)的包络,在(0,T)范围之外的取值为零。

这样,信号扫过的带宽B=|u|*T
s(t)=a(t)cos(2*π*fc*t+ π*u*t^2+∅)
这样,定义信号扫过的带宽BW=|u|*T
Chirp(upchirp)信号如下所示:
Chirp信号的频谱
Chirp信号的频率随时间的变化关系图。

最基础的基于 chirp信号扩频调制是upchirp代表1,downchirp代表0.
2.LoRa调制
LoRa调制信号的频率随时间变化的关系(以upchirp信号为例)
LoRa调制中的每一个符号都可以表示为sine信号,频率在时间周期内变化如上图所示,fc为中心信号扫过频率范围的中心频率,频带范围为[fc-BW/2,fc+BW/2],LoRa符号持续时间为Ts,从频率范围内的某一个初始频率开始上升,到最高频率fc+BW/2,然后回落到最低频率fc-BW/2,继续开始上升,知道符号的持续时间Ts,所以在一个Ts时间内,LoRa符号的频率一定会扫过整个频带范围。

符号频率的初始值可能为2^SF,SF为传播因子。

(论文上有这样提到,但是我感觉有点不像呀,因为SF的最大值也不过12,BW的常用带宽是125kHz,
250kHz,500kHz好像比较少用,但是一定有,信息映射会提到)。

传播因子SF 定义了每一个LoRa符号里面携带比特的数量。

因为使用了前向纠错码,所以信息比特速率会稍微降低一些,加上以上给出的信息,我们可以得到信息比特速率计算如下:
Rb=(SF/Ts)*CR,其中CR为编码率。

符号持续时间有SF和带宽BW共同确定:Ts=2^SF/BW,
所以 Rb=(SF*BW/2^SF)*CR,
由以上式子可以看出,SF越大,符号持续时间越长,空中传播时间越长,bite速率越小。

因此,参数:带宽 BW,传播因子SF,和编码率CR,决定了LoRa点对点链路的bite速率。

大的传播因子意味着更低的bite速率,但是同时获得了更高的敏感度(是否可以理解成持续时间长了,然后能量就大了,而接收端匹配滤波,使得能量聚集)。

LoRa调制有着一个显著的优势就是这种调制方式和编码方案使得LoRa设备可以正确的接收在同一个信道两路相互交叠传输的信号,只要他们的SF不一样。

同时,就算是两路完全一样的信号,有着相同的SF,也能够接收信号强度更大的信号。

(这是供应商声称,实际上怎么样,我也不确定。


BW,SF参数的选择以及对应的码率,bite rate 如下表所示(在频段863—880MHz):
3 LoRa调制的具体方案
Chirp扩频调制基本上有两种方式::二进制正交键控(BOK:Binary Orthogonal Keying)、和直接调制(DM:Direct Modulation)。

BOK是利用不同的Chirp脉冲来表示不同的数据,如用从低到高的线性频率变化(up-chirp)表示1,从高到低的线性频率变化(down-chirp)表示0。

由于Chirp扩频的处理增益由信号的时间带宽积(TB)所决定,为了得到良好的增益,TB应远大于1,从而导致通信速度不可能太高。

DM是在其他方式调制(如DPSK、DQPSK等)后的信号上乘以一个Chirp信号,以达到扩频的目的。

在这种情况下,Chirp信号类似于DSSS的PN序列,这种调制方式结构简单,易于实现,而且整个系统可以只用一种Chirp信号,接收处理也方便。

802.15.4a定义的Chirp扩频就是采用了DM的方式。

(具体的方案细节,还没有找到,我也有很大疑问)
在ieee 802.15.4a中的6.5.1 2450MHz PHY chirp spread spectrum(CSS)给出了这种调制方案,也明确表示过,LoRaWAN也是采用基于CSS的专用物理层,但是具体是如何改善应用的具体细节我没有找到。

所以以下讲述以ieee 802.15.4a的的调制方式为蓝本
3.1 数据速率
CSS(2450MHz)PHY数据速率为1Mb/s,另外一种可选的速率是250kb/s.结合使用了CSS和差分正交相移键控,分别有8进制和64进制正交化码,分别对应着上面两种数据速率。

3.2调制
与一般的处理流程一样,首先将输入的二进制流分成I和Q两个比特流,基本是按照逐位交错分配:第一个比特输入到I流,则第二个比特输入到Q流。

如若输入二进制流为:010110,则I流为:001,Q流为110。

然后就是符号映射:在串并变换(S/P)处理,是将输入的I、Q两个子流中的二进制数据以3个比特为单位(以数据速率1Mb/s为例)分别转化为符号流(也即3bit的数据对应一个symbol)。

但这样生成的符号流并不直接用于传输,而是进行一次数据符号(data symbol)到双正交码字(bi-orthogonal codeword)的变换。

采用双正交码字可以减少互相干扰和多径效应的影响,在802.15.4a中为数据速率1Mb/s的传输定义了以下的符号转化表。

在上面的例子中,做符号变换后,I流为:1 -1 1 -1;Q流为:-1 -1 1 1。

接下来的就是交织处理。

(但是在LoRa里面,我暂时还没有看到交织这个流程,不知道会不会为了终端模块的简单,省略这个步骤,但这确实是防止块衰落的好方法。


然后,进行P/S变换,将生成的I、Q流结合在一起,生成作为QPSK编码输入的码片序列(chip sequence)。

上例中的I、Q流结合生成IQ信号,为:1 - j,-1 – j,1+ j,-1 + j。

接下来还有一个差分编码。

接下来就是与subshirp信号相乘即扩频调制,便得到了DCSK调制信号。

整个调制流程完成。

这里,需要对subshirp说明一下.
框图中的CSK发生器需要周期性的产生以下定义的4种subchirp 序列(chirp symbols)中的其中一种;四种chirp symbols如下图所示:
独立的chirp signal,这里称为subchirp,四个subchirp 级联成一个chirp symbol。

Subchirp之间,频率不是连续的,有一定的频率偏置,但是不影响chirp信号的频谱,因为在这些点,subchirp信号的幅度为0.
3.3扩频调制的数学表示
用数学表示扩频调制如下:
设chirp信号为:
CP(n,k,m)=exp[j(2*pi*f(k,m) + u/2 *ξ(k,m)*(t-T(n,k,m))(t-T(n,k,m))] 其中:
n=0,1,2……为chirp symbol流中的第n个chirp symbol 编号。

m=1,2,3,4,对应上述四种chirp symbol中的第m种定义。

k=0,1,2,3,为第m个chirp symbol中的第k个subchirp。

f(k,m):为第m种chirp symbol中的第k个subchirp的中心频率。

T(n,k,m):为chirp symbol流中的第n个符号,属于第m种的第k个subchirp 的中心频率点的时间。

所以有
T(n,k,m)=(k+1/2)*Tsub +n*Tchirp
Tsub为一个subchirp持续时间,Tchirp为一个chirpsymbol持续时间。

ξ(k,m):指示该个subchirp周期内的频率变化的方向,取值为{+1,-1} u是常数,在802.15.4a中,u=2*pi*7.3158*10^12 rad/s^2;其实就是频率斜率的绝对值。

T:时间取值范围为[T(n,k,m)-1/2*Tsub, T(n,k,m)+1/2*Tsub ]
在直接调制中,就是用前面生成的相位符号与预先定义好的chirp信号相乘,即:
S~m(t,n,k)=(exp(j*φ(n,k)))*CP(n,k,m)
其中:
φ(n,k):为第n个chirp symbol上的第k个subchirp上的信号。

S~m(t,n,k):采用第m种chirp symbol定义时,在第n个chirp symbol的第k个subchirp上的调制信号。

LoRa调制是基于这个调制方案,但是具体的实现我还是有些谜。

相关主题