论文部分内容阅读
Viterbi译码算法是一种最大似然译码算法,是一种最佳的概率译码方法。从理论上看,Viterbi译码算法基本解决了卷积码的译码问题,它相比于卷积码其它的译码算法运算量小而且延时固定,适合于VLSI实现。Viterbi译码器的传统实现方法在度量存储和路径存储等方面都存在硬件资源开销大的问题,如何在满足译码速度的前提下尽可能的减小硬件开销具有现实的研究意义。本课题以FPGA为硬件平台,对Viterbi译码的算法进行研究,结合当前国内外的最新研究成果,探讨Viterbi译码器结构的方法,在确保译码器性能指标的前提下,降低算法实现对硬件资源的要求,从而达到节省硬件资源,降低功耗的目的。本文首先介绍了卷积编码和Viterbi译码的基本原理。分析了Viterbi译码器各个主要模块的一些经典算法,对这些算法的应用特点进行了比较。然后以FPGA为硬件平台,用Verilog HDL硬件描述语言在Quartus II软件中完成译码器的设计,在具体实现过程中对译码器的度量存储、路径存储等算法进行优化和改进,在满足译码速度的同时降低硬件资源的消耗。在度量存储电路的设计中,对现有的同址写回算法进行了改进。在同址写回中使用了状态组,将多个状态合并成一个状态组进行存取,从而减少了存储器的数量和存储的读取次数,简化了路径度量存取的控制电路。设计实现了基于单指针的路径存储电路,用一个存储器完成了路径的存储,节省了硬件资源。通过对度量的模归一化,解决了度量溢出的同时减小数据字宽。最后在Matlab软件中完成了译码算法的仿真,测试了译码算法的误码率。在Modelsim软件中完成了Viterbi译码器各个模块的功能仿真和验证,在Quartus II软件中完成了系统的时序仿真和验证,并对译码器的译码速度、硬件资源等指标做了分析比较。