Моделирование управляющей информации нисходящего канала

Этот пример описывает обработку нисходящей управляющей информации (DCI) для 5G New Radio коммуникационной системы. Начиная со случайного сообщения DCI, оно моделирует кодирование сообщения, за которым следует обработка физического нисходящего канала управления (PDCCH) на передающем конце. Соответствующие компоненты приемника восстанавливают переданные элементы управляющей информации.

Системные параметры

Установите параметры для конкретного пространства поиска UE.

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

Биты сообщений DCI, основанные на формате нисходящей линии связи, кодируются с помощью nrDCIEncode функция, которая включает в себя этапы присоединения CRC, полярного кодирования и согласования скорости.

dciBits = randi([0 1],K,1,'int8');
dciCW = nrDCIEncode(dciBits,rnti,E);

Генерация символов PDCCH

Закодированные биты 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');

Декодирование PDCCH

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

noiseVar = 10.^(-snrdB/10);     % assumes unit signal power
rxCW = nrPDCCHDecode(rxSym,nID,rnti,noiseVar);

Декодирование DCI

Затем образец принятого кодового слова PDCCH декодируется nrDCIDecode функция. Это включает в себя этапы восстановления скорости, полярного декодирования и декодирования CRC для восстановления переданных информационных бит.

listLen = 8;                    % polar decoding list length
[decDCIBits,mask] = nrDCIDecode(rxCW,K,listLen,rnti);

isequal(mask,0)
ans = logical
   1

isequal(decDCIBits,dciBits)
ans = logical
   1

Для известного получателя информационное декодирование C-RNTI способствует декодированию. Выход маски 0 указывает на отсутствие ошибок в передаче. Для выбранных системных параметров декодированная информация совпадает с переданными информационными битами.

См. также

Функции

Похожие темы