一种提高Turbo译码性能的方法、装置及计算机设备与流程

文档序号:19639970发布日期:2020-01-07 12:37阅读:240来源:国知局
一种提高Turbo译码性能的方法、装置及计算机设备与流程

本发明涉及光通信技术领域,特别是涉及一种提高turbo译码性能的方法、装置及计算机设备。



背景技术:

前向纠错(fec,forwarderrorcorrection)技术目前已经被广泛地应用于光通信系统中,以达到改善系统的误码率性能、提高系统通信的可靠性的目的。近年来,光通信fec从时间和性能上先后经历了三代。第一代fec,采用硬判决分组码,典型的代表是rs(255,239)。第二代fec,采用硬判决级联码,综合应用级联、交织、迭代译码等技术,有效提高了fec的纠错能力,可支持10g和40g的系统长距离传输需求。第三代为软判决fec,随着光纤中单波速率向100g演进,相干接收技术的应用再加上集成电路技术的飞速发展使得软判决fec的应用成为可能。turbo乘积码(tpc,turboproductcode)即属于第三代的光通信软判决fec算法。

对于第三代turbo乘积码,它的编码是由很多行分组码进行块状的组合而形成一个多维度的数据块,这些数据块都是独立的编译码单元。在接收端,译码器将对这些独立的数据块逐行或逐列进行软译码;当一个数据块所有行或列软译码完成后,数据块的软信息将得到更新,这个过程称为一次迭代译码。接下来的一次译码将在上次译码更新的数据块基础上,对数据块进行转置,然后再对此数据块逐行或逐列进行软译码,进而得到新的码块软信息。但是在现有的tpc码块译码过程中,tpc码块的译码收敛较慢,译码性能较低。



技术实现要素:

本发明提供一种提高turbo译码性能的方法、装置及计算机设备,用以解决现有技术的tpc码块译码过程中,tpc码块的译码收敛较慢,译码性能较低的问题。

为解决上述技术问题,一方面,本发明提供一种提高turbo译码性能的方法,包括:检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值,其中,所述预定bch码软信息为待译码tpc码块中的任意一行或任意一列;在所述预定bch码软信息对应的d码字的欧氏距离dist_d小于第一预设阈值的情况下,将所述预定bch码软信息对应的d码字标记为可靠码字;在所述预定bch码软信息对应的d码字为可靠码字的情况下,根据所述预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设正数因子k,计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值其中,k为大于1的预设正数因子。

进一步,所述第一预设阈值threshold=dist_mean*q,其中,比例系数q为小于1的正数,dist_mean为当前迭代译码次数下所述预定bch码软信息对应的所有候选码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离或精简欧氏距离;或者,比例系数q为小于1的正数,dist_mean为当前迭代译码次数下所述待译码tpc码块的所有bch码软信息行对应的d码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离。

进一步,所述全欧氏距离为,所述候选码字的所有比特位与所述预定bch码软信息之间的欧氏距离;所述精简欧氏距离为,剔除预设比特位之后的候选码字与剔除所述预设比特位对应的软信息之后的预定bch码软信息之间的欧氏距离,其中,所述预设比特位为在所有候选码字中值全部相同的比特位。

进一步,在迭代译码次数的增加的情况下,所述比例系数q的值减小。

进一步,根据公式计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值其中,rj为所述预定bch码软信息中第j比特的原始值、wj为当次迭代译码中所述预定bch码软信息的第j比特的外信息值,α为wj的信任因子,且k*α的上限为1。

进一步,根据所述预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设的正数因子k,计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值包括:检测当前迭代译码次数是否在预设的迭代次数范围内;在当前迭代译码次数在预设的迭代次数范围内的情况下,根据所述预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设的正数因子k,计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值

进一步,检测当前迭代译码次数是否在预设的迭代次数范围内之后,还包括:在当前迭代译码次数不在预设的迭代次数范围内的情况下,根据所述预定bch码软信息中第j比特的原始值rj、外信息值wj以及外信息信任因子α,计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值

进一步,检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值之后,还包括:在所述预定bch码软信息对应的d码字的欧氏距离dist_d大于或等于第一预设阈值的情况下,根据所述预定bch码软信息中第j比特的原始值rj、外信息值wj以及外信息信任因子α,计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值

进一步,根据公式计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值

进一步,计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值之后,还包括:对所述待译码tpc码块中的所有bch码软信息逐比特计算下一次迭代译码的软信息输入值,对由所述下一次迭代译码的软信息输入值组成的tpc码块进行转置,得到下一次迭代译码的tpc输入码块。

进一步,得到下一次迭代译码的tpc输入码块之后,还包括:将当前迭代译码次数的值加1。

进一步,得到下一次迭代译码的tpc输入码块之后,还包括:在当前迭代译码次数达到预设的最大迭代译码次数的情况下,根据当前迭代译码次数下所述预定bch码软信息中第j比特的外信息值wj以及软信息输入值rj,计算所述预定bch码软信息中第j比特的的最终软译码输出值rj-out,其中,rj-out=rj+wj。

进一步,检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值之前,还包括:在所述预定bch码软信息中确定m个不可靠位,其中m为小于所述预定bch码软信息的总比特数的正整数;对所述预定bch码软信息进行硬判,得到所述预定bch码软信息对应的硬比特数据;根据所述硬比特数据以及所述m个不可靠位,得到所述预定bch码软信息对应的n个待译码码字,其中,n=2m;将所述n个待译码码字进行译码,得到所述预定bch码软信息对应的p个候选码字,其中,p为小于或等于n的正整数;根据所述预定bch码软信息对应的p个候选码字,计算所述预定bch码软信息对应的d码字以及竞争码字;根据所述预定bch码软信息对应的d码字以及竞争码字,对所述预定bch码软信息的第j比特进行初步软信息r′j和外信息wj的计算,其中,wj=r′j-rj,rj为当前迭代次数下所述预定bch码软信息中第j比特的软信息输入值。

进一步,根据所述预定bch码软信息对应的d码字以及竞争码字,对所述预定bch码软信息的第j比特进行初步软信息r′j的计算,包括:在所述预定bch码软信息的第j比特存在竞争码字的情况下,根据公式r′j=(dist_c-dist_d)*0.25*dj计算所述预定bch码软信息的第j比特进行初步软信息r′j,其中,dist_c为所述预定bch码软信息的第j比特的竞争码字的欧氏距离,dj为所述d码字的第j比特的符号值;在所述预定bch码软信息的第j比特不存在竞争码字的情况下,根据公式r′j=β*dj计算所述预定bch码软信息的第j比特进行初步软信息r′j,其中,β为估计系数。

另一方面,本发明还提供一种提高turbo译码性能的装置,包括:d码字检测模块,用于检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值,其中,所述预定bch码软信息为待译码tpc码块中的任意一行或任意一列;d码字标记模块,用于在所述预定bch码软信息对应的d码字的欧氏距离dist_d小于第一预设阈值的情况下,将所述预定bch码软信息对应的d码字标记为可靠码字;下一次迭代译码的软信息计算模块,用于在所述预定bch码软信息对应的d码字为可靠码字的情况下,根据所述预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设正数因子k,计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值其中,k为大于1的预设正数因子。

进一步,所述第一预设阈值threshold=dist_mean*q,其中,比例系数q为小于1的正数,dist_mean为当前迭代译码次数下所述预定bch码软信息对应的所有候选码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离或精简欧氏距离;或者,比例系数q为小于1的正数,dist_mean为当前迭代译码次数下所述待译码tpc码块的所有bch码软信息行对应的d码字的欧氏距离的均值,且所述欧氏距离为全欧氏距离。

进一步,在迭代译码次数的增加的情况下,所述比例系数q的值减小。

进一步,所述下一次迭代译码的软信息计算模块,具体用于:根据公式计算所述预定bch码软信息中第j比特的下一次迭代译码的软信息输入值其中,rj为所述预定bch码软信息中第j比特的原始值、wj为当次迭代译码中所述预定bch码软信息的第j比特的外信息值,α为wj的信任因子,且k*α的上限为1。

另一方面,本发明还提供一种计算机设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现上述的提高turbo译码性能的方法的步骤。

本发明实施例通过设定一个第一预设阈值threshold来判断待译码tpc码块中的某行或某列软信息的d码字是否为可靠的d码字,并在其为可靠的d码字的情况下,通过设置预设的正数因子增大信任值,以达到加快收敛的目的,使译码性能得到提高,解决了现有技术的tpc码块译码过程中,tpc码块的译码收敛较慢,译码性能较低的问题。

附图说明

图1是现有turbo译码方法的流程图;

图2是本发明第一实施例中提高turbo译码性能的方法流程图;

图3是本发明第一实施例中待译码tpc码块的译码过程示意图;

图4是本发明第二实施例中提高turbo译码性能的装置的结构示意图;

图5是本发明第二实施例中另一种提高turbo译码性能的装置的结构示意图;

图6是本发明第二实施例中提高turbo译码性能的装置的译码过程示意图。

具体实施方式

为了解决现有技术的tpc码块译码过程中,tpc码块的译码收敛较慢,译码性能较低的问题,本发明提供了一种提高turbo译码性能的方法、装置及计算机设备,以下结合附图以及实施例,对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明的第一实施例提供了一种提高turbo译码性能的方法,在现有turbo译码方法的基础上,确定待译码tpc码块中每一行或每一列bch码软信息对应的d码字是否为可靠码字,并且在d码字为可靠码字时,通过设置预设正数因子k来加快收敛过程。下面结合图1对现有的turbo译码方法进行介绍。

如图1所示,现有turbo译码方法主要包括步骤s1至s10:

s1,当前迭代译码次数n=1;

s2,对待译码tpc码块输入的任意一行bch码软信息确定一定数量的不可靠位;

s3,将每行bch码软信息硬判,并根据不可靠位得到若干个待译码码字;

s4,将若干个待译码码字输入到bch译码器进行译码得到若干候选码字;

s5,将候选码字与对应输入的bch码软信息分别计算欧氏距离,确定每行bch码的d码字以及竞争码字c;

s6,对每行bch码软信息逐比特进行初步软信息计算;

s7,对每行bch码逐比特进行外信息计算;

s8,判断当前迭代译码次数n是否达到最大配置值,若n未达到最大配置值,执行步骤s9,否则执行步骤s10;

s9,对每行bch码软信息逐比特计算下次迭代译码的输入软信息,当前迭代译码次数n=n+1,重新执行步骤s2;

s10,对每行bch码逐比特计算最终软译码输出。

在现有技术的tpc译码过程中,一个关键的步骤是对d码字的搜索确定,如果找到的d码字与发端的正确码字吻合,则该d码字可以称之为可靠d码字。在现有技术中,如果在前期几次迭代译码中对某行/列bch码软信息进行译码时,即使对应的d码字很可靠,但是此时的外信息wj仍有可能乘以一个较小的信任因子α值,即此时不充分信任外信息wj,这样的做法将导致tpc译码收敛较慢,译码性能较低。

为了解决上述问题,本发明第一实施例提出提高turbo译码性能的方法,其流程图如图2所示,主要包括步骤s101至s103:

s101,检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值。

具体地,预定bch码软信息为待译码tpc码块中的任意一行或者任意一列软信息,第一预设阈值又称为d码字可靠性判断阈值,可根据公式threshold=dist_mean*q计算得来,其中,threshold为第一预设阈值,q为比例系数,在本实施例中,q为小于1的正数,且q的值随着迭代译码次数的变化而变化,在本实施例中,迭代译码次数的增加的情况下,比例系数q的值减小;dist_mean为当前迭代译码次数下预定bch码软信息对应的所有候选码字的欧氏距离的均值,此时所涉及的欧氏距离可以为全欧氏距离或精简欧氏距离,或者,dist_mean为当前迭代译码次数下待译码tpc码块的所有bch码软信息行对应的d码字的欧氏距离的均值,此时所涉及的欧氏距离为全欧氏距离。

进一步地,上述的全欧氏距离为在计算欧式距离时,使用候选码字的所有比特位与预定bch码软信息之间进行欧氏距离计算的结果;上述的精简欧氏距离为在计算欧式距离时,剔除预设比特位之后的候选码字与剔除预设比特位对应的软信息之后的预定bch码软信息之间的欧氏距离,其中,预设比特位为在所有候选码字中值全部相同的比特位,即该比特位在所有候选码字中的值全部为1或者全部为0。

s102,在预定bch码软信息对应的d码字的欧氏距离dist_d小于第一预设阈值的情况下,将预定bch码软信息对应的d码字标记为可靠码字。

在预定bch码软信息对应的d码字的欧氏距离dist_d小于第一预设阈值时,证明该d码字与发端的正确码字吻合度更高,该d码字的可靠性更高,将其标记为可靠码字,在计算某一个比特的下一次迭代译码的软信息输入值时,应当考虑增加该比特对应的外信息的信任程度。

s103,在预定bch码软信息对应的d码字为可靠码字的情况下,根据预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设正数因子k,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值

具体地,在预定bch码软信息对应的d码字被标记为可靠码字时,通过设置预设正数因子k,增加计算时对第j比特的外信息值wj的信任程度,以达到加快收敛的目的。应当了解的是,由于外信息信任因子α的取值范围为0<α≤1,为了加快收敛,k应当为大于1的正数。

进一步地,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值的具体公式可以为:其中,rj为预定bch码软信息中第j比特的原始值、wj为当次迭代译码中预定bch码软信息的第j比特的外信息值,α为wj的信任因子,为了保证不过度增加信任值,在本实施例中,设置k*α的上限为1,即k*α的值如果大于1则让k*α=1。

可选地,在根据可靠码字进行加快收敛时,为了不过度地增加信任值,导致收敛过快,还可以设置预设的迭代次数范围,即在当前迭代译码次数落在预设的迭代次数范围时,根据预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设的正数因子k,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值应当了解的是,在本发明实施例中,预设的迭代次数范围可以为从第一次迭代译码到预先设置的最大配置次数的迭代译码中的任意一次或几次,但由于在迭代译码次数达到最大配置次数时,已经不需要进行下一次迭代译码的软信息输入值,所以通常情况下,预设的迭代次数范围不包括最后一次迭代译码。

在设置有预设的迭代次数范围的基础上,若当前迭代次数没有落在预设的迭代次数范围内,则按照现有技术中的方式,根据预定bch码软信息中第j比特的原始值rj、外信息值wj以及外信息信任因子α,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值即可,即

在步骤s101,即检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值之后,还可能存在预定bch码软信息对应的d码字的欧氏距离dist_d大于或等于第一预设阈值的情况,而在此情况下,计算下一次迭代译码的软信息输入值时,则按照现有技术中的方式,根据预定bch码软信息中第j比特的原始值rj、外信息值wj以及外信息信任因子α,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值即可,即

优选地,在当前迭代译码次数下,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值之后,还应当包括以下步骤:对待译码tpc码块中的所有bch码软信息逐比特计算下一次迭代译码的软信息输入值,对由下一次迭代译码的软信息输入值组成的tpc码块进行转置,得到下一次迭代译码的tpc输入码块。具体地,对待译码tpc码块中的所有bch码软信息的每个比特都要计算其对应的下一次迭代译码的软信息输入值,并对由待译码tpc码块中的所有比特的下一次迭代译码的软信息输入值组成的tpc码块进行转置,转置后的tpc码块,即为下一次迭代译码的tpc输入码块,即在下一次迭代译码中,从该tpc输入码块中获取任意一行或任意一列作为下一次迭代译码中的预定bch码软信息。

应当了解的是,在得到下一次迭代译码的tpc输入码块之后,若当前迭代译码次数不为预先设置的最大配置次数,则将当前迭代译码次数的值在原有的基础上加1,并进行下一次迭代译码;若当前迭代译码次数等于预先设置的最大配置次数,则证明当前迭代译码为最后一次迭代译码,此时根据当前迭代译码次数下预定bch码软信息中第j比特的外信息值wj以及软信息输入值rj,计算预定bch码软信息中第j比特的的最终软译码输出值rj-out,具体的计算公式为rj-out=rj+wj,对tpc码块中所有bch码软信息逐比特计算对应的最终译码输出值后,即可得到待译码tpc码块的译码结果。

优选地,在步骤s101之前,还应该包括以下步骤:

(1)在预定bch码软信息中确定m个不可靠位,其中m为小于预定bch码软信息的总比特数的正整数,m的实际数值应根据tpc码块的类型或进行译码的硬件环境进行确定。

(2)对预定bch码软信息进行硬判,得到预定bch码软信息对应的硬比特数据,硬判后得到的硬比特数据应由0或1组成。

(3)根据硬比特数据以及m个不可靠位,得到预定bch码软信息对应的n个待译码码字,其中,n=2m

在待译码码字中,除m个不可靠位以外的其他比特位的数据固定使用硬判后的数据不变,m个不可靠位对应的值则使用0或1的组合,即最多得到2m个,即n个待译码码字。

(4)将n个待译码码字进行译码,得到预定bch码软信息对应的p个候选码字,其中,p为小于或等于n的正整数。

对n个待译码码字进行译码时,可以将上述n个待译码码字输入到bch译码器进行译码以得到p个候选码字,由于译码后的候选码字可能有重复,或出现译码失败的情况,因此需要对得到的所有候选码字进行筛选,删除掉重复和/或译码失败的码字后,得到p个候选码字。

(5)根据预定bch码软信息对应的p个候选码字,计算预定bch码软信息对应的d码字以及竞争码字。

具体地,在计算预定bch码软信息对应的d码字时,将p个候选码字与预定bch码软信息分别计算欧氏距离,将欧式距离最小的那个候选码字确定为预定bch码软信息的d码字,预定bch码软信息每个比特位的竞争码字则从p个候选码字中除去d码字以外的其他候选码字中进行确定。

在计算候选码字与预定bch码软信息之间的欧式距离时,可以计算全欧氏距离,或者精简欧氏距离。

(6)根据预定bch码软信息对应的d码字以及竞争码字,对预定bch码软信息的第j比特进行初步软信息r′j和外信息wj的计算,其中,wj=r′j-rj,rj为当前迭代次数下预定bch码软信息中第j比特的软信息输入值。

具体地,计算预定bch码软信息的第j比特进行初步软信息r′j时,根据第j比特是否存在竞争码字,存在不同的计算方式如下:

在预定bch码软信息的第j比特存在竞争码字的情况下,根据公式r′j=(dist_c-dist_d)*0.25*dj计算预定bch码软信息的第j比特进行初步软信息r′j,其中,dist_c为预定bch码软信息的第j比特的竞争码字的欧氏距离,dj为d码字的第j比特的符号值;

在预定bch码软信息的第j比特不存在竞争码字的情况下,根据公式r′j=β*dj计算预定bch码软信息的第j比特进行初步软信息r′j,其中,β为估计系数。

本发明实施例通过设定一个第一预设阈值threshold来判断待译码tpc码块中的某行或某列软信息的d码字是否为可靠的d码字,并在其为可靠的d码字的情况下,通过设置预设的正数因子增大信任值,以达到加快收敛的目的,使译码性能得到提高,解决了现有技术的tpc码块译码过程中,tpc码块的译码收敛较慢,译码性能较低的问题。

下面以63行bch(63,51)码构成的待译码tpc码块为例,结合图3对待译码tpc码块的译码过程进行详细说明。

tpc译码算法的对象是由63行bch(63,51)码构成的tpc码块,共设置进行4次迭代译码,即迭代译码次数配置的最大值为4次,其中,一次迭代译码是指一次行译码或一次列译码;在本实施例中,对d码字的可靠性设置一个第一预设阈值threshold,阈值的大小为当前迭代次数下tpc码块所有行对应的d码字的欧氏距离的均值为参考乘以一个比例系数q得到的一个值;对标注为可靠d码字的处理迭代次数配置范围为第1次及第2次,即预设的迭代次数范围为第1次和第2次,即迭代次数为第1次或第2次迭代的时候,在计算下一次迭代译码软信息输入值的时候才根据可靠d码字的标记进行加快收敛的操作。结合图3,详述本实施例的步骤如下:

s31,从第一次迭代译码开始一直到配置的最大迭代次数为止,每次迭代译码都对输入的63行bch码软信息码块逐行确定4个不可靠位,其中,每行bch码软信息从63个软信息数据中选择的4个不可靠位的绝对值大小是这63个软信息绝对值中最小的4个值。

s32,对每行bch码软信息硬判得到一个63比特的硬比特数据,并根据4个不可靠位分别进行0或1的组合,最多可以得到2的4次方即16个待译码码字,每个待译码码字为63比特长,但是不一定是bch(63,51)码字。

s33,将上述16个待译码码字输入到bch译码器进行译码得到若干候选码字,这些候选码字为bch(63,51)码字,但是得到的候选码字的个数不一定是16个,需要筛选出重复或译码失败的码字。

s34,将上述若干数量的候选码字与对应输入的bch码软信息分别计算欧氏距离,其中,欧式距离的计算是将候选码字的所有比特位与对应输入的bch码软信息进行欧式距离计算,即得到的欧式距离为全欧式距离,将全欧氏距离最小值对应的那个候选码字确定为对应输入的bch码软信息的d码字,对应的竞争码字c将从其他的候选码字中搜寻。

s35,对63行的每行bch码软信息逐比特进行初步软信息计算;

如果bch码软信息的第j比特(j为1到63的整数)存在竞争码字c,则按照公式r′j=(dist_c-dist_d)*0.25*dj计算得到第j比特的初步软信息值;如果第j比特不存在竞争码字c,则初步软信息值为r′j=β*dj,其中r′j是初步软信息值、dist_c是竞争码字c的欧氏距离值、dist_d是d码字的欧氏距离值、dj是d码字第j比特的符号值、β为估计系数。

s36,对63行的每行bch码逐比特进行外信息计算,计算公式为wj=r′j-rj,其中,wj是bch码软信息的第j比特的外信息值,rj是当前迭代次数下对应输入的bch码软信息中第j比特的软信息输入值。

s37,设定一个参考d码字可靠判断阈值(即第一预设阈值)threshold,当d码字的欧氏距离dist_d小于阈值threshold时,将此d码字标注为可靠d码字,其中欧式距离是全欧式距离;

参考d码字可靠判断阈值threshold的获取以当前迭代次数下tpc码块所有行对应的d码字的欧氏距离的均值dist_mean为参考乘以一个比例系数q得到的一个值,q为小于1的一个正数,d码字的欧氏距离小于threshold时,即认为可以得到较好的译码性能;在本实施例中,如果当前译码次数为第1次,将q取0.39,则d码字标注为可靠d码字的条件为:dist_d<dist_mean*0.39;如果当前译码次数为第2次,将q取0.31,则d码字标注为可靠d码字的条件为:dist_d<dist_mean*0.31,也就是说,q值可以根据不同的迭代次数取不同的值。

s38,判断当前迭代译码次数是否达到最大配置值4次,如果当前迭代译码次数没有到达最大配置值4次,执行s39,否则,执行s42。

s39,判断当前行的d码字是否为可靠码字,若是,则执行步骤s40,否则,执行s41。

s40,如果d码字为可靠d码字,并且当前迭代译码次数在预设的迭代次数范围内,即当前迭代次数为第1次到第2次,则每一行bch码软信息中第j比特的下一次迭代译码软信息输入值的计算公式为其中为bch码软信息中第j比特的下一次迭代译码的软信息输入值、rj是bch码软信息中第j比特的原始值rj、k是大于1的一个预设正数因子、α为外信息的信任因子,且k*α的上限为1;在本实施例中,当前迭代次数为第1次时,k值可以取2,当前迭代次数为第2次时,k的值可以取1.6,由于0<α≤1,通过k*α来增大外信息的信任值并达到加快收敛的目的;

计算所有下一次迭代译码软信息输入值之后,对由所有下一次迭代译码的软信息输入值组成的tpc码块进行转置后,得到下一次的tpc输入码块,将迭代次数计数器加1。

s41,如果d码字没有标注为可靠d码字,或当前迭代译码次数没有落在预设的迭代次数范围内,则下次迭代译码软信息输入值的计算公式为

计算所有下一次迭代译码软信息输入值之后,对由所有下一次迭代译码的软信息输入值组成的tpc码块进行转置后,得到下一次的tpc输入码块,将迭代次数计数器加1。

s42,如果当前迭代译码次数到达最大配置值4次,对每行bch码逐比特计算最终软译码输出,bch码软信息中第j比特的的最终软译码输出值rj-out=rj+wj,rj为当前迭代译码次数下bch码软信息中第j比特的软信息输入值,对tpc码块中所有bch码软信息逐比特计算对应的最终译码输出值后,即可得到待译码tpc码块的译码结果。

本发明的第二实施例提供了一种提高turbo译码性能的装置,其结构示意图如图4所示,主要包括:d码字检测模块401,用于检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值,其中,预定bch码软信息为待译码tpc码块中的任意一行或任意一列;d码字标记模块402,与d码字检测模块401耦合,用于在预定bch码软信息对应的d码字的欧氏距离dist_d小于第一预设阈值的情况下,将预定bch码软信息对应的d码字标记为可靠码字;下一次迭代译码的软信息计算模块403,与d码字标记模块402耦合,用于在预定bch码软信息对应的d码字为可靠码字的情况下,根据预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设正数因子k,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值其中,k为大于1的预设正数因子。

具体地,预定bch码软信息为待译码tpc码块中的任意一行或者任意一列软信息,第一预设阈值又称为d码字可靠性判断阈值,可根据公式threshold=dist_mean*q计算得来,其中,threshold为第一预设阈值,q为比例系数,在本实施例中,q为小于1的正数,且q的值随着迭代译码次数的变化而变化,在本实施例中,迭代译码次数的增加的情况下,比例系数q的值减小;dist_mean为当前迭代译码次数下预定bch码软信息对应的所有候选码字的欧氏距离的均值,此时所涉及的欧氏距离可以为全欧氏距离或精简欧氏距离,或者,dist_mean为当前迭代译码次数下待译码tpc码块的所有bch码软信息行对应的d码字的欧氏距离的均值,此时所涉及的欧氏距离为全欧氏距离。

进一步地,上述的全欧氏距离为在计算欧式距离时,使用候选码字的所有比特位与预定bch码软信息之间进行欧氏距离计算的结果;上述的精简欧氏距离为在计算欧式距离时,剔除预设比特位之后的候选码字与剔除预设比特位对应的软信息之后的预定bch码软信息之间的欧氏距离,其中,预设比特位为在所有候选码字中值全部相同的比特位,即该比特位在所有候选码字中的值全部为1或者全部为0。

在预定bch码软信息对应的d码字的欧氏距离dist_d小于第一预设阈值时,证明该d码字与发端的正确码字吻合度更高,该d码字的可靠性更高,此时通过d码字标记模块402将其标记为可靠码字,在下一次迭代译码的软信息计算模块403计算某一个比特的下一次迭代译码的软信息输入值时,应当考虑增加该比特对应的外信息的信任程度。

具体地,在预定bch码软信息对应的d码字被标记为可靠码字时,通过设置预设正数因子k,使下一次迭代译码的软信息计算模块403在计算时增加对第j比特的外信息值wj的信任程度,以达到加快收敛的目的。应当了解的是,由于外信息信任因子α的取值范围为0<α≤1,为了加快收敛,k应当为大于1的正数。

进一步地,下一次迭代译码的软信息计算模块403计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值的具体公式可以为:其中,rj为预定bch码软信息中第j比特的原始值、wj为当次迭代译码中预定bch码软信息的第j比特的外信息值,α为wj的信任因子,为了保证不过度增加信任值,在本实施例中,设置k*α的上限为1,即k*α的值如果大于1则让k*α=1。

可选地,在下一次迭代译码的软信息计算模块403根据可靠码字进行加快收敛时,为了不过度地增加信任值,导致收敛过快,还可以设置预设的迭代次数范围,即下一次迭代译码的软信息计算模块403首先检测当前迭代译码次数是否落在预设的迭代次数范围,在当前迭代译码次数落在预设的迭代次数范围时,再根据预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设的正数因子k,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值应当了解的是,在本发明实施例中,预设的迭代次数范围可以为从第一次迭代译码到预先设置的最大配置次数的迭代译码中的任意一次或几次,但由于在迭代译码次数达到最大配置次数时,已经不需要进行下一次迭代译码的软信息输入值,所以通常情况下,预设的迭代次数范围不包括最后一次迭代译码。

在设置有预设的迭代次数范围的基础上,若当前迭代次数没有落在预设的迭代次数范围内,则按照现有技术中的方式,下一次迭代译码的软信息计算模块403根据预定bch码软信息中第j比特的原始值rj、外信息值wj以及外信息信任因子α,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值即可,即

d码字检测模块401在检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值时,还可能存在预定bch码软信息对应的d码字的欧氏距离dist_d大于或等于第一预设阈值的情况,而在此情况下,下一次迭代译码的软信息计算模块403在计算下一次迭代译码的软信息输入值时,则按照现有技术中的方式,根据预定bch码软信息中第j比特的原始值rj、外信息值wj以及外信息信任因子α,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值即可,即

优选地,本实施例中提高turbo译码性能的装置,还可以包括如图5所示的以下模块:转置模块404,与下一次迭代译码的软信息计算模块403耦合,用于在下一次迭代译码的软信息计算模块403对待译码tpc码块中的所有bch码软信息逐比特计算下一次迭代译码的软信息输入值之后,对由下一次迭代译码的软信息输入值组成的tpc码块进行转置,得到下一次迭代译码的tpc输入码块。具体地,下一次迭代译码的软信息计算模块403对待译码tpc码块中的所有bch码软信息的每个比特都要计算其对应的下一次迭代译码的软信息输入值,转置模块404则对由待译码tpc码块中的所有比特的下一次迭代译码的软信息输入值组成的tpc码块进行转置,转置后的tpc码块,即为下一次迭代译码的tpc输入码块,即在下一次迭代译码中,从该tpc输入码块中获取任意一行或任意一列作为下一次迭代译码中的预定bch码软信息。

应当了解的是,在得到下一次迭代译码的tpc输入码块之后,若当前迭代译码次数不为预先设置的最大配置次数,则通过与转置模块404耦合的迭代次数计数模块405将当前迭代译码次数的值在原有的基础上加1,并进行下一次迭代译码;若当前迭代译码次数等于预先设置的最大配置次数,则证明当前迭代译码为最后一次迭代译码,此时由与迭代次数计数模块405耦合的最终软译码输出模块406根据当前迭代译码次数下预定bch码软信息中第j比特的外信息值wj以及软信息输入值rj,计算预定bch码软信息中第j比特的的最终软译码输出值rj-out,具体的计算公式为rj-out=rj+wj,对tpc码块中所有bch码软信息逐比特计算对应的最终译码输出值后,即可得到待译码tpc码块的译码结果。

优选地,本实施例中提高turbo译码性能的装置,还可以包括以下模块:

不可靠位确定模块407,用于在预定bch码软信息中确定m个不可靠位,其中m为小于预定bch码软信息的总比特数的正整数,m的实际数值应根据tpc码块的类型或进行译码的硬件环境进行确定;

硬判模块408,与不可靠位确定模块407耦合,用于对预定bch码软信息进行硬判,得到预定bch码软信息对应的硬比特数据;

待译码码字产生模块409,与硬判模块408耦合,用于根据硬比特数据以及m个不可靠位,得到预定bch码软信息对应的n个待译码码字,其中,n=2m

候选码字产生模块410,与待译码码字产生模块409耦合,用于将n个待译码码字进行译码,得到预定bch码软信息对应的p个候选码字,其中,p为小于或等于n的正整数,候选码字产生模块410在可以为bch译码器,对n个待译码码字进行译码时,将上述n个待译码码字输入到bch译码器进行译码以得到p个候选码字,由于译码后的候选码字可能有重复,或出现译码失败的情况,因此需要对得到的所有候选码字进行筛选,删除掉重复和/或译码失败的码字后,得到p个候选码字;

d码字及竞争码字确定模块411,与候选码字产生模块410耦合,用于根据预定bch码软信息对应的p个候选码字,计算预定bch码软信息对应的d码字以及竞争码字;具体地,在d码字及竞争码字确定模块411计算预定bch码软信息对应的d码字时,将p个候选码字与预定bch码软信息分别计算欧氏距离,将欧式距离最小的那个候选码字确定为预定bch码软信息的d码字,预定bch码软信息每个比特位的竞争码字则从p个候选码字中除去d码字以外的其他候选码字中进行确定;在计算候选码字与预定bch码软信息之间的欧式距离时,可以计算全欧氏距离,或者精简欧氏距离。

初步软信息计算模块412,与d码字及竞争码字确定模块411耦合,用于根据预定bch码软信息对应的d码字以及竞争码字,对预定bch码软信息的第j比特进行初步软信息r′j计算,具体地,初步软信息计算模块412计算预定bch码软信息的第j比特进行初步软信息r′j时,根据第j比特是否存在竞争码字,存在不同的计算方式如下:

在预定bch码软信息的第j比特存在竞争码字的情况下,根据公式r′j=(dist_c-dist_d)*0.25*dj计算预定bch码软信息的第j比特进行初步软信息r′j,其中,dist_c为预定bch码软信息的第j比特的竞争码字的欧氏距离,dj为d码字的第j比特的符号值;

在预定bch码软信息的第j比特不存在竞争码字的情况下,根据公式r′j=β*dj计算预定bch码软信息的第j比特进行初步软信息r′j,其中,β为估计系数;

外信息计算模块413,与初步软信息计算模块412以及d码字检测模块401分别耦合,用于根据预定bch码软信息的第j比特的初步软信息,对预定bch码软信息的第j比特进行外信息wj的计算,其中,wj=r′j-rj,rj为当前迭代次数下预定bch码软信息中第j比特的软信息输入值。

本发明实施例通过设定第一预设阈值threshold来判断待译码tpc码块中的某行或某列软信息的d码字是否为可靠的d码字,并在其为可靠的d码字的情况下,通过设置预设的正数因子增大信任值,以达到加快收敛的目的,使译码性能得到提高,解决了现有技术的tpc码块译码过程中,tpc码块的译码收敛较慢,译码性能较低的问题。

下面以127行bch(127,120)码构成的待译码tpc码块为例,结合图6对提高turbo译码性能的装置的译码过程进行详细说明。

tpc译码算法的对象是由127行bch(127,120)码构成的tpc码块,共设置进行6次迭代译码,即迭代译码次数配置的最大值为6次;在本实施例中,对d码字的可靠性设置一个第一预设阈值threshold,阈值的大小为当前行所有候选码字的欧氏距离的均值为参考乘以一个比例系数q得到的一个值;对标注为可靠d码字的处理迭代次数配置范围为第2次及第3次,即预设的迭代次数范围为第2次和第3次,即迭代次数为第2次或第3次迭代的时候,在计算下一次迭代译码软信息输入值的时候才根据可靠d码字的标记进行加快收敛的操作。结合图6,详述使用提高turbo译码性能的装置实现译码过程的步骤如下:

s61,迭代次数计数模块405将记录当前迭代译码次数,通过不可靠位确定模块407为输入的127行bch码软信息码块逐行确定6个不可靠位,其中,每行bch码软信息从127个软信息数据中选择的6个不可靠位的绝对值大小是这127个软信息绝对值中最小的6个值。

s62,硬判模块408对每行bch码的软信息进行硬判,得到一个对应的127比特的硬比特数据,并通过待译码码字产生模块409得到2的6次方即64个待译码码字,每个待译码码字为127比特长,但是不一定是bch(127,120)码字。

s63,将上述64个待译码码字输入到候选码字产生模块410进行译码得到若干候选bch码字,且这些候选码字将是bch(127,120)码字,但是得到的候选码字的个数不一定是64个,需要筛选出重复或译码失败的码字.

s64,通过d码字及竞争码字确定模块411将上述若干数量的候选码字与对应输入的bch码软信息分别计算欧氏距离,其中,欧式距离的计算是将候选码字的所有比特位与对应输入的bch码软信息进行欧式距离计算,即得到的欧式距离为全欧式距离,将全欧氏距离最小值对应的那个候选码字确定为对应输入的bch码软信息的d码字,对应的竞争码字c将从其他的候选码字中搜寻。

s65,初步软信息计算模块412对127行的每行bch码软信息逐比特进行初步软信息计算;

如果bch码软信息的第j比特(j为1到127的整数)存在竞争码字c,则按照公式r′j=(dist_c-dist_d)*0.25*dj计算得到第j比特的初步软信息值;如果第j比特不存在竞争码字c,则初步软信息值为r′j=β*dj,其中r′j是初步软信息值、dist_c是竞争码字c的欧氏距离值、dist_d是d码字的欧氏距离值、dj是d码字第j比特的符号值、β为估计系数。

s66,外信息计算模块413对127行的每行bch码逐比特进行外信息计算,计算公式为wj=r′j-rj,其中,wj是bch码软信息的第j比特的外信息值,rj是当前迭代次数下对应输入的bch码软信息中第j比特的软信息输入值。

s67,设定一个参考d码字可靠判断阈值(即第一预设阈值)threshold,通过d码字检测模块401检测出当前d码字的欧氏距离dist_d小于阈值threshold时,通过d码字标记模块402将此d码字标注为可靠d码字,其中欧式距离是全欧式距离或精简欧氏距离;

参考d码字可靠判断阈值threshold的获取以当前迭代译码次数下当前行对应的所有候选码字的欧氏距离的均值dist_mean为参考乘以一个比例系数q得到的一个值,q为小于1的一个正数,d码字的欧氏距离小于threshold时,即认为可以得到较好的译码性能;在本实施例中,如果当前译码次数为第2次,将q取0.6,则d码字标注为可靠d码字的条件为:dist_d<dist_mean*0.6;如果当前译码次数为第3次,将q取0.5,则d码字标注为可靠d码字的条件为:dist_d<dist_mean*0.5,也就是说,q值可以根据不同的迭代次数取不同的值。

s68,判断当前迭代译码次数是否达到最大配置值6次,如果当前迭代译码次数没有到达最大配置值6次,执行s69,否则,执行s72。

s69,判断当前行的d码字是否为可靠码字,若是,则执行步骤s70,否则,执行s71。

s70,如果d码字为可靠d码字,并且当前迭代译码次数在预设的迭代次数范围内,即当前迭代次数为第2次到第3次,则下一次迭代译码的软信息计算模块403计算每一行bch码软信息中第j比特的下一次迭代译码软信息输入值的计算公式为其中为bch码软信息中第j比特的下一次迭代译码的软信息输入值、rj是bch码软信息中第j比特的原始值rj、k是大于1的一个预设正数因子、α为外信息的信任因子,且k*α的上限为1;在本实施例中,当前迭代次数为第2次时,k值可以取2,当前迭代次数为第3次时,k的值可以取1.6,由于0<α≤1,通过k*α来增大外信息的信任值并达到加快收敛的目的;

计算所有下一次迭代译码软信息输入值之后,通过转置模块404对由所有下一次迭代译码的软信息输入值组成的tpc码块进行转置后,得到下一次的tpc输入码块,将迭代次数计数器加1。

s71,如果d码字没有标注为可靠d码字,或当前迭代译码次数没有落在预设的迭代次数范围内,则下一次迭代译码的软信息计算模块403计算下次迭代译码软信息输入值的计算公式为

计算所有下一次迭代译码软信息输入值之后,通过转置模块404对由所有下一次迭代译码的软信息输入值组成的tpc码块进行转置后,得到下一次的tpc输入码块,将迭代次数计数器加1。

s72,如果当前迭代译码次数到达最大配置值6次,由最终软译码输出模块406对每行bch码逐比特计算最终软译码输出,bch码软信息中第j比特的的最终软译码输出值rj-out=rj+wj,rj为当前迭代译码次数下bch码软信息中第j比特的软信息输入值,对tpc码块中所有bch码软信息逐比特计算对应的最终译码输出值后,即可得到待译码tpc码块的译码结果。

本发明的第三实施例提供了一种计算机设备,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现如下步骤s81至s83:

s81,检测待译码tpc码块中预定bch码软信息对应的d码字的欧氏距离dist_d是否小于第一预设阈值,其中,预定bch码软信息为待译码tpc码块中的任意一行或任意一列;

s82,在预定bch码软信息对应的d码字的欧氏距离dist_d小于第一预设阈值的情况下,将预定bch码软信息对应的d码字标记为可靠码字;

s83,在预定bch码软信息对应的d码字为可靠码字的情况下,根据预定bch码软信息中第j比特的原始值rj、外信息值wj、外信息信任因子α以及预设正数因子k,计算预定bch码软信息中第j比特的下一次迭代译码的软信息输入值其中,k为大于1的预设正数因子。

在本实施例中,计算机设备可以为具有译码功能的终端。由于在第一实施例中已经对提高turbo译码性能的方法进行了详细说明,因此,在本实施例中不再赘述。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1