发明名称 一种部分并行LDPC译码器的实现方法
摘要 本发明公开了一种部分并行LDPC译码器的实现方法,主要解决现有DVB-X2系统中LDPC译码器硬件实现复杂度较高的问题;其实现步骤包括:(1)调整LDPC码译码器输入的对数似然比信息的顺序;(2)将输入的1路数据转换成为180路并行的数据;(3)按并行度为180部分并行译码结构,对变量节点进行初始化;(4)进行校验节点的更新处理;(5)进行变量节点的更新处理;(6)当完成所设定的最大迭代次数时,计算出硬判决信息;(7)对硬判决信息进行判决;(8)调整判决信息的顺序,按照与译码器输入顺序相对应的顺序将译码结果输出。
申请公布号 CN104702292A 申请公布日期 2015.06.10
申请号 CN201510099023.7 申请日期 2015.03.06
申请人 宫丰奎 发明人 宫丰奎;安宁;袁云云;张南
分类号 H03M13/11(2006.01)I 主分类号 H03M13/11(2006.01)I
代理机构 代理人
主权项 一种部分并行LDPC译码器的实现方法,其特征在于,包括以下步骤:1)对输入到译码器中的对数似然比LLR信息流进行顺序调整,得到LLR信息流a;2)将步骤1)所述的LLR信息流a转换为并行的180路数据,存储到第一存储器RAM1中,当一帧数据接收完成之后,将第一存储器RAM1中的数据转存到第二存储器RAM2中;3)当下一帧数据到达时再次将输入数据存入到第一存储器RAM1中,同时,译码控制模块根据译码器输入的码率控制信息,输出对应码率下第二存储器RAM2的读地址信息,输出第二存储器RAM2中的数据,得到LLR信息流b,其对应变量节点i的LLR信息为L(P<sub>i</sub>),p<sub>i</sub>表示变量节点i的概率信息;4)译码控制模块根据译码器输入的码率控制信息,输出对应码率的译码控制信息,控制数据移位模块将LLR信息流b进行移位,得到变量节点的初始值L<sup>(0)</sup>(q<sub>ij</sub>),q<sub>ij</sub>表示变量节点i传给校验节点j的外部概率信息;5)当译码使能信号有效时,根据译码控制模块输出的对应码率的译码控制参数,对校验节点进行更新,校验节点的更新公式如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msup><mi>L</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msub><mi>r</mi><mi>ji</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>&alpha;</mi><munder><mi>&Pi;</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mo>&Element;</mo><msub><mi>R</mi><mi>j</mi></msub><mo>/</mo><mi>i</mi></mrow></munder><mi>sgn</mi><mrow><mo>(</mo><msup><mi>L</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msub><mi>q</mi><mrow><mi>i</mi><mo>&prime;</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>&CenterDot;</mo><munder><mi>min</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mo>&Element;</mo><msub><mi>R</mi><mi>j</mi></msub><mo>/</mo><mi>i</mi></mrow></munder><mrow><mo>(</mo><mo>|</mo><msup><mi>L</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msub><mi>q</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>|</mo><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FSA0000114490230000011.GIF" wi="1022" he="145" /></maths>其中k是译码的迭代次数,初始值为0,α是修正因子,R<sub>j</sub>表示所有与校验节点j相连的变量节点的集合,R<sub>j</sub>/i表示除变量节点i之外所有与校验节点j相连的变量节点的集合,i′∈R<sub>j</sub>/i表示i′是集合R<sub>j</sub>/i中的元素,L<sup>(k)</sup>(r<sub>ji</sub>)是第k次迭代得到的校验节点j的LLR信息,r<sub>ji</sub>表示校验节点j传给变量节点i的外部概率信息L<sup>(k)</sup>(q<sub>i′j</sub>)表示第k次迭代时变量节点i′向校验节点j传送的LLR信息,q<sub>i′j</sub>表示变量节点i′传给校验节点j的外部概率信息,sgn(L<sup>(k)</sup>(q<sub>i′j</sub>))表示求L<sup>(k)</sup>(q<sub>i′j</sub>)的符号,<img file="FSA0000114490230000012.GIF" wi="397" he="129" />表示求所有满足变量节点i′的sgn(L<sup>(k)</sup>(q<sub>i′j</sub>))的乘积,|L<sup>(k)</sup>(q<sub>i′i</sub>)|表示L<sup>(k)</sup>(q<sub>i′j</sub>)的绝对值,<img file="FSA0000114490230000013.GIF" wi="351" he="115" />表示求出所有满足变量节点i′∈R<sub>j</sub>/i的|L<sup>(k)</sup>(q<sub>i′j</sub>)|的最小值;6)根据译码控制模块输出的译码控制参数,使用数据移位模块将步骤5)中计算得到的校验节点的LLR信息进行移位,用于变量节点的更新;7)当步骤6)所述的校验节点LLR信息的移位完成之后,译码使能信号再次变为有效,此时根据译码控制模块输出的译码控制参数,对变量节点进行更新,变量节点的更新公式如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><mi>L</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msub><mi>q</mi><mi>ij</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>L</mi><mrow><mo>(</mo><msub><mi>P</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><msup><mi>j</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>/</mo><mi>j</mi></mrow></munder><msup><mi>L</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msub><mi>r</mi><mrow><msup><mi>j</mi><mo>&prime;</mo></msup><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FSA0000114490230000021.GIF" wi="701" he="123" /></maths>其中C(i)表示所有与变量节点i相连的校验节点的集合,C(i)/j表示除校验节点j之外所有与变量节点i相连的校验节点的集合,j′∈C(i)/j表示j′是集合C(i)/j的元素,L<sup>(k)</sup>(q<sub>ij</sub>)表示第k次迭代得到的变量节点i的LLR信息,L<sup>(k)</sup>(r<sub>j′i</sub>)表示第k次迭代时校验节点j′向变量节点i传送的LLR信息,r<sub>j′i</sub>表示校验节点j′传给变量节点i的外部概率信息,<img file="FSA0000114490230000022.GIF" wi="317" he="124" />表示求所有满足校验节点j′的所有L<sup>(k)</sup>(r<sub>j′i</sub>)的和;8)根据译码控制模块输出的译码控制参数,使用数据移位模块将步骤7)中计算得到的变量节点的LLR信息进行移位,用于下一次译码迭代过程中校验节点的更新;9)迭代次数k增加1,重复步骤5)~8),进行下一次的译码迭代过程;10)当迭代次数k达到设定的最大迭代次数h时,计算所有变量节点的硬判决信息,进行硬判决并将判决结果进行缓存,其计算公式如下:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msup><mi>L</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>L</mi><mrow><mo>(</mo><msub><mi>P</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></munder><msup><mi>L</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msub><mi>r</mi><mi>ji</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000114490230000023.GIF" wi="624" he="128" /></maths>其中j∈C(i)表示j是集合C(i)中的元素,<img file="FSA0000114490230000024.GIF" wi="271" he="118" />表示求解所有满足校验节点j的L<sup>(k)</sup>(r<sub>ji</sub>)的和,r<sub>ji</sub>表示校验节点j传给变量节点i的外部概率信息;11)调整判决信息的顺序,按照与译码器输入顺序相对应的顺序将译码结果输出;同时,译码使能信号变为有效;12)重复步骤3)~11)对下一帧数据进行译码。
地址 710071 陕西省西安市太白南路2号西安电子科技大学106信箱