基于信号模板匹配的LoRa物联网信号智能检测
2023-12-15孟水仙翟春奇
孟水仙,翟春奇,尹 良
(1.内蒙古自治区无线电监测站,内蒙古 呼和浩特 010090;2.北京邮电大学 信息与通信工程学院,北京 100876)
0 引言
随着物联网的蓬勃发展,越来越多的设备和传感器被连接到互联网上,可以自动收集、分析和共享数据,帮助提高生产效率,改善用户体验。物联网信号应用非常广泛,涉及许多领域和应用场景[1]。
远距离无线电(Long Range Radio, LoRa)信号,作为物联网信号的一种,以长距离、低功耗的特点被广泛应用于各领域、各场景,比如智慧城市[2]、智慧停车[3]中的设备互联与数据收集、工业与农业物联网[4-5]中低成本监测控制、能源管理[6]中各仪表的数据收集与远程监测。随着物联网技术的不断发展,其应用领域还将不断扩大。
无线电监测是指对无线电信号进行实时监测和分析,在物联网应用中,信号监测可以保证数据传输的可靠性、提高网络效率,对物联网应用的正常运行和安全性具有重要意义[7]。信号检测是无线电监测中关键的一步,可以通过特定的算法判断信号的有无,以了解其使用情况、干扰情况和可用性。信号模板匹配[8]作为一种信号检测方法,可用于在接收到的信号中检测和定位特定的信号模式,其算法简单、直观、易于实现,在很多领域得到了广泛应用,例如雷达信号处理、音频信号处理和图像识别等[9-11]。
林肖辉等[12]对第二代自动链路建立信号(2G-ALE)提出了一种基于频谱模板匹配的2G-ALE信号自动识别方法。王琨鹏等[13]对基于模板匹配的雷达辐射源信号识别进行了研究。李靖超等[14]使用基于聚类算法的模板匹配识别多类调制方式。李璐[15]使用模板匹配滤波技术检测微弱地震信号。李琰等[16]提出了一种基于图像分割和模板匹配的短波跳频信号盲检测算法。目前使用信号模板匹配算法做特定信号识别的实例比较多,也有学者对特定信号检测运用信号模板匹配算法,但是使用模板匹配对物联网信号进行检测识别的研究较少。
本文基于信号模板匹配算法,对物联网信号中的典型信号——LoRa进行了智能检测。首先介绍了LoRa信号的相关理论,包括特定带宽与扩频因子(Spreading Factor,SF)等,其次阐述了模板匹配中的相关算法,最后基于采集到的信号数据,运用特定LoRa信号模板对复杂电磁环境中的LoRa信号做智能检测,给出了检测结果和具体信号定位信息。
1 LoRa物联网信号与模板匹配算法
1.1 LoRa物联网信号
LoRa远距离无线电是一种无线通信协议,特别适用于低功率和长距离的应用。LoRa物理层采用线性调频扩频(Chirp Spread Spectrum,CSS)调制,而CSS调制的核心是Chirp调制,以此实现在低功耗和长传输距离条件下的高可靠性数据传输。
LoRa通信中,Chirp调制采用的是线性扫频,也称为线性调频(Linear Frequency Modulation,LFM)。频率线性扫描的一个Chirp信号频率变化如图1所示。可以看出,在一个扫频周期内,信号频率f随时间呈线性变化。
图1 中心频率在fRF的线性扫频信号Fig.1 Linear sweep signal with center frequency at fRF
在图1所示的Chirp调制中,无论频率扫描方式如何,都不包含变化的信号,无法直接用来传递信息。LoRa在Chirp调制的基础上采用了CSS技术,通过改变扫频的初始频率,来实现不同信息的传递。
传递了3个符号(symbol)的频率线性扫描波形如图2所示。可以看出,传递3个符号使用不同的起始频率,当频率随时间线性增长到达频率上限时,此时CSS调制规定,在时间连续的前提下,后续的频率以频率下限为起点重新线性增长,使用不同的起始频率来传递不同的符号信息。
图2 CSS调制线性扫频Fig.2 CSS modulation linear sweep frequency
为了明确无线传输中每个符号与传输比特数的关系,LoRa定义了SF,表示每个符号中包含的信息比特数,也就是将每个符号扩频到2SF码片上进行传输,同时也将不同的符号映射到了不同的CSS调制初始频率。
Ncode=2SF,
(1)
式中:Ncode为码片数量。
同时,协议对LoRa信号带宽有着明确规定,发射LoRa信号时带宽要遵守协议规定[17]。
不同的信号带宽与SF可以组合成多种不同类型的LoRa信号来传递不同信息量的信息。
1.2 信号模板匹配算法
信号模板匹配算法是一种常用的信号处理方法,用于在一个信号中找到与一个预定义模板最相似的部分。基本思路是将模板信号与待匹配信号进行比较,计算二者特征向量的欧氏距离来衡量它们之间的相似程度,最小欧氏距离对应的模板即为最佳匹配模板,输出该模板得到匹配结果。
以8位灰度图像为例,m×n大小的模板T叠放在W×H大小的被搜索图S上平移,模板覆盖被搜索图的区域称为子图Sij,i,j为子图左上角在被搜索图S上的坐标,搜索范围1≤i≤W-n,1≤j≤H-m。假设有M个类别的信号模板T1,T2,…,TM,第k个模板Tk的特征向量为n维特征,如式(2)所示:
Tk=(tk1,tk2,tk3,…,tkn)T。
(2)
Sij的特征向量Sij与Tk同维度:
Sij=(sij1,sij2,sij3,…,sijn)T。
(3)
使用式(4)所示的欧氏距离的大小来衡量Tk和Sij的相似性,差值越小,距离越近,匹配效果越好:
(4)
计算所有M个类别的信号模板与子图Sij的欧氏距离后,若存在某一个p,使得:
d(Tp,Sij) (5) 即第p个信号模板距离子图Sij最近,则判定Tp为最佳匹配信号模板。 为了衡量信号模板与子图的相关程度,引入归一化相关系数的概念如式(6)所示,相关系数R(i,j)越接近于1,匹配效果越好,当模板和子图一致时,相关系数R(i,j)计算结果等于1。在被搜索图S中完成全部搜索后,找出R(i,j)的最大值,其对应的子图即为匹配目标,同时输出R(i,j)最大时子图所在位置的坐标,进而进行精确定位[18]。 R(i,j)= (6) 采用信号模板匹配算法对复杂电磁环境中的LoRa信号进行检测和信号定位。LoRa信号匹配模板由矢量信号发生器N5182A结合Keysight的IoT 2023物联网信号生成软件根据不同的LoRa信号带宽和SF生成,用于匹配的信号由Keysight的N9917A频谱仪采集,处理成荧光谱图后使用机器视觉图像处理的方法进行匹配与检测。数据导入到Matlab软件中,使用模板匹配算法,计算各模板与被检测信号的欧氏距离与归一化相关系数,找到相关系数最大的坐标,输出匹配结果与定位信息。系统模型如图3所示。 图3 LoRa信号模板匹配系统模型Fig.3 LoRa signal template matching system model LoRa信号匹配模板由矢量信号发生器N5182A结合Keysight的IoT 2023物联网信号生成软件根据不同的LoRa信号带宽和SF生成,根据LoRa协议规定以及IoT 2023软件中的带宽要求,可以生成的LoRa信号带宽如表1所示,LoRa信号SF如表2所示。 表1 LoRa信号带宽Tab.1 LoRa signal bandwidth 单位:kHz 由于大带宽可以提供更高的信号传输速率,相同时间内可以传输更多的信息量,同时大带宽在SF固定的情况下可以带来更高的符号传输速率,所以使用矢量信号发生器主要生成大带宽下的不同SF的LoRa信号匹配模板。带宽选择为表1中的500、812.5、1 625 kHz;SF选择表2中全部8种,最终生成的LoRa信号匹配模板如图4所示,从左到右从上到下SF依次为SF5~SF12。 (a)500 kHz LoRa信号模板 (b)812.5 kHz LoRa信号模板 (c)1 625 kHz LoRa信号模板 模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。 模板匹配具有自身的局限性,主要表现在只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。本研究对于采集的信号处理成荧光谱图后再进行模板匹配,信号荧光谱图不会发生图片旋转扭曲的情况,将模板匹配应用到信号荧光谱图中检测信号无需考虑上述劣势;信号荧光谱图除了显示频谱形状外,还可以将不用的颜色来表示不同信号出现的概率,有颜色信息,相较于频谱图只显示信号谱线,荧光谱图会包含更多的信号信息。大带宽的LoRa信号顶部平整,相较于其他环境中基本带有毛刺的信号,使用模板匹配检测信号的准确度更高,更容易与其他信号区分开,因此该方法应用于荧光谱图是十分合理的。具体算法流程如下: ① 数据预处理,待检测数据处理成信号荧光谱图,随后进行灰度图像转化。由于信号荧光谱图是衡量信号强度随频率变化的图表,同时带有概率信息,做灰度图像转换,对信号强度和频率都不会有影响。不同概率的不同颜色处理后会转换成不同程度的灰度,信息都不会损失,而且做灰度图像处理后,三维图像降维成二维灰度图像,数据量减小为1/3,使得相关算法的速度加快很多,灰度图像转换是非常有必要的[19]。 ② 确定相关参数。确定子图大小与待检测信号大小,确定粗检测步长,准备检测。 ③ 开始检测,遍历信号模板数据库,分粗检测与细检测2步。粗检测中,左右遍历步长为模板列向量数量,上下遍历步长为模板行向量数量,分别计算模板与子图的相关系数,这样可以用最小的计算量遍历整个待检测信号。找到相关系数最大的位置,以该位置为中心点向四周分别扩散一个模板大小作为细检测区域。细检测中,以粗检测输出的检测区域为基础,左右步长与上下步长分别为一个像素点,遍历整个细检测区域,计算欧氏距离与归一化相关系数。 ④ 输出检测结果。细检测结束后,找到欧氏距离最小或是归一化相关系数最大的位置作为目标位置,设置检测阈值,超过该阈值的检测为“有”,并且根据输出的归一化相关系数矩阵确定相关系数最大的位置的坐标,同时结合模板大小,将目标位置标注在待检测信号中,完成信号定位。 上述提出的信号模板智能匹配算法是对原始模板匹配算法的一种改进,结合了对智能算法的思考,引进了粗估计与细检测的思想,可以在较大程度上减少算法的运算量,降低复杂度,提高数据处理效率,在处理数据库容量比较大、待检测信号信息量比较大的检测问题上效果尤为突出。 2.2.1 仿真结果 为了检测不同干扰情况下的算法识别精准度,根据LoRa信号的不同位置,设置LoRa信号分别在无干扰、大带宽低信噪比、小带宽高信噪比3种情况下进行检测。设置最大相关系数检测阈值为0.5,运行Matlab代码,程序结果如图5~图7所示。 (a)500 kHz带宽 (b)1 625 kHz带宽 (c)812.5 kHz带宽 (a)500 kHz带宽 (b)1 625 kHz带宽 (c)812.5 kHz带宽 (a)500 kHz带宽 (b)1 625 kHz带宽 (c)812.5 kHz带宽 对3种情况下3种不同带宽的LoRa信号的检测结果,绘制如图8所示的连线散点图。 图8 3种情况下3种带宽LoRa信号检测结果Fig.8 LoRa signal detection results of three bandwidths in three cases 2.2.2 仿真结果分析 对于无干扰情况,LoRa信号与模板信号基本相同,相关系数比较高,可以很容易检测出LoRa信号,500、812.5 kHz两种带宽的LoRa信号相关系数基本超过0.9,1 625 kHz LoRa信号相关系数较低,但是也在0.8以上,检测结果较好。 对于大带宽低信噪比情况,由于信号叠加的影响,叠加后的信号与原始LoRa模板形状有些许差距,检测结果较无干扰情况略差,相关系数为0.75~0.8,3种带宽的LoRa信号检测效果基本相同。 对于小带宽高信噪比情况,由于小带宽高信噪比对原始信号产生的干扰更强,会破坏原始频谱形状,对于3种不同带宽的LoRa信号,带宽越大,对整体频谱形状产生的影响越大,检测效果从高到低依次为500、812.5、1 625 kHz,总体相关系数为0.7~0.88。 2.2.3仿真结论 由于大带宽LoRa信号的独特频谱形状,以及模板匹配方法的劣势在频谱图上不再存在的原因,由仿真结果可以看出,无论是无干扰、大带宽低信噪比还是小带宽高信噪比情况,最后的相关系数都能达到0.7以上。信号检测问题的关键是判断“有”和“无”,设置归一化相关系数检测阈值0.5,超过阈值即可判断为待检测信号中有目标信号。3种情况下的仿真结果中最大归一化相关系数都超过了 0.7,成功检测到目标信号,并且可以智能地给出模板数据库中相关性最大的LoRa模板。基于信号模板匹配的LoRa信号智能检测是可行的。 由于电磁环境日益复杂,信号种类和频谱形状也越来越多,对于高强度信号,如果LoRa信号在附近或者重叠,会对LoRa信号本身的比较规则的频谱形状产生干扰,对检测结果会产生消极影响。此时需要从信号本身的结构特点出发,找出LoRa信号与其他信号在信号本身本质上的区别。例如同样使用模板匹配算法,算法的输入可以是原始信号频谱数据而不是频谱图或者荧光谱图,亦或是在信号预处理部分,提取信号的某个或某些特征重组为一个特征矩阵,以该特征矩阵作为模板匹配算法的输入,例如雷达信号可以估计并提取脉宽、脉冲重复间隔、脉内和脉间调制方式等特征。除此之外,也可以考虑重新挑选衡量相似度的标准,比如计算欧氏距离可以考虑更换为马氏距离、夹角余弦距离等,不同的相似度衡量标准下的检测结果也不尽相同,可以综合考虑以实现对LoRa信号的高准确度检测。 本文选取物联网信号中的LoRa信号作为研究对象,使用计算机视觉图像处理领域的模板匹配算法,结合信号处理领域的荧光谱图,对LoRa信号进行检测。由于大带宽LoRa信号频谱形状的独特性与荧光谱图自身不会旋转扭曲的特点,使得模板匹配算法在LoRa信号的检测中得以发挥作用。对传统模板匹配算法进行了智能改进,引进了粗估计与细检测的想法,很大程度上降低了运算复杂度,提高了数据处理效率。从仿真结果来看,检测结果较好,使用信号模板匹配算法对LoRa信号进行智能检测是可行的。最后分析出影响该方法准确度的一些因素,并且基于信号自身特点与相似度衡量标准给出了高准确度LoRa信号检测的一些算法方向。2 基于信号模板匹配的LoRa信号检测
2.1 LoRa信号匹配模板生成
2.2 信号模板匹配算法Matlab仿真
3 结束语