Я реализовал планировщик LTE с поддержкой Device2Device для SimuLTE
framework для OMNeT++
. Необходимо переназначить блоки ресурсов. В типичных сетях LTE каждый блок ресурсов назначается не более чем 1 узлу. С появлением D2D блоки ресурсов восходящего канала могут быть переназначены пользователям D2D.
Симулятор знает как блоки ресурсов, так и диапазоны. Полоса частот - это логическая совокупность частот передачи. Если numBands == numRBs
, то каждая полоса соответствует одному блоку ресурсов.
Итак, чтобы попробовать, я установил numRbs = 1 = numBands
и получил два узла. Мой планировщик просто назначает первую полосу первому узлу, а затем пытается переназначить ту же полосу второму узлу. SchedulingResult
говорит мне, что я должен TERMINATE
здесь - похоже, переназначение вообще не поддерживается.
Однако оба узла передают пакеты UDP, и если я завершу симуляцию, я обнаружу, что оба фактически должны отправить одинаковое количество пакетов. Просматривая журналы, я обнаружил, что каждый 5-й раунд планирования (номер 5 может быть специфическим для моей установки) второй узел по-прежнему получает ответ TERMINATE
, но в любом случае ему предоставляется блок ресурсов. Кажется, это происходит внутри eNodeB Main Loop
. Как, почему, что происходит? Кто-нибудь знает?