一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于隐马尔科夫的车联网切换决策算法的制作方法

2022-02-20 20:38:32 来源:中国专利 TAG:


1.本发明属于车联网(internet of vehicles,iov)底层通信协议范畴,涉及一种基于隐马尔科夫的车联网切换决策算法。


背景技术:

2.随着人们生活水平的提高,对车辆上的实时道路安全服务与信息娱乐应用的需求不断增长,从而获得良好的驾驶体验。因此,一个高性能的车联网,对各类智能交通应用实现变得尤为重要。移动性管理机制可以帮助终端与网络的连接达到最佳状态,而切换管理是移动性管理中至关重要的过程,能够在当前连接网络服务质量较差时选择一个最优的目标网络,保证了用户的使用体验。但是,由于车联网具有车辆快速移动和网络拓扑频繁变化的特点,严重降低了网络切换性能。
3.现有的切换决策算法主要分为五大类,分别为基于单因素的切换决策算法、基于效用函数的切换决策算法、基于多属性决策的切换决策算法、基于服务质量的切换决策算法以及基于人工智能的切换决策算法。基于单因素的切换决策算法考虑因素比较单一,不适用于车联网中的复杂环境。基于效用函数的切换决策算法把各个无线接入网络的性能量化,带入到效用函数之中,从而判决出最佳切换目标网络。基于多属性决策的切换决策算法综合考虑网络的性能、移动节点的轨迹、用户的习惯等信息,把这些因素带入到常用的多属性决策算法对移动终端周围的可接入网络的优先级进行排序,选择最佳的网络进行接入。基于人工智能的切换决策算法属于新兴的切换决策算法,也是近年来比较热门的算法,该类算法通常使用模式识别、模糊逻辑、神经网络等人工智能的方法来解决切换问题。目前存在的切换决策算法还不够完善,在切换时延、丢包率方面存在一定问题,同时,还会发生频繁在两个或多个网络之间来回切换的现象,即“乒乓效应”。


技术实现要素:

4.针对上述问题,本发明的目的是提供一种适用于异构车联网环境的切换决策算法,有效降低切换过程中的切换时延和丢包率,避免“乒乓效应”的发生。
5.本发明技术方案如下:提出一种基于隐马尔科夫的车联网切换决策算法,首先使用长短期记忆网络(long-short-term memory,lstm)预测模型完成对车辆当前连接的接收信号强度的预测,判断是否需要触发切换以及触发切换的具体时间;其次,引入隐马尔科夫模型(hidden markov model,hmm),结合车辆的观测属性,判决出车辆需要进行切换的目标网络;最后,在系统设计的过程中考虑了该算法与lte-v协议栈的兼容性,把整个系统分为信息交互模块、信息维护模块、切换触发模块、网络选择模块和数据转发模块五个模块。
6.所述信息交互模块负责信息的发送与接收;所述信息维护模块用于存储需要保存的信息;所述切换触发模块对是否进行切换进行预测;所述网络选择模块选择最优的切换目标网络;所述数据转发模块完成对数据的封装和解析。
7.信息交互模块具体为车辆与路边设备之间互相发送早期注册请求数据包和更新
数据包等内容,而且ap也会通过广播的方式向周围的车辆节点发送自适应hmm元素以及该ap的邻居ap列表。信息交互模块负责各个节点之间的数据交互工作,控制需要转发的消息的时间与类型。
8.信息维护模块具体为该模块工作在网络层的管理实体dme中,在lte-v协议栈的mib中原本存在本地信息表、dsm服务请求表、应用请求信息表、使用者服务请求消息表四个表项,用来存储dsm短消息和可以发送或需要接受的消息服务。本系统为了切换决策算法的实现增加了表项,对车辆的观测状态、邻居网络列表、hmm模型以及rssi序列进行了存储与维护。
9.切换触发模块具体为帮助车辆节点提前判断出当前连接的ap在接下来一段时间内的可接收信号强度(received signal strength indicator,rssi),从而判断出车辆节点触发切换的具体时间。
10.在本发明中所提出的算法中,假设在一个区域内存在多个ap,每个ap都周期性地进行广播发送数据包,广播数据包内包括了该ap的位置和服务信息。车辆接收到数据包后根据其中的信息估算出其在接下来一段时间内的rss。已知车辆自身的位置信息和ap的位置信息,二者之间距离作为用来估算的重要的参数。除此之外,在现实的车联网中,存在建筑或树木等障碍物影响ap的信号强度,在计算中加入路径损耗因子。接收信号强度随距离的增加呈对数递减,因此rssi表示为:
[0011][0012]
其中,dbm0表示在ap附近1米时的rssi,d为车辆节点与ap之间的距离,n为路径损耗因子常数,d0为定值,代表车辆节点与ap之间的距离的单位度量参数值。
[0013]
当车辆节点连接到网络时,窗口时间l内维护车辆当前连接ap的rssi列表{rssi
t
,rssi
t 1


,rssi
t l
},根据该列表估计在接下来一段时间内的rssi,提前预测是否需要发生切换,以发现并注册新的转交地址,此过程需要预测模型获得接下来的rssi。递归神经网络(recurrent neural networks,rnn)属于机器学习中用于时间序列预测的方法,其使用自己的输出作为下一步的输入来保留从一次迭代到下一次迭代的状态。普通的rnn模型无法捕获序列中的长期依赖关系,因此采用lstm网络来解决这一问题,lstm使用有效的基于梯度的学习算法,解决递归过程中的指数衰减误差及消失问题。
[0014]
lstm网络预测模型分为输入层、隐藏层和输出层三层,输入层为车辆节点当前连接ap的rssi列表,该列表传播到隐藏层后,隐藏层更新其隐藏层状态,并根据输入的值计算出结果,即rssi预测列表。使用以下公式更新模型中的隐藏层的状态:
[0015][0016][0017]
其中,f是设置为s型函数的非线性隐藏层函数,w是贝叶斯向量,定义了权重矩阵。lstm网络中的隐藏层还包含存储单元和门单元,它们会更改常规rnn模型中的f函数以存储信息,存储单元定义了一些现行的相互作用以决定在存储器中保留哪类信息并输出隐藏状态。
[0018]
基于lstm的切换触发算法分为三步:数据预处理、学习和预测。在本算法中,车辆
节点维护当前连接ap更新数据包中的rssi并按时间顺序保存在列表中,使用该rssi序列作为输入向量,以离线的方式训练lstm模型,并使用保存的模型参数来预测新的rssi序列。除此之外,在收集用于训练的rssi值时,需要设置一个输入向量的窗口大小,该大小为预测所需要的rssi序列向量中rssi的个数。当窗口大小过小时,不足以根据其来精准地预测出接下来一段时间内的rssi,得到的预测序列会与实际rssi相差较大;而窗口大小过大时,会增加训练的开销,使模型训练的损耗增加,所以根据不同窗口大小的测试,选取了合适的窗口大小的值,以更好地适应切换时间和网络延迟。
[0019]
网络选择模块具体为切换决策算法的核心内容,目的是选择出当前车辆要切换至的最佳目标网络。该模块使用了隐马尔可夫模型进行预测,来决定车辆要切换的目标网络。
[0020]
本发明的hmm模型有n个不同的状态:s1,s2,

,sn,分别代表了周围不同的邻居ap,在每个时刻t=1,2,

,t都发生状态转换,m表示每个状态的观测状态的数量,是车辆运动状态的映射,x
t
表示在t时刻的状态。一个hmm模型包含三个部分:状态转移矩阵a、观测概率矩阵b以及初始概率分布π。状态转移矩阵a为车辆在各个ap间进行切换的概率的矩阵,定义如下:
[0021][0022]
其中,a
i,j
代表了车辆从api切换到apj的概率,具体表示为
[0023]ai,j
=p(x
t
=sj|x
t-1
=si),i,j∈n.
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0024]
观测概率矩阵b为车辆在当前观测状态下连接某一ap的概率的矩阵,定义如下:
[0025][0026]
其中,b
i,j
代表了车辆在当前的运动情况下连接到apj的概率,具体表示为
[0027]bi,j
=p(y
t
=ok|x
t
=sj),j∈n,k∈m.
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0028]
上式中的ok代表的是车辆当前观测状态,通过车辆的测量值及卡尔曼滤波器得到。初始概率分布π为在一开始车辆连接到各个ap的概率的集合
[0029]
πi=p(x1=si),1《i《n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0030]
将以上三个元素定义到一个三元组λ中,
[0031]
λ=(a,b,π)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0032]
要切换到的ap以及其附属的map状态是隐藏的,而车辆的移动属性通过测量得到,基于上述hmm元素,基于网络的观测值来训练和预测概率值,主要通过两步来完成:自适应学习和初始矩阵估算。自适应学习过程用于递归估计ap概率,仅依赖于先前的时间戳来更新观测矩阵。ap概率分为两部分来描述,在t=1时和以及其他时间段时,根据初始概率π={α0(i)},得到t=1时的ap概率:
[0033]
α1(i)=π
ibi
(o1)ai(1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0034]
其它时间段时ap在时间t的概率为
[0035][0036]
ap的初始概率分布如下
[0037][0038]
其中δ(.)是kronecker增量,由参数值确定,如果参数为0则其值为1,如果参数为其他值则其值为0。观测状态在切换完成使用w(i)代替似然估计,第i个数据包的权重由以下公式确定
[0039][0040]
其中l为最后一个数据包的序号,确保权重值不为零。状态转移矩阵与观测矩阵的重计算公式如下:
[0041][0042][0043]
其中x
p
为预测到的ap节点,xa为实际连接的ap节点,oc是预测时车辆的当前观测状态。
[0044]
本发明采用三种车辆的运动属性来描述观测状态,分别是车辆的运动方向、移动速度以及地理位置信息。在车联网的环境下,车辆根据其自身的车载设备获取其地理位置信息,同时通过ap节点发送的数据包获取ap的位置信息,所以车辆的移动方向θ可由以下公式计算
[0045]
dir
x
=predict
x-curr
x
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0046]
diry=predict
y-curryꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0047][0048]
其中predict
x
和predicty是预测得到的车辆的下一个位置的坐标信息,curr
x
和curry是车辆当前位置的坐标信息,根据反正切函数得到车辆运动方向与x轴方向的夹角。在定义了车辆运动方向的角度后,为了方便使用,将数据离散为等宽特征,以便把连续值转换为离散的对应值,因此以45
°
为一个范围,把车辆的运动方向定义为8个不同的方向:n、ne、e、se、s、sw、w、nw。
[0049]
车辆的速度s根据卡尔曼滤波器及车辆的当前速度来得到,将预测得到的速度转换为观测序列中的离散数据集,把车辆的速度根据其大小划分为6个不同的等级,在该模型中,假设车辆的速度不超过100km/h。
[0050]
车辆的位置信息为hmm模型中第三个观测序列,为使用方便选择车辆的二维位置作为使用,由经度和纬度来表示。通过车载gps获取车辆的位置信息,并通过卡尔曼滤波器进行估算,每辆车计算其自身位置与当前连接ap覆盖范围边缘之间的距离,然后车辆的位置被映射到地图上的网格编号,其中每个ap所覆盖的网格总数由其最大通信距离定义。
[0051]
数据转发模块主要作用是对需要发送的信息从上层到下层逐层进行封装发送出去,并对接收到的信息进行逐层解析,最后得到所需要的数据;该模块完成了不同节点之间的信息的传递功能。
附图说明
[0052]
图1是本发明提出的切换决策算法的网络架构模型图。
[0053]
图2是切换决策算法的切换流程图。
[0054]
图3是切换触发算法的流程图。
[0055]
图4是本发明系统总体架构图。
[0056]
图5是信息交互模块中的信息数据包的消息格式图。
[0057]
图6是信息交互模块中的ap信息数据包发送流程图。
[0058]
图7是本发明中的早期注册请求包的发送流程图。
[0059]
图8是本发明中的ap邻居列表结构设计图。
[0060]
图9是数据封装流程图。
具体实施方式
[0061]
下面结合附图对本发明的具体实施做详细说明。
[0062]
如图1所示,为本发明所提出的切换决策算法相应的网络架构模型。机器学习等人工智能的方法的出现对车联网中的切换问题也提出了新的解决思路,其通过大量数据进行学习这一特性适用于车联网中复杂多变的场景,所以本发明提出了一种基于隐马尔科夫的车联网切换决策算法,将神经网络和hmm引入hmipv6协议中。本发明中的切换分为域间切换和域内切换,域间切换为在两个不同map之间的网络进行切换,域内切换为在相同的map之间的网络进行切换。
[0063]
图2是pre-hmipv6切换决策算法的切换流程,其中起主要作用的为map、ap、和mn。map是mn及其ha之间的中间节点,在一个map域中维护了多个ap,每个ap分别管理着hmm数据并维护一个相邻ap列表。mn将定期使用卡尔曼滤波器跟踪和预测车辆的运动属性,并负责使用从ap获得的hmm元素进行切换预测。该切换决策算法主要分为三个部分:切换触发的预测、目标网络的预测以及网络的更新。
[0064]
基于lstm的切换触发算法分为三步:数据预处理、学习和预测。在本算法中,车辆节点维护当前连接ap更新数据包中的rssi并按时间顺序保存在列表中,使用该rssi序列作为输入向量,以离线的方式训练lstm模型,并使用保存的模型参数来预测新的rssi序列。除此之外,在收集用于训练的rssi值时,设置一个输入向量的窗口大小,该大小为预测所需要的rssi序列向量中rssi的个数。当窗口大小过小时,不足以根据其来精准地预测出接下来一段时间内的rssi,得到的预测序列会与实际rssi相差较大;而窗口大小过大时,会增加训练的开销,使模型训练的损耗增加,所以根据不同窗口大小的测试,选取了合适的窗口大小的值,以适应切换时间和网络延迟。
[0065]
切换触发算法又分为rssi的预测和切换触发的判断。首先,收集车辆的rssi观测值并开始切换触发程序,如果车辆收集到的rssi数量未达到预测所需要的窗口大小,车辆将继续使用当前coa更新rssi,直到车辆收集到足够的rssi值时,调用基于lstm算法的rssi
预测方法,得到预测的rssi序列。然后,通过预测得到的rssi序列计算平均值并为切换触发设置一个阈值,如果其平均值低于阈值,则说明当前ap所提供的网络服务质量较低,需要发生网络切换,触发切换算法以找到新的coa;反之,如果平均值高于阈值,则说明当前网络服务质量良好,不需要发生切换,车辆将定时重复此过程直到rssi预测序列的平均值低于阈值水平。
[0066]
切换触发算法的整个流程如图3所示。在本发明所提出的算法中,lstm网络采用离线训练的方式进行训练,通过不断对模型进行训练及参数的更改,得到适用于车联网中进行切换触发预测的lstm模型,处于车联网环境中的每个车辆节点收到经过训练的lstm网络的副本,通过该副本对接下来一段时间内的rssi值进行预测,得到rssi预测序列,然后通过得到的预测rssi序列的平均值与阈值的大小判断是否触发切换。
[0067]
当切换触发算法判断需要进行切换后,车辆节点需要切换至其他网络,开始请求新的ap连接以能够进行正常的网络通信,此时进入切换决策阶段。在这一阶段,车辆节点将计算其相对与当前连接ap的方向、速度以及位置信息,并把这些信息封装在观测状态o内,然后把观测状态导入hmm模型中,生成hmm模型中初始状态的ap估计向量。
[0068]
当其中的ap切换概率达到预设的阈值α时,表明构建了足够的学习且存在合适的ap节点。移动节点通过map发送一个早期注册请求包,传输到预测的新ap。在早期注册请求数据包中包含了车辆当前的ap和该ap附属的map以及预测到的ap和其附属的map,除此之外还包含了车辆的观测状态。如果预测的ap对应的map域与当前连接的map域相同,即域内切换,则不需要ha的绑定更新过程,并且map将把早期注册数据包转发到预测得到的新ap。反之,如果预测的ap对应的map域与当前的map域不同,即域间切换,那么新map将会把车辆信息添加到其缓存中,并把早期注册请求转发到车辆的ha,同时设置一个生命周期计时器来防止预测错误。当车辆节点进入新的ap覆盖范围时,会给新的ap发送注册消息。如果该ap为已经预测到的新ap,则不再向map以及ha发送消息,注册过程完成。然后把更新消息发送到map和ha,以取消生命周期计时器。相反,如果hmm预测方法并未返回预测的ap,那么车辆节点将使用它的ap广播缓存来启动早期注册。
[0069]
当预测完成,车辆连接到新的ap和map之后,将更新最新连接的map中的生命周期计时器,并且map向移动节点相应的ha发送一个更新数据包来更新它的时间。同时,移动节点还向之前的ap发送一个更新数据包,通知ap根据数据包的内容删除车辆信息并更新该ap的hmm模型参数。如果发生预测失败的情况,则使用hmipv6切换协议中的标准注册过程,并给新注册的map发送给之前的ap一个更新数据包,该数据包包含新注册的ap、预测的ap以及观测状态。在接收到更新数据包时,ap首先检查新注册的ap是否在其邻居列表中,如果不存在该ap,则在它的邻居列表中添加一个新ap并更新hmm模型。在本发明提出的协议中,规定了一个ap的邻居列表数量的最大值,因此当发现新ap时,最低概率的相邻ap将被删除,用新ap替换。
[0070]
图4为本发明系统总体架构图,考虑到本发明设计的切换决策算法与lte-v协议栈的兼容性,该系统基于lte-v协议栈进行设计,总共为以下五个模块:信息交互模块、信息维护模块、切换触发模块、ap选择模块和数据转发模块。
[0071]
图5为信息交互模块中需要转发的信息数据包的消息格式,把其作为lte-v协议中的一种dsm消息发送,封装在data部分。ap信息数据包总体分为头部信息和数据内容两部
分,头部信息包含了该节点的mac地址,数据部分则包含了该节点的地理位置信息、生成的hmm模型以及其邻居ap列表。
[0072]
ap信息数据包的发送采用了定时广播的形式,广播的时间间隔根据需求进行调整。其发送流程如图6所示,当设备启动时,上层应用向管理实体dme发送ap信息广播服务请求,然后设置一个生命周期计时器来控制信息的发送周期,当生命周期计时器达到所预定的时间后,从管理实体的mib中获取最新的自适应hmm元素和该ap的邻居列表,然后进行信息的完整性检验,如果信息完整,就把这些信息按照ap信息数据包的格式封装,数据逐层封装完成后调用接入层的接口广播数据包。每一次数据广播之后重置生命周期计时器,等待下一次的ap信息广播。
[0073]
图7为早期注册请求包的发送流程,早期注册请求包采用了单播的形式,当车辆节点决定启动网络切换时,首先会向其map域发送一个早期注册请求数据包,根据新预测的ap的map域是否与现在连接的map域相同,判断选择域间切换或域内切换;域间切换则向ha发送绑定更新。当车辆节点进入新ap的通信范围时,向其发送注册请求消息,如果该ap为预测到的ap则注册完成,否则向map及ha发送消息,然后注册过程结束。
[0074]
图8为需要存储的ap邻居列表的结构设计图,根据异构车联网中节点移动速度快、网络拓扑结构变化频繁的特点,车辆节点易发生切换,所以会对邻居网络列表进行频繁的插入、删除或查找操作,因此邻居网络列表的设计必须能够快速地完成上述需求,以减少切换决策过程的时间,提高切换算法的效率。车辆节点每进入一个ap的覆盖范围,都会收到其发送的邻居网络列表,所以需要保存多个邻居网络列表,每一个邻居列表都以链表的形式进行存储,每个节点都包含了apid、updatetime、latitude、longitude、server、rssi、next信息,其中apid为区分ap的唯一标识,updatetime为最后一次更新该节点信息的时间,latitude和longitude为该节点的位置信息,server为该ap可提供的服务类型,rssi为在该ap周围的可接收信号强度。
[0075]
图9为数据帧在dsm发送时的帧结构变化流程,车辆和ap需要发送的消息存储在data部分,由应用层或者管理实体dme通过dsm.request原语发送给dsmp实体,dsmp接收后为其添加dsmp头部结构,然后通过adaptation-layer.request原语发送给适配层,在适配层为信息添加适配层头部,接下来通过access-layer.request原语发送给接入层,将接入相关技术添加到接入层头部,封装过程到此结束,接入层把封装好的消息通过广播的形式或其他方法发送出去。
[0076]
数据解析的流程与数据封装的流程是相对应的,当车辆节点接收到数据包后,首先传入接入层,接入层通过发送access-layer.indication原语指示高层收到了接入数据,其中包含了数据、地址信息及优先级,适配层收到数据之后对数据进行解析,通过验证数据头部的协议类型判断数据是否合法,然后通过adaptation-layer.indication原语将数据发送到dsmp层。在dsmp层,通过aid来辨识接收的消息服务类型,如果是切换相关的信息则在dsmp层完成相关操作,如果是其它类型的服务信息则通过dsm.indication原语发送给应用层。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献