一种LoRa空口数据的解调方法转让专利

申请号 : CN202110312251.3

文献号 : CN113099487B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 雷芳陈博徐勇军陈发堂王华华杨黎明王丹李贵勇吕京昭方泽圣秦红李思远梁泽乾

申请人 : 重庆邮电大学

摘要 :

本发明属于低功耗广域网LoRa技术领域,涉及LoRa物理层的通信链路流程、数据包结构和LoRa扩频技术,具体涉及一种LoRa空口数据的解调方法,包括将从罗德仪表获取的LoRa数据进行同步,提取LoRa空口数据中有效载荷部分的调制数据,并实现解调得有效核载部分的比特流;本发明针对数据包前导的特点,提出LoRa空口数据的同步算法;并使用该同步算法,实现对LoRa空口数据的同步和解调,本方法在误码率低于0.01时,LoRa调制技术扩频因子增加1,抗噪声性能大约提高3dB;纠错码率为4/5,抗噪声性能大约提高1dB,效果最优。

权利要求 :

1.一种LoRa空口数据的解调方法,其特征在于,包括将从罗德仪表获取的LoRa数据进行同步,提取LoRa空口数据中有效载荷部分的调制数据,并实现解调得有效核载部分的比特流,从空口获取的LoRa数据进行同步,然后进行解调,具体包括以下步骤:S1、通过检测信号强度RSSI或检测信号频率突变边缘或者两者的结合来判断LoRa信号的到来;

S2、通过LoRa解调算法,持续解调步骤S1检测到的LoRa空口数据,直到解出3个连续相同的符号,并记录此时的解调K值;

S3、对检测到的数据前移K个点,再继续持续解调信号直到出现3个连续符号为0、同步字1、同步字2,则同步成功并进行步骤S4;否则继续执行步骤S1~S2;

S4、在检测3个连续符号为0、同步字1、同步字2,对同步信号向后偏移2.25个Downchirp信号,得有效载荷Payload部分;

S5、根据罗德仪表配置LoRa数据的参数,计算出Payload部分的长度,得到其进行编码后的n个符号;

S6、采用LoRa解调算法,解调计算得到的n个Payload符号,具体包括以下步骤:在接收端应对先接收数据去载频处理,得基带LoRa调制信号 其中 包含噪声n(t);

利用与LoRa调制算法相对的μ为‑1时且调制信息K值为0的Downchirp信号对信号进行相乘得信号sr(n),表示为:其中, 和 n为LoRa调制信号时域采样点位置,Ts为信号扫频时间,即为符号周期 秒;K为NSF个比特数据的十进制数的信息值,即偏移码片数;B为带宽;

对信号sr(n)的码片的行向量进行离散快速傅里叶变化得到其频谱y(n);

第p个符号的频谱y(p,n)的压缩脉冲的最大值的横坐标n乘以调制带宽B作为频率突变采样点的位置,计算得到第p个符号的解调值为K(p),表示为:y(n)=FFT(sr(n)),K(p)=find(max|y(n,p)|)*B其中,y(n)为一个符号的频谱图,y(n,p)为第p个符号的频谱;NSF为比特数据的个数;n为LoRa调制信号时域采样点位置。

说明书 :

一种LoRa空口数据的解调方法

技术领域

[0001] 本发明属于低功耗广域网LoRa技术领域,涉及LoRa物理层的通信链路和调制解调技术,具体涉及一种LoRa空口数据的解调方法。

背景技术

[0002] 近年来,智能设备的蜂拥而起,先后涌现了一系列的无线通信技术,被大规模应用于各个行业各种应用场景。其中,在广域网通信技术中,LoRa是一种前景比较好的低功耗广
域网(Low Power Wide Area Network,LPWAN)技术,主要应用于具有低功耗、远距离特点的
应用场景,如智能抄表、智慧农业等。
[0003] LoRa技术是由美国Semtech公司开发的一种扩频技术,融合了数字扩频、数字信号处理及前向纠错编码等技术。与传统扩频技术相比,LoRa技术增加了链路预算和对带内干
扰的抗干扰能力,扩大了无线通讯链路的通信范围。
[0004] 目前,在LoRa设计指南以及一些官方资料中,没有给出物理层LoRa数据包的调制解调技术及详细的通信链路流程,仅有一些文献提到LoRa调制解调技术的原理及物理层通
信系统流程框图。但是由于这些理论并没有通过实际的LoRa空口数据去验证,本发明主要
结合文献和罗德仪表的LoRa技术,对LoRa物理层进行更详细更完整的说明,并实现对采集
罗德仪表的LoRa空口数据实现解调。

发明内容

[0005] 为了能对LoRa空口数据进行解调,本发明提出一种LoRa空口数据的解调方法,包括将从空口获取的LoRa数据进行同步,提取LoRa数据中Payload(有效核载)部分LoRa调制
数据,对Payload数据进行解调得Payload部分的比特数据。
[0006] 进一步的,根据LoRa数据包前导的功能和特点,并使用同步算法从罗德仪表获取的LoRa空口数据进行同步及解调的具体包括以下步骤:
[0007] S1、通过检测信号强度RSSI或检测信号频率突变边缘或者两者的结合来判断LoRa信号的到来;
[0008] S2、通过LoRa解调算法,持续解调步骤S1检测到的LoRa空口数据,直到解出3个连续相同的符号,并记录此时的解调K值;
[0009] S3、对检测到的数据前移K个点,再继续持续解调信号直到出现3个连续符号为0、同步字1、同步字2,则同步成功并进行步骤S4;否则继续执行步骤S1~S2;
[0010] S4、在检测3个连续符号为0、同步字1、同步字2,对同步信号向后偏移2.25个Downchirp信号,得有效载荷Payload部分;
[0011] S5、根据罗德仪表配置LoRa数据的参数,计算出Payload及Payload CRC的长度,得到其进行编码后的n个符号;
[0012] S6、采用LoRa解调算法,解调计算得到的n个Payload符号。
[0013] 进一步的,LoRa解调算法包括以下步骤:
[0014] 在接收端应对先接收数据去载频处理,得基带LoRa调制信号 其中包含噪声n(t);
[0015] 利用与LoRa调制算法相对的μ为‑1时且调制信息K值为0的Downchirp信号对信号进行相乘得信号sr(n);
[0016] 对信号sr(n)的码片的行向量进行离散快速傅里叶变化得到其频谱y(n);
[0017] 第p个符号的频谱y(p,n)的压缩脉冲的最大值的横坐标n乘以调制带宽B作为频率突变采样点的位置,计算得到第p个符号的解调值为K(p)。
[0018] 进一步的,信号sr(n)表示为:
[0019]
[0020] 其中, 和 n为LoRa调制信号时域采样点位置,Ts为信号扫频时间,即为符号周期 秒;K为NSF个比特数据
的十进制数的信息值,即偏移码片数。
[0021] 进一步的,p个符号的解调值为K(p)表示为:
[0022]
[0023] K(p)=find(max|y(n,p)|)*B
[0024] 其中,y(n)为一个符号的频谱图,y(n,p)为第p个符号的频谱;B为LoRa技术的基带带宽;NSF为扩频因子,也为1个符号的比特数据的个数;n为LoRa调制信号时域采样点位置。
[0025] 通过罗德仪表采取LoRa空口数据的参数配置,提出更完整更合理的通信链路流程,针对数据包前导的特点,提出更合理更快速的同步算法,并LoRa空口数据包实现了解
调。在最后通过仿真结果表明,纠错码率为4/5时,抗噪声性能大约提高了1dB,效果最优。
[0026] 本发明针对数据包前导的特点,提出LoRa空口数据的同步算法;并使用该同步算法,实现对LoRa空口数据的同步和解调,本方法在误码率低于0.01时,LoRa调制技术扩频因
子增加1,抗噪声性能大约提高3dB;纠错码率为4/5,抗噪声性能大约提高1dB,效果最优。

附图说明

[0027] 图1为本发明中LoRa显示模式(Explicit mode only)的数据包结构;
[0028] 图2为本发明中LoRa收发端的操作流程示意图;
[0029] 图3为本发明中罗德仪表采集的20ms数据示意图;
[0030] 图4为本发明中数据包的时域图示意图;
[0031] 图5为本发明中数据包Payload部分模值图及对应的时频图示意图;
[0032] 图6为本发明中高斯信道下的性能仿真曲线图;
[0033] 图7为本发明中LoRa的SF7不同码率误码性能曲线图。

具体实施方式

[0034] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
[0035] 根据罗德仪表使用各种参数配置的接口和一些文献中提到LoRa数据包结构、物理层的通信链路流程图和LoRa调制解调技术,并结合各个参数设置接口,推导出物理层通信
链路流程如图2所示。在图2中,报头Header和有效载荷Payload是分开进行纠错码的添加,
前导码Preamble是没有进行加密处理的。根据一些文献资料,可知数据包有显示和隐式两
种报头,显示模式数据包结构如图1所示,隐式模式是关闭报头。为了方便验证上文提到的
一些理论,在罗德仪表生成的LoRa数据为隐式模式。前导由n个Upchirps信号,两个同步码,
以及生成3个Downchirps信号并从中截取2.25个Downchirps信号,由这三部分组成前导调
制部分,在后文的采集罗德仪表的LoRa空口数据的波形图4和解调频域图,也印证这一结
果。
[0036] 其中,Payload部分比特流数据加密和提高鲁棒性处理部分各个功能作用分析,可以得处理的顺位依次为:是否添加CRC,是否打开Payload部分的低速率优化,添加纠错编码
位数选择,是否打开交织器,白化,格雷码;而在接收端,Payload解调后,比特数据解密和以
及去冗余比特中,顺序和发送端相反。
[0037] LoRa调制技术的本质是特殊的线性扩频(Chirp Spread Spectrum,CSS)调制技术,是一种线性频率调制技术;通过对初始频率的循环偏移点数K,携带需要传递的信息,进
行扩频传输。将经过处理和填充的bit数据按每扩频因子NSF个bit封装成1个符号,将NSF个
比特数据分割为 个码片进行扩频传输。1个符号的LoRa调制,定义如下:
[0038]
[0039] 其中,调制端μ取1, 和fc为载波频率。n为LoRa调制信号时域采样点位置,B为LoRa基带信号的带宽,Ts为信号扫频
时间,即为符号周期 秒;K为NSF个比特数据的十进制数的信息值,即偏移码片数;μ
为1时,表示上扫频,若此时K为0,则为Upchirp信号;μ为‑1时,表示下扫频,若此时K等于0,
则为Downchirp信号。
[0040] 由上式可知,该调制信号的频率随时间变换的表达式f(n)为:
[0041]
[0042] LoRa的解调技术是根据LoRa调制的基本原理来的,是由本地Upchirp信号作为基本的调制信号,对初始频点进行循环位移得到的调制信号。在接收端先对接收数据去载频
处理,得基带LoRa调制信号 其中 包含噪声n(t);在使用与调制相对的μ为‑1
且K等于0的Downchirp信号与 进行相乘得sr(n)表示为:
[0043]
[0044] 其中, 和 对sr(n)的个码片的行向量进行离散快速傅里叶变化(Fast Fourier Transformation,FFT),可
以得到其频谱y(n)。根据频谱图的压缩脉冲的最大值的横坐标n乘以调制带宽B作为频率突
变采样点的位置,计算得到第p个符号的解调值为K(p)表示为:
[0045]
[0046] K(p)=find(max|y(n,p)|)*B
[0047] 其中,y(n)为一个符号的频谱,y(n,p)为第p个符号的频谱。
[0048] 使用上文给出的LoRa符号的解调技术,对如图2所示的空口采集LoRa数据进行滑动解调,直到发现解调配置前导8个符号的为0起始点,取出数据包如图3所示,由于直接采
集罗德仪表生成数据,噪声很小,数据区间明显,可以直接观察导大概的数据起始点,所以
不需要滑动很多次,就可以找到前导的起始点。
[0049] 由于LoRa调制是一种频率调制技术,并且在传递消息时,1个符号或相邻会有频率突变的地方,在罗德仪表抓取数据需对数据进行重采样,会经过内部的低通滤波器,所以在
图4的第3子图的数据模值不是一个固定值,而是当频率发生很大突变就会出现凹陷,当频
率发生几个采样点或者几十个采样点突变就出现一些小波动,由于噪声很小,所以这一特
征表现的很明显。
[0050] 从图4的第3个子图中,标出了前导3个部分所处的采样点数所在的区间,可以明显发现,前8个符号,都是以高频开始和高频结束的;根据LoRa数据包前导的8个Upchirp信号
起始频率为‑B/2,以B/2结束,通过这一特点也说明了上文提供的LoRa调制解调算法是正确
的。解调罗德仪表采集的数据,主要是对文献资料提到的LoRa包结构、LoRa调制解调算法的
论证以及对LoRa物理层通信链路的完善。
[0051] 但是在实际中,信号的噪声比较大,无法直接观察到这些特征,在这里结合数据包前导的特点,提出一种数据同步算法,具体包括以下步骤:
[0052] 步骤1:检测LoRa信号的到来,检测方法包括根据检测信号强度RSSI进行判断或者检测信号频率突变边缘或者两者的结合;
[0053] 步骤2:检测LoRa信号的前导,通过上文提供的LoRa解调算法,持续解调信号直到出现3个连续相同符号,并记录解调值K;
[0054] 步骤3:对步骤2可能检测到前导码的信号,前移K个点,再继续持续解调信号直到出现3个连续符号为0,同步字1,同步字2,则同步成功,进入步骤4;若解调次数超过前导符
号数加上两个同步字的长度,则继续执行步骤1和步骤2;
[0055] 步骤4:对同步信号向后偏移Payload部分和前导之间的间隔部分;根据Payload部分及Payload CRC的长度,就可以获得其进行编码后的符号个数;结合Payload部分的起点,
以及获得数据的符号个数,就可以完美的得到信息部分的信号;
[0056] 对从罗德仪表获取的LoRa空口数据经过同步算法,去前导后得Payload部分的数据如图5所示;再对Payload部分经过上文提供的解调算法分别对每个符号进行解调,就可
以实现对LoRa空口数据的解调。
[0057] 本发明提出了LoRa空口数据的解调,对上文采集的LoRa空口数据经过同步算法,得去前导后的其余部分,在对剩余的Payload部分和Payload CRC经过上文的解调算法,就
可以实现对LoRa空口数据的解调。对图4的Payload部分进行解调得12个符号为:96、124、0、
0、0、0、0、0、28、92、99、96。从图5可以直接观察到,时频图(b)的每个符号内部频率变化和模
值图(a)的凹陷以及波动的地方是一一对应的,也直接说明解调结果的正确性。在罗德仪表
LoRa调制参数界面中,Payload部分只配置4字节32比特数据,而实际上解出了84比特,明显
是对32比特数据填充了52比特,从而对传输数据达到了提升鲁棒性和加密的目的。在低信
噪比环境,同步算法,也能很好的对空口数据实现同步,解调LoRa数据包。
[0058] 为了进一步直观表明LoRa调制不同扩频因子下抗噪声性能差别,以及LoRa调制抗噪声性能的优越性,所以在图6中给出了,在带宽500kHz,LoRa调制7种扩频因子在高斯信道
下的性能仿真曲线图。并且,为了验证前向纠错编码采用各种码率对LoRa调制带来的抗噪
声性能增益的大小,在图7中给出了,带宽500kHz,7种扩频因子以及不同纠错编码码率经过
交织后,在高斯信道下的LoRa调制性能仿真曲线图。
[0059] 在LoRa物理层中,由于官方没有给出确切的前向纠错编码方式,而汉明码纠错码r
要求2 ‑1≥n,r是监督位数,n是编码后的bit数,若采用汉明码,其中纠错编码码率为4/4、
4/5、4/6就不满足要求,所以在图6性能仿真中,采用循环纠错编码。
[0060] 通过图6和图7的仿真结果表明,并不是循环纠错码位数越多,纠错效果越好。在误码率小于0.01时,扩频因子的增加1,LoRa调制抗噪声性能大约可以提升3dB;码率为4/5、4/
6或4/8,抗噪声性能大约提高了1dB;码率为4/7,抗噪声性能大约提高了2dB。在LoRa调制技
术中,除了添加纠错编码、增大扩频因子,还可以配置的Payload部分低速率优化,来提高信
息传输的鲁棒性。
[0061] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换
和变型,本发明的范围由所附权利要求及其等同物限定。