一种认知车联网中的网络拓扑控制方法与流程

文档序号:24186694发布日期:2021-03-09 13:53阅读:196来源:国知局
一种认知车联网中的网络拓扑控制方法与流程

1.本发明属于无线通信领域,特别涉及一种构建网络拓扑结构的方法,可用于认知车联网。


背景技术:

2.网络拓扑结构的鲁棒性是影响认知车联网端到端传输性能的重要因素,如何构建高容错能力的网络拓扑结构是布设认知车联网的重点研究问题。当网络中的主用户占用某个信道时,认知车联网中的认知车辆必须退让出该信道,而这些车辆将在网络中失去数据传输和中继的能力。在这种情况下,认知车联网的拓扑结构极有可能出现割裂的状态,从而使得网络失去连通特性,影响认知车辆之间的端到端传输性能。xinjun wang等作者在ieee jasc上发表的文章“achieving bi

channel

connectivity with topology control in cognitive radio networks”中提出用“网络信道连通特性”(bi

channel

connectivity)的概念来描述上述问题,即当某个信道被主用户所占用并影响了该信道上的认知用户传输功能后,认知网络中的其他用户依然能够保持通信的特性。但是该文章中提出的算法,局限于保障静态网络拓扑结构的信道连通特性,无法直接应用于车辆具有移动性的认知车联网环境。


技术实现要素:

3.本发明的目的在于针对上述现有技术的问题,提出一种认知车联网中的车辆网络拓扑控制方法;每台车辆通过与周围邻居车辆的信息交互与处理,能够解决车辆移动环境引起的“广播风暴”问题,以及信道干扰引发的拓扑割裂问题。
4.本发明提供的一种认知车联网中的车辆网络拓扑控制方法,包括如下步骤:步骤1、车辆节点v随机采用前向或者后向传输方式,发送车辆节点v的第一时隙数据包pkt

1;步骤2、定义车辆节点v的一跳邻居车辆集合为空集,车辆节点v接收其他车辆节点u发出的第一时隙数据包pkt

1,并提取数据包中信息,若车辆节点u是车辆节点v在同一道路上的一跳邻居车辆节点,则标记车辆节点u为车辆节点v的一跳邻居车辆节点,即将车辆节点u的id序列号加入集合中,此时,然后执行步骤3;否则,跳过步骤3,直接执行步骤4;步骤3、若车辆节点u处于车辆节点v的前方且车辆节点u移动方向与车辆节点v接近,则车辆节点v前向传播车辆节点u的第一时隙数据包pkt

1;若车辆节点u处于车辆节点v的前方且车辆节点u移动方向与车辆节点v远离,则车辆节点v后向传播车辆节点u的第一时隙数据包pkt

1;若车辆节点u处于车辆节点v的后方且车辆节点u移动方向与车辆节点v远离,则车辆节点v前向传播车辆节点u的第一时隙数据包pkt

1;
若车辆节点u处于车辆节点v的后方且车辆节点u移动方向与车辆节点v接近,则车辆节点v后向传播车辆节点u的第一时隙数据包pkt

1;步骤4、根据一跳邻居车辆集合,车辆节点v构建一跳子图,其中,顶点集合,边集合;步骤5、车辆节点v随机采用前向或者后向传输方式,发送车辆节点v的第二时隙数据包pkt

2;步骤6、定义车辆节点v的二跳邻居车辆集合为空集,车辆节点v接收其他车辆节点w的第二时隙数据包pkt

2,并提取数据包中信息,若车辆节点w是车辆节点v在同一道路上的二跳邻居车辆节点,则标记车辆节点w为车辆节点v的二跳邻居车辆节点,即将车辆节点w的id序列号加入集合中,此时;步骤7、根据二跳邻居车辆集合,车辆节点v构建二跳拓扑图,其中,边集合,顶点集合;步骤8、计算中任意两个有连接关系的车辆节点x、y之间的链路(x,y)的权重w(x,y);车辆节点v与且仅与所有一跳邻居车辆都具有连接关系;步骤9、根据二跳拓扑图进行拓扑优化,车辆节点v构建局部生成子图,初始化节点集合为二跳拓扑图中的所有节点,边集合为空集,即、;基于局部二跳拓扑图,车辆节点v根据链路权重w(x,y)构建的最短路径树,并根据第一次更新局部生成子图;基于的最短路径树,车辆节点v找到与自身冲突的节点集合,构建冲突子图,并根据的最小生成子树第二次更新局部生成子图;车辆节点v产生第三时隙数据包pkt

3,将第三时隙数据包pkt

3发送给中的所有节点,并完成局部生成子图的最后一次更新;
车辆节点v遍历更新后中的所有一跳邻居车辆节点,并从中找到距离自身最远的车辆节点z,并将自身的发射功率调整为,完成对拓扑结构的优化;其中,β为车辆接收机灵敏度,α为路径损耗因子,为车辆节点v与车辆节点z之间的欧氏距离;步骤10、车辆节点v使用贪婪染色算法对可用信道进行使用请求。
5.进一步地,第一时隙数据包pkt

1中包括车辆节点的id序列号、当前时刻、当前时刻位置信息、上一时刻、上一时刻位置信息。例如,车辆节点v第一时隙数据包pkt

1中包括车辆节点v的id序列号、当前时刻t
v
、当前时刻位置信息(x
v
,y
v
)、上一时刻t’v
、上一时刻位置信息(x
v’,y v’);车辆节点u第一时隙数据包pkt

1中包括车辆节点u的id序列号、当前时刻t
u
、当前时刻位置信息(x
u
,y
u
)、上一时刻t’u
、上一时刻位置信息(x
u’,y u’)。
6.进一步地,第二时隙数据包pkt

2中包括车辆节点的id序列号、一跳邻居车辆集合。例如,车辆节点v的第二时隙数据包pkt

2中包括车辆节点v的id序列号、一跳邻居车辆集合;车辆节点u的第二时隙数据包pkt

2中包括车辆节点u的id序列号、一跳邻居车辆集合。
7.进一步地,第三时隙数据包pkt

3包含车辆节点的id序列号、局部生成子图的顶点集合和边集合。例如,车辆节点v的第三时隙数据包pkt

3包含车辆节点v的id序列号、的顶点集合和边集合;车辆节点u的第三时隙数据包pkt

3包含车辆节点u的id序列号、的顶点集合和边集合。
8.进一步地,若车辆节点与另一车辆节点之间的欧氏距离不大于该车辆节点的最大传输距离,则认为另一车辆节点是该车辆节点的一跳邻居车辆节点。例如,车辆节点v与车辆节点u之间的欧氏距离,其中,(x
v
,y
v
)表示车辆节点v的位置信息,(x
u
,y
u
)表示车辆节点u的位置信息;车辆节点v的最大传输距离,其中,β为接收机的灵敏度和误码率要求确定的接收信噪比门限值,α为路径损耗因子,p
max
为为车辆节点v最大的传输功率;若d
u,v
≤r
max
,则车辆节点u是车辆节点v的一跳邻居车辆节点。
9.进一步地,若车辆节点与另一车辆节点之间的方位角θ满足

θ0≤θ≤θ0或180
°‑
θ0≤θ≤180
°
+θ0(θ0为道路偏移角,取值范围为5
°
~10
°
),则认为该车辆节点与另一车辆节点在同一道路上。例如,车辆节点v和车辆节点u之间的方位角,
若θ
v,u
满足或(θ0为道路偏移角,取值范围为5
°
~10
°
),则认为车辆节点u和车辆节点v在同一道路上。
10.车辆节点u是车辆节点v在同一道路上的一跳邻居车辆节点是指车辆节点u和车辆节点v在同一道路上且车辆节点u是车辆节点v的一跳邻居车辆节点。
11.进一步地,若车辆节点与另一车辆节点在当前时刻的与上一时刻的距离差<0,则认为该车辆节点移动方向与另一车辆节点接近;若车辆节点与另一车辆节点在当前时刻的与上一时刻的距离差≥0,则认为该车辆节点移动方向与另一车辆节点远离。例如,车辆节点v当前时刻位置信息为(x
v
,y
v
)、上一时刻位置信息为(x
v’,y
v’),车辆节点u当前时刻位置信息为(x
u
,y
u
)、上一时刻位置信息为(x
u’,y
u’),车辆节点u是车辆节点v在当前时刻的与上一时刻的距离差,其中,为当前时刻t两车的距离;为上一时刻t’两车的距离;越小,则u和v之间的距离变化越小;若,则认为车辆节点u移动方向与车辆节点v接近;若,则认为车辆节点u移动方向与车辆节点v远离。
12.进一步地,中任意两个有连接关系的车辆节点x、y之间的链路(x,y)的权重w(x,y)的计算公式为:,其中,,为车辆节点x基于车辆节点x与车辆节点y之间的欧氏距离和距离差得到的发送功率;β为车辆接收机灵敏度,α为路径损耗因子,为车辆节点x与车辆节点y之间的欧氏距离。若欧式距离越小、距离差越小,则链路权重w(x,y)越小。δd
x,y
表示车辆节点x和车辆节点y在当前时刻与上一时刻的距离差;r
max
为车辆节点x的最大传输距离。
13.进一步地,第一次更新局部生成子图的具体步骤为:基于局部二跳拓扑图,车辆节点v根据链路权重w(x,y),构建以v为根,以中除v之外的所有节点为遍历节点,利用prim算法给构建的最短路径树,其中顶点集合,边集合;车辆节点v更新局部生成子图中的边,。
14.进一步地,第二次更新局部生成子图的具体步骤为:
车辆节点v根据最短路径树找到与二跳可达的所有节点,并构成冲突节点集合(不包含v),构建冲突子图,其中,顶点集合,边集合;车辆节点v 根据链路权重w(x,y),以中所有节点为遍历节点,利用dijkstra算法构建的最小生成子树;车辆节点v根据更新局部生成子图,即,,车辆节点v将节点标记中除自身v之外的所有车辆节点标记为逻辑冲突邻居集合,。
15.进一步地,车辆节点v使用贪婪染色算法对可用信道进行使用请求包括如下步骤:车辆节点v用最大发送功率p
max
在公共控制信道上按步骤2至步骤3的传播方式发送请求分配信道包pkt

cq,请求分配信道包pkt

cq中包含车辆节点v的id序列号和请求的信道序列号;车辆节点v接收其他车辆的请求分配信道包pkt

cq,查看自身已分配信道情况:若已分配,则回馈信道分配包pkt

ca,其中信道分配包pkt

ca中包含车辆节点v的id序列号和车辆节点v分配到的信道序列号;若还未分配信道,则将回馈信道分配包pkt

ca记为空包;车辆节点v收集中所有车辆节点回馈的回馈信道分配包pkt

ca,从还未被占用的信道中选择主用户占用概率最小的信道,作为自身的可用信道。
16.当将上述方法应用到具有k(k≥2)个车辆节点的认知车联网网络中,每个车辆节点均可以为车辆节点v、车辆节点u、车辆节点w、车辆节点x、车辆节点y或车辆节点z。每个车辆节点独立执行上述过程,所有车辆节点都能够分配到信道。
17.本发明的方法具有如下优点:(a)各台认知车辆先通过定向广播方式获取到周边车辆的信息;再利用功率控制在移动环境下构建具有强鲁棒性的网络拓扑结构;最后通过分布式的信道分配技术,将不同的信道分配给网络中相互干扰的认知车辆使用,从而消除网络中的干扰;(b)可有效获取同一道路上的有效车辆信息,并可根据周围车辆移动方向及时调整传输方式,有效解决广播风暴引起的网络拥塞问题;同时,每台车辆只需获取网络的局部拓扑信息,更有利于实施分布式操作;(c)在拓扑优化过程中,不仅考虑到移动性对车辆之间链路的影响,同时兼顾合理降低节点的发射功率,因此优化后的拓扑结构能耗更小,稳定性更强,所需要的频谱资源更少。
附图说明
18.图1为本发明的方法适用的认知车联网网络场景示意图。
19.图2为本发明的方法总流程图。
20.图3为本发明的方法中传播第一时隙数据包pkt

1的流程图。
21.图4为本发明中构建局部生成子图的示例图,其中图4(a)为二跳拓扑图;图4(b)为的最短路径树,其中的数字表示节点分配的信道;图4(c)为冲突子图;图4(d)为的最短路径树,图4(e)为局部生成子图。
22.图5为本发明生成拓扑的仿真验证图,其中图5(a)为最大功率拓扑;图5(b)为本发明方法生成的拓扑,其中的数字表示节点分配的信道;图5(c)表示信道6占用了后的网络拓扑;图5(d)表示信道4占用了后的网络拓扑。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.参照图1,本发明实施例使用的认知车联网由n个分布在二维平面区域内的节点组成,每个节点代表一台认知车辆,每个箭头代表认知车辆间的无线链路。网络中有c个可用信道可供认知车辆接入使用(图1中数字表示的为认知车辆使用的信道序列号)。每台认知车辆具有唯一的序列号,并可以通过gps或是其他定位技术来获取它自身的位置信息。每台认知车辆以在c个信道中任意一个信道中发送数据,同时在其他所有信道上接收数据。主用户可以在任意时刻使用c个信道中的任意一个信道,工作在该信道上的所有认知车辆必须停止传输以避免对主用户的干扰。其中,n和c均为整数。
25.认知车辆通过定向天线与周围认知车辆通信,通信方式为前向传输或者后向传输。每个认知车辆,如v,的发射功率p
v
可以在0和最大功率p
max
之间连续调节,即0≤p
v
≤p
max
。传输半径r
v
为对应于节点发射功率的传输距离,计算表达式为,β为接收机的灵敏度和误码率要求确定的接收信噪比门限值,α为路径损耗因子。任意两个认知车辆之间,如u和v,存在无线链路的充要条件为它们互相位于彼此的传输半径内,即两者的欧式距离d
u,v
不大于两个节点的传输半径的较小值,相应判别公式为:d
u,v
<min{r
u
,r
v
}。
26.参照图2,本发明实施例的实现步骤如下:步骤1、网络中的每台认知车辆v发送的自身的第一时隙数据包pkt

1,并接收一跳邻节点发送的pkt

1包。
27.初始化认知车联网网络为k点连通拓扑(k≥2),认知车联网中每台车辆节点v随机采用前向或者后向传输方式向周围的车辆发送本车辆的pkt

1数据包,该数据包中包括v节点的序列号、当前时刻t、当前时刻位置信息(x
v
, y
v
)、上一时刻t’、上一时刻位置信息(x
v’, y v’)。
28.步骤2、根据上述步骤1,网络中每台认知车辆接收到其他车辆的第一时隙数据包pkt

1,判断是否来自同一道路上的一跳邻居车辆。
29.(2a)每台车辆节点,如v初始化其一跳邻居车辆集合为空集,并根据自身当前
的位置信息,判断u是否为其一跳传输范围,具体步骤;(2a1)认知车辆v接收到认知车辆u的pkt

1包,根据自身当前的位置信息(x
v
, y
v
)以及认知车辆u的当前位置信息(x
u
, y
u
),计算两节点之间的欧式距离d
u,v
:;(2a2)认知车辆v判断d
u,v
是否不大于其最大传输距离r
max
,,其中β为接收机的灵敏度和误码率要求确定的接收信噪比门限值,α为路径损耗因子,若d
u,v
≤r
max
,则执行步骤(2b);否则不标记u为v的一跳邻居车辆节点,执行步骤4;(2b)车辆节点v判断车辆节点u,是否两车共处于同一道路上,具体步骤;(2b1)车辆节点v判断车辆节点u,根据自身当前的位置信息(x
v
, y
v
)以及认知车辆u的当前位置信息(x
u
, y
u
), 计算两节点之间的方位角θ
v,u
:;(2b2)若θ
v,u
满足

θ0≤θ
v,u
≤θ0或108
°‑
θ0≤θ
v,u
≤180
°
+θ0(θ0为道路偏移角,取值范围为5
o
~10
o
),则u为v在同一道路上,则标记u为v的一跳邻居车辆节点,即,并执行步骤3;否则不标记u为v的一跳邻居车辆节点,执行步骤4。
30.步骤3、参照图3,车辆节点v判断前向传输或后向传输车辆节点u的pkt

1包。
31.(3a)车辆节点v与根据步骤(2b)中得到自身与车辆节点u之间的方位角θ
v,u
判断两车的前后位置关系,若cosθ
v,u
>0,意味着车辆节点u位于车辆节点v的前方,执行步骤(3b);若cosθ
v,u
<0,则意味着车辆节点u位于车辆节点v的后方,执行步骤(3c);(3b)车辆节点v判断车辆节点u移动方向是否与节点v接近,具体步骤:(3b1)车辆节点v根据自身当前时刻位置信息(x
v
, y
v
)、上一时刻位置信息(x
v’, y v’)以及车辆节点u的位置信息(x
u
, y
u
)、上一时刻位置信息(x
u’, y
u’),计算两车在当前时刻的与上一时刻的距离差,其中,为当前时刻t两车的距离,为上一时刻t’两车的距离;(3b2)若δd
u,v
<0;则车辆节点v选择前向传输车辆节点u的pkt

1包,将u的信息告知道路前方节点,执行步骤4;若δd
u,v
≥0,则车辆节点v选择后向传输车辆节点u的pkt

1包,将u的信息告知道路后方节点,执行步骤4;(3c)车辆节点v判断车辆节点u移动方向是否与节点v远离,具体步骤:(3c1)车辆节点v根据自身当前时刻位置信息(x
v
, y
v
)、上一时刻位置信息(x
v’, y v’)以及车辆节点u的位置信息(x
u
, y
u
)、上一时刻位置信息(x
u’, y
u’),计算两车在当前时刻的与上一时刻的距离差,其中,
为当前时刻t两车的距离,为上一时刻t’两车的距离;δd
u,v
越小,则u和v之间的距离变化越小;(3c2)若δd
u,v
≥0;则车辆节点v选择前向传输车辆节点u的pkt

1包,将u的信息告知道路前方节点,执行步骤4;若δd
u,v
<0,则车辆节点v选择后向传输车辆节点u的pkt

1包,将u的信息告知道路后方节点,执行步骤4。
32.步骤4、每台车辆节点v对接收到的下一个pkt

1数据包执行步骤2至步骤3,直至所有pkt

1数据包判断完毕。完毕后,节点v获得一跳邻居车辆集合,构建一跳子图,其中,顶点集合,边集合。
33.步骤5、网络中每台车辆节点v随机采用前向或者后向传输方式向周围的车辆发送本车辆的第二时隙数据包pkt

2,该数据包中包括v节点的序列号、v节点的一跳邻居车辆集合。
34.步骤6、每台车辆节点如v接收到其他车辆节点,如w的pkt

2数据包后,提取数据包中信息,判断是否成立,其中;是则标记w为v的二跳邻居车辆节点,并执行步骤7;否则对w不进行标记,直接执行步骤7。
35.步骤7、车辆节点v对接收到的所有pkt

2数据包重复执行步骤6,直至判断完所有的pkt

2数据包;并获取二跳邻居车辆集合,并构建二跳拓扑图,其中,顶点集合,边集合。
36.步骤8、每台车辆节点v根据步骤7中的序列号和位置信息建立局部二跳拓扑图,并计算中任意两个有连接关系的节点x、y之间的链路(x,y)的链路权重w(x,y):其中,,为节点x基于x与y之间的欧式距离和距离差得到的发送功率。当欧式距离越小,距离差越小,则链路权重w(x,y)越小。
37.步骤9、参照图4,每台车辆节点v根据链路权重w(x,y)对二跳拓扑图进行拓扑优化,生成局部生成子图。
38.(9a)每台车辆节点v初始化局部生成子图,其中节点集
合初始化为二跳拓扑图中的所有节点,边集合为空集:,;(9b)基于局部二跳拓扑图,每个节点v第一次更新局部生成子图,具体步骤:(9b1)基于局部二跳拓扑图(图4(a)所示例),每个节点v根据链路权重w(x,y),构建以v为根,以中除v之外的所有节点为遍历节点,利用prim算法给构建的最短路径树,其中顶点集合,边集合(图4(b)所示例);(9b2)每台车辆节点v更新局部生成子图中的边,;(9c)基于的最短路径树,每台车辆节点v,第二次更新局部生成子图,具体步骤:(9c1)每台车辆节点v根据最短路径树找到与所有二跳可达的所有节点,并构成冲突节点集合(不包含v),构建冲突子图(图4(c)所示例),其中, 顶点集合,边集合;(9c2)车辆节点v 根据链路权重w(x,y),以中所有节点为遍历节点,利用dijkstra算法构建的最小生成子树(图4(d)所示例);(9c3)车辆节点v根据更新局部生成子图,即,,车辆节点v将节点标记中除自身v之外的所有车辆节点标记为逻辑冲突邻居集合,即;(9d)车辆节点v产生第三时隙数据包pkt

3,完成局部生成子图的最后一次更新(图4(e)所示例),具体步骤:(9d1)车辆节点v产生第三时隙数据包pkt

3,包含v节点的序列号、的顶点集合以及边集信息,并将pkt

3发送给中的所有节点;(9d2)每台车辆节点v根据接收到的pkt

3包最后一次更新局部生成子图中的顶点集合和边集合;(9e)每台车辆节点v遍历更新后中的所有一跳邻居车辆节点,并从中找到
距离自身最远的车辆节点,如u,并将自身的发射功率调整为,完成对拓扑结构的优化。
39.步骤10、每台车辆节点v使用贪婪染色算法对可用信道进行使用请求,以消除认知车辆之间的干扰。
40.(10a)节点v用最大发送功率p
max
在公共控制信道上步骤2至步骤3的传播方式发送请求分配信道包pkt

cq,其中包含节点v的序列号以及请求的信道序列号,其他节点在收到这个包时需要再次中转该包,直到逻辑冲突邻居集中的所有节点都接收到pkt

cq包为止;(10b)中的所有节点在收到pkt

cq包后,查看自身已经分配的信道,并回馈信道分配包pkt

ca给节点v,其中信道分配包pkt

ca中包含了该节点已经分配的信道序列号,如果该节点还未分配信道就将包pkt

ca记为空包;(10c)节点v收集所有中的节点回馈的pkt

ca包,从还未被占用的信道中选择主用户占用概率最小的信道,作为自身的可用信道;(10d)每个节点独立执行上述过程,直到所有节点都分配完信道为止。
41.本发明实施例的效果可通过仿真进一步说明。
42.仿真条件:在仿真场景中,网络节点随机均匀分布在一个30
×
800m2的二维平面区域中。接收信噪比snr的门限值β设为

80dbm,路径损耗因子α取值为4。网络中所有节点采用相同的最大发射功率,其中最大发射功率p
max
=256mw,对应的最大传输半径r
max
=400m。
43.仿真内容和结果:本发明实施例在15台车辆节点的网络场景中生成的拓扑结果如图5所示,其中,图5(a)为最大功率拓扑;图5(b)为本实施例方法生成的拓扑,其中的数字表示节点分配的信道;图5(c)表示信道6占用了后的网络拓扑;图5(d)表示信道4占用了后的网络拓扑。
44.通过图5(a)~(d)可以看出,本发明实施例生成的拓扑在主用户任意占用1个信道后,认知车联网的拓扑结构是连通的,剩余未被影响的用户之间依然能够利用网络交互信息。
45.以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的保护范围应由权利要求限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1