Ldpc解码器和ldpc解码方法_2

文档序号:8474879阅读:来源:国知局
br>[0043]步骤SlOl =LDPC解码器接收要解码的第一码字并将其传递给VNU模块;
[0044]步骤S102 =VNU模块对该第一码字的消息执行变量更新节点计算,获得变量更新后的消息,然后将变量更新后的消息传递给CNU模块;
[0045]步骤S103:CNU模块接收从VNU模块传递的更新后的消息,对接收的消息执行校验节点更新计算,获得校验更新后的消息,然后将校验更新后的消息传递给VNU模块;
[0046]步骤S104:在预定次数的迭代之后判断更新后的码字是否正确?
[0047]步骤S105:当解码正确时,输出正确解码的码字。
[0048]步骤S106:当解码不正确时,判断是否超过最大迭代次数?
[0049]步骤S107:当超过最大迭代次数时,确定解码失败。
[0050]由此可见,在现有技术的LDPC解码方法中,因为解码采用一个消息传递方式执行,所以在同一时刻,VNU模块或CNU模块只有一个处于更新操作中,而另一个模块处于空闲状态,这样的解码方法导致系统资源利用率低。
[0051 ] 考虑现有技术中的这些问题,做出了本发明。
[0052]图3是描述根据本发明实施例的解码器的功能配置框图。图3是描述根据本发明实施例的解码器的功能配置框图。
[0053]如图3所示,根据本发明实施例的LDPC解码器300包括:
[0054]变量更新节点模块301,包括M个变量更新节点计算单元,用于对输入的消息执行变量节点更新计算,从而获得变量节点更新后信息;
[0055]校验更新节点模块302,包括N个校验更新节点计算单元,用于对输入的消息执行校验节点更新计算,从而获得校验节点更新后消息;
[0056]全局互连模块303,用于将所述M个变量更新节点计算单元的每个和所述N个校验更新节点计算单元的每个互相连接;
[0057]控制单元304,用于执行控制,使得获得的变量节点更新后信息传递给所述N个校验更新节点计算单元的每个,以及使得获得的校验节点更新后消息传递给所述M个变量更新节点计算单元的每个,
[0058]其中,在所述变量更新节点模块301完成第k个消息的更新及传递后,在所述校验更新节点模块302对所述第k个消息执行校验节点更新计算的同时,所述变量更新节点模块301接收第k+Ι个消息以执行变量节点更新计算。
[0059]具体来说,变量更新节点模块301、校验更新节点模块302和全局互连模块303的硬件配置与现有技术的LDPC解码器的硬件配置基本相同。变量更新节点模块301可以包括M个变量更新节点单元,M为正整数。校验更新节点模块302可以包括N个校验更新节点单元,N为正整数。
[0060]与现有技术的LDPC解码器不同的是,本申请的LDPC解码器增加了控制单元304。该控制单元304用于执行控制,使得获得的变量节点更新后信息传递给所述N个校验更新节点计算单元的每个,以及使得获得的校验节点更新后消息传递给所述M个变量更新节点计算单元的每个。也就是说,该控制单元304控制消息在变量更新节点模块301和校验更新节点模块302之间的传递。
[0061]此外,该控制单元301还能够执行控制,使得在所述变量更新节点模块301完成第k个消息的更新及传递后,在所述校验更新节点模块302对所述第k个消息执行校验节点更新计算的同时,所述变量更新节点模块301接收第k+Ι个消息以执行变量节点更新计算。所述第k个消息和所述第k+Ι个消息来自待解码的不同的两个码字。
[0062]下面将参考图4的解码调度方式来具体描述本发明实施例的LDPC解码器的操作方式。
[0063]与现有技术的解码器不同,根据本发明实施例的LDPC解码器300解码器同时接收2个待解码的码字。
[0064]如图4所示,首先接收待解码的第一个码字,然后将第一个码字输入VNU模块执行VNU更新计算。
[0065]在VNU模块完成更新计算之后,将更新后的消息传递给CNU模块。
[0066]在CNU模块对该更新后的消息执行CNU计算的同时,将待解码的第二个码字输入解码器,并由VNU模块执行VNU更新计算。
[0067]此时,VNU处于第二个码字的变量节点更新阶段,而CUN处于第一个码字的校验节点更新阶段。然后,通过控制模块304的控制,使得第二个码字的消息被传递给CNU,第一个码字的消息被传递给VNU。由此实现第一码字和第二码字在LDPC解码器中的并行解码,从而使得解码器的解码吞吐量提升I倍。
[0068]在消息的传递过程中,所述控制单元304还比较所述变量更新节点模块301执行变量节点更新处理所述的第一时间以及所述检验更新节点模块302执行检验节点更新处理所需的第二时间。例如,所述变量更新节点模块301执行一次变量节点更新处理需要0.5毫秒,所述检验更新节点模块302执行检验节点更新处理需要0.6毫秒。此时,所述控制单元304需要根据第一时间和第二时间中较大的一个的定时执行控制,使得获得的变量节点更新后信息传递给所述N个校验更新节点计算单元的每个,以及使得获得的校验节点更新后消息传递给所述M个变量更新节点计算单元的每个。也就是说,所述控制单元304需要根据第一时间和第二时间中较大的一个的定时执行控制,以确保所述变量更新节点模块301和所述检验更新节点模块302都能够完成自身的更新处理计算后,再次执行下一次的更新计算操作。
[0069]此外,所述解码器还包括检验模块305,用于从所述变量更新节点模块接收变量节点更新后信息,并且根据接收的变量节点更新后信息判断解码的码字是否正确。例如,所述校验模块305在码字的消息在VNU模块和CNU模块之间进行了预定次数的迭代之后,从所述变量更新节点模块接收变量节点更新后信息,并且根据接收的变量节点更新后信息判断解码的码字是否正确。
[0070]然后,所述检验模块305在判断解码的码字正确时输出解码后的码字。
[0071]所述检验模块305在判断解码的码字不正确时,判断所述变量节点更新后信息是否已经迭代处理预定次数,并且当已经迭代处理预定次数时确定解码失败。
[0072]由此,根据本发明实施例的LDPC解码器,在不需要对现有解码器的硬件配置进行大的改变的情况下,通过有效地利用解码器中的资源,提高译码器的解码吞吐量。
[0073]下面将参考图5描述根据本发明实施例的解码方法。图5是描述根据本发明实施例的解码方法的流程图。
[0074]根据本发明实施例的解码方法400应用于上述LDPC解码器300中,所述方法400包括:
[0075]步骤S401:通过变量更新节点模块301对输入的消息执行变量节点更新计算,从而获得变量节点更新后信息;
[0076]步骤S402:通过校验更新节点模块302对输入的消息执行校验节点更新计算,从而获得校验节点更新后消息;
[0077]步骤S403:使得获得的变量节点更新后信息传递给所述变量更新节点模块301,以及使得获得的校验节点更新后消息传递给所述校验更新节点模块302,
[0078]其中,在所述变量更新节点模块301完成第k个消息的更新及传递后,在所述校验更新节点模块302对所述第k个消息执行校验节点更新计算的同时,所述变量更新节点模块301接收第k+Ι个消息以执行变量节点更新计算。
[0079]在一个实施例中,所述第k个消息和所述第k+Ι个消息来自待解码的不同的两个码字。
[0080]所述方法还包括:
[0081]从所述变量更新节点
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1