nrRateMatchLDPC

Соответствие уровня имеющей малую плотность проверки четности (LDPC)

Синтаксис

out = nrRateMatchLDPC(in,outlen,rv,mod,nLayers)
out = nrRateMatchLDPC(___,Nref)

Описание

пример

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

nrRateMatchLDPC включает этапы битного выбора и чередования заданного для LDPC-закодированных данных и конкатенации блока кода, как задано в Разделах TS 38.212 5.4.2 и 5.5 [1].

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

Примеры

свернуть все

Создайте входные данные, соответствующие двум LDPC-закодированным блокам кода длины 3960.

encoded = ones(3960,2);

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

rv = 0;                 
mod = 'QPSK';    
nLayers = 1;
outlen = 8000;
ratematched = nrRateMatchLDPC(encoded,outlen,rv,mod,nLayers);
size(ratematched)
ans = 1×2

        8000           1

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

encoded = [0 1000 2000] + (1:66*10)';
rv = 0;           
mod = 'QPSK';    
nLayers = 1; 
outlen = 3000;
out = nrRateMatchLDPC(encoded,outlen,rv,mod,nLayers);
plot(out,'.-')

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

свернуть все

LDPC-закодированные входные данные, заданные как матрица. Каждый столбец in является кодовой комбинацией. Количество столбцов во входном параметре in равно количеству запланированных блоков кода в транспортном блоке. Каждый столбец является соответствующим уровню отдельно, и результаты конкатенированы в out.

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

Длина соответствующего уровню и конкатенированного выходного вектора, заданного как положительное целое число. outlen является количеством закодированных битов, доступных для передачи в транспортном блоке, как задано в Разделе TS 38.212 5.4.2.1 [1].

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

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

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

Схема Modulation, заданная как 'pi/2-BPSK', 'QPSK', '16QAM', '64QAM' или '256QAM'.

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

Количество слоев передачи сопоставлено с транспортным блоком, заданным как целое число от 1 до 4.

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

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

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

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

свернуть все

Соответствующий уровню и каскадный код блокируется для транспортного блока, возвращенного как вектор с длиной outlen.

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

Ссылки

[1] 3GPP TS 38.212. “NR; Мультиплексирование и кодирование канала”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

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

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

Функции

Введенный в R2018b