一种基于FPGA多通道复用Viterbi译码器设计与实现.docVIP

一种基于FPGA多通道复用Viterbi译码器设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于FPGA多通道复用Viterbi译码器设计与实现

一种基于FPGA的多通道复用Viterbi译码器的设计与实现   摘要:卫星定位接收机中的卷积码译码即Viterbi译码,在处理器中面临着占有资源比较多、处理时间太长等问题,为了减少处理器中资源占用和提高它的处理速度,采用了多通道复用和串行加比选蝶形单元的方法,在FPGA平台上用硬件描述语言设计出一种高性能Viterbi译码器,大大减少资源占用,提高了接收机的处理速度。   关键词:卷积码;Viterbi算法;FPGA;资源占用   中图分类号:TN919 文献标识码:A 文章编号:1009-3044(2017)28-0251-03   Abstract: Satellite positioning receiver decoding convolutional code Viterbi decoder, facing the problem of share more resources and processing time in the processor, the processor in order to reduce the occupied resources and improve the processing speed, using multi channel multiplexing and serial plus selection butterfly unit method, using hardware description language to design a high performance Viterbi decoder FPGA platform, greatly reduce the resource utilization, improve the processing speed of the receiver.   Key words: convolutional code; Viterbi algorithm; FPGA; resource consumption   卷积码是广泛应用于无线通信、卫星通信等多种通信系统中的信道编码方式。Viterbi算法是卷积码的最大似然译码算法,该算法译码速度快、性能好,并且实现硬件结构也比较简单,是最优的卷积码译码算法[1]。在现代通信系统中,要使信号能够更可靠地在信道中传输,往往需要在信道编码中采用纠错码来降低信号受噪声的影响,以降低传输的误码率。卷积码及其Viterbi译码是比较常用的信道编码方案。   1 卷积编码及Viterbi算法基本原理   卷积码是由移位寄存器和n个模2加法器组成,当前状态的输入进来的数据和寄存器组中的数据共同决定着编码器的输出结果。(2,1,7)卷积码的生成多项式为G=(171,133),电路图如图1所示[2]。(2,1,7)卷积码编码器由6个延时器(图1中的q-1模块,可用寄存器实现)和两个模2加法器组成,它的编码约束度为7,码率为1/2,即输入端输入1b信息,输出端输出2b编码信息,并分为上、下两路并行输出。   Viterbi译码算法是找最大度量的最大似然路径,即找出局部最优的幸存信息就等效于找到最优幸存信息,它将比较进入每一状态下的所有路径,然后得出最优路径并存储,即幸存路径,步骤为:(1)从某一时间单位[l=m]开始,将每个路径中的分支度量值计算出来,然后将所有状态的分支度量值和幸存路径存储下来;(2)[l]增加l,[l=m+1],累加更新后的分支度量值和之前的分支度量值,然后计算出来最大度量的路径,然后把更新后的幸存路径及其度量值存储下来,并删掉其他路径;(3)若[ll+m],则重复以上的各个步骤,否则停止,这样就使得译码器得到了最优的路径。   2 基于硬件描述语言的Viterbi算法   由Viterbi译码算法可以得出Viterbi译码器的结构框图,图2是Viterbi译码器结构框图,一个Viterbi译码器,一般都会包括图2所示的几个基本部分:控制模块、分支度量计算模块、加比选模块、幸存路径管理模块和一些必要的存储模块。   2.1 仲裁逻辑设计   仲裁写控制,首先轮询一遍所有通道,将通道使能转为写信号暂存在写使能寄存器中,并且在此轮询中将数据也暂存,并将写使能与暂存数据例化进相应的FIFO中。   通道FIFO数据向缓存FIFO中导入控制,判断每一个FIFO中的数据是否满足了译码的条件的数量,若满足了译码条件的数量,并且缓存FIFO的空信号有效时,则可以将数据从满足条件的通道FIFO中导入到缓存FIFO中,此时通道FIFO的读使能与缓存FIFO的写使能信号的高电平长短应该为486个主钟,这样控制输入到缓存FIFO中的数据为486,当导入到缓存FIFO中的

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档