LTE Toolbox™ предоставляет услуги, чтобы сгенерировать последовательности символов, соответствующих физическим каналам и сигналам. Индексы для отображения этих последовательностей к сетке ресурса также сгенерированы. Для удобства LTE Toolbox использует MATLAB® линейный стиль индексации, чтобы представлять эти индексы.
Прежде, чем применить модуляцию OFDM (ОБПФ), физические каналы и сигналы в LTE сопоставлены с различными фрагментами сетки ресурса подкадра. Сетка ресурса подкадра представлена в LTE Toolbox как многомерный массив следующего размера.
В предыдущем выражении, количество блоков ресурса, охватывающих доступную пропускную способность, количество OFDM (или SC-FDMA в восходящем канале) символы на паз, и количество портов антенны. Поэтому сетка ресурса представляет подкадр (два паза) и целая пропускная способность, поскольку существует 12 поднесущих на блок ресурса. Для одного случая антенны сетка ресурса может быть двумерной матрицей следующего размера.
Создайте пустую нисходящую сетку ресурса с помощью двух различных методов. Допустимые и эквивалентные сетки ресурса подкадра могут быть созданы с помощью lteDLResourceGrid
функционируйте или MATLAB® zeros
функция.
Инициализируйте обязательные параметры
Создайте структуру параметра для нормального циклического префикса, девяти нисходящих блоков ресурса и одной антенны передачи. Также задайте семь символов на паз для использования в zeros
функция только.
enb.CyclicPrefix = 'Normal';
enb.NDLRB = 9;
enb.CellRefP = 1;
noSymbolsSlot = 7;
Создайте две пустых сетки ресурса
Создайте пустую сетку ресурса подкадра, с помощью каждого метода.
resourceGrid1 = lteDLResourceGrid(enb); resourceGrid2 = zeros(enb.NDLRB*12, noSymbolsSlot*2, enb.CellRefP);
Подтвердите, что сетки равны
Сравните две переменные сетки для равенства с помощью isequal
MATLAB функция.
isequal(resourceGrid1,resourceGrid2)
ans = logical
1
Оба подхода генерируют тот же результат. Используйте любой подход, чтобы создать пустую нисходящую сетку ресурса. Точно так же пустая восходящая сетка ресурса могла быть создана с помощью lteULResourceGrid
функционируйте или zeros
MATLAB функция.
Сгенерируйте ссылочный сигнал и сопоставьте его с пустой сеткой ресурса для одного случая антенны. LTE Toolbox(TM) был спроектирован, чтобы упростить отображение физических каналов и сигналов в сетке ресурса.
Настройте настройки всей ячейки. Создайте структуру и задайте настройки всей ячейки как ее поля.
enb.CyclicPrefix = 'Normal'; enb.NDLRB = 6; enb.CellRefP = 1; enb.NCellID = 1; enb.NSubframe = 0; enb.DuplexMode = 'FDD'; antPort = 0;
enb
структура теперь содержит параметры, требуемые функциями быть названными затем.
Использование lteDLResourceGrid
чтобы создать пустую сетку ресурса подкадра, затем заполните его со ссылочными символами. Для этого вызовите lteCellRSIndices
и lteCellRS
функции.
resourceGrid = lteDLResourceGrid(enb); ind = lteCellRSIndices(enb,antPort); rs = lteCellRS(enb,antPort); resourceGrid (ind) = rs;
Вызов функции lteCellRSIndices
генерирует список индексов, идентифицирующих туда, где ссылочный сигнал состоит в том, чтобы быть сопоставлен, тогда как вызов lteCellRS
генерирует ссылочные символы сигнала.
Сгенерируйте индексы в линейной и нижней форме. Весь LTE функции генерации индекса Toolbox� может произвести или линейные или нижние форматы путем установки строки подходящих вариантов. Значением по умолчанию является линейный стиль индексации, который предоставляет доступ к любому элементу матрицы с одним значением индекса. Преобразованная в нижний индекс индексация элемента матрицы также доступна. Используя преобразованную в нижний индекс индексацию на 2D матрице, можно получить доступ к каждому элементу с набором двух элементов, представляющих эквиваленты строки и столбца.
Отметьте, линейный стиль индексации позволяет вам удобно сопоставлять ссылочные символы последовательности с соответствующим местоположением в сетке ресурса со всего одной строкой кода. Отображение ссылочных символов к сетке ресурса с помощью преобразованных в нижний индекс индексов потребовало бы большего количества изящества.
Создайте структуру, задающую настройки всей ячейки как ее поля. Нуль присвоения как номер порта антенны.
enb.CyclicPrefix = 'Normal'; enb.NDLRB = 6; enb.CellRefP = 1; enb.NCellID = 1; enb.NSubframe = 0; enb.DuplexMode = 'FDD'; antPort = 0;
enb
структура теперь содержит параметры, требуемые функциями быть названными затем.
Использование lteDLResourceGrid
создать пустую сетку ресурса подкадра и lteCellRS
чтобы создать ссылку сигнализируют о символах. Просмотрите пустую сетку ресурса.
resourceGrid = lteDLResourceGrid(enb); rs = lteCellRS(enb,antPort); mesh(abs(resourceGrid)) view(2)
После того, как индексы сгенерированы, и ссылочные символы сопоставлены с сеткой ресурса, сетка ресурса повторно построена, чтобы показать ссылочное отображение символа.
Сгенерируйте линейные индексы. Поскольку линейная индексация является значением по умолчанию, следующие два вызова эквивалентны.
ind_lin = lteCellRSIndices(enb,antPort);
ind_lin = lteCellRSIndices(enb,antPort,'ind')
ind_lin = 48x1 uint32 column vector
2
8
14
20
26
32
38
44
50
56
⋮
Сопоставляя ссылочные символы сигнала с сеткой ресурса с помощью линейных индексов, ind_lin
, просто требует, чтобы вы присвоили ссылочные символы сигнала сетке ресурса, указывающей на активные индексы.
resourceGrid(ind_lin) = rs;
Переграфический вывод сетки ресурса показывает ссылочные символы, активные для настроек всей ячейки, присвоенных в enb
.
figure mesh(abs(resourceGrid)) view(2)
В качестве альтернативы сгенерируйте индексы в нижней форме путем обеспечения 'sub'
строка опции для lteCellRSIndices
.
ind_sub = lteCellRSIndices(enb,antPort,'sub')
ind_sub = 48x3 uint32 matrix
2 1 1
8 1 1
14 1 1
20 1 1
26 1 1
32 1 1
38 1 1
44 1 1
50 1 1
56 1 1
⋮
В этом случае, выходной аргумент, ind_sub
, [поднесущая, символ OFDM, порт антенны] матричный формат сетки ресурса. Эти индексы вычисляются для порта антенны 0.
Преобразование между линейными индексами и индексами может быть достигнуто с помощью ind2sub
MATLAB и
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 линейный стиль индексации.
Сгенерируйте или основанные на нуле или индексы на основе один. Все операции отображения в документах технической характеристики (TS) LTE относятся к основанной на нуле индексации. Индексы However, 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
может быть или вектор-столбец или матрица 2D столбца. Если вы обеспечиваете вектор-столбец, распределение ресурсов является тем же самым в обоих пазах подкадра, что означает, что набор индексов ресурса применяется к обоим временным интервалам подкадра. С другой стороны, если вы обеспечиваете матрицу 2D столбца, индексы PRB относятся к каждому пазу индивидуально.
lteCellRS
| lteCellRSIndices
| lteDLResourceGrid
| ltePDSCH
| ltePDSCHIndices
| zeros