LTE Toolbox™ предоставляет средства для генерации последовательностей символов, соответствующих физическим каналам и сигналам. Также генерируются индексы для отображения этих последовательностей в сетку ресурсов. Для удобства LTE Toolbox использует стиль линейного индексирования MATLAB ® для представления этих индексов.

Перед применением модуляции OFDM (IFFT) физические каналы и сигналы в LTE отображаются на различные части сетки ресурсов подкадра. Сетка ресурсов подкадра представлена на панели инструментов LTE в виде многомерного массива следующего размера.
× P
В предыдущем выражении - это количество блоков ресурсов, охватывающих доступную полосу пропускания, - это количество символов OFDM (или SC-FDMA в восходящей линии связи) на слот, а - количество антенных портов. Поэтому сетка ресурсов представляет подкадр (два слота) и всю полосу пропускания, поскольку на блок ресурсов приходится 12 поднесущих. Для случая с одной антенной сетка ресурсов может быть двумерной матрицей следующего размера.
Создайте пустой массив ресурсов нисходящей линии связи с помощью двух различных методов. Можно создать допустимые и эквивалентные массивы ресурсов субкадров с помощью lteDLResourceGrid функции или zeros функция.
Инициализация обязательных параметров
Создайте структуру параметров для обычного циклического префикса, девяти блоков ресурсов нисходящей линии связи и одной передающей антенны.
enb = struct('CyclicPrefix','Normal','NDLRB',9,'CellRefP',1);
Определите семь символов на слот для использования в zeros функция.
symbolsPerSlot = 7;
Создание пустых массивов ресурсов
Создайте пустой массив ресурсов субкадров с помощью каждого метода.
resourceGrid1 = lteDLResourceGrid(enb); resourceGrid2 = zeros(enb.NDLRB*12,symbolsPerSlot*2,enb.CellRefP);
Сравнить массивы ресурсов
Сравните два массива ресурсов. Поскольку оба подхода генерируют один и тот же результат, можно использовать для создания пустого массива ресурсов нисходящей линии связи. Аналогично, можно создать пустой массив ресурсов восходящей линии связи, боковой линии связи или узкополосных ресурсов с помощью lteULResourceGrid, lteSLResourceGrid, или lteNBResourceGrid функции, соответственно, или zeros функция.
isequal(resourceGrid1,resourceGrid2)
ans = logical
1
Создайте опорный сигнал и сопоставьте его пустой сетке ресурсов для варианта с одной антенной. LTE- Toolbox™ был разработан для облегчения отображения физических каналов и сигналов в сетке ресурсов.
Настройка параметров для всей ячейки. Создайте структуру и укажите в качестве ее полей параметры для всей ячейки.
enb.CyclicPrefix = 'Normal'; enb.NDLRB = 6; enb.CellRefP = 1; enb.NCellID = 1; enb.NSubframe = 0; enb.DuplexMode = 'FDD'; antPort = 0;
Создайте пустую сетку ресурсов подкадра с помощью lteDLResourceGrid затем заполните сетку ссылочными символами с помощью lteCellRSIndices и lteCellRS функции.
resourceGrid = lteDLResourceGrid(enb); ind = lteCellRSIndices(enb,antPort); rs = lteCellRS(enb,antPort); resourceGrid(ind) = rs;
Для формирования списка индексов, идентифицирующих место отображения опорного сигнала, используйте функцию lteCellRSIndices. Для генерации символов опорного сигнала используйте lteCellRS функция.
Создание индексов в линейной и подстрочной форме. Все функции генерации индекса LTE Toolbox™ могут создавать линейные форматы или форматы подстрочных индексов путем установки соответствующих опций. По умолчанию используется линейная индексация, которая обеспечивает доступ к любому элементу матрицы с одним значением индекса. С помощью индексирования по индексу в матрице 2-D можно получить доступ к каждому элементу с набором из двух элементов, представляющих эквиваленты строк и столбцов.
Стиль линейного индексирования позволяет удобно сопоставлять символы ссылочной последовательности с соответствующим местоположением в сетке ресурсов только одной строкой кода. Отображение ссылочных символов в сетку ресурсов с использованием индексов с подстрочными индексами потребует большей точности.
Создайте структуру, задающую в качестве полей параметры для всей ячейки. Присвойте нулевое значение номеру антенного порта.
enb.CyclicPrefix = 'Normal'; enb.NDLRB = 6; enb.CellRefP = 1; enb.NCellID = 1; enb.NSubframe = 0; enb.DuplexMode = 'FDD'; antPort = 0;
Создайте пустую сетку ресурсов подкадра с помощью lteDLResourceGrid затем создайте символы опорного сигнала с помощью lteCellRS function. Просмотр пустой сетки ресурсов.
resourceGrid = lteDLResourceGrid(enb); rs = lteCellRS(enb,antPort); mesh(abs(resourceGrid)) view(2)

Создание линейных индексов.
ind_lin = lteCellRSIndices(enb,antPort);
Сопоставьте символы опорного сигнала с сеткой ресурсов.
resourceGrid(ind_lin) = rs;
Отображение ссылочных символов, активных для параметров для всей ячейки, назначенных в enb путем печати обновленной сетки ресурсов.
figure mesh(abs(resourceGrid)) view(2)

В качестве альтернативы, создайте индексы в виде подстрочного индекса, предоставив 'sub' строка параметра для lteCellRSIndices. В этом случае выходные индексы представляют сетку ресурсов в виде [поднесущей, символа OFDM, антенного порта].
ind_sub = lteCellRSIndices(enb,antPort,'sub');Преобразование между линейными индексами и индексами может быть достигнуто с помощью MATLAB ind2sub и sub2ind функции. Кроме того, все функции создания индексов в LTE Toolbox могут создавать оба формата.
Сформировать индексы в многоантенном линейном виде. Эта форма представляет собой вариант стиля линейного индексирования MATLAB ®, в котором индексы, соответствующие каждому антенному порту, находятся в разных столбцах. Однако все индексы все еще в линейном виде. Несколько функций панели инструментов возвращают индексы в многоантенной линейной форме.
Чтобы проиллюстрировать это, вызовите функцию ltePDSCH для корпуса с четырьмя антеннами.
enb.CellRefP = 4; enb.CFI = 1; enb.NCellID = 1; enb.NSubframe = 0; enb.NDLRB = 6; enb.CyclicPrefix = 'Normal'; enb.DuplexMode = 'FDD'; pdsch.TxScheme = 'TxDiversity'; pdsch.Modulation = 'QPSK'; pdsch.RNTI = 1; pdsch.PRBSet = (0:5).'; data = ones(768,1); symb = ltePDSCH(enb,pdsch,data); size(symb)
ans = 1×2
384 4
symb(1:10,:)
ans = 10×4 complex
-0.5000 - 0.5000i 0.0000 + 0.0000i -0.5000 - 0.5000i 0.0000 + 0.0000i
0.5000 - 0.5000i 0.0000 + 0.0000i -0.5000 + 0.5000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.5000 - 0.5000i 0.0000 + 0.0000i 0.5000 - 0.5000i
0.0000 + 0.0000i -0.5000 - 0.5000i 0.0000 + 0.0000i -0.5000 + 0.5000i
0.5000 - 0.5000i 0.0000 + 0.0000i 0.5000 + 0.5000i 0.0000 + 0.0000i
-0.5000 + 0.5000i 0.0000 + 0.0000i 0.5000 + 0.5000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.5000 + 0.5000i 0.0000 + 0.0000i -0.5000 + 0.5000i
0.0000 + 0.0000i 0.5000 + 0.5000i 0.0000 + 0.0000i 0.5000 - 0.5000i
-0.5000 - 0.5000i 0.0000 + 0.0000i 0.5000 + 0.5000i 0.0000 + 0.0000i
-0.5000 + 0.5000i 0.0000 + 0.0000i -0.5000 + 0.5000i 0.0000 + 0.0000i
Выходной аргумент, symb, - матрица с четырьмя столбцами, в которой каждый столбец соответствует каждому антенному порту.
В аналогичном формате создайте индексы для PDSCH путем вызова ltePDSCHIndices.
pdschIndices = ltePDSCHIndices(enb,pdsch,pdsch.PRBSet); size(pdschIndices)
ans = 1×2
384 4
pdschIndices(1:10,:)
ans = 10x4 uint32 matrix
145 1153 2161 3169
146 1154 2162 3170
147 1155 2163 3171
148 1156 2164 3172
149 1157 2165 3173
150 1158 2166 3174
151 1159 2167 3175
152 1160 2168 3176
153 1161 2169 3177
154 1162 2170 3178
Опять же, каждый столбец соответствует каждому из четырех антенных портов. Конкатенация всех четырех столбцов создает вектор индексов столбцов с использованием стиля линейного индексирования MATLAB.
Создайте индексы на основе нуля или на основе единицы. Все операции по сопоставлению в документах технических спецификаций LTE (TS) относятся к индексированию на основе нуля. Однако индексы MATLAB ® должны быть одномерными. По умолчанию LTE Toolbox™ генерирует индексы на основе одного элемента, но можно создать индексы на основе нуля, задав соответствующую строку параметров.
Создайте структуру настроек для всей соты и назначьте номер антенного порта.
enb.NDLRB = 6; enb.NCellID = 1; enb.CyclicPrefix = 'Normal'; enb.DuplexMode = 'FDD'; antPort = 0;
Поскольку по умолчанию используется индексация на основе одного объекта, можно создать индексы на основе одного объекта, указав '1based' флаг или выход из него.
ind = lteCellRSIndices(enb,antPort);
ind = lteCellRSIndices(enb,antPort,'1based');Создайте индексы на основе нуля, указав '0based' флаг.
ind = lteCellRSIndices(enb,antPort,'0based');В 3GPP документах описывается блок ресурсов, который должен быть группой элементов ресурсов, охватывающих 12 последовательных поднесущих в частотной области и один временной интервал во временной области. Для эффективности обработки LTE Toolbox™ работает на основе подкадра (двух временных интервалов) и описывает пару блоков ресурсов для представления 12 последовательных поднесущих, охватывающих частотную область, и одного подкадра (двух временных интервалов) во временной области. Например, команда ltePDSCHIndices использует параметр PRBSet для определения набора индексов блока физических ресурсов (PRB) для подкадра данных.
Создайте структуру параметров для всей ячейки и определите PDSCH конфигурация.
enb.CellRefP = 4; enb.CFI = 1; enb.NCellID = 1; enb.NSubframe = 0; enb.NDLRB = 6; enb.CyclicPrefix = 'Normal'; enb.DuplexMode = 'FDD'; pdsch.TxScheme = 'TxDiversity'; pdsch.Modulation = 'QPSK'; pdsch.RNTI = 1; pdsch.PRBSet = (0:5).';
Создайте набор индексов PDSCH PRB для инициализированной конфигурации.
pdschIndices = ltePDSCHIndices(enb,pdsch,pdsch.PRBSet); size(pdschIndices)
ans = 1×2
384 4
pdschIndices(1:10,:)
ans = 10x4 uint32 matrix
145 1153 2161 3169
146 1154 2162 3170
147 1155 2163 3171
148 1156 2164 3172
149 1157 2165 3173
150 1158 2166 3174
151 1159 2167 3175
152 1160 2168 3176
153 1161 2169 3177
154 1162 2170 3178
pdsch
pdsch = struct with fields:
TxScheme: 'TxDiversity'
Modulation: 'QPSK'
RNTI: 1
PRBSet: [6x1 double]
pdsch.PRBSet может быть либо вектором столбца, либо матрицей из двух столбцов. При предоставлении вектора столбца распределение ресурсов в обоих временных интервалах подкадра одинаково, что означает, что набор индексов ресурсов применяется к обоим временным интервалам подкадра. С другой стороны, если предоставляется матрица из двух столбцов, индексы PRB относятся к каждому слоту по отдельности.
lteCellRS | lteCellRSIndices | lteDLResourceGrid | ltePDSCH | ltePDSCHIndices | zeros