本文基于FPGA技术设计了一种(2,1,8)卷积码的硬判决维特比译码器。该译码器以FPGA片内的寄存器作为路径度量和幸存路径的存储单元,经分析得出了路径度量单元的最小位宽,有效降低了对芯片资源的消耗。采用截短译码算法,降低了硬件的复杂度。采取了一种巧妙的方法实现了译码器的启动过程单元。
卷积码译码器是一种广泛应用于通信系统中的差错控制编码技术,特别是在2G和3G通信系统中,如CDMA/IS-95和CDMA20001x等,(2,1,8)卷积码因其特性而得到广泛应用。这种编码通过连续的比特流产生冗余信息,可以有效地纠正传输过程中可能出现的错误。
本文提出了一种基于FPGA(Field-Programmable Gate Array)的(2,1,8)卷积码硬判决维特比译码器设计。维特比译码器是卷积码解码的一种高效算法,通过计算不同路径的错误概率来选择最可能的正确码字序列。在这个设计中,路径度量和幸存路径的存储单元采用了FPGA内部的寄存器,降低了资源消耗。为了进一步优化硬件复杂度,采用了截短译码算法,减少了译码过程中需要处理的状态数量。
启动单元是译码器的关键部分,处理最初的8个输入码字。对于(2,1,8)卷积码,译码器有256个状态节点,而在处理前8个码字时,只需要对2的i次幂个状态节点进行操作。启动单元的设计中,利用8bit位宽的寄存器sd0来确定需要处理的状态节点,并计算路径度量,预计算并存储了(2,1,8)卷积码在输入为0时的所有256个状态的编码结果,以加速路径度量的计算。
中间处理单元主要负责处理后续的输入码字,其核心是加比选操作模块。该模块处理两条到达每个状态的路径,比较路径度量并选取最优路径。为了解决路径度量的溢出问题,设计中使用了5比特位宽的寄存器,并通过动态调整所有状态节点的路径度量值来确保其范围在有效范围内。
整个系统分为启动单元、中间处理单元和译码输出单元三个模块,采用寄存器交换法,避免了译码时的回溯,提高了译码速度。这种设计具有高工作频率和小的输出时延,同时减少了FPGA的资源占用。
基于FPGA的(2,1,8)卷积码译码器设计通过优化路径度量存储、采用截短译码和巧妙的启动单元设计,实现了高效、低复杂度的解码过程,适用于对资源需求敏感的通信系统。这一设计不仅在理论上有重要的价值,也为实际应用提供了有效的解决方案。