Моделируйте индикатор HARQ и PHICH

В этом примере показано, как реализовать HARQ Indicator (HI) и физический канал HI (PHICH). Вы создаете цепь обработки значений гибридных индикаторов кодирования, создаете PHICH и сопоставляете ее с ресурсной сеткой.

Настройте параметры всей ячейки. Создайте структуру и задайте в качестве ее полей параметры всей ячейки.

enb.NDLRB = 9;
enb.CyclicPrefix = 'Normal';
enb.PHICHDuration = 'Normal';
enb.Ng = 'Sixth';
enb.CellRefP = 4;
enb.NCellID = 1;
enb.NSubframe = 0;
enb.DuplexMode = 'FDD';

Многие функции, используемые в этом примере, требуют подмножества предыдущих заданных настроек.

Чтобы сгенерировать информацию о ресурсах PHICH, используйте ltePHICHInfo функция.

phichInfo = ltePHICHInfo(enb);

Функция возвращается phichInfo, структуру, содержащую соответствующие данные, необходимые для определения наборов PHICH. Элементы и значения структуры:

StructureElementDescriptionValueNREGNumberofresourceelementgroupsusedtomapthePHICHs.3NRENumberofresourceelementsusedtomapthePHICHs.12NPHICHMaximumnumberofPHICHthatcanbeused.8NGroupsMaximumnumberofPHICHgroupsthatcanbeused.1NMappingUnitsNumberofPHICHmappingunitsusedtomapthemaximumnumberofPHICHgroups.1NSequencesMaximumnumberoforthogonalsequencesthatcanbeusedwithineachgroup.8PHICHDurationNumberofOFDMsymbolsusedtomapthePHICH.1

Сгенерируйте набор индикаторов HARQ (HI). Набор HI состоит из значения индикатора HARQ, 1 для ACK и 0 для NACK и пары индексов PHICH, которая содержит индекс группы PHICH, nPHICHgroup, и индекс ортогональной последовательности, nPHICHseq, для PHICH, содержащего HI. Значения nPHICHgroup и nPHICHseq может быть определено с помощью информации о размерности PHICH, возвращенной ltePHICHInfo функция. Количество групп определяет приемлемые значения индекса группы PHICH, а количество последовательностей определяет приемлемые значения индексов последовательности.

HISet = [[0 0 1];[0 1 0];[0 4 0];[0 7 1]];

В этом примере вы создаете одну группу PHICH, содержащую четыре PHICH с индексами:

PHICHGroupIndexPHICHSequenceIndexHARQIndicatorValue001-ACK010-NACK040-NACK071-ACK

В LTE Toolbox™ матрица набора HI используется, чтобы задать пару индексов HI и PHICH для каждого HI в подкадре. Матрица набора HI задает один PHICH в терминах nPHICHgroup, nPHICHseq, и индикатор HARQ.

Сгенерируйте комплексные символы PHICH из строения всей ячейки и матрицы индикатора HARQ. Чтобы выполнить необходимое кодирование, модуляцию, скремблирование, отображение слоев, предварительное кодирование и объединение групп PHICH, вызовите ltePHICH функция.

phichSymbols = ltePHICH(enb,HISet);
disp(phichSymbols)
   0.0000 + 0.0000i   0.0000 + 0.0000i  -2.0000 + 0.0000i   0.0000 + 0.0000i
   2.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   1.0000 - 1.0000i   0.0000 + 0.0000i   1.0000 - 1.0000i   0.0000 + 0.0000i
  -1.0000 - 1.0000i   0.0000 + 0.0000i   1.0000 + 1.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   2.0000 + 0.0000i
   0.0000 + 0.0000i  -2.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i  -1.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 - 1.0000i
   0.0000 + 0.0000i  -1.0000 - 1.0000i   0.0000 + 0.0000i  -1.0000 - 1.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i  -2.0000 + 0.0000i   0.0000 + 0.0000i
   2.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
  -1.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 - 1.0000i   0.0000 + 0.0000i
  -1.0000 - 1.0000i   0.0000 + 0.0000i  -1.0000 - 1.0000i   0.0000 + 0.0000i

Получившийся вектор, phichSymbols, имеет 12 строк и четыре столбца. Каждый столбец содержит сложные символы, которые будут сопоставлены с ресурсными сетками для каждого из четырех портов антенны.

Чтобы сгенерировать индексы отображения PHICH, используйте ltePHICHIndices функция. Эти индексы отображения необходимы для сопоставления сложных символов PHICH с ресурсной сеткой субкадров.

phichIndices = ltePHICHIndices(enb);
disp(phichIndices)
     13   1525   3037   4549
     15   1527   3039   4551
     16   1528   3040   4552
     18   1530   3042   4554
     43   1555   3067   4579
     45   1557   3069   4581
     46   1558   3070   4582
     48   1560   3072   4584
     79   1591   3103   4615
     81   1593   3105   4617
     82   1594   3106   4618
     84   1596   3108   4620

Эта функция возвращает матрицу с четырьмя столбцами, по одному для каждого порта антенны. Строки содержат индексы в линейной форме для отображения символов PHICH с ресурсной сеткой подрамника.

Чтобы сгенерировать подрамник ресурсной сетки, используйте lteDLResourceGrid функция. Эта функция создает пустую ресурсную сетку для одного подкадра.

subframe = lteDLResourceGrid(enb);
disp(size(subframe))
   108    14     4

Сопоставьте сложные символы PHICH с ресурсной сеткой путем присвоения phichSymbols на phichIndices местоположения в subframe.

subframe(phichIndices) = phichSymbols;

См. также

| | | | | | | | | | | |

Похожие темы