该示例突出显示了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调制。
从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*(下巴));
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
封装每个码字的接收处理的系统对象,以及用于改进性能的重新传输的额外软组合。
nrCodeBlockDesegmentLDPC
|nrcodeblockldpc
|nrCRCDecode
|nrCRCEncode
|nrDLSCH
|NRDLSCH译码器
|nrDLSCHInfo
|NRLDPCDE
|nrLDPCEncode
|nrRateMatchLDPC
|NRLDPC
|努尔什
|nrULSCHDecoder
|努尔什尼福