CN105306076A - 一种基于MAP算法的Turbo译码方法及装置 - Google Patents

一种基于MAP算法的Turbo译码方法及装置 Download PDF

Info

Publication number
CN105306076A
CN105306076A CN201410307603.6A CN201410307603A CN105306076A CN 105306076 A CN105306076 A CN 105306076A CN 201410307603 A CN201410307603 A CN 201410307603A CN 105306076 A CN105306076 A CN 105306076A
Authority
CN
China
Prior art keywords
value
window
block
boundary value
sub
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.)
Pending
Application number
CN201410307603.6A
Other languages
English (en)
Inventor
王熙
邱宁
曹南山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201410307603.6A priority Critical patent/CN105306076A/zh
Priority to EP14896707.8A priority patent/EP3163755A4/en
Priority to US15/322,331 priority patent/US9866240B2/en
Priority to PCT/CN2014/086524 priority patent/WO2016000321A1/zh
Publication of CN105306076A publication Critical patent/CN105306076A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明实施例公开了一种基于MAP算法的Turbo译码方法,该方法包括:使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式获取各滑动窗的α和β的窗边界值,采用块边界值继承方式获取各子块的α和β的块边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;根据所述LLR值进行译码判决。该装置包括:第一处理模块,用于使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式获取各滑动窗的α边界值和β边界值,采用块边界值继承方式获取各块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;第二处理模块,用于根据所述LLR值进行译码判决。

Description

一种基于MAP算法的Turbo译码方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种基于MAP算法的Turbo译码方法及装置。
背景技术
在1993年瑞士日内瓦召开的国际通信会议上,法国不列颠通信大学的C.Berrou,A.Glavieux和P.Thitimajshiwa首先提出一种称之为Turbo码的编、译码方案。它由两个递归循环卷积码(RSC)通过交织器以并行级联的方式结合而成,这种方案采用反馈迭代译码方式,真正发掘了级联码的潜力,并以其类似于随机的编译码方式,突破了最小距离的短码设计思想,使它更加逼近了理想的随机码的性能。现有的一些通信***,如3GPPLTE/LTE-A、WCDMA、TD-SCDMA等***中都采用了Turbo码作为信道编码。
Turbo码具有类随机码的特性,同时具有足够的结构信息,这使得能够使用一种高效的迭代译码方法进行译码。由于这些特性,这种编码具有特别有益的性能,特别是在中等误比特率和长分组长度情况下。实际上,在任何码率和信息分组长度大于104比特的情况下,如果信噪比在香农极限1dB范围内,采用迭代译码算法的Turbo码能够达到10-5的误比特率性能,也即该码率下的Eb/N0的值达到了信道容量。
Turbo译码的基本原理是使用MAP算法对信息符号进行迭代估计,其输入包括从前次译码迭代之后所有统计独立的信息获得的逐次更新的先验信息。迭代译码的概念与负反馈十分相似,输出的外信息又被反馈回输入端,产生放大输入端信噪比的效果,使***输出稳定;经过足够多次的迭代,最后的译码判决可以从任意一个译码器的LLR值(后验概率对数似然比)获得。
目前,MAP译码方案多采用分块加滑动窗的译码结构来减少译码时延和提高吞吐率。为了获得较为准确的边界值,现有的方法是预计算一部分的overlap作为回溯长度。受overlap长度的限制,这种方法在高码率下,实现复杂、性能退化严重,而且每个子块的有效译码时间所占的比例偏小。
发明内容
有鉴于此,为解决现有存在的技术问题,本发明实施例提供:
本发明提供一种基于MAP算法的Turbo译码方法,信息符号依次划分为多个子块,每个子块包括多个滑动窗,该方法包括:
使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式和块边界继承方式获取各滑动窗和子块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;
根据所述LLR值进行译码判决。
上述方案中,
所述采用窗边界值和块边界值继承方式获取滑动窗的α边界值,包括:
以上一次迭代获取的α边界值作为本次迭代α的初始值,正向读取滑动窗整窗的输入数据,计算出整窗的α值,
所述采用窗边界值和块边界值继承方式获取滑动窗的β边界值,包括:
以上一次迭代获取的β边界值作为本次迭代β的初始值,逆向读取滑动窗整窗的输入数据,计算出整窗的β值。
上述方案中,存储所述输入数据的RAM阵列包括两片RAM,用于通过乒乓操作实现连续计算。
上述方案中,为计算β的值,存储所述输入数据的RAM的写和读的地址分别为0~K-1和K-1~0,其中K为一窗的数据长度。
上述方案中,各滑动窗计算得出的β值存储在RAM中,写地址和读地址分别为K~0和1~K,其中,K为一窗的数据长度。
上述方案中,
对于第一个子块中的第一个滑动窗,α的初始值为第一预设值,对于非第一个子块中的第一个滑动窗,继承前面一个子块中最后一个滑动窗计算得到的α边界值作为本子块α更新的初始值;
对于最后一个子块中的最后一个滑动窗,β的初始值为第二预设值,对于非最后一个子块中的最后一个滑动窗,继承后面一个子块中第一个滑动窗计算得到的β边界值作为本子块β更新的初始值。
本发明提供一种基于MAP算法的Turbo译码装置,该装置包括:第一处理模块和第二处理模块;其中,
所述第一处理模块,用于使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式获取各滑动窗的α边界值和β边界值,采用块边界值继承方式获取各子块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;
所述第二处理模块,用于根据所述LLR值进行译码判决。
上述方案中,
所述第一处理模块,具体用于以上一次迭代获取的α边界值作为本次迭代α的初始值,正向读取滑动窗整窗的输入数据,计算出整窗的α值;以及以上一次迭代获取的β边界值作为本次迭代β的初始值,逆向读取滑动窗整窗的输入数据,计算出整窗的β值。
上述方案中,该装置还包括第一存储模块,
所述第一存储模块,用于通过包括两片RAM的RAM阵列存储输入数据,以通过乒乓操作实现连续计算。
上述方案中,为计算β的值,存储所述输入数据的RAM的写和读的地址分别为0~K-1和K-1~0,其中K为一窗的数据长度。
上述方案中,该装置还包括第二存储模块,
所述第二存储模块,用于存储各滑动窗计算得出的β值,写地址和读地址分别为K~0和1~K,其中,K为为一窗的数据长度,0位置存储的是计算完一窗获取的β窗边界值。
上述方案中,
所述第一处理模块,具体用于对第一个子块中的第一个滑动窗,获取第一预设值作为α的初始值,对于非第一个子块中的第一个滑动窗,继承前面一个子块中最后一个滑动窗计算得到的α边界值作为本子块α更新的初始值;对于最后一个子块中的最后一个滑动窗,获取第二预设值作为β的初始值,对于非最后一个子块中的最后一个滑动窗,继承后面一个子块中第一个滑动窗计算得到的β边界值作为本子块β更新的初始值。
本发明实施例一种基于MAP算法的Turbo译码方法及装置,使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式和块边界继承方式获取各滑动窗和子块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;根据所述LLR值进行译码判决。根据本发明实施例所述的技术方案,不需要利用overlap来预计算得到每个子块α和β的初始状态,也不需要利用每个滑动窗的overlap来预计算α和β的初始状态,从而实现结构简单,且提高了每个子块的有效译码时间。
附图说明
图1为本发明实施例一种基于MAP算法的Turbo译码方法流程示意图;
图2为本发明实施例一种基于MAP算法的Turbo译码装置结构示意图;
图3为本发明实施例再一种基于MAP算法的Turbo译码装置结构示意图;
图4为本发明实施例再一种基于MAP算法的Turbo译码装置结构示意图;
图5为本发明实施例1提供的一种边界值有继承的滑动窗流水线计算流程图;
图6为传统的依靠overlap计算窗边界的滑动窗流水线计算流程图;
图7为本发明实施例2提供的一种边界条件有继承的Turbo码MAP计算单元结构图;
图8为本发明实施例2中一块边界有继承且窗边界有继承的Turbo解码器译码性能示意图;
图9为本发明实施例2中一块边界有继承且窗边界有继承的Turbo解码器译码性能示意图;。
具体实施方式
在本发明的各种实施例中:采用窗边界值继承方式获取各滑动窗的α边界值和β边界值。
为了解决现有技术中存在的,高码率下,有overlap的MAP算法性能退化,且实现结构复杂的问题,本发明实施例提出了一种基于MAP算法的Turbo译码方法,如图1所示,该方法包括:
步骤101:使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式获取各滑动窗和子块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;
本发明实施例中,信息符号依次划分为多个子块,每个子块包括多个滑动窗,
步骤102:根据所述LLR值进行译码判决。
可选的,所述采用窗边界值继承方式获取滑动窗的α边界值,包括:
以上一次迭代获取的α边界值作为本次迭代α的初始值,正向读取滑动窗整窗的输入数据,计算出整窗的α值,
所述采用窗边界值继承方式获取滑动窗的β边界值,包括:
以上一次迭代获取的β边界值作为本次迭代β的初始值,逆向读取滑动窗整窗的输入数据,计算出整窗的β值。
需要说明的是,滑动窗α边界值继承的步骤,是为了保证计算各个滑动窗α0~α7每次递推更新所需的初始状态随着迭代次数的增加,充分接近于无分块、无滑动窗的原始MAP译码结构对应的α值α0~α7,滑动窗β边界值继承的步骤,是为了保证计算各个滑动窗边界值β0~β7每次递推更新所需的初始状态随着迭代次数的增加,充分接近于无分块、无滑动窗的原始MAP译码结构中对应的β值(β0~β7的相对关系一致即可)。
其中,各滑动窗β的边界值β0~β7被存储到一片RAM中,作为下次迭代对应滑动窗β的初始值。基于β递推计算的过程,需要把各滑动窗整窗的输入数据(***位、校验位、先验信息)存储在RAM中,然后逆向读取,计算出整窗的β值。所述存储输入数据的RAM,写和读的地址分别为0~K-1和K-1~0,其中K为一窗的数据长度。
可选的,存储所述输入数据的RAM阵列包括两片RAM,用于通过乒乓操作实现连续计算。这里,为了便于流水线存储输入数据(***位、校验位、先验信息)并连续计算α和LLR,需要两片RAM进行存取操作(乒乓操作)。
可选的,为计算β的值,存储所述输入数据的RAM的写和读的地址分别为0~K-1和K-1~0,其中K为一窗的数据长度。
可选的,各滑动窗计算得出的β值存储在RAM中,写地址和读地址分别为K~0和1~K,其中,K为为一窗的数据长度,0位置存储的是计算完一窗获取的β窗边界值。
可选的,对于第一个子块中的第一个滑动窗,α的初始值为第一预设值,对于非第一个子块中的第一个滑动窗,继承前面一个子块中最后一个滑动窗计算得到的α边界值作为本子块α更新的初始值;
对于最后一个子块中的最后一个滑动窗,β的初始值为第二预设值,对于非最后一个子块中的最后一个滑动窗,继承后面一个子块中第一个滑动窗计算得到的β边界值作为本子块β更新的初始值。
需要说明的是,块间α和β边界值继承的步骤,是为了保证计算各个子块α和β每次递推更新所需的初始状态随着迭代次数的增加,充分接近于无分块、无滑动窗的原始MAP译码结构中对应α值α0~α7八个状态的相对关系和β值β0~β7八个状态的相对关系。滑动窗计算结束后,子块的边界值被存储下来,继承到下次迭代作为对应各子块的初始值。
举例来说,块间α继承的步骤可以包括:
通过继承前面一个子块中,最后一个滑动窗计算得到的α边界值α0~α7,作为本子块α更新的初始状态。对于第一个子块α的初始值,每一次迭代都是[0,INF,INF,INF,INF,INF,INF,INF],其中,INF表示负的无穷大。
举例来说,块间β继承的步骤可以包括:
通过继承后面一个子块中,第一个滑动窗计算得到β的边界值β0~β7,作为本子块β更新的初始状态。对于最后一个子块β的初始值,每一次迭代都是[0,INF,INF,INF,INF,INF,INF,INF],其中,INF表示负的无穷大。
本发明实施例中,每个子块α的初始值由块间继承获得,由于α是顺序计算,因此每个滑动窗计算α时,只需要从上一个滑动窗的边界值获取即可,不需要继承上一次迭代的状态值。每个滑动窗计算β时,则需要继承上一次迭代的窗边界值。
本发明实施例还相应的提出了一种基于MAP算法的Turbo译码装置,如图2所示,该装置包括:第一处理模块21和第二处理模块22;其中,
所述第一处理模块21,用于使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式获取各滑动窗的α边界值和β边界值,采用块边界值继承方式获取各子块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;
所述第二处理模块22,用于根据所述LLR值进行译码判决。
可选的,所述第一处理模块21,具体用于以上一次迭代获取的α边界值作为本次迭代α的初始值,正向读取滑动窗整窗的输入数据,计算出整窗的α值;以及以上一次迭代获取的β边界值作为本次迭代β的初始值,逆向读取滑动窗整窗的输入数据,计算出整窗的β值。
可选的,如图3所示,该装置还包括第一存储模块23,
所述第一存储模块23,用于通过包括两片RAM的RAM阵列存储输入数据,以通过乒乓操作实现连续计算。
可选的,为计算β的值,存储所述输入数据的RAM的写和读的地址分别为0~K-1和K-1~0,其中K为一窗的数据长度。
可选的,如图4所示,该装置还包括第二存储模块24,
所述第二存储模块24,用于存储各滑动窗计算得出的β值,写地址和读地址分别为K~0和1~K,其中,K为为一窗的数据长度,0位置存储的是计算完一窗获取的β窗边界值。
可选的,所述第一处理模块21,具体用于对第一个子块中的第一个滑动窗,获取第一预设值作为α的初始值,对于非第一个子块中的第一个滑动窗,继承前面一个子块中最后一个滑动窗计算得到的α边界值作为本子块α更新的初始值;对于最后一个子块中的最后一个滑动窗,获取第二预设值作为β的初始值,对于非最后一个子块中的最后一个滑动窗,继承后面一个子块中第一个滑动窗计算得到的β边界值作为本子块β更新的初始值。
下面通过具体实施例对本发明的技术方案作进一步详细说明。
实施例1
图5为本发明实施例1提供的一种边界值有继承的滑动窗流水线计算流程图,如图5所示,该流程包括:
第一个时间窗,一个滑动窗窗长LEN的输入数据(信息位Ys、校验位Yp和先验信息La)被存储到RAM阵列中,第二个时间窗,从RAM阵列中读取Ys,Yp和La,计算出β1,存入RAM。其中β1表示第一个滑动窗整窗的β值;第三个时间窗,从RAM阵列中读取Ys,Yp和La,计算出α1和β2,存入RAM阵列中……依次类推,直到这一子块的最后一个滑动窗的α和β全部计算出来。
其中,输入数据(信息位Ys、校验位Yp和先验信息La)RAM阵列,包含两个大小为窗长LEN的RAM,RAM(0)和RAM(1)。
输入数据RAM地址生成模块,RAM(0)和RAM(1)的写入地址都是addr(i)=0,1,2,...,LEN,α的读取地址为addr(j)=0,1,2,...,LEN,β的读取地址为addr(k),k=LEN,LEN-1,LEN-2,...,3,2,1。
相比于图6所示传统的依靠overlap计算窗边界的滑动窗流水线计算流程(其中,最后一窗的overlap来自于下一个子块头提供的overlap),本发明实施例不需要利用overlap来预计算得到每个子块α和β的初始状态,实现结构简单。
实施例2
图7为本发明实施例2提供的一种边界条件有继承的Turbo码MAP计算单元结构图,基于图7所示结构,本实施例中,由预设的块、窗边界作为初始状态,完成第一次双迭代。对于子块1,α的初始值为常量:
[0,INF,INF,INF,INF,INF,INF,INF];对于子块n,β的初始值也为常量:
[0,INF,INF,INF,INF,INF,INF,INF]。首次迭代各窗边界的初始值,默认α和β的八个状态α0~α7和β0~β7等概率,具体的,
αinitial=[0,0,0,0,0,0,0,0],βinitial=[0,0,0,0,0,0,0,0]。
在第i(i>1)次迭代中,β的窗边界值由存储β的RAM阵列读取,α和β的块边界由读取对应寄存器获得。
其中,存储β的RAM,包含两个大小为窗长LEN的RAM,RAMβ(0)和RAMβ(1)。
存储β的RAM地址生成硬件模块,RAMβ(0)和RAMβ(1)的写入地址都是addr(i),i=LEN,LEN-1,LEN-2,...,1,0。RAMβ(0)和RAMβ(1)的读取地址为addr(j)=0,1,2,...,LEN。
如图8所示,在4992块长,SF-MAX-Log-MAP算法,LTE交织器,AWGN信道,SF=0.75,0.93码率条件下,块边界有继承且窗边界有继承的Turbo解码器译码性能接近于原始的串行无滑动窗译码性能,而有overlap的方案在高码率下有明显的性能退化。
如图9所示,在4992块长,SF-MAX-Log-MAP算法,LTE交织器,AWGN信道,SF=0.75,1/3码率条件下,块边界有继承且窗边界有继承的Turbo解码器译码性能接近于有overlap的方案和串行无滑动窗译码性能。
根据上述描述,本发明实施例所述方案具有以下有益效果:
1)可以直接进行子块和滑动窗的α和β计算,不需要利用overlap来预计算得到每个子块α和β的初始状态,也不需要利用每个滑动窗的overlap来预计算α和β的初始状态,实现结构简单。
2)不需要因存储计算overlap所需输入数据(***位、校验位和先验信息)而开辟的RAM(如说明书附图1)。节约两窗长度RAM的存储空间(这里默认overlap等于一窗长度,又因为乒乓操作,需两片RAM交替读写),占用资源较少,为降低芯片面积和制作成本提供了技术支持。
3)对于每个子块而言,省去了计算块边界值所需两窗overlap的计算,提高了每个子块的有效译码时间(如说明书附图2)。以子块长度1536、每窗长度128为例,传统方法的有效译码时间占总译码时间的75%,而本发明的有效译码时间占总译码时间的85.71%.
4)现有技术为了解决在高穿孔率下译码性能退化的问题,只能增加overlap的长度,但是这样会相应增加RAM的存储空间,并使得每个子块的有效译码时间占总译码时间的比例更少。本发明的方法随着迭代次数增加,每窗边界值α0~α7,β0~β7八个状态的相对关系充分趋近于原始无分块、无滑动窗的MAP的情况,且不增加额外RAM的开销。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

1.一种基于MAP算法的Turbo译码方法,其特征在于,信息符号依次划分为多个子块,每个子块包括多个滑动窗,该方法包括:
使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式和块边界继承方式获取各滑动窗和子块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;
根据所述LLR值进行译码判决。
2.根据权利要求1所述的方法,其特征在于,
所述采用窗边界值和块边界值继承方式获取滑动窗的α边界值,包括:
以上一次迭代获取的α边界值作为本次迭代α的初始值,正向读取滑动窗整窗的输入数据,计算出整窗的α值,
所述采用窗边界值和块边界值继承方式获取滑动窗的β边界值,包括:
以上一次迭代获取的β边界值作为本次迭代β的初始值,逆向读取滑动窗整窗的输入数据,计算出整窗的β值。
3.根据权利要求2所述的方法,其特征在于,存储所述输入数据的RAM阵列包括两片RAM,用于通过乒乓操作实现连续计算。
4.根据权利要求3所述的方法,其特征在于,为计算β的值,存储所述输入数据的RAM的写和读的地址分别为0~K-1和K-1~0,其中K为一窗的数据长度。
5.根据权利要求2所述的方法,其特征在于,各滑动窗计算得出的β值存储在RAM中,写地址和读地址分别为K~0和1~K,其中,K为一窗的数据长度。
6.根据权利要求2所述的方法,其特征在于,
对于第一个子块中的第一个滑动窗,α的初始值为第一预设值,对于非第一个子块中的第一个滑动窗,继承前面一个子块中最后一个滑动窗计算得到的α边界值作为本子块α更新的初始值;
对于最后一个子块中的最后一个滑动窗,β的初始值为第二预设值,对于非最后一个子块中的最后一个滑动窗,继承后面一个子块中第一个滑动窗计算得到的β边界值作为本子块β更新的初始值。
7.一种基于MAP算法的Turbo译码装置,其特征在于,该装置包括:第一处理模块和第二处理模块;其中,
所述第一处理模块,用于使用MAP算法对信息符号进行迭代估计,其中,采用窗边界值继承方式获取各滑动窗的α边界值和β边界值,采用块边界值继承方式获取各子块的α边界值和β边界值,并根据所述α边界值和β边界值递推出整窗及整块的LLR值;
所述第二处理模块,用于根据所述LLR值进行译码判决。
8.根据权利要求7所述的装置,其特征在于,
所述第一处理模块,具体用于以上一次迭代获取的α边界值作为本次迭代α的初始值,正向读取滑动窗整窗的输入数据,计算出整窗的α值;以及以上一次迭代获取的β边界值作为本次迭代β的初始值,逆向读取滑动窗整窗的输入数据,计算出整窗的β值。
9.根据权利要求8所述的装置,其特征在于,该装置还包括第一存储模块,
所述第一存储模块,用于通过包括两片RAM的RAM阵列存储输入数据,以通过乒乓操作实现连续计算。
10.根据权利要求9所述的装置,其特征在于,为计算β的值,存储所述输入数据的RAM的写和读的地址分别为0~K-1和K-1~0,其中K为一窗的数据长度。
11.根据权利要求8所述的装置,其特征在于,该装置还包括第二存储模块,
所述第二存储模块,用于存储各滑动窗计算得出的β值,写地址和读地址分别为K~0和1~K,其中,K为为一窗的数据长度,0位置存储的是计算完一窗获取的β窗边界值。
12.根据权利要求8所述的装置,其特征在于,
所述第一处理模块,具体用于对第一个子块中的第一个滑动窗,获取第一预设值作为α的初始值,对于非第一个子块中的第一个滑动窗,继承前面一个子块中最后一个滑动窗计算得到的α边界值作为本子块α更新的初始值;对于最后一个子块中的最后一个滑动窗,获取第二预设值作为β的初始值,对于非最后一个子块中的最后一个滑动窗,继承后面一个子块中第一个滑动窗计算得到的β边界值作为本子块β更新的初始值。
CN201410307603.6A 2014-06-30 2014-06-30 一种基于MAP算法的Turbo译码方法及装置 Pending CN105306076A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410307603.6A CN105306076A (zh) 2014-06-30 2014-06-30 一种基于MAP算法的Turbo译码方法及装置
EP14896707.8A EP3163755A4 (en) 2014-06-30 2014-09-15 Map algorithm-based turbo coding method and apparatus, and computer storage medium
US15/322,331 US9866240B2 (en) 2014-06-30 2014-09-15 Map algorithm-based turbo decoding method and apparatus, and computer storage medium
PCT/CN2014/086524 WO2016000321A1 (zh) 2014-06-30 2014-09-15 基于map算法的turbo译码方法及装置、计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410307603.6A CN105306076A (zh) 2014-06-30 2014-06-30 一种基于MAP算法的Turbo译码方法及装置

Publications (1)

Publication Number Publication Date
CN105306076A true CN105306076A (zh) 2016-02-03

Family

ID=55018360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410307603.6A Pending CN105306076A (zh) 2014-06-30 2014-06-30 一种基于MAP算法的Turbo译码方法及装置

Country Status (4)

Country Link
US (1) US9866240B2 (zh)
EP (1) EP3163755A4 (zh)
CN (1) CN105306076A (zh)
WO (1) WO2016000321A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019090032A1 (en) 2017-11-03 2019-05-09 Coherent Logix, Inc. Memory network processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777924A (zh) * 2010-01-11 2010-07-14 新邮通信设备有限公司 一种Turbo码译码方法和装置
CN102064838A (zh) * 2010-12-07 2011-05-18 西安电子科技大学 基于新型无冲突交织器的低延迟并行Turbo译码方法
CN102571107A (zh) * 2010-12-15 2012-07-11 展讯通信(上海)有限公司 LTE***中高速并行Turbo码的解码***及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813743B1 (en) * 2000-07-31 2004-11-02 Conexant Systems, Inc. Sliding window technique for map decoders
US7107509B2 (en) * 2002-08-30 2006-09-12 Lucent Technologies Inc. Higher radix Log MAP processor
WO2004028004A2 (en) * 2002-09-18 2004-04-01 Koninklijke Philips Electronics N.V. Method for decoding data using windows of data
DE602004014814D1 (de) * 2003-12-22 2008-08-14 Koninkl Philips Electronics Nv Siso-decoder mit subblockverarbeitung und auf subblock basierendem stoppkriterium
US7929646B2 (en) * 2006-01-27 2011-04-19 Qualcomm Incorporated Map decoder with bidirectional sliding window architecture
CN101442321B (zh) * 2007-12-27 2011-12-21 美商威睿电通公司 涡轮码的并行译码以及数据处理方法和装置
US8321744B2 (en) * 2008-09-16 2012-11-27 Analog Devices, Inc. Channel adaptive iterative turbo decoder system and method
CN101807971B (zh) 2010-03-08 2013-03-20 上海华为技术有限公司 Turbo码译码方法及***
CN102412850B (zh) 2010-09-25 2014-02-05 中兴通讯股份有限公司 Turbo码并行交织器及其并行交织方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777924A (zh) * 2010-01-11 2010-07-14 新邮通信设备有限公司 一种Turbo码译码方法和装置
CN102064838A (zh) * 2010-12-07 2011-05-18 西安电子科技大学 基于新型无冲突交织器的低延迟并行Turbo译码方法
CN102571107A (zh) * 2010-12-15 2012-07-11 展讯通信(上海)有限公司 LTE***中高速并行Turbo码的解码***及方法

Also Published As

Publication number Publication date
EP3163755A1 (en) 2017-05-03
US20170134042A1 (en) 2017-05-11
WO2016000321A1 (zh) 2016-01-07
US9866240B2 (en) 2018-01-09
EP3163755A4 (en) 2017-09-13

Similar Documents

Publication Publication Date Title
US8719658B2 (en) Accessing memory during parallel turbo decoding
CN102111162B (zh) Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器
RU2571597C2 (ru) Способ и устройство для декодирования турбокода
JP6022085B2 (ja) マルチモードデコーダの実現方法及び装置
US7464316B2 (en) Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder
CN105634508A (zh) 一种低复杂度近性能限的Turbo译码器的实现方法
Prescher et al. A parametrizable low-power high-throughput turbo-decoder
Lee et al. Design space exploration of the turbo decoding algorithm on GPUs
EP2717477B1 (en) Channel decoding method and decoder for tail-biting codes
CN103986557A (zh) 低路径延迟的LTE Turbo码并行分块译码方法
CN103957016B (zh) 一种低存储容量的Turbo码译码器及其设计方法
CN103812510A (zh) 译码方法及装置
Han et al. High speed max-log-MAP turbo SISO decoder implementation using branch metric normalization
CN103595424A (zh) 分量译码方法、译码器及Turbo译码方法、装置
CN108959977B (zh) 一种适用于sram puf的软硬混合解码方法
CN105306076A (zh) 一种基于MAP算法的Turbo译码方法及装置
CN107872231A (zh) Ldpc译码方法与装置
CN102571107B (zh) LTE***中高速并行Turbo码的解码***及方法
WO2017000682A1 (zh) 一种译码方法、装置及存储介质
EP4072023A1 (en) Decoding method, decoder, and decoding device
Reddy et al. A low complexity stopping criterion for reducing power consumption in turbo decoders
CN113872615A (zh) 一种可变长度的Turbo码译码器装置
US9325351B2 (en) Adaptive multi-core, multi-direction turbo decoder and related decoding method thereof
CN113992213B (zh) 一种双路并行译码存储设备及方法
Liu et al. Benefit and cost of cross sliding window scheduling for low latency 5G Turbo decoding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160203

RJ01 Rejection of invention patent application after publication