主要内容

DL-SCH和UL-SCH的LDPC处理

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

共享频道参数

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

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

RNG(210);%设置重复性的RNG状态a = 10000;%传输块长度,正整数速率= 449/1024;%目标代码率,0 RV = 0;%冗余版本,0-3调制='QPSK';%调制方案,QPSK,16QAM,64QAM,256QAMnlayers = 1;百分比,传输块的1-4

基于所选择的传输块长度和目标编码率,使用DL-SCH编码参数使用nrdlschinfo.功能。

%DL-SCH编码参数cbsinfo = nrdlschinfo(a,速率);DISP('DL-SCH编码参数')DISP(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的人金宝app外,UL-SCH还支持PI / 2-BPSK调制。

使用LDPC编码运输块处理

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

  • CRC附件,

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

  • 使用LDPC的频道编码,

  • 速率匹配和代码块连接

在传递到物理下行链路共享通道(PDSCH)之前,用于加扰,调制,层映射和资源/天线映射。这些阶段中的每一个由函数执行,如下所示。

%随机传输块数据生成在= randi([01],a,1,'int8');%运输块CRC附件tbin = nrcrcencode(in,cbsinfo.crc);%代码块分段和CRC附件cbsin = nrcodeblocksedddpc(tbin,cbsinfo.bgn);%LDPC编码enc = nrldpcencode(cbsin,cbsinfo.bgn);%速率匹配和代码块连接概述= CEIL(A /率);CHIN = NRRATEMATCTLDPC(ENC,INELTEN,RV,调制,NLayers);

速率匹配和代码块连接过程的位数的输出数必须根据可用资源匹配PDSCH的比特容量。在该示例中,当没有建模PDSCH时,将其设置为基于先前选择的传输块大小实现目标代码率。

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

参考nrdlsch.nrulsch系统对象,其封装每个传输块的处理,具有额外支持重传。金宝app

渠道

对于此示例使用没有噪声的简单双极通道。通过完整的PDSCH或PUSCH处理,可以考虑衰落通道,AWGN和其他RF损伤。

Chout = Double(1-2 *(Chin));

使用LDPC解码接收处理

DL-SCH通道的接收结束处理包括对发送端的相应双重操作包括包括

  • 速率恢复

  • LDPC解码

  • 代码块签名和CRC解码

  • 运输块CRC解码

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

%率恢复raterec = nrraterecoverldpc(Chout,a,速率,rv,调制,nlayers);%LDPC解码decbits = nrldpcdecode(raterec,cbsinfo.bgn,25);%代码块签名和CRC解码[blk,blkerr] = nrcodeblockdeseddpc(decbits,cbsinfo.bgn,a + cbsinfo.l);DISP(['每个代码块的CRC错误:['num2str(blkerr)']'])%运输块CRC解码[OUT,TBERR] = NRCRCDECODE(BLK,CBSINFO.CRC);DISP(['运输块CRC错误:'num2str(tberr)])disp(['恢复的运输块没有错误:'num2str(Isequal(Out,In))])
每个代码块的CRC错误 - 块:[0 0]传输块CRC错误:0恢复的传输块,没有错误:1

当显示器指示时,代码块和传输块级别都没有CRC错误。这导致运输块被恢复和解码,没有预期的噪声,对于无噪声信道。

参考nrdlschdecodernrulschdecoder.系统对象,其封装每个码字的接收处理,具有额外的重传的软组合,以提高性能。

也可以看看

功能

相关话题