毕业设计(论文)-基于MATLAB的LDPC码的仿真与研究.doc_第1页
毕业设计(论文)-基于MATLAB的LDPC码的仿真与研究.doc_第2页
免费预览已结束,剩余23页可下载查看

下载本文档

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

文档简介

1淮南师范学院2012届本科毕业论文目 录摘 要(1)1 绪论(3)1.1无线通信发展状况(3)1.2 ldpc发展动态(5)1.3 本论文的主要工作(5)2 ldpc码的原理(5)3 ldpc码校验矩阵构造(6)3.1校验矩阵的随机构造(7)3.2校验矩阵的结构化构造(9)4 ldpc码的编码(11)4.1密集编码(11)4.2 lu分解(11)4.3 高斯消去(12)4.4 ldpc码的有效编码(12)5 ldpc码的译码(14)5.1 bp译码(14)5.2 降低复杂度的bp译码(16)6 运用matlab对ldpc码仿真(20)6.1不同码长对ldpc码的影响(20)6.2不同迭代次数对ldpc码的影响(20)6.3不同列重对ldpc码的影响(21)6.4 本章小结(22)结论(22)参考文献(23)致谢(24)1淮南师范学院2012届本科毕业论文基于matlab的ldpc码的仿真与研究学生:指导教师:淮南师范学院电气信息工程学院摘 要:随着无线通信技术的发展和各种传输方式对可靠性要求的不断提高,信道编码作为抗干扰技术的重要手段之一,在数字通信技术领域和数字传输领域显示出越来越重要的作用。目前3g和4g无线通信系统的信道编码的主流技术是turbo码,其具有接近香农极限的优异性能,但是在码长较长的情况下,其误码性能还有待于提高。ldpc码是一种线性分组码,和turbo码同属于复合码类。两者的性能相近,且两者的译码延迟都很长,其适用一些实时性要求不是很高的通信。但是在码长较长的情况下,ldpc码比turbo码的译码性能更高而且在误码率上,在硬件应用和应用方面ldpc具有更大的优点。本课题主要研究ldpc码在不同条件下的误码率,译码算法和应用上相比其他编解码技术的优点,为b3g和4g无线通信系统的信道编码提供理论依据。本论文所做工作如下:本文阐述了ldpc码的基本原理和分析ldpc码关键技术及影响性能的因素;对ldpc码进行编码在matlab软件的环境下进行仿真,在仿真的图像上进行性能的分析;运用仿真的图像对ldpc和turbo在误码率上进行分析比较;在研究ldpc码基本理论的基础上,利用matlab仿真比较不同码长、列重和迭代次数对ldpc码性能的影响,为b3g和4g移动通信提供了有利的参考价值。关键词:ldpc码; matlab;仿真research and simulation of ldpc code based on matlab student: chen chengteacher: wang qian chunelectronic and information engineering department of huainan normal university abstract:along with the wireless communication technology development and all kinds of transmission way to improve the reliability requirements, channel coding as one of the importantmethods anti-interference technology in digital communication technology field and digital transmission field shows that more and more important role. current 3 g and 4 g wireless communication system of channel coding technology is the mainstream of turbo yards, it has the close to shannon, the excellent properties of the limit, but in yards long long, its error performance needs improving. ldpc code is a linear space-time block codes, and turbo yards with belong to the compound of code. both similar performance, and both decoding delay are very long, it is some real time requirement of communication is not very high. but in the code length is longer, ldpc code than turbo decoding yards in the ber performance and higher, application and application in the hardware has more advantages of ldpc. this topic research ldpc code in different conditions ber, decoding algorithm and application compared with the other decoding technology advantages, for three g3g and 4 g wireless communication system provides the theory basis for the channel coding.this paper work are as follows: this paper expounds the basic principle and ldpc code analysis ldpc code key technology and influence factors of performance ;the ldpc code in the matlab software code under the environment of the simulation, the simulation of the image in the performance analysis; in the study of the basic theory of ldpc code, based on the use of computer simulation code length, and all heavy and iteration.number of b3g ldpc code affect performance and 4g mobile communication provides favorable reference value.key words: ldpc code ;matlab;simulati19淮南师范学院2012届本科毕业论文1 绪论 21世纪是一个信息化的时代,信息的传输即通信起着支撑的作用。随着科学技术的发展,人们对通信的要求与日俱增,世界各国都在致力于现代通信技术的研究与开发。无线通信是现代通信系统的重要组成部分。经过专家和学者的努力,在过去几十年中,无线通信已经取得了很大程度上的进步。但是现代社会的发展是更加迅速的,这就对无线通信提出了进一步的要求,不仅要高速率的传输数据,而且要高质量的传输数据。为了满足这种高速率和高质量的传输需求,本文提出了一种新的编码调制技术。1.1 无线通信发展状况古时“千里眼,顺风耳”表达了人们对通信特别是远距离通信的向往。19世纪末,马可尼无线通信实验的电报声宣布了一个新时代的到来。二十世纪是无线通信发展的黄金时期,40年代无线通信理论得到了长远的发展。可捷尔尼可夫和香农为无线通信理论的发展做出了卓越的贡献。近20年,无线通信的发展经过了三代。1978年底,美国贝尔实验室研发了高级移动电话系统(amps,advanced mobile phone service),建成了模拟蜂窝语音通信系统,诞生了第一代无线通信系统。同时,其他国家也研发出采用频分多址(fdma,frequency division multiple access)方式的模拟蜂窝无线通信系统,包括以美国amps,英国tacs(total access communication system),北欧nmt450/900等。二十世纪八十年代,进入了数字通信的时代,欧洲率先研发出了全球移动通信系统(gsm,global system for mobile communication),日本和美国也研发了自己的标准。二十世纪九十年代,美国推出了窄带码分多址(cdma,code division multiple access)数字蜂窝无线通信系统。这也就是目前正普遍使用的无线通信系统,即第二代无线通信系统。第二代无线通信系统主要支持语音和低速率的数据业务。当今世界的第二代数字无线标准,包括gsm、d-amps、jdc(japan digital cellular)和is-95cdma等,仍然是窄带系统。现有的无线通信网络主要以gsm和cdma为主,采用gsm、gprs、cdma的is-95b技术,速率可达115.2kbit/s,全球移动通信系统(gsm)采用增强型数据速率(edge)技术,速率可达384kbit/s。随着人们的物质和文化水平的提高,对无线通信业务的需求日益增多,这种现存的无线通信网难以满足新的需求。为适应新的需求,第三代(3g,3rd generation)无线通信系统成为技术发展的必然。3g于1985年由国际电信联盟itu(international telecommunication union)提出。目前,被世界公认的主流标准为:欧洲和日本提出的wcdma、北美的cdma2000和中国的td-scdma方案。虽然3g在通信容量和质量上较2g有了较大的提高,但是其核心技术没有发生革命性的变化,所以3g可看作是2g向未来无限通信系统发展的一个过渡。随着时代的发展,人们已经提出了b3g乃至4g无线通信系统,该系统有着不可替代的优点,不仅进一步提高了系统的容量和数据的传输质量,而且可实现数据的高速率和高质量传输。b3g和4g系统涵盖了现有的3g和3g增强型技术以及新的移动接入和本地接入系统。在各种技术中,正交频分复用(ofdm)技术受到了极大的关注。b3g蜂窝移动通信系统需要具备以下能力:(1)支持全ip高速分组数据传输,数据速率可高达数百mbit/s。(2)支持高传输质量,传输数据的误码率低于。(3)提供高的频谱利用率和功率效率,发射功率降低10db以上。(4)支持高终端移动性,移动速度高达几百km/h。(5)能够支持在用户数据速率、用户容量、服务质量和移动速度等方面大范围的动态变化。为满足这些技术上的需求,b3g移动通信系统必须在系统理论、网络结构和关键技术等方面具有突破性的改变,具体为:(1)在网络结构方面,将采用全ip、分布式、自组织和多层的无线广带个人通信新体制和新模式,以对抗2g以上电波传输特性的挑战,并适应未来移动通信以数据业务为主的需求。(2)在传输体制方面,传统的单载波时分多址技术和码分多址技术很难直接推广到广带传输,必须采用多载波并行传输体制,而设计高度灵活的多载波传输方案是设计b3g移动通信系统的一个关键。(3)在编码与调制技术方面,将采用新型的自适应编码调制技术,而包括其在内的、高效的自适应链路技术则是b3g移动通信的另一个关键技术。(4)在空中接口方面,将采用分布式的接入方式,多天线环境下多输入多输出(mimo)无线通信系统的理论将突破传统的无线通信系统理论,成为未来移动与无线通信系统理论的核心。(5)在天线与射频技术方面,将采用新型的多天线和阵列天线技术以及宽高线性度射频技术。1.2 ldpc发展动态 在20世纪60年代gallager在他的博士论文中提出了低密度分组校验码ldpc(low density parity-check code),也称为gallager码,是校验矩阵稀疏的线性分组纠错码。经数十年的沉寂,随着计算机能力的增强和相关理论的发展,mackay和neal重新发现了它,并证明它在与基于bp(belief propagation)的迭代译码相结合的条件下具有逼近shannon极限的性能。ldpc的重新发现是继turbo码后纠错编码领域又一重大进展。ldpc码的特点是:性能优于turbo码,灵活性大;译码复杂度低于turbo码,可以完全并行操作,硬件复杂度较低,所以硬件易于实现;描述简单,对严格的理论分析具有可验证性;吞吐量很大,能够高速译码。经过大量实验表明,awgn信道下,码长足够长时码率为1/2的非正则ldpc码可达到距离香农限0.13db。ldpc码在数据可靠传输中的良好应用前景引起了学术界和it业界的高度重视,成为现今信道编码领域最受瞩目的研究热点之一。下一代数字卫星视频广播标准dvb-s2已经采纳了基于ldpc码的编码方案,在第四代通信系统ldpc码将得到广泛的应用。1.3 本论文的主要工作本论文做了如下工作:对数字通信与差错控制编码的基本理论进行了概述。介绍了ldpc码的历史与发展,并对ldpc码的编译码算法的研究现状进行阐述了其在各个方面的应用,介绍了ldpc码的编解码的设计和译码的算法。重点运用matlab软件对其ldpc码码长,列重和迭代次数进行仿真:(1)应用matlab软件针对规则ldpc码码长分别为300、500和1000,列重选择。(2)应用matlab软件针对码长为500,译码的最大迭代次数为20,校验矩阵每列的列重分别为2、3和4情况下进行了仿真实验。(3)应用matlab 软件针对码长500 的规则ldpc码,列重为2,译码迭代次数分别为10、20和40的情况下进行了仿真实验。 (4)对ldpc码和turbo码在误码的性能上进行仿真并且进行系统的分析2 ldpc码的原理 ldpc码是一种非常特殊的线性分组纠错码。通过生成矩阵g可以将线性分组纠错码要发送的信息s转换成被传输的码字t,与g对应的是校验矩阵h,满足ht=0。ldpc码校验矩阵中非0元素的个数远远小于0元素的个数,是稀疏矩阵。ldpc码可以分为规则(regular)码和非规则(irregular)码两种,二者的主要区别在于它们的校验矩阵的行和列权重是否变化。假设ldpc码的校验矩阵h是mn维,而且满秩,则ldpc码长为n,校验位为m,信息位则为k=m-n,码率r=k/n。h矩阵中每行“1”的个数为行权重,每列中“1”的个数为列权重。h矩阵可以用二部图(tanner图)来表示,如图1所示。下边的n个节点代表n个码字,称为信息节点(message node)或比特节点(bit node);上边的m个节点代表m个校验式,称为校验节点(check node)。当矩阵中元素时,信息节点n和校验节点m就可以通过对应的边(edge)连接起来,连接两个节点的边称为这两个节点的相邻边,相互连接的两个节点称为相邻节点,和每个节点连接的边的数量称为该节点的度(degree)。对于规则ldpc码,校验矩阵h中行权重和列权重都是固定不变的,在二部图上,信息节点和校验节点的度都分别为固定值,我们用(n,j,k)来表示,其中n为码长,j为校验矩阵的列权重,k为行权重。对于非规则ldpc码,其tanner图中上、下任一个节点的度数都不是固定值,分别占上、下总度数的一定比例、。规则码是非规则码的一个特例。图1 校验矩阵对应的tanner图3 ldpc码校验矩阵构造 在介绍ldpc码校验矩阵的构造之前,首先阐述一下什么是girth。图2中,粗线部分构成了长度为6的环,二部图中最短环的环长称为该图的girth。girth是构造校验矩阵的非常重要的指标。二部图中girth的值越大,校验矩阵的性能就越好,一般要求girth最小为6。图2 二部图中的girth3.1 校验矩阵的随机构造1 gallager构造法gallager基于gf(2)域上定义的(n,j,k)ldpc码,其校验矩阵h的构造如下:(1)将gallager码的监督矩阵按行划分成j个部分(每部分包含相同的行数),每一部分的每一列中只包含一个“1”。(2)第一部分构造的矩阵中,“1”比特在行中按降幂排列,在第一行中,第1到k个元素为“1”,其余为0;在第2行中,从第k+1到2k个元素为“1”,其余为0;如此安排,第i行中,从第(i-1)k+1到第ik个元素为“1”,其余为0。(3)其余j-1部分的构造是对第一部分进行列的随机重排。该构造法可以保证每列有j个“1”,每行有k个“1”。图3给出了由gallager构造法构造的(20,3,4)的ldpc码校验矩阵,码长为20,j=3,k=4。图3 gallager构造的(20,3,4)的ldpc码校验矩阵2 mackay构造法mackay提出了3种校验矩阵的构造方法,使其二部图中循环的数目最少,得到的矩阵去掉了长度为4的短环,分别如下:(1)构造1a 这是一种最基本的构造方法,保证矩阵列重t,通常取t=3,保证行重在每行中均匀分布,而且任意列间不存在长度为4的短环。如图4所示。图4 1a构造(2)构造2a 矩阵中有m/2列列重为2,用2个m/2m/2的单位矩阵上下摆放,其余的(n-m/2)列按照1a法构造,任意列间的重叠不超过1。如图5所示。图5 2a构造(3)构造1b、2b 从1a、2a中特意删去二部图中一些出现短环的列,再插入随机产生的列,使二部图中不再存在小于某个长度的girth(如girth为6)。3.davey构造法davey构造法把每个节点按照它们的度d变成d个节点,然后构造二部图。设h中所有非0元素的个数为t,则有,下半部和上半部分别有t个节点()和()。把列重为i的列用i个下节点表示,用其列号表示这些节点,同样把行重为j的行用j个上节点表示。接下来对上节点进行随机排列构造校验式,为确保不出现双边,即一个上节点的两条边参与同一个校验式,在排列时要保证同名的上、下节点不相互对应。4.比特填充及扩展的比特填充方法比特填充(bit-filling)算法可以解决以下三个问题:一是给定正整数a、b、g、m,其中g是偶数,构造一个mn维校验矩阵h,每列有a个1,每行最多有b个1,girth为g,码率尽量大;二是给定变量节点数n、度为a,校验节点数m、度为b,满足na=mb,使得g较大;三是给定n、a、g,使得m较小,也就是使码率较大。比特填充算法的实现:假设我们已得到一个校验矩阵h,n列、列重a、行重未超过b、girth大于等于g,现在在h上添加第n+1列:用一个初值为空的集合表示第n+1列,该集合长度为a,元素为各校验节点,是l,2,m的子集之一,再假设已添加j个元素到(0ja),按条件再添加第j+1个元素到,这样循环往复下去就会得到整个校验矩阵h。扩展的比特填充(extended bit-filling)算法是比特填充算法的扩展,该算法通过减少girth到g-2这种方式,在列不能增加时,保证列可以继续增加下去。5.peg方法peg(progressive edge-growth)方法是xiao-yu hu等提出的,是一种在二部图上以增加girth长度为目的的方法。具体操作如下:对于给定的信息节点数n、校验节点数m和比特节点的分布序列,首先选取新的边,选取时要保证尽量对tanner图的girth没有较大影响,然后选择程序放置,接着继续搜索下一边放置,直至结束。具体算法如下:for i=0 to n-1 for k=0 to d-1if (k=0) edge,是比特节点的第1条入射边,是校验节点在当前图集合中度数最低的。else,在当前图中从比特节点开始采用树形结构扩大到深度为l,直到,;then,是比特节点的第k条入射边,是集合中度数最低的校验节点。3.2 校验矩阵的结构化构造1 有限几何构造法有限几何构造法是基于有限几何中的线和点来进行的,包括欧式几何(euclidean geometry,eg)和投影几何(projective geometry,pg)。eg和pg具有n个点和j条线,满足以下条件:每条线有p个点;任意两点间有且只有一条线;每个点只能落在q条线上;两条线平行或者只有一个交点。与有限几何g对应的gf(2)上的jn维矩阵为h=(),矩阵的行和列分别对应g的线和点。若第i条线包含第j个点,则=1,否则=0。矩阵的某一行表示这条线包含的所有点,重量为q;某一列表示穿过这个点的所有线,重量为q。矩阵的行称为g中线的入射矢量,h矩阵为g中行的入射矩阵,矩阵的行对应信息比特,列对应校验方程,可产生ldpc码。2.bibd组合法平衡不完全区组设计(balanced incomplete block design,bibd)方法:给定一个v元素的集合v=1,2,v,b=为v的子集的集合,r为k的子集数,则(v,b)构成区组设计,而且对任意一对元素(i,j=l,2,v,ij),有个区组同时包括它们,称为平衡不完全区组设计,记为(v,k,)-bibd。=1时的bibd称为steiner系统。在ldpc码中,关联矩阵和校验矩阵有对应关系。如:假设x=(1,2,3,4,5,6,7,8,9),a是12个3元素块的集合,各区组为(1,2,3),(4,5,6),(7,8,9),(1,4,7),(2,5,8),(3,6,9),(1,5,9),(2,6,7),(3,4,8),(1,6,8),(2,4,9),(3,5,7),(x,a)就是一个(9,3,1)-bibd。它的关联矩阵如下:在bibd中,任两个元素相遇的次数都是1,构造的校验矩阵可以确保不存在girth为4的环。4 ldpc码的编码 本小节主要讨论ldpc码随机构造的几种通用的编码方法,包括密集编码方法、lu分解法、高斯消去法和ldpc码的有效编码方法,并对它们的编码复杂度进行了比较。4.1 密集编码设校验矩阵h的所有行都是线性无关的。根据分组码定义,编码后的码字x必须满足:hx=0。为了在接收区易于区分信息位和校验位,一般采用系统码。但对于随机构造的校验矩阵h具有非系统码的形式。因此首先将h进行列变换,将h分割成mm的左方阵i和m(n-m)的右矩阵p。同样将x分成m个校验比特c和n-m个系统比特s,有 (1)得到ac+bs=0 (2)因此,得到校验位该方法的计算复杂度表现在计算,约为,但实际中如果采用相同的校验矩阵,其计算复杂度为m(n-m)。4.2 lu分解lu分解法的思想是:若i是非奇异矩阵,则可将i分解为一个上三角矩阵u和下三角矩阵l的乘积,其中l和u也是mn维稀疏矩阵。基本步骤如下:(1)对h矩阵进行lu分解,得到重排后的h、b、l、u。(2)计算z=bs。(3)通过前向消元法解方程ly=z,得到y,其中y是m维列向量。(4)通过后向消元法解方程uc=y,得到c。lu分解的一个基本算法如下所示:(1)设u和l为全零矩阵。(2)设f=h。(3)for i=1 to m找一个f矩阵中第i行第i列的非零元素,或在其后行(或列)的非零元素。重新排列f和h的行和列,使得这个非零元素放入第i行第i列。把f矩阵第i列中的从顶到第i行的元素拷贝到u矩阵的第i列。把f矩阵第i列中的从第i行到底的元素拷贝到l矩阵的第i列。把f矩阵第i行元素模2加到第i列的后行元素中。end(4)把b矩阵设置为重排后的h矩阵最后n-m列。4.3 高斯消去高斯消去法把校验矩阵化简为图6所示的等价下三角矩阵。图6 下三角校验矩阵构造出系统码c=(u,p),使用式(3)计算校验比特。 (3)4.4 ldpc码的有效编码前面介绍的ldpc编码方法都没有办法使校验矩阵始终保持它的稀疏性,为了能够充分保证和利用校验矩阵的稀疏性,提出了一种有效的编码方法,该编码方法复杂度较低,近似线性复杂度,具体步骤如下:(1)三角化为不改变校验矩阵h的稀疏性,仅对h的行和列进行重组,得到近似下三角稀疏矩阵h,如图7所示:图7 近似下三角的校验矩阵表示如下: (4)其中,a的维数为(m-g)(n-m),b为(m-g)g,t为(m-g)(m-g),f为g(m-g),d为gg,e为g(m-g),t是对角线元素为1的下三角矩阵。三角化过程中,使矩阵的间隔g尽量小。(2)秩验算对h左乘矩阵使其成为右下角为0的矩阵检验是否是非奇异,如果是奇异,则与前面列重排,直至为非奇异。(3)编码设码字x=,其中s为信息符号,为校验符号。据方程可得: (5) (6)得到 (7) (8)表1 的计算复杂度矩阵运算计算复杂度asfs+ fs表2 的计算复杂度矩阵运算计算复杂度asas+该算法总的计算复杂度为,优于前几种算法。5 ldpc码的译码 ldpc码的迭代译码方法是ldpc码能够得以迅速发展的主要原因,该译码方法使得ldpc码不仅描述简单,译码复杂度低,而且可以并行操作,便于硬件实现,具有接近shannon极限的优异性能。gallager提出的译码方法可以被当作是tanner图上的置信传播算法(bp,belief propagation algorithm),亦可以叫作和积算法(sum product algorithm)。本小节阐述了概率域的bp算法和对数域的llr bp算法,然后介绍并分析了几种简化的bp译码算法,并对它们的复杂度和性能进行比较。5.1 bp译码1 概率bp算法和积(bp)算法是由多变量函数通过因子图中的比特节点和校验节点,以及比特节点和校验节点间的更新规则来得到以某个变量为参数的边缘函数,函数值消息沿边传输,在节点更新。定义如下符号:为比特节点的概率,l(m)=n:=1为参与校验集所有比特节点的集合,l(m)n为除了外的l(m),是在m(n)m已知的条件下,信息比特的概率,是在给定和所有l(m)n条件下满足校验=0的概率。译码采用基于tanner图的概率迭代算法。译码过程中,比特节点向与其相连的所有校验节点发送消息,通知节点处于状态b的概率,用于更新节点上的消息。然后校验节点向父节点发送己更新的消息,通知它满足校验时节点应处于的状态。一轮更新后,产生一个估计码字,若满足h=0,则译码成功;否则再迭代上述过程。如果达到迭代的最大值后仍没有满足校验,则译码失败。可以表述如下:(1)初始化,(2)校验节点更新令=-,则=-=,=(1-),=(1+)。(3)比特节点更新,选择合适的,使+=1。(4)更新伪后验概率,选择合适的,使+=1。(5)译码判决(若()0.5,判定=1;否则=0。如果使或到达最大迭代次数,则结束;否则迭代次数加1,转到步骤(2)。2 llr bp算法llr bp算法是将概率消息用对数似然比来表示,由此就可以用计算量较小的加法运算来代替计算量较大的乘法运算,这样计算时间就可以大大减少。定义: (9)llr bp算法计算过程如下:(1)初始化 首先算出初始概率似然比消息,该消息是由信道传向信息节点的,接着对所有信息节点i和与其相邻的校验节点j,给出信息节点传递给校验节点的初始消息 (10)(2)校验节点更新 计算所有的校验节点j第l次迭代时变量节点传递给校验节点的消息 (11)(3)信息节点更新 计算所有的信息节点i第l次迭代时校验节点传递给变量节点的消息 (12)(4)译码判决 对所有的变量节点计算硬判决消息。若,则;否则。如果使或达到最大迭代次数,则结束;否则转到步骤(1)。5.2 降低复杂度的bp译码bp算法能够得以普遍应用,不仅因为其具有优异的译码性能,而且因为其具有较低的复杂度。如何能得到译码性能和复杂度的折衷,是一个有待于研究的问题。fossorier等人提出了几种简易算法,这些简易算法都是基于llr bp算法的,仅仅采用加法运算就可以成功地译码,在很大程度上降低了译码的复杂度。下面加以介绍并进行分析比较。1 迭代app算法迭代app(a posteriori probability)算法:在变量节点的处理中,只采用加法运算,但算法的实现复杂度还可进一步降低。如果在要传递的变量节点之间引入相关性,这样传递的就是内部消息而不再是外部消息,需要计算和存储的就仅仅是一个变量消息值,从而可以降低算法的复杂度。迭代app用llr bp算法中的代替参与校验消息的迭代,这样就通过传递内部消息而大大降低了系统的复杂度。2 ump bp-based算法(最小和或最大积)llr bp算法中校验节点的处理可以进一步推导为 (13)由于 (14)所以 (15)ump(uniformly most powerful)bp-based算法又称为最小和(min sum)算法或最大积(max product)算法,该算法是用式来处理llr bp算法中校验节点的消息,此时校验节点的迭代只有比较算法和加法运算,计算的复杂度就大大降低了。对于加性高斯白噪声信道,该算法不需要信道估计。3 app-based算法迭代app算法仅对变量消息的计算进行简化,而ump bp-based算法仅对校验消息的计算进行简化。如果对校验消息和变量消息的计算都进行简化,运算的复杂度将会进一步降低,ump(uniformly most powerful)app-based算法就将bp-based算法与迭代app算法结合在一起。译码步骤如下:(1)初始化 首先算出初始概率似然比消息,该消息是由信道传向信息节点的,接着对每一变量节点i,设定变量节点传递给校验节点的初始消息 (16)(2)校验节点更新 计算所有的校验节点j第l次迭代时变量节点传递给校验节点的消息 (17)(3)变量节点更新 计算所有的信息节点i第l次迭代时校验节点传递给变量节点的消息 (18)(4)译码判决 对所有变量节点计算硬判决消息。若,则;否则。如果使或达到最大迭代次数,则结束;否则转到步骤1)。该算法同样也不需要信道估计。4 与标准bp算法的比较为了比较llr bp算法、ump bp-based算法和ump app-based算法的复杂度,对于码率1/2的ldpc码(n,p,2p),对以上三种算法进行了比较,每一次迭代计算量如表3所示。表3 译码算法计算量比较译码算法加法运算乘法运算除法运算llr bpump bp-based-ump app-based-由表3可知,ump bp-based算法和ump app-based算法只有加法运算,跟bp算法比较,计算量大大减小了。同时,为了比较了三种译码算法的误码性能,本论文对三种算法进行了仿真比较,仿真采用的是(1532,3,6)ldpc码,qpsk调制,awgn信道,仿真结果如图8所示。从仿真结果可以看出,采用两种简化算法,虽然计算复杂度有所降低,但误码性能同时也有一定程度的降低。bp-based算法只有加法运算,snr在误码率为时比llr bp算法多损失约0.5db;而app-based算法的计算量约为bp-based算法的1/2,在误码率为时又多损失了约0.5db。相比较而言,bp-based算法更实用些。图8 三种译码算法性能比较23淮南师范学院2012届本科毕业论文6 运用matlab对ldpc码仿真 matlab是一个大家常用的通信仿真平台,本章利用matlab软件在其平台上通过仿真得出图形来理论分析说明码长、列重和迭代次数对ldpc码性能的影响从而更好的在通信中运用ldpc码。 6.1 不同码长对ldpc码的影响应用matlab软件在列重和迭代次数选择一定值时选取三种不同的码长进行仿真比较对上所述选取ldpc码码长分别为300、500和1000,列重选择2,最大迭代次数设置为20,仿真结果如图9所示。图9 不同码长对ldpc码性能的影响从图9的仿真图像可以清楚地看出:在信噪比相同的条件下,ldpc码的性能随着码长的增加而不断提高但是在小信噪比区域,码长的增加对误码率的改进不大,但随着信噪比的增大,ldpc码的误码率得到明显的提高。在误码率为很小时,码长为1000的ldpc码比码长为500和300的ldpc码,信噪比分别降低了约0.3 db和0.6 db。但随着码长的增加,ldpc码性能的提高是相对的,当达到一定码长后,性能将会有很小的提高。这是因为一定码长下编码性能有一定的极限,随着码长的增大,编码和译码的复杂度也增加,编码性能就会更接近极限,性能随码长增加改善的就更少。6.2 不同迭代次数对ldpc码的影响应用matlab软件在列重和码长选择一定值时选取三个不同的迭代次数进行仿真比较对上所述选取的迭代次数分别为10,20,40,列重选择2,码长选择为500,仿真结果如下图10所示。图10 不同迭代次数对ldpc性能的影响 从图10所示的仿真结果可以看出:在相同的信噪比下,ldpc码的性能随着迭代次数的增加而逐渐提高。在误码率为l0 时,译码迭代次数为40的ldpc码比迭代次数为20和l0的ldpc码,信噪比分别降低了约016 db和05 db。但是ldpc码的误码率并不能随着迭代次数的增加无限地减小,当迭代次数足够大的时候,再增加ldpc码的迭代次数,只能增加系统的时延和复杂度,而ldpc码的性能不会再有提高。6.3 不同列重对ldpc码的影响应用matlab软件在迭代次数和码长选择一定值时选取三个不同的列重进行仿真比较,对上所述选取的列重分别为2,3和4迭代次数选择20,码长选择为500,仿真结果如下图11所示。图11 不同列重对ldpc性能的影响从图11的仿真结果可以看出,在相同的信噪比下,随着列重的增加,ldpc码的误码率增大。分析其原因,因为仿真过程中所用的码长不够大,校验矩阵不是足够稀疏,增加列重,会在一定程度上降低检验矩阵的稀疏性,在校验矩阵不是足够稀疏的情况下,稀疏性的一定提高会给编码对应的tanner图带来大量短长度的环。而短长度的环,尤其是长度为4的环的增加将会使bp算法的性能恶化,导致ldpc码的性能的下降。因此随着列重的增加,ldpc码的性能有所下降。这种ldpc码性能上的下降将会随着码长的增加而逐渐减少,当码长足够长,列重的增加对校验矩阵的稀疏性的影响相对较少,且在译码时,列重大的ldpc码比列重小的ldpc码得到更多的校验信息,从而得到更可靠的译码,所以此时,随着列重的增加,ldpc码的性能将会得到改善。但是当列重增加到较大时,因为校验矩阵不具有稀疏性,性能会随着列重的增加严重下降。6.4 本章小结本文对ldpc码做了深入的研究,然后应用matlab软件对码长、列重和迭代次数对ldpc码性能的影响进行了仿真实验,通过仿真和理论分析得到如下结论:ldpc码长码的误码性能优于短码的误码性能,但当码长达到一定值后,再增加码长,ldpc码的误码率降低的幅度将不大。当码长较小时,增加列重,ldpc码的性能将变差;但当码长足够大时,增加列重,ldpc码的性能将得到改善,但当列重达到一定值时,随着列重增加ldpc码的性能将变差。增加译码迭代次数,ldpc码的性能将得到改善;但当迭代次数足够大时,再增加迭代次数,ldpc码的误码率将不会再降低。因此,为了达到一定的性能,要综合考虑ldpc码的码长、列重和迭代次数。结论 随着科学技术的发展,人们对无线数据和多媒体业务的需求越来越高,beyond3g以及4g移动通信系统的目标是实现高质量的移动多媒体传输。上世纪90年代末,信道编码领域的一个重大发现是低密度奇偶校验码的再度利用。受到了turbo码的启示,人们在gallager六十年代提出的ldpc码的基础上,构造出新型的低密度校验(ldpc)码。ldpc码是一种校验矩阵为稀疏矩阵的线性分组纠错码,采用迭代译码算法时表现出接近shannon限的优异性能,且译码算法可以并行操作,能够实现数据的高质量传输。本文通过对ldpc 码的发展研究状况做了详细的阐述。并且在ldpc 码方面,在研究ldpc 码编、译码原理的基础上,提出了基于生成矩阵的非正规ld

温馨提示

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

评论

0/150

提交评论