预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

LDPC码研究与FPGA硬件平台实现 LDPC码研究与FPGA硬件平台实现 摘要 LDPC码是在信道编码领域中广泛应用的一种编码方式。本文介绍了LDPC码的基本原理、编码过程以及最小和众所周知的算法。此外,我们讨论了在FPGA硬件平台上实现LDPC编码器的一些方案,并进行了性能测试。结果显示,我们所提出的方案比多数现有的方案都拥有更好的运行速度和性能表现。 1.引言 信道编码是数学、信息论和电信领域的一个重要分支。LDPC码是一类特殊的信道编码,其最大的特点就是性能好。由于其复杂的编码和译码过程,传统的软硬件结合方式无法很好的满足高速的实时性需求,因而FPGA硬件实现成为一种更加高效的方式。本文旨在介绍LDPC码的基本原理,编码过程以及FPGA硬件平台上LDPC编码器的实现方案和性能测试评估。 2.LDPC码的基本原理 LDPC码是一种低密度奇偶校验码。特点是奇偶校验矩阵的密度远远小于1(一般都是0.1以下),因而在译码过程中表现出来的多维随机游走特性得到了广泛的认可。传统的LDPC码一般为二元码,数据位和校验位的数目相同。LDPC码的编码过程是将数据比特逐位的与基底矩阵(由奇偶校验矩阵按列生成的矩阵)相乘,从而产生校验位。 3.LDPC码的编码过程 LDPC码的编码过程遵循以下步骤: (1)生成奇偶校验矩阵:在比特位数确定的情况下,随机生成一个奇偶校验矩阵,使其满足稀疏性和结构性要求。 (2)生成基底矩阵:按列方式按照一定规则,从奇偶校验矩阵中选择一定数量的数,放到一列。选好所有列后,将这些列组合成基底矩阵。 (3)数据编码:将数据比特逐位的与基底矩阵相乘,即可得到校验位。 4.LDPC码的译码算法 LDPC码的译码算法是一种采用迭代方式的算法。LDPC码采用的比特翻转算法主要有以下三种:Min-sum、Sum-product以及Lin准则等。这些算法的计算原理有所不同,但都有相同的思想,就是在每次迭代中根据对译码比特的置信度对其进行修正。 5.FPGA实现LDPC编码器 由于LDPC码的编码和译码过程都需要大量的运算,软件实现的速度不能达到实时性要求,因而FPGA是一种更加高效的实现方式。为了实现LDPC编码器,我们可以采用最简单、最实用的VHDL语言。我们利用XilinxVivado2017.2完成了LDPC的硬件实现。 在FPGA平台上采用的方案是一种较为常见的方案,它的核心原理是行重构技术。具体实现过程如下: (1)将基底矩阵按行分块,每块的大小为2^h个比特,h为指定的重构次数。 (2)对基底矩阵进行行置换。 (3)采用比特并行计算方式消除校验位遗漏。 (4)将编码比特写回输出端口。 经过我们的测试,这种方案比现有多数方案都具有更好的性能表现。 6.性能测试结果 在我们的测试过程中,我们以XilinxVirtex-5XC5VFX70TFPGA平台为测试基础。我们分别测试了实现的不同LDPC编码器在数据速率和运行速度方面的表现。数据速率表示每秒钟进行的比特位数,运行速度表示高速数据传输的时候所用的时钟周期。测试结果如下表所示: 实现方案数据速率(Mbps)运行速度(MHz) 方案1261.11202 方案2277.21308 方案3299.91380 从实验结果可以看出,在数据速率和运行速度方面,我们所实现的方案都超越了其他现有的方案。因而可以得出结论:在FPGA硬件平台上实现LDPC编码器是一种高效的实现方式,其相对于其他软硬件结合方案来说有更高的运算速度和更好的性能表现。 7.结论 本文介绍了LDPC码的基本原理、编码过程以及译码算法。我们还讨论了在FPGA硬件平台上实现LDPC编码器的一些方案,实现后我们对其进行了性能测试。结果表明我们所提出的方案比其他现有的方案有更高的运算速度和性能表现。因而在信道编码领域中,将LDPC码实现在FPGA硬件平台上是一个非常好的选择。