1、II毕业论文题 目: LDPC 码的编译码算法研究 III摘 要低密度奇偶校验码(Low Density Parity Check Codes,简称 LDPC 码) ,本质上是一种线性分组码,更接近香农限。目前的研究均表明 LDPC 码是信道编码中纠错能力最强的一种码,其译码器结构简单,在深空探测、卫星通信等领域可得到广泛的应用。文章介绍了 LDPC 码,综述了其编码方法和译码方法。在编码方法中分别描述了校验矩阵的构造和基于校验矩阵的编码算法,对 LDPC 码的快速编码方法进行分析。在译码方法中主要论述了消息传递译码算法、置信传播译码方法、最小和译码算法、比特翻转译码算法和加权比特翻转译码方法
2、。对部分 LDPC 码的编译码就行了仿真,同时对 LDPC 码的编译码方法的发展及应用前景作了分析。本文的重点是对 LDPC 码的编译码算法的论述与研究,介绍 LDPC 码的基本原理和分类,分别从基于生成矩阵和基于校验矩阵详细讨论了 LDPC 码编码算法,简单介绍了线性分组码编码,LU 分解法,RU 分解法。并用简明例子对RU 算法做了清晰的解释。对译码大致做了解释:分为软判决译码(MP 算法)和硬判决译码(比特翻转算法和加权比特翻转算法) 。在本文的最后用 AWGN信道下 LDPC 码的性能仿真,主要是针对比特翻转算法进行仿真。做出理论比较。关键词:LDPC 码 编译码 MATLAB IVT
3、itle:Encoding and Decoding Algorithms of LDPC Codes Abstract:LDPC code, namely Low Density Parity Check Code, is a kind of linear block codes in nature, and the decoding performance of LDPC is more nearer to the Shannon limit. With it s best performance and simple decoder structure, LDPC codes will
4、be widely used in deep space exploration, satellite communications and other fields. While briefly introducing LDPC codes are introduced briefly, this paper summarizes the encoding and decoding algorithms. The encoding algorithm is described in two steps: the const ruction of parity-check matrix and
5、 the encoding method based on parity-check matrix. Analyze the rapidly coding method for LDPC code. As to decoding algorithm, MP decoding method, BP decoding method, Min-Sum decoding method, Bit-Flipping method and Weighted Bit-Flipping method are discussed. Emulate for the LDPC codes .The developme
6、nt and application of encoding and decoding methods is analyzed as well.This article focuses on encoding and decoding algorithms of LDPC codes,According to the different methods of decoding algorithm, and makes the theoretical MATLAB simulation.Key words:LDPC codes encoding and decoding MATLABIV目 录1
7、 引言 .12 LDPC 码概述 .32.1 线性分组码 .32.2 低密度奇偶校验码(LDPC 码) .42.2.1 LDPC 码定义 .43 LDPC 码的编码算法 .63.1 基于生成矩阵的编码算法 (线性分组码编码) .63. 2 基于校验矩阵的编码算法 (LU 分解法) .73.3 基于校验矩阵的编码算法(RU 算法) .74 LDPC 码的译码概述 .114.1 MP 算法集 .114.2 硬判决译码算法 .134.2.1 比特翻转算法 .134.2.2 加权比特翻转译码算法 .145 AWGN 信道下 LDPC 码的性能仿真 .155.1 仿真软件简介(MATLAB& SIMUL
8、INK) .155.2 仿真与结果分析 .155.3 译码仿真系统框图及系统总流程图 .165.4 BF 算法及其改进算法仿真 .17结 论 .19致 谢 .20参考文献 .21代码 .2211 引言通信系统的基本目的在于将信息由信源高效、可靠、有时还需安全地传送到信宿。有扰通信信道中的噪声会不可避免地对传输信息产生不同程度的干扰,从而可能降低通信可靠性。所以通信系统设计的核心问题就是在存在随机噪声的信道中如何克服干扰,减小信息传输的差错,同时又不降低信息传输的效率,即如何解决系统的有效性与可靠性之间的矛盾。一般地,通信系统的可靠性用误比特率(BER)来衡量,其有效性则用信息传输速率 R 比特
9、/ 信道符号来衡量。早期的人们普遍认为:通信系统的可靠性与有效性之间是一对不可调和的矛盾,一方的改善总是以牺牲另一方为代价,并指出当功率受限时,在有扰通信信道上实现任意小错误概率的信息传输的唯一途径就是把信息传输速率降低至零。Shannon 信息和编码理论的奠基性论文“通信的数学理论”发表之后,改变了这一观点。他首次阐明了在有扰信道上实现可靠通信的方法,指出实现有效而可靠地传输信息的途径就是通过编码。根据 Shannon 的信息理论,数字通信系统的基本组成如图。图 1.1 数字通信系统基本模型Shannon 的信息理论从通信系统的整体最佳化来研究信息的传输和处理。比特是一种通用的信息表示形式,
10、它本身并不依赖于信源或信道特征。这就允许我们分别设计图 11 所示的两个阶段的信息处理,即信源编码和信道编码。Shannon 不失最佳性地证明了这种分离性。图 11 中的信道部分只是信息传输所通过媒介的一种抽象,实际的信道是多种多样的,如电缆、光缆、存储设备、甚至我们所处的实际空间及外太空等等。对于通信系统设计者来讲,了解系统中信道的特性是必需的。根据信道的输入输出的取值连续与否可以将其分为离2散信道、连续信道和离散输入连续输出信道;根据信道统计特性是否随时间改变可以将其分为平稳信道和非平稳信道:根据信道的输出之间是否具有相关性可将其分为记忆信道和无记忆信道;根据信道的特性对输入端是否具有对称
11、性可以将其分为对称信道和非对称信道。实际应用中所涉及到的信道大多都是离散输入的平稳无记忆对称信道,下面给出几种常用的编码信道模型。二进制对称信道(BSC) :输入为二值变量 0、1,输出也为二值变量 0、l ,且传输过程中发生错误(输入为 0 输出为 1 或输入为 1 输出为 0)的概率与输入无关:二进制删除信道(BEC):输入为二值变量 0、1,输出或为输入的二值变量0、1,或为删除 E,且通常传输过程中不同输入被删除的概率相同;二进制输入高斯信道(BIAWGN) :输入为二值变量,输出为连续变量,且信道中的加性噪声为服从 N(O,万 2)的高斯随机变量。在过去的几十年里,移动通信技术得到了
12、迅猛的发展和广泛的应用,至今已发展了三代。第一代移动通信(1G)是以模拟传输的方式进行语音通话,主要是采用以蜂窝结构网为核心的模拟技术和频分多址(FDMA)动态寻址技术。第二代移动通信(2G)以数字传输的方式进行语音通话和数据业务, 2G 系统采用的是数字的时分多址(TDMA)或码分多址(CDMA)实现动态寻址功能,以 GSM、CDMA 系统为代表,实现了从模拟到数字系统的跨越。第三代移动通信(3G)是着重实现传统的移动通信与开放式的因特网融合,各个国家的网络将融合为一个整体。而在移动通信更新换代中,信道编码技术是其中非常重要的一项。本文所论述的 LDPC 码即是信道编码的其中之一。MATLA
13、B 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用 MATLAB 产品的开放式结构,可以非常容易地对 MATLAB 的功能进行扩充。MATLAB 的数据分析和处理功能十分强大,运用它对所涉及到的 LDPC 编译码进行仿真。32 LDPC 码概述2.1 线性分组码因为低密度奇偶校验码是一种特殊的线性分组码,所以本章将首先对线性分组码做一个概述,为讨论 LDPC 码作铺垫。定义 l:整数 0,l,2,q1,q 是自然数,在模 P 加和乘运算下构成一个伽逻华域 GF(q)。定义 2:如果一个分组码 C
14、,包含 N 个由 GF(q)中的元素构成的码字( ,0C, , ),则当且仅当 C 构成一个 GF(q)上的矢量子空间时,称 C 为 q 进1CN-1制线性码。在本篇论文里,只考虑二进制码,所以 q=2。定义 3:线性码的维数等于对应的矢量空间的维数,一个长度为 N,维数为 K 的线性码总共包括 个长度为 N 的码字。k2线性码还有如下一些有用的性质:性质 1:任意码字的线性组合仍然是一个码字。此性质的一个结论是线性码必然包含一个全零码字。性质 2:线性码的最小距离等于其中一个最轻非零码字的汉明重量。这一性质表明确定线性码的最小距离(决定检错和纠错能力)要比一般的分组码要容易的多。性质 3:线
15、性码中不可检测的错误图案与传输的码字无关,且由所有的非零码字组成。假设( , , , 是组成(N,K)-进制码空闭的一组基底,对任意一0g1 K-1g个码字 cC,存在唯一的表达形式C= + + + (2-1)0a1 K-1ag因为所有基元的线性组合仍然是一个码字,所以存在长度为 K 的码组和 C 中码字之间的一一映射。以下矩阵 G 就是由基矢按行排01K- a., ,列而成。42.2 低密度奇偶校验码(LDPC 码)2.2.1 LDPC 码定义LDPC 码是线性分组码中较为特殊的一种,但是目前 LDPC 码并没有严格的数学定义。考虑到其结构上的特点和叙述上的方便,本文对 LDPC 码做如下的
16、定义。LDPC 码是一个 m 行 n 列的稀疏矩阵 H 的零空间,H 称为 LDPC 码的校验矩阵,并且满足:l、矩阵的行重、列重与码长的比值远小于 1;2、任意两行(列) 最多只有 1 个相同位置上的 1;3、任意线性无关的列数尽量的大。这样的 LDPC 码码长为 n,校验位长度大约为 m,信息位长度为 k n-m。一个规则 LDPC 码是指校验矩阵 H 满足列重和行重分别等于常数 ,和 ,vdc因为我们并没有要求校验 H 是满秩矩阵,所以其码率为:r 1- =1- (2-2)mnvcd(2.3)式是一个 n=10, =2, =4 ,r=0.5 规则 LDPC 码的校验矩阵。v(2-3)10
17、01H010 如果校验矩阵 H 的列重和行重并不是常数,我们就称其为不规则 LDPC 码,我们可以认为规则 LDPC 码是不规则 LDPC 码中的一个特例。不规则 LDPC 码可以用重量分布多项式来方便的描述。假设最大列重和最大行重分别是 和maxvd,则 H 的列重分布多项式maxcd(x)可以表示为:(x)= (2-4 )maxvdi1i2其中, 是重量为 i 的列所占的比例,同时 (x) (1)=1。类似的,H 的行重i 分布多项式 (x)可以表示为:5(x)= (2-5 )maxcdi1i2是重量为 i 的行所占的比例, (x)也满足 (1)=1。此时,码率 r 满足: i r 1-
18、(2-6)10xd值得注意的是,对于一个给定的码长 n 和行、列重量分布多项式,我们得到的是一类 LDPC 码而不是一个特定的 LDPC 码。我们得由上面的叙述我们知道,LDPC 码是由其校验矩阵 H 定义的。对于一个线性分组码,其校验矩阵并不是唯一的。也就是说如果对于线性分组码的校验矩阵做行变换,得到的矩阵也是这个码的校验矩阵。但是,对于 LDPC 码这种特殊的线性分组码而言,由于译码算法的设计和性能分析的需要,我们仅仅关心其属于稀疏矩阵的这个校验矩阵,因此,定义一个 LDPC 码必须给出这个稀疏的校验矩阵才有意义。对于 LDPC 码的生成矩阵,并没有其他特殊的限制。为了分析的方便,我们可以
19、用因子图来表示一个 LDPC 码。图中的变量节点 (i=0,l, ,n-1)与校验矩阵的列(也即码字中的每一位)一一对应,校验节ic点 j(j=0,1, ,m-1) 与校验矩阵的行(也即各个校验方程)一一对应。 和 ;icjf相连接,当且仅当校验矩阵中对应位置的元素是 1。这样,该因子图是一个偶图,其邻接矩阵就是该校验矩阵。图 21 是(27)式中校验矩阵的因子图。由于 LDPC 码定义中的第 2 条的限制,因子图中不会存在长度等于 4 的圈(对任意一个偶图,圈的最小长度为 4)。6图 2.1 LDPC 码的因子图表示一般而言,不规则码的性能要优于规则码,但是实现的复杂度和分析的复杂度都要大得
20、多。非规则码的编译码方法与规则码相似,而其性能却优于规则码,这是因为非规则码的“波浪效应” ,在 LDPC 码的随机双向图中,对信息节点来说,其度数越高,它从校验节点所获得的信息也就越多,也就能更准确的判断其校验值;反之,从校验节点的角度来看,希望度数低,其度数越低,那么传播到相邻节点的有用信息也就越多。而非规则码的随机双向图就很好的平衡了信息节点与校验节点二者对度数的要求。而所谓的“波浪效应”也就是度数大的信息节点首先获得正确值,然后度数小的信息节点也可以获得正确值。非规则码的产生,使规则 LDPC 码的定义产生了变化。在非规则码中,度的变化范围很大,往往最大度可达几十或上百,因此,我们更广
21、泛地把度的变化很微小的 LDPC 码都称之为规则的。非规则码的产生,使规则 LDPC 码的定义产生了变化。在非规则码中,度的变化范围很大,往往最大度可达几十或上百,因此,我们更广泛地把度的变化很微小的 LDPC 码都称之为规则的。3 LDPC 码的编码算法 3.1 基于生成矩阵的编码算法 (线性分组码编码)设 mn 的较验矩阵 H 的所有行都是线性无关的。根据分组码定义,对于输入信源 u,u ,编码后得到的码字 c,c ,满足方程:n-FnFH = 0Tc为了在接受端易于区分信息位和校验位,通常采用系统码。但是,对于任意一个随机构造的校验矩阵 H,它具有非系统码的形式,因此首先需要对给定的校验矩阵 H 进行行列变换,分解成 的形式,其中 A 为 m (n - m)维的矩AB阵,B 为 m m 的满秩矩阵,则码字 c= 满足up