Некоторые функции в Toolbox™ LTE требуют большого количества параметров. Для упрощения процесса инструментарий LTE группирует соответствующие параметры в структуры.
Рассмотрим в качестве примера задачу создания символов PCFICH и индексов отображения. Для этой задачи можно вызвать функции. ltePCFICH, и ltePCFICHIndices. ltePCFICH функция также требует cwвходной битовый вектор. Для этого ввода можно вызвать lteCFI функция. Для всех трех функций требуется структура параметров, enb, которая представляет настройки для всей соты eNeyB.
Функция ltePCFICH требует enb иметь, по крайней мере, следующие поля.
NCellID - Идентификация ячеек физического уровня
CellRefP - Количество антенных портов опорных сигналов, специфичных для соты. Допустимые значения: 1, 2 и 4.
NSubframe - Номер субкадра
Для сравнения, функция ltePCFICHIndices требует enb иметь, по крайней мере, следующие поля.
NCellID - Идентификация ячеек физического уровня
NDLRB - Количество блоков ресурсов нисходящей линии связи
Наконец, функция lteCFI требует только enb иметь одно поле, CFI. Во всех случаях, если дополнительные поля присутствуют и не требуются, функция игнорирует их.
В этом примере показано, как создать структуру параметров для всей ячейки. В частности, можно создать структуру параметров. enb, который имеет все поля, требуемые lteCFI, ltePCFICH, и ltePCFICHIndices функции.
Создайте новую структуру параметров, enb, только с одним полем, CFI.
enb.CFI = 1;
Создайте 32-элементный битовый вектор, cw, представляющий скорость кодирования блока 1/16 значения индикатора формата управления (CFI). Для этого вызовите lteCFI функция. Обеспечить enb в качестве входного аргумента.
cw = lteCFI(enb);
Добавить дополнительные поля в enb.
enb.NCellID = 0; enb.CellRefP = 1; enb.NSubframe = 0; enb.NDLRB = 9;
Создание комплексных символов PCFICH путем вызова ltePCFICH функция, обеспечивающая enb структура и cw битовый вектор в качестве входных аргументов.
sym = ltePCFICH(enb,cw);
Хотя ltePCFICH не требует, чтобы enb иметь NDLRB поле, это не вызывает проблем. В этом случае функция игнорирует любые необязательные поля.
Создайте индексы сопоставления PCFICH путем вызова ltePCFICHIndices функция, обеспечивающая enb структура в качестве входного аргумента.
ind = ltePCFICHIndices(enb);
Хотя ltePCFICHIndices не требует enb.NSubframe поле не вызывает проблем. Функция игнорирует все поля, которые ей не требуются.
Удалить поля из структуры можно с помощью MATLAB ®rmfield но, как показано, удаление поля не требуется.
Для многих функций панели инструментов LTE требуется структура параметров с именем enb. Этот параметр представляет eNireB, или общие для всей соты, установки, которые являются общими для всех пользовательских устройств (UE) в соте. Эта структура может включать следующие поля, которые являются одними из наиболее распространенных.
NCellID - Идентификация ячеек физического уровня
CellRefP - Количество антенных портов опорных сигналов, специфичных для соты. Допустимые значения: 1, 2 и 4.
CyclicPrefix - длина циклического префикса. Допустимые значения: 'Normal' и 'Extended'.
NSubframe - Номер субкадра
NDLRB - Количество блоков ресурсов нисходящей линии связи
Различные функции требуют различных полей. Не все функции, требующие enb структура нуждается во всех полях, перечисленных выше. Некоторые функции требуют только подмножества перечисленных выше. В этом случае все необязательные поля игнорируются.
Если необязательные поля параметров не указаны, функция на панели инструментов LTE может иметь настройки по умолчанию. В этом случае панель инструментов выдает предупреждающие сообщения для указания используемых значений по умолчанию. Вы можете управлять этими предупреждениями с помощью lteWarning функция.
В этом примере показано, как передавать необязательные входные данные определенным функциям для изменения формата вывода, предоставленного функцией.
Создайте новую структуру параметров, enb.
enb.NCellID = 0;
enb.CellRefP = 1;
enb.NSubframe = 0;
enb.NDLRB = 9;
enb.Ng = 'Sixth';Например, рассмотрим случай, когда список индексов для определенного физического канала генерируется с помощью ltePCFICHIndices.
Входной аргумент, enb, - структура с соответствующими полями. По умолчанию эти индексы основаны на единице, в отличие от нулевых индексов, указанных в документации технической спецификации (TS).
ind = ltePCFICHIndices(enb); firstIndex = ind(1)
firstIndex = uint32
2
Измените базовый номер, используемый при создании индекса, предоставив дополнительный необязательный входной аргумент. Определить '0based' для создания индексов на основе нуля или '1based' для создания индексов, основанных на единице.
ind = ltePCFICHIndices(enb, '0based');
firstIndex_0based = ind(1)firstIndex_0based = uint32
1
ind = ltePCFICHIndices(enb, '1based');
firstIndex_1based = ind(1)firstIndex_1based = uint32
2
Первый индекс, генерируемый при отсутствии необязательного аргумента, соответствует первому индексу, когда '1based' указывается. Дополнительный ввод не требуется. Если дополнительный ввод не указан, функция использует значение по умолчанию.
Укажите несколько параметров формата вывода для функции, предоставив входной аргумент массива ячеек. opts.
opts = {'sub', '1based', 'reg'};
pcfichInd = ltePCFICHIndices(enb, opts)pcfichInd = 4x3 uint32 matrix
1 1 1
25 1 1
55 1 1
79 1 1
Созданные индексы PCFICH имеют стиль индексирования подстрочного индекса, основанный на одном индексе, и относятся к группам элементов ресурсов. Указанный массив параметров ячейки указывает формат возвращаемых индексов.
Изменение порядка opts записи ячеек дают тот же результат.
opts = {'1based', 'sub', 'reg'};
pcfichInd = ltePCFICHIndices(enb, opts)pcfichInd = 4x3 uint32 matrix
1 1 1
25 1 1
55 1 1
79 1 1
Порядок, в котором вы предоставляете opts входные данные не являются релевантными. В обоих случаях создаются одинаковые значения в выходном аргументе, pcfichInd.
lteCFI | ltePCFICH | ltePCFICHIndices | lteWarning | rmfield