什么是LoRa的扩频通信?
之前在学习蓝牙的时候,我了解到了蓝牙的物理层是基于2.4GHz频段的80M带宽内分割出来很多个信道,把比特调制到信道的载波频率上,进行基本的链路通信,同时为了增强抗干扰性,蓝牙还是用跳频机制,也就是通信的双方约定好,先在哪个信道通信,下一个时段在另一个信道上通信。这里面涉及到一个最基本的问题,也就是我们的比特,0或者1,是怎么调制到载波上的呢?频移键控FSK调制 BLE采用的FSK调制方式,也就是用不同的频率表示0和1。在蓝牙的一个通信信道中,小于中心频率被称为负频偏,大于中心频率被称为正频偏。于是,我们使用负频偏的信号表示0,正频偏表示符号1。比如我们选择2402MHz这个信道进行通信,负频偏代表了比特0,正频偏代表了比特1。则最小的频偏约为180KHz。也即是说,如果中心频率选取了2402MHz,比特0意味着传输2401.820MHz,比特1意味着传输2402.180MHz。从时域分析图来看,就像下面这样的波形。以上就是频移键控的调制方式,也就是把符号0 和 1分别用不同的频率来表示。这里得加一个器件,以便于我们去理解后面的扩频通信,在这里先提出来,这个器件就是压控振荡器,顾名思义,就是使用电压来控制震荡频率。如果应用在我们上面的FSK中,其实就是一些固定的电压点对应着每个信道上面的0 和 1。只要经过压控振荡器,就变成不同的频率了。什么是扩频通信呢? LoRa的调制与解调也就是如何在物理波形和比特数据之间进行转换。LoRa 使用 CSS (Chirp Spread Spectrum)线性扩频调制,频率线性扫过整个带宽,因此抗干扰极强,对多径和多普勒效应的抵抗也很强。LoRa的基本通信单元是linear chirp,也即频率随时间线性增加(或减小)的信号。我们将频率随着时间线性增加的chirp符号叫做upchirp,将频率随着时间线性减小的chirp符号叫做downchirp。如下两图分别从时域波形和时频域展示了一个upchirp的图像:上面的图片展示的波形是一个频率从小变大的过程。如果在压控振荡器输入来测量,那就是从低到高的一个线性变化的电压。在转换到频域中观察就是下图这样的一条斜线。我们知道了线性扩频就是一个线性递增的频率,那么回到最初的问题,符号 0 和 1是怎么来表示的呢?LoRa的做法是通过在频域循环平移chirp进行数据的编码,不同的起始频率代表不同的数据。如下图所示,在带宽B内四等分标定四个起始频率,我们可以得到4种类型的符号,分别表示00,01,10,11。我们将图(a)所示从最低频率扫频到最高频率的chirp符号称为basic upchirp。所以在接收端,只需要将这个起始频率计算出来,就可以计算出每一个chirp对应的比特数据。这里,LoRa规定了一个参数SF(Spreading Factor,扩频因子)如上图,当SF = 2时,我们获得4个起始频率,编码为00,01,10,11。那么如果SF = 3,就可以得到8个起始频率了。因此,SF越大,我们在整个带宽上分出的起始频率点就越多,当然也不能无限多,频率的分辨率会不够。如果我们固定的选择一个带宽BW,那么SF越大,也就意味着T越大,也就是发送一个符号的时间越长。因此SF用于调节传输速率和接收灵敏度,越大的SF速率越小但支持更远的通讯距离。如果我们在频率上监测的话,可以看到一段LORA的频率如下:用声音来打个比方,蓝牙的调制方式就是把不同的声音定义成 0 和 1 来进行传递。而LoRa的扩频就相当于我们通过唱一首歌来通信,把符号分成多个,把从不同的段开始唱来表示不同的符号。
学习了!:lol
页:
[1]