nrDLSCHDecoder

应用DL-SCH解码器处理链

描述

nrDLSCHDecoder系统对象™将下行共享通道(DL-SCH)解码器处理链应用于与一个或两个DL-SCH编码的传输块对应的软位。DL-SCH译码过程包括速率恢复、低密度奇偶校验(LDPC)译码、解分割和循环冗余校验(CRC)译码。该对象实现了TR 38.212节7.2中指定的DL-SCH编码过程的逆操作[1]

应用DL-SCH解码器处理链:

  1. 创建nrDLSCHDecoder对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?(MATLAB)。

创建

描述

decDL= nrDLSCHDecoder创建DL-SCH解码器系统对象。

decDL= nrDLSCHDecoder (名称,值创建使用一个或多个名称-值对设置的属性的对象。将属性名括在引号内,后跟指定的值。未指定的属性采用默认值。

例子:例如,nrDLSCHDecoder (MultipleHARQProcesses,真的)创建对象并启用多个混合自动重复请求(HARQ)进程。

属性

全部展开

除非另有说明,属性为<年代pan class="emphasis">nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为<年代pan class="emphasis">可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计(MATLAB)。

启用多个HARQ进程,指定为真正的。当设置为,对象使用单个进程。当设置为真正的,该对象使用多个HARQ进程,最多16个。为了在LDPC解码之前实现软合并重传,对象为每个HARQ进程维护一个软缓冲区。

数据类型:逻辑

目标码率,指定为数值标量或1 × 2数值向量。取值范围为(0,1),默认值为526/1024。如果你指定TargetCodeRate作为标量,对象在处理两个传输块时应用标量展开。若要为每个传输块指定不同的目标码率,请指定TargetCodeRate作为一个向量。

可调:是的

数据类型:

已解码的传输块或传输块的长度(以位为单位),指定为正标量整数或1 × 2整数向量。如果你指定TransportBlockLength作为标量,对象在处理两个传输块时应用标量展开。若要为已解码的传输块指定不同的长度,请指定TransportBlockLength作为一个向量。

可调:是的

数据类型:

用于速率恢复的有限缓冲区大小,指定为正整数。默认值对应于384×66,这是一个代码块的最大编码长度。默认值表示不限制缓冲区大小。

数据类型:

最大LDPC解码迭代次数,指定为正整数。由于启用了提前终止,一旦奇偶校验得到满足,解码就会停止。在这种情况下,发生的迭代次数少于该参数指定的最大值。

数据类型:

LDPC解码算法,指定为以下值之一:

  • “信念传播”—指定信念传递算法或消息传递算法。

  • “分层信仰传播”-使用此选项指定分层的信念传递算法,该算法适用于准循环奇偶校验矩阵(pcm)。

  • “规范化min-sum”-使用此选项指定带有规范化最小和近似的分层信念传播算法。

  • “抵消min-sum”-使用此选项指定带有偏移最小和近似的分层信念传播算法。

有关这些算法的更多信息,请参见LDPC译码算法

数据类型:字符|字符串

标准化最小和解码的比例因子,指定为范围(0,1]中的实标量。

依赖关系

属性可启用此属性LDPCDecodingAlgorithm财产“规范化min-sum”

数据类型:

用于偏移量最小和解码的偏移量,指定为非负的有限实标量。

依赖关系

属性可启用此属性LDPCDecodingAlgorithm财产“抵消min-sum”

数据类型:

使用

描述

例子

trblk= decDL (softbits国防部nLayers房车将DL-SCH解码器处理链应用于输入softbits并返回解码后的位。国防部指定调制方案。nLayers传输层数。房车指定传输的冗余版本。

trblk= decDL (<年代pan class="argument_placeholder">___harqIDHARQ进程号harqID在前面的语法中,除了输入参数外,还用于当前传输。要使用此语法,请设置MultipleHARQProcesses财产真正的。属性设置为时,该对象使用HARQ进程号为0。

当对象接收到不同HARQ进程的冗余版本的码字时,对象使用软缓冲区状态保持来支持软合并重传。当启用多个HARQ进程时,对象为每个进程维护独立的缓冲区。

trblkblkerr= decDL(<年代pan class="argument_placeholder">___使用前面任何语法中的输入参数返回一个错误标志。值为1英寸blkerr表示传输块解码过程中发生错误。

输入参数

全部展开

近似对数似然比(LLR)软位,对应于一个或两个dl - sch编码的传输块,指定为一个实列向量或两个实列向量的单元格数组。

数据类型:|

调制方案,指定为“正交相移编码”16 qam的64 qam256 qam字符串数组或字符向量的单元格数组。这种调制方案决定了调制类型和每个调制符号使用的比特数。对于两个传输块,调制方案适用于两个块。或者,您可以使用字符串数组或字符向量的单元格数组为每个传输块指定不同的调制方案。

调制方案 每个符号的比特数
“正交相移编码” 2
16 qam的 4
64 qam 6
256 qam 8

数据类型:字符|字符串

传输层数,取值为1 ~ 8之间的整数。为nLayers> 4,对象期望两个编码的传输块作为输入。

数据类型:

冗余版本,指定为0到3的整数或1乘2的整数向量。如果你指定房车作为标量,对象在处理两个编码的传输块时应用标量展开。若要为每个编码传输块指定不同的冗余版本,请指定房车作为一个向量。

数据类型:

HARQ进程号,指定为0 ~ 15之间的整数。

数据类型:

输出参数

全部展开

解码的DL-SCH传输块,返回为二进制列向量或两个二进制列向量的单元格数组。的TransportBlockLength属性指定列向量的长度。

每个传输块的DL-SCH传输块解码结果,作为长度为2的逻辑标量或逻辑向量返回。值为1blkerr表示传输块解码过程中发生错误。

数据类型:逻辑

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

resetSoftBuffer 在UL-SCH或DL-SCH解码器中重置HARQ进程的软缓冲区
一步 运行系统对象算法
克隆 创建重复的系统对象
isLocked 确定系统对象是否正在使用
释放 释放资源并允许更改System对象属性值和输入特征
重置 重置System对象的内部状态

例子

全部展开

生成一个二进制值的随机序列,对应于一个长度为5120的传输块。

trBlkLen = 5120;trBlk = randi([0 1],trBlkLen,1,<年代pan style="color:#A020F0">“int8”);

创建并配置具有指定目标码率的DL-SCH encoder System对象。

targetCodeRate = 567/1024;encDL = nrDLSCH;encDL。TargetCodeRate = targetCodeRate;

将传输块装入DL-SCH编码器。

setTransportBlock (encDL trBlk);

调用编码器64-QAM调制方案,1传输层,输出长度为10240位,冗余版本为0。编码器将DL-SCH处理链应用于加载到对象中的传输块。

mod =<年代pan style="color:#A020F0">64 qam;nLayers = 1;Outlen = 10240;Rv = 0;codedTrBlock = encDL(mod,nLayers,outlen,rv);

创建并配置DL-SCH解码器系统对象。

decDL = nrDLSCHDecoder;decDL。TargetCodeRate = targetCodeRate; decDL.TransportBlockLength = trBlkLen;

在表示已编码传输块的软位上调用DL-SCH解码器。使用为编码器指定的配置参数。输出中的error标志表示块解码没有错误。

rxSoftBits = 1.0 - 2.0*double(codedTrBlock);[decbits,blkerr] = decDL(rxSoftBits,mod,nLayers,rv)
decbits =<年代pan class="emphasis">5120x1 int8列向量1 1 0 1 1 0 0 1 1 1
blkerr =<年代pan class="emphasis">逻辑0

验证发送和接收的消息位是否相同。

isequal (decbits trBlk)
ans =<年代pan class="emphasis">逻辑1

算法

全部展开

参考文献

[1]<年代pan>3gpp ts 38.212。“NR;多路复用和信道编码。”第三代伙伴计划;技术规范集团无线接入网

[2] Robert G. Gallager。<年代pan class="emphasis">低密度奇偶校验码马萨诸塞州剑桥,麻省理工学院出版社,1963年。

[3] Hocevar D.E.“通过LDPC码的分层解码来降低解码器结构的复杂性。”在<年代pan class="emphasis">IEEE信号处理系统研讨会,2004。口2004。必须:10.1109 / SIPS.2004.1363033

[4]陈静虎,R.M.坦纳,C.琼斯和李燕。改进的不规则LDPC码最小和译码算法。在<年代pan class="emphasis">程序。国际信息理论学术研讨会,2005。2005年有更深的了解。doi: 10.1109 / ISIT.2005.1523374

扩展功能

另请参阅

对象

  • |<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

功能

  • |<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

在R2019a中引入