Этот пример описывает декодирование поиска вслепую физического нисходящего канала управления (PDCCH) экземпляр для 5G Новая система Радиосвязи. Основываясь на примере, Моделируя Нисходящую Управляющую информацию, это вводит концепцию набора ресурсов управления (CORESET), его типичной спецификации и показывает, как экземпляр PDCCH сопоставлен с одним из нескольких возможных кандидатов. В получателе пример выполняет поиск вслепую по той же группе кандидатов, чтобы восстановить переданную управляющую информацию.
Установите системные параметры, соответствующие части пропускной способности, CORESET и экземплярам PDCCH соответственно.
rng(111); % Set RNG state for repeatability % Bandwidth part (BWP) configuration bwp = []; bwp.SubcarrierSpacing = 30; % BWP Subcarrier spacing bwp.NRB = 40; % Size of BWP in resource blocks % CORESET/search configurations: multiple within a slot coreset = []; coreset.AllocatedSymbols = [0,4,8]; % First symbol of each CORESET monitoring opportunity in a slot coreset.Duration = 1; % CORESET symbol duration (1,2,3) coreset.AllocatedPRB = 6*[0,1,2,4]; % 6 REG sized indices in PRB % PDCCH instance configuration pdcch = []; pdcch.BWP = 1; % Associated bandwidth part pdcch.NumCCE = 4; % Number of CCE in PDCCH, in 6REG units pdcch.RNTI = 0; % RNTI pdcch.NID = 1; % PDCCH and DM-RS scrambling ID pdcch.DataBlkSize = 64; % DCI payload size
Этот пример принимает, что одна обработка слота, с помощью одной пропускной способности расстается с одной передачей PDCCH для связанного CORESET. Это поддерживает нечередующийся CCE-to-REG, сопоставляющий без смещений блока ресурса относительно части пропускной способности и CORESET. Отошлите к 5G пример Генерации Формы волны Поставщика услуг Нисходящего канала NR для получения дополнительной информации о других параметрах, описанных там.
Емкость в битах для экземпляра PDCCH определяется на основе количества Элементов канала управления (CCE), сконфигурированных для PDCCH. CCE состоит из шести групп элемента ресурса (REGs), где группа элемента ресурса равняется одному блоку ресурса (RB) во время одного символа OFDM.
% Number of bits for PDCCH resources and possible candidates
[E,candidates] = hPDCCHSpace(bwp,coreset,pdcch);
На основе заданной контрольной возможности для первого символа каждого CORESET в слоте (coreset.AllocatedSymbols
), соответствующее выделение физического блока ресурса (PRB) (coreset.AllocatedPRB
) и длительность символа (coreset.Duration
), все возможные кандидаты определяются для экземпляра PDCCH по целой части пропускной способности. Каждый из кандидатов представляет возможные индексы элемента ресурса для символов PDCCH в слоте. Индексы элемента ресурса PDCCH DM-RS исключены из этих наборов.
Биты сообщения DCI на основе нисходящего формата закодированы с помощью функции nrDCIEncode
, которая включает этапы прикрепления CRC, полярного кодирования и соответствия уровня. Кодовая комбинация является соответствующей уровню к емкости в битах PDCCH E
.
K = pdcch.DataBlkSize; % Number of DCI message bits dciBits = randi([0 1],K,1,'int8'); rnti = pdcch.RNTI; dciCW = nrDCIEncode(dciBits,rnti,E);
Закодированные биты DCI сопоставлены на физический нисходящий канал управления (PDCCH) использование функции nrPDCCH
, которая генерирует скремблированные, модулируемые QPSK символы. Борющиеся счета на специфичные для пользователя параметры.
nID = pdcch.NID; sym = nrPDCCH(dciCW,nID,rnti);
Для NR символы PDCCH затем сопоставлены с одним из кандидатов (наборы элемента ресурса) в сетке OFDM, которая также имеет PDSCH, PBCH и другие ссылочные элементы сигнала. Они сопровождаются модуляцией OFDM и передачей по каналу. Для простоты только символы PDCCH сопоставлены здесь с местоположением кандидата в сетке. Этот пример поддерживает нормальный циклический префикс только.
numSCRB = 12; % Number of subcarriers in a RB symsPerSlot = 14; % Normal CP only reGrid = zeros(numSCRB*bwp.NRB,symsPerSlot*fix(bwp.SubcarrierSpacing/15)); reGrid(candidates{end}) = sym; % Select the last candidate
Для сетки ресурса, охватывающей целую часть пропускной способности и один слот, следующие данные показывают CORESET, контролируя экземпляры и экземпляр PDCCH для выбранных параметров в качестве примера.
Белый Гауссов шум с заданным уровнем добавляется к сетке ресурса, составляя уровень кодирования и модуляцию QPSK.
EbNo = 0; % in dB bps = 2; % bits per symbol, 2 for QPSK EsNo = EbNo + 10*log10(bps); snrdB = EsNo + 10*log10(K/E); noiseVar = 10.^(-snrdB/10); % assumes unit signal power rxGrid = awgn(reGrid,snrdB,'measured');
Когда UE не имеет информации о подробной структуре канала управления, это должно вслепую декодировать полученные символы PDCCH. Это делает это путем контроля группы кандидатов PDCCH на каждый слот, использования RNTI UE, чтобы идентифицировать правильного кандидата.
Полученные символы на кандидата демодулируются с известными специфичными для пользователя параметрами и отклонением шума канала с помощью функции nrPDCCHDecode
.
Для экземпляра полученной кодовой комбинации PDCCH функция nrDCIDecode
включает этапы восстановления уровня, полярного декодирования декодирования и CRC.
Если выходная маска совпадает с RNTI, используемым для PDCCH, UE успешно декодировал PDCCH и может обработать декодируемое сообщение DCI.
В этом примере получатель принимает знание формата DCI (т.е. K
принят известный в получателе). На практике даже это разыскивалось бы во внешнем цикле по всем поддерживаемым форматам с соответствующими битными длинами на формат.
listLen = 8; % polar decoding list length % Loop over all candidates within a slot numCandidates = size(candidates,1); for cIdx = 1:numCandidates rxCW = nrPDCCHDecode(rxGrid(candidates{cIdx}),nID,rnti,noiseVar); [decDCIBits,decRNTI] = nrDCIDecode(rxCW,K,listLen); if isequal(decRNTI, rnti) disp(['Decoded candidate #' num2str(cIdx)]) break; end end if isequal(decDCIBits,dciBits) disp('Recovered DCI bits with no error'); else disp('Recovered DCI bits with errors'); end
Decoded candidate #3 Recovered DCI bits with no error
Для выбранных системных параметров декодируемая информация совпадает с переданными информационными битами.
3GPP TS 38.211. "NR; Физические каналы и модуляция (Релиз 15)". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
3GPP TS 38.212. "NR; Мультиплексирование и кодирование канала (Релиз 15)". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
3GPP TS 38.213. "NR; процедуры Физического уровня для управления (Релиз 15)". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.