lteCodeBlockDesegment

Код блоков и декодирование CRC

Описание

[blk,err] = lteCodeBlockDesegment(cbs,blklen) конкатенирует входные векторы блока кода, содержащиеся в cbs в вектор выхода, blk, длины blklen. blklen также используется для проверки размерностей данных в cbs и рассчитать количество удаляемого наполнителя. Если cbs является массивом ячеек, содержащим более одного вектора, каждый вектор, как принято, имеет type-24B CRC. Этот CRC декодируется и удаляется из каждого блока кода перед выходом конкатенации, и результат ошибки CRC помещается в ассоциированный элемент вектора err. Длина err количество блоков кода. Если cbs является одним вектором или массивом ячеек, содержащим один вектор, никакое декодирование или удаление CRC не выполняется и err пуст. Во всех случаях количество бит наполнителя, отделенных от начала (первого) блока кода, вычисляется из blklen. lteCodeBlockDesegment выполняет обратную сегментацию кодового блока и добавление CRC (см. lteCodeBlockSegment).

пример

[blk,err] = lteCodeBlockDesegment(cbs) никакие начальные биты наполнителя не удаляются с выхода.

Примеры

свернуть все

Выполните десегментацию кодового блока и обнаружите, когда происходит сегментация.

Сегментация кодового блока происходит, если входная длина больше 6144. Вектор входа длины 6145 сегментирован по lteCodeBlockSegment в два вектора длины 3072 и 3136.

cbs = lteCodeBlockSegment(ones(6145,1));

Затем выполните десегментацию и удаление CRC.

[blk,err] = lteCodeBlockDesegment(cbs);
size(blk)
ans = 1×2

        6160           1

err
err = 1x2 int8 row vector

   0   0

Первый выход, blk, представляет собой вектор-столбец длины 6160. Второй выход, err, - вектор-столбец с нулевыми значениями.

Входные параметры

свернуть все

Код сегменты блоков, заданные как вектор-столбец или массив ячеек векторов-столбцов. Если cbs является массивом ячеек, содержащим более одного вектора, каждый вектор, как принято, имеет type-24B CRC. Этот CRC декодируется и удаляется из каждого блока кода перед выходом конкатенации, и результат ошибки CRC помещается в ассоциированный элемент вектора err. Длина err количество блоков кода. Если cbs является одним вектором или массивом ячеек, содержащим один вектор, никакое декодирование или удаление CRC не выполняется и err пуст. Во всех случаях количество бит наполнителя, отделенных от начала (первого) блока кода, вычисляется из blklen.

Длина блока, заданная как неотрицательное целое число.

Выходные аргументы

свернуть все

Выход блок данных, возвращенный как вектор-столбец. Входы кода сегментируются в один выходной блок данных, blk, удаление любого наполнителя и type-24B бит CRC.

Типы данных: int8

Код блокирует ошибки декодирования CRC, возвращенные как неотрицательное целое число. Длина err равно количеству блоков кода. Если cbs - массив ячеек, содержащий несколько векторных элементов, lteCodeBlockDesegment принимает, что каждый вектор имеет type-24B присоединенный CRC. CRC декодируется и удаляется из каждого блока кода перед выходом конкатенации, и результат ошибки CRC помещается в ассоциированный элемент err. Если cbs является одним вектором или массивом ячеек, содержащим один вектор, никакое декодирование или удаление CRC не выполняется и err пуст.

Типы данных: int8

Введенный в R2014a