Этот пример описывает обработку нисходящей управляющей информации (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 затем.
Символы 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)
isequal(decDCIBits,dciBits)
ans = logical 1 ans = logical 1
Выходная маска совпадает с C-RNTI, используемым для UE, таким образом, подтверждая получателя сообщения. Для выбранных системных параметров декодируемая информация совпадает с переданными информационными битами.