【问题标题】:packet reception ration for one hop broadcasting一跳广播的数据包接收率
【发布时间】:2016-08-23 14:18:53
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: omnet++ veins sumo


    【解决方案1】:

    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 而不是上面示例中的跳数,您可以直接查看每个发送者每个接收者接收的数据包数量。您可能可以扩展它以收集距离,但如果您谈论数据包接收率,我看不出这有什么意义。

    【讨论】:

    • 非常感谢您的有用评论,我已经收集了每个节点的统计信息,包括 Sentpackets 和 Recievedpackets,..etc。根据等式,我已经有了从标记节点接收数据包的节点数量。但是,我不知道如何计算范围内的所有节点(它们接收或不接收数据包)。你能帮我吗如果有另一种方法/方程来计算**信标传递的概率**
    • 我检查了 traci 功能以计算该地区的活跃车辆总数,我发现 activevehiclecount 参数给了我所有活跃车辆的总数模型,而我只需要特定道路(感兴趣区域)的车辆数量?
    猜你喜欢
    • 2014-05-17
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2021-08-02
    • 2016-11-01
    相关资源
    最近更新 更多