一跳广播的分组接收比率

时间:2016-08-23 14:18:54

标签: omnet++ veins sumo

关于VANET安全关键服务的可靠性指标,我发现一跳广播的数据包接收比率=

PRR(d)=从标记节点接收数据包的距离d内的节点数/距标记节点距离d内的节点总数 然后我将计算特定区域内所有车辆的平均值。

我有一个使用SUMO构建的真实模型,使用Randomtrips脚本创建随机旅行,因此每秒都会有新车辆进入地图

在omnet ++(静脉)中,为了获得准确的结果,我只使用Roiroad从地图中获取部分,同样在SUMO中我可以知道每个选定边的长度。

我的问题:计算每个车辆的等式(X),在每次节点X广播信标时,如何找到距离标记节点(X)的距离d内的节点总数?

1 个答案:

答案 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,则可以直接查看每个接收者每个发件人收到的数据包数量。您可以扩展它以收集距离,但如果您谈论数据包接收比率,我不会看到这是多么重要。