This example describes the downlink control information (DCI) processing for the 5G New Radio communications system. Starting from a random DCI message, it models the message encoding followed by the physical downlink control channel (PDCCH) processing on the transmit end. Corresponding receiver components recover the transmitted control information elements.
Set parameters for a UE-specific search space.
rng(211);% Set RNG state for repeatabilitynID = 23;% pdcch-DMRS-ScramblingIDrnti = 100;% C-RNTI for PDCCH in a UE-specific search spaceK = 64;% Number of DCI message bitsE = 288;% Number of bits for PDCCH resources
基于下行链路格式的DCI消息位使用nrDCIEncode
function, which includes the stages of CRC attachment, polar encoding and rate matching.
dciBits = randi([0 1],K,1,'int8'); dciCW = nrDCIEncode(dciBits,rnti,E);
The encoded DCI bits (a codeword) are mapped onto the physical downlink control channel (PDCCH) using thenrPDCCH
function which generates the scrambled, QPSK-modulated symbols. The scrambling accounts for the user-specific parameters.
sym = nrPDCCH(dciCW,nID,rnti);
For NR, the PDCCH symbols are then mapped to the resource elements of an OFDM grid which also has PDSCH, PBCH and other reference signal elements. These are followed by OFDM modulation and transmission over a channel. For simplicity, we directly pass the PDCCH symbols over an AWGN channel next.
下面的g schematic depicts the components used in the example for DCI processing.
PDCCH符号通过指定的SNR在AWGN通道上传输,占编码率和QPSK调制。
EbNo = 3;% in dBbps = 2;% bits per symbol, 2 for QPSKEsNo = EbNo + 10*log10(bps); snrdB = EsNo + 10*log10(K/E); rxSym = awgn(sym,snrdB,'measured');
The received symbols are demodulated with known user-specific parameters and channel noise variance using thenrPDCCHDecode
function. The soft output is the log-likelihood ratio for each bit in the codeword.
noiseVar = 10.^(-snrdB/10);%假设单位信号功率rxcw = nrpdcchdecode(rxsym,nid,rnti,noisevar);
An instance of the received PDCCH codeword is then decoded by thenrDCIDecode
function. This includes the stages of rate recovery, polar decoding and CRC decoding to recover the transmitted information bits.
listLen = 8;%极地解码列表长度[decDCIBits,mask] = nrDCIDecode(rxCW,K,listLen,rnti); isequal(mask,0)
ans =logical1
isequal(decDCIBits,dciBits)
ans =logical1
For a known recipient, the C-RNTI information aids decoding. The output mask value of 0 indicates no errors in the transmission. For the chosen system parameters, the decoded information matches the transmitted information bits.