A Lightweight Enhanced Long Range Physical Layer Design Method for Internet of Things
-
摘要: 为了提高LoRa在衰落信道下的误码率性能,该文设计了一种轻量级的增强型长距离(EnLoRa)物理层。首先,采用循环码移位键控(CCSK)作为纠错码,级联对角矩阵交织和啁啾扩频(CSS)调制技术,构造了一种新的比特交织编码调制(BICM)结构。然后,基于该结构,提出了一种基于比特对数似然比信息的软CSS解调和软译码算法,并将译码输出后的外信息作为先验信息反馈至解调模块,进行迭代译码。仿真结果表明,与相同码率的LoRa系统对比,EnLoRa系统在高斯信道下的编码增益提高了0.8 dB,在瑞利信道下的编码增益提高了7 dB。在此基础之上,通过多次迭代译码,还可以获得最大2.5 dB的额外收益。时间复杂度增加不到10%,空间复杂度增幅可忽略不计。该方法可望进一步降低物联网节点的功耗,在室内、市区和工业等复杂多径场景具有较大的应用价值。Abstract: To improve the bit error rate performance of LoRa (Long Range) in fading channels, a lightweight Enhanced Long Range (EnLoRa) physical layer is designed. First, Cyclic Code Shift Keying (CCSK) is chosen as the error correction code, and the diagonal matrix interleaving and Chirp Spread Spectrum (CSS) modulation techniques are concatenated to construct a new Bit Interleaved Coded Modulation (BICM) structure. Then, based on this structure, a soft CSS demodulation and soft decoding algorithm based on bit log-likelihood ratio information is proposed. Further, the decoded external information is fed back to the demodulation module as a priori information for iteration decoding. The simulation results show that, compared with the LoRa system of the same code rate, the coding gain of the EnLoRa system under the Gaussian channel is increased by 0.8 dB, and the coding gain under the Rayleigh channel is increased by 7 dB. On this basis, through multiple iterations, an additional gain of up to 2.5 dB can be obtained. The time complexity is only increased by 10%, and the increase in space complexity is negligible. This method is expected to reduce further the power consumption of LoRa nodes and has great application value to complex multipath scenarios such as indoors, urban areas and industries.
-
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 进入无线信道,由此完成信号的发射。在接收端,首先对信道输出的已加噪信号
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<L ;令c0=[c0c1⋯cM−1]T 为CCSK基序列,M为基序列的位宽,其中cm∈{0,1}, 0≤m<M 。对基序列c0 进行循环移位,生成M个CCSK样本码字。令M=2L,则M个CCSK码字可表示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序列生成多项式为F(x1x2⋯xL)=ˉx1ˉx2⋯ˉxL−1+F0(x1x2⋯xL) (1) 以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编码对基序列长度的要求。
每个标准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]。其交织算法为
sm,k=c\boldsymbolod(k−m,SF),m∀m∈{0,1,⋯,MT−1},k∈{0,1,⋯,SF−1}} (2) 其中,mod为取余运算;
ci,j 为码字ci=[ci,0 ci,1⋯ci,MT−1]T 的第j个码片,其中i∈{0,1,···, SF–1}, j∈{0,1,···, MT–1}, j=0表示LSB, j=SF–1表示MSB;sm,k∈{0,1} 为符号sm=[sm,0sm,1⋯ sm,SF−1]T 的第k个码片。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) ,可表示为w(t)=√Es2SFexp[j2π\boldsymbolod(f0+B2/2SFt,B)t] (3) 其中,
Es 为符号能量,0≤t<TS 为时间。令t=nT ,0≤n<2SF−1 为采样序号,将连续Chirp信号转换为离散形式w(nT)=√Es2SFexp[j2π⋅n⋅\boldsymbolod(S+n,2SF)2SF] (4) 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软解调输出对数似然比信息zk=lgp(bk=1|y)p(bk=0|y) (5) 其中,
bk 为解调符号的第k位,0≤k<SF;p(bk=q|y) 为后验概率,q ∈{0,1}。根据贝叶斯公式,式(5)可表示为zk=lg∑si:s(bk)=1p(y|si)p(si)∑si:s(bk)=0p(y|si)p(si) (6) 其中,
si:s(bk)=1 表示第k位为1的所有符号集合,p(y|si) 表示发射符号为si 到y 的转移概率,0≤i<2SF−1 ,p(si) 为符号si 的先验概率,可表示为[17]p(si)=SF−1∏j=0,j≠kebj(si)vj1+evj (7) 其中,
bj(si) 为si 的第j位,bj(si)∈{0,1} ,vj 为bj(si) 的先验概率,定义为vj=lgp(bk=1;I)p(bk=0;I) (8) 如图1所示,
vj 为CCSK译码后交织模块的输出。将式(7)代入式(6),消除同类项,可得zk=lg∑si:s(bk)=1p(y|si)SF−1∏j=0,j≠kebj(si)vj∑si:s(bk)=0p(y|si)SF−1∏j=0,j≠kebj(si)vj (9) 接下来,求解转移概率
p(y|si) 。假设衰落信道的衰减因子幅度A未知,但是其概率密度函数f(A) 是已知的。由于符号si=i 对应的FFT谱线位置的幅度服从高斯分布,而其他FFT谱线位置的幅度服从瑞利分布[3],因此,p(y|si) 可表示为p(y|si)=∞∫0f(A)1√2πσ2exp(−(yi−AN/2√Es2σ2))×2SF−1∏j=0,j≠iyjσ2exp(−y2j2σ2)dA (10) 其中,
f(A) 为衰落信道衰减因子的概率密度函数,N为FFT点数,σ2 为高斯噪声方差,yi 为y 的第i位。如果f(A) 为瑞利分布,p(y|si) 可简化为[17]f(y|si)=(Es/N0)2|yi|21+Es/N0 (11) 其中,
f(y|si)=lgp(y|si)+κ ,κ 为任意常数,Es/N0 为符号功率与噪声功率之比,它与信道信噪比SNR关系为:Es/N0=2SF⋅SNR 。为进一步简化式(9),本文采用max-star[18]max (12) 定义
\max *\{ x,y\} = \max (x,y) + \lg (1 + {{\rm{e}}^{ - \left| {x - y} \right|}}) 。进一步地,多变量max-star可表示为\max * \{ x,y,z\} = \max *(x,\max *(y,z)) 。采用max-star运算,式(9)可表示为\begin{split} {z_k} =& \mathop {\max }\limits_{{{\boldsymbol{s}}_i}:\;{\boldsymbol{s}}\left( {{b_k}} \right) = 1} *\left[ {f\left( {{\boldsymbol{y}}{{\left| {\boldsymbol{s}} \right.}_i}} \right) + \sum\limits_{j = 0,j \ne k}^{{\rm{SF}} - 1} {{b_j}({{\boldsymbol{s}}_i}){v_j}} } \right] \\ & - \mathop {\max }\limits_{{{\boldsymbol{s}}_i}:\;{\boldsymbol{s}}\left( {{b_k}} \right) = 0} *\left[ {f\left( {{\boldsymbol{y}}{{\left| {\boldsymbol{s}} \right.}_i}} \right) + \sum\limits_{j = 0,j \ne k}^{{\rm{SF}} - 1} {{b_j}({{\boldsymbol{s}}_i}){v_j}} } \right] \end{split} (13) 4.2 解交织
解交织算法与交织算法相反。假设解交织后生成的交织块为
{\boldsymbol{Z}}_{{M_{\rm{T}}} \times {\rm{SF}}}^{'} ,解交织算法为z_{i,j}^{'}\;{\rm{ = }}{z_{j,\boldsymbolod (i + j,{\rm{SF}})}},\;\forall \;0 \le i < {\rm{SF}},0 \le j < {M_{\rm{T}}} (14) 其中,
z_{i,j}^{'} 为交织块{\boldsymbol{Z}}_{{M_{\rm{T}}} \times {\rm{SF}}}^{'} 的第i行第j列。在交织块{\boldsymbol{Z}}_{{M_{\rm{T}}} \times {\rm{SF}}}^{'} 中,每一列表示1个CCSK码字。4.3 CCSK译码
由于CCSK译码模块每次只处理1个码字,为表述简洁,取交织块
{\boldsymbol{Z}}_{{M_{\rm{T}}} \times {\rm{SF}}}^{'} 中的任意一列{{\boldsymbol{z}}^{'}} = {[z_0^{'}\;z_1^{'}\; \cdots \;z_{{M_{\rm{T}}} - 1}^{'}]^{\rm{T}}} 作为示例。基于{{\boldsymbol{z}}^{'}} ,外信息{\boldsymbol{v}}' = [v_0^{'}\;v_1^{'}\;\cdots \;v_{{M_{\rm{T}}} - 1}^{'}] 可表示为\begin{split} v_m^{'} =& \lg \left( {\frac{{\displaystyle\sum\limits_{{{\boldsymbol{c}}_i}:\;{\boldsymbol{c}}({b_m}) = 1} {\prod\limits_{j = 0,j \ne m}^{{M_{\rm{T}}} - 1} {{{\rm{e}}^{z_j^{'}{c_{i,j}}}}} } }}{{\displaystyle\sum\limits_{{{\boldsymbol{c}}_i}:\;{\boldsymbol{c}}({b_m}) = 0} {\prod\limits_{j = 0,j \ne m}^{{M_{\rm{T}}} - 1} {{{\rm{e}}^{z_j^{'}{c_{i,j}}}}} } }}} \right)\;,\\ & 0 \le i < M,0 \le m < {M_{\rm{T}}} \end{split} (15) 其中,
{{\boldsymbol{c}}_i}:{\boldsymbol{c}}\left( {{b_m}} \right) = 1 表示第m位为1的所有样本CCSK码字的集合,{{\boldsymbol{c}}_i}:{\boldsymbol{c}}\left( {{b_m}} \right) = 0 表示第m位为0的所有样本CCSK码字的集合。由式(15)可知,第m位外信息是由除第m位之外的其他位的先验信息计算得到的,计算时同样可以采用max-star简化计算过程。将外信息反馈给交织模块和解调模块,作为软解调的先验信息,进行反复迭代。经历N次迭代之后,在
{\boldsymbol{z}}_i^{'} 后面补充M - {M_{\rm{T}}} 位0作为待译码的码字{\hat {\boldsymbol{c}}} ,然后进行译码[15]。{\hat{\boldsymbol{ u}}} = \left| {{\rm{IDFT}}({\rm{DFT}} ({{\boldsymbol{c}}_0}) \times {\rm{DFT}}({\hat {\boldsymbol{c}}}))} \right| (16) 其中,
{\hat{\boldsymbol{ u}}} = [{\hat u_0} {\hat u_1} \cdots \;{\hat u_{L - 1}}] 为译码输出,{\hat u_l} \in \{ 0,1\} ;{{\boldsymbol{c}}_0} 为CCSK的基序列;{\rm{DFT}}\left( \cdot \right) 为离散傅里叶变换函数,{\rm{IDFT}}\left( \cdot \right) 为离散傅里叶逆变换函数。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处,高斯信道下EnLoRa相对LoRa系统可获得约0.8 dB的性能增益;瑞利信道下EnLoRa比LoRa的误码率性能优势扩大至7.0 dB。这是因为在高斯信道下,LoRa由于其独特的线性调频扩频调制技术具有非常陡峭的误码率曲线[3],信道编码对误码率影响不明显;而瑞利信道下,解调误码率急剧上升,传统LoRa采用的汉明码纠错能力有限,导致误码率性能恶化严重。而本文采用的EnLoRa基于后验概率的软判决解调译码算法能更加充分地利用信息量,而且采用的CCSK码具有扩频特性,纠错能力更强,从而大大降低了误码率。
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可知:(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)系统 ROM RAM LoRa ~17k ~5k EnLoRa ~22k ~9k 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.4 迭代次数对EnLoRa误码率的影响
为了评估迭代次数对EnLoRa系统误码率性能的影响,本文仿真了迭代次数N为1, 2, 4, 8, 16时EnLoRa的误码率性能曲线。由图6(a)可知,高斯信道下,N越大,误码率性能越好。当N大于8后,迭代带来的增益几乎可以忽略不计。这是因为随着迭代次数的增加,外信息
{\boldsymbol{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。系统平均功耗为
{P_{{\rm{av}}}} = ({P_{\rm{t}}}{T_{\rm{t}}} + {P_{\rm{r}}}({T_{\rm{r}}} + {T_{\rm{d}}}) + {P_{\rm{s}}}{T_{\rm{s}}})/T ,其中{P_{\rm{t}}} ,{P_{\rm{r}}} 和{P_{\rm{s}}} 分别为发射瞬间功耗、接收瞬间功耗和睡眠状态功耗;{T_{\rm{t}}} ,{T_{\rm{r}}} ,{T_{\rm{d}}} 和{T_{\rm{s}}} 分别为发射、接收、解调和睡眠时长,其中{T_{\rm{t}}} 和{T_{\rm{r}}} 可以采用LoRa芯片手册提供的空中时间公式计算得到,{T_{\rm{d}}} 采用实际仿真数据;T 为周期,本文为10 s。图7给出了迭代次数对系统平均功耗的影响,其中纵坐标D为迭代N次后功耗的增幅百分比,定义为
D = ({P_{{\rm{iter}}}} - {P_0})/{P_0} \times 100 ,{P_{{\rm{iter}}}} 为迭代N次后的平均功率,{P_0} 为不迭代时的基准平均功率。由图7可知,随着迭代次数的增加,终端消耗的功率也增加,而且扩频因子越大,迭代造成的功耗增幅越小,这是因为虽然扩频因子增大会导致解调时间增大,从而增加功耗,但是扩频因子增加同样也会导致空中时间增大,由于空中时间增大的幅度远大于解调时间导致的功耗增幅,因此增幅百分比D反而变小了。从绝对值角度看,D整体控制在10%以内。由图6可知,迭代次数大于4之后,迭代次数继续增加获得的误码率增益已经较小,此时功耗增幅最大仅2%。6. 结束语
本文提出了一种新的EnLoRa物理层,通过比特交织编码调制和迭代译码技术,轻量级的CCSK编码也能获得非常可观的编码增益,大大提高了系统在瑞利信道下的误码率性能。所提出的EnLoRa物理层的优点可总结为:(1)基带编译码算法简单、复杂度较低;(2)不需要很长的交织深度,也能获得较大的编码增益,适用于低速率物联网应用;(3)可通过裁剪CCSK码字、改变扩频因子和带宽等物理层参数,使得传输速率在很大的范围内灵活可变,为上层的链路自适应设计提供了充分的提前条件。不足之处在于EnLoRa物理层在高码率时的编码增益损失较大。下一步我们将研究适用于高码率的信道编码技术以及衰落信道下的自适应传输技术。
-
表 1 LoRa和EnLoRa系统的空间复杂度(Byte)
系统 ROM RAM LoRa ~17k ~5k EnLoRa ~22k ~9k -
[1] CENTENARO M, VANGELISTA L, ZANELLA A, et al. Long-range communications in unlicensed bands: The rising stars in the IoT and smart city scenarios[J]. IEEE Wireless Communications, 2016, 23(5): 60–67. doi: 10.1109/MWC.2016.7721743 [2] Semtech. AN1200.22: LoRa™ modulation basics[EB/OL]. https://www.docin.com/p-1913160397.html, 2015. [3] ELSHABRAWY T and ROBERT J. Closed-form approximation of LoRa modulation BER performance[J]. IEEE Communications Letters, 2018, 22(9): 1778–1781. doi: 10.1109/LCOMM.2018.2849718 [4] CATTANI M, BOANO C A, and RÖMER K. An experimental evaluation of the reliability of LoRa long-range low-power wireless communication[J]. Journal of Sensor and Actuator Networks, 2017, 6(2): 7. doi: 10.3390/jsan6020007 [5] VILLARIM M R, DE LUNA J V H, DE FARIAS MEDEIROS D, et al. An evaluation of LoRa communication range in urban and forest areas: A case study in brazil and portugal[C]. The 2019 IEEE 10th Annual Information Technology, Electronics and Mobile Communication Conference, Vancouver, Canada, 2019: 827–832. [6] SELLER O B A and SORNIN N. Low power long range transmitter[P]. USA Patent, 20140219329A1, 2014. [7] ROBYNS P, QUAX P, LAMOTTE W, et al. A multi-channel software decoder for the LoRa modulation scheme[C]. The 3rd International Conference on Internet of Things, Big Data and Security, Funchal, Portugal, 2018: 1–12. [8] MARQUET A, MONTAVONT N, and PAPADOPOULOS G Z. Towards an SDR implementation of LoRa: Reverse-engineering, demodulation strategies and assessment over Rayleigh channel[J]. Computer Communications, 2020, 153: 595–605. doi: 10.1016/j.comcom.2020.02.034 [9] MROUE H, NASSER A, PARREIN B, et al. Analytical and simulation study for LoRa modulation[C]. The 2018 25th International Conference on Telecommunications, Saint-Malo, France, 2018: 655–659. [10] ELSHABRAWY T and ROBERT J. Interleaved chirp spreading LoRa-based modulation[J]. IEEE Internet of Things Journal, 2019, 6(2): 3855–3863. doi: 10.1109/JIOT.2019.2892294 [11] BOMFIN R, CHAFII M, and FETTWEIS G. A novel modulation for IoT: PSK-LoRa[C]. The 2019 IEEE 89th Vehicular Technology Conference, Kuala Lumpur, Malaysia, 2019, 1–5. [12] ELSHABRAWY T and ROBERT T. Enhancing LoRa capacity using non-binary single parity check codes[C]. The 2018 14th International Conference on Wireless and Mobile Computing, Networking and Communications, Limassol, Cyprus, 2018: 1–7. [13] 徐浪, 陈晓莉, 田茂, 等. 基于Turbo码和ODPD判决法的LoRa改进方法[J]. 电子测量技术, 2020, 43(7): 142–147. doi: 10.19651/j.cnki.emt.1903832XU Lang, CHEN Xiaoli, TIAN Mao, et al. Improving method of LoRa based on Turbo code and ODPD[J]. Electronic Measurement Technology, 2020, 43(7): 142–147. doi: 10.19651/j.cnki.emt.1903832 [14] 朱鸿斌, 戴胜辰, 康凯, 等. 改进型极化码混合自动请求重传法[J]. 电子与信息学报, 2017, 39(5): 1136–1141. doi: 10.11999/JEIT160736ZHU Hongbin, DAI Shengchen, KANG Kai, et al. An improved HARQ scheme with polar codes[J]. Journal of Electronics &Information Technology, 2017, 39(5): 1136–1141. doi: 10.11999/JEIT160736 [15] DILLARD G M, REUTER M, ZEIDDLER J, et al. Cyclic code shift keying: A low probability of intercept communication technique[J]. IEEE Transactions on Aerospace and Electronic Systems, 2003, 39(3): 786–798. doi: 10.1109/TAES.2003.1238736 [16] VANGELISTA L. Frequency shift chirp modulation: The LoRa modulation[J]. IEEE Signal Processing Letters, 2017, 24(12): 1818–1821. doi: 10.1109/LSP.2017.2762960 [17] VALENTI M C and CHENG Shi. Iterative demodulation and decoding of Turbo-coded M-ary noncoherent orthogonal modulation[J]. IEEE Journal on Selected Areas in Communications, 2005, 23(9): 1739–1747. doi: 10.1109/JSAC.2005.853794 [18] VITERBI A J. An intuitive justification and a simplified implementation of the MAP decoder for convolutional codes[J]. IEEE Journal on Selected Areas in Communications, 1998, 16(2): 260–264. doi: 10.1109/49.661114 -