nrLDPCDecode

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

描述

(,actNumIter,finalParityChecks)= nrLDPCDecode (,bgn,maxNumIter)返回LDPC-decoded输出矩阵对输入数据矩阵,基础图bgn和解码迭代的最大数量maxNumIter。函数也返回实际的迭代次数actNumIter每码字和最后一个奇偶校验检查finalParityChecks

解码器使用sum-product消息传递算法。中定义的数据位必须LDPC-encoded 5.3.2 TS 38.212部分[1]

例子

(,actNumIter,finalParityChecks)= nrLDPCDecode (<年代pan class="argument_placeholder">___,名称,值)指定可选的参数名称-值对,除了输入参数在前面的语法。

例子

全部折叠

创建传输数据组成的两个代码块段的长度为2560和36填充比特。

C = 2;K = 2560;F = 36;txcbs = 1(取位,C);填料= 1 * 1 (F、C);txcbs = (txcbs;填充剂);

传输数据生成LDPC码字。使用基础图二。

bgn = 2;txcodedcbs = nrLDPCEncode (txcbs bgn);

传输数据转换为软比特。填料在传输数据没有对数似然比(LLR)软比特。

rxcodedcbs =双(1 - 2 * txcodedcbs);FillerIndices =找到(txcodedcbs (: 1) = = 1);rxcodedcbs (FillerIndices:) = 0;

解码与编码码字最多25个迭代。

[rxcbs, actualniters] = nrLDPCDecode (rxcodedcbs bgn 25);

更换填料与零比特传输数据和比较编码和解码的结果。

txcbs (end-F + 1:最终,)= 0;isequal (rxcbs txcbs)
ans =<年代pan class="emphasis">逻辑1
actualniters
actualniters =<年代pan class="emphasis">1×21

输入参数

全部折叠

速度恢复软输入代码块段,指定为一个矩阵。列的数量等于将代码块段的数量。的行数等于码字的长度,和一些系统的碎片刺穿。

数据类型:|

基础图号指定为12。价值选择的两个基本图5.3.2 TS 38.212中定义的部分[1]

数据类型:

最大数量的解码迭代,指定为一个标量。解码时终止所有奇偶校验检查满意,或之后maxNumIter的迭代次数。

数据类型:

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:[actNumIter, finalParityChecks] = nrLDPCDecode (bgn, maxNumIter,“DecisionType”、“硬”)

输出格式、指定为逗号分隔组成的“OutputFormat”这些值之一:

  • “信息”的行数的长度等于比特的信息。

  • “整体”的行数等于码字的长度。

数据类型:字符|字符串

决策方法用于解码,指定为逗号分隔组成的“DecisionType”这些值之一:

  • “硬”的数据类型int8

  • “软”——输出包含对数似比率相同的数据类型

数据类型:字符|字符串

LDPC译码算法,指定为逗号分隔组成的“算法”这些值之一:

  • “信念传播”——使用这个选项来指定belief-passing或消息传递算法。有关更多信息,请参见信仰传播解码

  • “分层信念传播”——使用这个选项来指定分层belief-passing算法,适合刻画奇偶校验矩阵(吸附)。有关更多信息,请参见分层的信念传播解码

  • “规范化min-sum”——使用这个选项来指定分层信念传播算法和归一化min-sum近似。有关更多信息,请参见规范化Min-Sum解码

  • “抵消min-sum”——使用这个选项来指定分层信念传播算法和抵消min-sum近似。有关更多信息,请参见抵消Min-Sum解码

数据类型:字符|字符串

比例因子标准化min-sum解码,指定为逗号分隔组成的“ScalingFactor”和一个真正的标量范围(0,1)。

依赖关系

要启用这个名称-值对参数,设置算法名称-值对参数“规范化min-sum”

数据类型:

抵消抵消min-sum解码,指定为逗号分隔组成的“抵消”和一个非负有限真正的标量。

依赖关系

要启用这个名称-值对参数,设置算法名称-值对参数“抵消min-sum”

数据类型:

解码终止条件,指定为逗号分隔组成的“终止”这些值之一:

  • “早”——解码后,所有奇偶校验检查满意或终止maxNumIter的迭代次数。

  • “马克斯”——解码后终止maxNumIter的迭代次数。

数据类型:字符|字符串

输出参数

全部折叠

解码LDPC码字或信息比特,作为一个矩阵返回。列的数量等于将代码块段的数量。的行数依赖于名称-值对的论点“OutputFormat”。的数据类型依赖于名称-值对的论点“DecisionType”

数据类型:||int8

实际的迭代次数,返回一个行向量的正整数。的长度actNumIter等于列数。的th元素actNumIter对应于迭代执行的实际数量th列

数据类型:

最后的奇偶校验检查,作为一个矩阵返回。的行数finalParityChecks等于奇偶校验位的LDPC码字的数量。的th列finalParityChecks对应于最后一个奇偶校验检查码字。

数据类型:

算法

全部折叠

nrLDPCDecode函数支持这四种LD金宝appPC译码算法。

信仰传播解码

信念传播算法的实现是基于解码算法提出了[2]。对于传播LDPC-encoded码字,c,在那里<年代pan class="inlineequation"> c = ( c 0 , c 1 , , c n 1 ) ,LDPC译码器的输入(LLR)值的对数似然比<年代pan class="inlineequation"> l ( c ) = 日志 ( 公关 ( c = 0 | 通道输出 c ) 公关 ( c = 1 | 通道输出 c ) )

在每个迭代中,算法的关键组件更新基于这些方程:

l ( r j ) = 2 atanh ( V j \ 双曲正切 ( 1 2 l ( j ) ) ) ,

l ( j ) = l ( c ) + j C \ j l ( r j ) ,初始化<年代pan class="inlineequation"> l ( j ) = l ( c ) 在第一次迭代之前,

l ( ) = l ( c ) + j C l ( r j )

在每个迭代的末尾,<年代pan class="inlineequation"> l ( ) 是一个更新的估计的LLR值传播<年代pan class="inlineequation"> c 。的值<年代pan class="inlineequation"> l ( ) 不痒的决定输出吗<年代pan class="inlineequation"> c 。如果<年代pan class="inlineequation"> l ( ) < 0 艰难的决定输出<年代pan class="inlineequation"> c 是1。否则,输出是0。

指标集<年代pan class="inlineequation"> C \ j 和<年代pan class="inlineequation"> V j \ 基于奇偶校验矩阵(PCM)。指标集<年代pan class="inlineequation"> C 和<年代pan class="inlineequation"> V j 对应列的所有非零元素和行j分别的PCM。

这个数字强调了这些指数集的计算在给定的PCM= 5,j= 3。

为了避免无限的数字算法方程,atanh(1)和atanh(1)设置为19.07和-19.07,分别。由于有限的精度,MATLAB<年代up>®返回1为双曲正切(19.07)和1双曲正切(-19.07)。

当名称-值对的论点“终止”被设置为“马克斯”解码后终止maxNumIter的迭代次数。当“终止”被设置为“早”,解码终止时所有的奇偶校验检查满意(<年代pan class="inlineequation"> H c T = 0 )或之后maxNumIter的迭代次数。

分层的信念传播解码

分层的信念传播算法的实现是基于解码算法提出了[3],部分II.A。解码循环遍历(层)的PCM的行子集。对于每一行,在一层和每一位指数,j,实现更新算法的关键组件基于这些方程:

(1)<年代pan class="inlineequation"> l ( j ) = l ( j ) R j ,

(2)<年代pan class="inlineequation"> 一个 j = n N ( ) n j ψ ( l ( n ) ) ,

(3)<年代pan class="inlineequation"> 年代 j = n N ( ) n j 标志 ( l ( n ) ) ,

(4)<年代pan class="inlineequation"> R j = 年代 j ψ ( 一个 j ) ,

(5)<年代pan class="inlineequation"> l ( j ) = l ( j ) + R j

每一层的解码方程(5)结合输入工作获得从当前LLR输入<年代pan class="inlineequation"> l ( j ) 和前一层的更新<年代pan class="inlineequation"> R j

因为只有更新节点的一个子集在一层,分层信念传播算法更快的信念传播算法相比。达到相同的误码率与信仰传播解码,获得使用数量的一半解码迭代当使用分层的信念传播算法。

规范化Min-Sum解码

规范化的实现min-sum解码算法遵循分层的信念传播算法与方程(2)所取代

一个 j = 最小值 n N ( ) n j ( | l ( n ) | α ) ,

在哪里<年代pan class="emphasis">α在范围(0,1)指定的比例因子吗ScalingFactor。这个方程是一个改编的方程(4)了[4]

抵消Min-Sum解码

抵消min-sum解码的实现算法遵循分层的信念传播算法与方程(2)所取代

一个 j = 马克斯 ( 最小值 n N ( ) n j ( | l ( n ) | β ) , 0 ) ,

在哪里<年代pan class="emphasis">β≥0和指定的偏移量抵消。这个方程是一个适应的方程(5)中给出[4]

引用

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

[2]Gallager,罗伯特·G。<年代pan class="emphasis">低密度奇偶校验码、剑桥、马,麻省理工学院出版社,1963年。

[3]Hocevar D.E.“减少复杂性解码器架构通过分层LDPC码解码”。In<年代pan class="emphasis">IEEE车间在信号处理系统中,2004年。口2004。doi: 10.1109 / SIPS.2004.1363033

[4],京沪,坦纳智慧化,c·琼斯,燕。“改进min-sum不规则LDPC码的译码算法”。In<年代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">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

介绍了R2018b