怎么说呢,一直以来都想写一下博客。近半年多来我一直在学习LDPC码译码上的东西,主要是在FPGA实现上的,所以这次想写一些关于这方面的内容,包括译码的原理、仿真以及实现。(当然是基于准循环LDPC码上实现的)
不过呢,我写这个的初衷是为了让初学者理解入门用的,而不是在大牛面前班门弄斧,有错误之处欢迎大家批评指正。
不知道会不会有人一开始像我一样,为了学好LDPC码,先去好好了解其它的诸如RS码或者是卷积码,把它们学到从入门到精通最后放弃。长些以往,坚持下来,再来看LDPC码你就会惊喜地发现之前学的其它码型的内容恰到好处地完美避开了你将所学的内容。是的,学习LDPC码,你并不需要其它类型码的先验知识,所以放心大胆地去学吧!
在我当下认知中,LDPC码译码的核心就是一切围绕着那个稀疏校验矩阵做周而复始、循环往复的打转。而该码型为啥倍受人们喜爱呢,原因就在于它是一个稀疏矩阵。这就好比当你拖着无比沉重的身躯行走在即将过零点的地铁中时,这时你突然发现整节车厢都是空的!随心所欲地躺在一排位置上,舒服!一个稀疏矩阵中的那些0值就好比车厢中的空位置,你可以跑到任意位置对它进行操作,也可以理都不理它,当然我们通常选择的是后者。下面先给大家附上我所用的校验矩阵,该矩阵是CCSDS提供的(8176,7154)码,行重32,列重4。
这里面,每一行数值为1的校验节点和所要判断的码字d组成一个校验方程,对于每一列亦是如此。
以下是分割线
=================================================================
============