一种ldpc码的编码装置及方法

文档序号:7513895阅读:141来源:国知局
专利名称:一种ldpc码的编码装置及方法
技术领域
本发明属于编码技术领域,尤其涉及一种LDPC码的编码装置及方法。
背景技术
低密度奇偶校验码(Low Density Parity Check Code, LDPC)是由Robert G.Gallager博士于1963年提出的一类具有稀疏校验矩阵的线性分组码,不仅有 逼近Shannon限的良好性能,而且译码复杂度较低,结构灵活,是近年信道编 码领域的研究热点,目前已广泛应用于深空通信、光纤通信、卫星数字视频和 音频广播等领域。LDPC码已成为第四代通信系统(4G)强有力的竟争者,而基 于LDPC码的编码方案已经被下一代卫星数字视频广播标准数字视频广播 (Digital Video Broadcasting, DVB)-S2采纳。
LDPC码是通过校验矩阵定义的一类线性码,为使译码可行,在码长较长 时需要校验矩阵满足"稀疏性",即校验矩阵中1的密度比较低,也就是要求 校验矩阵中1的个数远小于0的个数,并且码长越长,密度就要越低。
在构造校验矩阵时,有些是利用随机的计算机搜索方法生成奇偶校验矩阵, 有些则是利用代数学和组合理论构造LDPC码,使之具有规律的循环或准循环 结构(QC-LDPC),如DTM标准中的校验矩阵就具有准循环结构。
作为线性分组码的一类,LDPC码的生成矩阵是与校验矩阵是正交的,一 般的生成矩阵是较复杂,而且是非常不稀疏的。
LDPC码包括生成矩阵和校验矩阵, 一般的算法是将待编码的输入信息和 生成矩阵相乘得到信息本身和校验位。用G表示生成矩阵,m表示输入信息, p表示校验位,则DTM标准中的LDPC码的生成矩阵Gqc的结构式G00 G0I…Gq,一,/ 0 …0
; ;... : ..o
G,, ,G', ,, ... G,—,,」0… 0 /
其中I是bxb阶的单位矩阵,O是bxb循环矩阵。Gij表示长度为127 位的循环矩阵。编码器输出的码字信息位在后,校验位在前。 三种不同码率的LDPC码的结构分别为
1) 、码率为0.4的LDPC (7493, 3048 )码,式子中的参数为k=24, c=35, b=127;
2) 、码率为0.6的LDPC ( 7493, 4572 )码,式子中的参数为k=36, c=23, b=127;
3) 、码率为0.8的LDPC (7493, 6096)码,式子中的参数为k=48, c=ll, b=127;
具体实施步骤如下
A、 4妻^^寺编石马k》夹的^fl"息m = ('""o,附,,…,附n), 每块长度为127位。
B、 整数i从0到c-1 ,整数j从0到k-1
调用127位循环移位模块计算,e呼,*G ;
调用异或寄存器计算p, 十…十她/v"
C、 完成输出校验位;^(A),A,…/V,)和码 字
由于LDPC码的生成矩阵是非常不稀疏的,每次计算需要调用127位的 循环移位模块高达六十多次。这样,每计算一次码字C需要调用127位循环移 位模块kxcx63次,消耗大量的逻辑单元,不符合数字电视信道编码的高速率 实时要求标准。
因为LDPC码的校验矩阵具有很大的稀疏性,而生成矩阵和校验矩阵存在 正交的关系,即Z/G"-0 ,所以生成矩阵可以由校验矩阵得到,利用校验矩阵对 信息编码比直接用生成矩阵对信息编码少用了许多硬件资源,减少了计算复杂度。
如DTM标准中LDPC码冲交验矩阵结构为
<formula>formula see original document page 7</formula>
其中是bxb (b=127)的矩阵,三种不同码率的参数c见LDPC码的码率 结构,t=k+c=59。
现有技术中,T.Richardson和R.Urbanke提出了 RU算法,该算法交换校验 矩阵H行列的位置,保持矩阵的稀疏性,利用交换行列后的校验矩阵分两部分 进行编码,有效降低了编码的复杂度。经过行列交换的校验矩阵H,具有近似 下三角形式,如图1所示。
设信息序列为m,码字为C,根据现有技术可将码字C分为三部分C= (m, pl, p2),其中m是信息比特序列,长度为k; pl和p2是校验比特序歹'J , 长度分别为g和n-k-g;校验比特序列pl、 p2分别用两个编码器模块生成得到。
以上RU算法可以利用校验矩阵计算码字,但是目前得到近似下三角校验 矩阵H,的方法还不能令人满意。T丄Rrichdson等人通过GREED算法重排校 验矩阵过于复杂,当码长较长时这样的预处理需要消耗很长时间。而且转换后 的矩阵结构混乱,不易于硬件的实现,所以这种编码方法也不是一种理想的实 现方式。

发明内容
本发明实施例的目的在于提供一种LDPC码的编码装置,旨在解决现有技 术中LDPC编码器编码过程复杂,当码长较长时编码时间过长,消耗硬件资源 的问题。
本发明实施例是这样实现的, 一种LDPC码的编码装置,所述装置包括 存储单元,用于存储编码信源信息;校验编码计算单元,用于根据具有Toeplitz结构的校验矩阵对编码信源信 息进行计算,其中,该校验编码单元具有Toeplitz结构的校验矩阵; 异或单元,用于将计算后的结果进行异或后输出。
本发明实施例的另一目的在于提供一种LDPC码的编码方法,所述方法包

存储接收到的编码信源信息;
根据具有Toeplitz结构的矩阵对编码信源信息进行计算; 将计算后的结果进行异或后输出。
本发明实施例通过将校验矩阵进行分块,其中,分块后的校验矩阵具有 Toeplitz结构,根据分块后的校验矩阵对接收到的信息进行编码,在本发明实 施例中,矩阵的逆的对角线值完全一样,方便采用流水线方式工作,具有良好 的规律性,稀疏的准循环矩阵结构给编码带来了极大的方便,节省了硬件资源。


图1是现有技术提供的RU算法中经过行列交换的校验矩阵的结构图; 图2是本发明实施例提供的LDPC码的编码装置的结构图; 图3是本发明实施例提供的LDPC码的编码装置中校验编码计算单元执行 计算时的结构图4是本发明实施例提供的校验编码计算单元中MA矩阵计算单元的结构
图5是本发明实施例提供的校验编码计算单元中B矩阵计算单元的结构
图6是本发明实施例提供的校验编码计算单元中C矩阵计算单元的结构
图7是本发明实施例提供的校验编码计算单元中Toeplitz矩阵计算单元的
结构图;
8.程图
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
本发明实施例通过将校验矩阵进行分块,其中,分块后的校验矩阵具有
Toeplitz结构,根据分块后的校验矩阵对接收到的信息进行编码。
图2示出了本发明实施例提供的LDPC码的编码装置的结构。其中,本发
明实施例的存储单元以寄存器为例。
编码信源信息4妄收单元接收编码信源信息的输入。
编码信源信息处理单元根据112稀疏矩阵的系数将接收到的编码信源信息 按块循环移位得到二进制比特序列分别放到存储单元中,此处以存储单元为寄 存器L1和寄存器L2为例。
其中,对H2的解释为
设LDPC编码器的校验矩阵为II,生成矩阵为G,校验位p,设//^//, //2],
因为//g' = //,v1〃2+//2 =(),所以g = [g。 /〗=k/zr1/^)' /| ,所以有
p',,-1//,],要实现编码首先要计算/7卢',再计算/Z,-'//2m'。
校验编码计算单元根据具有Toeplitz结构的校验矩阵同时对寄存器Ll和
L2中的数据进行处理。其中,该校验编码单元具有Toeplitz结构的校验矩阵。 其中,在计算/V1时,利用矩阵的分块方法,将矩阵分成具有良好性质的
带状Toeplitz结构的可逆矩阵,而且保证了矩阵的准循环特性,这样的矩阵逆
表达式结构清晰,具有良好的规律性,可以采取流水线并行处理。
体实施过程中,具有Toeplitz结构的校验矩阵是通过以下方式获取的 首先保持准循环结构,将DTM标准中LDPC码校验矩阵/C进行按块行变换, 一般只需移动一行或一列,使得移动后的矩阵M左上角具有带状对角线值
相同的结构。之后,将移动后的M矩阵分成A, B, C, D四块,优选的,使 得A块具有带状Toeplitz结构方阵,设A块宽度为127位。
设LDPC编码器的校验矩阵为II,生成矩阵为G,校验位p,设//^//, //2],
若M二
爿 6
为III矩阵移位分块后的矩阵,由舒尔分解式子可得:
/T'[/l + 50W7y1)—'C]爿一1 —爿—'5(AZ/^T
、1 , I" w
,则有
='//2"z = ' *L=[iALl+iBL2 , iCLl+iDL2]=[Tl + T5 + T8 , T3 + T6Hpl, P2]。
其中iA, iB, iC, iD分别为M求逆后对应的矩阵块,求逆方法由舒尔分 解得到。分解后的矩阵块保持准循环性质和II矩阵的稀疏性,便于硬件实现, 成倍地减少消耗逻辑单元。
在具体实施过程中,该校验编码计算单元包括Toeplitz矩阵计算单元,MA 矩阵计算单元,b矩阵计算单元以及C矩阵计算单元。
其中,所述Toeplitz矩阵为A矩阵的逆,A矩阵、B矩阵、C矩阵和D矩 阵为将才交—险矩阵M进4亍分块后的矩阵,MA为(M / X)矩阵的逆,矩阵MA=D -CA-'B,下面结合图3对校验编码计算单元的工作过程作详细描述
1) Toeplitz矩阵计算单元计算寄存器Ll的数据,得到的二进制比特序列 放到寄存器T1中;
2) C矩阵计算单元计算寄存器T1的数据,得到的二进制比特序列放到寄 存器T2中;
3 ) MA矩阵计算单元计算寄存器T2的数据,得到的二进制比特序列放到 寄存器T3中;
4) B矩阵计算单元计算寄存器T3的数据,得到的二进制比特序列放到寄存器T4中;
5) Toeplitz矩阵计算单元计算寄存器T4的数据,得到的二进制比特序列 放到寄存器T5中;
6) MA矩阵计算单元计算寄存器L2的数据,得到的二进制比特序列放到 寄存器T6中;
7) B矩阵计算单元计算寄存器T6的数据,得到的二进制比特序列放到寄 存器T7中;
8) Toeplitz矩阵计算单元计算寄存器T7的数据,得到的二进制比特序列 放到寄存器T8中;
在将经过以上的计算处理后,异或单元将计算后的结果进行异或后输出, 具体描述为
将寄存器Tl中的数据与寄存器T5中的数据进行异或,并结果与寄存器 T8中的数据异或,输出二进制比特序列pl;
将寄存器T3中的数据与寄存器T6中的数据进行异或,输出二进制比特序 列p2;
最后,异或单元将pl和p2并位处理,输出码字C,编码结束。
MA矩阵计算单元的框架图如图4所示,包括如下3个步骤
Ml、记输入数据为[/"。
,、 ... ,首先经过预处理(M")矩阵的逆,
得到M矩阵计算单元参数[m。
m, ^ m3]。
M2、将输入数据in0循环移位m0与输入数据inl循环移位ml异或后,输
出R0。
M3、将输入数据in0循环移位m2与输入数据inl循环移位m3异或后,输 出Rl。
B矩阵计算单元的框架图如图5所示,包括如下4个步骤 Bl、记输入数据为[/"。
z、 ... ,>v—,],根据稀疏的校验矩阵H得到B矩阵 计算单元参数[6。
" 。B2、将输入数据inO循环移位b0与输入数据inl循环移位bl异或后,输 出RO。
B3、将输入凄t据inl循环移位b2后,输出Rl 。
B4、将R2, ,R3,…,Rw-l置()后输出。
C矩阵计算单元的框架图如图6所示,包括如下3个步骤
Cl、记输入数据为[/"。
— ... /"屮],根据稀疏的校验矩阵H得到C矩阵
计算单元参数[c。
Cl c2]。
C2、将输入数据inw—2循环移位c。与输入数据in,i循环移位ci异或后,输
出R0。
C3 、将输入数据in,i循环移位C2后,输出Rl 。
Toeplitz矩阵计算单元采用流水线方式执行,其框架图如图7所示,包括 如下3个步骤
Tl、根据Toeplitz矩阵求逆方法高斯消去法得出求逆后矩阵块系数,记为 K 厂…J ;
T2、整数i从0到w-l,输入数据/,,直到第i个位置停止,对数据/,进 行循环移位/。,/i,…A ,结果与寄存器A,的数据异或后,再放回
iW、A 。
T3、 一直下去,每进行一次i增加l,结果从RO输出一次。如果i等于w 的时候,跳出循环,结束运算。
在Toeplitz矩阵计算单元,MA矩阵计算单元,B矩阵计算单元以及C矩 阵计算单元的计算过程中,均保持为127比特位。由于H矩阵的稀疏性,只需 对127比特块平均循环移位4次就可得到Toeplitz矩阵的逆,这样的分块矩阵 求逆表达式虽然复杂,但由于矩阵的稀疏性, 一次编码过程的计算量只是直接 用生成矩阵运算的二十分之一到四十分之一。
譬如,当码率为0.4时,Toeplitz矩阵计算单元平均需要对127比特块循环 移位(1+32) x 32/2 x 4=2112次,B矩阵计算单元平均需要对127比特块循环移位7次,C矩阵计算单元平均需要对127比特块循环移位3次,MA矩阵计 算单元平均需要对127比特块循环移位2 x 2 x 63=252次,稀疏的H2矩阵相乘 模块275-3 x 35=170次, 一 共需要对 127 比特块循环移位 2112+7+3+252+170=2544次。
当码率为0.6时,Toeplitz矩阵计算单元平均需要对127比特块循环移位 (1+21 ) x 21/2 x 4=924次,B矩阵计算单元平均需要对127比特块循环移位3 次,C矩阵计算单元平均需要对127比特块循环移位3次,MA矩阵计算单元 平均需要对127比特块循环移位2 x 2 x 63=252次,稀疏的H2矩阵相乘4莫块 296-3 x 23=227次, 一共需要对127比特块循环移位924+3+3+252+227=1509 次。
当码率为0.8时,Toeplitz矩阵计算单元平均需要对127比特块循环移位 (1+9) x 9/2x4=180次,B矩阵计算单元平均需要对127比特块循环移位3 次,C矩阵计算单元平均需要对127比特块循环移位3次,MA矩阵计算单元 平均需要对127比特块循环移位2 x 2 x 63=252次,稀疏的H2矩阵相乘才莫块 294-3 x 11=261次, 一共需要对127比特块循环移位180+3+3+252+261=699次。
与现有技术对比,每计算一次码字C需要调用127位循环移位模块kxc x 60次,码率为0.4时需要对127比特块循环移位24 x 35 x 63=52920次;码率 为0.6时需要对127比特块循环移位36 x 23 x 63=52164次;码率为0.8时需要 对127比特块循环移位48 x 11 x 63=33264次。显然,本发明实施例明显的4史-验 的次数,极大地缩短了校验时间,无形中节省了硬件资源。
本发明实施例还提供一种LDPC码的编码方法,请参阅图8。
在步骤S101中, -接收编码信源信息的输入。
在步骤S102中,将接收到的编码信源信息根据稀疏矩阵进行处理。 在步骤S103中,存储编码信源信息。
在步骤S104中,根据具有Toeplitz结构的校验矩阵对编码信源信息进行计 算,其中,该校验编码单元具有Toeplitz结构的校验矩阵。其中,校验编码计算单元具体包括
Toeplitz矩阵计算单元,用于根据具有Toeplitz结构的矩阵对编码信源信息
进行计算;
MA矩阵计算单元,用于根据MA矩阵对相应的信息进行计算; B矩阵计算单元,用于根据B矩阵对相应的信息进行计算; C矩阵计算单元,用于根据C矩阵对相应的信息进行计算; 具体的各个单元的的处理过程在前文已述,此处不再,,述。 在步骤S105中,将计算后的结果进行异或后输出。
本发明实施例通过将校验矩阵进行分块,其中,分块后的校验矩阵具有 Toeplitz结构,根据分块后的校验矩阵对接收到的信息进行编码,在本发明实 施例中,矩阵的逆的对角线值完全一样,方便采用流水线方式工作,具有良好 的规律性,稀疏的准循环矩阵结构给编码带来了极大的方便,显著节省了硬件 资源。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种LDPC码的编码装置,其特征在于,所述装置包括存储单元,用于存储编码信源信息;校验编码计算单元,用于根据具有Toeplitz结构的校验矩阵对编码信源信息进行计算,其中,该校验编码单元具有Toeplitz结构的校验矩阵;异或单元,用于将计算后的结果进行异或后输出。
2、 如权利要求1所述的LDPC码的编码装置,其特征在于,所述校验编 码计算单元具体包括Toeplitz矩阵计算单元,用于#4居具有Toeplitz结构的矩阵对编码信源信息 进行计算;MA矩阵计算单元,用于根据MA矩阵对相应的信息进行计算; B矩阵计算单元,用于根据B矩阵对相应的信息进行计算; C矩阵计算单元,用于根据C矩阵对相应的信息进行计算; 其中,所述Toeplitz矩阵为A矩阵的逆、所述矩阵MA二D-CA —^,所述 A矩阵、B矩阵、C矩阵和D矩阵为将校验矩阵M进行分块后的矩阵。
3、 如权利要求1所述的LDPC码的编码装置,其特征在于,所述编码装 置还包括编码信源信息接收单元,用于接收编码信源信息的输入; 编码信源信息处理单元,用于将接收到的编码信源信息按块循环移位得到 二进制比特序列后存储至存储单元。
4、 一种LDPC码的编码方法,其特征在于,所述方法包括 存储编码信源信息;根据具有Toeplitz结构的校验矩阵对编码信源信息进行计算; 将计算后的结果进行异或后输出。
5、 如权利要求4所述的LDPC码的编码方法,其特征在于,在存储编码 信源信息之前,所述方法还包括接收编码信源信息的输入;将接收到的编码信源信息按块循环移位得到二进制比特序列后存储。
6、 如权利要求4所述的LDPC码的编码方法,其特征在于,4艮据具有Toeplitz 结构的校验矩阵对编码信源信息进行计算时,该校验矩阵包括Toeplitz矩阵计 算单元,MA矩阵计算单元,B矩阵计算单元,C矩阵计算单元,其中,所述 Toeplitz矩阵为A矩阵的逆、所述矩阵MA=D - CA— 'B,所述A矩阵、B矩阵、 C矩阵和D矩阵为将校验矩阵M进行分块后的矩阵。
7、 如权利要求4所述的LDPC码的编码编码方法,其特征在于,所述MA 矩阵计算单元的步骤包括Ml、记输入数据为[,■"() — ... ,首先经过MA矩阵矩阵的逆的计算,得到MA矩阵计算单元参数[m。附,m2 w3];M2、将输入数据in0循环移位m0与输入数据inl循环移位ml异或后,输 出R0;M3、将输入数据in0循环移位m2与输入数据inl循环移位m3异或后,输 出Rl。
8、 如权利要求4所述的LDPC码的编码方法,其特征在于,所述B矩阵 计算单元的步骤包括Bl、记输入#:据为[/"。,、…, 4艮据稀疏的才交验矩阵H获取B矩 阵计算单元参数[6。
6l M ;B2、将输入数据in0循环移位b0与输入数据inl循环移位bl异或后,输 出R0;B3、将输入凄t据inl循环移位b2后,输出Rl; B4、将R2, R3,…,Rw-l置O后專lr出。
9、 如权利要求4所述的LDPC码的编码方法,其特征在于,所述C矩阵 计算单元的步骤包括Cl、记输入数据为[/"。 ...,根据稀疏的校'验矩阵H获取C矩阵计算单元参数[c(,C|C2];C2、将输入数据inw—2循环移位CG与输入数据irwi循环移位ci异或后,输 出R0;C3、将输入数据inw-i循环移位C2后,输出Rl 。
10、如权利要求4所述的LDPC码的编码方法,其特征在于,所述Toeplitz 矩阵计算单元的步骤包括Tl、根据Toeplkz矩阵获取Toeplitz矩阵计算单元参数[,o ,,…~_,];T2、整数i从0到w-l,输入数据/,,直到第i个位置停止,对数据/,进行循环移位/。A,…,r,,结果与寄存器7 。,《,…,i ,的数据异或后,再放回T3、将T2步骤一直进行下去,每进行一次i增加l,结果从RO输出一次, 当i等于w的时,跳出循环,结束Toeplitz矩阵计算单元的计算步骤。
全文摘要
本发明适用于编码技术领域,提供了一种LDPC码的编码装置及方法,所述编码装置包括存储单元,用于存储编码信源信息;校验编码计算单元,用于根据具有Toeplitz结构的校验矩阵对寄存器的编码信源信息进行计算,其中,该校验编码单元具有Toeplitz结构的校验矩阵;异或单元,用于将计算后的结果进行异或后输出。本发明通过将校验矩阵进行分块,其中,分块后的校验矩阵具有Toeplitz结构,根据分块后的校验矩阵对接收到的信源信息进行编码,在本发明实施例中,矩阵的逆的对角线值完全一样,方便采用流水线方式工作,具有良好的规律性,稀疏的准循环矩阵结构给编码带来了极大的方便,节省了硬件资源。
文档编号H03M13/11GK101640543SQ20081014222
公开日2010年2月3日 申请日期2008年7月31日 优先权日2008年7月31日
发明者李辉亮 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1