CN102347774A - 低密度奇偶检查码编解码方法 - Google Patents

低密度奇偶检查码编解码方法 Download PDF

Info

Publication number
CN102347774A
CN102347774A CN2010102424452A CN201010242445A CN102347774A CN 102347774 A CN102347774 A CN 102347774A CN 2010102424452 A CN2010102424452 A CN 2010102424452A CN 201010242445 A CN201010242445 A CN 201010242445A CN 102347774 A CN102347774 A CN 102347774A
Authority
CN
China
Prior art keywords
parity check
matrix
low
coding
node
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.)
Pending
Application number
CN2010102424452A
Other languages
English (en)
Inventor
翁咏禄
汪宇伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Tsing Hua University NTHU
Original Assignee
National Tsing Hua University NTHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Tsing Hua University NTHU filed Critical National Tsing Hua University NTHU
Priority to CN2010102424452A priority Critical patent/CN102347774A/zh
Publication of CN102347774A publication Critical patent/CN102347774A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明提供一种低密度奇偶检查码编解码方法,尤其是一种低复杂度以及多模式的低密度奇偶检查码编译码方法,其将译码的运算切割为基本的任务,并利用单一硬件处理这些任务,使得硬件构造简单,且可应用于不同码率及码长的低密度奇偶检查码。根据本发明一实施例的编译码器在存取存储器时,使用固定的联机方式以及存储器地址产生器,因此可减少硬件构造复杂度。再者,本发明具有早期终止功能,与本发明的编码方法兼容,可提早终止迭代运算次数,因此可降低功率损耗。

Description

低密度奇偶检查码编解码方法
技术领域
本发明相关于一种低密度奇偶检查码编译码方法,特别是相关于一种低复杂度(low complexity)以及多模式(multi-mode)的低密度奇偶检查码编解码方法。
背景技术
低密度奇偶检查码(low-density parity-check codes,简称LDPC)是一种错误更正码(error correction code),应用于具噪声信道(noisychannel)传输信息的编解码。LDPC码C为由一稀疏奇偶检查矩阵(sparse parity-check matrix)H所定义。LDPC码由于对应的奇偶检查矩阵(parity-check matrix,简称PCM)H内的“1”密度低,所以被称为“低密度”(low-density)。此特性使其在解码动作上可降低复杂度。由于其优异的改错效能,次世代的信道编码技术多采用LDPC码,例如IEEE802.16e的无线都会局域网络(WorldwideInteroperability for Microwave Access,简称WiMAX)。
WiMAX标准采用准循环LDPC码(quasi-cyclic LDPC,简称QC-LDPC),为区块(block)型的错误更正码。对于定义一个QC-LDPC码C,通常需要定义与其对应的奇偶检查矩阵H。H可表示为一个大小为M×N(M by N)的矩阵,其可由一个大小为Mb×Nb的二进制基底矩阵(binary base matrix)Hb所展开,其中M=z×Mb以及N=z×Nb,而z为一正整数,称为展开因子(expansion factor)。在Hb矩阵中,每一个对应0(zeros)的位置皆可为一个z×z的零矩阵(zero matrix)所取代,而每一个对应1(ones)的位置皆可为一个z×z的排列矩阵(permutation matrix)所取代。该z×z的排列矩阵(permutation matrix)通过将一个单位矩阵(identity matrix)循环右移(cyclically right shit)而被得到。第一图显示一个奇偶检查矩阵H的表示法,如上所述,矩阵元素Pi,j可为一个z×z的排列矩阵(permutation matrix)或者一个z×z的零矩阵(zero matrix),其中i为Hb矩阵的列索引(row index)且j为Hb矩阵的行索引(column index)。
因每一排列矩阵由一单位矩阵循环右移而得,因此二进制基底矩阵以及由排列矩阵取代的数据可以相互结合,而形成单一的较为简洁的原型矩阵(prototype matrix)Hbm,其与基底矩阵Hb具有相同的大小,每一个基底矩阵Hb的0(zeros)由一个空白或者负值,例如-1取代,表示一个完全由零所构成的零矩阵;而每一个基底矩阵Hb的1(ones),则由其循环右移的位移量所取代。该原型矩阵Hbm亦可直接展开而得奇偶检查矩阵H。图2A以及图2B分别显示一个原型矩阵Hbm以及一个奇偶检查矩阵H的范例,其中图2B中的03x3表示一个3×3的零矩阵。
WiMAX标准包括1/2、2/3A、2/3B、3/4A、3/4B、5/6六种码率(code rates),或者称为类别(class);对于每一种码率,WiMAX标准提供一原型矩阵,因此在WiMAX标准下共有六种原型矩阵。第三图显示,在WiMAX标准下,其中当z为96而码率为5/6时的原型矩阵Hbm,其中z为展开因子。在WiMAX标准下,每一个类别包括19种不同码长的QC-LDPC码,分别由24,28,32,...,96等19个不同的展开因子z所指定,其中码长可表示为24z。因此在WiMAX下,共有6x19=114种不同的QC-LDPC码。
因WiMAX标准为根据码率来个别指定不同的原型矩阵;进一步而言,在WiMAX标准下,LDPC码以码率以及码长为参数而指定。因此,设计一种具有弹性的硬设备,使大部份的硬件资源可在不同WiMAX模式(modes)下重复使用(re-use)且使硬件构造简化乃是一重要的课题。
LDPC码经常以图式的方式表示,称为Tanner图;Tanner图为一偶图(bipartite graphs)。图4A以及图4B分别显示一个LDPC码以及其所对应的Tanner图。一个PCM矩阵H的每一列相对应于一个检查节点(check node),而其每一行则相对应于一个变量节点(variable node);图4A的PCM矩阵H共有9行以及6列,因此其所对应的Tanner图第一层有9个变量节点,以圆圈内的数字表示对应的行索引;而第二层则有6个检查节点,以方块内的数字表示其对应的列索引。PCM矩阵H中(i,j)元素(elements)为1者代表第i个检查节点与第j个变量节点之间存在一棱(edge)相连。
LDPC码的错误更正效率与迭代(iteration)次数呈正相关,因此对于不佳的通道,必须进行较多的迭代,以期提高错误更正效率。为了增加译码器的产出量(throughput),完成一次迭代的处理周期(processing cycles)的数目或是需要使得一个给定位误码率(bit errorrate,简称BER)所需要迭代数目必须减少。现有技术中提出一种重迭译码(overlapped decoding),将变量节点(variable node)以及检查节点(check node)的运算(operations)排程(scheduling),使两者其中的一些部分可以同步(concurrently)执行,因此可减少处理周期的数目。尚有习用双相位信息传递(Two-Phase Message Passing,简称TPMP)译码,变量节点仅能使用上一次迭代所产生的检查节点至变量节点(C2V)信息来进行更新。因此,需要较多的迭代次数,才可获致一个给定的BER效能。
发明内容
本发明的一目的在于提供一种低复杂度以及多模式的奇偶检查码编译码方法,将编码和译码运算分割为基本的分层、子层和任务,并且利用低密度奇偶检查码的准循环构造,使不同码率以及码长的LDPC码可共享硬件架构,因此可减少硬件构造上的复杂度。
本发明的另一目的在于提供一种可减少迭代数量的低密度奇偶检查码编译码方法,其可使用同一次迭代所产生的信息进行其它信息的更新,因此仅需要约半数的迭代,即可获致一个给定的BER效能。
本发明的再一目的在于提供一种具有早期终止的低密度奇偶检查编译码方法,其可减少解码迭代运算次数,并与分层译码兼容,因此可使系统所消耗的功率减少。该早期终止以及本发明一实施例的编码器共享部分的硬件资源,因此亦可降低硬件构造的复杂度。
根据本发明一实施例的低密度奇偶检查码编译码方法,其特征在于,所述方法包括:对于一低密度奇偶检查码的一奇偶检查矩阵以一列排列方式进行分层,使得该奇偶检查矩阵包括多个分层;以列为单位将这些分层中的每个分割为多个子层;以一无序(out-of-order)方式将这些子层中的每个重新排列分割为多个任务,而这些分层中的每个包括这些任务;通过一序列(sequential)方式处理该分层的这些任务中的每个。由于以任务为处理单元,因此可适用于WiMAX的各种类别以及不同码长。
本发明还包括一早期终止,其利用上述迭代解码运算中的运算值并通过进一步计算(如该计算输出值满足一定限),则可提早停止该迭代译码运算,因此可减少迭代处理次数,使功率耗损降低。
附图说明
为使本发明的上述和其它目的、特征、优点与实施例可容易了解,所附图式的详细说明如下:
图1显示一个类循环(quasi-cyclic)奇偶检查矩阵H的表示法;
图2A以及图2B分别显示一个原型矩阵Hbm以及一个PCM矩阵H的范例;
图3显示在WiMAX标准下,其中当z为96而码率为5/6时的原型矩阵,其中z为展开因子;
图4A与图4B分别显示一个LDPC码以及其所对应的Tanner图;
图5A显示通过LMPD-ICM重新排列图2B所表示的PCM所得的三个子矩阵H0’、H1’和H2’;
图5B显示对应图5AH0’的核心矩阵H0
图6显示WiMAX不同类别的分层(layers)、子层(sub-layers)、任务(tasks)以及其任务处理序列(processing sequence);
图7显示WiMAX下5/6码率且z为24的原型矩阵以及由计算机搜寻的五个对应任务;
图8显示根据本发明一实施例的硬件控制方块图;
图9显示本发明在5/6码率下的一实施例的硬件方块图;
图10A显示一个变量节点处理器(variable node processor,简称VNP)的硬件架构示意图;
图10B显示五个任务在VNP在5/6码率下的解码操作时序图(timing diagram);
图11A显示本发明的一实施例的多模式(multi-mode)地址产生器;
图11B显示本发明的一实施例的多模式VNU单元;
图11C显示本发明的一实施例的多模式列总和计算器;以及
图12显示本发明的一实施例所提出码长长度为2304译码器的BER结果。
具体实施方式
以下的说明以及范例用以解释本发明的细节。但是,本领域技术人员应可轻易了解,在本发明的实施例所涵盖下,所描述的这些实施例应有相当的变化以及改良。因此,所述的实施例并不用以限制本发明的范围。以下说明将本发明分为多个部份进行分别详述,但本发明并未限定必须如所划分的部分那样来分别实施,抑或选择某些特定区块组合而实施,分割说明仅为方便陈述与解释。此外,为方便说明,以下实施例以应用于WiMAX为范例,但本发明并未限定其实施只能用于WiMAX。
[LMPD-ICM与任务(tasks)]
考虑达成BER效能(performance)的快速收敛(fast-converge)以及多模式(multi-mode),例如适用于WiMAX所有的114种QC-LDPC码,本发明采用一种改良的分层译码,称为“使用相同核心矩阵的LMPD”(LMPD Using an Identical Core Matrix,简称LMPD-ICM)。
根据本发明的LMPD-ICM,将一QC-LDPC码C的PCM矩阵H的列切割为z层,并重新进行列排列(row permutation),其中第l层以Hl’表示,其包括PCM矩阵H的第l列、第z+l列、.......、以及第(Mb-1)z+l列,而0≤l<z且Mb为基底矩阵Hb的列数。上述的分层方式仅为一实施例,实际操作中的分层无须以上述者为限。例如,在另一实施例中,Hl’的第l层可包括PCM矩阵H的第(l+a0)mod(z)列、第z+(l+a1)mod(z)列、....、以及第(Mb-1)z+(l+aMb-1)mod(z)列,其中0≤l<z,a0、a1....至aMb-1可选自非负整数,而Mb为该奇偶检查矩阵的一基底矩阵的列数。之后,去除该矩阵Hl’的零行,则可得到第l层的核心矩阵(core martix)Hl。以图2B举例说明,其显示一个PCM矩阵H,将该矩阵H经过上述的重新列排列,可得如同图5A所显示三个矩阵H0’、H1’和H2’的Hl’;其中以矩阵H0’为例,其包括原PCM矩阵H的第0、3、6、9、以及12列,矩阵H1’以及H2’所包含的列数可以此类推。进一步将该矩阵H0’的零行删除,则可得如图5B所显示的核心子矩阵H0。核心子矩阵
H1以及H2可依同样方法分别由H1’以及H2’获得。
本发明的LMPD-ICM的分层切割,其目的在于将QC-LDPC码的PCM矩阵简化,减少硬件的处理或储存配置。所得的Hl为由QC-LDPC码的码位(code bits)而来的较精简型式。须说明的是,0≤l<z,这些核心矩阵Hl为彼此之间的行排列版本(column-permutatedversions)。另外,因PCM矩阵H的行顺序与译码无相关,虽进行LMPD-ICM的列排列,但PCM矩阵的简化或重新排列对译码并无影响。
再者对于WiMAX而言,在同一类别下的LDPC码,其核心矩阵几乎相同,致使WiMAX在同一类别下的19种不同LDPC码可共享相同的路径网络(routing network)。此性质使本发明可以简化构造译码的路径网络,致使所有的分层可共享相同的路径网络(routingnetworks)。此外,由图5B的核心子矩阵可发现,原型矩阵的双对角构造(dual diagonal)仍保留(B部分的最后一行与C部分),此特性将有利于分层编码(layered encoding)上的运用,请容后详述。
本发明使用上述的LMPD-ICM作为译码器的构造基础。第一表整理出WiMAX下的6种不同类别的相关参数,其显示WiMAX在不同类别下,分层下的列数皆不同,也就是层尺寸(layer size)皆不相同。考虑到硬件上的重复使用性,必须将所有WiMAX的不同类别的层尺寸单一化。本发明根据不同类别的层尺寸,选择一个最小的层尺寸作为标准,也就是4。对于层尺寸大于4的类别,利用最小层尺寸4,将分层再度切割为子层(sub-layer),致使每一类别的子层的层尺寸皆不大于4。其中对于5/6码率,其分层的层尺寸恰为4,因此其子层等于分层。
第六图显示WiMAX不同类别的分层(layers)、子层(sub-layers)、任务(tasks)以及任务处理序列(processing sequence)。以1/2码率为例,其原型矩阵Hbm为一个12×24的矩阵,将PCM以LMPD-ICM重新进行列排列,并删除零行,可得一个核心矩阵。进一步删除该核心矩阵元素中为零者,可得一个约略为12×7的分层。因对1/2码率而言,其层尺寸为12,大于所需要的标准4,因此以4为基准,将该分层再度切割为子层,令每一个子层包括4列,一个12×7的分层矩阵可分割成为三个4×7的子层矩阵。图6所显示的子层、任务以及任务处理序列上的标号,表示其对应的索引号。
第一表 WiMAX对于不同类别的参数表
第一表中的列权重(row weights)为每一列所对应的行数,其中以大括号内的数字代表列权重的集合。基于第一表与图6,进一步观察到在WiMAX下不同类别的列权重都相近于4的倍数,因此选择4作为子层进一步切割为任务(task)的基准。此举可使所有不同类别的任务有相同或相似的尺寸度,因此以任务作为处理单元,使所有类别皆可重复利用单一的硬件架构(unified architecture),减少硬件架构的复杂度。
举例说明任务的分割,再度回到图6的1/2码率的子层,以4为基准可将一个4×7的子层矩阵切割为两个4x4的任务矩阵,不足的元素可以一个临界值(limit value)的方式填充。对于其它的WiMAX类别亦得以相同方式切割,因此可得到如同图6下所有类别的任务。
本发明的分层、子层、以及任务的列数代表图4B的Tanner图中检查节点的数量,而列权重(row weights)则代表连接到一个检查节点的变量节点数量。因此,通过简化的任务可简化检查节点与变量节点的对应连接关系,而对于不同类别的单一化任务可简化硬件构造,使不同类别仍可重复利用单一的硬件架构(unified architecture)处理任务单元。此部分容后详述。
图6显示在WiMAX下不同码率的任务分割,以及这些任务的处理序列(processing sequence)。以1/2码率为例,其第l层任务的处理顺序为任务11、任务12、任务21、任务22、任务31以及任务32,接下来为第l+1层的任务11,以此类推。因此,一个分层必须有6个周期(cycles)执行运算,而需要6z周期完成具有1/2码率的LDPC码的一次迭代,其中z为展开因子。
须解释的是,子层切割为任务的过程须进一步考虑到硬件的配置。以图7举例说明,5/6码率且z=24的原型矩阵Hbm共有24行,对应每一行使用一个存储器区块(memory block)储存对应的数据,因此共有24个存储器区块。
图7中原型矩阵的该80个非负元素(non-negative elements)被分割至五个组群(矩阵),每一个组群(矩阵)包括16个非负元素。在一个周期内,一个任务矩阵的16个值(更进一步而言为APP值,容后详加说明)必须同时读取完成。但是,受限于一个周期内,一个存储器区块仅能提供一个值,因此该16个值的存取必须同时分散于24个存储器的不同区块造成无序处理(out-of-order processing),如图7的箭头所显示。一般使用计算机来进行该等搜寻,图7同时显示由计算机排序的码率5/6且z=24的5个任务,标示为TASK1、TASK2、TASK3、TASK4、以及TASK5。
[对应不同展开因子(expansion factors)]
在WiMAX标准下,QC-LDPC码除了由码率指定(specify)外,展开因子z亦为一指定参数,展开因子可为24,28,32,....96等19种。图7显示与图3同为WiMAX下5/6码率的PCM矩阵。但是,图7的展开因子z为24,而第三图的展开因子z则为96。对于相同码率但不同码长的LDPC码,WiMAX标准的位于原型矩阵的(i,j)的非负元素可利用下列式(1)进行转换:
s ( i , j , z ) = [ s ( i , j , 96 ) z 96 ] - - - ( 1 )
其中s(i,j,96)为5/6码率于z=96的原型矩阵中第i行与第j列的非负元素,而z参数的值可为24,28,32....,以及96的其中之一。使用式(1),可以将图3转换成图7的矩阵。对于其它码率的LDPC码亦可使用相似的方式,以进行不同码长之间的转换。
至此,本发明实现了在WiMAX下对于不同码长的LDPC码进行转换,并可根据上述,将一个指定码率下的PCM矩阵H分层切割,并进一步进行分割,以简化为任务。此举使得WiMAX下每一个类别以及码长有相同的任务单位,因此可利用相同的硬件架构处理简化后的任务,从而使得硬件的复杂度减少。
[解码演算]
本发明采用“使用偏移最小和算法的分层信息传递解码(Layered Message Passing Decoding using Offset Min-Sum Algorithm,简称LMPD-OMSA)”作为解码演算,其在分层信息传递译码(Layered Message Passing Decoding,简称LMPD)中采用偏差最小和算法(Offset Min-Sum Algorithm)。但是,本发明的精神和原理可应用其它可能的译码算法,并不限定于上述者。
现有技术中的TPMP(Two-phase Message Passing)将一次迭代的解码计算(decoding operation)分割为检查节点计算(check-node-operation)以及变量节点计算(variable-node-operation)两相(phases),其中令
Figure BSA00000213127300111
表示由第i个检查节点至第j个变数节点于第k次迭代中所产生的检查至变量信息(check-to-variable message,简称C2V)。相似地,可令
Figure BSA00000213127300112
表示由第j个变量节点至第i个检查节点于第k次迭代中所产生的变量至检查信息(variable-to-checkmessage,简称V2C)。在第k-1次迭代的检查节点计算相(phase)中,所有Tanner图中检查节点的C2V信息
Figure BSA00000213127300113
皆计算出,并且传递至所对应的变量节点,供变量节点运算以计算第k次迭代中的更新V2C信息因此,在现有技术的TPMP中,第k次迭代变量节点仅能使用上一次(k-1)迭代所产生的C2V信息
Figure BSA00000213127300122
来进行更新。
反观LMPD,一个PCM矩阵H的列(相当于检查节点)分割为L组群(分层),每一个组群包含ML个列数(相当于检查节点数量),因此是L×ML=z×Mb。首先,先对所有i值和所有属于IR(i)的j值(以j∈IR(i)表示),将C2V信息
Figure BSA00000213127300123
初始化为0(zero);其中IR(i)表示与检查节点i相连的变量节点的索引集合(index set)。之后,对第0层、第1层、...、第L-1层,以序列(sequentially)方式进行检查节点以及变量节点运算以完成一次迭代。由此,LMPD可以使用同一次(k)迭代下所产生的C2V信息来进行V2C信息
Figure BSA00000213127300124
的更新。因此,相较于TPMP演算,LMPD仅需要约半数的迭代,即可获致一个给定BER的效能。下文将更进一步的说明。
LMPD在第k次的迭代中,在第l层对于变量节点以及检查节点所进行的运算如下:
第l层的变量节点运算:
对于第l层与检查节点i相关的每一变量节点j,也就是l×ML≤i<(l+1)×ML,对应每一个检查节点i的可由下列式(2)计算:
Q ji k = &lambda; i + &Sigma; i &prime; &Element; I C ( j ) i &prime; < l &CenterDot; M L R i &prime; j ( k ) + &Sigma; i &prime; &Element; I C ( j ) \ { i } i &prime; &GreaterEqual; l &CenterDot; M L R i &prime; j ( k - 1 ) - - - ( 2 )
其中λj为变量节点j的可靠度(reliability)值,而IC(j)表示相连于变量节点j的检查节点的索引集合。
1.第l层的检查节点运算:
对于第l层的检查节点i,对应每一个变量节点j的可根据下列式(3)计算:
R ij ( k ) = S ij ( k ) &CenterDot; max { min j &prime; &Element; I R ( i ) \ { j } | Q j &prime; i ( k ) | - &beta; , 0 } - - - ( 3 )
其中β为一个正的定值(positive constant),且
S ij ( k ) = &Pi; j &prime; &Element; I R ( i ) \ { j } sgn ( Q j &prime; i ( k ) ) - - - ( 4 )
其中sgn表示正负号函数。
在第k次迭代的最末,第j个位(变量节点)的后验机率(aposteriori probability,简称APP)值
Figure BSA00000213127300134
为:
&Lambda; j ( k ) = &lambda; j + &Sigma; i &prime; &Element; I C ( j ) R i &prime; j ( k ) - - - ( 5 )
由式(5)与式(2),可得下列式(6):
Q ji ( k ) = &Lambda; j ( k - 1 ) - R ij ( k - 1 ) + &Sigma; i &prime; &Element; I C ( j ) i &prime; < l &CenterDot; M L [ R i &prime; j ( k ) - R i &prime; j ( k - 1 ) ] - - - ( 6 )
&Lambda; j , l - 1 ( k ) = &Lambda; j ( k - 1 ) + &Sigma; i &prime; &Element; I C ( j ) i &prime; < l &CenterDot; M L [ R i &prime; j ( k ) - R i &prime; j ( k - 1 ) ]
则式(6)可简化为式(7):
Q ji ( k ) = &Lambda; j , l - 1 ( k ) - R ij ( k - 1 ) - - - ( 7 )
综上所述,可整理出LMPD适用于硬件构造的形式。对第l层变量节点运算以及检查节点运算可分别根据式(7)以及式(3)-(4)而得。在第l层对第k次的迭代中,
Figure BSA00000213127300143
值可以式(8)计算出:
&Lambda; j , l ( k ) = &Lambda; j , l - 1 ( k ) + &Sigma; i &prime; &Element; I C ( j ) l &CenterDot; M L &le; i &prime; < ( l + 1 ) &CenterDot; M L [ R i &prime; j ( k ) - R i &prime; j ( k - 1 ) ] - - - ( 8 )
如果在第l层,一个特定的变数节点j仅与一个检查节点i相连则第(8)式可简化为:
&Lambda; j , l ( k ) = Q ji ( k ) + R ij ( k ) - - - ( 9 )
相同地,如果在第l层,一个特定的变数节点j仅与两个检查节点ii以及i2相连,则第(8)式可简化为:
&Lambda; j , l ( k ) = &Lambda; j , l - 1 ( k ) - R i 1 j ( k - 1 ) + R i 2 j ( k - 1 ) + R i 1 j ( k ) + R i 2 j ( k ) - - - ( 10 )
[硬件架构概述(overview)]
图8为本发明的一实施例的硬件控制方块图,其显示根据本发明的一实施例所达成的硬件构造,但并不为其所限,且图8仅进行功能性简化说明,因此并未标示各方块的确实数量。
如图8所显示,本发明包括一地址ROM(address-read-onlymemory)1,利用本发明对PCM矩阵的分层与任务分割(partition),以及LDPC码的准循环构造,该地址ROM 1可简化所储存的数据容量,并通过地址产生器(address generator)2计算产生其它所需的地址,读取或写入一APP存储器3,该APP存储器3为一储存装置,其包括多个存储器区块。该地址ROM1用以储存该APP存储器所需的初始地址(initial addresses)。基于LDPC码的准循环构造以及分层译码,同一类别可使用固定的连接方式(interconnections),如第八图所显示一第一路径网络4,连接对应的一变量节点单元(variable node unit,简称VNU单元)5。在该变量节点单元5中,由APP存储器3所读取之一
Figure BSA00000213127300151
值与上一次迭代计算所产生的值,根据上列式(7)可得
Figure BSA00000213127300153
值。计算出的
Figure BSA00000213127300154
值可在一检查节点单元(check node unit,简称CNU单元)6处利用上述的式(3)与(4)计算出所需要的
Figure BSA00000213127300155
值,并且存取入一R存储器7,请容后详细说明。再者,变量节点单元5亦利用上列式(8)计算出值,并经一第二路径网络10写入对应的APP存储器3区块。第八图中的VNU单元5以及与CNU单元6可视为一处理单元12,以虚线表示。
本发明还包括一早期终止(early termination)8,其输入一终止定限(termination threshold),例如第八图所显示以展开因子z作为该终止定限。当满足终止条件下,可由一控制器11提早终止迭代运算次数。该早期终止8与本发明之一编码器9共享部分的硬件资源,如第八图所显示,因此可减少硬件构造复杂度并降低功率损耗,亦容后详细说明。
[地址产生器与APP存储器]
图6显示5/6码率的任务的处理顺序分别为第l层的任务1、任务2、任务3、任务4、任务5,之后为第l+1层的任务1、任务2....,以此类推。基于PCM矩阵的准循环特性,第l层的任务1与第l+1层的任务1将来自于相同的APP存储器区块,仅是地址(address)上的差异。以第七图的任务1(TASK1)举例说明,在第0层中TASK1的第0列,提供VNU0的第3输入,APP存储器第1区块的第6个地址的APP值须被存取,表示为6(1)。对第1层中TASK1的第0列,提供VNU0的第3输入,则被存取的APP值将在相同的APP存储器区块中向右平移一个地址,也就是第1区块的第7个地址须被存取,表示为7(1),并以此类推。
综上所述,基于WiMAX的LDPC码的准循环特性,如第0层的起始地址为s(j),表示来自第j个存储器区块(memory block)的地址s,则第l层的地址可通则表示为(s(j)+l)mod(z),其中mod表示模数(module)。须了解到的是,当展开因子z改变时,仅有初始地址(initial address)将随之改变,但存储器区块的索引号j仍维持不变。
图9显示本发明于5/6码率的一实施例的硬件方块图,其中左上方显示地址产生器2以及APP存储器3,其中的APP存储器3为一储存装置,且该APP存储器3包括多个存储器区块(memoryblock)。回到图7,5/6码率且z=24的原型矩阵共有24行,每一行须使用一个存储器区块储存对应的资料,因此第九图所显示的APP存储器3包括24个存储器区块,标示为APP Memi,0≤i<24,每一个该APP存储器区块用以储存对应PCM矩阵的一个区块行(block column)的APP值。24个APP存储器区块分别对应24个地址产生器2,标示为Address Generatori,0≤i<24。经由所对应的地址产生器2以及第一路径网络4,16个APP值
Figure BSA00000213127300171
可以由APP存储器3读取。此16个APP值在经由VNU单元5及CNU单元6的运算后被更新为
Figure BSA00000213127300172
再经由第二路径网络10写入APP存储器3。
根据第六图,对于5/6码率而言,处理一个分层需要5个周期(cycles)执行运算,而需要5z周期完成5/6码率的一次迭代,其中z为展开因子。因此,图9中的每一个地址产生器2包括五个移位缓存器21。
根据上述,基于WiMAX的LDPC码的准循环特性,第l层的地址可由第0层的地址s(j)推算并表示为(s(j)+l)mod(z),其中mod表示模数(module)。因此,参见图9,移位缓存器21输出一地址x至APP存储器3,该地址x同时经一移位功能单元22的(x+1)mod(z)计算,求得下一分层(加上1)的地址,并且回馈至五个移位缓存器21的输入端。
另外,因处理每一个任务的延迟(latency)是固定的,所以每一个任务的读取以及写入的时间差维持相同。因此,根据一个地址产生器2中的移位缓存器(shift register)一阶段的读取地址,即可计算出写入地址。但要注意的是,当一个任务写入APP存储器3,其对应写入地址相对于读取的时候已经被增加三次,因每一个任务的处理延迟为12,大于处理一分层所需的周期(也就是5个缓存器)的两倍,因此必须有一个(x’-3)mod(z)的功能单元来计算出正确的写入地址。配合图9的地址产生器2所显示,每一个地址产生器2包括一写入地址功能单元23,因每一写入地址的写入处理延迟为12,对于一地址x’计算出(x’-3)mod(z),并以该计算地址作为APP存储器3的写入地址。每一个地址产生器2也包括一索引计算器(IndexCalculator)24,可根据上列式(1)来计算在不同展开因子z时的初始地址。
[CNU单元以及VNU单元]
如图6显示,5/6码率的每一分层共有4列,而每一子层同样有4列,也就是分层等于子层。因每一个子层中所含的列数即为其译码平行度,因此对于5/6码率而言,其解码平行度为4,其它码率的解码平行度如第一表所整理。5/6码率的PCM矩阵H的列权重为20,因此每一列将与20个V2C信息以及20个C2V信息相关。每一个周期下,与同一列相关连的四个V2C信息被送入相同的CNU单元6进行处理,因5/6码率的译码平行度为4,因此需要四个CNU单元6来处理每一分层的四个列。
如图9所显示,本发明于5/6码率的一实施例包括四个CNU单元6,标示为CNUi且0≤i<4。在四个VNU单元5,利用相关连的APP值
Figure BSA00000213127300181
以及C2V信息计算出总数16个的V2C信息
Figure BSA00000213127300183
并且将
Figure BSA00000213127300184
值分别送入4个CNU单元6。每一个该CNU单元6可管线化为四个阶段。在第一阶段,四个V2C信息的绝对值
Figure BSA00000213127300185
送入一个4个输入的比较单元,简称CMP4单元61。该CMP4单元61包括六个比较器(comparators)(未显示),因四个输入两两相比,所以涉及了
Figure BSA00000213127300186
个比较器,用以在4个输入值
Figure BSA00000213127300187
中选择两个最小值。
在于第二阶段,一个简化的CMP4单元,简称S-CMP4单元62,该S-CMP4单元62仅包括三个比较器(未显示),用以迭代地找出在四个输入中的最小的两个值,其中四个输入的两个值为由S-CMP4单元62的输出反馈所得。因S-CMP4单元62的四个输入值已部份排序(partially ordered),因此S-CMP4单元62的比较器数量可较上一阶段减少。
在第三阶段,一个正负号单元(sign unit)631根据上列式(4)来计算新的C2V信息
Figure BSA00000213127300191
的正负号。在此阶段,基于式(3)的两个最小值的偏移补偿(offset compensation)同时在两个第一减法器632中完成。本阶段的输出为压缩的更新C2V信息
Figure BSA00000213127300192
其同时被送至一R存储器7中对应的一压缩C2V存储器区块71,并以压缩格式储存,之后可由一解压缩器72解压缩,并用于下一次迭代。该R存储器7数量相等于译码平行度,标示为R Memi且0≤i<4。在最末一个阶段,C2V计算器(calculator)64同步计算出20个C2V信息
Figure BSA00000213127300193
这些C2V信息将被送至VNU单元5,用以更新APP值。
每一个该CNU单元6迭代地比较4个进入的V2C信息
Figure BSA00000213127300194
的大小(magnitude),以计算20个C2V信息。之后,20个更新的C2V信息
Figure BSA00000213127300195
值同时送入相对应的VNU单元5。因须有五个周期以处理一个分层,因此需要总数5z个周期以完成一次迭代。
再度回到图9,其显示本发明于5/6码率的一实施例包括四个VNU单元5,标示为VNUi且0≤i<4,并在每一该VNU单元5,利用相关连的APP值
Figure BSA00000213127300196
以及C2V信息
Figure BSA00000213127300197
根据上列式(7)在第二减法器51中可算出总数16个的V2C信息
Figure BSA00000213127300198
如上所述,该V2C信息
Figure BSA00000213127300199
可送入前述的4个CNU单元6;另一方面,该V2C信息
Figure BSA00000213127300201
也被送入每一VNU单元5的先进先出缓冲区500以进行所需的变量节点运算。
图10A显示一个变量节点处理器(variable node processor,简称VNP)的硬件架构示意图,其包括四个VNU单元5以及一个平行更新单元(parallel-update unit)510,其中该平行更新单元510是用以克服数据冲突(data hazard)。如图10A所显示,每一个VNU单元5可管线化为十个阶段,且第i阶段以STi表示。这些阶段STi用以计算出V2C信息
Figure BSA00000213127300202
暂时储存V2C信息、并且更新APP值。如图7,因5/6码率包括五个任务矩阵,因此VNU单元5运算可分为五个任务。图10B显示五个任务在VNP于5/6码率的译码操作时序图(timing diagram),其中TASKi表示第i个任务,且1≤i≤5。
请参见图10A,与一个任务相关的APP值由APP存储器3读出后,经第一路径网络4,送至VNU单元5的ST1阶段。该ST1阶段由该第一减法器51所执行,根据式(7)由对应的APP值减去上一次迭代的C2V信息值求得V2C信息值
VNU单元5的ST2至ST10阶段皆在该先进先出缓冲区500内执行。在ST2阶段,V2C信息值被送入ST3阶段以及相对应的CNU单元6。其中ST2至ST9阶段的缓存器(未显示)皆为在对应的CNU单元6计算出C2V信息值
Figure BSA00000213127300207
时,暂时储存V2C信息,容后详述。
此外,因五个任务为以序列(sequence)方式执行,因此相同分层的五个任务必须于连续的五个阶段执行。如图10B所示,当TASK1处于ST9(相等于TASK5于ST5)时,更新的C2V信息
Figure BSA00000213127300208
值已可加以利用(available)。因此,与五个任务(或者一个分层)相关的APP值将根据上列式(9),而平行同步更新。换言之,与TASK1、TASK2、....、TASK5相关的APP值分别在对应的ST9、ST8、....、ST5阶段更新。另外,图10B也显示一个任务在不同时序所执行的操作;其中R代表由APP存储器3读取APP值;B代表一个缓冲阶段;Q代表以APP值减去C2V值R计算出V2C值Q;W代表由第二路径网络将APP值写回APP存储器3;∏1代表第一路径网络;而FIFO代表进入VNU单元5的先进先出缓冲区500。图10B同时以灰阶区块显示于该STi阶段中,APP值已经更新。
如前所述,ST2至ST9阶段的缓存器为暂时储存V2C信息,直到所对应的CNU单元6计算出C2V信息
Figure BSA00000213127300211
因此,每一该ST5至ST9阶段包括一加法器52以及一多任务器53,如C2V信息值
Figure BSA00000213127300212
尚未能加以利用,则该多任务器53将选择V2C信息值
Figure BSA00000213127300213
然而,当C2V信息值
Figure BSA00000213127300214
已经被对应的CNU单元6计算出时,则将根据式(9)以该加法器52将V2C信息值与C2V信息值
Figure BSA00000213127300216
迭加以获得被更新的APP值
Figure BSA00000213127300217
此时多任务器53将选择迭加结果传递至下一级。最后,与每一任务相关连的更新APP值
Figure BSA00000213127300218
经第二路径网络10写回APP存储器3。
[路径网络(routing network)]
该第一路径网络4包括16个多任务器(multiplexors),分别作为四个VNU单元的16个输入。因5/6码率涉及五个任务并有五个APP存储器3与该多任务器(未显示)相连,因此每一个该多任务器为五选一(5-to-1)。举例说明,图7显示五个任务TASK1、TASK2、TASK3、TASK4以及TASK5的第一行与第一列元素分别为0(21)、0(15)、1(14)、20(12)、以及21(8),这些地址与第0个VNU单元(VNU0)的第0个输入相关。因此多任务器连接于APP存储器3的第21区块、第15区块、第14区块、第12区块以及第8区块。
相似于第一路径网络4,第二路径网络10包括24个多任务器,每一个该多任务器(未显示)包括至多四个输入,因为一个APP存储器区块仅最多对一个分层贡献四个APP值。注意到,一个分层的行权重(column weight)未超过4。
本发明的路径网络4,10构造可应用于WiMAX同一种类别下的19个不同码,因当z改变时,APP存储器区块与VNU单元5的连接方式(interconnections)并未改变。此外,须注意到图9中总线上数字表示总线上信息的数量。
[早期终止与编码器]
请参见图9,当每一该VNU单元5更新APP值后,分别储存在VNU单元5中,对应TASK1至TASK5的ST10至ST6阶段的这些APP值的正负号,分别以4个列总和计算器(row-sumcalculators)81以及一个零检查单元(zero-check unit)82,确认是否满足奇偶检查限制(parity-check constraints)。在该零检查单元82中检查,当列总和计算器81的输出为0(zero)时,则该分层被定义为一有效分层(valid layer),并在第九图的一累加器(accumulator)83计算有效分层的连续数量。该累加器83输入一终止定限(terminationthreshold),例如相等于展开因子z。如果最终连续有z个有效分层,则代表每一分层的列总和计算器81的输出值皆为0(zero),那么解码的码字(codewords)被认定为正确,因此译码器将提前被终止,称为早期终止(early termination)。因z分层的规律特性(regularityinherent),每一分层可使用相同的列总和计算器81,且同一类别的LDPC码亦可使用相同的早期终止硬件资源。须注意到的是,对于同一类别下不同展开因子z的LDPC码,仅须调整终止定限,例如连续的有效层为展开因子z,即可以使用相同的早期终止硬件资源。本发明的早期终止功能可提早终止迭代运算次数,并与上述分层解码兼容。
关于本发明的分层编码,以下使用图2B解释说明。该PCM矩阵H可分割为A、B、以及C三个部份,其中A部分的行对应数据位(information bits),而B和C部分则对应奇偶位(parity bits)。图2B的B部分包括两个相同的排列矩阵(permutation matrices)(由第0列至第2列,以及第12列至第14列所构成)。一个核心矩阵的行可依照其原本在PCM矩阵H中的位置同样地分类为如图5B的A,B,以及C三个部份。图5B的C部分以及B部分最后一行组合一双对角构造(dual-diagonal structure),该特性可用来有效地进行编码。
参见图5B,对应到一个核心矩阵H0的16个位vj,j=0,1,...,15满足由H0’所给定的五个奇偶检查方程式。如果hij表示在核心矩阵H0中的(i,j)元素,则:
&Sigma; i = 0 15 v j h ij = 0 for i = 0,1 , &CenterDot; &CenterDot; &CenterDot; , 4 - - - ( 11 )
把五个奇偶检查方程式相加,可以得到:
&Sigma; i = 0 4 &Sigma; j = 0 9 v j h ij + &Sigma; i = 0 4 v 10 h i 10 + &Sigma; i = 0 4 &Sigma; j = 11 15 v j h ij = 0 - - - ( 12 )
基于图5B中B部分与C部分的双对角构造,式(12)左手边的第三项为0(zero),而式(12)左手边的第二项为v10,而v10为所欲求得者,因此式(12)可简化为:
v 10 = &Sigma; i = 0 4 &Sigma; j = 0 9 v j h ij - - - ( 13 )
注意到式(13)的右手边仅涉及信息位(message bits)。因此,奇偶位v10可根据式(13)而得。换言之,对于编码所要求的奇偶位,可仅基于信息位而计算出。对其他z-1个分层(或者核心矩阵)可重复相同的程序,则图2B中所有对应PCM矩阵的B部分皆可求得。因核心矩阵的第十位v10与第11位v11来自于相同APP存储器区块行(B部份),因此在v10求得后,v11亦可随之求得。之后,涉及一个核心H0矩阵该分层C部分的其它四个奇偶位也可由下列式(14)-(15)所定义的多个奇偶方程式而得:
v 12 + m = &Sigma; i = 1 + m 4 &Sigma; j = 0 9 v j h ij + v 10 + v 11 - - - ( 14 )
v 14 + m = &Sigma; i = 3 + m 4 &Sigma; j = 0 9 v j h ij + v 11 - - - ( 15 )
其中m=0,1。
对其他z-1分层重复相同的程序,对应PCM矩阵C部分的所有奇偶位皆可求得。据此,根据分层或者子层,编码要求的奇偶位利用信息位可完全计算出。
参见第九图,上述使用在早期终止8的列总和计算器81也使用本发明的该编码器9。强制地使得相对于奇偶位的正负号位输入为0,列总和计算器的结果即成为
Figure BSA00000213127300251
所得的这些值被送入一奇偶位计算器(parity-bit calculator)91,并根据式(13)至式(15)求得奇偶位v10、v11、....v15。奇偶位计算器91的输出经该第二路径网络10储存于APP存储器3。
本发明的一实施例的编码器9所使用的路径网络4,10、地址产生器2、以及APP存储器3皆与译码运算共享,因此编码器9的费用耗损可以减少。此外,该编码器9与早期终止8也共享部分的硬件资源,因此可减少硬件构造复杂度。
[多码率(multi-rate)的应用]
为使本发明的硬件应用扩至WiMAX下不同类别(码率)的使用,图11A显示一个多模式(multi-mode)地址产生器20。根据图6,在WiMAX的六个不同类别下,每一分层的最大处理周期为8,因此图11A显示8个移位缓存器201。再者,对于多码率的应用,必须考虑到每一类别对读取以及写入有不同的时间差以及位置。举例说明,对于5/6码率,因管线化延迟(pipeline latency)大于每一分层处理周期数量的两倍,因此参见图9其写入地址功能单元23的(x’-y)mod(z)中的y值等于3。但是对于其它的类别,因延迟小于每一分层处理周期数量的两倍,因此这些类别的y值则须设定为2。因此,如图11A,该多模式地址产生器20额外包括三个多任务器205,用以根据不同类别,选择适当的缓存器201地址输出以回馈至一移位功能单元202,以及输入适当的y值以及适当的缓存器201地址输出至一写入地址功能单元203。此外,图11A一地址多任务器206,该地址多任务器206可选择由一索引计算器204计算出的不同展开因子的初始地址,或由该移位功能单元202而来的下一分层的地址。
对于CNU单元6以及VNU单元5,不同类别的差异性在于子层的任务数量。举例说明,在1/2码率译码时,CNU单元6以及VNU单元5的运算每两个周期重复一次,因每一子层包括两个任务。图11B显示一个多模式VNU单元50,其仅在多模式VNU单元50显示ST4至ST9,ST5至ST9的五个阶段用于更新APP值。在该5/6码率的译码时,这些阶段将全部被使用,且对于任务TASK1、TASK2、TASK3、TASK4、以及TASK5,分别在ST9、ST8、....、ST5更新APP值。然而,以1/2码率为例,运算涉及到一个子层被分割的两个任务,APP值将于ST8和ST9被更新,因此由ST4阶段的输出直接传送(forward)至ST8阶段的输入。在1/2码率,ST5、ST6、以及ST7阶段被跳过(bypass),以减少管线化延迟。因此,在图11B中,包括多个多任务器501,用以因应于不同码率而选择须被跳过的阶段(STi)。
图11C显示本发明的一实施例的多模式列总和计算器90。用于5/6译码时,任务TASK1位于ST10阶段时驱动该多模式列总和计算器90,由VNU单元5最后五个阶段而来的20个APP值正负号位送入多模式列总和计算器90。该列总和计算器90包括多个第一阶段互斥或XOR单元901以及一第二阶段互斥或XOR单元902,计算出该列所有APP值正负号的一最终互斥或计算值。因为每一类别的子层的任务数目不相同,这些第一阶段互斥或XOR单元901的某部分可被忽略。因此,如图11C所显示,该多模式列总和计算器90可包括多个多任务器903,根据不同类别,将ST6、ST7、ST8阶段,输入0(zero)使其不作用(disable)。
[效能分析]
根据本发明的一实施例所提供的硬件架构,一个具有早期终止功能的多模式(multi-mode)LDPC码编译码器使用一90nm且包含9个金属层的CMOS制程构造。其中APP值以及V2C信息以7位量化,而C2V位则量化为5位。图12显示本发明的一实施例所提出码长长度为2304译码器的BER结果。图中同时显示浮点(floating-point)BER以及固定点(fixed-point)BER,分别以FLO实线段以及FIX虚线段表示;而A与B代表码率的类型(type)。
举例说明,对比Liu等人于IEEE J.Solid-State Circuit,vol.43,no.3,pp.684-694,March 2009所提出的”An LDPC decoder chipbased on self-routing network for IEEE802.163 applications”,其使用phase overlapped MPD当迭代数目Nit=20时于Eb/No=2.2dB可获得一10-5的BER值,其中Eb/No为SNR值。根据本发明的一实施例,当Nit=12时,所提出的1/2码率的译码器可以于Eb/No=2.15dB获得相同的BER值。因此,根据本发明所采用的LMPD-ICM译码,对比TPMP,可以大幅地降低迭代的数目获致相同的BER。
此外,本发明所提出的早期终止可减少所需要的迭代以及运算,因此可减少功率消耗。下列第二表整理出当z=96时,获得10-5的BER下特定SNR值的功率消耗。其显示不同类别下因使用硬件的不同区域,因此其功率消耗并不相同。但是,根据本发明的一实施例的早期终止功能,所有码率的功率消耗皆大幅减少。
第二表 功率消耗
本发明虽已以一实施例披露上文,但是其并非用以限定本发明。本领域普通技术人员在不脱离本发明的精神以及范围内,应该可以进行各种实质上相等的变动以及润饰,因此本发明的保护范围当以所附的权利要求的专利范围所界定的为准。

Claims (8)

1.一种低密度奇偶检查码编译码方法,其特征在于,所述方法包括以下步骤:
(a)对于一低密度奇偶检查码的一奇偶检查矩阵以一列排列方式进行分层,使得该奇偶检查矩阵包括多个分层;
(b)以列为单位将所述多个分层中的每个分割为多个子层;
(c)以行为单位将所述多个子层中的每个分割为多个任务,而所述多个分层中的每个包括所述多个任务;以及
(d)以一序列方式迭代处理所述多个分层中的每个的所述多个任务。
2.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,所述(a)步骤的列排列方式指分层后的第l层包括所述奇偶检查矩阵的第(l+a0)mod(z)列、第z+(l+a1)mod(z)列、....、以及第(Mb-1)z+(l+aMb-1)mod(z)列,其中0≤l<z,a0、a1....至aMb-1可选自非负整数,且Mb为所述奇偶检查矩阵的一基底矩阵的列数。
3.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,所述(d)步骤中,所述迭代处理的第k次迭代同步地包括以下步骤:
(d1)根据第l层的所述多个任务中的每个相对应的多个检查节点以及多个变量节点,并利用多个第l-1层且第k次迭代的APP值以及多个第k-1次迭代的检查节点至变量节点(C2V)信息,计算出多个第k次迭代的变数节点至检查节点(V2C)信息;
(d2)计算多个第l层且第k次迭代的更新的APP值;以及
(d3)以所述第k次迭代的变量节点至检查节点信息计算出多个更新的第k次迭代的检查节点至变数节点信息。
4.根据权利要求3所述低密度奇偶检查码编译码方法,其特征在于,所述(d1)步骤中,以所述多个更新的第k次迭代的检查节点至变数节点信息取代所述多个第k-1次迭代的检查节点至变量节点信息,计算出所述多个第k次迭代的变量节点至检查节点信息。
5.根据权利要求3所述低密度奇偶检查码编译码方法,其特征在于,所述方法进一步包括以下步骤:
(e1)根据(d2)步骤,对于第k次迭代的所述多个子层中的每个的所述多个更新APP值的正负号计算出一数值;以及
(e2)如果所述多个子层的数值为零的一连续次数等于一限定值,则停止(d)步骤的迭代处理。
6.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,根据所述(a)步骤,利用所述奇偶检查矩阵的多个信息位,对于所述多个分层中的每个计算出相对应的多个奇偶位。
7.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,根据所述(b)步骤,利用所述奇偶检查矩阵的多个信息位,对于所述多个子层中的每个计算出相对应的多个奇偶位。
8.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,所述低密度奇偶检查码为符合WiMAX标准的一准循环低密度奇偶检查码。
CN2010102424452A 2010-07-29 2010-07-29 低密度奇偶检查码编解码方法 Pending CN102347774A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102424452A CN102347774A (zh) 2010-07-29 2010-07-29 低密度奇偶检查码编解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102424452A CN102347774A (zh) 2010-07-29 2010-07-29 低密度奇偶检查码编解码方法

Publications (1)

Publication Number Publication Date
CN102347774A true CN102347774A (zh) 2012-02-08

Family

ID=45546097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102424452A Pending CN102347774A (zh) 2010-07-29 2010-07-29 低密度奇偶检查码编解码方法

Country Status (1)

Country Link
CN (1) CN102347774A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317587A (zh) * 2016-04-27 2017-11-03 王晋良 低密度奇偶检查码的编解码方法
WO2018126428A1 (en) * 2017-01-06 2018-07-12 Nokia Technologies Oy Method and apparatus for vector based ldpc base matrix usage and generation
CN114142871A (zh) * 2021-12-03 2022-03-04 北京得瑞领新科技有限公司 一种可提前终止迭代的增量计算的ldpc校验方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996764A (zh) * 2007-01-10 2007-07-11 北京航空航天大学 基于奇偶校验矩阵的ldpc码的译码方法及译码器
CN101034892A (zh) * 2006-03-06 2007-09-12 西门子(中国)有限公司 生成ldpc码的方法以及采用该ldpc码的装置
CN101615914A (zh) * 2009-06-24 2009-12-30 重庆金美通信有限责任公司 分层最小和ldpc译码校验节点处理的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034892A (zh) * 2006-03-06 2007-09-12 西门子(中国)有限公司 生成ldpc码的方法以及采用该ldpc码的装置
CN1996764A (zh) * 2007-01-10 2007-07-11 北京航空航天大学 基于奇偶校验矩阵的ldpc码的译码方法及译码器
CN101615914A (zh) * 2009-06-24 2009-12-30 重庆金美通信有限责任公司 分层最小和ldpc译码校验节点处理的实现方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317587A (zh) * 2016-04-27 2017-11-03 王晋良 低密度奇偶检查码的编解码方法
CN107317587B (zh) * 2016-04-27 2020-08-28 王晋良 低密度奇偶检查码的编解码方法
WO2018126428A1 (en) * 2017-01-06 2018-07-12 Nokia Technologies Oy Method and apparatus for vector based ldpc base matrix usage and generation
US10979084B2 (en) 2017-01-06 2021-04-13 Nokia Technologies Oy Method and apparatus for vector based LDPC base matrix usage and generation
CN114142871A (zh) * 2021-12-03 2022-03-04 北京得瑞领新科技有限公司 一种可提前终止迭代的增量计算的ldpc校验方法及装置

Similar Documents

Publication Publication Date Title
TWI419481B (zh) 低密度奇偶檢查碼編解碼器及其方法
Dutta et al. A unified coded deep neural network training strategy based on generalized polydot codes
US8656250B2 (en) Low density parity check decoder for regular LDPC codes
KR101438072B1 (ko) 소거 없는 플래시 메모리의 다중 프로그래밍
US7373581B2 (en) Device, program, and method for decoding LDPC codes
CN101106381B (zh) 分层的低密度校验码译码器及译码处理方法
JP4320418B2 (ja) 復号装置および受信装置
CN110771047B (zh) 具有f功能和g功能的llr域计算的极性解码器
US9195536B2 (en) Error correction decoder and error correction decoding method
US9037945B2 (en) Generating partially sparse generator matrix for a quasi-cyclic low-density parity-check encoder
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
US9413390B1 (en) High throughput low-density parity-check (LDPC) decoder via rescheduling
CN101895300A (zh) Ldpc解码方法和装置
CN106452455B (zh) 基于OpenCL移动设备QC-LDPC的动态译码方法
US8271851B2 (en) Encoding and decoding a data signal as a function of a correcting code
US20230037965A1 (en) Layered semi parallel ldpc decoder system having single permutation network
CN101499804A (zh) 准循环低密度校验码的多码率译码器
CN113612486A (zh) 一种构建pbrl ldpc码的基矩阵方法、系统、装置及存储介质
CN111384970B (zh) 一种译码方法、装置及通信设备
CN115664899A (zh) 一种基于图神经网络的信道解码方法及系统
CN100544212C (zh) 高速的减少存储需求的低密度校验码解码器
CN102347774A (zh) 低密度奇偶检查码编解码方法
US20200295787A1 (en) Low latency sequential list decoding of polar codes
CN104796158A (zh) 一种针对固定信息长度的ldpc编译码系统平台

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120208

WD01 Invention patent application deemed withdrawn after publication