CN102291153B - Cmmb中ldpc码的译码方法及部分并行译码器 - Google Patents

Cmmb中ldpc码的译码方法及部分并行译码器 Download PDF

Info

Publication number
CN102291153B
CN102291153B CN201110157038.6A CN201110157038A CN102291153B CN 102291153 B CN102291153 B CN 102291153B CN 201110157038 A CN201110157038 A CN 201110157038A CN 102291153 B CN102291153 B CN 102291153B
Authority
CN
China
Prior art keywords
check
node
information
ldpc code
row
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
Application number
CN201110157038.6A
Other languages
English (en)
Other versions
CN102291153A (zh
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201110157038.6A priority Critical patent/CN102291153B/zh
Publication of CN102291153A publication Critical patent/CN102291153A/zh
Application granted granted Critical
Publication of CN102291153B publication Critical patent/CN102291153B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种CMMB中LDPC码的译码方法,包括以下步骤:(a)对LDPC码的现有校验矩阵进行置换,得到由18个256×9216的子矩阵组成的新校验矩阵,且每个子矩阵的每一列仅包含一个“1”;(b)将新校验矩阵应用于部分并行译码器中,控制单元控制整个部分并行译码器进行系统初始化;(c)信息更新单元接收变量节点存储单元的信息,与校验节点存储单元的信息共同作用,完成所有变量节点和校验节点的信息更新,直至CMMB中LDPC码的译码完成。本发明减少了译码过程中的信息存储量,有效地提高了信息收敛速度,降低了迭代次数,提高了译码效率;同时,还降低了硬件的实现难度。

Description

CMMB中LDPC码的译码方法及部分并行译码器
技术领域
本发明涉及一种译码器,具体地说,是涉及一种CMMB中LDPC码的部分并行译码方法及译码器。
背景技术
低密度奇偶校验(LDPC)码是一种具有逼近shannon限的优秀纠错码,具有极强的纠错和检错能力。近年来,低密度奇偶校验码的优异性能及其良好的应用前景已引起了研究人员的高度重视,现已成功应用于多个行业标准,如第二代欧洲数字电视广播标准(DVB—S2)、地面数字电视广播标准(CDTTB)、我国2006年提出的中国移动多媒体广播标准(CMMB)。
CMMB系统的信道编码采用LDPC码作为内码,此LDPC码的现有校验矩阵是经过精心设计构造出来的一种高度结构化的稀疏矩阵,具有巧妙的准循环特点:
(1)1/2码率的校验矩阵H为4608×9216,可以划分为256个18×9216的行子矩阵,其中下一个子矩阵可通过上一个子矩阵向右循环移36位而得到;也可以划分为256个4608×36的列子矩阵,其中后一个子矩阵可通过前一个子矩阵向下移18位而得到;这种校验矩阵的行重为6,列重为3。
(2)3/4码率的校验矩阵H为2304×9216,可以划分为256个9×9216的行子矩阵,其中下一个子矩阵可通过上一个子矩阵向右循环移36位而得到;也可以划分为256个2304×36的列子矩阵,其中后一个子矩阵可通过前一个子矩阵向下移9位而得到;这种校验矩阵的行重为12,列重为3。
在校验矩阵中只有极少数矩阵元素为“1”,绝大多数矩阵元素为零,上述所谓校验矩阵的行重即是指矩阵的每行中“1”的个数,而所谓的列重即是指矩阵的每列中“1”的个数。
CMMB中LDPC码的标准校验矩阵很大,为了便于分析和阐述原理,此处构造一个和标准校验矩阵具有类似结构的较小的矩阵Ha以便分析。
Figure GSB0000115813050000021
上述矩阵Ha是用与标准校验矩阵相似的构造方法构造的规则为9×18的矩阵,其行重为6,列重为3,准循环特性为:每隔3行,“1”的位置向右循环移6列,每隔6列,“1”的位置向下循环移3行。因此,在上述矩阵Ha中,可以将矩阵的第4行和第7行看成为第1行循环移位生成的两行,同理,第5行和第8行看成为第2行循环移位生成的两行,第6行和第9行看成为第3行循环移位生成的两行。
每一个二进制LDPC码均可以用上述类似的一个M×N稀疏校验矩阵进行描述,其中行数M表示校验节点数目,列数N表示变量节点数目(也可称为信息节点)。LDPC(Low Density Parity Check Code)译码主要是通过对数似然信息在校验节点和变量节点之间传递更新而迭代译码。在目前的研究中,LDPC译码器的译码结构可以分为全并行结构、全串行结构和部分并行结构。其中,全并行结构中所有的变量节点和校验节点同时更新,译码速度快,但是并行处理单元太多,各处理单元与存储单元之间的连线复杂度随着码长增加而急剧增加,给硬件设计造成了极大的困难;全串行结构每次只更新一行中的校验节点和变量节点,一次迭代需要m次校验节点更新和变量节点更新,译码延迟大,不利于在实时通信系统中应用;而部分并行结构是复杂度和译码速度的折中,可根据需要调整并行量。
按照消息传递方式的不同,目前LDPC码的译码方法可分为两种,一是TPMP(two-phase message passing)方法;另一种是将校验节点更新和变量节点更新融合在一起的TDMP(turbo decoding message passing)方法。下面分别对这两种现有技术做简要介绍。
现有技术一
该方案采用校验节点更新和变量节点更新分开处理的TPMP方法,其大致过程为:
步骤1.初始化,θn→m=L(cn),Λm→n=0。
步骤2.校验节点更新,也叫行更新。对每个m,n∈N(m),计算
Λ m → n = 2 tanh - 1 { Π n ′ ∈ N ( m ) \ n tanh [ θ n ′ → m / 2 ] } - - - ( 1 )
步骤3.变量节点更新,也叫列更新。对每个n,m∈M(n),计算
θ n → m = L ( c n ) + Σ m ′ ∈ M ( n ) \ m Λ m ′ → n - - - ( 2 )
λ n = L ( c n ) + Σ m ∈ M ( n ) Λ m → n - - - ( 3 )
步骤4.itea=itea+1,如果itea<Max_it,转到步骤2,否则转到步骤5。
步骤5.根据λn的值判定第n比特的接收值,n=1,...,N。
现有技术一由于将变量节点更新和校验节点更新独立开来,因此,在处理校验节点更新的时候,必须把所有的行都处理完,而在处理变量节点更新的时候,必须把所有的列都处理完,不能在处理一种节点更新的过程中对另一种节点进行更新。这种处理方法的缺点在于消息更新速度太慢,译码速度得不到提高。而且,在处理消息更新的同时,还需要存储大量的中间变量。以CMMB标准为例,在处理校验节点更新的时候,需要存储4608×6个更新变量;在处理变量节点更新的时候,需要存储9216×3个更新变量,这将需要占用大量的硬件资源,因此,对硬件设备的要求极高。
现有技术二
针对现有技术一的不足,近年来提出了一种将校验节点更新和变量节点更新融合在一起的消息更新机制,即TDMP算法。该算法的实现过程将现有技术一的步骤2和步骤3融合在了一起,该步骤具体如下:
ρnnm→n                (4)
&Lambda; m &RightArrow; n = &Pi; n &prime; &Element; M ( n ) \ n sign ( &rho; n &prime; ) max { min n &prime; &Element; M ( n ) \ n ( | &rho; n &prime; | - &beta; ) , 0 } - - - ( 5 )
λnnm→n                (6)
其中,sign()是符号函数,min()和max()分别是求最小值和最大值的函数。β是补偿最小和算法中的补偿因子,取值在0到1之间。
现有技术二在计算完一行的信息更新后,立即更新对应列的后验信息,更新后的列又用于下一行的计算。这样在一次迭代中,消息不断的在行和列之间传递,大大加快了迭代收敛的速度。和现有技术一相比,它能降低大约50%的迭代次数。同时在中间计算的时候,不需要存储对应节点的更新信息,可减少9216×3个存储单元。校验节点更新信息的计算也可通过采用补偿最小和算法进行简化,存储最小值、次小值以及每个变量更新后的符号。
该方案虽然有许多优点,但它的并行实现目前只能适用于特定的校验矩阵。这样的校验矩阵有一个特点,即每次并行处理的子矩阵中每一列的列重必须小于等于1,否则将会导致变量节点更新信息还未来得及使用便被覆盖,破坏消息传递结构而导致译码错误。很显然,从前述构造的矩阵Ha可以看出,CMMB中LDPC码的标准校验矩阵中列重并非小于等于1,因此,使用现有技术二来进行CMMB中LDPC码的译码并不适合。
发明内容
本发明的目的在于提供一种CMMB中LDPC码的译码方法,解决现有CMMB中LDPC码的译码过程中更新信息的存储量大、译码速度慢的问题,在实现对CMMB标准中LDPC码的正常译码的同时,减少更新信息的存储量和迭代次数,提高译码速度。
为了实现上述目的,本发明采用的技术方案如下:
CMMB中LDPC码的译码方法,包括以下步骤:
(a)对LDPC码的现有校验矩阵进行置换,得到由18个256×9216的子矩阵组成的新校验矩阵,且每个子矩阵的每一列仅包含一个“1”;
(b)将新校验矩阵应用于部分并行译码器中,控制单元控制整个部分并行译码器进行系统初始化;
(c)信息更新单元接收变量节点存储单元的信息,与校验节点存储单元的信息共同作用,完成所有变量节点和校验节点的信息更新,直至LDPC码的译码完成。
具体地说,所述步骤(a)中对LDPC码的现有校验矩阵进行置换的置换方法为:(a1)将LDPC码的现有校验矩阵中第1行和由第1行循环移位生成的所有行构成第1个子矩阵,该子矩阵占据新校验矩阵的第1行至第256行;(a2)将LDPC码的现有校验矩阵中第2行和由第2行循环移位生成的所有行构成第2个子矩阵,该子矩阵占据新校验矩阵的第257行至第512行;(a3)按照上述方法,类推至LDPC码的现有校验矩阵的第18行,得到18个256×9216的子矩阵,从而构成LDPC码的新校验矩阵。
所述步骤(c)的具体步骤包括:(c1)预处理单元对输入的校验节点信息和变量节点信息进行处理;(c2)最小值次小值计算单元按照补偿最小和(OMS)算法对预处理后的信息进行处理,并更新当前行的校验节点信息,然后由变量节点更新单元完成信息更新,即更新与当前处理行的校验节点相连的变量节点信息;(c3)判断是否完成所有变量节点的信息更新,如果是,则执行(c5),反之,则执行(c4);(c4)变量节点存储单元将变量节点的更新信息传输至与之相连的下一行校验节点,并执行(c1)~(c3);(c5)根据λn的值判定第n比特的接收值,n=1,...,N。
更具体地说,所述步骤(c1)的具体方法为:首先从变量节点存储单元中读取和当前处理行校验节点相连的变量节点信息,然后再从当前处理行的校验节点存储单元中读取当前行的当前校验节点信息,两者相减,得到预处理单元输出信息,将该信息输入最小值次小值计算单元,并存入对应的移位存储器中。
所述步骤(c2)中补偿最小和算法的具体方法为:首先对预处理单元的处理结果求取最小值min1、次小值min2,以及求取处理结果的所有值的符号的乘积signs;然后针对每一个校验节点的更新信息,取出它的符号signx与signs做异或运算得到更新后的符号signf;最后将预处理单元的处理结果的绝对值与mnin1进行比较,若相等,则它更新后的值为(signf)min2,反之,则它更新后的值为(signf)min1。
所述步骤(c2)中变量节点更新单元完成变量节点的信息更新的具体方法为:将经过最小值次小值计算单元处理后的校验节点的更新信息与移位寄存器中存储的值相加得到与校验节点相连的变量节点的更新信息。
以上述译码算法为基础,本发明还提供了一种CMMB中LDPC码的部分并行译码器,包括变量节点存储单元,与该变量节点存储单元进行信息交换的至少一个信息更新单元,以及对变量节点存储单元和所有信息更新单元进行控制的控制单元。
进一步地说,所述信息更新单元包括用于存储校验节点信息的校验节点存储单元、用于对待更新信息进行预处理的预处理单元、用于对预处理单元的处理结果进行补偿最小和算法的最小值次小值计算单元,以及用于完成变量节点信息更新的变量节点更新单元和移位寄存器。
再进一步地说,所述校验节点存储单元和变量节点存储单元均由存储器构成;控制单元由状态器构成,预处理单元由处理器构成,而最小值次小值计算单元则由计算器构成。
本发明的设计原理在于:通过改变LDPC码的校验矩阵,来提高校验节点与变量节点之间的信息收敛速度,减少校验节点与变量节点之间的迭代次数,进而提高校验节点和变量节点之间的信息传递效率,最终达到提高译码速度的目的。LDPC码的校验矩阵的改变,在于利用LDPC码的现有校验矩阵的准循环特性进行巧妙置换,使构成的新校验矩阵中,每个子矩阵的列重为1,从而解决CMMB中LDPC码的现有校验矩阵中每个子矩阵的列重超过1导致在译码过程中可能出现更新信息尚未使用便被覆盖的问题。
与现有技术相比,本发明具有以下有益效果:
(1)本发明设计巧妙,原理简单,实现方便,有效地解决了现有CMMB中LDPC码的译码方法信息存储量大、速度慢等问题;
(2)本发明中部分并行译码器的硬件结构简单,变量节点存储单元只需要存储校验矩阵的列数个变量节点即可,因此,存储单元大大减少,节省了存储空间,减小了硬件资源消耗;
(3)本发明中将校验节点存储单元集成于信息更新单元之中,大大减小了硬件的布线难度,使校验节点信息的读写更加方便,硬件更加容易实现;
(4)本发明采用巧妙的置换方法,实现了新校验矩阵中每个子矩阵的列重为1,从而有效地避免了译码过程中同一节点在先更新的信息在尚未使用之前便被在后更新的信息覆盖的问题,保证了译码过程的顺利进行,提高了译码的准确率;
(5)本发明中采用校验节点、变量节点、校验节点、变量节点交叉的顺序进行信息更新,且在同一次迭代中,变量节点还会用更新后的信息参与到其他校验节点更新中,这种信息传递机制更充分地利用了已知信息,大大提高了信息的收敛速度,降低了迭代次数,提高译码吞吐率,最终实现了提高译码速度的效果。
附图说明
图1为本发明中部分并行译码器的系统框图。
图2为图1中信息更新单元的系统框图。
图3为本发明中部分并行译码器的译码算法的流程示意图。
图4为本发明中部分并行译码器的译码算法中步骤(c)的流程示意图。
图5为现有技术中矩阵Ha的tanner图。
图6为本发明-实施例中矩阵Ha′的tanner图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
首先对本发明中各个字母及函数代表的含义进行解释,具体如下:
L(cn)表示随机变量cn的对数似然比,L(cn)=log{P(cn=0|rn)/P(cn=1|rn)};
集合N(m)={n;Hmn≠0}表示与校验节点m相连的所有变量节点;
集合M(n)={m;Hmn≠0}表示与变量节点n相连的所有校验节点;
N(m)\n表示N(m)中除了n以外的其他点的集合;
M(n)\m表示M(n)中除了m以外的其他点的集合;
Λm→n表示校验节点m传递给变量节点n的信息;
θn→m表示变量节点n传递给校验节点m的信息;
λn表示第n个变量节点的信息;
Max_it是设定的最大迭代次数;
itea表示迭代次数;
Ln表示接收到的第n个比特信道信息的对数似然比;
Λij表示第i行校验节点传递给第j个变量节点信息的对数似然比,i=1,...,M,M表示行数,j=1,..,ci,ci表示第i行的行重;
Ik表示第k行中所有1所在的位置;
集合N(m)={n;Hmn≠0}表示与校验节点m相连的所有变量节点;
N(m)\j表示N(m)中除了j以外的所有点的集合。
实施例
如图1和图2所示,采用32路并行译码,每个信息更新单元处理2行,因此CMMB中LDPC码的部分并行译码器,由控制单元、变量节点存储单元和16个信息更新单元。其中,信息更新单元是本发明中的核心器件,主要用于实现校验节点和变量节点之间的信息更新,其信息更新的速度和准确率直接关系到整个部分并行译码器的译码速度和准确率;变量节点存储单元主要用于存储变量节点的更新信息;而控制单元则是整个部分并行译码器的控制中心,它向部分并行译码器内部的各个功能器件发出控制信号,控制各功能器件执行各自的工作。所有的信息更新单元分别采用双向总线与变量节点存储单元连接,以实现两者之间的信息交换;而控制单元分别通过单向总线与变量节点存储单元和所有的信息更新单元连接,以便向变量节点存储单元和所有的信息更新单元发出控制信号,实现对各个功能器件的控制。
上述16个信息更新单元结构相同,均由校验节点存储单元、预处理单元、移位存储器、最小值次小值计算单元和变量节点更新单元组成。其中,校验节点存储单元用于存储校验节点信息;预处理单元用于对待更新的节点信息进行预处理,并将处理结果输入最小值次小值计算单元和移位存储器中,以便进一步处理;最小值次小值计算单元完成校验节点的信息更新;而变量节点更新单元则是用于实现变量节点的信息更新。在上述结构中,预处理单元分别通过移位存储器和最小值次小值计算单元与变量节点更新单元连接,而校验节点存储单元则分别与预处理单元和最小值次小值计算单元连接。
下面以1/2码率的校验矩阵为例,对本发明中部分并行译码器的译码算法进行详细说明。
假设S为并行处理的行数,D为子矩阵的个数,满足校验节点数目M=D×S,则本实施例中部分并行译码器的总体译码过程可以按照以下步骤进行描述:
步骤1.对现有校验矩阵进行置换,得到本发明中所需的新校验矩阵;
步骤2.部分并行译码器初始化,λn=Ln,n=1,...,N;Λij=0,i=1,...,M;j=1,...,ci
步骤3.对所有的d,d从1到D,计算当前处理行的校验节点的更新信息,每次并行计算S行,然后完成与当前处理行的校验节点相连的变量节点的信息更新;
&rho; j s = &lambda; ( I ( d - 1 ) S + s , j ) - &Lambda; ( d - 1 ) S + s , j - - - ( 7 )
&Lambda; ( d - 1 ) S + s , j = &Pi; j &prime; &Element; N ( m ) \ j sign ( &rho; j &prime; s ) max { min j &prime; &Element; N ( m ) \ j ( | &rho; j &prime; s | - &beta; ) , 0 } - - - ( 8 )
&lambda; ( I ( d - 1 ) S + s , j ) = &rho; j s + &Lambda; ( d - 1 ) S + s , j - - - ( 9 )
步骤4.itea=itea+1,如果itea<Max_it,转到步骤2,否则转到步骤4。
步骤5.根据λn的值判定第n比特的接收值,n=1,...,N。
为了更加容易理解上述步骤1~步骤5,使本发明的实现更加容易,下面分别对上述步骤1~步骤5进行详细说明。本发明进行CMMB中LDPC码的译码流程示意图如图3和图4所示。
步骤1.对LDPC码的现有校验矩阵进行置换,得到由18个256×9216的子矩阵组成的新校验矩阵,且每个子矩阵的列重均为1。
根据现有技术可知,LDPC码的现有校验矩阵具有巧妙的准循环特点,利用该准循环特点对现有校验矩阵进行置换便可以得到本发明中所需的新校验矩阵,具体的置换方法为:首先,将LDPC码的现有校验矩阵中第1行和由第1行循环移位生成的所有行构成第1个子矩阵,该子矩阵占据新校验矩阵的第1行至第256行;然后再将LDPC码的现有校验矩阵中第2行和由第2行循环移位生成的所有行构成第2个子矩阵,该子矩阵占据新校验矩阵的第257行至第512行;按照上述方法,依次类推至LDPC码的现有校验矩阵的第18行,即最后一行,得到18个256×9216的子矩阵,这18个子矩阵按照顺序排列便形成了本发明中LDPC码的新校验矩阵。
在形成LDPC码的新校验矩阵之后,必须验证其对译码结果的影响。由于LDPC码的译码主要是通过信息在校验节点m和变量节点n之间传递而迭代译码,而信息的传递则按照校验矩阵所描述的tanner图进行,因此,验证新校验矩阵对译码结果是否存在影响的方法便是将LDPC码的新校验矩阵的tanner图和现有校验矩阵的tanner图进行比较,如果tanner图中信息的传递结构相同则表明新校验矩阵对译码结果无影响,反之,则说明新校验矩阵会对译码结果产生影响,不能使用。为了方便对现有校验矩阵和新校验矩阵的tanner图进行比较,本实施例中以现有技术中构造的矩阵Ha为原形,采用上述置换方法得到一个新矩阵Ha′。
明显可以看出,矩阵Ha′由三个子矩阵H1、H2、H3构成,且每个子矩阵的列重均为1。矩阵Ha和矩阵Ha′的tanner图分别为图5和图6。从图5可以看出,在校验节点更新时,变量节点的信息通过与校验节点的连线传递到相应的校验节点;变量节点更新时,校验节点的信息通过与变量节点的连线传递到相应的变量节点。而从图5和图6的对比来看,两者只是校验节点的位置进行了交换,变量节点和校验节点之间的连接关系并没有变化,由此便说明信息的传递结构没有变化,所以从Ha到Ha′的变换对译码结果没有影响,进而推断采用本发明所述的置换方法对LDPC码的现有校验矩阵进行置换,所得到的新校验矩阵对译码结果也没有影响。
Figure GSB0000115813050000121
步骤2.将置换所得的新校验矩阵应用于部分并行译码器中,由控制单元发出控制信号,控制整个部分并行译码器进行系统初始化。
控制单元由控制器构成。在系统初始化过程中,控制单元向系统输入先验信息,并生成各存储单元的地址信息,此处的存储单元是指变量节点存储单元和所有的校验节点存储单元。另外,在译码过程中,控制单元还进行迭代是否终止的判断,即进行图4所示所有的变量节点的信息是否均已经更新的判断:所有的变量节点的信息均已更新表明迭代终止,反之,则迭代继续。
步骤3.本步骤实质上可以细分为以下三个小步骤,分别为:
(I)预处理单元对输入的变量节点信息和校验节点信息处理;
预处理单元的具体工作过程为:预处理单元首先从变量节点存储单元中读取和当前处理行校验节点相连的变量节点信息,然后再从校验节点存储单元中读取当前行的校验节点信息,两者相减,即完成(7)式所描述的运算,所得结果同时传输至最小值次小值计算单元和移位存储器中。
在本实施例中,LDPC码的新校验矩阵由18个256×9216的子矩阵排列构成,因此,必然设置有18个校验节点存储单元,用于分别存储每个子矩阵的校验节点信息。而每个子矩阵的行数为256行,因此在计算子矩阵的校验节点信息时,每次并行计算的行数也为256行。
(II)最小值次小值计算单元按照补偿最小和算法对预处理单元的输出信息进行处理;
最小值次小值计算单元完成(8)式所描述的补偿最小和算法,具体方法为:由于预处理单元每次处理的结果均包含多个带符号的数值,因此,首先对预处理单元的处理结果求取最小值min1、次小值min2,以及求取处理结果的所有值的符号的乘积signs;然后针对每一个校验节点的更新信息,取出它的符号signx与signs做异或运算得到更新后的符号signf;最后将预处理单元的处理结果的绝对值与min1进行比较,若相等,则它更新后的值为(signf)min2,反之,则它更新后的值为(signf)min1。本部分所述的符号是指数值的正号与负号。
(III)由变量节点更新单元对与当前处理行的校验节点相连的变量节点进行信息更新;
具体地说,变量节点更新单元的功能在于完成(9)式的运算,其方法为:由经过最小值次小值计算单元处理后的校验节点的更新信息与移位寄存器中存储的值相加得到与该校验节点相连的变量节点的更新信息。
变量节点的更新信息存储于变量节点存储单元之中。
步骤4.判断是否完成所有的变量节点的信息更新;
在本步骤中,采用的具体判断方法是设定最大迭代次数Max_it,然后在每完成一个变量节点的信息更新之后,相应的迭代次数加1,再判断该迭代次数是否大于设定的最大迭代次数Max_it。如果大于设定的最大迭代次数Max_it,则证明完成了所有的变量节点的信息更新,反之,则证明尚未完成所有的变量节点的信息更新。
如果尚未完成所有的变量节点的信息更新,则由变量节点存储单元将当前处理行的变量节点的更新信息传输至与之相连的下一行的校验节点,然后再重复步骤3,直到完成所有的变量节点的信息更新。
步骤5.根据λn的值判定第n比特的接收值,n=1,...,N;
在所有变量节点的信息更新完成之后,只需要得出每个变量节点的接收值,即可完成CMMB中LDPC码的译码,此步骤与现有技术一中的步骤5完全相同,在此不再赘述。
按照上述实施例,便可很好地实现本发明。

Claims (9)

1.CMMB中LDPC码的译码方法,其特征在于,包括以下步骤:
(a)对LDPC码的现有校验矩阵进行置换,得到由18个256×9216的子矩阵组成的新校验矩阵,且每个子矩阵的每一列仅包含一个“1”;
(b)将新校验矩阵应用于部分并行译码器中,控制单元控制整个部分并行译码器进行系统初始化;
(c)信息更新单元接收变量节点存储单元的信息,与校验节点存储单元的信息共同作用,完成所有变量节点和校验节点的信息更新,直至CMMB中LDPC码的译码完成。
2.根据权利要求1所述的CMMB中LDPC码的译码方法,其特征在于,所述步骤(a)中对LDPC码的现有校验矩阵进行置换的置换方法为:
(a1)将LDPC码的现有校验矩阵中第1行和由第1行循环移位生成的所有行构成第1个子矩阵,该子矩阵占据新校验矩阵的第1行至第256行;
(a2)将LDPC码的现有校验矩阵中第2行和由第2行循环移位生成的所有行构成第2个子矩阵,该子矩阵占据新校验矩阵的第257行至第512行;
(a3)按照上述方法,类推至LDPC码的现有校验矩阵的第18行,得到18个256×9216的子矩阵,从而构成LDPC码的新校验矩阵。
3.根据权利要求1或2所述的CMMB中LDPC码的译码方法,其特征在于,所述步骤(c)的具体步骤包括:
(c1)预处理单元对输入的校验节点信息和变量节点信息进行处理;
(c2)最小值次小值计算单元按照补偿最小和算法对预处理后的信息进行处理,并更新当前行的校验节点信息,然后由变量节点更新单元对与当前处理行的校验节点相连的变量节点进行信息更新;
(c3)判断是否完成所有变量节点的信息更新,如果是,则执行(c5),反之,则执行(c4);
(c4)变量节点存储单元将变量节点的更新信息传输至与之相连的下一行校验节点,并执行(c1)~(c3);
(c5)根据λn的值判定第n比特的接收值,n=1,...,N。
4.根据权利要求3所述的CMMB中LDPC码的译码方法,其特征在于,所述步骤(c1)的具体方法为:
首先从变量节点存储单元中读取和当前处理行校验节点相连的变量节点信息;然后再从当前处理行的校验节点存储单元中读取当前行的当前校验节点信息,两者相减,所得到即为预处理单元的输出信息,将该信息传输到最小值次小值计算单元,同时将该信息存入移位存储器中。
5.根据权利要求4所述的CMMB中LDPC码的译码方法,其特征在于,所述步骤(c2)中补偿最小和算法的具体方法为:
首先对预处理单元的处理结果求取最小值min1、次小值min2,以及求取处理结果的所有值的符号的乘积signs;然后针对每一个校验节点的更新信息,取出它的符号signx与signs做异或运算得到更新后的符号signf;最后将预处理单元的处理结果的绝对值与min1进行比较,若相等,则它更新后的值为(signf)min2,反之,则它更新后的值为(signf)min1。
6.根据权利要求5所述的CMMB中LDPC码的译码方法,其特征在于,所述步骤(c2)中变量节点更新单元完成变量节点的信息更新的具体方法为:
将经过最小值次小值计算单元处理后的校验节点的更新信息与移位寄存器中存储的值相加得到与校验节点相连的变量节点的更新信息。
7.CMMB中LDPC码的部分并行译码器,其特征在于,包括变量节点存储单元,与该变量节点存储单元进行信息交换的至少一个信息更新单元,以及对变量节点存储单元和所有信息更新单元进行控制的控制单元;所述信息更新单元包括用于存储校验节点信息的校验节点存储单元、用于对待更新信息进行预处理的预处理单元、用于对预处理单元的处理结果进行补偿最小和算法的最小值次小值计算单元,以及用于完成变量节点信息更新的变量节点更新单元和移位寄存器。
8.根据权利要求7所述的CMMB中LDPC码的部分并行译码器,其特征在于,所述校验节点存储单元和变量节点存储单元均由存储器构成。
9.根据权利要求8所述的CMMB中LDPC码的部分并行译码器,其特征在于,所述控制单元由状态器构成,预处理单元由处理器构成,而最小值次小值计算单元则由计算器构成。
CN201110157038.6A 2011-06-13 2011-06-13 Cmmb中ldpc码的译码方法及部分并行译码器 Expired - Fee Related CN102291153B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110157038.6A CN102291153B (zh) 2011-06-13 2011-06-13 Cmmb中ldpc码的译码方法及部分并行译码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110157038.6A CN102291153B (zh) 2011-06-13 2011-06-13 Cmmb中ldpc码的译码方法及部分并行译码器

Publications (2)

Publication Number Publication Date
CN102291153A CN102291153A (zh) 2011-12-21
CN102291153B true CN102291153B (zh) 2014-04-02

Family

ID=45337288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110157038.6A Expired - Fee Related CN102291153B (zh) 2011-06-13 2011-06-13 Cmmb中ldpc码的译码方法及部分并行译码器

Country Status (1)

Country Link
CN (1) CN102291153B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624401B (zh) * 2012-03-30 2014-08-06 复旦大学 一种兼容结构化与非结构化ldpc译码器及译码算法
CN106997777B (zh) * 2015-09-18 2021-01-05 爱思开海力士有限公司 具有改进的硬解码吞吐量的vss ldpc解码器
CN108649963B (zh) * 2018-07-09 2024-07-16 卓荣集成电路科技有限公司 Qc-ldpc解码器、分层解码方法、存储设备及通信模组
CN109347485A (zh) * 2018-09-29 2019-02-15 山东存储之翼电子科技有限公司 构造ldpc码校验矩阵的方法及ldpc码编译方法
CN109639288B (zh) * 2018-10-24 2023-07-04 上海无线电设备研究所 适用于qc-ldpc码的通用化译码方法及译码模块
CN112636767B (zh) * 2020-12-03 2023-04-07 重庆邮电大学 一种具有单置换网络的分层半并行ldpc译码器系统
CN112953557A (zh) * 2021-03-23 2021-06-11 西南大学 基于扩展最小和算法的nb-ldpc码加权因子优化译码器和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478315B (zh) * 2009-01-09 2011-12-21 航天恒星科技有限公司 一种基于cmmb标准的字节交织器及交织方法

Also Published As

Publication number Publication date
CN102291153A (zh) 2011-12-21

Similar Documents

Publication Publication Date Title
CN102291153B (zh) Cmmb中ldpc码的译码方法及部分并行译码器
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
CN102075198B (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
CN101106381B (zh) 分层的低密度校验码译码器及译码处理方法
CN101141133B (zh) 一种结构化低密度校验码的编码方法
CN101350625B (zh) 一种高效通用的qc-ldpc码译码器及其译码方法
CN101800559B (zh) 一种基于tdmp的高速可配置qc-ldpc码解码器
CN101771421B (zh) 基于tdmp的超高速低功耗qc-ldpc码解码器
CN100425000C (zh) 双涡轮结构低密度奇偶校验码解码器及解码方法
CN103384153B (zh) 准循环ldpc码译码方法及系统
CN102664638A (zh) 基于分层nms算法的多码长ldpc码译码器的fpga实现方法
CN100542049C (zh) 一种多码率的ldpc码的译码器装置及译码方法
CN103618556A (zh) 基于rmp调度的部分并行qc-ldpc译码方法
CN103916134A (zh) 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器
CN106374940A (zh) 一种多进制ldpc译码方法及译码器
CN102412844B (zh) 一种ira类ldpc码的译码方法及译码装置
CN101958718B (zh) 用于ldpc码的改进型半并行译码器和译码方法
CN102957436A (zh) 一种低密度奇偶校验码译码装置和译码方法
CN101917249A (zh) Qc-ldpc码译码器及其实现方法
CN101420279A (zh) 移动多媒体广播中高速ldpc译码器及译码方法
CN102130692A (zh) 基于外在信息度数的准循环低密度奇偶校验码的构造方法
CN100578945C (zh) 一种ldpc码的译码器装置及译码方法
CN102185615B (zh) 适于并行译码实现的ldpc码构造方法
CN105515588B (zh) 一种ldpc‑cc高速译码器
CN102611462A (zh) 一种ldpc-cc译码算法及译码器

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: 20140402

Termination date: 20140613

EXPY Termination of patent right or utility model