Особенности реализации коррекции ошибок на сетях 5G

Функции коррекции ошибок в сетях 5G реализуются на 3-х уровнях – физическом уровне, уровне MAC и уровне RLC – см. Рис. 8.

Рис. 8 (Коррекция ошибок в 5G)

1) Физический уровень:

На физическом уровне обеспечивается реализация математических алгоритмов по вычислению циклического избыточного кода (CRC – Cyclic Redundancy Check), канальное кодирование (Channel coding) и выравнивание скорости (Rate matching):

а) Вычисление CRC выполняется модулем "CRC calculation". Данный модуль из бит входной последовательности  вычисляет CRC (или биты контроля четности ) и формирует выходную последовательность  – см. Рис. 9.

Рис. 9 (Вставка CRC)

Значением CRC является остаток от деления многочлена, соответствующего входным данным, на порождающий полином (gCRC). При этом пункт 5.1 рекомендации 3GPP TS 38.212 определяет шесть возможных вариантов порождающих полиномов. В Табл. 1 приведены параметры, используемые при вычислении CRC, для различных транспортных каналов и блоков управляющей информации.

Табл. 1

Направление Транспортный канал /
управляющая информация
Условие gCRC L
Downlink BCH   gCRC24C(D) 24
DL-SCH, PCH A>3824 gCRC24A(D) 24
A≤3824 gCRC16(D) 16
DCI   gCRC24C(D) 24 (*)
Uplink RACH   - -
UL-SCH A>3824 gCRC24A(D) 24
A≤3824 gCRC16(D) 16
UCI A≤11 - -
12A19 gCRC6(D) 6
A≥20 gCRC11(D) 11

 

(*) – биты CRC блока DCI (Downlink Control Information) скремблируются соответствующим идентификатором RNTI (Radio Network Temporary Identifiers).

Если длина выходной последовательность модуля "CRC calculation" (B) превышает максимальный размер кодового блока (KCB), то данная последовательность разбивается на сегменты и для каждого сегмента вычисляется дополнительный код CRC длиной L=24 с использованием порождающего полинома gCRC24B(D).

b) В сетях 5G используются две основных схемы кодирования. Для кодирования блоков управляющей информации (DCI, UCI) – полярные коды (Polar coding), для кодирования транспортных каналов BCH, PCH, DL-SCH, UL-SCH – коды с малой плотностью проверки на четность – LDPC (Low density parity check codes) – см. Табл. 2. Также для кодирования коротких блоков управляющей информации линии "вверх" (UCI) используется схема, описанная, в п.5.3.3 3GPP TS 38.212. Скорость кодирования изменяется в пределах от 120/1024 до 948/1024 в зависимости от текущих радиоусловий и как следствие назначенного сетью индекса модуляции и схемы кодирования (MCS) – см. Табл. 3, Табл. 4 раздела "Приложения".

Табл. 2

Направление Транспортный канал /
управляющая информация
Схема кодирования Условие
Downlink BCH Polar code  
PCH LDPC  
DL-SCH LDPC  
DCI Polar code  
Uplink RACH -  
UL-SCH LDPC  
UCI Polar code  
Block code Кол-во бит 1..11

Коды LDPC представляют собой линейные блоковые коды, задаваемые с помощью проверочной матрицы H, содержащей в основном нули и относительно малое количество единиц. Коды LDPC характеризуются сравнительно высокой скоростью декодирования, что и обусловило их выбор для использования на высокоскоростных трафиковых каналах сетей 5G. Коды LDPC пришли на смену turbo кодерам, используемым для кодирования трафиковых каналов в сетях 4G-LTE. Это обусловлено в основном тем обстоятельством, что turbo кодеры по сравнению с LDPC имеют более высокую сложность реализации декодера и более низкую скорость его работы. Кроме того, LDPC позволяет использовать более низкоскоростные схемы кодирования и следовательно обладает большими возможностями по восстановлению искаженных сигналов.

Полярные коды, применяемые для кодирования блоков управляющей информации (DCI, UCI), в теории позволяют достичь предела Шеннона на длинах кодового блока N → ∞ при сложности кодирования и декодирования ~NlogN. Напоминаю, что в сетях 4G-LTE для кодирования управляющих каналов использовались Tail Biting Convolutional коды (TBCC).

c) Выравнивание скорости является частью схемы Incremental redundancy HARQ. Данный блок сохраняет битовую последовательность с выхода кодера канала  в кольцевом буфере и в дальнейшем для первичной и последующих повторных передач выбирает биты данных из данного буфера, начиная со стартовой позиции, определяемой значением Redundancy version (RV) – см. Рис. 10 и таблицу 5.4.2.1-2 3GPP TS 38.212.

Рис. 10 (Кольцевой буфер)

2) MAC уровень

На MAC уровне обеспечивается выполнение HARQ операций, включая:

 

  • первичную и повторную передачу транспортных блоков (TB),
  • обработку "этикеток" ACK/NACK, подтверждающих получение встречной стороной переданных пакетов данных (TB),
  • получение от встречной стороны пакетов данных (TB) и генерацию "этикеток" ACK/NACK.

Для того, чтобы обеспечить непрерывный процесс передачи на MAC уровне организуются до 8-ми асинхронных адаптивных процессов Stop-And-Wait (SAW) в нисходящем канале (Downlink) и строго 8 синхронном адаптивных (или неадаптивных) процессов в восходящем канале (Uplink). Каждый SAW-процесс после передачи очередного транспортного блока останавливает дальнейшую передачу и ожидает подтверждение от приемной стороны. При получении отрицательного подтверждения (NACK) или истечении таймаута происходит повторная передача.

3) Уровень RLC

RLC объекты, реализующие задачи RLC-уровня, функционируют в одном из трех режимов передачи:

  • прозрачный (transparent mode, TM),
  • передача без подтверждения (unacknowledged mode, UM),
  • передача с подтверждением (acknoledged mode, AM).

В режиме TM на RLC уровне с пакетами данных не совершаются никакие действия, и даже не добавляются заголовки. В этом режиме передаются широковещательные сообщения, сообщения пейджинга и ряд других пакетов, переносящих сигнальный RRC трафик. Объекты TM-RLC обеспечивают передачу данных только в одном направлении, и настраиваются либо как передающие узлы, либо как приемные. Никакие функции коррекции ошибок в режиме TM не выполняются.

Режим UM используется для передачи данных, которые чувствительны к задержкам, но терпимы к ошибкам, (например, пакеты голосового трафика VoLTE). Кроме того, с использованием UM режима передаются данные сервисов MBMS (Multimedia Broadcast/Multicast Service), по причине отсутствия канала обратной связи. По аналогии с TM объекты UM-RLC обеспечивают передачу данных в одном направлении и не выполняют никаких функций по коррекции ошибок.

В отличие от двух предыдущих режимов, объект AM-RLC является двусторонним и может как принимать, так и отправлять данные. Именно в режиме AM реализуется наиболее важная функциональность RLC уровня – повторная передача посредством схемы ARQ (Automatic Repeat reQuest). Поэтому режим AM используется для передачи трафика приложений, не предъявляющих жестких требований к задержке (web browsing, электронная почта, загрузка файлов и пр.), а также для передачи части сигнальных RRC сообщений. Объект AM-RLC приемной стороны запрашивает повторную передачу:

  • Получен и собран блок RLC-SDU с номером SN, лежащим за пределами окна приема (AM_Window_Size). Окно приема отсчитывается от последнего полностью принятого блока и имеет длину 2048 (для 12-ти битных SN) и 131072 (для 18-ти битных).
  • Получен сегмент RLC-PDU, содержащий только принятые ранее байты блока RLC-PDU.
  • Истек таймер t-Reassembly, определяющий предельное время сборки блока RLC-SDU из отдельных сегментов.