1. 引言
随着无线通信技术的快速发展,频谱资源日益紧张,干扰频点的出现严重影响了通信质量与效率。干扰攻击作为无线通信安全的重要威胁,主要通过辐射电磁信号影响和破坏用户的信号接收过程[1],使通信性能严重下降。干扰频点检测是无线通信和信号处理领域中的一个重要环节,用于识别和定位影响信号传输的特定频率点。传统的干扰检测方法面对大规模通信数据时,存在检测精度低、处理延迟高、难以适应动态变化等问题。因此,如何高效、准确地检测出通信信号中的干扰频点,成为保障通信可靠性的关键技术之一。
传统干扰频点检测方法,比如文献[2] [3]所述的能量检测法通过计算频谱能量阈值判断是否存在干扰。该方法简单快速,但难以区分噪声与真实干扰,且无法识别多个干扰频点。连续均值消除法(Consecutive Mean Excision, CME) [4]、双阈值法[5]等采用预设门限值的策略检测干扰频点,但检测精度较低、应用范围受限。文献[6]所述的匹配滤波器法当接收到的信号中包含与已知信号相似的成分时,匹配滤波器能够最大化地放大这些成分,从而有效地检测出信号中的干扰,特别适用于加性噪声的场景,但依赖于已知信号的准确性,适用范围有限,难以应对新型干扰模式。文献[7]所述的循环平稳特征检测法是一种基于循环统计量的时频分析方法,通过利用信号的循环平稳特性来完成对干扰信号的检测和参数估计,具有抗噪声能力强、性能稳定等优点,特别适用于处理具有周期性和非平稳性的信号,但计算较慢且依赖于先验信息,限制其应用范围。文献[8]通过改进周期图法估计信号频谱并使用前向连续均值消除(FCME)实现鲁棒性的干扰频点检测。文献[9]将FCME法用于跳频通信系统的干扰检测,提升了门限设计的有效性。文献[10]将机器学习(Machine Learning, ML)引入干扰识别领域,提升了干扰识别的自动化水平。文献[11]进一步将优化算法引入环境认知识别,大幅提升了干扰识别精度。文献[12]提出基于深度学习的端到端的智能抗干扰跳频通信,极大地提升了通信系统的抗干扰能力。这些方法虽然在一定程度上提升了检测精度,但是需要人为设定阈值、构造特征等额外操作,稳定性较差,而单分类模型仅能判断是否存在干扰,无法同时定位多个干扰频点,不能适应快速变化的复杂通信环境。
近年来,边缘计算技术的发展促进了人工智能(Artificial Intelligence, AI)技术在端侧设备的广泛应用[13],为传统行业智能化发展提供了新的解决思路,因此,结合边缘计算与机器学习技术,研究高效实时的干扰频点检测方法具有重要的理论意义与应用价值。基于此,本文提出了一种面向智能边缘计算场景的高效实时干扰频点检测方法与系统实现的解决方案,以应对跳频通信系统中干扰频点检测的高精度、高实时性的挑战。首先,结合机器学习、多标签学习等框架与技术设计了一种轻量级、高精度的干扰频点检测模型;然后,通过模型迁移技术将训练好的模型移植到具有AI芯片(Atlas 200)的边缘计算设备上,以适配边缘计算节点;最后,引入批量处理来提升模型在边缘设备端的推理速度。本文所提方法在复杂环境下的信号干扰频点检测平均准确率达到98%以上。此外,本文方法在边缘设备上的最优推理速度达到微秒级,完全适用于复杂多变的无线通信环境。
2. 基于随机森林的干扰频点检测方法
2.1. 原理概述
1) 干扰通信模型
为了研究无线电干扰频点检测技术,构建干扰情形下的点对点跳频通信系统,如图1所示,包括3个通信节点,即一个干扰节点(干扰机)和一对无线通信节点(发送机和接收机)。
Figure 1. Point-to-point jamming communication system
图1. 点对点干扰通信系统
处于干扰状态下的通信系统,接收机接收到的信号包含发送机发送的有用信号、通信系统的噪声信号和干扰机发送的干扰信号[14]-[16]。接收机接收到的信号可表示为:
(1)
其中,
表示有用信号,
表示噪声信号,
表示干扰信号。
本文中设定跳频通信系统的参数为:跳频频率集
,表示跳频系统的所有跳变频点,其频点数记为
;非空子集
,表示实际跳频通信帧中的频点集合,其频率数
;跳频中心频率
,表示所有跳频点的中心频率,以此为中心,其余频点左右均匀分布占据整个跳频带宽;跳频速率
,表示每秒钟的跳频次数;跳频带宽
,表示整个跳频通信所有频点占用的带宽。据此可得到跳频序列为:
(2)
本文中,我们假设干扰和噪声均服从高斯分布[13],其中干扰和噪声的功率分别记为
和
,其比值定义为干噪比(JNR),即:
(3)
对接收信号进行采样,假设采样频率为
,采样时长为t,总采样点数为N,则有:
(4)
其中,N个采样点表示为
。
本文假定样本及其标签分别为
,其中
。
2) 算法原理
多标签学习分类是指在一个样本中,可能会有多个标签同时存在的分类问题,其本质是将一个实例与一个标签集合相关联[17]。与传统单标签分类问题不同,由于标签之间可能存在相关性或者依赖关系,多标签问题变得更加复杂,其每个实例对应的标签不止一种,标签的数量也是不确定的。
给定一个样本空间
,
是维度为d的特征向量,以及标签空间
,
表示样本标签集合中的各个标签,q表示标签空间的大小。当标签j和样本
相关时,
等于1;当标签j和样本
不相关时,
等于0。多标签分类任务的最终目的是学习一个分类器
,该分类器是预测样本p的预测结果
。于是,对于每个样本
,都能产生标签空间Y的二分集合
,其中
表示相关标签的集合,
表示不相关标签的集合。
对于多标签分类问题,可以采用算法自适应(Algorithm Adaptation, AA)的思想,即通过修改现有合适的算法直接处理多标签分类问题。文献[18]提出了一种多标签决策树算法(MLDT-C4.5),该算法借鉴了决策树的思想,是一种用于解决具有多个标签的分类问题的机器学习算法,属于AA类方法。其核心思想是首先计算每个特征对所有标签的鉴别能力,即特征对应的信息增益,然后根据信息增益挑选特征并生成分类器。但MLDT面对大规模的高维特征数据处理时容易过拟合、对连续性特征敏感,可以通过集成策略[19]增强模型稳定性和鲁棒性。随机森林是一种以决策树为基学习器的并行式集成学习方法[20],通过组合多个决策树来提高模型的鲁棒性和准确性。在多标签分类任务中,随机森林通常通过二进制相关性(Binary Relevance, BR) [21]方法扩展实现,即对每个标签独立训练一个随机森林分类器。根据集成思想,随机森林模型通过M次有放回的独立随机抽样从原始训练集中获得M组和原始训练集容量一致的采样训练集,并利用这些采样训练集进行训练,得到对应的M个基学习器。由于抽样的独立性,每次抽样得到的采样训练集与原始训练集、其他采样训练集都不同,这能从训练样本选取的角度上有效避免出现局部最优解,也保证了每棵决策子树之间较低的相关性[22]。
2.2. 算法设计
在构建通信采样数据时,设定每个通信帧包含的频率为12个。对于干扰频点检测,文献[23]提出了一种基于多标签学习的干扰频点检测方法,受其启发,进一步地通过构建基于随机森林的干扰频点检测模型,使决策树学习样本数据中的特征及其变化规律,以找到对所有标签的分类节点,从而获得最大的信息增益,并融合集成策略机制生成最终的强分类器,从而得到干扰频点检测模型
。本文方法主要涉及如下环节:
1) 数据预处理
我们对采样数据进行了缺失值填充、标准化、归一化等数据处理操作,以降低算法模型对异常数据的敏感性,提升算法精度。其中,缺失值处理是对每个样本中在某个字段下缺失或异常而进行的线性插值、特征均值插值、置零、直接去除等操作;标准化处理,是对整个样本空间的数据基于均值与方差的数据分布调整,即调整为标准正态分布;归一化操作是将样本数据的上下限调整到[0, 1],使得数据的分布在同一维度空间,本质上是一种不改变数据分布形态的数据映射,且可一定程度上提高算法模型的训练速度,本文采用最大最小标准化对样本进行归一化操作,计算公式如下:
(5)
上式中,
与
分别表示样本集中在每个特征维度的最小值与最大值。
2) 多标签特征提取
时域特征:提取信号的均值、方差、峰值等统计特征,反映信号的强度与变化。
频域特征:通过快速傅里叶变换(FFT)将时域信号转换为频域信号,提取功率谱密度、频谱平坦度、频谱熵等特征,反映信号的频谱分布特性。
新提取的特征也可以采取上述数据预处理的方式进行Z-score标准化(即均值为0,方差为1),以消除特征量纲对模型精度的影响。
3) 决策树筛选
构建决策树模型:利用历史频谱数据,训练决策树模型,用于筛选可能的干扰频段。决策树模型根据提取的特征,将频段划分为干扰或非干扰两类。
特征选择与剪枝:采用信息增益、基尼指数等指标选择最优特征,通过预剪枝或后剪枝技术优化决策树结构,减少过拟合风险。
4) 模型训练参数
多标签分类策略采样二进制相关性,即为每个标签独立训练一个随机森林分类器,本文需训练12个分类器。模型参数初始化设置如表1所示。
Table 1. Main parameters of the random forest model
表1. 随机森林模型的主要参数
参数名称 |
参数描述 |
参数取值 |
n_estimators |
森林中树的数量 |
20 |
max_depth |
树的最大深度 |
5 |
min_samples_split |
分裂内部节点所需的最小样本数 |
2 |
min_samples_leaf |
叶节点所需的最小样本数 |
1 |
class_weight |
处理类别不平衡的策略 |
“balanced” |
random_state |
随机种子,报错结果可重复 |
42 |
n_jobs |
并行计算作业数,提升训练速度 |
−1 |
网格搜索策略可以参照表1所述的参数进行模型最优参数选择确定。训练过程中可采用交叉验证的方式评估模型的泛化能力,并以此选择最优超参数,避免模型在特定数据划分下的过拟合。最后将训练好的最优模型保存为如“.pickle”格式的本地文件,以用于对未知通信帧数据进行干扰频点检测。
2.3. 边缘计算实现
针对训练好的干扰频点检测模型,为验证模型在嵌入式设备端的性能,将其移植到Atlas 200智能开发板上进行部署、测试。在Atlas 200边缘计算设备上迁移机器学习模型,通常需要将训练好的模型转换为昇腾(Ascend)处理器支持的离线模型(比如.om格式),然后部署到设备端进行推理。Atlas 200支持的模型转换工具主要为OMG (Offline Model Generator)和ATC (Ascend Tensor Compiler),支持多种框架(如Caffe、TensorFlow、ONNX、MindSpore等)的转换。在实际迁移时,我们选择华为官方推荐的模型转换工具ATC进行模型转换,其关键参数包括:-model:模型结构文件,-framework:指定框架类型,-output:输出的.om文件名,-soc_version:指明Atlas芯片版本,本文为Ascend 310。转换后的模型使用Mind Studio进行部署调试,并采用Python 3.10 + FastAPI进行算法系统Web服务开发。在测试时,为最大限度提升模型计算速度,引入批量计算策略分别测试不同批处理值下的计算速度以适配到最优值。干扰频点检测算法模型在边缘端的处理流程如图2所示。
Figure 2. Processing flow of the jamming frequency detection system on the edge device
图2. 边缘端上干扰频点检测系统的处理流程
由图2可知,边缘端上的干扰频点检测系统将通信帧采样数据经预处理后,通过干扰频点检测模型对通信帧进行干扰频点的自动检测以获得当前通信帧中具体被干扰的频率子集并将受到干扰的频率以子集方式输出并以JSON格式返回给请求端。
3. 实验与结果分析
3.1. 实验设置
1) 实验数据
仿真系统参数:为方便实验,本文所搭建的跳频通信仿真系统的主要参数如表2所示。在生成跳频通信帧时,跳频系统的频点采用连续相近的频点,且从跳频频点集F随机选取。本文设定跳频频率的数量为24,仿真系统所加干扰为部分频段干扰,其干扰信号功率为5 W,且假定信道干扰噪声均为2 dB。
Table 2. Main parameters of the frequency-hopping system
表2. 跳频系统的主要参数
系统参数 |
取值 |
信道总数L |
24条 |
干扰信号带宽 |
20 MHz |
跳频带宽bw |
10 MHz |
跳变频点数 |
12个 |
跳频中心频率cf |
2500 MHz |
工作频段 |
2380 MHz~2620 MHz |
通信节点距离 |
1000 m |
仿真数据:采用MATLAB-2017b实现,通过对跳频信号和干扰信号的模拟,生成受干扰信号仿真数据,总计获得134,000条通信帧数据,其中干扰与非干扰状态数据量分别为13,000条与124,000条,记为跳频干扰数据(Frequency Hopping Jamming Data, FHJD)。通信帧数据中主要记录采样时间戳、信号发送速率、信噪比、跳频图案信号功率、频率序号、频率序号对于信号功率等信息。通过对样本数据的分析,发现通信帧数据中频点fi在干扰与非干扰的不同状态下的信号发射功率、信噪比等数值跳变较大,由此可区分干扰与非干扰。
干扰频点检测数据集:首先在各样本的末尾添加标签,其形式为由1与0组成的向量,向量长度为12。例如,标签label = [0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1],表示该通信帧中频率序号f1、f3、f4、f6、f7、f11的对应频点被干扰,其余未被干扰;标签label = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],表示该通信帧各频点均未被干扰。然后,按随机切分的方式并以干扰与非干扰的比例分别为1:1、1:2、1:5三种情形生成不同规模(记为10 k、20 k、50 k)的数据集。最后,将干扰与非干扰采样数据以分层方式抽样并分别按6:4的比例随机划分为三种规模下的训练数据集与测试数据集,记为FHJD_Det。需要注意的是,额外提取的特征作为扩充维度合并到数据样本中,以增强特征维度,融合原始数据与新特征后的样本维度为136维,其中标签为最后12列。
2) 实验环境
为实现算法模型训练、测试,本文实验环境的配置如表3所示。
Table 3. Main parameters of the experimental environment configuration
表3. 实验环境配置的主要参数
名称 |
配置信息 |
操作系统 |
Windows 10 |
处理器 |
Intel(R) Core(TM) i7-10700 CPU @ 2.90 GHz |
内存 |
64.00 GB |
开发语言 |
Python 3.10 |
开发依赖 |
Pandas, Numpy, Scikit-Learn, etc. |
开发软件 |
Pycharm 2024.2.5 |
3.2. 评价指标
对于干扰频点检测这样的多标签分类问题,通常采用基于实例和基于标签两类指标联合评估。为更好地评估模型的训练与测试效果,本文采用准确率、精确率、召回率、F1值、汉明损失、宏观精确率、宏观AUC (Area Under the Curve)等评价指标[24],其中,1) 基于实例的评价指标主要为:准确率Accuracy、召回率Recall、精确率Precision、F1-score以及汉明损失;2) 基于标签的评价指标主要为:宏观精确率
、宏观AUC,其中,
是多标签分类中用于评估模型性能的一个重要指标,即先对每个类别分别计算精确率,然后进行平均,能更好地反映模型在类别不均衡时的预测性能,其计算公式如下:
(6)
上式中,
表示宏观精确率,n表示标签的总数,
表示第j个类别的精确率。
评价指标
考虑了所有类别的重要性,用于从整体分类性能上评价模型,其计算公式如下:
(7)
上式中,
表示宏观AUC,n表示标签的总数,
表示第j个类别的AUC值。
3.3. 结果分析
实验1:干扰频点检测模型训练
基于随机森林的模型在不同参数条件下分别在10 k、20 k、50 k三种规模下训练干扰频点检测模型,以获得性能最好的模型参数组合。重点按表1所述对模型所依赖的树的数量、决策树最大深度等参数进行调参。在训练中,采用对数损失函数作为分类模型的目标函数,且使用Scikit-Learn提供的GridSearchCV方法对模型的主要参数进行调优。
其中,在10 k规模训练数据集下,训练基于随机森林的干扰频点检测模型,每个标签的ROC曲线如图3所示。
Figure 3. ROC curve of the jamming frequency detection model during training (10 k)
图3. 干扰频点检测模型训练时的ROC曲线(10 k)
由图3可知,12个标签的ROC曲线下面积均达到0.996以上,表明模型的分类效果很好。
实验2:干扰频点检测模型测试
通过实验1得到不同规模训练数据集下的干扰频点检测模型,其在不同规模测试数据集上的测试结果如表4所示。
Table 4. Test results of the interference frequency detection model on datasets of different sizes
表4. 不同规模数据集上干扰频点检测模型的测试结果
数据规模 |
精确率 |
召回率 |
F1-score |
汉明损失 |
宏观精确率 |
宏观AUC |
时间性能/µs |
10 k |
0.9863 |
0.9892 |
0.9877 |
0.0038 |
0.9860 |
0.9867 |
1.981 |
20 k |
0.9860 |
0.9882 |
0.9870 |
0.0027 |
0.9802 |
0.9865 |
1.640 |
50 k |
0.9785 |
0.9796 |
0.9790 |
0.0012 |
0.9760 |
0.9743 |
1.425 |
由表4可知,所提方法在PC端不同规模的测试数据集下的干扰频点检测的平均精确率最优达到98.6%,且平均推理时间在2 µs以内。当干扰与非干扰的比例增大时,精确率、召回率、F1值为下降趋势,这表明数据类别分布不均衡时,模型分类性能略有下降。结合宏观指标时,模型在数据均衡分布下模型分类性能整体最优。
与传统干扰频点检测方法相比,基于多标签学习的干扰频点检测方法,其模型会自动学习数据中隐藏的规律,且在精度、推理速度上均达到最优。
实验3:边缘端干扰频点检测模型处理时间
为了衡量单个样本的处理时间,实验中选取了不同批量大小(如[1, 2, 4, 8, 10, 20, …, 60,000, 70,000])下统计处理单个测试样本的时间(ms),实验结果如图4所示。
Figure 4. Processing time consumption of a single test sample with different batch sizes
图4. 不同批处理大小单个测试样本的处理时间消耗
由图4可知,1) 当批处理大小为1时,即将单个测试样本输入模型进行处理,最大时间消耗小于8 ms;2) 但随着批处理大小逐渐增大到100以上时,单个测试样本的时间消耗快速减小,最终可达到0.013 ms左右;3) 当批处理大小达到1万级时,可达到0.009 ms以下,但即使继续增大批处理大小而时间消耗却维持在0.008 ms左右,即最快处理速度对应批处理的量级为万级。因此,批处理大小对单个测试样本的时间消耗存在重要影响,即每次输入大量的测试样本到模型中进行处理能显著降低单个测试样本的计算时间,考虑到工程应用时数据采样率、采样速度及数据传输效率等实际情况,建议批处理大小设定为百级(比如200)即可。
4. 结束语
通过引入机器学习的思想,本文提出了基于多标签学习的干扰频点检测方法,通过设计基于随机森林模型的策略实现端到端的跳频通信干扰频点检测。实验结果表明,与传统方法相比,基于随机森林的干扰频点检测方法的平均精确率最优为98.6%,在边缘端的最优推理时间在15 µs以内,完全满足工程应用的要求。
本文所提方法仅应用了时域特征与低阶频域特征,性能还有提升空间,在今后的工作中需要对数据的时频联合域特征及模型结构进一步研究。
基金项目
本文研究工作得到十所技术创新基金项目(No. 202404640202)支持。