一种用于宽带电力线载波通信的Turbo译码方法
文献发布时间:2023-06-19 09:30:39
技术领域
本发明涉及电力线载波系统通信,尤其涉及一种用于宽带电力线载波通信的Turbo译码方法。
背景技术
近年来,随着通信行业的发展,电力线网络因为具有广阔的覆盖面积,既可以当作电线,又可以当作网线使用。所以电力线网络很有潜力成为有线传输通信中最佳的传输方式,但必须保证信息的有效传输。对于电力线载波通信来讲,系统的可靠性特别重要,如果可靠性较低,将会导致通信系统性能下降,影响数据传输。而电力线通信技术存在许多难点,如信号衰弱强,同时伴随多径时延,此外电力线上负载较多,且可以随时、随地、随意切入,形成了多种噪声的干扰,噪声的复杂性必定会对通信信号造成严重的干扰。为此,电力线载波通信中的关键点——编解码技术的研究对于提高通信质量构建稳健的通信系统具有重大意义。自Turbo码提出,科学家们已经系统的阐明了迭代译码原理和推导了SISO(软输入软输出)算法,证明了通过与随机交织器结合具有很强的纠错能力,使得Turbo编码在LTE、802.16m、WCDMA、HomePlug中得到广泛应用。传统的Log-Map算法计算复杂,需要消耗大量的存储空间,而且多次迭代使得译码时延较大,很难满足目前高速率、实时数据传输的要求,而另一种传统的SOVA算法,虽然计算简单,存储空间也相对小,但是译码的可靠性相对较低,因此,在保证计算复杂度低,存储空间合理的情况下,提高译码可靠性以及减少译码延迟成为Turbo译码算法研究的主要方向之一。
发明内容
为解决上述现有技术的不足或缺点,本发明提出了一种用于宽带电力线载波通信的Turbo译码方法,译码计算复杂度较低,存储空间较低,译码时间较短,译码可靠性较高。
本发明的技术问题通过以下的技术方案予以解决:
一种用于宽带电力线载波通信的Turbo译码方法,包含以下步骤:
步骤1,初始化译码器:在迭代译码之前,对子译码器中正向译码模块和逆向译码模块需要输入的先验信息以及每个模块的幸存路径度量进行初始化零操作;
步骤2,首次迭代译码及存储:正向和逆向两个译码模块并行对数据进行处理,正向译码模块和逆向译码模块对输入信息数据、校验数据以及先验信息进行正向和逆向译码处理,分别在处理正向和逆向最后一个有效数据的时候,对此时的两个译码模块的幸存路径度量进行提取、合并、存储,译码完成后,对两个译码模块输出的对数似然比外信息值存储。外信息值最为子译码器2输入的先验信息,幸存路径度量作为子译码器1下一次迭代幸存路径度量的初始值;
步骤3,非首次迭代译码:利用上次迭代存储的幸存路径度量信息作为本次迭代两个译码模块幸存路径度量的初始值,两个模块针对输入的数据信息、校验信息、先验信息并行地进行译码,输出似然比外信息,并在处理完最后一位有效数据时,对幸存路径度量信息进行提取、合并、存储;
步骤4,判断是否停止迭代:判断迭代次数是否等于估计信噪比对应的迭代次数,如果是,停止迭代,对当前输出的软信息进行硬判决得到信息比特,并对信息比特进行校验判决,如果通过,结束迭代,如果不通过,则返回步骤3,进入下一次迭代译码过程,直到达到最大迭代次数后停止,并进行硬判决,输出比特信息。
本发明与现有技术对比的有益效果是:
1.在不增加计算复杂度以及存储空间的情况下,通过利用了编码的咬尾特性,提高了译码的可靠性;2.子译码器的正向译码模块对输入数据进行正向译码,得到信息数据软信息以及得到编码器末态时每个状态的概率(幸存路径度量),逆向译码模块对输入数据进行逆向译码,得到信息数据软信息以及得到编码器初态时每个状态的概率(幸存路径度量),将软信息和幸存路径度量分别合并、存储,进一步提高了软信息以及幸存路径度量的置信度,从而提高了译码的可靠性;3.迭代终止判断时,根据信噪比不同对应不同的迭代终止次数,通过检查译码比特是否真正停止,通过限制最大迭代次数,防止出现死循环,本发明能减少子译码器的迭代次数,加快译码结果的输出。
附图说明
附图是本发明的实施例,用来进一步理解和解释本发明,因此不应被当作是对本发明的限制。在附图中:
图1为本发明用于宽带电力线载波通信的Turbo译码方法的译码器的结构示意图;
图2为本发明用于宽带电力线载波通信的Turbo译码方法子译码器的结构组成图;
图3为本发明用于宽带电力线载波通信的Turbo译码方法的迭代译码流程图;
图4为本发明用于宽带电力线载波通信的Turbo译码方法的子译码器译码工作流程示意图;
图5为本发明用于宽带电力线载波通信的Turbo译码方法的路径度量转移示意图;
图6为本发明用于宽带电力线载波通信的Turbo译码方法的幸存路径度量提取、存储、转移示意图;
图7为本发明用于宽带电力线载波通信的Turbo译码方法与传统的译码方法的性能比较结果图(PB40);
图8为本发明用于宽带电力线载波通信的Turbo译码方法与传统的译码方法的性能比较结果图(PB136);
图9为本发明用于宽带电力线载波通信的Turbo译码方法与传统的译码方法的性能比较结果图(PB520);
具体实施方式
下面结合具体实施方式并对照附图对本发明做进一步详细说明
本实施例的用于宽带电力线载波通信的Turbo译码方法,其参数设置如下表1所示:
表1
实施例的Turbo译码方法,针对的译码器结构如图1所示,该译码器包括两个子译码器,两个子译码器进行串行迭代译码,每个子译码器又包含正向和逆向两个译码模块,正向和逆向两个译码模块并行处理数据。对于每一个的译码处理如图2所示,子译码器1接收到的信息比特对软信息x
如图3所示,实施例的Turbo译码方法中,各子译码器中的迭代过程包括4个步骤:
步骤1)初始化译码器。
该步骤中,需要给译码器进行初始化赋值,包括两个译码模块的幸存路径度量、译码的回溯长度,四个衰减器的衰减系数,子译码器1的先验信息等。
子译码器1幸存路径度量的初始值M
子译码器2幸存路径度量的初始值M
子译码器1的回溯长度T
子译码器2的回溯长度T
衰减器1的衰减系数d
衰减器2的衰减系数d
衰减器3的衰减系数d
衰减器4的衰减系数d
子译码器1的先验信息L
需要注意的是,本步骤中对译码器进行初始化赋值,并不局限于上述赋值也不局限于上述参数。
步骤2)首次迭代译码及存储,利用步骤1中对译码器的初始化赋值,根据接收到的信息比特对软信息x
具体步骤如下:
如图1所示,对输入译码器的数据首先传递给子译码器1,在子译码器1中,一路输入直接输入到正向译码模块,另一路经过逆向模块处理后,将数据顺序由[a
如图4所示,在两个译码模块中数据处理方式相同,以正向译码模块为例进行说明,正向译码模块中数据处理的具体步骤如下:
步骤6),在正向译码模块中,对输入的数据,根据设定的回溯长度进行补零,并根据x
步骤7),如图5所示,由幸存路径度量的初始值作为发起点,根据图2的状态转移,进行路径分支,路径分支由x
步骤8),对到达每个状态的四条路径进行处理以得到对应输入x
步骤9),对到达每个状态的四条路径,通过比较可信度,只保留可信度最高的一条路径作为幸存路径,针对该编码器共8个状态,这样每次更新后总共保留8条幸存路径,每条路径的终点对应一个状态。
步骤10),随着对输入数据的处理,幸存路径在回溯长度范围内不断趋于收敛,在选择幸存路径的同时,也对计算的比特软信息进行了选择。
步骤11),处理的数据组索引大于回溯长度时,开始对比特对的软信息进行输出。
步骤12),当处理完最后一组有效数据的时候,保存此时的幸存路径度量,作为下一次译码的幸存路径度量的初始值。
正向译码模块与逆向译码模块分别输出幸存路径度量M
子译码器1输出的后验信息L
子译码器1译码完成后,子译码器2开始工作,输入的先验信息为子译码器1输出的外信息L
步骤3)非首次迭代译码:更新译码输出软信息并更新幸存路径度量存储。
该步骤中,两个子译码器的工作流程与首次迭代工作流程相同,区别在于:子译码器1输入的先验信息L
幸存路径度量的提取,如图6所示,在每次迭代中,从初始幸存路径度量为起点,通过增加分支路径(通过输入数据的可能性形成不同的分支度量),到达每个状态路径度量有4条,对比四条路径度量的可信度,对每个状态保留一条可信度最高的路径度量作为幸存路径度量,在处理完最后一组有效数据时,提取此时的幸存路径度量作为下一次迭代的幸存路径度量的初始值。
利用上述输入的数据以及初始值进行迭代译码,输出对应比特从开始时刻到终止时刻的似然比软信息。译码时,采用的是计算复杂度较低、存储空间较小的双向SOVA译码方式。
步骤4)判断是否停止迭代:判断迭代是否等于最大迭代次数,如果是,则停止迭代,进行硬判决输出译码比特,否则判断是否达到信噪比对应的迭代次数,如果是做进一步判断,否则继续迭代。
如果迭代次数达到对应信噪比设定的迭代次数,对译码器的输出进行硬判决译码,判断是否满足终止条件,如果满足,迭代结束,如果不满足,继续迭代到最大迭代次数后,进行硬判决译码输出。
判断终止译码的条件,可以通过对硬判决译码比特进行CRC检查,CRC检查通过,认为满足终止译码条件,也可以对两个子译码器输出的软信息进行硬判决输出,两个子译码器硬判决输出完全相同,认为满足终止译码条件。
本实施例中采用的CRC检查的方法,判断是否满足终止译码条件。
本实施例中,设定的最大迭代次数为4次,信噪比对应的迭代次数为:SNR为0~5dB按照最大迭代次数进行译码,SNR为5~10dB,信噪比对应的迭代次数为3次,SNR为10~20dB,信噪比对应的迭代次数为2次,SNR>20dB,信噪比对应的迭代次数为1次。
通过以上实施例的迭代停止准则,可以有效减少迭代次数,从而降低译码时延。
为了更加直观的说明本发明的性能,将实施例的Turbo译码方法与传统的双向SOVA译码方法进行了比较。通过控制变量法,两种译码方法的回溯长度、衰减器系数、迭代次数等参数设置完全相同,区别在于:传统的双向SOVA译码方法,子译码器中的正向和逆向两个译码模块在每次迭代开始时,均将幸存路径度量的初始值初始化为零序列。比较时,实施例与传统方式的译码算法都采用高斯信道下,译码序列分别为PB40,PB136,PB520,BPSK调制下,双向SOVA译码算法,比较结果如图7、8、9所示。从图中可以看出,对于不同的PB块,不管从误码率还是误包率上看,实施例的性能方面都有较为明显的提升,实施例并没有增加额外的资源消耗。同时由于双向SOVA算法复杂度简单,资源消耗低。因此,实施例在没有增加算法复杂度和资源消耗的情况下,提高了译码的可靠性,是一种较为优异的译码方案。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
- 一种用于宽带电力线载波通信的Turbo译码方法
- 一种用于Turbo译码的数据存储方法及装置