DCI модели и PDCCH

В этом примере показано, как смоделировать область управления, используемую в подкадре нисходящего канала LTE и его структуре канала. Это демонстрирует, как вы создаете сообщение DCI, кодируете его, создаете PDCCH и сопоставляете его с сеткой ресурса.

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

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

Настройте структуру сообщения DCI.

dci.NDLRB = enb.NDLRB;
dci.DCIFormat = 'Format1A';
dci.Allocation.RIV = 26;
dci.DuplexMode = 'FDD';
dci.NTxAnts = 1;

Сообщение DCI содержит эти параметры:

  • NDLRB — количество нисходящих блоков ресурса (RBS)

  • DCIFormat — Формат DCI, выбранный из обсужденных в Форматах сообщения DCI

  • Allocation.RIV — значение индикации ресурса (RIV)

  • DuplexMode — тип структуры системы координат передачи, 'FDD' для типа 1 структуры системы координат или 'TDD' для типа 2 структуры системы координат

  • NTxAnts — количество передающих антенн

RIV указывает на непрерывные выделения RB для UE. UE использует RIV, чтобы определить первый виртуальный RB и продолжительность непрерывного выделения RBS. В этом примере установка RIV 26 соответствует полному присвоению полосы пропускания.

Сгенерируйте сообщение DCI путем вызова lteDCI функция. Можно сопоставить это сгенерированное сообщение с PDCCH.

[dciMessage,dciMessageBits] = lteDCI(enb,dci);

lteDCI функция возвращает структуру, dciMessage, и вектор, содержащий DCI, передает биты, dciMessageBits. Оба выходных параметров содержат ту же информацию, но подходят лучше всего для различных целей. Структура output более читаема, в то время как сериализированное сообщение DCI находится в более подходящем формате, чтобы отправить к этапу кодирования канала.

Настройте конфигурационную структуру PDCCH. Этапы кодирования канала требуют этих параметров:

  • количество нисходящих блоков ресурса (RBS)

  • Маска UE-specific (16-битное значение C-RNTI)

  • Формат PDCCH

pdcch.RNTI = 100;
pdcch.PDCCHFormat = 0;

Канал кодирует биты сообщения DCI. Этот процесс состоит из сложения прикрепления CRC, сверточного кодирования и уровня, соответствующего согласно способности формата PDCCH.

codedDciBits = lteDCIEncode(pdcch,dciMessageBits);

Итоговый вектор, codedDciBits, имеет 72 элемента.

Сгенерируйте биты PDCCH. Закодированные сообщения DCI затем присвоены CCEs, как обсуждено в Соответствии с PDCCHs к Позициям CCE. Способность области управления зависит от полосы пропускания, CFI, количества портов антенны и групп HICH. Можно вычислить общее количество ресурсов, доступных для PDCCH при помощи ltePDCCHInfo функция.

pdcchInfo = ltePDCCHInfo(enb);

Эта функция возвращает структуру, pdcchInfo, который содержит ресурсы, доступные для PDCCH в различных модулях (один на поле): биты, CCEs, REs и REGs.

Общее количество битов, доступных в области PDCCH, может быть найдено в поле pdcchInfo.MTot. Это позволяет вектору быть созданным с соответствующим числом элементов.

pdcchBits = -1*ones(1,pdcchInfo.MTot);

Не все доступные биты в области PDCCH обязательно используются. Поэтому в соответствии с соглашением в продукте LTE Toolbox™, набор неиспользованные биты к −1. Поскольку все элементы были инициализированы в pdcchBits к −1 это указывает, что первоначально все биты не использованы. Теперь элементы codedDciBits может быть сопоставлен с соответствующими местоположениями в pdcchBits.

Вычислите индексы битов кандидата путем вызова ltePDCCHSpace функция. Только подмножество всех битов в pdcchBits может использоваться, которые называются битами кандидата.

candidates = ltePDCCHSpace(enb,pdcch,{'bits','1based'});

Эта функция возвращает матрицу 2D столбца. Каждая строка содержит доступное местоположение кандидата для настроек всей ячейки, обеспеченных enb и конфигурационная структура PDCCH pdcch. Первые и вторые столбцы содержат индексы первых и последних местоположений каждого кандидата. В этом примере индексы на основе 1 и относятся вдребезги. Следовательно, они могут использоваться к местоположениям доступа в pdcchBits.

Используйте первого доступного кандидата, который сопоставит закодированные биты DCI.

pdcchBits (candidates(1,1):candidates(1,2)) = codedDciBits;

Векторный pdcchBits имеет 736 элементов. 72 бита codedDciBits сопоставлены с выбранным кандидатом в pdcchBits. Поэтому из 736 элементов, 72 примет 0 и 1 значение, в то время как остальные остаются установленными в −1. ltePDCCH функция, которая используется, чтобы сгенерировать модулируемые комплексом символы, интерпретирует эти местоположения как неиспользованные и только рассмотрит тех, которые содержат 1 с и 0s.

Чтобы сгенерировать символы PDCCH, используйте ltePDCCH функция. Можно сгенерировать символы комплекса PDCCH от набора битов, используемых в pdcchBits, значения не набор к −1. Функция выполняет необходимое скремблирование, модуляцию QPSK, отображение слоя и предварительное кодирование операций. С тех пор существует символ двух битов за QPSK, 368 символов сгенерированы. Занятые биты приводят к 36 ненулевым символам QPSK.

pdcchSymbols = ltePDCCH(enb, pdcchBits);
size(pdcchSymbols)
ans = 1×2

   368     1

size(find(pdcchSymbols))
ans = 1×2

    36     1

Чтобы сгенерировать PDCCH отображение индексов, используйте ltePDCCHIndices функция. Можно использовать эти индексы, чтобы сопоставить комплексные числа в pdcchSymbols к сетке ресурса подкадра.

pdcchIndices = ltePDCCHIndices(enb,{'1based'});
size(pdcchIndices)
ans = 1×2

   368     1

Эта функция возвращает вектор-столбец. Строки содержат индексы на основе 1 в линейной форме для отображения символов PDCCH к сетке ресурса подкадра.

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

  • Создайте пустую сетку ресурса с lteDLResourceGrid функция.

  • Сопоставьте pdcchSymbols к pdcchIndices индексируйте местоположения subframe сетка ресурса.

subframe = lteDLResourceGrid(enb);
subframe(pdcchIndices) = pdcchSymbols;

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

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

Похожие темы