来源:知乎
作者: Trustintruth
突然高产了!!
1.LDPC吗原理简述
LDPC码(低密度奇偶校验码)的校验矩阵具有非常强的稀疏性,也就是校验矩阵里面“0”占了大多数,“1”的数量极少。“1”元素的分布非常稀疏,所以他是低密度的。
下面我们来说校验矩阵,白话来说就是你收到的信息位和矩阵的每一行的每一个元素对应相乘再相加,最后得到(行数)个结果,如果各个结果都是0那么就通过了,也就是公式
。为了达到这个,我们就要控制我们的校验位来让这个结果的值为0.
如果你要发送码字长度为N,信息位长度为K。所以校验信息长度为M=N-K,而我们上次讲的码率就是R=K/N,我们需要的LDPC码校验矩阵H大小为M*N。例如下面这个矩阵
这个矩阵有以下的几个特点:
每行的“1”元素数量一致,均为k,k为行重。
每列的“1”元素数量一致,均为j,j为列重。
在该矩阵中每两列的相同位置均为“1”的个数不超过1.
根据矩阵我们可以画得出他的Tanner图,,校验节点数为M,变量节点数为
他们之间的关系可以以用下面公式来表示。
2.QC-LDPC码
上面说完了LDPC码,我们来说一说循环LDPC。
上面的校验矩阵,如果是一个码长为9216,校验位1024的码流,那么矩阵存储空间就太大了。所以构造一个下面这个样子的矩阵
8*16的矩阵分为了8个区域,每个区域是一个4*4的小矩阵。每个小矩阵的第二行是第一行向右平移,第三行是第二行向右平移,以此类推。所以如果我们构造这样的矩阵,那么像这样一个矩阵我们只需要存储他的基矩阵就好,基矩阵的每个元素就是每个小矩阵相对于单位矩阵的平移数。像上面这个的基矩阵为2*4,步长为4。
3.短环与消除短环
由于短环的存在会严重削弱 LDPC 码的性能,因此构造时需尽量减少短环。
六环呢则有不同的形式
所以在构造校验矩阵的时候,要注意消除短环。
我们采取了一种循环消环法,有效地消除四环六环。由于这讨论意义不大,所以不再详细谈。相关的matlab代码上传至我的个人公共号Trustintruth中,输入“LDPC校验矩阵”或者“H矩阵”获取偶。
最后写这些东西不容易,希望大家点赞点关注,鞠躬!
P.S其实文章上午就已经写得差不多,写到最后手边突然爬来一只大蟑螂……会飞的蟑螂是真的可怕,所以拖到这会才发了。愿寝室再无蟑螂!
审核编辑 黄昊宇
全部0条评论
快来发表一下你的评论吧 !