lteCodeBlockDesegment

Десегментация блока кода и декодирование CRC

Синтаксис

[blk,err] = lteCodeBlockDesegment(cbs,blklen)
[blk,err] = lteCodeBlockDesegment(cbs)

Описание

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

пример

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

Примеры

свернуть все

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

Сегментация блока кода происходит, если входная длина больше, чем 6 144. Входной вектор длины 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 является массивом ячеек, содержащим больше чем один вектор, каждый вектор принят, чтобы присоединить CRC типа-24B. Этот CRC декодируется и разделяется от каждого блока кода перед выходной конкатенацией, и ошибочный результат CRC помещается в связанный элемент векторного err. Длина err является количеством блоков кода. Если cbs является одним вектором или массивом ячеек, содержащим один вектор, никакое декодирование CRC или разделение не выполняются, и err пуст. Во всех случаях количество битов заполнителя, разделенных с начала (первого) блока кода, вычисляется от blklen.

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

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

свернуть все

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

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

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

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

Введенный в R2014a