TGViewer
Семён сохраняет полезное_) Семён сохраняет полезное_) @pole_sam · 686 subscribers
Post #471 986
Так как в голосовании победил вариант про алгоритмы в LTE модемах начну цикл рассказов о работе LTE модема.
Для удобства я буду называть модем UE(User equipment). Да и так принято стандартом.
Начнем с рассмотрения ключевых шагов подключения к сети:
1.Инициализация модема (UE Power-On). Перед тем как модем начинает искать сеть он загружает PLMN список зон. PLMN - идентификатор зоны обслуживания мобильной сети, который представляет собой уникальный код, состоящий из MCC (Mobile Country Code) и MNC (Mobile Network Code).
Один абонент принадлежит только одной домашней PLMN — HPLMN (Home PLMN). Если абонент находится в роуминге (не внутрисетевом), то это уже будет гостевая PLMN — VPLMN (Visited PLMN).
Также сим-карта может содержать и запрещенные к работе PLMN (Forbidden PLMN list).
Далее считывается содержимое SIM карты. Из нее модем получает IMSI(Ваш индивидуальный номер абонента), ключи безопасности и параметры сети, также из SIM карты читается свойства режима радиодоступа(RAT). Он зовется - EF-RAT элемент — preferred RAT list). Алгоритм его работы прост:
1.UE получает список доступных RAT от SIM/прошивки/настроек.
2.Сканирует каждую RAT в порядке приоритета.
3.Проверяет доступность PLMN на каждом RAT.
4."Camps on" (становится на прослушку) самой приоритетной доступной RAT.
И да нюансов как будет выбираться RAT достаточно.
Модем выбирает режим радиодоступа при включении, основываясь на:
Настройках SIM (EF-RAT)
Аппаратной поддержке RAT
Последнем успешном подключении
Настройках предпочтений (заводские, пользовательские)
Приоритетах из 3GPP TS 23.122
Далее модем инициирует Cell Selection( 3GPP TS 36.304). Для него есть два режима:
1. Initial Cell Selection
Используется при первом включении или в новой сети.
UE сканирует весь диапазон LTE (DL EARFCN). На самом деле не весь, а лишь только поддерживаемые диапазоны. И знает он их из прошивки. Иногда они хранятся на сим-карте(Предпочтительные band’ы).
Ищет PSS/SSS → находит PCI. Про это мы поговорим в следующей статье подробнее.
Считывает MIB и SIB1/SIB2.(MIB — Master Information Block (общие параметры системы, SIB1 — содержит PLMN ID, таймеры, SIB2 — параметры доступа (PRACH, T300 и др.).
Вычисляет значение критерия уровень сигнала.
Если ячейка подходит (suitable) — UE "camps on" на ней.(«Camps on» — это когда UE остаётся «на прослушке» соты, не устанавливая соединение, но будучи готовым инициировать его.),

2.Используется если UE уже был подключён к этой сети ранее.
UE использует сохранённые данные о:
EARFCN
PCI
тайминге
Быстро восстанавливает подключение к предыдущей соте

Как UE решает, подходит ли сотa?
Ключевой критерий — "suitable cell", определённый в 36.304:
TS 36.304, п. 4.3:
“A cell is suitable if it is a cell on which the UE may camp, meeting criteria including: acceptable signal level, permitted PLMN, and not barred.”
И далее вычисляется по формуле где RSRP( реальный уровень сигнала). Q(минимальный сигнал, указанный в SIB1) и P(корректировка по мощности UE).
Srxlev=RSRP−Q rxlevmin−P compensation >0
Интересный момент что такое P.
Он же UE power compensation). используется при расчёте критериев cell selection и reselection в LTE, и регламентирован в:
3GPP TS 36.304, раздел 4.3 – Cell selection criteria.
учитывает ситуацию, когда UE не может передавать на максимальной мощности, допустимой в ячейке. Это важно, чтобы:
Не переоценить пригодность соты (ведь модем может «слышать» Базовую станцию, но сам не сможет до него "докричаться")
Корректно оценить расстояние/ослабление сигнала.
Без P, UE мог бы выбрать соту с хорошим приёмом, но не смог бы передать RACH*, если его передатчик слабее требований сети.
Это особенно критично для:
Маленьких IoT-устройств
UE с ограниченной мощностью (e.g., NB-IoT, Cat-M)
Пограничных сот

*RACH (Random Access Channel) — это канал доступа, по которому UE (модем, телефон) впервые "обращается" к базовой станции (eNodeB) в радиоинтерфейсе. Он используется:
При первом подключении к сети (после Cell Selection)
При восстановлении связи после потери сигнала
При handover’ах
При переходе из Idle в Connected (RRC_IDLE → RRC_CONNECTED).
  • ❤ 5
  • 🔥 5
  • 🐳 1
More from @pole_sam
  1. Sep 27, 2026Всем привет! Сделал свой форк pysim для удобного вывода информации. https://telegra.ph/For…
  2. Sep 27, 2026Приехала плата PTP грандмастера
  3. Sep 25, 2026Всем привет! Приехала сегодня отладка от Qualcomm что по всей видимости в своё время вынес…
  4. Sep 23, 2026Всем привет! Платы PTP-грандмастера приехали наконец-то в РФ. Скоро приступлю к bring-up п…
  5. Sep 20, 2026Всем привет! Вышла заметка о том как я сделал себе управляемый коммутатор из медиаконверте…
  6. Sep 18, 2026https://habr.com/ru/articles/1078478/ Интересная статья об организации памяти и алгоритма…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →