一种高速viterbi译码器及译码算法的FPGA实现方法

文档序号:7541808阅读:205来源:国知局
一种高速viterbi译码器及译码算法的FPGA实现方法
【专利摘要】本发明公开了一种高速viterbi译码器及译码算法的FPGA实现方法。所述译码器包括输入转换及分支量度计算电路;相加、比较、选择电路;状态量度存储器;幸存路径存储和回溯译码模块;顶层调用模块。同时,本发明采用VHDL代码实现,可以在接近理论值纠错性能的基础上实现高达100Mbps的译码速率吞吐率。
【专利说明】—种高速viterbi译码器及译码算法的FPGA实现方法

【技术领域】
[0001]本发明涉及通信领域Viterbi译码器及译码算法实现方法,尤其涉及一种高速viterbi译码器及译码算法的FPGA实现方法。

【背景技术】
[0002]在数字通信中,如何降低数据传输的误码率,提高通信质量是一个很关键的问题。卫星通信系统作为长距离无线通信系统,受衰落、噪声和干扰等的影响,传输信号在传输过程中将产生严重的畸变,该畸变使传输信号出现随机和突发错误(简称误码)。为了减小误码,这就要求信号应具有尽可能大的能量,但是,由于卫星体积和载重等的限制,不可能给信号提供太大的能量,而且信道作为客观条件无法逃避;这样,就要求采用具有很强纠错能力的差错控制方法以保证误码率在允许的范围之内。为实现强大的纠错能力,除了构造所谓“好码”之外还要求译码时采用最大似然译码算法。一般认为卫星通信信道是功率受限,对于卫星通信采用编码来改善通信效率是特别有吸引力的。针对FPGA设计的特点,本设计在不改变纠错性能的前提下提出了一种高速viterbi译码器及译码方法。如减少连接线、流水线回溯法等。目的是减少存储器的容量,降低功耗,提高速度。
[0003]因此,在实际Viterbi译码器实现中,需要综合考虑容量,功耗的前提下,提高译码速率。
[0004]


【发明内容】

[0005]本发明的目的在于克服现有技术中所存在的上述不足,提供一种高速viterbi译码器及译码算法的FPGA实现方法。
[0006]为了实现上述发明目的,本发明提供了以下技术方案:
一种高速viterbi译码器,所述译码器包括输入转换及分支量度计算电路;相加、t匕较、选择电路;状态量度存储器;幸存路径存储和回溯译码模块;顶层调用模块,其中:输入转换及分支量度计算电路包括逻辑电路和分支度量单元,
分支度量单元用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给相加、比较、选择电路;
分支量度单元接收I和Q两路数据,产生路径量度需要的分支量度。
[0007]相加、比较、选择电路,用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给状态量度存储器,将幸存路径输出给幸存路径存储和回溯译码模块;
状态量存储器,用于存储相加、比较、选择单元输出的更新的路径度量值;
幸存路径存储和回溯译码模块,用于通过对相加、比较、选择单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元; 输出单元,用于完成译码器的缓冲输出;
顶层调用单元,用于控制译码器中分支度量单元,相加、比较、选择电路,状态量度存储器、幸存路径存储和回溯译码模块和输出单元的协调工作与同步。
一种高速viterbi译码算法的FPGA实现方法,包括以下步骤:
A、输入转换及分支量度计算电路中的分支度量单元计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给相加、比较、选择电路;
B、相加、比较、选择电路将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给状态量度存储器,将幸存路径输出给幸存路径存储和回溯译码模块;
C、状态量存储器存储相加、比较、选择单元输出的更新的路径度量值;
D、幸存路径存储和回溯译码模块通过对相加、比较、选择单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元;
E、顶层调用单元控制译码器中分支度量单元,相加、比较、选择电路,状态量度存储器、幸存路径存储和回溯译码模块和输出单元的协调工作与同步。
[0008]所述方法的代码为VHDL代码。
[0009]对于本方案,采用电平比特数可变的软判决,分支量度用欧氏距离计算。对于(2,
1,7)卷积码,有64个状态,也就意味着,在每一步,要计算64个路径量度。基于速度要求,采用全并行算法,即在每一步同时计算64个路径量度,需要64个并行处理的选择。
[0010]与现有技术相比,本发明的有益效果:
本发明公布的一种高速Viterbi译码器及译码算法的FPGA实现方法,由于采用可变软判决比特的VHDL代码设计,可以在接近理论值纠错性能的基础上实现高达10Mbps的译码速率吞吐率。
[0011]【专利附图】

【附图说明】:
图1为本发明高速viterbi译码器的结构框图;
图2为本发明高速viterbi译码方法的流程图。

【具体实施方式】
[0012]下面结合试验例及【具体实施方式】对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本
【发明内容】
所实现的技术均属于本发明的范围。
[0013]如图1所示,一种高速viterbi译码器,所述译码器包括输入转换及分支量度计算电路;相加、比较、选择电路;状态量度存储器;幸存路径存储和回溯译码模块;顶层调用模块,其中:
输入转换及分支量度计算电路包括逻辑电路和分支度量单元,
分支度量单元用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给相加、比较、选择电路;
分支量度单元接收I和Q两路数据,产生路径量度需要的分支量度。
[0014]相加、比较、选择电路,用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给状态量度存储器,将幸存路径输出给幸存路径存储和回溯译码模块;
状态量存储器,用于存储相加、比较、选择单元输出的更新的路径度量值;
幸存路径存储和回溯译码模块,用于通过对相加、比较、选择单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元;
输出单元,用于完成译码器的缓冲输出;
顶层调用单元,用于控制译码器中分支度量单元,相加、比较、选择电路,状态量度存储器、幸存路径存储和回溯译码模块和输出单元的协调工作与同步。
如图2所示,一种高速viterbi译码算法的FPGA实现方法,包括以下步骤:
A、输入转换及分支量度计算电路中的分支度量单元计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给相加、比较、选择电路;
B、相加、比较、选择电路将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给状态量度存储器,将幸存路径输出给幸存路径存储和回溯译码模块;
C、状态量存储器存储相加、比较、选择单元输出的更新的路径度量值;
D、幸存路径存储和回溯译码模块通过对相加、比较、选择单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元;
E、顶层调用单元控制译码器中分支度量单元,相加、比较、选择电路,状态量度存储器、幸存路径存储和回溯译码模块和输出单元的协调工作与同步。
[0015]所述方法的代码为VHDL代码。
[0016]对于本方案,采用电平比特数可变的软判决,分支量度用欧氏距离计算。对于(2,
1,7)卷积码,有64个状态,也就意味着,在每一步,要计算64个路径量度。基于速度要求,采用全并行算法,即在每一步同时计算64个路径量度,需要64个并行处理的选择。
【权利要求】
1.一种高速Viterbi译码器,其特征在于,所述译码器包括输入转换及分支量度计算电路;相加、比较、选择电路;状态量度存储器;幸存路径存储和回溯译码模块;输出单元;顶层调用模块,其中: 输入转换及分支量度计算电路包括逻辑电路和分支度量单元, 分支度量单元用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给相加、比较、选择电路; 相加、比较、选择电路,用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给状态量度存储器,将幸存路径输出给幸存路径存储和回溯译码模块; 状态量存储器,用于存储相加、比较、选择单元输出的更新的路径度量值; 幸存路径存储和回溯译码模块,用于通过对相加、比较、选择单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元; 输出单元,用于完成译码器的缓冲输出; 顶层调用单元,用于控制译码器中输入转换及分支量度计算电路,相加、比较、选择电路,状态量度存储器、幸存路径存储和回溯译码模块和输出单元的协调工作与同步。
2.—种高速viterbi译码算法的FPGA实现方法,其特征在于,包括以下步骤: A、输入转换及分支量度计算电路中的分支度量单元计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给相加、比较、选择电路; B、相加、比较、选择电路将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给状态量度存储器,将幸存路径输出给幸存路径存储和回溯译码模块; C、状态量存储器存储相加、比较、选择单元输出的更新的路径度量值; D、幸存路径存储和回溯译码模块通过对相加、比较、选择单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元; E、顶层调用单元控制译码器中分支度量单元,相加、比较、选择电路,状态量度存储器、幸存路径存储和回溯译码模块和输出单元的协调工作与同步。
3.根据权利要求2所述的高速viterbi译码算法的FPGA实现方法,其特征在于,所述方法的代码为VHDL代码。
【文档编号】H03M13/23GK104184481SQ201310199026
【公开日】2014年12月3日 申请日期:2013年5月24日 优先权日:2013年5月24日
【发明者】吴伟林, 万明刚, 张代红, 陈宇, 何戎辽 申请人:成都林海电子有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1