Параметризация

Некоторые функции в 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.

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

| | | |

Похожие темы