LoRa学习总结(二)

  • Post author:
  • Post category:其他


之前文章写到LoRa一些特点和传输距离。根据自由空间传播距离公式,可以得出发射功率越大,传播距离越长。

但是LoRa是低功耗,远距离传输,是如何解决这一对矛盾的?


根本原因是LoRa提高了接收机的灵敏度,从而拥有超强的链路预算,也就不需要很高的发射功率了。



1.扩频通信


LoRa接收端灵敏度要归功于扩频技术。


扩频通信,即扩展频谱通信技术(Spread Spectrum Communication),它的基本特点是其传输信息所用信号的带宽

远大于

信息本身的带宽,且

抗干扰能力强

扩频通信的过程:

  • 待传输的信号频谱用某个特定的

    扩频函数

    (与待传输信号无关)扩展成宽频带信号。
  • 将这个宽频带信号送到传输信道中。
  • 在接收端利用相应技术将扩展的频谱进行压缩,恢复为待传输信号的带宽。

扩频信号有以下两个特性:

  • 其传输信息所用信号的带宽远大于信息本身的带宽。
  • 传输信息带宽是由扩频函数决定的,扩频函数通常是伪随机编码信号。



1.1扩频通信理论基础

扩频通信理论基础是基于香农公式:

在这里插入图片描述

其中:C—–信道容量

B——信道带宽

S——信号功率

N——噪声功率

对于上面式子,进行以下变换:

在这里插入图片描述

对于干扰环境,S/N<<1,那么在干扰环境中,

S/N减小(等价于噪声变大),

可以

增加带宽B

来保证

信道容量C不变

例如N/S=100(20dB),C=3kb/s,B=210kHZ时,就可以进行可靠通信了。

扩频通信就是利用这个原理,利用高速扩频码来增加带宽,来达到抗干扰目的。



1.2扩频通信原理

在将原理之前,我们先总结一下:


需要传输的信号要在信噪比很低的情况下传输信号,必须要增加带宽来实现这个功能。



而实现这个功能是需要伪随机码和待传输信号进行相乘来实现。

下面是一个扩频系统的模型:

在这里插入图片描述

现假设需要传输的信号在时域上是d(t),序列发生器出来的伪随机信号是c(t),发送端将两者相乘(调制),得到需要从发射机发出的信号d(t)c(t)。

在这里插入图片描述

上述是时域中的图。

脉冲宽度和带宽成反比关系,脉冲信号的脉冲宽度约窄,信号带宽越宽。


经过上述处理,就实现了对d(t)扩展频谱的目的。



1.3直接序列扩展频谱

LoRa使用的是这种方式。通常对载波进行相移键控(PSK)调制。一般FSK的信噪比需要8dB,而LoRa只需要-20dB。



1.4扩频因子(SF)

通常在调试代码时,都会调整扩频因子大小来改善LoRa性能。


扩频因子:扩频后chip速率和扩频前信号速率的比值,直接反映了扩频增益。


扩频因子决定每秒发送多少个线性调频脉冲,即数据的载体。表示了每个信息位发送的符号数量。

  • 较低的 SF 意味着每秒发送更多的 Chirps;因此,您可以每秒编码更多数据。

    速率更大。
  • 较高的 SF 意味着每秒更少的Chirps;因此,每秒能编码的数据较少。

    速率更小。

同时,SF对抗干扰能力也有影响。

  • 较低的SF对信号功率采样时间变短,灵敏度下降。

    抗干扰能力变弱。
  • 较高的SF好处在于,更长的通话时间使接收机有更多机会对信号功率进行采样,从而提高了灵敏度。更高的灵敏度意味着您可以在更远的地方接收信号,从而获得更好的覆盖范围。

    抗干扰能力变强。

LoRa扩频因子范围:

在这里插入图片描述



2.前向纠错

在通信过程中,如果出现发送信息错误或者出现丢包现象,那么如果在单向传输情况下,只能用纠错码来保证通信的可靠性。


LoRa应用了前向纠错编码技术,在传输信息中加入冗余,有效抵抗多径衰落。



2.1FEC

FEC(向前纠错)是一种前向性纠错技术,发送方将要发送的数据加上一定的冗余纠错码一起发送,接收方则根据纠错码对接收到的数据进行差错检测,如发现差错,则由接收方进行纠错。

特点:使用纠错码,单信道通信,发送方无需设置缓存。

在这里插入图片描述


FEC实质是异或



假如有4个数据,那么它们可以取4个异或值,其中每一个数据都可以由另外4个异或计算出来。还可以把ABCD和E想象成一个数据包,如果我们传输ABCD这四个数据包,第五个数据包传输的是E,这五个数据包可以丢失任何1个数据包。接收方收到数据之后,能够把它丢的数据恢复出来。前向纠错算法能处理的是连续数据里只丢1个包。同时丢失A和B,这个算法不能解决。



2.2编码率(CR)

通常在调试代码时,都会调整编码率大小来改善LoRa性能。

编码率(或信息率)是数据流中有用部分(非冗余)的比例。也就是说,如果编码率是k/n,则对每k位有用信息,编码器总共产生n位的数据,其中n-k是多余的。


LoRa采用循环纠错编码进行前向错误检测与纠错。



在这里插入图片描述



3.带宽(BW)

通常在调试代码时,都会调整带宽大小来改善LoRa性能。


信道带宽(BW)是限定允许通过该信道的信号下限频率和上限频率。



增加信号带宽,可以提高有效数据速率以缩短传输时间,但这是以牺牲部分一接收灵敏度为代价。


在这里插入图片描述


References:



扩频通信基础



丢包策略


LoRa学习总结(三)



版权声明:本文为weixin_36101480原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。