Main Content

Downlink Control Processing and Procedures

此示例描述了5G新无线电通信系统的物理下行控制通道(PDCCH)的盲搜索解码。建立教程Modeling Downlink Control Information,,,,this example introduces the concepts of control resource set (CORESET) and search spaces, their generic specification and shows how a PDCCH instance is mapped to one of several candidates within a search space. To recover the transmitted control information at the receiver, the example performs a blind search over the set of candidates.

系统参数

设置系统参数分别对应于载体,核心,搜索空间集和PDCCH实例。

rng(111);% Set RNG state for repeatability%载体配置carrier = nrCarrierConfig; carrier.NCellID = 2;% Cell identity载体。子手机= 30;%载体/BWP子载波间距carrier.cyclicprefix ='普通的';% Cyclic prefixcarrier.NSlot = 0;%插槽计数器carrier.NFrame = 0;%框架计数器carrier.NStartGrid = 10;%载体偏移carrier.nsizeGrid = 48;% Size of carrier in RB% CORESET configurationcoreset = nrCORESETConfig; coreset.CORESETID = 1;%核心ID(0 ... 11)coreset.FrequencyResources = ones(1,4);% 6 RB sizedcoreset.Duration = 1;% CORESET symbol duration (1,2,3)coreset.cceregmapping ='interleaved';%核映射coreset.REGBundleSize = 2;%l(2,6)或(3,6)coreset.InterleaverSize = 2;%r(2,3,6)CoreSet.ShiftIndex = carrier.ncellid;%默认为ncellid%搜索空间配置SS= nrSearchSpaceConfig; ss.CORESETID = 1;%相关的核心ID (0...11)SS.SearchSpaceType ='ue';% 'ue', 'common'SS。StartSymbolWithinSlot = 0;插槽中的%启动符号SS。SlotPeriodAndOffset = [1 0];% Search space period and offsetss.duration = 1;插槽中的搜索空间持续时间ss.numcandidates = [4 2 1 0 0];% For (1,2,4,8,16) levels respectively%PDCCH配置pdcch = nrPDCCHConfig; pdcch.NStartBWP = 10;%BWP偏移WRT CRB 0pdcch.nsizebwp = 48;资源块中BWP大小的%pdcch.CORESET = coreset;%相关的核心pdcch.SearchSpace = ss;% Associated SearchSpacepdcch.RNTI = 1;%c-rntipdcch.dmrsscramblingid = [];%使用carrier.ncellid代替pdcch.AggregationLevel = 4;% Number of CCEs in PDCCH (1,2,4,8,16)pdcch.AllocatedCandidate = 1;% 1-based scalar

This example assumes single slot processing, using a single bandwidth part with a single PDCCH transmission for an associated CORESET and search space set.

有关使用多个物理通道的波形生成的更多信息,请参见5G NR Downlink Vector Waveform Generationexample.

PDCCH Bit Capacity

这bit capacity for a PDCCH instance is determined based on the number of control-channel elements (CCE) configured for the PDCCH. A CCE consists of six resource-element groups (REGs) where a REG equals one resource block (RB) during one OFDM symbol.

% Number of bits for PDCCH resources and actual indices[ind,dmrs,dmrsInd] = nrPDCCHResources(carrier,pdcch); E = 2*numel(ind);

DCI Encoding

nrDCIEncode函数编码DCI消息部分基于downlink format. DCI encoding includes the stages of CRC attachment, polar encoding and rate matching the codeword to the PDCCH bit capacitye

k= 64;DCI消息位的%数量dcibits = randi([0 1],k,1,'int8'); dciCW = nrDCIEncode(dciBits,pdcch.RNTI,E);

PDCCH Symbol Generation and Mapping

nrPDCCH函数将编码的DCI位映射到物理下行链路控制通道(PDCCH)上。该函数返回加扰的QPSK调制符号。争夺对用户特定参数的解释。

ifisempty(pdcch.DMRSScramblingID) nID = carrier.NCellID;elsenid = pdcch.dmrsscramblingid;结尾sym = nrPDCCH(dciCW,nID,pdcch.RNTI);

这PDCCH symbols are then mapped to the resource elements corresponding to the allocated candidate within an OFDM grid. The resource grid also contains PDSCH and PBCH symbols, and other reference signal elements. For simplicity, this example only additionally maps the PDCCH DM-RS symbols to the grid.

carrierGrid = nrResourceGrid(carrier); carrierGrid(ind) = sym;% PDCCH symbolscarrierGrid(dmrsInd) = dmrs;% PDCCH DM-RS

For a resource grid spanning the whole bandwidth part and a single slot, this figure shows some of the CORESET, search space set and PDCCH instance parameters for the selected example configuration.

OFDM调制

OFDM调制载体网格。没有为基于插槽的处理指定窗口。

[wave,winfo] = nrOFDMModulate(carrier,carrierGrid,'Windowing',,,,0);

Fading Channel

通过延迟轮廓A和30 ns的延迟传播在TDL褪色通道上传输生成的波形。

通道= nrtdlchannel;channel.delayprofile ='tdl-a';channel.DelaySpread = 30e-9; channel.NumTransmitAntennas = 1; channel.NumReceiveAntennas = 1; channel.SampleRate = winfo.SampleRate; chInfo = info(channel); maxChDelay = ceil(max(chInfo.PathDelays*channel.SampleRate)) +...Chinfo.Channelfilterdelay;txwave = [wave;零(maxchdelay,size(wave,2))];rxwave = Channel(txwave);

噪音加成

考虑到编码率,QPSK调制和采样率,将带有指定级别的白色高斯噪声添加到接收的信号中。

ebNo = 6;DB中的%bps = 2;每个符号的%位,qpsk 2esNo = EbNo + 10*log10(bps); snrdB = EsNo + 10*log10(K/E); noiseVar = 10.^(-snrdB/10);% assumes unit signal powerN0 = sqrt(noiseVar)/sqrt(2*winfo.Nfft); noise = N0 * complex(randn(size(rxWave)),randn(size(rxWave))); rxWaveN = rxWave + noise;

盲目的PDCCH和DCI解码

这UE does not have information about the detailed control channel structure. Therefore, the UE decodes the received PDCCH symbols blindly by monitoring a set of PDCCH candidates for each slot using the UE's RNTI to identify the right candidate (or instance).

监视候选人意味着尝试通过检查已知的RNTI(UE)的返回的校验和是否为零来解码与候选人相对应的一组资源元素。使用nrPDCCHSpacefunction to determine all candidates specified by the search space set in terms of the PDCCH resource element indices, corresponding DM-RS symbols and indices.

For each candidate, the front-end recovery includes

to yield the equalized candidate PDCCH symbols.

每个候选者的均衡符号通过已知的特定用户特定参数和通道噪声方差来解调nrPDCCHDecode功能。

For an instance of the received PDCCH codeword, theNRDCIDECODEfunction includes the stages of rate recovery, polar decoding, and CRC decoding. If the output mask value is zero, the PDCCH is decoded successfully and the UE can process the DCI message.

在此示例中,接收器假定DCI格式和DCI有效载荷的知识k。在实践中,即使这些会寻找an outer loop over all supported formats with respective bit lengths per format.

listLen = 8;% polar decoding list length% Get all possible candidates[allInd,allDMRS,allDMRSInd] = nrPDCCHSpace(carrier,pdcch);百分比循环在所有支持的聚合水平上金宝appdecoded = false;为了alidx = 1:5在每个聚合级别的所有候选人上的循环%为了cidx = 1:pdcch.searchspace.numcandidates(alidx)%获得候选人csymidx = allind {alidx}(:,cidx);cdmrs = alldmrs {alidx}(:,cidx);cdmrsind = alldmrsind {alidx}(:,cidx);% Timing estimateoffset = nrTimingEstimate(carrier,rxWaveN,cDMRSInd,cDMRS);ifoffset > maxChDelay offset = 0;结尾rxWaveS = rxWaveN(1+offset:end,:);DM的%解调了载体rxCarrGrid = nrOFDMDemodulate(carrier,rxWaveS);% Channel estimate[hest,nvar] = nrChanneLestimate(载体,rxcarrgrid,cdmrsind,cdmrs);[rxsym,pdcchhest] = nrextractresources(csymidx,rxcarrgrid,hest);% Equalization[pdccheq,csi] = nrequalizemmse(rxsym,pdcchhest,nvar);%解调rxcw = nrpdcchdecode(pdccheq,nid,pdcch.rnti,nvar);%应用CSIcsiRep = repmat(csi.',2,1); scalRxCW = rxCW.*csiRep(:);%解码[decdcibits,errflag] = nrdcidecode(scalrxcw,k,listLen,pdcch.rnti);ifiSequal(errflag,0)disp([“解码候选人#”num2str(cIdx)...“在聚合级别”num2str(2^(alidx-1))...“在插槽中”])解码= true;ifisequal(decDCIBits,dciBits) disp(' Recovered DCI bits with no errors');elsedisp(“恢复了错误的DCI位”);结尾break;结尾结尾% Dont loop over other aggregation levels if RNTI matchedifdecodedbreak;结尾结尾
Decoded candidate #1 at aggregation level 4 in slot Recovered DCI bits with no errors

For the chosen system parameters, the decoded information matches the transmitted information bits.

该示例在单个搜索空间集中的所有候选人中搜索,SSconfiguration parameter. Search over multiple search space sets would require another external loop over all the sets defined.

选定的参考

  1. 3GPP TS 38.211. "NR; Physical channels and modulation" 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  2. 3GPP TS 38.212。“ NR;多路复用和渠道编码”第三代合作伙伴项目;技术规范组无线电访问网络。

  3. 3GPP TS 38.213. "NR; Physical layer procedures for control" 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

也可以看看

功能