Выполните данные UL-SCH и управляйте демультиплексированием
[
возвращает демультиплексированный закодированный вектор данных culsch
,cack
,ccsi1
,ccsi2
] = nrULSCHDemultiplex(pusch
,tcr
,tbs
,oack
,ocsi1
,ocsi2
,cw
)culsch
и закодированные векторы управляющей информации восходящей линии связи (UCI) cack
, ccsi1
, и ccsi2
провести демультиплексирование принятого кодового слова cw
. Это демультиплексирование отменяет обработку, определенную в TS 38.212 Раздел 6.2.7 [1]. pusch
- физический общий канал восходящей линии связи (PUSCH) строения. tcr
- целевая скорость кода. tbs
- размер транспортного блока для передачи по общему каналу восходящей линии связи (UL-SCH). oack
- номер бит полезной нагрузки гибридного автоматического запроса на повторное подтверждение (HARQ-ACK). ocsi1
количество полезной нагрузки части 1 информации о состоянии канала (CSI) бит и ocsi2
- количество бит полезной нагрузки CSI части 2. cw
является вектор-столбец мягкой логарифмической правдоподобности отношения бит (LLR).
Создайте объект строения PUSCH со схемой pi/2-BPSK модуляции и без скачкообразного изменения частоты. Установите коэффициент бета- смещения для HARQ-ACK равным 20, и коэффициент бета- смещения для части 1 CSI и части 2 CSI равный 6,25 каждый. Задайте коэффициент масштабирования как 1, который ограничивает количество ресурсных элементов (RE), назначенных для UCI.
pusch = nrPUSCHConfig; pusch.Modulation = 'pi/2-BPSK'; pusch.FrequencyHopping = 'neither'; pusch.BetaOffsetACK = 20; pusch.BetaOffsetCSI1 = 6.25; pusch.BetaOffsetCSI2 = 6.25; pusch.UCIScaling = 1;
Установите целевую скорость кода, длины полезной нагрузки данных UL-SCH, HARQ-ACK, CSI часть 1 и CSI часть 2.
tcr = 0.5; % Target code rate tbs = 3848; % Payload length of UL-SCH data (transport block size) oack = 8; % Payload length of HARQ-ACK ocsi1 = 88; % Payload length of CSI part 1 ocsi2 = 100; % Payload length of CSI part 2
Получите согласованные по скорости длины данных UL-SCH, HARQ-ACK, части 1 CSI и части 2 CSI.
rmInfo = nrULSCHInfo(pusch,tcr,tbs,oack,ocsi1,ocsi2);
Создайте случайным образом закодированные биты UL-SCH, HARQ-ACK, части 1 CSI и части 2 CSI.
culsch = randi([0 1],rmInfo.GULSCH,1); cack = randi([0 1],rmInfo.GACK,1); ccsi1 = randi([0 1],rmInfo.GCSI1,1); ccsi2 = randi([0 1],rmInfo.GCSI2,1);
Получите кодовое слово из случайным образом закодированных бит UL-SCH и кодированных бит типов UCI.
cw = nrULSCHMultiplex(pusch,tcr,tbs,culsch,cack,ccsi1,ccsi2);
Получите демультиплексированные биты UL-SCH и UCI из кодового слова.
[rxculsch,rxcack,rxccsi1,rxccsi2] = nrULSCHDemultiplex(pusch,tcr,tbs,oack,ocsi1,ocsi2,1-2*cw);
Проверьте, что случайным образом закодированные биты и демультиплексированные кодированные биты UL-SCH и кодированных типов UCI идентичны.
isequal(rxculsch<0,culsch)
ans = logical
1
isequal(rxcack<0,cack)
ans = logical
1
isequal(rxccsi1<0,ccsi1)
ans = logical
1
isequal(rxccsi2<0,ccsi2)
ans = logical
1
pusch
- параметры конфигурации PUSCHnrPUSCHConfig
объектПараметры конфигурации PUSCH, заданные как nrPUSCHConfig
объект. Эта функция использует только эти nrPUSCHConfig
свойства объекта.
Modulation
- Схема модуляции'QPSK'
(по умолчанию) | 'pi/2-BPSK'
| '16QAM'
| '64QAM'
| '256QAM'
| строковый скалярСхема модуляции, заданная как 'QPSK'
, 'pi/2-BPSK'
, '16QAM'
, '64QAM'
, или '256QAM'
, строковый скаляр или символьный массив.
Схема модуляции | Количество Бит на символ |
---|---|
'pi/2-BPSK' | 1 |
'QPSK' | 2 |
'16QAM' | 4 |
'64QAM' | 6 |
'256QAM' | 8 |
Типы данных: char
| string
NumLayers
- Количество слоев передачи1
(по умолчанию) | 2
| 3
| 4
Количество слоев передачи, заданное как 1
, 2
, 3
, или 4
.
Типы данных: double
MappingType
- Тип отображения'A'
(по умолчанию) | 'B'
Тип отображения физического общего канала, заданный как 'A'
или 'B'
.
Типы данных: char
| string
SymbolAllocation
- выделение символа OFDM[0 14]
(по умолчанию) | двухэлементный вектор неотрицательных целых чиселВыделение символа OFDM физического общего канала, заданное как двухэлементный вектор неотрицательных целых чисел. Первый элемент этого свойства представляет начало выделения символа (на основе 0). Второй элемент представляет количество выделенных символов OFDM.
Когда вы устанавливаете это свойство на []
или второго элемента вектора, для 0
, для канала не выделен символ.
Типы данных: double
PRBSet
- распределение PRB[0:51]
(по умолчанию) | вектор из целых чисел от 0 до 274Выделение физического ресурсного блока (PRB) PUSCH в BWP, заданное как вектор целых чисел от 0 до 274.
Типы данных: double
TransformPrecoding
- Преобразование предварительного кодирования0
или false
(по умолчанию) | 1
или true
Прекодирование преобразования, заданное как одно из следующих значений.
0
(false
) - Отключить предварительное кодирование преобразования. Тип формы волны является циклически-префиксным ортогональным частотным делением мультиплексированием (CP-OFDM).
1
(true
) - Включите предварительное кодирование преобразования. Тип формы волны является дискретным ортогональным частотным делением преобразования Фурье (DFT-s-OFDM).
Типы данных: double
| logical
FrequencyHopping
- Скачкообразное изменение частоты'neither'
(по умолчанию) | 'intraSlot'
| 'interSlot'
Скачок частоты для физического восходящего общего канала, заданный как один из следующих опций.
'neither'
'intraSlot'
'interSlot'
Если вы задаете скачкообразное изменение частоты внутри внутрипаза, и входные закодированные биты не удовлетворяют уравнениям раздела 6.2.7 TS 38.212, функция возвращает кодовое слово, принимая, что скачкообразное изменение частоты не присутствует.
Типы данных: char
| string
BetaOffsetACK
- Коэффициент смещения беты HARQ-ACK20
(по умолчанию) | положительное целое числоКоэффициент смещения беты HARQ-ACK, заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования HARQ-ACK. Номинальное значение является одним из значений из таблицы 9.3-1 TS 38.213.
Типы данных: double
BetaOffsetCSI1
- Коэффициент смещения беты части 1 CSI6.25
(по умолчанию) | положительное целое числоКоэффициент смещения беты части 1 информации о состоянии канала (CSI), заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования части 1 CSI. Номинальное значение является одним из значений из таблицы 9.3-2 TS 38.213.
Типы данных: double
BetaOffsetCSI2
- Коэффициент смещения беты CSI, часть 26.25
(по умолчанию) | положительное целое числоКоэффициент смещения беты части 2 CSI, заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования CSI части 2. Номинальное значение является одним из значений из таблицы 9.3-2 TS 38.213.
Типы данных: double
UCIScaling
- Масштабный коэффициент1
(по умолчанию) | скаляром между 0 и 1Масштабный коэффициент для ограничения количества ресурсных элементов, выделенных для UCI на PUSCH, заданный как скаляр между 0 и 1. Номинальное значение 0,5, 0,65, 0,8 или 1.
Типы данных: double
RNTI
- Временный идентификатор радиосети1
(по умолчанию) | целое число от 0 до 65 535Временный идентификатор радиосети пользовательского оборудования (UE), заданный в виде целого числа от 0 до 65 535.
Типы данных: double
DMRS
- Параметры конфигурации PUSCH DM-RSnrPUSCHDMRSConfig
объект (по умолчанию) | nrPUSCHDMRSConfig
объект Параметры конфигурации PUSCH DM-RS, заданные как nrPUSCHDMRSConfig
объект строения.
EnablePTRS
- Включить PT-RS0
или false
(по умолчанию) | 1
или true
Включите PT-RS, заданное в качестве одного из следующих значений.
0
(false
) - Отключите строение PT-RS.
1
(true
) - Включите строение PT-RS.
Типы данных: double
| logical
PTRS
- Параметры конфигурации PUSCH PT-RSnrPUSCHPTRSConfig
объект (по умолчанию) | nrPUSCHPTRSConfig
объект Строение опорного сигнала отслеживания фазы PUSCH (PT-RS), заданная как nrPUSCHPTRSConfig
объект строения.
tcr
- Целевая скорость кодаЦелевая скорость кода для кодового слова в передаче UL-SCH, заданная в виде скаляра в области значений (0, 1).
Типы данных: double
tbs
- Размер транспортного блокаРазмер транспортного блока, сопоставленный с кодовым словом в передаче UL-SCH, задается как неотрицательное целое число. Значение 0
указывает на отсутствие транспортного блока или на отсутствие передачи UL-SCH на PUSCH.
Типы данных: double
oack
- Длина полезной нагрузки HARQ-ACK битДлина полезной нагрузки бит HARQ-ACK, заданная как неотрицательное целое число. Значение 0
указывает на отсутствие передачи HARQ-ACK.
Типы данных: double
ocsi1
- Длина полезной нагрузки CSI, часть 1 битДлина полезной нагрузки CSI-части 1 бит, заданная в виде неотрицательного целого числа. Значение 0
указывает на отсутствие передачи CSI части 1.
Типы данных: double
ocsi2
- Длина полезной нагрузки CSI, часть 2 битыДлина полезной нагрузки CSI-части 2 бит, заданная в виде неотрицательного целого числа. Значение 0
указывает на отсутствие передачи CSI часть 2. Номинально часть 2 CSI присутствует только, когда часть 1 CSI присутствует.
Типы данных: double
cw
- Получены мягкие биты LLR[]
Получены журналы мягких битах коэффициента правдоподобия (LLR), возвращаются как реальные векторы-столбцы или []
. Длина cw
должно быть равно разрядности PUSCH.
Типы данных: single
| double
culsch
- Кодированные мягкие биты LLR UL-SCHКодированные мягкие биты LLR UL-SCH, заданные как реальный вектор-столбец. Если входной параметр cw
пуст, тогда выходной аргумент culsch
также пуст. Тип выходных данных culsch
соответствует параметру входного параметра cw
.
Типы данных: single
| double
cack
- Кодированные мягкие биты HARQ-ACK LLRЗакодированные мягкие биты HARQ-ACK LLR, заданные как реальный вектор-столбец. Если входной параметр cw
пуст, тогда выходной аргумент cack
также пуст. Тип выходных данных cack
соответствует параметру входного параметра cw
.
Типы данных: single
| double
ccsi1
- Кодированные мягкие биты CSI части 1 LLRКодированные мягкие биты LLR части 1 CSI, заданные как реальный вектор-столбец. Если входной параметр cw
пуст, тогда выходной аргумент ccsi1
также пуст. Тип выходных данных ccsi1
соответствует параметру входного параметра cw
.
Типы данных: single
| double
ccsi2
- Кодированные мягкие биты CSI части 2 LLRКодированные мягкие биты LLR части 2 CSI, заданные как реальный вектор-столбец. Если входной параметр cw
пуст, тогда выходной аргумент ccsi2
также пуст. Тип выходных данных ccsi2
соответствует параметру входного параметра cw
.
Типы данных: single
| double
[1] 3GPP TS 38.212. "NR; Мультиплексирование и канальное кодирование. "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.
[2] 3GPP TS 38.213. "NR; Процедуры физического слоя для контроля ". 3-ья Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.