Индексация сетки ресурса

Обзор

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

Размер сетки ресурса подкадра

Прежде, чем применить модуляцию OFDM (ОБПФ), физические каналы и сигналы в LTE сопоставлены с различными фрагментами сетки ресурса подкадра. Сетка ресурса подкадра представлена в LTE Toolbox как многомерный массив следующего размера.

12NRB×2Nsymb×P

В предыдущем выражении, NRB количество блоков ресурса, охватывающих доступную полосу пропускания, Nsymb количество OFDM (или SC-FDMA в восходящем канале) символы на паз, и P количество портов антенны. Поэтому сетка ресурса представляет подкадр (два паза) и целая полоса пропускания, поскольку существует 12 поднесущих на блок ресурса. Для одного случая антенны сетка ресурса может быть двумерной матрицей следующего размера.

12NRB×2Nsymb

Создайте пустой массив ресурса

Создайте пустой нисходящий массив ресурса при помощи двух различных методов. Можно создать допустимые и эквивалентные массивы ресурса подкадра при помощи 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 функция, затем заполните сетку со ссылкой symbolsby использование 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;

Создайте пустую сетку ресурса подкадра при помощи lteDLResourceGrid функция, затем создайте символы опорного сигнала при помощи lteCellRS function. Просмотрите пустую сетку ресурса.

resourceGrid = lteDLResourceGrid(enb);
rs = lteCellRS(enb,antPort);
mesh(abs(resourceGrid))
view(2)

Figure contains an axes object. The axes object contains an object of type surface.

Сгенерируйте линейные индексы.

ind_lin = lteCellRSIndices(enb,antPort);

Сопоставьте символы опорного сигнала с сеткой ресурса.

resourceGrid(ind_lin) = rs;

Покажите ссылочные символы, активные для настроек всей ячейки, присвоенных в enb путем графического вывода обновленной сетки ресурса.

figure
mesh(abs(resourceGrid))
view(2)

Figure contains an axes object. The axes object contains an object of type surface.

В качестве альтернативы сгенерируйте индексы в форме индекса путем обеспечения '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 линейный стиль индексации.

Основа индекса

Сгенерируйте или основанные на нуле или индексы на основе один. Все операции отображения в документах технической характеристики (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 относятся к каждому пазу индивидуально.

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

| | | | |

Похожие темы