主要内容

nrCodeBlockDesegmentLDPC

LDPC的代码块desegmentation和CRC解码

描述

例子

(黑色,犯错)= nrCodeBlockDesegmentLDPC (哥伦比亚广播公司,bgn,blklen)连接输入代码块段哥伦比亚广播公司成一个单一的输出数据块黑色的长度blklen。验证输入的数据维度的函数哥伦比亚广播公司根据指定的基础图号bgn和输出块长度blklen。该函数删除任何填充比特和type-24B循环冗余校验(CRC)位出现在输入哥伦比亚广播公司。输出犯错是type-24B CRC解码的结果(如适用)。这个过程的逆低密度奇偶校验(LDPC) 5.2.2 TS 38.212中指定的代码块分割部分[1]和实现nrCodeBlockSegmentLDPC

例子

全部折叠

执行代码块分割随机二进制序列的输入数据。

bgn = 1;blklen = 10000;哥伦比亚广播公司(cbs) = nrCodeBlockSegmentLDPC (randi ([0 1] blklen 1), bgn);

当基础图号是1,分割输入长度大于8448时执行。输入数据的长度10000分为两个代码块段的长度为5280。代码块段填充比特和CRC附呈。

大小(哥伦比亚广播公司)
ans =1×25280 2

连接代码块段。

(黑色,犯错)= nrCodeBlockDesegmentLDPC(美国哥伦比亚广播公司,bgn blklen);

相同大小的连接结果与原始输入与CRC和填料部分删除。

blkSize =大小(黑色)
blkSize =1×210000年1

验证如果CRC解码成功通过检查误差向量。

犯错
呃=1 x2 uint32行向量0 0

创建一个矩阵代表两个代码块段。每个元素包含了线性矩阵中元素的索引。

cbs =重塑([1:10560],[],2);

连接代码块段使用指定的基础图数和输出块长度。

bgn = 1;blklen = 10000;黑色= nrCodeBlockDesegmentLDPC(美国哥伦比亚广播公司,bgn blklen);

如何输入映射到输出,绘制代码块段指数相对于连接输入相应的指标。在每一个代码块段,最后的280位代表CRC和填充比特。这些额外的比特从恢复删除的数据。

情节(黑色);包含(“代码块位指数”);ylabel (“恢复数据位指数”);标题(“代码块Desegmentation操作”);

图包含一个轴。坐标轴标题代码块Desegmentation操作包含一个类型的对象。

输入参数

全部折叠

代码块段,指定为一个真正的矩阵。矩阵只有一列对应一个代码块段没有CRC位附加。如果你指定多个列的矩阵,矩阵的每一列对应一个独立的代码块与type-24B CRC位附加部分。在这两种情况下,代码块段可以包含填充比特。

数据类型:|int8

基础图号指定为12

数据类型:

输出块长度指定为一个非负整数。如果blklen0,那么两个黑色犯错是空的。这个函数使用blklen验证输入的数据维度哥伦比亚广播公司和计算填充比特删除的数量。

数据类型:

输出参数

全部折叠

连接数据块,作为一个空向量(当返回blklen0)或一个真正的列向量。函数删除任何填充位和type-24B CRC位出现在输入哥伦比亚广播公司。输出黑色继承它的数据类型的输入哥伦比亚广播公司

数据类型:|int8

CRC错误,作为其中一个返回值:

  • 空向量函数返回这个值时blklen0或者,如果哥伦比亚广播公司只有一个列(CRC解码不发生)。

  • 向量的非负整数,如果哥伦比亚广播公司有多个列,犯错包含了CRC错误位从解码type-24B CRC位在每个代码块段。的长度犯错等于代码块段的数量(列数的输入哥伦比亚广播公司)。

数据类型:uint32

引用

[1]3 gpp TS 38.212。“NR;多路复用和信道编码”。第三代合作伙伴项目;技术规范集团无线接入网络

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

介绍了R2018b