基于遥控信号频谱特征的无人机识别算法
2019-01-16陈君胜杨小勇徐怡杭
陈君胜,杨小勇,徐怡杭
(1.甘肃省无线电监测站,甘肃 兰州 730000;2.国家无线电频谱管理研究所有限公司,陕西 西安 710061;3.西北工业大学 电子信息学院,陕西 西安 710072 )
0 引言
随着无人机的快速发展与普及[1-3],非法无人机入侵问题越来越受到各国的关注,如何更快、更精确地实现对无人机的识别是无人机反制的重要前提[4-6]。
现有的通过无线电频谱监测识别无人机的方式,理论上可以实现对非法无人机较大范围地连续监测,且发现目标较早,便于及时采取反制措施[7-8]。目前主流的无人机遥控信号基本都采用了跳频扩频技术,遥控信号常用的2.4 GHz等频段已十分拥堵,又因为其频率跳变的高速性、变频方式的多样性和所在频谱环境的复杂性[9-11],使得现有的无线电频谱监测方法往往难以实时、准确地检测到无人机遥控信号,非法无人机监测难以取得令人满意的效果[12]。因此,本文算法基于遥控信号频谱特征对非法无人机进行识别,通过背景频谱模板学习(WIFI与图传信号检测)、无人机跳频与定频控制信号检测、机型判断及机型特征参数学习3个模块来确保对非法无人机识别的准确性、实时性与抗干扰性。
1 算法基本思想
基于遥控信号频谱特征的非法无人机识别算法的基本思想分为以下3个过程实现对非法无人机的精确识别:
① 对背景频谱进行学习。首先通过对预设中心频率前后共计100 MHz带宽进行N次频谱快拍,得到频谱矩阵Data(N×K)(其中N为快拍次数,K为一次频谱快拍中包含的频点数);然后通过求二次平均、最小二乘线性拟合得到信号检测阈值TH;最后将频谱矩阵Data(N×K)中检测到的宽带WiFi与图传信号映射到二值化背景频谱模板ModelArray-Final(1×100)(存在WiFi或图传信号的频点置1,其余置0),用于屏蔽宽带对无人机遥控信号检测的干扰。
② 对无人机跳频与定频遥控信号检测。首先利用背景频谱学习得到的信号检测阈值TH和二值化背景频谱模板ModelArrayFinal(1×100),然后通过寻找有效峰值Pk及其带宽判断,将频谱矩阵Data(N×K)中的所有的有效峰值一一映射到二值化跳频检测矩阵DetectArray(N×100)中(存在有效峰值Pk的频点置1,其余置0)。然后根据二值化跳频检测矩阵DetectArray(N×100)计算跳频次数Hoptimes,并定义N行中存在有效峰值的行数为t_value,最后将t_value,Hoptimes与最低门限值t_valuemin,Hoptimesmin比较,从而识别出当前是否存在无人机。
③ 机型判断及机型特征参数学习(UAVparameters)。如果检测到该时段存在无人机跳频遥控信号,则利用DetectArray(N×100)得到机型判断矩阵JudgeArray(1×100),并由JudgeArray(1×100)计算出无人机机型特征参数(UAVparameters),最后通过比对已有的无人机机型特征参数,即可判断出无人机机型。其中,机型特征参数学习是通过学习出已知型号的无人机的机型参数,并将其录入无人机机型特征数据库,用于比对未知无人机的机型特征参数。每读入一个频谱矩阵Data(N×K)就会给出一次无人机识别结果。
2 算法建立过程
2.1 背景频谱模板学习
步骤1:求信号检测阈值TH。首先求频谱矩阵Data(N×K)中每一行频谱数据功率的初次平均值,其表达式为:
(1)
(2)
接着求第2次功率的平均值:
(3)
(4)
式中,ΔTh为常参数。
(5)
式中,c0,c1为待求参数,可构成矛盾方程组[14]为:
A·x=b,
(6)
(7)
将式(6)两边同乘以AT可得其正规方程组[16]为:
ATA·x=ATb。
(8)
步骤2:构造二值化频谱模板矩阵Model-Array(1×100),初始化为全0。首先对频谱矩阵Data(N×K)的每一行的每MHz频点值进行检索,如果某MHz中在信号检测阈值TH以上的频点数大于0.3F(F为每MHz中包含的频点数),则将对应的ModelArray(1×100)频点处值加1,对频谱矩阵Data(N×K)进行N行逐点检索完成后,再对二值化频谱模板矩阵ModelArray(1×100)进行逐点检索,若某频点值大于Model_min,则将其值置为1,反之则置为0,其中Model_min为常参数。
步骤3:建立WiFi与图传信号检测方法,构造最终的二值化模板矩阵ModelArrayFinal(1×100),初始化为全0。首先对二值化频谱模板Model-Array(1×100)逐点检索,每当检测到该频点值为1,就判断从该位置开始的10 MHz所包含0的个数,若0的个数不大于1个,则认为该位置存在带宽超过10 MHz的图传或WiFi信号,反之则认为不存在。若检测到带宽超过10 MHz的图传或WiFi信号,将ModelArrayFinal(1×100)矩阵对应的10 MHz频点置1。至此得到最终的二值化模板矩阵Model-ArrayFinal(1×100),完成背景频谱模板学习。
2.2 无人机遥控信号检测
前面通过分析计算得到了最终的二值化模板矩阵ModelArrayFinal(1×100),完成了对背景频谱模板的学习,实现了对WiFi与图传信号检测。下面在此基础上要对无人机遥控信号进行检测,从而实现对无人机有无的识别。同样分为以下3个步骤:
步骤1 需要寻找有效峰值Pk以及计算其带宽。基本思路是利用背景频谱学习模板和信号检测阈值TH,在频谱矩阵Data(N×K)中的每一行寻找有效峰值Pk,并计算其带宽Width。
有效峰值Pk定义:记某一帧频谱图的第n个频点的功率值为Datan,n∈(2F,S-2F),其中F为每MHz带宽包含的频谱点数。若Datan同时满足式(9)、式(10)和式(11),则称该Datan是有效峰值,记Datan为Pk,同时记其对应的位置n为lpeak。
TH≤Datan-2≤Datan-1≤Datan≥Datan+1≥
Datan+2≥TH,
(9)
Datan= max(Datan-2F,Datan-2F+1,...,
Datan+2F-1,Datan+2F),
(10)
ModelArrayFinal「100n/K⎤=0。
(11)
式(9)是判断Datan是否大于阈值TH且大于其前后两点的功率值;式(10)是判断Datan是否为该频点前后4F个频点的功率的最大值;式(11)是判断二值化模板矩阵ModelArrayFinal(1×100)对应的频点是否被屏蔽(若为0,则未被屏蔽,反之则已屏蔽)。
由式(12)可得到此帧频谱图中的每个有效峰值Pk对应的3 dB带宽Width:
(12)
式中,lleft,lright分别指功率值距0.5Pk最近的2个频点的横坐标。
步骤2 由得到的有效峰值Pk及其对应的3 dB带宽Width,构造二值化跳频检测矩阵Detect-Array(t_value×100)及信号带宽判断矩阵Width_3dB(1×3)。当频谱矩阵Data(N×K)中某行频谱数据包含有效峰值Pk时,则认为该行频谱数据为有效频谱数据,记频谱矩阵Data(N×K)中有t_value行有效频谱数据,并将t_value行有效频谱数据映射为二值化跳频检测矩阵DetectArray(t_value×100)矩阵,其映射关系如下:
若某行频谱数据中某个有效峰值Pk的3 dB带宽Width∈[0.3,1.6),则对跳频信号带宽判断矩阵的Width_3 dB(1)加1,并将二值化跳频检测矩阵DetectArray(t_value×100)对应频点置1;
若某行频谱数据中某个有效峰值Pk的3 dB带宽Width∈[1.6,2.7),则对跳频信号带宽判断矩阵的Width_3 dB(2)加1,并将二值化跳频检测矩阵DetectArray(t_value×100)对应频点置1;
若某行频谱数据中某个有效峰值Pk的3 dB带宽Width∈[2.7,3.7),则对跳频信号带宽判断矩阵的Width_3 dB(3)加1,并将二值化跳频检测矩阵DetectArray(t_value×100)对应频点置1;
特别地,若某行频谱数据中的某有效峰值Pk的带宽Width∈[0,0.3)∪[3.7,+∞),则忽略该有效峰值Pk,若某帧频谱图中所有的有效峰值均被忽略,则将有效频谱数据行数t_value减1。
将信号带宽判断矩阵Width_3dB(1×3)最大值对应的下标记为跳频信号带宽(Width3dB)。
步骤3 提取跳频次数Hoptimes特征(初始化为零),并判断是否存在无人机遥控信号。由式(13)可提取二值化跳频检测矩阵Detect-Array(t_valuex100)中包含的跳频次数Hoptimes:
(13)
提取跳频次数Hoptimes后,建立无人机遥控信号是否存在的判断标准如下:
① 若t_value≥t_valuemin且Hoptimes≥Hoptimesmin,则判断检测到无人机跳频遥控信号,继续第②步和第③步;
② 若t_value≥t_valuemin但Hoptimes≤Hoptimesmin,则判断检测到定频遥控信号,显示结果,结束本次识别;
③ 若t_value≤t_valuemin,则判断未检测到无人机遥控信号,结束本次识别。
其中,t_valuemin和Hoptimesmin为常参数。
2.3 机型特征参数学习及机型判断
为了识别目标无人机的机型,需要构造无人机机型特征矩阵NewArray(1x100),并对其进行无人机机型特征参数(UAVParameters)提取与学习,进而准确判断出无人机的机型。无人机机型特征参数(UAVParameters)包括:中心频率[17](Centerfrequency)、跳频信号带宽[18](Width3dB)、遍历点数(Ergodic)、跳频范围最大半径(Radius)。其中,跳频信号带宽(Width3dB)为信号带宽判断矩阵Width_3dB(1×3)最大值对应的下标。
首先需要计算出频谱模板矩阵Model-Array(1×100)和阈值TH,具体计算过程在前文已作讨论。若频谱模板矩阵ModelArray(1×100)值不全为0,则显示频谱环境不适合学习新机型特性。如果频谱模板矩阵ModelArray(1×100)值全为0,则重复无人机遥控信号检测中的第①步和第②步,进而得到DetectArray(t_value×100)及Width。将得到的Detect-Array(t_value×100)压缩为NewArray(1x100)(若Detect-Array(t_value×100)矩阵某列中包含1,则NewArray(1×100)对应列置1)。分别对NewArray(1x100)矩阵从左至右、从右至左遍历,求出“1”出现的起止频点,并分别记作StartPt,StopPt,由式(14)计算出跳频范围最大半径:
Radius=max(|StartPt-50|,|StopPt-50|)。
(14)
然后再对NewArray(1×100)矩阵遍历,记其中“1”的总个数为遍历点数(Ergodic)。根据求得的无人机机型特征参数(UAVParameters)可以将不同的无人机型号区分开来,具体分类方法如图1所示。
图1 无人机型号分类方法思维导图
在已经识别出跳频信号后,可以将有N行的DetectArray(N×100)矩阵压缩成JugdeArray(1×100),压缩方法为若DetectArray(N×100)矩阵某列中包含1,则JugdeArray(1×100)矩阵对应列置1。重复上述方法,再次提取得到无人机机型特征参数[19](UAVParameters),然后通过这些特征参数进行匹配,最终如果是已知机型,则直接输出其型号及机型特征参数;如果是未知机型直接输出发现未知跳频序列,由此可判断出无人机机型。
3 测试结果分析
3.1 测试环境
用于实施的硬件环境:Core-i5-4210M 2.60 GHz双核计算机,4 GB内存,940 M显卡;运行的软件环境:Visual Studio 2017,Matlab 2016,Windows 10。分别采用了C++、Matlab程序设计语言实现了本文提出的新算法。依次设置了无人机遥控信号常出现的2个中心频率[20](2.44 GHz,5.775 GHz)、频谱快照的带宽[21]为100 MHz,共学习并识别了FUTABA T14SG,DJI Phantom Ⅲ,WFLY07,Nine Eagle,HUBSAN五种不同型号的无人机遥控信号。本算法可在频谱分辨率带宽(resolution bandwidth,RBW)为1~50 kHz下工作。
3.2 测试结果分析
实验参与测试的上述5种不同型号、不同跳频方式的无人机在离天线较近距离下均能被快速稳定的学习并识别到,随着识别距离的增加,识别率有所下降,其最远识别距离与天线及接收机的灵敏度成正相关。1 000帧频谱图各帧的信号检测阈值Th′(单位:dBuV*10)如图2所示,部分机型特征参数学习结果如表1所示(将学习帧数N设置在1 000屏及以上,学习的帧数越多,结果也越准确)。
图2 1001帧频谱图各帧的信号检测阈值
由于因学习次数有限、不同频谱分辨率下存在一定的偏差,为保证能准确识别无人机型号,将Radius及Radius±1三个值均作为有效值。DJI PhantomⅢ型无人机遥控信号的识别结果如图3所示,FUTABA T14SG遥控信号的识别结果如图4所示。
表1 学习到的不同型号无人机机型特征参数
UAV modelCenterfrequency/GHzWidth3 dB/MHzErgodicRadiusDJI Plantom35.77514421±1Futaba T14SG2.44026820±1Nine Eagle2.44014018±1WFLY072.4402814±1Hubsan2.440127±1
图3 DJI PhantomⅢ型无人机识别结果
图4 FUTABA T14SG型无人机识别结果
4 结束语
经过多次试验表明,该算法可以对无人机实时、准确地识别,在复杂电磁环境中具有较好的鲁棒性。该算法将N行频谱矩阵Data(N×K)映射为多个二值化矩阵,减小了计算量,且能有效排除WiFi、图传信号等较宽带宽信号,或带宽极窄的杂散信号对无人机遥控信号检测的干扰,进而保证了快速、准确地识别出非法无人机及其机型,实时性、抗干扰性与准确性较好。但该算法在附近有蓝牙跳频信号时会出现虚警的情况,另外本算法无法区分WiFi与无人机的图传信号。因此,将来可以就如何区分蓝牙等跳频信号与无人机遥控跳频信号,以及如何区分WiFi与无人机图传信号等问题做进一步的研究,从而更好地降低识别的虚警率。