一种可变码长QC_LDPC译码结构设计与实现
2024-05-07
来源:步旅网
摹 科l技l论I坛 科 ; 一种可变码长Qc—LDPC译码结构设计与 实现 李加洪赵旦峰薛瑞陈广 (哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨150001) 摘要:为了克服传统E1)PC译码器的适应能力差及扩展能力差的缺点,针对QC_LD ̄码校验矩阵的结构特性,提出了一种适应于不同LDPC 码码长的译码器。对传统译码器中的变量节点运算单元、校验节点运算单元以及迭代存储器单元进行了改进,并采用XILINX公司的FPGA完成了 硬件实现。结果表明,所提出的复用结构保证了单码长情况下的译码性能,其所占用的硬件资源仅略多于最大码长LDPC码的译码器。 关键词:准循环低密度奇偶校验码;变码长;译码器 低密度奇偶校验(LDPC,low ̄lensity p 一 —化因子 相乘和符号部分求异或,最后将数据 ISES.2i进行综合、映射和布局布线,综合报告如 ty-check)码是定义在稀疏奇偶校验矩阵上的线 合并,完成校验节点更新。 表1/Ylre,。 性分组码,最早于1962年由Gallager博士提出 2.2变量节点信息处理单元没计 从表1中可以看出三种硬件实现LDPC译码 近年来,LDPC码被证明性能接近于香农限,而 变量节点信息处理单元(VNU)负责译码器 器除了存储资源,其余资源相差不大。由于存储 且译码可以采用复杂度较低的迭代译码算法,所 变量节点更新,即对应于校验矩阵中列的数据更 深度不同,1024码长译码器存储资源大约是 以U)PC 新。与CNU一样,校验矩阵中不同的列重对应 2048码长译码器的一半,而多码长所占的FPGA 由于不同的环境因 于不同的VNU单元。本设计采用的校验矩阵列 资源与码长2048的相当。 要求不一样,因此设计—个完善的通信系统,必 重为1、2、3和4,因此整个译码器中只有四种 结语 须具备在不同的环境下可靠性和实时性的通信。 VNU单元。根据校验矩阵的结构特性,将校验 这里提出—种多码长译码器的实现方案,并 传统LDPC译码器的设计,只能适应单一的信道 矩阵的列分成8块,每一块对应于—个VNU单 实现码率为l ,码长为1024、2048和码长在 环境以及扩展能力差,为了寻找一种适应力强、 元,1到5块的列重都为4,采用相同的VNU单 1024和2048上可调的译码器。实现结果表明, 扩展容易的LDPC译码器已经成为人们的趋势。 元共5个,其余3个列重对应3个VNU单元。 现采用的多码长复用方案的硬件消耗资源与最大 因此,设计了一种可变码长的LDPC译码满足了 图2为VNU单元的结构图。VNU是将初始化信 码长译码器消耗资源相当。 不同环境下可靠性和实时性的要求。 息和变量节点信息求和,然后将所得到的和减去 参考文献 1 LDPC码的校验矩阵 相应变量节点的信息,完成变量节点更新。如果 【1】Gallager R G&ow density parity check codes Qc—LDPC码 是一种特殊结构化的LDPC 直接对和进行判决,得到译码结果。 『JI.IRE Trans On Information Theory,1962 码,其校验矩阵是由一系列大小一致的循环子矩 23译码器的整体结构设计 (1). 阵构成。结构化校验矩阵具有确定的结构,硬件 多码长译码器结构如图3所 复杂度简单。Qc—LDPC码的校验矩阵如下所示: 示。译码器的设计采用部分并行 。 』一1 结构,主要包括控制器、初始化 4。 4 4.L 1 存储、译码中间变量存储、CNU 和VNU。中间变量存储R ,对应 于检验矩阵H的循环子矩阵,深 度为P。译码器通过控制器来控 制CNU和VNU并行处理和译码 _1_0 _lI】‘・’ 1 迭代次数,同时控制R…深度P 图1校验节点信息 其中A…是由单位矩阵、循环矩阵或全零 值来实现码长的变换。 处理单元结构图 图2变量节点信息处理单元结构图 阵,其大小都是pxp,整个Qc—LDPC码的校验 【2J Zongwang Li,Lei Chen,Lingqi Zeng,Shu 矩阵H由MxL个A…矩阵构成。 Lin and Wai H.Fong.Efifcient Encoding of 2多码长的译码器设计 Quasi--Cyclic Low-Density Parity-Check Codes. 在不改变校验矩阵H的行重和列重情况下 IEEE Trans.Conmmn,Janu2006,54(1). (即相同的CNU和VNU),只需改变P值就可以 f 31 Jinghu Chen and Marc P C Fossorier.Near 实现变码长的LDPC码译码器。由于Qc—LDPC Optimum Universa1 Belief Propagation Based 码的校验矩阵中,每个循环子矩阵的每行每列只 Decoding of Low--density Parity Check Codes. 有一个非零元素,因此译码器可以在每个子矩阵 IEEE Transactions on Communications, 里进行串行数据处理,而在子矩阵之间进行并行 2002.5O(33):406-_414. 数据处理,提高了译码器的处理速度。下面介绍 图3译码器的整体结构图 [4J Tong.Zhang.Efficient VLSI Architectures for CNU和VNU的设计。 表1各码长的资源利用率 Erro卜correcting Coding.Ph.n dissertation, Uni— 2.1校验节点信息处理单元 十 黜I50 涨蚴羁II艄 versity of Minnesota July.2002"5 1—77. 校验节点信息处理单元(CNU)负责译码器 }№ 5lic苣I搬6l嗣㈣67lIc蜉ji》7l9l 2j;》 校验节点数据更新,即对应于校验矩阵中行数据 5缸B 脚珊2 7lj0。蹦≈ 更新。每个CNU单元对应于校验矩阵的行重, } 喇lLI】鱼27392 IU琊2{;)麟0(1j{;)脚卵{;》 不同的行重有不同的CNU单元。本设计采用四 !{_ 鼠%玎6 3l。7{;)10。91;)4a 目 种行重5、6、7和8,因此整个译码器有4个 却-I ●单 如曲! CNU单元模块,即将整个校验矩阵行分成4块, 3译码器实现结果 每一块复用一个CNU单元。图1为CNU单元的 现采用XILINX公司的V2PRO系列的 结构图。CNU是将校验节点取出的数据信息先进 XC2VP30芯片实现了1024码长、2048码长和 行数据分离,然后绝对值部分取出最小值在与归 多码长,码率为1 的LDPC译码器。使用 责任编辑:张雨 一19—