1. 引言
Wi-Fi网络中,无线信道条件可能随时间和空间而显著变化,从而影响Wi-Fi链路的质量[1]。为了确保Wi-Fi网络的可靠和稳定,需要有效的链路质量估计(Link Quality Estimation, LQE)机制适配无线链路条件[2],并且可以选择替代的或更可靠的信道用于无线数据传输。影响链路质量的因素包括多径效应、外部干扰和收发器硬件故障等[3]。链路质量的有效预测可以获得多方面的性能回报,包括因减少分组丢弃而提高网络吞吐量、由减少重传而延长网络寿命、路由重新发现、较少的拓扑故障和提高的可靠性等[4]。
现有的链路质量建模方法可以概括为三种不同的方法:1) 基于理论模型的方法,根据通信理论得到包接收率与信噪比的关系[5] [6]。2) 概率估计模型,计算最近传输的成功率来估计链路质量[7]。3) 机器学习预测模型,通过回归或分类的方法估计特征输入和链路质量输出之间的相关性[8]-[10]。基于理论模型的优势在于其可解释性和预测能力,尤其是在已知系统参数的情况下,能够提供精确的结果。这些模型虽然理论上精确,但在实际应用中往往需要大量的简化假设,尤其是在动态和多机器人场景中,模型的复杂性和假设可能导致其在实际环境中的表现不佳。大多数文献使用后面两种方法之一进行链路质量估计,概率估计模型在链路质量估计中具有计算效率高、实现简单等优点,但其缺点主要体现在对历史数据的依赖性、对动态环境的适应性不足以及对复杂场景的处理能力有限等方面。在实际应用中,通常需要结合其他方法(如理论模型或机器学习)来弥补这些不足,以提高链路质量估计的准确性和鲁棒性。其中机器学习预测模型运用了物理层映射、时间序列分析和机器学习等方面的技术[8],通过建立输入特征与链路质量之间的统计关系,为网络性能优化提供了重要支持。
文献[9]使用时间序列分析估计社区无线网状网络(Community Wireless Mesh Network, CWMN)的链路质量,并通过四种学习方法对时间序列建模。在此基础上,为了满足链路质量预测的适应性和即插即用性,文献[10]提出了一种结合基准算法和在线机器学习算法的混合在线算法来预测CWMN中的链路质量。文献[11]将吞吐量作为输入特征,使用AROW回归算法进行吞吐量的计算。针对传统Wi-Fi标准提出的多种速率自适应解决方案缺乏可扩展性问题,文献[12]提出基于机器学习的全面的速率自适应解决方案,通过利用机器学习自动识别速率、吞吐量和链路质量之间的相关性来实现可扩展性。文献[13]和文献[14]为提高对少数类分类的公平性,提出了新的基于树的链路质量分类模型,通过分析特征选择和重采样技术对提高每类分类的影响,得出了性能最好的特征组合和重采样方法。由于环境的动态波动,导致无线通信网络的链路质量(Link Quality, LQ)的预测成为一项复杂的任务,文献[15]提出了一种基于深度学习的方法来准确预测无线通信网络中的LQ,即使用两种深度递归神经网络的变体:长短期记忆递归神经网络和门控递归单元,通过学习和利用LQ时间序列中的上下文处理LQ的波动。
目前Wi-Fi链路质量估计方法存在以下问题:1) 现有模型为了提高模型的泛化能力需要在不同条件下测量数据,训练模型所需的数据量较大[16]。2) 为了提高估计精确度,大多数研究采用多个物理层指标来建立模型,使模型复杂度以及数据获取和处理的难度增加。3) 缺少适合机器学习的数据集。虽然关于802.11有不少公开的IEEE 802.11网络数据集,如Rutgers [17]、Packet-metadata [18]、University of Michigan [19]、Evarilos [20]和Colorado [21]等,但是除了Rutgers数据集,大多数存在数据格式不一致、序列号缺失和文件不完整等问题。
针对上述问题,本文提出了一种基于决策树的链路质量估计方法。在预处理阶段对数据进行最小值填充和指数加权移动平均(Exponential Weighted Moving Average, EWMA)滤波处理,选择EWMA后的接收信号强度(Received Signal Strength Indication, RSSI)和RSSI的均值作为模型输入特征,EWMA处理后的包接收率(Packet Reception Ratio, PRR)作为输出量。利用一组噪声条件下采集的数据分别建立链路质量分类和回归估计模型,能够对不同条件的链路质量进行准确估计。与现有方法相比,本文提出的方法以较少的数据就可以获得良好的泛化性能,并且预测的准确度、精确度、召回率等都比较高。
2. 链路质量估计模型
2.1. 缺失值填充
在处理数据缺失问题时,常用方法包括零填充、最小值填充以及均值填充。图1是不同缺失值处理后RSSI和PRR的相关系数,可以看出零填充和最小值填充能显著地提高RSSI和PRR的相关性,在RSSI小于0的情况下,虽然填充0也能够获得较高的相关性,但与通信理论不一致,所以选择最小值填充。
Figure 1. Comparison of correlation coefficients between RSSI and PRR under different missing value treatments
图1. 不同缺失值处理RSSI与PRR的相关系数对比
2.2. 参数选择
为了减少计算开销,本文使用PRR的EWMA作为模型输出量,PRR的EWMA也被称为WMEWMA (Window Mean with Exponentially Weighted Moving Average) [22],同时为了提高模型的预测准确度,对输入特征也做EWMA处理。EWMA算法通过赋予新数据样本更高的权重,能够有效过滤随机噪声,同时保留了信号的主要变化趋势。EWMA的计算公式如下所示:
(1)
其中EMAt和EMAt−1表示时刻t和t − 1的指数加权移动平均值,xt表示时间t的观测值。α表示平滑因子,取值范围为[0, 1],α决定了新数据在EWMA计算中的权重。图2为平滑因子α取不同值时,分类模型预测下一窗口的PRR的准确度,图3为回归模型预测的平均绝对误差,分类模型中α取0.1时预测的准确度最高,回归模型中α取0.1时预测的平均绝对误差最小,所以按回归模型的预测结果选择α为0.1。
Figure 2. Accuracy under different values of α
图2. α不同取值下准确度
Figure 3. MAE under different values of α
图3. α不同取值下的平均绝对误差
为了验证上述方法的有效性,进行了一组对照实验,对不同距离条件下的数据进行EWMA处理。实验结果如图4显示,在平滑因子设定为0.1条件下,经过EWMA处理后的各组数据在预测准确度上均有明显提升。
不同的WMEWMA窗口大小会影响计算与存储开销,以下是PRR的计算公式:
Figure 4. Accuracy before and after EWMA processing
图4. EWMA处理前和处理后的准确度
(2)
其中W是特定时间窗口T内发送的数据包数量,D表示在W个包中成功接收的数据包数量。窗口越大,意味着将有更多的信息提供给模型,同时会增加模型的缓冲和处理需求,图5显示,在模型输入特征与输出窗口相同的条件下,将W从1增加到10时,预测准确度不会明显上升,说明在0~10范围内选择不同大小的窗口对于预测准确度的影响并不显著。综合考虑计算与存储开销及响应速度,本文将W设置为5。当PRR取窗口为5时,对输入特征统计窗口取不同值进行预测,如图6所示,只有输入特征也取5的情况下,准确度最高。因此本文计算输入特征的统计窗口也取5。
Figure 5. The accuracy of PRR under different windows
图5. PRR不同窗口下准确度
Figure 6. Accuracy with different window sizes for input features
图6. 输入特征取不同窗口的准确度
在建立链路质量估计模型过程中,特征选择是关键步骤,常用特征包括直接可观测的物理层参数(接收信号强度指示(RSSI)、噪声(NOISE)等)和通过计算得到的合成特征(信噪比(SNR)、RSSI的窗口平均值、RSSI的标准差等)。由于Rutgers只给出了噪声均值,SNR与RSSI分布相同,没有给出更多信息;本文实验中使用的模块也不提供瞬时噪声,无法准确计算SNR,所以本文选择RSSI作为基础输入参数。
为了确定合成特征是否有助于建立更准确的模型,研究了多种输入特征的组合(如表1所示),图7对比了使用不同参数作为输入特征的效果,与只使用
(RSSI的EWMA)相比,使用
(窗口取5的RSSI均值的EWMA)作为输入特征能够明显提升模型的预测精度,将
与
相结合,模型的精确度得到了进一步的提升,而使用
、
和
窗口取5时RSSI的标准差的EWMA)组合作为输入特征,并不能使性能进一步提高,因此选择
和
作为模型的输入特征。
Figure 7. Accuracy under different characteristics
图7. 不同特征下的准确度
Table 1. Combination of input features
表1. 输入特征组合
特征组序号 |
定义 |
1 |
|
2 |
|
3 |
|
4 |
,
|
5 |
,
,
|
2.3. 决策树分类和回归算法
使用分类算法建立模型,需要对链路质量进行划分。链路质量等级是通过PRR的取值范围设置,定义如下:
(3)
其中0表示较差的链路质量,1表示中等质量的链路,2表示较好的链路。本文使用决策树分类算法,根据
和
两个参数,对当前时刻的链路质量进行估计。在决策树的构造中使用熵作为分割标准:
(4)
其中S是决策树中节点的样本集合,pi表示数据集S中属于第i个类别的样本占总样本数的比例。根据信息增益来选择最佳划分特征:
(5)
其中,H(S)表示父节点样本集合S的熵,H(Sv)表示在给定特征F条件下,S被划分后得到的子集Sv (其中v可以是“坏”、“中等”或“好”)的熵。在处理训练数据时,通过计算每个特征的信息增益,选择信息增益最大的特征作为当前节点的划分特征,通过递归可以构建特定深度的决策树。为了防止模型的过拟合,通过5折交叉验证评估不同深度下模型的性能,其中在深度为4的时候,验证集表现最好。本文将决策树深度设置为4。
建立决策树回归模型时,以预测值与真实值之间的平方误差的平均值MSE作为选择特征分割节点的指标,样本MSE的计算公式为:
(6)
其中,n是节点内的样本数量,yi是第i个样本的真实值,
是该样本的预测值(在回归树中,通常是节点内所有样本真实值的平均值)。
3. 实验结果及分析
3.1. 数据集
本文分别采用公共数据集和自建的数据集进行实验。公共数据集选用Rutgers数据集[16],该数据集基于ORBIT测试平台建立,包括4060个不同链路的跟踪数据,这些数据是从噪声强度为0 dBm、−5 dBm、−10 dBm、−15 dBm和−20 dBm的干扰下收集的,以模拟实际通信条件。数据集包含RSSI、序列号、节点ID及噪声水平等信息。
同时利用ESP32开发板以及厂商提供的ESP-NOW协议设计实验系统,完成数据的采集。ESP-NOW是由乐鑫公司开发的低功耗2.4 GHz无连接Wi-Fi通信协议,不仅简化了无线通信的配置过程,还能够缓解网络拥塞时因为丢包而导致的卡顿和延迟,拥有更高的响应速度。
实验场景设定于学校办公楼的走廊和大厅,如图8所示。为了研究不同噪声水平对无线信号传输的影响,使用两个CC2530无线传感器网络节点作为可控干扰源,并按照图9进行布置。
实验选取了CC2530的三种不同发射功率,通过调节干扰源的功率和位置,分别模拟了−51 dBm、−61 dBm和−71 dBm的干扰环境,以便分析干扰对ESP32-S3模组间通信链路质量的影响。两个ESP32S3模组分别用于收发数据,选择Wi-Fi的12信道,干扰节点的信道选择和Wi-Fi频带重叠的IEEE802.15.4的23信道,ESP32发送节点以广播方式发送3000个数据包,接收节点收到包后保存序列号和RSSI。
Figure 8. Corridor of office area and lobby of office area
图8. 办公区域走廊和办公区域大厅
Figure 9. Interference source layout diagram
图9. 干扰源布置图
3.2. 模型性能测试
经过数据预处理后,
和
之间的关系如图10所示,
和
的关系也是类似。不同干扰条件下的数据近似沿一条直线分布,因此使用其中一种干扰条件的数据建立模型,可以反映出其它干扰条件下采集的数据的变化趋势,从而可以准确的预测其它干扰条件的链路质量。
Figure 10. The relationship between RSSI and PRR under different interferences
图10. 不同干扰下RSSI和PRR的关系
为了验证使用较少数据建立模型,也可以获得良好的泛化性能。采用Rutgers数据集中噪声为0 dBm的数据集建立决策树分类模型,使用其他干扰条件下的数据对模型进行测试,结果如表2所示,在0 dbm作为训练集,−20 dbm作为测试集的情况下,准确率、精确度、召回率和F1都比较高。使用一种噪声条件数据集训练的模型,在应用于其他数据集时,性能没有明显下降,且干扰越小的情况下,预测准确度越高。
Table 2. Testing the performance of the model on different datasets
表2. 不同数据集测试模型的性能
测试数据集 |
准确度(%) |
精确度(%) |
召回率(%) |
F1 (%) |
0 dbm |
94 |
92 |
89 |
90 |
−5 dbm |
95 |
93 |
90 |
91 |
−10 dbm |
97 |
94 |
89 |
91 |
−15 dbm |
98 |
94 |
87 |
90 |
−20 dbm |
99 |
95 |
87 |
90 |
用同样的方法进行决策树回归性能测试,结果如图11所示,在预测−20 dbm数据集时平均绝对误差MAE最小,在预测其他数据集时MAE也比较低。
Figure 11. Mean absolute error of the tested model with different datasets
图11. 不同数据集测试模型的平均绝对误差
采用自建的数据集,利用在某种干扰条件下采集的数据训练模型,使用其他干扰条件下采集的数据对模型进行测试。如图12所示,实验结果显示:无论是哪一组数据训练的模型,均能够准确地预测其他几组噪声条件下的链路质量,且预测精确度均保持在较高水平。同时,使用所有数据集建立的模型和使用一组数据集建立的模型的预测精度水平相当,说明使用较少的数据训练模型能够获得良好的泛化性能。在保证高预测精度的前提下,有效降低了建模成本。
3.3. 不同机器学习模型的性能评估
为了比较不同模型的性能,本文采用决策树、支持向量机、逻辑回归和人工神经网络等分类的机器学习算法,并利用自建的数据集,分别建立了链路质量估计模型,每个分类模型的参数如表3所示。
Figure 12. Comparison of models across different datasets
图12. 使用不同数据集训练的模型比较
不同模型的精确度和训练时间如表4所示,其中决策树、逻辑回归和支持向量机三种方法的预测精度都较高,但从运行模型的时间复杂度看,决策树分类较其他模型更为简单。使用Rutgers数据集测试的结果与上述实验结果相似,所以从总体上看,使用决策树分类模型进行Wi-Fi的链路质量估计效果较好。
Table 3. Parameters of different models
表3. 不同分类模型的参数
算法类型 |
模型参数 |
决策树分类 |
最大深度为4 |
逻辑回归 |
最大迭代次数为1000 |
支持向量机 |
使用线性核函数,正则化参数1.0 |
多层感知机 |
1个隐藏层,每层神经元个数为10,使用修正线性单元作为激活函数,最大迭代次数1000 |
Table 4. Comparison of model performance across different classification algorithms
表4. 不同分类算法的模型性能比较
算法类型 |
准确度(%) |
精确度(%) |
召回率(%) |
F1(%) |
训练时间(s) |
决策树分类 |
96 |
95 |
76 |
84 |
0.01 |
逻辑回归 |
97 |
94 |
92 |
93 |
0.14 |
支持向量机 |
97 |
93 |
93 |
93 |
0.15 |
多层感知机 |
94 |
87 |
85 |
86 |
1.65 |
实际系统中,链路质量估计结果常采用连续值表示,因此,本文进一步探究了决策树回归模型的预测性能,并与常用的回归模型进行了比较,回归模型的参数如表5所示。
Table 5. Parameters of different regression
表5. 不同回归模型的参数
算法类型 |
模型参数 |
决策树回归 |
最大深度为4 |
k-最近邻 |
最近邻数量为5 |
支持向量机 |
使用高斯核函数,正则化参数1,不敏感损失为0.01 |
实验结果如图13所示,使用支持向量机算法得到模型的预测误差最小,其次是决策树回归和k-最近邻算法。得出支持向量机算法在回归上表现良好,而决策树在回归和分类上都有较好的表现。
Figure 13. Comparison of model performance across different regression algorithms
图13. 不同回归算法的模型性能比较
4. 结束语
本文提出一种基于决策树的链路质量估计方法,选择RSSI和RSSI均值的EWMA作为模型的输入特征,通过预处理增强了输入特征与PRR的相关性。采用公共数据集和自建的数据集,验证了模型的泛化性能,实验结果表明决策树算法在进行链路质量分类和回归估计时都具有较好表现,并且只用少量的数据就能较好预测其它数据集,决策树分类模型准确率达到96%,训练时间0.01 s,回归模型的平均绝对误差为0.025。未来将在实际的Wi-Fi系统中实现本文提出的链路质量估计方法,在线测试链路质量估计模型的性能。
基金项目
国家自然科学基金资助项目(61374040);
国防基础研究资助项目(JCKY2019413D001);
上海理工大学科技发展资助项目(2020KJFZ082)。