CN109952729B - 并行ldpc解码器 - Google Patents
并行ldpc解码器 Download PDFInfo
- Publication number
- CN109952729B CN109952729B CN201980000219.2A CN201980000219A CN109952729B CN 109952729 B CN109952729 B CN 109952729B CN 201980000219 A CN201980000219 A CN 201980000219A CN 109952729 B CN109952729 B CN 109952729B
- Authority
- CN
- China
- Prior art keywords
- parallel
- ldpc decoder
- code blocks
- shifter
- resettable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
描述了能够并行解码多个代码块的低密度奇偶校验(LDPC)解码器配置的系统和方法。可重置并行LDPC解码器以同时解码多个码字其有可重置大小。在并行LDPC解码器运行时,解码器逻辑的多个主动部分被配置以并行处理多个代码块,其中每个主动区域处理一个相应的代码块。使用支持多指令多数据(MIMD)的可重置分段可缩放循环移位器来提供解码器逻辑主动部分,其中在数据移位运行时,对多个代码块实施多个单独的不同数据移位。可以使用多个数据移位命令,使得多个代码块具有单独的移位命令,从而对每个代码块实施不同的数据移位。
Description
相关申请的交叉引用
本申请涉及与本申请同时提交的标题为“可重置分段可缩放移位器(RECONFIGURABLE SEGMENTED SCALABLE SHIFTER)”的共同转让的美国专利申请号[US16/264,070],其整个内容以引用的方式并入本文中,用于所有可适用的目的。
技术领域
本发明涉及数据通信,特别涉及解码校正编码数据。
背景技术
当今社会广泛地依赖于数据通信用于各种目的,诸如个人之间的消息传递、广播通信、控制机器、基于处理器的系统的网络等。数据可以通过各种通道传送,包括有线、无线和光学信道,并且会受到各种噪声源、干扰和/或其他信号劣化的影响。例如,在蜂窝无线电系统中,无线传输用于在手机和基站之间传送信息。但是,由于噪声、干扰或弱信号强度引起的通信错误,接收到的比特通常与发送的比特不同。
因此,已经开发了多种形式的数据编码以试图使数据(例如,高数据速率应用的数据传输)对各种信道(例如,不可靠或嘈杂的信道)传输的影响更具弹性。例如对于数据通信,纠错码(ECC),例如turbo码,低密度奇偶校验(LDPC)码等,已经用于编码数据。
低密度奇偶校验(LDPC)码是线性纠错码。LDPC使用分层解码技术,其中对多次迭代中的每次迭代,求解单个块的行(row)奇偶校验方程(每次迭代仍然更新比特值)。找到一个合法码字,满足所有奇偶校验方程。LDPC码越来越多地应用于需要在有损坏噪声的情况下在带宽受限或返回信道受限的链路上进行可靠和高效信息传输的应用中。为了解决关于信号劣化的问题,5G蜂窝标准规定使用LDPC码作为蜂窝通信的主信道码。特别地,5G标准使用准循环LDPC(QC-LDPC)编码用于数据校正码。
5G网络中的基站同时支持多个用户的通信。因此,5G基站接收器要解码来自各种连接终端的不同大小的多个码块(例如,多个用户传输的QC-LDPC编码数据)。通常关于QC-LDPC编码数据实施的迭代解码技术是相对逻辑密集的,经常导致解码器逻辑消耗几乎一半的接收器计算能力。而且,传统的QC-LDPC解码器一次只能解码任何大小的一个代码块(参见如美国专利号8,739,001和9,112,530,其公开内容通过引用结合于此)。因此,对于连接终端的多个代码块,通常单独执行解码(例如,由多个解码器逻辑执行和/或由一个解码器逻辑重复运行而串行处理)。当多个用户将小输入码块大小馈送到LDPC解码器时,解码过程所需的时间将增加。现有的LDPC解码器配置效率低,不提供灵活的设计。
发明内容
本发明涉及能够并行解码多个代码块的低密度奇偶校验(LDPC)解码器配置的系统和方法。例如,可以通过本发明实施例的并行LDPC解码器并行处理多个代码块以进行QC-LDPC解码。根据本发明实施例,进行并行解码的代码块可以是混合的或各种大小的。因此,本发明实施例的并行LDPC解码器可以重置,同时解码多个码字,其有可重置大小。
并行LDPC解码器运行时,解码器逻辑的多个主动部分被配置以并行处理多个代码块,其中每个主动区域处理一个相应代码块。使用可重置分段可缩放循环移位器来提供解码器逻辑主动部分。并行LDPC解码器实施的可重置分段可缩放移位器支持多指令多数据(MIMD),其中在数据移位运行时,对多个代码块执行多个单独的不同数据移位。在根据实施例运行时,可以使用多个数据移位命令,使得多个代码块具有单独的移位命令,从而对于每个代码块执行不同的数据移位。
根据本发明概念提供的并行LDPC解码器为并行处理提供了有效且灵活的设计。并行LDPC解码器的使用有助于降低接收器解码多个代码块的计算功率(例如,多个用户传输的QC-LDPC编码数据)。另外或替代地,并行LDPC解码器可以提供增强的运行能力(例如,通过使用实施例的并行LDPC解码器,可以使5G基站支持大量待机模式用户)。实施例的并行LDPC解码器提供有效的处理和功耗,非常适用于高性能宽带数据网络,例如不断发展的5G蜂窝标准的数据网络。例如,预计5G蜂窝网络将提供指数级提升的用户体验和更多样化的应用,例如物联网(IoT)、车载通信和云计算中的新应用,从而在宽带数据和电话服务之外提供更广泛的用例扩展。根据本发明实施例的并行LDPC解码器的使用促进了5G蜂窝网络接收器实施中的灵活性和效率。
前面已经相当广泛地概述了本发明的特征和技术优点,以便可以更好地理解随后的本发明的详细描述。在下文中将描述本发明的其他特征和优点,一起形成本发明权利要求的主题。本领域技术人员应该理解,所公开的概念和具体实施例可以容易地用作为一个基础,用于修改或设计成其他结构以实现本发明相同目的。本领域技术人员还应该认识到,这种等同结构并没有脱离所附权利要求中阐述的本发明精神和范围。当结合附图考虑时,从以下描述将更好地理解被认为是本发明特征的新颖特性,有关其组织和操作方法,以及其他目的和优点。然而,应该清楚地理解,提供的每个附图仅仅是为了说明和描述的目的,而不是作为对本发明限制的定义。
附图说明
为了更完整地理解本发明,现参考以下结合附图的描述,其中:
图1显示传统的LDPC解码器配置;
图2显示本发明实施例的并行LDPC解码器配置;
图3A显示一个示例性LDPC码的BG矩阵和Tanner图构造;
图3B显示一个迭代LDPC解码过程;
图3C和3D显示LDPC解码器使用最小和算法的最小阶段,显示了LDPC解码器的V2C操作;
图3E和3F显示LDPC解码器使用最小和算法的和阶段,显示了LDPC解码器的C2V操作;
图4A和4B显示LDPC码的BG矩阵和Tanner图构造;
图5A-5C显示LDPC码的各个Tanner图构造的片段视图;
图6显示LDPC解码器配置的片段视图;
图7显示本发明实施例的使用可重置分段可缩放移位器配置的LDPC解码器配置的片段视图;
图8显示本发明实施例的并行LDPC解码器中使用的可重置分段可缩放移位器配置;
图9显示本发明实施例的并行LDPC解码器中使用的分节(sectioned)移位器阶段配置;
图10A-10C显示本发明实施例的并行LDPC解码器的实施细节。
具体实施方式
图1显示一个传统的LDPC解码器,其通常由5G蜂窝网络中的接收器使用,以解码使用QC-LDPC码编码的数据,进行数据校正。因此,图1的传统LDPC解码器100包括5G LDPC纠错码解码器,其从噪声信号110接收编码比特(例如,以对数似然比(LLR)),并输出解码比特作为解码结果120。在运行时,传统LDPC解码器100采用分层解码逻辑,关于单个码块的编码比特,迭代地处理奇偶校验方程,其中有效码字要满足所有奇偶校验方程。从前述内容可以理解,传统LDPC解码器100一次只能解码一个码块。
在运行时,LDPC解码器输入是一个代码块,其大小取决于各种因素。在根据当前标准的5G蜂窝网络中,基本图(base graph,BG)矩阵BG1和BG2是两个大小的BG矩阵,其中BG1=46x68,BG2=42x52。BG1有八个不同的矩阵,用于不同值的扩展参数Z,BG2有另外八个不同的矩阵,用于不同值的扩展参数Z,如下表所示。从下表中可以看出,在该5G蜂窝网络示例中,扩展参数Z={2,...,384}。LLR的比特宽度(K)通常是6或8比特,但是可以使用其他比特宽度。5G蜂窝网络实施中的码块大小与扩展参数Z的值成比例。使用5G BG1和K=8比特配置作为一个示例,LDPC解码器输入的代码块大小=K*68*Z,其中代码块通常可以从816比特(例如,其中LLR比特宽度K=6,扩展参数Z=2)到208,896比特(例如,其中LLR比特宽度K=8,扩展参数Z=384)。LDPC解码器输出包括从代码块输入导出的解码比特(硬比特(hardbit)),其中该输出也与扩展参数Z的值成比例。继续该5G BG1示例,LDPC解码器的输出(硬比特)=68*Z(例如,136比特,其中扩展参数Z=2至26,112比特,其中扩展参数Z=384)。因此,用于5G BG1的传统LDPC解码器100的实施必须被配置以适应扩展参数Z=384,尽管LDPC解码只处理了使用较小扩展参数(即,扩展参数Z<384)的代码块,LDPC解码器的剩余容量还保持空闲(例如,传统LDPC解码器的空闲部分几乎与所使用的扩展参数Z的值成反比)。
在LDPC解码器100运行时,一次只能解码任何大小的一个代码块。其他代码块,如与其他连接终端相关的代码块,会被该传统配置另行分开解码(例如,由多个传统LDPC解码器100和/或由传统LDPC解码器100重复运行)。
图2显示本发明一个实施例的并行LDPC解码器。图2的并行LDPC解码器200包括一个LDPC解码器配置,例如可用于5G LDPC纠错码解码运行,配置以从多个接收信号210-1到210-n接收编码比特(例如,由多个连接终端、一个特定连接用户等发送的LLR域比特),并输出解码比特(例如,硬比特)作为解码结果220-1到220-n(例如,对应于多个连接终端的解码块、特定用户的多个代码块)等。并行LDPC解码器200可以例如设置在基站或其他接入点内,服务于一个或多个连接终端。当然,对于在任何特定主机(例如上述基站)内,不限于使用本发明的并行LDPC解码器。根据本发明概念的并行LDPC解码器可以布置在用户设备、互联网设备和其他设备中,实施数据解码功能。
从前述内容可以理解,所示实施例的并行LDPC解码器200能够并行解码多个代码块(例如,并行LDPC解码器200并行处理多个代码块用于QC-LDPC解码)。由并行LDPC解码器200并行解码的多个代码块的总组合或聚合的扩展参数的大小小于或等于用于编码数据的最大扩展参数大小。例如,在Z=384的5G BG1配置中,由并行LDPC解码器200解码的M个代码块的总组合扩展参数大小(例如,ZIN_1+ZIN_2+...ZIN_M)小于或等于Z(即该示例中的384)。M个代码块的各个代码块可以是混合的或是各种数据宽度大小。例如,并行解码的每个代码块可以包括相同大小的代码块。或者,并行解码的每个代码块可以包括不同大小的代码块。作为另一示例,并行解码的一些代码块可包括不同大小的代码块,而与前述代码块并行处理的其他代码块可以是不同大小的代码块。根据本发明的一些实施例,并行LDPC解码器的整体输入可以通过组合使用相同BG矩阵索引的代码块来形成(如上表),其中这样的代码块可以是相同的或者不同的大小。例如,为了使用相同的BG矩阵,可以组合相同BG矩阵索引集的Z值的代码块(例如,组合Z={15,30,60,120和240}的代码块,其中所有这些代码块使用BG矩阵索引7)。
从下面的描述将更好地理解,并行LDPC解码器200配置有多个主动(active)部分,用于多个代码块的并行处理,其中每个主动区域处理一个相应的代码块。使用可重置分段可缩放循环移位器来提供并行LDPC解码器200的解码器逻辑主动部分,如上面引用的标题为“可重置分段可缩放移位器(RECONFIGURABLE SEGMENTED SCALABLE SHIFABLE)”的专利申请中详细显示的,其中可重置分段可缩放移位器支持多指令多数据(multipleinstruction,multiple data,MIMD)。在并行LDPC解码器200运行时,可以使用多个数据移位命令,使得多个代码块有一个单独的移位命令,从而对每个代码块实施不同的数据移位。因此,并行LDPC解码器200能够并行地解码多个编码数据流的代码块(例如,来自多个连接终端的接收信号),以进行有效和灵活的处理。
为了帮助理解本发明的概念,理解LDPC解码运行是有帮助的。LDPC是使用分层解码技术的线性分组码,其中在多次迭代的每一次迭代中,求解单个块的行奇偶校验方程(每次迭代仍然更新比特值),找到一个合法码字,其满足所有奇偶校验方程。作为线性分组码,LDPC码可以通过矩阵来描述。还可以使用图形表示来描述LDPC码。
根据当前5G蜂窝标准使用的LDPC码,包括准循环LDPC(QC-LDPC)码。QC-LDPC码由两个参数表征,即扩展因子(Z)和基本图(BG)矩阵。图3A显示使用2个校验节点和4个变量节点的一个示例QC-LDPC码的基本图矩阵(BG)和Tanner图结构。应当理解,所示示例的LDPC码仅包括2个校验节点和4个变量节点以简化描述。本发明实施例的并行LDPC解码的LDPC码可能比该示例大得多。例如,在5G蜂窝通信标准中,BG1的大小目前是46x68(例如,46个校验节点和68个变量节点),BG2的大小目前是42x52(例如,42个校验节点和52个变量节点)。
图3A的Tanner图300包括两组不同的节点(校验节点(CN)301和302以及变量节点(VN)331-334),其中仅边缘(例如,边缘311-313和321-324)连接不同节点集的节点。可以看出,Tanner图300与矩阵BG 390表示相同的LDPC码,其中BG矩阵行对应Tanner图的CN,BG矩阵列对应Tanner图的VN。特别地,如果元素BGij是非负的,则CNi连接到VNj。BG的元素值表示循环移位值,用于迭代解码过程。
在LDPC解码过程(如QC-LDPC解码)中,通过将消息迭代地从VN传递到CN(V2C),然后从CN到VN(C2V),一个CN接一个CN来完成解码。该LDPC解码运行显示在图3B的Tanner图中,其中显示了LDPC解码运行的一个实例。在所示LDPC解码迭代例子中,在为第一个CN提供消息迭代传递时,Tanner图300-1显示V2C操作,将消息从VN 331-333传递到CN 301,Tanner图300-2显示C2V操作,将消息从CN 301传递到VN 331-333。应当理解,关于Tanner图300-1中所示的LDPC解码运行,已经进行了C2V操作,将消息初始从CN 301传递到VN 311-333,或者已经进行了LDPC解码的前一轮迭代。在为下一个CN提供消息迭代传递时,Tanner图300-3显示V2C操作,将消息从VN 331-334传递到CN 302,Tanner图300-4显示C2V操作,将消息从CN 302传递到VN 331-334。
LDPC解码器逻辑实施算法,以在上述C2V和V2C操作中解码LDPC码。LDPC解码器使用的LDPC解码算法,可以包括例如最小和算法、和积算法、置信传播算法或消息传递算法。为了帮助理解本发明概念,将讨论使用最小和算法的示例。但是,应该理解,本发明概念不限于该示例的LDPC解码算法。
在使用最小和算法的LDPC解码器运行时,当将消息从VN传递到CN时,在V2C操作中使用最小阶段(min stage),如图3C所示。如所示实施例中,LDPC解码器逻辑(例如,使用比较器逻辑)可以确定从VN传递到连接的CN的消息的第一最小值(例如,min_1=第一小绝对值abs(M11,M12,M13))和从VN传递到连接的CN的消息的第二最小值(例如,min_2=第二小绝对值abs(M11,M12,M13))。LDPC解码器逻辑(例如,使用XOR门逻辑)可以进一步确定从VN传递到连接的CN的消息的符号sign(例如,sign_all=sign(M11)^sign(M12)^sign(M13),其中sign=1表示负号)。从VN传递的消息可以由LDPC解码器逻辑(例如,使用算术逻辑)根据在先解码迭代中先前从CN传递的消息中提供的数据来计算。如图3D所示,从VN 331传递到CN 301的消息例如可以被计算为M11=LLR+E21=SUM1-E11,其中SUM1=LLR+E11+E21和SUM1'=SUM1-E11(最初所有Eij=0且所有SUMj=LLR_j)。可以类似地计算从每个其他VN传递的消息。
相应地,当将消息从CN传递到VN时,该示例LDPC解码器的C2V操作中使用和阶段(sum stage),如图3E所示。如所示实施例中,LDPC解码器逻辑(例如,使用比较器逻辑)可以确定从CN传递到连接的VN的消息的值(例如,如果abs(M11)!=min_1,那么E11'的值=min_1,否则E11'的值=min_2)。LDPC解码器逻辑(例如,使用XOR门逻辑)可以进一步确定从CN传递到连接的VN的消息的符号sign(例如,E11的符号=sign(M11)^sign_all,其中sign=1表示负号)。从CN传递的消息可以由LDPC解码器逻辑(例如,使用算术逻辑)用于计算解码后续迭代的V2C操作中提供给CN的消息。如图3F所示,从CN 301传递的消息例如可以用于计算后续消息的SUM1”(例如,SUM1”=E11'+E21+LLR=SUM1'+E11'),后续消息是从VN 331传递至CN 301。可以对其他连接的VN中的每一个进行类似的计算。
可以由LDPC解码器执行前述最小和算法的多次迭代(例如,根据图3B的Tanner图的重复处理,其中为消息所示的主要指示符在每次迭代中递增),并在每次迭代中求解奇偶校验方程。当满足所有奇偶校验方程时,可以结束该迭代处理,并找到正被解码的代码块的一个合法码字。
以上示例显示了一个简化的LDPC解码过程,其中扩展参数Z=1。可以使用有关LDPC码的更高阶扩展参数(也称为扩展值、扩展大小或扩展因子)来提高解码可靠性。图4A显示了使用2个校验节点和4个变量节点以及扩展参数Z=3的LDPC码的BG矩阵和Tanner图构造(BG矩阵的每个元素通过[ZxZ]单位矩阵扩展)。应当理解,所示实施例的LDPC码的扩展参数提供了一个使用这种扩展参数的相对简单示例,但这不是对本发明概念的应用限制。在5G网络实施中,例如,扩展参数Z={2,...,384}。例如,图4B显示了使用46个校验节点和68个变量节点以及扩展参数Z=384的LDPC码的Tanner图构造(例如,对应于5G BG1配置的一个实施,其中BG1=46x68,扩展参数Z=384,应当理解,CN和VN之间所示连接的特定示例性循环移位值未由5G标准指定)。
与以上讨论的Tanner图300类似,图4A的Tanner图400包括两组不同的节点(校验节点(CN)401和402,以及变量节点(VN)431-434),其中边缘仅连接不同节点组的节点。但是,可以看出,边缘将CN连接到Tanner图400的各个VN,存在3个边缘,对应的扩展参数Z=3(例如,VN 431-434的每个输入包括Z=3个LLR)。因此,在Tanner图400的LDPC解码操作中,在CN与连接的VN之间传递Z个消息,当消息在CN和VN之间传递时,提供一个预定的循环移位。BG的元素值表示在LDPC解码处理中使用的循环移位值(BG的负值表示没有连接,因此没有循环移位)。所示实施例的移位器450提供BG非负值的循环移位(例如,当在CN 401和VN431之间传递数据时,循环移位为1,当在CN 401和VN 432之间传递数据时,循环移位为0,当在CN 401和VN 433之间传递数据时,循环移位为1,当在CN 402和VN 431之间传递数据时,循环移位为0,当在CN 402和VN 432之间传递数据时,循环移位为2,当在CN 402和VN 433之间传递数据时,循环移位为0,当在CN 402和VN 434之间传递数据时,循环移位为1)。
如关于Tanner图300所述,Tanner图400的LDPC解码,迭代地将消息从VN传递到CN(V2C),然后从CN传递到VN(C2V),一个CN接一个CN。但是,当消息在CN和VN之间传递时,根据BG的相应元素值提供循环移位。LDPC解码器的逻辑可以使用诸如上述最小和算法、和积算法、置信传播算法、和消息传递算法,以对适当移位的消息来解码LDPC码。
图5A-5C显示了示例性LDPC码的相应Tanner图构造的片段视图以帮助理解LDPC解码器的操作,其中图5A显示了扩展参数Z=1的一个示例,图5B显示了扩展参数Z=3的一个示例,图3C显示了扩展参数Z=384的一个示例。如图5A所示,LDPC码的Tanner图构造对应于图3A的Tanner图300,可以以1个片段来实现(即,片段数量对应于扩展参数Z=1),其中当消息在CN和VN之间传递时,不提供数据循环移位。但是,如图5B所示,LDPC码的Tanner图构造对应于图4A的Tanner图400,可以以3个片段来实现(即,片段数量对应于扩展参数Z=3),其中当消息在CN和VN之间传递时,使用移位器540,数据在不同片段之间被循环地移位,移位器540的数据宽度大于或等于最大扩展参数Z(在该示例中Z=3)能容纳的。类似地,如图5C所示,扩展参数Z=384的LDPC码的Tanner图构造,可以以384个片段来实现(即,片段数量对应于扩展参数Z=384),其中当消息在CN和VN之间传递时,使用移位器540,数据在不同片段之间被循环移位,移位器540的数据宽度大于或等于最大扩展参数Z能容纳的(在该示例中Z=384)。
传统LDPC解码器一次只能解码一个任何大小的代码块。参考图5C示例的扩展参数Z=384,LDPC解码器硬件被配置以适应Z=384(即,提供384个片段实施)。但是,如果扩展参数较小(例如,扩展参数Z=16),则在LDPC解码操作的整个迭代期间,仅激活一小部分的片段,而其他片段保持空闲。这种情况在图6中显示,其中对于扩展参数Z=16的情况,在整个代码块解码期间,片段1-16是主动(active)片段,而片段17-384保持空闲。
本发明实施例的并行LDPC解码器配置能够并行地解码多个代码块,如图7所示。具体地,图7显示了并行LDPC解码器200实施的详情,其使用一个重置分段可缩放移位器,被配置以适应并行处理多个代码块,该多个代码块的总合并扩展参数大小(例如,ZIN_1+ZIN_2+...ZIN_M)小于或等于Z(即,在该示例中为384)。并行LDPC解码器700的可重置分段可缩放移位器配置使用移位器740,移位器740包括一个可重置分段可缩放移位器实施来提供主动部分701-703,其被配置以并行地处理来自多个输入信号的代码块,如IN_1,IN_2和IN_3所示(例如,可以对应于来自多个连接终端的信号,该多个连接终端是由基站服务,基站托管(hosting)一个使用并行LDPC解码器的接收器,用于特定用户的信号等)。根据本发明实施例,可重置分段可缩放移位器的数据宽度大于或等于最大扩展参数Z(在该示例中Z=384)能容纳的。图7所示并行LDPC解码器200的可重置分段可缩放移位器优选地支持MIMD操作,其中在数据移位操作中,对多个代码块执行多个单独不同数据移位,以促进各种主动区域(active region)配置。应当理解,图7所示的特定主动区和空闲区仅是示例,可以有不同配置以适应不同数量的代码块、不同大小的代码块以及各种组合的扩展参数大小。
在运行时,每个主动区域并行地处理一个相应代码块(例如,主动部分701处理一个代码块IN_1,主动部分702处理一个代码块IN_2,主动部分703处理一个代码块IN_3)。例如,可以将扩展参数Z=16的代码块IN_1提供给并行LDPC解码器200的片段1-16,以便当消息在CN和VN之间传递时提供适当的数据循环移位。由于扩展参数Z=16小于并行LDPC解码器200容纳的总扩展参数Z=384,因此,IN_1代码块解码操作未使用的那部分并行LDPC解码器200,可以用来向其它代码块提供解码操作。在所示实施例中,可以将扩展参数Z=(X-17+1)的代码块IN_2提供给并行LDPC解码器200的片段17-X,以便当消息在CN和VN之间传递时提供适当的数据循环移位。类似地,可以将扩展参数Z=(379-Y+1)的代码块IN_3提供给并行LDPC解码器200的片段Y-379,以便当消息在CN和VN之间传递时提供适当的数据循环移位。
如图7所示,即使被配置以并行解码多个代码块,并行LDPC解码器200的一些部分也可保持空闲。例如,空闲部分711和712可以对应于剩余的总扩展参数大小,总扩展参数大小超过多个解码代码块的聚合扩展参数大小。在实施一个分节配置的实施例中,其中移位器被分成多个分节(例如,参见上述引用的专利申请“可重置分段可缩放移位器(RECONFIGURABLE SEGMENTED SCALABLE SHIFTER)”中的分节移位器阶段配置),空闲部分711和712可以对应于剩余的各个分节部分,其超过了被处理代码字的扩展参数大小。但是,应当理解,根据实施例,并行LDPC解码器关于并行解码多个代码块(例如,代码块IN_1,IN_2和IN_3)保持空闲的部分,通常将远小于解码单个代码块(例如,代码块IN_1)的传统LDPC解码器的空闲部分。
图7的片段可以使用可重置分段可缩放移位器来实施,如上述引用的专利申请“可重置分段可缩放移位器(RECONFIGURABLE SEGMENTED SCALABLE SHIFTER)”所示(例如,图4A所示的移位器450、图5A-5C所示的移位器540、图7所示的移位器740可各自包括可重置分段可缩放移位器来实现)。图8显示了一个实施例的可重置分段可缩放移位器800,其可以用于并行LDPC解码器200。可重置分段可缩放移位器800,包括实施分段配置的输入阶段810、移位器阶段820和输出阶段830,提供了一个支持多指令多数据(MIMD)的可重置可分段可缩放移位配置。特别地,提供给可重置分段可缩放移位器800的输入数据(X)包括多个消息,其中对于这些消息,可以并行地、一次性地执行多个单独的不同数据移位,以提供包括多个单独移位消息的输出数据。因此,显示了与输入数据消息相关联的多个数据移位命令(例如,CMD_1,CMD_2,...CMD_M)。在根据实施例运行时,对于每个输入数据(例如,输入数据包括多个消息)提供数据移位命令,便于对每个输出消息有不同数据移位。可重置分段可缩放移位器800实施的分段配置,有助于利用逻辑的空闲部分来移位其他输入数据。
可重置分段可缩放移位器800的输入阶段810可以包括可配置的存储器元件(例如,随机存取存储器(RAM)、闪存、磁存储器、光存储器等)和/或可控数据路径(例如,可控数据路径元件),适于存储输入到可重置分段可缩放移位器800的消息数据,为其提供移位,并可控制地将这些数据与移位器阶段820的可重置分段相关联。根据实施例运行时,使用输入阶段810将输入数据的一个或多个消息与移位器阶段820的相应分段相关联。例如,在所示实施例中,输入数据包括消息X_1,X_2,X_3,...X_M(例如,对应于在各个CN和VN之间传递的代码块数据,为其提供数据移位),其中输入阶段810将消息X_1的N_1个比特(例如,消息X_1的比特0至N_1-1)对应到移位器阶段820的分段1,将消息X_2的N_2个比特(例如,消息X_2的比特0至N_2-1)对应到移位器阶段820的分段2,将消息X_3的N_3个比特(例如,消息X_3的比特0至N_3-1)对应到移位器阶段820的分段3,将消息X_M的N_M个比特(例如,消息X_M的比特0至N_M-1)对应到移位器阶段820的分段M。
移位器阶段820可以包括可控数据路径元件(例如,多路复用器和相关控制元件)适于实现数据移位。此类数据路径元件可实施各种移位器架构,如对数移位器配置、桶形移位器配置、组合移位器配置等。移位器阶段820提供可重置可缩放分段,用于对输入数据的多个消息并行地执行数据移位。在所示实施例中显示了移位器阶段820的控制器821,用于根据数据移位命令(例如,CMD_1,CMD_2,...CMD_M)向移位器阶段820的分段提供单独移位命令,数据移位命令和输入数据(例如,X=X_1,X_2,X_3,...X_M)时相关联的。根据各个数据移位命令,移位器阶段820的分段独立地提供数据移位(例如,分段1提供左循环,分段2提供左循环,分段M提供右循环),从而并行地、一次性地执行多个单独的不同数据移位。
可重置分段可缩放移位器800被配置关于每个输入数据的数据宽度和/或移位命令而可重置。例如,移位器阶段820可重置分段数(M)(例如,1≤M≤N)、每个分段的大小(N_m)(例如,N≥N_m≥2)、每个分段的移位值(S)(S_m)(1≤S_m≤N)、每个分段的移位方向(Dir)(Dir_m)(例如,Dir_m是左或右)、和/或每个分段的移位类型(T)(T_m)(例如,T_m是逻辑的、算术的或循环的),其中的任何一个或全部可以由控制器821控制。提供给可重置分段可缩放移位器800(如给控制器)的各个数据移位命令(例如,CMD_1,CMD_2,...CMD_M)可以包括各种这样的信息(例如,相应分段的大小(N_m)、相应分段的移位值(S_m)、相应分段的移位方向(Dir_m),各个分段(T_m)的移位类型等)。另外或替代地,一个或多个通用数据移位命令(例如,CMD,未在所示实施例中显示)包括各种这样的信息(例如,分段数量(M)、每个分段的大小(N_m)、全局适用的移位值(S)、全局适用的移位方向(Dir)、全局适用的移位类型(T)等),可以被提供给可重置分段可缩放移位器800(例如,给到控制器821),用于控制移位器和/或其分段。
输出阶段830可包括可配置的存储器元件(例如,RAM、闪存、磁存储器、光存储器等)和/或可控数据路径(例如,可控数据路径元件),适于可控制地将移位器阶段820的可重置分段与输出数据消息相关联,并用于存储移位消息的移位数据。根据实施例运行时,输出阶段830用于将移位器阶段820的分段与输出数据的一个或多个消息相关联。例如,在所示实施例中,输出数据包括消息Y_1,Y_2,Y_3,....Y_M(例如,对应于在各个CN和VN之间传递的代码块数据,已经移位了),其中输出阶段810将消息Y_1的N_1个移位比特(例如,消息Y_1的比特0到N_1-1)对应到移位器阶段820的分段1,将消息Y_2的N_2个移位比特(例如,消息Y_2的比特0到N_2-1)对应到移位器阶段820的分段2,将消息Y_3的N_3个未移位比特(例如,消息Y_3的比特0到N_3-1)对应到移位器阶段820的分段3(在该示例中显示为空闲),以及将消息Y_M的N_M个移位比特(例如,消息Y_M的比特0到N_M-1)对应到移位器阶段820的分段M。
可重置分段可缩放移位器800实施分段来进行数据移位,其对数据移位器阶段的每个路径,提供单独的数据移位控制,以对各分段执行不同的数据移位命令并且并行地控制多个数据移位。并行LDPC解码器及其可重置分段可缩放移位器,可以容纳相当大的扩展参数(例如,5G QC-LDPC解码器实施的Z=384)。因此,随着可重置分段可缩放移位器的配置被扩展用于这样的实施,控制信号结构可能变得相当复杂。所以,可以实施一种较不复杂的移位器阶段配置,但是,该移位器阶段配置仍可重置扩展性,以支持各种比特长度数据的数据移位,并支持不同比特长度的并行数据移位。
图9显示了一个分节的移位器阶段配置,其易于扩展以容纳并行LDPC解码器的大数据宽度。图9所示的移位器阶段820实施了一种分节配置,其中左移位和右移位部分中的每个移位部分(图示中的任何一个)被分成多节(section),其中每节的数据路径共享相同的控制信号。例如,移位器可以被划分为多节相等数据宽度、不同数据宽度或其组合,其中尽管可以单独地控制每节以提供不同的数据移位(例如,方向和/或移位值),但对于相同的数据移位(例如,方向和移位值),一节的所有数据可以被一起控制。例如,这种配置可以在分段数和硬件成本之间提供一个令人满意的折衷平衡。
对于不同比特长度数据移位的分段(segmentation),可以通过为每个分段(segment)配置一组分节(由一节或多节组成)来实施,其中用于一个特定分段的该组分节的聚合数据宽度等于或大于该分段数据宽度。因此,在由一组分节服务的每个分段上,对来自输入数据的各种数据宽度的一个或多个消息提供数据移位,其中通过适当地控制每个分段的节,可以并行地对消息提供单独数据移位。
分节数(Se)和分节数据宽度(W)优选地与移位器数据宽度(N)相关,使得总数据宽度被分节(例如,N=Se*W)。在图9所示的移位器阶段820中,移位器数据宽度N=384,分节数Se=24,每个分节的数据宽度W=16(例如,384=24*16)。M个分段可以由移位器阶段820的不同分节组服务,其中分段数小于或等于移位器数据宽度(例如,1≤M≤N),分段的总大小小于或等于移位器数据宽度(例如,N_1+N_2+...N_M≤N)。
根据本发明实施例,一个分段与相应分节组中第一分节的LSB对齐,该分节组聚合数据宽度超出相应分段比特宽度的任何部分,在该分节组最后一个分节的MSB末尾保持未使用。该配置显示在图9中,其中不同数据宽度的M个分段(例如,分段1,分段2,...分段M)由移位器阶段820的相应分节组所服务。
如图9示例所示,消息X_1的比特数N_1小于分节数据宽度W(例如,N_1=10和W=16),因此服务分段1的分节组包括分节1,其中消息X_1的LSB与分节1的LSB位置对齐,分节1的数据宽度大于消息X_1的比特数,超出那部分未被使用(例如,(1*16)-10=6个未使用比特)。使用相同控制信号,控制分节1的每个移位器数据路径。因此,使用单个控制信号来为分段1提供数据移位(例如,与以上示例使用10个单独数据移位路径控制信号相反)。
与示例性消息X_1相比,消息X_2的比特数N_2大于分节数据宽度W(例如,N_2=38和W=16),因此,服务分段2的分节组包括分节2、分节3、和分节4(例如,CEILING.MATH(38/16)=3节,其中CEILING.MATH函数是将数字向上舍入为最接近的整数),其中消息X_2的LSB与分节2的LSB位置(该分段的第一节)对齐,分节的聚合数据宽度大于消息X_2的比特数,超出部分在分节4(服务分段的最后一节)保持未被使用(例如,(3*16)-38=10个未使用比特)。使用相同的控制信号,控制分节2的每个移位器数据路径,使用相同的控制信号,控制分节3的每个移位器数据路径,使用相同的控制信号,控制分节4的每个移位器数据路径。因此,使用3个控制信号(例如,一个控制信号用于每个服务分段的分节)为分段2提供数据移位(例如,与以上示例使用38个单独数据移位路径控制信号相反)。
消息X_M的比特数N_M是分节数据宽度W的整数倍(例如,N_M=32,W=16),因此,服务分段M的分节组包括分节Se-2和分节Se-1(例如,CEILING.MATH(32/16)=2节),其中消息X_M的LSB与分节Se-2的LSB位置(该分段的第一节)对齐,消息X_M的MSB与分节Se-1(服务该分段的最后一节)的MSB位置对齐(例如,(2*16)-32=0个未使用比特)。使用相同的控制信号,控制分节Se-2的每个移位器数据路径,使用相同的控制信号,控制分节Se-1的每个移位器数据路径。因此,使用2个控制信号(例如,一个控制信号用于每个服务分段的分节)为分段M提供数据移位(例如,与以上示例使用32个单独数据移位路径控制信号相反)。
从以上可以理解,可重置分段可缩放移位器的分节实施例可以合并多个连续节以形成一个数据移位器,用于容纳大于单节的数据宽度。这种可重置分段可缩放移位器配置为输入数据的每个消息提供完全可重置的数据宽度和移位命令,非常适合于并行LDPC解码器200。例如,在5G网络接收器运行中(例如,实施5G BG1),如果N=24且W=16,则并行LDPC解码器200可以用扩展参数Z≤16同时解码24个代码块。
应当理解,图9分节的可重置分段可缩放移位器配置是示例性的移位器核心,可以用于并行LDPC解码器。因此,本发明实施例的并行LDPC解码器可以由不同的移位器核心构造。
图10A-10C显示并行LDPC解码器200的一个实施细节,该并行LDPC解码器200有可重置分段可缩放移位器核心,其被配置以根据本发明概念并行地解码多个代码块。例如,图10A和10B中所示的并行LDPC解码器200可以被配置用于5G网络的接收器,因此可以容纳各种扩展参数大小(上到扩展参数Z=384)代码块的解码。在这种实施例的配置中,数据路径中的每个连接携带384个软消息。同样,图10A和10B所示的并行LDPC解码器200的各种组件可以适当地扩展。例如,并行LDPC解码器200可以包括384个加法器/减法器逻辑1001,对应于最大容纳扩展参数Z=384。
所示实施例的并行LDPC解码器200使用最小和算法来解码代码块。从图10B和10C中用Tanner图注释的并行LDPC解码器200可以更容易地看到的,LDPC解码器逻辑可以确定关于从(连接到CN的)VN传递的消息的第一最小值,和关于从(连接到CN的)VN传递的消息的第二最小值(例如,由unsigned_sub块1003计算的第一最小值,第一最小值存储在min_1寄存器1005中,unsigned_sub块1004用于计算第二最小值,存储在min_2寄存器1006中),其中LDPC解码器逻辑(例如,使用XOR门逻辑1002)可以进一步确定从(连接到CN的)VN传递的消息的符号。从连接的VN传递的消息可以由LDPC解码器逻辑(例如,使用加法器/减法器逻辑1001)根据先前解码迭代中从CN传递的消息中先前提供的数据来计算。相应地,LDPC解码器逻辑可以确定从CN传递到连接的VN的消息的值(例如,由unsigned_sub块1003和unsigned_sub块1004计算)。LDPC解码器逻辑(例如,使用XOR门逻辑1002)可以进一步确定从CN传递到连接的VN的消息的符号。从CN传递的消息可以由LDPC解码器逻辑(例如,使用加法器/减法器逻辑1001)使用,用于计算在解码后续迭代中的V2C操作中提供给CN的消息。从前述内容可以理解,所示实施例的并行LDPC解码器200利用共享元件(例如,加法器/减法器逻辑1001,XOR逻辑1002,移位器1040等)用于最小阶段及和阶段(min and sum stages)的最小和算法(min-sum algorithm)。
从前述内容可以理解,本发明概念的并行LDPC解码器提供有效且灵活的设计用于多个代码块的并行解码。下表提供了传统LDPC解码器(例如,图1的传统LDPC解码器100)和本发明实施例的并行LDPC解码器(例如,图2的并行LDPC解码器200)的比较。对于QC-LDPC解码器设计的相同算法和相同解码过程,解码过程所需的延迟、等待时间和时钟周期数对于所有情况都是相同的。但是,本发明的并行LDPC解码器提供的多个代码块解码处理可以支持比传统设计更多的用户,从而有助于更有效的解码操作,例如5G接收器或其他通信设备。
传统LDPC解码器 | 并行LDPC解码器 | |
扩展参数大小(Z) | 输入解码 | 并行输入解码 |
384 | 1 | 1 |
192 | 1 | 2 |
96 | 1 | 4 |
… | … | … |
16 | 1 | 24 |
… | … | … |
2 | 1 | 192 |
尽管已经详细描述了本发明及其优点,但是应该理解,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变、替换和变更。此外,本申请的范围不旨在限于说明书中描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例。本领域普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用目前存在或稍后开发的执行基本相同功能的、或达到基本相同结果的方法、机器、制造、物质组合物、装置、方法或步骤。因此,所附权利要求旨在在其范围内包括这样的过程、机器、制造、物质组成、装置、方法或步骤。
Claims (23)
1.一种并行LDPC解码器配置的系统,包括:
并行LDPC解码器,其具有最大容纳扩展参数Z,所述并行LDPC解码器被配置以同时并行解码多个输入到所述并行LDPC解码器的代码块,其中由所述并行LDPC解码器进行同时并行解码的所述多个代码块中的每个代码块的扩展参数是可重置的,其中被配置和重置的所述多个代码块中的每个代码块的扩展参数的总和小于或等于Z;
所述并行LDPC解码器包括:可重置分段可缩放移位器阶段,其被配置以对多个数据分段并行地、一次性地执行多个单独的不同数据移位;所述可重置分段可缩放移位器阶段包括分段循环移位器,其被配置以:当在所述并行LDPC解码器的校验节点和变量节点之间传递消息时,支持多个数据进入分段并独立地移位每个分段。
2.根据权利要求1所述的系统,其中所述并行LDPC解码器还包括:
控制器,其耦合到所述可重置分段可缩放移位器阶段,且被配置以提供控制信号输入给所述可重置分段可缩放移位器阶段,其中所述控制信号输入控制所述可重置分段可缩放移位器阶段的配置,以包括多个主动区域对应于要并行解码的所述多个代码块的相应代码块。
3.根据权利要求1所述的系统,其中所述独立地移位每个分段提供不同移位值给所述分段循环移位器的分段。
4.根据权利要求1所述的系统,其中所述分段循环移位器包括一个对数移位配置。
5.根据权利要求1所述的系统,其中所述分段循环移位器包括的数据宽度大于或等于所述并行LDPC解码器容纳的所述最大扩展参数Z。
6.根据权利要求5所述的系统,其中Z=384。
7.根据权利要求1所述的系统,其中所述分段循环移位器包括:
分节移位器,其有多个分节,其中一个分节的每个数据路径共享同一移位值和同一控制信号。
8.根据权利要求7所述的系统,其中所述多个分节中的每个分节有数据宽度大小Se,其中所述多个代码块中使用小于Se的扩展参数的代码块,在解码运行时占用所述多个分节中的一个分节,且所述多个代码块中使用大于Se的扩展参数的代码块占用所述多个分节中的多个分节。
9.根据权利要求8所述的系统,其中Se=16。
10.根据权利要求1所述的系统,其中由所述并行LDPC解码器并行解码的所述多个代码块的每个代码块是相同大小的代码块。
11.根据权利要求1所述的系统,其中输入到所述并行LDPC解码器中用于并行解码的所述多个代码块包括的代码块,是由使用相同BG矩阵索引的代码块组合形成的。
12.一种并行LDPC解码器配置的方法,包括:
并行输入多个代码块到并行LDPC解码器,用于LDPC解码,其中所述并行LDPC解码器具有最大容纳扩展参数Z,其中所述多个代码块中的每个代码块的扩展参数总和小于或等于Z;
使用所述并行LDPC解码器,同时并行解码所述多个代码块,其中由所述并行LDPC解码器同时并行解码的每个代码块的扩展参数是可重置的;
由所述并行LDPC解码器输出所述多个代码块的解码情况;
所述方法还包括:配置所述并行LDPC解码器的可重置分段可缩放移位器阶段,以对多个数据分段并行地、一次性地执行多个单独的不同数据移位,其中所述可重置分段可缩放移位器阶段包括分段循环移位器,所述方法包括:当在所述并行LDPC解码器的校验节点和变量节点之间传递消息时,独立地移位每个分段。
13.根据权利要求12所述的方法,还包括:
通过耦合到所述可重置分段可缩放移位器阶段的控制器,提供控制信号输入给所述可重置分段可缩放移位器阶段,其中所述控制信号输入控制所述可重置分段可缩放移位器阶段的配置,以包括多个主动区域对应于要并行解码的所述多个代码块的相应代码块。
14.根据权利要求12所述的方法,其中所述独立地移位每个分段为所述分段循环移位器的分段提供不同移位值。
15.根据权利要求12所述的方法,其中所述分段循环移位器包括的数据宽度大于或等于所述并行LDPC解码器容纳的所述最大扩展参数Z。
16.根据权利要求12所述的方法,其中,所述分段循环移位器包括:
分节移位器,其有多个分节,其中所述多个分节中的每个分节有数据宽度大小Se,其中所述多个代码块中使用小于Se的扩展参数的代码块,在解码运行时占用所述多个分节中的一个分节,其中所述多个代码块中使用大于Se的扩展参数的代码块占用所述多个分节中的多个分节。
17.根据权利要求12所述的方法,其中由所述并行LDPC解码器并行解码的所述多个代码块的每个代码块是相同大小的代码块。
18.根据权利要求12所述的方法,其中输入到所述并行LDPC解码器中用于并行解码的所述多个代码块包括的代码块,由使用相同BG矩阵索引的代码块组合形成。
19.一种并行LDPC解码器,其被配置以同时解码多个代码块,所述并行LDPC解码器包括:
可重置分段可缩放移位器阶段,其被配置以通过多个数据分段并行地、一次性地处理所述多个代码块以执行多个单独的不同数据移位;其中所述可重置分段可缩放移位器阶段具有最大容纳扩展参数Z,其中同时并行解码的所述多个代码块中的每个代码块的扩展参数是可重置的,其中被配置和重置的所述多个代码块中的每个代码块的扩展参数的总和小于或等于Z;
其中所述可重置分段可缩放移位器阶段包括:
分段循环移位器,其被配置以:当在所述并行LDPC解码器的校验节点和变量节点之间传递消息时,支持多个数据进入分段并独立地移位每个分段。
20.根据权利要求19所述的并行LDPC解码器,还包括:
控制器,其耦合到所述可重置分段可缩放移位器阶段,且被配置以提供控制信号输入给所述可重置分段可缩放移位器阶段,其中所述控制信号输入控制所述可重置分段可缩放移位器阶段的配置,以包括多个主动区域对应于要并行解码的所述多个代码块的相应代码块。
21.根据权利要求19所述的并行LDPC解码器,其中所述独立地移位每个分段为所述分段循环移位器的分段提供不同移位值。
22.根据权利要求19所述的并行LDPC解码器,其中所述可重置分段可缩放移位器阶段包括:
分节移位器,其有多个分节,其中一个分节的每个数据路径共享同一移位值和同一控制信号。
23.根据权利要求22所述的并行LDPC解码器,其中所述多个分节中的每个分节有数据宽度大小Se,其中所述多个代码块中使用小于Se的扩展参数的代码块,在解码运行时占用所述多个分节中的一个分节,其中所述多个代码块中使用大于Se的扩展参数的代码块占用所述多个分节中的多个分节。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/264,070 US10877729B2 (en) | 2019-01-31 | 2019-01-31 | Reconfigurable segmented scalable shifter |
US16/264,161 US10826529B2 (en) | 2019-01-31 | 2019-01-31 | Parallel LDPC decoder |
US16/264,161 | 2019-01-31 | ||
US16/264,070 | 2019-01-31 | ||
PCT/CN2019/074599 WO2020155146A1 (en) | 2019-01-31 | 2019-02-02 | Parallel ldpc decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109952729A CN109952729A (zh) | 2019-06-28 |
CN109952729B true CN109952729B (zh) | 2021-12-03 |
Family
ID=67017318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980000219.2A Active CN109952729B (zh) | 2019-01-31 | 2019-02-02 | 并行ldpc解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109952729B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210152282A1 (en) * | 2019-11-15 | 2021-05-20 | Nvidia Corporation | Scheduling method for ldpc decoding |
CN113300809B (zh) * | 2020-02-24 | 2022-08-16 | 大唐移动通信设备有限公司 | 一种数据处理方法和装置 |
CN114615170B (zh) * | 2022-01-20 | 2023-08-04 | 北京华耀科技有限公司 | 报文处理方法、设备及计算机存储介质 |
CN115842558B (zh) * | 2023-02-22 | 2023-05-05 | 华中科技大学 | 基于hls的qc-ldpc译码器的设计方法及qc-ldpc译码器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340194A (zh) * | 2007-07-02 | 2009-01-07 | 美国博通公司 | 解码ldpc编码信号的解码器 |
CN101895301A (zh) * | 2004-07-21 | 2010-11-24 | 高通股份有限公司 | Ldpc解码方法和装置 |
CN105406876A (zh) * | 2015-10-21 | 2016-03-16 | 深圳市统先科技股份有限公司 | 一种多通道ldpc码的复用译码器 |
CN107370489A (zh) * | 2016-05-13 | 2017-11-21 | 中兴通讯股份有限公司 | 结构化ldpc码的数据处理方法及装置 |
WO2018029633A1 (en) * | 2016-08-12 | 2018-02-15 | Telefonaktiebolaget L M Ericsson (Publ) | Rate matching methods for ldpc codes |
WO2018127196A1 (en) * | 2017-01-09 | 2018-07-12 | Mediatek Inc. | Shift coefficient and lifting factor design for nr ldpc code |
WO2018182371A1 (en) * | 2017-03-30 | 2018-10-04 | Samsung Electronics Co., Ltd. | Apparatus and method for channel encoding/decoding in communication or broadcasting system |
-
2019
- 2019-02-02 CN CN201980000219.2A patent/CN109952729B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895301A (zh) * | 2004-07-21 | 2010-11-24 | 高通股份有限公司 | Ldpc解码方法和装置 |
CN101340194A (zh) * | 2007-07-02 | 2009-01-07 | 美国博通公司 | 解码ldpc编码信号的解码器 |
CN105406876A (zh) * | 2015-10-21 | 2016-03-16 | 深圳市统先科技股份有限公司 | 一种多通道ldpc码的复用译码器 |
CN107370489A (zh) * | 2016-05-13 | 2017-11-21 | 中兴通讯股份有限公司 | 结构化ldpc码的数据处理方法及装置 |
WO2018029633A1 (en) * | 2016-08-12 | 2018-02-15 | Telefonaktiebolaget L M Ericsson (Publ) | Rate matching methods for ldpc codes |
WO2018127196A1 (en) * | 2017-01-09 | 2018-07-12 | Mediatek Inc. | Shift coefficient and lifting factor design for nr ldpc code |
WO2018182371A1 (en) * | 2017-03-30 | 2018-10-04 | Samsung Electronics Co., Ltd. | Apparatus and method for channel encoding/decoding in communication or broadcasting system |
Also Published As
Publication number | Publication date |
---|---|
CN109952729A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10826529B2 (en) | Parallel LDPC decoder | |
CN109952729B (zh) | 并行ldpc解码器 | |
Gunnam et al. | VLSI architectures for layered decoding for irregular LDPC codes of WiMax | |
US8549375B2 (en) | Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes | |
US8489957B2 (en) | Lower-complexity layered belief propagation decoding LDPC codes | |
Petrović et al. | Flexible high throughput QC-LDPC decoder with perfect pipeline conflicts resolution and efficient hardware utilization | |
US20070089018A1 (en) | Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including reconfigurable permuting/de-permuting of data values | |
US10651872B2 (en) | Stopping criterion for decoding Quasi-Cyclic LDPC codes | |
US20070089019A1 (en) | Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages | |
US20090113256A1 (en) | Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding | |
WO2007088870A1 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
US8423860B2 (en) | Apparatus and method for generating a parity check matrix in a communication system using linear block codes, and a transmission/reception apparatus and method using the same | |
EP3577767B1 (en) | Alteration of successive cancellation order in decoding of polar codes | |
Marchand et al. | LDPC decoder architecture for DVB-S2 and DVB-S2X standards | |
JP6446459B2 (ja) | 値集合の中から第1の極値および第2の極値を識別するための方法および装置 | |
EP2991231A1 (en) | Multilevel encoding and multistage decoding | |
EP3046259A1 (en) | Apparatuses and methods for ldpc convolutional encoding and decoding | |
WO2020155146A1 (en) | Parallel ldpc decoder | |
WO2023272768A1 (en) | Low-latency segmented quasi-cyclic low-density parity-check (qc-ldpc) decoder | |
CN113661657A (zh) | 低延迟分段准循环低密度奇偶校验(qc-ldpc)解码器 | |
EP2951926B1 (en) | Ldpc code design and encoding apparatus for their application | |
WO2020008005A1 (en) | Variable node processing methods and devices for message-passing decoding of non-binary codes | |
KR101584669B1 (ko) | 무선통신시스템에서 오류 정정 복호기의 병렬 연산 복잡도 간소화 방법 및 장치 | |
Lin et al. | A unified reconfigurable datapath for 5g compatible ldpc decoding | |
US8126022B2 (en) | Electronic multimode data shift device, in particular for coding/decoding with an LDPC code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |