CN114553244A - 低码率Turbo码译码方法和装置 - Google Patents
低码率Turbo码译码方法和装置 Download PDFInfo
- Publication number
- CN114553244A CN114553244A CN202210061199.3A CN202210061199A CN114553244A CN 114553244 A CN114553244 A CN 114553244A CN 202210061199 A CN202210061199 A CN 202210061199A CN 114553244 A CN114553244 A CN 114553244A
- Authority
- CN
- China
- Prior art keywords
- time
- metric value
- information
- backward
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 197
- 230000008569 process Effects 0.000 claims abstract description 133
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 101
- 238000004364 calculation method Methods 0.000 claims description 111
- 238000005259 measurement Methods 0.000 claims description 88
- 230000007704 transition Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000011423 initialization method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供一种低码率Turbo码译码方法和装置,所述方法包括:目标分量译码器基于目标信道信息,执行至少一次译码过程,在确定译码过程迭代完成的情况下,将最后一次获得的译码比特作为译码判决结果输出;其中,一次译码过程包括:基于后验信息和外信息,计算先验信息;基于目标信道信息和先验信息,计算Hadamard变换度量值;基于近似算法和Hadamard变换度量值,确定递推度量值;基于Hadamard变换度量值和递推度量值,确定并更新后验信息;基于判决函数和更新后的后验信息,确定译码比特,并对更新后的后验信息进行交织处理后输入至另一个分量译码器。本发明通过近似算法降低译码复杂度,进而降低工程实现复杂度。
Description
技术领域
本发明涉及无线通信技术领域,尤其涉及一种低码率Turbo码译码方法和装置。
背景技术
为了解决信道的频谱资源紧俏,和信道中各频段上的干扰较大的问题,现有技术通过把不同时刻的符号调制在不同频点上,来降低干扰带来的影响。低码率编码可以将传输比特编码为多个符号,调制在不同频点上,并在接收端合并恢复比特信息,但传统编码方式是通过重复编码实现低码率传输,在接收端直接合并,无法带来编码增益。存在约束关系的低码率编码可以在降低码率的同时引入额外的编码增益,但在译码过程中复杂度较高,实现难度大。
Hadamard-Turbo码作为一种可以逼近香农限的低码率编码,将Hadamard码的低码率结构与Turbo码的高编码增益相结合,能够构造出一种极低码率且译码可实现的编码。但是,Hadamard-Turbo码的译码方法在工程技术实现中较为复杂,在应用于战术自组网中的高速低时延场景时存在很大的弊端,因此,亟需一种低复杂度的Hadamard-Turbo译码方法应用于工程实现中。
发明内容
针对现有技术存在的问题,本发明提供一种低码率Turbo码译码方法和装置。
第一方面,本发明提供一种低码率Turbo码译码方法,包括:
目标分量译码器基于目标信道信息,执行至少一次译码过程,所述目标分量译码器为第一分量译码器或第二分量译码器;
所述目标分量译码器在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
其中,所述一次译码过程包括:
基于输入的后验信息和存储的外信息,计算先验信息;
基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
基于判决函数和更新后的所述后验信息,确定所述译码比特,并对所述更新后的所述后验信息进行交织处理后输入至另一个分量译码器;
其中,在所述目标分量译码器为所述第一分量译码器的情况下,所述另一个分量译码器为所述第二分量译码器,在所述目标分量译码器为所述第二分量译码器的情况下,所述另一个分量译码器为所述第一分量译码器。
可选地,根据本发明提供的一种低码率Turbo码译码方法,所述基于近似算法,以及所述Hadamard变换度量值,确定递推度量值,包括:
基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值,并基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值。
可选地,根据本发明提供的一种低码率Turbo译码方法,所述基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值,包括:
获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
获取第k时刻至第1时刻对应的所有后向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k时刻至第1时刻中的任意一个时刻。
可选地,根据本发明提供的一种低码率Turbo码译码方法,所述基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值,包括:
获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
获取第2时刻至第k+1时刻对应的所有前向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k+1时刻至第2时刻中的任意一个时刻。
可选地,根据本发明提供的一种低码率Turbo码译码方法,所述基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息,包括:
基于所述目标时刻的Hadamard变换度量值、所述目标时刻的前向度量值和所述目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
可选地,根据本发明提供的一种低码率Turbo码译码方法,所述基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定所述目标时刻的后向度量值,包括:
基于后向递推计算公式确定所述目标时刻的后向度量值;
其中,所述后向递推计算公式为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,根据本发明提供的一种低码率Turbo码译码方法,所述基于所述近似算法,所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定所述目标时刻的前向度量值,包括:
基于前向递推计算公式确定所述目标时刻的前向度量值;
其中,所述前向递推计算公式为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,根据本发明提供的一种低码率Turbo码译码方法,在所述基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息之后,所述方法还包括:
基于所述更新后的所述后验信息,以及所述先验信息,更新所述外信息。
可选地,根据本发明提供的一种低码率Turbo码译码方法,在所述基于近似算法,以及所述Hadamard变换度量值,确定递推度量值之后,所述方法还包括:
对所述递推度量值进行归一化处理。
可选地,根据本发明提供的一种低码率Turbo码译码方法,所述确定所述译码过程迭代完成,包括:
确定所述译码过程的执行次数达到预设迭代次数。
可选地,根据本发明提供的一种低码率Turbo码译码方法,在第一次所述译码过程中,所述存储的外信息为0。
第二方面,本发明还提供一种低码率Turbo码译码装置,包括:
第一分量译码器和第二分量译码器;
所述第一分量译码器和所述第二分量译码器分别用于基于目标信道信息,执行至少一次译码过程,并在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
所述第一分量译码器和所述第二分量译码器分别包括:
外信息及先验信息存储单元、递推度量值及后验信息计算单元、以及交织单元,且所述第一分量译码器的交织单元与所述第二分量译码器的外信息及先验信息存储单元连接,所述第二分量译码器的交织单元与所述第一分量译码器的外信息及先验信息存储单元连接;
其中,所述一次译码过程包括:
所述外信息及先验信息存储单元基于输入的后验信息和存储的外信息,计算先验信息;
所述递推度量值及后验信息计算单元基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
所述递推度量值及后验信息计算单元基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
所述递推度量值及后验信息计算单元基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
所述递推度量值及后验信息计算单元基于判决函数和更新后的所述后验信息,确定所述译码比特;
所述交织单元对所述更新后的所述后验信息进行交织处理后输入至所述第一分量译码器或所述第二分量译码器。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述递推度量值及后验信息计算单元包括后向度量计算单元、后向度量存储单元和前向度量及后验信息计算单元;
其中,所述后向度量计算单元用于基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值;
所述后向度量存储单元用于存储所述后向度量值;
所述前向度量及后验信息计算单元用于基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述后向度量计算单元还用于:
获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
获取第k时刻至第1时刻对应的所有后向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k时刻至第1时刻中的任意一个时刻。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述前向度量及后验信息计算单元还用于:
获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
获取第2时刻至第k+1时刻对应的所有前向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k+1时刻至第2时刻中的任意一个时刻。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述前向度量及后验信息计算单元还用于:
基于所述目标时刻的Hadamard变换度量值、所述目标时刻的前向度量值和所述目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述后向度量计算单元还用于:
基于后向递推计算公式确定所述目标时刻的后向度量值;
其中,所述后向递推计算公式为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述前向度量及后验信息计算单元还用于:
基于前向递推计算公式确定所述目标时刻的前向度量值;
其中,所述前向递推计算公式为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述外信息及先验信息存储单元还用于:
读取所述前向度量及后验信息计算单元确定的所述更新后的所述后验信息,并基于所述更新后的所述后验信息,以及所述先验信息,更新所述外信息。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述递推度量值及后验信息计算单元还用于:
对所述递推度量值进行归一化处理。
可选地,根据本发明提供的一种低码率Turbo码译码装置,所述确定所述译码过程迭代完成,包括:
确定所述译码过程的执行次数达到预设迭代次数。
可选地,根据本发明提供的一种低码率Turbo码译码装置,在第一次所述译码过程中,所述外信息及先验信息存储单元存储的外信息为0。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述低码率Turbo码译码方法的步骤。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述低码率Turbo码译码方法的步骤。
本发明提供的低码率Turbo码译码方法和装置,通过第一分量译码器和第二分量译码器交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出,其中,在译码过程中通过近似算法获取递推度量值,进而获取译码比特,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的低码率Turbo码译码方法的流程示意图;
图2是本发明提供的低码率Turbo码译码装置的结构示意图之一;
图3是本发明提供的低码率Turbo码译码装置的结构示意图之二;
图4是本发明提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图3描述本发明提供的低码率Turbo码译码方法和装置。
图1是本发明提供的低码率Turbo码译码方法的流程示意图,如图1所示,该方法包括如下流程:
步骤100,目标分量译码器基于目标信道信息,执行至少一次译码过程,所述目标分量译码器为第一分量译码器或第二分量译码器;
步骤110,所述目标分量译码器在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
其中,所述一次译码过程包括:
基于输入的后验信息和存储的外信息,计算先验信息;
基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
基于判决函数和更新后的所述后验信息,确定所述译码比特,并对所述更新后的所述后验信息进行交织处理后输入至另一个分量译码器;
其中,在所述目标分量译码器为所述第一分量译码器的情况下,所述另一个分量译码器为所述第二分量译码器,在所述目标分量译码器为所述第二分量译码器的情况下,所述另一个分量译码器为所述第一分量译码器。
为了克服Hadamard-Turbo码的译码方法在工程技术实现中较为复杂,在应用于类似战术自组网中的高速低时延场景时存在很大弊端的缺陷,本发明通过第一分量译码器和第二分量译码器交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出,其中,在译码过程中通过近似算法获取递推度量值,进而获取译码比特,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
具体地,第一分量译码器可以首先基于目标信道信息,执行一次译码过程,更新后验信息,并将更新的后验信息输入第二分量译码器;第二分量译码器再基于目标信道信息和更新后的后验信息,执行一次译码过程,再次更新后验信息,并将再次更新的后验信息输入第一分量译码器,以使得第一分量译码器基于目标信道信息和更新后的后验信息,再次执行一次译码过程,并更新后验信息,并将更新的后验信息输入第二分量译码器;以此类推,第一分量译码器和第二分量译码器按照上述过程交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出。
可选地,目标信道信息可以为待译码信号,该待译码信号可以是以低码率Turbo码作为信道编码的信号,例如以Hadamard-Turbo码作为信道编码。
可选地,可以基于译码迭代停止准则判断译码过程是否迭代完成,当判断确定迭代完成后,将最后一次迭代译码过程中获得的译码比特作为译码判决结果输出。
例如,可以确定在第一分量译码器和第二分量译码器执行迭代译码过程的次数达到预设迭代次数的情况下,将最后一次获得的译码比特输出,以作为最终获得的译码判决结果。
可选地,一次译码过程可以包括以下步骤(1)-步骤(6):
(1)目标分量译码器(第一分量译码器或第二分量译码器)基于输入的后验信息和存储的外信息,计算先验信息;
可选地,可以通过如下公式计算先验信息:
La(t)=L(t)-E(t)
其中,La(t)为时刻t时的先验信息,L(t)为时刻t时输入的后验信息,E(t)为时刻t时的外信息,t(1≤t≤k)为时间序号,k表示译码判决信息的比特长度。
(2)目标分量译码器基于目标信道信息和计算出的先验信息,计算Hadamard变换度量值;
可选地,Hadamard变换度量值可以是基于Hadamard矩阵、目标信道信息和先验信息确定的。
例如,可以通过如下公式计算Hadamard变换度量值:
其中,γt(±hj)为时刻t时的Hadamard变换度量值,hj为第j列Hadamard矩阵,y(t)为时刻t时的目标信道信息,La(t)为时刻t时的先验信息,t(1≤t≤k)为时间序号,k表示译码判决信息的比特长度。
(3)目标分量译码器基于近似算法,以及Hadamard变换度量值,确定递推度量值;
可选地,目标分量译码器可以首先初始化目标时刻的递推度量值,并基于近似算法,以及Hadamard变换度量值,递推确定目标时刻之前所有时刻的递推度量值,或者递推确定目标时刻之后所有时刻的递推度量值。
(4)目标分量译码器基于Hadamard变换度量值和递推度量值,确定并更新所述后验信息;
可选地,目标分量译码器可以基于计算出的Hadamard变换度量值和递推度量值,确定并更新后验信息。
(5)目标分量译码器基于判决函数和更新后的后验信息,确定译码比特;
例如,可以通过如下的判决函数确定译码比特:
x(t,i)=sign(F(t,i))
其中,x(t,i)为时刻t时第i个符号的译码比特,sign(·)表示求符号运算,F(t,i)为时刻t第i个符号的后验信息。
(6)目标分量译码器对更新后的后验信息进行交织处理,并将交织处理后的后验信息输入至另一个分量译码器,其中,在目标分量译码器为第一分量译码器时,则将交织处理后的后验信息输入至第二分量译码器,在目标分量译码器为第二分量译码器时,则将交织处理后的后验信息输入至第一分量译码器。
可选地,对后验信息进行交织处理可以包括:将后验信息码块中的b个比特分散到n个帧中,以改变比特间的邻近关系,使信道传输过程中所突发产生集中的错误最大限度的分散化,从而保证在后验信息中有某个比特丢失的情况下,后验信息仍然能够得以恢复。
可选地,在第一分量译码器执行第一次译码过程时,可以将后验信息初始化为0。
可选地,第一分量译码器可以将交织处理后的后验信息输入至第二分量译码器,以使得第二分量译码器基于输入的交织处理后的后验信息和存储的外信息,更新先验信息。
可选地,第二分量译码器可以将交织处理后的后验信息输入至第一分量译码器,以使得第一分量译码器基于输入的交织处理后的后验信息和存储的外信息,更新先验信息。
本发明提供的低码率Turbo码译码方法,通过第一分量译码器和第二分量译码器交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出,其中,在译码过程中通过近似算法获取递推度量值,进而获取译码比特,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
可选地,所述基于近似算法,以及所述Hadamard变换度量值,确定递推度量值,包括:
基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值,并基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值。
可选地,可以基于近似算法,以及Hadamard变换度量值,后向递推确定后向度量值。
例如,可以首先初始化第k+1时刻对应的后向度量值,然后基于第k+1时刻对应的后向度量值、第k时刻对应的Hadamard变换度量值、和近似算法,递推确定第k时刻对应的后向度量值;基于第k时刻对应的后向度量值、第k-1时刻对应的Hadamard变换度量值、和近似算法,递推确定第k-1时刻对应的后向度量值;以此类推,直至递推至第1时刻对应的后向度量值。
可选地,可以基于近似算法,以及Hadamard变换度量值,前向递推确定前向度量值。
例如,可以首先初始化第1时刻对应的前向度量值,然后基于第1时刻对应的前向度量值、第2时刻对应的Hadamard变换度量值、和近似算法,递推确定第2时刻对应的前向度量值;基于第2时刻对应的前向度量值、第3时刻对应的Hadamard变换度量值、和近似算法,递推确定第3时刻对应的前向度量值;以此类推,直至递推至第k+1时刻对应的前向度量值。
可选地,所述基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值,包括:
获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
获取第k时刻至第1时刻对应的所有后向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k时刻至第1时刻中的任意一个时刻。
具体地,基于近似算法和Hadamard变换度量值,后向递推确定后向度量值,可以包括以下步骤(a)-步骤(d):
(a)获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
(b)基于目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
可选地,可以基于如下公式确定目标时刻的分支度量值:
其中,Mt(s',s)为时刻t状态s'→s时的分支度量值,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值。
可选地,在时刻t有两种可能方式得到s状态:在原状态为s0的情况下,待译码信号中的比特在t时刻被译码为0,使得状态由s0转变为s;在原状态为s1的情况下,待译码信号中的比特在t时刻被译码为1,使得状态由s1转变为s。
(c)基于近似算法、目标时刻的分支度量值和目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
(d)循环执行上述步骤(a)-步骤(c),获取第k时刻至第1时刻对应的所有后向度量值。
可选地,可以首先初始化第k+1时刻的后向度量值,然后基于上述步骤(a)-步骤(d),依次获取第k时刻至第1时刻对应的所有后向度量值。
本发明通过基于Hadamard变换度量值计算分支度量值,再基于分支度量值和近似算法,后向递推计算后向度量值,完成流式的递推计算,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
可选地,所述基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值,包括:
获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
获取第2时刻至第k+1时刻对应的所有前向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k+1时刻至第2时刻中的任意一个时刻。
具体地,基于近似算法和Hadamard变换度量值,前向递推确定前向度量值,可以包括以下步骤(e)-步骤(h):
(e)获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
(f)基于目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
可选地,可以基于如下公式确定目标时刻的分支度量值:
其中,Mt(s',s)为时刻t状态s'→s时的分支度量值,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值。
可选地,在时刻t有两种可能方式得到s状态:在原状态为s0的情况下,待译码信号中的比特在t时刻被译码为0,使得状态由s0转变为s;在原状态为s1的情况下,待译码信号中的比特在t时刻被译码为1,使得状态由s1转变为s。
(g)基于近似算法、目标时刻的分支度量值和目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
(h)循环执行上述步骤(e)-步骤(g),获取第2时刻至第k+1时刻对应的所有前向度量值。
可选地,可以首先初始化第1时刻的前向度量值,然后基于上述步骤(e)-步骤(h),依次获取第2时刻至第k+1时刻对应的所有前向度量值。
本发明通过基于Hadamard变换度量值计算分支度量值,再基于分支度量值和近似算法,前向递推计算前向度量值,完成流式的递推计算,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
可选地,所述基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息,包括:
基于所述目标时刻的Hadamard变换度量值、所述目标时刻的前向度量值和所述目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
可选地,可以基于目标时刻的Hadamard变换度量值、目标时刻的前向度量值和目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
例如,可以基于如下公式确定并更新目标时刻的后验信息:
其中,U+表示满足的状态且hj(i)=±1,集合U-表示满足的状态且Ft(i)为时刻t第i个符号的后验信息,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值,At(s')为时刻t状态s'时的前向度量值,Bt+1(s)为时刻t+1状态s时的后向度量值。
可选地,所述基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定所述目标时刻的后向度量值,包括:
基于后向递推计算公式确定所述目标时刻的后向度量值;
其中,所述后向递推计算公式为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,可以基于后向递推计算公式确定目标时刻的后向度量值。
可选地,后向递推计算公式可以为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,上述后向递推计算公式可以适用于的情况,其中,表示待译码信号中的一个比特在时刻t被译码为0,使得译码器的状态从s0'转变为s,同理,表示待译码信号中的一个比特在时刻t被译码为1,使得译码器的状态从s1'转变为s。
可以理解的是,由于max(a,b)≈log(ea+eb),因此通过上述后向递推计算公式计算后向度量值,可以减小运算量,从而降低译码复杂度。
可选地,所述基于所述近似算法,所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定所述目标时刻的前向度量值,包括:
基于前向递推计算公式确定所述目标时刻的前向度量值;
其中,所述前向递推计算公式为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,可以基于前向递推计算公式确定目标时刻的前向度量值。
可选地,前向递推计算公式可以为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,上述前向递推计算公式可以适用于的情况,其中,表示待译码信号中的一个比特在时刻t被译码为0,使得译码器的状态从s0'转变为s,同理,表示待译码信号中的一个比特在时刻t被译码为1,使得译码器的状态从s1'转变为s。
可以理解的是,由于max(a,b)≈log(ea+eb),因此通过上述前向递推计算公式计算前向度量值,可以减小运算量,从而降低译码复杂度。
可选地,在所述基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息之后,所述方法还包括:
基于所述更新后的所述后验信息,以及所述先验信息,更新所述外信息。
可选地,在基于Hadamard变换度量值和递推度量值,确定并更新后验信息之后,可以基于更新后的后验信息,以及之前计算出的先验信息,更新外信息。
例如,可以基于如下计算公式更新外信息:
E(t)=L(t)-F(t,:)+Er(t)
其中,E(t)为t时刻更新后的外信息,L(t)为t时刻的先验信息,F(t,:)为t时刻待译码信号中所有比特的后验信息,Er(t)为t时刻存储的外信息。
可选地,在所述基于近似算法,以及所述Hadamard变换度量值,确定递推度量值之后,所述方法还包括:
对所述递推度量值进行归一化处理。
可选地,在基于近似算法,以及Hadamard变换度量值,确定递推度量值之后,可以对递推度量值进行归一化处理。
例如,可以基于如下公式对后向度量值进行归一化处理:
Bt'(s)=Bt(s)-max{Bt(s)}
其中,Bt'(s)为时刻t状态s时的归一化后的后向度量值,Bt(s)为时刻t状态s时的归一化前的后向度量值,t(1≤t≤k)为后向度量值时间序号,k为译码判决信息的比特长度。
可以理解的是,Bt(s)表示时刻t处于状态s的概率值,在时刻t待译码信号可能是由s状态或者其他不同的状态转移得到的,因此,Bt(s)是一个集合,多个状态分别对应不同的Bt(s)值,则可以利用每一个状态对应的Bt(s)值减去Bt(s)集合中的最大值,获取多个状态各自对应的归一化后的后向度量值Bt'(s)。
例如,可以基于如下公式对前向度量值进行归一化处理:
At'(s)=At(s)-max{At(s)}
其中,At'(s)为时刻t状态s时的归一化后的前向度量值,At(s)为时刻t状态s时的归一化前的前向度量值,t(1≤t≤k)为前向度量值时间序号,k为译码判决信息的比特长度。
可以理解的是,At(s)表示时刻t处于状态s的概率值,在时刻t待译码信号可能是由s状态或者其他不同的状态转移得到的,因此,At(s)是一个集合,多个状态分别对应不同的At(s)值,则可以利用每一个状态对应的At(s)值减去At(s)集合中的最大值,获取多个状态各自对应的归一化后的前向度量值At'(s)。
可选地,所述确定所述译码过程迭代完成,包括:
确定所述译码过程的执行次数达到预设迭代次数。
可选地,第一分量译码器和第二分量译码器在执行译码过程时,可以基于译码迭代停止准则判断译码过程是否迭代完成。
可选地,确定译码过程迭代完成可以包括:确定译码过程的执行次数达到预设迭代次数。
可选地,预设迭代次数可以是5或10或20,本发明对此不作具体限定。
例如,可以确定在分量译码器执行迭代译码过程的次数达到预设迭代次数的情况下,将最后一次获得的译码比特输出,以作为最终获得的译码判决结果。
例如,可以确定在分量译码器执行迭代译码过程的次数达到5次的情况下,将第5次获得的译码比特输出,以作为最终获得的译码判决结果。
例如,可以确定在分量译码器执行迭代译码过程的次数达到10次的情况下,将第10次获得的译码比特输出,以作为最终获得的译码判决结果。
例如,可以确定分量译码器执行迭代译码过程的次数达到20次的情况下,将第20次获得的译码比特输出,以作为最终获得的译码判决结果。
可选地,在第一次所述译码过程中,所述存储的外信息为0。
可选地,在执行第一次译码过程时,可以将分量译码器存储的外信息初始化为0。
例如,E(t)=0,其中,E(t)为外信息,t(1≤t≤k)为时间序号,k为译码判决信息的比特长度。
本发明提供的低码率Turbo码译码方法,通过第一分量译码器和第二分量译码器交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出,其中,在译码过程中通过近似算法获取递推度量值,进而获取译码比特,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
下面对本发明提供的低码率Turbo码译码装置进行描述,下文描述的低码率Turbo码译码装置与上文描述的低码率Turbo码译码方法可相互对应参照。
图2是本发明提供的低码率Turbo码译码装置的结构示意图之一,如图2所示,该装置包括:第一分量译码器210和第二分量译码器220;其中:
所述第一分量译码器210和所述第二分量译码器220分别用于基于目标信道信息,执行至少一次译码过程,并在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
所述第一分量译码器210和所述第二分量译码器220分别包括:
外信息及先验信息存储单元230、递推度量值及后验信息计算单元240、以及交织单元250,且所述第一分量译码器210的交织单元250与所述第二分量译码器220的外信息及先验信息存储单元230连接,所述第二分量译码器220的交织单元250与所述第一分量译码器210的外信息及先验信息存储单元230连接;
其中,所述一次译码过程包括:
所述外信息及先验信息存储单元230基于输入的后验信息和存储的外信息,计算先验信息;
所述递推度量值及后验信息计算单元240基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
所述递推度量值及后验信息计算单元240基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
所述递推度量值及后验信息计算单元240基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
所述递推度量值及后验信息计算单元240基于判决函数和更新后的所述后验信息,确定所述译码比特;
所述交织单元250对所述更新后的所述后验信息进行交织处理后输入至所述第一分量译码器210或所述第二分量译码器220。
为了克服Hadamard-Turbo码的译码方法在工程技术实现中较为复杂,在应用于类似战术自组网中的高速低时延场景时存在很大弊端的缺陷,本发明通过第一分量译码器210和第二分量译码器220交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出,其中,在译码过程中通过近似算法获取递推度量值,进而获取译码比特,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
具体地,第一分量译码器210可以首先基于目标信道信息,执行一次译码过程,更新后验信息,并将更新的后验信息输入第二分量译码器220;第二分量译码器220再基于目标信道信息和更新后的后验信息,执行一次译码过程,再次更新后验信息,并将再次更新的后验信息输入第一分量译码器210,以使得第一分量译码器210基于目标信道信息和更新后的后验信息,再次执行一次译码过程,并更新后验信息,并将更新的后验信息输入第二分量译码器220;以此类推,第一分量译码器210和第二分量译码器220按照上述过程交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出。
可选地,目标信道信息可以为待译码信号,该待译码信号可以是以低码率Turbo码作为信道编码的信号,例如以Hadamard-Turbo码作为信道编码。
可选地,可以基于译码迭代停止准则判断译码过程是否迭代完成,当判断确定迭代完成后,将最后一次迭代译码过程中获得的译码比特作为译码判决结果输出。
例如,可以确定在第一分量译码器210和第二分量译码器220执行迭代译码过程的次数达到预设迭代次数的情况下,将最后一次获得的译码比特输出,以作为最终获得的译码判决结果。
可选地,第一分量译码器210和第二分量译码器220可以分别包括:外信息及先验信息存储单元230、递推度量值及后验信息计算单元240、以及交织单元250。
可选地,第一分量译码器210的交织单元250可以与第二分量译码器220的外信息及先验信息存储单元230连接,且第二分量译码器220的交织单元250可以与第一分量译码器210的外信息及先验信息存储单元230连接。
可选地,一次译码过程可以包括以下步骤(1)-步骤(6):
(1)目标分量译码器(第一分量译码器或第二分量译码器)的外信息及先验信息存储单元230基于输入的后验信息和存储的外信息,计算先验信息;
可选地,可以通过如下公式计算先验信息:
La(t)=L(t)-E(t)
其中,La(t)为时刻t时的先验信息,L(t)为时刻t时输入的后验信息,E(t)为时刻t时的外信息,t(1≤t≤k)为时间序号,k表示译码判决信息的比特长度。
(2)目标分量译码器的递推度量值及后验信息计算单元240基于目标信道信息和计算出的先验信息,计算Hadamard变换度量值;
可选地,Hadamard变换度量值可以是基于Hadamard矩阵、目标信道信息和先验信息确定的。
例如,递推度量值及后验信息计算单元240可以通过如下公式计算Hadamard变换度量值:
其中,γt(±hj)为时刻t时的Hadamard变换度量值,hj为第j列Hadamard矩阵,y(t)为时刻t时的目标信道信息,La(t)为时刻t时的先验信息,t(1≤t≤k)为时间序号,k表示译码判决信息的比特长度。
(3)目标分量译码器的递推度量值及后验信息计算单元240基于近似算法,以及Hadamard变换度量值,确定递推度量值;
可选地,递推度量值及后验信息计算单元240可以首先初始化目标时刻的递推度量值,并基于近似算法,以及Hadamard变换度量值,递推确定目标时刻之前所有时刻的递推度量值,或者递推确定目标时刻之后所有时刻的递推度量值。
(4)目标分量译码器的递推度量值及后验信息计算单元240基于Hadamard变换度量值和递推度量值,确定并更新所述后验信息;
可选地,递推度量值及后验信息计算单元240可以基于计算出的Hadamard变换度量值和递推度量值,确定并更新后验信息。
(5)目标分量译码器的递推度量值及后验信息计算单元240基于判决函数和更新后的后验信息,确定译码比特;
例如,递推度量值及后验信息计算单元240可以通过如下的判决函数确定译码比特:
x(t,i)=sign(F(t,i))
其中,x(t,i)为时刻t时第i个符号的译码比特,sign(·)表示求符号运算,F(t,i)为时刻t第i个符号的后验信息。
(6)目标分量译码器的交织单元250对更新后的后验信息进行交织处理,并将交织处理后的后验信息输入至另一个分量译码器,其中,在目标分量译码器为第一分量译码器210时,则将交织处理后的后验信息输入至第二分量译码器220的外信息及先验信息存储单元230,在目标分量译码器为第二分量译码器220时,则将交织处理后的后验信息输入至第一分量译码器210的外信息及先验信息存储单元230。
可选地,交织单元250对后验信息进行交织处理可以包括:将后验信息码块中的b个比特分散到n个帧中,以改变比特间的邻近关系,使信道传输过程中所突发产生集中的错误最大限度的分散化,从而保证在后验信息中有某个比特丢失的情况下,后验信息仍然能够得以恢复。
可选地,在第一分量译码器210执行第一次译码过程时,第一分量译码器210的外信息及先验信息存储单元230可以将后验信息初始化为0。
可选地,第一分量译码器210的交织单元250可以将交织处理后的后验信息输入至第二分量译码器220的外信息及先验信息存储单元230,以使得第二分量译码器220的外信息及先验信息存储单元230基于输入的交织处理后的后验信息和存储的外信息,更新先验信息。
可选地,第二分量译码器220的交织单元250可以将交织处理后的后验信息输入至第一分量译码器210的外信息及先验信息存储单元230,以使得第一分量译码器210的外信息及先验信息存储单元230基于输入的交织处理后的后验信息和存储的外信息,更新先验信息。
本发明提供的低码率Turbo码译码装置,通过第一分量译码器和第二分量译码器交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出,其中,在译码过程中通过近似算法获取递推度量值,进而获取译码比特,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
可选地,所述递推度量值及后验信息计算单元240包括后向度量计算单元、后向度量存储单元和前向度量及后验信息计算单元;
其中,所述后向度量计算单元用于基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值;
所述后向度量存储单元用于存储所述后向度量值;
所述前向度量及后验信息计算单元用于基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值。
可选地,递推度量值及后验信息计算单元240可以包括后向度量计算单元、后向度量存储单元和前向度量及后验信息计算单元。
可选地,后向度量计算单元用于可以基于近似算法,以及Hadamard变换度量值,后向递推确定后向度量值。
例如,后向度量计算单元可以首先初始化第k+1时刻对应的后向度量值,然后基于第k+1时刻对应的后向度量值、第k时刻对应的Hadamard变换度量值、和近似算法,递推确定第k时刻对应的后向度量值;基于第k时刻对应的后向度量值、第k-1时刻对应的Hadamard变换度量值、和近似算法,递推确定第k-1时刻对应的后向度量值;以此类推,直至递推至第1时刻对应的后向度量值。
可选地,后向度量存储单元可以用于存储后向度量计算单元计算出的后向度量值。
可选地,前向度量及后验信息计算单元可以用于基于近似算法,以及Hadamard变换度量值,前向递推确定前向度量值。
例如,前向度量及后验信息计算单元可以首先初始化第1时刻对应的前向度量值,然后基于第1时刻对应的前向度量值、第2时刻对应的Hadamard变换度量值、和近似算法,递推确定第2时刻对应的前向度量值;基于第2时刻对应的前向度量值、第3时刻对应的Hadamard变换度量值、和近似算法,递推确定第3时刻对应的前向度量值;以此类推,直至递推至第k+1时刻对应的前向度量值。
可选地,所述后向度量计算单元还用于:
获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
获取第k时刻至第1时刻对应的所有后向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k时刻至第1时刻中的任意一个时刻。
具体地,后向度量计算单元可以基于近似算法和Hadamard变换度量值,后向递推确定后向度量值,具体可以包括以下步骤(a)-步骤(d):
(a)获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
(b)基于目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
可选地,后向度量计算单元可以基于如下公式确定目标时刻的分支度量值:
其中,Mt(s',s)为时刻t状态s'→s时的分支度量值,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值。
可选地,在时刻t有两种可能方式得到s状态:在原状态为s0的情况下,待译码信号中的比特在t时刻被译码为0,使得状态由s0转变为s;在原状态为s1的情况下,待译码信号中的比特在t时刻被译码为1,使得状态由s1转变为s。
(c)基于近似算法、目标时刻的分支度量值和目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
(d)循环执行上述步骤(a)-步骤(c),获取第k时刻至第1时刻对应的所有后向度量值。
可选地,后向度量计算单元可以首先初始化第k+1时刻的后向度量值,然后基于上述步骤(a)-步骤(d),依次获取第k时刻至第1时刻对应的所有后向度量值。
本发明通过基于Hadamard变换度量值计算分支度量值,再基于分支度量值和近似算法,后向递推计算后向度量值,完成流式的递推计算,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
可选地,所述前向度量及后验信息计算单元还用于:
获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
获取第2时刻至第k+1时刻对应的所有前向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k+1时刻至第2时刻中的任意一个时刻。
具体地,前向度量及后验信息计算单元可以基于近似算法和Hadamard变换度量值,前向递推确定前向度量值,具体可以包括以下步骤(e)-步骤(h):
(e)获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
(f)基于目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
可选地,前向度量及后验信息计算单元可以基于如下公式确定目标时刻的分支度量值:
其中,Mt(s',s)为时刻t状态s'→s时的分支度量值,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值。
可选地,在时刻t有两种可能方式得到s状态:在原状态为s0的情况下,待译码信号中的比特在t时刻被译码为0,使得状态由s0转变为s;在原状态为s1的情况下,待译码信号中的比特在t时刻被译码为1,使得状态由s1转变为s。
(g)基于近似算法、目标时刻的分支度量值和目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
(h)循环执行上述步骤(e)-步骤(g),获取第2时刻至第k+1时刻对应的所有前向度量值。
可选地,前向度量及后验信息计算单元可以首先初始化第1时刻的前向度量值,然后基于上述步骤(e)-步骤(h),依次获取第2时刻至第k+1时刻对应的所有前向度量值。
本发明通过基于Hadamard变换度量值计算分支度量值,再基于分支度量值和近似算法,前向递推计算前向度量值,完成流式的递推计算,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
可选地,所述前向度量及后验信息计算单元还用于:
基于所述目标时刻的Hadamard变换度量值、所述目标时刻的前向度量值和所述目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
可选地,前向度量及后验信息计算单元可以基于目标时刻的Hadamard变换度量值、目标时刻的前向度量值和目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
例如,前向度量及后验信息计算单元可以基于如下公式确定并更新目标时刻的后验信息:
其中,U+表示满足的状态且hj(i)=±1,集合U-表示满足的状态且Ft(i)为时刻t第i个符号的后验信息,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值,At(s')为时刻t状态s'时的前向度量值,Bt+1(s)为时刻t+1状态s时的后向度量值。
可选地,所述后向度量计算单元还用于:
基于后向递推计算公式确定所述目标时刻的后向度量值;
其中,所述后向递推计算公式为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,后向度量计算单元可以基于后向递推计算公式确定目标时刻的后向度量值。
可选地,后向递推计算公式可以为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,上述后向递推计算公式可以适用于的情况,其中,表示待译码信号中的一个比特在时刻t被译码为0,使得译码器的状态从s0'转变为s,同理,表示待译码信号中的一个比特在时刻t被译码为1,使得译码器的状态从s1'转变为s。
可以理解的是,由于max(a,b)≈log(ea+eb),因此后向度量计算单元通过上述后向递推计算公式计算后向度量值,可以减小运算量,从而降低译码复杂度。
可选地,所述前向度量及后验信息计算单元还用于:
基于前向递推计算公式确定所述目标时刻的前向度量值;
其中,所述前向递推计算公式为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,前向度量及后验信息计算单元可以基于前向递推计算公式确定目标时刻的前向度量值。
可选地,前向递推计算公式可以为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,上述前向递推计算公式可以适用于的情况,其中,表示待译码信号中的一个比特在时刻t被译码为0,使得译码器的状态从s0'转变为s,同理,表示待译码信号中的一个比特在时刻t被译码为1,使得译码器的状态从s1'转变为s。
可以理解的是,由于max(a,b)≈log(ea+eb),因此前向度量及后验信息计算单元通过上述前向递推计算公式计算前向度量值,可以减小运算量,从而降低译码复杂度。
可选地,所述外信息及先验信息存储单元230还用于:
读取所述前向度量及后验信息计算单元确定的所述更新后的所述后验信息,并基于所述更新后的所述后验信息,以及所述先验信息,更新所述外信息。
可选地,外信息及先验信息存储单元230在基于Hadamard变换度量值和递推度量值,确定并更新后验信息之后,可以基于更新后的后验信息,以及之前计算出的先验信息,更新外信息。
例如,外信息及先验信息存储单元230可以基于如下计算公式更新外信息:
E(t)=L(t)-F(t,:)+Er(t)
其中,E(t)为t时刻更新后的外信息,L(t)为t时刻的先验信息,F(t,:)为t时刻待译码信号中所有比特的后验信息,Er(t)为t时刻存储的外信息。
可选地,所述递推度量值及后验信息计算单元240还用于:
对所述递推度量值进行归一化处理。
可选地,递推度量值及后验信息计算单元240在基于近似算法,以及Hadamard变换度量值,确定递推度量值之后,可以对递推度量值进行归一化处理。
例如,递推度量值及后验信息计算单元240可以基于如下公式对后向度量值进行归一化处理:
Bt'(s)=Bt(s)-max{Bt(s)}
其中,Bt'(s)为时刻t状态s时的归一化后的后向度量值,Bt(s)为时刻t状态s时的归一化前的后向度量值,t(1≤t≤k)为后向度量值时间序号,k为译码判决信息的比特长度。
可以理解的是,Bt(s)表示时刻t处于状态s的概率值,在时刻t待译码信号可能是由s状态或者其他不同的状态转移得到的,因此,Bt(s)是一个集合,多个状态分别对应不同的Bt(s)值,则可以利用每一个状态对应的Bt(s)值减去Bt(s)集合中的最大值,获取多个状态各自对应的归一化后的后向度量值Bt'(s)。
例如,递推度量值及后验信息计算单元240可以基于如下公式对前向度量值进行归一化处理:
At'(s)=At(s)-max{At(s)}
其中,At'(s)为时刻t状态s时的归一化后的前向度量值,At(s)为时刻t状态s时的归一化前的前向度量值,t(1≤t≤k)为前向度量值时间序号,k为译码判决信息的比特长度。
可以理解的是,At(s)表示时刻t处于状态s的概率值,在时刻t待译码信号可能是由s状态或者其他不同的状态转移得到的,因此,At(s)是一个集合,多个状态分别对应不同的At(s)值,则可以利用每一个状态对应的At(s)值减去At(s)集合中的最大值,获取多个状态各自对应的归一化后的前向度量值At'(s)。
可选地,所述确定所述译码过程迭代完成,包括:
确定所述译码过程的执行次数达到预设迭代次数。
可选地,第一分量译码器210和第二分量译码器220在执行译码过程时,递推度量值及后验信息计算单元240可以基于译码迭代停止准则判断译码过程是否迭代完成。
可选地,递推度量值及后验信息计算单元240确定译码过程迭代完成可以包括:确定译码过程的执行次数达到预设迭代次数。
可选地,预设迭代次数可以是5或10或20,本发明对此不作具体限定。
例如,递推度量值及后验信息计算单元240可以确定在分量译码器执行迭代译码过程的次数达到预设迭代次数的情况下,将最后一次获得的译码比特输出,以作为最终获得的译码判决结果。
例如,递推度量值及后验信息计算单元240可以确定在分量译码器执行迭代译码过程的次数达到5次的情况下,将第5次获得的译码比特输出,以作为最终获得的译码判决结果。
例如,递推度量值及后验信息计算单元240可以确定在分量译码器执行迭代译码过程的次数达到10次的情况下,将第10次获得的译码比特输出,以作为最终获得的译码判决结果。
例如,递推度量值及后验信息计算单元240可以确定分量译码器执行迭代译码过程的次数达到20次的情况下,将第20次获得的译码比特输出,以作为最终获得的译码判决结果。
可选地,在第一次所述译码过程中,所述外信息及先验信息存储单元230存储的外信息为0。
可选地,在执行第一次译码过程时,外信息及先验信息存储单元230可以将其存储的外信息初始化为0。
例如,E(t)=0,其中,E(t)为外信息,t(1≤t≤k)为时间序号,k为译码判决信息的比特长度。
本发明提供的低码率Turbo码译码装置,通过第一分量译码器和第二分量译码器交替迭代执行译码过程,在确定译码过程迭代完成的情况下,将最后一次译码过程中获得的译码比特作为译码判决结果输出,其中,在译码过程中通过近似算法获取递推度量值,进而获取译码比特,可以保证在不损失编码增益的前提下,通过近似算法大幅度降低译码复杂度,进而降低工程实现的复杂度。
图3是本发明提供的低码率Turbo码译码装置的结构示意图之二,如图3所示,所述装置包括:两个分量译码器,且每一个分量译码器包括外信息及先验信息存储单元、后向度量计算单元、后向度量存储单元、前向度量及后验信息计算单元和交织单元;其中:
(1)外信息及先验信息存储单元可以用于存储、读取和更新外信息,并计算先验信息;
(2)后向度量计算单元可以用于计算后向度量值;
(3)后向度量存储单元可以用于存储和读取后向度量值;
(4)前向度量及后验信息计算单元可以用于计算前向度量值、后验信息和译码比特,并判断确定译码过程的执行次数在达到预设迭代次数时,输出译码比特结果;
(5)交织单元可以用于对后验信息进行交织处理,并将交织处理后获得的后验信息输出至另一个分量译码器的外信息及先验信息存储单元。
可选地,图3所示的低码率Turbo码译码装置的具体执行过程可以包括如下步骤(1)-步骤(7):
(1)初始化外信息及先验信息存储单元,使得存储信息置零,并且接收另一个分量译码器输出的后验信息,并计算先验信息;
可选地,外信息及先验信息存储单元的存储空间应大于译码判决信息的比特长度,即
LRAM≥k
其中,LRAM为先验信息存储单元空间,k为译码判决信息的比特长度。
可选地,外信息及先验信息存储单元可以初始化外信息,将外信息置零,即
E(t)=0,1≤t≤k
其中,E(t)为外信息,t(1≤t≤k)为时间序号,k为译码判决信息的比特长度。
(2)后向度量计算单元读取外信息及先验信息存储单元输出的先验信息,基于信道信息与先验信息计算出后向度量值,并存入后向度量存储单元;
可选地,后向度量计算单元可以先对后向度量值进行初始化。
可选地,若分量译码器结束状态为零,则初始化方法如下:
其中,s(0≤s≤2m-1)为后向度量值状态序号,m为分量译码器缓存阶数,Inf为一个在合理位宽内的达到的最大值,例如,按接收信号位宽+4设置,假设接收信号幅值为±127(位宽8比特),则Inf设置为4096(12比特),Bk+1(s)为k+1时刻状态s的后向度量值。
可选地,若分量译码器结束状态非零,则初始化方法如下:
Bk+1(s)=-Inf
可选地,可以通过如下公式计算Hadamard变换度量值:
其中,γt(±hj)为时刻t时的Hadamard变换度量值,hj为第j列Hadamard矩阵,y(t)为时刻t时的目标信道信息,La(t)为时刻t时的先验信息,t(1≤t≤k)为时间序号,k表示译码判决信息的比特长度。
可选地,可以通过如下公式计算分支度量值:
其中,Mt(s',s)为时刻t状态s'→s时的分支度量值,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值。
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,可以通过如下公式对后向度量计算值进行归一化处理:
Bt'(s)=Bt(s)-max{Bt(s)}
其中,Bt'(s)为时刻t状态s时的归一化后的后向度量值,Bt(s)为时刻t状态s时的归一化前的后向度量值,t(1≤t≤k)为后向度量值时间序号,k为译码判决信息的比特长度。
可选地,可以递推更新后向度量值至B1(s);
可选地,可以输出并存储Bt(s),t∈[2,k+1],s∈[0,2m-1]至后向度量存储单元。
(3)前向度量及后验信息计算单元读取外信息及先验信息存储单元、后向度量存储单元的数据,基于信道信息、先验信息和后向度量值计算出前向度量值、后验信息和译码比特,并将后验信息输出至交织单元;
可选地,前向度量及后验信息计算单元可以首先进行初始化。
例如,前向度量值初始化方法如下:
其中,s(0≤s≤2m-1)为前向度量值状态序号,m为分量译码器缓存阶数,Inf为一个在合理位宽内的达到的最大值,例如,按接收信号位宽+4设置,假设接收信号幅值为±127(位宽8比特),则Inf设置为4096(12比特),A1(s)为1时刻状态s的前向度量值。
可选地,可以通过如下公式计算Hadamard变换度量值:
其中,γt(±hj)为时刻t时的Hadamard变换度量值,hj为第j列Hadamard矩阵,y(t)为时刻t时的目标信道信息,La(t)为时刻t时的先验信息,t(1≤t≤k)为时间序号,k表示译码判决信息的比特长度。
可选地,可以通过如下公式计算分支度量值:
其中,Mt(s',s)为时刻t状态s'→s时的分支度量值,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值。
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
可选地,可以通过如下公式对前向度量计算值进行归一化处理:
At'(s)=At(s)-max{At(s)}
其中,At'(s)为时刻t状态s时的归一化后的前向度量值,At(s)为时刻t状态s时的归一化前的前向度量值,t(1≤t≤k)为前向度量值时间序号,k为译码判决信息的比特长度。
可选地,可以递推更新前向度量值至Ak+1(s)。
可选地,可以从后向度量存储单元读取后向度量值,并通过如下公式计算后验信息:
其中,U+表示满足的状态且hj(i)=±1,集合U-表示满足的状态且Ft(i)为时刻t第i个符号的后验信息,γt(±hj)为时刻t状态s'→s时的Hadamard变换度量值,At(s')为时刻t状态s'时的前向度量值,Bt+1(s)为时刻t+1状态s时的后向度量值。
可选地,可以将后验信息输出至外信息及先验信息存储单元和交织单元。
可选地,可以通过如下公式计算符号判决结果:
x(t,i)=sign(F(t,i))
其中,x(t,i)为时刻t时第i个符号的译码比特,sign(·)表示求符号运算,F(t,i)为时刻t第i个符号的后验信息。
可选地,在达到预设迭代次数时,前向度量及后验信息计算单元输出符号判决结果,即译码比特。
(4)外信息及先验信息存储单元读取前向度量及后验信息计算单元计算出的后验信息输入,并基于先验信息和读取的后验信息更新外信息;
可选地,可以将后验信息和先验信息输入外信息及先验信息存储单元,以更新外信息并存储。
可选地,可以通过如下公式更新外信息:
E(t)=L(t)-F(t,:)+Er(t)
其中,E(t)为t时刻更新后的外信息,L(t)为t时刻的先验信息,F(t,:)为t时刻待译码信号中所有比特的后验信息,Er(t)为t时刻存储的外信息。
(5)交织单元对前向度量及后验信息计算单元计算出的后验信息进行交织处理,输出交织后的后验信息至另一个分量译码器的外信息及先验信息存储单元;
可选地,前向度量及后验信息计算单元可以将计算出的后验信息进入交织单元,交织单元将后验信息交织后输出至另一个分量译码器的外信息及先验信息存储单元:
L(t)=F(α(t),:)
其中,α(t)为时刻t交织单元对应的交织地址,L(t)为经过交织处理后的时刻t的后验信息,F(α(t),:)表示时刻t对应的所有比特的后验信息。
(6)重复上述步骤(2)至步骤(5),直至前向度量及后验信息计算单元确定分量译码器执行译码过程的次数达到预设迭代次数后,执行步骤(7);
(7)前向度量及后验信息计算单元输出译码比特。
可选地,目标分量译码器可以接收目标信道信息和另一个分量译码器的后验信息,通过对不同码字的度量值进行叠加,得到状态转移度量值和前向、后向递推度量值,计算后验信息并迭代传递,得到译码输出。
可选地,目标分量译码器工作前可以先进行初始化,并接收另一个分量译码器输出的后验信息,计算出先验信息,先验信息和目标信道信息通过后向递推计算存储后向度量值,再通过前向递推计算前向度量值、后验信息和判决值,后验信息反馈更新外信息并存储,同时后验信息经过交织处理传输至另一个分量译码器。当达到预设迭代次数时,输出译码判决值。
可选地,本发明提供的低码率Turbo码译码方法和译码装置可以适用于低码率需求的通信场景中。
可选地,本发明提供的低码率Turbo码译码方法和译码装置可以适用于以Hadamard-Turbo码作为信道编码的低码率需求通信场景中。
可选地,本发明提供的低码率Turbo码译码方法和装置可以克服类似Hadamard-Turbo码的低码率编码拥有较高的编码增益,导致在工程实现中实现复杂度较大的缺陷,本发明在不损失编码增益的前提下,通过近似算法可以降低译码复杂度,为工程实现类似Hadamard-Turbo码的译码带来可能。
图4是本发明提供的电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行上述各方法所提供的低码率Turbo码译码方法,该方法包括:
目标分量译码器基于目标信道信息,执行至少一次译码过程,所述目标分量译码器为第一分量译码器或第二分量译码器;
所述目标分量译码器在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
其中,所述一次译码过程包括:
基于输入的后验信息和存储的外信息,计算先验信息;
基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
基于判决函数和更新后的所述后验信息,确定所述译码比特,并对所述更新后的所述后验信息进行交织处理后输入至另一个分量译码器;
其中,在所述目标分量译码器为所述第一分量译码器的情况下,所述另一个分量译码器为所述第二分量译码器,在所述目标分量译码器为所述第二分量译码器的情况下,所述另一个分量译码器为所述第一分量译码器。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的低码率Turbo码译码方法,该方法包括:
目标分量译码器基于目标信道信息,执行至少一次译码过程,所述目标分量译码器为第一分量译码器或第二分量译码器;
所述目标分量译码器在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
其中,所述一次译码过程包括:
基于输入的后验信息和存储的外信息,计算先验信息;
基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
基于判决函数和更新后的所述后验信息,确定所述译码比特,并对所述更新后的所述后验信息进行交织处理后输入至另一个分量译码器;
其中,在所述目标分量译码器为所述第一分量译码器的情况下,所述另一个分量译码器为所述第二分量译码器,在所述目标分量译码器为所述第二分量译码器的情况下,所述另一个分量译码器为所述第一分量译码器。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的低码率Turbo码译码方法,该方法包括:
目标分量译码器基于目标信道信息,执行至少一次译码过程,所述目标分量译码器为第一分量译码器或第二分量译码器;
所述目标分量译码器在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
其中,所述一次译码过程包括:
基于输入的后验信息和存储的外信息,计算先验信息;
基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
基于判决函数和更新后的所述后验信息,确定所述译码比特,并对所述更新后的所述后验信息进行交织处理后输入至另一个分量译码器;
其中,在所述目标分量译码器为所述第一分量译码器的情况下,所述另一个分量译码器为所述第二分量译码器,在所述目标分量译码器为所述第二分量译码器的情况下,所述另一个分量译码器为所述第一分量译码器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (24)
1.一种低码率Turbo码译码方法,其特征在于,包括:
目标分量译码器基于目标信道信息,执行至少一次译码过程,所述目标分量译码器为第一分量译码器或第二分量译码器;
所述目标分量译码器在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
其中,所述一次译码过程包括:
基于输入的后验信息和存储的外信息,计算先验信息;
基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
基于判决函数和更新后的所述后验信息,确定所述译码比特,并对所述更新后的所述后验信息进行交织处理后输入至另一个分量译码器;
其中,在所述目标分量译码器为所述第一分量译码器的情况下,所述另一个分量译码器为所述第二分量译码器,在所述目标分量译码器为所述第二分量译码器的情况下,所述另一个分量译码器为所述第一分量译码器。
2.根据权利要求1所述的低码率Turbo码译码方法,其特征在于,所述基于近似算法,以及所述Hadamard变换度量值,确定递推度量值,包括:
基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值,并基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值。
3.根据权利要求2所述的低码率Turbo译码方法,其特征在于,所述基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值,包括:
获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
获取第k时刻至第1时刻对应的所有后向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k时刻至第1时刻中的任意一个时刻。
4.根据权利要求2所述的低码率Turbo码译码方法,其特征在于,所述基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值,包括:
获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
获取第2时刻至第k+1时刻对应的所有前向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k+1时刻至第2时刻中的任意一个时刻。
5.根据权利要求3或4任一项所述的低码率Turbo码译码方法,其特征在于,所述基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息,包括:
基于所述目标时刻的Hadamard变换度量值、所述目标时刻的前向度量值和所述目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
6.根据权利要求3所述的低码率Turbo码译码方法,其特征在于,所述基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定所述目标时刻的后向度量值,包括:
基于后向递推计算公式确定所述目标时刻的后向度量值;
其中,所述后向递推计算公式为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
7.根据权利要求4所述的低码率Turbo码译码方法,其特征在于,所述基于所述近似算法,所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定所述目标时刻的前向度量值,包括:
基于前向递推计算公式确定所述目标时刻的前向度量值;
其中,所述前向递推计算公式为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
8.根据权利要求1所述的低码率Turbo码译码方法,其特征在于,在所述基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息之后,所述方法还包括:
基于所述更新后的所述后验信息,以及所述先验信息,更新所述外信息。
9.根据权利要求1所述的低码率Turbo码译码方法,其特征在于,在所述基于近似算法,以及所述Hadamard变换度量值,确定递推度量值之后,所述方法还包括:
对所述递推度量值进行归一化处理。
10.根据权利要求1所述的低码率Turbo码译码方法,其特征在于,所述确定所述译码过程迭代完成,包括:
确定所述译码过程的执行次数达到预设迭代次数。
11.根据权利要求1所述的低码率Turbo码译码方法,其特征在于,在第一次所述译码过程中,所述存储的外信息为0。
12.一种低码率Turbo码译码装置,其特征在于,包括:
第一分量译码器和第二分量译码器;
所述第一分量译码器和所述第二分量译码器分别用于基于目标信道信息,执行至少一次译码过程,并在确定所述译码过程迭代完成的情况下,将最后一次所述译码过程中获得的译码比特作为译码判决结果输出;
所述第一分量译码器和所述第二分量译码器分别包括:
外信息及先验信息存储单元、递推度量值及后验信息计算单元、以及交织单元,且所述第一分量译码器的交织单元与所述第二分量译码器的外信息及先验信息存储单元连接,所述第二分量译码器的交织单元与所述第一分量译码器的外信息及先验信息存储单元连接;
其中,所述一次译码过程包括:
所述外信息及先验信息存储单元基于输入的后验信息和存储的外信息,计算先验信息;
所述递推度量值及后验信息计算单元基于所述目标信道信息和所述先验信息,计算Hadamard变换度量值;
所述递推度量值及后验信息计算单元基于近似算法,以及所述Hadamard变换度量值,确定递推度量值;
所述递推度量值及后验信息计算单元基于所述Hadamard变换度量值和所述递推度量值,确定并更新所述后验信息;
所述递推度量值及后验信息计算单元基于判决函数和更新后的所述后验信息,确定所述译码比特;
所述交织单元对所述更新后的所述后验信息进行交织处理后输入至所述第一分量译码器或所述第二分量译码器。
13.根据权利要求12所述的低码率Turbo码译码装置,其特征在于,所述递推度量值及后验信息计算单元包括后向度量计算单元、后向度量存储单元和前向度量及后验信息计算单元;
其中,所述后向度量计算单元用于基于近似算法,以及所述Hadamard变换度量值,后向递推确定后向度量值;
所述后向度量存储单元用于存储所述后向度量值;
所述前向度量及后验信息计算单元用于基于所述近似算法,以及所述Hadamard变换度量值,前向递推确定前向度量值。
14.根据权利要求13所述的低码率Turbo码译码装置,其特征在于,所述后向度量计算单元还用于:
获取目标时刻的Hadamard变换度量值和目标时刻的后一个时刻的后向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的后一个时刻的后向度量值,后向递推确定目标时刻的后向度量值;
获取第k时刻至第1时刻对应的所有后向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k时刻至第1时刻中的任意一个时刻。
15.根据权利要求13所述的低码率Turbo码译码装置,其特征在于,所述前向度量及后验信息计算单元还用于:
获取目标时刻的Hadamard变换度量值和目标时刻的前一个时刻的前向度量值;
基于所述目标时刻的Hadamard变换度量值,确定目标时刻的分支度量值;
基于所述近似算法、所述目标时刻的分支度量值和所述目标时刻的前一个时刻的前向度量值,前向递推确定目标时刻的前向度量值;
获取第2时刻至第k+1时刻对应的所有前向度量值,其中k表示译码判决信息的比特长度,所述目标时刻为所述第k+1时刻至第2时刻中的任意一个时刻。
16.根据权利要求14或15任一项所述的低码率Turbo码译码装置,其特征在于,所述前向度量及后验信息计算单元还用于:
基于所述目标时刻的Hadamard变换度量值、所述目标时刻的前向度量值和所述目标时刻的后一个时刻的后向度量值,确定并更新目标时刻的后验信息。
17.根据权利要求14所述的低码率Turbo码译码装置,其特征在于,所述后向度量计算单元还用于:
基于后向递推计算公式确定所述目标时刻的后向度量值;
其中,所述后向递推计算公式为:
Bt(s)=max{Bt+1(s0')+Mt(s0',s),Bt+1(s1')+Mt(s1',s)}
其中,Bt(s)为时刻t状态s时的后向度量值,Bt+1(s0')为时刻t+1状态s0'时的后向度量值,Bt+1(s1')为时刻t+1状态s1'时的后向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
18.根据权利要求15所述的低码率Turbo码译码装置,其特征在于,所述前向度量及后验信息计算单元还用于:
基于前向递推计算公式确定所述目标时刻的前向度量值;
其中,所述前向递推计算公式为:
At(s)=max{At-1(s0')+Mt(s0',s),At-1(s1')+Mt(s1',s)}
其中,At(s)为时刻t状态s时的前向度量值,At-1(s0')为时刻t-1状态s0'时的前向度量值,At-1(s1')为时刻t-1状态s1'时的前向度量值,Mt(s0',s)为时刻t由状态s0'转变为状态s时的分支度量值,Mt(s1',s)为时刻t由状态s1'转变为状态s时的分支度量值。
19.根据权利要求12所述的低码率Turbo码译码装置,其特征在于,所述外信息及先验信息存储单元还用于:
读取所述前向度量及后验信息计算单元确定的所述更新后的所述后验信息,并基于所述更新后的所述后验信息,以及所述先验信息,更新所述外信息。
20.根据权利要求12所述的低码率Turbo码译码装置,其特征在于,所述递推度量值及后验信息计算单元还用于:
对所述递推度量值进行归一化处理。
21.根据权利要求12所述的低码率Turbo码译码装置,其特征在于,所述确定所述译码过程迭代完成,包括:
确定所述译码过程的执行次数达到预设迭代次数。
22.根据权利要求12所述的低码率Turbo码译码装置,其特征在于,在第一次所述译码过程中,所述外信息及先验信息存储单元存储的外信息为0。
23.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至11任一项所述低码率Turbo码译码方法的步骤。
24.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述低码率Turbo码译码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061199.3A CN114553244B (zh) | 2022-01-19 | 2022-01-19 | 低码率Turbo码译码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061199.3A CN114553244B (zh) | 2022-01-19 | 2022-01-19 | 低码率Turbo码译码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553244A true CN114553244A (zh) | 2022-05-27 |
CN114553244B CN114553244B (zh) | 2024-06-04 |
Family
ID=81672151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210061199.3A Active CN114553244B (zh) | 2022-01-19 | 2022-01-19 | 低码率Turbo码译码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553244B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003024043A1 (fr) * | 2001-08-24 | 2003-03-20 | Linkair Communications, Inc. | Procede et systeme de decodage de canal base sur la combinaison d'un code de convolution discontinu et d'une modulation d'amplitude en quadrature |
US20040205445A1 (en) * | 2003-04-14 | 2004-10-14 | Shuzhan Xu | Turbo decoder employing simplified log-map decoding |
WO2010045842A1 (zh) * | 2008-10-23 | 2010-04-29 | 华为技术有限公司 | 一种译码中外信息计算方法、译码器以及Turbo码译码器 |
US20120106683A1 (en) * | 2009-06-18 | 2012-05-03 | Zte Corporation | Method and apparatus for parallel turbo decoding in long term evolution system (lte) |
CN102523076A (zh) * | 2012-01-04 | 2012-06-27 | 西安电子科技大学 | 通用可配置的高速率Turbo码译码系统及其方法 |
CN104767537A (zh) * | 2015-03-19 | 2015-07-08 | 深圳市力合微电子股份有限公司 | 一种用于OFDM电力线通信系统的Turbo译码方法 |
CN105634508A (zh) * | 2015-12-21 | 2016-06-01 | 西安空间无线电技术研究所 | 一种低复杂度近性能限的Turbo译码器的实现方法 |
CN107565983A (zh) * | 2017-09-08 | 2018-01-09 | 广东工业大学 | 一种Turbo码的译码方法及装置 |
-
2022
- 2022-01-19 CN CN202210061199.3A patent/CN114553244B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003024043A1 (fr) * | 2001-08-24 | 2003-03-20 | Linkair Communications, Inc. | Procede et systeme de decodage de canal base sur la combinaison d'un code de convolution discontinu et d'une modulation d'amplitude en quadrature |
US20040205445A1 (en) * | 2003-04-14 | 2004-10-14 | Shuzhan Xu | Turbo decoder employing simplified log-map decoding |
WO2010045842A1 (zh) * | 2008-10-23 | 2010-04-29 | 华为技术有限公司 | 一种译码中外信息计算方法、译码器以及Turbo码译码器 |
US20120106683A1 (en) * | 2009-06-18 | 2012-05-03 | Zte Corporation | Method and apparatus for parallel turbo decoding in long term evolution system (lte) |
CN102523076A (zh) * | 2012-01-04 | 2012-06-27 | 西安电子科技大学 | 通用可配置的高速率Turbo码译码系统及其方法 |
CN104767537A (zh) * | 2015-03-19 | 2015-07-08 | 深圳市力合微电子股份有限公司 | 一种用于OFDM电力线通信系统的Turbo译码方法 |
CN105634508A (zh) * | 2015-12-21 | 2016-06-01 | 西安空间无线电技术研究所 | 一种低复杂度近性能限的Turbo译码器的实现方法 |
CN107565983A (zh) * | 2017-09-08 | 2018-01-09 | 广东工业大学 | 一种Turbo码的译码方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘晓明等: "基于3GPP标准的Turbo码译码器设计与实现", 计算机技术与发展, vol. 20, no. 11, 10 November 2010 (2010-11-10), pages 22 - 24 * |
Also Published As
Publication number | Publication date |
---|---|
CN114553244B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100804793B1 (ko) | 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법 | |
CN108566213B (zh) | 极化码的串行抵消列表比特翻转译码方法 | |
CN108847848B (zh) | 一种基于信息后处理的极化码的bp译码算法 | |
KR100924189B1 (ko) | 복호 장치 및 통신 장치 | |
US10498363B2 (en) | Low density parity check decoder using binary logarithm and decoding method thereof | |
RU2450442C2 (ru) | Способ и устройство для кодирования и декодирования канала в системе связи с использованием кодов с низкой плотностью проверок на четность | |
CN109586730B (zh) | 一种基于智能后处理的极化码bp译码算法 | |
US20090172493A1 (en) | Method and device for decoding low density parity check code | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
KR20060032464A (ko) | 효율적인 저밀도 패리티 검사 코드 복호 방법 및 장치 | |
US10892783B2 (en) | Apparatus and method for decoding polar codes | |
US11777533B2 (en) | Method for polar decoding with dynamic successive cancellation list size and polar decoder | |
CN109787641B (zh) | staircase码的解码方法、装置及存储介质 | |
JP2001352249A (ja) | ターボ符号に関するノイズの評価方法および装置及びそれらを使用するシステム | |
KR20090012189A (ko) | Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법 | |
JP2003218707A (ja) | 誤り訂正符号を得るための方法、誤り訂正符号を復号化するための方法、情報要素のブロックを符号化するための符号器、および、軟値の第1のブロックを復号化する復号器 | |
CN114553244B (zh) | 低码率Turbo码译码方法和装置 | |
CN116938258A (zh) | 一种高编码增益的缩短ldpc译码方法及系统 | |
KR101908389B1 (ko) | 에러 정정 코딩 및 디코딩 | |
US20200295787A1 (en) | Low latency sequential list decoding of polar codes | |
CN114499547A (zh) | 一种基于Chase-Pyndiah算法的Zipper码自适应软判决译码方法 | |
CN112491424A (zh) | 低密度校验码的改进admm惩罚译码方法 | |
CN114553370A (zh) | 译码方法、译码器、电子设备及存储介质 | |
CN114567411A (zh) | 译码方法、装置、电子设备及存储介质 | |
CN118054797B (zh) | 编码及译码方法、装置、设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |