Viterbi译码器研究目的意义及现状
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Viterbi译码器研究目的意义及现状Viterbi译码器研究目的意义及现状 1研究的目的和意义
由于卷积码的优良性能,被广泛的应用于深空通信,卫星通信和2G及3G移动通信中,卷积码有三种译码方法:门限译码,门限译码,概率译码和Viterbi 算法,其中Viterbi算法是一种基于网格图的最大似然译码算法,是卷积码的最佳译码方式,具有效率高、速度快等优点。Viterbi译码充分发挥了卷积码的特点,使译码错误概率达到最小,在码的约束度较小时,它具有译码算法效率高,速度快,译码器也简单的特点。
FPGA(Field,Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
同时在FPGA的基础上实现Viterbi译码器,迎合了当前FPGA迅猛发展的趋势。把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要目的,FPGA技术是一个实现手段在这个领域,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是FPGA技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高,路途也比较漫长不过现在整个行业正处在组建“首发团队”的状态,只要加入,前途光明产品设计是一种职业发展方向定位,不是简单的爱好就能
做到的~产品设计领域会造就大量的企业和企业家,是一个近期的发展热点和机遇。
2卷积码及其Viterbi算法简介
卷积码是1955年由Elias提出,它与分组码不同,分组码是把k个信息比特的序列编成n个比特的码组,每个码组的n-k个校验位仅与本码组k个信息位有关,而与其他码组无关。为了达到一定的纠错能力和编码效率,分组码的码组长度一般都比较大。编译码时必须把整个信息码组存储起来,由此产生的译码延时随n 的增加而增加。
卷积码的概率译码最早始于1961 年由Wozencraft提出的序列译码,1963 年由Fano进行了改进,提出了Fano算法。1967 年由Viterbi提出了另外一种概率译
码算法Viterbi译码算法,它是一种最大似然译码算法,在码的约束度较小时,它比序列译码算法效率更高、速度更快,译码器也较简单。因此,自Viterbi 译码算法提出以来,无论在理论上,还是在实践上都得到了极其迅速的发展。Viterbi算法并不等价于最大似然算法,但是,在一定的条件下,Viterbi算法就是最大似然译码和最佳译码算法。
3基于FPGA的Viterbi译码器国内外现状
1967年,A(J(Viterbi提出了Viterbi算法。之后,GD.Fomey证明Viterbi算法实际上是一种基于卷积码网格图的最大似然译码算法,对于用移位寄存器描时间离散Markov过程,Viterbi算法的网格图与FFT的计算流图是述的有限状态,
相同的。受此启发,部分并行、级联结构和混合结构等FFT上适用的结构开始用于Viterbi译码器。加比选(ACS)过程是Viterbi译码中的核心部分,其非线性反馈环制约着整个译码速度。1989年,GFettweis和H(Meyr提出了Systolic
Array结构,使用代数方法分析Viterbi译码过程,找到了ACS的一种线性映射,打破了ACS单元瓶颈。这种结构类似于矩阵运算,非常适合于VLSI实现。但当状态数较多时,电路规模将难以忍受。
功耗与规模是硬件设计中主要的制约因素,针对功耗和复杂性的考虑,九十年代大量的Viterbi算法的改进算法被提出来。少量状态过渡SST算法,使用了预编码的方法,使得在信道没有错误时,大部分状态为0,由此减少了状态转移,从而大大降低了功耗。J(B(Anderson和S(Mohan提出了Viterbi译码算法的M算法,通过减少进行加比选操作的状态数目而降低了译码器的硬件复杂度。T算法、路径值控制的判决存储算法(PCDS)、减少状态序列检测(RssD)算法等都不同程度上降低了硬件复杂度。BER性能和规模、功耗指标是相互矛盾的,一般情况下提高BER性能必然导致复杂度和功耗的增加,复杂度和功耗的降低必然导致系统性能的降低,改进的算法实质上是对上述指标的权衡考虑。
国内对于Viterbi算法的研究大多是对Viterbi译码器实现结构的研究,通过改变核心功能模块的结构提高速度或是减小功耗,主要用FPGA实现。在译码器组成模块中,对幸存路径管理SM和ACS功能模块的研究最多。国内对硬件实现结构的研究大多数是在国外提出的方法的基础上进行的,对于算法本身的研究并不多。