论文部分内容阅读
在今天,在编码技术领域里最流行的话题之一就是稀疏奇偶校验编码(LDPC)。LDPC编码技术并不只是在理论方面有着独特的吸引人的见解,还在实际应用方面有着出色的表现。循环LDPC编码技术Quasi-Cyclic (QC) LDPC是LDPC编码技术中的一个分支并且起着尤其重要的作用。这些编码在编译过程中拥有着比其他LDPC编码更优秀的表现[1]。稀疏奇偶校验编码在1962年被Gallager提出,然而因为受当时的计算能力的限制,他们一直被忽视,以至于当时的人们认为由此编码产生的迭代的解码算法看起来复杂到不切实际。在Turbo编码发明之前,研究人员发现迭代编码方案的力量是不能被疏忽的。LDPC编码可以提供非常吸引人的表现和折中复杂性的特性,在1990年被重新研究,并展示出一系列的接近香农限的编码。在重新研究,设计,构建,编码,解码LDPC编码之前,存储系统及数字通信系统已成为非常流行的研究领域。研究人员提出了一系列的构建算法[2]。本篇论文主要研究意义在于在FPGA里更有效的运行LDPC编码。意思是我们已经有了信息比特数,LDPC需要做的就是处理这些信息比特数并输出产生的码字。这就需要一个对于相关领域的学习并且来验证由FPGA产生的码字是否正确。这个结果可以被一系列的方程式来验证(文中会提出)。如果所有的信息比特数和产生的与它们相关的码字满足方程式,那么我们确定这一编码过程的正确性。从而达到了提高效率和节省成本的目的。全文共分为五章,每章的研究内容具体为:第一章:引言。介绍了本论文的选题依据及研究意义,并对LDPC编码的国内外动态做了阐述,最后概述了论文的研究内容及预期成果。第二章:QC-LDPC编码的介绍。在这章里,介绍了QC-LDPC编码的理论。我们展示了找到QC-LDPC编码的生成矩阵的方法,当然,与其相应的奇偶校验矩阵作为循环行列式被给出。解读了奇偶校验矩阵和生成矩阵[3]的NASA标准。第三章:QC-LDPC编码算法的实现。我们讨论了四种QC-LDPC编码的算法,并且分析了它们各自的硬件需求及编码响应时间。这些运算需要一个复杂线性的与码字的奇偶校验比特的数量成比例的串行编码,和码字长度成比例的高速并行编码。给出了不同的编码电路的速度和复杂度。每一个编码电路可以中和速度和复杂度来运行。第四章:QC-LDPC编码硬件的介绍。在这一章里,讨论了硬件的选择和展示了硬件的结构。为做进一步的解释,介绍了ML401评估板和它被本论文用到的主要功能。第五章:QC-LDPC编码的运行。在这一章里,我们详细的讨论了编码器的运行。列出了用到的软件和获取一些重要数据的方法。逐步地介绍了编码器运行的步骤。然后给出了验证的方法和计算结果。给出了10组随机信息序列用来测试编码器的运行。与它们相对应的码字也分析正确。这就是说,LDPC编码器的运行正常并且可以正确的得出数据,达到了我们的要求。本论文目标在于在FPGA里更有效的运行LDPC编码。一些QC-LDPC编码算法会被提出,并且它们的编码速度及相关损耗将得到分析和比较。一个基于SRAA(Shift-Register-Adder-Accumulator)编码器会按照美国国家航空和宇宙航行局(NASA)提供的编码标准来在计算机上进行仿真,并且在由Xilinx公司提供的FPGAVirtex4上运行。为了组成这个编码器,需要28个511比特循环移位寄存器,14308双输入“与”门和14306双输入的“异或”门(或者两个7154输入“异或”门)。编码的时间响应是511时钟。因为这个FPGA的时钟频率是100MHZ,所以编码时间是511×10ns=5.11us。为了验证运行的正确性,被生成的码字被传输到计算机里分析。RS-232口被用来传输这些生成的码字。10套随机信息序列被用来测试编码器的运行。它们的生成码字被捕获并拿来验证结果是否正确。LDPC编码器会被正确运行,达到项目目标。