XCopy:增强弱链路,实现LoRa的可靠通信
论文链接:https://dl.acm.org/doi/10.1145/3570361.3592516
ABSTRACT
由于信号衰减和阻塞,LoRaWAN在长通信范围内遭受严重的性能下降。为了保证可靠的数据传输,LoRaWAN采用重传机制,对未确认的数据包进行多次重传,希望在恶劣的无线信道上至少成功发送一次。这种重传机制不适合LoRa: 1)不成功的重传会导致电池供电的LoRa节点的高功耗,2)在另一个时间重传并不一定会提高恶劣无线信道上的信号强度。
本文介绍了XCopy的设计和实现,它通过相干地组合在弱链路上接收的重传数据包,有效地提高了信号强度,否则将被丢弃。XCopy开发并整合了新的算法,1)在存在干扰数据包的情况下,在多次重传中准确识别相同数据包的信号副本,2)精确对齐信号副本(在时间、频率和相位上),以确保建设性组合,这在超低信噪比中是非常具有挑战性的,但XCopy使其成为可能。评估表明,XCopy可以提供显著的信噪比增益,并产生更高的数据包接收率和更长的LoRa节点生命周期。
1 INTRODUCTION
近年来,低功耗广域网(LPWANs)发展迅速,成为连接物联网(IoT)的新平台[3,5,26]。lpwan通过新颖的物理层(PHY)设计补充了传统的物联网技术(例如WiFi, ZigBee, 5G等),能够提供低功耗和远程通信。例如,LoRa可以在未经许可的频段工作,并且可以使用电池供电多年。LoRa宣传单个网关可以覆盖数十平方公里,连接数千个物联网设备进行长期运行[41,48,51]。鉴于其卓越的性能,LoRa应用预计将以每年超过50%的速度增长[10,20]。
尽管LoRaWANs数量激增,但在实际应用中,许多部署的LoRa节点存在链路连接薄弱和性能下降的问题[7,8,29,45]。例如,在城市场景中,由于信号阻塞,LoRa网关的覆盖范围可能会急剧下降。部署在网关阴影区域的物联网节点不可避免地会受到信号强度减弱的影响,从而导致高丢包率和缩短电池寿命。密集的网关部署可能会增加覆盖范围,但会带来高昂的硬件成本。即使是规划良好、覆盖范围广的网络,LoRa节点也可能因为干扰和信道错误而造成丢包。此外,如果LoRa节点必须部署在建筑物内部深处(例如,智能电表用例),信号在穿过混凝土墙后可能会严重衰减,即使使用最高的发射功率也可能无法可靠地到达任何网关。
当前的LoRaWAN如果接收到没有误码的报文,则承认该报文,否则丢弃损坏的报文,等待重传。然而,在弱链路上的重传可能会一直经历较差的信号质量,这很少提供具有足够好的信噪比(SNRs)的重传数据包。最新的工作(NELoRa[25])可以通过AI增强来放松LoRa分组解调的信噪比要求。最近多天线多网关设计(Charm [7], MALoRa[17])提高了具有天线分集的弱分组的信号强度。但是,对于重传数据包的信噪比改进仍然不足以在恶劣环境(例如< - 20 dB)中超过数据包接收的信噪比阈值。
通过检查损坏的数据包,我们发现尽管每次重传的信号仍然保持在低信噪比,不足以接收数据包,但弱信号可以通过LoRa无线电采样并提供有关数据包的部分信息。如果我们能将多次重传的微弱信号合并起来,而不是像现在的LoRaWAN那样将其丢弃,我们可能会提高信号质量。随着越来越多的数据包被重传和合并,信噪比可能逐渐超过成功接收数据包所需的阈值,如图1(a)所示。
在本文中,我们介绍了XCopy——一个允许LoRa节点跨多个重传组合信号功率以实现可靠通信的系统。在高层次上,XCopy利用了LoRa无线电需要足够高的信噪比来解码数据包,但可以在低得多的信噪比下检测数据包的事实。虽然检测到的数据包还不能解码,但XCopy可以通过相干地组合它们的信号副本来聚合来自多个重传的信号功率。
理论上,随着传输次数增加一倍,我们可以预期信噪比增加3db。发送方可以多次重传一个包,直到组合信号的信噪比超过包解码的阈值。每次传输都可以有效地利用,并有助于提高信噪比。理想情况下,一旦可以检测到数据包,就可以最终成功接收数据包,如图1(b)所示。如果可以使用多个天线来收集重传数据包并有效组合,则信噪比增益可以进一步提高。通过利用𝑀天线来接收反向传输的数据包,XCopy可以潜在地组合M×N的数据包,并在最新的多天线多网关设计上提供近线性的改进(即,从M× 1到M×N)。
然而,在实践中实现XCopy带来了巨大的挑战。与同步接收同一数据包的多个副本的多天线系统不同,重传输的数据包在不同的时间到达,并且可能与其他节点的(重)传输重叠。识别同一数据包的重传信号非常重要,因为数据包的节点id无法在超低信噪比下解码。此外,由于LoRa节点的时钟漂移和时变信道,重传数据包的信号副本可能具有异构的时间、频率和相移,从而导致信号组合不相干,对信号信噪比产生不利影响。在重传信号中同步时间、频率和相位是必要的,但也是具有挑战性的,以确保在超低信噪比下的建设性组合。
XCopy开发了一种新技术,能够聚合整个数据包的信号功率,以对抗低信噪比。我们利用了这样一个事实,即同一数据包的重传信号在相应的啁啾窗口(chirp windows)中具有很高的相似性,尽管它们可能由于信道变化和时钟漂移(clock drifts)而在频率和相位上有所不同。XCopy通过应用共轭乘法来检测两个信号之间的相似性。如果两个信号来自同一数据包,并且在时间上对齐良好,则可以从数据包的不同啁啾窗口(chirp windows)中检测到相同的音频,这可以将整个数据包的信号功率积累到单个频率bin中。否则,在不同的窗口会产生不同的音调频率,使信号功率分散。XCopy在频域中搜索最高的功率峰值,以识别同一数据包的重传信号,并在多个信号副本之间对齐帧时序。当两个重传信号在时间上对齐时,峰值的频率和相位表示两个信号的频率和相位差。XCopy从最高峰值(即整个包的信号功率)估计频率和相位差,并相应地进行补偿,以同步重传信号之间的频率和相位。
此外,XCopy需要处理与重传LoRa数据包的异构采样定时偏移(STO)相关的独特挑战,称为STO异构性。STO在接收到的LoRa啁啾中添加包变体符号相关的相移。XCopy利用了这样一个事实,即数据包的STO由接收者的采样时间间隔上限,从而减轻了STO异构性的影响。XCopy增加了信号采样率,并通过过度采样信号来优化帧定时对齐,以减少重传数据包之间的STO跨度。根据我们的研究结果,当以高于信号带宽3倍的采样率对LoRa数据包进行采样时,可以有效地减轻STO异构性的影响。
我们在软件定义的无线电平台(即usrp和RTL-SDR dongles)上实现XCopy,并构建了一个由一个网关和40个商用LoRa节点组成的测试平台,部署在城市环境中。我们从200多个链接中收集数据,以评估XCopy在不同渠道条件下的表现。结果表明,在城市环境下,XCopy可以使LoRaWAN的信噪比提高>10 dB,覆盖范围扩大> 40%。XCopy可以与LoRaWAN堆栈集成,并在最新的多天线多网关设计上工作,在合理的计算和存储开销下提供额外的信噪比增益。
综上所述,本文做出了以下贡献:
- 我们引入PHY重传作为弱LoRa连接信噪比增强的新范例,通过建设性地组合重传数据包的弱信号,否则将被浪费。
- 我们设计了超低信噪比下的LoRa数据包检测、信号校准和同步策略。
- XCopy补充了最先进的技术,可以在现有技术无法可靠连接时提高10 dB信噪比增益的可靠性。
2 A PRIMER ON LORA
LoRa PHY. LoRa是一种采用Chirp扩频(CSS)调制的物理层技术。啁啾信号(chirp signal)具有时变频率,其中频率以固定速率增加(up-chirp)或减少(down-chirp)以扫描频谱。CSS使用调频上调来表示符号。调制后的啁啾信号(chirp signal)可以表示如下:
S ( t , f s y m ) = e j 2 π ( k 2 t − B W 2 ) t ⋅ e j 2 π f s y m t = C ( t ) ⋅ e j 2 π f s y m t . (1) S\left(t, f_{s y m}\right)=e^{j 2 \pi\left(\frac{k}{2} t-\frac{B W}{2}\right) t} \cdot e^{j 2 \pi f_{s y m} t}=C(t) \cdot e^{j 2 \pi f_{s y m} t} . \tag{1} S(t,fsym)=ej2π(2kt−2BW)t⋅ej2πfsymt=C(t)⋅ej2πfsymt.(1)
这里, C ( t ) = e j 2 π ( k 2 t − B W 2 ) t C(t)=e^{j 2 \pi\left(\frac{k}{2} t-\frac{B W}{2}\right) t} C(t)=ej2π(2kt−2BW)t,基啁啾的频率是从 − B W 2 -\frac{B W}{2} −2BW增加到 B W 2 \frac{B W}{2} 2BW, k k k表示频率增加率和 f sym f_{\text {sym }} fsym 调制符号的频移。为了解调啁啾信号(chirp signal),我们需要首先通过与基啁啾的共轭(即, C − 1 ( t ) C^{-1}(t) C−1(t))相乘来对信号进行解码,然后进行快速傅里叶变换(FFT)以提取符号的编码频率(即 f sym f_{\text {sym}} fsym)。
LoRa PHY采用两个参数,即扩频因子(SF)和带宽(BW),以适应数据速率和通信可靠性。一般来说,大顺频和窄带宽调制具有长啁啾的符号,以较长的传输时间和较高的能量消耗为代价,提高了对恶劣信道条件的适应能力。
包结构。LoRa包由序言、可选报头、有效载荷和根据有效载荷数据计算的两字节CRC组成。前言由不同数量的基啁啾组成,后面是一个双啁啾同步字和2.25个下行啁啾作为开始帧分隔符(SFD)。LoRa无线电通过检测LoRa前导的存在来检测数据包,并使用前导进行帧同步(例如帧定时、频率和相位校准)[4,44]。在检测到前导后,接收器检测SFD以识别有效载荷的开始,然后对有效载荷进行解调和解码。接收方将检查CRC以验证接收数据的完整性。
LoRaWAN重传。LoRaWAN MAC支持已确认数据和未确认数据消息[30]。未经确认的消息不需要确认,这是为良好的信道条件和容错场景而设计的。如果考虑通信可靠性,则应采用确认消息类型。如果接收到的数据通过了CRC检查,则接收方承认已确认的数据消息。否则,需要重传消息。LoRaWAN建议最多重传8次。
3 WHY PHY RETRANSMISSION?
LoRaWAN MAC以每个数据包为基础确认已确认的数据消息。任何未通过CRC检查的数据包将被丢弃并需要重传。这个MAC层机制要求数据包的所有有效载荷数据必须在一次传输中被正确接收。当物理信道保持在相对较好的信噪比时,或者当信道随时间在良好的信噪比和较差的信噪比之间变化时(例如,移动场景),在良好的信噪比中传输可能成功传递数据包时,它可能是有效的。然而,对于一些具有严重信号阻塞的弱链路(例如,在建筑物和城市环境中),物理信道可能持续经历极低的信噪比(例如,< - 20 dB)。以最低数据速率(即SF12)和最大尝试次数进行重传仍然会导致零数据包接收,如图2所示。在这种情况下,MAClayer重传很少能提高数据包接收性能,这只会浪费无线电资源,例如电池电量、占空比配额等。
一个有趣的观察是,尽管在弱链路上的数据包传输可能不会产生成功的数据包接收,但数据包信号仍然可以被接收器无线电采样和检测。我们根据经验分别测量了LoRa无线电(即Semtech SX1276)用于数据包检测和解码所需的最小信噪比。如图3所示,LoRa无线电能够检测到信噪比低于解码信噪比阈值的数据包。特别是,如果我们利用LoRa前导的独特信号结构来使用更长的窗口进行检测,它可能会以更低的信噪比检测数据包,如图3所示。
我们建议聚合多个重传以改善LoRa在弱链路上的通信。直觉是,尽管每次传输的信号强度可能很弱,不足以进行分组解码,但我们可以将重新传输的信号副本相加以增加信噪比。因此,数据包的每一次重传都可以为数据包的成功解码贡献信噪比增益。随着更多的传输被相干组合,它可能会产生10db的信噪比增益提高!此外,由于数据包检测的灵敏度随着前导检测窗口长度的增加而增加,我们可以配置一个长前导的LoRa数据包,并扩大检测窗口,将数据包解码的信噪比阈值向下推至物理极限,进一步提高信噪比增益。它有望打破LoRa通信的信噪比壁垒,提高弱链路上数据传输的可靠性。
4 XCOPY DESIGN
4.1 概述
XCopy是LoRa的一种PHY重传策略,能够聚合多个传输的信号功率,在弱链路上实现可靠的通信。发送方对LoRa报文的PHY信号进行重传,并在报文中配置一个较长的前导,以辅助报文检测。前言的长度和重传的次数被调整为在可靠性和通信开销之间取得平衡。在接收端,XCopy相干地合并接收到的信号副本以提高信噪比,并对增强信号的数据包进行解码。
在不丧失一般性的前提下,我们对符号 S ( t , f s y m ) S(t,f_{\mathrm{s}ym}) S(t,fsym)的接收信号进行如下建模。
y ( t ) = α e φ ⋅ e − j 2 π f c f o t ⋅ S ( t + τ s t o , f s y m ) + n ( t ) , (2) y(t)=\alpha e^{\varphi}\cdot e^{-j2\pi f_{cfo}t}\cdot S(t+\tau_{sto},f_{sym})+n(t), \tag{2} y(t)=αeφ⋅e−j2πfcfot⋅S(t+τsto,fsym)+n(t),(2)
其中, α \alpha α 和 φ \varphi φ分别表示通信信道引起的信号幅度衰减和相位变化, f c f o f_{cfo} fcfo为发送方和接收方之间的中心频率偏移(CFO), τ s t o \tau_sto τsto为接收方信号到达和信号采样之间的时间间隔(称为采样时序偏移(STO)[44]), n ( t ) n(t) n(t)为噪声。假设一个数据包通过弱链路传输了 n n n次。XCopy结合 n n n符号的信号副本来增加信噪比,可以如下所示:
Y ( t ) = ∑ i = 1 n ω i ⋅ y i ( t ) , (3) Y(t)=\sum_{i=1}^n\omega_i\cdot y_i(t), \tag{3} Y(t)=i=1∑nωi⋅yi(t),(3)
其中, y i ( t ) y_i(t) yi(t)表示 i t h i^{th} ith传输的接收信号, ω i \omega_{i} ωi是根据 y i ( t ) y_i(t) yi(t)的信道条件和信号质量调整的权值。
请注意,由于LoRa无线电的频率漂移和信道变化,不同的传输通常在CFO、STO和信道条件下有所不同。重传信号可能有频率和相移,这可能导致破坏性的非相干信号合并,并损害 Y ( t ) Y(t) Y(t)的信噪比。XCopy需要估计 n n n传输原始信号之间的频率漂移和相位差,并对频率和相位失调进行补偿。理想情况下,我们期望补偿信号应具有相同的频率和相位,以便 n n n传输的信号功率可以建设性地组合以获得最高的信噪比。
XCopy解决了跨重传信号组合的独特挑战。首先,由于重传发生在不同的时间,一个包的重传可能与其他包的重传重叠。XCopy需要正确识别同一数据包的重传信号,并在多个信号副本之间严格同步帧时、频率和相位。然而,在存在其他传输干扰的情况下检测和同步重传数据包是具有挑战性的,特别是在超低信噪比的情况下(见§4.2)。其次,由于重传的LoRa数据包可能会经历具有异构频率和相位漂移的时变信道,因此如何减轻其对信号组合的不利影响至关重要(在§4.3中处理)。我们对这些问题进行了详细的研究,并提出了新的解决方案。
4.2 跨重传的相干合并
(1) 检测数据包是否存在。XCopy利用长LoRa前奏来检测弱数据包的存在。其基本思想是,由于LoRa序文由几个相同的基啁啾组成,因此一个序文被解码后会在连续的啁啾窗口中产生相同的音调频率,如图4(b)所示。通过在不同的窗口执行FFT,我们可以检测到指向相同频率的重复功率峰值,这表明存在数据包。如果无法检测到单个啁啾窗口的信号功率,我们可以扩大检测窗口(DW),聚合更多的多个啁啾样本,这样可以积累更多的信号功率,产生更高的FFT峰值(图4(c)和(d))。通过将放大的检测窗口滑动到接收信号上,即使在超低信噪比的情况下,我们也可以检测到LoRa前导所需的信号模式,如图4(e)所示。我们注意到LoRa序言的长度是可配置的。商品LoRa无线电(例如Semtech SX1276[37])支持的前导码中相同基啁啾的最大数量可达65535个啁啾。默认情况下,XCopy将前导码和检测窗口的长度分别配置为8个啁啾和4个啁啾,从而平衡了检测灵敏度以及通信和计算开销。
(2) 帧定时的粗估计。一旦检测到数据包,XCopy需要检测帧定时,以确保重传信号的正确啁啾电平组合。直观地,我们可以利用从前导中检测到的频率,根据啁啾频率和时间的关系来推断数据包的帧时序。如图5(a)所示,假设检测窗口与前导啁啾边缘偏离 Δ n \Delta n Δn个样本,采样率为 F s F_{s} Fs。检测窗口内的信号为 C ( t + Δ n ⋅ 1 F s ) C(t+\Delta n\cdot\frac1{F_{s}}) C(t+Δn⋅Fs1),其解调后得到频率 f = k ⋅ Δ n / F s f=k\cdot\Delta n/F_{s} f=k⋅Δn/Fs,其中 k k k为啁啾的频率增加率。我们可以从检测窗口的FFT结果得到 f f f,并推断出检测窗口与啁啾边缘之间的偏移量为 Δ n = f ⋅ F s / k \Delta n=f\cdot F_{s}/k Δn=f⋅Fs/k,由此可以估计出啁啾边缘的时序。
我们使用上述方法检测图4所示序言的啁啾边缘。我们看到在preamble开始之前检测到一些边缘,如图5(b)所示。这是因为当我们在接收信号上滑动检测窗口(例如,4个啁啾长)时,当检测窗口中部分包含前导(例如,<4个啁啾)时,可以产生早期的功率峰值。当检测窗口完全在前导中移动时,峰值可以变得更高。理想情况下,功率最高的第一个峰值表示序曲的开始(见图5(b))。我们可以使用功率阈值直观地检测起点。然而,我们的实证研究表明,基于阈值的检测可能会错误地将早期/晚期峰值检测为前导中的第一个基啁啾,从而导致啁啾级失调(即啁啾误差)。此外,我们观察到超低信噪比下的前导啁啾的频率检测容易受到噪声失真的影响,这可能导致估计啁啾边缘的样本级偏差(即样本误差)。它甚至可能对不同的重传数据包产生异构帧定时错误。简单地扩大检测窗口(例如,DW=8×或12×)并不能减少如图6(a)所示的检测误差。尽管如此,结果给出了帧时的粗略估计。如图6(b,c)所示,大多数估计值与真值相差不超过±2个啁啾。我们可以在有限的范围内进行精确的搜索以找到正确的帧时间。
(3) 同步信号的时序、频率和相位。虽然很难用单个数据包改进帧定时检测,但我们可以利用重传机会来减轻定时错误吗?一个关键的见解是,当XCopy重传具有相同PHY信号的数据包时,多次重传的接收信号副本之间应该具有很强的相关性。理想情况下,当两个信号副本的帧定时对齐时,可以检测到高相关峰值。我们尝试使用传统的相关检测方法来校准重传信号的帧时序。然而,当信号信噪比极低时,很难在时域检测到相关峰。即使对于信噪比较好的信号,检测到的相关峰仍然会偏离实际对准点。这是因为在实践中,由于信道变化和时钟漂移,重传的数据包可能会经历不同的信道、CFO和STO[4,44],这会给重传的信号副本增加异构频率和相位变化。由于LoRa啁啾的频率和时间之间的固有关系,重传信号的频率失调会改变相关峰的检测位置(即时序误差)。
XCopy提出了一种新的方法,可以最好地利用重传数据包的信号结构,在超低信噪比的重传中,不仅可以调整帧定时,还可以同步频率和相位。我们利用这样一个事实,即如果同一数据包的两个信号副本在时间上对齐,则可以从数据包的任何部分(例如,序言,SFD和有效载荷)检测到相应窗口的信号之间的高度相似性。在不丧失一般性的前提下,给定两个信号副本 y 1 ( t ) y_1(t) y1(t)和 y 2 ( t ) y_2(t) y2(t),XCopy使用共轭乘法来检测两个信号之间的相似性,如下所示:
y 1 ( t ) ⋅ y 2 ∗ ( t ) = ∥ h 1 ⋅ h 2 ∗ ∥ ⋅ e − j 2 π Δ f t ⋅ e j Δ ϕ , (4) y_1(t)\cdot y_2^*(t)=\|h_1\cdot h_2^*\|\cdot e^{-j2\pi\Delta ft}\cdot e^{j\Delta\phi}, \tag{4} y1(t)⋅y2∗(t)=∥h1⋅h2∗∥⋅e−j2πΔft⋅ejΔϕ,(4)
其中 ( ⋅ ) ∗ (\cdot)^* (⋅)∗表示复共轭,省略背景噪声。 h 1 h_1 h1和 h ˉ 2 \bar{h}_2 hˉ2 表示两个传输的信道影响,而 ∥ h 1 ⋅ h 2 ∗ ∥ \|h_1\cdot h_2^*\| ∥h1⋅h2∗∥表示相乘信号的幅度。 Δ f \Delta f Δf和 Δ ϕ \Delta\phi Δϕ分别表示 y 1 ( t ) {y_1}(t) y1(t)和 y 2 ( t ) y_2(t) y2(t)由于CFO、STO、频率漂移和相位漂移造成的频差和相位差。
请注意,如果同一数据包的两个信号副本对齐,则公式(4)中的共轭乘法可以完全去除共同啁啾并产生如图7(a)所示的音调频率。接下来,我们可以使用FFT将信号功率从前导码和数据包的其他部分(如SFD和有效载荷)聚合到一个频率bin中,从而产生最高的功率峰值。相反,如果两个信号偏差了几个样本,那么偏差样本的信号功率就会从主频中泄漏出来,导致功率峰值降低。随着时序失调的增大,在不同的啁啾窗口中会出现不同的音调频率,这取决于失调啁啾之间的频率差。如图7(b)所示,在这种情况下,数据包的信号功率被分散到多个频箱中,无法累积到超过噪声本底。总而言之,最高的频率峰值表示帧时序的对齐。
在实践中,XCopy使用滑动窗口计算两个信号副本的不同时间偏移量的公式(4),可以产生如图8所示的结果。然后,XCopy搜索最高的频率峰值,以便在重传数据包的信号副本之间精确地对齐帧定时。与传统的基于相关的检测相比,共轭乘法方法能够产生最高的功率峰值,即使在两个信号副本之间由于CFO而存在频率移位时,也能指示两个信号的正确时序对齐。此外,公式(4)提供了额外的信息(即 Δ f \Delta f Δf和 Δ ϕ \Delta\phi Δϕ),可以用来估计两个信号之间的频率和相位差。我们可以从图7(a)所示的峰值中提取 Δ f \Delta f Δf和 Δ ϕ \Delta\phi Δϕ,并进行相应的补偿以同步两个信号之间的频率和相位。通过对频差和相位差的补偿,可以保证合并后的信号有建设性地相加,从而有效地提高弱包的信噪比。
(4) 分组合并。在实际应用中,不同LoRa节点之间的传输在时间上可能会交错,这可能会干扰目标数据包多次重传的信号组合。为了保证相干合并,XCopy需要识别并合并属于同一数据包的重传信号(即数据包分组)。如果数据包的节点ID可用,我们可以将交错的数据包分开,并根据其节点ID对数据包进行分组。但该方法对节点ID解码的信噪比要求较高,在超低信噪比下可能会失败。
XCopy利用LoRa数据包的PHY信号特性来分离低信噪比的交错传输。一个关键的洞察是,不同节点的数据包通常会在有效载荷中携带不同的啁啾(例如,不同的节点id和编码数据)。如果我们对不同数据包的信号应用公式(4),即使两个数据包的帧时对齐,在不同的啁啾窗口中也会出现不同的音调频率,类似于图7(b)所示的情况。因此,如果两个信号来自不同的分组,则不太可能检测到噪声底之上的高功率峰值。换句话说,如果检测到一个高功率峰值,我们可以确保两个信号来自同一个数据包,具有高置信度。基于这一观察,XCopy使用公式(4)的检测结果将不同节点的交错传输分组,每组包含同一数据包的重传信号副本。在每个组内进行信号组合以提高接收到的数据包的信噪比。
4.3 缓解STO异构性
由于接收器在离散时间对无线信号进行采样,信号到达和信号采样之间的时间偏移称为采样时序偏移(STO),它会对同一分组[44]的不同符号添加相同的频移但异构的相移。STO的频移与CFO相耦合。我们可以使用公式(4)来估计和补偿在重传数据包之间STO和CFO的总体频率差。然而,由于STO的相移在不同的符号之间是不同的,我们不能使用相同的方法来均匀地去除STO的相位差。XCopy必须解决STO的异构相位影响,以确保LoRa信号组合的良好信噪比增益。
由于在重传过程中STO通常是不同的,所以两个数据包之间的STO差异决定了它们的信号如何组合(同相或反相)。我们实证研究了STO差异对LoRa信号组合的影响,并在图9中绘制了每个chirp的基础上检查了信噪比增益。从图9(a)可以看出,当两个包的STO差较小时,chirp组合通常具有较高的信噪比增益。当STO差异扩大时,信噪比增益可以在数据包的不同啁啾中发生显着变化。例如,当STO差为采样间隔的0.75倍时,组合符号#122的两个副本可以获得接近3 dB的信噪比增益。而对于符号#16和#213,信噪比增益变为负值(见图9(b))。有趣的是,当STO差减小到采样间隔的0.125倍时,我们总是可以在所有有效载荷啁啾中获得高信噪比增益(接近3 dB),如图9(b)所示。
从理论上讲,一个在 τ s t o \tau_{sto} τsto 的STO可以改变一个啁啾的相位,其方法为: φ s t o = 2 π f 0 τ s t o \varphi_{sto}=2\pi f_{0}\tau_{sto} φsto=2πf0τsto,其中 f 0 f_0 f0表示啁啾的初始频率。设 Δ τ s t o \Delta\tau_{sto} Δτsto表示两个数据包之间的STO差异。两个包对应的啁啾之间的STOs相位差可以估计如下:
Δ φ s t o = 2 π f 0 ( τ s t o 1 − τ s t o 2 ) = 2 π f 0 Δ τ s t o . (5) \Delta\varphi_{sto}=2\pi f_{0}(\tau_{sto1}-\tau_{sto2})=2\pi f_{0}\Delta\tau_{sto}. \tag{5} Δφsto=2πf0(τsto1−τsto2)=2πf0Δτsto.(5)
我们看到,相位差(即 Δ φ s t o \Delta\varphi_{sto} Δφsto)是由 f 0 f_0 f0和 Δ τ ˉ s t o \bar{\Delta\tau}_{sto} Δτˉsto共同决定的。如果 Δ φ s t o \Delta\varphi_{sto} Δφsto较小,则一个符号的两个信号副本可以相干地组合并获得最佳的信噪比增益。根据Eq.(5),图10给出了 Δ τ s t o {\Delta}\tau_{sto} Δτsto和 f 0 f_0 f0对不同LoRa啁啾信号组合的联合效应。一般情况下,STO差越大( Δ τ s t o \Delta\tau_{sto} Δτsto),相位差越大。初始频率较大的啁啾( f 0 f_0 f0)可以放大STO的相位差。由于 f 0 f_0 f0在 − B W 2 ∼ B W 2 -\frac{BW}2\sim\frac{BW}2 −2BW∼2BW内有界,我们有以下不等式。
− ( Δ τ s t o ⋅ B W ) × π ≤ Δ φ s t o ≤ ( Δ τ s t o ⋅ B W ) × π (6) -(\Delta\tau_{sto}\cdot BW)\times\pi\leq\Delta\varphi_{sto}\leq(\Delta\tau_{sto}\cdot BW)\times\pi \tag{6} −(Δτsto⋅BW)×π≤Δφsto≤(Δτsto⋅BW)×π(6)
因此,如果减小重传数据包(即 Δ τ s t o \Delta\tau_{sto} Δτsto)之间的STO差,则可以将相位差限制在一个很小的范围内。例如,当 Δ τ s t o \Delta\tau_{sto} Δτsto减小到0.125× 1𝑊时,最大相位差将小于 22. 5 ∘ 22.5^{\circ} 22.5∘,这可以确保数据包中所有符号的一致组合,如图10所示。它鼓励我们减少重传包之间的STO差异,以避免STO异构的不利影响。
请注意,STO是由接收器的离散ADC采样引起的。任何两个数据包之间的STO差异在一个采样间隔内被物理地限定。在此基础上,我们可以提高接收机的物理采样率来限制STO差的上界。理论上,如果采样率高于LoRa带宽的1.5倍(即1.5×BW),则根据公式(6),STO差( Δ τ s t o \Delta\tau_{sto} Δτsto)小于 1 1.5 × B W \frac 1{1. 5\times BW} 1.5×BW1,并且STO引起的相位差(即 Δ φ s t o ) \Delta\varphi_{sto}) Δφsto))对于任何符号都小于120◦,这足以确保数据包中所有符号的信号功率的无损相加。当采样率超过3×BW时,最大相位差小于60◦,这可以导致大多数情况下符号功率的建设性相加。
为了研究采样率 ( F s ) (F_s) (Fs)对降低STO异质性的影响,我们接收了1000个不同采样率的LoRa数据包(SF8, BW250 kHz)。我们调整了数据包的帧时间并测量了它们的STO差异。如图11(a)所示,在所有病例中,测量到的STO差异分布在 0 ∼ 1 F s {\mathrm{0\sim\frac{1}{F_{s}}}} 0∼Fs1之间。随着采样率的增加,STO差分成比例减小。减小STO差可以有效地减小符号信号副本之间的相位差,有利于信号功率的建设性叠加。如图11(b)所示,高采样率有助于减少符号间信噪比增益的方差。当采样率超过LoRa带宽的3倍时,我们可以获得所有符号一致的高信噪比增益。
请注意,商用LoRa无线电(例如,SX1276)以高于LoRa分组带宽[37]的速率采样信号。在实践中,我们可以对原始信号进行充分的重新采样(例如,使用分数重采样),并对过度采样的LoRa信号应用Eq.(4),以细粒度尺度对齐数据包的帧时序,这可以将数据包之间的STO差异绑定在所需的小间隙内。
4.4 综合在一起
图12展示了XCopy的工作流程,其中包括三个关键步骤,即数据包检测、信号组合和数据包解码。
XCopy授权接收器以高采样率感知无线信道,并使用大检测窗口检测LoRa前导的存在。从一个大的检测窗口的功率累积频率峰值,XCopy能够估计接收到的数据包的粗帧定时和信噪比。非lora传输信号将在此步骤中被过滤掉。如果LoRa数据包的信噪比足够高,XCopy将跳过信号组合并尝试直接解码数据包。否则,XCopy将等待数据包的重传,然后进入下一阶段。
第二步,XCopy将不同报文的交错传输分类到不同的报文组中。为了增强信噪比,它确保只有同一数据包的信号副本才会被组合在一起。XCopy将重新传输的数据包之间的帧定时与过采样信号对齐,这可以消除STO异构性的负面影响。XCopy使用时序对准信号,估计和补偿信号副本之间的频率和相位差。最终,XCopy可以根据粗估计的信噪比调整多个重传信号(即 ω i \omega_{i} ωi)的权重,并根据公式(3)将多个重传的PHY信号进行相干组合。最后将增强信噪比的信号送入标准的LoRa解码器进行分组解码(即步骤3),完成弱LoRa分组的接收。
与LoRa堆栈集成。XCopy在物理层执行重传。发送器在接收ACK之前存储数据包的信号样本,并重新传输相同的样本,以方便XCopy中的信号合并。根据LoRaWAN规范[30],数据包将在不同的频率通道上重传。如果一个数据包在两次重传后仍未被确认,LoRaWAN将适应较低的数据速率(例如,增量SF)。由于XCopy在基带进行信号合并,因此可以将不同频率信道的重传合并在一起以获得信噪比增益,因为它们的信号将被均匀地下转换到基带。XCopy采用了LoRaWAN的默认重传方案,允许在相同的SF下进行更多的重传尝试,然后才切换到较慢的数据速率。通过组合多次重传,XCopy可以逐渐将有效数据速率收敛到无线信道可以支持的水平。具体来说,为了处理在LoRaWAN中不会重传的弱链路上的ACK丢失,根据历史链路信噪比设置XCopy的最大重传尝试次数。
5 EVALUATION
5.1 方法
实现和设备。我们基于开源的LoRa项目gr-lora[11],在软件定义无线电平台上使用高端USRPs (N210)和低成本RTL-SDR dongles实现XCopy。我们使用USRPs 作为网关接收来自LoRa节点的信号,并将原始PHY样本转发到运行XCopy的工作站进行脱机处理。此外,我们将RTL-SDR dongles连接到笔记本电脑上,并移动到不同的位置以收集不同信噪比的数据轨迹。
我们构建了一个由40个商用LoRa节点和一个网关组成的测试平台。LoRa节点由嵌入Semtech SX1276无线电的Dragino LoRa护盾组成。我们将LoRa屏蔽连接到Arduino Uno板来配置无线电芯片。我们将测试平台部署在校园内,覆盖1.8公里× 2.1公里的城市环境区域。该网关安装在高层建筑的屋顶上,为部署在园区内的LoRa节点提供服务。
实验设置。我们从连接节点到屋顶安装的USRPs以及移动RTL-SDR加密狗的200多条链路中收集数据踪迹。这些链路覆盖了广泛的信道条件。我们在两个多月的时间里进行了大量的实验来评估XCopy,旨在回答以下三个问题:(1)XCopy可以为LoRa数据包解码带来多少性能增益(§5.2)?(2) XCopy在解码弱数据包(§5.3)上的能力是什么?(3) XCopy在实际网络中的表现如何(§5.4)?除非另有说明,否则我们将LoRa数据包配置为默认参数:中心频率915 MHz,扩展因子(SF) 10,带宽(BW) 250 kHz,编码速率(CR) 4/8和有效载荷大小64啁啾。缺省情况下,LoRa网关的PHY采样率为1MSPs。
基准。我们将XCopy与三个基准进行了比较:(1)LoRaWAN:现有商用LoRa设备支持的具有MAC层数据包重传的标准协议;(2)多网关Charm[7]:一种将多个网关的信号结合起来进行弱分组接收的最新策略;(3)多天线MALoRa[17]:利用多天线网关的MIMO能力来改善弱数据包接收的最新研究。
指标。我们用三个关键指标来评估XCopy的性能:(1)分组解码的符号错误率(SER);(2)链路通信的包接收比(PRR);(3)信噪比阈值,定义为XCopy能够解码的最小信噪比,表征XCopy的解码能力。
5.2 基本性能
传输增益。我们首先研究了数据包解码时PHY重传的性能改进。在本实验中,我们设置了三个信噪比分别为-20 dB、-25 dB和 -30 dB的链路。我们在三个链路上传输数据包,重传次数从0到15不等,以研究信号拷贝数对数据包解码性能的影响。零重传的结果用于基线比较。
图13(a)给出了不同设置下数据包解码的符号误码率(SERs)。我们看到,由于PHY信号组合的功率优势,随着重传次数的增加,符号错误通常会减少。例如,对于信噪比为- 20 dB的链路,单次重传可以将SERs从48.2%降低到8.8%。这种符号错误可以通过纠错码(即汉明码)来容忍和纠正。当数据包被重新传输三次以上时,我们几乎可以正确解码所有符号,如图13(a)所示。正如预期的那样,对于信噪比较低的链路,我们需要更多的重传(例如,−25 dB重传5次,−30 dB重传>15次)。重传的次数应适应链路的信道条件,以确保包解码的良好性能。
接下来,我们评估了物理层重传相对于LoRaWAN标准采用的现有MAC层重传的性能增益。我们通过改变LoRa节点的发射功率和位置来改变链路SRN从−35 dB到−5 dB。我们在每条链路上重复传输8次数据包。我们使用两种数据包设置:所有信噪比的固定SF(即SF10)和自适应数据速率(ADR)。当ADR使能时,−5 dB和−10 dB使用SF10,−15 dB和−20 dB使用SF11, <−20 dB使用SF12。XCopy将8个传输的信号加起来进行分组解码。与此相反,LoRaWAN用单次传输的信号对数据包进行解码,并从8次传输中选择最低的SERs作为解码结果。
图13(b)绘制了LoRaWAN和XCopy在不同链路信噪比下的SERs。我们看到,使用固定的SF10, LoRaWAN可以在信噪比为-15 dB时解码数据包,而XCopy即使在信噪比降至- 25 dB时也能够正确解码数据包。同样,当使能ADR时,XCopy将报文解码的最小信噪比从−20 dB推至−30 dB。这意味着与现有的LoRaWAN的MAC层数据包重传相比,XCopy中8个信号副本的组合带来了近10 dB的信噪比提高。
与最先进的比较。在本实验中,我们将XCopy与两个密切相关的工作Charm[7]和MALoRa[17]进行了比较,这两个工作结合了多个网关/天线的信号来增强信噪比。为了公平起见,我们在相同的信号拷贝数下对XCopy、Charm和MALoRa的数据包解码性能进行了评估。我们设置了8个USRPs作为接收网关。对于Charm,我们将网关放置在不同的位置,并为它们配置异步本地时钟。我们使用Charm方法对8个网关的信号进行同步。对于MALoRa,我们为所有USRPs提供一个共同的外部时钟源,该时钟源同步八个接收器的信号接收。对于XCopy,我们重传一个数据包七次,并使用来自一个网关的数据包的八个信号副本进行信号组合。我们还对每个网关的接收信号进行不合并解码,并选择8个网关的最低SERs作为标准LoRaWAN的结果进行基线比较。
图13©显示了四种策略在不同信噪比下的SERs。正如预期的那样,LoRaWAN具有最高的符号错误率。Charm的性能优于LoRaWAN,因为它可以将八个网关的信号组合在一起以增强信噪比。然而,Charm在超低信噪比下的信号校准不准确,并且产生比XCopy和MALoRa更高的SERs,而信噪比降低到-15 dB以下。由于MALoRa使用同步USRPs来接收数据包的多个副本,因此接收到的信号本质上是同步的。MALoRa可以完美地组合8个信号副本,以提高信噪比,并产生最低的符号错误率,如图13©所示。XCopy的性能与MALoRa相当接近。结果表明,XCopy可以很好地同步重传信号,性能与MALoRa相当。
我们注意到,由于重传与MALoRa的多天线方法是互补的,XCopy可以与MALoRa一起工作,进一步提高弱分组解码的性能。图13(d)评估了使用XCopy和MALoRa共同解码−30 dB数据包的性能。我们将重传的次数从0更改为15,并使用多个同步USRPs来接收。当XCopy和MALoRa一起使用时,我们首先将MALoRa应用于每次传输的多个USRPs信号,然后使用XCopy将不同传输的信号组合起来。如图13(d)所示,随着重传次数的增加和接收机数量的增加,符号误码率不断降低。如果使用单个接收器,XCopy需要15次重传才能提供20%的SER。相比之下,我们只需要5次重传到一个4天线网关就能达到相当的性能。
与LoRa不良反应的比较。本实验将XCopy与具有自适应数据速率(即LoRa ADR)的标准LoRa重传方案进行比较。我们设置了20条链路,信噪比从-30 dB到-15 dB不等,即每个信噪比为5条链路。对于LoRa ADR,我们在两次重传之后将SF增加1,直到成功接收到数据包。最大重传次数为8次。对于XCopy,我们保持SF不变,并将重传连贯地组合在一起进行分组解码。为了进行公平的比较,我们对XCopy和LoRa ADR采用相同的初始SF设置,并检查了这两种策略在不同SNR和初始SF下的能量、延迟和吞吐量性能。
图14(a)是XCopy和LoRa ADR在信噪比为−25 dB时的累积传输能量快照。我们看到LoRa ADR需要7次重传。将“SF”从“8”调整为“11”时,报文可以正常下发。总能耗1405兆焦耳。相比之下,XCopy只需要使用固定的SF8进行5次重传。由于SF8的短分组通话时间,XCopy的总能量仅为458 mJ。请注意,LoRa ADR不会通过对每个数据包进行多次重传来将SF从8调整为11。相反,它直接使用SF11传输以下数据包。然而,由于SF11的数据长分组通话时间,能量成本仍然可以高达429 mJ,这相当于XCopy在SF8的6次(重)传输中的总能量。
图14(b-d)评估了XCopy和LoRa ADR的整体能量性能、数据包延迟和吞吐量。当信噪比高或信噪比大(例如-15 dB或SF≥10)时,这两种策略的性能相同,因为不需要重传。当链路信噪比降低到-20 dB和-25 dB时,XCopy中使用多次重传来提高每个数据包的信噪比。LoRa ADR只对第一个报文进行重传,调整SF为合适的值,之后的报文使用调整后的SF进行转发。虽然在XCopy中使用的重传比在LoRa ADR中使用的重传要多,但是在LoRa ADR中数据包的传输时间是XCopy的几倍。因此,这两种策略的总能量和延迟性能通常是相当的。然而,当信噪比进一步降低到−30 dB时,即使使用最大的SF12, LoRa ADR也无法发送数据包。XCopy在低吞吐量下仍然可以成功传输数据包。
采样率的影响。接收机的物理采样率( F 𝑠 F_𝑠 Fs)会影响接收信号的STOs以及信号组合的效果。本实验考察了采样率对数据包解码的影响。我们建立了信噪比为- 20 dB的链路,并将网关的采样率从250 kSps调整到1 MSps。图15显示了不同设置下XCopy的SERs。我们看到,对于相同数量的信号拷贝,XCopy的SERs随着的 F 𝑠 F_𝑠 Fs增加而降低。主要原因是高采样率可以减小信号副本间的STO差异,有利于有效载荷啁啾的相干信号组合。主要原因是高采样率可以减少信号副本之间的STO差异,这有利于有效载荷啁啾的相干信号组合。对于固定采样率(例如, F s F_s Fs=250kSps),XCopy的SER也会随着更多信号副本的组合而降低,因为更多副本可以为更高的信噪比增益提供更多的信号功率。
开销分析。图16评估了LoRaWAN、Charm、MALoRa和XCopy的计算开销。我们在同一台台式计算机上运行这四种策略,并测量数据包解码的总时间。图16显示了解码符号所花费的平均时间。我们看到XCopy比其他策略有更高的时间开销,因为它需要更多的时间来检测和同步低信噪比重传中的信号。符号解码的平均时间成本,包括数据包检测和同步的信号处理,是几毫秒。开销随着更多的信号副本的合并而增加。考虑到LoRa符号的低占空比和较长的广播时间(秒级),解码延迟(即几十毫秒)一般是可以接受的。
我们注意到,除了时间开销之外,XCopy还会产生很高的内存开销。当检测到弱数据包时,XCopy需要在多次重传尝试中以最长的数据包长度存储传入信号。需要使用大容量的存储卷。幸运的是,XCopy运行在具有足够资源来存储和处理信号的网关上。此外,在实际应用中,网关的硬件加速计算和存储容量升级也是可行的。
5.3 性能研究
报文检测能力。回想一下,XCopy需要检测LoRa前文的重复模式(即相同频率bin中的功率峰值)来检测数据包。XCopy对数据包的检测能力还受检测窗口的大小、检测峰的数量和前导长度的影响。我们在实验中改变这些因素,并评估它们对数据包检测性能的影响。结果如图17所示。我们有两个主要观察结果:(1) 一个小的检测窗口可能会错过一些弱数据包,导致假阴性错误,如图17(A)所示。为了提高低信噪比下的检测可靠性,需要扩大检测窗口。(2)较大的检测窗口(如图17(b)中的DW=4)可能会在连续的窗口中检测到相同的噪声峰值,从而错误地检测到LoRa前导的模式,即假阳性误差。我们可以通过增加略大于DW的检测峰的数量来减少假阳性误差,例如DW=4的检测峰为5个,如图17(b)所示。
图17©绘制了不同序文长度的XCopy可以检测到的LoRa数据包的最小信噪比。我们根据经验将DW和检测峰的数量设置为给定前导长度所支持的最大值。正如预期的那样,具有较长前导的数据包可以在较低的信噪比下被检测到,因为较长的前导使XCopy能够使用更大的检测窗口,从而可以聚合更多前导啁啾的信号功率来检测较弱信号强度的数据包。如图17©所示,随着序文长度从8个啁啾增加到32个啁啾,报文检测(SF8)的信噪比阈值从−14 dB降低到−23 dB。对于给定的序文长度,信噪比阈值对于具有较大SF的数据包可以较低,因为较大的SF对应于较长的符号持续时间,这对低信噪比更具弹性。
报文解码能力。在本实验中,我们研究了不同重传次数下XCopy的解码能力。我们改变LoRa分组的配置,即扩展因子(SF)、带宽(BW)和编码速率(CR),研究它们对解码能力的影响。图18给出了在不同设置下可以正确解码的数据包的最小信噪比。一般来说,当使用更多的重传时,XCopy能够以较低的信噪比解码数据包,因为更多的重传提供了更多的信号副本,从而提高了信噪比。对于具有SF8的LoRa数据包,随着重传次数从0增加到15,信噪比阈值从-12 dB降低到-24 dB。对于具有较大SFs的数据包,信噪比阈值甚至可以更低。例如,如图18(a)所示,SF10的最小信噪比为−31 dB, SF12的最小信噪比为−35 dB。相比之下,XCopy的解码能力在不同的BW设置中变化不大(见图18(b))。编码率(Coding Rate, CR)影响LoRa解码器的误码恢复能力,而当CR从4/5变为4/8时,XCopy的解码能力平均增加1.9 dB,如图18©所示。然而,信噪比的提高是以额外的编码开销为代价的,因为CR 4/8比CR 4/5需要更多的符号来编码冗余位。
敏感性研究。请注意,XCopy中的数据包同步和分组操作可能会受到数据包长度和采样率设置的影响。我们设置了实验来检验这些因素的影响。图19(a-c)显示了两个重传数据包信号在- 15 dB范围内不同采样偏移的同步检测结果。如图19(a)所示,由于信噪比较低,我们在0.25 MSps采样的48 chirp数据包的原始信号中没有检测到峰值。相反,随着数据包长度和采样率的增加,可以检测到清晰的功率峰值。当重传数据包的信号出现少量偏差时,峰值的幅度会急剧下降,如图19(b,c)所示,表明同步精度具有很高的灵敏度。
在表1中,我们测量了XCopy可以正确分组和同步重传数据包的最小信噪比。我们发现XCopy可以在超低信噪比(例如< - 15 dB)下有效工作。信噪比灵敏度通常随着分组长度和采样率的增加而提高。
5.4 实用性能
通信范围扩展。本实验考察了XCopy在提高LoRa覆盖率方面的性能。为了获得我们测试平台中LoRaWAN网关的空间覆盖范围,我们将如图20(a)所示的1.2 km×1.2 km目标区域划分为15×15网格,并在每个网格上测量来自网关的LoRa信号的信噪比。目标区域包括具有挑战性的室内和室外环境,在这些环境中,无线信号被建筑物和地下室内的混凝土墙衰减和阻挡。我们在图20中用等高线绘制测量到的信噪比。图20(b)中的蓝色区域表示使用SF12进行通信(启用数据包重传)时LoRaWAN网关的覆盖范围。对于XCopy,我们将LoRa节点配置为发送具有32啁啾长前奏的数据包(SF12),并在每个网格中分别重传7次和15次。网关运行XCopy将所有重传信号合并进行包解码。我们在图20©和(d)中展示了XCopy的覆盖范围,如果可以可靠地接收从网格发送的数据包(即数据包接收率≥90%),则将网格标记为蓝色。对比图20(b)和©,我们可以看到XCopy将LoRa覆盖范围从信噪比为- 18 dB的区域扩展到了- 31 dB。当使用15次重传时,覆盖范围进一步扩展到- 35 dB的信噪比。图20(b)中的许多弱链路连接现在可以可靠地通信。当使用7次和15次重传时,XCopy将LoRaWAN的总覆盖面积分别扩大了37.2%和43.4%。
弱链路的性能。为了研究XCopy在弱链路上的性能,我们检查了来自测试平台的三个链路,即信噪比为-37.6 ~ -24.1dB的链路1、信噪比为26.7 ~ -17.1dB的链路2和信噪比为-18.9 ~ -4.3dB的链路3。3个LoRa节点每小时唤醒一次,传输120字节的数据,占空比为1%。LoRa通信带宽为250khz。根据三个链路的信噪比选择扩频因子。我们收集了三个链接的5天数据跟踪,并分别使用XCopy和LoRaWAN重播跟踪。XCopy对所有重传使用相同的分组配置;而LoRaWAN则根据标准[30]在重传中调整数据速率。最大重传次数为8次。我们测量了三个链路的包接收比(PRR)和延迟。我们还记录了LoRa无线电的活动时间,并根据Semtech SX1276[37]的数据表计算了端节点的能耗。
图21(a-c)比较了XCopy和LoRaWAN在包接收比(PRR)、能耗和包延迟方面的差异。我们看到XCopy产生更高的PRRs,同时比LoRaWAN消耗更低的能量。例如,LoRaWAN在链路#2上的PRR为80.8%,而XCopy将PRR提高到100%。LoRaWAN很少从链路#1接收数据包(例如,PRR< 10%)。相比之下,链接#1上的XCopy正确接收了93.3%的数据包。对比图21(a)所示的三个链路的PRR,我们发现XCopy能够对低信噪比的链路产生更高的PRR改进。更重要的是,由于XCopy有效地使用了每次传输的信号,它可以使用比标准LoRaWAN更少的重传来实现更高的PRRs(例如,图21(a)和(d)中的链路#1)。因此,XCopy能够以比LoRaWAN更低的能耗和更短的时间延迟可靠地传输数据包,如图21(b)和©所示。在图21©中,LoRaWAN在链路#1上显示出更短的数据包延迟,因为8次重传后无法接收的数据包延迟不包括在结果中。
可伸缩性。在本实验中,我们在建筑物内部署了11个节点,连接到屋顶安装的网关。链路信噪比范围为−27db ~−22db。我们配置节点占空比为10%(即比常规LoRaWANs大10倍),以模拟大型网络(例如,>100个节点)的通信。不同节点的数据包重传在时间上是重叠的,不同节点的重传会给目标数据包的信号组合增加干扰。我们检查了XCopy在干扰流量存在下的性能。
图22(a)给出了4个节点的数据包接收比,网络中其他节点的情况类似(图中未显示)。XCopy可以正确识别各节点的重传报文,减轻干扰报文的影响。图22(b)关注的是一个节点在不同干扰节点数量干扰下的PRRs。我们看到XCopy的解码性能主要受重传次数的影响,例如,7次重传比3次重传产生更高的PRRs。在固定重传次数的情况下,当干扰数从0增加到10时,PRRs变化不大,这表明XCopy具有良好的可扩展性。
在实际应用中,LoRa节点应以低于1%的占空比运行。许多节点可以与不同的SFs通信,而不会相互干扰。我们相信XCopy可以毫不费力地支持由数百个LoRa节点组成的相对较大的网络,通过分配具有正交SF和BW参数的节点。
6 RELATED WORK
许多测量研究[29,33,38,49]表明,LoRa的性能在城市环境中严重下降。现有研究[16,24,34,35,43,46,47]主要关注LoRa的参数优化(如扩频因子、带宽、信道分配等)。Chime[8]选择最优信道频率来提高信噪比。LMAC[9]减少了MAC层的数据包冲突,增加了goodput。标准的LoRaWAN (ADR)[30]和一些研究(DyLoRa[28])根据信道条件调整LoRa的TX功率和SF,以提高可靠性和能效。但是,FCC限制了最大TX功率。如果使用最高TX功率和最大SF的通信仍然存在可靠性差的问题,XCopy可以提供进一步的改进。
一些研究[2,7,17,25]旨在改善LoRa在弱链路上的通信。猎鹰[40]通过主动干扰强LoRa传输,以类似于开关键控(OOK)的方式传输信息,将LoRa覆盖范围扩展到最长的干扰范围。OPR[2]利用多个网关的异构误码来恢复数据包。NELoRa[25]采用深度学习技术来增强弱LoRa信号的解调。相比之下,XCopy在解调/解码之前提高了信号质量。Charm[7]将多个网关的弱信号组合在一起,增强数据包解码能力。MALoRa[17]利用LoRa网关的多天线能力来增强弱数据包接收。然而,现有工作中的信号处理方法不能应用于XCopy, XCopy解决了超低信噪比下重传数据包之间信号组合的独特挑战。
LoRa反向散射系统通过后向散射频移LoRa啁啾发送数据。后向散射LoRa信号比有源LoRa信号弱得多[14,15,22,23,32,39]。先前的工作(如PLoRa [32], Aloba [13], Saiyan[12]等)开发了新的算法和定制硬件,以促进弱反向散射信号的检测和解码。XCopy与这些工作的不同之处在于,它旨在检测和解码弱LoRa数据包,而不是反向散射信号。
我们的工作也与无线系统(例如,WLAN和cellular)中可靠数据传输的研究有关[1,6,19,31,50]。由于重传会带来额外的开销,因此提出了优化策略来提高重传效率。一些研究[27,36,50,52]提出只重传受损坏比特影响的符号,以提高重传效率。PPR[21]、SOFT[42]和LEAD[18]开发了数据校正方案,通过使用高级编码方案或跨层优化来恢复损坏数据包的错误位。据我们所知,XCopy是第一个在超低信噪比情况下对重传LoRa数据包进行相干组合的研究。
7 CONCLUSION
本文阐述了XCopy的设计原理和实现细节,通过相干组合多个重传数据包来提高弱数据包接收性能,在恶劣的无线信道上实现可靠的LoRa通信。XCopy整合了一套新颖的技术,在存在干扰数据包的情况下识别同一数据包的信号副本,并通过减轻时间、频率和相位变化的影响,准确对齐信号副本,从而确保建设性相干组合,提高信号强度。XCopy补充了LoRa通信的最新进展,它利用而不是丢弃在弱链路上接收的信号副本中隐藏的部分信息,从而将原本会被浪费的弱信号转化为超过10 dB的有价值的信号强度改进。信噪比增益可以转化为更高的吞吐量、更长的覆盖范围和更强的LoRa通信可靠性。