nrPUSCHDescramble

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

Описание

пример

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