APP下载

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

2017-11-15庞志锋刘欣欣王晓君

电脑知识与技术 2017年28期

庞志锋+刘欣欣+王晓君

摘要:卫星定位接收机中的卷积码译码即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译码算法是找最大度量的最大似然路径,即找出局部最优的幸存信……

登录APP查看全文