Ряд функций, связанных с восходящим общим каналом (UL-SCH) и PUSCH, предлагают два различных способа параметризации нескольких кодовых слов в структуре параметров UL-SCH или PUSCH. Как и во многих функциях в LTE Toolbox™, параметры, сопоставленные с кодовыми словами, могут быть объединены вместе в отдельных полях одной скалярной (1 на 1) структуры. Однако многие специфичные для UL-SCH функции также позволяют задавать каждое кодовое слово отдельными независимыми элементами массива (1 на 2) структур. Эта функция обеспечивает дополнительную гибкость и приводит к более компактному коду, когда требуется явная мелкозернистая параметризация отдельных шагов обработки.
В этом примере показано, как параметризовать структуру параметра UL-SCH или PUSCH с помощью двух различных представлений. Рассмотрите создание структуры параметра для lteULSCHDeinterleave
функция.
Когда UCI передается по UL-SCH, операции удаления перемежения и демультиплексирования UCI требуют явного знания количества символов канала управления в кодовом слове. Для примера для одного кодового слова LTE Релиза 8 специфические параметры UL-SCH могут быть определены скаляром структурой (1 на 1).
ulsch1.Modulation = 'QPSK';
ulsch1.QdCQI = 4;
ulsch1.QdRI = 2;
ulsch1.QdACK = 2;
В этом случае существует четыре CQI, два RI и два символа HARQ-ACK в кодовом слове с модуляцией QPSK.
При переходе к полной передаче по восходящей линии связи LTE-Advanced необходимо учитывать второе возможное кодовое слово и влияние дополнительного слоя PUSCH. Этот слой может быть достигнут либо путем добавления значений в значениях структурного поля выше, либо путем использования массива структуры элемента 1 на 2 для определения пары кодовых слов. Например, передайте также второе 16-QAM-modulated кодовое слово, которое теперь содержит CQI, и оба кодовых слова передаются в общей сложности на трех пространственных слоях.
ulsch2.Modulation = {'QPSK','16QAM'}; ulsch2.NLayers = 3; ulsch2.QdCQI = [0,4]; ulsch2.QdRI = 2; ulsch2.QdACK = 2;
Поскольку CQI должен передаваться только на одном из кодовых слов (второй здесь), это выделение символов передается путем установки ulsch2.QdCQI = [0,4].
Вы должны явным образом задать некоторые параметры для каждого кодового слова. Однако, в целом, при использовании одной структуры 1 на 1 для параметризации из нескольких кодовых слов, значения поля скалярного параметра присваиваются всем кодовым словам. Структура ulsch2
устанавливает количество кодированных символов модуляции RI и HARQ-ACK на каждом слое кодового слова равным двум. Сделайте это количество символов явным для каждого кодового слова путем определения QdRI
и QdACK
поля как векторы 1 на 2.
ulsch2.QdRI = [2,2]; ulsch2.QdACK = [2,2];
Одним из особых случаев является поле параметра, которое управляет количеством пространственных слоев, NLayers
, который имеет несколько другую семантику. Если это значение поля скаляром, оно определяет общее количество слоев во всех кодовых словах. Следуя стандартным формулам LTE, когда вы задаете общее количество слоев, равное трем, LTE Toolbox™ разделяет один слой для первого кодового слова и два слоя для второго кодового слова. Сделайте это распределение слоя по кодовому слову явным путем определения NLayers
поле как вектор 1 на 2.
ulsch2.NLayers = [1,2];
Сводные данные, можно записать общую структуру параметра, объявив все поля параметра сразу.
ulsch2.Modulation = {'QPSK','16QAM'}; ulsch2.NLayers = [1,2]; ulsch2.QdCQI = [0,4]; ulsch2.QdRI = [2,2]; ulsch2.QdACK = [2,2];
Эта структура эквивалентна таковым, созданной ранее.
В этом примере показано, как параметризовать структуру параметра UL-SCH или PUSCH с помощью двух различных представлений. Рассмотрите создание структуры параметра для lteULSCHDeinterleave
функция.
Когда UCI передается по UL-SCH, операции удаления перемежения и демультиплексирования UCI требуют явного знания количества символов канала управления в кодовом слове. Для примера для одного кодового слова LTE Релиза 8 специфические параметры UL-SCH могут быть определены скаляром структурой (1 на 1).
ulsch1.Modulation = 'QPSK';
ulsch1.QdCQI = 4;
ulsch1.QdRI = 2;
ulsch1.QdACK = 2;
Специфичная для UL-SCH структура также позволяет задавать каждое кодовое слово отдельными, независимыми элементами массива структур 1 на 2. В этом случае важное различие заключается в том, что никакие значения поля параметра неявно не разделяются между кодовыми словами. Каждое значение поля применяется только к кодовому слову, сопоставленному с этим элементом массива структур. Например, переопределите структуру одного кодового слова, создав новый массив структур 1 на 2, содержащий два одинаковых элемента.
ulsch2(1:2) = ulsch1
ulsch2=1×2 struct array with fields:
Modulation
QdCQI
QdRI
QdACK
Обновляйте только параметры, которые различаются для каждого кодового слова.
ulsch2(1).QdCQI = 0;
ulsch2(2).Modulation = '16QAM';
Добавьте явное количество слоев на параметр кодового слова, NLayers
, к элементам массива структур.
[ulsch2.NLayers] = deal(1,2);
Просмотр первого элемента конечной ulsch2
массив структур.
ulsch2(1)
ans = struct with fields:
Modulation: 'QPSK'
QdCQI: 0
QdRI: 2
QdACK: 2
NLayers: 1
Просмотр второго элемента конечной ulsch2
массив структур.
ulsch2(2)
ans = struct with fields:
Modulation: '16QAM'
QdCQI: 4
QdRI: 2
QdACK: 2
NLayers: 2
Обе эти формы представления параметров UL-SCH могут использоваться во многих функциях, связанных с UL-SCH- и PUSCH. Кроме того, lteULSCHInfo
функция может вернуть свою структуру output в любом виде:
Чтобы получить массив структур, установите второй элемент opts
1 на 2 массив ячеек в
'cwseparate'
.
Чтобы получить скалярную структуру, установите ее равной 'cwcombined'
.
lteULSCHDeinterleave
| lteULSCHInfo