Omnet ++ Отправить беспроводное сообщение на ограниченное расстояние

Я разрабатываю симулятор мобильных узлов, каждый с дальностью передачи, например, 100м. Связь между узлами осуществляется по беспроводной сети и на основе TDMA. Я заметил, что если 2 узла (не в одном диапазоне) транслируют сообщение одновременно, это вызывает проблему.

Как я могу ограничить расстояние сообщения, отправляемого с узла? так что я могу транслировать 2 или более сообщения одновременно, и только узлы в диапазоне отправляющего узла будут слышать сообщение?


person Michal Vanunu    schedule 01.07.2016    source источник


Ответы (1)


Код, обрабатывающий получение пакета, должен рассчитать расстояние до отправителя и отбросить пакет, если он находится вне диапазона.

Немного менее точное решение: перед отправкой пакетов широковещательный узел должен проверить расстояние до потенциального принимающего узла и не отправлять пакет, если он находится вне диапазона. Это немного быстрее (так как генерирует меньше пакетов) и более четкое (вы увидите широковещательную анимацию только для действительно доставленных пакетов)

Намного более простое решение: используйте INET Framework, в котором уже есть необходимая реализация. Вам нужно будет только реализовать модуль MAC, который обрабатывает протокол TDMA.

person Rudi    schedule 04.07.2016