实现水平运算和垂直运算同时运行的LDPC码译码方法
本发明公开了一种实现水平运算和垂直运算同时运行的LDPC码译码方法。包括:将LDPC码的校验矩阵以列为单位拆分成k个新矩阵;为第1个新矩阵分配垂直运算单元,进行垂直运算;对第2个新矩阵进行垂直运算的同时,将所述垂直运算第一存储器中的运算结果作为所述水平运算单元的输入数进行水平运算,并将运算结果与水平运算中间存储器中的中间结果进行比较运算,后将运算结果返存入中间存储器(首次调用中间存储器时,中间存储器内为初始化最大值),此方式继续至完成所述k个新矩阵的垂直运算和水平运算,得到最终的水平运算结果,至此完成第一次迭代计算。本发明的技术方案提高了运算单元的资源利用效率,降低了译码器的硬件资源消耗。
发明专利
CN200910088160.5
2009-07-03
CN101594152
2009-12-02
H03M13/11(2006.01)I
清华大学
王 军;洪钦智;符 剑;雷伟龙;张 彧;王昭诚
100084北京市海淀区清华园北京100084-82信箱
北京路浩知识产权代理有限公司
张国良
北京;11
1、一种实现水平运算和垂直运算同时运行的LDPC码译码方法,其特征在于,包括以下步骤:S1,将m行n列校验矩阵以列为单位拆分成k个新矩阵,所述新矩阵为m行n/k列,其中m、n、k、n/k均为正整数;S2,为第1个新矩阵分配垂直运算单元,进行垂直运算,将运算结果存储于垂直运算第一存储器中;对第2个新矩阵进行垂直运算,将运算结果存储于垂直运算第二存储器中,对第2个新矩阵进行垂直运算的同时,对第1个新矩阵分配水平运算单元,将所述垂直运算第一存储器中的运算结果作为所述水平运算单元的输入数进行水平运算,并将运算结果与水平运算中间存储器中的初始最大值进行比较,将得到的最小值、次小值以及最小值位置指针作为中间结果存入水平运算中间存储器;对第3个新矩阵进行垂直运算,将运算结果存储于垂直运算第三存储器中,对第3个新矩阵进行垂直运算的同时,对第2个新矩阵进行水平运算,将所述垂直运算第二存储器中的运算结果作为所述水平运算单元的输入数进行水平运算,并将运算结果与来自水平运算中间存储器的中间结果进行比较,将得到的新的最小值、次小值以及最小值位置指针再存入水平运算中间存储器;以此方式继续至完成所述k个新矩阵的垂直运算和水平运算,得到最终的最小值、次小值以及最小值位置指针,并进行解压缩运算后将结果存入水平运算存储器至此完成第一次迭代计算。