搜档网
当前位置:搜档网 › 基于FPGA的卷积码Viterbi译码器性能研究

基于FPGA的卷积码Viterbi译码器性能研究

基于FPGA的卷积码Viterbi译码器性能研究

作者:陈新永杨瑞娟肖玉芬曾浩

来源:《现代电子技术》2008年第07期

摘要:基于FPGA的卷积码Viterbi译码器,其性能与译码算法参数设置密切相关。在采用VHDL语言设计实现译码器的基础上,通过仿真,分析了Viterbi译码器参数的设置情况,就幸存路径长度、编码存储度等参数对FPGA译码器性能的影响进行了讨论,并给出了这些参数的最佳取值。对卷积码编译码参数设计具有较好的指导性和实用性。

关键词:卷积码;Viterbi译码;VHDL;幸存路径

中图分类号:TN919.3文献标识码:A

文章编号:1004-373X(2008)07-097-

(1.Air Force Ra

https://www.sodocs.net/doc/2b6877960.html,munication and Information Engineering College,Chongqing University of Posts and

Abstract:The performances of Viterbi decoder for convolutional code have a close connect with the parameters setting of decoding algorithm.On the basis of implementing the decoder by using the hardware-description-language of VHDL,this paper analyses the matters of parameters setting for the Viterbi decoder.It discusses the transmission performances through altering the values for the parameters of surviving path length and coder storage length,and finally it gives the areas of optimal value for them.It supplies guidance and appliance for the parameters design of convolutional co

Keywords:convolutional code;Viterbi decoding;VHDL;surviving path

卷积码是一种前向纠错控制(Forward Error Control,FEC)编码方式,其特点是接收端根据接收码字自动检测和纠正信道传输引入的错误。由于FEC方式不需要反馈信道,译码实时性比较好,控制电路比较简单,因此,卷积码在卫星通信、数字话音通信等实时性要求较高的场合有着重要的应用。卷积码的编译码器的实现可以利用EDA技术,采用硬件描述语言VerilogHDL或VHDL等进行FPGA编程设计,这种实现方式在集成度、可靠性和灵活性方面可达到比较满意的效果。在设计卷积码FPGA译码器时,需要考虑所用芯片规格、成本、系统

计算量以及时延等因素。目前现有文献多对卷积码的实现进行研究,而对译码算法中参数设置情况研究较少[1,2]。本文采用VHDL语言,在设计实现卷积码FPGA编译码器的基础上,通过仿真对Viterbi译码算法中的参数进行了讨论。

1 Viterbi译码算法

Viterbi译码算法由维特比在1967年提出。Viterbi译码算法实质上是最大似然译码,他巧妙利用编码网格图的特殊结构,从而降低计算的复杂性。例如图1即为卷积码的网格图。这里(n,k,m)分别指码组宽度n,信息元个数k和编码存储度m,称为编码约束度。

图1 (2,1,2)卷积码网格图

该算法思想是:计算网格图上在时刻L到达各个状态的路径和接收序列之间的相似度;在形成的多条路径中,去除不可能成为最大似然选择对象的网格图上的路径,即,如果有两条路径到达同一状态,则具有最佳量度的路径被选中,称为幸存路径。对所有状态都将进行这样的路径选择操作,译码器不断在网格图上深入,通过去除可能性最小的路径实现判决。

Viterbi译码算法步骤如下[3]:

用数组p(i,j),c(i,j)描述网格图结构。p(i,j)表示到达状态i的第j个前状态,其对应的码字是(i,j)。

(2) 计算第L时刻接收码RL相对于各码字的相似度,亦称作分支量度

BM(BranchMetric)。

BM L(i,j)=W[c(i,j)⊕RL]

(3) 计算第L时刻到达状态i的最大似然路径之相似度,也即路径量度PM(Path Metric)。

PM L(i)=min{PM L-

译码输出并更新第L时刻、状态i对应的幸存路径。具体步骤是:

相关主题