Concurrent Interference Cancellation : Decoding Multi-Packet Collisions in LoRa(并行干扰消除:LoRa中多包冲突的解码)

ABSTRACT

LoRa作为一种长期的物联网技术已经被广泛采用。随着部署LoRa的数量增加,包冲突破坏了它的整体网络吞吐量。在本文中,我们提出了一种新的干扰消除技术——并发干扰消除(CIC),它可以同时解码多个相互冲突的LoRa包。CIC从根本上不同于现有的方法,因为它通过消除所有其他干扰符号来解调符号。它通过仔细选择一组子符号(原始符号的片段)来实现这种消除,这样就不会有干扰符号在该集合中的所有子符号中是共同的。因此,在解调每个子符号后,在它们的频谱上的交点抵消了所有的干扰符号。通过使用COTS设备部署LoRa,我们证明了CIC可以将标准LoRa的网络容量提高10倍,并达到4×over的最新研究成果。尽管CIC在所有情况下都是有益的,但在低信噪比的情况下,CIC具有更显著的好处,这是LoRa部署的常见情况,在这种情况下,之前的方法似乎表现相当差。

CCS CONCEPTS

网络→链路层协议;网络协议设计;

KEYWORDS

LoRa,多包冲突,干扰消除

1 INTRODUCTION

在全球范围内部署,LoRa[1]已经成为一种占主导地位的物联网连接技术,实现了智能城市[2,3]、智能农业[4,5]、工业物联网[6,7]等应用。在LoRa部署中,物联网设备分布在很大的空间范围(几个平方公里)。,向LoRa网关发送上行消息。这些信息通常是在不可预知的时间对身体感官事件作出反应时传递的。考虑到它们的大范围,几个独立管理的LoRa网络经常相互干扰[8]。因此,随着LoRa的普及,LoRa网络中的包冲突严重影响了它们的容量[9,10]。

LoRa使用啁啾扩频(CSS)调制,其中数据符号(每个数据符号编码多个比特)以啁啾信号的形式传输——频率线性增加。使用啁啾可以实现远距离通信,并提供抗干扰其他传输[11]的干扰。标准的商用现货(COTS) LoRa接收器一次只能解码一个数据包。最近,一些研究试图利用LoRa对干扰的潜在鲁棒性来解决冲突,从而提高网络容量[12-14]。

本文的关键贡献是一种新的解调技术,即并发干扰消除(CIC)1,它可以解码来自COTS LoRa设备的多个冲突包。我们的部署表明,CIC可以将网络容量提高一个因子:10×compared到LoRa网关,4×compared到最新的研究水平。

标准的 LoRa 接收器通过将每个接收到的符号与下行线性调频(频率线性下降的线性调频)相乘来“去调频”。 去啁啾将 LoRa 符号转换为具有固定频率的正弦曲线,该频率是该符号独有的。 然后使用傅里叶变换 (FFT) 来识别该频率,从而识别符号。 图 1 说明了无冲突传输 (Tx 1) 的符号 𝐶 1 的解码,其去啁啾生成频率为 𝑓 1 的正弦波
在这里插入图片描述
在多包冲突中,接收到的信号是多个干扰传输的叠加。 对接收到的符号 𝑟(𝑡) 进行去啁啾,导致多个正弦波(而不是一个)的叠加,每个正弦波的频率对应于干扰符号之一。 这个接收到的符号的 FFT 会导致多个频率的杂波。 标准 LoRa 接收器无法确定这些频率中的哪一个对应于正在解码的符号的频率。 图 2 说明了 3 个数据包冲突场景的情况。

现有技术将多包冲突解码视为匹配问题,其中检测到的峰值与其对应的发射机(如第 2 节所述)匹配,这是基于源自单个发射机的符号的独特特征。 Choir [14] 利用发射机的载波频率偏移 (CFO)、mLoRa [15] 和 CoLoRa [16] 的独特性,基于它们接收功率电平的相似性对符号进行分组。 FTrack [12] 使用滑动 STFT 根据符号的开始时间对符号进行分组。

CIC 采用独特的方法进行多数据包冲突解码。 它不是将其视为符号到发射机的匹配问题,而是消除了所有干扰符号频率,只留下一个频率峰值,即正在解码的符号的频率峰值(图 2)。 为了实现这种消除,CIC 利用符号各个子部分的频谱内容变化。

对于每个干扰传输 Tx 𝑖,当它跨越其符号边界时,前一个干扰符号𝐶 𝑖 𝑝𝑟𝑒𝑣 被下一个干扰符号 𝐶 𝑖 𝑛𝑒𝑥𝑡 替换。然而,在任何两个干扰符号转换之间,干扰符号集不会改变。

(干扰符是否等长?为什么干扰符转换干扰符号集不变)
基于这一观察,CIC 定义了子符号,即𝑟(𝑡) 的片段,其边界与传输的符号边界对齐。 CIC 通过使用前导检测确定每个接收到的 LoRa 数据包的开始来确定这些边界。由于 LoRa 网络的符号持续时间是已知的,我们推断每个数据包的开始以确定相应的符号边界。例如,在图3中,𝑟1→2(𝑡)代表𝑟(𝑡)从𝐶1开始到𝐶2𝑛𝑒𝑥𝑡开始的部分,𝑟3→4(𝑡)表示从𝐶3next开始到𝐶 1结束 .然后,CIC 选择干扰消除子符号集 (ICSS),这是一组不同的子符号,因此没有所有子符号共有的干扰符号。在我们的例子中,{𝑟1→2 (𝑡), 𝑟3→4 (𝑡)} 是一个 ICSS。 𝑟1→2 (𝑡) 受到符号 {𝐶 2 𝑝𝑟𝑒𝑣,𝐶3 𝑝𝑟𝑒𝑣 } 的干扰,因为没有一个干扰传输跨越了它们各自的符号边界。类似地,𝑟3→4 (𝑡) 受到符号 {𝐶 2 𝑛𝑒𝑥𝑡,𝐶3 𝑛𝑒𝑥𝑡 } 的干扰,因为所有干扰传输都跨越了它们各自的符号边界。两个子符号唯一的共同符号是𝐶 1,并且没有共同的干扰符号。
在这里插入图片描述
然后,CIC 选择干扰消除子符号集 (ICSS),这是一组不同的子符号,因此没有所有子符号共有的干扰符号。 在我们的例子中,{𝑟1→2 (𝑡), 𝑟3→4 (𝑡)} 是一个 ICSS。 𝑟1→2 (𝑡) 受到符号 {𝐶 2 𝑝𝑟𝑒𝑣,𝐶3 𝑝𝑟𝑒𝑣 } 的干扰,因为没有一个干扰传输跨越了它们各自的符号边界。 类似地,𝑟3→4 (𝑡) 受到符号 {𝐶 2 𝑛𝑒𝑥𝑡,𝐶3 𝑛𝑒𝑥𝑡 } 的干扰,因为所有干扰传输都跨越了它们各自的符号边界。 两个子符号唯一的共同符号是𝐶 1,并且没有共同的干扰符号。

CIC然后通过计算FFT来消除ICSS中的每个子符号的啁啾。在所有这些fft中没有共同的干扰频率峰值,因为它们没有共同的干扰符号。接下来,CIC对所有这些fft进行光谱交叉(第5.2节),这相当于光谱的集合交叉。该操作去除所有干扰符号的频率,只留下一个与待解码符号相对应的频率,如图3所示。

然而,选择较短的时间跨度子符号有一个缺点。 海森堡的时频不确定性原理 [17] 规定使用较短的时间跨度窗口将对 FFT 中的频率分辨率产生不利影响。 在较低的分辨率下,由于相近的峰相互合并或重叠,消除干扰变得更加困难。 因此,。ICSS 的不同选择提供不同级别的取消。 由于𝑟1→2(𝑡)和𝑟3→4(𝑡)的时间跨度都很小,所以这个选择不能提供最好的消除。 如第 5 节所述,在海森堡不确定性原理的指导下,CIC 选择最大化抵消的最佳 ICSS

我们已经实现了基于cic的解码作为一个python库,也在Matlab中https://github.com/osama4933/CIC。CIC的一个关键特征是,它可以对每个传输独立地逐个符号进行解码,这使得它具有极强的并行性,并适合于高效的多线程实现。
我们测试了CIC在各种室内和室外环境中的功效,同时将其性能与标准LoRa以及先前的技术状态进行了比较。我们的部署测试表明,在高信噪比的情况下,以及在接收信号强度接近或甚至低于噪声底的大范围部署中,CIC显著优于现有技术。

总之,我们做出了以下贡献。

  • 我们提出了一种新的LoRa解调技术——并发干扰消除(CIC),它可以通过消除干扰传输中的符号来解码多个LoRa并发传输。
  • 通过几个使用COTS设备的室内和室外部署,我们表明CIC显著优于LoRa (10×)以及最新的冲突解码技术。
  • 我们提供了CIC的python和Matlab实现供公众使用。

2 RELATED WORK

如第1节所述,在数据包冲突期间,LoRa解码器会看到多个峰而不是一个(图2),每个峰对应一个干扰符号。所有现有工作所采用的方法都是根据某些共同特征将所有发现的符号匹配并组合到它们相应的发射器上。

Choir [14] 利用不同发射机具有不同载波频率偏移 (CFO) 的事实,并将具有最相似 CFO 的符号分组。 FTrack [12] 通过对去啁啾信号采用滑动窗口短期傅立叶变换 (STFT),生成接收信号中各种符号的时频轨迹。它在滑动时使用一个符号持续时间的固定窗口大小,因此 FTrack 以最坏的时间分辨率为代价实现了可能的最佳频率分辨率。 FTrack 在高 SNR 情况下表现良好,但在低 SNR 情况下其精度会下降,因为其阈值无法从嘈杂的频谱图中提取准确的频率轨迹。此外,逐个样本滑动窗口会导致计算开销。继 FTrack 之后,最近的工作还利用 CSS 的数据包结构和循环性来估计消息的开始并从冲突信号中解码多个数据包 [13, 16]。 mLoRa [15] 和 CoLoRa [16] 根据接收功率电平的相似性对符号进行分组。 mLoRa 提出了一种连续干扰消除 (SIC) 技术,该技术迭代地将最高功率的符号分配给单个传输,然后将它们从下一次迭代的考虑中删除。 CoLoRa [16] 将跨窗口具有相似峰值(功率)比的符号分组到传输,并假设接收功率在整个数据包中是一致的。 NScale [13] 专注于使用非平稳缩放将数据符号与数据包匹配的低 SNR 条件下的冲突解决方案。 NScale 在一定的 SNR 范围内实现了 FTrack 的符号错误率。

与过去的方法不同,CIC通过结合从每个符号内不同部分获得的光谱来抵消干扰。现有作品和CIC之间的一个主要区别是使用了单个符号的光谱内容的时间变化。大多数现有的作品使用固定的大窗口尺寸来执行FFT;虽然这会导致高频率分辨率,但较长的窗口有有限的时间分辨率。因此,在当前的工作中,干扰符号的时序信息是不可用的。CIC选择了一组最佳的干扰消除子符号,它提供了时间和频率分辨率。

3 LORA DECODING BACKGROUND

在这一节中,我们提供了LoRa PHY层的必要背景,这在论文的其余部分中是必需的。

LoRa 中的线性调频调制。 在 LoRa 中,每个数据符号 𝐶𝜙 都是通过将基本符号 𝐶0 移动一个频率 𝑓𝜙 来导出的。 𝐶0 是一个啁啾,其瞬时频率随时间 𝑡 从 - 𝐵/2 到 𝐵/2 在符号持续时间 𝑇𝑠 内线性增加,其中 𝐵 是传输带宽。(该调制方式的具体实现?C0的频谱?以及后面的多包调制方式具体实现?)

在这里插入图片描述
在标准 LoRa 中使用去啁啾解调。 为了解调一个符号,LoRa 解调器必须估计 𝑓𝜙 。 LoRa 接收器首先通过在与符号边界对齐的窗口上将符号与下行啁啾 𝐶 0∗ (𝑡) 相乘来对符号进行去啁啾(方程 3)。 去啁啾将符号转换为恒定频率 𝑓𝜙 的正弦曲线。 𝑓𝜙 是通过定位去啁啾符号的 FFT 中的峰值来恢复的(图 1)。
在这里插入图片描述
载波频率偏移 (CFO)。 载波频率偏移 (CFO) 𝛿 𝑓 是发送器和接收器之间由于制造缺陷而产生的载波频率的微小差异。 CFO 表现为估计符号频率的不断变化,因此符号 𝐶𝜙 的峰值将位于 𝑓𝜙 + 𝛿 𝑓 。 因此,接收者必须估计并减去 𝛿 𝑓

使用 LoRa 前导码进行数据包检测。 在接收器开始解调之前,它必须首先可靠地检测新传输的开始,确定数据包内符号边界的确切位置,以便执行去啁啾和 FFT,并估计 𝑓𝜙 。 数据符号之前的前导码有助于所有这些功能(图 5)。 LoRa 前导码由 8 个连续的 𝐶0 符号组成,后跟两个同步符号 𝐶𝑥 、𝐶𝑦(𝑥 ≠ 0,𝑦 = 𝑥 + 8)和 2.25 个下行啁啾 𝐶 ∗ 0 。 为了检测新的传输,接收器不断地去啁啾并执行 FFT,直到它找到 8 个具有相同频率的连续峰值。 SYNC 字和向下啁啾然后帮助定位数据包的符号边界位置、𝛿 𝑓 估计并确认新数据包的开始。(前导码是否是混合码?若是的话是否能检测出8个联系的相同频率连续峰值,是混合码,但是经过解调以及傅里叶已经分理出)

在这里插入图片描述

4 LORA DECODING UNDER COLLISIONS

在本节中,我们将第3节的讨论扩展到多包冲突场景。

冲突期间的 LoRa 解调。在数据包冲突期间(图 8),接收到的信号是多个 LoRa 接收的叠加,每个接收在不同的时间开始,具有不同的符号边界和不同的接收功率电平。图 6 说明了在 𝑁 数据包冲突期间对来自发射机 1 的 LoRa 符号 𝐶 1 的解调。由于碰撞传输的符号边界不对齐,𝐶1具有连续两个符号部分重叠从每个干扰传输 - 𝐶𝑖𝑝𝑟𝑒𝑣和𝐶𝑖𝑛𝑒𝑥𝑡分别来自发射机2≤𝑖≤𝑁对应于解啁啾frequen CIES𝑓𝑖𝑝𝑟𝑒𝑣和𝑓𝑖𝑛𝑒𝑥𝑡 。𝜏𝑖 描绘了 1 𝑠𝑡 和 𝑖 𝑡ℎ 传输符号边界的时间差。我们假设接收器已经使用前导检测(如第 5.8 节所述)准确确定了发射器 1 的符号边界和 CFO。𝛿 𝑖 表示 𝑖 𝑡ℎ 发射机 CFO 与发射机 1 的差值。 接收信号符号 𝑟(𝑡)(在 𝐶 1 开始时𝑡 = 0),在碰撞期间由下式给出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图12描述了使用COTS LoRa设备对6个冲突传输(SF=8)的LoRa解调。红圈表示干扰信号,绿圈表示真峰。在图12中,有3个峰比对应的真峰高。这是因为,接收到的干扰信号的功率可能比被解码的信号更强。

在这里插入图片描述

5 CIC

如第 4 节所述,在发生 𝑁 数据包冲突的情况下,接收到的被解码符号的信号 𝑟(𝑡)(方程 5)除了符号之外还包括 2(𝑁 − 1) 个干扰符号的叠加 感兴趣的 (𝐶 1 )。 因此,去啁啾信号包括 2𝑁 − 1 个频率而不是一个。 CIC 利用符号频谱内容的时间变化作为干扰传输通过它们各自的符号转换。 推动 CIC 设计的关键观察是没有任何干扰符号跨越整个符号持续时间,而 𝐶 1 则跨越整个符号持续时间。

CIC 选择一组特定的子符号(被解码的符号的一部分),这样所有这些子符号中没有一个干扰符号是通用的。 这样一组子符号被视为干扰消除子符号集(ICSS)。 这意味着 ICSS 中所有子符号的唯一公共频率将是 𝐶 1 ,因为它存在于 𝑟(𝑡) 的所有子符号中。 通过估计ICSS中所有子符号的频谱并提取公共频率,CIC去除所有干扰符号,同时保留对应于𝐶 1 的频率𝑓 1 。

子符号。 子符号 𝑟𝑖→𝑗 (𝑡) 是接收到的符号 𝑟(𝑡) 的一部分,从 𝑡 = 𝜏𝑖 开始,到 𝑡 = 𝜏𝑗 结束。 回想一下,𝑡 = 𝜏𝑖 是𝑖 𝑡ℎ 传输的符号边界,当它从𝐶 𝑖 𝑝𝑟𝑒𝑣 到𝐶 𝑖 𝑛𝑒𝑥t。
在这里插入图片描述
要解码的符号的频率将出现在所有子符号中,因为它存在于整个𝑟(𝑡)。
在这里插入图片描述

干扰消除子符号集 (ICSS)。 考虑子符号集 {𝑟1→2 (𝑡), 𝑟𝑁→𝑁 +1 (𝑡)}。 𝐹 (𝑟1→2 (𝑡)) 由频率 {𝑓 1 } ∪ {𝑓 1 𝑝𝑟𝑒𝑣, · · , 𝑓 𝑁 𝑝𝑟𝑒𝑣} 组成,因为没有转换到下一个符号。 𝐹 (𝑟𝑁→𝑁 +1 (𝑡)) 包含频率{𝑓 1 } ∪ {𝑓 1 𝑛𝑒𝑥𝑡, · · ,f𝑁 𝑛𝑒𝑥𝑡 到下一个符号的所有转换}。 因此,在这组频率上没有共同的干扰符号频率。 因此,{𝑟1→2 (𝑡), 𝑟𝑁→𝑁 +1 (𝑡)} 是 ICSS 的一个例子。

一个稻草人-CIC。 为了直观了解 CIC 的工作原理,我们考虑使用 ICSS {𝑟1→2 (𝑡), 𝑟𝑁→𝑁 +1 (𝑡)} 的 Strawman-CIC。 这两个部分共同的唯一组成频率是 𝑓 1 。 因此,可以通过估计𝐹 (𝑟1→2 (𝑡)) 和𝐹 (𝑟𝑁→𝑁 +1 (𝑡)) 中的所有频率并找到𝐹 (𝑟1→2 (𝑡) (𝑡)) 来提取𝑓 1 →𝑁 +1 (𝑡))(图 9)。 正如我们在本节后面讨论的那样,Strawman CIC 的性能受到 Hiesenberg 的时频不确定性原理所规定的频谱分辨率损失的不利影响。

在这里插入图片描述

5.1 Time-Frequency Uncertainty

海森堡的时频不确定性原理指出,在短时间跨度的信号上估计频率会导致频率分辨率较差。 具体来说,使用具有较小时间跨度 𝑇𝑠/𝐾 的子符号来估计频谱,会将频谱分辨率降低到 𝐵/𝐾(𝐵 是信号的带宽,𝐾 是一个常数),从而难以区分 频率小于 𝐵/𝐾 的两个符号。

这在图 15 中进行了说明,该图显示了使用逐渐变小的时间跨度 𝜏 为具有 5 个干扰符号的信号估计的频谱。 如图 15 所示,当 𝜏 较大(𝑇𝑠/2)时,五个符号对应的五个峰值都是不同的。 然而,随着 𝜏 减小,频谱的频率分辨率降低,并且峰值在 𝜏 = 𝑇𝑠 8 处合并为单个峰值。 这种分辨率的损失会对 CIC 产生不利影响,因为当使用具有短时间跨度的子符号时,频谱估计中的峰值会相互融合。
在这里插入图片描述

5.2 Spectral Intersection(光谱交叉)

CIC试图找到ICSS中所有子符号的共同频率,由于它们的时间跨度可能不同,每个子符号都用不同的频率分辨率估计。提取光谱中频率的过程是通过检测光谱中的峰值来实现的;它需要仔细选择阈值,以拒绝噪声产生的虚假峰值,而不遗漏正确的峰值,而且可能容易出错。为ICSS中的每个谱分别寻找组成频率的峰值,然后设置交集,导致每个步骤产生的误差累积,导致较差的干扰消除。

CIC 不是分别提取每个频谱的峰值,而是首先通过计算每个频率下所有频谱的最小能量来计算频谱交集。 图 11 中说明了 Strawman-CIC 的光谱交叉,其中,在每个频率的 Φ1 和 Φ2 的光谱中取最小能量后,只剩下位于公共频率 𝑓 𝑏 和 𝑓 𝑐 处的峰值。 现在,只需执行一次峰值检测即可提取公共频率,从而使该过程不易出错。 请注意,在计算交集之前,所有估计的光谱必须归一化,以具有单位能量,以消除由于不同大小的窗口引起的缩放效应。 在本文中,我们将使用 Φ1 ∩ Φ2 来表示使用最小值的谱相交操作。
(如何提取光谱交叉?光能量?)

在这里插入图片描述
光谱相交的性质。光谱交叉有一些关键特性,CIC在其设计中加以利用。

  • P1:它是交换的和结合的,从最小运算继承而来。
  • P2:当两个光谱具有不同的频率分辨率时,操作在每个组成频率上保持较高的分辨率

关于Spectral intersection及其性质?如何查询相关的信息


图 11 中的插图提供了对属性 P2 的直观了解。 在图 11 中,Φ1 对频率 𝑓 𝑏 的分辨率估计较低,但对 𝑓 𝑐 的分辨率估计较高,而 Φ2 反之亦然。 计算频谱交叉点在每个频率处取最小值,因此保留了两个频率的最佳分辨率。

5.3 Effect of Poor Frequency Resolution on Strawman-CIC

为了激发我们的 CIC 设计,我们首先展示时频不确定性如何对 Strawman-CIC 产生不利影响。 𝑟1→2(𝑡)和𝑟𝑁→𝑁+1(𝑡)的时间跨度分别是𝜏1和(𝑇𝑠-𝜏𝑁)。 假设所有碰撞传输的符号开始时间均匀分布在区间 (0,𝑇𝑠 ) 中, 𝜏1 和 𝑇𝑠 − 𝜏𝑁 的期望值都是 𝑇𝑠 /𝑁 。因此,相应的频谱估计具有 𝐵/ 𝑁 的频率分辨率,因此很难将在此分辨率内的两个组成频率分开。图 10 说明了这种较低频率分辨率估计对 CIC 的影响,其中来自每个频率的能量在其邻域内溢出。与图 9 中所示的清晰尖峰不同,生成的频谱包含图 10 中的多个宽干扰峰,从而导致消除干扰无效。
在这里插入图片描述

5.4 Design of CIC

CIC 的目标是选择一个 ICSS,它可以最好地保留每个组成频率的频率分辨率。 这种选择不仅保留了 𝑓 1 的最大分辨率,便于提取其峰值,而且有助于大幅消除其他干扰峰值

如何以最好的分辨率取消特定的干扰传输 。干扰频率 𝑓 𝑖 𝑝𝑟𝑒𝑣 存在于整个 𝑟(1→𝑖)(𝑡) 部分 - 时间跨度为 𝜏𝑖 。因此,𝑓 𝑖 𝑝𝑟𝑒𝑣 的最大可实现频率分辨率可以在频谱估计 Φ(𝑟1→𝑖(𝑡)) 中获得,由 𝐵 (𝜏𝑖/𝑇𝑠) 给出。同样,𝑓 𝑖 𝑛𝑒𝑥𝑡 的最佳频率分辨率是从频谱估计 Φ(𝑟𝑖→𝑁 +1 (𝑡)) 中获得的,由 𝐵 (𝑇𝑠−𝑏𝑖)/𝑇给出。如图 16 所示,𝐹 (𝑟1→𝑖(𝑡)) 没有 𝑓 𝑖 𝑛𝑒𝑥𝑡 因为传输只在𝑡 > 𝜏𝑖切换到𝑓 𝑖 𝑛𝑒𝑥𝑡。此外,Φ(𝑟1→𝑖(𝑡)) 和 Φ(𝑟𝑖→𝑁 (𝑡)) 对于𝑓 𝑖 𝑝𝑟𝑒𝑣 和𝑓 𝑖 𝑛𝑒𝑥𝑡的频谱也将具有最高可能的频率分辨率(根据P2性质)。Φ(𝑟1→𝑖(𝑡)) ∩ Φ(𝑟𝑖→𝑁 +1 (𝑡)) 将删除𝑓 𝑖 𝑝𝑟𝑒𝑣 和 𝑓 𝑖𝑛𝑒 可能的最大分辨率。

在这里插入图片描述
ICSS 的最佳选择。 CIC 使用 2𝑁 − 1 个子符号构造 ICSS,包括所有对𝑟1→𝑖(𝑡)、𝑟𝑖→𝑁 +1 (𝑡) 用于 2 ≤ 𝑖 ≤ 𝑁,最后是 𝑟(𝑡) 本身。 每一对,𝑟1→𝑖(𝑡),𝑟𝑖→𝑁 +1 (𝑡) 以相应的最高频率分辨率取消𝑖 𝑡ℎ 传输。 根据频谱交叉点的属性 P1 和 P2,计算 ICSS 上的频谱交叉点将消除所有频率的最高可能频率分辨率。 最后,包含 𝑟(𝑡) 确保以尽可能高的分辨率恢复 𝑓 1。 因此,CIC 计算光谱交点为,
在这里插入图片描述
为了直观地了解CIC如何去除干扰符号,图12、13和14分别描述了使用标准LoRa、straw -CIC和CIC的COTS LoRa设备对6个冲突传输(SF=8)的解调。红圈表示干扰信号,绿圈表示真峰。在图12中,四个干扰峰的能量比被解码符号对应的真峰高。这是因为,接收到的干扰信号的功率可能比被解码的信号更强。虽然Strawman-CIC确实消除了一些干扰符号,但由于缺乏频率分辨率而受到影响(图13)。然而,CIC能够提取正确的频率,同时保持最高的频率分辨率
在这里插入图片描述

5.5 Extent of CIC Cancellation

在本节中,我们将尝试回答“CIC 可以提供多少取消以及取决于哪些因素?”的问题。 两个事件的结合使取消变得困难。 首先,干扰符号在很大程度上与感兴趣的符号重叠(𝑀𝑖𝑛(𝜏𝑖,𝑇𝑠 − 𝜏𝑖)很小)。 其次,符号的啁啾起始频率非常接近。 因此,干扰符号的接近时间接近度Δ𝜏和频率接近度Δ𝑓的组合对消除产生不利影响。 对于具有起始啁啾频率 𝑓 1 的符号,我们定义 Δ𝜏 和 Δ𝑓 ,从频率 𝑓 的符号为,
在这里插入图片描述

可以分析计算 CIC 的抵消程度,但是,由于空间不足,我们避免呈现它。 图 17 描述了 CIC 可以在多大程度上消除特定符号作为 𝑆𝐹 = 8 的 Δ𝜏 和 Δ𝑓 的函数。如图 17 所示,而当 Δ𝜏 /𝑇𝑠 = Δ𝑓 /𝐵 = 0.5 时,消除可以高达 20dB。当这两个值都接近 0 时,几乎没有抵消。当这些值达到 0.1 时,抵消增加到 5dB。 这表明即使在 CIC 之后,一个或多个峰值也可能仅被部分抵消,并且在强干扰传输的情况下,它们可能难以丢弃。
在这里插入图片描述

5.6 Spectral Edge Difference (SED)光谱边缘差

当 Δ𝜏 和 Δ𝑓 较小时,CIC 可能只能部分取消某些符号。 这可以在图 14 中看到,其中对应于 𝑓 1 的峰值是显着的最高峰,但仍然存在一些具有高发射功率的干扰峰值(由红色圆圈表示)。 在这种情况下,CIC 有不止一位潜在候选人,CIC 必须从中挑选一位。 为此,CIC 计算频谱边缘差异 (SED),即每个候选频率的 𝑟(𝑡) 左右半部分候选频谱能量的绝对差。 然后它选择具有最小值 SED 的频率。 计算 SED 背后的关键直觉是,仅当 𝑓 1 时 SED 为零,因为与干扰符号不同,该频率在整个符号中均匀存在。

我们在图 18 中说明了对符号 𝐶 𝑖 𝑛𝑒𝑥𝑡 的直觉。令𝐸𝑖 是𝑖 𝑡ℎ 数据包中每个符号的总能量(基于接收到的信号强度)。 𝑟𝑙ℎ(𝑡)和𝑟𝑟ℎ(𝑡)分别代表𝑟(𝑡)的左右两半。由于𝐶𝑖𝑛𝑒𝑥𝑡存在于𝑟𝑙ℎ的总持续时间是𝑇𝑠/2-τ𝑖,对应于𝑓𝑖𝑛𝑒𝑥𝑡由λ𝑙ℎ表示的峰值能量为
在这里插入图片描述
𝑓 𝑖 𝑛𝑒𝑥𝑡 连续存在于整个右半部𝑟𝑟ℎ (𝑡),因此,这半部的峰值能量为:

在这里插入图片描述
计算SED 表示我 Λ(𝑓 𝑖 𝑛𝑒𝑥𝑡):

在这里插入图片描述
在这里插入图片描述
因为,𝑓 1 完全存在于两半中,所以𝜆𝑟ℎ (𝑓 1 ) = 𝜆𝑙ℎ (𝑓 1 ) = 𝐸/2和 Λ(𝑓 1 ) = 0。SED 利用这个差异和最少选择Λ(𝑓s) )。

在这里插入图片描述
为了使SED估计稳健,而不是仅仅依赖于单个对(左和右),在实际应用中,CIC 在来自左端和右端的信号(我们的实现中为 10)上使用了多个跨度滑动窗口(𝑇𝑠/ 2 ) 符号并计算它们的频谱交集。
在这里插入图片描述

5.7 Using Additional Features in CIC

先前的工作利用了每个数据包的 CFO [14] 和接收功率 [16] 等特征的独特性来对符号进行分组。 这些功能还可用于在有多个候选符号的情况下挑选出合适的符号。 我们从前导码中估计 CFO 和 RSSI(如第 5.8 节所述),并将它们用作附加特征来过滤掉部分消除的干扰符号。 在我们的实现中,我们使用 Choir [14] 中的技术来估计每个候选符号的分数 CFO,并消除分数 CFO 误差超过 𝐵/(4∗𝑆𝐹) 的符号。 我们使用 16x FFT 而不是 256x FFT,因为我们发现它在不牺牲性能的情况下计算效率更高。 同样,我们也过滤接收功率与前导中估计值偏差超过 3dB 的符号。 在我们的评估中,我们检查了与基本 CIC 相比,这些功能中的每一个所带来的改进。

5.8 Down-Chirp Based Preamble Detection

如第 3 节所述,LoRa 中的前导码检测利用其重复结构并搜索 8 个连续的 𝐶0 符号序列。 在发生冲突时采用这种方案的一个关键挑战来自这样一个事实,即 LoRa 中的所有数据符号以及 SYNC 符号都只是 𝐶0 的频移版本。 因此,来自正在进行的并发传输的数据符号会干扰前导码,产生杂乱的峰值,导致前导码检测错误。
为了深入了解这种混乱,图 19 描绘了由于正在进行的并发传输而导致的新数据包前导检测期间的峰值混乱。
在这里插入图片描述
在我们的实现中,我们采用了一种不同的方法来搜索前导码中的两个向下啁啾。
推动这一选择的关键是下行啁啾与 𝐶0 不相关,因此与正在进行的并发传输中的数据符号不相关。 因此,为了检测前导码,我们改为与下行啁啾 𝐶 ∗ 0 相关联,并寻找两个连续的峰值。 图 20 描绘了使用向下啁啾检测到的峰值。 比较图 19 和 20,使用向下啁啾可以显着清除杂波峰。 找到两个下行 chirp 后,为了确认前导码,我们通过使用与标准前导码检测一样的上行 chirp 来检测前面的 8 𝐶0 序列和两个 SYNC 字。 与现有方法相比,该方法除了改进前同步码检测之外,还降低了考虑由来自正在进行的干扰传输的数据符号产生的所有峰值的计算复杂度。(如何具体实现的?公式?)

在这里插入图片描述
CFO 和接收功率的估计。 如第 5.7 节所述,CIC 的性能通过使用 CFO 和接收功率来过滤部分消除的符号来提高。 为了实现这一点,对于每个检测到的前导码,我们通过对所有前导码向上啁啾符号求平均值来估计CFO(如Choir [14])以获得稳健的估计,并为所有正在进行的传输维护一个CFO 列表。 类似地,我们还估计每个前导上行啁啾符号的 FFT 峰值高度,并对它们求平均值以获得可靠的估计。 这些峰值高度也以与 CFO 类似的方式保持。

6 IMPLEMENTATION

CIC在LoRa网关实现,不需要对COTS LoRa传感器设备进行任何更改。我们设想,在C-RAN[18]架构的情况下,CIC要么与基于软件定义的无线网关共同位于边缘,要么作为云中的虚拟网关。通常,LoRa接收器包括三个可分离的部分——无线电前端、解调器和解码器,如图21所示。无线电前端接收无线电波并将其转换为原始的数字基带样本。解调器负责前导检测,并将原始样本转换为LoRa符号。最后,解码器根据LoRa标准规范中的去交织、前向纠错(FEC)和循环冗余校验(CRC)将得到的LoRa符号映射为位。
在这里插入图片描述
电台前端。我们使用USRP b200[19]作为2MHz带宽的无线电前端。通常,接收信号被过采样,即所采用的采样率明显高于所需的奈奎斯特速率(4-10×),以实现更好的平均。由于我们的COTS设备配置为250khz带宽,所以我们有8倍的过采样。然后将接收到的样本输入解调器。

需要不同的解调器和解码器模块。CIC取代了标准的LoRa解调器,用于前导检测和将样本转换为符号。由于标准的LoRa解码器期望一次只接收一个包,解码器和解调器通常集成到一个单独的实现中。与标准的LoRa不同,CIC可以处理并发传输,从而产生多个符号流,每个包同时有一个符号流。这意味着可能需要多个解码器并发地处理单个样本流的输出。因此,我们为解调器和解码器提供了单独的实现。

解调器。我们在Matlab、GNU Radio[20]和Python三种不同的环境中实现了CIC解调器。Matlab通常是大量通信研究人员的首选,因为它允许快速试验、修改、模拟和实验来获得经验。对于实验性部署和试验,GNU Radio是一个流行的选择,因为它允许通过GUI快速配置接收器。我们已经实现了CIC解调器作为一个GNU无线电块。最后,我们的python实现对于在云中作为C-RAN模块或在网关边缘进行实际部署非常有用。我们还提供实验中收集的数据集进行测试和验证。

译码器。由于解码器需要符合LoRa,我们修改了rppo/gr-lora[21],一个流行的、开源的GNURadio块LoRa接收。由于解调和解码集成在rpp0中,我们提取了解码器c++代码,并为解码器创建了一个独立的GNU Radio模块,该模块将符号作为输入,输出位元。这允许研究人员混合和匹配解码器与不同的解调器,并解码多个包并发。、

Lora设备。我们使用了市售的LoRa发射机- Adafruit Feather M0 RFM 95[22]。这些设备允许我们使用使用Arduino Library RadioHead[23]配置各种传输参数,如传播因子(SF),带宽(BW),编码率。

7 EV ALUATION

在本节中,我们评估和演示CIC的功效。我们回答以下问题。

  • 与标准LoRa以及最先进的技术相比,CIC如何提高网络容量?
  • CIC在室内/室外、低/高噪音和Los/NLoS场景下的表现如何?
  • 使用基于下啁啾的前导检测如何改善包检测比传统的前导检测技术?
  • 类似CFO和Received Power等这些额外的甄别特征如何提高CIC 的表现性能?
  • 数据包冲突的时间接近如何影响CIC消除干扰的能力?

7.1部署和实验设置

为了在不同的条件下测试CIC,如高/低信噪比、室内/室外、LoS/NLoS,我们在如下所述的四种不同测试部署中评估了CIC。每个部署由20个lora设备(圆形)和一个网关(三角形)组成。

D1:小室内空间-高信噪比,LOS。
所有的先进技术在高信噪比和低信噪比场景中发挥最大的作用。为了提供最先进的技术,我们在一个大型实验室中部署了20个LoRa节点(图22,图26)。如图27所示,器件接收到的信噪比约为30-40dB,且均在视线范围内。

在这里插入图片描述
在这里插入图片描述
D2:占地面积小-高信噪比,NLOS。接下来,我们评估室内空间地板上的CIC(图23)。这些节点被卡在6英尺高的墙上,有些在房间里,有些在外面。这里接收到的信噪比也在30-40dB之间(图27),然而许多设备并没有享受到网关的直接视线。

D3:占地面积大-低信噪比,NLOS。尽管许多最先进的技术在低信噪比的情况下举步维艰,但CIC仍表现良好。在这种部署中,我们选择了一个大的地板空间(图24)。不同设备的接收信噪比在5dB到30dB之间存在显著差异(图27),大多数设备没有视线。这种部署代表了现实的大规模室内部署。

D4:户外广域部署-低噪音,NLOS。为了在实际的广域户外场景中测试CIC的性能,受智能路灯应用的推动,我们在2平方英尺的区域内将LoRa设备部署在路灯上。城市环境中的Km,如图25所示。在这种部署中,我们的大多数分组接收都低于噪音下限,信号强度波动是常见的,因为行人和车辆经过(图27)。因此,CIC在这次部署中受到了最大的考验。

交通生成和实验方法。交通物联网是为了响应不可预测的随机物理事件而产生的,例如 到达停车场的汽车通常被建模为泊松 [24, 25] 到达。 因此,在我们的实验中,设备被配置为以指数分布的间隔生成数据包。 每个传感器节点生成一个指数分布的随机变量 Δ𝑇 ( 𝑝𝑑 𝑓 (Δ𝑇 ) = 𝜇𝑒−𝜇Δ𝑇 ) 以确定发送下一个数据包的时间间隔。 为了在网络中以 𝑅 数据包/秒的聚合速率生成泊松流量,我们选择 𝜆 = 𝑅 20,因为我们在每个部署中都有 20 个节点。 为了记录实际传输的数据包数量,我们记录了每个节点的传输。 最后,正确接收的数据包的数量(基于所有正确的位)衡量网络吞吐量。

每个设备被配置为以SF=8、BW=250KHz、4/5编码率、持续45ms的持续时间发送具有28字节随机生成数据包的数据包。 有趣的是,这些选择是 LoRa 部署中最受欢迎的选择。 因此,单个设备每秒最多可以连续传输 22 个数据包。 我们通过将 𝜆 从 0.25 Pkts/sec 更改为 5 Pkts/sec 来测量每个实验中的网络容量,从而将聚合速率 𝑅 从 5 Pkts/sec 增加到 100 Pkts/sec。 USRP B200 用于以 2 MHz 采样率收集接收到的样本,为我们提供 8 倍过采样。 在每次部署中,数据包以每个速率传输 1 分钟。 因此,在 100 Pks/sec 的最高速率下,总共传输了 6000 个数据包,而在 5 个数据包/秒的最低速率下,传输了 300 个数据包。

与先进技术的比较。我们将CIC的表现与标准LoRa作为基线,以及两种流行的研究现状——Choir[14]和FTrack[12]进行了比较。
Choir可能是LoRa中对多包冲突解码的第一个重大努力。据我们所知,FTrack在所有现有文献中表现最好。我们感谢FTrack的作者为我们提供了他们的实施和支持。我们在文中描述的基础上实现了Choir。

7.2网络吞吐量

图28、29、30、31描述了当网络流量从5 Pkts/sec增加到100 Pks/sec时,每秒成功接收数据包的数量。注意,由于在我们的部署中每个包持续45毫秒,允许最大22 Pkts/秒,如果单个节点背靠背传输,最大100 Pkts/秒的速率为5×比任何单个节点可以传输的速率都要高。
在这里插入图片描述
D1:高信噪比,LoS。这个场景为所有方案提供了最好的怀疑,并确定了它们的性能限制。从图28中可以看出,CIC的表现明显优于FTrack (4×)、standard LoRa (5×)和Choir。当总网络流量为100 Pkts/sec时,CIC能够解码45 Pkts/sec, 2×greater大于22 Pkts/sec(任何单个节点的最大可能)。标准LoRa能够实现大约8 Pkts/sec的最高吞吐量,大约是22 Pkts/sec(最大)的三分之一。FTrack性能优于标准LoRa,在总速率为50 Pkts/sec时(提供负载的25%)达到约12 Pkts/sec。然而,在聚合网络速率大于50 Pkts/sec时,其性能下降;这是由于碰撞的增加,这反过来又导致大多数包重叠的碰撞几率更高。在这种情况下,FTRack由于频率分辨率较低,无法区分相应的频率轨迹。

D2,D3:高/低信噪比,无视距。在这种情况下,CIC的表现也明显优于FTrack、LoRa和Choir 4倍。CIC能够接收大约40 Pkts/sec,略低于高信噪比,LoS场景。标准LoRa的性能是一致的,几乎与高信噪比场景相同,因为它成功捕获了高信噪比的包在冲突的情况下。正如FTrack的作者自己声称的那样,FTrack无法检测到低信噪比的数据包,尤其是在有更强发射器的情况下。因此,FTrack在低信噪比情况下性能下降。

D4:广域部署-低噪音,NLOS。由于接收的信噪比低于噪声水平,这种部署压力对每个方案都进行了最大程度的测试。中投公司在这一机制上的表现非常出色,提供了几乎10×the的标准LoRa吞吐量。正如预期的那样,FTrack无法解码这些信噪比和完全失败。choir和标准lora遭受严重的包损失,由于低信噪比和碰撞。奇怪的是,LoRa的净吞吐量在较高的总速率下略有增加。这是因为,网关成功地捕获了更多具有更高信号强度的包,而这些包中的大多数来自于聚合速率在增加的发射器的一个小子集。

结论。从以上实验中可以看出,CIC的性能显著优于FTrack以及其他方案(4×),特别是在广泛的区域部署中,接收信号的强度可以低于噪声水平,达到10×gains左右。CIC的这种优越性能源于其采用海森堡时频不确定原理的干扰消除机制。

7.3前导检测精度

使用前导码进行数据包检测是解码数据包的第一个也是最关键的步骤。 如第 5.8 节所述,CIC 将常用的前导检测使用向上 chirp 修改为使用向下 chirp。 在本节中,我们提出问题“CIC 的数据包检测在数据包冲突场景下如何执行并与传统方法进行比较?” 无花果。 图32、33、34、35示出了包检测率,包检测的数量(不一定正确解码)与传输的包的总数的比率,对于每个部署和聚合传输率。 我们将 CIC 的检测性能与 FTrack 和标准 LoRa 的检测性能进行了比较。 我们无法比较 Choir 的前导检测,因为作者没有在他们的论文中描述他们的前导检测; 在 Choir 的实现中,我们因此假设 Choir 的标准基于 LoRa 的数据包检测。
在这里插入图片描述
D1:高信噪比,LoS。如图32所示,随着网络总流量(即包冲突率)的增加,CIC的性能稳定地优于FTrack约20%。标准LoRa的包检测速度很快,随着网络中传输的聚合包的增加而降低。

D2:高信噪比,无视距。随着信噪比的降低,CIC和FTrack的包检测率都受到影响,但CIC的性能仍然较好,其差值超过20%。

D3:低信噪比,无视距。随着信噪比的进一步降低,FTrack的包检测率完全陷入混乱,实际上在高聚合网络流量场景下,FTrack的包检测率低于标准LoRa。然而,即使在聚合网络流量非常高的情况下,CIC也能提供接近80%的检测

D4:亚噪声信噪比,NLoS。在这种部署中,FTrack根本无法检测数据包,而标准LoRa的检测率约为5%。尽管CIC的序言检测性能下降,但它在低流量场景下仍提供高达80%的性能,在高流量场景下提供高达50%的性能。

结论。基于此分析,使用下啁啾作为包检测的第一步,显著提高了冲突情况下的包检测率,特别是在低、亚噪声信噪比的情况下,这是实际中室内外LoRa部署中常见的情况。

7.4 CIC附加特性的影响

如第2节所述,现有的工作依赖于利用不同于发射机的各种鉴别特征(如接收功率和CFO),对来自同一发射机的符号进行分组。正如在第5.7节中讨论的,当CIC不能充分地消除候选频率时,CIC利用了两个额外的特性——接收功率和载波频率偏移(CFO),来过滤掉候选频率。在本节中,我们将提出这样一个问题:这些额外的特性对中投的整体表现有多大贡献?为此,我们使用了四个不同版本的CIC。

CIC:将接收功率和 CFO 都包含为区分特征的 CIC 的实现。

CIC-(CFO) :仅使用接收功率实现 CIC,即没有 CFO 作为区分特征。

CIC-(Power) :CIC 的实现,只有 CFO,即没有接收功率作为附加功能。

CIC-(Power, CFO) :CIC 的实现,没有 Received Power 或 CFO 作为区别特征

在这里插入图片描述

图36和37分别描绘了在部署D1和D4中为这些选项中的每一个获得的聚合网络吞吐量。

**D1(高 SNR,LoS)**代表 CIC 的最简单场景,D4(室外,SubNoise SNR,NLoS)最难。 因此,这两个代表了两种极端情况。 D1。 如图 36 所示,使用接收功率和 CFO 作为区分特征,CIC 增益约 20%。 然而,大多数这些收益是由于接收功率特性而不是 CFO。 使用 CFO 对 CIC 的帮助很小,约为 2%,而使用 Received Power 对 CIC 的帮助接近 18%。

D4. 从图 37 中可以看出,即使净达到的吞吐量较低,由于这些特性中的每一个,相对增益(以百分比表示)几乎相同。 结论:接收功率作为一项功能对 CIC 的帮助最大,并提供接近 18% 的增益。 虽然 CFO 也协助 CIC,但它的作用相当温和,约为 1-2%。

7.5时间近距离碰撞效应

如第 5.5 节所述,CIC 可以有效地消除符号边界相距很远的传输。在本节中,我们尝试了解 CIC 如何受干扰符号边界的邻近性影响。由于同步两个 COTS LoRa 设备以在样本级别精度内进行传输很困难,因此我们依赖于模拟。在我们的模拟中,我们生成带有随机位的数据包,并像 LoRa 发射器一样生成原始信号。然后我们超级施加两个具有不同子符号时间偏移(< 1ms)的这样的数据包。我们以符号的 10%(≈ 100𝜇s)为增量增加时间偏移。然后我们使用我们的 CIC 实现来恢复每个数据包中的所有符号并测量符号错误率。为避免噪声影响,信号以 30dB SNR 生成。图 38 描绘了符号错误率 (SER) 作为符号间间隔 Δ𝜏 作为符号时间 𝑇𝑠 的一部分的函数的依赖性。如图所示,当 Δ𝜏 𝑇𝑠 > 0.1 时,CIC 能够有效地抵消。由于两个冲突的数据包接近符号时间的 10%,CIC 开始体验高 SER。

8 CONCLUSION

在这项工作中,我们提出了并行干扰消除技术,一种新的解调技术,在LoRa接收机上并发解码多个冲突包。CIC通过选择最优的子符号集来消除干扰符号。CIC将以前在LoRa包冲突方面的工作作为附加特性合并。使用20个COTA LoRa发射器和USRP作为网关,在真实的室外和室内部署中实现了CIC,与标准LoRa接收器以及最先进的研究工作相比,在网络吞吐量性能方面有显著的改进。我们表明,CIC对LoRa设备的信噪比变化是稳健的,使它适合于实际的LoRa部署。这项工作没有引起任何道德问题。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值