主要内容

DL-SCH和UL-SCH的LDPC加工

本例重点介绍了5G NR下行和上行共享传输信道(DL-SCH和UL-SCH)的低密度奇偶校验(LDPC)编码链。

共用信道参数

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

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

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

在选定传输块长度和目标编码速率的基础上,利用该方法确定DL-SCH编码参数nrDLSCHInfo函数。

% DL-SCH编码参数cbsInfo = nrDLSCHInfo(率);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支金宝app持多码字传输(即两个传输块),而UL-SCH仅支持单个码字。除了上面列出的DL-SCH调制外,UL-SCH还支持pi/2-BPSK调制。

使用LDPC编码的传输块处理

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

  • CRC附件,

  • 代码块分割和代码块CRC附件,

  • LDPC信道编码

  • 速率匹配和代码块连接

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

%随机传输块数据生成in = randi([0 1],A,1,“int8”);%传输块CRC附件tbIn=nrCRCEncode(in,cbsInfo.CRC);%码块分割和CRC连接cbsIn=nrCodeBlockSegmentLDPC(tbIn,cbsInfo.BGN);% LDPC编码内附= nrLDPCEncode (cbsIn cbsInfo.BGN);%速率匹配和代码块连接outlen =装天花板(/);下巴= nrRateMatchLDPC (enc, outlen、房车、调制,nlayers);

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

类似的处理也适用于UL-SCH,其中物理上行共享通道(PUSCH)是UL-SCH码字的接收方。下面的原理图描述了两个通道的处理过程。

nrDLSCHnrULSCH封装每个传输块的处理的系统对象,并附加了对重传输的支持。金宝app

频道

本例中使用了一个简单的无噪声双极通道。使用完整的PDSCH或PUSCH处理,还可以考虑衰落信道、AWGN和其他射频损伤。

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

使用LDPC解码的接收处理

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

  • 回收率

  • LDPC译码

  • 码块分解与CRC译码

  • 传输块CRC译码

每个阶段都由下面所示的函数执行。

%回收率raterec = nrRateRecoverLDPC (chOut,率、房车、调制,nlayers);% LDPC译码decBits = nrLDPCDecode (raterec cbsInfo.BGN 25);%代码块分解和CRC解码(黑色,blkErr) = nrCodeBlockDesegmentLDPC (decBits, cbsInfo.BGN + cbsInfo.L);disp (['每个代码块的CRC错误:['num2str (blkErr)']'])%传输块CRC解码[out,tbErr]=nrCRCDecode(blk,cbsInfo.CRC);disp([“传输块CRC错误:”num2str (tbErr)]) disp (['恢复的传输块没有错误:'num2str (isequal(在))))
CRC error per code-block: [0 0] Transport block CRC error: 0恢复的传输块没有错误:1

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

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

另请参阅

功能

相关话题