matlab ldpc矩阵h,LDPC——原理及H矩阵(校验矩阵)构造

dc2f3bd08839f46d2dd10051bd75b68a.png来源:知乎

作者: Trustintruth

突然高产了!!

1.LDPC吗原理简述

LDPC码(低密度奇偶校验码)的校验矩阵具有非常强的稀疏性,也就是校验矩阵里面“0”占了大多数,“1”的数量极少。“1”元素的分布非常稀疏,所以他是低密度的。

下面我们来说校验矩阵,白话来说就是你收到的信息位和矩阵的每一行的每一个元素对应相乘再相加,最后得到(行数)个结果,如果各个结果都是0那么就通过了,也就是公式

44ec960af699679d604eed0a5e56b4f6.png

。为了达到这个,我们就要控制我们的校验位来让这个结果的值为0.

如果你要发送码字长度为N,信息位长度为K。所以校验信息长度为M=N-K,而我们上次讲的码率就是R=K/N,我们需要的LDPC码校验矩阵H大小为M*N。例如下面这个矩阵

e97fe68e4174bf8b4545958cfe416161.png

这个矩阵有以下的几个特点:每行的“1”元素数量一致,均为k,k为行重。

每列的“1”元素数量一致,均为j,j为列重。

在该矩阵中每两列的相同位置均为“1”的个数不超过1.

根据矩阵我们可以画得出他的Tanner图,,校验节点数为M,变量节点数为

fac3ddee73cd58570bf258577fbc4cea.png

他们之间的关系可以以用下面公式来表示。

44215155497eb4a0d66c13b40cd9ace9.png

2.QC-LDPC码

上面说完了LDPC码,我们来说一说循环LDPC。

上面的校验矩阵,如果是一个码长为9216,校验位1024的码流,那么矩阵存储空间就太大了。所以构造一个下面这个样子的矩阵

ecaca48faf298454dded298a6222713c.png

8*16的矩阵分为了8个区域,每个区域是一个4*4的小矩阵。每个小矩阵的第二行是第一行向右平移,第三行是第二行向右平移,以此类推。所以如果我们构造这样的矩阵,那么像这样一个矩阵我们只需要存储他的基矩阵就好,基矩阵的每个元素就是每个小矩阵相对于单位矩阵的平移数。像上面这个的基矩阵为2*4,步长为4。

3.短环与消除短环

由于短环的存在会严重削弱 LDPC 码的性能,因此构造时需尽量减少短环。

四环如下图所示

29029373f56a0a15c35da6c7989da2d6.png

六环呢则有不同的形式

1f3b603644c2480e58b83bb23d688b3b.png

b609138859c56d3891fe1e4738e5b493.png

ccf160b2d87a6d167d15a2d4cbe05cbc.png

所以在构造校验矩阵的时候,要注意消除短环。

我们采取了一种循环消环法,有效地消除四环六环。由于这讨论意义不大,所以不再详细谈。相关的matlab代码上传至我的个人公共号Trustintruth中,输入“LDPC校验矩阵”或者“H矩阵”获取偶。

P.S其实文章上午就已经写得差不多,写到最后手边突然爬来一只大蟑螂……会飞的蟑螂是真的可怕,所以拖到这会才发了。愿寝室再无蟑螂!

相关文章更多IC设计相关技术干货请关注IC设计专栏。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值