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) возвращает восстановленный с уровня выходной параметр для ограниченного мягкого buffer size Nref с конкретным количеством кода блокирует numCB восстановиться, в дополнение к входным параметрам в первом синтаксисе. Nref задан в Разделе TS 38.212 5.4.2.1 [1].

Примеры

свернуть все

Создайте входные данные длины 4 500 соответствий мягким битам. Длина исходного транспортного блока 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

Схема Modulation в виде '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. “NR; Мультиплексирование и кодирование канала”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

Функции

Введенный в R2018b