为何使用扩频技术
一、扩大带宽、减少干扰
当扩频因子为1时,数据1就用“1”来表示,扩频因子为4时,可能用“1011”来表示1,这样传输的时候可以降低误码率也就是信噪比,但是却减少了可以传输的实际数据,所以,扩频因子越大,传输的数据数率就越小。
二、根据对速率的不同要求分配不同数量的码道,提高利用率
扩频因子还有另一个用途,那就是正交码(OVSF: Orthogonal Variable Spreading Factor ,正交可变扩频因子),通过OVSF可以获得正交的扩频码,扩频因子为4时有4个正交的扩频码,正交的扩频码可以让同时传输的无线信号互不干扰,也就是说,扩频因子为4时,可以同时传输4个人的信息。语音和数据业务传输的数率要求不一样,所以他们扩频因子不一样。
FHSS,跳频扩频技术 (Frequency-Hopping Spread Spectrum)在同步、且同时的情况下,接受两端以特定型式的窄频载波来传送讯号,对于一个非特定的接受器,FHSS所产生的跳动讯号对它而言,也只算是脉冲噪声。
当单个数据包时间可能超过相关法规允许的最大信道停留时间,则会用FHSS技术。在LoRa中开启跳频模式,是操作RegHopPeriod和FreqHoppingPeriod寄存器设为非零值。
LoRa进行跳频扩频通信(FHSS)的原理
FHSS跳频扩频方案的工作原理为:每个LoRa数据包的部分内容通过MCU管理设置的跳频信道,既所要“跳”的频率(根据频率查询表)发送出去,在预定的跳频周期结束后,既该部分数据发送完成,则发射机和接收机切换到跳频预定义列表的下一个信道,以便继续发送和接受数据包的下一部分内容。
在任一信道内的驻留时间由FreqHoppingPeriod来决定,该值为符号长度的整数倍。
通过跳频发送和接受的过程从信道0开始。。所以前导码和报头部分首先会在信道0发送。每次开始发送数据包时,信道计数器FhssPresentChannel(位于RegHopChannel)的读数会增加,并产生中断信FhssChangeChannel以实现跳频。
必须在跳频周期内设定新的频率,以 保证下次跳频时,会覆盖该新频率。
FHSS接收通常从信道0开始,在Check完前导码后,接收机就会开始上述跳频过程,这时候,如果Header的CRC不正确,接收机会自动请求信道0(数据包重发机制),并重新开始Check前导码。