基于支持向量机的预测数据包接收可能性的方法技术

技术编号:21252104 阅读:62 留言:0更新日期:2019-06-01 09:39
本发明专利技术基于支持向量机的预测数据包接收可能性的方法,属于无线传感网络技术领域,是一种基于支持向量机的、根据少量数据包的信噪比、链路质量指数和数据包接收率预测无线传感网络高速传输时数据包接收状态的方法。包括统计接收数据包的信噪比SNR、链路质量指数LQI和数据包接收率PRR;线下生成训练集数据,即使用计算机生成训练集数据;线下,即使用计算机建立和训练支持向量机模型;线上,即接收机应用支持向量机模型预测无线传感网络高速传输时短期内数据包接收可能性。本发明专利技术理论合理,分类更准确,并能实现离线建模和在线预测;预测时所需数据包少;本发明专利技术的预测方法和模型能适应接收信号短期内剧烈变化;实际预测准确率高。

Predicting the Possibility of Packet Receiving Based on Support Vector Machine

The method of predicting the possibility of data packet reception based on support vector machine belongs to the field of wireless sensor network technology. It is a method of predicting the status of data packet reception in high-speed transmission of wireless sensor network based on support vector machine and according to the signal-to-noise ratio, link quality index and packet reception rate of a small number of data packets. Including statistics of SNR, link quality index LQI and PRR of received data packet; generation of training set data offline, even using computer to generate training set data; establishment and training of support vector machine model offline, and prediction of short-term data packet reception probability in wireless sensor networks with support vector machine model online. Sex. The present invention has reasonable theory, more accurate classification, off-line modeling and on-line prediction, less data packets required for prediction, prediction method and model of the present invention can adapt to drastic changes of received signals in a short period of time, and high prediction accuracy in practice.

【技术实现步骤摘要】
基于支持向量机的预测数据包接收可能性的方法
本专利技术基于支持向量机的预测数据包接收可能性的方法,属于无线传感网络
,是一种基于支持向量机的、根据少量数据包的信噪比、链路质量指数和数据包接收率预测无线传感网络高速传输时数据包接收状态的方法。
技术介绍
真实环境下,大量的无线传感网络节点的链路都属于过渡型,其链路质量不稳定,长期来看,其数据包接收率介于10%到90%,短期来看,其接收信号功率会在短期内剧烈变化,因而其链路质量在短期内剧烈变化,无线传感网络高速传输时的链路质量也是如此。目前,常见有如下两种预测无线传感网络高速传输时链路质量的方法:1)预测数据包接收率(以下简称PRR)由于受环境、多径衰落等因素的影响,很多无线传感网络节点的接收信号功率在短期内会剧烈变化,数据包接收率反映的是较长时间内的链路质量,并不能反映短期内数据包的接收可能性;2)预测短期内数据包接收可能性常见的是预测未来一个数据包的接收可能性,其仅有能接收和不能接收两种结果。目前,预测无线传感网络链路质量依赖的参量有数据包接收率(以下简称PRR)、信噪比(以下简称SNR)、链路质量指数(以下简称LQI),这些参量的获取方法,以及采用单一的参量预测无线传感网络高速传输时数据包接收可能性方面存在如下缺点:1)预测数据包接收率PRR,对过去一个时间窗口内的数据包接收情况进行统计,然而,无线传感网络节点的接收信号功率在短期内会剧烈变化,因此,这种统计方法的固有缺点是对当前接收信号功率变化反应很差,而当前接收信号功率的变化恰恰反映了未来接收信号功率的变化趋势。2)信噪比SNR信噪比SNR可由无线射频芯片中获得的参数通过一定计算得到,以CC2420为例,该芯片有一个内置的接收信号强度指示寄存器RSSI_VAL,接收到数据包后,读取该寄存器,获得的值减去45dB即可得该数据包的接收信号功率,空闲时(在接收数据包的间隙)读取信号强度指示寄存器RSSI_VAL的值减去45dB可得噪声功率,这两个功率之差就是SNR。SNR和PRR之间有单调增加的对应关系,但实测中只可能统计接收到的数据包的接收信号功率,而无法统计未接收到的数据包的信号功率,因此,统计这一参量预测无线传感网络高速传输时短期内数据包接收可能性存在固有偏差。3)链路质量指数LQILQI指示接收到的数据包的差错率,CC2420芯片提供了一个平均相关值Corr,LQI可由(Corr-a)·b计算得到(a和b是常数,在0-255之间),通常,得到的LQI在50-110之间,但是,相对于接收信号功率,LQI变化更为剧烈,而且实测中也只可能统计接收到的数据包的LQI,因此,统计这一参量预测无线传感网络高速传输时短期内数据包接收可能性存在更大的固有偏差。可见,无线传感网络高速传输时,其链路质量在短期内剧烈变化,获取上述的单一参量预测无线传感网络高速传输时短期内数据包接收可能性却存在明显的不足。
技术实现思路
本专利技术的目的是针对上述不足之处提供一种基于支持向量机的预测数据包接收可能性的方法,是一种基于支持向量机的、将PRR、SNR和LQI融合,仅通过少量数据包就可预测无线传感网络高速传输时短期内数据包接收可能性的方法,解决了现有的采用PRR、SNR或LQI预测无线传感网络高速传输时短期内数据包接收可能性存在的不足。本专利技术是采取以下技术方案实现的。基于支持向量机的预测数据包接收可能性的方法,包括如下步骤:1)统计接收数据包的信噪比SNR、链路质量指数LQI和数据包接收率PRR;1-1)进行数据包发送前的消息交互和接收机的相关设置;1-2)接收机建立和更新噪声基底表;1-3)获取数据包接收信息,并保存为文本文件。2)线下生成训练集数据,即使用计算机生成训练集数据;2-1)生成数据集;2-2)生成训练集数据。3)线下,即使用计算机建立和训练支持向量机模型;3-1)当训练集数据可进行非线性划分时,建立支持向量机模型;3-2)当训练集数据不可进行非线性划分时,引入惩罚机制后,建立支持向量机模型;3-3)使用步骤(2-2)生成的训练集数据对步骤(3-2)生成的模型进行训练,得到决策函数;4)线上,即接收机应用支持向量机模型预测无线传感网络高速传输时短期内数据包接收可能性;4-1)接收机的初始化;4-2)建立和更新接收机噪声基底表;具体过程与所述步骤(1-2)相同;4-3)接收机利用支持向量机模型对下一个数据包接收状态进行预测。进一步的,所述步骤(1-1)进行数据包发送前的消息交互和接收机的相关设置,其具体过程包括:1-1-1)当发射机和接收机的位置固定后,发射机发送AboutToStartMsgNum个间隔时间为Period1毫秒(以下单位记为ms)的AboutToStartMsg消息,其中AboutToStartMsgNum≥20,StartTransmitMsg消息中带有消息序列号,所述消息序列号从0开始,依次加1;1-1-2)当接收机接收到步骤(1-1-1)发来的一个AboutToStartMsg消息后,将接收到的该消息序列号保存下来,记为ReceivedMsgNum,按公式⑴计算时间长度StartTimeInterval,并不再接收其他的AboutToStartMsg消息;StartTimeInterval=(AboutToStartMsgNum-ReceivedMsgNum)*Period1公式(1)。进一步的,所述步骤(1-2)接收机建立和更新噪声基底表,其具体过程包括:1-2-1)接收机新建一个接收机噪声基底表,该噪声基底表含6个条目,每个条目保存一个短整数型数据,同时设置一个定时器Timer1,并将其触发时间设置为步骤(1-1-2)所述的StartTimeInterval毫秒;1-2-2)接收机进入等待状态;1-2-3)在步骤(1-2-1)设置的StartTimeInterval毫秒后接收机的定时器Timer1触发,接收机以60ms为周期定时采样信道空闲时的接收信号功率;如接收机正在接收数据包导致无法采样,则进入步骤(1-2-4);如能成功采样信道空闲时的接收信号功率,则进入步骤(1-2-6);1-2-4)启动一个定时器Timer2并将其触发时间设置为5-20ms之间的随机时间间隔,所述随机时间间隔记为SampleBusyDelayTime毫秒;1-2-5)SampleBusyDelayTime毫秒后定时器Timer2触发,继续采样信道空闲时的接收信号功率,如接收机仍然在接收数据包,则进入步骤(1-2-4);如能成功采样信道空闲时的接收信号功率,则进入步骤(1-2-6);1-2-6)将该接收信号功率值保存为噪声基底表中最后一个条目,同时丢弃噪声基底表中第一个条目,这种更新方式能够使噪声基底表中只保存最近6次采样值。进一步的,所述步骤(1-3)获取数据包接收信息,并保存为文本文件的具体过程包括:1-3-1)在所述步骤(1-1)中,发射机发送完AboutToStartMsgNum个AboutToStartMsg消息,再等待Period1毫秒时间后,马上开始发送共计TotalPacketNum个长度为PacketSize个字节的数据包;其中,TotalPacketNum≥20000;发送数据包的发本文档来自技高网
...

【技术保护点】
1.一种基于支持向量机的预测数据包接收可能性的方法,其特征在于,包括如下步骤:1)统计接收数据包的信噪比SNR、链路质量指数LQI和数据包接收率PRR;1‑1)进行数据包发送前的消息交互和接收机的相关设置;1‑1‑1)当发射机和接收机的位置固定后,发射机发送AboutToStartMsgNum个间隔时间为Period1毫秒的AboutToStartMsg消息,其中AboutToStartMsgNum≥20,StartTransmitMsg消息中带有消息序列号,所述消息序列号从0开始,依次加1;1‑1‑2)当接收机接收到步骤(1‑1‑1)发来的一个AboutToStartMsg消息后,将接收到的该消息序列号保存下来,记为ReceivedMsgNum,按公式⑴计算时间长度StartTimeInterval,并不再接收其他的AboutToStartMsg消息;StartTimeInterval=(AboutToStartMsgNum‑ReceivedMsgNum)*Period1   公式(1);1‑2)接收机建立和更新噪声基底表;1‑2‑1)接收机新建一个接收机噪声基底表,该噪声基底表含6个条目,每个条目保存一个短整数型数据,同时设置一个定时器Timer1,并将其触发时间设置为步骤(1‑1‑2)所述的StartTimeInterval毫秒;1‑2‑2)接收机进入等待状态;1‑2‑3)在步骤(1‑2‑1)设置的StartTimeInterval毫秒后接收机的定时器Timer1触发,接收机以60ms为周期定时采样信道空闲时的接收信号功率;如接收机正在接收数据包导致无法采样,则进入步骤(1‑2‑4);如能成功采样信道空闲时的接收信号功率,则进入步骤(1‑2‑6);1‑2‑4)启动一个定时器Timer2并将其触发时间设置为5‑20ms之间的随机时间间隔,所述随机时间间隔记为SampleBusyDelayTime毫秒;1‑2‑5)SampleBusyDelayTime毫秒后定时器Timer2触发,继续采样信道空闲时的接收信号功率,如接收机仍然在接收数据包,则进入步骤(1‑2‑4);如能成功采样信道空闲时的接收信号功率,则进入步骤(1‑2‑6);1‑2‑6)将该接收信号功率值保存为噪声基底表中最后一个条目,同时丢弃噪声基底表中第一个条目,这种更新方式能够使噪声基底表中只保存最近6次采样值;1‑3)获取数据包接收信息,并保存为文本文件;1‑3‑1)在所述步骤(1‑1)中,发射机发送完AboutToStartMsgNum个AboutToStartMsg消息,再等待Period1毫秒时间后,马上开始发送共计TotalPacketNum个长度为PacketSize个字节的数据包;其中,TotalPacketNum≥20000;步骤(1‑3‑1)中PacketSize通常取值为30;发送数据包的发送间隔在5ms到50ms之间随机取值,每个数据包中带有序列号,所述序列号从0开始,依次加1,第TotalPacketNum个数据包的序列号为TotalPacketNum‑1;1‑3‑2)根据步骤(1‑2)中的设置,接收机的定时器Timer1触发与发射机开始发送数据包在同一时刻,接收机每接收一个数据包,就读取该数据包的接收信号功率和链路质量指数,同时计算噪声基底表中的6个条目的平均值,将该平均值作为噪声基底,该数据包的信噪比由接收信号功率减去噪声基底得到;1‑3‑3)立即将步骤(1‑3‑2)中的数据包的序列号、数据包的接收信号功率和链路质量指数LQI以及信噪比SNR通过USB口或串口传送至计算机;1‑3‑4)计算机读取步骤(1‑3‑3)所述USB口或串口中的数据,将其保存为文本文件;2)线下生成训练集数据,即使用计算机生成训练集数据;2‑1)生成数据集;2‑2)生成训练集数据;3)线下,即使用计算机建立和训练支持向量机模型;3‑1)当训练集数据可进行非线性划分时,建立支持向量机模型;3‑2)当训练集数据不可进行非线性划分时,引入惩罚机制后,建立支持向量机模型;3‑3)使用步骤(2‑2)生成的训练集数据对步骤(3‑2)生成的模型进行训练,得到决策函数;4)线上,即接收机应用支持向量机模型预测无线传感网络高速传输时短期内数据包接收可能性;4‑1)接收机的初始化;4‑2)建立和更新接收机噪声基底表;具体过程与所述步骤(1‑2)相同;4‑3)接收机利用支持向量机模型对下一个数据包接收状态进行预测。...

【技术特征摘要】
1.一种基于支持向量机的预测数据包接收可能性的方法,其特征在于,包括如下步骤:1)统计接收数据包的信噪比SNR、链路质量指数LQI和数据包接收率PRR;1-1)进行数据包发送前的消息交互和接收机的相关设置;1-1-1)当发射机和接收机的位置固定后,发射机发送AboutToStartMsgNum个间隔时间为Period1毫秒的AboutToStartMsg消息,其中AboutToStartMsgNum≥20,StartTransmitMsg消息中带有消息序列号,所述消息序列号从0开始,依次加1;1-1-2)当接收机接收到步骤(1-1-1)发来的一个AboutToStartMsg消息后,将接收到的该消息序列号保存下来,记为ReceivedMsgNum,按公式⑴计算时间长度StartTimeInterval,并不再接收其他的AboutToStartMsg消息;StartTimeInterval=(AboutToStartMsgNum-ReceivedMsgNum)*Period1公式(1);1-2)接收机建立和更新噪声基底表;1-2-1)接收机新建一个接收机噪声基底表,该噪声基底表含6个条目,每个条目保存一个短整数型数据,同时设置一个定时器Timer1,并将其触发时间设置为步骤(1-1-2)所述的StartTimeInterval毫秒;1-2-2)接收机进入等待状态;1-2-3)在步骤(1-2-1)设置的StartTimeInterval毫秒后接收机的定时器Timer1触发,接收机以60ms为周期定时采样信道空闲时的接收信号功率;如接收机正在接收数据包导致无法采样,则进入步骤(1-2-4);如能成功采样信道空闲时的接收信号功率,则进入步骤(1-2-6);1-2-4)启动一个定时器Timer2并将其触发时间设置为5-20ms之间的随机时间间隔,所述随机时间间隔记为SampleBusyDelayTime毫秒;1-2-5)SampleBusyDelayTime毫秒后定时器Timer2触发,继续采样信道空闲时的接收信号功率,如接收机仍然在接收数据包,则进入步骤(1-2-4);如能成功采样信道空闲时的接收信号功率,则进入步骤(1-2-6);1-2-6)将该接收信号功率值保存为噪声基底表中最后一个条目,同时丢弃噪声基底表中第一个条目,这种更新方式能够使噪声基底表中只保存最近6次采样值;1-3)获取数据包接收信息,并保存为文本文件;1-3-1)在所述步骤(1-1)中,发射机发送完AboutToStartMsgNum个AboutToStartMsg消息,再等待Period1毫秒时间后,马上开始发送共计TotalPacketNum个长度为PacketSize个字节的数据包;其中,TotalPacketNum≥20000;步骤(1-3-1)中PacketSize通常取值为30;发送数据包的发送间隔在5ms到50ms之间随机取值,每个数据包中带有序列号,所述序列号从0开始,依次加1,第TotalPacketNum个数据包的序列号为TotalPacketNum-1;1-3-2)根据步骤(1-2)中的设置,接收机的定时器Timer1触发与发射机开始发送数据包在同一时刻,接收机每接收一个数据包,就读取该数据包的接收信号功率和链路质量指数,同时计算噪声基底表中的6个条目的平均值,将该平均值作为噪声基底,该数据包的信噪比由接收信号功率减去噪声基底得到;1-3-3)立即将步骤(1-3-2)中的数据包的序列号、数据包的接收信号功率和链路质量指数LQI以及信噪比SNR通过USB口或串口传送至计算机;1-3-4)计算机读取步骤(1-3-3)所述USB口或串口中的数据,将其保存为文本文件;2)线下生成训练集数据,即使用计算机生成训练集数据;2-1)生成数据集;2-2)生成训练集数据;3)线下,即使用计算机建立和训练支持向量机模型;3-1)当训练集数据可进行非线性划分时,建立支持向量机模型;3-2)当训练集数据不可进行非线性划分时,引入惩罚机制后,建立支持向量机模型;3-3)使用步骤(2-2)生成的训练集数据对步骤(3-2)生成的模型进行训练,得到决策函数;4)线上,即接收机应用支持向量机模型预测无线传感网络高速传输时短期内数据包接收可能性;4-1)接收机的初始化;4-2)建立和更新接收机噪声基底表;具体过程与所述步骤(1-2)相同;4-3)接收机利用支持向量机模型对下一个数据包接收状态进行预测。2.根据权利要求1所述的基于支持向量机的预测数据包接收可能性的方法,其特征在于,步骤(2-1)生成数据集的具体过程包括,2-1-1)计算机读取所述步骤(1-3)中保存的文本文件;2-1-2)通过接收到的数据包序列号判断未接收到的数据包的序列号,即还原出所有数据包的接收信息并将其组成数据包接收信息序列表,所述信息序列表有TotalPacketNum个条目,每个条目由数据包序列号、数据包LQI和数据包SNR组成;上述每个条目的组成方法如下:2-1-2-1)如接收机接收到序列号为k的数据包,则数据包接收信息序列表第k+1个条目记录的数据包序列号为k,该条目的数据包LQI为所述步骤(1-3)中读取的序列号为k的数据包的LQI在[40,110]内的归一化值记为LQIk;该条目的第k+1个条目数据包SNR为所述步骤(1-3)中读取的序列号为k的数据包的SNR在[-10,50]内的归一化值记为SNRk;2-1-2-2)如接收机未接收到序列号为j的数据包,则该表的第j+1个条目记录的数据包序列号为j,该条目记录的数据包LQI和数据包SNR均为0;2-1-3)将步骤(2-1-2)得到的数据包接收信息序列表按先后顺序,每11个相邻的条目分为一组,则共可分为TotalDataSetNum个组,TotalDataSetNum计算公式如下公式(2),其中,符号“[]”表示取整;2-1-4)丢弃除了步骤(2-1-3)得到的序列表条目之外的、该数据包接收信息序列表其余的条目依次计算步骤2-1-3)所述的每个组的数据包接收率PRRn、每个组前10个数据包的链路质量指数平均值LQIn和每个组前10个数据包的信噪比平均值SNRn,将其作为数据集的输入量PKTn:PKTn=[SNRn,LQIn]公式(3);其中,n=1,2,3,...,TotalDataSetNum;PKTn=[SNRn,LQIn]表示用SNRn和LQIn组成特征向量;2-1-5)统计每组的第11个条目的接收状态,将其作为数据集的输出量Outputn,如第11个条目的数据包LQI和数据包SNR不全为0,则Outputn等于1,表示接收机接收到该数据包;如第11个条目的数据包LQI和数据包SNR全为0,则Outputn等于-1,表示接收机未接收到该数据包;2-1-6)将前述步骤(2-1-4)的输入量和步骤(2-1-5)的输出量组成的数据对{PKTn,outputn},则数据集共有TotalDataSetNum个数据对。3.根据权利要求2所述的基于支持向量机的预测数据包接收可能性的方法,其特征在于,所述步骤(2-2)生成训练集数据的过程包括:将所述步骤(2-1)中的数据集平均分成6个部分,每部分包含size个输入量和输出量组成的数据对{PKTn,outputn},这6个部分组成训练集数据;所述size按下述公式⑺计算,4.根据权利要求2所述的基于支持向量机的预测数据包接收可能性的方法,其特征在于,所述步骤(3-1)建立支持向量机模型的过程,具体的是,以所述步骤(2-1)的SNRn为横轴即x轴,以LQIn为纵轴即y轴,建立坐标系,并将上述步骤(2-2)的训练集数据在该坐标系中全标示出来;数据点记为(SNRn,LQIn),简记为(xn,yn),由于进行过归一化,所以0≤SNRn≤1,0≤LQIn≤1,0≤xn≤1,0≤yn≤1,对应的输出为Outputn,n=1,2,…,size。5.根据权利要求1所述的基于支持向量...

【专利技术属性】
技术研发人员:鲁琛
申请(专利权)人:无锡职业技术学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1