Как получить SIgnal Strength (RSSI) на omnet ++ из inet Radio Model?

Я работаю над протоколом маршрутизации в omnet ++, и мне нужно получить мощность соединения или RSSI для принятия решений. Как мне получить мощность сигнала беспроводного соединения при моделировании omnet ++ между узлами? Я просмотрел несколько описаний моделей радиоприемников, но не смог найти четкого способа просто определить силу соединения. Самое близкое, что я нашел, было то, что у Radio Model ApskScalarRadio был minSNIR.


person João P.    schedule 02.04.2019    source источник
comment
Возможный дубликат OMNET ++: как получить мощность беспроводного сигнала?   -  person Rudi    schedule 02.04.2019
comment
К сожалению, это не помогает мне с моим вопросом.   -  person João P.    schedule 02.04.2019
comment
Хм. Насколько я понимаю, он отвечает именно на ваш вопрос. Вы хотите иметь информацию о соотношении сигнал / шум принятого пакета на верхнем уровне. В приведенном выше вопросе содержится пример кода, который показывает, как именно это сделать ...   -  person Rudi    schedule 02.04.2019


Ответы (1)


Вот реализация метода computeIsReceptionPossible, который я использовал для записи мощности сигнала в производном классе под названием «ApskScalarReceiverNotifier», который расширяет «ApskScalarReceiver». Возможно, это подскажет вам направление, которое поможет.

    bool ApskScalarReceiverNotifier::computeIsReceptionPossible(const IListening *listening, const IReception *reception, IRadioSignal::SignalPart part) const
{
    auto apksTransmission = dynamic_cast<const ApskScalarTransmission *>(reception->getTransmission());

    auto castreception = dynamic_cast<const ScalarReception *>(reception);
    auto strength = castreception->getPower();

    cOutVector powerVector;
    powerVector.setName("powerVector");
    powerVector.record(static_cast<double>(strength.get()));

    return apksTransmission && FlatReceiverBase::computeIsReceptionPossible(listening, reception, part);

}

Я не профессионал в написании C ++, однако этот подход отлично сработал для сбора статистики.

person Joe    schedule 22.05.2019