Я работаю над протоколом маршрутизации в omnet ++, и мне нужно получить мощность соединения или RSSI для принятия решений. Как мне получить мощность сигнала беспроводного соединения при моделировании omnet ++ между узлами? Я просмотрел несколько описаний моделей радиоприемников, но не смог найти четкого способа просто определить силу соединения. Самое близкое, что я нашел, было то, что у Radio Model ApskScalarRadio был minSNIR.
Как получить SIgnal Strength (RSSI) на omnet ++ из inet Radio Model?
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