Сегментация блока кода и прикрепление CRC
cbs = lteCodeBlockSegment(blk)
разделяет битовый вектор входных данных cbs
= lteCodeBlockSegment(blk
)blk
в массив ячеек cbs
сегментов блока кода, с битами заполнителя и CRC типа-24B, добавленным как соответствующий, согласно правилам TS 36.212 [1], Раздел 5.1.2. Сегментация блока кода происходит в транспортных блоках, после начального добавления CRC типа-24A, для турбо закодированные транспортные каналы, включая DL-SCH, UL-SCH, PCH и MCH.
Операция сегментации и дополнения гарантирует, что блоки кода, вводящие турбо кодер, не больше, чем 6 144 в длине и являются всеми легальными размерами блоков турбокода. Турбо кодер LTE только поддерживает конечное множество размеров блока кода. Если входная длина блока больше, чем 6 144, входной блок разделен в массив ячеек меньших блоков кода, где каждому отдельному блоку также добавили CRC типа-24B к нему. Биты заполнителя NULL, представленные –1 при выводе, предварительно ожидаются к первому блоку кода так, чтобы все блоки в наборе имели приемлемые длины. Если входная длина блока меньше чем или равна 6 144, никакая сегментация не происходит, и никакой CRC не добавлен, но одному выходному блоку кода можно было предварительно ожидать биты заполнителя NULL. Последний случай все еще приводит к массиву ячеек вывод, содержащий один вектор.
[1] 3GPP TS 36.212. “Мультиплексирование и кодирование канала”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: http://www.3gpp.org.
lteCRCEncode
| lteCodeBlockDesegment
| lteDLSCH
| lteDLSCHInfo
| lteTurboEncode