分层准循环扩展构造的ldpc码的编码器的制作方法

文档序号:7510366阅读:179来源:国知局
专利名称:分层准循环扩展构造的ldpc码的编码器的制作方法
技术领域
本发明涉及一种数据通信技术领域的编码器,具体涉及一种分层准循环扩 展构造的LDPC码的编码器。
背景技术
LDPC码(低密度校验码)是1963年Gallager首先提出的一种编码技术, 它可用作多种通信系统或信息存贮系统的纠错/检错技术,由于它具有逼近信道 极限的性能,成为近十年来最受关注的一项热门技术。常用的LDPC码编码方法 有RU方法和基于生成矩阵的方法。RU方法实现简单,但编码吞吐量低;基于生 成矩阵的方法吞吐量高,但需要占用较多的资源。
随着对LDPC码研究的深入,分层准循环LDPC码渐渐进入人们的视线。这 种码的层的概念是指校验矩阵H的相邻行组成的子矩阵的最大列重为1。若校验 矩阵能分割为具有相同大小的几层,则对应的LDPC码称为分层LDPC码。若一 个方阵可由单位矩阵经循环右移/J位后得到,那么这个矩阵称为循环移位单位 阵(CS-Identity); —般的,若一个方阵除去第一行后的每一行都可由该方阵 上一行经循环右移一位后得到,并且第一行是最后一行经循环右移一位后得到, 那么这个方阵称为循环移位阵(CS-Matrix)。进一步,如果将;?个大小相同的 循环移位单位阵和p(/rl)个相同大小的零阵拼接得到方阵,并且使得该方阵的 行重、列重均为一,那么这个方阵称为准循环移位单位阵(QC-Identity);如 果将/个大小相同的循环移位阵拼接得到方阵,那么这个方阵称为准循环移位 阵(QC-Matrix)。显然,准循环移位单位阵是一种特殊的准循环移位阵。准循 环移位阵的加、减、乘、求逆运算(如果存在)所得仍是准循环移位阵。若可 将分层LDPC码中的每一层分为准循环移位单位阵的拼接,则对应的LDPC码称 为分层准循环LDPC码(Layered QC-LDPC Code)。分层准循环LDPC码的出现不
仅使提高吞吐量成为可能,而且还能减少编码复杂度。
经过对现有技术文献检索发现,D. Lee, W. Luk,C. Wang和C. Jones在《Field
Programmable Custom Computing Machines》,2004, FCCM 2004, pp.101-111 上提出的"A flexible hardware encoder for low-density parity-check codes" (低密度校验码的灵活编码器实现)给出了 一种目前普遍采用的基于RU方法的 LDPC编码器,该编码器成功地将LDPC编码复杂度降低到近似与码长成正比,并 且在编码器中引入了流水线结构,将编码过程并行化, 一定程度上能够增加编 码器的吞吐量。但是该编码器每一级流水线消耗的时钟数差距极大,抑制了吞 吐量的进一步提升,并且它所涉及的串行的前项替换模块进一步限制了吞吐量 的提高。由于结构不够灵活,多码长、多码率LDPC码的编码器实现还是比较困 难。

发明内容
本发明针对现有技术的不足,提供一种支持可变码长、可变码率的分层准 循环LDPC码的编码器,它是一种适用于基于二次扩展构造的LDPC码的编码器, 是对传统RU方法编码器的一种改进发明,可以得到比RU方法编码器更大的吞
本发明是通过以下技术方案实现的
本发明包括输入缓存,第一处理-缓存流水级,第二处理流水级,第三缓
存流水级,第四处理-缓存流水级,输出级。其中所述输入缓存将信息比特S 按照校验矩阵H中块的大小pX^进行分割,分别存储在p个深度为仏位宽为 1的兵乓RAM中,另外使用6块深度为< 、位宽为的RAM对信息比特
s进行FIF0操作以确保s与相应校验比特A、 A同步传递给输出级;所述第一 处理-缓存流水级,首先同时分块读取输入缓存各乒乓RAM的信息比特,然后同 时分块执行准循环移位单位阵乘向量运算(CSIMV),分块同时更新T—'A/, C/, 并将其按照H矩阵中块的大小pX《进行分割,分别存储在p个深度为。、位宽 为1的乒乓RAM中,另外使用4块深度为々X 7、位宽为1的RAM对T—A/进行 FIFO操作以确保T—A/与相应的校验比特A同步传递给第四处理-缓存流水级; 所述第二处理流水级,首先同时分块读取第一处理-缓存流水级各乒乓RAM中 T"A/, C/的值,接着同时分块执行准循环移位单位阵乘向量运算,然后同时分 块执行向量加法运算(VA),最后同时分块执行准循环移位阵乘向量运算 (CSDMV),分块同时更新A并输出给第三缓存流水级;所述第三缓存流水级将 A按照H矩阵中块的大小/ X^进行分割,分别存储在/ 个深度为《、位宽为1
的兵乓RAM中,另外使用3块深度为pX 。、位宽为2的RAM对校验比特A进行 FIFO操作以确保A与相应的信息比特s、校验比特A同步传递给输出级;所述 第四处理-缓存流水级,首先同时分块读取第三缓存流水级各乒乓ram中的a和 第一处理-流水级的乒乓RAM中T—'A/的值,然后同时分块执行准循环移位单位 阵乘向量运算,最后执行向量加法运算,更新A并将其存储在深度为^X。、位 宽为i的乒乓ram中;所述输出级同时分块读取输入缓存的乒乓ram中的s、第 三缓存流水级的乒乓ram中的a以及第四处理-流水级的乒乓ram中a的值,并 将其输出给信道。
所述的校验矩阵H,行重为&,列重为《,则其可以按行分为必层,每一 层的列重均为1。也可以将其按RU编码方法分成A、 B、 T、 C、 D、 E六个子矩阵, 其中A由1 X (《-的块组成,B由1 X (《-1)的块组成,T只由一块组成,C由 (《-1) X (d-oO的i炎组成,D由(A-l) X (oH)的块组成,E由1) X 1的块组 成。每个循环移位单位阵都是《X《的,则H矩阵每一块均由/个这样的循环移 位单位阵拼接而成。定义d> = — ET—'B+D。
所述的信息比特s、校验比特A和A,共同组成编码后码字F", A, A), 其中s对应C所在的列,A和A分别对应D和E所在的列。
所述的输入缓存,使用6块深度为《、位宽为的^-《的RAM对信息比特 s进行FIFO操作以确保s与相应校验比特p,、 A同步传递给输出级。除此以外 输入缓存将信息比特s按照H矩阵中块的大小pX《进行分割,分别存储在p个 深度为g、位宽为1的乒乓RAM中,每^-《对这样的乒乓RAM分块联合存储一 份信息比特s的内容。 一共有A+l份信息比特s被存储在输入缓存中。
所述的第一处理-缓存流水级,使用《个ROM存储矩阵C和T—'A中循环移位 单位阵的移位因子,每个ROM存储T—'A或者C的一层中的所有移位因子,每一 层中在同一行上的循环移位单位阵的移位因子被组合后存储在ROM的同一个地 址。第一处理-缓存流水级使能时同时从《个ROM中顺次读出移位因子,将这些 移位因子作为读地址分块循环读取输入缓存中的d份信息比特s,即同时分块执 行准循环移位单位阵乘向量运算(CSIMV),分块同时更新T—'A/, C/,将T—'A/ 按照H矩阵中块的大小pX^进行分割,分别存储在P个深度为仏位宽为l的 兵乓RAM中,将C/按照H矩阵中块的大小pX《进行分割,分别存储在4-1对 深度为PX 7、位宽为1的乒乓RAM中,另外使用4块深度为pX 。、位宽为1的
ram对t—'a/进行fifo操作以确保t—'a/与相应的校验比特a同步传递给第四处 理-缓存流水级。
所述的第二处理流水级,使用《-l个ROM存储矩阵E中循环移位单位阵的 移位因子,每个ROM顺序存储E的一层中的所有移位因子。同时使用1个ROM 存储矩阵(d—'中所有循环移位阵的第一列,将①—,每一列层的第一列组合后存 储在ROM的低地址,之后顺次添加下一列循环移位阵的第一列的组合。第二处 理流水级使能时同时从个ROM中顺次读出移位因子,将这些移位因子作为 读地址读取第一处理-缓存流水级的乒乓RAM中的T—A/,即同时分块执行准循 环移位单位阵乘向量运算(CSIMV),分块同时更新ET—A/。然后分块同时顺序 读取第一处理-缓存流水级的乒乓RAM中的C/,进而分块执行向量加法运算 (VA),逐比特更新(ET—A+C)/。最后从ROM中顺次读出①—'的所有循环移位阵 的第一列,分块同时执行准循环移位阵乘向量运算(csdmv),分块同时更新a 并输出给第三缓存流水级。
所述的第三缓存流水级,使用3块深度为pX(7、位宽为2的RAM对校验比 特A进行FIFO操作以确保A与相应的信息比特s、校验比特A同步传递给输出 级,另外还将校验比特a按照H矩阵中块的大小pX^进行分割,分别存储在p 个深度为。、位宽为1的乒乓RAM中。这样一共有2份a被存储在第三缓存流水 级中。
所述的第四处理-缓存流水级,使用1个R0M存储矩阵T—^中循环移位单位 阵的移位因子,在同一行上的循环移位单位阵的移位因子被组合后存储在ROM 的同一个地址。第四处理-缓存流水级使能时从ROM中顺次读出移位因子,将这 些移位因子作为读地址分块循环读取第三缓存流水级中的校验比特a,即同时 分块执行准循环移位单位阵乘向量运算(CSIMV),分块同时更新T—'B p,。然后 顺序读取第一处理-缓存流水级的乒乓RAM中的T—'A/,进而执行向量加法运算 (VA),逐比特更新a,并将其存储在深度为pX^、位宽为1的乒乓RAM中。
所述的准循环移位单位阵乘向量运算,考虑到循环移位单位阵乘向量相当 于将向量循环移位,本发明将每个准循环移位单位阵乘向量的运算按照H矩阵 中块的大小分解成多个循环移位单位阵乘向量的运算。假设"为移位因子,当 一个^X^的循环移位单位阵与长为^的向量x相乘时,其结果就是将向量z循
环上移了 "位。在循环移位单位阵乘向量使能时,使用一个二进制计数器对向
量x进行地址选通,把当前循环移位单位阵的移位因子a载入计数器,读出z 的第a位,此后计数器按模。计数,每次读出x中的一位,《个时钟之后,就 完成了循环移位单位阵与向量x的乘法。由于A、 B、 T、 C、 D、 E都是准循环移 位单位阵,编码预处理后的矩阵T—'A、 C、 T—'B、 E也都是准循环移位单位阵,都 能由循环移位单位阵构成,因此能适用上述算法。
所述的准循环移位阵乘向量运算,涉及①—i与(ET—'A+C)/的相乘的计算, 本发明将该运算按照H矩阵中块的大小分解成多个循环移位阵乘向量的运算。 当一个《X9的循环移位阵V与一个长为^的向量x相乘,在循环移位阵乘向量 使能时,把V中的第一行并行载入寄存器组,同时把相乘向量x的各分量输入 到对应的与门上,把各与门的输出结果进行模2加(异或)运算之后,就得到 第一个输出比特。此后每经过一个时钟周期,寄存器循环右移一位,就能得到
后续的输出比特,《个时钟之后,就完成了本次循环移位阵v与向量义的乘法。
与现有的基于RU方法的编码器相比,本发明所述的编码器具有以下特点
(1) 本发明利用T—A是准循环移位单位阵的特性,仅存储T—A的乘积矩阵, 这样做要比RU方法编码器中分别存储T—^A两个矩阵节省资源,类似地,本发 明只需要存储T—^的乘积矩阵。当r1、 A和B都是准循环移位单位阵时,ROM资 源可以节省[2/(^+l) ] X 100%。
(2) 本发明利用T"的准循环移位单位阵特性,使得RU方法中与T"的串 行乘法得以去除,将吞吐量提高了(3X4/oQX10(m,而且将流水线级数从RU 方法的6级縮短到现在的4级,在假定每一级流水线消耗时钟数不变的情况下, 将编码时延縮短了 33%。
(3) 本发明进一步改进了流水线结构的平衡性,使每一级流水线的运算所 需时钟数都为/ X《,解决了RU方法流水线延时不平均的问题,进一步縮短了编 码时延。
(4) 本发明中准循环移位单位阵乘向量运算、向量加法运算和准循环移位 阵乘向量运算均支持分块计算,因此编码器能支持可变码长、可变码率的各种 LDPC码。通过改变4和&,本发明支持的码率有1/2、 2/3、 3/4、 4/5、…、
通过改变P或^,就能实现码长的改变,只需要将每个模块的大小对应 最大的P和^进行配置即可。


图1为本发明实施基于的分层准循环LDPC校验矩阵的示意图; 图2为本发明实施例流水线结构示意图3为本发明实施例的分层准循环LDPC校验矩阵的示意图4为本发明实施例中根据图3的校验矩阵预处理后结果示意图5为本发明实施例中根据图4预处理矩阵进行编码的示意图6为本发明实施例中各ROM存储示意图7为本发明实施例中准循环移位单位阵乘向量示意图; 图8为本发明实施例中准循环移位阵乘向量示意图; 图9为本发明实施例中RAM分割示意图10为本发明为适应不同码长、码率配置准循环移位单位阵乘向量示意图。
具体实施例方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方 案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的 保护范围不限于下述的实施例。
图l给出了本发明实施基于的分层准循环LDPC校验矩阵的示意图。图中假 设校验矩阵H行重为《,列重为《,则H矩阵分层数为&,每个循环移位单位 阵都是^的,每一个块由/个循环移位单位阵拼接而成,其中A由1X (d-oO 的块组成,B由IX (oH)的块组成,T只占用一个块的大小,C由(oH) X (^-oO 的块组成,D由1) X (4-1)的块组成,E由(《-1) X 1的块组成。
令F(s, a, a),其中s是信息比特,a和a分别表示校验比特的前后两 部分,分别对应图1中D和E所在的列,cD =—ET—力+D。
在本实施例中,假设d=6、 dv=3, p=2, q=2,故得到的校验矩阵H为12行 24列。
图2示出了本实施例流水线结构,给出了流水线的分级及各级流水线中主 要模块的划分。本发明将流水线级数从RU方法的6级縮短到现在的4级,在假 定每一级流水线消耗时钟数不变的情况下,将编码时延縮短了 33%。
本实施例具体包括输入缓存、第一处理-缓存流水级、第二处理流水级、 第三缓存流水级、第四处理-缓存流水级、输出级,其特征在于
所述的输入缓存,将信息比特s按照校验矩阵H中块的大小pX 。进行分割,
分别存储在P个深度为《、位宽为1的乒乓RM1中,另外使用6块深度为pX。、 位宽为的oL-d的RAM对信息比特s进行FIFO操作以确保信息比特s与校验比特
A、 A同步传递给输出级;
所述第一处理-缓存流水级,先同时分块读取输入缓存各乒乓RAM的信息比 特,然后同时分块执行准循环移位单位阵乘向量运算,分块同时更新向量T—A/, C/,并将其按照校验矩阵H中块的大小pX《进行分割,分别存储在p个深度为 9、位宽为1的乒乓RAM中,另外使用4块深度为pX《、位宽为1的RAM对向量 T—A/进行FIFO操作以确保向量T—'A/与的校验比特A同步传递给第四处理-缓 存流水级;
所述第二处理流水级,首先同时分块读取第一处理-缓存流水级各乒乓RAM 中向量T—A/, C/的值,接着同时分块执行准循环移位单位阵乘向量运算,然后 同时分块执行向量加法运算,最后同时分块执行准循环移位阵乘向量运算,分 块同时更新校验比特A并输出给第三缓存流水级;
所述第三缓存流水级,将校验比特A按照校验矩阵H中块的大小pX 9进行 分割,分别存储在P个深度为仏位宽为1的乒乓RAM中,另外使用3块深度为 pX &位宽为2的RAM对校验比特A进行FIFO操作以确保校验比特A与信息比 特s、校验比特A同步传递给输出级;
所述第四处理-缓存流水级,首先同时分块读取第三缓存流水级各乒乓RAM 中的校验比特p,和第一处理-流水级的乒乓RAM中向量T—A/的值,然后同时分 块执行准循环移位单位阵乘向量运算,最后执行向量加法运算,更新校验比特 A并将其存储在深度为《、位宽为1的乒乓RAM中;
所述输出级同时分块读取输入缓存的乒乓RAM中的信息比特s、第三缓存 流水级的乒乓R雇中的校验比特A以及第四处理-流水级的乒乓RAM中校验比特 A的值,并将其输出给信道。
图3示出了本发明实施例的分层准循环LDPC校验矩阵的示意图,它的几个 分割已经在图中标注;
图4示出了本发明实施例中根据图3的校验矩阵预处理后结果;如图4所 示,本实施例中的校验矩阵预处理包括以下部分
为了解释方便,定义矩阵的(r" r2; Cl, c2)子矩阵为限定于原矩阵[ru n]行和[d, C2]列的矩阵。则矩阵A 301是矩阵H 201的(1, 4; 1, 12)子矩阵,矩阵B 302是矩阵H的(1, 4; 13, 18)子矩阵,矩阵T 303是矩阵H的 (1, 4; 19, 24)子矩阵,矩阵C 304是矩阵H的(5, 12; 1, 12)子矩阵, 矩阵D 305是矩阵H的(5, 12; 13, 18)子矩阵,矩阵E 306是矩阵H的(5, 12; 19, 24)子矩阵。经过模2矩阵乘法运算和高斯消元后得到①307以及①—1 308, T—A 309和T—'B 310。
图5示出了本发明实施例的编码流程图,基于图4的预处理矩阵和图2的 流水线结构,本实施例中编码包括以下步骤
假定待编码信息比特为s401,一份s被存储在输入缓存的由6块深度为4、 位宽为3的RAM组成的缓存101中,另外两份s被分块存储在输入缓存的18对 深度为2、位宽为1的乒乓R層102中。经过第一处理-缓存流水级的准循环移 位单位阵乘向量运算106,得到T—402, 一份T—AsT被存储在第一处理-缓存 流水级的2对深度为2、位宽为1的乒乓RAM 108中,另一份T—V^t被存儲在第 一处理-缓存流水级的由4块深度为4、位宽为1的RAM组成的缓存109中。经 过准循环移位单位阵乘向量运算105,得到C乂 403, C2sT 404,并将其分别存 储在第一处理-缓存流水级的2对深度为4、位宽为1的乒乓RAM 107中。乒乓 RAM 108中的T—AsT经过第二处理流水级的准循环移位单位阵乘向量运算111, 得到EJ—'A^ 405, E2T—As1 406,将它们同时分块与乒乓RAM 107中的C乂 403, C2sT 404作向量加法运算,得到(EJ—'A+d) sT 407, (E/TA+Q sT 408,分别经过 第二处理流水级的准循环移位阵乘向量运算116,分块逐比特得到a410。第三 缓存流水级将一份A存储在由3块深度为4、位宽为2的RAM组成的缓存117 中,另一份A被分块存储在4对深度为2、位宽为1的乒乓RAM 118中。经过第 四处理-缓存流水级的准循环移位单位阵乘向量运算120,得到rB^411,将其 与第一处理-缓存流水级的乒乓RAM中的T—'A^t作向量加法运算122,得到A412, 并将其存储在第四处理-缓存流水级的深度为4、位宽为1的乒乓RAM 123中。 输出级读取第一处理-缓存流水级的乒乓RAM 101中的s、第三缓存流水级的乒 乓ram 117中的a以及第四处理-缓存流水级的兵乓ram 123中的a,并组合成 输出编码后码字义413。
图6为根据本发明实施例的方法各ROM存储示意图。对应图2来看,501 存放在图2中的ROM 104, 502存放在图2中的ROM 119, 503、 505存放在图2 中的ROM 103, 504、 506存放在图2中的ROMllO, 507存放在图2中的ROM 115。
举例ROM&504的生成方法,由矩阵H201可知,Et由四个循环移位单位阵组成, 存储&的ROM的每一个地址上,高位指示该地址对应行块中循环移位单位阵的 位置,低位指示该循环移位单位阵的移位因子。另外,若如RU方法编码器所述 分别存储T—\ A和B,由于A、 B在大小上和T—A、 r'B无异,则需要多存储两份 r1,每份需要一个深度为2、位宽为2的R0M,这样将增加40y。的ROM资源消耗。
图7为本发明实施例中准循环移位单位阵乘向量示意图。举例E,XT—VL T来 说,步骤701读出存储Et的R0M的低地址数据,步骤702根据当前ROM数据高 位截取输入向量长度为2")的2。)段中的一段,如果高位是1则截取输入向量 的下半段,反之则截取输入向量的上半段,步骤703按照当前ROM数据低位对 该段输入向量循环移位后构成目标向量的上半段。步骤704读出存储E:的ROM 的高地址数据,步骤705根据当前数据高位截取输入向量长度为2")的2(p)段 中的一段,步骤706按照当前ROM数据低位对该段输入向量循环移位后构成目 标向量的下半段,最终组合得到目标向量707。可见,通过分块计算完成一次准 循环移位单位阵乘向量所需的时钟数只是PX ^4。
图8为本发明实施例中准循环移位阵乘向量示意图。步骤801读出存储①—1 的ROM的低地址数据,作为循环移位单位阵1、 5、 9、 13、 3、 7、 11、 15的第 一列,步骤802将上述数据与对应的输入向量a、 c的第一比特相乘,步骤803 对上述循环移位单位阵的第一列循环移位一位后得到其第二列,并再次与对应 的输入向量a、 c的第二比特相乘;步骤804读出存储。—'的R0M的高地址数据, 作为循环移位单位阵2、 6、 10、 14、 4、 8、 12、 16的第一列,步骤805将上述 数据与对应的输入向量力、"的第一比特相乘,步骤806对上述循环移位单位阵 的第一列循环移位一位后得到其第二列,并再次与对应的输入向量& "的第二 比特相乘,最终相加后得到目标向量。
图9为本发明实施例中RAM分割示意图。注意到步骤702需根据准循环移 位单位阵ROM数据高位确定相关上级输入向量的移位范围,因此上级输入向量 需要被分块存储在RAM中。步骤901将r'As1 402的前2 ")位数据存储在乒乓 RAMI的第一块RAM中,步骤902将T—'AsT的后2 U)位数据存储在兵乓RAM2的第 一块R扁中。由于采用了流水线结构,在下一帧到来时,步骤903将下一帧T— 的数据存放在乒乓RAMI和乒乓RAM2的第二块RAM中,以达到并行计算的效果。
图10为本发明为适应不同码长码率配置准循环移位单位阵乘向量的示意
图。步骤1001矩阵仏2, AJ乘以向量"2, sJ可以完全并行分解为A2乘以向量S2 1002和Ai乘以向量Sl 1003,所需时间与单个A:乘以向量Si完全相同。于是并 行处理即可实现在可变码长、可变码率的要求下的编码吞吐量不变。
本实施例为了便于说明,选取了较小的H矩阵,本发明适用的H矩阵可以 很大。
以上所述仅为本发明的实施例而已,并不用以限制本发明,凡在本发明的 精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
权利要求
1、一种分层准循环扩展构造的LDPC码的编码器,包括输入缓存、第一处理-缓存流水级、第二处理流水级、第三缓存流水级、第四处理-缓存流水级、输出级,其特征在于所述的输入缓存,将信息比特s按照校验矩阵H中块的大小p×q进行分割,分别存储在p个深度为q、位宽为1的乒乓RAM中,另外使用6块深度为p×q、位宽为的dc-dv的RAM对信息比特s进行FIFO操作以确保信息比特s与校验比特p1、p2同步传递给输出级;所述第一处理-缓存流水级,先同时分块读取输入缓存各乒乓RAM的信息比特,然后同时分块执行准循环移位单位阵乘向量运算,分块同时更新向量T-1AsT,CsT,并将其按照校验矩阵H中块的大小p×q进行分割,分别存储在p个深度为q、位宽为1的乒乓RAM中,另外使用4块深度为p×q、位宽为1的RAM对向量T-1AsT进行FIFO操作以确保向量T-1AsT与的校验比特p1同步传递给第四处理-缓存流水级;所述第二处理流水级,首先同时分块读取第一处理-缓存流水级各乒乓RAM中向量T-1AsT,CsT的值,接着同时分块执行准循环移位单位阵乘向量运算,然后同时分块执行向量加法运算,最后同时分块执行准循环移位阵乘向量运算,分块同时更新校验比特p1并输出给第三缓存流水级;所述第三缓存流水级,将校验比特p1按照校验矩阵H中块的大小p×q进行分割,分别存储在p个深度为q、位宽为1的乒乓RAM中,另外使用3块深度为p×q、位宽为2的RAM对校验比特p1进行FIFO操作以确保校验比特p1与信息比特s、校验比特p2同步传递给输出级;所述第四处理-缓存流水级,首先同时分块读取第三缓存流水级各乒乓RAM中的校验比特p1和第一处理-流水级的乒乓RAM中向量T-1AsT的值,然后同时分块执行准循环移位单位阵乘向量运算,最后执行向量加法运算,更新校验比特p2并将其存储在深度为p×q、位宽为1的乒乓RAM中;所述输出级,同时分块读取输入缓存的乒乓RAM中的信息比特s、第三缓存流水级的乒乓RAM中的校验比特p1以及第四处理-流水级的乒乓RAM中校验比特p2的值,并将其输出给信道。
2、 根据权利要求1所述的一种分层准循环扩展构造的LDPC码的编码器, 其特征是,所述的第一处理-缓存流水级,使用列重《个R0M存储矩阵C和T—'A 中循环移位单位阵的移位因子,每个ROM存储矩阵T—'A或者C的一层中的所有 移位因子,每一层中在同一行上的循环移位单位阵的移位因子被组合后存储在 ROM的同一个地址,第一处理-缓存流水级使能时同时从列重必个ROM中顺次读 出移位因子,将这些移位因子作为读地址分块循环读取输入缓存中的列重&份 信息比特s,即同时分块执行准循环移位单位阵乘向量运算,分块同时更新向量 T—'A/, C/。
3、 根据权利要求1所述的一种分层准循环扩展构造的LDPC码的编码器, 其特征是,所述的第二处理流水级,使用列重必-l个ROM存储矩阵E中循环移 位单位阵的移位因子,每个ROM顺序存储矩阵E的一层中的所有移位因子,同 时使用1个R0M存储矩阵①—'中所有循环移位阵的第一列,将矩阵O—1的每一列 层的第一列组合后存储在ROM的低地址,之后顺次添加下一列循环移位阵的第 一列的组合,第二处理流水级使能时同时从列重《-l个ROM中顺次读出移位因 子,将这些移位因子作为读地址读取第一处理-缓存流水级的乒乓RAM中的向量 T—A/,即同时分块执行准循环移位单位阵乘向量运算,分块同时更新向量 ET—A/,然后分块同时顺序读取第一处理-缓存流水级的乒乓RAM中的向量C/, 进而分块执行向量加法运算,逐比特更新向量(ET—'A+C)/,最后从ROM中顺次读 出矩阵3^的所有循环移位阵的第一列,分块同时执行准循环移位阵乘向量运 算,分块同时更新校验比特A并输出给第三缓存流水级。
4、 根据权利要求1或3所述的一种分层准循环扩展构造的LDPC码的编码 器,其特征是,在所述准循环移位阵乘向量运算中,按照校验矩阵H中块的大 小pX ^分解成多个循环移位阵乘向量的运算,当一个^的循环移位阵V与 一个长为< 的向量^相乘,在循环移位阵乘向量使能时,把循环移位阵V中的 第一行并行载入寄存器组,同时把向量义的各分量输入到对应的与门上,把各 与门的输出结果进行模2加运算之后,就得到第一个输出比特,此后每经过一 个时钟周期,寄存器循环右移一位,就能得到后续的输出比特,( 个时钟之后, 就完成了本次循环移位阵v与向量j的乘法。
5、 根据权利要求1所述的一种分层准循环扩展构造的LDPC码的编码器, 其特征是,所述的第四处理-缓存流水级,使用1个r0m存储矩阵t—^中循环移 位单位阵的移位因子,在同一行上的循环移位单位阵的移位因子被组合后存储 在rom的同一个地址,第四处理-缓存流水级使能时从rom中顺次读出移位因子, 将这些移位因子作为读地址分块循环读取第三缓存流水级中的校验比特a,即 同时分块执行准循环移位年位阵乘向量运算,分块同时更新向量t—'b a,然后 顺序读取第一处理-缓存流水级的乒乓ram中的向量t—、/,进而执行向量加法 运算,逐比特更新校验比特a,并将其存储在乒乓ram中。
6、根据权利要求1或2或3或5所述的一种分层准循环扩展构造的ldpc码的编 码器,其特征是,在每个所述准循环移位单位阵乘向量的运算中,按照校验矩 阵h中块的大小分解成多个循环移位单位阵乘向量的运算,假设"为移位因子, 当一个^X^的循环移位单位阵与一个长为^的向量z相乘时,其结果就是将向量^ 循环上移了"位,在循环移位单位阵乘向量使能时,使用一个二进制计数器对 向量说行地址选通,把当前循环移位单位阵的移位因子a载入计数器,读出向 量^J第a位,此后计数器按模《计数,每次读出向量义中的一位,<7个时钟之后, 就完成了循环移位单位阵与向量义的乘法。
全文摘要
本发明公开了一种分层准循环扩展构造的LDPC码的编码器,包括输入缓存、第一处理-缓存流水级、第二处理流水级、第三缓存流水级、第四处理-缓存流水级、输出级,根据校验矩阵H是准循环移位阵拼接的特点,简化了RU编码方法的流水线结构,使流水线级数从六级降到了四级,缩短了编码时延。同时根据主要功能模块的实现特点,降低了最大流水线时延,提高了编码吞吐量。随后依据准循环移位阵运算的特点,减少了编码器ROM的资源消耗,用准循环移位单位阵乘向量取代了RU方法中的稀疏矩阵乘向量,用准循环移位阵乘向量取代了RU方法中的非稀疏矩阵乘向量。为了适应可变码长、可变码率的要求,级间的乒乓RAM可预留较大存储空间。
文档编号H03M13/00GK101119118SQ20071004562
公开日2008年2月6日 申请日期2007年9月6日 优先权日2007年9月6日
发明者晖 俞, 晨 张, 徐友云, 甘小莺 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1