EDA/PLD中的一种基于FPGA的Viterbi译码器优化算法
文件大小: 166k
源码售价: 10 个金币 积分规则     积分充值
资源说明:1 引 言   由于卷积码优良的性能,被广泛应用于深空通信、卫星通信和2G、3G移动通信中。卷积码有三种译码方法:门限译码、概率译码和Viterbi算法,其中Viterbi算法是一种基于网格图的最大似然译码算法,是卷积码的最佳译码方式,具有效率高、速度快等优点。从工程应用角度看,对Viterbi译码器的性能*价指标主要有译码速度、处理时延和资源占用等。本文通过对Viterbi译码算法及卷积码编码网格图特点的分析,提出一种在FPGA设计中,采用全并行结构、判决信息比特与路径信息向量同步存储以及路径度量最小量化的译码器优化实现方案。测试和试验结果表明,该方案与传统的译码算法相比,具有更高的速度、 Viterbi译码器是一种基于最大似然原则的卷积码解码算法,广泛应用于深空通信、卫星通信和移动通信系统中。它利用卷积码的网格图特性,通过计算不同路径的“距离”(路径度量)来找到最可能的原始信息序列。在本文中,作者针对Viterbi译码器的性能优化,特别是针对FPGA(Field-Programmable Gate Array)平台的设计,提出了三种关键策略。 介绍了一种判决信息比特与路径信息向量同步存储的算法。由于卷积码的输入支路具有确定性特征,即偶数位置输入为'1',奇数位置输入为'0',这使得译码器可以直接获取比特信息。通过将输入比特信息作为状态向量的最高位,利用7位比特向量同时表示状态和输入,简化了回溯过程,减少了译码复杂性。 文章提出了全并行结构设计。全并行结构允许所有状态的路径度量计算和路径存储同时进行,显著提高了译码速度。在FPGA中,这种设计能充分利用大量的逻辑单元和分布式存储资源,以实现高效并行计算。 路径度量的最小量化算法旨在减少存储资源的消耗。通过减去当前状态度量值与上一时刻最小路径度量值,只保留两者之差,可以降低度量值的量化宽度,例如对于(2,1,6)卷积码,路径度量的量化宽度只需4位。 在FPGA实现中,作者选择了Altera公司的QuartusⅡ作为开发工具,并使用EPlS25 FPGA进行验证。译码器的整体设计包括时钟单元、主控单元、全并行的Accumulate and Compare State (ACS)单元、回溯单元和译码输出单元,这些构成了一个完整的Viterbi译码器系统。 通过上述优化,实验结果显示,这个方案相比于传统Viterbi译码算法,具有更高的速度、更低的时延以及更简洁的硬件结构,这对于资源有限且对实时性要求高的通信系统来说,具有显著的优势。这种基于FPGA的优化Viterbi译码器设计方案,不仅提高了系统性能,也体现了EDA/PLD技术在现代通信中的重要作用。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。