新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 高性能维特比在卫星导航接收机中FPGA实现

高性能维特比在卫星导航接收机中FPGA实现

作者:时间:2012-04-25来源:网络收藏

摘要:卫星定位中卷积码译码即维特比译码器,在处理器中面临占有资源较多、处理时间过长等问题,为了减少处理器资源的占用和提高处理速度,采用并行加比选蝶形单元的的方法,在平台上用硬件描述语言设计一种高维特比译码器,作为GPS L2频点和GALILEO E1频点的通用译码器,在GPS和GALILEO上运用,大大减少资源使用,提高接收机的处理速度。
关键词:Viterbi译码器;GPS/GALILEO接收机;卷积码;

0 引言
在现代通信系统中,要使信号能够更可靠地在信道中传输,往往需要在信道编码中采用纠错码来降低信号受噪声的影响,以降低传输的误码率。卷积码及其Viterbi译码是常用的信道编码方案。卷积码在GNSS接收机中得到应用,其中约束长度K=7,码率为1/2的卷积码已经成为商业卫星通信系统中的标准编码方法。在卫星定位系统中,GPS L2频点和GAILILEO E1的电文均采用卷积码编码,目前在定位接收机中用软件进行Viterbi译码较多,为了提高处理速度通用性,本文设计一种基于的通用高速Viterbi译码器,能作为GPS L2和GALILEO E1的电文的译码器,大大减少资源使用,提高接收机的处理速度和减少软件复杂度,从而节约处理器的资源。

1 卷积编码及Viterbi算法基本原理
卷积码包含由K个寄存器组(每组包括k个比特,k通常取1)构成的移位寄存器和n个模2加法器,其中K是约束长度,编码器的输出由当前输入数据和寄存器组中的数据共同决定。对于GPS L2和GALILEOE1均为(2,1.7)卷积码,其生成多项式为G=(171,133),电路图如图1所示。(2,1,7)卷积码编码器由6个延时器(图1中的q-1模块,可用寄存器实现)和两个模2加法器组成,它的编码约束度为7,码率为1/2,即输入端输入1 b信息,输出端输出2 b编码信息,并分为上、下两路并行输出。

本文引用地址:http://www.eepw.com.cn/article/190478.htm

d.JPG


对信号进行卷积编码后,通常采用Viterbi算法(VA)译码。Viterbi算法是对于卷积码的最大似然译码,即利用概率译码。1967年Viterbi第一个提出了这个算法,Forney对这种算法及其做了可读强、见解深刻的描述。最大似然译码函数,就是在已知收到的信道输出序列,找到最有可能的传输序列,即通过网格图找出一条路径对应,要求路径输出的码序列具有对数最大值。对于二进制对称信道来说,函数的最大化等价于在网格图中找到与接收序列之间有最小汉明距离的路径。
Viterbi算法是通过动态规划的方法找出网格图中具有最大度量的最大似然路径,即局部最优等效全局最优。在每一步中,它将进入每一状态的所有路径进行比较,并存储具有最大度量值的路径,即幸存路径,步骤为:
(1)从时刻l=m开始,计算进入某一状态的单个路径的部分度量值,并存储每一状态的幸存路径及其度量值。
(2)l增加1,l=m+1,将进入某一状态的分支度量值与前一段时间的幸存度量值累加,然后计算进入该状态的所有最大度量的路径,决定并存储新的幸存路径及度量,并删除所有其他路径。
(3)若ll+m,重复步骤(2),否则结束。
该算法主要包括两个工作:计算度量并比较,其决定幸存路径;另一个是记录幸存路径及其相关的度量值。

2 基于硬件描述语言的Viterbi算法
Viterbi算法一般采用回溯法和寄存器交换法。为了减少控制的复杂度,本文采用回溯法,译码器由分支度量(BMU)、加比选(ACS)蝶形运算、存储单元、回溯(TB)单元4个基本部分组成,见图2。

e.JPG


利用二元卷积来说明VA译码过程如图3所示。

f.JPG


图4为用实线表示输入为0时走的分支,虚线表示输入为1走的分支,任意给定一个序列,在网格图中就有一个特定路径,图4中,u=(1011100),输出的编码为c={11_10_00_01_10_01_11}。

g.JPG


2.1 分支度量单元
路径度量单元是计算实际接收到的码元与期望码元之问的差别。G1与g1比较,G2与g2比较,若接收信号为0,期望值为0时,度量值为0,期望值为1时,度量值为1;若接收信号为1,期望值为0时,度量值为1,期望值为1时,度量值为0。两个比较结果和作为最终度量结果输出。按此规律计算当前状态下进入下一个状态的度量值。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭