CN101753150B - 低密度奇偶校验码的译码校验方法及装置 - Google Patents
低密度奇偶校验码的译码校验方法及装置 Download PDFInfo
- Publication number
- CN101753150B CN101753150B CN200910200470A CN200910200470A CN101753150B CN 101753150 B CN101753150 B CN 101753150B CN 200910200470 A CN200910200470 A CN 200910200470A CN 200910200470 A CN200910200470 A CN 200910200470A CN 101753150 B CN101753150 B CN 101753150B
- Authority
- CN
- China
- Prior art keywords
- check
- check matrix
- decoding
- verification
- successfully
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种低密度奇偶校验码的校验方法及装置,本发明是将低密度奇偶校验码的校验矩阵分解为行子矩阵。每次校验时只采用一个行子矩阵来计算,得到一个部分校验结果。根据所有行子矩阵的部分校验结果联合计算最终的校验结果。相对于传统整个校验矩阵都参与校验的全校验方法,本发明大大减少了每次校验计算的计算量,降低了存储器的带宽要求,从而减少硬件开销,节省功耗,减小面积。同时,仿真结果说明本发明在迭代次数和误码性能都和全校验方法非常接近。
Description
技术领域
本发明涉及通信领域中的前向纠错技术,特别涉及低密度奇偶校验码的译码校验方法和装置。
背景技术
通信的不可靠性引发通信前后数据差错。为了纠正数据错误,提高通信质量,通信系统一般采用纠错编码技术。通过在数据流中引入冗余,纠错编码能检测或纠正一定的出错数据。纠错编码技术的目标是获得特定误码率下的最小信噪比(SNR)。根据香农的有噪信道编码定理,可以推导某一码率下通信系统达到无误码率或任意小误码率所必需的最小SNR的理论极限,称为香农限。距离香农限越近,说明纠错码的性能越好。在目前的纠错码中,低密度奇偶校验码(LDPC)码以非常逼近香农限的性能获得了人们的广泛关注,成为目前最有前景的纠错编码技术之一。目前的中国数字电视地面广播标准(DMB-T)、DVB-S2、802.11n、802.16e、802.3n等标准都采用了LDPC码。LDPC码有望成为下一代通信标准中的信道编解码技术。
LDPC码属于线性分组码,其一般定义为校验矩阵的零空间。设码长为N,信息位长度为K,校验位为M=N-K,码率R=K/N,则校验矩阵是一个MxN的矩阵。规则LDPC码的校验矩阵结构特性包括:(1)每一行含有ρ个1;(2)每一列含有γ个1;(3)任何两列之间位置相同的1的个数不大于1;(4)与N和M相比,ρ和γ较小,即校验矩阵为稀疏矩阵。非规则LDPC码的校验矩阵的结构特性类似,但行或列含有的1的个数不等。ρ和γ分别称为H的行重和列重,与LDPC码的性能有很大关系。
LDPC码可以由Tanner图表示,如图1所示。其相应的校验矩阵H如图2所示,Tanner图与校验矩阵一一对应。图1中,变量节点(V1-V8)对应于每一个码字比特,校验节点(C1-C4)对应于每一个校验方程,变量节点和校验节点之间的连线(称为边)对应于码字比特与校验方程的关系。每条边两端的节点称为相邻节点。与每个节点相连的边的总数称为该节点的度。例如,图1中变量节点V1的度为2,它与校验节点C1和C3相连,受校验方程1和3的约束。校验节点C1的度为3,它与变量节点V1、V3、V6相连,说明参与校验方程1的码字比特1、3、6。
本发明主要与LDPC码的译码相关,下面介绍LDPC码的译码算法。
LDPC码的译码一般采用基于置信传递(BP)的迭代译码算法,这也是其性能优越的原因之一。所谓置信传递,是指信息的传递通过Tanner图中变量节点和校验节点相联系的边来进行。信息从边的一个端点传递到另一个端点,同一个端点接受与之相连的所有边传递过来的信息。变量节点或校验节点的度,表明了传递到该节点的消息个数。节点的度越大,传递到该节点的信息个数越多。变量节点和校验节点根据接收到的信息进行计算和更新,实现迭代过程。基于置信传递的迭代译码算法是一种软判决译码方法,迭代的初始值是接收到的与信道相关的统计值,通常包含多位小数。迭代过程的结束根据译出的码字是否是校验矩阵的零空间来进行判断。因此,基于置信传递的译码算法包含三部分:初始化,迭代计算过程,译码校验过程。
目前,研究人员已提出多种基于置信传递的译码算法,算法原理相似,其主要的区别在于传递的信息。早期的置信传递(BP)算法,是一种典型的最大后验概率(MAP)译码方式,传递的信息是介于0和1之间的概率值。尽管BP算法性能不错,但其包含的概率计算需要大量浮点连乘运算,译码复杂度很高,难以硬件实现。
针对这一问题,改进的算法被提出来。对数似然比置信传递译码算法(LLR-BP)利用对数似然比(LLR)代替概率值,使连乘运算变为加法运算,提高了运算精度,有利于硬件实现。但求对数的运算实现起来仍然困难,为了进一步简化,夏威夷大学的MPC Fossorier等人将Wiberg的最小和(mim-sim)算法应用到LDPC中,通过最小值运算来替代LLR-BP的复杂函数运算,极大地降低了计算复杂度,有利于硬件实现。为了加快迭代速度,减少译码延时,美国伊利诺伊州大学Mansour,M.M.和Shanbhag,N.R.提出TDMP算法。TDMP算法不但计算量小,且节省数据存储量,这有利于减小LDPC译码器面积、降低功耗。TDMP算法提出后,凭借其优异的性能备受关注。
为了便于理解本发明,下面对TDMP算法进行简短的数学描述。
该算法主要针对准循环校验矩阵定义的非规则LDPC码。准循环校验矩阵是目前用得较多的校验矩阵形式,中国的数字电视标准(DMB-T)和DVB-S2等标准都采用这一矩阵形式。准循环校验矩阵的结构如图3所示。它由多个子矩阵(子块Amn)组成。每一行子矩阵叫做子块行。校验矩阵的所有子矩阵(Amn)的阶相同。Amn为全0方阵或非全0方阵。非全0方阵的行重和列重为1,下一行是上一行的循环移位,第一行是最后一行的循环移位。
该算法的基本流程如下:
(i)信息初始化。初始化变量节点信息Qn为初始信道信息。
(ii)信息迭代计算。Rmn为当前子块行计算时校验节点m向变量节点n传递的信息。R′mn为上一次子块行计算时校验节点m向变量节点n传递的信息。Vm\n表示与第m个校验节点相连的除了第n个变量节点的其余变量节点的集合。Vn表示与第n个变量节点相连的所有校验节点的集合。Q′n表示与第n个变量节点相连的除了第m个校验节点其余校验节点的信息和。Qn表示与第n个变量节点相连的所有校验节点的信息和。等式(1)和(2)的计算基于子块行进行,完成校验节点信息的更新。每个子块行的校验节点信息计算完成后,根据等式(3),完成变量节点信息的更新。
Q′n=Qn-R′mn (2)
(iii)译码校验。
一个子块行的Qn计算完成后,根据Qn译出码字,Qn<0则码字比特Z(n)=1,否则Z(n)=0,如等式(4)所示。然后根据校验矩阵H进行校验,校验计算如等式(5),即计算码字比特与H矩阵每行的内积。函数mod(x,2)表示x模2运算。内积模2为0,则该行校验成功。如果H矩阵所有行都校验成功,则判定码字是正确的,译码成功标志位SF为1,终止(ii)步信息迭代计算。否则继续(ii)步和(iii)步。当达到最大迭代次数时,不管译码成功与否,强行退出整个迭代过程。
TDMP算法流程中,每一子块行校验节点信息计算完成后,新的校验节点信息值被代入变量节点的更新中,提高了译码速度。数据吞吐率较典型最小和算法提高了一倍。同时,由于不需保存初始信道信息和变量节点信息Q′n,大大节省了存储器,减少了芯片面积,降低了功耗。
但在该算法流程中,由于每计算完一个子块行的校验节点信息和变量节点信息后,都需要对译出的码字进行校验,因此产生了校验计算有效性问题。假设准循环校验矩阵H的行重和列重分别为ρ和γ。以子块计算为单位。一次子块行迭代计算需要2×ρ次子块计算,校验计算需要ρ×γ次子块运算。通常,ρ×γ远大于2×ρ。比如对国标0.4码率校验矩阵H,子块行迭代计算需要14或16次子块计算,而校验计算需要245或280次子块计算。基于子块的校验计算次数远大于迭代计算次数,不仅要求增加逻辑电路以提高校验计算硬件的并行处理能力,并且要求存储器(特别是校验矩阵存储器)能提供足够高的带宽,而后一点难以达到或需要的代价很高。因此,有必要研究更好的校验方法来解决这一问题。
发明内容
本发明的目的是提供一种LDPC校验方法和装置,以克服现有校验技术的不足。该校验方法在一次校验计算时只对部分校验矩阵操作,多次校验结果联合判断译码是否结束。这不但降低了计算量、减少了硬件消耗,同时减少了对校验矩阵存储器的带宽压力,能更好地满足功耗、面积和速度要求。
以下为了方便,将以前的基于整个校验矩阵进行校验计算的方法称为全校验方法,本发明提出的方法称为部分校验方法。
本发明提出的部分校验方法包含如下内容:
(i)校验矩阵H的分解。校验矩阵H被分解为部分校验矩阵(PH)。部分校验矩阵由校验矩阵H中的第(1+(idx-1)×SZ)行到第idx×SZ行构成,H的列数不变,如等式(6)所示。其中SZ为部分校验矩阵的行数,一般取值为校验矩阵H的子块阶数;索引值idx为部分校验矩阵的索引,取值为1,2,…,MAXI。MAXI为部分校验矩阵的个数。SZ取值为校验矩阵H的子块阶数时,MAXI也等于校验矩阵H的子块行数。
PH(:,:,idx)=H((1+(idx-1)×SZ):idx×SZ,:) (6)
所有的部分校验矩阵PH合在一起即是H矩阵,如等式(7)所示。
(ii)部分校验计算。当第n次迭代计算完成,进行校验运算时,首先计算参与校验的部分校验矩阵PH的索引值idx,idx计算如(8)式。等式(8)中,函数mod(x,y)表示x模y运算;常数GAP表示错行校验间隔,GAP应大于0。
idx=mod(MAXI+n-GAP,MAXI)+1 (8)
然后根据译出的码字进行校验计算,计算方法如等式(9)。式(9)中Z(j)表示译出的一维码字序列;N为码字长度;计算结果保存在RS(i)中,i取值1,2,3,…,SZ。
根据校验计算结果RS,计算相对于本次部分校验矩阵idx的校验结果,计算方法如等式(10)。其中PF(idx)保存相对于本次部分校验矩阵的校验结果。如果校验计算序列RS全0,本次部分校验成功,PF(idx)为1,否则PF(idx)为0。
(iii)校验结果的联合判断。根据所有的部分校验矩阵的校验结果PF序列,计算译码成功标志SF,如等式(11)所示。如果所有的部分校验矩阵校验成功(PF序列全1),SF为1,表示译码成功,否则SF为0,表示译码失败。
本发明方法的优点包括:
(1)每行子块迭代计算完进行译码校验时,只有H矩阵的一部分参与校验计算,大大减少了计算量。比如对中国数字电视地面标准0.4码率的LDPC码的H矩阵,采用子块行划分部分教研矩阵,每次校验计算的计算量仅相当于全校验的1/35。
(2)本发明仅仅部分H矩阵参与校验计算,降低了H矩阵存储器的带宽要求,使得利用同一H矩阵存储器支持迭代计算和校验计算成为可能。
(3)本发明仅仅部分H矩阵参与校验计算,降低了码字存储器的带宽要求。读取码字存储器次数的减少有利于节省功耗。
(4)本发明在每次部分校验时采用H矩阵的一部分,产生一个与该部分对应的校验结果。当H矩阵所有部分参与校验后,得到与这些部分H矩阵对应的多个结果。本发明利用这些结果联合进行校验成功的判决。虽然每次校验只是H矩阵的一部分,但由于H矩阵所有行最终参与了校验,因此本发明的校验性能非常逼近全校验的校验性能。
根据本发明部分校验方法,得到的装置包括控制器模块、数据排序模块、部分校验计算模块、部分校验结果产生模块和译码成功标志产生模块。该装置需要外接校验矩阵存储器和译码码字存储器完成整个校验功能。
控制器模块负责控制整个装置的工作。控制器模块接收校验使能信号,码率信号和校验矩阵存储器送来的数据信号。控制器模块发送地址信号和片选信号读取校验矩阵存储器的数据;发送地址信号、读写信号和片选信号读取译码码字存储器的数据;发送数据选择信号控制数据排序模块的排序;发送寄存器清零和计算选择信号控制部分校验计算模块的计算操作;发送结果寄存器清零和结果选择信号控制部分校验结果产生模块生成部分校验结果;发送标志寄存器清零和码率选择信号控制译码成功标志产生模块生成译码成功标志。
数据排序模块根据译码码字比特参与的校验方程顺序对译码码字比特进行排序,以便于部分校验计算模块的累加计算。部分校验计算模块完成等式(9)的计算。部分校验结果产生模块完成等式(10)的计算。译码成功标志产生模块完成等式(11)的计算。
本发明装置的一个特征是以校验矩阵的127x127子块进行三级流水校验计算。每级流水一个时钟周期完成。流水时一个子块只需1个时钟周期完成校验。为了支持子块处理,数据排序模块、部分校验计算模块和部分校验结果产生模块127路并行,译码成功标志产生模块35路并行。部分校验结果产生模块和译码成功标志产生模块并行时采用了树型结构和多输入门减少时延和面积。
本发明装置的另一特征是支持中国数字电视地面传输标准中LDPC码3种码率的译码校验。不同码率的支持采用了硬件复用的方式,这集中体现于译码成功标志产生模块。该模块将子矩阵校验结果和相应逻辑电路分成3组,第1组支持0.8码率,第1组和第2组一起支持0.6码率,所有3组一起支持0.4码率。
通过下面的详细描述,本发明的其它特征将会变得显而易见。
附图说明
图1是LDPC码的Tanner图
图2是与图1中的双向图对应的矩阵
图3是LDPC码的准循环校验矩阵
图4是部分校验和全校验的误码性能比较曲线图
图5是部分校验和全校验的平均迭代次数比较曲线图
图6是本发明装置结构框图
图7是本发明校验矩阵存储器数据结构图
图8是本发明第1路校验累加计算示意图
图9是本发明部分校验结果产生模块示意图
图10是本发明译码成功标志产生模块示意图
具体实施方式
下文引入LDPC编码和解码过程。
编码时,首先是码字的生成。根据校验矩阵H或生成矩阵G都可以得到码字。本实施例采用生成矩阵G,如等式(12)所示。生成矩阵G与信息位S相乘得到码字ZG。
ZG=G×S (12)
然后是进行调制。码字在信道中传输前,为了方便传输,提高传输的可靠性,一般需要调制。本实施例采用BPSK调制,如等式(13)所示。BPSK调制后,码字变成ZB。
ZB=2×ZG-1 (13)
调制后的数据通过信道到达接收端,会受到噪声干扰。本实施例采用高斯白噪声信道(AWGN),如等式(14)所示。信道加噪后,接收到的数据变成RE。
RE=ZB+Noise (14)
其中Noise是信道噪声,Noise可由EbN0计算,EbN0为每比特的信噪比。
当得到接收序列RE,就可以进行解码过程。本实施例采用前文介绍的TDMP译码算法进行译码。TDMP译码算法译码时,首先需要初始化接收变量。由于TDMP译码算法采用软输入,输入译码器的变量Y由等式(15)计算。
初始化变量节点信息序列Q等于Y,如等式(16)所示。
Q(n)=Y(n) n=1,2,…,N (16)
初始化校验节点序列R(m,n)等于全0。
然后进行迭代计算。根据等式(1)和(2)计算校验节点序列R(m,n)。当一个子块行的校验节点计算完成,根据等式(3)计算变量节点。计算中,由于硬件的有限字长效应,需要对变量节点和校验节点序列进行量化。
迭代计算过程不断进行,直到译码成功标志有效或者迭代次数达到最大值,才退出迭代计算。
当每一子块行变量节点信息更新完成,根据等式(4)得到译码码字。
针对译出的码字,可以进行译码校验过程。校验过程在一个子块行迭代计算完成时开始,在下一个子块行变量节点更新前完成,时延有限,这就是本发明需要解决的最大问题。
根据本发明的部分校验方法,本实施例首先将H矩阵以子块行划分为部分校验矩阵。这样划分的目的是与迭代计算过程一致,方便计算。对中国数字电视地面标准中0.4码率的校验矩阵,等式4中SZ=127,MAXI=35。因此,部分校验矩阵共35个,部分校验矩阵索引值idx=1,2,…,35。
校验计算时,需要确定GAP的值。本实施例设置GAP为1,迭代计算的子块行和校验计算的子块行错开1行。
根据本发明,采用等式(9)和(10)计算部分校验矩阵的校验和。
根据本发明,采用等式(11)计算校验成功标志。
引入本发明的部分校验方法后,LDPC译码器的误码率如图4中实线所示,平均迭代次数如图5中实线所示。为了说明本发明的优点,图4和图5中列出在其它条件一样时,采用全校验的译码性能,如图中虚线所示。本实施例采用的测试数据每点1000帧,即能测10-7级误码率。从图4和图5可以看出,无论根据误码率或平均迭代次数,本发明的部分校验译码方法的性能都非常逼近全译码。而从计算量方面,本发明提出的部分校验方法每次校验一个子块行,而全校验每次校验所有子块行。就中国数字电视地面标准0.4码率的校验矩阵而言,全校验的计算量是本发明的部分校验计算量的35倍。因此,综合这两方面的分析,本发明的方法在大大减少计算量的同时,获得了好的性能。
图6是本发明的校验装置。该装置以子块为计算单位,通过计算一个子块行中所有非零子块的校验和来完成一次部分校验计算。根据多次部分校验计算的结果,产生校验成功标志。该装置支持国标DMB-T中三种码率的校验操作。下面对该装置的工作原理进行详细的说明。
该装置包括控制器模块、数据排序模块、部分校验计算模块、部分校验结果产生模块和译码成功标志产生模块,通过外接译码码字存储器和校验矩阵存储器来完成校验操作。
校验矩阵存储器保存国标DMB-T的3种码率的校验矩阵,由于存储的是常数,采用只读存储器ROM实现。考虑校验矩阵的稀疏性,只存储不为0的子块,减少存储量。校验矩阵存储器中存储单元的数据格式如图7,包含两部分:子块位置和子块首行1的位置。当子块位置比特全1时表示一子块行结束,此时子块首行1的位置比特表示子块行数。校验矩阵存储器总共930个单元,地址线宽度为10比特,支持三种码率。部分校验装置的控制器发出校验矩阵存储器的控制信号,包含相应的地址和片选信号。校验矩阵存储器输出数据控制器,以产生译码码字存储器的地址信号和数据排序模块需要的数据选择信号。
译码码字存储器的单元大小为127比特,每个比特表示码字中的1位。国标码字共7493位,故译码码字存储器包含59个单元。译码码字存储器地址线宽度为6比特,数据线宽度为127比特。译码码字存储器根据控制器的地址信号,读写信号,片选信号输出数据(Z0-Z126)到数据排序模块。
由于参与校验计算的码字比特和校验方程的对应关系不固定,需要数据排序模块将参加校验的码字比特与校验方程一一对应起来。数据排序模块将译码码字存储器送来的127比特码字数据(Z0-Z126)根据子块首行1的位置进行数据排序,以与相应的校验方程匹配起来,从而产生固定顺序的待校验数据(D0-D126)。D0-D126是Z0-Z126的循环移位,移位次数为子块首行1的位置。例如子块首行1的位置是60,则:
D0=Z60
D1=Z61
D2=Z62
……
D66=Z126
D67=Z0
D68=Z1
……
D126=Z59
数据排序模块由127路输入127路输出的选择器实现。
部分校验计算模块根据数据排序模块的输入数据,进行累加计算,计算结果保存在寄存器中。累加操作从子块行的第一子块开始,到最后一个子块结束。累加结束后,需要将寄存器清零,以便下一次累加。部分校验计算127路并行,每一路的电路如图8所示。部分校验计算模块的控制信号有两个:寄存器清零信号和计算选择信号。寄存器清零信号用于在适当时刻对寄存器置零。计算选择信号选择送入到寄存器的数据。如果选择加法结果,则实现累加功能;如果选择自身,则实现数据保持功能。
当一个子块行校验完后,部分校验结果产生模块根据部分校验计算模块累加的结果(RS0-RS127)产生本次部分校验结果,并保存在相应的寄存器中。图9是部分校验结果产生模块的硬件架构。为了降低面积和提高速度,图中采用大量的4输入1输出或门(or4x1)。这些或门构成树型拓扑,共5级,完成本次部分校验结果的计算。由于校验矩阵以子块行划分子矩阵,0.4码率有35个子矩阵,0.6码率有23个子矩阵,0.8码率有11个子矩阵,而每次部分校验对应其中一个子矩阵,因此需要最多35个寄存器保存不同的部分校验结果。每次部分结果需要根据结果选择信号保存到相应的寄存器(R0-R34)中。寄存器(R0-R34)在一帧码字校验完后需要利用寄存器清零信号清零,准备下一帧码字校验。因此该模块共有两个控制信号:结果寄存器清零信号和结果选择信号。该模块输出子矩阵校验结果(PF0-PF34)到译码成功标志产生模块。
译码成功标志产生模块对所有的子矩阵校验结果进行判断,图10所示,如果所有子矩阵校验结果全为1,说明译码成功,译码成功标志为1,否则译码成功标志为0。为了支持3种不同码率,需要将子矩阵校验结果分成3组,子矩阵校验结果PF0-PF11为第1组,PF12-PF22为第2组,PF23-PF34为第3组。第1组支持0.8码率,第1组和第2组一起支持0.6码率,所有3组一起支持0.4码率。最后根据码率选择信号将相应码率的译码成功标志保存在寄存器器中,提供给LDPC译码器。
控制器模块根据校验使能信号,校验矩阵数据信号和码率信号控制整个部分校验装置。控制器模块输出地址信号和片选信号,控制校验矩阵存储器的数据读取;输出地址、片选和读写信号,控制译码码字存储器的数据读取;输出数据选择信号控制数据排序模块的数据排序;输出寄存器清零信号和计算选择信号控制部分校验计算模块的计算;输出结果寄存器清零信号和结果选择信号控制部分校验结果产生模块寄存器清零和子矩阵校验结果的选择;输出标志寄存器清零信号和码率选择信号控制译码成功标志产生模块的标志位的产生。
以下说明部分校验装置的效果:
(1)该装置校验速度快,降低了功耗。该装置进行部分校验计算时127路并行,1次处理1个子块。对0.4码率校验矩阵,行重为7或8,即一个子块行包含7或8个参与校验计算的子块,因此完成一次部分校验计算需12或13个时钟周期。同理,对0.6码率校验矩阵,完成一次部分校验计算需17或18个时钟周期。对0.8码率校验矩阵,完成一次部分校验计算需17或18个时钟周期一次校验。
(2)该装置的带宽要求低,节省存储器。该装置在一次部分校验计算时读取校验矩阵存储器和译码码字存储器次数等于校验矩阵的行重。对0.4码率,7或8次;对0.6码率,12或13次;对0.8码率,26或27次。存储器的读取次数少,带宽要求低,可以复用迭代计算时用到的存储器实现,从而节省了存储器。
(3)该装置采用3级流水线操作。流水寄存器共163个,都是1比特大小。各级流水线中尽量采用多输入门,减小硬件消耗,节省面积。
(4)该装置的Verilog描述后,基于Xilinx公司Virtex4XC4VSX25FPGA芯片的综合结果:使用751比特寄存器,占总的寄存器资源3%;使用1600个查找表(LUT),占总的LUT资源7%;关键路径最大延迟5.876ns;最高工作频率170.2MHz。
Claims (4)
1.一种低密度奇偶校验码的译码校验方法,其特征在于:该方法包括校验矩阵H的分解、部分校验计算及校验结果的联合判断三个步骤;首先校验矩阵H被分解为部分校验矩阵;然后在LDPC译码的迭代过程中,选择一个部分校验矩阵进行部分校验计算,得到一个部分校验结果;最后根据迭代过程中的部分校验结果进行联合判断,若所有的部分校验结果为1,则标志译码成功;其中:
所述校验矩阵H的分解是:校验矩阵H被分解为MAXI个部分校验矩阵;分解方法:第idx个部分校验矩阵的列数与校验矩阵H一样,行由校验矩阵H中的第(1+(idx-1)×SZ)行到第idx×SZ行构成,其中变量SZ为部分校验矩阵的行数,取值为校验矩阵H的子块阶数;变量idx为部分校验矩阵的索引,取值为1,2,…,MAXI;MAXI为部分校验矩阵的个数;
所述部分校验计算是:计算时首先选择一个部分校验矩阵,即确定idx取值,idx取值采用错序方式,即当前参与迭代计算的部分校验矩阵与参与校验计算的部分校验矩阵不一样;然后计算该部分校验矩阵中行校验结果RS,行校验结果RS共有SZ个,SZ为部分校验矩阵的行数;最后根据SZ个RS计算相对于本次部分校验矩阵idx的校验结果PF(idx);若行校验结果都成功,校验结果PF(idx)为1,表示本次校验成功,否则为0。
2.根据权利要求1所述的译码校验方法,其特征在于:所述校验结果的联合判断是:根据所有部分校验矩阵的校验结果计算总的校验成功标志;若所有部分校验矩阵的校验结果都为1,则译码成功标志为1,否则为0。
3.一种低密度奇偶校验码的译码校验装置,其特征在于:该装置包括控制器模块、数据排序模块、部分校验计算模块、部分校验结果产生模块和译码成功标志产生模块;控制器模块控制整个装置的操作;数据排序模块对输入数据重排顺序,送入到部分校验计算模块进行计算,计算结果送入部分校验结果产生模块处理;译码成功标志产生模块对输入的部分校验结果进行处理,产生译码成功标志信号;该装置外接校验矩阵存储器和译码码字存储器;
其中:
所述数据排序模块将所述译码码字存储器送来的127比特码字数据根据子块首行1的位置进行数据排序,以与相应的校验方程匹配起来,排序后的数据是127比特码字比特循环移位,移位次数为子块首行1的位置;
所述部分校验计算模块根据所述数据排序模块的输入数据,进行累加计算,计算结果保存在其自身寄存器中;累加操作从子块行的第一子块开始,到最后一个子块结束;累加结束后,需要将所述寄存器清零;部分校验计算127路并行,一次完成一个子块处理;所述部分校验计算模块的控制信号包括:寄存器清零信号和计算选择信号,所述寄存器清零信号用于对所述寄存器置零,所述计算选择信号选择送入到所述寄存器的数据,若选择加法结果,则实现累加功能;若选择自身,则实现数据保持功能;
所述部分校验结果产生模块根据所述部分校验计算模块累加的结果产生本次部分校验结果,并保存在其自身寄存器中;所述部分校验结果产生模块采用5级树型结构,多个4输入1输出或门(or4x1),完成本次部分校验结果的计算;校验矩阵以子块行划分子矩阵,35个寄存器(R0-R34)用来保存不同的部分校验结果;所述寄存器(R0-R34)在一帧码字校验完后需要利用寄存器清零信号清零;所述部分校验结果产生模块的控制信号包括:结果寄存器清零信号和结果选择信号;所述部分校验结果产生模块输出子矩阵校验结果(PF0-PF34)到所述译码成功标志产生模块;
所述译码成功标志产生模块对所有的子矩阵校验结果(PF0-PF34)进行判断,若所有子矩阵校验结果全为1,译码成功,译码成功标志为1;所述译码成功标志产生模块将子矩阵校验结果的计算分成3组逻辑电路;第1组计算0.8码率的译码成功标志,第1组和第2组一起计算0.6码率的译码成功标志,所有3组一起计算0.4码率的译码成功标志;所述译码成功标志产生模块根据码率选择信号将相应码率的译码成功标志保存在自身寄存器中。
4.根据权利要求3所述的装置,其特征在于:所述控制器模块根据校验使能信号、校验矩阵数据信号和码率信号控制所述装置;所述控制器模块发送地址信号和片选信号读取所述校验矩阵存储器的数据;所述控制器模块发送地址信号、读写信号和片选信号读取所述译码码字存储器的数据;所述控制器模块发送数据选择信号控制所述数据排序模块的排序;所述控制器模块发送寄存器清零和计算选择信号控制所述部分校验计算模块的计算操作;所述控制器模块发送结果寄存器清零和结果选择信号控制所述部分校验结果产生模块生成部分校验结果;所述控制器模块发送标志寄存器清零和码率选择信号控制所述译码成功标志产生模块生成译码成功标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910200470A CN101753150B (zh) | 2009-12-22 | 2009-12-22 | 低密度奇偶校验码的译码校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910200470A CN101753150B (zh) | 2009-12-22 | 2009-12-22 | 低密度奇偶校验码的译码校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101753150A CN101753150A (zh) | 2010-06-23 |
CN101753150B true CN101753150B (zh) | 2012-10-10 |
Family
ID=42479625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910200470A Expired - Fee Related CN101753150B (zh) | 2009-12-22 | 2009-12-22 | 低密度奇偶校验码的译码校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101753150B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951264B (zh) * | 2010-08-31 | 2014-03-12 | 宁波大学 | 一种多码率准循环低密度奇偶校验码解码器 |
CN102081690B (zh) * | 2010-12-30 | 2014-07-02 | 南京理工大学 | 复杂电路的矩阵分解结合新奇异值分解方法 |
CN108390740B (zh) * | 2017-02-03 | 2021-04-09 | 华为技术有限公司 | 一种信息的传输方法、译码方法和装置 |
CN110518918B (zh) * | 2019-05-08 | 2022-12-20 | 深圳全志在线有限公司 | 译码方法及译码器 |
CN113300717B (zh) * | 2021-05-19 | 2022-06-10 | 西南交通大学 | 一种基于码率自适应的高效化ldpc编码器电路 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594152A (zh) * | 2009-07-03 | 2009-12-02 | 清华大学 | 实现水平运算和垂直运算同时运行的ldpc码译码方法 |
-
2009
- 2009-12-22 CN CN200910200470A patent/CN101753150B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594152A (zh) * | 2009-07-03 | 2009-12-02 | 清华大学 | 实现水平运算和垂直运算同时运行的ldpc码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101753150A (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616514B2 (en) | Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code | |
CN101534166B (zh) | 准循环低密度奇偶校验码解码器及解码方法 | |
US8250449B2 (en) | Decoding method for LDPC code based on BP arithmetic | |
CN101156321B (zh) | Ldpc编码码字、特别是dvb-s2 ldpc编码码字的解码控制方法和设备 | |
CN101753150B (zh) | 低密度奇偶校验码的译码校验方法及装置 | |
CN101208864B (zh) | 解码装置及解码方法 | |
KR20070059696A (ko) | 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법 | |
KR20070119580A (ko) | 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 | |
RU2537806C2 (ru) | Устройство и способ для генерирования матрицы проверки четности в системе связи с использованием линейных блочных кодов и устройство передачи/приема и способ для использования этого | |
TW200926616A (en) | Decoding apparatus, decoding method and program | |
CN107968657B (zh) | 一种适用于低密度奇偶校验码的混合译码方法 | |
EP3242405B1 (en) | Non-binary check node processing with pre-sorted input | |
CN104052501A (zh) | 低复杂度的多进制ldpc码译码方法 | |
CN103199874B (zh) | 一种低密度奇偶校验码译码方法 | |
CN100589327C (zh) | 编码、解码方法及编码器、解码器 | |
CN103973315A (zh) | 一种低密度奇偶校验码译码装置及其译码方法 | |
CN109586733A (zh) | 一种基于图形处理器的ldpc-bch译码方法 | |
CN101277118A (zh) | 基于ldpc码的级联码的编码方法 | |
CN101595644B (zh) | 使用信道码解码的设备和方法 | |
CN105429645A (zh) | 针对低码率ldpc码的校验矩阵、ldpc码字及编码方法 | |
CN104579362A (zh) | 一种空间通信系统中部分并行结构ldpc码译码系统及其方法 | |
CN105871385A (zh) | 一种ldpc卷积码构造方法 | |
JP5523064B2 (ja) | 復号装置及び方法 | |
Nguyen et al. | Neural normalized min-sum message-passing vs. viterbi decoding for the CCSDS line product code | |
CN101895375B (zh) | 低密度校验码的译码系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121010 Termination date: 20141222 |
|
EXPY | Termination of patent right or utility model |