Этот пример описывает обработку нисходящей управляющей информации (DCI) для 5G Новая система Радиосвязи. Начиная со случайного сообщения DCI, это моделирует кодирование сообщения, сопровождаемое физическим нисходящим каналом управления (PDCCH), обрабатывающий на конце передачи. Соответствующие компоненты получателя восстанавливают переданные элементы управляющей информации.
Установите параметры для пространства поиска UE-specific.
rng(211); % Set RNG state for repeatability nID = 23; % pdcch-DMRS-ScramblingID rnti = 100; % C-RNTI for PDCCH in a UE-specific search space K = 64; % Number of DCI message bits E = 288; % Number of bits for PDCCH resources
Биты сообщения DCI на основе нисходящего формата закодированы с помощью nrDCIEncode
функция, которая включает этапы прикрепления CRC, полярного кодирования и соответствия уровня.
dciBits = randi([0 1],K,1,'int8');
dciCW = nrDCIEncode(dciBits,rnti,E);
Закодированные биты DCI (кодовая комбинация) сопоставлены на физический нисходящий канал управления (PDCCH) использование nrPDCCH
функция, которая генерирует скремблированные, модулируемые QPSK символы. Борющиеся счета на специфичные для пользователя параметры.
sym = nrPDCCH(dciCW,nID,rnti);
Для NR символы PDCCH затем сопоставлены с элементами ресурса сетки OFDM, которая также имеет PDSCH, PBCH и другие ссылочные элементы сигнала. Они сопровождаются модуляцией OFDM и передачей по каналу. Для простоты мы непосредственно передаем символы PDCCH по каналу AWGN затем.
Следующее схематическое изображает компоненты, используемые в примере в обработке DCI.
Символы PDCCH передаются по каналу AWGN с заданным ОСШ, составляя уровень кодирования и модуляцию QPSK.
EbNo = 3; % in dB bps = 2; % bits per symbol, 2 for QPSK EsNo = EbNo + 10*log10(bps); snrdB = EsNo + 10*log10(K/E); rxSym = awgn(sym,snrdB,'measured');
Полученные символы демодулируются известными специфичными для пользователя параметрами и отклонением шума канала с помощью nrPDCCHDecode
функция. Мягкий выход является отношением логарифмической правдоподобности для каждого бита в кодовой комбинации.
noiseVar = 10.^(-snrdB/10); % assumes unit signal power
rxCW = nrPDCCHDecode(rxSym,nID,rnti,noiseVar);
Экземпляр полученной кодовой комбинации PDCCH затем декодируется nrDCIDecode
функция. Это включает этапы восстановления уровня, полярного декодирования декодирования и CRC, чтобы восстановить переданные информационные биты.
listLen = 8; % polar decoding list length
[decDCIBits,mask] = nrDCIDecode(rxCW,K,listLen);
isequal(mask,rnti)
ans = logical
1
isequal(decDCIBits,dciBits)
ans = logical
1
Выходная маска совпадает с C-RNTI, используемым в UE, таким образом, подтверждая получателя сообщения. Для выбранных системных параметров декодируемая информация совпадает с переданными информационными битами.