nrPUCCH1

Сгенерируйте символы модуляции формата 1 PUCCH

Синтаксис

sym = nrPUCCH1(ack,sr,symAllocation,cp,nslot,nid,groupHopping,initialCS,freqHopping,occi)
sym = nrPUCCH1(___,'OutputDataType',datatype)

Описание

пример

sym = nrPUCCH1(ack,sr,symAllocation,cp,nslot,nid,groupHopping,initialCS,freqHopping,occi) возвращает физический восходящий канал управления (PUCCH) символы модуляции формата 1, как задано в Разделе TS 38.211 6.3.2.4 [1], на основе этих входных параметров:

  • Гибридное автоматическое подтверждение повторного запроса (HARQ-ACK) ack

  • Планирование запроса (SR) sr

  • Выделение символа PUCCH symAllocation

  • Циклический префиксный cp

  • Радио-номер слота кадра nslot

  • Скремблирование идентичности nid

  • Группа, скачкообразно перемещающая настройку groupHopping

  • Начальный циклический сдвиг initialCS

  • Частота внутрислота, скачкообразно перемещающая настройку freqHopping

  • Ортогональный индекс кода покрытия occi

sym = nrPUCCH1(___,'OutputDataType',datatype) задает тип данных символа PUCCH в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Задайте передачу с двухбитовым HARQ-ACK и положительным SR.

ack = [0;1];
sr = 1;

Задайте первый индекс символа в слоте передачи PUCCH как 0, количество выделенных символов PUCCH как 14, и номер слота как 3.

symAllocation = [0 14];
nslot = 3;

Установите борющуюся идентичность на 512 и начальный циклический сдвиг к 5.

nid = 512;
initialCS = 5;

Сгенерируйте символы с нормальным циклическим префиксом, скачкообразное движение частоты внутрислота и скачкообразное движение группы включили, и ортогональный индекс кода 2 покрытия.

cp = 'normal';
freqHopping = 'enabled';
groupHopping = 'enable';
occi = 2;
sym = nrPUCCH1(ack,sr,symAllocation,cp,nslot,nid,groupHopping,initialCS,freqHopping,occi)
sym = 84×1 complex

  -1.0000 - 0.0000i
  -0.5000 + 0.8660i
  -0.8660 + 0.5000i
  -0.0000 - 1.0000i
  -0.8660 - 0.5000i
   0.8660 - 0.5000i
  -1.0000 + 0.0000i
   0.8660 + 0.5000i
  -0.8660 + 0.5000i
  -1.0000 + 0.0000i
      ⋮

Задайте передачу с однобитным HARQ-ACK и отрицательным SR.

ack = 1;
sr = 0;

Задайте первый индекс символа в слоте передачи PUCCH как 3, количество выделенных символов PUCCH как 9, и номер слота как 7.

symAllocation = [3 9];
nslot = 7;

Установите борющуюся идентичность на 512 и начальный циклический сдвиг к 9.

nid = 512;
initialCS = 9;

Сгенерируйте символы с расширенным циклическим префиксом, скачкообразное движение частоты внутрислота и скачкообразное движение группы включили, и ортогональный индекс кода 1 покрытия.

cp = 'extended';
freqHopping = 'enabled';
groupHopping = 'enable';
occi = 1;
sym = nrPUCCH1(ack,sr,symAllocation,cp,nslot,nid,groupHopping,initialCS,freqHopping,occi)
sym = 48×1 complex

  -0.0000 + 1.0000i
  -0.8660 + 0.5000i
  -0.5000 + 0.8660i
   1.0000 - 0.0000i
   0.8660 - 0.5000i
   0.8660 + 0.5000i
  -0.0000 - 1.0000i
  -0.8660 + 0.5000i
   0.8660 + 0.5000i
   0.0000 + 1.0000i
      ⋮

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

свернуть все

Биты HARQ-ACK, заданные как пустой вектор или вектор столбца двоичных данных с одной или двумя строками. Пустой вектор указывает на передачу PUCCH без HARQ-ACK. При определении вектора столбца двоичных данных количество строк соответствует количеству кодовых комбинаций. Векторный элемент 1 обозначает положительное подтверждение (ACK) и векторный элемент 0, обозначает отрицательное подтверждение (NACK).

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

Биты SR, заданные как пустой вектор, 1 или 0. Пустой вектор указывает на передачу PUCCH без SR. 1 обозначает положительный SR. 0 обозначает отрицательный SR. Или для положительного или для отрицательного SR с битами информации о HARQ-ACK, только происходит передача HARQ-ACK. Для отрицательного SR без HARQ-ACK вывод sym пуст.

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

Выделение символа PUCCH, заданное как двухэлементный числовой вектор формы [S L], где S и L являются неотрицательными целыми числами.

  • S является первым индексом символа OFDM в слоте передачи PUCCH.

  • L является количеством символов OFDM, выделенных для передачи PUCCH. Для формата 1 PUCCH L является целым числом от 4 или 14.

Примечание

S и L должны удовлетворить эти условия.

  • Для расширенного префикса управления, S + L ≤ 12.

  • Для нормального циклического префикса, S + L ≤ 14.

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

Циклический префикс, заданный как 'normal' или 'extended'.

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

Радио-номер слота кадра, заданный как целое число от 0 до 159. Для нормального циклического префикса различной нумерологии допустимая область значений от 0 до 159. Для расширенного циклического префикса допустимая область значений от 0 до 39. Для получения дополнительной информации смотрите Раздел TS 38.211 4.3.2.

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

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

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

Группа, скачкообразно перемещающая настройку, заданную как 'neither', 'enable' или 'disable'. Аргумент groupHopping является более высоким параметром слоя pucch-GroupHopping.

Примечание

Когда groupHopping установлен в 'disable', функция включает скачкообразное движение последовательности. В этом случае выбранный порядковый номер не может подходить для коротких последовательностей оснований.

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

Начальный циклический сдвиг, m_0, заданный как целое число от 0 до 11. initialCS является более высоким параметром слоя initialCyclicShift.

Для получения дополнительной информации смотрите Раздел TS 38.213 9.2.1 [2].

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

Настройка скачкообразного движения частоты внутрислота, заданная как 'enabled' или 'disabled'. Аргумент freqHopping является более высоким параметром слоя intraSlotFrequencyHopping.

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

Ортогональный индекс кода покрытия, заданный как целое число от 0 до 6. Этот входной параметр соответствует более высокому параметру слоя timeDomainOCC. Допустимая область значений зависит от количества символов OFDM, которые содержат управляющую информацию в транзитном участке.

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

Тип данных выходных символов, заданных как 'double' или 'single'.

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

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

свернуть все

Символы модуляции формата 1 PUCCH, возвращенные как комплексный вектор-столбец или пустой вектор. sym имеет длину 12×floor(L/2), где L является продолжительностью выделения символа PUCCH, заданной symAllocation. Для отрицательного SR без HARQ-ACK вывод sym пуст.

Типы данных: single | double
Поддержка комплексного числа: Да

Ссылки

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

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

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

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

| | | | |

Введенный в R2019a