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

文档序号:7517713阅读:172来源:国知局
专利名称:低密度奇偶检查码编解码方法
技术领域
本发明相关于一种低密度奇偶检查码编译码方法,特别是相关于一种低复杂度 (low complexity)以及多模式(multi-mode)的低密度奇偶检查码编解码方法。
背景技术
低密度奇偶检查码(low-density parity-check codes,简称LDPC)是一种错误更正码(error correction code),应用于具噪声信道(noisy channel)传输信息的编解码。 LDPC码C为由一稀疏奇偶检查矩阵(sparse parity-check matrix) H所定义。LDPC码由于对应的奇偶检查矩阵(parity-check matrix,简称PCM)H内的“ 1”密度低,所以被称为“低密度”(low-density)。此特性使其在解码动作上可降低复杂度。由于其优异的改错效能, 次世代的信道编码技术多采用LDPC码,例如IEEE802. 16e的无线都会局域网络(Worldwide Interoperability for Microwave Access,简禾尔 WiMAX)。WiMAX 标准采用准循环 LDPC 码(quasi-cyclic LDPC,简称 QC-LDPC),为区块 (block)型的错误更正码。对于定义一个QC-LDPC码C,通常需要定义与其对应的奇偶检查矩阵H。H可表示为一个大小为MXN(M by N)的矩阵,其可由一个大小为MbXNb的二进制基底矩阵(binary base matrix)Hb所展开,其中M = ζ XMb以及N = ζ XNb,而ζ为一正整数,称为展开因子(expansion factor) 0在Hb矩阵中,每一个对应0 (zeros)的位置皆可为一个zXz的零矩阵(zero matrix)所取代,而每一个对应1 (ones)的位置皆可为一个zXz 的排列矩阵(permutat ion matrix)所取代。该 zXz 的排列矩阵(permutation matrix) 通过将一个单位矩阵(identity matrix)循环右移(cyclically right shit)而被得到。 第一图显示一个奇偶检查矩阵H的表示法,如上所述,矩阵元素Pi, j可为一个zXz的排列矩阵(permutation matrix)或者一个zXz的零矩阵(zero matrix),其中i为Hb矩阵的列索引(row index)且j为Hb矩阵的行索引(column index)。因每一排列矩阵由一单位矩阵循环右移而得,因此二进制基底矩阵以及由排列矩阵取代的数据可以相互结合,而形成单一的较为简洁的原型矩阵(prototype matrix)Hbffl, 其与基底矩阵Hb具有相同的大小,每一个基底矩阵Hb的0 (zeros)由一个空白或者负值,例如-1取代,表示一个完全由零所构成的零矩阵;而每一个基底矩阵Hb的I(Ones),则由其循环右移的位移量所取代。该原型矩阵Hbm亦可直接展开而得奇偶检查矩阵H。图2A以及图 2B分别显示一个原型矩阵Hbm以及一个奇偶检查矩阵H的范例,其中图2B中的O3x3表示一个3X3的零矩阵。WiMAX 标准包括 1/2、2/3Α、2/;3Β、3/4Α、3/4Β、5/6 六种码率(code rates),或者称为类别(class);对于每一种码率,WiMAX标准提供一原型矩阵,因此在WiMAX标准下共有六种原型矩阵。第三图显示,在WiMAX标准下,其中当ζ为96而码率为5/6时的原型矩阵 Hbm,其中ζ为展开因子。在WiMAX标准下,每一个类别包括19种不同码长的QC-LDPC码,分别由24,观,32,. . .,96等19个不同的展开因子ζ所指定,其中码长可表示为Μζ。因此在 WiMAX 下,共有 6x19 = 114 种不同的 QC-LDPC^t
3
因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 error rate,简称BER)所需要迭代数目必须减少。现有技术中提出一种重迭译码(overlapped decoding),将变量节点(variable node)以及检查节点 (check node)的运算(operations)排程(scheduling),使两者其中的一些部分可以同步 (concurrently)执行,因此可减少处理周期的数目。尚有习用双相位信息传递(Two-Phase Message I^ssing,简称TPMP)译码,变量节点仅能使用上一次迭代所产生的检查节点至变量节点(C2V)信息来进行更新。因此,需要较多的迭代次数,才可获致一个给定的BER效能。

发明内容
本发明的一目的在于提供一种低复杂度以及多模式的奇偶检查码编译码方法,将编码和译码运算分割为基本的分层、子层和任务,并且利用低密度奇偶检查码的准循环构造,使不同码率以及码长的LDPC码可共享硬件架构,因此可减少硬件构造上的复杂度。本发明的另一目的在于提供一种可减少迭代数量的低密度奇偶检查码编译码方法,其可使用同一次迭代所产生的信息进行其它信息的更新,因此仅需要约半数的迭代,即可获致一个给定的BER效能。本发明的再一目的在于提供一种具有早期终止的低密度奇偶检查编译码方法,其可减少解码迭代运算次数,并与分层译码兼容,因此可使系统所消耗的功率减少。该早期终止以及本发明一实施例的编码器共享部分的硬件资源,因此亦可降低硬件构造的复杂度。根据本发明一实施例的低密度奇偶检查码编译码方法,其特征在于,所述方法包括对于一低密度奇偶检查码的一奇偶检查矩阵以一列排列方式进行分层,使得该奇偶检查矩阵包括多个分层;以列为单位将这些分层中的每个分割为多个子层;以一无序 (out-of-order)方式将这些子层中的每个重新排列分割为多个任务,而这些分层中的每个包括这些任务;通过一序列(sequential)方式处理该分层的这些任务中的每个。由于以任务为处理单元,因此可适用于WiMAX的各种类别以及不同码长。本发明还包括一早期终止,其利用上述迭代解码运算中的运算值并通过进一步计算(如该计算输出值满足一定限),则可提早停止该迭代译码运算,因此可减少迭代处理次数,使功率耗损降低。


为使本发明的上述和其它目的、特征、优点与实施例可容易了解,所附图式的详细说明如下图1显示一个类循环(quasi-cyclic)奇偶检查矩阵H的表示法;图2A以及图2B分别显示一个原型矩阵Hbm以及一个PCM矩阵H的范例;图3显示在WiMAX标准下,其中当ζ为96而码率为5/6时的原型矩阵,其中ζ为展开因子;图4Α与图4Β分别显示一个LDPC码以及其所对应的Tanner图;图5A显示通过LMPD-ICM重新排列图2B所表示的PCM所得的三个子矩阵H。’ ,H1' 和H/ ;图5B显示对应图5AH。,的核心矩阵H0 ;图6显示WiMAX不同类别的分层(layers)、子层(sub-layers)、任务(tasks)以及其任务处理序列(processing sequence);图7显示WiMAX下5/6码率且ζ为24的原型矩阵以及由计算机搜寻的五个对应任务;图8显示根据本发明一实施例的硬件控制方块图;图9显示本发明在5/6码率下的一实施例的硬件方块图;图IOA显示一个变量节点处理器(variable node processor,简称VNP)的硬件架构示意图;图IOB显示五个任务在VNP在5/6码率下的解码操作时序图(timing diagram);图IlA显示本发明的一实施例的多模式(multi-mode)地址产生器;图IlB显示本发明的一实施例的多模式VNU单元;图IlC显示本发明的一实施例的多模式列总和计算器;以及图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)。
5
根据本发明的LMPD-ICM,将一 QC-LDPC码C的PCM矩阵H的列切割为ζ层,并重新进行列排列(row permutation),其中第1层以H1'表示,其包括PCM矩阵H的第1列、
第z+1列.........以及第(Mb-I) z+1列,而0彡1 < ζ且Mb为基底矩阵Hb的列数。上述
的分层方式仅为一实施例,实际操作中的分层无须以上述者为限。例如,在另一实施例中,
H1'的第1层可包括PCM矩阵H的第(l+a0)mod(z)列、第ζ+(1+ ) mod (ζ)列......以及第
(Mb-I) ζ+(1+a^) mod (ζ)列,其中0彡1 < ζ, B0^a1.…至可选自非负整数,而Mb为该奇偶检查矩阵的一基底矩阵的列数。之后,去除该矩阵H1'的零行,则可得到第1层的核心矩阵(core martix) H1。以图2B举例说明,其显示一个PCM矩阵H,将该矩阵H经过上述的重新列排列,可得如同图5A所显示三个矩阵ΗΛΗ/和H/的H1';其中以矩阵H。’为例,其包括原PCM矩阵H的第0、3、6、9、以及12列,矩阵H/以及H/所包含的列数可以此类推。 进一步将该矩阵H0'的零行删除,则可得如图5B所显示的核心子矩阵氏。核心子矩阵H1以及H2可依同样方法分别由H/以及H/获得。本发明的LMPD-ICM的分层切割,其目的在于将QC-LDPC码的PCM矩阵简化,减少硬件的处理或储存配置。所得的压为由QC-LDPC码的码位(code bits)而来的较精简型式。 须说明的是,0 ^ 1 < z,这些核心矩阵H1为彼此之间的行排列版本(column-permutated versions)。另外,因PCM矩阵H的行顺序与译码无相关,虽进行LMPD-ICM的列排列,但PCM 矩阵的简化或重新排列对译码并无影响。再者对于WiMAX而言,在同一类别下的LDPC码,其核心矩阵几乎相同,致使WiMAX 在同一类别下的19种不同LDPC码可共享相同的路径网络(routing network)。此性质使本发明可以简化构造译码的路径网络,致使所有的分层可共享相同的路径网络(routing networks) 0此外,由图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 X M 的矩阵,将PCM以LMPD-ICM重新进行列排列,并删除零行,可得一个核心矩阵。进一步删除该核心矩阵元素中为零者,可得一个约略为12X7的分层。因对1/2码率而言,其层尺寸为 12,大于所需要的标准4,因此以4为基准,将该分层再度切割为子层,令每一个子层包括4 列,一个12X7的分层矩阵可分割成为三个4X7的子层矩阵。图6所显示的子层、任务以及任务处理序列上的标号,表示其对应的索引号。第一表WiMAX对于不同类别的参数表类别1/22/3A{B}3/4A{B}5/6列权重{6,7}A:{10} B:{10,11}{14,15}列数/分层12864子层数/分层3221解码平行度 (decoding parallelism)4434处理一层所需要的周期数目6685第一表中的列权重(row weights)为每一列所对应的行数,其中以大括号内的数字代表列权重的集合。基于第一表与图6,进一步观察到在WiMAX下不同类别的列权重都相近于4的倍数,因此选择4作为子层进一步切割为任务(task)的基准。此举可使所有不同类别的任务有相同或相似的尺寸度,因此以任务作为处理单元,使所有类别皆可重复利用单一的硬件架构(unified architecture),减少硬件架构的复杂度。举例说明任务的分割,再度回到图6的1/2码率的子层,以4为基准可将一个4X7 的子层矩阵切割为两个虹4的任务矩阵,不足的元素可以一个临界值(limit value)的方式填充。对于其它的WiMAX类别亦得以相同方式切割,因此可得到如同图6下所有类别的任务。本发明的分层、子层、以及任务的列数代表图4B的Tarmer图中检查节点的数量, 而列权重(row weights)则代表连接到一个检查节点的变量节点数量。因此,通过简化的任务可简化检查节点与变量节点的对应连接关系,而对于不同类别的单一化任务可简化硬件构造,使不同类别仍可重复利用单一的硬件架构(unified architecture)处理任务单元。 此部分容后详述。图6显示在WiMAX下不同码率的任务分割,以及这些任务的处理序列(processing sequence) 0以1/2码率为例,其第1层任务的处理顺序为任务11、任务12、任务21、任务 22、任务31以及任务32,接下来为第1+1层的任务11,以此类推。因此,一个分层必须有6 个周期(cycles)执行运算,而需要虹周期完成具有1/2码率的LDPC码的一次迭代,其中 ζ为展开因子。须解释的是,子层切割为任务的过程须进一步考虑到硬件的配置。以图7举例说明,5/6码率且ζ = 24的原型矩阵Hbm共有M行,对应每一行使用一个存储器区块(memory block)储存对应的数据,因此共有24个存储器区块。图7中原型矩阵的该80个非负元素(non-negative elements)被分割至五个组群(矩阵),每一个组群(矩阵)包括16个非负元素。在一个周期内,一个任务矩阵的16 个值(更进一步而言为APP值,容后详加说明)必须同时读取完成。但是,受限于一个周期内,一个存储器区块仅能提供一个值,因此该16个值的存取必须同时分散于M个存储器的不同区块造成无序处理(out-of-order processing),如图7的箭头所显示。一般使用计算机来进行该等搜寻,图7同时显示由计算机排序的码率5/6且ζ = 24的5个任务,标示为 TASK1、TASK2、TASK3、TASK4、以及 TASK5。[对应不同展开因子(expansion factors)]在WiMAX标准下,QC-LDPC码除了由码率指定(specify)外,展幵因子ζ亦为一指
7定参数,展开因子可为24,观,32,....96等19种。图7显示与图3同为WiMAX下5/6码率的PCM矩阵。但是,图7的展开因子ζ为24,而第三图的展开因子ζ则为96。对于相同码率但不同码长的LDPC码,WiMAX标准的位于原型矩阵的(i,j)的非负元素可利用下列式 (1)进行转换
~s(i,j,96)z s(i,j,z) =
96
(1)其中s(i,j,96)为5/6码率于ζ = 96的原型矩阵中第i行与第j列的非负元素, 而ζ参数的值可为24,观,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),其中令灭,f表示由第i个检查节点至第j个
1J
变数节点于第k次迭代中所产生的检查至变量信息(check-to-variable message,简称 C2V)。相似地,可令β f表示由第j个变量节点至第i个检查节点于第k次迭代中所产生的变量至检查信息(variable-to-check message,简称V2C)。在第k_l次迭代的检查节点计算相(Phase)中,所有Tanner图中检查节点的C2V信息及皆计算出,并且传递至所
对应的变量节点,供变量节点运算以计算第k次迭代中的更新V2C信息gf。因此,在现有
技术的TPMP中,第k次迭代变量节点仅能使用上一次(k-Ι)迭代所产生的C2V信息及fX) 来进行更新。反观LMPD,一个PCM矩阵H的列(相当于检查节点)分割为L组群(分层),每一个组群包含Ml个列数(相当于检查节点数量),因此是LXM^ = ζ XMb。首先,先对所有i
值和所有属于IJi)的j值(以」曰IE(i)表示),将C2V信息(…初始化为O(Zero);其
1J
中IK(i)表示与检查节点i相连的变量节点的索引集合(index set)。之后,对第0层、第1 层.....第L-I层,以序列(sequentially)方式进行检查节点以及变量节点运算以完成一
次迭代。由此,LMPD可以使用同一次(k)迭代下所产生的02¥信息来进行¥2(信息)2$的更新。因此,相较于TPMP演算,LMPD仅需要约半数的迭代,即可获致一个给定BER的效能。 下文将更进一步的说明。LMPD在第k次的迭代中,在第1层对于变量节点以及检查节点所进行的运算如下第1层的变量节点运算对于第1层与检查节点i相关的每一变量节点j,也就是1 XMl彡i < (1 + 1) XMl, 对应每一个检查节点i的β $可由下列式( 计算其中λ j为变量节点j的可靠度(reliability)值,而Ic(j)表示相连于变量节点 j的检查节点的索引集合。
1.第1层的检查节点运算
对于第1层的检查节点i,对应每一个变量节点j的及f可根据下列式( 计算
对^呦.腿{“‘}丨蚴—⑶
其中β为一个正的定值(positive constant),且 其中sgn表示正负号函数。在第k次迭代的最末,第j个位(变量节点)的后验机率(aposteriori probability,简称 APP)值d ^为
由式(5)与式(2),可得下列式(6)
始) 令
则式(6)可简化为式(7)
综上所述,可整理出LMPD适用于硬件构造的形式。对第1层变量节点运算以及检
查节点运算可分别根据式(7)以及式03)-(4)而得。在第1层对第k次的迭代中,d力值
可以式⑶计算出
权利要求
1.一种低密度奇偶检查码编译码方法,其特征在于,所述方法包括以下步骤(a)对于一低密度奇偶检查码的一奇偶检查矩阵以一列排列方式进行分层,使得该奇偶检查矩阵包括多个分层;(b)以列为单位将所述多个分层中的每个分割为多个子层;(c)以行为单位将所述多个子层中的每个分割为多个任务,而所述多个分层中的每个包括所述多个任务;以及(d)以一序列方式迭代处理所述多个分层中的每个的所述多个任务。
2.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,所述(a)步骤的列排列方式指分层后的第1层包括所述奇偶检查矩阵的第(l+atl)m0d(Z)列、第z+(l+ai) mod (ζ)列、——、以及第(Mb-I) ζ+(l+a^) mod (ζ)列,其中 0 彡 1 < z,a0、B1——至 a^ 可选自非负整数,且Mb为所述奇偶检查矩阵的一基底矩阵的列数。
3.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,所述(d)步骤中, 所述迭代处理的第k次迭代同步地包括以下步骤(dl)根据第1层的所述多个任务中的每个相对应的多个检查节点以及多个变量节点, 并利用多个第1-1层且第k次迭代的APP值以及多个第k-Ι次迭代的检查节点至变量节点 (C2V)信息,计算出多个第k次迭代的变数节点至检查节点(V2C)信息;(d2)计算多个第1层且第k次迭代的更新的APP值;以及(d3)以所述第k次迭代的变量节点至检查节点信息计算出多个更新的第k次迭代的检查节点至变数节点信息。
4.根据权利要求3所述低密度奇偶检查码编译码方法,其特征在于,所述(dl)步骤中, 以所述多个更新的第k次迭代的检查节点至变数节点信息取代所述多个第k-Ι次迭代的检查节点至变量节点信息,计算出所述多个第k次迭代的变量节点至检查节点信息。
5.根据权利要求3所述低密度奇偶检查码编译码方法,其特征在于,所述方法进一步包括以下步骤(el)根据(d2)步骤,对于第k次迭代的所述多个子层中的每个的所述多个更新APP值的正负号计算出一数值;以及(e2)如果所述多个子层的数值为零的一连续次数等于一限定值,则停止(d)步骤的迭代处理。
6.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,根据所述(a)步骤,利用所述奇偶检查矩阵的多个信息位,对于所述多个分层中的每个计算出相对应的多个奇偶位。
7.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,根据所述(b)步骤,利用所述奇偶检查矩阵的多个信息位,对于所述多个子层中的每个计算出相对应的多个奇偶位。
8.根据权利要求1所述低密度奇偶检查码编译码方法,其特征在于,所述低密度奇偶检查码为符合WiMAX标准的一准循环低密度奇偶检查码。
全文摘要
本发明提供一种低密度奇偶检查码编解码方法,尤其是一种低复杂度以及多模式的低密度奇偶检查码编译码方法,其将译码的运算切割为基本的任务,并利用单一硬件处理这些任务,使得硬件构造简单,且可应用于不同码率及码长的低密度奇偶检查码。根据本发明一实施例的编译码器在存取存储器时,使用固定的联机方式以及存储器地址产生器,因此可减少硬件构造复杂度。再者,本发明具有早期终止功能,与本发明的编码方法兼容,可提早终止迭代运算次数,因此可降低功率损耗。
文档编号H03M13/11GK102347774SQ20101024244
公开日2012年2月8日 申请日期2010年7月29日 优先权日2010年7月29日
发明者汪宇伦, 翁咏禄 申请人:国立清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1