当前位置:首页计算机论文计算机理论 → 文章内容

基于VCP2协处理器的Viterbi译码器实现

减小字体 增大字体 作者:唐贵林等  来源:本站整理  发布时间:2019-11-27 9:00:18


本学术论文《基于VCP2协处理器的Viterbi译码器实现》,转载自学术期刊《电子技术与软件工程》2014年22期 发表过的职称 论文,原文作者:唐贵林等,由中国学术论文网编辑整理录入,仅供您在TMS320C6670,VCP2,Viterbi译码,误码率等方面参考学习。

唐贵林等

针对LTE通信系统采用的卷积编码,介绍了采用TI公司多核定点DSP芯片TMS320C6670中内嵌的VCP2协处理器实现快速Viterbi译码的原理和方法,并在DSP硬件平台上对VCP2的译码性能进行了实验与分析。

【关键词】TMS320C6670 VCP2 Viterbi译码 误码率

1 引言

卷积编码是3G和LTE等无线通信系统中广泛应用的信道编码方式,可以增强数字信号的抗干扰能力,提高通信系统的可靠性。本文介绍了一种新的快速信道译码的方案,即基于TI公司高速多核定点DSP芯片TMS320C6670中嵌入的第二代维特比译码协处理器(VCP2)实现卷积信道译码。

卷积码的Viterbi 译码算法通过使整个码序列成为一个最大似然序列,同时利用网格图的重复性结构,减少译码所需的计算次数。TMS320C6670中的Viterbi译码协处理器VCP2在333MHz时钟工作频率时能够处理76212.2Kbps的AMR语音信道,支持限制长度K为5、6、7、8、9,码速率为1/2、1/3和1/4的Viterbi译码。它使用欧氏距离衡量接收信号同分支标号之间的差异,即分支度量(Branch Metric)。考虑到对称性,对于限制长度K,输入n比特,码速率1/R的卷积码,译码的每个时刻需要预先计算2(R?1)个分支度量作为输入。每个时刻均有2(K?1)个状态。可以通过比较进入某一状态不同路径的状态度量来决定幸存路径,并可以灵活地设置生成多项式及输出软判决或硬判决的译码结果。

VCP控制寄存器负责控制整个译码过程,VCP2通过直接存储器访问单元EDMA3与片内L2存储器进行数据交换,从而和CPU协同完成译码任务。

2 VCP2译码的实现

VCP2的译码需要进行分支度量、数据量化、寄存器设置和数据交互等工作,本文重点介绍分支度量和详细的译码步骤。

2.1 分支度量

Viterbi译码算法必须计算前一个状态到各个新状态的分支度量值。当采用硬判决输入时,分支度量值可用汉明距离表示。对于限制长度为K,输入为n比特,码速率为1/R的卷积码,译码的每个时刻需要预先计算(2R-1)个分支度量作为输入。设r(t)为初始符号,则针对不同编码速率R,BM算法迭代次数不同。当R=1/2时,算法为:

BM0(t)=r0(t)+r1(t)

BM1(t)=r0(t)-r1(t)

2.2 译码实现步骤

(1)根据待译码数据预先计算其分支度量,写入指定的DSP缓冲区。

(2)分配DSP输出缓冲区,准备存储译码结果。

(3)准备VCP2的寄存器配置参数,放在DSP的内存或外存,当VCP2启动时由EDMA3写入VCP2内部寄存器。

(4)设置EDMA3通道29参数,由VCPXEVT触发,搬移VCP2配置参数到VCP2内部寄存器,搬移待译码数据的分支度量及量化值到VCP内部输入FIFO;设置EDMA3通道28参数,由VCPREVT触发,从VCP2输出FIFO搬移VCP译码结果到指定的输出缓冲区。

(5)使能EDMA3通道28和29,使其可以响应VCPREVT和VCPXEVT同步触发事件。

(6)写“开始”命令到VCP2内部的命令寄存器VCPEXE,使VCP2生成VCPXEVT事件,触发EDMA3通道29,搬移配置参数和待译码数据的分支度量到VCP2。

(7)VCP2译码完成后触发EDMA3,由EDMA3通道28搬移译码结果到指定的输出缓冲区,并产生到DSP内核的中断;DSP响应中断,对译码结果进行处理。

3 VCP2译码性能分析

实验产生了固定长度的LTE信道数据并进行卷积编码,然后进行BPSK调制,将已调信号加入高斯白噪声,对含噪信号进行AGC、定标和防溢出处理,计算分支度量后将待译码数据输入到VCP2中进行译码。最后,将译码结果与最初生成的随机序列相比较,计算其误码率。结果如图1所示。

由图1可见,误码率随着信噪比的提高而降低,随着数据长度的增加而减小。在有限范围内误码率始终未超过50%,且当信噪比高于0dB时误码率很低(< 20%),高于1.5dB时误码率达到 数量级。

通过对不同码速率在同一高斯白噪声分量的标准差(Sigma)的比较还可以发现码速率越大则误码率越高。

4 结束语

VCP2作为TMS320C6670的协处理器,在卷积码译码性能有较大的提高。用户只需通过简单的速率适配、数据量化和参数设置就可以方便地实现高效的Viterbi译码,同传统硬件实现方法及软件译码算法相比具有巨大的优势。

作者单位

湖南信息学院电子信息系 湖南省长沙市 410151