基于物理层参数的无线链路质量快速预测方法
技术领域
本发明涉及无线通信和网络领域,具体涉及低功率无线网络中一种基于物理层参数的无线链路质量快速预测方法。
背景技术
为了降低能耗,无线传感器节点等低功耗无线网络设备通常使用低发射功率的射频收发机进行通信,因此其链路的稳定性较差。当信道环境发生变化时,这些低功率无线链路很容易出现波动,从而影响网络的传输效率。为了降低链路波动的不利影响,辅助上层协议选择高质量链路进行数据传输,需要在链路出现波动时快速、准确地估计其质量。特别的,对于无线传感器网络等快速时变系统,还需要预先感知链路的变化趋势,从而做出动态调整。因此,准确、敏捷的链路质量预测机制对低功率无线链路而言至关重要。
收包率(PRR, Packet Reception Ratio)是评价链路质量的最直接指标。然而,短时间统计的PRR无法准确地反映链路质量,需要长时间统计才能获得较为准确的PRR估计值。因此,直接使用PRR进行链路质量预测的敏捷性通常较差。使用链路质量指示(LQI,Link Quality Indicator)、接收信号强度指示(RSSI, Received Signal StrengthIndicator)和信噪比(SNR, Signal-to-Noise Ratio)等物理层参数对链路质量进行评价可以有效提高敏捷性。然而,直接使用物理层参数评价链路质量的精细度较低,通常只能给出链路质量的分级描述,因为其忽略了物理层参数与PRR之间存在的解析的或经验的确定性关系。仅使用预测模型去挖掘物理层参数时间序列的关系,而将物理层参数到PRR的映射使用确定性的理论解析模型或经验拟合模型来实现,即将确定性的映射部分从预测模型中独立出来,则能够在有效提高敏捷性的基础上,实现更为准确、精细的链路质量预测。
发明内容
发明目的:本发明的目的是提供一种适用于低功率无线网络、基于物理层参数映射收包率用于在短时间内快速、准确、精细的无线链路质量预测的方法。
技术方案:为了实现前述的方法,本发明的基于物理层参数映射的无线链路质量预测方法,包括如下步骤:
(S1)构建空的物理层参数序列X = {};
(S2)每隔时间窗口n对物理层参数进行统计,计算其均值X i ,更新物理层参数序列以获得下一时刻的物理层参数预测值:
(S21)如果物理层参数序列长度小于m,将X i 直接添加到当前物理层参数序列,更新后的物理层参数序列为X = {X 1 , X 2 , …, X i };将更新后物理层参数序列的均值作为下一时刻的物理层参数预测值;
(S22)如果物理层参数序列长度等于m,则删除最早的物理层参数,并将X i 添加到当前物理层参数序列,更新后的物理层参数序列为X = {X i-m+1, X i-m+2, …, X i };同时运行预测模型,输入更新后的物理层参数序列,获得下一时刻的物理层参数预测值;
(S3)根据映射模型计算下一时刻的收包率预测值。
其中,所述预测模型是在目标应用环境下,获取涵盖不同链路质量的、时间窗口大小为n的物理层参数均值序列作为输入样本,下一时刻的、时间窗口大小为n的物理层参数均值作为输出样本,通过合适的机器算法训练获得输入样本与输出样本的关系模型;
所述映射模型是在目标应用环境下,获取涵盖不同链路质量的、时间窗口大小为n的物理层参数均值和收包率,通过合适的理论模型或拟合方法建立的物理层参数和收包率的关系模型。
本发明所述的物理层参数选自LQI、RSSI、SNR的任意一种。
所述映射模型为物理层参数与收包率的理论关系模型,或根据实测数据建立的经验拟合模型。
作为一种优选方案,所述经验拟合映射模型是根据散点图的分布使用双曲正切模型逼近物理层参数与收包率的实测值。考虑到收包率随物理层参数的变化具有类似的模式:当物理层参数取值较小时,收包率为0;随着物理层参数取值增大,收包率从0变化到1;当物理层参数取值足够大时,收包率保持1不变。这一模式与双曲正切模型的输入输出关系极为类似,因此使用双曲正切模型非常适合对物理层参数与收包率的实测值进行拟合。
作为另一种优选方案,例如对于采用直接序列扩频和正交相移键控调制技术(QPSK)的收发机,所述理论关系映射模型是如下数学模型:
其中,N dBm 表示噪声值,N bit 表示以比特为单位的数据包长度。该模型利用了接收信号强度与误码率之间的关系,因为在特定的调制方式下这种关系是确定的。因此本发明也适用于无线调制解调技术确定的条件下使用RSSI对无线链路质量进行预测的情况。然而,在低功率无线网络比如无线传感器网络领域,物理层参数LQI通常是一个衡量信号解调质量的指标,并没有明确的物理含义,因此很难建立其与PRR之间的解析关系,主要通过经验拟合映射模型进行预测,比如前文所述的双曲正切模型。
更具体地说,本发明所述的预测模型其训练学习步骤包括:
(SE1)获取涵盖不同链路质量、时间窗口大小为n的物理层参数序列;
(SE2)将所述物理层参数序列划分为训练输入样本集x = {x 1, x 2, …, x t , …,x N }和期望输出样本集y x = (x m+1, x m+2, …, x t+m+1, …, x m+N ),其中训练输入的第t个至第t + m个样本期望输出结果为第t + m + 1个样本,t = 1, 2, …, N;
(SE3)根据目标物理层参数的特性选择合适的机器学习算法,获得期望输出样本序列与训练输出样本序列的误差关系模型;
(SE4)当选定的机器学习算法输出的误差目标函数小于等于训练目标阈值时,获取并保存训练输出样本序列为当前的映射模型;
当输出的误差目标函数大于训练目标阈值时,修正所述机器学习算法的权值迭代运算,直至误差目标函数小于训练目标阈值为止。
进一步地,在预测模型建立时还统计相应的收包率{PRR 1, PRR 2, …, PRR N }用于训练步骤(S3)所述的映射模型;其中,收包率PRR i = n i /n,n i 为该时间窗口成功接收的数据包个数。
其中,所述合适的机器学习算法为根据物理层参数特性选择的机器学习算法,选自小波神经网络、BP神经网络、随机森林、逻辑回归、支持向量机算法中的任意一种。
作为本发明的一种优选实施方式,所述机器学习算法为小波神经网络算法:
(SE311)参数设置:输入层神经元个数为p 1,输出层神经元个数为p 3,隐藏层神经元个数可计算如下:
P 2 = f (p 1, p 3),
设定期望的训练目标阈值为goal_error。
(SE312)权重初始化:设置输入层到隐藏层的权值为ω mj = rand (p 1, p 2),隐藏层到输出层的权值为ω jk = rand (p 2, p 3);选择Morlet小波函数作为隐藏层的激活函数:
其中,x t 表示输入层的输入;Morlet小波函数的伸缩因子初始化为a = rand (1,p 2),平移因子初始化为b = rand (1, p 2);
(SE313)神经元节点初始化,第j个隐藏层神经元初始化设置为:
h(j) = zeros (1, p 2), j = 1, 2, …, p 2;
第k个输出层神经元初始化为:
y(k) = zeros (1, p 3), k = 1, 2, …, p 3;
(SE314)训练预测模型:依次输入第t个至第t + m个训练输入样本,小波神经网络预测模型开始训练;此时,第j个隐藏层神经元的输入为:
第j个隐藏层神经元的输出为:
其中a j 表示第j个隐藏层神经元的伸缩因子,b j 表示第j个隐藏层神经元的平移因子;第k个输出层神经元的输入为:
第k个输出层神经元的输出为:
故输出层神经元的训练输出样本序列为:
其中m = 10,δ(·)为输出层神经元的传递函数,具体表达式为:
σ(t) = 1 / (1+e -t );
(SE315)计算误差目标函数:所述误差目标函数为
其中,y x = {x m+1, x m+2, ..., x t+m+1, …, x m+N+1}为训练前网络的期望输出样本序列,为预测模型的训练输出样本序列。
有益效果:本发明提供的无线链路质量预测方法使用物理层参数历史序列对下一时刻的物理层参数进行预测,并通过该物理层参数与收包率之间的映射模型对下一时刻的链路质量进行评估。本方法能够避免直接使用收包率进行链路质量预测的敏捷性较差的问题,因此更适合存在较多波动的低功率无线链路。
直接使用物理层参数进行分级不能准确地描述链路质量的细节。本方法能够及时、有效地感知链路质量的波动,协助上层路由协议找到短时间内的高质量链路,从而有效提高网络的吞吐量和能量效率。该方法也保留了PRR的细粒度,能够给出连续的PRR值,而非离散的链路质量等级。
本发明特别适用于无线传感器网络等使用低功率收发机的通信领域。这一领域的链路易受周围环境影响,导致其波动较多。在这种场景下,链路质量预测必须足够敏捷,以跟上链路质量的波动。同时,链路质量预测提供的信息还要足够精细,以便上层协议从可能存在的多条链路中做出正确的选择。本发明的优势技术效果,使其特别适用于上述场景,即能够在有效提高敏捷性的基础上,实现更为准确、精细的链路质量预测。
附图说明
图1为本发明实施例1的无线链路质量预测方法的运行流程图;
图2为本发明实施例1中预测模型的训练流程图;
图3为本发明实施例2的WNN预测模型结构框图;
图4为本发明实施例2中LQI序列与对应PRR序列的散点图;
图5为本发明在时间窗口下WNN预测模型的LQE在映射模型下PRR与实测值的比较曲线。
具体实施方式
实施例1
下面结合附图和具体实施例对本发明进行进一步说明。
如图1、图2所示,本实施例提供了一种基于物理层参数的无线链路质量快速预测方法,包括如下步骤:
(S1)构建空的物理层参数序列X = {};
(S2)每隔时间窗口n对物理层参数进行统计,计算其均值X i ,更新物理层参数序列:
(S21)如果物理层参数序列长度小于m,将X i 直接添加到当前物理层参数序列,更新后的物理层参数序列为X = {X 1 , X 2 , …, X i };将更新后物理层参数序列的均值作为下一时刻的物理层参数预测值;
(S22)如果物理层参数序列长度等于m,则删除最早的物理层参数,并将X i 添加到当前物理层参数序列,更新后的物理层参数序列为X = {X i-m+1, X i-m+2, …, X i };同时运行预测模型,输入更新后的物理层参数序列,获得下一时刻的物理层参数预测值;
(S3)根据映射模型计算下一时刻的收包率预测值。
其中,所述预测模型是在目标应用环境下,获取涵盖不同链路质量的、时间窗口大小为n的物理层参数均值序列作为输入样本,下一时刻的、时间窗口大小为n的物理层参数均值作为输出样本,通过合适的机器算法训练获得输入样本与输出样本的关系模型;
所述映射模型是在目标应用环境下,获取涵盖不同链路质量的、时间窗口大小为n的物理层参数均值和收包率,通过合适的理论模型或拟合方法建立的物理层参数和收包率的关系模型。
实施例2
请结合图1至图3所示,本实施例提供了一种基于LQI映射的无线链路质量快速预测方法,机器学习算法选用小波神经网络WNN(Wavelet Neural Network)。对于WNN预测模型的训练方法,具体包括如下步骤:
(SE1)获取涵盖不同链路质量、时间窗口大小为n=10的LQI序列,同时还统计与LQI序列对应的收包率{PRR 1, PRR 2, …, PRR N }用于后面的必要的映射模型训练;其中,收包率PRR i = n i /n,n i 为该时间窗口成功接收的数据包个数;
(SE2)将所述LQI序列划分为训练输入样本集x = {x 1, x 2, …, x t , …, x N }和期望输出样本集y x = (x m+1, x m+2, …, x t+m+1, …, x m+N ),其中t = 1, 2, …, N,训练输入的第t个至第t + m个样本期望输出结果为第t + m + 1个样本;
(SE3)根据目标物理层参数的特性选择合适的机器学习算法,获得期望输出样本序列与训练输出样本序列的误差关系模型,具体地说,包括如下步骤:
(SE311)参数设置:输入层神经元个数为p 1 = 10,输出层神经元个数为p 3 = 1,隐藏层神经元个数可计算如下:
设定期望的训练目标阈值为goal_error = 10。
(SE312)权重初始化:设置输入层到隐藏层的权值为ω mj = rand (p 1, p 2),隐藏层到输出层的权值为ω jk = rand (p 2, p 3);选择Morlet小波函数作为隐藏层的激活函数:
其中,x t 表示输入层的输入;Morlet小波函数的伸缩因子初始化为a = rand (1,p 2),平移因子初始化为b = rand (1, p 2);
(SE313)神经元节点初始化,第j个隐藏层神经元初始化设置为:
h(j) = zeros (1, p 2), j = 1, 2, …, p 2;
第k个输出层神经元初始化为:
y(k) = zeros (1, p 3), k = 1, 2, …, p 3;
(SE314)训练预测模型:依次输入第t个至第t + m个训练输入样本,小波神经网络预测模型开始训练;此时,第j个隐藏层神经元的输入为:
第j个隐藏层神经元的输出为:
其中a j 表示第j个隐藏层神经元的伸缩因子,b j 表示第j个隐藏层神经元的平移因子;第k个输出层神经元的输入为:
第k个输出层神经元的输出为:
故输出层神经元的训练输出样本序列为:
其中m = 10,δ(·)为输出层神经元的传递函数,具体表达式为:
σ(t) = 1 / (1+e -t );
(SE315)计算误差目标函数:所述误差目标函数为
其中,y x = {x m+1, x m+2, ..., x t+m+1, …, x m+N+1}为训练前网络的期望输出样本序列,为预测模型的训练输出样本序列。
(SE4)当选定的机器学习算法输出的误差目标函数E小于等于训练目标阈值goal_error时,获取并保存训练输出样本序列为当前的映射模型;
当输出的误差目标函数E大于训练目标阈值goal_error时,采用梯度下降算法,以从后向前(即从输出层到隐藏层,再到输入层)的方向逐层修正步骤(SE312)中的相关权值并更新,重复上述步骤直至E<goal_error为止。
基于LQI序列与对应的PRR序列获得散点图,如图4所示。根据散点图的分布使用双曲正切模型逼近LQI和PRR的实测值。其中双曲正切模型表达式为:
PRR = 0.5 + 0.5tanh (a * LQI + b)
使用最小二乘法求解双曲正切模型中的参数a和参数b,即获得映射模型:
PRR = 0.5 + 0.5tanh (0.0783 * LQI – 6.6315)
基于上述步骤获得的预测模型和映射模型,代入实施例1所述的基于物理层参数的无线链路质量预测方法:
(S1)构建空的LQI序列X = {};
(S2)每隔固定的时间窗口n对物理层参数LQI进行统计,计算其均值LQI i ,其中n =10。
(S21)将LQI i 添加到(S1)所述的LQI序列中:如果LQI序列长度小于m,将LQI i 直接添加到当前物理层序列,更新后的物理层参数序列为X = {LQI 1, LQI 2, …, LQI i },计算更新后LQI序列的均值作为下一时刻的物理层参数预测值:
(S22)如果LQI序列长度等于m,则删除最早的LQI值,并将LQI i 添加到当前LQI序列,更新后的LQI序列为LQI = {LQI i-m+1, …, LQI i-1 , LQI i },同时运行预测模型,输入更新后的LQI序列,获得下一时刻的LQI预测值。
(S3)根据LQI和PRR的双曲正切模型计算下一时刻的收包率预测值。
图5为上述方法预测PRR与实测PRR的对比曲线。可以看出,正是利用了物理层参数具有的敏捷性,在链路发生变化时,该方法能够比PRR本身更快速地感知链路的变化。同时,该方法也保留了PRR的细粒度,能够给出连续的PRR值,而非离散的链路质量等级。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:电磁特性分析方法及电子装置