LDPC码是一种线性分组码,它于1962年由Gallager提出,之后很长一段时间没有收到人们的重视。直到1993年Berrou等提出了turbo码,人们发现turbo码从某种角度上说也是一种LDPC码,近几年人们重新认识到LDPC码所具有的优越性能和巨大的实用价值。1996年MacKay和Neal的研究表明.采用LDPC长码可以达到turbo码的性能,而最近的研究表明,被优化了的非规则LDPC码采用可信传播(Belief Propagation)译码算法时,能得到比turbo码更好的性能。

和另一种近Shannon限的码——Turbo码相比较,DLPC码主要有以下几个优势:

1.LDPC码的译码算法,是一种基于稀疏矩阵的并行迭代译码算法,运算量要低于Turbo码译码算法,并且由于结构并行的特点,在硬件实现上比较容易。因此在大容量通信应用中,LDPC码更具有优势。

2.LDPC码的码率可以任意构造,有更大的灵活性。而Turbo码只能通过打孔来达到高码率,这样打孔图案的选择就需要十分慎重的考虑,否则会造成性能上较大的损失。

3.LDPC码具有更低的错误平层,可以应用于有线通信、深空通信以及磁盘存储工业等对误码率要求更加苛刻的场合。而Turbo码的错误平层在10-6量级上,应用于类似场合中,一般需要和外码级联才能达到要求。

4.LDPC码是上个世纪六十年代发明的,现在,在理论和概念上不再有什么秘密,因此在知识产权和专利上不再有麻烦。这一点给进入通信领域较晚的国家和公司,提供了一个很好的发展机会。

而LDPC码的劣势在于:

1.硬件资源需求比较大。全并行的译码结构对计算单元和存储单元的需求都很大。

2.编码比较复杂,更好的编码算法还有待研究。同时,由于需要在码长比较长的情况才能充分体现性能上的优势,所以编码时延也比较大。

3.相对而言出现比较晚,工业界支持还不够。

目前,LDPC码被认为是迄今为止性能最好的码。LDPC码是当今信道编码领域的最令人瞩目的研究热点,近几年国际上对LDPC码的理论研究以及工程应用和VLSI(超大规模集成电路)实现方面的研究都已取得重要进展。基于LDPC码的上述优异性能可广泛应用于光通信、卫星通信、深空通信、第四代移动通信系统、高速与甚高速率数字用户线、光和磁记录系统等。LDPC码可以用非常稀疏的校验矩阵或二分图来描述,也就是说LDPC码的校验矩阵的矩阵元除一小部分不为0外,其它绝大多数都为0。通常我们说一个(n,j,k)LDPC码是指其码长为n,其奇偶校验矩阵每列包含j个1,其它元素为0;每行包含k个1,其它元素为0。j和k都远远小于n,以满足校验矩阵的低密度特性。校验矩阵中列和行的个数即j和k为固定值的LDPC码称为规则码,否则称为非规则码。一般来说非规则的性能优于规则码。

一、编码部分

LDPC码所面临的一个主要问题是其较高的编码复杂度和编码时延。对其采用普通的编码方法,LDPC码具有二次方的编码复杂度,在码长较长时这是难以接受的,幸运的是校验矩阵稀疏性使得LDPC码的编码成为可能。目前,好的编码方法一般有如下几种情况:

1、T.J.Richardson 和R.L.Urbanke 给出了利用校验矩阵的稀疏性对校验矩阵进行一定的预处

理后,再进行编码。

2、设计LDPC 码时,同时考虑编码的有效性,使H矩阵具有半随机矩阵的格式。

3、H 矩阵具有某种不变特性所采用的其他编码方法,例如基于删除译码算法

提出的编码方案。

这几种编码方案都是在线性时间内编码的有效算法,初步解决了LDPC 码的应用所面临的一个主要问题。下面对这几种编码方案作一些简单的说明。

LDPC 码有很多种译码方法,本质上大都是基于Tanner 图的消息迭代译码算法。根据消息迭代过程中传送消息的不同形式,可以将LDPC 的译码方法分为硬判决译码和软判决译码。如果在译码过程中传送的消息是比特值,称之为硬判决译码;如果在译码过程中传送的消息是与后验概率相关的消息,称之为软判决译码,有时也称为和积译码算法。硬判决译码计算比较简单,但性能稍差;软判决译码计算比较复杂,但性能较好。为了平衡性能和计算复杂度,可以将两者结合使用,称为混合译码算法。根据消息迭代过程中传送的消息是否进行了量化及量化所使用的比特数,我们可以将译码方法分为无量化译码和量化译码。硬判决译码可以看成是1 比特量化译码,软判决译码可以看成无穷多比特量化译码,而混合译码可以看成变比特量化译码。从量化译码的角度看,硬判决译码和软判决译码属于同一类译码方法,已有的研究表明,可以用3 比特量化取得和和积译码算法非常接近的性能。目前主要的硬判译码算法有一步大数逻辑译码算法(MLG),Gallager提出的比特翻转算法(BF),加权的大数逻辑译码算法(WMLG),加权的比特翻转算法(WBF)以及一些对以上几种算法作改进的算法如IWBF等硬判译码算法;软译码算法主要有迭代结构的置信传播算法(BP)(有时也称之为和积算法(SPA)),以及基于标准BP 算法,对信息进行部分处理,降低译码复杂度的译码算法,如UMP BP-based 算法(min-sum 算法),Normlized BP-based 算法,还有基于最优化理论的译码算法如线性规化算法(LP)。下面对译码算法作简单的介绍:

一、硬判译码算法

一步大数逻辑译码算法,主要原理是根据通过一系列的正交方程,比较校验结果1 和0

的数目来完成译码过程。这种译码算法译码结构简单,复杂度较低,但是应用场合有限,只

适用于某些码结构比较特殊的码字,如有限几何LDPC码。

基于 Tanner 图的信息传递的比特翻转算法,在每一次迭代过程,根据某一种准则,决

定将其中的某一个比特进行翻转,直至迭代过程结束,或者校验方程全部满足。这种译码算

法的核心在于确定比特翻转的准则,如Gallager 最初提出的BF 算法,准则是不满足校验方

程个数最多的比特进行翻转,后来提出的加权算法主要是在翻转准则加入变量节点可靠性度

量,改进算法主要是在检测翻转过程中防止出现翻转成环的现象,这些改进都进一步提高了

性能,而没有增加复杂度。

二、软判译码算法

软判译码算法主要包含BP算法及其简化形式,LP算法等。

BP算法中消息的传递形式是对数似然比(LLR),在迭代过程中,每次在变量结点和校验

结点分别按照和规则与tanh 规则更新节点的信息。直至译码结束或者校验方程全满足。BP

算法适用于各类信道,具有逼近香农限的优异性能,但校验节点的消息计算复杂度非常复杂,

为了简化校验节点的消息计算,人们提出了很多简化算法,如UMP(min-sum)译码算法就

是一个有代表性的简化算法,另外为了保证性能上接近与BP 算法,以提出了归一化的BP

算法。各种译码简化译码算法的目的就是在计算复杂度、译码性能及译码时延等方面取得最

优的折中。

线性规化算法(LP)是基于最优化理论提出的一种新的译码算法,主要思想是可以把

译码问题看作一个整数优化问题,通过对约束条件的放缩,形成一个简单的线性规化问题,

利用最优化理论的知识完成译码。这种译码算法的好处在于译码复杂度是线性的,性质便于

分析,开拓了新的译码思路。

几种常见的译码算法性能对比如下:

LDPC编码原理概述相关推荐

  1. 《深入理解Android》一2.1 浏览器工作原理概述

    本节书摘来自华章出版社<深入理解Android>一书中的第2章,第2.1节,作者孟德国 王耀龙 周金利 黎欢,更多章节内容可以访问云栖社区"华章计算机"公众号查看 2. ...

  2. 基于matlab的ldpc编码的构造,基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)...

    基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)(开题报告,论文10700字,程序代码,录像) 摘 要 随着无线通信技术的不断发展与进步,数字电视广播.移动视频点播等对数据吞吐量要 ...

  3. selenium webdriver 原理概述

    背景 虽然掌握selenium webdriver提供的各种方法,就可以做web的UI自动化,但是本着知其然,也要知其所以然的态度,也为了提升自己.了解下selenium webdriver的原理是必 ...

  4. NTLM 工作原理概述

    NTLM 工作原理概述 1. 为何采用NTLM 微软采用 Kerberos 作为 Windows 2000及之后的活动目录域的默认认证协议.当某个服务器隶属于一个Windows 服务器域或者通过某种方 ...

  5. 视频压缩H264编码原理介绍

    一.视频压缩编码概念 编码这一概念在通信与信息处理领域中广泛使用,其基本原理是将信息按照一定规则使用某种形式的码流表示与传输.常用的需要编码的信息主要有:文字.语音.视频和控制信息等. 1. 为什么需 ...

  6. H264编码原理及NALU介绍

    一.简述 流媒体编解码流程大致如图1所示: [流媒体编解码流程 图1] 视频数据编解码层格式包含有:H264,H265,MPEG4等. 本文我们主要对H264编码原理进行整理,并对NALU做简要介绍. ...

  7. 图像特征检测描述:SIFT、SURF、ORB、HOG、LBP特征的原理概述

    版权声明:本文为博主原创文章,转载请标明原始博文地址: https://blog.csdn.net/yuanlulu/article/details/82148429 </div>< ...

  8. nvGRAPH原理概述

    nvGRAPH原理概述 nvGRAPH的API参考分析. 简介 数据分析是高性能计算的不断增长的应用.许多高级数据分析问题可以称为图形问题.反过来,当今许多常见的图形问题也可以称为稀疏线性代数.这是N ...

  9. Vue底层实现原理概述

    Vue是一个典型的MVVM框架,模型(Model)只是普通的JavaScript对象,修改它则视图(View)会自动更新.这种设计让状态管理变得非常简单而直观.那么Vue是如何把模型和视图建立起关联的 ...

最新文章

  1. VMware ESXi 中的 CentOS 硬盘扩容
  2. 如何去掉系统快捷方式的箭头(转载)
  3. javascript笔记——cookie解析
  4. 在servlet中设置的字符编码集为什么还会出现乱码(亲测)
  5. Logback 专题
  6. BBSSDK论坛移动化实现方案
  7. GeneratedKeyHolder的作用:获得新建主键值
  8. cogs62 [HNOI2004] 宠物收养所
  9. 苹果AirPods 2新爆料:无线充电盒重量增加 支持快速充电
  10. 95-34-035-Context-HeadContext和TailContext
  11. Qt总结之六:QPaintEvent绘制雷达图
  12. Spring boot中如何获取profiles环境
  13. Hide()方法不生效
  14. JDBC(4)PreparedStatement
  15. Python爬虫Scrapy入门
  16. java beanshell_Java脚本-BeanShell
  17. 剖析虚幻渲染体系(16)- 图形驱动的秘密
  18. python获得字符串长度的函数_python字符串函数
  19. 现场总线PROFIBUS-DP在风力发电系统中的应用(内附详细说明)
  20. K8S使用habor作为私有仓库

热门文章

  1. CCF CSP 认证相关
  2. 参会记录|全国多媒体取证暨第二届多媒体智能安全学术研讨会(MAS‘2023)
  3. c语言第五章答案许合利,C语言习题答案贾宗璞许合利较全-.doc
  4. STM32F4定时器介绍
  5. 钨极惰性气体保护焊(TIG or GTAW)
  6. 重疾险和医疗险的对比
  7. 数字字母下划线C语言,【判断题】C语言中的标识符只能由字母、数字和下划线三种字符组成,而且第一个字符只能是字母和下划线。...
  8. 已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。
  9. MSDC 4.3 接口规范(7)
  10. MSDC 4.3 接口规范(21)