NR LDPC专题-01- 线性码简介

前言:

                这篇主要讲一下相关的背景知识:

 

                LDPC是Low Density Parity Check Code英文缩写,意思是低密度奇偶校验码,最早在20世纪60年代由Gallager在他的博士论文中提出。

              LDPC码最早在20世纪60年代由Gallager在他的博士论文中提出,但限于当时的技术条件,缺乏可行的译码算法,此后的35年间基本上被人们忽略,其间由Tanner在1981年推广了LDPC码并给出了LDPC码的图表示,即后来所称的Tanner图。1993年Berrou等人发现了Turbo码,在此基础上,1995年前后MacKay和Neal等人对LDPC码重新进行了研究,提出了可行的译码算法,从而进一步发现了LDPC码所具有的良好性能,迅速引起强烈反响和极大关注。经过十几年来的研究和发展,研究人员在各方面都取得了突破性的进展,LDPC码的相关技术也日趋成熟,甚至已经开始有了商业化的应用成果,并进入了无线通信等相关领域的标准。

             LDPC码是通过校验矩阵定义的一类线性码,为使译码可行,在码长较长时需要校验矩阵满足“稀疏性”,即校验矩阵中1的密度比较低,也就是要求校验矩阵中1的个数远小于0的个数,并且码长越长,密度就要越低。

            这里主要讲解一下相关的背景知识

目录:

  1.    线性码编码器
  2.    矩阵描述
  3.    例子 examples
  4.    最小距离 minimum Distance
  5.    最小距离和线性编码器关系  minimum Distance - Linear codes


一 线性码编码器

       basic of linear code

发送的消息:

                    一个长度为k的向量m

编码成一个codeword:

                   是一个长度为n 的向量 :

                   其中:k个为向量m, n-k个为奇偶校验位 P。

                  如上(6,3)code 模型: 其中奇偶校验位为

                \left\{\begin{matrix} p_0=(m_0+m_1)mod 2\\ p_1=(m_1+m_2)mod 2 \\ p_2=(m_2+m_0)mod 2 \end{matrix}\right.

 注意这里面跟线性代数的区别,加法代表XOR,模二 加法

 


二   矩阵描述

      2.1  生成矩阵(codeword generator matrix)

                       G=[I,P]

                       c= mG

                        I: 是单位矩阵, P为奇偶校验矩阵(实现XOR运算)

       

               是一个单位矩阵和一个奇偶校验矩阵组成的矩阵

   2.2  奇偶校验矩阵(parity-check matrix)

           Hc^T=0

    LDPC码主要思想就这个

        如下:

          \begin{bmatrix} 1 & 1 & 0 &1 &0 &0 \\ 0& 1 & 1 & 0 & 1 &0 \\ 1& 0 & 1 &0 &0 &1 \end{bmatrix}\begin{bmatrix} m_0\\ m_1\\ m_2\\ p_0\\ p_1\\ p_2 \end{bmatrix}=\begin{bmatrix} 0\\ 0 \\ 0 \end{bmatrix}

          [P^TI_3]C^T=0

         H=P^T,I_3

         上面展开就是

         \left\{\begin{matrix} m_0+m_1+p_0=0\\ m_1+m_2+p_1=0 \\ m_2+m_0+p_2=0 \end{matrix}\right.


三 例子

      3.1 repetition code(3,1)

             k=1,n=3,奇偶校验位两位

             repetition code ={000,111}       

              里面有2个codeword:

          

         G=\begin{bmatrix} 1 & 1 & 1 \end{bmatrix} 

         codewords:

         [000]=mG=[0]G

         [111]=mG=[1]G

        

         H=\begin{bmatrix} 1 & 0 &1 \\ 0 & 1 & 1 \end{bmatrix}

                 =[P^T,I]

         Hc^T=0

         

        4.2   repetition code(6,3)

           code ={000000, 001011,010110,011101,

                       100101,101110,110011,111000}

            

            

               其中 010110 代表: 消息是010 奇偶校验结果是110

          


四 最小距离         

         4.1 汉明距离(Hamming  Distance)

            汉明距离是使用在数据传输差错控制编码里面的。它表示两个(相同长度)字符串对应位置的不同字符的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。

    例如  dist(000,111)=3

             dist(110,111)=1

       4.2 最小距离d_{min}

             两个codeword之间的最小汉明距离

            d_{min} of (3,1) repetition -code=3

           d_{min} of (5,1) repetition -code=1

           d_{min} of (6,3) repetition -code=3: 证明见5 

         4.3   (n,k,d)-code

                       codeword的长度: n

                       发送的bit数: Dimension =k:

                       最小距离:d_{min}=d


五  Minumum Distance- Linear code

        5.1  汉明权重: 向量中非0的个数

                    dit(u,v)= weight(u,v)

                     w = u+v

                    weight(w) 向量中非零个数

                    dist_{min}(u,v)=weight(w)       

                 linear code 中d_{min}代表非零codeword中,最小的weight.

如下:

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值