预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于CMMB标准的LDPC码动态译码算法研究 摘要: 本文研究基于CMMB标准的LDPC码动态译码算法,首先介绍了CMMB标准和LDPC码原理,然后讲解了译码算法的基本流程,接着详细分析了动态译码算法的原理和实现方式,最后对动态译码算法的效果进行了实验验证。实验结果表明,相比于传统译码算法,动态译码算法在性能和速度上都有一定提高。 关键词:CMMB标准;LDPC码;动态译码算法;性能分析 一、引言 随着移动通信技术不断发展和普及,人们对数字视频广播(DVB)等多媒体业务的需求不断增加。为提高数字广播系统的性能和可靠性,现代通信系统广泛采用信道编码技术。其中,低密度奇偶校验码(LDPC码)是一种性能优异、译码效率高、设计灵活的码型,被广泛应用于通信系统中。 中国移动多媒体广播(CMMB)是一种基于地面无线数字电视广播技术的移动多媒体广播方案,它是以现有数字地面电视(TD)网络为基础实现的,能够提供高质量的移动多媒体广播服务。CMMB标准中采用LDPC码作为信道编码方案,但是传统的LDPC码译码算法存在速度慢、复杂度高等问题,不足以满足CMMB在实际应用中的需求,因此需要研究一种适用于CMMB的高效译码算法。 本文针对CMMB标准的LDPC码动态译码算法进行研究,主要包括算法原理、实现方式和实验效果分析。 二、CMMB标准和LDPC码原理 1.CMMB标准 CMMB标准是中国移动多媒体广播技术标准,采用地面数字电视广播技术实现,集成了音频、视频、数据广播功能。其中,视频采用先进的H.264视频编码标准,音频采用MPEG-4AAC音频编码标准,信号发送采用了16QAM调制。CMMB标准中的信道编码方案采用了LDPC码。CMMB标准的设计目标是提供高质量、高效率的移动多媒体广播服务。 2.LDPC码原理 LDPC码是一种基于图的线性分组码,在适当的条件下,可以近似达到香农容量极限。LDPC码的码长和分组长度可以任意选定,同时可以通过调整偶校验矩阵的结构来改变LDPC码的性能参数。LDPC码的译码方法常见的有信道译码和迭代译码两种。在信道译码中,可以使用最大似然译码算法;在迭代译码中,则往往采用和/或循环冗余校验结构等等。LDPC码译码的主要难点是解决矩阵计算的问题,如求矩阵的逆、行列式、秩等问题,这些问题目前已经有较好的解决方法。 三、动态译码算法基本流程 LDPC码是一种结构化编码,译码时需要实现矩阵的逆运算和矩阵-向量乘积。传统的译码算法包括高斯消元法、Graeffe算法、LU分解法等,这些算法的共同点是在解矩阵时需要将整个矩阵全局处理,计算量及时间复杂度很高。因此,传统的译码算法并不适用于CMMB标准的应用场景。而通过动态译码算法可以减少计算的时间和运算的复杂性,从而获得更好的性能。 动态译码算法的基本流程如下: 1.以列为单位,将矩阵分割成多个小矩阵(例如8X8); 2.对于每个小矩阵,通过LU分解法求出L、U矩阵; 3.对于LU分解后的每个小矩阵,采用阈值策略确定是否可以使用前向推导算法; 4.将需要使用前向推导的小矩阵作为长条形的矩阵处理,将其分割成若干个小矩阵; 5.对于每个小矩阵,求出L、U矩阵; 6.对于每个小矩阵,采用前向推导算法计算出相应行的估计值,这一步计算是通过向量乘积实现的; 7.将所有小矩阵的计算结果按列顺序合并,得到整个译码的解码输出结果。 四、动态译码算法原理及实现 动态译码算法主要采用了LU分解和前向推导算法两种基本算法,具体如下: 1.LU分解算法 LU分解算法是一种基本的线性代数计算方法,其主要思想是将矩阵A分解成一个下三角矩阵L和一个上三角矩阵U相乘,即A=LU。该算法主要有两个步骤:①第一步是实现矩阵A的三角分解,即找到L和U矩阵;②第二步是实现组合计算,通过将L、U矩阵相乘,得到原始矩阵A的逆矩阵。 对于LDPC码译码算法,需要对码字进行分组,将矩阵按列进行分组,形成若干个小矩阵,然后对每个小矩阵进行LU分解,分解后的矩阵必须满足每个小矩阵同一列之间存在连接,否则无法实现前向推导,从而影响解码性能。 2.前向推导算法 前向推导算法(FPGA)是一种计算L分解矩阵元素值的方法,它主要由逐行计算系数、逐行消元和逐行求解等三个过程组成,其中逐行求解是整个流程的核心。前向推导算法充分利用了矩阵的特殊结构,在每个小矩阵中单独实现矩阵元素的计算和运算,从而取得了很好的效果。 在采用LU分解法求出L、U后,可以对于每一行,从左往右逐一计算,计算出所需的系数和变量值,从而得到估计值。然后根据估计值和原始码字,计算出估计值和误差协商系数,更新估计值,迭代次数可根据实际需求设置。 3.动态译码算法的实现 动态译码算法的实现非常复杂,需要将LDPC矩阵进行分组、进行必要的LU分解,并采用前向推导算法实现译码。具