迭代译码的方法和装置制造方法

文档序号:7984804阅读:213来源:国知局
迭代译码的方法和装置制造方法
【专利摘要】本发明公开了一种迭代译码的方法和装置,属于通信领域。所述方法包括:根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数;根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,得到当前码块的最大迭代次数;根据当前码块的最大迭代次数,对当前码块进行迭代译码。所述装置包括:第一获取模块、第二获取模块、和译码模块。本发明通过上述方案,根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数获取当前码块的最大迭代次数,依据最大迭代次数对当前码块进行迭代译码,从而可以提高系统性能,提高确定迭代次数的可行性。
【专利说明】迭代译码的方法和装置
【技术领域】
[0001]本发明涉及通讯领域,特别涉及一种迭代译码的方法和装置。
【背景技术】
[0002]随着通信技术的日益发展,信道编码技术的应用范围越来越广。目前,广泛应用的信道编码技术有Turbo和LDPC (Low-density Parity-check,低密度奇偶校验)等编码技术,在通过Turbo和LDPC等编码技术对信息序列进行编码,并传输编码后的码块后,为了发现、纠正码块在传输过程中发生的错误,对码块进行迭代译码是常用的一种解决方法。
[0003]现有技术一提供的迭代译码方式中,为构成信息序列的每个码块设置一个相同的固定迭代次数,译码器在固定迭代次数内对每个码块进行迭代译码;现有技术二提供的迭代译码方式中,根据实际需求为构成信息序列的每个码块设置不同的迭代次数,译码器在每个码块对应的迭代次数内对每个码块进行迭代译码。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]由于现有技术一为每个码块设置一个相同的固定迭代次数,译码器在对码块进行译码过程中,有些码块的迭代次数有剩余,有些码块的迭代次数又不够,从而降低系统性能;由于现有技术二需要根据实际需求为每个码块设置不同的迭代次数,而准确预知每个码块的实际需求的可行性较低。

【发明内容】

[0006]为了提高系统性能,并提高确定迭代次数的可行性,本发明实施例提供了一种迭代译码的方法和装置。所述技术方案如下:
[0007]第一方面,提供了一种迭代译码的方法,所述方法包括:
[0008]根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数;
[0009]根据预先为每个码块设置的固定迭代次数和获取到的所述当前码块译码前节省的迭代次数,获取所述当前码块的最大迭代次数;
[0010]根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
[0011]结合第一方面,第一种可能的实现方式为:所述根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数,具体包括:
[0012]将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
[0013]结合第一方面,第二种可能的实现方式为:所述根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数,具体包括:[0014]将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算;
[0015]如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于阈值,则将所述第一预设阈值作为运算结果;
[0016]将得到的运算结果进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
[0017]结合第一方面的第一种可能的实现方式或第二种可能的实现方式,第三种可能的实现方式为:所述根据预先为每个码块设置的固定迭代次数和获取到的所述当前码块译码前节省的迭代次数,得到所述当前码块的最大迭代次数之前,还包括:
[0018]如果所述当前码块译码前节省的迭代次数大于第二预设阈值,则将所述当前码块译码前节省的迭代次数设置为第二预设阈值。
[0019]结合第一方面,第四种可能的实现方式:所述根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数之前,还包括:
[0020]如果所述当前码块为译码的第tX (N+1)个码块,则将为所述当前码块设置的固定迭代次数作为所述当前码块的最大迭代次数,执行根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码的步骤;
[0021]或者,如果所述当前码块为译码的非第tX (N+1)个码块,则执行根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数的步骤;
[0022]其中,t、N为正整数。
[0023]结合第一方面的第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式及第四种可能的实现方式中的任一种可能的实现方式,第五种可能的实现方式为:所述根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码,具体包括:
[0024]在所述当前码块的最大迭代次数内,对所述当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;
[0025]如果校验正确或对所述当前码块进行迭代译码的迭代次数达到所述当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为所述当前码块的实际迭代次数。
[0026]第二方面,提供了一种迭代译码的装置,所述装置包括:
[0027]第一获取模块,用于根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数;
[0028]第二获取模块,用于根据预先为每个码块设置的固定迭代次数和所述第一获取模块获取到的所述当前码块译码前节省的迭代次数,获取所述当前码块的最大迭代次数;
[0029]译码模块,用于根据所述第二获取模块获取到的所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
[0030]结合第二方面,第一种可能实现的方式为:所述第一获取模块,具体用于将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
[0031]结合第二方面,第二种可能实现的方式为:所述第一获取模块,具体用于将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算;如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于阈值,则将所述第一预设阈值作为运算结果;将得到的运算结果进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
[0032]结合第二方面的第一种可能实现的方式或第二种可能实现的方式,第三种可能实现的方式为:设置模块,用于如果所述当前码块译码前节省的迭代次数大于第二预设阈值,则将所述当前码块译码前节省的迭代次数设置为第二预设阈值。
[0033]结合第二方面,第四种可能实现的方式为:所述译码模块,还用于如果所述当前码块为译码的第tX (N+1)个码块,则将为所述当前码块设置的固定迭代次数作为所述当前码块的最大迭代次数,执行根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码的步骤;
[0034]或者,所述第一获取模块,还用于如果所述当前码块为译码的非第tX (N+1)个码块,则执行根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数的步骤;
[0035]其中,t、N为正整数。
[0036]结合第二方面的第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式及第四种可能的实现方式中的任一种可能的实现方式,第五种可能的实现方式为:所述译码模块,具体用于在所述当前码块的最大迭代次数内,对所述当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;如果校验正确或对所述当前码块进行迭代译码的迭代次数达到所述当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为所述当前码块的实际迭代次数。
[0037]本发明实施例提供的技术方案带来的有益效果是:
[0038]通过根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数,并依据当前码块的最大迭代次数对该当前码块进行迭代译码,从而可以提高系统性能,并提高确定迭代次数的可行性。
【专利附图】

【附图说明】
[0039]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1是本发明一个实施例提供的一种迭代译码的方法流程图;
[0041]图2是本发明另一个实施例提供的一种迭代译码的方法流程图;
[0042]图3是本发明另一个实施例提供的两种迭代译码方法的误块率曲线示意图;
[0043]图4是本发明另一个实施例提供的一种迭代译码的方法流程图;
[0044]图5是本发明另一个实施例提供的一种迭代译码的装置结构示意图;
[0045]图6是本发明另一个实施例提供的一种迭代译码的装置结构示意图;[0046]图7是本发明另一个实施例提供的一种迭代译码的装置结构示意图。
【具体实施方式】
[0047]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0048]本发明一个实施例提供了一种迭代译码的方法,该方法针对通信系统,为保证通信质量,将以传输块形式发送的信息序列分割成多个码块,然后对码块进行编码,在传输编码后的码块后,为了发现、纠正码块在传输过程中的错误,对码块进行迭代译码,在迭代译码的过程中为了提高译码吞吐率、降低译码时延和译码功耗,在码块的预设迭代次数内,对码块进行迭代译码。参见图1,本实施例提供的方法可以包括:
[0049]101:根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数;
[0050]具体地,该步骤的实现方式包括但不限于:将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累力口,并将累加得到的结果作为当前码块译码前节省的迭代次数;或
[0051]将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算;如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于阈值,则将第一预设阈值作为运算结果;将得到的运算结果进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数。
[0052]102:根据预先为每个码块设置的固定迭代次数和获取到的所述当前码块译码前节省的迭代次数,得到所述当前码块的最大迭代次数;
[0053]具体地,该步骤的实现方式包括但不限于:将预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数做加法运算,并将得到的结果作为当前码块的最大迭代次数;
[0054]103:根据当前码块的最大迭代次数,对当前码块进行迭代译码。
[0055]具体地,该步骤的具体实现方式包括但不限于:在当前码块的最大迭代次数内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;
[0056]如果校验正确或对当前码块进行迭代译码的迭代次数达到当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为当前码块的实际迭代次数。
[0057]本实施例提供的方法,通过根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数,并依据当前码块的最大迭代次数对该当前码块进行迭代译码,从而可以提高系统性能,并提高确定迭代次数的可行性。
[0058]本发明另一个实施例提供了一种迭代译码的方法,结合上述实施例的内容,参见图2,本实施例提供的方法可以包括:
[0059]201:判断当前码块是否为译码的第tX (N+1)个码块,如果是,则执行步骤204,如果否,则执行步骤202 ;
[0060]为了避免当前码块获取到的最大迭代次数太大,从而在进行译码时,影响到码块的译码时延,因此,本实施例将当前码块译码前可获得的当期码块之前的每个码块节省迭代次数限定在一定的码块范围内,在译码时对码块进行计数,如果当前码块之前有tx(N+1 )-1个码块,则该当前码块不从当前码块之前的码块获取节省的迭代次数,在每N个码块里,当前码块可以获得当前码块之前的码块的节省的迭代次数。t表示当前码块在第几个N个码块里。
[0061]例如,预先设置N为3, t为I,在当前码块为第4个码块时,当前码块之前有三个码块,4满足IX (3+1),则判断当前码块为译码的第tX (N+1)个码块,则执行步骤204;
[0062]或者,在当前码块为第3个码块时,当前码块之前有二个码块,3不满足I X (3+1 ),则判断当前码块为译码的非第tX (N+1)个码块,则执行步骤202。
[0063]N可以为3,t可以为1,还可以为其他值,例如,N还可以为5,t还可以为2等等,本实施例不对N,t的具体数值进行限定。
[0064]202:根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数;
[0065]具体地,该步骤的具体实现方式包括但不限于:将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数。
[0066]例如,预先为每个码块设置的固定迭代次数为12,每个码块的固定迭代次数相同,在当前码块之前有三个码块,每个码块的实际迭代次数分别为2、3、4,用预先为每个码块设置的固定迭代次数分别减去每个码块的实际迭代次数,将得到的差值进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数,用公式表达为(12-2)+ (12-3)+ (12-4)=27,27为当前码块译码前节省的迭代次数。
[0067]或者,该步骤的具体实现方式包括但不限于:将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算;如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于第一预设阈值,则将第一预设阈值作为运算结果;将得到的运算结果进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数。
[0068]例如:预先为每个码块设置的固定迭代次数为12,每个码块的固定迭代次数相同,设置的第一预设阈值为8,在当前码块之前有三个码块,每个码块的实际迭代次数分别为2,3,5,则每个码块设置的固定迭代次数减去每个码块的实际迭代次数的值分别为(12-2) =10,(12-3) =9,(12-5) =7,因为第一码块的差值为10大于8,将第一预设阈值8作为第一码块的差值运算结果,第二码块的差值9大于8,将第一预设阈值8作为第二码块的差值运算结果。第三码块的差值7小于第一预设阈值8,将第三码块的差值7作为第三码块的差值运算结果。
[0069]实际应用中,预先为每个码块设置的固定迭代次数除了设置为12外,还可以为其他值,例如15、18等等,该预先为每个码块设置的固定迭代次数可以在对所有码块译码前设置,还可以在对每个码块译码前为每个码块设置固定迭代次数,本实施例不对预先为每个码块设置的固定迭代次数的方式及次数进行具体限定。另外,第一预设阈值除了可以为8夕卜,还可以为其他值,例如,10、11等等,本实施例不对第一预设阈值的具体数值进行限定。而上述过程中使用到的当前码块之前每个码块的实际迭代次数具体可以通过如步骤204所示的方式得到。[0070]203:根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数,执行步骤205 ;
[0071]具体地,该步骤的具体实现方式包括但不限于:
[0072]将预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数做加法运算,并将得到的结果作为当前码块的最大迭代次数;
[0073]例如,预先为每个码块设置的固定迭代次数为12,每个码块的固定迭代次数相同,当前码块设置的固定迭代次数为12,获取到的当前码块译码前节省的迭代次数为28,则当前码块的最大迭代次数为12+28=40,预先为当前码块设置的固定迭代次数和获取当前码块译码前节省的迭代次数可以通过步骤202的方式得到。
[0074]204:将为当前码块设置的固定迭代次数作为当前码块的最大迭代次数;
[0075]针对该步骤,当前码块译码时不使用当前码块之前每个码块节省的迭代次数,为了避免当前码块获取到的最大迭代次数太大,从而在进行译码时,影响到码块的译码时延,因而在上述步骤201中判断当前码块为译码的第tX (N+1)个码块后,直接将为当前码块设置的固定迭代次数作为当前码块的最大迭代次数。
[0076]205:根据当前码块的最大迭代次数,对当前码块进行迭代译码。
[0077]具体地,该步骤的具体实现方式包括但不限于:
[0078]在当前码块的最大迭代次数内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;
[0079]如果校验正确或对当前码块进行迭代译码的迭代次数达到当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为当前码块的实际迭代次数。
[0080]例如,参见步骤201的相关描述,预先设置N为3,t为1,在当前码块为第4个码块时,当前码块之前有三个码块,4满足IX (3+1),则判断当前码块为译码的第tX (N+1)个码块,则将为当前码块设置的固定迭代次数作为当前码块的最大迭代次数,预先为每个码块设置的固定迭代次数为30,则在当前码块迭代次数30次内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果,如果第I次迭代译码后,校验不正确,则继续对当前码块进行迭代译码,当第7次迭代译码后,校验正确,则结束译码,并将结束译码时的迭代次数7作为当前码块的实际迭代次数。如果当前码块在进行了 30次迭代译码后,校验不正确,则结束译码,并将结束译码时的迭代次数30作为当前码块的实际迭代次数。
[0081]例如,在当前码块为第3个码块时,当前码块之前有二个码块,3不满足I X (3+1 ),则判断当前码块为译码的非第tX (N+1)个码块,通过步骤202和203,如果获得的当前码块的最大迭代次数为30,则在当前码块迭代次数30次内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果,如果第I次迭代译码后,校验不正确,则继续对当前码块进行迭代译码,当第7次迭代译码后,校验正确,则结束译码,并将结束译码时的迭代次数7作为当前码块的实际迭代次数。如果当前码块在进行了 30次迭代译码后,校验不正确,则结束译码,并将结束译码时的迭代次数30作为当前码块的实际迭代次数。本实施例不对获得的当前码块的最大迭代次数进行限定,可以为30,还可以为其他值。
[0082]下面,通过仿真实验,比较现有技术一中的迭代译码方法和本实施例提供的迭代译码方法。
[0083]在LTE (Long Term Evolution,长期演进)中,将以传输块发送的一段信息序列分割成多个码块,码率0.7,码长1024位,并经Tubo编码后,采用CRC(Cyclic RedundancyCheck,循环冗余校验)技术,对该多个码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果,如果校验正确或对当前码块进行迭代译码的迭代次数达到当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为当前码块的实际迭代次数。实际应用中,本仿真实验采用的编码方式除了可以为Tubo编码外,还可以为其他编码,例如,LDPC编码,本实施例不对具体编码方式进行限定。
[0084]现有技术中为每个码块设置固定迭代次数,此处以选用固定迭代次数分别为4、6和8为例,计算码块传输时在信噪比Eb/NO下对应的BLER (Block Error Rate,误块率)。
[0085]本实施例提供的方法中的每个码块的迭代次数由为每个码块设置的固定迭代次数和每个码块译码之前节省的迭代次数决定,预先设置N=10,以选用为每个码块设置的固定迭代次数分别为4、6和8为例,计算码块传输时在信噪比Eb/NO下对应的BLER。
[0086]参见图3,从图中的仿真结果可以看出,本实施例提供的方法在固定迭代次数为6时系统性能已超过现有技术中固定迭代次数为8时的系统性能,在信噪比>1.2dB时,本实施例提供的方法在固定迭代次数为4时系统性能已超过现有技术中固定迭代次数为6时的系统性能,采用本实施例提供的方法可以提高系统性能。在达到相同系统性能的情况下,固定迭代次数设置的小些,还可以节省硬件资源。
[0087]由于根据预先设置的固定迭代次数和当前码块译码前节省的迭代次数,可准确得到当前码块的最大迭代次数,因此可提高确定迭代次数的可行性,比为每个码块直接设置不同的最大迭代次数的可行性高。
[0088]本实施例提供的方法,通过根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数,并依据当前码块的最大迭代次数对该当前码块进行迭代译码,从而可以提高系统性能,并提高确定迭代次数的可行性。
[0089]本发明另一个实施例提供了一种迭代译码的方法,结合上述内容,参见图4,本实施例提供的方法可以包括:
[0090]301:根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数;
[0091]具体地,该步骤的具体实现方式可参见上述步骤202的相关描述,此处不再一一赘述。
[0092]进一步地,为了使当前码块译码前节省的迭代次数限制在一阈值内,避免有的码块获取到的最大迭代次数太大,从而在进行译码时,影响到码块的译码时延,本实施例提供的方法在步骤303根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数之前,还包括:
[0093]302:如果当前码块译码前节省的迭代次数大于第二预设阈值,则将当前码块译码前节省的迭代次数设置为第二预设阈值;
[0094]例如,预先设置的第二预设阈值为29,如果通过步骤301的方式获取到的当前码块译码前节省的迭代次数为30,由于当前码块译码前节省的迭代次数大于预先设置的第二预设阈值,也就是30>29,则将当前码块译码前节省的迭代次数设置为29 ;如果通过步骤301的方式获取到的当前码块译码前节省的迭代次数为28,由于当前码块译码前节省的迭代次数小于预先设置的第二预设阈值,也就是28〈29,则获取到的当前码块译码前节省的迭代次数为28,将第二预设阈值设置为29,使当前码块译码前节省的迭代次数的次数限制在29次之内。第二预设阈值可以为29,还可以为其他值,例如,30,31等,本实施例不对第二预设阈值的具体数值进行限定。
[0095]303:根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数;
[0096]具体地,该步骤的具体实现方式包括但不限于:
[0097]将预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数做加法运算,并将得到的结果作为当前码块的最大迭代次数;
[0098]例如,预先为每个码块设置的固定迭代次数为12,每个码块的固定迭代次数相同,当前码块设置的固定迭代次数为12,获取到的当前码块译码前节省的迭代次数为28,则当前码块的最大迭代次数为12+28=40,其中,预先为当前码块设置的固定迭代次数和获取当前码块译码前节省的迭代次数可以通过上述步骤301的方式得到。
[0099]304:根据当前码块的最大迭代次数,对当前码块进行迭代译码。
[0100]具体地,该步骤的具体实现方式包括但不限于:
[0101]在当前码块的最大迭代次数内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;
[0102]如果校验正确或对当前码块进行迭代译码的迭代次数达到当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为当前码块的实际迭代次数。
[0103]例如,当前码块的最大迭代次数为30,则在当前码块迭代次数30次内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果,如果第I次迭代译码后,校验不正确,则继续对当前码块进行迭代译码,当第7次迭代译码后,校验正确,则结束译码,并将结束译码时的迭代次数7作为当前码块的实际迭代次数。如果当前码块在进行了30次迭代译码后,校验不正确,则结束译码,并将结束译码时的迭代次数30作为当前码块的实际迭代次数。
[0104]综上所述,本实施例提供的方法,通过根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数获取当前码块的最大迭代次数,并依据当前码块的最大迭代次数对该当前码块进行迭代译码,从而可以提高系统性能,并提高确定迭代次数的可行性。
[0105]本发明另一个实施例提供了一种迭代译码的装置,该装置用于执行上述实施例所提供的迭代译码的方法,参见图5,该装置包括:
[0106]第一获取模块401,用于根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数;
[0107]第二获取模块402,用于根据预先为每个码块设置的固定迭代次数和第一获取模块401获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数;
[0108]译码模块403,用于根据第二获取模块402获取到的当前码块的最大迭代次数,对当前码块进行迭代译码。
[0109]其中,第一获取模块401,具体用于将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数。
[0110]其中,第一获取模块401,具体用于将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算;如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于阈值,则将第一预设阈值作为运算结果;将得到的运算结果进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数。
[0111]其中,参见图6,该装置,还包括:
[0112]设置模块404,用于如果当前码块译码前节省的迭代次数大于第二预设阈值,则将当前码块译码前节省的迭代次数设置为第二预设阈值。
[0113]其中,译码模块403,还用于如果当前码块为译码的第tX (N+1)个码块,则将为当前码块设置的固定迭代次数作为当前码块的最大迭代次数,执行根据当前码块的最大迭代次数,对当前码块进行迭代译码的步骤;
[0114]或者,第一获取模块401,还用于如果当前码块为译码的非第tX (N+1)个码块,则执行根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数的步骤;
[0115]其中,t、N为正整数。
[0116]其中,译码模块403,具体用于在当前码块的最大迭代次数内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;如果校验正确或对当前码块进行迭代译码的迭代次数达到当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为当前码块的实际迭代次数。
`[0117]其中,第一获取模块401获取当前码块译码前节省的迭代次数的方式具体可参见上述步骤202和步骤301的相关描述,第二获取模块402获取当前码块的最大迭代次数的方式具体可参见上述步骤步骤203、204和步骤303的相关描述,译码模块403对当前码块进行迭代译码的方式具体可参见上述步骤205和步骤304的相关描述,设置模块404设置当前码块译码前节省的迭代次数的方式具体可参见上述步骤303的相关描述,此处不再--赘述。
[0118]综上所述,本实施例提供的装置,通过根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数获取当前码块的最大迭代次数,并依据当前码块的最大迭代次数对当前码块进行迭代译码,从而可以提高系统性能,并提高确定迭代次数的可行性。
[0119]本发明另一个实施例提供了一种迭代译码的装置,参见图7,该迭代译码的装置包括处理器501,例如CPU (Central Processing Unit,中央处理单兀)和存储器502。
[0120]其中,处理器501,用于根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数;根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,获取当前码块的最大迭代次数;根据当前码块的最大迭代次数,对当前码块进行迭代译码。
[0121]存储器502,用于存储预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数。
[0122]在另一个实施例中,该处理器501在根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数时,具体用于将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数。
[0123]在另一个实施例中,该处理器501在根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数时,具体用于将预先为每个码块设置的固定迭代次数和当前码块之前的每个码块的实际迭代次数分别做差值运算;如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于第一预设阈值,则将第一预设阈值作为运算结果;将得到的运算结果进行累加,并将累加得到的结果作为当前码块译码前节省的迭代次数。
[0124]存储器502,用于存储第一预设阈值。
[0125]在另一个实施例中,该处理器501,在根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数,得到当前码块的最大迭代次数之前,还用于如果当前码块译码前节省的迭代次数大于第二预设阈值,则将当前码块译码前节省的迭代次数设置为第二预设阈值。
[0126]存储器502,用于存储第二预设阈值。
[0127]在另一个实施例中,该处理器501,在根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数之前,还用于如果当前码块为译码的第tX (N+1)个码块,则将为当前码块设置的固定迭代次数作为当前码块的最大迭代次数,执行根据当前码块的最大迭代次数,对当前码块进行迭代译码的步骤;或者,如果当前码块为译码的非第tX (N+1)个码块,则执行根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取当前码块译码前节省的迭代次数的步骤;其中,t、N为正整数。
[0128]在另一个实施例中,该处理器501在根据当前码块的最大迭代次数,对当前码块进行迭代译码时,具体用于在当前码块的最大迭代次数内,对当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;如果校验正确或对当前码块进行迭代译码的迭代次数达到当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为当前码块的实际迭代次数。
[0129]本实施例提供的装置,通过根据预先为每个码块设置的固定迭代次数和获取到的当前码块译码前节省的迭代次数获取当前码块的最大迭代次数,并依据当前码块的最大迭代次数对当前码块进行迭代译码,从而可以提高系统性能,并提高确定迭代次数的可行性。
[0130]需要说明的是:上述实施例提供的迭代译码的装置在迭代译码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的迭代译码的装置与迭代译码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0131 ] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0132]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0133]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种迭代译码的方法,其特征在于,所述方法包括: 根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数; 根据预先为每个码块设置的固定迭代次数和获取到的所述当前码块译码前节省的迭代次数,获取所述当前码块的最大迭代次数; 根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
2.根据权利要求1所述的方法,其特征在于,所述根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数,具体包括: 将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
3.根据权利要求1所述的方法,其特征在于,所述根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数,具体包括: 将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算; 如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于第一预设阈值,则将所述第一预设阈值作为运算结果;` 将得到的运算结果进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
4.根据权利要求2或3所述的方法,其特征在于,所述根据预先为每个码块设置的固定迭代次数和获取到的所述当前码块译码前节省的迭代次数,得到所述当前码块的最大迭代次数之前,还包括: 如果所述当前码块译码前节省的迭代次数大于第二预设阈值,则将所述当前码块译码前节省的迭代次数设置为第二预设阈值。
5.根据权利要求1所述的方法,其特征在于,所述根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数之前,还包括: 如果所述当前码块为译码的第tX (N+1)个码块,则将为所述当前码块设置的固定迭代次数作为所述当前码块的最大迭代次数,执行根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码的步骤; 或者,如果所述当前码块为译码的非第tX (N+1)个码块,则执行根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数的步骤; 其中,t、N为正整数。
6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,所述根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码,具体包括: 在所述当前码块的最大迭代次数内,对所述当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果; 如果校验正确或对所述当前码块进行迭代译码的迭代次数达到所述当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为所述当前码块的实际迭代次数。
7.一种迭代译码的装置,其特征在于,所述装置,具体包括: 第一获取模块,用于根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数; 第二获取模块,用于根据预先为每个码块设置的固定迭代次数和所述第一获取模块获取到的所述当前码块译码前节省的迭代次数,获取所述当前码块的最大迭代次数; 译码模块,用于根据所述第二获取模块获取到的所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
8.根据权利要求7所述的装置,其特征在于,所述第一获取模块,具体用于将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算,再将得到的差值进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
9.根据权利要求7所述的装置,其特征在于,所述第一获取模块,具体用于将预先为每个码块设置的固定迭代次数和所述当前码块之前的每个码块的实际迭代次数分别做差值运算;如果得到的差值小于等于第一预设阈值,则将得到的差值作为运算结果,如果得到的差值大于阈值,则将所述第一预设阈值作为运算结果;将得到的运算结果进行累加,并将累加得到的结果作为所述当前码块译码前节省的迭代次数。
10.根据权利要求8或9所述的装置,其特征在于,所述装置,还包括: 设置模块,用于如果所述当`前码块译码前节省的迭代次数大于第二预设阈值,则将所述当前码块译码前节省的迭代次数设置为第二预设阈值。
11.根据权利要求7所述的装置,其特征在于,所述译码模块,还用于如果所述当前码块为译码的第tX (N+1)个码块,则将为所述当前码块设置的固定迭代次数作为所述当前码块的最大迭代次数,执行根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码的步骤; 或者,所述第一获取模块,还用于如果所述当前码块为译码的非第tX (N+1)个码块,则执行根据预先为每个码块设置的固定迭代次数以及当前码块之前的每个码块的实际迭代次数,获取所述当前码块译码前节省的迭代次数的步骤; 其中,t、N为正整数。
12.根据权利要求7至11中任一权利要求所述的装置,其特征在于,所述译码模块,具体用于在所述当前码块的最大迭代次数内,对所述当前码块进行迭代译码,每次迭代译码后,校验迭代译码后的输出结果;如果校验正确或对所述当前码块进行迭代译码的迭代次数达到所述当前码块的最大迭代次数,则结束译码,并将结束译码时的迭代次数作为所述当前码块的实际迭代次数。
【文档编号】H04L1/00GK103780335SQ201210413063
【公开日】2014年5月7日 申请日期:2012年10月25日 优先权日:2012年10月25日
【发明者】魏岳军, 朱佥, 熊杰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1