CN112332856A - 一种准循环ldpc码的层译码方法及装置 - Google Patents
一种准循环ldpc码的层译码方法及装置 Download PDFInfo
- Publication number
- CN112332856A CN112332856A CN202011137500.1A CN202011137500A CN112332856A CN 112332856 A CN112332856 A CN 112332856A CN 202011137500 A CN202011137500 A CN 202011137500A CN 112332856 A CN112332856 A CN 112332856A
- Authority
- CN
- China
- Prior art keywords
- node information
- variable node
- layer
- decoding
- information
- 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
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
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明实施例提供了一种准循环LDPC码的层译码方法及装置,该方法包括:获取待译码的软信息,将待译码的软信息作为变量节点信息;进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序;逐层进行迭代译码,迭代译码时逐层更新变量节点信息和校验节点信息,得到译码结果,其中,更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序;本发明降低了译码处理延迟,提高了译码效率。
Description
技术领域
本发明涉及数字通信技术领域,具体来说涉及无线通信差错控制领域和数字信号处理领域,更具体地说,涉及一种准循环LDPC码的层译码方法及装置。
背景技术
低密度奇偶校验码(Low-Density Parity-Check Codes,简称LDPC码)由罗伯特·加拉格尔(Robert Gallager)博士在1960年提出,其性能接近香农信道容量的极限,因此,LDPC码在无线通信领域中得到了很多应用。罗伯特·加拉格尔博士同时给出了一种近似最优的译码算法,称之为和积算法。和积算法中校验节点运算类型比较复杂,不利于硬件快速实现。
为了解决LDPC码编码复杂度较高的问题,出现了准循环低密度奇偶校验码(Quasi-Cyclic Low-Density Parity-Check Codes,简称QC-LDPC码)。QC-LDPC码是LDPC码的重要子集,其奇偶校验矩阵可以分成多个大小相等的方阵,每个方阵都是单位矩阵的循环移位矩阵或全0矩阵,非常便于存储器的存储和寻址,从而大大降低了LDPC码的编译码复杂度。QC-LDPC码由于其极好的并行实现特性,在DVB、WiMAX、WiFi、5G NR等标准中广泛使用。QC-LDPC码主流的译码算法是最小和(Min-sum)算法,其对校验节点更新进行简化,将复杂的双曲函数运算转化为加法、比较等运算。层译码算法是对最小和算法中的解码流程做一定修改得到的算法,其使得校验节点和变量节点更新同时进行,与传统译码流程相比,收敛速度快一倍左右。
目前针对QC-LDPC译码进行加速的电路设计大部分基于层译码算法,对校验矩阵按行处理,最大并行度为Z(Z为基础矩阵扩展因子)。当并行度为Z时,每次可处理Z个数据。Z个数据的处理流程为:首先从变量节点缓存中选出要处理的列数据,列数据数目为Z;将Z个数据送入循环移位网络;经过循环移位后的数据送入比较器,求出每层数据中的绝对值最小值/次小值,然后对校验节点进行更新;利用更新后的校验节点对变量节点信息进行更新,更新后的变量节点信息送入循环移位单元;经过循环移位后的变量节点信息写回到缓存中,等待下一层处理。在众多译码算法中,分层译码算法具有算法收敛速度更快和误码性能更好的特点,因此,分层译码算法受到了更多的关注。
传统层译码技术,当并行处理时,变量节点信息需要两次经过循环移位网络。第一次,将从变量节点信息缓存中读出的变量节点信息进行循环移位后送入比较单元、经校验后更新;第二次,将更新后的变量节点信息经过循环移位还原为原始的状态后送入变量节点信息缓存。该方法两次使用循环移位网络,对循环移位网络进行复用(若循环移位网络数目为1),译码处理延迟较大,译码效率不高。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种准循环LDPC码的层译码方法及装置。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种准循环LDPC码的层译码方法,包括:获取待译码的软信息,将待译码的软信息作为变量节点信息;进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序;逐层进行迭代译码,迭代译码时逐层更新变量节点信息和校验节点信息,得到译码结果,其中,更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序。
在本发明的一些实施例中,所述相对移位值按照以下方式获得:在当前层与下一关联层对应的循环移位值的差值为正时,所述相对移位值等于该差值;在当前层与下一关联层对应的循环移位值的差值为负时,所述相对移位值等于该差值与扩展因子之和。
在本发明的一些实施例中,在当前层的变量节点信息读取完毕时,响应于当前层的变量节点信息读取完毕的信号,下一层的变量节点提前读取所需且不依赖当前层更新数据的变量节点信息。
在本发明的一些实施例中,在当前层的变量节点信息更新完毕时,响应于当前层的变量节点信息更新完毕的信号,下一层的变量节点读取所需且依赖当前层更新数据的变量节点信息。
在本发明的一些实施例中,仅对基矩阵的包含除0和-1以外循环移位值的列对应的变量节点信息进行循环移位预处理。
在本发明的一些实施例中,所述基矩阵包括第一基矩阵和第二基矩阵,其中,采用第一基矩阵时对前26列对应的变量节点信息进行循环移位预处理,采用第二基矩阵时对前14列对应的变量节点信息进行循环移位预处理。
在本发明的一些实施例中,对通过所有层的奇偶校验的变量节点信息进行硬判决包括:对通过硬判决和奇偶校验的变量节点信息中信息比特对应的变量节点信息进行循环移位以还原对应信息比特的顺序;对还原后的信息比特对应的变量节点信息进行硬判决,得到信息比特。
根据本发明的第二方面,提供一种准循环LDPC码的层译码装置,包括:变量节点信息存储模块,用于获取待译码的软信息,将待译码的软信息作为变量节点信息,以及存储更新的变量节点信息;校验节点信息存储模块,用于存储校验节点信息;循环移位网络,用于进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序,并且在每层更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序;译码模块,逐层进行迭代译码,每层进行译码时对变量节点信息进行硬判决和用基矩阵的校验节点进行奇偶校验,逐层更新变量节点信息和校验节点信息,对通过所有层的奇偶校验的变量节点信息进行硬判决,得到信息比特。
根据本发明的第三方面,一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储一个或多个可执行指令;所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现第一方面所述方法的步骤。
与现有技术相比,本发明的优点在于:
本发明降低了译码处理延迟,提高了译码效率。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的准循环LDPC码的层译码方法的流程示意图;
图2为现有技术的循环移位原理和根据本发明实施例的层译码方法的循环移位原理的对比示意图;
图3为根据本发明实施例的准循环LDPC码的层译码装置的模块示意图;
图4为根据本发明实施例的准循环LDPC码的层译码装置的模块连接示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如在背景技术部分提到的,现有方法在进行层译码时,每层读取和写回某变量节点信息时两次使用循环移位网络,译码处理延迟较大,译码效率不高。本发明进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序,并且在每层更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序,使得本发明每层读取和写回某变量节点信息时使用循环移位网络的次数由两次(读取一次+写回一次)降为一次(读取后直接得到所需的顺序,无需移位,写回一次),降低了译码处理延迟,提高了译码效率。
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
软信息,是指译码过程中传递的码字各个比特的对数似然比(Log-LikelihoodRatio,简称LLR)。软信息也称LLR信息或者LLR软信息。在一些现有文献中,软信息的定义为:解调后未作0/1比特硬判决的数据信息(对数似然比)。
基矩阵,是指用移位值标记的阵列。所述基矩阵的每个移位值给出循环矩阵(例如,单位矩阵)将被循环移位(向右循环移位)的次数,以生成由所述基矩阵定义的QC-LDPC矩阵的对应子矩阵。例如,0表示单位阵,1表示由单位阵循环右移1位,-1表示全零矩阵。可由基矩阵扩展得到用于奇偶校验的校验矩阵。为了说明原理,下面给出一个简化的基矩阵,其结构可能并不符合协议,仅作示意。
则对应的校验矩阵为:
本发明提供一种准循环LDPC码的层译码方法,包括步骤:S1、获取待译码的软信息,将待译码的软信息作为变量节点信息;S2、进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序;S3、逐层进行迭代译码,每层进行译码时对变量节点信息进行硬判决和用基矩阵的校验节点进行奇偶校验,逐层更新变量节点信息和校验节点信息,对通过所有层的奇偶校验的变量节点信息进行硬判决,得到信息比特,其中,在每层更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序。应当说明的是,该步骤序号仅为便于阅读,而非绝对的运行顺序。为了更好地理解本发明,下面结合具体的实施例针对每一个步骤分别进行详细说明。
在步骤S1中,获取待译码的软信息,将待译码的软信息作为变量节点信息。
根据本发明的一个实施例,待译码的软信息是指译码过程中传递的码字各个比特的对数似然比,该对数似然比表示码字比特为0和1的概率的对数似然比。例如,假设待译码的软信息的部分序列为{a0,a1,a2,a3,a4},则a0、a1、a2、a3、a4分别表示其对应的码字比特为0和1的概率的对数似然比。
在步骤S2中,进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序。
根据本发明的一个实施例,参见图2,标记L1下方对应本发明的技术方案中的循环移位处理。标记L2下方对应现有技术的技术方案中的循环移位处理。标记L3下方对应示意的各层对应的循环移位值和扩展矩阵。对比现有技术和本发明可以看到,L101和L201中的a0a1a2a3a4是存在缓存(也称变量节点信息缓存或者变量节点信息存储模块)中的部分示意性的变量节点信息a0、a1、a2、a3、a4。现有技术在变量节点首次读取变量节点信息前,不会对存储在缓存中的变量节点信息进行循环移位预处理。因为每次读取时会先经过依次循环移位将读取的变量节点信息移位至所需的顺序,例如,L202中读取变量节点信息循环右移2位得到L203所示的变量节点信息a3a4a0a1a2,在校验后将更新的变量节点信息写回缓存前先循环移位至原始的顺序,例如,L204中将校验后将更新的变量节点信息a3a4a0a1a2写回缓存前先循环移位至L205所示的原始的顺序a0a1a2a3a4,然后写回缓存。而本发明中,先对缓存中的变量节点信息进行循环移位预处理,例如,L101中对a0a1a2a3a4进行循环移位预处理,预先循环右移2位,得到首次读取变量节点信息时能直接得到所需的顺序a3a4a0a1a2。
根据本发明的一个实施例,仅对基矩阵的包含除0和-1以外循环移位值的列对应的变量节点信息进行循环移位预处理。优选的,基矩阵包括第一基矩阵和第二基矩阵,其中,采用第一基矩阵时对前26列对应的变量节点信息进行循环移位预处理,采用第二基矩阵时对前14列对应的变量节点信息进行循环移位预处理。第一基矩阵、第二基矩阵可在协议5G/NR-38.212中查到,分别对应于该协议中的基图1(Base Graph 1)和基图2(BaseGraph2)。
S3、逐层进行迭代译码,迭代译码时逐层更新变量节点信息和校验节点信息,得到译码结果,其中,更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序。
根据本发明的一个实施例,所述步骤S3包括:逐层进行迭代译码,每层进行对读取的变量节点信息进行硬判决和用基矩阵的校验节点进行奇偶校验,逐层更新变量节点信息和校验节点信息,其中,在每层更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序,对通过所有层的奇偶校验的变量节点信息进行硬判决,得到信息比特。优选的,对通过所有层的奇偶校验的变量节点信息进行硬判决包括:对通过硬判决和奇偶校验的变量节点信息中信息比特对应的变量节点信息进行循环移位以还原对应信息比特的顺序;对还原后的信息比特对应的变量节点信息进行硬判决,得到信息比特。退出迭代译码后,由于变量节点信息写回顺序是经过相对循环移位的,对变量节点信息进行硬判决输出前,需要再次进行循环移位,将变量节点信息顺序调整成自然顺序进行硬判决输出,得到信息比特。优选的,当前层的变量节点信息更新的同时,对当前层变量节点信息进行硬判决、奇偶校验。当所有层处理完毕,且奇偶校验通过,则退出迭代译码。变量节点信息更新和奇偶校验同时进行,可大大降低译码时延。步骤S3还包括:当达到最大迭代次数时变量节点信息还未通过所有层的奇偶校验,发出译码失败的信号。即,一种译码结果是译码成功,得到信息比特,另一种译码结果是译码失败的信号。
根据本发明的一个实施例,两层变量节点操作可并发执行现有层译码技术,由于下一层要处理的数据是上一层更新后的数据,层与层之间存在数据依赖性。传统做法是上一层数据更新完毕后再启动下一层数据处理。该种方法没有考虑层间数据处理并发性,处理延迟比较大。在本发明中,每层迭代译码前,先顺序读取当前层的变量节点信息,在当前层的变量节点信息读取完毕时,响应于当前层的变量节点信息读取完毕的信号,下一层的变量节点提前读取所需且不依赖当前层更新数据的变量节点信息。由此,下一层所需的部分数据可提前准备好,降低了译码延迟。优选的,在当前层的变量节点信息更新完毕时,响应于当前层的变量节点信息更新完毕的信号,下一层的变量节点读取所需且依赖当前层更新数据的变量节点信息。当前层变量节点更新完毕进行写回时,可同时启动下一层变量节点信息更新。两层变量节点操作并发执行,可大大降低译码时延。应当理解的是,本发明逐层进行迭代译码的基本译码原理可采用现有的分层译码算法(Layered Belief-Propagation,简称LBP),将其中循环移位网络的移位方式和一些不依赖当前层更新数据的变量节点信息的读写顺序等按照本发明的方法配置,以提高译码效率。
根据本发明的一个实施例,相对移位值按照以下方式获得:在当前层与下一关联层对应的循环移位值的差值为正时,所述相对移位值等于该差值;在当前层与下一关联层对应的循环移位值的差值为负时,所述相对移位值等于该差值与扩展因子之和。该实施例的技术方案至少能够实现以下有益技术效果:通过相对移位值写回,减少了使用循环移位网络的次数,降低了译码处理延迟,提高了译码效率。
根据本发明的一个示例,再次参见图2,标记L3下方,各层对应的循环移位值依次为3、4、2、1,其单位阵按照该循环移位值进行循环移位得到对应的扩展矩阵分别如标记L301、L302、L303、L304内的所示的矩阵形式。假设部分变量节点信息序列a0a1a2a3a4的首个关联层以及后续关联层对应的某列与左侧标记L3所示的循环移位值对应。现有技术中,对于首个关联层,会先读取变量节点信息循环右移Z-n位(Z是扩展因子,n是循环移位值,循环移位值是-1的为全零矩阵,不经此步骤),此处Z=5,n=3,则循环右移2位(对应标记L202),得到a3a4a0a1a2(对应L203),然后变量节点信息经历迭代译码,更新后需要写回操作,写回变量节点信息循环右移n位,此处n=3,循环右移3位(对应L204),相当于还原了原来的顺序,得到a0a1a2a3a4(对应L205),然后写回到变量节点信息存储模块。然后,下一个关联层读取变量节点信息循环右移5-4=1位(对应L206),得到a4a0a1a2a3(对应L207),写回变量节点信息循环右移4位(对应L208),得到a0a1a2a3a4(对应L209)。然后,下一个关联层读取变量节点信息循环右移5-2=3位(对应L210),得到a2a3a4a0a1(对应L211),写回变量节点信息循环右移2位(对应L212),得到a0a1a2a3a4(对应L213)。然后,下一个关联层读取变量节点信息循环右移5-1=4位(对应L214),得到a1a2a3a4a0(对应L215),写回变量节点信息循环右移1位(对应L216),得到a0a1a2a3a4(对应L217)。由此,可以看到,现有技术每一个读取和更新的写回操作之间一个块(部分变量节点信息序列)需要经过2次循环移位网络,导致译码效率不高。而本发明中,经历循环移位预处理后,首个关联层直接顺序读(对应L103),无需循环移位即可得到所需要的部分变量信息序列的顺序,更新变量节点信息的写回操作时,按照相对偏移值写回,写回变量节点信息循环右移5+(3-4)=4位(对应L104),得到下一个关联层所需的顺序,a4a0a1a2a3(对应L105)。然后,下一个关联层也是顺序读(对应L106),写回变量节点信息循环右移4-2=2位(对应L107),得到a2a3a4a0a1(对应L108)。然后,下一个关联层也是顺序读(对应L109),写回变量节点信息循环右移2-1=1位(对应L110),得到a1a2a3a4a0(对应L111)。由此,可以看到,本发明每一个读取和更新的写回操作之间一个块(部分变量节点信息序列)只需要经过1次循环移位网络,可以提高译码效率。
根据本发明的一个实施例,一种准循环LDPC码的层译码方法,包括获取待译码的软信息,将待译码的软信息作为变量节点信息;进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序,并且在每层更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序;逐层进行迭代译码,每层进行译码时对变量节点信息进行硬判决和用基矩阵的校验节点进行奇偶校验,逐层更新变量节点信息和校验节点信息,对通过所有层的奇偶校验的变量节点信息进行硬判决,得到信息比特。
根据本发明的一个实施例,一种准循环LDPC码的层译码方法,包括步骤:T1、T2、T3、T4。步骤T1:对前K+a列变量节点信息进行循环移位预处理,其中,K为系统信息列数目,a为部分校验信息列数目,每列变量节点信息长度为Z。基图1的最后42列校验信息(共46列)和基图2的最后38列校验信息(共42列)循环移位值固定为0,不需要做循环移位预处理,故a的值固定为4。由于基图1的K为22,基图2的K为10,所以,采用基图1时对前22+4=26列对应的变量节点信息进行循环移位预处理,采用基图2时对前10+4=14列对应的变量节点信息进行循环移位预处理。由此,以减少不必要的循环移位的操作,提高译码效率。步骤T2:迭代译码,每次迭代中,对变量节点信息做硬判决和奇偶校验,逐层更新变量节点信息和校验节点信息。若达到最大迭代次数,或者奇偶校验通过,则退出迭代,停止译码。步骤T3:对通过奇偶校验的前K列变量节点信息进行循环移位以还原对应信息比特的顺序。步骤T4:对还原后的信息比特对应的前K列变量节点信息进行硬判决,得到信息比特(或者称译码比特),打包输出。
优选的,步骤T2包括:T2、从变量节点信息存储单元中读取第i层第j列变量节点信息,变量节点信息长度为Z。计算变量节点传递给校验节点的信息值;T22、从变量节点信息存储单元中读取第i层第m列变量节点信息,m>j,对第j列、第m列变量节点信息进行硬判决和奇偶校验,计算变量节点传递给校验节点的信息值,与第j列变量节点传递给校验节点的信息值进行比较;T23、将第i层中下一个大于等于0的列索引赋予m,重复步骤T22,直到第i层基础矩阵中元素大于等于0的所有列处理完毕,得到第i层所有列的绝对值最小值/次小值,同时得到第i层校验结果;T24、根据第i层中绝对值最小值/次小值,对第j列变量节点进行更新;T25、将更新后的第j列变量节点送入循环移位网络,循环移位值为相对移位值;T26、将经过循环移位后的第j列数据送入变量节点信息存储模块;重复T24~T26,直到第i层所有变量节点更新完毕,其中,第i层需要更新的变量节点所在列索引为基础矩阵中元素大于等于0的列索引。重复T21~T27,直到所有层处理完毕,进入下次迭代;重复T21~T28,直到达到最大迭代次数,或者基础矩阵中所有行校验通过,则停止迭代,退出译码。
根据本发明的另一方面,提供一种准循环LDPC码的层译码装置,如图4所示,包括:变量节点信息存储模块110,用于获取待译码的软信息,将待译码的软信息作为变量节点信息,以及存储更新的变量节点信息;校验节点信息存储模块120,用于存储校验节点信息;循环移位网络130,用于进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序,并且在每层更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序;译码模块140,逐层进行迭代译码,每层进行译码时对变量节点信息进行硬判决和用基矩阵的校验节点进行奇偶校验,逐层更新变量节点信息和校验节点信息,对通过所有层的奇偶校验的变量节点信息进行硬判决,得到信息比特。
根据本发明的一个实施例,变量节点信息存储模块110,用于为对准循环LDPC码的层译码初始输入信息(对应于待译码的软信息)进行存储,以及用于对每次迭代过程中更新的变量节点信息进行存储。
校验节点信息存储模块120,用于存储迭代过程中更新的校验节点信息。
循环移位网络130,用于对Z个变量节点信息值做循环移位。Z表示扩展因子,用于确定多少个变量节点信息值为一组进行循环移位。
译码模块140包括:硬判决单元141、奇偶校验单元142、减法器143、比较器144、校验节点更新单元145、变量节点更新单元146。
其中,硬判决单元141,用于取变量节点信息值符号位作为硬判决比特vj,其中,j=0,1,2,...,N-1。
奇偶校验单元142,用于判断判决比特序列v是否满足校验方程vHT=0,若满足校验方程则停止译码;否则,继续进行迭代译码。HT表示基矩阵扩展得到的校验矩阵的转置。
减法器143,用于将获得校验矩阵中的各行非零元素所对应的变量节点信息与校验节点信息的LLR差值(对应步骤T22)。相当于计算变量节点传递给校验节点的信息值,计算公式为σi,j=γj-λi,j,j的取值为基矩阵第i行中数值1所在的列索引。γj为变量节点信息值,λi,j表示校验节点信息值,初始化的校验节点信息值为λi,j=0。
比较器144,用于比较产生当前输入的变量节点传递给校验节点的信息值(LLR差值)的绝对最小值、绝对次小值(对应步骤T22)。用于与第j列变量节点传递给校验节点的信息值进行比较。
校验节点更新单元145用于对层译码迭代过程中Tanner图所对应的校验节点信息进行更新运算。校验节点更新单元145对应的更新公式为其中,s(i)表示与校验节点i相连的所有变量节点的集合,s(i)\j表示与校验节点i相连的变量节点集合中除去j节点以外的集合,该集合索引用m表示。σ′i→j为更新后的校验节点信息值。α为缩放因子。
变量节点更新单元146用于对层译码迭代过程中Tanner图所对应的变量节点信息进行更新运算。变量节点更新单元146对应的更新公式为γj=σi,j+σ′i,j,其中,σ′i,j表示更新后的变量节点传递给校验节点的信息值。
输出表示对硬判决后的信息比特(译码比特)或者译码失败的信号进行输出。
根据本发明的再一方面,一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储一个或多个可执行指令;所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现前述准循环LDPC码的层译码方法的步骤。
本发明中提出的QC-LDPC译码方法,变量节点更新采用相对移位值,变量节点信息更新后的写回顺序为下次使用时需要的顺序;同时,变量节点信息更新与奇偶校验同时进行。发明人进行了通量分析,结果如下表所示。从表中可以看出,在同样码率和迭代次数下,本发明中采用一个循环移位网络,与传统方法中采用两个循环移位网络,通量相当。证明该种译码方法与传统译码方法相比,在同样码率和迭代次数下,本发明中采用一个循环移位网络,与传统方法中采用两个循环移位网络,所消耗的周期数相当。在不增加额外硬件开销前提下,该种译码方法可大大降低译码时延。
表1:通量分析的结果
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种准循环LDPC码的层译码方法,其特征在于,包括:
获取待译码的软信息,将待译码的软信息作为变量节点信息;
进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序;
逐层进行迭代译码,迭代译码时逐层更新变量节点信息和校验节点信息,得到译码结果,其中,更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序。
2.根据权利要求1所述的准循环LDPC码的层译码方法,其特征在于,所述相对移位值按照以下方式获得:
在当前层与下一关联层对应的循环移位值的差值为正时,所述相对移位值等于该差值;
在当前层与下一关联层对应的循环移位值的差值为负时,所述相对移位值等于该差值与扩展因子之和。
3.根据权利要求1所述的准循环LDPC码的层译码方法,其特征在于,
在当前层的变量节点信息读取完毕时,响应于当前层的变量节点信息读取完毕的信号,下一层的变量节点提前读取所需且不依赖当前层更新数据的变量节点信息。
4.根据权利要求3所述的准循环LDPC码的层译码方法,其特征在于,在当前层的变量节点信息更新完毕时,响应于当前层的变量节点信息更新完毕的信号,下一层的变量节点读取所需且依赖当前层更新数据的变量节点信息。
5.根据权利要求1所述的准循环LDPC码的层译码方法,其特征在于,仅对基矩阵的包含除0和-1以外循环移位值的列对应的变量节点信息进行循环移位预处理。
6.根据权利要求5所述的准循环LDPC码的层译码方法,其特征在于,所述基矩阵包括第一基矩阵和第二基矩阵,其中,采用第一基矩阵时对前26列对应的变量节点信息进行循环移位预处理,采用第二基矩阵时对前14列对应的变量节点信息进行循环移位预处理。
7.根据权利要求1所述的准循环LDPC码的层译码方法,其特征在于,对通过所有层的奇偶校验的变量节点信息进行硬判决包括:
对通过硬判决和奇偶校验的变量节点信息中信息比特对应的变量节点信息进行循环移位以还原对应信息比特的顺序;
对还原后的信息比特对应的变量节点信息进行硬判决,得到信息比特。
8.一种准循环LDPC码的层译码装置,其特征在于,包括:
变量节点信息存储模块,用于获取待译码的软信息,将待译码的软信息作为变量节点信息,以及存储更新的变量节点信息;
校验节点信息存储模块,用于存储校验节点信息;
循环移位网络,用于进行循环移位预处理以使基矩阵对应的变量节点首次读取该变量节点信息时能直接得到所需的顺序,并且在每层更新变量节点信息的写回操作前按照当前层与下一关联层的相对移位值进行一次循环移位以使下次读取该变量节点信息时能直接得到所需的顺序;
译码模块,逐层进行迭代译码,每层进行译码时对变量节点信息进行硬判决和用基矩阵的校验节点进行奇偶校验,逐层更新变量节点信息和校验节点信息,对通过所有层的奇偶校验的变量节点信息进行硬判决,得到信息比特。
9.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137500.1A CN112332856B (zh) | 2020-10-22 | 2020-10-22 | 一种准循环ldpc码的层译码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137500.1A CN112332856B (zh) | 2020-10-22 | 2020-10-22 | 一种准循环ldpc码的层译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112332856A true CN112332856A (zh) | 2021-02-05 |
CN112332856B CN112332856B (zh) | 2023-07-25 |
Family
ID=74312159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011137500.1A Active CN112332856B (zh) | 2020-10-22 | 2020-10-22 | 一种准循环ldpc码的层译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112332856B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590377A (zh) * | 2021-07-16 | 2021-11-02 | 深圳宏芯宇电子股份有限公司 | 译码装置、方法、存储介质及计算机设备 |
CN114726481A (zh) * | 2022-03-09 | 2022-07-08 | 鹤壁天海电子信息系统有限公司 | 一种5g nr ldpc译码方法及相关装置 |
GB2613899A (en) * | 2021-12-20 | 2023-06-21 | Accelercomm Ltd | Communication device with low density parity check rotator, and method therefor |
CN116436474A (zh) * | 2023-06-13 | 2023-07-14 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 一种信道编解码方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192044A1 (en) * | 2007-07-18 | 2010-07-29 | Dong Bai | Qc-ldpc code decoder and corresponding decoding method |
CN102394661A (zh) * | 2011-11-08 | 2012-03-28 | 北京邮电大学 | 基于层译码处理的ldpc译码器及译码方法 |
CN107534511A (zh) * | 2015-11-17 | 2018-01-02 | 华为技术有限公司 | 低密度奇偶校验码的译码方法和译码器 |
CN109309502A (zh) * | 2018-08-03 | 2019-02-05 | 西安电子科技大学 | 5g nr标准的分层ldpc基矩阵处理译码方法 |
CN111162797A (zh) * | 2020-01-21 | 2020-05-15 | 华侨大学 | 一种速率兼容的5g ldpc码的编码装置及编码方法 |
-
2020
- 2020-10-22 CN CN202011137500.1A patent/CN112332856B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192044A1 (en) * | 2007-07-18 | 2010-07-29 | Dong Bai | Qc-ldpc code decoder and corresponding decoding method |
CN102394661A (zh) * | 2011-11-08 | 2012-03-28 | 北京邮电大学 | 基于层译码处理的ldpc译码器及译码方法 |
CN107534511A (zh) * | 2015-11-17 | 2018-01-02 | 华为技术有限公司 | 低密度奇偶校验码的译码方法和译码器 |
CN109309502A (zh) * | 2018-08-03 | 2019-02-05 | 西安电子科技大学 | 5g nr标准的分层ldpc基矩阵处理译码方法 |
CN111162797A (zh) * | 2020-01-21 | 2020-05-15 | 华侨大学 | 一种速率兼容的5g ldpc码的编码装置及编码方法 |
Non-Patent Citations (1)
Title |
---|
范亚楠等: "交叠的分层置信度传播LDPC译码算法", 西安电子科技大学学报, vol. 44, no. 02, pages 88 - 93 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590377A (zh) * | 2021-07-16 | 2021-11-02 | 深圳宏芯宇电子股份有限公司 | 译码装置、方法、存储介质及计算机设备 |
GB2613899A (en) * | 2021-12-20 | 2023-06-21 | Accelercomm Ltd | Communication device with low density parity check rotator, and method therefor |
CN114726481A (zh) * | 2022-03-09 | 2022-07-08 | 鹤壁天海电子信息系统有限公司 | 一种5g nr ldpc译码方法及相关装置 |
CN114726481B (zh) * | 2022-03-09 | 2023-12-22 | 鹤壁天海电子信息系统有限公司 | 一种5g nr ldpc译码方法及相关装置 |
CN116436474A (zh) * | 2023-06-13 | 2023-07-14 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 一种信道编解码方法 |
CN116436474B (zh) * | 2023-06-13 | 2023-11-17 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 一种信道编解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112332856B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112332856B (zh) | 一种准循环ldpc码的层译码方法及装置 | |
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
US8839077B2 (en) | Low density parity check codec | |
RU2395902C2 (ru) | Способы и устройство ldpc-кодирования | |
US7343548B2 (en) | Method and apparatus for encoding and decoding data | |
CN110114978B (zh) | 高效可解码qc-ldpc码 | |
US8572463B2 (en) | Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size | |
US8869003B2 (en) | Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix | |
KR20170020305A (ko) | 체크 노드 계산유닛을 관리하는 방법, 장치, 및 상기 방법을 실행하기 위한 소프트웨어 | |
CN113612486B (zh) | 一种构建pbrl ldpc码的基矩阵方法、系统、装置及存储介质 | |
WO2007034870A1 (ja) | 復号装置および受信装置 | |
US20220255560A1 (en) | Method and apparatus for vertical layered decoding of quasi-cyclic low-density parity check codes built from clusters of circulant permutation matrices | |
WO2021063217A1 (zh) | 一种译码方法及装置 | |
US20110179337A1 (en) | Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof | |
JPWO2008069231A1 (ja) | 復号装置、復号方法 | |
JP5488472B2 (ja) | 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置 | |
JP5148586B2 (ja) | 復号装置および復号方法 | |
CN111384970B (zh) | 一种译码方法、装置及通信设备 | |
JP5510447B2 (ja) | 復号装置および復号方法 | |
EP3829088B1 (en) | Decoder, decoding method, and computer storage medium | |
CN111384978B (zh) | 一种极化码译码方法、装置及通信设备 | |
US20150254130A1 (en) | Error correction decoder | |
CN111492586B (zh) | 具有正交行的ldpc码的基矩阵设计方法及装置 | |
CN113411087B (zh) | 解码q元LDPC的方法、电路及包括其的接收机 | |
Sułek et al. | QC-LDPC codes with fast encoding for error control in NAND flash memories |
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 |