对下行链路控制信息进行建模
此示例介绍了 5G NR (New Radio) 通信系统的下行链路控制信息 (DCI) 处理。从随机 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 比特(码字)使用 nrPDCCH 函数映射到物理下行链路控制信道 (PDCCH),该函数生成加扰的 QPSK 调制符号。加扰会考虑用户特定的参数。
sym = nrPDCCH(dciCW,nID,rnti);
对于 NR,PDCCH 符号随后会被映射到 OFDM 网格的资源元素,该网格还具有 PDSCH、PBCH 和其他参考信号元素。此后,将进行 OFDM 调制并通过信道进行发送。为简单起见,接下来,我们直接通过 AWGN 信道传递 PDCCH 符号。
下面的原理图展示了 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 表示发送中没有错误。对于所选的系统参数,经解码的信息与发送的信息比特相匹配。