基于VHDL的Viterbi译码器的实现.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VHDL的Viterbi译码器的实现

基于VHDL的Viterbi译码器的实现 2005年4月 第22卷第2期 沈阳航空工业学院Apr.2005 JournalofShenyangInstituteofAeronauticalEnsineeringVo1.22No.2 文章编号:1007—1385(2oo5)02—0049—03 基于VHDL的Viterbi译码器的实现 陈朝晖孙延鹏 (沈阳航空工业学院电子工程系.辽宁沈阳110034) 摘要:介绍了一种运用VHDL来实现维特比(Viterbi)译码器的方法.详细描述了维特比译码器 的优化算法和用~HDL语言实现原理.电路在集成开发环境MAX+PLUSII下可以完成设计,仿 真,适配并下载.文中给出了维特比译码器顶层设计电路图,以及电路的主要模块和总体电路的 仿真结果.其仿真结果表明,用VHDL实现维特比译码器是一种快速有效的方法. 关键词:VHDL;维特比;译码器 中图分类号:TN764文献标识码:A VHDL(VeryHighSpeedIntegratedCircuitHard- wareDescriptionLanguage)是超高速集成电路的硬 件描述语言,功能包括电路描述,电路合成,电 路仿真等.从ASIC的设计到PCB系统的设计, VHDL都能够派上用场,所以VHDL毫无疑问的 成为硬件设计工程师的必备工具H.卷积码的概 率译码最早始于1961年由Wozencraft提出的序列 译码,1963年Fano对序列译码进行改进.1967年 Viterbi提出了Viterbi译码算法(简称VB算法), 在码的约束比较小时,它比序列译码算法效率更 高,速度更快,译码器也较简单.自VB算法提出 以来,在理论和实践上都得到了极其迅速的发展, 并广泛应用于各种数据传输系统,特别是卫星通 信系统中.正是鉴于VHDL流行趋势及Viterbi 译码器的广泛应用,所以现对基于VHDL的Viter. bi译码器的实现进行研究. 1Viterbi译码算法 卷积码又称连环码…,1955年由Elias提出, 它和分组码有明显的区别.VB算法由Viterbi首 先提出,它是一种最大似然译码算法. 在VB算法中,采用篱笆图(或称网格图) 来实现.(2,1,2)卷积码的篱笆图见图l.VB算 法并不是单纯的在篱笆图上一次比较所有的可能 的2址条路径(序列),而是接收一段,计算比较一 段,选择一段最可能的码段(分支),从而达到整个 译码序列是一个有最大似然函数的序列. 收稿日期:2004一l2—05 作者简介:陈朝晖(1976一).男.河南商丘人,助教 现把VB算法的步骤简述如下: (1)从某一时间单位.7:rn开始,对进入每一 状态的所有长段分支的部分序列,计算部分路 径度量.对每一状态,挑选并储存一条有最大度 量的部分路径及其部分度量值,称此部分路径为 留选路径或幸存路径. (2)j增加1,把此刻进入每一状态的所有可 能分支度量和同这些分支相连的度量相加,得到 了此刻进入每一状态的留选路径,加以存储并删 去其它所有路径,因此,留选路径延长了一个分 支. (3)若.,lt;L+m,则重复以上各步,否则停 止,译码器得到有最大路径量度的路径. 由时间单位m直至,篱笆图中2个状态中 的每一个有一条留选路径,共有2条.但在 时间单位(节点)后,篱笆图上的状态数目减少,留 选路径也相应减少,最后到第+m单位时间,篱 笆图归到全为0的状态s..因此只剩下一条留选 路径,也就是要找的具有最大似然函数的路径,即 译码器输出的估值码序列.由此可知,在篱笆图 上用VB译码算法得到的路径一定是一条最大似 然路径,因而这种VB译码方法是最佳的. 2原理说明与顶层设计 整个Viterbi译码器主要以下模块构成: (1)初始化模块:对路径存储器和路径度量 存储器从L=0到=m进行初始化,使电路从 =m起在网格图上充满各个状态. (2)距离计算模块:输入为接收码字,输出为 该码与各种可能的输出码字间的距离. 沈阳航空工业学院第22卷 节点0l234567 图1(2.1.2)卷积码L=5时的蓠笆图 注:图中实线表示输入0.虚线表示输入l. (3)矩阵计算模块:计算路径度量存储器与 输人格图的线段度量值的和. (4)比较选择模块:计算模块中输出的距离 和,选择对应最小值的矩阵和路径.这个模块的 输出作为每个状态的新路径值保存下来. (5)矩阵迭代模块:使用D触发器来保存4 个路径度量矩阵,每个寄存器5比特宽度. (6)路径输人模块:确定每个输人信号路径. 每个时刻共需要8比特的寄存器来存储路径. (7)矩阵化简模块:在累加和比较处理后,挑 选最小的矩阵,并以它为基准,其它矩阵利用它的 (1)初始化模块 距离更新数值.输出对应着最小距离路径,即幸 存路径. (8)输出判决模

文档评论(0)

133****9031 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档