基于隐马尔可夫模型的车联网安全消息单跳协作广播方法与流程

文档序号:17126771发布日期:2019-03-16 00:33阅读:218来源:国知局
基于隐马尔可夫模型的车联网安全消息单跳协作广播方法与流程

本发明属于车联网领域,尤其是涉及基于隐马尔可夫模型的车联网安全消息单跳协作广播方法。



背景技术:

为了解决日益严重的交通拥堵、事故频发等问题,车联网应运而生,并且已经成为了各国政府、国内外高校和各大公司共同关注的焦点。通过安装在车辆上的各种传感器和通信模块,车辆不仅能够感知周围的事物,还能够和周围的其它车辆、行人以及基础设施等实现信息共享。车联网可以提供多样化的服务,总体而言,这些服务可以分为以下三类:(1)安全类应用(例如:碰撞预警、盲区警报和变动辅助等);(2)交通管理类应用(例如:收费、车流统计和红绿灯管理等);(3)娱乐类应用(例如:多媒体下载、电子邮件、车上办公和游戏等)。其中,安全类应用是车联网中最重要的一类应用,也是车联网设计的初衷,对时延和可靠性有着非常严格的要求。另外,安全类消息一般依赖广播特别是单跳广播进行传输,因为大部分安全类应用的目标节点都在源节点的一跳通信范围之内。所以,及时可靠的单跳广播服务是车联网的一项关键技术。另外,由于车辆节点的高度动态性,车联网的拓扑结构和信道状态等处于快速变化中,在这样的环境中提供及时可靠的广播服务又极具挑战性。

根据采取的策略不同,现有的增强单跳广播可靠性的技术可以分为以下三类:(1)基于重传的方法,也就是源节点多次广播同样的数据包。例如,2004年发表在会议“acminternationalworkshoponvehicularadhocnetworks”上的论文《vehicle-to-vehiclesafetymessagingindsrc》提出了6种不同的重传机制。这些机制将信息的生命周期分成n个时隙,源节点以固定或者随机的方式从中挑选出k个时隙进行重复广播。2005年发表在会议“61stieeevehiculartechnologyconference”上的论文《anoptimizedadaptivebroadcastschemeforinter-vehiclecommunication》提出了一种自适应的重广播算法,节点可以根据它周围两跳邻居的数量决定执行重广播的概率。2007年发表在会议“wirelessnetworkingforintelligenttransportationsystemsworkshops”上的论文《messagebroadcastusingopticalorthogonalcodesinvehicularcommunicationsystems》提出了一种用光正交码来选择具有最小相关性的重广播模式的方法。2011年发表在期刊《computercommunications》第34卷第15期的论文《repetition-basedcooperativebroadcastingforvehicularad-hocnetworks》提出了一种基于协作重传的重广播协议,在初次广播以后,源节点和协作节点可以一起进行重广播。2016年发表在期刊《ieeetransactionsonvehiculartechnology》第65卷第12期上的论文《crb:cooperativerelaybroadcastingforsafetyapplicationsinvehicularnetworks》基于分布式tdma协议,提出了一种利用空闲时隙来进行协作重广播的方法。上述两种基于协作的重广播方法均利用了历史消息对接收结果进行预测,而由于车联网信道变化的速度非常快,这种预测方式的准确率无法得到保证。(2)基于回传确认的方法,也就是部分或者全部目的节点在接收到广播包之后向源节点回传确认消息。例如,2001年发表在会议“ieeemilitarycommunicationsconference”上的论文《macreliablebroadcastinadhocnetworks》提出了一种将广播传输分解成多个单播传输进行回传确认的方法。2002年发表在会议“internationalconferenceonparallelprocessing”上的论文《reliablemaclayermulticastinieee802.11wirelessnetworks》提出了一种广播协议,源节点利用用rak包(requestforack)从每个目的节点收集ack信息。(3)基于参数调整的方法,也就是根据网络的状态对参数进行调整。例如,2006年发表在会议“3rdacminternationalworkshoponvehicularadhocnetworks”上的论文《increasingbroadcastreliabilityinvehicularadhocnetworks》提出了一种调整竞争窗口来调高接收成功率的广播方法,源节点通过测量自己接收邻居节点数据包的成功率来感知信道的竞争情况,从而调整竞争窗口的大小。

基于回传确认的方法不可避免地会带来较大的时延,而基于参数调整的方法只能在一定程度上改善接收效果,因此,基于重传的方法更加适合车联网。现有的技术虽然已经将协作重传引入到单跳广播方法中以抵抗无线信道衰落引起的接收成功率下降,但是,现有技术所采取的基于历史接收成功率来预测此次接收结果的方法准确度较低,协作重传针对性较差。



技术实现要素:

本发明的目的在于针对车联网信道质量差和拓扑变化快等特点,提供可通过提高对初始化广播结果的预测准确度进一步提高协作重广播接收成功率的基于隐马尔可夫模型的车联网安全消息单跳协作广播方法。

本发明包括以下步骤:

步骤1建立模型;

在步骤1中,所述建立模型可包括;

(1)建立信道状态模型:在某个时隙上,信道可能处于bad或者good两种状态中的一种,因此,可以用集合q={q1,q2}表示信道状态的集合,其中,q1表示信道处于bad状态,q2表示信道处于good状态;若在时间长度t内连续观察信道状态,则可得到长度为t的信道状态序列,用集合i={i1,i2,…,it}表示;用矩阵a=[aij]2×2表示信道状态转移矩阵,其中,aij=p(it+1=qj|it=qi),i=1,2;j=1,2是在时刻t处于状态qi的条件下在时刻t+1转移到状态qj的概率;

(2)建立接收功率观测模型:用集合v={v1,v2,…,vm}表示节点接收到数据包的接收功率的量化值;每个节点在本地维护一张接收功率表t,当接收到邻居节点的数据包后立即测量和量化接收功率,并更新表t中的对应项;由于系统中的节点每f个时隙接入一次信道,因此,表t中的观测值的更新周期为f;若在时间长度t内连续观察接收功率值,则可得到长度为t的接收功率序列,用o={o1,o2,…,ot}表示;

(3)观测概率矩阵与初始状态概率向量:用b=[bj(k)]2×m表示观测概率矩阵,其中,bj(k)=p(ot=vk|it=qj),k=1,2,…,m;j=1,2表示在时刻t信道处于状态qj的条件下观测到接收功率vk的概率;用π=(πi)表示信道的初始状态概率向量,其中,πi=p(i1=qi),i=1,2是时刻1信道处于状态qi的概率;因此,信道状态的隐马尔可夫模型可以用λ=(a,b,π)表示;

(4)建立优化目标模型:所述建立优化目标模型是求得一个信道状态模型λ,使得在该模型下观测到接收功率序列o={o1,o2,…,ot}的概率最大,也即p(o|λ)最大。

步骤2参数训练;

在步骤2中,所述参数训练可包括:

(1)参数初始化:设接收功率观测序列o中时刻t的观测值ot与时刻t+1的观测值ot+1均小于阈值vth频次为abb,时刻t的观测值ot小于设置的阈值vth而时刻t+1的观测值ot+1大于vth的频次为abg,时刻t的观测值ot大于设置的阈值vth而时刻t+1的观测值ot+1小于vth的频次为agb,时刻t的观测值ot与时刻t+1的观测值ot+1均大于阈值vth的概率为agg;设接收功率观测序列o中时刻t的观测值ot小于设置的阈值vth的频次为ab,大于等于阈值vth的频次为ag,那么,可以初始化a为设序列o中时刻t的观测值ot小于设置的阈值vth的频次为ab,大于vth的频次为ag,初始化π为而对于b的初始值b0,采用随机生成的方式产生;因此,可以得到初始模型为λ0=(a0,b00);

(2)进行递推:对n=1,2,…,

右端各值按照观测序列o和模型λn=(an,bnn)计算,其中:

αt(i)=p(o1,o2,…,ot,it=qi|λ)

(3)终止迭代:当第n+1次迭代模型λn+1=(an+1,bn+1n+1)和上一次的迭代的差别小于|εth|时,终止迭代。

步骤3初始化广播;

在步骤3中,所述初始化广播可包括:

(1)当道路上的任意一辆车s遇到危险或者紧急情况时,车辆上相应的应用立即产生一个包含安全消息的数据包ps;

(2)车辆s利用步骤2中训练出来的模型参数分别对所有邻居节点的接收情况进行预测;若s与di之间的信道状态模型最终值集合中处于bood的概率大于0.5,则将di放入可能接收失败的集合中;

(3)等到s的时隙到来时,将安全消息ps、预测失败节点集合df、所需的协作节点个数nh和重传次数kr一起广播出去。

步骤4选择协作节点。

在步骤4中,所述选择协作节点可包括:

(1)在初始化广播之后,目的节点集合d中有的节点成功接收数据包ps,所述成功接收数据包ps的节点称为潜在的协作节点,用hp表示潜在协作节点集合;对于hp中的任意一个节点h,若df中的某个节点di在h的通信范围之内,则放入集合dh中;

(2)等到h的时隙sloth到来时,h将dh的信息放入包头中,一起发送出去;

(3)等到s的下一个时隙到来时,s节点已经收集所有潜在协作节点可以帮忙中继的目的节点集合dh,将这些目的节点按照各自集合dh中包含的节点数目进行排序,并挑选出dh中的节点数量最多的nh个潜在协作节点。

步骤5协作重广播。

在步骤5中,所述协作重广播可包括:

(1)当源节点s的下一个时隙再次到来时,源节点并不立即发送数据包,而是首先发送协作确认消息,所述协作确认消息包括选中的节点id和开始重传的时间;

(2)当备选节点收到协作确认消息之后,被选中的节点按照协作确认消息中指明的时间执行协作重传,而未被选中的节点则不做任何动作;

(3)在接下来的kr-1个s的时隙中,按照步骤(1)和(2)中的内容进行。

本发明通过提高对初始化广播结果的预测准确度进一步提高协作重广播的接收成功率。首先,利用接收功率序列对信道状态进行预测;然后,进行初始化广播;接下来,根据各备选节点的传输范围与预测失败节点集合的重合度选择最优的协作节点;最后,进行协作重广播,被选中的协作节点和源节点一起在源节点的时隙内重传数据包。

本发明将隐马尔可夫模型引入了协作广播方法中,提高对初始化广播结果的预测准确度,进而选择更有针对性的协作节点进行协作重广播,以进一步提高接收成功率。

附图说明

图1为道路场景。

图2为帧结构。

图3为协作重传时序。

图4为安全应用场景。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。

如图1所示,在一个有l条车道的公路上,每辆车都有一个唯一的id和相同的通信半径rt。如果两辆车的距离小于rt,那么它们之间可以直接通信,并成为对方的邻居节点;如果两辆车不能直接通信但可以通过一个中间节点相互通信,那么它们互为两跳邻居节点。每辆车都装有gps信息接收器,在gps信号的协助下,每辆车的时钟都可以实现精确的同步,即使暂时失去gps信号,gps接收器上的振荡器仍然可提供同步信号。如图2所示,接入信道被划分成连续的时间帧,每帧又被划分成f个等长的时隙,道路上的车辆节点采用分布式tdma的方式接入信道。为了避免隐藏终端问题,每个节点在刚进入系统时,都必须先侦听信道至少连续f个时隙,以了解自己周围一跳和两跳邻居节点的时隙占用情况,然后随机选择一个未被一跳和两跳邻居节点占用的时隙作为自己的接入时隙。

如图4所示,该实施例中一共有8个车辆节点,一帧时长为10ms,每帧被分成了100个等长的时隙,每个时隙的长度为0.1ms。源节点s占用第10个时隙,d1…d7节点分别占用第21、25、33、37、44、56、62时隙。每一辆车的通信半径都是500m,d1…d7都在s的通信半径之内。当它们对应的时隙到来时,如果有信息要发送,便在该时隙中接入信道,将自己的信息发送出去;如果没有信息要发送,也要在自己的时隙上发送一个空数据包,以便自己的邻居节点侦听到自己的存在,并测量它们之间的信道状况。

以下给出具体实施例。

步骤1建立模型

(1)用矩阵表示源节点s与任一目的节点dk之间的信道状态转移矩阵。

(2)源节点s的接收功率表ts中记录了s与各目的节点的历史接收功率。s将接收功率量化为5个等级,0表示最差,4表示最好。对任意一个目的节点dk,k=1,2,…,7,s都记录着它发来数据包的历史接收功率,也即观测序列为每隔10ms,s就在osk中增加一个新的观测值。

(3)用表示s与dk之间的信道的观测概率矩阵,用表示信道的初始状态概率向量,因此,s与dk之间的信道的隐马尔可夫模型可以用λsk=(ask,bsksk)来表示。

(4)优化目标为求出一个信道状态模型λsk,使得最大。

步骤2参数训练

(1)输入:s与d1…d7之间的接收功率观测值序列:

os1={4223434104},

os2={1211221031},

os3={3243323042},

os4={3244330323},

os5={1033423141},

os6={3244422344},

os7={3241234242}。

(2)设置阈值功率vth=2,因此,s与d1…d7之间信道状态参数的初始值设置为:

(3)进行迭代,当本次迭代的参数值与上一次迭代的参数值相差在0.05之内时,迭代。当迭代终止时,s与d1…d7之间的信道状态的概率终值为:

步骤3初始化广播

(1)当道路上的任意一辆车s遇到危险或者紧急情况时,车辆上相应的应用立即产生一个数据包ps。

(2)根据步骤1中训练好的信道状态模型,源节点s判定目的节点d2和d5为可能接收失败的节点,

(3)等到s的时隙slot121到来时,将安全消息ps、预测失败节点集合dsf、所需的协作节点个数1和重传次数3一起广播出去。

步骤4选择协作节点

(1)在初始化广播之后,d1、d3、d4、d6和d7成功接收了该数据包,其中,d2和d5在d4的通信半径以内,d5还在d7的通信半径以内。

(2)因此,等到时隙slot137到来时,d4将d2和d5发送出去,等到时隙slot162到来时,d7将d5发送出去。

(3)等到s的下一个时隙slot221到来时,s节点已经接收到了d4和d7发送过来的消息,并按照能够帮助节点的多少选择d4作为协作节点。

步骤5协作重广播

(1)如图3所示,当源节点s的下一个时隙slot321再次到来时,源节点并不立即发送数据包,而是首先发送协作确认消息,该消息包括以下内容:选中的节点d4和开始重传的时间。

(2)当d4收到协作确认消息之后,按照该消息中指明的时间执行协作重传,而未被选中的节点则不做任何动作。

(3)在接下来的2个s的时隙中,按照(1)(2)中的内容进行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1