我正在使用新发布的 OMNET++ 的 INET 4.0 框架,我想获取无线主机(AdhocHost 类型)中接收到的信号强度值。我该怎么做呢?
In INET
4.0.0 模块收到的数据包包含几个tags。其他人之间有SignalPowerInd
标签。根据信号标签.msg:
该指示指定在接收数据包期间检测到的平均模拟信号功率。
它可能存在于从物理层到应用程序的数据包上。
This tag is present in packet processing by a wireless MAC layer, for example:
应用层收到的数据包包含SignalPowerInd
too:
One can obtain the value of `SignalPowerInd` from received radio packet in any layer using standard API. For example, to obtain it in `UdpBasicApp` one should add in `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);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)