Comments 4
Спасибо за статью! А сами боты - можете больше раскрыть технической информации - это какой-то фреймворк?
Спасибо за комментарий) Тут не один фреймворк, а стек. За симуляцию отвечает NS-3 с полным NPRACH. Параметры вроде числа RACH-слотов, ACB, preambleTransMax и backoff управляются из кода. По связки с питоном используется ns3-gym: NS-3 выступает как среда OpenAI Gym, на каждом шаге отдаёт наблюдения (коллизии/успешность/задержки/загрузка/RSRP-профили), принимает действия и крутит цикл «observe→act». Сами боты являются Python-агентами. DQN для дискретных решений (диспетчер слотов, классификатор трафика, балансировщик), DDPG для непрерывных (энергоменеджер). Реализации типовые уровня PyTorch/Stable-Baselines3 (можно заменить на Ray RLlib, если удобнее). Сверху тонкий интеграционный слой. Он режет состояние по ролям, арбитражит конфликтующие действия, держит лимиты на изменения и считает многокритериальную награду. Обучение идет эпизодами по 1 часу времени в симуляции с генерацией трафика
Да, интересно. Вот только если - Базовая станция слышит только неразборчивый шум и не может расшифровать сообщения - то как Классификатор трафика знает, что устройство хочет передать? И как Менеджер потребления сообщит устройству, что ему нужно по-реже пытаться подключиться?
Сначала про Классификатор:
Он смотрит на NPRACH. Даже в том случае, когда RRC-сообщение не декодируется (например, коллизия на Msg1/Msg3), базовая станция видит корреляционные пики преамбул в выделенных RAO. То есть сколько преамбул пришло, по каким индексам, в каких окнах. В итоге с этого мы можем понять нагрузку (интенсивность попыток) и провести оценку коллизий (пиков много, успешных RAR/Msg3 мало). А вот класс трафика станция узнаёт уже после успешного декодирования из establishmentCause в RRCConnectionRequest и по профилю Access Class. И получаем, что Классификатор просто держит оценку всего микса классов по тем, кого удалось декодировать, и далее резервирует/регулирует ресурсы
Теперь про Менеджер:
Он это делает через стандартные механизмы: ACB/EAB в SIB-ах, NPRACH конфигурацию, Backoff Indicator в RAR, powerRampingStep и preambleTransMax
Почему молчит умный счетчик? Побеждаем коллизии в сетях NB-IoT