exponenta event banner

nrRateRecoverLDPC

Восстановление скорости контроля четности с низкой плотностью (LDPC)

Описание

пример

out = nrRateRecoverLDPC(in,trblklen,R,rv,mod,nLayers) возвращает восстановленный по скорости выходной сигнал, представляющий кодированные LDPC кодовые блоки для вектора входных данных in. Вход trblklen - длина транспортного блока, R - целевая кодовая скорость, rv - версия избыточности, mod является типом модуляции, и nLayers - количество уровней передачи. Внутренний буфер, используемый для мягкого ввода, не имеет ограничений по размеру, а выходные данные содержат общее количество кодовых блоков.

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

out = nrRateRecoverLDPC(___,numCB) определяет количество кодовых блоков numCB подлежит восстановлению, в дополнение к входным аргументам в предыдущем синтаксисе.

out = nrRateRecoverLDPC(___,numCB,Nref) возвращает выходные данные с восстановленной скоростью для ограниченного размера мягкого буфера Nref с указанным количеством кодовых блоков numCB для восстановления, в дополнение к входным аргументам в первом синтаксисе. Nref определено в TS 38.212 раздел 5.4.2.1 [1].

Примеры

свернуть все

Создайте входные данные длиной 4500, соответствующие мягким битам. Длина исходного транспортного блока равна 4000. Выполните восстановление скорости LDPC для входа в один кодовый блок. Используйте один уровень передачи с модуляцией QPSK и версией с нулевой избыточностью.

sbits = ones(4500,1);
trblklen = 4000;    
R = 0.5;                
rv = 0;                 
mod = 'QPSK';           
nlayers = 1;            
numCB = 1;              
raterec = nrRateRecoverLDPC(sbits,trblklen,R,rv,mod,nlayers,numCB);
size(raterec)
ans = 1×2

       12672           1

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

свернуть все

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

Типы данных: double | single

Исходная длина транспортного блока, заданная как неотрицательное целое число.

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

Целевая кодовая скорость, заданная как действительный скаляр в диапазоне (0,1).

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

Версия избыточности, заданная как целое число от 0 до 3.

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

Схема модуляции, указанная как 'pi/2-BPSK', 'QPSK', '16QAM', '64QAM', или '256QAM'. Эта схема модуляции определяет тип модуляции кодового слова и количество битов, используемых на символ модуляции.

Схема модуляцииКоличество битов на символ

'pi/2-BPSK'

1
'QPSK'2
'16QAM'4
'64QAM'6
'256QAM'8

Типы данных: char | string

Число уровней передачи, связанных с транспортным блоком, указанное как целое число от 1 до 4.

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

Число запланированных сегментов кодового блока, указанное как положительное целое число. numCB меньше или равно количеству сегментов кодового блока для транспортного блока.

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

Сопоставление ограниченной скорости буфера, указанное как положительное целое число. Nref определено в TS 38.212 раздел 5.4.2.1.

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

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

свернуть все

Восстановленные по скорости сегменты запланированного кода, возвращенные в виде матрицы. Количество строк в out рассчитывается из trblklen и R. Количество столбцов в out равно numCBили общее количество кодовых блоков для транспортного блока. Битам заполнителя присваивается значение Inf для соответствия нулям, используемым при их кодировании.

Типы данных: double | single

Ссылки

[1] 3GPP TS 38.212. "НР; мультиплексирование и канальное кодирование. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2018b