APP下载

基于TMS320C6670 协处理器TCP3D 的Turbo 译码实现*

2020-06-08窦茂森黄玉斌张运福

通信技术 2020年5期
关键词:译码器后验译码

窦茂森,黄玉斌,何 鹏,张运福,欧 斌

(1.91404 部队,河北 秦皇岛 066000;2.重庆金美通信有限责任公司,重庆 400030)

0 引 言

TMS320C6670(以下简称C6670)是TI 公司的一款新型Keystone 多核SoC 架构DSP,主要针对领域为高性能无线基础设备。C6670 功能强大,支持TD-SCDMA、TD-SCDMA、TDD-LTE、FDD-LTE及WiMAX 等无线标准协议,能够达到两路400 Mbps 的20-MHZ LTE 系统数据处理能力[1]。

TCP3D 是一款集成在C6670 中的可配置协处理器,支持3GPP、LTE 及WiMAX 三种协议的turbo 译码。LTE 模式下主要是针对的卷积turbo码(以下简称CTC)译码。TCP3D 支持译码原生码率1/3,迭代次数1 ~15 可选,译码码块大小40 ~8192 可选。C6670 中内部集成了3 个TCP3D协处理器可并行进行译码,在LTE 工作模式下最高速率可达548 Mbps。本文主要针对在LTE 模式下TCP3D 的CTC 译码的实现[2]。TCP3D 协处理器基本结构图如图1 所示。

图1 TCP3D 内部结构图

1 CTC 译码原理及译码算法

CTC 译码结构采用的是软输入软输出(SISO)的迭代(Iteration)译码结构,如图2 所示,是通过两级结构完全相同的子译码器间外信息的传递来提高译码性能。图中,yka,ykb表示通过信道后接收到的信息比特值,yky,ykw表示接收到的校验比特软值,Li(uk)表示信息比特的后验对数似然比,表示在两级子译码器之间传递的外信息,表示由经过交织或解交织得到的子译码输入的先验信息[3]。

译码器首先对未交织信息序列进行译码,子译码器1 接收信道输出的信息比特软值yka,ykb及校验比特软值yky1,ykw1,以及从第二级子译码器传递过来的先验信息(首次迭代时为0)进行译码,译码后输出信息比特的后验对数似然比Li(uk)和外信息,经过交织器传递给子译码器2 作为先验信息。随后,子译码器2 对交织后的信息序列进行译码,译码过程与子译码器1 完全一样。这样经过多次迭代译码,最后对子译码器2 的输出信息比特的后验对数似然比Li(uk)进行解交织和硬判决得到译码结果。CTC 译码常用的译码算法有MAP(最大后验概率)及其衍生的简化算法Log-MAP及Max-Log-MAP 等。

图2 CTC 迭代译码原理结构

1.1 MAP 算法

MAP 算法是计算信息比特后验对数似然比,求解公式如式(1):

式中s´表示编码器k-1 时刻的状态,s表示编码器k时刻的状态;uk={uka,ukb}表示状态从s´转移到s的编码器输入信息序列,uk的取值集合为{0,1,2,3}。根据式(1)计算得到信息序列uk的硬判结果式(2):

MAP 算法的具体实现步骤如下:

状态度量α、β的初始化;

通过式(5)和式(6)配合初始化条件前后向递推求得状态度量αk(s)、βk-1(s´);

将αk(s)、βk-1(s´)、的计算结合式(7)和式(1),得到信息比特的后验对数似然比Li(uk);

将Li(uk)结合式(2),得到硬判译码结果

MAP 译码性能非常优秀,但因存在大量的指数和乘法运算,译码复杂度高,实现难度大。

1.2 Log-MAP 算法和Max-Log-MAP 算法

Log-MAP 算法是MAP 算法的一种转换形式,相较MAP 算法更容易实现。Log-MAP 将MAP 算法中的变量都转换为对数形式,将公式里的乘法运算转换为了加法运算。

Max-Log-MAP 算法基于式(8)中的max 函数操作:

如果将式(8)中的右侧的第二项去掉, Log-MAP 算法便转换为Max-Log-MAP 算法。

Max-log-MAP 算法相较MAP 算法是一个数学转换过程,一些重要的参数经过对数变化和max 函数简化后,得到其最终公式如式(9)、式(10)和式(11):

其中lnP(uk=i)由式(12)得到:根据式(9),式(10),式(11)所得计算所得参数,最终由式(13)得到后验软信息Li(uk):

由于去掉了修正项,Max-Log-MAP 算法性能较Log-MAP 和MAP 算法有所恶化,但是复杂度进一步大大降低,更利于实现。如果对译码性能没有极高的要求,工程实现中优先选择Max-Log-MAP算法。TCP3D 所使用的为Max-Log-MAP 算法

2 TCP3D 的工作特性及实现流程

为保证TCP3D 正确执行高效的译码操作,有必要首先了解TCP3D 部分重要的工作特性。

2.1 工作特性

TCP3D 支持单buffer 模式、双buffer 模式及分离模式如图3 所示。

图3 TCP3D 三种不同的工作模式

单buffer 模式下,TCP3D 为一个单套输入buffer 和输入配置寄存器的Turbo 译码器;双buffer模式下,TCP3D 同时使用2 套输入配置寄存器和输入数据缓存器,对当前数据块译码的同时,可以读入下一个待译码数据块,从而减少数据传输时延;在分离模式下,TCP3D 被配置成公用一个VBUS 接口的2 个独立Turbo 译码器,可以同时对两个数据块进行译码。LTE 支持单buffer 模式和双buffer 模式。

TCP3D 的交织表生成,可通过寄存器配置选择由DSP 产生或者有TCP3D 内部生成。一般情况下选用TCP3D内部生成交织表,可降低DSP工作负担,提高系统效率。

TCP3D 输入数据格式为6 比特软信息,最高比特为符号位,即数据范围为-32 ~31。在LTE 模式下,输入数据存放规则如图4,还有一点必须注意,TCP3D 是一个小端对齐的处理器,当DSP 为小端对齐格式时,数据端对齐管理器对数据无影响。TCP3D 总是工作在小端对齐模式,所以输入输出数据也是小端对齐格式。

TCP3D 引入了滑动窗(SW)来限制存储单元的数量来对数据块的每一部分来进行译码。在WiMAX 和LTE 模式下,1 个数据块被分为4 个等长的子数据块,每个子数据块再进一步的分割,得到长度可能相同也可能不同的小数据块,即滑动窗。滑动窗的最大长度为128 个信息比特。滑动窗可以分为SW0,SW1 和SW2 三种。SW0 可以有多个,但是SW1和SW2只能有1个。SW0表示比特的数量,长度为{0, 16, 32, 48, 64, 96, 128}其中之一。SW0 的长度及数量,通过TI 规定的相关规则进行计算[4],划分细则如图5 所示。

TCP3D 与DSP 内部存储器之间的数据交互是通过EDMA3 控制器进行的,这个数据传输过程并行于DSP 内核。EDMA3 控制器控制4 类数据从系统存储器到TCP3D 的传输,分别是:输入配置寄存器参数、待译码信息LLR 值、触发寄存器(如果为自动触发模式则不需要)、交织地址(如果是选择TCP3D 内部交织,则不需要)。同时EDMA3 控制器控制3 类数据从TCP3D 到系统存储器的传输,分别为译码输出硬判决数据信息、译码输出软判决数据信息及输出状态寄存器参数[5]。

图4 LTE 模式TCP3D 输入数据存放规则

图5 TCP3D 输入数据子模块划分滑动窗规则

2.2 TCP3D 的实现流程

结合TCP3D 的特性,在LTE 模式下译码实现流程如图6 所示。

首先进行系统复位,在确认TCP3D 复位之后, DSP 通过32-bit VBUS_CFG 接口执行TCP3D 初始化;随后DSP 准备完成待译码数据和译码参数,包括:软信息LLR 的缩放、饱和处理及数据封装;进行内交织表参数、滑动窗长度及个数等输入配置参数计算;接下来DSP 对EDMA3 进行初始化及配置,并通过128-bit VBUS_DMA 接口传输配置寄存器及包括系统码、校验码0 及校验码1 的三路译码数据。译码开始后,EDMA3 通过写触发寄存器启动TCP3D,TCP3D 开始进行码块译码;TCP3D 发送一个传输事件给EDMA3,准备将码块译码完成数据传送出去;最后码块译码进程确认完成后,EDMA3产生中断给DSP。如果有多个码块数据参与译码,在最后一个码块数据完成译码后,DSP 再发送中断,至此结束了一次完整的译码流程[6]。

3 TCP3D 性能仿真测试

对TCP3D 的性能测试中,计划测试四种码率,对应四种不同的业务速率:300M,r1=2880/3808= 0.756;150M,r2=2880/3700=0.778;64M,r3=2880/4342= 0.663;32M:r4=2880/4156=0.692。图7 是测试流程图。

首先通过MATLAB 产生C6670 协处理器BCP发端输入数据源并保存;随之在工程板中BCP 的发模块对数据源进行CTC 编码及RM(交织删余)处理,产生发端数据并采集,将采集数据在MATLAB中进行格式转换并完成BPSK 调制,将调制完成数据进行AWGN 函数加噪并进行量化和极值截取处理;将处理完成数据在工程板的BCP 收模块中对进行RD(解删余解交织)处理;将RD 输出数据作为TCP3D 输入,在调试板中完成TCP3D 的译码并采集数据;最后将译码结果与初始MATLAB 产生数据源进行对比,统计误码个数,计算误码率,并结合的相应SNR 值、码率和式(14),得出Eb/N0[7]:

最终得到BER-Eb/N0性能曲线图如图8 所示,曲线从左到右对应数据业务速率64M、32M、300M和150M。

图8 TCP3D 不同业务速率对应的译码性能曲线图

4 结 语

为实现TCP3D 译码,本文研究了CTC 译码原理及常用译码算法,结合TCP3D协处理器工作特性,总结出了其调用实现流程,最终实现其LTE 模式下的CTC 译码工作并进行了性能测试。测试结果表明,LTE 模式下TCP3D 译码性能非常理想,与LTE 协议描述的CTC 译码性能基本一致。

猜你喜欢

译码器后验译码
极化码自适应信道译码算法
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
反舰导弹辐射源行为分析中的贝叶斯方法*
定数截尾样本下威布尔分布参数 ,γ,η 的贝叶斯估计
编码器和译码器综合实现数字显示
跟踪导练(一)5
数字电路环境下汽车控制电路信号设计
一种基于最大后验框架的聚类分析多基线干涉SAR高度重建算法