【问题标题】:OMNET++: How to obtain wireless signal power?OMNET++:如何获取无线信号功率?
【发布时间】:2018-12-24 04:52:12
【问题描述】:

我正在使用新发布的用于 OMNET++ 的 INET 4.0 框架,我想在无线主机(AdhocHost 类型)中获取接收到的信号强度值。我该怎么做?

【问题讨论】:

    标签: omnet++ rssi inet signal-strength


    【解决方案1】:

    INET 4.0.0 中,模块接收到的数据包包含几个tags。在其他之间有SignalPowerInd 标签。根据SignalTag.msg

    此指示指定在接收数据包期间检测到的平均模拟信号功率。 它可能存在于从物理层到应用程序的数据包中。

    此标签存在于无线 MAC 层的数据包处理中,例如:

    应用层收到的数据包也包含SignalPowerInd


    可以使用标准 API 从任何层接收到的无线电数据包中获取“SignalPowerInd”的值。例如,要在 `UdpBasicApp` 中获取它,应在 `UdpBasicApp.cc` 中添加:
    #include "inet/physicallayer/common/packetlevel/SignalTag_m.h"
    // ...
    
    void UdpBasicApp::socketDataArrived(UdpSocket *socket, Packet *packet) {
    
       if (packet->findTag<SignalPowerInd>() != nullptr) {
           auto signalPowerInd = packet->getTag<SignalPowerInd>();
           auto rxPower = signalPowerInd->getPower().get();
           EV_INFO << "RX power= " << rxPower << "W" << endl;
       } 
    
       // process incoming packet
       processPacket(packet);
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-23
    • 2013-06-23
    • 1970-01-01
    • 2014-10-11
    • 2019-01-27
    • 2017-07-11
    • 2016-09-14
    • 2017-12-15
    相关资源
    最近更新 更多