1. 引言
无线传感器络(Wireless Sensor Networks, WSNs)由部署在监测区域内的一定数量的传感器节点组成,WSN节点通过自组织方式形成多跳传输网络。由于传感器节点通常使用电池供电,为了降低节点的能耗,通常采用低功率射频信号进行通信,干扰、噪声和多径效应等是影响链路质量的重要因素 [1] 。在无线传感器网络中,很多机制和网络协议,都需要以链路质量估计(LQE)为基础 [2] 。例如,路由协议需要以链路质量预测结果作为路径选择的依据;为了最大化网络生存周期,准确的链路质量预测可以有效减少重传数据包的数量,提高网络吞吐量;在维护拓扑稳定性方面,链路质量的评估也起到了重要作用 [3] 。
当前针对于WSN链路质量估计的研究主要分为两类:1) 以改进协议或流程的性能为目标的链路质量估计方法研究,2) 提出一种新的或改进现有的链路质量估计器。文献 [4] 的作者研究了TCP协议的性能改进方法,提出了一种新的链路质量估计器。文献 [5] 引入了一种称为四位(4B)的新估计器,将来自物理层(PRR、链路质量指示器(LQI))、链路(ACK计数)和网络层(路由)的信息组合在一起,并证明其性能优于原有的链路估计器。在文献 [6] 中,提出了一种基于模糊逻辑的链路质量估计器F-LQE,利用PRR和信噪比(SNR)的平均值作为输入,输出高质量和低质量两种链路质量等级。研究发现基于PRR的链路质量估计器中,PRR、WMEWMA和ETX高估了链路质量,而RNP和4B低估了链路质量。文献 [7] 引入机器学习对协议进行改进,使用接收信号强度指标(RSSI)、SNR、LQI、WMEWMA和平滑PRR作为模型的输入特征,分别训练了基于朴素贝叶斯、神经网络和逻辑回归的三个模型,对下一时刻的链路质量进行预测,实验结果显示,逻辑回归模型具有较高的预测精度,与神经网络模型相比,更适用于资源有限的无线传感器网络,不过,所提出的预测模型4C的预测均方误差(MSE)仍较高。
根据模型的输入量,可以将现有研究分为单变量输入和多变量输入两类,文献 [8] 中采用了基于单输入度量的方法,而文献 [7] 中采用了多个指标作为输入量。单变量输入具有算法简单、对计算能力要求较低的优点,但是容易忽略其他相关信息,导致结果准确率下降。以多种指标作为输入,在一定程度上可以提高估计的准确率,如何选择与输出量相关度高的指标是需要解决的关键问题。根据输出值类型可以将链路估计模型分为两类:分类输出模型和连续值输出模型。例如,文献 [9] 采用了线性回归的方法对链路质量进行估计,文献 [10] 和文献 [11] 分别采用二分类和多分类输出模型。
针对现有方法存在的特征选择以及链路质量分类没有统一的标准、缺少公开数据集等问题,本文通过相关性分析进行特征选择,同时,利用粒子群优化算法确定链路质量估计模型的超参数,并在多种条件下采集数据,建立训练和测试数据集,实验结果表明,与现有算法相比,本文提出的方法具有更好的性能。
本文贡献如下:
1) 通过对各特征与PRR的互信息系数进行比较,选取最相关优特征作为链路质量估计模型的输入量。
2) 用最小值对采集的物理层参数中的RSSI和发送节点处的信噪比(SNR_DOWN)进行填充,用最大值对CSSStd进行填充,提高了链路质量估计的准确率。
3) 设计了链路质量估计模型APSO-SVM,以最优参数的支持向量机(SVM)对WSN中的链路质量进行估计,与现有算法对比,性能提高效果明显。
2. APSO-SVM的关键技术
2.1. 最大互信息系数分析
最大互信息系数(Maximal Information Coefficient, MIC)是在互信息(mutual Information, MI)的基础上发展而来 [12] ,互信息方法主要用来衡量线性或非线性变量之间的相关程度,变量之间的互信息越大,则相关性越大。MIC基本思想是:如果两个变量之间存在一定的相关性,那么在这两个变量的散点图上进行某种网格划分之后,根据这两个变量在网格中的近似概率密度分布,可计算这两个变量的互信息,正则化后,该值可用于衡量这两个变量之间的相关性。为了计算互信息系数,首先建立数据集
,
为第i个输入参数的值域,
为链路质量分类集合。
其中x为采集数据中的相关特征,y为链路质量分类的等级,I为数据集中特征的数量,本文对15种特征进行相关性分析,即I = 15。将x和y构成的散点图进行网格化操作,组成了m行n列的网格,其中
,B设置为数据规模的0.6次方。互信息计算方法如式(1)所示:
(1)
其中,
为联合概率密度函数,
、
为两变量的边缘概率密度函数。
在网格中对MIC整体进行计算,计算公式如(2)所示:
(2)
当MIC为0时,表示为x,y两个变量不具有相关性,是相互独立的;当MIC = 1时,表示为x和y存在对应的线性或者非线性关系。MIC的数值越接近1,代表其相关性越高,越有可能成为被选择的最优特征。
2.2. SVM算法
SVM (支持向量机)在解决非线性、小样本和高维模式识别问题中表现出许多特有的优势,在模式识别、故障诊断等领域得到广泛应用。其基本原理是通过训练样本构建一个超平面使得两侧样本点到超平面距离最大,实现最优分类 [13] 。
对于数据训练集
,
,其中
为特征向量,作为SVM的输入,
为目标变量,作为模型的输出,即链路质量分类结果。SVM通过寻找可将样本结果完全分隔的超平面来实现分类。对于线性不可分问题,SVM对链路质量进行分类可以转化为求解以下二次规划的问题:
(3)
(4)
其中C为惩罚因子,表示对误分类样本的惩罚程度,
为松弛变量,其值为非负数,以此表示样本不满足约束的程度,式(4)为核函数,将样本空间映射到高维空间。可以将以上二次规划问题进一步转换为拉格朗日对偶问题进行求解,建立拉格朗日方程如(5)所示:
(5)
其中,
为非负的拉格朗日乘子,令式(5)对
,
,
的偏导为零,并代入式(3)可得式(4)的对偶问题:
(6)
给定C和γ,即可求出拉格朗日乘子和模型参数ω和b,以此确定分类器,因此,最优分类器的确定需要寻找C和γ的最优值。
2.3. APSO自适应粒子群优化算法
粒子群优化算法(PSO)由Kennedy等提出 [14] ,是一种通过模拟鸟群觅食过程来解决求极值问题。其基本思想是一个粒子的记忆信息与群体中的其他粒子的记忆信息进行交流并更新已有的记忆,自行调整粒子的行进方向,使其逐渐逼近于最优位置。寻找最优解的过程即为粒子的速度和位置更新的过程,粒子的位置随速度更新,逐渐向最优解收敛。粒子速度和位置更新公式分别如式(7)和(8)所示:
(7)
(8)
上式中:ω为惯性权重;
为位置向量,以上文所述超参数c和γ作为其二维坐标;
代表第i个粒子的速度;r1,r2为介于[0,1]区间内的随机数;c1、c2为非负的学习因子,
表示到第i个粒子第t次迭代期间所发现的粒子最优位置,gbest表示种群中迄今为止的全局最优位置。
惯性权重代表了粒子前一时刻速度对当时时刻速度的影响程度,当惯性权重较大时,PSO算法的全局搜索能力较强,局部搜索能力较弱;当惯性权重较小时,PSO算法的局部搜索能力较强,全局搜索能力较弱,容易陷入局部最优。本文采用了自适应惯性权重粒子群算法(APSO),通过改进惯性权重,使算法具有更好的最优解寻找能力,其中自适应惯性权重如下所示:
(9)
式中:ωmax、ωmin为ω的最大值和最小值;f表示当前粒子的适应度,代表了链路质量的分类精度,故将f作为优化目标,favg和fmin为f的平均值和最小值。
3. 链路质量估计模型
3.1. 模型框架
针对于当前链路质量估计模型存在的问题,本文通过缺失值填充、特征选择和超参数优化三个方面结合,建立链路质量估计模型APSO-SVM,根据最大互信息系数分析,将参数RSSI、SNR_DOWN、CSSStd作为模型的输入特征,以下一时刻的包成功接受率(PRR)分类作为模型输出。模型的处理流程如图1所示。
Figure 1. Modeling and online prediction process of APSO-SVM
图1. APSO-SVM的模型建立和在线预测流程
其具体实现步骤如下:
1) 将实验采集的数据集缺失值分别用最小值填充RSSI和SNR_DOWN,用最大值填充CSSStd,完成数据预处理。
2) 根据互信息系数从候选参数中选择相关度最高的3个参数作为输入特征,降低问题复杂度。
3) 将选取的特征作为APSO的输入量,初始化模型,计算适应度值。
4) 更新粒子群的速度和位置以及惯性权重ω。
5) 判断是否满足终止条件,终止条件即达到最大迭代次数或适应度值达到设定阈值,满足终止条件则输出SVM最优超参数,否则返回步骤4。
6) 以获取到的最优参数代入到SVM中,得到链路质量估计模型。
7) 在线运行阶段,根据实时采集的参数计算输入特征,并利用SVM模型进行链路质量的预测。
3.2. 特征选择与数据预处理
为了准确估计链路质量,需要选择能够完整、准确反映链路质量的输入特征,为此,本文对RSSI、LQI和信道信号强度CSS的多种统计值等15种参数与链路质量的相关性进行了研究。其中,CSS反映了接收节点处干扰和噪声的强度,由接收节点在非传输阶段通过读取RSSI寄存器得到,当接收到一帧数据时,接收节点将最近采集的15个CSS样本添加到数据帧中,然后发送到上位机。
本文在接收端采集信道信号强度(Channel Signal Strength, CSS),发送节点在上电之后,以固定周期1ms读取RSSI寄存器的内容,在接收数据包时将最近的15次CSS采样附加到数据帧中。
本文通过对各个参数与PRR的互信息值进行比较,选取互信息系数最大的前三个参数作为模型的输入特征,各参数与PRR的互信息对比情况如图2所示。根据最大互信息系数的比较,选择RSSI、SNR_DOWN和CSSStd作为模型输入。其中CSSStd为CSS的标准差。
Figure 2. Mutual information value of each feature and PRR
图2. 各特征与PRR的互信息值
由于RSSI和RSSI_DOWN分别为上行和下行信号强度,故选取互信息值最高的RSSI作为输入;CSSStd作为CSS的标准差,故在CSS相关参数中选取互信息值最高的CSSStd作为输入;最后再选取互信息值相对较高的SNR_DOWN作为输入。由于无线传感器网络在通信过程中易受到无线局域网(WLAN)、蓝牙以及多径效应等因素的影响,导致通信过程中发生随机丢包,丢包使链路质量信息缺失,从而对链路质量估计的准确性产生影响。常用的缺失值填充方法有零值填充、均值填充和最小值填充,本文根据输入特征的特点,对缺失值进行填充。在采集的数据中,RSSI均小于0,由于丢包一般由接收信号强度相对于干扰和噪声强度较小导致,因此以同一发送节点对应的RSSI最小值填充比较合理;同样,对于SNR,也应以最小值填充。CSSStd表示实验环境中背景噪声和干扰之和的波动性,由于丢包是受较大干扰导致的,因此用CSSStd最大值进行填充。
4. 实验结果与分析
4.1. 实验数据采集
本文实验中使用的WSN节点的核心芯片为Texas Instruments公司的CC2530 [15] ,该芯片集成了基于IEEE 802.15.4标准的射频通信电路,软件使用TinyOS开发,分别采用一对一和多对一的通信方式,接收节点通过串口将测试数据发送给上位机,在上位机进行处理和存储。实验选取rssi、snr_down、CSSStd作为输入,使用不同模型对PRR分类进行估计,参考在较多研究中所采用的分类方法 [16] ,将链路质量分为3类,当PRR∈[0.9, 1.0]时,链路质量类别为好,PRR∈[0.1, 0.9)时,链路质量类别为中等,PRR∈[0, 0.1)时,链路质量类别为差。在实验室、办公楼和教学楼等不同场景进行实验,由于在现实环境中普遍存在不同程度的干扰,为测试模型适用性,分别在不同的干扰条件下采集数据,包括:1) 无人为干扰;2) 使用WSN节点产生网内干扰;3) 使用WLAN设备产生网间干扰。
WLAN路由器的位置分别设置在发送和接收节点之间、发送节点附近及接收节点附近。在不同场所进行的实验系统布局如图3所示,在教学楼进行的实验采用与图3(a)相似实验系统布局。
(a) 实验室实验系统布局(b) 办公楼实验系统布局
Figure 3. Layout of experiment scene
图3. 实验场景布置图
在采用WSN节点产生网内干扰的实验中,干扰节点以20 ms为周期发送负载长度为100字节的广播包,功率分别取−22 dBm到4.5 dBm的16种不同数值,实验参数如表1所示;在产生网间干扰的实验中,使用两台笔记本电脑分别作为UDP服务器和客户端,带宽和负载长度如表2所示。
Table 1. WSN node parameter settings
表1. WSN节点参数设置
Table 2. Inter-network interference parameter setting
表2. 网间干扰参数设置
4.2. 不同特征组合对模型性能的影响
本文根据相关性选取互信息系数最大的三个特征作为APSO-SVM模型的输入量,为寻找最优特征组合,分别取RSSI、SNR_DOWN和CSSStd的不同的组合作为输入特征,对模型的性能进行评估,实验结果如图4所示。准确率(accuracy)的计算公式为:acc = (TP + TN)/N。即所有预测正确的样本/总的样本。
Figure 4. Accuracy of models with each feature combination
图4. 各特征组合的模型准确率
由图可知,与仅使用RSSI、SNR_DOWN、CSSStd三种单一特征和任意两种组合特征相比,同时使用RSSI、SNR_DOWN、CSSStd作为输入特征时,链路质量估计的准确率更高。实验证明,增加CSSMax、RSSI_Down、CSSVar特征进行链路质量估计,准确率最高提升了0.22%,但是增加复杂度,故选择RSSI、SNR_DOWN、CSSStd三个特征进行链路质量估计。
4.3. 不同实验场景的测试结果
无线信道的信号衰减、多径效应和干扰情况随环境的不同而改变,本文分别在3种不同的场所进行实验,以评价环境对模型性能的影响,同时,对训练数据集中样本数量的影响进行了测试,并将本文提出的APSO-SVM模型与基于SVM、决策树以及逻辑回归的链路质量估计模型进行对比。图5和图6分别显示了不同模型在3种场景中的链路质量识别查准率和查全率,可以看出在不同场景中APSO-SVM的查准率和查全率均在90%以上,明显好于其他模型,随着训练数据集中样本数量从10,000~50,000变化,APSO-SVM的准确率和查全率虽有波动,但总体保持平稳,其他模型的性能则出现明显的下降。实验评估结果查准率如图5所示,查全率如图6所示。其中查准率(precision)的计算公式为:pre = TP/(TP + FP)。即所有预测正确的样本/预测为此类链路质量的数量总和。查准率(recall)的计算公式为:R = TP/(TP + FN),即将链路质量类别预测正确/所有此类链路质量。模型中超参数的取值:c = 0.398,γ = 1.66。在光仪所306实验场景中达到最高查准率和查全率,分别为97.21%和96.47%。
Figure 5. The precision of various models in different experimental scenarios
图5. 各种模型在不同实验场景中的查准率
Figure 6. The recall of various models in different experimental scenarios
图6. 各种模型在不同实验场景中的查全率
4.4. 不同干扰条件对模型性能的影响
本文通过在实验中将网间干扰的路由器放置在两种不同的位置,其中两种位置如图3(a)中的路由器位置1和位置2组成,分别对无干扰情况、WSN节点网内干扰情况和两种不同位置的路由器布置情景进行链路质量估计,将本文的APSO-SVM算法与现有算法SVM、决策树以及逻辑回归进行对比,如图7所示,APSO-SVM算法在对不同干扰源放置的情况中都具有更好的效果。
Figure 7. Performance comparison of various models under different interference conditions
图7. 各种模型在不同干扰条件下的性能比较
4.5. 不同竞争条件对模型性能的影响
在办公楼实验场景中,分别采用一对一、四对一和八对一的网络拓扑进行实验,如图8所示,在不同的竞争条件下,APSO-SVM的查准率和查全率并没有明显变化,与SVM、决策树以及逻辑回归进行相比,APSO-SVM具有最好的性能。
4.6. 不同缺失值填充方法的测试
在链路质量估计过程中,需要对数据集中的缺失值进行填充,本文根据输入特征的特点,分别用最小值填充RSSI、SNR_DOWN,用最大值填充CSSStd,为测试缺失值填充对于模型性能的影响,分别使用不同的方法对缺失值进行处理,采用实验室场景中的数据进行测试。实验结果如图9所示,可以看出,采用本文的缺失值填充方法能够使各种链路质量估计模型获得更高的查准率和查全率。
Figure 8. Performance comparison of various models under different competitive conditions
图8. 各种模型在不同竞争条件下的性能比较
Figure 9. Model results of different missing value processing methods
图9. 不同缺失值处理方法的模型结果
5. 结束语
本文对基于支持向量机的链路质量估计方法进行了研究,根据最大互信息系数,选择RSSI、SNR_DOWN和CSSStd作为模型的输入特征,利用APSO算法对SVM的超参数进行优化。在多种实验场景中,对APSO-SVM的性能进行了测试,并对环境、干扰和竞争条件等因素对模型性能的影响进行了实验研究,实验结果显示,与现有算法相比,APSO-SVM具有更高的查准率和查全率,在不同条件下,APSO-SVM均具有较高的性能。未来将对在线学习方法进行研究,使离线训练得到的链路质量估计模型可以用于不同的部署环境。
基金项目
国家自然科学基金资助项目(61374040);国防基础研究资助项目(JCKY2019413D001);上海理工大学科技发展资助项目(2020KJFZ082)。
NOTES
*通讯作者。