主要内容

nrLDPCEncode

低密度奇偶校验 (LDPC) 编码

说明

out = nrLDPCEncode(in,bgn) 返回输入数据矩阵 in 和基图编号 bgn 的 LDPC 编码输出矩阵,如 TS 38.212 第 5.3.2 节[1] 中所述。如果适用,该函数会将输入中每个由 -1 表示的填充比特替换为 0。编码完成后,该函数会重新将每个填充比特替换为 -1。编码过程中会对部分系统信息比特进行删截。

示例

示例

全部折叠

创建用于编码的输入数据,该数据由两个长度为 2560 的代码块段和末尾的 36 个填充比特组成。

C = 2;          
K = 2560;       
F = 36;         
cbs = ones(K-F,C);
fillers = -1*ones(F,C);
cbs = [cbs;fillers];   

为这两个码块段生成 LDPC 码字。使用 2 号基图。

bgn = 2;        
codedcbs = nrLDPCEncode(cbs,bgn);
size(codedcbs)
ans = 1×2

       12800           2

输入参数

全部折叠

编码前的代码块段,指定为矩阵或列向量。in 中的列数等于传输块中调度的代码块段数。in 中的行数等于代码块段的长度,包括填充比特(如有)。

注意

填充比特由 -1 表示,在执行编码时被视为 0

数据类型: double | int8

基图编号,指定为 12。这些值对应于 TS 38.212 第 5.3.2 节[1] 中定义的两个基图

数据类型: double

输出参量

全部折叠

编码的 LDPC 码字输出,以矩阵形式返回。out 中的列数等于传输块中调度的代码块段数。out 中的行数等于码字的长度。每个码字会删截一些系统比特,并且可能包含填充比特。

数据类型: double | int8

参考

[1] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2018b 中推出

全部展开