主要内容

DL-SCH和UL-SCH的LDPC加工

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

共享通道参数

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

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

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

基于所选择的传输块长度和目标编码率,使用算法确定DL-SCH编码参数nrDLSCHInfo函数。

DL-SCH编码参数cbsInfo = nrDLSCHInfo(A,rate);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)进行置乱、调制、层映射和资源/天线映射。每一个阶段都由一个函数执行,如下所示。

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

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

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

nrDLSCH而且nrULSCH封装每个传输块的处理的系统对象,并提供对重传的额外支持。金宝app

通道

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

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] = nrCodeBlockDesegmentLDPC(decBits,cbsInfo.BGN,A+cbsInfo.L);disp (['每个代码块的CRC错误:['num2str (blkErr)“]”])传输块CRC解码[out,tbErr] = nrCRCDecode(blk,cbsInfo.CRC);disp (['传输块CRC错误:'num2str (tbErr)]) disp (['已恢复传输块,没有错误:'num2str (isequal(在))))
每个代码块的CRC错误:[0 0]传输块CRC错误:0恢复的传输块没有错误:1

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

nrDLSCHDecoder而且nrULSCHDecoder每个码字封装接收处理的系统对象,并通过额外的重传软组合来提高性能。

另请参阅

功能

相关的话题