一点点个人的论文解读、技术理解,难免会有错误,欢迎大家一起交流和学习~~
😀作者关于lora的系列文章从问题陈述到方法论的提出,再到实验评估,文章结构条理清晰,逻辑性强,并深入分析了LoRa信号处理的细节,太喜欢这种写作风格~~
这篇文章发表在IEEE INFOCOM 2021会议上,介绍了一种名为Pyramid的实时LoRa碰撞解码方法,该方法针对低信噪比(SNR)环境下的LoRa信号,能够有效地分离和解码发生碰撞的多个数据包。
Technology
目前的主流技术:将时域上分布的能量集中至频域的单个频点上aggregate energy in the time domain to a single frequency in the frequency domain |
本文关键技术:针对一个固定的chirp信号滑动解调时间窗,可以在时域上获得不同峰值,这些峰值将会形成一个等腰三角形 Our strategy relies on the observations that (1) the peak height of a symbol is proportional to the intersection length of the symbol and the moving window; and (2) while moving the window, the peak location also moves accordingly. For apex timestamps of consecutive chirp symbols from the same packet, their timestamp interval should be equal to the chirp length. (同一个数据包得到的顶点间隔将会等于chirp信号的长度) |
带来问题:如何在冲突存在的情况下获取峰值
|
(所以如何在消除旁瓣干扰的情况下动态识别峰值) 解决措施:结合了串行干扰消除的动态异常值检测we propose a dynamic outlier-based peak search method that finds all peaks by iterative searching and peak cancellation For each window, we first apply FFT to the dechirping result and find the maximum point as shown in Figure 4(a). Then, we examine whether the maximum point is a real peak by outlier-test. We define a point as an outlier when it is higher than M +6σ, where M is the mean of the FFT result, and σ is the variance. If the maximum point is an outlier, then it is considered a peak. Then we cancel the peak from the FFT result with the surrounding points monotonically approaching it (周围点单调逼近是什么方法??) as shown in Figure 4(b). Then we iteratively find the peaks according to the above process until no outlier point is found. 同时为了避免旁瓣泄露,本文使用了汉明窗we apply a hamming window before FFT to suppress the influence of sidelobes. 但是加窗也会扭曲频谱形状applying hamming window also distorts the height of peaks, which hurts the SNR and changes the shape of the triangle trajectory. 所以本文采用了获取两个窗的相应的频谱列表,实际上就是用汉明窗列表作为干净的频率索引,用矩形窗保留实际频率数值To address this problem, we combine the hamming window and rectangle window to derive accurate peaks. We can obtain two peak lists, one from the rectangular window (normal FFT) and the other from the hamming window. |
(所以接下来要如何在识别出峰值之后进行峰值追踪) 每次滑动时间窗口都会得到频率值,理论上来自同一个symbol的两个时刻需要满足: For each new detected peak, we first check whether it belongs to any known symbol. If the new peak satisfies Eq. (6) with the last peak in a symbol, it is considered as a peak of that symbol. Otherwise, the new peak is from a new symbol. Finally, each symbol can produce a serial of peaks in the moving windows: peaks = {(t0,h0,f0), (t1,h1,f1), ...(tk,hk,fk)}. |
(所以接下来在获取了一个symbol对应的各个峰值之后如何锁定顶点数值) 由于时间窗受限(太多的话导致计算开销过高),只有有限数量的峰值会被找到 于是本文使用了线性回归的方法we propose a constrained regression apex finding method based on the peak list. We first divide the peak list into two lists peaks1 and peaks2 based on the top two peaks, i.e., (t1,h1) and (t2,h2) where t1 <t2. The list peaks1 consists of (t1,h1) and peaks before (t1,h1), while peaks2 consists of the remaining peaks. We apply linear regression on peaks1 and peaks2 to find the least square distance. This results in two lines with opposite slopes. Then we can calculate the intersection (t∗,h∗) of the two lines as the apex. |
(然后是将符号依次对应至不同的数据包) 通过时间差的规律性和能量差异来区分符号所属的数据包,防止碰撞时符号错误分类的问题 |