CN113595563A - 一种ldpc译码的方法、装置、设备及存储介质 - Google Patents
一种ldpc译码的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113595563A CN113595563A CN202110880989.XA CN202110880989A CN113595563A CN 113595563 A CN113595563 A CN 113595563A CN 202110880989 A CN202110880989 A CN 202110880989A CN 113595563 A CN113595563 A CN 113595563A
- Authority
- CN
- China
- Prior art keywords
- signal vector
- pattern table
- check node
- basic pattern
- signal
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 239000013598 vector Substances 0.000 claims abstract description 402
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了种LDPC译码的方法、装置、设备及存储介质,所述方法包括:获取基于LDPC编码的第一信号向量组,对第一信号向量组进行至少一次的迭代译码;在每次迭代译码时,按照第一基础图样表中校验节点顺序,对每个校验节点的各第一信号向量分别进行相对的向右循环旋转更新,以更新该校验节点的各第一信号向量的后验信息,所述相对表示任一第一信号向量在上次旋转的基础上进行右循环旋转,每个校验节点的各第一信号向量的旋转次数是从第一基础图样表中确定的;完成每次迭代译码后利用该次迭代译码更新的第一信号向量组的各第一向量的后验信息检验本次迭代译码。本发明方法、装置、设备及存储介质降低了译码器功耗,提高了译码器的效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种LDPC译码的方法、装置、设备及存储介质领域。
背景技术
低密度校验码(Low Density Parity Check Code,LDPC)码是一种线性分组码,其校验矩阵为稀疏矩阵,采用迭代的译码算法使得LDPC码可以接近香农限的性能。
目前,LDPC码的技术已应用于WIFI和5G NR等标准的通信系统中。现有5G NR技术采用3GPP的38.212定义的协议,按照协议定义的LDPC BG(base graph,BG)数据结构进行译码处理,直接采用该数据结构定义每个校验节点需要参与译码的变量节点的位置旋转量,这个位置量是旋转绝对量。
传统的译码方式在当前校验节点计算完成后会读取LDPC BG获取下一个校验节点相关的变量节点的旋转量,而后将变量节点组内成员根据旋转量重新排序,重新排序后的变量节点组再逐一参与校验计算,这种做法的问题在于:当上一个校验节点相关的变量节点校验完成后,参与上一校验节点计算的变量节点需要按照上一个校验节点的旋转量做逆旋转,恢复成初始的待校验节点顺序,然后根据新校验节点的旋转量做新的旋转重新排序参与新校验节点的校验计算,这样两次校验节点计算中会对待校验节点做两次旋转排序,影响性能效率且间接影响功耗。
发明内容
有鉴于此,本发明实施例提供了一种LDPC译码的方法、装置、设备及存储介质,在每次迭代译码时,按照第一基础图样表中校验节点的顺序,确定当前校验节点的各第一信号向量的旋转次数,并对各第一信号向量进行相对旋转,相对于传统方法的先逆旋转再正旋转的方法,降低了译码器功耗,提高了译码器的效率。
第一方面,本发明实施例提供了一种LDPC译码的方法,包括:获取基于LDPC编码的第一信号向量组,第一信号向量组的各第一信号向量分别对应第一基础图样表的不同的变量节点;对所述各第一信号向量进行至少一次的迭代译码;在每次迭代译码时,按照第一基础图样表中校验节点顺序,对每个所述校验节点的各第一信号向量分别进行相对的向右循环旋转,以更新该所述检验节点的各第一信号向量的后验信息,所述相对表示任一所述第一信号向量在上次旋转的基础上进行右循环旋转,每个所述检验节点的各第一信号向量的旋转次数是基于该所述校验节点从所述第一基础图样表中确定的,每个所述校验节点的各第一信号向量是该所述校验节点的各所述变量节点对应的所述第一信号向量;完成每次迭代译码后利用该次迭代译码更新的所述第一信号向量组的各所述第一向量的所述后验信息检验本次迭代译码。
由上,按照第一基础图样表中校验节点的顺序,对每个校验节点的各第一信号向量进行相对的向后循环旋转更新,对于传统方法的先向左循环旋转恢复再向右循环旋转,降低了译码器功耗,提高了译码器的效率。
在第一方面的一种可能实施方式中,所述第一基础图样表包括所述校验节点的维度和所述变量节点的维度,每个所述校验节点的各所述变量节点为每个所述校验节点在所述第一基础图样表中对应的若干个所述变量节点,每个所述校验节点的各所述变量节点对应的表项为该所述校验节点的各第一信号向量的相对的向量旋转量,用于确定该所述校验节点的各第一信号向量的旋转次数。
由上,基于第一基础图样表定义的各校验节点的各第一信号向量相对的向量旋转量,确定各校验节点的各第一信号向量的旋转次数,从而在后续译码中直接使用所述旋转次数对各校验节点的各第一信号向量直接进行相对的旋转。
在第一方面的一种可能实施方式中,确定每个所述校验节点的各第一信号向量的所述旋转次数,包括:利用所述第一基础图样表,确定该所述校验节点的各所述变量节点;利用所述第一基础图样表,基于该所述校验节点的各所述变量节点确定该所述校验节点的各第一信号向量的所述向量旋转量;把该所述校验节点的各第一信号向量的所述向量旋转量与所述第一信号向量的长度求模的余数,确定为该所述校验节点的各第一信号向量的旋转次数。
由上,基于第一基础图样表确定各校验节点的各第一信号向量的旋转次数,直接使用根据各所述旋转次数对每个校验节点的各第一信号向量的进行旋转,相对于传统的方法先向左循环旋转恢复再向右循环旋转的方法,减少了功耗,提高了译码效率。
在第一方面的一种可能实施方式中,当所述第一基础图样表还包括信号向量长度维度时,所述基于该所述校验节点的各所述变量节点确定该所述校验节点的各第一信号向量的所述向量旋转量,具体包括:基于该所述校验节点的各所述变量节点和所述第一信号向量长度,确定该所述校验节点的各第一信号向量的所述向量旋转量。
由上,当所述第一基础图样表的每个表项还包括信号向量长度维度,结合信号向量长度维度准确确定每个校验节点的各第一信号向量的所述向量旋转量,使用一张基础图样表支持多种信号向量长度的译码。
在第一方面的一种可能实施方式中,当所述第一基础图样表为至少2张表时,所述确定所述旋转次数,还包括:基于所述第一信号向量的速率选择对应的所述第一基础图样表。
由上,基于所述第一信号向量的速率选择对应的所述第一基础图样表,从而支持更宽速率的LDPC译码。
在第一方面的一种可能实施方式中,所述方法还包括:把接收的基于LDPC编码的第一信号按照所述第一信号向量的长度分割成等长的所述第一信号向量,组成所述第一信号向量组。
由上,把基于LDPC编码的第一信号按照所述第一信号向量的长度分割成等长的各所述第一信号向量,便于与第一基础样表的变量节点一一对应,从而进行基于最小和近似方法的LDPC译码。
在第一方面的一种可能实施方式中,当所述LDPC译码方法用于5G NR信号解码时,还包括:获取标准协议定义的5G基础图样表;复制各5G基础图样表为各所述第一基础图样表;在每个5G基础图样表,对于其中每个变量节点,从该5G基础图样表的第一个检验节点开始,顺序在各检验节点对应的变量节点中查找该变量节点;以及当第二次及后查到该变量节点时,把当前查到该变量节点的基于各信号向量长度的各表项值减去上次查到的该变量节点相应的各表项值的差,作为相应的所述第一基础图样表中对应的各表项值。
由上,按照上述搜索方法配置的第一基础图样表,不仅清楚定义了各第一信号向量的向量旋转量,在后续对各第一信号向量进行相对旋转时,也符合3GPP协议定义的要求,从而对5G NR的LDPC码准确译码。
第二方面,本发明实施例提供了一种LDPC译码的装置,包括:信号获取模块,用于获取基于LDPC编码的第一信号向量组,第一信号向量组的各第一信号向量分别对应第一基础图样表的不同的变量节点;译码控制模块,用于对所述各第一信号向量进行至少一次的迭代译码;向量旋转模块,用于在每次迭代译码时,按照第一基础图样表中校验节点顺序,对每个所述校验节点的各第一信号向量分别进行相对的向右循环旋转,以更新该所述校验节点的各第一信号向量的后验信息,所述相对表示任一所述第一信号向量在上次旋转的基础上进行右循环旋转,每个所述校验节点的各第一信号向量的旋转次数是基于该所述校验节点从所述第一基础图样表中确定的,每个所述校验节点的各第一信号向量是该所述校验节点的各所述变量节点对应的所述第一信号向量;译码检验模块,用于完成每次迭代译码后,利用本次迭代译码更新的所述第一信号向量组的各第一向量的所述后验信息检验本次迭代译码。
由上,按照第一基础图样表中校验节点的顺序,基于所接收的相关的各第一信号向量进行旋转,该旋转是在当前校验节点下进行的一次相对旋转,对于传统装置的先向左循环旋转恢复再向右循环旋转,降低了译码器功耗,提高了译码器的效率。
在第二方面的一种可能实施方式中,所述第一基础图样表包括所述校验节点的维度和所述变量节点的维度,每个所述校验节点的各所述变量节点为每个所述校验节点在所述第一基础图样表中对应的若干个所述变量节点,每个所述校验节点的各所述变量节点对应的表项为该所述校验节点的各第一信号向量的相对的向量旋转量,用于确定该所述校验节点的各第一信号向量的旋转次数。
由上,基于第一基础图样表定义的各校验节点的各第一信号向量的向量旋转量,确定各校验节点的各第一信号向量的旋转次数,从而在后续译码中直接使用所述旋转次数对各校验节点的各第一信号向量直接进行相对的旋转。
在第二方面的一种可能实施方式中,所述向量旋转模块包括:变量节点确定模块,用于利用所述第一基础图样表,确定该所述校验节点的各所述变量节点;旋转量确定模块,用于利用所述第一基础图样表,基于该所述校验节点的各所述变量节点确定该所述校验节点的各第一信号向量的所述向量旋转量;旋转次数确定模块,用于把该所述校验节点的各第一信号向量的所述向量旋转量与所述第一信号向量的长度求模的余数,确定为该所述校验节点的各第一信号向量的旋转次数。
确定每个所述校验节点的各第一信号向量的所述旋转次数,包括:利用所述第一基础图样表,确定该所述校验节点的各所述变量节点;利用所述第一基础图样表,基于该所述校验节点的各所述变量节点确定该所述校验节点的各第一信号向量的所述向量旋转量;把该所述校验节点的各第一信号向量的所述向量旋转量与所述第一信号向量的长度求模的余数,确定为该所述校验节点的各第一信号向量的旋转次数。
由上,基于第一基础图样表确定各校验节点的各第一信号向量的旋转次数,直接使用根据各所述旋转次数对每个校验节点的各第一信号向量的进行旋转,相对于传统的方法先向左循环旋转恢复再向右循环旋转的方法,减少了功耗,提高了译码效率。
在第二方面的一种可能实施方式中,当所述第一基础图样表的每个表项还包括信号向量长度维度时,所述旋转量确定模块具体用于基于该所述校验节点的各所述变量节点和所述第一信号向量长度,确定该所述校验节点的各第一信号向量的所述向量旋转量。
由上,当所述第一基础图样表的每个表项还包括信号向量长度维度,结合信号向量长度维度准确确定当前的校验节点的各第一信号向量的所述向量旋转量,使用一张基础图样表支持多种信号向量长度的译码。
在第二方面的一种可能实施方式中,当所述第一基础图样表为至少2张表时,所述旋转量确定模块还包括样表选择模块,用于基于所述第一信号向量的速率选择对应的所述第一基础图样表。
由上,基于所述第一信号向量的速率选择对应的所述第一基础图样表,从而支持更宽速率的LDPC译码。
在第二方面的一种可能实施方式中,所述装置还包括:向量获取模块,用于把接收的基于LDPC编码的第一信号按照所述第一信号向量的长度分割成等长的所述第一信号向量,组成所述第一信号向量组。
由上,把基于LDPC编码的第一信号按照所述第一信号向量的长度分割成等长的各所述第一信号向量,便于与第一基础样表的变量节点一一对应,从而进行基于最小和近似方法的LDPC译码。
在第二方面的一种可能实施方式中,当所述LDPC译码方法用于5G NR信号解码时,还包括样表配置模块,其包括:5G样表获取模块,用于获取标准协议定义的5G基础图样表;样表复制模块,用于复制各5G基础图样表为各所述第一基础图样表;变量节点搜索模块,用于在每个5G基础图样表,对于其中每个变量节点,从该5G基础图样表的第一个检验节点开始,顺序在各检验节点对应的变量节点中查找该变量节点;以及表项值确定模块,用于当第二次及以后查到该变量节点时,把当前查到该变量节点的基于各信号向量长度的各表项值减去上次查到的该变量节点相应的各表项值的差,作为相应的所述第一基础图样表中对应的各表项值。
由上,使用上述装置配置的第一基础图样表,不仅清楚定义了各第一信号向量的向量旋转量,在后续对各第一信号向量进行相对旋转时,也符合3GPP协议定义的要求,从而对5G NR的LDPC码准确译码。
第三方面,本发明实施例提供了一种计算设备,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本发明第一方面任一所述实施方式。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面任一所述实施方式。
附图说明
图1为本发明各实施例的应用系统的结构示意图;
图2A为本发明的一种LDPC译码的方法实施例一的流程示意图;
图2B为本发明的一种LDPC译码的方法实施例一的第一基础图样表的结构示意图;
图2C为本发明的一种LDPC译码的方法实施例一的信号向量旋转方法的流程示意图;
图3A为本发明的一种LDPC译码的方法实施例二的流程示意图;
图3B为本发明的一种LDPC译码的方法实施例二的基础图样表配置方法的流程示意图;
图3C为本发明的一种LDPC译码的方法实施例二的第一基础图样表的一个结构示意图;
图3D为本发明的一种LDPC译码的方法实施例二的信号向量旋转方法的流程示意图;
图4A为本发明的一种LDPC译码的装置实施例一的结构示意图;
图4B为一种LDPC译码的装置实施例一的信号向量旋转模块的结构示意图;
图5A为本发明的一种LDPC译码的装置实施例二的结构示意图;
图5B为本发明的一种LDPC译码的装置实施例二的样表配置模块的结构示意图;
图5C为本发明的一种LDPC译码的装置实施例二的信号向量旋转模块的结构示意图;
图6为本发明各实施例的一种计算设备的结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明具体实施方式进行进一步详细说明之前,对本发明实施例中涉及的名词和术语,以及其在本发明中相应的用途\作用\功能等进行说明。本发明各实施例涉及的名词和术语适用于如下的解释。
1.低密度校验码(Low Density Parity Check Code,LDPC)码是一种线性分组码,其校验矩阵为稀疏矩阵,采用迭代的译码算法使得LDPC码可以接近香农限的性能。
2.新无线系统(New Radio,NR),为国际无线通信的标准化组织第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)定义的5G无线通信系统,为提高无线吞吐率,5G NR的业务信道采用LDPC编码。
3.LDPC译码,LDPC码的译码算法包括以下三大类:硬判决译码,软判决译码和混合译码。本申请各实施例涉及的是软判决译码,为基于最小和近似算法(Min-SumApproximation)。该算法为迭代译码算法,对一组基于LDPC编码的信号向量进行译码,在每次迭代译码时,按照提前定义的基础图样表中校验节点顺序,校验节点与变量节点交替更新待译码的信号向量的后验信息,基于该后验信息确定待译码的信号向量的译码结果。其中,变量节点与信号向量一一对应,每个校验节点对应若干个变量节点。
3.基础图样表(Base Graph,BG),基础图样表至少包括校验节点、变量节点两个维度,有些基础图样表还包括信号向量长度的维度,表项值为旋转量,另外为了适用更宽的码率信号编码,定义对应不同的码率范围的基础图样表。基础图样表不仅用于每次迭代译码定义校验节点顺序和相关的变量节点,还用于定于待译码的信号向量的向量旋转量。3GPP的38.212协议定义5G NR的两个BG,分别对应不同码速,每个BG的表项都包含8个码长的,每种码长都定义了自身的向量旋转量。
LDPC译码器用于无线通信、光纤通信、数字视频和音频广播中。图1是本发明各实施例的应用系统,其包括信号接收器10、LDPC译码器20、信号使用装置30。
其中,信号接收器10接收外部第二信号,第二信号中包含基于LDPC编码的信息,第二信号可以是通过无线接收的射频信号或通过光纤接收的光纤信号。以过无线接收的射频信号为例,第二信号经过射频解调和去交织后形成第一信号,第一信号为基带信号,第一信号被分割成多个第一信号向量。LDPC译码器20对第一信号向量进行解码,形成第一信息。信号使用装置30使用第一信息进行应用层面的操作,包括但不限于第一信息的回放或显示。
其中,在一些实施例中,所述应用系统还包括其他基带处理器,如在LDPC译码器20之前连接去交织器,在LDPC译码器20之前或之后的连接去绕器。
下面结合图2A至图3D介绍本发明的一种LDPC译码的方法实施例。
【一种LDPC译码的方法实施例一】
一种LDPC译码的方法实施例一在每次迭代译码时,按照第一基础图样表中校验节点的顺序,基于所接收的相关的各第一信号向量进行相对旋转,相对于传统方法的先向左循环旋转恢复再向右循环旋转,降低了译码器功耗,提高了译码器的效率。
一种LDPC译码的方法实施例一在图1的LDPC译码器20中运行。
图2A示出了本发明的一种LDPC译码的方法实施例一的流程,其包括步骤S210至S270。
在S210步骤中,配置第一基础图样表。
其中,图2B示出了第一基础图样表的结构,其包括所述校验节点维度和变量节点维度,每个所述校验节点对应若干个变量节点,各所述变量节点与后续获取的各第一信号向量一一对应。
其中,任一所述校验节点的各所述变量节点对应的表项值为该所述校验节点的各第一信号向量的相对的向量旋转量,用于后续确定该任一所述校验节点的各第一信号向量的旋转次数,所述校验节点的各第一信号向量为该所述校验节点的各所述变量节点对应的所述第一信号向量。
由上,基于第一基础图样表定义的各校验节点的各第一信号向量的向量旋转量,确定各校验节点的各第一信号向量的旋转次数,从而在后续译码中直接使用所述旋转次数对各第一信号向量进行旋转。
在步骤S220中,获取基于LDPC编码的等长的第一信号向量组。
其中,在获取各第一信号向量组的过程中,获取第一信号,基于第一信号向量的长度把第一信号分割成等长的各第一信号向量。在一些实施例中,第一信号是把从射频接收的第一基带信号经过去交织后生成的。
其中,各第一信号向量与第一基础图样表中变量节点一一对应,第一信号向量的长度为已知量。每个第一信号向量是基于1比特信息进行LDPC编码而生成的。
在步骤S230中,在每次迭代译码时,按照第一基础图样表中校验节点顺序,对各校验节点各自的各第一信号向量分别进行相对的向右循环旋转。
其中,旋转次数是基于每个校验节点从第一基础图样表中确定的,是对每个校验节点的第一信号向量的相对旋转次数,这里“相对”是这在上次向右循环旋转的基础上再进行向右循环旋转。
其中,在当前的校验节点完成向右循环旋转后,用旋转后的各第一信号向量代替第一信号向量,用于生成各第一信号向量的后验信息,每个第一信号向量的后验信息是该第一信号向量被解码为1的置信度,其大于0,则表示该第一信号向量被解码为“1”。
其中,向右循环旋转为把第一信号向量的第一位与最后一位相邻而顺时针进行的循环。
本步骤的详细描述请参考一种LDPC译码的方法实施例一的信号向量旋转方法。
由上,基于第一基础图样表确定各校验节点的各第一信号向量的旋转次数,直接使用根据各旋转次数对各第一信号向量进行旋转。相对于传统的方法先向左循环旋转恢复再向右循环旋转的方法,减少了功耗,提高了译码效率。
在步骤S240中,按照第一基础图样表中校验节点顺序,更新各第一向量的后验信息。
其中,在每次迭代译码时,按照校验节点的顺序,每个校验节点利用其涉及的旋转后的各第一信号向量,更新每个校验节点的各第一信号向量的后验信息,基于各第一信号向量的后验信息确定各第一信号向量的译码。
其中,在每次迭代译码过程中,按照第一基础图样表中校验节点顺序,利用旋转的各第一信号向量,采用最小和近似算法更新各第一信号向量的后验信息。
在步骤S250中,完成每次迭代译码后利用后验信息检验本次迭代译码。其中,如果译码通过,则运行步骤S270,否则,运行步骤S260。
其中,基于完成每次迭代译码后,利用已知的校验矩阵检验和后验信息,检验本次迭代译码。示例地,基于各第一信号向量的后验信息确定各第一向量的译码结果是1还是0,该译码结果组成输出行矩阵,判断利用校验矩阵与输出行矩阵的转置矩阵的乘积是否为0,当该乘积为0,说明各第一信号向量本正确译码,译码通过,否则,各第一信号向量的译码不正确,译码不通过。
在步骤S260中,判断迭代译码次数是否小于最大次数,其中,当迭代译码次数小于最大次数时,则运行步骤S230,否则运行步骤S270。
其中,当迭代译码次数小于设定的最大次数时,继续迭代,在继续迭代以前把第一信号向量组中各第一信号向量恢复到获取时状态,但保持各第一信号向量更新的后验信息,从步骤S230开始继续迭代;当迭代译码次数达到设定的最大次数时,则结束迭代,说明第一信号在传输过程中受到严重干扰,经过多次迭代译码无法正确译码,输出当前译码结果,作为最接近编码前的信号。
在步骤S270中,输出译码结果。
其中,译码结果为基于最后更新的各第一信号向量的后验信息确定的输出行矩阵。
【一种LDPC译码的方法实施例一的信号向量旋转方法】
图2C示出了本发明的一种LDPC译码的方法实施例一的信号向量旋转方法的流程,包括步骤S2310至S2350。
在步骤S2310中,利用第一基础图样表,确定当前的校验节点的各变量节点。
其中,在第一基础图样表中,每个校验节点对应若干的变量节点。当前的校验节点为按照第一基础图样表中校验节点的顺序该进行相关的第一信号向量旋转的校验节点。
在步骤S2320中,利用第一基础图样表,基于当前的校验节点的各变量节点确定当前的校验节点的各第一信号向量的相对的向量旋转量。
其中,利用第一基础图样表,确定当前的校验节点的各变量节点对应的表项,该表项值为当前的校验节点的各第一信号向量的相对的向量旋转量。
其中,当前校验节点的各第一信号向量为该当前校验节点的各变量节点对应的第一信号向量。
在步骤S2330中,把当前的校验节点的各第一信号向量的相对的向量旋转量与第一信号向量的长度求模的余数,确定为各第一信号向量的旋转次数。
其中,对第一信号向量进行第一信号向量长度的倍数的旋转次数的向后循环旋转,不改变第一信号向量,因此以各第一信号向量的相对的向量旋转量与第一信号向量的长度求模的余数作为各第一信号向量的旋转次数,用该旋转次数进行旋转与直接使用相对的向量旋转量进行旋转,旋转后的第一信号向量相同,且能减少无效旋转。
在步骤S2340中,对当前检验节点的各第一信号向量分别进行相对的向右循环旋转。
其中,对各第一信号向量进行的向右循环旋转是在上次旋转的基础上的相对旋转,上次旋转为各第一信号向量最近一次被进行的旋转。
由上,基于第一基础图样表确定各校验节点的各第一信号向量的旋转次数,直接使用根据各旋转次数对各第一信号向量进行旋转。相对于传统的方法先向左循环旋转恢复再向右循环旋转的方法,减少了功耗,提高了译码效率。
在步骤S2350中,用旋转后的当前校验节点的各第一信号向量更新各第一信号向量。
其中,在一些实施例中,设置第一信号向量存储器保存各第一信号向量,通过把每次旋转后的各第一信号向量再存回到存储器中的原位置的方法完成更新。
由上,各第一信号向量更新后,在下次对涉及的其中的第一信号向量旋转时,可以直接进行相对旋转。
综上,一种LDPC译码的方法实施例一在每次迭代译码时,按照第一基础图样表中校验节点的顺序,确定当前校验节点的各第一信号向量的旋转次数,并对各第一信号向量进行相对旋转,相对于传统方法的先向左循环旋转恢复再向右循环旋转的方法,降低了译码器功耗,提高了译码器的效率。
【一种LDPC译码的方法实施例二】
一种LDPC译码的方法实施例二把一种LDPC译码的方法实施例一的方法应用到5GLDPC译码,增加了如何基于5G基础图样表定义第一基础图样表,且第一基础图样表第一信号向量长度维度,不同速率的第一信号向量使用不同的第一基础图样表。下面重点介绍其中变化的部分。
一种LDPC译码的方法实施例二在图1的LDPC译码器20中运行。
图3A示出了本发明的一种LDPC译码的方法实施例二的流程,其包括步骤S310至S370。
在步骤S310中,基于3GPP 212协议配置各第一基础图样表。
其中,获取3GPP 212协议定义的5G基础图样表,基于5G基础图样表配置第一基础图样。
其中,本步骤的详细描述请参考一种LDPC译码的方法实施例二的基础图样表配置方法。
由上,基于3GPP 212协议定义的5G基础图样表配置第一基础图样表,使配置的第一基础图样表定义的各校验节点的各第一信号向量的向量旋转量符合3GPP协议定义的要求。
在步骤S320中,获取基于LDPC编码的等长的各第一信号向量组。
其中,本步骤的详细方法和有益技术效果请参考一种LDPC译码的方法实施例一的步骤S220。
在步骤S330中,在每次迭代译码时,按照对应的第一基础图样表中校验节点顺序,对每个校验节点的第一信号向量分别进行相对的向右循环旋转和更新。
其中,对应的第一基础图样表为第一信号向量的速率对应的第一基础图样表,旋转次数是基于当前的校验节点从该对应的第一基础图样表中确定的,是对当前的校验节点涉及的第一信号向量的相对旋转次数。
其中,在当前的校验节点完成向右循环旋转后,用旋转后的各第一信号向量代替第一信号向量,用于生成各第一信号向量的后验信息。每个第一信号向量的后验信息是该第一信号向量被解码为1的置信度,其大于0,则表示该第一信号向量被解码为“1”。
其中,向右循环旋转为把第二信号向量的第一位与最后一位相邻而顺时针进行的循环。
本步骤的详细描述请参考“本发明的一种LDPC译码的方法实施例二的信号向量旋转方法”。
由上,基于第一信号向量的速率确定对应的第一基础图样表,利用对应的第一基础图样表确定各校验节点的各第一信号向量的旋转次数,直接使用根据各旋转次数对各第一信号向量进行旋转。相对于传统的方法先向左循环旋转恢复再向右循环旋转的方法,减少了功耗,提高了译码效率。
在步骤S340中,按照对应的第一基础图样表中校验节点顺序,基于旋转后的第一向量,更新各第一信号向量的后验信息。
其中,在每次迭代译码时,按照校验节点的顺序,每个校验节点利用其涉及的旋转后的各第一信号向量,更新每个校验节点的各第一信号向量的后验信息,基于各第一信号向量的后验信息确定各第一信号向量的译码。
其中,在每次迭代译码过程中,按照对应的第一基础图样表中校验节点顺序,利用旋转的各第一向量,采用最小和近似算法更新各第一信号向量的后验信息。
在步骤S350中,完成每次迭代译码后利用后验信息检验本次迭代译码。其中,如果译码通过,则运行步骤S370,否则,运行步骤S360。
其中,基于完成每次迭代译码后,利用已知的校验矩阵检验和后验信息,检验本次迭代译码。示例地,基于各第一信号向量的后验信息确定各第一向量的译码结果是1还是0,该译码结果组成输出行矩阵,判断利用校验矩阵与输出行矩阵的转置矩阵的乘积是否为0,当该乘积为0,说明各第一信号向量本正确译码,译码通过,否则,各第一信号向量的译码不正确,译码不通过。
在步骤S360中,判断迭代译码次数是否小于最大次数,其中,当迭代译码次数小于最大次数时,则运行步骤S330,否则运行步骤S370。
其中,当迭代译码次数小于设定的最大次数时,继续迭代,把第一信号向量组中各第一信号向量恢复到获取时状态,保持各第一信号向量更新的后验信息,从步骤S330开始继续迭代;当迭代译码次数达到设定的最大次数时,则结束迭代,说明第一信号在传输过程中受到严重干扰,经过多次迭代译码无法正确译码,输出当前译码结果。
在步骤S370中,输出译码结果。
其中,译码结果为基于最后更新的各第一信号向量的后验信息确定的输出行矩阵。
【一种LDPC译码的方法实施例二的基础图样表配置方法】
图3B示出了一种LDPC译码的方法实施例二的基础图样表配置方法的流程,其包括步骤S3110至S3140。
在步骤S3110中,获取3GPP 38.212协议定义的5G基础图样表。
其中,3GPP 38.212协议定义的2张5G基础图样表,分别对应的不同第一信号向量速率范围,每张5G基础图样表不仅包括校验节点维度和变量节点维度,还包括信号向量长度维度。
在步骤S3120中,复制各5G基础图样表为各第一基础图样表。
其中,5G基础图样表有两张,这里通过复制5G基础图样表确定的第一基础图样表同样为2张。每张复制的第一基础图样表与对应的5G基础图样表具有相同的维度,对应相同的速率,且每张复制的第一基础图样表的表项初始值与对应的5G基础图样表的相应的表项值相同。
在步骤S3130,在每个5G基础图样表中,对于其中每个变量节点,从该5G基础图样表的第一个检验节点开始,顺序在各检验节点对应的变量节点中查找该变量节点。
在步骤S3140中,当第二次及以后查到该变量节时,把当前查到该变量节点的基于各信号向量长度的各表项值减去上次查到的该变量节点相应的各表项值的差,作为相应的第一基础图样表中对应的各表项值。
示例地,图3C示出了一种LDPC译码的方法实施例二的第一基础图样表的一个结构。左边为获取的一张5G基础图样表,右边为配置的对应的第一基础图样表,第一基础图样表的维度与5G基础图样表相同,包括校验节点维度、变量节点维度和向量长度维度,对于校验节点0对应的各表项直接从5G基础图样表中获取。下面以校验节点1为例说明如何配置第一基础样表的表项值,对于校验节点1,其包括第一变量节点和第二变量节点,第一变量节点为校验节点1中与校验节点0相同的变量节点,第一变量节点为校验节点1中与校验节点0不同的变量节点。在第一基础图样表中校验节点1的第一变量节点的各表项值为5G基础图样表中校验节点1的第一变量节点与校验节点0的第一变量节点对应表项的差值,如变量节点0/3/6/9/11,对于第二变量节点因为是第一次出现,继续使用从5G基础图样表对应的表项值,对所有信号向量长度维度的表项,均按照上述方法处理。
由上,按照上述搜索方法配置的第一基础图样表,不仅清楚定义了第一基础图样表的各检验节点各自的各第一信号向量的向量旋转量,而且在后续对各第一信号向量进行相对旋转时,也符合3GPP协议定义的要求。
【一种LDPC译码的方法实施例二的信号向量旋转方法】
图3D示出了本发明的一种LDPC译码的方法实施例二的信号向量旋转方法的流程,其包括步骤S3310至S3360。
在步骤S3310中,基于第一信号向量的速率选择对应的第一基础图样表,并表示为第二基础图样表。
在步骤S3320中,利用第二基础图样表,确定当前的校验节点的各变量节点。
其中,在第二基础图样表中,每个校验节点对应若干的变量节点。当前的校验节点为按照第二基础图样表中校验节点的顺序该进行相关的第一信号向量旋转的校验节点。
在步骤S3330中,利用第二基础图样表,基于当前的校验节点的各变量节点和第一信号的长度确定当前的校验节点的各第一信号向量的相对的向量旋转量。
其中,利用第二基础图样表,确定当前的校验节点的各变量节点和第一信号的长度联合对应的表项,该表项值为当前的校验节点的各第一信号向量的相对的向量旋转量。
其中,当前校验节点的各第一信号向量为该当前校验节点的各变量节点对应的第一信号向量。
在步骤S3340,把当前的校验节点的各第一信号向量的相对的向量旋转量与第一信号向量的长度求模的余数,确定为各第一信号向量的旋转次数。
其中,对第一信号向量进行第一信号向量的长度的倍数的旋转次数的向后循环旋转,并改变第一信号向量,因此以各第一信号向量的向量旋转量与第一信号向量的长度求模的余数作为各第一信号向量的旋转次数。
在步骤S3350,对当前的校验节点的第一信号向量分别进行相对的向右循环旋转。
其中,对各第一信号向量进行的向右循环旋转是在上次旋转的基础上的相对旋转,上次旋转为各第一信号向量最近一次被进行的旋转。
由上,基于第二基础图样表确定各校验节点的各第一信号向量的旋转次数,直接使用根据各旋转次数对各第一信号向量进行旋转。相对于传统的方法先向左循环旋转恢复再向右循环旋转的方法,减少了功耗,提高了译码效率。
在步骤S3360,用旋转后的第一信号向量更新第一信号向量。
其中,在一些实施例中,设置第一信号向量存储器保存各第一信号向量,把每次旋转后的各第一信号向量再存回到存储器中的原位置就完成了更新。
由上,各第一信号向量更新后,在下次对涉及的其中的第一信号向量旋转时,可以直接进行相对旋转。
综上,一种LDPC译码的方法实施例二应用于5G LDPC译码,基于5G基础图样表定义第一基础图样表,且基于第一信号向量的速率选择第一基础图样表,增加第一信号向量长度维度确定当前校验节点的各第一信号向量的旋转次数,并对各第一信号向量进行相对旋转,相对于传统方法的先向左循环旋转恢复再向右循环旋转的方法,降低了译码器功耗,提高了译码器的效率,而且适合更宽速率和各种长度的第一信号向量译码。
下面基于图4A至图5C介绍本发明的一种LDPC译码的装置实施例。
【一种LDPC译码的装置实施例一】
一种LDPC译码的装置实施例二位于在图1的LDPC译码器20中。图4A示出了一种LDPC译码的装置实施例一的结构,其包括样表配置模块410、向量获取模块420、向量旋转模块430、后验信息更新模块440、译码检验模块450、译码控制模块460和译码输出模块470。
样表配置模块410用于配置第一基础图样表。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的步骤S210。
向量获取模块420用于获取基于LDPC编码的第一信号向量组。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的步骤S220。
向量旋转模块430用于在每次迭代译码时,按照第一基础图样表中校验节点顺序,对各校验节点各自的各第一信号向量分别进行相对的向右循环旋转更新。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的步骤S230。
后验信息更新模块440用于在每次迭代译码时,按照第一基础图样表中校验节点顺序,更新各第一向量的后验信息。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的步骤S240。
译码检验模块450用于完成每次迭代译码后利用各第一向量的后验信息检验本次迭代译码。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的步骤S250。
译码控制模块460用于判断迭代译码次数小于最大次数。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的步骤S260。
译码输出模块470用于输出译码结果。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的步骤S270。
图4B示出了一种LDPC译码的装置实施例一的信号向量旋转模块的结构,其包括变量节点确定模块4310、旋转量确定模块4320、旋转次数确定模块4330、向量向右旋转模块4340和向量更新模块4350。
变量节点确定模块4310用于利用第一基础图样表,确定当前的校验节点的各变量节点。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的信号向量旋转方法的步骤S2310。
旋转量确定模块4320用于利用第一基础图样表,基于当前的校验节点的各变量节点确定当前的校验节点的各第一信号向量的相对的向量旋转量。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的信号向量旋转方法的步骤S2320。
旋转次数确定模块4330用于把当前的校验节点的各第一信号向量的相对的向量旋转量与第一信号向量的长度求模的余数,确定为各第一信号向量的旋转次数。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的信号向量旋转方法的步骤S2330。
向量向右旋转模块4340用于对各第一信号向量进行向相对的右循环旋转。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的信号向量旋转方法的步骤S2340。
向量更新模块4350用于用旋转后的各第一信号向量更新各第一信号向量。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例一的信号向量旋转方法的步骤S2350。
综上,一种LDPC译码的装置实施例一在每次迭代译码时,按照第一基础图样表中校验节点的顺序,确定当前校验节点的各第一信号向量的旋转次数,并对各第一信号向量进行相对旋转,相对于传统方法的先向左循环旋转恢复再向右循环旋转的方法,降低了译码器功耗,提高了译码器的效率。
【一种LDPC译码的装置实施例二】
一种LDPC译码的装置实施例二位于在图1的LDPC译码器20中。图5A示出了一种LDPC译码的装置实施例一的结构,其包括础图样表配置模块510、向量获取模块520、向量旋转模块530、后验信息更新模块540、译码检验模块550、译码控制模块560和译码输出模块570。
样表配置模块510用于基于5G基础图样表配置第一基础图样表。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的步骤S310。
向量获取模块520用于获取基于LDPC编码的第一信号向量组。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的步骤S320。
向量旋转模块530用于在每次迭代译码时,按照对应的第一基础图样表中校验节点顺序,对各校验节点各自的各第一信号向量分别进行相对的向右循环旋转更新。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的步骤S330。
后验信息更新模块540用于在每次迭代译码时,按照第二基础图样表中校验节点顺序,更新各校验节点的各第一向量的后验信息。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的步骤S340。
译码检验模块550用于完成每次迭代译码后利用各校验节点的后验信息检验本次迭代译码。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的步骤S350。
译码控制模块560用于判断迭代译码次数小于最大次数。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的步骤S360。
译码输出模块570用于输出译码结果。其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的步骤S370。
图5B示出了一种LDPC译码的装置实施例二的样表配置模块的结构,其包括5G样表获取模块5110、样表复制模块5120、变量节点搜索模块5130和表项值确定模块5140。
5G样表获取模块5110用于获取3GPP 38.212协议定义的5G基础图样表。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的基础图样表配置方法的步骤S3110。
样表复制模块5120用于复制各5G基础图样表为各第一基础图样表。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的基础图样表配置方法的步骤S3120。
变量节点搜索模块5130用于在每张5G基础图样表中对于其中每个变量节点,从其中第一个检验节点开始,顺序在各检验节点对应的变量节点查找该变量节点。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的基础图样表配置方法的步骤S3130。
表项值确定模块5140用于当第二次及以后查到该变量节点时,把当前查到该变量节点的基于各信号向量长度的各表项值减去上次查到的该变量节点相应的各表项值的差,作为相应的第一基础图样表中对应的各表项值。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的基础图样表配置方法的步骤S3140。
图5C示出了一种LDPC译码的装置实施例二的信号向量旋转模块的结构,其包括样表选择模块5310、变量节点确定模块5320、旋转量确定模块5330、旋转次数确定模块5340、向量向右旋转模块5350和向量更新模块5360。
样表选择模块5310用于基于第一信号向量的速率选择对应的第一基础图样表,并表示为第二基础图样表。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的信号向量旋转方法的步骤S3310。
变量节点确定模块5320利用第二基础图样表,确定当前的校验节点的各变量节点。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的信号向量旋转方法的步骤S3320。
旋转量确定模块5330利用第二基础图样表,基于当前的校验节点的各变量节点和第一信号的长度确定当前的校验节点的各第一信号向量的相对的向量旋转量。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的信号向量旋转方法的步骤S3330。
旋转次数确定模块5340用于把当前的校验节点的各第一信号向量的向量旋转量与第一信号向量的长度求模的余数,确定为各第一信号向量的旋转次数。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的信号向量旋转方法的步骤S3340。
向量向右旋转模块5350用于对各第一信号向量分别进行相对的向右循环旋转。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的信号向量旋转方法的步骤S3350。
向量更新模块5360用于利用旋转后的各第一信号向量更新各第一信号向量。
其中,本模块的工作原理和有益技术效果请参照一种LDPC译码的方法实施例二的信号向量旋转方法的步骤S3360。
综上,一种LDPC译码的方法实施例二应用于5G LDPC译码,基于5G基础图样表定义第一基础图样表,且基于第一信号向量的速率选择第一基础图样表,增加第一信号向量长度维度确定当前校验节点的各第一信号向量的旋转次数,并对各第一信号向量进行相对旋转,相对于传统方法的先向左循环旋转恢复再向右循环旋转的方法,降低了译码器功耗,提高了译码器的效率,而且适合更宽速率和各种长度的第一信号向量译码。
【计算设备】
本发明还提供的一种计算设备,下面图6详细介绍。
该计算设备600包括,处理器610、存储器620、通信接口630、总线640。
应理解,该图所示的计算设备600中的通信接口630可以用于与其他设备之间进行通信。
其中,该处理器610可以与存储器620连接。该存储器620可以用于存储该程序代码和数据。因此,该存储器620可以是处理器610内部的存储单元,也可以是与处理器610独立的外部存储单元,还可以是包括处理器610内部的存储单元和与处理器610独立的外部存储单元的部件。
可选的,计算设备600还可以包括总线640。其中,存储器620、通信接口630可以通过总线640与处理器610连接。总线640可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(EFStended Industry StandardArchitecture,EISA)总线等。所述总线640可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本发明实施例中,该处理器610可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器610采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
该存储器620可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。处理器610的一部分还可以包括非易失性随机存取存储器。例如,处理器610还可以存储设备类型的信息。
在计算设备600运行时,所述处理器610执行所述存储器620中的计算机执行指令执行各方法实施例的操作步骤。
应理解,根据本发明实施例的计算设备600可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备600中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
【计算介质】
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行各方法实施例的操作步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
Claims (10)
1.一种LDPC译码的方法,其特征在于,包括:
获取基于LDPC编码的第一信号向量组,第一信号向量组的各第一信号向量分别对应第一基础图样表的不同的变量节点;
对所述各第一信号向量进行至少一次的迭代译码;
在每次迭代译码时,按照所述第一基础图样表中校验节点顺序,对每个校验节点的各第一信号向量分别进行相对的向右循环旋转,以更新该所述校验节点的各第一信号向量的后验信息,所述相对表示任一所述第一信号向量在上次旋转的基础上进行右循环旋转,每个所述校验节点的各第一信号向量的旋转次数是从所述第一基础图样表中确定的,每个所述校验节点的各第一信号向量是该所述校验节点的各所述变量节点对应的所述第一信号向量;
完成每次迭代译码后,利用该次迭代译码更新的所述第一信号向量组的各第一向量的所述后验信息,检验本次迭代译码。
2.根据权利要求1所述方法,其特征在于,
所述第一基础图样表包括所述校验节点的维度和所述变量节点的维度,每个所述校验节点的各所述变量节点为每个所述校验节点在所述第一基础图样表中对应的若干个所述变量节点,
每个所述校验节点的各所述变量节点对应的表项为该所述校验节点的各第一信号向量的所述相对的向量旋转量,用于确定该所述校验节点的各第一信号向量的所述旋转次数。
3.根据权利要求2所述方法,其特征在于,确定每个所述校验节点的各第一信号向量的所述旋转次数,包括:
利用所述第一基础图样表,确定该所述校验节点的各所述变量节点;
利用所述第一基础图样表,基于该所述校验节点的各所述变量节点确定该所述校验节点的各第一信号向量的所述向量旋转量;
把该所述校验节点的各第一信号向量的所述向量旋转量与所述第一信号向量的长度求模的余数,确定为该所述校验节点的各第一信号向量的所述旋转次数。
4.根据权利要求3所述方法,其特征在于,
当所述第一基础图样表还包括信号向量长度维度时,所述基于该所述校验节点的各所述变量节点确定该所述校验节点的各第一信号向量的所述向量旋转量,具体包括:
基于该所述校验节点的各所述变量节点和所述第一信号向量长度,确定该所述校验节点的各第一信号向量的所述向量旋转量。
5.根据权利要求4所述方法,其特征在于,当所述第一基础图样表为至少2张表时,所述确定所述旋转次数,还包括:
基于所述第一信号向量的速率选择对应的所述第一基础图样表。
6.根据权利要求1至5任一所述方法,其特征在于,还包括:
把接收的基于LDPC编码的第一信号按照所述第一信号向量的长度分割成等长的所述第一信号向量,组成所述第一信号向量组。
7.根据权利要求1至5任一所述方法,其特征在于,当所述LDPC译码方法用于5G NR信号解码时,还包括:
获取标准定义的5G基础图样表;
复制各5G基础图样表为各所述第一基础图样表;
在每个5G基础图样表,对于其中每个变量节点,从该5G基础图样表的第一个检验节点开始,顺序在各检验节点对应的变量节点中查找该变量节点;以及
当第二次及以后查到该变量节点时,把当前查到该变量节点的基于各信号向量长度的各表项值减去上次查到的该变量节点相应的各表项值的差,作为相应的所述第一基础图样表中对应的各表项值。
8.一种LDPC译码的装置,其特征在于,包括:
信号获取模块,用于获取基于LDPC编码的第一信号向量组,第一信号向量组的各第一信号向量分别对应第一基础图样表的不同的变量节点;
译码控制模块,用于对所述各第一信号向量进行至少一次的迭代译码;
向量旋转模块,用于在每次迭代译码时,按照第一基础图样表中校验节点顺序,对每个所述校验节点的各第一信号向量分别进行相对的向右循环旋转,以更新该所述校验节点的各第一信号向量的后验信息,所述相对表示任一所述第一信号向量在上次旋转的基础上进行右循环旋转,每个所述校验节点的各第一信号向量的旋转次数是从所述第一基础图样表中确定的,每个所述校验节点的各第一信号向量是该所述校验节点的各所述变量节点对应的所述第一信号向量;
译码检验模块,用于完成每次迭代译码后,利用本次迭代译码更新的所述第一信号向量组的各第一向量的所述后验信息检验本次迭代译码。
9.一种计算设备,其特征在于,包括:
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110880989.XA CN113595563B (zh) | 2021-08-02 | 2021-08-02 | 一种ldpc译码的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110880989.XA CN113595563B (zh) | 2021-08-02 | 2021-08-02 | 一种ldpc译码的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595563A true CN113595563A (zh) | 2021-11-02 |
CN113595563B CN113595563B (zh) | 2024-03-29 |
Family
ID=78253712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110880989.XA Active CN113595563B (zh) | 2021-08-02 | 2021-08-02 | 一种ldpc译码的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595563B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584259A (zh) * | 2022-02-18 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 译码方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2310186A1 (en) * | 2000-06-02 | 2001-12-02 | Jeffrey P. Castura | Method and system for decoding |
EP1503503A1 (en) * | 2003-07-29 | 2005-02-02 | Broadcom Corporation | LDPC (low density parity check) coded modulation hybrid decoding |
CN102195655A (zh) * | 2011-02-25 | 2011-09-21 | 山东大学 | 一种准循环ldpc译码器及译码方法 |
CA2977948A1 (en) * | 2015-03-02 | 2016-09-09 | Samsung Electronics Co., Ltd. | Transmitter and parity permutation method thereof |
US20160294416A1 (en) * | 2015-04-02 | 2016-10-06 | National Tsing Hua University | Decoding method of low density parity check code and information storing method in the decoding method |
WO2017105291A1 (en) * | 2015-12-15 | 2017-06-22 | Huawei Technologies Co., Ltd. | Generalized quasi-cyclic ldpc convolutional codes for digital communication systems |
US20170264314A1 (en) * | 2015-01-14 | 2017-09-14 | Beihang University | Encoder and decoder for ldpc code |
US20190296773A1 (en) * | 2015-02-25 | 2019-09-26 | Samsung Electronics Co., Ltd. | Transmitter and method for generating additional parity thereof |
CN111245444A (zh) * | 2020-03-20 | 2020-06-05 | 清华大学 | 归一化最小和ldpc译码方法及译码器 |
WO2020224386A1 (zh) * | 2019-05-08 | 2020-11-12 | 华为技术有限公司 | 一种数据译码的方法以及装置 |
-
2021
- 2021-08-02 CN CN202110880989.XA patent/CN113595563B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2310186A1 (en) * | 2000-06-02 | 2001-12-02 | Jeffrey P. Castura | Method and system for decoding |
EP1503503A1 (en) * | 2003-07-29 | 2005-02-02 | Broadcom Corporation | LDPC (low density parity check) coded modulation hybrid decoding |
CN102195655A (zh) * | 2011-02-25 | 2011-09-21 | 山东大学 | 一种准循环ldpc译码器及译码方法 |
US20170264314A1 (en) * | 2015-01-14 | 2017-09-14 | Beihang University | Encoder and decoder for ldpc code |
US20190296773A1 (en) * | 2015-02-25 | 2019-09-26 | Samsung Electronics Co., Ltd. | Transmitter and method for generating additional parity thereof |
CA2977948A1 (en) * | 2015-03-02 | 2016-09-09 | Samsung Electronics Co., Ltd. | Transmitter and parity permutation method thereof |
US20160294416A1 (en) * | 2015-04-02 | 2016-10-06 | National Tsing Hua University | Decoding method of low density parity check code and information storing method in the decoding method |
WO2017105291A1 (en) * | 2015-12-15 | 2017-06-22 | Huawei Technologies Co., Ltd. | Generalized quasi-cyclic ldpc convolutional codes for digital communication systems |
WO2020224386A1 (zh) * | 2019-05-08 | 2020-11-12 | 华为技术有限公司 | 一种数据译码的方法以及装置 |
CN111245444A (zh) * | 2020-03-20 | 2020-06-05 | 清华大学 | 归一化最小和ldpc译码方法及译码器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584259A (zh) * | 2022-02-18 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 译码方法、装置、设备及存储介质 |
CN114584259B (zh) * | 2022-02-18 | 2024-02-09 | 阿里巴巴(中国)有限公司 | 译码方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113595563B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11190221B2 (en) | Polar decoder with LLR-domain computation of f-function and g-function | |
US11146294B2 (en) | Polar coder with logical three-dimensional memory, communicaton unit, integrated circuit and method therefor | |
US8397150B1 (en) | Method, apparatus and computer program for calculating a branch metric | |
CN113595563A (zh) | 一种ldpc译码的方法、装置、设备及存储介质 | |
CN109120275B (zh) | 一种编码方法及装置、计算机存储介质 | |
JP2021502767A (ja) | 階段コードの復号化方法、装置および記憶媒体 | |
Wunderlich et al. | Progressive multicore RLNC decoding with online DAG scheduling | |
WO2020108306A1 (zh) | 译码方法、译码装置及译码器 | |
JP4554366B2 (ja) | データウィンドウを使用してデータを復号化するための方法 | |
KR20030036845A (ko) | 트렐리스에 기초한 채널 부호화를 위한 복호기 | |
US20240007129A1 (en) | Constructing method, processing device, storage medium and coding method | |
TWI681639B (zh) | 迴旋碼解碼器及迴旋碼解碼方法 | |
US11664827B2 (en) | Apparatus and method for successive cancellation bit-flip decoding of polar code | |
US11664828B1 (en) | Systems and methods for multithreaded successive cancellation list polar decoding | |
WO2014002043A1 (en) | Determining control bits of butterfly networks for parallel turbo decoding | |
US8856630B2 (en) | Continuous parallel Viterbi decoder | |
CN111600613B (zh) | 一种校验方法、装置、译码器、接收机及计算机存储介质 | |
Volkov et al. | Low-Latency CUDA LDPC Decoder for SDR Solutions | |
US9787331B1 (en) | Decoding path selection device and method | |
CN118054878A (zh) | 译码方法、装置、电子设备、存储介质和计算机程序产品 | |
CN115102556A (zh) | 构建基矩阵的方法及处理装置、存储介质 | |
CN115567061A (zh) | 译码方法及处理装置、存储介质 | |
CN115102555A (zh) | 信道编译码方法及处理装置、通信方法及装置 | |
KR20230078478A (ko) | 복호화 장치, 복호화 방법 및 전자 장치 | |
CN115664428A (zh) | 译码方法及设备 |
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 |