APP下载

一种面向物联网的轻量级增强型长距离物理层设计方法

2022-01-04谢桂辉唐晓庆焦向开李乳演

电子与信息学报 2021年12期
关键词:物理层码率码字

谢桂辉 唐晓庆 焦向开 李乳演

①(中国地质大学(武汉)自动化学院 武汉 430074)

②(复杂系统先进控制与智能自动化湖北省重点实验室 武汉 430074)

③(湖北大学计算机与信息工程学院 武汉 430062)

④(武昌首义学院信息科学与工程学院 武汉 430070)

1 引言

LoRa (Long-Range)是近些年来一种非常具有代表性的低功耗广域网络通信技术。它能以极低的功耗获得很远的传输距离,从而大大延长了网络中节点的生命周期,降低了实际硬件组网成本,在智慧农业、工业物联网、智能楼宇等各行各业都具有很大的应用潜力[1]。

LoRa采用的啁啾扩频(Chirp Spread Spectrum, CSS)技术相较于传统的频移键控调制技术,接收灵敏度改善了近10 dB[2],然而CSS超高的接收灵敏度仅局限于高斯信道下。2018年,Elshabrawy等人[3]推导了CSS在不同信道下的理论误码率,发现与高斯信道的灵敏度相比,瑞利信道下的灵敏度恶化了30 dB。文献[4]对LoRa通信系统的实测结果表明,即使在通信速率最低时,LoRa在室内环境下的通信距离仅135 m,而且丢包率高达40%。文献[5]在森林环境下测试发现LoRa在通信距离为232 m时丢包率逼近100%。这些研究都表明了LoRa在衰落信道下的通信性能严重恶化。由于LoRa物理层的特殊性和专利性,目前大部分LoRa相关研究集中在MAC算法方面,针对LoRa物理层进行改进和优化方面的文献还很少。从LoRa的专利文件[6]和一些LoRa物理层反向工程解析论文中[7,8]可知LoRa物理层采用了汉明码、对角矩阵交织和格雷码等基带编码技术,目的是在CSS解调出现±1符号错误时,将错误比特数量控制在汉明码纠错能力范围之内[7]。然而,当通信信道质量严重恶化以致出现大量连续突发错误时,将引起译码失败、丢包等问题[9],使得LoRa在复杂环境下的通信性能急剧下降。目前基于物理层对LoRa改进的几篇文献中,文献[10]和文献[11]主要研究的是如何在不过分恶化误码率性能的前提下增加CSS调制的传输速率,主要解决的是吞吐量不够的问题,对误码率性能改善效果不明显。文献[12]在LoRa物理层基础之上增加了一种多进制单奇偶校验码,在每M个交织块上增加1个交织块进行校验,利用软判决纠错法获得了额外的1.2 dB的编码增益,但是该方法只能纠正单个符号错误,纠错能力有限。文献[13]采用Turbo码代替汉明码,构建了一种基于Turbo码和正交二分峰差(Orthogonal Dichotomy Peak Difference,ODPD)判决法的增强型LoRa物理层,在高斯信道下获得了一定的编码增益,但是Turbo码的编译码复杂度很高,而且文章缺乏对衰落信道以及不同码率下性能的分析和仿真。

物联网中供应终端节点的能量有限,不适宜进行过于复杂的编译码算法,而且物联网应用大多传输具有低数据速率的短数据包[14],因此,本文设计了一种适用于短码输入的轻量级增强型长距离(Enhanced Long Rang, EnLoRa)通信系统的物理层,以提高LoRa在衰落信道下的误码率性能。采用循环码移位键控(Cyclic Code Shift Keying, CCSK)作为前向纠错码,利用LoRa物理层中的对角矩阵交织和CSS调制技术,构造了一种新的比特交织编码调制结构,并基于该结构提出了一种软判决迭代译码解调方法,使得简单的CCSK编码获得了非常可观的编码增益。仿真结果表明,EnLoRa系统相对LoRa物理层,在同等的通信速率下,高斯信道下的编码增益提高了1 dB,瑞利信道下的编码增益提高了7 dB。加上迭代译码带来的收益,高斯信道和瑞利信道下的编码增益还能分别再增加1.6 dB和2.5 dB。

2 EnLoRa物理层模型

本文构建的EnLoRa物理层模型如图1所示。首先将原始信息u进行分组,每组包含L位二进制信息,将其送入CCSK(L, M)编码模块,生成长度为M的CCSK码字;然后对CCSK码字进行裁剪,生成码字c,裁剪后每个码字c包含MT个码片,L≤MT≤M;最后将SF(SF为扩频因子)个裁剪后的码字排列形成1个交织块,进行对角矩阵交织,得到MT个符号s,并将其进行CSS调制,生成射频信号w进入无线信道,由此完成信号的发射。

图1 EnLoRa物理层模型

在接收端,首先对信道输出的已加噪信号r进行CSS解调,输出对数似然比软符号z,将MT个软符号z组合在一起,进行解交织,并将解交织后的输出z′送入CCSK译码器中,生成外信息v′;然后将v′进行交织,将交织后的输出v作为先验信息反馈给CSS解调模块进行重复解调,如此迭代反复,在经历N次迭代之后,再由CCSK译码器恢复出原始消息序列uˆ。在迭代过程中,对数似然比信息被反复利用,N越大,译码结果越逼近正确结果。为降低复杂度,可以令N=1,此时不采用图中虚线所示的反馈环节。

3 发射端信息处理

3.1 CCSK编码

令u=[u0u1...uL−1]T为待编码的输入信息序列,其中L为输入信息序列的位宽,ul ∈{0,1},0≤l

在CCSK编码过程中,最重要的是找到1个自相关特性良好的伪随机基序列,一般采用M序列、正交可变扩频因子(Orthogonal Variable Spreading Factor, OVSF)码或随机数生成。由于M序列相对随机数基序列具有更好的正交性,而且比OVSF码的译码复杂度要低[15],因此本文采用M序列作为CCSK的基序列。

本文在M序列的基础之上,通过添加小项修正移位寄存器的反馈逻辑生成M序列。由于M序列只有2L-1种状态,缺少由L个0组成的全零状态,因此本文在合适的位置添加1个全零状态,使得2L-1种状态变成2L种状态。假设F0(x1x2...xL)为原M序列的生成多项式,添加小项后的M序列生成多项式为

以L=5,F0(x1x2...xL)=1+x+x2+x3+x5为例,添加小项修正后的M序列发生器结构如图2所示。

图2中0000状态检测器在输入全零时输出1,其他情况输出0。假设初始状态为00001,如果采用原始M序列生成多项式,其下一个状态为10000;如果采用本文提出的添加小项修正多项式,在状态00001和10000之间将插入1个全零状态,使得M序列周期从31变为32,满足CCSK编码对基序列长度的要求。

图2 M序列发生器结构

每个标准CCSK码字包含M个码片,携带L bit信息,相应的码率为L/M。由于M=2L,因此L越大,CCSK码率越低,通信误码率性能越好,但是通信速率也随之下降。为提高通信速率,在编码后对标准长度的CCSK码字进行裁剪,使其长度减小为MT,其中L≤MT≤M,裁剪后CCSK码率提高至L/MT。在译码时,先在接收到的裁剪码字后面补充M-MT个零,然后再进行译码。通过这种方式,可使CCSK具有更高的传输效率,而且码率灵活可变。

3.2 交织

本文采用LoRa物理层中的对角矩阵交织技术[6]。其交织算法为

3.3 CSS调制

未调制的CSS载波是一段起始频率为0,终止频率为B的线性调频信号。在1个符号周期内,最多可传输SF bit(SF为扩频因子),以B为采样率,将1个符号扩展为2SF个采样点,则符号周期为Ts=2SF/B,相应的传输速率为Rb=SF·B/2SF。

令sm为需要传输的符号信息。由于CSS调制每次只处理1个符号,为表述简洁,本节将符号sm的下标去掉,写为s=[s0s1...sSF−1]T。将符号s映射为十进制数值S ∈[0,2SF),以S 为偏移量,对CSS载波进行循环频移,生成以f0=B·S/2SF为起始频率,以B2/2SF为斜率线性变化的已调Chirp信号w(t),可表示为

CSS调制的频谱效率为η=SF/2SF。SF越大,传输速率和频率效率越低,但是扩频增益越大,通信误码率性能越好。为满足多业务速率需求,在本文中,SF取值范围设为{7, 8, 9, 10, 11, 12}。

4 迭代译码解调

4.1 CSS解调

LoRa采用的解调算法利用离散傅里叶变换,通过搜索频谱幅度最高的位置解调出符号,本质上是一种硬解调方法[16]。虽然解调速度快,但是性能一般,为此本文提出一种基于后验概率的软判决解调方法。

假设接收信号为r(nT)=w(nT)+φ(nT),φ(nT)为服从独立正态分布的高斯噪声,N0为高斯噪声的单边功率谱密度。令y=FFT(r(nT)·w0(nT)),w0(nT)为未经调制的载波,对应的符号为0。CSS软解调输出对数似然比信息

4.2 解交织

4.3 CCSK译码

其中,ci:c(bm)=1表示第m位为1的所有样本CCSK码字的集合,ci:c(bm)=0表示第m位为0的所有样本CCSK码字的集合。由式(15)可知,第m位外信息是由除第m位之外的其他位的先验信息计算得到的,计算时同样可以采用max-star简化计算过程。

5 仿真结果和分析

本节基于Matlab软件对LoRa和EnLoRa两种物理层在误码率性能、时间复杂度和空间复杂度等方面进行仿真和对比分析,同时在此基础上,分析不同码率、迭代次数对EnLoRa的误码率性能和系统功耗的影响。本文中所有的仿真采用的调制带宽均为125 kHz,目标误码率为10-4,汉明码码率为4/8。

5.1 LoRa与EnLoRa物理层的误码率性能对比

图3对比了LoRa和EnLoRa物理层在高斯信道和瑞利信道下的误码率性能。虚线为EnLoRa,实线为LoRa。汉明码和CCSK码的码率均为1/2。由图3可知,在目标误码率10-4处,高斯信道下En-LoRa相对LoRa系统可获得约0.8 dB的性能增益;瑞利信道下EnLoRa比LoRa的误码率性能优势扩大至7.0 dB。这是因为在高斯信道下,LoRa由于其独特的线性调频扩频调制技术具有非常陡峭的误码率曲线[3],信道编码对误码率影响不明显;而瑞利信道下,解调误码率急剧上升,传统LoRa采用的汉明码纠错能力有限,导致误码率性能恶化严重。而本文采用的EnLoRa基于后验概率的软判决解调译码算法能更加充分地利用信息量,而且采用的CCSK码具有扩频特性,纠错能力更强,从而大大降低了误码率。

图3 LoRa和EnLoRa系统在不同扩频因子下的误码率性能对比

5.2 LoRa与EnLoRa时间复杂度和空间复杂度对比

图4对比了EnLoRa和LoRa系统的时间复杂度,主要关注两者的时间复杂度及其随着输入数据长度K和扩频因子SF两个主要影响因素的变化趋势。K选取了16/32/64/128/256 Byte,覆盖大部分指令甚至数据传输的情况,SF选取了常用的8/9/10/11/12。为简明起见,本文将物理层分割为解调、解码和其他3个部分进行统计,其中“其他”部分包含信道编码、交织、解交织、调制4个单元。

图4 EnLoRa和LoRa系统的时间复杂度对比

由图4可知:(1)两种物理层的其他项的时间复杂度几乎没有区别,这是因为尽管它们采用的信道编码方式不一样,但是编码方案均十分简单,编码时间很短,差异不明显;(2)EnLoRa译码模块比LoRa译码模块的时间略短,因为CCSK码可以通过式(15)直接进行译码,而汉明码需要对每个比特进行校验和纠错;(3)两种物理层的时间复杂度差异主要在于解调模块。因为EnLoRa的解调算法需要在LoRa解调基础上基于后验概率计算每个比特的对数似然比,该过程比较耗时;(4)随着K和SF的增加,EnLoRa解调时间逐渐呈现线性O(K)和指数增长O(2SF)趋势,这是因为K和SF越大,解调中的傅里叶变换和数字滤波单元在整体解调时间中的比例和影响就越凸显,它们耗费时间与K呈比例关系,与SF呈指数关系;(5)指令相对数据传输一般对延时更敏感,由图4(b)可知在满足指令对数据报长度时(K=64 Byte),大部分SF下EnLoRa相对LoRa整体时间复杂度的增幅不大,控制在10%以内。

表1对比了LoRa和EnLoRa系统的空间复杂度。表1中所示数据由Keil uVision软件编译得到,其中ROM(Read Only Memory)为烧写程序时所占用的Flash闪存空间,RAM(Random Access Memory)为程序运行时,芯片内部使用的数据存储空间。与LoRa相比,EnLoRa系统程序占用的ROM和RAM资源明显增加,增加比例虽然较大(分别达29%和80%),但是增幅并不影响处理器芯片的选型。因为随着微处理器的集成程度越来越高,处理器芯片的各种资源都已经十分充足。以目前最流行的意法半导体微处理器为例,其低成本、低功耗STM32F103系列单片机就已经具有高达128 kB的ROM资源和20 kB的RAM资源,完全满足EnLoRa系统对于空间存储资源的需求。

表1 LoRa和EnLoRa系统的空间复杂度(Byte)

5.3 CCSK码率对EnLoRa误码率的影响

图5仿真了码率对EnLoRa误码率的影响,选择MT为10/15/20/32,对应码率为1/2, 1/3, 1/4和5/32。为了对比,本文也仿真了未编码CSS调制和LoRa系统的误码率曲线。由图5可知,码率越大,通信速率越高,但编码增益逐渐减小。高斯信道下,编码增益随着码率变化趋势比较均匀,不同码率下的编码增益在2~5 dB。瑞利信道下,随着码率的增大,编码增益减小速度呈现先慢后快的趋势,这是因为删减CCSK码字会破坏其正交性,减小码字相互之间的汉明距离,MT越接近编码输入长度,汉明距离下降越快。以瑞利信道、SF=7为例,MT从32降低至20(下降幅度37.5%),编码增益仅损失了2 dB;MT从15降低至10(下降幅度33.3%),编码增益损失高达6.5 dB。因此在衰落信道下,须谨慎对CCSK码字进行截短,尤其是MT小于15之后高码率情况下。另外,由图5(c)和图5(d)可知,CCSK码大幅度提高了EnLoRa在衰落信道下的误码率性能,信道编码增益高达20~34 dB,在最小码率(MT=32)时,瑞利信道下的误码率性能与高斯信道的差距缩小至3 dB以内(未编码时两者差距约为30 dB)。

图5 不同码率下的EnLoRa误码率性能

5.4 迭代次数对EnLoRa误码率的影响

为了评估迭代次数对EnLoRa系统误码率性能的影响,本文仿真了迭代次数N为1, 2, 4, 8, 16时EnLoRa的误码率性能曲线。由图6(a)可知,高斯信道下,N越大,误码率性能越好。当N大于8为后随,着迭迭代代带次来数的的增增益加几,乎外可信以息忽v略′的不值计越。来这越是大因,置信度越来越高,对解调的影响也逐渐趋近饱和。相对不迭代译码,迭代8次后,系统的误码率性能改善了1.6 dB。由图6(b)可知,瑞利信道下,迭代次数增大带来的性能增益相对于高斯信道更为明显,迭代8次后,系统的误码率性能改善了2.2 dB。考虑到迭代次数过大,会导致译码延时增大等问题,实际应用中需合理选择迭代次数。

5.5 迭代次数对系统功耗的影响

迭代次数增加,对于发射端的功耗没有影响。每多迭代1次,接收后的解调时间将增加1倍,由此造成接收瞬间功耗增加。物联网终端接收场景主要包括接收来自网关的指令、参数配置和应答消息,前两者基本是零星发生,应答消息最为频繁,对功耗影响最大。为此,本文以LoRaWAN中应用最为广泛的Class A模式为例进行功耗分析。假设在每次上行传输后都紧跟1个接收窗口,在此窗口内,接收来自网关的下行应答消息,接收完毕后,立即进入休眠状态,直到定时器再次唤醒终端,如此循环反复。根据SX1278芯片手册,在发射、接收和睡眠模式下芯片的典型电流分别为87 mA@17 dBm,11.5 mA和1.5 μA。假设终端收发数据报长度均为64 Byte,终端电压为3.3 V,终端的上传周期为10 s。系统平均功耗为Pav=(PtTt+Pr(Tr+Td)+PsTs)/T,其中Pt,Pr和Ps分别为发射瞬间功耗、接收瞬间功耗和睡眠状态功耗;Tt,Tr,Td和Ts分别为发射、接收、解调和睡眠时长,其中Tt和Tr可以采用LoRa芯片手册提供的空中时间公式计算得到,Td采用实际仿真数据;T为周期,本文为10 s。

图7给出了迭代次数对系统平均功耗的影响,其中纵坐标D为迭代N次后功耗的增幅百分比,定义为D=(Piter−P0)/P0×100,Piter为迭代N次后的平均功率,P0为不迭代时的基准平均功率。由图7可知,随着迭代次数的增加,终端消耗的功率也增加,而且扩频因子越大,迭代造成的功耗增幅越小,这是因为虽然扩频因子增大会导致解调时间增大,从而增加功耗,但是扩频因子增加同样也会导致空中时间增大,由于空中时间增大的幅度远大于解调时间导致的功耗增幅,因此增幅百分比D反而变小了。从绝对值角度看,D整体控制在10%以内。由图6可知,迭代次数大于4之后,迭代次数继续增加获得的误码率增益已经较小,此时功耗增幅最大仅2%。

图6 不同迭代次数EnLoRa的误码率性能(MT=32、SF=7)

图7 迭代次数对系统平均功耗的影响

6 结束语

本文提出了一种新的EnLoRa物理层,通过比特交织编码调制和迭代译码技术,轻量级的CCSK编码也能获得非常可观的编码增益,大大提高了系统在瑞利信道下的误码率性能。所提出的EnLoRa物理层的优点可总结为:(1)基带编译码算法简单、复杂度较低;(2)不需要很长的交织深度,也能获得较大的编码增益,适用于低速率物联网应用;(3)可通过裁剪CCSK码字、改变扩频因子和带宽等物理层参数,使得传输速率在很大的范围内灵活可变,为上层的链路自适应设计提供了充分的提前条件。不足之处在于EnLoRa物理层在高码率时的编码增益损失较大。下一步我们将研究适用于高码率的信道编码技术以及衰落信道下的自适应传输技术。

猜你喜欢

物理层码率码字
基于K-ML-MPWFRFT的物理层安全传输技术
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
公路联网电子不停车收费系统路侧单元物理层自动测试软件研发
放 下
数据链系统中软扩频码的优选及应用
基于状态机的视频码率自适应算法
放下
多天线物理层安全传输系统性能分析
多光谱图像压缩的联合码率分配—码率控制方法