论文部分内容阅读
LDPC码是由Gallager于1962年提出的一种基于稀疏校验矩阵的线性分组码,具有逼近香农限的良好译码性能。但通常采用“随机法”构造的LDPC码在硬件实现上,需要耗费较大的硬件资源。研究具有准循环结构的QC-LDPC码,将就如何减少资源占用做出有效的探索。在FPGA实现平台上,确定QC-LDPC译码器的合理的实现方案,以尽可能的减少资源的占用,是本论文的中心内容所在。在简单介绍了QC-LDPC码定义、构造方法、译码性能等相关理论之后,论文列举了BP译码算法及在此基础上发展而来的几种BP-based译码算法。从硬件实现角度对几种算法进行了讨论,提出了性能损失较小、实现复杂度却能较大降低的经过修正的UMP BP-based译码算法。论文分析比较了完全串行、完全并行、部分并行三种译码器硬件实现架构。最终,选择了部分并行架构,达到了译码器数据吞吐率和资源占用二者的平衡。同时,根据QC-LDPC码校验矩阵由多个准循环方阵组成的特点,确定了部分并行架构中并行度的大小。在功能模块单元的实现过程中,论文还创造性的提出了一种基于“指针”的搜索最小次小值的方法。与经典方法逐级比较的“流水线”结构不同,新方法引入了软件编程中“指针”的概念,将软件思想融入了硬件实现中。对于采用BP-based译码算法的LDPC译码器硬件实现,特别是码长较长及校验矩阵行重较大的情况下,基于“指针”方法有着重大的意义。设计完成的QC-LDPC译码器,数据吞吐率达到了9.375Mbps,硬件资源耗费在关键指标slice和Block RAM上,分别为2152个和34个。与相近码长、相似码率、性能相当的随机LDPC译码器相比,数据吞吐率提高了44.2%,slice和Block RAM却分别降低了27.5%和37%。以QC-LDPC码为代表的一系列具有代数结构的LDPC码,必将获得越来越多的关注。