法律状态公告日
法律状态信息
法律状态
2016-09-21
授权
授权
2014-07-16
实质审查的生效 IPC(主分类):H03M13/11 申请日:20140320
实质审查的生效
2014-06-18
公开
公开
技术领域
本发明属于通信编码技术领域,涉及一种针对CCSDS规范7/8码率 LDPC的高速编码装置及编码方法。
背景技术
LDPC码(低密度奇偶校验码)是一种线性分组码,可由其校验矩阵唯 一确定。由于LDPC码有近香农极限的纠错性能、译码复杂度低、结构灵活 等优点,受到了人们的广泛关注,并成功应用到了多个行业标准,如第二代 卫星数字电视广播DVB-S2中采用了BCH码和LDPC码级联的方案,CCSDS (空间数据系统咨询委员会)发布的131.1.0-2标准也推荐了LDPC码。
LDPC码可分为随机构造的LDPC码和结构化构造的LDPC码两大类。 随机构造的LDPC码有良好的纠错性能,但难以进行简单的编译码,很难用 于实际应用中。结构化构造的LDPC码可以实现线性时间编码和简单译码, 硬件实现也较容易,且通过设计也可获得较好的纠错性能。CCSDS建议书 推荐的LDPC码也是一种具有准循环结构的结构化LDPC(QC-LDPC)码。 本课题主要针对的是符合CCSDS规范的高速LDPC编码。CCSDS规范构造 的LDPC码具有良好的结构特性,可以将LDPC码校验矩阵形式转换为生成 矩阵形式。(8176,7154)LDPC码的生成矩阵G是系统的循环矩阵结构,由 7154x7154的单位阵和2列511x511的循环子矩阵组成,每一列包含14个 循环阵。
目前,针对准循环结构化LDPC的现有编码技术一种是基于寄存累加的 串行编码(SRAA)。其完成一组编码所需的时钟周期数等于LDPC码的信 息序列长度,编码过程耗时过长,难以适应高信息速率的通信系统。另一种 是将上述SRAA算法简单并行化,使用多个重复的并行结构,虽然能够支持 高速数据传输,但是资源开销过大,随着对编码速率要求的增高,这种方法 也越来越难以在实际中应用。而现有的专门针对CCSDS的方案使用了较多 的资源,同时支持的并行度也不高。
发明内容
本发明解决的技术问题是:提供了一种针对CCSDS规范7/8码率LDPC 的高速编码装置,适用于符合CCSDS规范的高速信息传输装置中,可提升 通信系统的传输带宽和对大数据通信的支持能力。同时,本发明还提供了一 种高速LDPC编码方法。所述的高速LDPC编码装置和方法支持CCSDS规 范里7/8码率的LDPC高速并行编码。
本发明的技术解决方案如下:
一种针对CCSDS规范7/8码率LDPC的高速编码装置,包括:待编码信 息处理单元和向量循环矩阵处理单元,待编码信息处理单元中包括RAM控 制器和14个并行RAM存储器,向量循环矩阵处理单元中包括一级寄存缓 冲器、二级寄存缓冲器和多个循环移位寄存器;
RAM控制器将外部输入的M<14位并行待编码信息数据同时存储到14 个并行RAM存储器中,每个RAM存储器中均存储M<14位并行待编码信 息数据;每个RAM存储器中达到半满时,同时对14个RAM进行读出,每 个RAM一次读出1比特数据,形成14比特的并行数据并送入向量循环矩 阵处理单元中,所述14比特的并行数据与向量循环矩阵处理单元中的多个 循环移位寄存器中的数据进行按位异或,按位异或后分别存入两个一级寄存 缓冲器内,两个一级寄存缓冲器内的数据再同时输出并进行异或后进入二级 寄存缓冲器中形成校验信息比特,即实现了LDPC的高速编码。
所述循环移位寄存器的数量与CCSDS规范7/8码率LDPC的生成矩阵 的行块数相同,均为14。
一种基于权利要求1中高速编码装置的LDPC编码方法,包括以下步骤:
(1)RAM控制器将外部输入的M<14位并行待编码信息数据同时存储 到14个并行RAM存储器中,每个RAM存储器中均存储M<14位并行待编 码信息数据;
(2)每个RAM存储器中达到半满时,同时对14个RAM进行读出, 每个RAM一次读出1比特数据,形成14比特的并行数据并送入向量循环 矩阵处理单元中;
(3)在向量循环矩阵处理单元内,各个输入的并行数据分别与2个循 环移位寄存器中的2*511比特长的向量进行按位异或,形成1022长的比特 向量;输入的14比特并行数据产生14个1022长的比特向量;
(4)将所述14个1022长的比特向量分成2组,每组7个1022长的比 特向量,组内各个1022长的比特向量之间进行按位异或后分别存入两个一 级寄存缓冲器内;
(5)两个一级寄存缓冲器内的数据同时输出并进行异或后送入二级寄 存缓冲器中进行累加,511个时钟周期以后,累加的结果形成校验信息比特 输出,即实现了LDPC的高速编码。
所述步骤(2)中同时对14个RAM进行读出,每个RAM一次读出1 比特数据具体为:
同时对14个RAM进行读出,每个RAM一次读出1比特数据,相邻两 个RAM的起始读取地址之间相差511。
所述循环移位寄存器的数量与CCSDS规范7/8码率LDPC的生成矩阵 的行块数相同,均为28。
循环移位寄存器中存储的内容与CCSDS规范7/8码率LDPC的生成矩 阵的行块中的内容相同,为511比特长的向量。
本发明与现有技术相比具有如下优点:
相比较于现有技术,本发明对输入的待编码信息进行处理,利用较少的 RAM存储器提升输入数据的并行度,同时输出的数据结构能够进一步简化后续 校验信息计算的结构。以相对更小的代价,实现高速LDPC编码。采用此种技 术方案进行高速LDPC编码不依赖于校验矩阵,实现简单;并且,本发明技术 方案能方便地对编码并行度进行调整,在编码效率和复杂度之间寻找动态的平 衡;因此具有广泛的适用性。
附图说明
图1为本发明方法流程图;
图2为本发明装置结构示意图;
图3为待编码信息处理单元结构示意图;
图4为向量循环矩阵处理单元示意图;
具体实施方式
如图2所示,本发明提供了一种针对CCSDS规范7/8码率LDPC的高速编 码装置,包括:待编码信息处理单元和向量循环矩阵处理单元,如图3所示, 待编码信息处理单元中包括RAM控制器和14个并行RAM存储器,其使用 18kb大小的总共14个RAM存储器并行存储待编码信息数据。如图4所示, 向量循环矩阵处理单元中包括一级寄存缓冲器、二级寄存缓冲器和多个循环 移位寄存器,向量循环矩阵处理单元初始化的时候将生成矩阵循环子矩阵的 首行存储在(总共28x511行)28个寄存器中,每个寄存器向量的长度为511; 所述循环移位寄存器的数量与CCSDS规范7/8码率LDPC的生成矩阵的行 块数相同,均为28;
RAM控制器将外部输入的M<14位并行待编码信息数据同时存储到14 个并行RAM存储器中,每个RAM存储器中均存储M<14位并行待编码信 息数据;每个RAM存储器中达到半满时,同时对14个RAM进行读出,每 个RAM一次读出1比特数据,形成14比特的并行数据并送入向量循环矩 阵处理单元中,所述14比特的并行数据与向量循环矩阵处理单元中的多个 循环移位寄存器中的数据进行按位异或,按位异或后分别存入两个一级寄存 缓冲器内,两个一级寄存缓冲器内的数据再同时输出并进行异或后进入二级 寄存缓冲器中形成校验信息比特,即实现了LDPC的高速编码。
如图1所示,本发明提供的一种基于权利要求1中高速编码装置的LDPC 编码方法,包括以下步骤:
(1)RAM控制器将外部输入的M<14位并行待编码信息数据同时存储 到14个并行RAM存储器中,每个RAM存储器中均存储M<14位并行待编 码信息数据;
(2)每个RAM存储器中达到半满时,同时对14个RAM进行读出, 每个RAM一次读出1比特数据,形成14比特的并行数据并送入向量循环 矩阵处理单元中;
同时对14个RAM进行读出,每个RAM一次读出1比特数据,相邻两 个RAM的起始读取地址之间相差511。
具体是第一个RAM存储器的读地址为0,第二个RAM存储器读地址 为511,第三个为1022,以此类推,第14个为6643。对于每个RAM存储 器,从其起始地址开始,每次读取一个比特信息后将累计顺序地增加其读取 地址。具体就第一个RAM存储器而言,起始地址是0,之后每一次读出一 个比特后,读取地址增加1,即0,1,2…,510。
(3)在向量循环矩阵处理单元内,各个输入的并行数据分别与2个循 环移位寄存器中的2*511比特长的向量进行按位异或,形成1022长的比特 向量;输入的14比特并行数据产生14个1022长的比特向量;(循环移位 寄存器中存储的内容与CCSDS规范7/8码率LDPC的生成矩阵的行块中的 内容相同,为511比特长的向量);
具体为将14比特信息表示为b1,b2,…,b14。向量循环矩阵处理单元内总 共有28个本地寄存器,表示为r1,r2,…,r28,每一个寄存器向量的长度为511。 其中每两个寄存器组成一个行组,表示为R1={r1,r2},R2={r3,r4},…,R14={r27, r28}。每次从一个RAM存储器读出的一个比特数据,表示为bi,该比特数 据与对应的行组Ri进行异或操作得到一个长度为1022的向量,表示为di=bi⊙Ri,(i=1,2,…,14),其中⊙代表异或操作。
(4)将所述14个1022长的比特向量分成2组,每组7个1022长的比 特向量,组内各个1022长的比特向量之间进行按位异或后分别存入两个一 级寄存缓冲器内;
(5)两个一级寄存缓冲器内的数据同时输出并进行异或后送入二级寄 存缓冲器中进行累加,511个时钟周期以后,累加的结果形成校验信息比特 输出,即实现了LDPC的高速编码。
具体为首先第一级缓冲分别求得d1,d2,…,d7的累加结果以及d8,d9,…, d14的累加结果,分别表示为c1,c2,其中c1=d1+d2+…+d7, c2=d8+d9+…+d14。根据所述的第一级累加结果,求得第二级累加结果c。 c=c1+c2。重复上述过程511次,最后得到的c为最终计算得出的校验信息。
下面以一个具体的待编码码字为例,对本发明所述的编码装置进行说明。
待编码信息(M=8比特):
00010000
00000000
00001011
11100101
……
……
00000101
11100110
经过待编码输入处理单元,并行度提升后得到信息(14比特),其按照时 间的先后顺序表示为:
00001010000101(第一组)
111110111011100(第二组)
00011100100011(第三组)
……
……
00010000100101
00011001001011(第511组)
接着,以第一组14比特信息为例,其送入向量循环矩阵处理单元,每一个 比特分别与对应的行组(共14个行组,每组为长度1022的向量)异或为:
0⊙1010010010010…10011=1010010010010…10011
对上述结果做循环右移一位操作后,更新后的当前行组向量为: 11010010010010…1001,其与进入的第二组的第一个比特进行异或为:
1⊙11010010010010…1001=00101101101101…0110
将每一组的14个异或结果送入二级寄存器缓冲相加,得到c。重复上述过 程,直到第511组14比特宽度信息输入并异或累加完成。最终得到的累加结果 c输出为校验信息。
机译: 用于高速数据传输的高码率turbo编码方法及其装置
机译: 高速数据传输的高码率涡轮编码方法及参考装置
机译: 高效的LDPC高速编码方法和使用该方法的装置,由于非线性计算而能够避免复杂性