数据处理装置的制造方法

文档序号:10491786阅读:398来源:国知局
数据处理装置的制造方法
【专利摘要】本发明提供一种数据处理装置,该装置包括:m个数据处理模块,用于按照计算顺序在第i个周期处理Ni个数据或者操作;其中且m<n,m、n和Ni均为正整数,通过m个数据处理模块在时间上的复用,从而达到对n个数据或者操作的处理,进而降低了对硬件资源的消耗。
【专利说明】
数据处理装置
技术领域
[0001] 本发明设及信息论及编码技术领域,尤其设及一种数据处理装置。
【背景技术】
[0002] 伴随着通信技术的飞速发展W及各种传输方式对信息可靠性要求的不断提高,差 错控制编码技术作为抗干扰技术的一种重要手段,在数字通信领域和数字传输系统中显示 出越来越重要的作用。
[0003] 低密度奇偶校验(low-density parity check, LDPC)码是一类译码性能接近信 道极限的线性分组码。由于其优异的纠错性能,二进制LDPC码已经被广泛地应用于各种通 信、导航和数字存储系统。多进制LDPC码也已成为未来运些系统中纠错编码方案的有利竞 争者。
[0004] 但是,目前现有技术中实现LDPC码的编码器或者译码器大多数采用的是全并行 结构,W全并行结构的编码器为例,假设待编码数据为C = (C。,Cl. .. Ck 1),生成矩阵为Gkx。, 它们的乘积结果则为最终编码序列,因此,所谓全并行结构编码器指的是:该编码器具有n 个数据处理模块,每个数据处理模块用来计算C = (C。,Cl. .. Ck 1)与Gkx。中的一列的乘积, 然而运种全并行结构造成大量硬件资源的消耗。

【发明内容】
阳0化]本发明实施例提供一种数据处理装置,从而达到降低硬件资源消耗的目的。
[0006] 第一方面,本发明实施例提供一种数据处理装置,包括:m个数据处理模块,用于 按照计算顺序在第i个周期处理Ni个数据或者操作;其中
且m<n,m、n和Ni均 为正整数,z' = l,2...互+1 /巧 O
[0007] 结合第一方面,在第一方面的第一种可能实施方式中,所述m个数据处理模块,具 体用于:在低密度奇偶校验LDPC编码过程中,分别计算待编码数据C = (C。,Cl. .. Ck 1)与生 成矩阵Gkx。中每一列相乘,其中k表示所述待编码数据的长度,n表示所述生成矩阵G kx。的 列数;在第i个周期计算C = (C。,Cl. .. Ck 1)与生成矩阵Gkx。中的Ni个列相乘,其中在前 里个周期,所述Ni=m,z' = l,2...互在第互+1个周期,所述Ni=nmo血,Z'= - +1 Im \ 1,?」; LmJ L"!」。
[0008] 结合第一方面,在第一方面的第二种可能实施方式中,所述数据处理模块包括: 第一存储单元和第二存储单元;所述数据处理模块用于将所述生成矩阵Gkx。的每一列分 为P个第一数据块,其中P > 2 ;所述第一存储单元用于存储一个所述第一数据块;所述第 二存储单元用于存储所述第一数据块对应的所述待编码数据的第二数据块;所述m个数 据处理模块,具体用于:在低密度奇偶校验LDPC编码过程中,根据分块结果,在第i个周 期计算Ni个第二数据块与对应的Ni个第一数据块相乘,其中在前^ Xf个周期,所述Ni
t周期至第? XF + F个周期,所述Ni=nmo血, JU \
[0009] 结合第一方面或第一方面的第一种可能实施方式或第二种可能实施方式,在第一 方面的第=种可能实施方式中,还包括:第一存储模块,用于存储所述生成矩阵。
[0010] 结合第一方面的第=种可能实施方式,在第一方面的第四种可能实施方式中,所 述第一存储模块具体用于:若所述生成矩阵为稀疏矩阵,则所述第一存储模块仅存储所述 生成矩阵的非零元素和所述非零元素对应的位置坐标;若所述生成矩阵的子矩阵为循环矩 阵,则所述第一存储模块仅存储所述循环矩阵中所有的非零元素、W及其中一列非零元素 对应的位置坐标和相邻两列的循环偏移量。
[0011] 结合第一方面,在第一方面的第五种可能实施方式中,还包括:第二存储模块,所 述第二存储模块用于存储校验矩阵Hix。;所述校验矩阵的列对应变量节点,所述校验矩阵 的行对应校验节点。
[0012] 第二方面,本发明实施例提供一种数据处理装置,包括:第二存储模块,用于存储 校验矩阵Hix。,所述校验矩阵的列对应变量节点,所述校验矩阵的行对应校验节点。第=存 储模块,用于存储数据处理过程中所述变量节点和所述校验节点之间传递的数据。e个第 一数据处理模块,用于处理e个所述校验节点上的数据;f个第二数据处理模块,用于处理f 个所述变量节点上的数据;其中,e<l,f<n,其中e和f均为正整数。
[0013] 结合第二方面,在第二方面的第一种可能实施方式中,若所述校验矩阵为循环排 列矩阵和零矩阵组成,则所述第S存储模块,根据所述循环排列矩阵的结构循环自增寻址。
[0014] 本发明实施例提供一种数据处理装置,该装置包括:m个数据处理模块,用于按照 计算顺序在第i个周期处理Ni个数据或者操作;其中
且m<n,m、n和Ni均为正 整数,z' = l,2…^ +1通过m个数据处理模块在时间上的复用,从而达到对n个数据或者 .L 」 Q 操作的处理,从而降低了对硬件资源的消耗。
【附图说明】
[0015] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可W 根据运些附图获得其他的附图。
[0016] 图1为现有技术提供的一种全并行结构的编码器的示意图;
[0017] 图2为本发明实施例一提供的一种数据处理装置的示意图;
[0018] 图3为本发明实施例二提供的一种数据处理装置的示意图;
[0019] 图4为本发明实施例=提供的数据处理装置的示意图;
[0020] 图5为本发明实施例五提供的一种数据处理装置的结构示意图;
[0021] 图6为本发明实施例六提供的一种数据处理装置的结构示意图;
[0022] 图7为本发明实施例六提供的Tanner示意图;
[0023] 图8为本发明实施例六提供的SPC码和REP码的译码模型。
【具体实施方式】
[0024] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[00对在LDPC编码过程中,假设待编码数据为C = (C。,Cl. .. Ck 1),生成矩阵为GkXn,它们 的乘积结果则为最终编码序列,因此编码器需要计算C = (C。,Cl. .. Ck 1)与Gkx。每一列的乘 积,图1为现有技术提供的一种全并行结构的编码器的示意图,如图1所示,该编码器包括n 个数据处理模块,每个数据处理模块用来计算C = (C。,Cl. .. Ck 1)与Gkx。中的一列的乘积, 即每一个数据处理模块输出一个最终编码序列的一个码字,因此在一个运算周期内n个数 据处理模块将输出全部码字。运中全并行结构的编码器会造成硬件资源的浪费,为了解决 运一技术问题,本发明提供了一种数据处理装置。 W26] 实施例一
[0027] 图2为本发明实施例一提供的一种数据处理装置的示意图,该数据处理装置可W 应用于LDPC编码或者译码的场景,其中该装置可W为LDPC编码器,或者LDPC译码器,如图 2所示,该数据处理装置包括:m个数据处理模块201,用于按照计算顺序在第i个周期处理
Ni个数据或者操作;其中 且m<n,m、n和Ni均为正整数,^ = V2''' ^ +1 9 L - O 阳0巧]具体地,比如:由于计算C = (C。,Cl. .. Ck 1)与GkXn相乘的计算顺序为:C = (C。,Cl. .. Ck 1)分别与Gkx。的第一列至第n列相乘,本实施例中的数据处理装置具有m个数 据处理模块201,并且m<n,因此,在第一个周期,可W分别计算C = (C。,Cl. .. Ck 1)与GkXn的 第一列至第m列相乘,输出m个码字,该例子中,第一个周期中的Ni即为m,在第二个周期, 可W分别计算C = (C。,Cl. .. Ck 1)与GkXn的第m+1列至第2m列,为了充分利用已有的硬件 资源,在每一个周期尽可能的使每一个数据处理模块201处理一个数据或者操作。进一步 地,在第i个周期处理Ni个数据或者操作,运里的N 1个操作可W理解为N 1个相乘操作,运 里的Ni个数据可W理解为N 1个具体数字,也可W是N 1个向量,矩阵等。本发明实施例对此 不做限制。 W29] 进一步地,该数据处理装置还包括用于存储长度为k的待编码数据C = (C。,Cl...Cki)的存储模块,和用于存储长度为k的生成矩阵Gkx。的每一列的存储模块。由 于每一列都是按照先后顺序与C = (C。,Cl. .. Ck 1)相乘,因此用于存储每一列的存储模块可 W实现复用的效果。
[0030] 更进一步地,该数据处理装置还包括乘法器和加法器,使用k个乘法器用来完成 待编码数据C = (C。,Cl. .. Ck 1)的各个元素与生成矩阵的对应元素乘法运算,使用k-1个加 法器用来计算上述乘积之和,通过乘法器和加法器的作用则可W生成一个码字。
[0031] 本发明实施例提供了一种数据处理装置,其中该装置包括:m个数据处理模块,用 于按照计算顺序在第i个周期处理Ni个数据或者操作;其中
且m<n,m、n和Ni均 为正整数,= ^ +1通过m个数据处理模块在时间上的复用,从而达到对n个数据 L J O 或者操作的处理,从而降低了对硬件资源的消耗。 W巧实施例二
[0033] 图3为本发明实施例二提供的一种数据处理装置的示意图,该装置具体可W为 LDPC编码器,其中该编码器包括m个数据处理模块,所述m个数据处理模块具体用于:在低 密度奇偶校验LDPC编码过程中,分别计算待编码数据C= (C。,Cl...Cki)与生成矩阵Gkx。 中每一列相乘,其中k表示所述待编码数据的长度;n表示所述生成矩阵Gkx。的列数,在第 i个周期计算C= (cu,ci...Cki)与生成矩阵Gkx。中的Ni个列相乘,其中在前^个周期, m _ 所述Ni= m,= 在第 '鱼.+.1个周其月,所述Ni= nmo血,J心_ +1 L妍」;Im \ Lw」。
[0034] 由于该数据处理装置包括m个数据处理模块,因此可W称该数据处理装置的并行 度为m。
[0035] 举个例子,假设m = 3, k = 3, n = 5,则在低密度奇偶校验LDPC编码过程中,在第 1个周期3个数据处理模块分别计算C = (C。,Cl, C2)与生成矩阵Gsxe中的第1列、第2列 和第3列相乘,在第2个周期,其中2个数据处理模块分别计算C = (C。,Cl, C2)与生成矩阵 Gsxs中的第4列和第5列相乘。 W36] 进一步地,该数据处理装置还包括用于存储长度为k的待编码数据C = (C。,Cl...Cki)的存储模块,和用于存储长度为k的生成矩阵Gkx。的每一列的存储模块。由 于每一列都是按照先后顺序与C = (C。,Cl. .. Ck 1)相乘,因此用于存储每一列的存储模块可 W实现复用的效果。
[0037] 更进一步地,该数据处理装置还包括乘法器和加法器,使用k个乘法器用来完成 待编码数据C = (C。,Cl. .. Ck 1)的各个元素与生成矩阵的对应元素乘法运算,使用k-1个加 法器用来计算上述乘积之和,通过乘法器和加法器的作用则可W生成一个码字。
[0038] 本发明实施例提供了一种数据处理装置,该装置包括m个数据处理模块,所述m 个数据处理模块具体用于:在低密度奇偶校验LDPC编码过程中,分别计算待编码数据C = (C。,Cl. .. Ck 1)与生成矩阵Gkx。中每一列相乘,其中k表示所述待编码数据的长度,n表示 所述生成矩阵GkXn的列数,在第i个周期计算C = (C。,Cl. .. Ck 1)与生成矩阵GkXn中的N 1 个列相乘,其中在前一个周期,所述Ni= m,z'=l,2…^在第i +1个周期,所述Ni = m L"!」. 惭 1- 」 nmo血,Z'= ^ +1从而实现了数据处理模块在时间上的复用,进而,降低了对硬件资源的 .Hi- LJ G 消耗。
[0039] 实施例S
[0040] 图4为本发明实施例=提供的数据处理装置的示意图,实施例=在实施例二的基 础上,将对生成矩阵Gkx。中每一列进行分块,基于分块的思想,实施例=提供的数据处理装 置中的数据处理模块包括:第一存储单元401和第二存储单元402 ;其中,数据处理模块用 于将所述生成矩阵Gkx。的每一列分为P个第一数据块;其中P > 2。如图4所示,第一存储 单元401用于存储一个第一数据块;第二存储单元402用于存储第一数据块对应的所述待 编码数据的第二数据块;图4所示的第一存储单元401此时存储长度为d的第一数据块,第 二存储单元402此时存储长度为d的第二数据块,当然,该数据处理模块还包括乘法器、加 法器和累加器,m个数据处理模块具体用于:在低密度奇偶校验LDPC编码过程中,根据分块 结果,在第i个周期计算Ni个第二数据块与对应的Ni个第一数据块相乘,其中在前^ XP 个周期,所述Ni=m,z=l,2''' XP在第^xP + 1个周期至第一XP + F个周期,所 L "2」.; |_。芽」 1_解_ . 述 Ni=nmo血,Z' = - x/" + l,一 xP + 2-'- - xP + f I f t- I f t- I tl- L. 」 L. 」 〇.
[0041] 具体地,第一存储单元401相对于每一个第一数据块都可W实现复用,第二存储 单元402相对于第二数据块也可W实现复用,即不需要开辟多余的存储空间,所有的第一 数据块按照时间顺序使用一个第一存储单元401即可,所有的第二数据块按照时间顺序使 用一个第二存储单元402即可。
[0042] 举个例子:假设m = 3, k = 3, n = 5, P = 2,即生成矩阵Gsxs每一列被分成了 2 个第一数据块,针对每一列,从上至下的顺序,第一个元素构成一个第一数据块,第二个元 素和第=个元素构成一个第一数据块,因此,生成矩阵Gsxe实际包括了 10个第一数据块, 相应地,待编码数据C = (C。,Cl, C2)也被分为2个第二数据块,从左至右,第一个元素 C。构 成一个第二数据块,第二个元素 Cl和第S个元素 C 2构成一个第二数据块,则在低密度奇 偶校验LDPC编码过程中,按照计算顺序,即在第1个周期3个数据处理模块分别计算C = (C。,Cl, C2)的第一个元素构成的第二数据块与生成矩阵G3X5中由第一列第一个元素构成的 第一数据块的乘积,C= (C。,Cl, C2)的第一个元素构成的第二数据块与生成矩阵Gsxs中由 第二列第一个元素构成的第一数据块的乘积,C= (C。,Cl, C2)的第一个元素构成的第二数 据块与生成矩阵Gsxe中由第=列第一个元素构成的第一数据块的乘积;在第2个周期3个 数据处理模块分别计算C= (C。,Cl, C2)的第二个元素和第=个元素构成的第二数据块与生 成矩阵G3X5中由第一列第二个元素和第=个元素构成的第一数据块的乘积,C = (C。,Cl, C2) 的第二个元素和第=个元素构成的第二数据块与生成矩阵Gsxe中由第二列第二个元素和 第=个元素构成的第一数据块的乘积,C = (C。,Cl, C2)的第二个元素和第=个元素构成的 第二数据块与生成矩阵Gsxe中由第=列第二个元素和第=个元素构成的第一数据块的乘 积,并将计算结果分别与第1个周期中的计算结果累加,依次类推。从而实现数据处理模块 的复用。
[0043] 本发明实施例提供一种数据处理装置,其中该装置的数据处理模块包括:第一存 储单元和第二存储单元;数据处理模块用于将所述生成矩阵Gkx。的每一列分为P个第一数 据块;第一存储单元用于存储一个第一数据块;第二存储单元用于存储第一数据块对应的 所述待编码数据的第二数据块;m个数据处理模块,具体用于:在低密度奇偶校验LDPC编 码过程中,根据分块结果,在第i个周期计算Ni个第二数据块与对应的Ni个第一数据块 相乘,其中在前一Xi^个周期,所述Ni=m,z' = l,2…XP在第£_ xf+1个周期至第 _-辦」 L/WJ ; [_蹤_ 里XP +戶个周期,所述Ni=nmo血,Z'= - XP + 1,一 XP+2…互XP +户从而提高数 _携」 L哪」 L哪」 L挪」 , 据处理模块、W及该模块中的第一存储单元和第二存储单元的利用效率,降低了每个数据 处理模块上的计算复杂度。
[0044] 实施例四
[0045] 本发明实施例四提供一种数据处理装置,其中该装置基于校验矩阵获取最终编码 序列的思想实现存储空间的复用的,具体地,通过校验矩阵获取最终编码序列的具体方法 为:假设待编码数据为M = (m。,nil. . .Hik 1),校验矩阵为HiXn,校验符号为Pi,化......P。k,则 (紙Pi, P:…P,, kWL二0 ^段设校验矩阵由Hix。= (QI),其中Q为(n-k) Xk的矩阵,对 应M,I为(n-k) X (n-k)的矩阵,对应已编码数据的冗余位,当I为准双对角矩阵,即该I除 对角线上的元素,W及对角线上方或上方元素之外的元素均为0时,该矩阵就为准双对角 矩阵。基于辦,斯,P2 ~~Pn-fc)巧L = 0,可W得到第一个冗余位P河W直接由待编码数据 中的元素计算得到,第二个冗余位P2可W由第一个冗余位P 1和待编码数据中的元素共同 计算得到,依次类推,P"k可W由Pnk 1和待编码数据中的元素共同计算得到。因此,可W首 先从存储(M,Pi,化……P。k)的存储模块中读出校验矩阵中第一行第一个非零元素对应的 (M,Pi,化......P。k)中的信息位,从存储校验矩阵的存储模块中读出该非零元素,然后将它 们相乘,存入累加器中,接着从存储(M,Pi,化……p"k)的存储模块中读出校验矩阵中第一 行第二个非零元素对应的(M,Pi, P2......P"k)中的信息位,从存储校验矩阵的存储模块中 读出该非零元素,然后将它们相乘,结果与累加器中的结果相加。依次类推,直到计算出第 一个校验位,将累加器中的结果存入存储(M,Pi,化......P"k)的存储模块中。最后,清空累 加器,重复上述步骤,直到所有冗余位计算完毕。上述过程根据计算时间的先后顺序实现了 存储空间的复用。 阳046] 实施例五
[0047] 图5为本发明实施例五提供的一种数据处理装置的结构示意图,在实施例一、实 施例二和实施例=的基础之上,该数据处理装置除了包括m个数据处理模块501之外,还包 括第一存储模块502,该第一存储模块502用于存储生成矩阵。
[0048] 具体地,第一存储模块502具体用于:
[0049] (1)若生成矩阵为稀疏矩阵,则第一存储模块502仅存储生成矩阵的非零元素和 非零元素对应的位置坐标。
[0050] 具体地,矩阵中非零元素的个数远远小于矩阵元素的总数,则称该矩阵为稀疏矩 阵,因此,第一存储模块502仅存储生成矩阵的非零元素和非零元素对应的位置坐标。进一 步地,当本发明采用的是二进制LDPC编码,则生成矩阵中的非零元素只是1,因此,第一存 储模块502中可W仅存储非零元素1对应的位置坐标即可。
[0051] (2)若所述生成矩阵的子矩阵为循环矩阵,则所述第一存储模块502仅存储所述 循环矩阵中所有的非零元素、W及其中一列非零元素对应的位置坐标和相邻两列的循环偏 移量。
[0052] 具体地,若所述生成矩阵的子矩阵为循环矩阵,则成该生成矩阵为准循环矩阵, 比如生成矩阵
其中G。为循环矩阵,(i = 1,2...8 ;j = 1,2. .. r),基于循环矩阵具有的特点,则第一存储模块502仅存储循环矩阵中所有的非零 元素、W及其中一列非零元素对应的位置坐标和相邻两列的循环偏移量。比如:qXq的循 环矩阵
则第一存储模块502可W只存储q个非零元素,然后存储 第一列非零元素 g。的位置,W及相邻两列的循环偏移量1,运样其他列的非零元素则可W 通过第一列非零元素的位置和循环偏移量推导得到。进一步地,当本发明采用的是二进制 LDPC编码,则生成矩阵中的非零元素只是1,因此,第一存储模块502中可W仅存储非零元 素1对应的位置和循环偏移量即可。
[0053] 本发明实施例提供一种数据处理装置,该装置还包括第一存储模块,用于存储生 成矩阵。其中若生成矩阵为稀疏矩阵,则第一存储模块仅存储生成矩阵的非零元素和非零 元素对应的位置坐标;若生成矩阵的子矩阵为循环矩阵,则第一存储模块仅存储所述循环 矩阵中所有的非零元素、W及其中一列非零元素对应的位置坐标和相邻两列的循环偏移 量,从而实现第一存储模块的复用效果。进而降低对硬件资源的消耗。
[0054] 实施例六
[0055] 图6为本发明实施例六提供的一种数据处理装置的结构示意图,本发明实施例中 的数据处理装置可W为译码器,该数据处理装置包括第二存储模块601,用于存储校验矩 阵Hix。,所述校验矩阵的列对应变量节点,所述校验矩阵的行对应校验节点。第=存储模块 604,用于存储数据处理过程中变量节点和校验节点之间传递的数据。e个第一数据处理模 块602,用于处理e个所述校验节点上的数据;f个第二数据处理模块603,用于处理f个所 述变量节点上的数据;其中,e<l,f<n,其中e和f均为正整数。
[0056] 具体地,本发明实施例提供的数据处理装置使用的是置信传播类算法,它是基于 Tanner图的迭代译码的。图7为本发明实施例六提供的Tanner示意图,其中校验矩阵的列 对应变量节点,校验矩阵的行对应校验节点,表示一个校验方程,上面一行为校验节点,下 面一行为变量节点,连接变量节点与校验节点之间的线对应校验矩阵中不为0的元素,称 之为边。从Tanner图上来看,可W把LDPC码看作是单奇偶校验(Single Parity Qieck, 简称SPC)码与重复巧epeat,简称RE巧码的交错连接,图8为本发明实施例六提供的SPC 码和REP码的译码模型,译码是一个置信信息通过边在变量节点与校验节点之间的迭代过 程。首先,信道接收到的置信信息传递给变量节点,每个变量节点向与之相连的每个校验节 点发送更新的置信信息,运就是SPC译码模型的工作。每个校验节点通过计算向与之相连 的变量节点发送更新信息,运是REP译码模型的工作。整个译码过程从变量节点开始,不断 的重复,直到所有校验方程都满足后译码完成,或者达到最大迭代次数后译码停止。
[0057] 在译码过程中,第一数据处理模块602和第二数据处理模块603之间的传输输入 输出端口并不直接连接,而是通过第=存储模块604连接,从而可W只实现e个第一数据处 理模块602及f个第二数据处理模块603通过多次运算,可W分别处理完1个数据和n个 数据。
[0058] 其中e个第一数据处理模块602及f个第二数据处理模块603的具体工作步骤包 括:
[0059] (1) f个第二数据处理模块603读取前f个变量节点对应的信道数据,初始化进入 第=存储模块604中,并作出硬判决,然后各第二数据处理模块603分别读取下一组信道数 据,直至将所有信道数据初始化入第=存储模块604中;
[0060] (2) e个第一数据处理模块602从第=存储模块604中读取第二数据处理模块603 传递给前e个校验节点的数据,进行计算及验证校验方程,并将结果保存至存储器604中, 然后各第一数据处理模块602分别从第=存储模块604中读取下一组第一数据处理模块 602接收的数据,直至完成所有校验节点上的数据计算;
[0061] (3)若所有校验方程都得到满足,则停止迭代译码,输出译码结果,否则进行第二 数据处理模块603继续计算。f个第二数据处理模块603从第=存储模块604中读取第一 数据处理模块602传递给前f个变量节点的数据,进行计算及作出硬判决,并将结果保存回 第=存储模块604中,然后各第二数据处理模块603分别从第=存储模块604中读取下一 组变量节点接收的数据,直至完成所有变量节点计算完毕;
[0062] (4)如此反复,直至所有校验方程得到满足或达到最大迭代次数后停止译码。
[0063] 进一步地,在LDPC码的校验矩阵中,每行或每列都有不止一个非零元素,对应的 第一数据处理模块602和第二数据处理模块603也就有不止一个输入/输出端口。可W将 单个数据处理模块所需的g个输入分多次输入,每次输入后就开始进行计算,并将所需中 间结果存储在存储器中,最终得到所需的运算结果,从而实现在时间上对硬件资源进行复 用。
[0064] W第一数据处理模块602为例,在第一数据处理模块602只有=个端口时,设第一 数据处理模块602的输入为D。,Di, 〇2,二端口运算电路可W直接根据输入的数据计算出输 出数据,计算步骤如下: 阳0化](1)读入D。,保存在一组存储器中;
[0066] 似读入Di,保存在另一组存储器中,同时利用二端口运算电路计算D〇?Di,将 结果保存到第=组存储器中;
[0067] 做读入〇2,利用二端口运算电路计算Do?化,将结果覆盖至原记录D。的存储器 中; W側 (4)再次读入〇2,利用二端口运算电路计算Di 0]?,将结果覆盖至原记录化的存 储器中。
[0069] 其中,上述的贷既可W是二进制LDPC编码过程中的运算规则,也可W是多进制 LDPC编码过程中的运算规则。此时第一数据处理模块602每次只读入一个端口的数据, 整个计算过程中也只需要=组存储器保存所有中间结果及最终结果;当第一数据处理模块 602有四个端口时,可W先忽视第四个端口,按照=端口,第一数据处理模块602进行计算, 将结果D〇0Di,1)〇?〇2, Di贷〇2保存在=组存储器中,然后根据=端口,第一数据处 理模块602任一端口的输入及输出计算出D〇?Di?D2的结果保存在第四组存储器中,再 将第四个端口的输入与前=组存储器中的数据进行运算,并将运=组存储器中的数据更新 为运算的结果,则只需四组存储器,并进行屯次计算即可求出具有四端口的第一数据处理 模块602的全部输出,依次类推,当计算具有N端口的第一数据处理模块602的输出时,可 W先忽视最后一个端口,按照N-I端口第一数据处理模块602来计算,然后计算N-I端口所 有端口输入数据的和并保存到1组新的存储器中,再将最后一个端口的输入与之前N-I组 存储器中的数据进行运算,并将计算结果更新到对应的存储器中,就可W只占用N组存储 器,并进行(3+脚(N-2)/2次计算完成全部端口的输出数据的计算。
[0070] 可选地,若所述校验矩阵为循环排列矩阵(Circulant化rmutation Matrices,简 称CPM)和零矩阵组成,则所述第S存储模块604,根据循环排列矩阵的结构循环自增寻址。 结合图7中所有的边对应的非零元素都在CPM中。假设H中的一个CPM表示校验节点与变 量节点之间的连接,该CPM的偏移量为0,即该CPM是由pXp的单位阵的所有行向右循环 移动0个位置得到。校验节点CNi就与变量节点VN。4相连,CN P。与VN P,CNp。4与VN 1相连, CNp与VN。相连。我们把连接运P个连续的校验节点与P个连续的变量节点之间的边称之 为块边。
[0071] 因此整个Tanner图中的变量节点与校验节点之间的信息交换都在一个一个的块 边进行。当P个变量节点按照VNi, VN2, ...,VNp的顺序更新时,首先将它们的更新结果分别 转存到地址为A"+l,A。巧,...,A"+p的存储单元中去;然后当与该循环块相连的P个校验节 点顺序更新时,就可W连续的从运P个地址连续的存储单元中顺序读取VNi, VNz, ...,VNp的 更新结果。只不过起始地址应该从Ae+0+l开始,当地址自加到Ae+p时便从Ae+1重新自加 到Ae+o,如此就实现了对应连接的信息转移,采用块边的寻址方式,只用记录存储单元地址 段的起始地址A。和0。当变量节点更新时,地址从A。+1开始到Au+p结束;当校验节点更新 时,地址从A"+o+l开始,循环增加到A"+o结束。运样与传统的译码器交换信息的寻址方式 相比,存储复杂度降为了原来的p/2,而且采用循环自增的地址产生方式,寻址效率也大大 提局。
[0072] 本发明实施例提供了一种数据处理装置,包括:第二存储模块,用于存储校验矩阵 Hix。,所述校验矩阵的列对应变量节点,所述校验矩阵的行对应校验节点。第=存储模块,用 于存储数据处理过程中变量节点和校验节点之间传递的数据。e个第一数据处理模块,用于 处理e个所述校验节点上的数据;f个第二数据处理模块,用于处理f个所述变量节点上的 数据;其中,e<l,f<n,其中e和f均为正整数。从而实现数据处理模块、第二存储模块、第 =存储模块的复用。
[0073] 本领域普通技术人员可W理解:实现上述各方法实施例的全部或部分步骤可W通 过程序指令相关的硬件来完成。前述的程序可W存储于一计算机可读取存储介质中。该程 序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟 或者光盘等各种可W存储程序代码的介质。
[0074] 最后应说明的是:W上各实施例仅用W说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其 依然可W对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征 进行等同替换;而运些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。
【主权项】
1. 一种数据处理装置,其特征在于,包括: m个数据处理模块,用于按照计算顺序在第i个周期处理Ni个数据或者操作; 其4且m<n,m、η和Ni均为正整数,2. 根据权利要求1所述的装置,其特征在于,所述m个数据处理模块,具体用于: 在低密度奇偶校验LDPC编码过程中,分别计算待编码数据c= (C。,Cl…Cki)与生成矩 阵Gkx。中每一列相乘,其中k表示所述待编码数据的长度,η表示所述生成矩阵G kx。的列 数; 在第i个周期计算c= (c〇,Ci…Cki)与生成矩阵Gkx。中的Ni个列相乘,其中在前^ 个周期,所述 Ni=m,z' = l,2... ,: 在第里.+ 1个周其月,所述Ni= η mod m,Z.二一+1 _.掛」. ,LW」。3. 根据权利要求1所述的装置,其特征在于,所述数据处理模块包括:第一存储单元和 第二存储单元; 所述数据处理模块用于将所述生成矩阵Gkx。的每一列分为P个第一数据块,其中 P > 2 ; 所述第一存储单元用于存储一个所述第一数据块; 所述第二存储单元用于存储所述第一数据块对应的所述待编码数据的第二数据块; 所述m个数据处理模块,具体用于:在低密度奇偶校验LDPC编码过程中,根据分块结 果,在第i个周期计算Ni个第二数据块与对应的Ni个第一数据块相乘,其中在前^ xf个 周期,所述Ni= m,在第个周期,所述Ni= η mod m,4. 根据权利要求1-3任一项所述的装置,其特征在于,还包括:第一存储模块,用于存 储所述生成矩阵。5. 根据权利要求4所述的装置,其特征在于,所述第一存储模块具体用于: 若所述生成矩阵为稀疏矩阵,则所述第一存储模块仅存储所述生成矩阵的非零元素和 所述非零元素对应的位置坐标; 若所述生成矩阵的子矩阵为循环矩阵,则所述第一存储模块仅存储所述循环矩阵中所 有的非零元素、w及其中一列非零元素对应的位置坐标和相邻两列的循环偏移量。6. -种数据处理装置,其特征在于:包括: 第二存储模块,用于存储校验矩阵Hix。,所述校验矩阵的列对应变量节点,所述校验矩 阵的行对应校验节点; 第Ξ存储模块,用于存储数据处理过程中所述变量节点和所述校验节点之间传递的数 据; e个第一数据处理模块,用于处理e个所述校验节点上的操作; f个第二数据处理模块,用于处理f个所述变量节点上的操作; 其中,e<l,f<n,其中e和f均为正整数。7. 根据权利要求6所述的装置,其特征在于,若所述校验矩阵由循环排列矩阵和零矩 阵组成,则所述第Ξ存储模块,根据所述循环排列矩阵的结构循环自增寻址。
【文档编号】H03M13/11GK105846830SQ201510019132
【公开日】2016年8月10日
【申请日】2015年1月14日
【发明人】蔡琛, 黄勤, 陆国雷, 王祖林, 冯文全
【申请人】北京航空航天大学, 北京航天华科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1