Main Content

下行链路控制处理和过程

此示例描述了5G新无线电通信系统的物理下行控制通道(PDCCH)的盲搜索解码。建立教程Modeling Downlink Control Information这个例子,介绍了控制的概念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);%设置RNG状态以重复性%载体配置carrier = nrCarrierConfig; carrier.NCellID = 2;细胞身份%载体。子手机= 30;%载体/BWP子载波间距carrier.cyclicprefix ='普通的';%循环前缀carrier.nslot = 0;%插槽计数器carrier.NFrame = 0;%框架计数器carrier.nstartgrid = 10;%载体偏移carrier.nsizeGrid = 48;RB中的载体大小%核心配置CORESET = nrcoresetConfig;coreset.coresetid = 1;%核心ID(0 ... 11)coreSet.frequencyResources =一个(1,4);% 6 RB sizedcoreset.Duration = 1;%核心符号持续时间(1,2,3)coreset.cceregmapping =“交错”;%核映射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];%搜索空间期和偏移ss.duration = 1;插槽中的搜索空间持续时间ss.numcandidates = [4 2 1 0 0];(分别为1,2,4,8,16)级别的%%PDCCH配置pdcch = nrPDCCHConfig; pdcch.NStartBWP = 10;%BWP偏移WRT CRB 0pdcch.nsizebwp = 48;资源块中BWP大小的%pdcch.coreset = coreSet;%相关的核心pdcch.searchspace = ss;%关联的搜索空间pdcch.RNTI = 1;%c-rntipdcch.dmrsscramblingid = [];%使用carrier.ncellid代替pdcch.AggregationLevel = 4;PDCCH中的CCE数量(1,2,4,8,16)pdcch.alcatedCandidate = 1;%1基标量

此示例假定单个插槽处理,使用单个带宽部分,带有单个PDCCH传输,用于相关的核心和搜索空间集。

有关使用多个物理通道的波形生成的更多信息,请参见5G NR下行链路矢量波形产生例子。

PDCCH Bit Capacity

PDCCH实例的位容量是根据配置为PDCCH的控制通道元素(CCE)确定的。CCE由六个资源元素组(REG)组成,其中reg等于一个OFDM符号期间一个资源块(RB)。

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

DCI编码

nrDCIEncodefunction encodes the DCI message bits based on a 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符号生成和映射

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

如果isempty(pdcch.DMRSScramblingID) nID = carrier.NCellID;别的nid = pdcch.dmrsscramblingid;结尾sym = nrPDCCH(dciCW,nID,pdcch.RNTI);

然后将PDCCH符号映射到与OFDM网格中分配的候选者相对应的资源元素。资源网格还包含PDSCH和PBCH符号以及其他参考信号元素。为简单起见,此示例仅将PDCCH DM-RS符号映射到网格中。

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

对于跨越整个带宽部分和一个插槽的资源网格,此图显示了所选示例配置的一些核心,搜索空间集和PDCCH实例参数。

OFDM调制

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

[Wave,Winfo] = nrofdmmodulate(载体,载体,载体,“窗户”,,,,0);

Fading Channel

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

通道= nrtdlchannel;channel.delayprofile ='tdl-a';channel.delayspread = 30e-9;Channel.numtransmitantennas = 1;numer.numreceiveantennas = 1;channel.samplerate = winfo.samplater;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没有有关详细控制通道结构的信息。因此,UE通过使用UE的RNTI来识别合适的候选者(或实例)来盲目地解码接收到的PDCCH符号。

监视候选人意味着尝试通过检查已知的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.

对于每个候选人,前端恢复包括

产生均衡的候选PDCCH符号。

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

For an instance of the received PDCCH codeword, theNRDCIDECODE功能包括回收率恢复,极性解码和CRC解码的阶段。如果输出掩码值为零,则成功解码了PDCCH,并且UE可以处理DCI消息。

在此示例中,接收器假定DCI格式和DCI有效载荷的知识k。在实践中,即使是在所有受支持格式的情况下,每个格式的位长度都将在外部循环中搜索。金宝app

listLen = 8;% polar decoding list length% Get all possible candidates[Allind,alldMrs,alldMrsind] = nrpdcchspace(载体,pdcch);百分比循环在所有支持的聚合水平上金宝app解码= 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);如果偏移> maxchdelay offset = 0;结尾rxwaves = rxwaven(1+偏移:end,:);DM的%解调了载体rxCarrGrid = nrOFDMDemodulate(carrier,rxWaveS);%通道估计[hest,nvar] = nrChanneLestimate(载体,rxcarrgrid,cdmrsind,cdmrs);[rxsym,pdcchhest] = nrextractresources(csymidx,rxcarrgrid,hest);百分比均衡[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);如果iSequal(errflag,0)disp([“解码候选人#”num2str(CIDX)...“在聚合级别”num2str(2^(alidx-1))...“在插槽中”])解码= true;如果isequal(decDCIBits,dciBits) disp(“恢复了没有错误的DCI位”);别的disp(“恢复了错误的DCI位”);结尾休息;结尾结尾% Dont loop over other aggregation levels if RNTI matched如果decoded休息;结尾结尾
在插槽恢复的DCI位中,在汇总4的解码候选人#1没有错误

对于选定的系统参数,解码的信息与传输信息位匹配。

该示例在单个搜索空间集中的所有候选人中搜索,SS配置参数。在多个搜索空间集上进行搜索将需要在定义的所有集合上进行另一个外部循环。

选定的参考

  1. 3GPP TS 38.211。“ NR;物理渠道和调制”第三代合伙项目;技术规范组无线电访问网络。

  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.

也可以看看

功能