基于求和阵列的wpan中qc-ldpc并行编码器的制造方法
【技术领域】
[0001] 本发明涉及无线个人通信领域,特别涉及一种WPAN系统中QC-LDPC码编码器的并 行实现方法。
【背景技术】
[0002] 由于在传输信道中存在的各种失真和噪声会对发送信号产生干扰,接收端不可避 免地会出现数字信号产生误码的情况。为了降低误码率,需要采用信道编码技术。
[0003] 低密度奇偶校验(Low-DensityParity-Check,LDPC)码以其逼近Shannon限的优 异性能成为信道编码领域的研宄热点。准循环LDPC(Quasic-LDPC,QC-LDPC)码是一种特殊 的LDPC码,其编码可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator,SR AA)加以实现。
[0004] SRAA法是利用生成矩阵G进行编码。QC-LDPC码的生成矩阵G是由aXt个bXb 阶循环矩阵Gud彡i彡a,1彡j彡t)构成的阵列,t=a+c。与信息向量对应的一部分 生成矩阵是单位矩阵,与校验向量对应的其余部分生成矩阵是高密度矩阵。假设a不是素 数,可被分解为a=ux(u<x),其中,u不等于1,x不等于a。那么,u路并行SRAA法完成 一次编码需要bx+t个时钟周期,需要(uc+t)b个寄存器、ucb个二输入与门和ucb个二输 入异或门。此外,还需要acb比特ROM存储循环矩阵的首行。
[0005] WPAN是无线个人区域网的英文简称,英文全称是WirelessPersonalArea Network。WPAN标准采用了四种不同码率的QC-LDPC码。对于这四种QC-LDPC码,均有t= 32和b= 21,所有a的最大公约数是u= 4。图1给出了不同码率n下的参数a、c和x。
[0006] WPAN系统中QC-LDPC高速编码的现有解决方案是采用u= 4路并行SRAA法,四种 QC-LDPC码所需的编码时间分别是116、137、158和179个时钟周期。逻辑资源需要2016个 寄存器、1344个二输入与门和1344个二输入异或门,这是由码率n= 1/2对应的参数决定 的。此外,四种QC-LDPC码共需16800比特ROM存储循环矩阵的首行。当采用硬件实现时, 需要较多的存储器和寄存器,势必会造成设备成本高,功耗大。
【发明内容】
[0007] 针对WPAN系统多码率QC-LDPC码高速编码的现有实现方案中存在的资源需求量 大缺点,本发明提供了一种基于求和阵列的并行编码方法,能在保持编码速度不变的前提 下,减少资源需求。
[0008] 如图2所示,WPAN系统中多码率QC-LDPC码的并行编码器主要由4部分组成:寄 存器、求和阵列、选择扩展器和b位二输入异或门。整个编码过程分4步完成:第1步,输入 信息向量s,保存至寄存器&~Ra,清零寄存器Ra+1~Rt,并为选择扩展器I配置s对应的 码率n,其中,1彡1彡c;第2步,寄存器札~1^串行左移1次,为求和阵列并行输入向量 ,…,su,k),所有选择扩展器的控制端输入数值p= [(k-l)/b]+l,所有选择扩展器 分别从求和阵列的输出端中选择一部分并扩展成13个,共同构成向量(81,1;, 82,1;,一,、1;)与 码率n对应的子块首行矩阵Fp的乘积,b位二输入异或门Ai将乘积的第1段b比特与寄 存器Ra+1串行循环左移1次的结果相加,和存回寄存器Ra+1,其中,1彡k彡bx,l彡P彡X, 1 < 1 <c,符号[(k-1) /b]表示不大于(k-1) /b的最大整数;第3步,以1为步长递增改变k 的取值,重复第2步bx-1次,完成后,寄存器札~Ra存储的是信息向量s=(sps2,…,sa), 寄存器Ra+1~Rt存储的是校验向量P= (PuPs,…,P。);第4步,并行输出码字v= (s,p)。
[0009] 本发明提供的QC-LDPC并行编码器兼容多码率,能在保持编码速度不变的前提下 有效减少资源需求,从而达到降低硬件成本和功耗的目的。
[0010] 关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。
【附图说明】
[0011] 图1给出了不同码率n下的参数a、t和X ;
[0012] 图2是WPAN系统中兼容四种码率QC-LDPC码的并行编码器整体结构;
[0013] 图3是求和阵列的构成示意图;
[0014] 图4给出了各种多输入异或门的数量;
[0015] 图5比较了传统的u路并行SRAA法与本发明的资源消耗。
【具体实施方式】
[0016] 下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
[0017] QC-LDPC码是一类特殊的LDPC码,它的生成矩阵G和校验矩阵H都是由循环矩阵 构成的阵列,具有分段循环特点,故被称为准循环LDPC码。从行的角度看,循环矩阵的每一 行都是上一行(首行是末行)循环右移一位的结果;从列的角度看,循环矩阵的每一列都是 前一列(首列是末列)循环下移一位的结果。循环矩阵的行向量构成的集合与列向量构成 的集合完全相同,因此,循环矩阵完全可由它的首行或首列来表征。QC-LDPC码的生成矩阵 G是由aXt个bXb阶循环矩阵匕」(1彡i彡a,1彡j彡t)构成的阵列:
[0018] (1)
[0019] G(或H)的连续b行和b列分别被称为块行和块列。假设 gi,j(l<i<a,a+l<j<t)是循环矩阵Gi;j的首行,那么可按照如下方式定义aXbc阶 块首行矩阵F:
[0020]
(2)
[0021] F是由生成矩阵G后c块列中所有循环矩阵的首行构成的,可视为由be个a维列 向量组成的。假设a不是素数,可被分解为a=ux(u<x),其中,u不等于1,x不等于a。 那么,块首行矩阵F的第u(P_l)+l~up(1彡P彡x)行构成了一个uXbc阶矩阵,称之 为子块首行矩阵,记作Fp。Fp可视为由be个u维列向量构成的。
[0022] 对于WPAN系统,生成矩阵G对应码字v= (s,p),G的前a块列对应的是信息向 量s,后c块列对应的是校验向量p。以b比特为一段,信息向量s被等分为a段,即s= (Sps2,…,sa);校验向量p被等分为c段,即p= (Pi,p2,…,p。)。对于第i(1 <i<a)段 信息向量8^有Si=(su,Si,2,…,Si,b)。WPAN标准采用了四种不同码率的QC-LDPC码,均 有t= 32和b= 21,所有a的最大公约数是u= 4。图1给出了不同码率n下的参数a、 c和x〇
[0023] 由式(1)、⑵和循环矩阵的特点,图2给出了适用于WPAN系统中四种码率 QC-LDPC码的并行编码器,它主要由寄存器、求和阵列、选择扩展器和b位二输入异或门四 种功能t吴块组成。
[0024] 寄存器Ri~Ra用于缓存信息向量s = (Sl,s2,…,sa),寄存器Ra+1~Rt用于计算 和存储校验向量P = (Pu P2,…,P。)。
[0025] 求和阵列对并行输入的u位信息比特Su,s2,k,…,su,k(l彡k彡bx)进行求和,具 体而言,是从中选取个不同的元素进行模2加。由排列组合知识可知,穷举 可得到2 U-1 = 15个不同的求和表达式。15个求和表达式可用15个多输入异或门加以实 现。多输入异或门的输入端数目范围是1~4,当只有一个输入端时,单输入异或门实际上 是直连线。综上,求和阵列有u= 4个输入端和15个输出端,其内部由15个多输入异或门 组成,如图3所示。图4给出了各种多输入异或门的数量,它们总共相当于17个二输入异 或门。
[0026] 选择扩展器吣(1 < 1 <c)受控于码率n和子块首行矩阵Fp的下标 P(1 彡P彡x)。P与向量(Su,s2,k,…,su,k) (1 彡k彡bx)的关系为p= [(k_l)/b]+l(符 号[(k_l)/b]表示不大于(k_l)/b的最大整数)。选择扩展器吣在求和阵列运算结果的基础 上,根据码率n完成向量(s^k,s2,k,…,su,k) (1 <k<bx)与子块首行矩阵Fp (1 <p<x) 的并行乘法。选择扩展器1从求和阵列的输出端中选择一部分并扩展成b个,以构成向量 (su,s2,k,…,Su,k)与子块首行矩阵匕乘积的第1段b比特,选择方式完全取决于码率为q 的子块首行矩阵Fp的be个列向量。