偶校验矩阵和低密度奇偶校验码的构造方法

摘要 - 低密度奇偶校验(LDPC)码是具有稀疏奇偶校验矩阵的线性分组码。 在本文中,给出了用于生成LDPC码的一些构造方法的简要描述。 这些方法通常分为两类:随机和分析。 随机构造的代码包括来自Gallager和Mackay的代码。 所描述的分析构造方法是来自有限几何形状的代码。 一种类型是根据Gallager的原始处方随机构建的。 另一个是从欧几里德和投影几何分析建立的。 可以使用基于似然差的解码算法来检查它们的性能。

1.引言

LDPC码概述

在信息论中,Shannon的信道编码定理被认为是刺激了错误控制码的发展。 它表明,所有数据速率rb小于信道容量C的,都可以实现任意小的误差概率Pe,其中C由Shannon-Hartley公式[1]给出:
ܥ(1.1)C=Blog2[S/N](Bitspersecond)C = B log_2 [S/N] \quad (Bits per second) \tag{1.1}C=Blog2​[S/N](Bitspersecond)(1.1)
这里,B是以Hz为单位的信道带宽,S / N是信噪比(SNR)。 SNR与“比特能量与单侧噪声功率谱密度比”有关
(1.2)SN=rbEbBN0=rbB×EbN0\frac{S}{N}= {r_bE_b\over BN_0}= {r_b\over B}×{E_b\over N_0}\tag{1.2}NS​=BN0​rb​Eb​​=Brb​​×N0​Eb​​(1.2)
使用公式(1.2),公式(1.1)可以写成:
(1.3)CB=log2(1+(ηmaxEbN0))\frac{C}{B}= log_2(1+(η_{max}{E_b\over N_0}))\tag{1.3}BC​=log2​(1+(ηmax​N0​Eb​​))(1.3)
或者
(1.4)EbN0=2ηmax−1ηmax\frac{E_b}{N_0}= \frac{2^{η_{max}}-1}{η_{max}}\tag{1.4}N0​Eb​​=ηmax​2ηmax​−1​(1.4)
等式(1.4)被称为香农极限。 它提供所需的Eb / N0,以接近信道容量的速率传输数据。 该限制始终用作评估编码调制方案的基准。 据报道,Turbo码和LDPC码的性能非常接近香农极限[2]
LDPC码,也称为Gallager码,是由Gallager在60年代早期设计的[3]。 作为一类线性分组码,它们通过稀疏二进制奇偶校验矩阵来区分。在每个矩阵中,每一行有固定的(j)个1,每列也有固定(k)个1。 然而,当时,计算能力还不足以显示它们的有效性,因此LDPC代码直到最近才被遗忘[2]。Mackay和Neal被称为“重新发现”Gallager代码,他们指出了使用基于和积算法的解码算法的代码的出色功能[4]
从Gallager的原始处方中,Luby等人通过引入不规则代码标志了LDPC码的重要进展[5]。 LDPC码的另一个进步是由Davey和Mackay在GF(q)(q> 2)上引入不规则码。 在[6]中,这类LDPC码显示出比GF(2)中的代码具有显着改进的性能。

2. LDPC代码的构建

在这一部分中,我们描述了一些常规和不规则LDPC码的结构。 用于构造LDPC码的奇偶校验矩阵的方法分为两大类:随机和分析方法。但是,根据Johnson和Weller [10],随机构造方法仍然占主导地位,因为分析创建的LDPC代码只占很小的一部分。 已经表明,如果Tanner图没有周期,迭代和积解码算法可以收敛于最优解[8]。 较短的周期将使算法恶化。
下面介绍了处理LDPC码构造的一些有用概念
Tanner图:Tanner图用于表示线性分组码的码字比特和奇偶校验比特之间的关系。 Tanner图已被推广成因子图[7]。
循环:Tanner图中的循环是一系列连接的码字节点和奇偶校验节点,它们在同一节点处开始和结束,并且序列中不会出现多次其他节点。
长度:循环的长度是循环中的边数。
周长:Tanner图的周长是其最短周期的长度。
度:Tanner图中节点的度数是连接到它的边数。
图1和2分别示出了长度为4和长度为6的两个周期,以及它们对应的奇偶校验矩阵

码字顶点和奇偶校验顶点的作用在形成周期中是相等的。 因此,使用I或其转置,IT作为奇偶校验矩阵将创建相同的循环集。
特别是,对于长度为4的周期情况,下面的三个语句对于LDPC代码是等效的:
Tanner图中没有长度为4的循环。
任意两行之间的重叠1的数量小于2.
任意两列之间的重叠1的数量小于2.
这些备注将用于简化与LDPC码的周期长度和周长相关的证明,以及 在检查模拟程序中的重叠时也是如此。

3.随机构造的代码

A. Gallager的处方

在Gallager [3]的原始论文中,LDPC码被定义为一种线性块码,其奇偶校验矩阵H是稀疏矩阵,即主要包含0,只有少量1的矩阵。 此外,在此矩阵中,每行具有相同数量的1,并且每列具有相同数量的1。 特别地,Gallager将(n,j,i)LDPC码定义为具有块长度n,奇偶校验矩阵中每列1的数量为j,每行1的数量为i的代码。 这种类型的奇偶校验矩阵如图3所示

该矩阵可以分成三个相等的子矩阵,例如:每列的权重为1,如图3所示。第一个子矩阵是一个特殊的矩阵:1以向下的方式放置,整个子矩阵看起来像一个单位矩阵,每列重复四次。事实上,子矩阵只需要是这种特殊结构的随机列排列。还可以容易地看出,第一子矩阵(或任何后续子矩阵)的随机列置换将在每行中恰好具有四个1并且在每列中具有单个1。反之亦然,每行中具有四个1并且每列中具有单个1的任何(5×20)子矩阵仅是第一子矩阵的列置换。 图4给出了这种奇偶校验矩阵的表示[2]。

图4具有行权重4和列权重3的Gallager结构的表示。具有对角线的正方形表示单位矩阵。 带箭头的椭圆表示随机列排列。
通常,(n,j,i)矩阵可以被划分为列权重为1的j个子矩阵。(n,j,i)矩阵的行数由nj / i给出(j是 每列中的1的数量,因此1的总数是nj,并且i是每行中1的数量)。 因此,每个子矩阵将具有n / i行。
考虑到LDPC码作为一种线性块码,我们可以如下计算(n,j,i)LDPC码的码率R:首先,假设H的所有行是线性独立的(或者H是满秩) ),H的等级(以模2算术计算)将与行数J相同,其为nj / i(J <n,即J = nk)。 然后,生成矩阵G的维数为(n-nj / i)×n(j <i为J <n),码率R为
R=(n−nj/i)/n=1–j/i.R = (n-nj/i)/n = 1 – j/i.R=(n−nj/i)/n=1–j/i.
当H的行不是线性独立的时,H的秩将小于nj / i,并且G的行数将大于n-nj / i,这导致R> 1-j / i。 所以,一般来说,我们有:
(1.5)R≥n−njin=1−jiR≥ \frac{n-n{j\over i}}{n}= 1-\frac{j}{i}\tag{1.5}R≥nn−nij​​=1−ij​(1.5)

B. Mackay’s构建

LDPC码的Tanner图中存在短周期将降低迭代解码算法。 考虑图5中给出的Tanner图的部分。

图5长度为4的周期及其对迭代解码算法的影响
三个噪声符号连接到五个校验符号,如图5所示。长度为4的循环由粗线绘制。 如果所有这三个噪声符号都是错误的(从1变为0或反之亦然),则只能警告最右边的检查(s5)。根据Davey的说法,这种情况会降低解码过程的性能[2]。

翻译——奇偶校验矩阵和低密度奇偶校验码的构造方法相关推荐

  1. 可用于SDR的C语言纠错编码通用算法收集(4)-LDPC低密度奇偶校验码

    为了配合学生借助 taskbus进行纯控制台STDIO模块的开发,我们收集了手头的通用纠错算法,便于学生进行开发学习.今天介绍LDPC编码. 1. 低密度奇偶校验编码LDPC 低密度奇偶校验码LDPC ...

  2. 低密度奇偶校验码(LDPC)

    LDPC LDPC码:低密度奇偶校验码(Low Density Parity Check Code),最初由 Gallager 提出,后被Mackay.Spielman.Wiberg 等人重新发现. ...

  3. 2021年中国低密度PET泡沫市场趋势报告、技术动态创新及2027年市场预测

    低密度PET泡沫市场的企业竞争态势 该报告涉及的主要国际市场参与者有Armacell International.3A Composites.Gurit Holding.DIAB Group.Chan ...

  4. 基于UMAT的低密度泡沫本构实现

    1. 低密度泡沫变形特点 我们都知道,低密度泡沫材料大都是多孔介质,这类材料在压缩时的变形很有意思.看下面这个图: ​    从图里很容易就能看出,随着载荷的增加,初始阶段变形线性增加,随后载荷-变形 ...

  5. 艾美捷细胞低密度脂肪酸(LDL)摄取试剂盒的功能应用

    胆固醇是一种重要的细胞成分,维持胆固醇稳态对正常生理功能至关重要.血浆胆固醇水平升高与各种病理状况有关,最明显的是冠心病,高胆固醇水平导致动脉泡沫细胞形成和斑块堆积,可能导致心脏病发作或中风.细胞胆固 ...

  6. 低密度SLC NAND闪存市场现状研究分析与发展前景预测报告

    2021-2027中国低密度SLC NAND闪存市场现状研究分析与发展前景预测报告 2021年中国低密度SLC NAND闪存市场销售收入达到了 万元,预计2028年可以达到 万元,2022-2028期 ...

  7. 老年痴呆与LDL-C 低密度脂蛋白

    LDL-C(Low-Density Lipoprotein Cholesterol,LDL-C) 中文名称:低密度脂蛋白胆固醇 根据柳叶刀上的文章[1],LDL-C更高的水平会更容易导致老年痴呆. 那 ...

  8. matlab 低秩矩阵分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有四个文件:demo.m function [] = demo() %This routine demonstrates an example of us ...

  9. matlab矩阵的低秩分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有四个文件:demo.m function [] = demo() %This routine demonstrates an example of us ...

最新文章

  1. python是一个免费开源的软件吗_6个最佳的开源Python应用服务器
  2. 使用Docker-Compose,如何执行多个命令
  3. 企业级 SpringBoot 教程 (十二)springboot集成apidoc
  4. mybaits十六:使用choose标签实现分支选择
  5. oracle 信用检查,Oracle EBS 信用(Credit)额度(1)-基础设置
  6. Jzoj4891 摆书
  7. docker registry v2与harbor的搭建
  8. oracle database 11g plsql 程序设计,oracle-database-11g-plsql-编程实战笔记
  9. Go并发编程里的数据竞争以及解决之道
  10. e300氛围灯哪里调节_黑色的奔驰E300有了亚光膜的加持 一出场就惊艳四座
  11. 案例-热点图(CSS3)
  12. python里怎么读取文件-python怎么读取文本文件
  13. vim保存文件”:wq与“:x的区别以及小写:x与大写“:X”的区别
  14. 中国燕麦片市场销售现状与十四五发展趋势分析报告2022年版
  15. php api 文档 管理,Api开发者福利之api在线管理,模拟请求测试,文档生成工具--Apizza...
  16. 车辆管理系统python_python实现汽车管理系统
  17. P4568 飞行路线
  18. 管理后台界面基本框架设计
  19. 用Python进行数据整理
  20. 课堂派微信端重设计建议

热门文章

  1. 照虎画虎——简单WeUI模板UX设计学习
  2. ibm服务器日常维护,《七小服公开课》IBM P780日常维护
  3. 水准助手V2.0软件使用说明
  4. 360踩在3721尸体上扶摇直上(转载)
  5. 软件构想:supermemo 云计算方案
  6. 库龄分析-先进先出法
  7. 010Edit分析 爆破 + 算法逆向 + 注册机编写
  8. 伯努利模型之买彩票问题
  9. 说到修图这件事,你还真是比不上AI
  10. .Hisi 3516d_ov4689_5658调试