LDPC码及其译码实现(共13页)_第1页
LDPC码及其译码实现(共13页)_第2页
LDPC码及其译码实现(共13页)_第3页
LDPC码及其译码实现(共13页)_第4页
LDPC码及其译码实现(共13页)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上LDPC码及其译码实现一、 LDPC码简介LDPC码最早在20世纪60年代由Gallager在他的博士论文中提出,但限于当时的技术条件,缺乏可行的译码算法,此后的35年间基本上被人们忽略,其间由Tanner在1981年推广了LDPC码并给出了LDPC码的图表示,即后来所称的Tanner图。1995年前后MacKay和Neal等人对LDPC码重新进行了研究,提出了可行的译码算法,从而进一步发现了LDPC码所具有的良好性能,迅速引起强烈反响和极大关注。LDPC码(低密度奇偶校验码)本质上是一种线形分组码,它通过一个生成矩阵G将信息序列映射成发送序列,也就是码字序列。对于生

2、成矩阵G,完全等效地存在一个奇偶校验矩阵H,所有的码字序列C构成了H的零空间  (null space),即HCT=0。LDPC码的奇偶校验矩阵H是一个稀疏矩阵,相对于行与列的长度,校验矩阵每行、列中非零元素的数目(我们习惯称作行重、列重)非常小,这也是LDPC码之所以称为低密度码的原因。由于校验矩阵H的稀疏性以及构造时所使用的不同规则,使得不同LDPC码的编码二分图(Taner图)具有不同的闭合环路分布。而二分图中闭合环路是影响LDPC码性能的重要因素,它使得LDPC码在类似可信度传播(Belief ProPagation)算法的一类迭代译码算法下,表现出完全不同的译码性能。当H的

3、行重和列重保持不变或尽可能的保持均匀时,我们称这样的LDPC码为正则LDPC码,反之如果列、行重变化差异较大时,称为非正则的LDPC码。根据校验矩阵H中的元素是属于GF(2)还是GF(q)(q=2p),我们还可以将LDPC码分为二元域或多元域的LDPC码。二、LDPC译码算法2.1、Gallager概率译码算法Gallager当初为了介绍LDPC码,同时还提出了一种迭代的概率译码算法,Gallager概率译码算法,后来在此基础上又发展出了置信度传播译码算法(BPA,也称SPA或者MPA)。假设一个二进制序列是一个LDPC码字,那么这n个比特就要满足由该码字的校验矩阵所确定的一系列的校验方程。并

4、且,包含某一比特的校验方程可能不止一个,这些校验方程中的其他比特又可能包含在其他更多的校验方程中。为了直观的表示这种关系,Gallager引入了校验集合树的概念。图2.1所示为某一比特的校验集合树。图2.1 校验集合树根节点表示比特d,和d相连的每一条边表示包含d的一个校验方程,在图2.1中,d包含在3个校验方程中;第一层中的每一线段上的节点表示这一校验方程中除d以外的其他比特,因此包含d的3个校验方程分别是:校验方程中的加法是模2加。即为比特d的数值,即为比特(1,1)的数值。与第一层各节点相连接的每条边同样表示包含该比特的一个校验方程,第二层中的每一线段上的节点同样表示该校验方程中除第一层

5、比特以外的其他比特。以比特(2,2)为例,和比特(2,2)相连接的边有3条,其中一条与本层节点(2,1),(2,3),及根节点d相连,另外两条与第二层中节点u,v,w和x,y,z相连。因此包含比特(2,2)的3个校验方程分别为:第三层(图中未画出)及以后的各层依此类推,每个比特都有相应的以该比特为根节点的校验集合树。假设信道是无记忆信道,仅与及信道噪声有关,考虑根节点和第一层节点组成的集合,这些比特组成了包含比特的个校验方程,每个校验方程由个比特组成(包含比特),显然发送的这些比特满足这个校验方程。因此假设当发送的码字是时,那么在以上情况下接收到的符号即为。这样在传送码字时,码字中的各比特满足

6、包含比特的个校验方程。当接收到相应的符号序列时,比特为1的条件概率可以表示为。同理,比特为0的条件概率表示为。又令当不考虑发送比特间的相关性时,为1的概率表示为,它与信道模型有关。令,表示的校验集合树第一层中包含的第个校验方程的第个比特为1的概率,那么有:根据式2.1,只要知道了图2.1的第一层中各比特为1的概率,就可以算出比特的条件概率。在其他根节点的校验树里比特又作为一个节点参与到根节点的概率计算中去,即比特从与其有关的节点中获取信息计算出概率,再将其计算出的概率信息传出用于计算其他的节点,由于在计算其他节点时同样会用到计算比特时所用过的运算,所以可以通过共享计算的中间结果而使计算量大为降

7、低,进而发展出了BPA(也称SPA或MPA)。2.2BP算法(也称SP或MP算法)校验集合树虽然比较直观,但对于每一个节点都有不同的校验集合树,因此在描述并行计算整个码字各比特的后验概率时,使用校验集合树并不方便,因此介绍一种新的图形表示法,Tanner图。对应于图2.1的Tanner图如图2.2所示。该图仅画出部分变量节点和校验节点。Tanner图中变量节点对应于校验集合树中的节点,校验节点对应于校验集合树中的边。图2.2 对应于图2.1校验集合树的部分Tanner图由Tanner图可看出,信息是在变量节点和校验节点之间来回传递的,变量节点d将自身的固有信息再加上与它有关的,校验节点传给它的

8、额外信息一起传递给校验节点。同理,校验节点也是将自身的固有信息再加上与它有关的除某一变量节点以外的其余变量节点所传给的额外信息一起传递给变量节点,如此信息便在变量节点和校验节点之间来回传递,不断更新变量节点和校验节点的值,所有变量节点和校验节点更新完一次称之为一次迭代结束,直到变量节点译码成功或者达到最大的迭代次数译码输出。因此,完整的BPA(也称SPA或MPA)表述如下:1) 初始化:,其中表示的是信道的先验概率。2) 校验节点更新:,则有3) 变量节点更新: 其中是一个使得的值4) 似后验概率更新 同样是一个使得的值5) 比特判决:如果,判决;否则判,()若,或者迭代次数达到最大迭代次数,

9、则结束迭代,将作为译码输出;否则返回到步骤2)继续迭代。2.3Log-BP算法由2.2介绍的BP算法可以看出BP算法比较复杂,且该算法需要很多连乘运算,需要大量的运算时间和消耗大量的硬件资源,不便于硬件实现,因此,又发展出了一种更加简便的对数域的BP算法,简称Log-BP算法。考虑一个二值随机变量,它的对数似然比定义为根据对数似然比的定义,令再对以上的BP算法在对数域内进行一系列的化简,最终可获得Log-BP算法的完整表述:1) 初始化:2) 校验节点更新:3) 变量节点更新:4) 似后验概率更新:5) 比特判决:如果,则判;否则判,()若,或者迭代次数达到最大迭代次数,则结束迭代,将作为译码

10、输出;否则返回到步骤2)继续迭代。2.4Min_Sum算法(最小和译码算法)由于Log-BP算法仍然具有连乘与反三角函数,因此仍然比较复杂,进而又发展出了Log-BP算法的近似算法,Min_Sum算法。最小和译码算法的优点是对LDPC码并行的迭代软译码算法,故其运算比BP算法以及Log-BP算法都要简单,它仅采用求最小值以及相加运算,而不需要乘法运算。通过一系列的数学化简与近似运算,可在Log-BP算法的基础上得到Min_Sum算法的完整表述, Min_Sum算法仅步骤2)与Log-BP算法不同,其余的步骤均和Log-BP算法的步骤相同,Min_Sum算法的步骤2)为:2) 校验节点更新:其中

11、为每一个的符号,其余步骤及循环、迭代运算均与Log-BP算法一致。三、译码算法的实现在此选取C语言来实现译码算法,并且采用C与Matlab联调的方式来验证译码程序的结果,Matlab里完成m文件和script的编写,C语言与Matlab之间的联调通过Matlab的MEX文件来实现。译码算法程序流程图:图3.1 译码算法程序流程图译码程序输入的输入参数为信道接收到的码字,信道高斯噪声方差以及校验矩阵,按照以上程序流程运行后返回译码码字,其中MAX为最大迭代次数。具体的译码程序和Matlab的MEX文件中各函数的定义,调用以及各自的实现方式如下图:图3.2 函数的调用及实现关系图四、实验仿真结果及分析4.1仿真结果在仿真过程中,分别取不同的几个信噪比,对应于每个信噪比取一定数量的传输码字,经过编码、加噪和译码的流程最终得出误码率biterr,并画出对应信噪比误码率biterr的图形。以Blks和SNR为实验条件,通过变化SNR和相应的Blks来进行仿真,用以衡量LDPC信道编码的性能,其中Blks为对应信噪比所传输的码字数量,SNR为信号与噪声的幅值比,实验图形如下:图4.1Blks = 26 32 22 674 1500 2000;SNR = 0.85

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论