主要内容

DL-SCH和UL-SCH的LDPC加工

该示例突出显示了5G NR下行链路和上行链路共享传输信道(DL-SCH和UL-SCH)的低密度奇偶校验(LDPC)编码链。

共享信道参数

该示例使用DL-SCH来描述处理,这也适用于UL-SCH。

为在下行链路共享(DL-SCH)信道上传输的传输块选择参数。

rng(210);%为重复性设置RNG状态A=10000;%传输块长度,正整数比率=449/1024;%目标编码率,0rv=0;%冗余版本,0-3调制=“QPSK”;%调制方案,QPSK,16QAM,64QAM,256QAMnlayers=1;%层数,传输块为1-4层

基于选定的传输块长度和目标编码速率,使用nrDLSCHInfo作用

%DL-SCH编码参数cbsInfo=nrDLSCHInfo(A,费率);disp(“DL-SCH编码参数”)新闻组(cbsInfo)
DL-SCH编码参数CRC:'24A'L:24 BGN:1 C:2 Lcb:24 F:244 Zc:240 K:5280 N:15840

DL-SCH支万博1manbetx持多码字传输(即两个传输块),而UL-SCH仅支持单个码字。除了上面列出的DL-SCH调制外,UL-SCH还支持pi/2-BPSK调制。

使用LDPC编码的传输块处理

从MAC层传送到物理层的数据称为传输块。对于下行链路共享信道(DL-SCH),传输块经过以下处理阶段:

  • CRC附件,

  • 码块分段和码块CRC附件,

  • 使用LDPC的信道编码,

  • 速率匹配和码块级联

在传送到物理下行链路共享信道(PDSCH)进行加扰、调制、层映射和资源/天线映射之前。这些阶段中的每一个都由如下所示的功能执行。

%随机传输块数据生成in=randi([01],A,1,“int8”);%传输块CRC附件tbIn=nrCRCEncode(in,cbsInfo.CRC);%码块分割和CRC连接cbsIn=nrCodeBlockSegmentLDPC(tbIn,cbsInfo.BGN);%LDPC编码enc=nrLDPCEncode(cbsIn,cbsInfo.BGN);%速率匹配和码块级联outlen=ceil(A/费率);chIn=nrRateMatchLDPC(enc、outlen、rv、调制、nlayers);

基于可用资源,速率匹配和代码块串联过程的输出比特数必须与PDSCH的比特容量相匹配。在本例中,由于PDSCH未建模,因此将其设置为基于先前选择的传输块大小实现目标码率。

类似的处理适用于UL-SCH,其中物理上行链路共享信道(PUSCH)是UL-SCH码字的接收者。以下示意图描述了两个信道的处理。

提到nrDLSCH努尔什封装每个传输块处理的系统对象,并对重传提供额外支持。万博1manbetx

频道

在这个例子中使用了一个简单的无噪声的双极信道,利用完整的PDSCH或PUSCH处理,可以考虑衰落信道、AWGN和其他RF损伤。

chOut=双(1-2*(下巴));

使用LDPC解码的接收处理

DL-SCH信道的接收端处理包括发送端的相应双重操作,包括

  • 回收率

  • LDPC译码

  • 码块分解与CRC译码

  • 传输块CRC译码

这些阶段中的每一个都由一个函数执行,如下所示。

%回收率raterec=nrRateRecoverLDPC(chOut,A,速率,rv,调制,nlayers);%LDPC译码decBits=nrldcdecode(raterec,cbsInfo.BGN,25);%码块分解与CRC译码[blk,blkErr]=nrCodeBlockDesegmentLDPC(decBits,cbsInfo.BGN,A+cbsInfo.L);disp(['每个代码块的CRC错误:['num2str(blkErr)']'])%传输块CRC译码[out,tbErr]=nrCRCDecode(blk,cbsInfo.CRC);disp(['传输块CRC错误:'num2str(tbErr)])显示(['已恢复传输块,无错误:'num2str(等质量(出、入))])
每个代码块的CRC错误:[0]传输块CRC错误:0恢复的传输块没有错误:1

如显示屏所示,在代码块和传输块级别都没有CRC错误。这导致传输块被恢复和解码,没有错误,正如预期的那样,对于无噪信道。

提到NRDLSCH译码器nrULSCHDecoder封装每个码字的接收处理的系统对象,以及用于改进性能的重新传输的额外软组合。

另见

功能

相关话题