关于VANET安全关键服务的可靠性指标,我发现一跳广播的数据包接收比率=
PRR(d)=从标记节点接收数据包的距离d内的节点数/距标记节点距离d内的节点总数 然后我将计算特定区域内所有车辆的平均值。
我有一个使用SUMO构建的真实模型,使用Randomtrips脚本创建随机旅行,因此每秒都会有新车辆进入地图。
在omnet ++(静脉)中,为了获得准确的结果,我只使用Roiroad从地图中获取部分,同样在SUMO中我可以知道每个选定边的长度。
我的问题:计算每个车辆的等式(X),在每次节点X广播信标时,如何找到距离标记节点(X)的距离d内的节点总数?
答案 0 :(得分:0)
The tictoc tutorial说明了如何收集统计信息。基本上,您为每辆车添加一个信号(在.ned
和C ++代码中),然后您可以在收集某些内容时触发该信号。这是这样的(代码来自教程):
//initalization
arrivalSignal = registerSignal("arrival");
// in your reception code:
int hopcount = ttmsg->getHopCount();
// send a signal
emit(arrivalSignal, hopcount);
其中arrivalSignal是先前注册的信号,告诉统计工具执行某些操作。在.ned文件中,您需要映射信号以实际收集内容:
@signal[arrival](type="long");
@statistic[hopCount](title="hop count"; source="arrival"; record=vector,stats; interpolationmode=none);
请注意,此处的源是您在初始化期间提供的名称; @signal
指令告诉OMNeT ++你正在记录什么类型的数据,@statistic
是后来产生的输出。
对于您的使用案例,我建议将统计信息收集添加到您的接收代码中,并在信标中添加一些标识其来源的标记。如果您在上面的示例中记录发件人的ID而不是hopcount,则可以直接查看每个接收者每个发件人收到的数据包数量。您可以扩展它以收集距离,但如果您谈论数据包接收比率,我不会看到这是多么重要。