您的位置:技术工种之机修知识网 设备修理知识 正文
原作者:[标签:作者] 添加时间:2007-06-28 原文发表时间:2007-06-29 人气:1


 

摘要:大约束度卷积码作为信道纠错编码在通信中得到了广泛的应用,而其相应的Viterbi译码器硬件复杂度大,限制了译码速度。分析了Viterbi译码器的结构,优化了各模块,合理地组织了存储器结构,简化了接口电路。用FPGA实现Viterbi译码器,提高了译码器速度。

关键词:卷积码 Viterbi译码 ACS 路径度量存储 FPGA实现

Viterbi算法是一种基于最大后验概率的卷积译码算法,应用广泛。CDMA的IS-95标准和WCDMA 3 GPP标准将卷积码作为高速实时数据传输的信道纠错编码,使Viterbi译码器成为移动通信系统的重要组成部分。

为保证纠错性能,卷积码结束度一般选择比较大的,在3 GPP中规定约束度K=9。出于实时性的考虑,移动通信系统中对译码时延的要求比较高,需要高速译码器的支持。可是Viterbi译码算法的复杂度、所需存储器容量与结束长度成指数增长关系,成为限制译码器速度的瓶颈。Viterbi译码器每解码一位信息位就需对2 k-1个寄存器的状态进行路径度量,并对相应的存储单元进行读写。这种情况下,可以采用状态路径存储单元分块的方法,以提高其译码性能,缺点是ACS单元与存储器之间的接口电路十分复杂,不易实现。

本文分析和优化了Viterbi译码器的结构,提出了一种FPGA实现方案,简化了接口电路,提高了速度。用这种结构实现的单片集成译码器译码速率达350kbps、时钟频率30MHz。以下先分析译碱器总体结构,然后对各模块设计和实现做详细说明。

1 算法简述及译码器结构

本文采用3 GPP标准规定的K=9,码率r=1/2的(753,561)卷积码,卷积编码器送出的码序列C,经过信道传输后送入译码器的序列为R。译码器根据接受序列R,按最大似然准则力图找出正确的原始码序列。

Viterbi译码过程可用状态图表示,图1表示2个状态的状态转移图。Sj,t和Sj N/2,t表示t时刻的两个状态。在t 1时刻,这两个状态值根据路径为0或者1,转移到状态S2j 1和S2j 1,t 1。每一种可能的状态转移都根据接收到的有噪声的序列R计算路径度量,然后选择出各个状态的最小度量路径(幸存路径)。Viterbi算法就是通过在状态图中寻找最小度量路径向前回溯L步,最后得到的即为译码输出。

本设计采用Xilinx Virtex600E FPGA芯片,在ALDEC公司的Active-HDL仿真环境下,用Verilog语言完成,并用Xilinx的ISE4综合实现。Viterbi译码器系统框图如图2所示,主要由BMG(路径计算模块)、ACS(加比选模块)、TB(路径回溯模块)、MMU(路径存储模块)等部分组成。采用并行流水线结构,各个模块在控制信号统一监控下工作,减少了读取数据所需时间,充分发挥了FPGA高速计算的特性,提高了整个系统的效率。

2 子模块的优化和实现

2.1 ACS模块

由于采用的卷积码约束度K=9,在译码过程中,每一时刻有2k-1=256个状态,512个度量路径值,为了获得高速率,需采用尽可能多的ACS单元。但由于实际应用中需求电路面积小、功耗低,决定了ACS单元的数目不能太多。经过实验证明,采用4个ACS单元并行处理,完成可以达到应用要求。

图3 度量路径状态分组图

ACS单元用来计算选择状态的路径度量。它需要不断地读出路径度量作为操作数,然后将更新的度量写回各个状态。由于采用4个ACS单元并行处理,为不造成流水线堵塞,如何对RAM中的度量数据进行读写是关键。如前述,本文采用状态路径存储单元分块的方法。将所有状态分成4组,分别对应于4个ACS。每次运算时,4个ACS同时从各组状态值中读取数据进行操作。

由图1可知,状态Sj和Sj 2/N在状态转移中同时得到两个新状态S2J和S2j 1。因此为了ACS能够同时取出这两个状态值,Sj和Sj 2/N必须存储在不同的RAM组中。同样,两个计算出来的新状态S2j和S2j 1也应如此。遵循这种准则,则时也简化接口电路,采用如下的分组算法:假设待分配状态=Sj=Sk-2Sk-1…S1S0,所对应的RAM组为Rm,由于RAM共分成4组,则m=(Sk-2S1)S0(两位二进制数表示)。状态分组图如图3所示,从中可以看出,从状态S128开始的后续状态都有规律地交错位置存储。由此,ACS单元和状态路径存储单元的接口电路只需采用两个2
本页地址

相关文章

长距离通信器S1503的应用编程原理
CAN总线与以太网互连系统设计
一种新的实用安全加密标准算法——Camellia
LVDS技术及其在多信道高速数据传输中的应用
OSPFv3d在NBMA链路上的设计与实现
电力线MODEM芯片ST7536
基于VRTX操作系统实现V5接口协议
基于Linux的软件化和网络化雷达终端系统的实
高速铁路防风防雨安全监测报警系统
IEEE 1394标准的网络应用研究
突发解调器STEL-9257在宽带无线接入系统中的
用AT89C2051实现电话远程控制家用电器
网络计算机中IC卡读写器子系统设计
解调器MSM6882及其在无线数据通信中的应用
1394技术及其在图像传输系统中的应用
采用PCI9052及GP2010实现GPS信号采集
UM3758-108编/解码器在串行通信中的应用
多USB接口的局域网接入技术的实现
CAN与以太网数据交换的研究与分析
多层面对GEPON与LAN进行接入的比较

相关评论


本文章所属分类:首页 设备修理知识