综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章D S P正文
 
集成SNR估计的LDPC码译码器的设计与实现
发布日期:2008-08-22 作者:杜雅秀 马林华 李森 来源:微计算机信息

2. 第二炮兵工程学院,陕西 西安  710025)
摘要:基于TMS320C6416高性能通用DSP,实现了对AWGN信道的信噪比(SNR)估计,并以此估计值设计了一种低密度奇偶校验(LDPC)码的译码系统;详尽介绍了集成SNR估计的译码系统的实现方案和流程;仿真结果表明,此估计下的译码器具有较好的性能。
关键词:低密度奇偶校验码;TMS320C6416芯片;信噪比

1.         言

低密度奇偶校验(Low-Density Parity-Check: LDPC)码具有接近香农限的优良性质,成为继Turbo码后信道编码领域的又一研究热点。为充分发挥LDPC码的纠错性能,为了获的较好的性能,LDPC译码器通常采用软信息迭代译码的方式,其中最常用的译码算法为BP (Belief Propagation :BP)算法。由于BP译码需要信道的SNR的先验信息进行译码初始化,而对于接收端而言,SNR是未知的,所以需要对SNR进行估计。通常接收端通过导频训练来估计SNR,此估计独立于译码器,译码器不能根据需要来调整对SNR的估计。本文给出了一种利用接收序列估计AWGN信道SNR的方法,译码器可根据需要选择是否对SNR重新估计和估计精度。并基于TI公司的TMS320C6416高性能通用DSP,以CCS3.1为开发工具,设计并实现了集成SNR估计的LDPC译码系统。

2.        BP译码原理和一种SNR估计方法

2.1LDPC迭代译码原理

作者通过大量仿真发现,欠估计导致BP译码收敛到正确码字上的迭代次数显著增大,而过估计对迭代次数的影响很小。基于上述现象,译码器可以考虑根据实际迭代次数的显著变化,及时发现欠估计,并对SNR估计做出适当调整。

      

 


3.集成SNR估计的译码器系统结构

3.1:译码系统的实现方案

图2:译码原理框图

本编译码系统使用码长为1024,码率为0.5,优化后的正则 校验矩阵,译码的迭代关系由此矩阵确定,下述译码过程均建立在此矩阵基础上。集成SNR估计的LDPC码译码器的原理框图如图2所示。通过接收机前端的解调,滤波,抽样,译码器接收到经信道噪声污染的信号后,首先将接收序列送入数据缓存,并从缓存中读取合适长度的接收信息序列,利用第2节所述方法进行SNR估计;然后当数据缓存中接收满一帧数据(存在校验关系的全部数据,长度与码长相同)后,根据接收序列和SNR估值对每一个软信息进行译码的LLR值初始化;最后将初始化后的信息送入变量节点运算单元和校验节点运算单元进行迭代译码运算,最后将结果由译码器输出端串行输出。

图3:译码流程图


3.2:译码系统的量化处理及工作流程

(一)量化处理

在用定点DSP实现LDPC译码时,考虑到硬件实现,需要对译码接收信息和迭代信息进行量化。在接收信息的量化中,由于信道为AWGN,考虑到接收信息的分布,所以可以采用正态分布的“ 原则”来确定量化区间。结合系统工作信噪比范围,综合数据的观察与分析,作者确定接收信息的量化范围为 是合理的,DSP选择采用7位定点数的Q4量化来处理接收信息,对应的数据类型定义为char型,其中1比特表示接收信息符号位。在迭代信息的量化中,考虑到AWGN信道满足对称性条件[5],所以译码迭代对数似然比信息适宜采用对称量化处理。为确定迭代信息的量化范围,作者进行了大量仿真,对构造的正则 LDPC码译码中迭代的变量信息和校验信息进行了统计,发现变量信息和校验信息的取值基本在区间[-10,+10]内,因此确定采用16位Q4格式定点数处理LDPC码译码的迭代变量,可以保证译码迭代运算无溢出。迭代信息对应的数据类型定义为short型。

(二)译码流程

译码流程设计如图3所示。译码器接收到信息被送到数据缓存中进行SNR估计,同时对最大迭代译码次数和各种变量进行初始化。当接收信息达到预定分组长度时,使用 SNR估计值对译码软信息进行LLR初始化。之后开始迭代译码,如果达到指定的最大迭代次数仍未能完成译码,则宣布译码失败,译码结果以unsigned char 型数据输出。如果译码成功,但迭代译码计数器的次数有明显的增大,或者译码连续若干组失败,纠错性能有明显的下降。上述情况可能是信道的实际SNR有了变化,导致了SNR估计的不匹配的结果。故译码器可考虑对SNR进行重新估计,并适当增大估计样本的数量,以得到比较精确的估计值,用于后续分组的译码。

4.        基于DSP TMS320C6416的译码系统实现

4.1TMS320C6416芯片的基本性能

TI公司的TMS320C6416-T芯片,其时钟频率可达1GHz,峰值运算速度达到8000MIPS,采用了甚长指令结构,内部有8个并行的功能单元,其中6个ALU单元,2个乘法器,片上集成了一级程序缓存和一级数据缓存各16Kbyte,可用于RAM或CACHE的二级缓存1Mbyte,非常适合于运用在诸如信道编解码、图像处理等需要大量运算的场合。

4.2:译码系统的软件实现及优化

在软件开发中,对于所有的译码算法模块我们均采用ANSI C语言进行设计。从第2节的译码迭代公式(1)(2)可以看出,双曲正切函数是BP算法的核心运算,此函数硬件实现相当困难。作者采用文献[2]的量化译码算法来处理,此简化算法将核心运算化简成一元函数g(x)和h(x)的计算。作者根据g(x)和h(x)函数的特性,对自变量范围进行合理的量化并求出相应的函数值,构成两个一维表格,DSP通过查表实现核心运算的量化计算。软件的具体实现过程中,引入以下符号及函数定义:

定义4个译码全局常量相关矩阵

/* 校验节点地址矩阵 */

extern short chk_matrix[512][6];

/* 变量节点地址矩阵 */

extern short var_address[1024][3];

/* 变量节点地址到校验节点地址的寻址矩阵 */

extern unsigned char var_pos[1024][3];

/*校验节点地址到变量节点地址的寻址矩阵 */

extern unsigned char chk_pos[512][6];

定义译码函数

/*信道SNR估计函数,其中int est_length 为估计样本的个数*/

char est_snr(char *rec_data, int est_length);

/* 对信道接收的译码软信息进行LLR值初始化 */

void initi_llr( char *rec_data, short *llr_temp, short (*llr_data)[3] , char sigma);

/* 计算更新校验节点信息 */

void cnuUpdate( short (*chk_llr)[6], short (*var_llr)[3]);

/* 计算更新变量节点信息 */

void vnuUpdate( short (*chk_lratio)[6], short (*var_lratio)[3], short *Lu, short *pre_code);

/* 完成译码、码字拼接并输出码字 */

void ldpc_decode( char *rec_code, unsigned char *dec_code, char sigma, char max_iter);

由于C语言中的数据类型是以字节为单元的,而LDPC码译码涉及到比特数据的操作,故译码器需要对输入输出和译码相关矩阵进行数据的拼接。篇幅有限,本文不进行深入介绍。

为了提高代码执行效率,对于char est_snr(char *rec_data, int est_length)SNR估计函数中的平方和开方运算,C语言实现效率较差。基于上述考虑,程序采用直接调用TI公司提供的Fixed Point MATH Library库进行的方法来处理这些运算,此函数库的开发完全用汇编写的,效率很高。当译码器经过若干组译码之后,确定实际SNR的比较理想时,可以适当减少估计样本数;当信道参数变化不大时,SNR估计应选择相隔一段时间估计一次的办法,或者遇到译码失败后重估。通过上述做法,可以达到提高估计效率,减少估计带来的资源消耗和运算时延的目的。

此外为了提高硬件资源的并行利用程度,提高代码运行速度,减少运行周期数,作者采用文献[3][4][6]所述方法对算法进行了优化。本文不再重复介绍。

5.         

基于CCS3.1开发平台,作者对本文所述的译码器运算和纠错性能进行了完整的C6416 simulator仿真。结果表明,在信噪比为2.5dB,最大迭代译码次数20次,误码率 时,译码器可获得1.5Mbps信息译码速率。表明此集成SNR估计的译码器具有较好的性能。此外系统仍存在进一步优化的空间,例如利用汇编优化代码中效率较低的部分;在接收译码信息同时,进行SNR估计中使用的统计量的运算;如果系统对实时性要求较高,也可采用查表法处理估计中的平方开方运算。这些是下一步工作的重点。

参考文献

[1]             P.Li, W.K.Leung. Decoding Low Density Parity Check codes With finite quantization bits[J]. IEEE Comm.Letters, Feb 2000,4(2):62-64.

[2]             贺玉成,孙韶辉,慕建君,等“快速低密度校验码迭代译码量化算法[J]”,西安电子科技大学学报, 2002,29(3):338-342.

[3]             李方慧,王飞,何佩琨等. TMS320C6000系列DSPs原理与应用. 电子工业出版社,2005.

[4]             张冬玲,王良红.基于DSP的微弱信号检测采集系统设计[J]微计算机信息.2005.7

[5]             T. J. Richardson, R. L. Urbanke. The capacity of low-density parity-check codes. IEEE Trans. IT, 2001, vo1.47, No.2, pp.599-618.

[6]             TMS320C6000 Optimizing C/C++ Compiler User’s Guide, Texas Instruments Incoporated, April, 2001.


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
数字接收机中基于TMS320C6416的数字下变频技术 (03-14)
基于DSP的实时图像处理系统 (07-04)
ARM S3C4510B与DSP6416互连的接口设计 (09-07)
一种基于CCS与DSPs串口实现FFT的方法 (06-16)
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号