LDPC码简介

  • LDPC码是一种线性分组码,具有硬件可实现的译码器,并在很多数据传输和数据存储上都表现出逼近信道容量的性能。

  • LDPC码用校验矩阵Tanner图表示。

    LDPC码的Tanner 图类似于卷积码的网格图,它提供了LDPC码的另外一种完全表示方法,这种表示方法有助于译码算法的描述。Tanner 图是一种二部图(bipartite graph),也就是说,这种图中的节点被划分为两类,图上的边只连接不同类型的节点。Tanner 图上的这两种节点称为变量节点(variable nodes) 和校验节点(check nodes),分别用VN和CN来表示。一个码的Tanner图可以这样得到:当H中的元素hij为1时,第i个校验节点(CN i)和第j个变量节点(VN j)相连接。根据这种规则,Tanner 图上共有m个校验节点和n个变量节点;每个校验节点和一个校验方程相对应,每个变量节点和一个编码比特相对应。此外,H中的m行指定了m个校验节点的连接,而H中的n列定义了n个变量节点的连接。相应地,由n个变量节点所表示的许用n比特序列正好对应该码的码字。

    • LDPC码的Tanner图对迭代译码器来说起到了蓝图的作用:图上的每个节点相当于一个局部操作处理器:每条边相当于一条总线,其作用是把信息从一个给定的节点传递到每一个与它相连的节点。
    • Tanner图上传递的信息通常是概率信息,比如对数似然比(LLR),它跟分配到变量节点的比特值有关。LDPC译码器由来自信道的n个对数似然比值初始化,这些似然比值由n个VN处理器接收。基础迭代译码算法中,在每一次迭代前半部分的开始阶段,将信道以及与它相邻的校验节点的信息输入每个VN处理器,并根据这些输入计算出结果,再将结果当作输入传递给所有相邻CN处理器:在每一次迭代的下半阶段,将与它相邻的VN的信息输入到每个CN处理器,并根据这些输入计算出结果,再将结果当做输入传递给所有相邻VN处理器。
    • 变量节点与校验节点之间的迭代一直持续到成功译出码字或者达到一个预先设定的最大迭代次数为止。
  • 环的长度等于该环中边的个数。长度为l的环通常也称为一个l环。在给定的二部图中,最小的环长度称为该图的围长(girth)

外信息(extrinsic information)的引入:点兵问题


这个消息传递规则引入了外信息(extrinsic information) 的概念,其主要思想是:一个士兵不会给其相邻士兵传递该相邻士兵已有的信息,即只传递外信息。正是基于这个原因,士兵Y接收到的来自士兵X的总信息中已经剔除了士兵Y自身的信息。我们称士兵X只传递外信息给士兵Y,该外信息可计算如下:

其中,N(X)是士兵X所有相邻士兵的集合,Ix-y代表从士兵X传递到士兵Y的外信息(Iz_→x,Iγ→x具有类似含义),Ix有时也称内信息(intrinsic information) 。Ix正是某个士兵计其自身时的“1”,因此在这个例子里,Ix= 1。

消息传递算法

  • 一个LDPC码可以看成一个SPC码集合通过内部交织器与一个**重复码(REP)**集合的级联。此外,SPC码可看做外码,即它们没有跟信道相连。变量节点悬挂的边是跟信道相连的。

左图描述了其REP (VN)译码器情况。注意,VN译码器既从信道也从它的相邻节点接收LLR信息。然而,在计算外信息Lj→i时,VN j不需要接收从CN i来的信息, 因为不管在何种情况下,该信息都会被去掉。
右图描述了SPC (CN)译码器的情况。跟VN的情况相类似,对一些特定的j在计算Li-j时,CNi不需要接收Lj i,因为在任何情况下,它都将被减掉。 VN和CN译码器之间互相协作并以迭代的方式估算。

  • 在到达VN/CN之间循环预设的一一个最大重复(或迭代)次数,或者满足某些停止准则后,译码器根据比特位做出的判决来计算(估计)出LLR值。当图上的环较大时,这个估计是非常精确的,译码器即可达到近似最优(MAP)的性能。

  • 对SPA的演进基于以下的独立性假设(independence assumption) :每个节点从它的相邻节点接收到的LLR都是独立的。显然,当迭代次数超过Tanner图中围长的一半时,这种独立性假设就不成立了。

LDPC码的译码门限

  • 长码具有译码门限效应,该门限把信道参数空间(比如信噪比)分为可靠通信区域和非可靠通信区域。可以使用密度进化算法确定LDPC码集的译码门限。虽然这里主要针对二进制输入AWGN信道进行讨论,但是该方法适用于多种二进制输入对称输出的信道。
  • 二进制输入AWGN信道的对称输出特性是指信道的转移概率密度函数满足p(y|x=+1)=p(-y|x = -1),二进制对称信道及其他信道也具有类似的关系。迭代译码器采用的和积译码算法同样要求信道输出满足对称条件四,在此不再详细阐述。
  • 假设发送全零码字c = [00…0], 采用x=(-1)°映射,此时信道上传输的是全1序列x=[+1 +1… +1]。将密度进化算法作为确定(do, de)-规则LDPC码译码门限的工具。由于发送的是全1序列x=[+1 +1 … +1],所以在达到最大迭代次数之后,如果译码器中任何一个变量节点的累积对数似然比Ltotal 为负值,那么就会发生译码错误。
  • 对于满足对称条件的信道和译码器,所有变量节点传出消息的概率密度函数是相同的。那么,在无限次迭代后,如果下式成立,任一变量节点的Ltotal 为负值的概率为0,那么就不会产生译码错误。

    取决于信道参数a。例如,对于BSC, a为错误概率ε;对于AWGN信道,a为信道噪声的标准差σ。当码长η→∞时,译码门限定义为

    在AWGN信道中,译码门限是与对应的信噪比。

高斯近似

对于二进制输入AWGN信道,除了量化密度进化外,基于高斯近似的密度进化能够使数值计算更加简单和稳定71。这个算法的思想是通过高斯密度函数(或高斯混合密度函数)近似消息的概率密度函数。由于高斯密度函数完全由均值和方差这两个参数确定,因此在(近似)密度进化时仅需要这两个参数的进化。在一致性假设的条件下,可以仅通过消息均值的进化来确定近似译码门限,从而实现简化。如果消息m的概率密度函数Pm满足下式,则满足一致性条件:

所以,信道消息满足一致性条件,还假设其他消息也近似满足该条件。另外对于满足一致性条件高斯概率密度函数的方差,有以下关系:

我们称正态密度N(μ,2μ)为一致正态密度。这意味着,当消息满足一致性条件时,使用高斯近似的密度进化算法可以只计算消息的均值。因此,对于满足一致性条件/高斯近似的信噪比进化,也是仅仅传播信息的均值。

规则LDPC码的EXIT图

  • EXIT图技术:估计LDPC码集和Turbo码集的译码门限的一种图形工具,可以为迭代译码的动态和收敛性提供直观的信息。这种技术依据高斯近似,而且可以为迭代译码的动态和收敛性提供直观的信息。

  • 思想:基于变量节点处理单元(VNP)和校验节点处理单元(CNP) 联合工作并迭代地做比特判决。

    由于一个处理单元的输出度量是其相邻处理单元的输入度量,可以把两个转移曲线画到同一个坐标系中,但一个处理单元的横坐标和纵坐标要交换。

  • 作用:帮助预测给定变量节点和校验节点度分布的码集的译码门限。

  • 前提假设:无环图、无限码长和无限译码迭代次数。

    例9.7 在图中,转移曲线的度量是外部互信息,这就是外信息转移(EXIT) 图名称的由来。

  • 顶端(实线) IE.v对IA.V的曲线是与VNP对应的外信息曲线。它描绘了互信息IE.v与互信息IA.v的关系,对应于VPN输出的外信息与输入VPN的外信息(先验信息)。

  • 底端(虚线) IA,c对IE,c的曲线是与CNP对应的外信息曲线,它描绘了互信息IA,C与互信息IE,c的关系,对应于输入CPN的外信息(先验信息)与CPN输出外信息的关系(这条曲线是通过计算IE,v关于IA.V 的函数确定的,然后为了画出EXIT图,用相反的坐标绘制)。

  • 在这两条曲线之间是迭代和积译码器的译码轨迹。注意,由于输出VNP (CNP)的外信息是输入CNP (VNP)的先验信息,所以译码轨迹在两条曲线之间“弹跳”。该轨迹始于(0,0) 点(零信息),最终收敛于(1,1) 点(1比特信息,无误码)。这条轨迹使得我们可以观察VNP和CNP之间反复传递的信息量(用比特表示)。当传递的信息量趋近于1时,误码率趋近于0。

  • 当信道SNR增加时,顶端(VNP)曲线上移,同时两条曲线之间的通道间隔和译码器的收敛速度也都增加。这个图的SNR正好在 (3, 6)码集合的译码门限以上,也就是高于(Eb/No)exIT= 1.1 dB。如果SNR低于这个值,通道将会关闭,这阻断了译码轨迹到达误码率为0的(1,1)点的线路。

LDPC码的EXIT图相关推荐

  1. 基于Matlab的LDPC码性能研究毕业设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 本科毕业设计(论文) 题 目    LDPC码性能研究 摘 要     信道编码是数字通信系统的 ...

  2. 初学者LDPC码扫盲

    LDPC码 关于LDPC码 信道编码 奇偶校验 优点 缺点 奇偶校验的改进 优点 缺点 小结 进一步的改进 开始编码 后记 关于LDPC码 关于LDPC码的介绍非常的多,有关的期刊和论文数不胜数,但是 ...

  3. LDPC码简介【定义、特点、算法、Tanner】

    LDPC码简介 低密度校验码(LDPC码)是一种前向纠错码,LDPC码最早在20世纪60年代由Gallager在他的博士论文中提出,但限于当时的技术条件,缺乏可行的译码算法,此后的35年间基本上被人们 ...

  4. LDPC码的编译码原理简述

    关于fpga调用ldpc IP core的相关参数问题可以看我的另一篇文章 LDPC码由Gallager在1962年提出,全称为 Low Density Parity-check Codes 低密度奇 ...

  5. 通信算法之三:LDPC码的研究

    <源自:http://www.chinadata.com.cn/jishujcshow.asp?id=1159 > LDPC码的研究现状与发展动态   1 引言 自从Shannon提出信道 ...

  6. C++源码的调用图生成

    前言 之前受知乎用户mailto1587启发,写了个C++源码的调用图生成器,可以以图示法显示C++函数的调用关系, 代码放在了github仓库里,仅供参考: CodeSnippet/python/S ...

  7. [4G5G专题-44]:物理层-物理层信道编码与交织加扰以及LDPC码与Polar码比较

    目录 第1章 物理层架构 1.1 物理层内部功能协议栈 1.2 5G NR下行选项A 1.3 5G NR下行选项B 1.4 NR的物理层数据处理过程概述 第2章 物理层信道编码过程 2.1 NR物理层 ...

  8. C语言实现LDPC的校验矩阵,非正则LDPC码在AWGN信道中的性能研究

    0引言低密度奇偶校验码(LowDensityParityCheck,LDPC)是Gallager提出的基于稀疏校验矩阵的线性分组码[1].其构造特殊之处在于它的奇偶检验矩阵H是稀疏矩阵,即H矩阵中非零 ...

  9. LDPC码Gallager论文解读

    本文主要是解读Gallager关于LDPC码的论文<Low-Density Parity-Check Codes>,也记录了一些论文里不包含但是很重要的相关资料. 最近研究点涉及到LDPC ...

最新文章

  1. 《LeetCode力扣练习》第70题 爬楼梯 Java
  2. 《深入理解JAVA虚拟机》——学习笔记
  3. JSP简单练习-EL获取表单数据
  4. matlab中服从高斯分布的矩阵_一些张量的计算步骤matlab代码
  5. 平凡的世界电子书pdf下载_零基础彩铅画入门教程步骤图及全套PDF电子书教程下载!...
  6. es6 Proxy 简介
  7. 2019蓝桥杯C++B:等差数列(详解)
  8. bootstrapValidator常用验证规则总结
  9. swift语法再温习
  10. 怎样写工科研究生论文
  11. 关于Y400 电源管理 Win10解决方案
  12. java常用工具下载
  13. grep、cut、sed、awk
  14. 发送网页内容到onenote_将网页中的信息快速添加到OneNote笔记本的方法
  15. 白色背景,白色文字怎么显示清晰?
  16. 进制怎么用计算机算,Win10计算器怎么算二进制,win10计算器二进制使用教程
  17. Gartner2015新兴技术炒作曲线图
  18. DEVc++迷你世界0.10.0
  19. SQL Server数据库-存储过程(第一讲)
  20. svn update 出现skipped '.' 或skipped '目录名称'

热门文章

  1. 大一寒假训练九(map,set,vector)【更新完成】
  2. 记Aspose.Word的使用中出现的问题
  3. python内存持续增长_Python 进程内存增长解决方案
  4. 远程开机(外网WOL远程唤醒)
  5. 网页无法访问,不安全警告或证书过期问题解决
  6. UVA 1665 Islands
  7. 操作系统 - - 生产者—消费者问题(PV操作)代码显示
  8. 【深度学习】精度超越 ConvNeXt 的新 CNN!HorNet:通过递归门控卷积实现高效高阶的空间信息交互...
  9. 印象笔记Mac版的快捷键有哪些?
  10. 安全管家安卓_飞鸟清理管家app下载-飞鸟清理管家官方版下载v1.0.5