Некоторые функции в LTE Toolbox™ требуют большого количества параметров. Чтобы упростить процесс, LTE Toolbox собирает в группу соответствующие параметры в структуры.
Рассмотрите, как пример, задача генерации символов PCFICH и отображения индексов. Для этой задачи можно вызвать функции ltePCFICH
, и ltePCFICHIndices
. ltePCFICH
функция также требует cw
, входной битовый вектор. Для этого входа можно вызвать lteCFI
функция. Все три функции требуют структуры параметра, enb
, это представляет eNodeB настройки всей ячейки.
Функция 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 Toolbox требуют структуры параметра под названием enb
. Этот параметр представляет eNodeB или cell-wide, настройки, которые характерны для всего оборудования пользователя (UEs) в ячейке. Эта структура может включать следующие поля, которые являются среди наиболее распространенного.
NCellID
— Идентичность ячейки физического уровня
CellRefP
— Количество специфичных для ячейки портов антенны опорного сигнала. Допустимые значения равняются 1, 2, и 4.
CyclicPrefix
— Длина циклического префикса. Допустимыми значениями является 'Normal'
и 'Extended'
.
NSubframe
— Номер подкадра
NDLRB
— Количество нисходящих блоков ресурса
Различные функции требуют различных полей. Не все функции, которые требуют enb
потребность структуры все поля упоминается выше. Некоторые функции требуют только подмножества упомянутых выше. В этом случае любые необязательные поля проигнорированы.
Когда дополнительные поля параметра не заданы, функция в LTE Toolbox может принять настройки по умолчанию. В этом случае тулбокс производит предупреждающие сообщения, чтобы задать значения по умолчанию, которые он использует. Можно управлять этими предупреждениями с помощью 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
.
ltePCFICH
| ltePCFICHIndices
| lteCFI
| rmfield
| lteWarning