logo资料库

IEEE 802.16e标准中LDPC编码的实现与仿真.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
IEEE 802.16e标准中标准中LDPC编码的实现与仿真 编码的实现与仿真 根据IEEE802.16e标准中LDPC编码的定义,提出了一种利用高速状态机来实现编码的快速算法。在Quartus II 下使用Verilog HDL实现了该算法并进行了时序仿真。仿真结果表明,设计具有良好的实时性,克服了以往设计 中预处理复杂、消耗逻辑资源多的缺点。最后利用MATLAB对该设计与DVB-S2缩短码的BER性能进行了比较, 分析了制约DVB-S2缩短码性能的因素。 LDPC(Low Density Parity Check Code)码是一种性能优异的线性分组码,其性能非常接近于Shannon极限且具有很强的纠 错能力。但自LDPC码被发明以来就存在一个阻碍其发展的巨大障碍。众所周知,一般的线性分组码是通过其生成矩阵实现编 码。而LDPC码的校验矩阵虽然是稀疏的,但生成矩阵却不是稀疏矩阵。由于LDPC码的编码长度都很长,因此复杂的生成矩 阵为编码带来了巨大困难。后来,人们利用其校验矩阵的特点实现了快速编码。即便如此,当码长很长时编码所需的存储空间 仍然非常庞大,学者们也在不断探索高性能的编码方法。 目前,LDPC码已开始逐渐应用于空间通信、光纤通信、数字视频和音频广播等领域。LDPC码的编码标准主要有:DVB- S(DigitalVideoBroadcasting-Sa-tellite)标准、DVB-S2[1]标准、CCSDS(Consultative Committee for Space Data Systems)标 准[2]、GB20600标准[3]、IEEE802.16e标准[4]等。 1 IEEE802.16e标准中的 标准中的LDPC码校验矩阵的构造方式 码校验矩阵的构造方式 IEEE802.16e标准中定义的LDPC码是一种准循环的非规则LDPC码,共有4种速率[4]。每一种速率都有相应的校验矩阵H。 Hb是H的b经过扩展后可得到H,Hb的尺寸为mb×nb,具体构成见式(1)。nb的长度固定为24,mb的长度根据码速率不同而异。 Hb1是一个mb×(nb-mb)矩阵。Hb2是一个mb×mb矩阵。q称为扩展系数,Hb可通过mb·q×nb·q的扩展方式获得校验矩阵H。 Hb1中的元素由-1或非负整数组成,若为-1,则校验矩阵H相应的位置是全0矩阵;若为非负整数,则校验矩阵H相应的位置 是单位矩阵E进行非负整数次右移所得的矩阵。Hb2的第一列中h(1)、h(r)、h(mb)为非负整数,且h(1)=h(mb)。r的取值范围为 2≤r≤mb-1,其具体值由IEEE802.16e标准指定。Hb2除第一列外,其余部分构成准双对角线结构,两条准对角线上的元素为 0,其他位置为-1。Hb2的元素构成见式(2)。 根据IEEE802.16e标准,基矩阵Hb的扩展系数q共有19种取值,分别对应19种码长,最小为24,最大为96,具体的扩展规 则见参考文献[4]。设基校验矩阵中处于位置(i,j)的元素为q(i,j)。以1/2速率的LDPC码为例,当q=96时,1/2速率的LDPC码 的基校验矩阵为式(3),q(i,j)的更新方法见式(4), 表示向下取整。
2 IEEE802.16e标准中标准中LDPC码的码的FPGA实现实现 2.1 LDPC码的快速编码算法 码的快速编码算法 将线性方程组式(5)中的各行都加在第一行,可推出: 2.2 快速编码算法的 快速编码算法的FPGA实现实现 以q=24、速率为1/2的LDPC码为例,其基校验矩阵根据式(3)、(4)计算可得到式(10),其中mb=nb-mb=kb=12。
根据式(6)可推得: 设输入序列s的长度为mb·q,每个时钟上升沿输入的位宽为q,即每次输入为si。可以定义kb个寄存器ZH,每个寄存器的位 数为q位。利用上述寄存器来存储输入序列与基矩阵每一列的乘积,这个乘积在每个时钟周期进行更新。在更新时需计算当前 表示基校验矩阵Hb1中位于(i,j)位置的元 值与乘积值的异或。在校验位计算中经常需要计算 素。由于该元素表示单位矩阵的移位,所以其与输入数据序列sj的乘积等效为输入数据序列的循环移位。当单位矩阵是右移 时,乘积等效为输入序列的循环右移;当单位矩阵是左移时,乘积等效为输入序列的循环左移。利用这个特性可以大大简化序 列与矩阵之间的乘法运算。图1表示编码的详细计算流程。在序列s12输入后,每个ZHi(i=1,2…12)寄存器中就会得到 的乘积, 将上述编码方法用HDL在Quartus II中实现,并分别在EP2C70F896C6、EP2S15484C3上实现综合和布线。逻辑资源占用 情况如表1所示。对于不同的器件,消耗的逻辑资源各异,同时布线后逻辑单元的延迟也不尽相同。使用Stratix II系列的器件 相比Cyclone II系列的器件的时钟频率提高了约50%。可以预见,如果提升输入和输出的位宽,逻辑单元间附加延迟会导致时 钟频率略有降低,但由于并行度的增加,将显著提升数据吞吐速率。
在EP2C70F896C6上的时序仿真如图2所示。在仿真开始前首先复位使系统进入初始状态。工作时钟为50 MHz,输入序列 s1=FF0000,s2=s3=…=s11=000000,s12=FFFFFF。输出的校验码序列为p1=F87C7B,p2=F0F8F7,…。在原码输出与校验 位输出之间有一个等待周期。与参考文献[5]相比,考虑到预处理的时间以及输入和输出均需要大长度高速串/并、并/串转换, 实际的系统性能会有一定程度下降。与参考文献[5]、[6]相比,本设计利用高速状态机实现,具有实时性强,不需要进行大长 度串/并、并/串转换的优点,而且也不需要对基矩阵进行预处理和分割,对输入/输出的制约小,具有较高的性能。 3 IEEE802.16e和和DVB-S2标准标准ldpc码的性能比较 码的性能比较 本设计实现了q=24下,1/2速率的IEEE802.16e标准的LDPC码的快速编码。根据图3左图所示,在q=24时其HT·H结果中只 有主对角线上的元素大于1,其他元素均小于等于1。根据参考文献[7],本校验矩阵中无4环,具有良好的译码性能。DVB-S2 标准的LDPC码分为长码和短码两种,长度分别为64 800 bit和16 200 bit。由于码长较长,LDPC码编解码器实现具有相当难 度,因此将本设计与DVB-S2标准的LDPC缩短码比较,缩短方法见参考文献[8]。由于长度24·q=576的IEEE802.16e标准 LDPC码没有适当的q1值可使DVB-S2缩短码的码长与之相等,取q1=15,速率为1/2,则DVB-S2缩短码的码长为n=600。在高 斯白噪声信道中进行性能仿真。仿真信道的调制方式为BPSK,采用BP译码算法,最大迭代次数为500次。对于200帧随机数 据,每帧长度分别为288 bit和300 bit,分别进行编码调制和接收译码。最后的仿真曲线如图4所示。可见在码长基本相同的条件 下,IEEE802.16e标准的LDPC码较DVB-S2缩短码具有优异的BER性能。图3右图是n=600的情况下DVB-S2缩短码的HT·H数 值分布。由图中可见有大量4环位于校验矩阵H中,这也是其BER曲线中存在误码平台的原因。
本文对IEEE802.16e标准的LDPC码的快速编码算法进行了研究,并在FPGA上实现了q=24、n=576、速率为1/2的LDPC码 快速编码器。时序仿真的结果显示该编码器具有良好的实时编码性能,资源占用少,性能优良。同时,该编码器具有良好的可 扩展性。当q不同时,只要增加并行输入输出的位宽和内部寄存器位数即可灵活改变码长。其误码率在相同的信噪比下优于长 度相近的DVB-S2标准的LDPC缩短码。因此,该编码器具有良好的实用价值。 参考文献 参考文献 [1] DVB-S2 standard draft ETSI EN 302 307 V1.1.1[S].2004. [2] CCSDS131.1-0-2.Low density parity check codes for use in near-earth and deep space applications[S].CCSDS,2007. [3] 中华人民共和国国家标准.数字电视地面广播标准(GB20600)[S].2006. [4] IEEE P802.16e/D8[S].IEEE Standard for Local and Metropo-litan Area Networks Part 16:Air Interface for Fixed and Mobile Broadband Wireless Access Systems,May 2005. [5] 李超,石磊.基于IEEE802.16e标准的LDPC编码器设计与实现[J].电子科技,2011,24(6):40-42. [6] 俞华梁,毛志刚,张函隽.IEEE802.16e标准的LDPC编码器设计及硬件实现[J].信息技术,2008(4):63-66. [7] XIAO Y,LEE M H.Low complexity MIMO-LDPC CDMA systems over multipath channels[J].IEICE Trans.,2006,89(5):1713-1717. [8] 肖扬.Turbo与LDPC编解码及其应用[M].北京:人民邮电出版社,2010.
分享到:
收藏