发明名称 用于显式存储片上系统的结构化LDPC码译码方法及装置
摘要 一种用于显式存储片上系统的结构化LDPC码译码方法及装置,其步骤为:(1)译码的初始化:该初始化过程包括将接收到的对数似然比LLR按特定的存储方式存储到变量节点存储块中、初始化校验节点存储块的值为0、预先设定一个最大迭代次数;(2)迭代过程:启动迭代次数计数器Iter,进行迭代操作;(3)输出译码结果:当迭代次数计数器Iter达到最大迭代数且完成最后一个校验节点的译码操作时,停止译码并输出译码结果;否则,转到步骤(2)继续迭代。该译码装置包括码率可重构存储管理控制器、译码控制器和处理阵列单元。本发明具有结构简单紧凑、成本低廉、操作方便、能够降低硬件复杂度、可支持多种码率等优点。
申请公布号 CN101777921A 申请公布日期 2010.07.14
申请号 CN201010102215.6 申请日期 2010.01.28
申请人 中国人民解放军国防科学技术大学 发明人 刘衡竹;张波涛;刘冬培;陈书明;陈跃跃;周理
分类号 H03M13/11(2006.01)I;H04M13/00(2006.01)I 主分类号 H03M13/11(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 周长清
主权项 1.一种用于显式存储片上系统的结构化LDPC码译码方法,其特征在于步骤为:(1)、译码的初始化:该初始化过程包括将接收到的对数似然比LLR按特定的存储方式存储到变量节点存储块中、初始化校验节点存储块的值为0、预先设定一个最大迭代次数;对n=2,…,N,<maths num="0001"><![CDATA[<math><mrow><msub><mi>&lambda;</mi><mi>n</mi></msub><mo>=</mo><msubsup><mi>&lambda;</mi><mi>n</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mo>,</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msubsup><mi>&Lambda;</mi><mi>mn</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mo>=</mo><mn>0</mn><mo>,</mo></mrow></math>]]></maths>m∈M(n)    (公式1)(2)、迭代过程:启动迭代次数计数器Iter;即对每个校验节点m=1,2,…,M,依次计算<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>&Lambda;</mi><mi>mn</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mrow><mo>(</mo><munder><mi>&Pi;</mi><mrow><msup><mi>n</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>N</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>/</mo><mi>n</mi></mrow></munder><mi>sign</mi><mrow><mo>(</mo><msub><mi>&lambda;</mi><mi>n</mi></msub><mo>-</mo><msubsup><mi>&Lambda;</mi><mi>mn</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>max</mi><mrow><mo>(</mo><munder><mi>min</mi><mrow><msup><mi>n</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>N</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>/</mo><mi>n</mi></mrow></munder><mo>|</mo><msub><mi>&lambda;</mi><mi>n</mi></msub><mo>-</mo><msubsup><mi>&Lambda;</mi><mi>mn</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>|</mo><mo>-</mo><mi>&beta;</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow></mrow></math>]]></maths>(公式2)<maths num="0004"><![CDATA[<math><mrow><msub><mi>&lambda;</mi><mi>n</mi></msub><mo>=</mo><msub><mi>&lambda;</mi><mi>n</mi></msub><mo>-</mo><msubsup><mi>&Lambda;</mi><mi>mn</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>+</mo><msubsup><mi>&Lambda;</mi><mi>mn</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>,</mo></mrow></math>]]></maths>n∈N(m)    (公式3)(3)、输出译码结果:当迭代次数计数器Iter达到最大迭代数且完成最后一个校验节点的译码操作时,停止译码并输出译码结果<img file="FSA00000013950400015.GIF" wi="392" he="53" />即将变量节点存储块中所存储的λ<sub>n</sub>值的符号位作为译码结果输出;否则,转到步骤(2)继续迭代;在上述译码过程中,λ<sub>n</sub><sup>(0)</sup>是接收到的对数似然比LLR,λ<sub>n</sub>是变量节点向校验节点传递的消息,Λ<sub>mn</sub><sup>(k)</sup>是第k次迭代中校验节点向变量节点传递的消息,β是一个非负的修正值,M(n)表示与变量节点x<sub>n</sub>相连的变量节点集合,N(m)表示与校验节点s<sub>m</sub>相连的变量节点集合,N(m)/n表示变量节点集合N(m)中去掉变量节点x<sub>n</sub>。
地址 410073湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院微电子与微处理器研究所