nrPUSCHDescramble

Выполните дескремблирование PUSCH

Синтаксис

cw = nrPUSCHDescramble(in,nid,rnti)

Описание

пример

cw = nrPUSCHDescramble(in,nid,rnti) возвращает вектор-столбец мягких битов, следующих из обратной операции физического восходящего канала совместно использованный канал (PUSCH), борющийся от Раздела TS 38.211 6.3.1.1 [1]. in является вектором скремблированных мягких битов, nid является борющейся идентичностью, и rnti является радиосетью временным идентификатором (RNTI) оборудования пользователя (UE). Функция только выполняет дескремблирование данных. Поскольку местоположения бита заполнителя восходящей управляющей информации (UCI) неизвестны, функция не может правильно дескремблировать UCIs если существующий во входе.

Примеры

свернуть все

Создайте случайную последовательность двоичных значений, соответствующих кодовой комбинации, содержащей 3 000 битов. Выполните PUSCH скремблирование инициализированного с заданным личным номером ячейки физического уровня и RNTI.

cw = randi([0 1],3000,1);
ncellid = 42;
rnti = 101;
scrambled = nrPUSCHScramble(cw,ncellid,rnti);

Модулируйте скремблированные данные с помощью 16-QAM модуляции. Демодулируйте результат.

modulation = '16QAM';
sym = nrSymbolModulate(scrambled,modulation);
demod = nrSymbolDemodulate(sym,modulation);

Выполните дескремблирование PUSCH демодулируемых символов.

descrambled = nrPUSCHDescramble(demod,ncellid,rnti)
descrambled = 3000×1
1010 ×

   -1.6000
   -1.6000
    0.4000
   -0.4000
   -1.6000
    0.4000
    0.4000
   -0.4000
   -0.4000
   -0.4000
      ⋮

Выполните трудное решение относительно мягкой метрики.

rxcw = double(descrambled<0)
rxcw = 3000×1

     1
     1
     0
     1
     1
     0
     0
     1
     1
     1
      ⋮

Сравните результат с исходной кодовой комбинацией.

isequal(cw,rxcw)
ans = logical
   1

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

свернуть все

Аппроксимированное логарифмическое отношение правдоподобия (LLR) мягкие биты, заданные как действительный вектор-столбец. Знак представляет скремблированный твердый бит.

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

Скремблирование идентичности, заданной как целое число от 0 до 1 023. nid является более высоким параметром слоя dataScramblingIdentityPUSCH, в пределах от от 0 до 1 023, если более высокий параметр слоя сконфигурирован. В противном случае nid является личным номером ячейки физического уровня NCellID, в пределах от от 0 до 1 007. Для получения дополнительной информации смотрите Раздел TS 38.211 6.3.1.1.

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

RNTI UE, заданного как целое число от 0 до 65 535.

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

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

свернуть все

Дескремблированные аппроксимированные мягкие биты LLR, возвращенные как числовой вектор-столбец. Знак представляет дескремблированный твердый бит.

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

Ссылки

[1] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

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

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

Функции

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте