Qc-ldpc码的编码方法及编码装置的制造方法_5

文档序号:9379727阅读:来源:国知局
包含的差分移位元素的总数;fu中的第b个差分移位元素表示为 J I b ^ Xli j 〇
[0454] 其中,上述Xli j次累加循环右移操作中的第b次累加循环右移操作包括:
[0455] 将上述m(i)与上一次累加循环右移操作的操作结果相加,得到相加结果;
[0456] 对上述相加结果循环右移./^位,得到循环右移结果,上述循环右移结果为本次累 加循环右移操作的操作结果;
[0457] 其中,当b = 1并且i = 1时,上述上一次累加循环右移操作的操作结果为0 ;当 b = 1并且i古1时,上述上一次累加循环右移操作的操作结果为对上述m(i-l)进行的最 后一次累加循环右移操作的操作结果。
[0458] 具体内容请参见本文前述记载,在此不作赘述。
[0459] 在本发明其他实施例中,上述所有实施例中的编码器还可包括:
[0460] 差分移位向量存储器,用于存储上述差分移位向量。
[0461] 图10示出了上述编码器的另一种结构,其可包括:
[0462] k个串行连接的信息向量寄存器(信息向量寄存器Ι-k);
[0463] m个校验段编码电路(校验段编码电路1-m),其中,第j个校验段编码电路用于对 信息向量进行编码,得到上述P(j)。
[0464] 请参见图11,上述第j个校验段编码电路(也即任一个校验段编码电路)可包括 依次连接(串行连接)的加法器和循环右移校验段寄存器。
[0465] 上述加法器还与上述k个信息向量寄存器中的第1个信息向量寄存器相(信息向 量寄存器1)连接。
[0466] 为区分起见,将第1个校验段编码电路中的循环右移校验段寄存器称为循环右移 校验段寄存器1 ;将第2个校验段编码电路中的循环右移校验段寄存器称为循环右移校验 段寄存器2 ;以此类推,在此不作赘述。
[0467] 或者说,将第j个校验段编码电路中的循环右移校验段寄存器称为循环右移校验 段寄存器j。
[0468] 至少分别与上述k个信息向量寄存器和校验段编码电路中各器件相连接的控制 器(未不出)。
[0469] 此外,还可包括存储器。
[0470] 其中,存储器可用于存放程序。具体地,程序可以包括程序代码,程序代码包括计 算机操作指令。
[0471] 存储器可能包含高速随机存取存储器(random access memory,简称RAM)存储器, 也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0472] 控制器可以是通用处理器,包括中央处理器(Central Processing Unit,简称 CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用 集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管 逻辑器件、分立硬件组件。
[0473] 控制器和存储器可集成于同一芯片内,也可为独立的两个器件。
[0474] 控制器执行上述存储器所存放的程序,配合协调上述k个信息向量寄存器和校验 段编码电路中各器件完成上述P (j)的编码过程:
[0475] 接收输入的上述m(i),上述m(i)对应的循环子矩阵表示为Wli j ;
[0476] 依据差分移位向量中上述W1, ,对应的差分移位子向量,对上述m(i)进行X1, ,次累 加循环右移操作;
[0477] 上述差分移位向量包含循环子矩阵Wu ]至\ ,对应的差分移位子向量,其中的Wu 对应的差分移位子向量表示为fu,上述Xu为上述所包含的差分移位元素的总数;上 述L中的第b个差分移位元素表示为./t; I < b彡Xli j ;
[0478] 上述Xli j次累加循环右移操作中的第b次累加循环右移操作包括:
[0479] 将上述m(i)与上一次累加循环右移操作的操作结果相加,得到相加结果;
[0480] 对上述相加结果循环右移、位,得到循环右移结果,上述循环右移结果为本次累 加循环右移操作的操作结果;
[0481] 其中,当b = 1并且i = 1时,上述上一次累加循环右移操作的操作结果为0 ;当 b = 1并且i古1时,上述上一次累加循环右移操作的操作结果为对上述m(i-l)进行的最 后一次累加循环右移操作的操作结果。
[0482] 具体内容可参见本文前述记载,在此不作赘述。
[0483] 在本发明其他实施例中,上述所有实施例中的控制器可分别与上述k个信息向量 寄存器,m个加法器,以及m个循环右移校验段寄存器相连接,对其进行控制。
[0484] 上述各器件作用如下:
[0485] 信息向量寄存器1用于,响应于控制器的控制,向信息向量寄存器2输出所存储的 数据,以及存储输入的m(i)。上述i初始为1,并在控制器的控制下逐1累加,直至i = k。
[0486] 信息向量寄存器1可包含输入接口和输出接口(至少两个),其中一个输出接口与 信息向量寄存器2的输入接口相连接,另一输出接口与上述m个加法器分别相连。信息向 量寄存器1通过其输出接口向信息向量寄存器2输出所存储的数据,而m(i)则由输入接口 输入。
[0487] 信息向量寄存器Q用于,响应于控制器的控制,向信息向量寄存器Q+1输出所存储 的数据,以及存储信息向量寄存器Q-I输入的数据;2 < Q < k-1。
[0488] 以信息向量寄存器2为例,信息向量寄存器2可包含输入接口和输出接口,该输出 接口又与信息向量寄存器3的输入接口相连接,而输入接口则与信息向量寄存器1的输出 接口相连。信息向量寄存器2通过其输出接口向信息向量寄存3输出所存储的数据,而信 息向量寄存器2则通过信息向量寄存器2的输入接口输入数据。
[0489] 其他信息向量寄存器的工作与之类似,在此不作赘述。
[0490] 需要说明的是,在编码前,会进行清零。因此初始时,信息向量寄存器1至k、循环 右移寄存器1至m中存储的数据全为零。
[0491] 上述第j个校验段编码电路中的加法器用于,响应于控制器的控制,将循环右移 校验段寄存器j中存储的数据与上述m(i)相加,并将相加结果存回上述循环右移校验段寄 存器j。
[0492] 加法器为二输入一输出,两个输入接口一个连接循环右移校验段寄存器j,另一个 连接信息向量寄存器1,其输出接口也连接循环右移校验段寄存器j。
[0493] 加法器通过两个输入接口分别获取m(i)和循环右移校验段寄存器j中存储的数 据,将二者相加后,通过输出接口输出给循环右移校验段寄存器j。
[0494] 循环右移校验段寄存器j用于,响应于控制器的控制,依据差分移位向量中上述 Wli,对应的差分移位子向量,将存入的上述相加结果循环右移 位,并存储得到的循环右 移结果。
[0495] 上述差分移位向量包含循环子矩阵W1^至\ ,对应的差分移位子向量,其中,上述 Wli,对应的差分移位子向量表示为f^,上述所包含的差分移位元素的总数为\ 上述 为上述中的第b个差分移位元素。
[0496] 需要说明的是,上述b初始为1,并在上述控制器的控制下逐1累加,直至b = Xl,,。
[0497] 以循环右移校验段寄存器j为例,其有两个输入接口,其中一个连接加法器,另一 个用于获取移位表中的差分移位向量。
[0498] 上述控制器在编码过程结束后,还会按照从第k个信息向量寄存器至第1个信息 向量寄存器的顺序,控制上述k个信息向量寄存器依次输出所存储的信息段,以及,按照从 第1个至第m个校验段编码电路的顺序,控制上述m个校验段编码电路中的循环右移校验 段寄存器依次输出所存储的校验段。
[0499] 需要说明的是,编码过程结束后,信息向量寄存器1中存储的是m(k),信息向量寄 存器2中存储的是m(k-l),信息向量寄存器3中存储的是m(k-2),……,信息向量寄存器 k中存储的是m(l)。
[0500] 而循环右移校验段寄存器1存储的是p(l),循环右移校验段寄存器2存储的是 P (2),……,循环右移校验段寄存器m存储的是p (m)。
[0501] 又因为,码字向量c = [m|p] = [m(l) m(2)…m(k) p(l)…p(m)],也即,如欲 实现输出码字向量,需先串行顺次输出m(l)至m(k),再串行顺次输出p (1)至p (m)。
[0502] 按从第k个信息向量寄存器至第1个信息向量寄存器的顺序,依次输出所存储的 信息段,可实现串行顺次输出m(l)至m(k)。而按照从第1个至第m个校验段编码电路的顺 序,输出所存储的校验段,可实现串行顺次输出P(I)至P (m)。
[0503] 在本发明其他实施例中,上述所有实施例中的编码器还可包括:
[0504] 差分移位向量存储器,用于存储上述差分移位向量。
[0505] 此外,上述编码器还可包括时钟。
[0506] 图10和图11所示编码器,可实现图8所示流程。
[0507] 或者,使用图10和图11所示编码器所进行的步骤可如下所示(以获取校验段 P(I)为例):
[0508] 步骤0,初始化。
[0509] 初始化包括清零(令信息向量寄存器1至k,以及,循环右移校验段寄存器1至m 中存储的数据全为零),以及,令i = 1,b = 1。
[0510] 步骤1,当第1个时钟周期到来时,输入信息段m(l),将m(l)与循环右移校验段 寄存器1中的内容相加,根据移位表中存储的A的第1个元素 f/,将相加结果循环右移f/ 位,并保存循环右移结果(也即本次累加循环右移操作的操作结果)。
[0511] 由于事先进行了清零,所以相加结果仍为m(l)。
[0512] 步骤2,当第2个时钟周期到来时,将m(l)与循环右移校验段寄存器1中的内容相 加,根据移位表中存储的A的第2个元素 A2,将相加结果循环右移f/位,并保存循环右移 结果。
[0513] ......
[0514] 步骤Xlil,当第Xlil个时钟周期到来时,将m(l)与循环右移校验段寄存器1中的内 容相加,根据移位表中存储的a的第\:个元素/产、将相加结果循环右移yn立,并保存 循环右移结果。
[0515] 步骤xM+l,当第xM+l个时钟周期到来时,输入信息段m(2),将m(2)与循环右移 校验段寄存器1中的内容相加,根据移位表中存储的A的第x ul+l个元素,将相加结 果循环右移if#1位,并保存循环右移结果。
[0516] ......
[0517] 步骤XliJxiu,当第XliJx iu个时钟周期到来时,将m(2)与循环右移校验段寄存器 1中的内容相加,根据移位表中存储的A的第Xli i+x2i i个元素../T_Wy,将相加结果循环右移 位,并保存循环右移结果。
[0518] 重复上述过程,直至整个信息向量m全部串行移入电路,此时,循环右移校验段寄 存器1存储的是校验段P(I)。相应的,其他校验段也可获得。
[0519] 需要说明的是,以获取P(I)和P (2)为例,在获取P(I)时m(l)对应Xlil个差分移 位元素,在获取P(2)时m(l)对应X li2个差分移位元素。Xlil与Xli2并不一定相等。由于m 个校验段编码电路并行编码,并且这m个校验段编码电路从同一信息向量寄存器(信息向 量寄存器1)处获得信息段,因此,需要对信息段的输入予以控制。
[0520] 控制的方式有多种。
[0521] -种控制方式是:由于循环子矩阵每行长度为1,可每隔1个时钟节拍,输入一个 信息段。也即,第1个时钟周期到来时,输入信息段m(1),第1+1个时钟周期到来时,输入信 息段m(2),第21+1个时钟周期到来时,输入信息段m(3),以此类推。
[0522] 如果1 = 5,而Xlil = 3,则在第4和第5个时钟周期中,控制器可令第1个校验段 编码电路中的加法器停止工作。相类似的,如& i = 4,则在第5个时钟周期中,控制器可令 第1个校验段编码电路中的加法器停止工作。以此类推,不再赘述。
[0523] 另一种方式是:
[0524] 控制器可在第Xl+1个时钟周期到来时,控制输入信息段m (2)。X1 = max (Xli j),也 艮P,X1为Xlil至Xlim中的最大值。如果X 1 = 4,而Xlil = 3,则在第4个时钟周期中,控制器 可令第1个校验段编码电路中的加法器停止工作。相类似的,如x2il = 2,则在第3-4个时 钟周期中,控制器可令第2个校验段编码电路中的加法器停止工作。以此类推,不再赘述。
[0525] 在第Xl+x2+l个时钟周期到来时,控制器控制输入信息段m(3),x2 = max (x2i j),也 艮P,X2为X21至X2 ni中的最大值。以此类推,不作赘述。
[0526] 如使用上述方式,则本发明实施例所提供编码器的编码时间为:
[0528] 传统使用SRAA电路的串行编码器与本发明实施例的资源消耗如下表4所示:

[0531] 表 4
[0532] 在本发明其他实施例中,上述存储器还可存储信息向量(存储时机为进入信息向 量寄存器之前)。或者,上述编码器还包括其他存储器来存储上述信息向量。
[0533] 此外,上述编码器还可包括读写设备,控制器可控制读写设备从存储器中读取出 信息段,并存入编码器内部的信息向量寄存器1。
[0534] 除用于QC-LDPC码的编码外,本发明实施例所提供的技术方案还可应用于其他场 景。例如,其可应用于802. Iln LDPC码编码。
[0535] 802. Iln LDPC码(码长648,码率5/6)的基础校验矩阵,如上表2所示。
[0536] 相应的差分移位表可表示为:
[0538] 如采用本发明实施例所提供的技术方案,将乘法转化为累加循环右移操作,则前 述的向量q/,q/,q3T,q4T可表示为:
[0548] 传统的串行SRAA方式实现802. Iln LDPC码编码,与本发明实施例技术方案来实现 802. Iln LDPC码编码的资源消耗如下表所示:
[0549]
[0550] 无论采用本发明实施例所提供的哪种编码方式,其均有如下优点:
[0551] 在QC-LDPC码的编码过程中只需存储每个循环子矩阵的第一行(或列)中元素 "1"(或"〇")的位置,或者,存储每个循环子矩阵的差分移位子向量(差分移位子向量的数 目与循环子矩阵第一行" 1 "的数目相等),减少了存储空间。
[0552] 只需简单的相加和循环右移操作,可减少寄存器的数量。并不需要相乘操作,生成 矩阵的存储内容不需要变动,可有效减少计算量。
[0553] 编码时间与每个循环子矩阵的第一行中元素"1"的数目有关,可以减少编码时间, 提高了编码速度。可以采用简单的移位寄存器硬件来实现编码器,简化编码电路,易于硬件 实现。
[0554] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0555] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存 储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术 领域内所公知的任意其它形式的存储介质中。
[0556] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
【主权项】
1. 一种QC-LDPC码的编码方法,其特征在于,用于对信息向量进行编码,得到码字向 量,所述码字向量包含所述信息向量和校验向量;所述信息向量等分为k个信息段;所述信 息向量中的第i个信息段表示为m(i) ;1 <i<k;所述校验向量等分为m个校验段;所述 校验向量中的第j个校验段表示为P(j),1彡j彡m;所述p(j)中nKDWu的编码过程包 括: 接收输入的所述m(
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1