exponenta event banner

Модель UL-SCH и PUSCH

В этом примере показано, как построить физический общий канал восходящей линии связи (PUSCH). Он демонстрирует, как генерировать транспортный блок, выполнять кодирование общего канала восходящей линии связи (UL-SCH) для создания кодового слова, выполнять кодирование физического канала для создания физического канала и отображать сложные символы в сетке ресурсов.

Указание настроек пользовательского оборудования (UE) в структуре ue. Многие функции, используемые в этом примере, требуют подмножества этих полей.

ue.NULRB = 9;
ue.NSubframe = 0;
ue.NCellID = 10;
ue.RNTI = 1;
ue.CyclicPrefixUL = 'Normal';
ue.Hopping = 'Off';
ue.SeqGroup = 0;
ue.CyclicShift = 0;
ue.Shortened = 0;

Сконфигурируйте PUSCH. В дополнение к настройкам UE, указанным в ueДля формирования PUSCH необходимо определить параметры, связанные с физическим каналом.

pusch.PRBSet = (0:5).';
pusch.Modulation = 'QPSK';
pusch.RV = 0;
pusch.DynCyclicShift = 0;

Создайте сетку ресурсов подкадра, вызвав lteULResourceGrid функция. Эта функция создает пустую сетку ресурсов для одного подкадра.

subframe = lteULResourceGrid(ue);

Создание сообщения UL-SCH путем вызова lteULSCH функция, обеспечивающая данные транспортного блока trblk, структура, специфичная для UE ueи специфичная для канала структура pusch в качестве входных аргументов.

trblk = round(rand(1,504));
cw = lteULSCH(ue,pusch,trblk);

Создайте символы PUSCH путем вызова ltePUSCH функция, обеспечивающая настройки UE, конфигурацию PUSCH и кодовое слово в качестве входных аргументов.

puschSymbols = ltePUSCH(ue,pusch,cw);

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

puschIndices = ltePUSCHIndices(ue,pusch);

Создайте символы DRS PUSCH путем вызова ltePUSCHDRS функция. Эта функция требует тех же структур входных аргументов, что и ltePUSCH функция.

drsSymbols = ltePUSCHDRS(ue,pusch);

Создание индексов DRS PUSCH путем вызова ltePUSCHDRSIndices функция. Эти индексы можно использовать для отображения DRS в сетку ресурсов субкадров.

drsIndices = ltePUSCHDRSIndices(ue,pusch);

Отображение символов PUSCH и DRS в сетку ресурсов с использованием сгенерированных индексов.

subframe(puschIndices) = puschSymbols;
subframe(drsIndices) = drsSymbols;

См. также

| | | | | |

Связанные темы