CN111384972A - 多进制ldpc解码算法的优化方法、装置及解码器 - Google Patents
多进制ldpc解码算法的优化方法、装置及解码器 Download PDFInfo
- Publication number
- CN111384972A CN111384972A CN201811645443.0A CN201811645443A CN111384972A CN 111384972 A CN111384972 A CN 111384972A CN 201811645443 A CN201811645443 A CN 201811645443A CN 111384972 A CN111384972 A CN 111384972A
- Authority
- CN
- China
- Prior art keywords
- confidence
- column
- row
- output queue
- matrix
- 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/1105—Decoding
-
- 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/1171—Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
-
- 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)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明实施例适用于编解码技术领域,提供了一种多进制LDPC解码算法的优化方法、装置及解码器,所述方法包括:获取待读取的稀疏校验矩阵;通过逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素,对多进制LDPC解码算法的时间复杂度进行优化;根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵;基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同。本实施例通过对稀疏校验矩阵的存储、读取方式以及校验节点的搜索、排序方式两方面的优化处理,可以有效地降低NB‑LDPC迭代解码算法的时间复杂度。
Description
技术领域
本发明属于编解码技术领域,特别是涉及一种多进制LDPC解码算法的优化方法、一种多进制LDPC解码算法的优化装置、一种解码器及一种计算机可读存储介质。
背景技术
二进制LDPC(Binary Low-Density-Parity-Check,简称B-LDPC)码是一种具有稀疏校验矩阵的分组纠错码,适用于几乎所有的信道,可以以码长指数的形式快速接近香农理论的信道容量,是编码界近年来的研究热点。然而,当码长相对较短时,B-LDPC码的性能会出现一定程度的降低。因此,有学者在B-LDPC码的基础上提出了多进制LDPC(Non-BinaryLow-Density-Parity-Check,简称NB-LDPC)码。相对于B-LDPC码,特别是当码长较短时,NB-LDPC码理论上具有更优异的性能,目前,NB-LDPC码也开始逐渐被相关行业采纳为编码标准。例如,北斗卫星导航系统(BDS)。
但是,NB-LDPC码的应用也带来了更为复杂的解码算法。总体而言,NB-LDPC解码算法是一种基于置信度传播的迭代算法,常见的包括基本的置信度传播算法(BeliefPropagation,BP)、基于快速傅里叶变换的置信度传播算法(FFT-BP)和扩展最小和算法(Extended Minimum Sum,EMS)等。
如图1所示,是现有技术中NB-LDPC迭代解码算法的流程示意图。该流程包括如下步骤:
(1.1)初始化:初始化符号置信度,设置最大迭代次数等;
(1.2)变量节点更新(又称为水平更新或后向更新):利用属于同一校验节点下的其他变量节点的信息更新当前变量节点的置信度;
(1.3)校验节点更新(又称垂直更新或前向更新),利用属于同一变量节点的其他校验节点的信息更新当前校验节点的置信度;
(1.4)符号判决:选择置信度最大的符号输出;
(1.5)校验计算:对输出的符号进行校验,若通过校验,则解码成功,否则重复步骤(1.2)和(1.3),继续进行迭代直至迭代次数超过设置的最大迭代次数。
按照上述流程,采用BP或FFT-BP等算法可以获得NB-LDPC码最优的解码性能,但其解码的时间和空间复杂度均很高,而采用EMS算法则可以在不明显降低解码性能的情况下大幅降低解码的时间和空间复杂度。因而EMS算法成为了普遍采用的NB-LDPC解码算法。尽管如此,基于EMS的NB-LDPC解码算法相对于常用的B-LDPC解码算法仍然过于复杂,因此需要进一步改进。
发明内容
有鉴于此,本发明实施例提供了一种多进制LDPC解码算法的优化方法、装置及解码器,以解决现有技术中NB-LDPC解码算法时间复杂度较高的问题。
本发明实施例的第一方面提供了一种多进制LDPC解码算法的优化方法,包括:
获取待读取的稀疏校验矩阵;
通过逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素,对多进制LDPC解码算法的时间复杂度进行优化;
所述对多进制LDPC解码算法的时间复杂度进行优化还包括:
根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵;
基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同;
其中,所述待读取的稀疏校验矩阵按照如下方式进行存储获得:
针对原始稀疏校验矩阵的每一行,逐行存储所述每一行中的非0元素、所述非0元素的列序号,以及所述每一行的行分隔符;
针对所述原始稀疏校验矩阵的每一列,逐列存储所述每一列中的非0元素、所述非0元素的行序号,以及所述每一列的列分隔符。
本发明实施例的第二方面提供了一种多进制LDPC解码算法的优化装置,包括:
获取模块,用于获取待读取的稀疏校验矩阵;
优化模块,用于通过逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素,对多进制LDPC解码算法的时间复杂度进行优化;
所述优化模块还用于根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵,基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同;
其中,所述待读取的稀疏校验矩阵通过调用如下模块进行存储获得:
逐行存储模块,用于针对原始稀疏校验矩阵的每一行,逐行存储所述每一行中的非0元素、所述非0元素的列序号,以及所述每一行的行分隔符;
逐列存储模块,用于针对所述原始稀疏校验矩阵的每一列,逐列存储所述每一列中的非0元素、所述非0元素的行序号,以及所述每一列的列分隔符。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述多进制LDPC解码算法的优化方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多进制LDPC解码算法的优化方法的步骤。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例,通过同时按照行和列的方式存储稀疏元素,其中按行存储时保存每行的列序号及行分隔符,按列存储时保存每列的行序号及列分隔符,可以在不明显增加存储空间的前提下,显著提高稀疏校验矩阵的访问速度;在此基础上,本实施例根据输入的两个置信度队列均是有序队列的信息,通过沿着虚拟矩阵边界向右和向下两个方同时进行搜索可以避免不必要的排序操作,进而有效地提高搜索和排序的效率。通过上述两方面的优化处理,可以有效地降低NB-LDPC迭代解码算法的时间复杂度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中NB-LDPC迭代解码算法的流程示意图;
图2是现有技术中校验节点的搜索排序过程示意图;
图3是现有技术中常见的稀疏校验矩阵的存储示意图;
图4是本发明一个实施例的一种多进制LDPC解码算法的优化方法的步骤流程示意图;
图5是本发明一个实施例的稀疏校验矩阵的存储示意图;
图6是本发明一个实施例的一种稀疏校验矩阵的逐行读取过程示意图;
图7是本发明一个实施例的一种稀疏校验矩阵的逐列读取过程示意图;
图8是本发明一个实施例的校验节点的搜索排序过程示意图;
图9a是本发明一个实施例的第一次校验节点的搜索排序结果示意图;
图9b是本发明一个实施例的第二次校验节点的搜索排序结果示意图;
图9c是本发明一个实施例的最后一次校验节点的搜索排序结果示意图;
图10是本发明一个实施例的一种多进制LDPC解码算法的优化装置的示意图;
图11是本发明一个实施例的一种解码器的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本发明。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
下面通过具体实施例来说明本发明的技术方案。
从图1所示的NB-LDPC迭代解码算法的流程中可以看出,校验节点更新作为解码算法的核心,需要参与每一次的迭代操作,而且由于其计算复杂度比变量节点更新更高,因此,降低解码算法的时间复杂度的关键便在于降低校验节点更新的操作复杂度。
校验节点更新的基本操作是从两个有序的置信度队列中提取出包含若干个符号不重复的元素的有序置信度队列,其操作过程包括采用两个有序的置信度队列构建虚拟矩阵、对虚拟矩阵中的各个元素进行搜索排序得到置信度输出队列等步骤。
如图2所示,是现有技术中校验节点的搜索排序过程示意图,按照图2所示的过程对虚拟矩阵进行搜索和排序可以包括如下步骤:
(2.1)将第一列(或者第一行)的元素导入至一个排序表中;
(2.2)选择排序表中的置信度最大值,判断其对应的符号是否已经在输出符号队列中,如果不存在,则将该置信度元素和对应的符号元素插入置信度输出队列和符号输出队列中,否则直接舍弃该元素;
(2.3)取该元素右方(或者下方)的元素,并插入排序表中;
(2.4)重复步骤(2.2)和(2.3),直至在置信度输出队列中插入最后一个元素。
在上述搜索排序过程中,并没有充分利用输入的两个置信度队列均是有序队列的信息,导致搜索和排序效率较低。
另一方面,对于NB-LDPC迭代解码算法,变量节点更新和校验节点更新都需要频繁访问稀疏校验矩阵的整行和整列。其中,变量节点更新需要对稀疏校验矩阵逐列地进行计算,而校验节点更新则需要对稀疏校验矩阵逐行地进行计算。但在实际中,针对稀疏校验矩阵,为了节省其存储空间,通常利用其稀疏特性按照行或列的顺序存储其非0元素以及对应行和列序号。如图3所示,是现有技术中常见的稀疏校验矩阵的存储示意图,上述存储方法根本不利于NB-LDPC迭代解码算法对稀疏校验矩阵逐行和逐列的非0元素进行快速索引。
事实上,由于校验节点更新时输入的两个置信度队列均是逆序队列,据此构建出的的虚拟矩阵中任一元素均大于或等于其右下方元素(包括正右方元素和正下方元素),并且,频繁地对稀疏校验矩阵逐行地进行计算也只需要逐行地访问稀疏校验矩阵中的各个非0元素。因此,根据上述分析,提出了本发明实施例的核心构思在于,根据输入的两个置信度队列均是有序队列的信息,通过沿着虚拟矩阵边界向右和向下两个方同时进行搜索可以避免不必要的排序操作,进而有效地提高搜索和排序的效率;在此基础上同时按照行和列的方式存储稀疏元素,其中按行存储时保存每行的列序号及行分隔符,按列存储时保存每列的行序号及列分隔符,可以在不明显增加存储空间的前提下,显著提高稀疏校验矩阵的访问速度。通过上述两方面的优化处理,可以有效地降低NB-LDPC迭代解码算法的时间复杂度。
参照图4,示出了本发明一个实施例的一种多进制LDPC解码算法的优化方法的步骤流程示意图,具体可以包括如下步骤:
S401、获取待读取的稀疏校验矩阵;
需要说明的是,本方法可以应用于对多进制LDPC(NB-LDPC)码的解码过程中。
为了降低在对NB-LDPC码进行解码时的计算复杂度,可以通过降低校验节点更新的操作复杂度来实现。由于校验节点更新需要对稀疏校验矩阵逐行地进行计算,本实施例首先对稀疏校验矩阵的存储及读取方式进行了优化。
在矩阵中,若数值为0的元素数量远远多于非0元素的数量,并且非0元素的分布没有规律时,则称该矩阵为稀疏矩阵。
例如,在一个200×100的矩阵中有20000个元素,该矩阵中大部分元素是0元素,只有400个非0元素,则可以称该矩阵为稀疏矩阵。
在多进制LDPC码的编解码过程中,需要使用校验矩阵来验证接收码字的正确性,并在一定程度上纠正错误的接收码字。为了降低校验过程的计算复杂度,一般会把校验矩阵设计成稀疏的,即稀疏校验矩阵。
通常,稀疏校验矩阵是可以预先知道的,而且在迭代过程中是不变的,迭代过程中需要反复使用到该稀疏校验矩阵。
在本发明实施例中,待读取的稀疏校验矩阵可以是在采用NB-LDPC迭代解码算法时,用于验证接收码字的正确性,并在一定程度上纠正错误的接收码字的已存储的稀疏校验矩阵。
通常,为了节省存储空间,可以只存储稀疏矩阵的非0元素。如果按照这样的方式进行存储,不但要存储非0元素的值,而且还要存储该元素对应的行序号和列序号,也就是这个非0元素在矩阵中的位置。
由于稀疏校验矩阵是事先给定的,因此矩阵中的非0元素的值、行序号和列序号也可以是事先确定的。
因此,待读取的稀疏校验矩阵可以按照如下方式进行存储获得:
针对原始稀疏校验矩阵的每一行,逐行存储每一行中的非0元素、该非0元素的列序号,以及每一行的行分隔符;针对原始稀疏校验矩阵的每一列,逐列存储每一列中的非0元素、该非0元素的行序号,以及每一列的列分隔符。
在具体实现中,针对原始稀疏校验矩阵的每一行,可以按照顺序依次存储每一行中的非0元素、该非0元素的列序号以及每一行的行分隔符。上述每一行的行分隔符可以为每一行非0元素的数量,也可以是每一行非0元素的起始位置或结束位置。
类似的,针对稀疏校验矩阵的每一列,也可以按照顺序依次存储每一列中的非0元素、该非0元素的行序号以及每一列的列分隔符。上述每一列的列分隔符可以为每一列非0元素的数量,也可以是每一列非0元素的起始位置或结束位置。
例如,对于3x3简单的矩阵H为例,若H表示如下,
H=[
2,0,3
0,1,0
1,0,3
]
则按列存储顺序可以表示为D=[2(1),1(3),1(2),3(1),3(3)],其中,小括号内数字为该非0元素对应的行号,列分隔符可以表示为S=[2,1,2],即每一列非0元素的数量。
如图5所示,便是本发明实施例的稀疏校验矩阵的存储示意图。在图5中,分别按行存储有各行的非0元素及其对应的列序号、每一行的行分隔符;以及按列存储有各列的非0元素及其对应的行序号、每一列的列分隔符。
本实施例通过按行存储时保存每行的列序号及行分隔符,按列存储时保存每列的行序号及列分隔符,在不明显增加存储空间的前提下,能够在采用NB-LDPC迭代解码算法时显著提高稀疏校验矩阵的索引效率和访问速度。
S402、逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素;
如图6所示,是本发明实施例的一种稀疏校验矩阵的逐行读取过程示意图。参照图6所示的读取方式,可以按照如下步骤进行读取:
(1)顺序读取元素和对应的列序号;
(2)如果遇到行分隔符,则行序号加1,转入下一行进行读取;
(3)如此逐行读取,直至最后一行结束。
如图7所示,是本发明实施例的一种稀疏校验矩阵的逐列读取过程示意图。参照图7所示的读取方式,可以按照如下步骤进行读取:
(1)顺序读取元素和对应的行序号;
(2)如果遇到列分隔符,则列序号加1,转入下一列进行读取;
(3)如此逐列读取,直至最后一列结束。
在本发明实施例中,变量节点更新需要对稀疏校验矩阵逐列地进行计算。因此,按照本实施例的稀疏校验矩阵的存储方式及读取方式,可以有效降低变量节点更新的解码复杂度。
S403、根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵;
在本发明实施例中,在对稀疏校验矩阵的存储及读取方式进行优化的基础上,可以继续对校验节点的搜索及排序方式进行优化,进一步降低NB-LDPC迭代解码算法的时间复杂度。
在本发明实施例中,在对校验节点进行更新时,可以首先确定当前的置信度虚拟矩阵。
在具体实现中,可以确定逆序排列的两个置信度输入队列,然后依据上述两个置信度输入队列,构建置信度虚拟矩阵。
需要说明的是,两个置信度输入队列中的各个元素均具有对应的符号,该符号可以通过数值表示。例如,以64进制LDPC为例,上述各个元素的符号可以以0-63共64个数值中的其中一个数值表示,该数值对应的置信度即表示该符号的概率。
因此,在构建置信度虚拟矩阵时,还可以分别确定逆序排列的两个置信度输入队列对应的两个符号队列,并依据两个符号队列,构建虚拟符号矩阵。上述置信度虚拟矩阵中各个元素的符号与上述虚拟符号矩阵对应位置的符号相同。
如图8所示,是本发明一个实施例的校验节点的搜索排序过程示意图,假定U和I为按照从大到小排列的两个置信度输入队列,它们对应的符号队列分别为βU和βI,那么,可以按照如下公式构建置信度虚拟矩阵及虚拟符号矩阵:
其中,M为置信度虚拟矩阵,βM为虚拟符号矩阵(图中未示出),j、p为两个置信度输入队列和符号队列中对应的元素的序号。
需要说明的是,通常,对于两个2*1的一维数组,通过将对应位置的元素值相加,可以组成一个2*2的矩阵。因此,上述置信度虚拟矩阵M可以是对两个置信度输入队列U和I对应位置的元素值直接相加得到的,但在构建上述虚拟符号矩阵βM时,对对应位置的元素值相加则是指在有限域上的加法操作。
S404、基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同;
在构建出置信度虚拟矩阵后,可以提取该置信度虚拟矩阵的左上角第一个元素插入动态排序表。
在本发明实施例中,由于构建置信度虚拟矩阵M的两个置信度输入队列U和I均是按照逆序排列的有序队列,因此,构建出的置信度虚拟矩阵M的左上角第一个元素对应的置信度应当是该矩阵中的置信度最大值。此时,可以直接将该元素插入动态排序表中。
然后,通过识别动态排序表中的置信度最大值对应的目标元素,可以将上述目标元素插入置信度输出队列。
在本发明实施例中,若在将置信度虚拟矩阵的左上角第一个元素插入动态排序表前,动态排序表为空,则当前插入的置信度虚拟矩阵的左上角第一个元素即是置信度最大值对应的目标元素,可以直接将该目标元素插入置信度输出队列。
通过对图8中所示的动态排序表中的各个元素对应的置信度进行比较,可以将置信度最大值对应的目标元素插入置信度输出队列V中。
同样的,由于构建置信度虚拟矩阵M的两个置信度输入队列U和I均是按照逆序排列的有序队列,因此,在该置信度虚拟矩阵M的左上角第一个元素的右侧元素和下方元素的置信度应当至少不小于置信度虚拟矩阵M中的其他元素的置信度。
因此,可以提取在上述置信度虚拟矩阵中目标元素的右侧元素和下方元素插入动态排序表。
在具体实现中,可以首先提取在置信度虚拟矩阵中目标元素的右侧元素和下方元素,然后逐个判断该右侧元素或下方元素对应的符号是否已在动态排序表或置信度输出队列中,若右侧元素或下方元素对应的符号已在动态排序表或置信度输出队列中,则可以舍弃该右侧元素或下方元素;若右侧元素或下方元素对应的符号未在动态排序表及置信度输出队列中,则可以将该右侧元素或下方元素插入动态排序表。
需要说明的是,对上述右侧元素或下方元素进行处理应当是分别进行的。即,可以首先判断右侧元素对应的符号是否已在动态排序表或置信度输出队列中,若在动态排序表或置信度输出队列存在上述右侧元素对应的符号,则可以将该元素舍弃,再对下方元素进行判断;若在动态排序表和置信度输出队列中均不存在上述右侧元素对应的符号,则可以将该右侧元素插入到动态排序表中,然后再对下方元素进行判断。对下方元素进行判断的过程与对右侧元素进行判断的过程类似。
当然,也可以首先对下方元素进行处理,在确定是需要舍弃该下方元素或需要插入至动态序列表后,再对右侧元素进行处理,本实施例对上述两个元素处理过程的先后顺序不作限定。
在得到动态排序表和置信度输出队列后,可以依据动态排序表和置信度输出队列,生成置信度目标输出队列。上述置信度目标输出队列中各个元素的符号互不相同。
在本发明实施例中,可以通过重复执行识别动态排序表中的置信度最大值对应的目标元素,将目标元素插入置信度输出队列,以及,提取在置信度虚拟矩阵中目标元素的右侧元素和下方元素插入动态排序表的步骤来生成置信度目标输出队列。
当然,在此过程中,还需要确定置信度输出队列中各个元素的符号,通过舍弃符号相同的各个元素,直至在置信度输出队列中插入最后一个元素,从而生成置信度目标输出队列。
假定两个置信度输入队列U和I分别表示如下:
U=[15,14,14,13,11,10,10,9]
I=[15,13,12,10,10,9,9,8]
为了描述的方便和简洁,假定以下搜索排序步骤中符号不重复。那么,按照本实施例上述步骤所描述的过程进行校验节点的搜索排序时,可以首先提取置信度虚拟矩阵左上角第一个元素即30插入动态排序表,通过比较,该元素为动态排序表中置信度最大值,因此可以将该元素插入置信度输出队列,然后,将置信度虚拟矩阵上述元素的右侧元素29和下方元素28插入动态虚拟表,得到如图9a所示的第一次校验节点的搜索排序结果。然后重复上述过程,可以得到如图9b所示的第二次校验节点的搜索排序结果,直至如图9c所示的最后一次的校验节点的搜索排序结果。
因此,生成的置信度目标输出队列可以表示为:
I=[30,29,29,28,28,27,27,27]
在本发明实施例中,在得到置信度目标输出队列后,可以采用上述置信度目标输出队列对多进制LDPC码进行解码操作。
在本发明实施例中,为了降低多进制LDPC码的解码的空间复杂度,还可以对置信度目标输出队列进行量化。
因此,在本发明实施例中,可以首先对置信度目标输出队列进行量化处理,得到置信度最终输出队列,然后采用上述置信度最终输出队列对多进制LDPC码进行解码操作。
在量化过程中,可以将更多的比特用于区分置信度值较大的部分,而将更少的比特用于区分置信度值较小的部分,即置信度值较大的部分占用更多的比特数,置信度值较小的部分占用更少的比特数,甚至在量化比特数有限的情况下不占用比特数。
在具体实现中,在对置信度目标输出队列进行量化处理时,可以首先预设量化处理的比特数,然后将置信度目标输出队列中的最大值量化为预设比特数对应的最大整数;通过分别确定上述置信度目标输出队列中各个元素的置信度与置信度最大值之间的差值,从而可以以该差值对应的队列加上最大整数作为置信度最终输出队列。
以步骤S404中得到的置信度目标输出队列为例,在量化时,可以首先确定量化处理的比特数,例如,可以是5比特。
然后,确定置信度目标输出队列中的最大值即30对应的最大整数为15(即2N-1-1),通过分别确定上述置信度目标输出队列中各个元素的置信度与最大整数15之间的差值,从而可以得到置信度最终输出队列,即:
I=[15,14,14,13,13,12,12,12]
在本发明实施例中,通过同时按照行和列的方式存储稀疏元素,其中按行存储时保存每行的列序号及行分隔符,按列存储时保存每列的行序号及列分隔符,可以在不明显增加存储空间的前提下,显著提高稀疏校验矩阵的访问速度;在此基础上,本实施例根据输入的两个置信度队列均是有序队列的信息,通过沿着虚拟矩阵边界向右和向下两个方同时进行搜索可以避免不必要的排序操作,进而有效地提高搜索和排序的效率。通过上述两方面的优化处理,可以有效地降低NB-LDPC迭代解码算法的时间复杂度。
需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参照图10,示出了本发明一个实施例的一种多进制LDPC解码算法的优化装置的示意图,具体可以包括如下模块:
获取模块1001,用于获取待读取的稀疏校验矩阵;
优化模块1002,用于通过逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素,对多进制LDPC解码算法的时间复杂度进行优化;
所述优化模块1002还用于根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵,基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同;
其中,所述待读取的稀疏校验矩阵通过调用如下模块进行存储获得:
逐行存储模块,用于针对原始稀疏校验矩阵的每一行,逐行存储所述每一行中的非0元素、所述非0元素的列序号,以及所述每一行的行分隔符;
逐列存储模块,用于针对所述原始稀疏校验矩阵的每一列,逐列存储所述每一列中的非0元素、所述非0元素的行序号,以及所述每一列的列分隔符。
在本发明实施例中,所述优化模块1002具体可以包括如下子模块:
逐行读取子模块,用于针对所述待读取的稀疏校验矩阵的每一行,顺序读取所述每一行中的非0元素以及所述非0元素的列序号;当读取到行分隔符时,对当前的行序号递增并转入下一行中进行读取;
逐列读取子模块,用于针对所述待读取的稀疏校验矩阵的每一列,顺序读取所述每一列中的非0元素以及所述非0元素的行序号;当读取到列分隔符时,对当前的列序号递增并转入下一列中进行读取。
在本发明实施例中,所述优化模块1002还可以包括如下子模块:
初始元素提取子模块,用于提取所述置信度虚拟矩阵的左上角第一个元素插入动态排序表;
目标元素插入子模块,用于识别所述动态排序表中的置信度最大值对应的目标元素,将所述目标元素插入置信度输出队列;
中间元素插入子模块,用于提取在所述置信度虚拟矩阵中所述目标元素的右侧元素和下方元素插入所述动态排序表;
置信度目标输出队列生成子模块,用于依据所述动态排序表和所述置信度输出队列,生成置信度目标输出队列。
在本发明实施例中,所述中间元素插入子模块具体可以包括如下单元:
中间元素提取单元,用于提取在所述置信度虚拟矩阵中所述目标元素的右侧元素和下方元素;
中间元素判断单元,用于逐个判断所述右侧元素或所述下方元素对应的符号是否已在所述动态排序表或所述置信度输出队列中;
中间元素舍弃单元,用于若所述右侧元素或所述下方元素对应的符号已在所述动态排序表或所述置信度输出队列中,则舍弃所述右侧元素或所述下方元素;
中间元素插入单元,用于若所述右侧元素或所述下方元素对应的符号未在所述动态排序表及所述置信度输出队列中,则将所述右侧元素或所述下方元素插入所述动态排序表。
在本发明实施例中,所述置信度目标输出队列生成子模块具体可以包括如下单元:
调用单元,用于重复调用所述目标元素插入子模块和所述中间元素插入子模块;
元素符号确定单元,用于确定所述置信度输出队列中各个元素的符号;
置信度目标输出队列生成单元,用于舍弃所述符号相同的各个元素,直至在所述置信度输出队列中插入最后一个元素,生成置信度目标输出队列。
在本发明实施例中,所述置信度输入队列为逆序排列的置信度输入队列,所述各个元素的符号通过调用如下子模块确定:
符号队列确定子模块,用于分别确定逆序排列的两个置信度输入队列对应的两个符号队列;
虚拟符号矩阵构建子模块,用于依据所述两个符号队列,构建虚拟符号矩阵,所述置信度虚拟矩阵中各个元素的符号与所述虚拟符号矩阵对应位置的符号相同。
在本发明实施例中,所述优化模块1002还可以包括如下子模块:
最大值量化子模块,用于将所述置信度目标输出队列中的最大值量化为预设比特数对应的最大整数;
置信度最终输出队列生成子模块,用于分别确定所述置信度目标输出队列中各个元素的置信度与所述置信度最大值之间的差值,以所述差值对应的队列加上所述最大整数作为所述置信度最终输出队列。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
参照图11,示出了本发明一个实施例的一种解码器的示意图。如图11所示,本实施例的解码器1100包括:处理器1110、存储器1120以及存储在所述存储器1120中并可在所述处理器1110上运行的计算机程序1121。所述处理器1110执行所述计算机程序1121时实现上述多进制LDPC解码算法的优化方法各个实施例中的步骤,例如图4所示的步骤S401至S404。或者,所述处理器1110执行所述计算机程序1121时实现上述各装置实施例中各模块/单元的功能,例如图10所示模块1001至1002的功能。
示例性的,所述计算机程序1121可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1120中,并由所述处理器1110执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序1121在所述解码器1100中的执行过程。例如,所述计算机程序1121可以被分割成获取模块、优化模块,各模块具体功能如下:
获取模块,用于获取待读取的稀疏校验矩阵;
优化模块,用于通过逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素,对多进制LDPC解码算法的时间复杂度进行优化;
所述优化模块还用于根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵,基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同;
其中,所述待读取的稀疏校验矩阵通过调用如下模块进行存储获得:
逐行存储模块,用于针对原始稀疏校验矩阵的每一行,逐行存储所述每一行中的非0元素、所述非0元素的列序号,以及所述每一行的行分隔符;
逐列存储模块,用于针对所述原始稀疏校验矩阵的每一列,逐列存储所述每一列中的非0元素、所述非0元素的行序号,以及所述每一列的列分隔符。
所述解码器1100可以是桌上型计算机、笔记本、掌上电脑、云端服务器等计算设备、导航模块、授时模块等。所述解码器1100可包括,但不仅限于,处理器1110、存储器1120。本领域技术人员可以理解,图11仅仅是解码器1100的一种示例,并不构成对解码器1100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述解码器1100还可以包括输入输出设备、网络接入设备、总线等。
所述处理器1110可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1120可以是所述解码器1100的内部存储单元,例如解码器1100的硬盘或内存。所述存储器1120也可以是所述解码器1100的外部存储设备,例如所述解码器1100上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器1120还可以既包括所述解码器1100的内部存储单元也包括外部存储设备。所述存储器1120用于存储所述计算机程序1121以及所述解码器1100所需的其他程序和数据。所述存储器1120还可以用于暂时地存储已经输出或者将要输出的数据。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明。实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置/终端设备的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其他的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一方面,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多进制LDPC解码算法的优化方法,其特征在于,包括:
获取待读取的稀疏校验矩阵;
通过逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素,对多进制LDPC解码算法的时间复杂度进行优化;
所述对多进制LDPC解码算法的时间复杂度进行优化还包括:
根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵;
基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同;
其中,所述待读取的稀疏校验矩阵按照如下方式进行存储获得:
针对原始稀疏校验矩阵的每一行,逐行存储所述每一行中的非0元素、所述非0元素的列序号,以及所述每一行的行分隔符;
针对所述原始稀疏校验矩阵的每一列,逐列存储所述每一列中的非0元素、所述非0元素的行序号,以及所述每一列的列分隔符。
2.根据权利要求1所述的方法,其特征在于,所述逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素的步骤包括:
针对所述待读取的稀疏校验矩阵的每一行,顺序读取所述每一行中的非0元素以及所述非0元素的列序号;当读取到行分隔符时,对当前的行序号递增并转入下一行中进行读取;
针对所述待读取的稀疏校验矩阵的每一列,顺序读取所述每一列中的非0元素以及所述非0元素的行序号;当读取到列分隔符时,对当前的列序号递增并转入下一列中进行读取。
3.根据权利要求1所述的方法,其特征在于,所述基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列的步骤包括:
提取所述置信度虚拟矩阵的左上角第一个元素插入动态排序表;
识别所述动态排序表中的置信度最大值对应的目标元素,将所述目标元素插入置信度输出队列;
提取在所述置信度虚拟矩阵中所述目标元素的右侧元素和下方元素插入所述动态排序表;
依据所述动态排序表和所述置信度输出队列,生成置信度目标输出队列。
4.根据权利要求3所述的方法,其特征在于,所述提取在所述置信度虚拟矩阵中所述目标元素的右侧元素和下方元素插入所述动态排序表的步骤包括:
提取在所述置信度虚拟矩阵中所述目标元素的右侧元素和下方元素;
逐个判断所述右侧元素或所述下方元素对应的符号是否已在所述动态排序表或所述置信度输出队列中;
若所述右侧元素或所述下方元素对应的符号已在所述动态排序表或所述置信度输出队列中,则舍弃所述右侧元素或所述下方元素;
若所述右侧元素或所述下方元素对应的符号未在所述动态排序表及所述置信度输出队列中,则将所述右侧元素或所述下方元素插入所述动态排序表。
5.根据权利要求4所述的方法,其特征在于,所述依据所述动态排序表和所述置信度输出队列,生成置信度目标输出队列的步骤包括:
重复执行识别所述动态排序表中的置信度最大值对应的目标元素,将所述目标元素插入置信度输出队列,以及,提取在所述置信度虚拟矩阵中所述目标元素的右侧元素和下方元素插入所述动态排序表的步骤;
确定所述置信度输出队列中各个元素的符号;
舍弃所述符号相同的各个元素,直至在所述置信度输出队列中插入最后一个元素,生成置信度目标输出队列。
6.根据权利要求3所述的方法,其特征在于,所述置信度输入队列为逆序排列的置信度输入队列,所述各个元素的符号通过如下步骤确定:
分别确定逆序排列的两个置信度输入队列对应的两个符号队列;
依据所述两个符号队列,构建虚拟符号矩阵,所述置信度虚拟矩阵中各个元素的符号与所述虚拟符号矩阵对应位置的符号相同。
7.根据权利要求3所述的方法,其特征在于,还包括:
将所述置信度目标输出队列中的最大值量化为预设比特数对应的最大整数;
分别确定所述置信度目标输出队列中各个元素的置信度与所述置信度最大值之间的差值,以所述差值对应的队列加上所述最大整数作为所述置信度最终输出队列。
8.一种多进制LDPC解码算法的优化装置,其特征在于,包括:
获取模块,用于获取待读取的稀疏校验矩阵;
优化模块,用于通过逐行或逐列读取所述待读取的稀疏校验矩阵中的非0元素,对多进制LDPC解码算法的时间复杂度进行优化;
所述优化模块还用于根据两个有序的置信度输入队列确定当前的置信度虚拟矩阵,基于所述置信度虚拟矩阵,对多进制LDPC码的校验节点进行更新,生成置信度目标输出队列,所述置信度目标输出队列中各个元素的符号互不相同;
其中,所述待读取的稀疏校验矩阵通过调用如下模块进行存储获得:
逐行存储模块,用于针对原始稀疏校验矩阵的每一行,逐行存储所述每一行中的非0元素、所述非0元素的列序号,以及所述每一行的行分隔符;
逐列存储模块,用于针对所述原始稀疏校验矩阵的每一列,逐列存储所述每一列中的非0元素、所述非0元素的行序号,以及所述每一列的列分隔符。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述多进制LDPC解码算法的优化方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述多进制LDPC解码算法的优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811645443.0A CN111384972B (zh) | 2018-12-29 | 2018-12-29 | 多进制ldpc解码算法的优化方法、装置及解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811645443.0A CN111384972B (zh) | 2018-12-29 | 2018-12-29 | 多进制ldpc解码算法的优化方法、装置及解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111384972A true CN111384972A (zh) | 2020-07-07 |
CN111384972B CN111384972B (zh) | 2023-05-26 |
Family
ID=71218300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811645443.0A Active CN111384972B (zh) | 2018-12-29 | 2018-12-29 | 多进制ldpc解码算法的优化方法、装置及解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111384972B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233720A (zh) * | 2020-10-27 | 2021-01-15 | 北京紫光得瑞科技有限公司 | 低时延ldpc解码器的硬件实现方法、装置及解码器 |
CN113285723A (zh) * | 2021-04-26 | 2021-08-20 | 武汉梦芯科技有限公司 | 一种ldpc译码过程中校验节点更新方法、系统及存储介质 |
WO2023025321A1 (en) * | 2021-08-27 | 2023-03-02 | Huawei Technologies Co., Ltd. | Systems and methods for executing forward error correction coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409564A (zh) * | 2008-11-25 | 2009-04-15 | 南京邮电大学 | 一种基于稳定子码的量子低密度奇偶校验码的构造方法 |
CN101604977A (zh) * | 2008-06-13 | 2009-12-16 | 联发科技股份有限公司 | 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器 |
CN103944587A (zh) * | 2014-05-07 | 2014-07-23 | 四川大学 | 一种有序排列非零元素的多进制ldpc码校验矩阵构造方法 |
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
-
2018
- 2018-12-29 CN CN201811645443.0A patent/CN111384972B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604977A (zh) * | 2008-06-13 | 2009-12-16 | 联发科技股份有限公司 | 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器 |
CN101409564A (zh) * | 2008-11-25 | 2009-04-15 | 南京邮电大学 | 一种基于稳定子码的量子低密度奇偶校验码的构造方法 |
CN103944587A (zh) * | 2014-05-07 | 2014-07-23 | 四川大学 | 一种有序排列非零元素的多进制ldpc码校验矩阵构造方法 |
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233720A (zh) * | 2020-10-27 | 2021-01-15 | 北京紫光得瑞科技有限公司 | 低时延ldpc解码器的硬件实现方法、装置及解码器 |
CN113285723A (zh) * | 2021-04-26 | 2021-08-20 | 武汉梦芯科技有限公司 | 一种ldpc译码过程中校验节点更新方法、系统及存储介质 |
WO2023025321A1 (en) * | 2021-08-27 | 2023-03-02 | Huawei Technologies Co., Ltd. | Systems and methods for executing forward error correction coding |
US11968039B2 (en) | 2021-08-27 | 2024-04-23 | Huawei Technologies Co., Ltd. | Systems and methods for executing forward error correction coding |
Also Published As
Publication number | Publication date |
---|---|
CN111384972B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111384972A (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
US9998145B2 (en) | Data processing method and device | |
CN104124979A (zh) | 极性码的译码方法和译码装置 | |
US20220005546A1 (en) | Non-redundant gene set clustering method and system, and electronic device | |
CN110545162B (zh) | 基于码元可靠优势度节点子集划分准则的多元ldpc译码方法及装置 | |
US20110179337A1 (en) | Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof | |
WO2020114469A1 (zh) | 排序方法、装置、电子设备及介质 | |
WO2016170140A1 (en) | Check node of non-binary ldpc decoder and corresponding method | |
CN111224674B (zh) | 多进制ldpc码的解码方法、装置及解码器 | |
CN112332854A (zh) | 霍夫曼编码的硬件实现方法、装置及存储介质 | |
KR20190019798A (ko) | 채널 편파 코드의 연속 제거 리스트 디코딩을 위한 효율적인 생존 메모리 아키텍처 | |
CN111384976A (zh) | 稀疏校验矩阵的存储方法和读取方法 | |
CN108933604B (zh) | 一种变量节点处理方法及装置 | |
CN108062289B (zh) | 快速傅里叶变换fft地址换序方法、信号处理方法及装置 | |
CN111384973A (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
CN112800183B (zh) | 内容名称数据处理方法及终端设备 | |
CN110474647B (zh) | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 | |
CN111384974B (zh) | 多进制ldpc码的置信度量化方法、装置及解码器 | |
EP3841673A1 (en) | Apparatuses and methods for mapping frozen sets between product codes and component polar codes | |
CN111384975A (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
CN110708077A (zh) | Ldpc码大数逻辑译码方法、装置和译码器 | |
WO2020052770A1 (en) | Decoders and methods for decoding polar codes and product codes | |
JP7495933B2 (ja) | ソート方法、装置、電子デバイス及びコンピュータプログラム | |
CN114047876B (zh) | 基于列式存储的数据排序方法、设备及存储介质 | |
CN107094022B (zh) | 一种用于VLSI设计的Huffman编码系统的实现方法 |
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 |