CN102412850B - Turbo码并行交织器及其并行交织方法 - Google Patents

Turbo码并行交织器及其并行交织方法 Download PDF

Info

Publication number
CN102412850B
CN102412850B CN201010293964.1A CN201010293964A CN102412850B CN 102412850 B CN102412850 B CN 102412850B CN 201010293964 A CN201010293964 A CN 201010293964A CN 102412850 B CN102412850 B CN 102412850B
Authority
CN
China
Prior art keywords
row
address
unit
mod
data
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.)
Active
Application number
CN201010293964.1A
Other languages
English (en)
Other versions
CN102412850A (zh
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.)
Sanechips Technology Co Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201010293964.1A priority Critical patent/CN102412850B/zh
Priority to EP11826334.2A priority patent/EP2621091B1/en
Priority to JP2013520950A priority patent/JP5490320B2/ja
Priority to PCT/CN2011/072187 priority patent/WO2012037807A1/zh
Priority to US13/825,886 priority patent/US9048877B2/en
Publication of CN102412850A publication Critical patent/CN102412850A/zh
Application granted granted Critical
Publication of CN102412850B publication Critical patent/CN102412850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • H03M13/2775Contention or collision free turbo code internal interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种Turbo码并行交织器及其并行交织方法。Turbo码并行交织器包括:交叉单元,用于产生并行读取数据的列地址,及用于对数据进行行交叉的各行的行地址,将列地址及延迟后的列地址输入到CB矩阵单元,将各行的行地址输入到转换输出单元,以及将各行的行地址进行延迟后输入到转换输入单元;转换输出单元,用于接收CB矩阵单元输出的各行数据,根据各行的行地址,将各行数据进行行间交叉,并将交叉后的数据输入到并行MAP单元做MAP计算;转换输入单元,用于接收来延迟后的各行的行地址,根据该行地址将并行MAP单元进行MAP计算后输出的各行数据进行行间交叉,将交叉后的各行数据作为先验信息写入到CB矩阵单元。

Description

Turbo码并行交织器及其并行交织方法
技术领域
本发明涉及通信领域中的Turbo译码处理技术,具体而言,涉及一种Turbo码并行交织器及其并行交织方法。
背景技术
Turbo码是LTE中一种重要的信道编码方式,其特征是编译码复杂度高,时延大,但误码性能优异,适合于大数据量的长码块及对时延要求不高的数据传输。Turbo码的成功在于它能很好地满足香农信道编码理论中的随机性条件,并且采用了迭代译码的方式来获得编码增益,因此能够获得逼近香农限的极限性能。
图1是Turbo译码器的结构示意图,由两个软输入软输出(SISO)的RSC码分量译码单元组成,中间通过交织器和解交织器相连,进行迭代译码。译码单元1所输出的外赋信息apri1作为译码单元2的先验信息,辅助其译码;同样,译码单元2所输出的外赋信息apri2作为译码单元1的先验信息,如此反复迭代进行译码。译码单元1和译码单元2的硬件结构完全相同,在硬件实现时可以采用分时复用,节省硬件资源。译码单元1和译码单元2中主要是实现对数域的Max-Log-Map算法,其中将乘法和指数运算简化为加法和取最大值的运算,从而降低了计算复杂度,利于硬件实现。对于并行的Turbo译码器而言,其核心就是要在译码单元1和译码单元2中设置多个并行的Max-Log-Map计算单元,使之同时对同一码块数据进行分段译码。
交织器在Turbo译码器中发挥着关键作用,直接影响Turbo译码器的性能。LTE采用的是二次置换多项式(Quadratic PermutationPolynomial,QPP)交织器,这种交织器是无争用(Contention-free,CF)交织器的一种,其表达式为∏(i)=(f1·i+f2·i2)mod K(式1-1),其中i和∏(i)分别为交织前和交织后的序号;K为码块的长度;f1和f2是两个参数,具体可以根据码块长度K确定。即,假设长度为K的比特流c0,c1,...,ck-1,交织器的输出c′0,c′1,...,c′k-1,则c′i可以表示为c′i=c∏(i)
LTE系统要求支持100Mbps以上的峰值数据速率,这对信道编码译码速度提出了更高的要求,为了满足这一要求,LTE中的Turbo码必须采用并行译码算法。对于Turbo码并行译码而言,交织器的设计也要适应其并行译码的要求,发明人发现在相关技术中,还没有一种能有效进行并行交织的Turbo码交织器和方法。
发明内容
本发明的主要目的在于提供一种Turbo码并行交织器及其并行交织方法,以至少解决上述不能有效地进行并行交织的问题。
根据本发明的一个方面,提供了一种Turbo码并行交织器,包括:交叉单元,用于产生并行读取数据的列地址,以及用于对读取的数据进行行交叉的各行的行地址,将所述列地址作为读地址输入到码块CB矩阵单元,将所述列地址进行延迟后作为写地址输入到所述CB矩阵单元,将各行的所述行地址输入到转换输出单元,以及将各行的所述行地址进行延迟后输入到转换输入单元;转换输出单元,用于接收所述CB矩阵单元输出的各行数据,根据各行的所述行地址,将读取的各行数据进行行间交叉,并将交叉后的数据输入到并行匹配MAP单元做MAP计算,其中,所述各行数据为所述CB矩阵单元根据所述读地址读取的;转换输入单元,用于接收来自所述交叉单元的延迟后的各行的所述行地址,根据延迟之后的行地址将所述并行MAP单元进行MAP计算后输出的各行数据进行行间交叉,并将交叉后的各行数据作为先验信息按照所述写地址写入到所述CB矩阵单元。
根据本发明的另一方面,提供了一种Turbo码并行交织器的并行交织方法,包括:交叉单元产生并行读取数据列地址,以及用于对读取的数据进行行交叉的各行的行地址,将所述列地址作为读地址输入到CB矩阵单元,将所述列地址进行延迟后作为写地址输入到所述CB矩阵单元,将各行的所述行地址输入到转换输出单元,并将各行的所述行地址进行延时后输入到转换输入单元;CB矩阵单元根据所述读地址读取与所述列地址对应的各行数据,并将读取的各行数据输入到所述转换输出单元,所述转换输出单元根据所述交叉单元输出的各行的所述行地址对读取的各行数据进行行间交叉,并将交叉后的数据输入到并行MAP单元做MAP计算;转换输入单元接收来自所述交叉单元的延迟后的各行的所述行地址,根据延迟之后的行地址将所述并行MAP单元进行MAP计算后输出的各行数据进行行间交叉,并将交叉后的数据作为先验信息按照所述写地址写入到所述CB矩阵单元。
通过本发明,根据Turbo码并行交织器的交叉单元产生的列地址,并行的读取一列数据,并将读取的数据按照交叉单元产生的各行的行地址进行行交叉,从而实现数据的行内交织和行间交织;而转换输入单元根据交叉单元产生的经过延迟后的各行的行地址对经过MAP计算后的各行数据进行行交叉,并将交叉后的数据作为先验信息写入到CB矩阵中与交叉单元产生的列地址对应的位置,从而可以有效的进行并行解交织,进而提高了交织和解交织的效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的Turbo译码器的结构示意图;
图2是根据本发明实施例的Turbo码交织器的结构示意图;
图3是本发明实施例的CB矩阵中存储的矩阵结构示意图;
图4是根据本发明优选实施例的交叉单元的结构示意图;
图5是根据本发明另一优选实施例的交叉单元的结构示意图;
图6是根据本发明实施例的Turbo码交织器的并行交织方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1中的交织器与解交织器是一个互逆的处理过程,即一个输入序列先后经过交织和解交织之后又恢复到原始的顺序,而一个输入序列先后经过两次交织以后也可以达到同样的效果。因此,在本发明实施例中,在硬件上将交织器和解交织器合二为一,其中,解交织器的计算结果比交织器的计算结果晚若干个时钟周期,即译码单元2的时延。
图2为根据本发明实施例的Turbo码并行交织器的结构示意图,如图2所示,该Turbo码交织器主要包括:交叉单元(interleave)10、转换输出(switch_out)单元20和转换输入(switch_in)单元30。其中,如图2所示,交叉单元10,用于产生并行读取数据的列地址,以及用于对读取的数据进行行交叉的各行的行地址,将该列地址作为读地址输入到码块(code block,简称为CB)矩阵单元,将该列地址进行延迟后作为写地址输入到CB矩阵单元,将各行的行地址输入到转换输出单元20,并将各行的行地址进行延迟后输入到转换输入单元30;转换输出单元20,用于接收CB矩阵单元输出的各行数据(其中,CB矩阵单元根据上述读地址读取一列数据,并将读取的数据输出到转换输出单元20),根据交叉单元10输出的各行的行地址,将并行读取的各行数据进行行间交叉,并将交叉后的数据输入到并行匹配(MAP)单元做Max-Log-Map运算(简称MAP运算);转换输入单元30,用于接收来自交叉单元10的延迟后各行的行地址,由于输入到转换输入单元30的各行的行地址进行了延迟,从而使得转换输入单元30接收的各行的行地址可以保持和并行MAP单元的计算时延同步,转换输入单元30根据延迟之后的行地址将并行MAP单元进行MAP计算后输出的各行数据进行行间交叉,并将交叉后的各行数据作为先验信息按照上述写地址写入到CB矩阵单元。
在本发明实施例中,将一个待译码的码块(code block,CB)的软比特信息以及译码过程中所用的先验信息按照R×L矩阵格式存放,其中R表示矩阵的行数,L表示矩阵的列数。并行译码过程是从矩阵中同时读出1列R行的数据,并将这R个数据按照一定的映射规则送给并行MAP单元(parallel map units)做R路并行的MAP运算。
其中,CB矩阵单元中包括四个R×L矩阵,分别用于存放一个码块所对应的系统比特sb、校验比特p0、校验比特p1以及先验信息apri。其中,矩阵的行数R取决于码块长度K,优选地,可以通过下面公式确定R:
R = 1 ( 40 ≤ K ≤ 384 ) 2 ( 392 ≤ K ≤ 768 ) 4 ( 784 ≤ K ≤ 1536 ) 8 ( 1568 ≤ K ≤ 3072 ) 16 ( 3136 ≤ K ≤ 6144 )
矩阵的列数L=K/R。
例如,假定K=6144,该码块(CB)的比特顺序为(c0,c1,c2,...,c6143),则该序列在R×L矩阵中的排列顺序如附图3所示。
其中,校验比特p0和校验比特p1不需要进行交织,其中,校验比特p0和p1只选择其一输入并行MAP单元,当前MAP运算的次数为奇数时,输入并行MAP单元的为校验比特p0,当前MAP运算的次数为偶数时,输入并行MAP单元的为校验比特p1。而对于系统比特sb和先验信息api,CB矩阵单元按照交叉单元10产生的列地址分别读取一列数据输入到转换输出单元20,然后转换输出单元20按照交叉单元10产生的各行的行地址对输入的各行数据进行行交叉后输入到并行MAP单元,并行MAP单元根据输入的各行的校验比特、系统比特sb和先验信息api进行MAP运算,得到一列先验信息,并将该列先验信息输入到转换输入单元30,转换输入单元30根据延迟后的各行的行地址,对输入的各行的数据进行交叉后,将该列数据作为与上述列地址对应的数据写入到CB矩阵单元中的先验信息api矩阵的对应位置。
通过本发明实施例提供的上述Turbo码并行交织器,根据Turbo码并行交织器的交叉单元产生的列地址,并行的读取一列数据,并将读取的数据按照交叉单元产生的各行的行地址进行行交叉,从而实现数据的行内交织和行间交织;而转换输入单元根据交叉单元产生的经过延迟后的各行的行地址对经过MAP计算后的各行数据进行行交叉,并将交叉后的数据作为先验信息写入到CB矩阵中与交叉单元产生的列地址对应的位置。
在本发明实施例的一种优选实施方式中,交叉单元10可以采用如图4所示的结构,如图4所示,在该优选实施例中,交叉单元10可以包括:基本交织地址递推模块100、取模模块102、取商模块104、邻行地址计算模块106和行地址生成模块108。其中,
基本交织地址递推模块100可以按照公式(1-2)和公式(1-3)分别从正向和逆向递推基本交织地址∏(i),正向递推的范围是从∏(stu)递推至∏(stu+w),即stu≤i≤stu+w;逆向递推是从∏(std)递推至∏(std-w),即std≥i≥std-w,其中stu为码块内正向递推的初始位置,std为码块内逆向递推的初始位置,L为CB matrix的列数,w为基本交织地址递推的窗长。
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K,其中,stu≤i≤stu+w;(1-2)
∏(i-1)=(∏(i)-((f1+f2)mod K+(2f2·(i-1))mod K)mod K)mod K,(i>0),其中,std≥i≥std-w;(1-3)
其中,有
(2f2·i)mod K=(2f2·(i-1))mod K+(2f2)mod K;(式1-4)
(2f2·(i-1))mod K=(2f2·i)mod K-(2f2)mod K;(式1-5)
在基本交织地址递推模块正向递推过程中,如果i≥L,则有i=i mod L,即在正向递推过程中,i从初始位置stu开始递增,递增过程中如果遇到列边界,即i=L则i清零继续递增,即i的递增值需要对L求模以保证i值一定映射到第一行的范围之内;在基本交织地址递推模块的反向递推过程中,如果i<0,则有i=L+i,即在反向递推过程中,i从初始位置std开始递减,递减过程中如果遇到列边界,即i=0则i置为L继续递减,即i的递减需要对L求模,以保证i值一定映射到第一行的范围之内。
其中,R表示CB matrix中矩阵的行数,L表示CB matrix中矩阵的列数,f1,f2为Turbo码交织器的交织的参数,f1,f2与码块长度K一一对应,具体地,在LTE系统中,可以按照表1确定参数f1,f2
优选地,基本交织地址递推模块100可以按照(式1-6)和(式1-2)得到递推所需的初始值∏(stu)和∏(std)。
∏(0)=0(式1-6)
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K(式1-2)
在上述(式1-2)、(式1-3)、(式1-4)、(式1-5)和(式1-6)中,(f1+f2)mod K和(2f2)mod K为常数可预先算出,而求模运算可以通过比较及减法来实现并且保证每次求模运算之后的结果都小于K,这样就将交织地址的递推完全简化为比较和加减法运算。
取模模块102,用于对基本交织地址递推模块100递推所得的基本交织地址∏(i)对L求模,得到列地址col_addr(i);
表1.
  i   Ki   f1   f2   i   Ki   f1   f2   i   Ki   f1   f2   i   Ki   f1   f2
  1   40   3   10   48   416   25   52   95   1120   67   140   142   3200   111   240
  2   48   7   12   49   424   51   106   96   1152   35   72   143   3264   443   204
  3   56   19   42   50   432   47   72   97   1184   19   74   144   3328   51   104
  4   64   7   16   51   440   91   110   98   1216   39   76   145   3392   51   212
  5   72   7   18   52   448   29   168   99   1248   19   78   146   3456   451   192
  6   80   11   20   53   456   29   114   100   1280   199   240   147   3520   257   220
  7   88   5   22   54   464   247   58   101   1312   21   82   148   3584   57   336
  8   96   11   24   55   472   29   118   102   1344   211   252   149   3648   313   228
  9   104   7   26   56   480   89   180   103   1376   21   86   150   3712   271   232
  10   112   41   84   57   488   91   122   104   1408   43   88   151   3776   179   236
  11   120   103   90   58   496   157   62   105   1440   149   60   152   3840   331   120
  12   128   15   32   59   504   55   84   106   1472   45   92   153   3904   363   244
  13   136   9   34   60   512   31   64   107   1504   49   846   154   3968   375   248
  14   144   17   108   61   528   17   66   108   1536   71   48   155   4032   127   168
  15   152   9   38   62   544   35   68   109   1568   13   28   156   4096   31   64
  16   160   21   120   63   560   227   420   110   1600   17   80   157   4160   33   130
  17   168   101   84   64   576   65   96   111   1632   25   102   158   4224   43   264
  18   176   21   44   65   592   19   74   112   1664   183   104   159   4288   33   134
  19   184   57   46   66   608   37   76   113   1696   55   954   160   4352   477   408
  20   192   23   48   67   624   41   234   114   1728   127   96   161   4416   35   138
  21   200   13   50   68   640   39   80   115   1760   27   110   162   4480   233   280
  22   208   27   52   69   656   185   82   116   1792   29   112   163   4544   357   142
  23   216   11   36   70   672   43   252   117   1824   29   114   164   4608   337   480
  24   224   27   56   71   688   21   86   118   1856   57   116   165   4672   37   146
  25   232   85   58   72   704   155   44   119   1888   45   354   166   4736   71   444
  26   240   29   60   73   720   79   120   120   1920   31   120   167   4800   71   120
  27   248   33   62   74   736   139   92   121   1952   59   610   168   4864   37   152
  28   256   15   32   75   752   23   94   122   1984   185   124   169   4928   39   462
  29   264   17   198   76   768   217   48   123   2016   113   420   170   4992   127   234
  30   272   33   68   77   784   25   98   124   2048   31   64   171   5056   39   158
  31   280   103   210   78   800   17   80   125   2112   17   66   172   5120   39   80
  32   288   19   36   79   816   127   102   126   2176   171   136   173   5184   31   96
  33   296   19   74   80   832   25   52   127   2240   209   420   174   5248   113   902
  34   304   37   76   81   848   239   106   128   2304   253   216   175   5312   41   166
  35   312   19   78   82   864   17   48   129   2368   367   444   176   5376   251   336
  36   320   21   120   83   880   137   110   130   2432   265   456   177   5440   43   170
  37   328   21   82   84   896   215   112   131   2496   181   468   178   5504   21   86
  38   336   115   84   85   912   29   114   132   2560   39   80   179   5568   43   174
  39   344   193   86   86   928   15   58   133   2624   27   164   180   5632   45   176
  40   352   21   44   87   944   147   118   134   2688   127   504   181   5696   45   178
  41   360   133   90   88   960   29   60   135   2752   143   172   182   5760   161   120
  42   368   81   46   89   976   59   122   136   2816   43   88   183   5824   89   182
  43   376   45   94   90   992   65   124   137   2880   29   300   184   5888   323   184
  44   384   23   48   91   1008   55   84   138   2944   45   92   185   5952   47   186
  45   392   243   98   92   1024   31   64   139   3008   157   188   186   6016   23   94
  46   400   151   40   93   1056   17   66   140   3072   47   96   187   6080   47   190
  47   408   155   102   94   1088   171   204   141   3136   13   28   188   6144   263   480
取商模块104,用于将基本交织地址递推模块100递推所得的基本交织地址∏(i)对L求商,得到首行的行地址row_addr(0,i),0≤i≤L-1;
邻行地址计算模块106可以根据(式1-7)和(式1-8)分别从正向和逆向递推相邻两行之间的行地址增量Δ(i),正向递推的范围是从Δ(stu)递推至Δ(stu+w),即stu≤i≤stu+w;逆向递推是从Δ(std)递推至Δ(std-w),即std≥i≥std-w,其中stu为码块内正向递推的初始位置,std为码块内逆向递推的初始位置,L为CB matrix的列数。
Δ(i+1)=Δ(i)+(2f2)mod R,其中,stu≤i≤stu+w(式1-7)
Δ(i-1)=Δ(i)-(2f2)mod R,其中,std≥i≥std-w(式1-8)
优选地,邻行地址计算模块106可以按照(式1-7)和(式1-5)预先得到递推所需初始值Δ(stu)和Δ(std)。
Δ(0)=(f1+f2·L)mod R(式1-9)
Δ(i+1)=Δ(i)+(2f2)mod R(式1-8)
在邻行地址计算模块的正向递推过程中,如果i≥L,则有i=i mod L,在邻行地址计算模块的反向递推过程中,如果i<0,则有i=L+i。
其中,(式1-7)、(式1-8)及(式1-9)中的Δ(i)表示CB矩阵单元中矩阵内部第i列的交织(或非交织)地址所对应的相邻两行之间的行地址增量:
Δ(i)=row_addr(r+1,i)-row_addr(r,i),(0≤r≤R-1,0≤i≤L-1)。
(式1-9)中,f2为偶数,L为4的倍数,且R为不超过15的2的幂次方,因此f2·L简化为{f2[1]&L[2],3′b000},又因为R为不超过15的2的幂次方,因此(式1-7)、(式1-8)、(式1-9)及(式1-10)的求模运算可简化为截位运算。综上所述,上述各公式都简化为比较运算、加减法运算、移位运算以及截位运算,或简单的乘法运算,这保证了硬件实现上可以很容易的通过插寄存器的方式来简化关键路径,提高电路的性能,并结合以流水线处理方式,保证交织地址的递推计算可以每个时钟节拍输出一个结果。
行地址生成模块108,用于根据下面(式1-10)计算所有行的行地址row_addr(r,i):
row_addr(r,i)=(row_addr(0,i)+(r·Δ(i))mod R)mod R,
                                                      (式1-10)
(0≤r≤R-1,0≤i≤L-1)
其中,(式1-10)中的乘法为4×4的乘法器,从而可以保证硬件上易于实现。
图5为本发明实施例的交叉单元10的另一种实施方式的结构示意图,如图5所示,该实施方式的交叉单元10相对于图4所示的交叉单元10新增了二个二选一模块:第一二选一模块101和第二二选一模块103。其中,第一二选一模块101根据当前MAP运算的计数器(map_cnt)值,判断其奇偶性,如果map_cnt为偶数,则当前MAP运算不需要交织,因此,第一二选一模块101直接选择i输出给取模模块102和取商模块104,第二二选一模块103直接选择1作为相邻行的行地址增量输出给行地址生成模块108。如果map_cnt为奇数,则当前MAP运算需要进行交织,因此,第一二选一模块101选择基本交织地址递推模块100得到的基本交织地址∏(i)输出给取模模块102和取商模块104,以及第二二选一模块103选择邻行地址计算模块106的输出作为相邻行的行地址增量输出给行地址生成模块108。
需要说明的是,此外需要补充一点,上述二个二选一模块所处理的交织与非交织参数的二选一处理过程只针对CB matrix单元中四个矩阵中的用于存放系统比特sb和先验信息apri的两个矩阵,另外两个用于存放校验信息p0和p1的矩阵不需要交织,因为p0在矩阵中的存储顺序(即输入顺序)本身是未经交织的,p1在矩阵中的存放顺序(即输入顺序)本身是经过交织的,而map_cnt为偶数时选择的是p0,map_cnt为奇数时选择的p1。因此对于存放p0和p1的两个矩阵,从CB矩阵中选其一读出之后再输入到并行MAP单元,从CB矩阵读p0、p1所用的读地址无需用上述列地址读取,而是按照非交织地址(即图5中的i值)读取。
转换输出单元20为一个R×R的交叉阵列,即包含R路输入和R路输出,转换输出单元20可以由R个R选1模块(优选地,可以为R选1电路)组成,每个R选1模块的输出都根据其对应的来自交叉单元10的行地址从R路输入中选其1。同样,转换输入单元30也是一个R×R的交叉阵列,也包含R路输入和R路输出,以及R个R选1电路。转换输入单元30输入的行地址是交叉单元10输出的行地址做了一定延迟之后的结果,延迟的目的是为了保证和MAP运算的时延同步。其中R选1电路可以R选R/2、R/2选R/4、...,R/2n选1的树形结构,从而可以减少处理延迟,例如,对于16路的输入输出,可以采用16选8、8选4、4选2、2选1的树形结构。
图6是根据本发明实施例的Turbo码并行交织器的并行交织方法的流程图,该方法可以通过上述的Turbo码交织器实现,在具体实施过程中可以采用上述描述进行并行交织。如图6所示,该方法主要包括以下步骤:
步骤S602,交叉单元10产生并行读取数据列地址,以及用于对读取的数据进行行交叉的各行的行地址,将所述列地址作为读地址输入到CB矩阵单元,将该列地址进行延迟后作为写地址输入到CB矩阵单元,将各行的行地址输入到转换输出单元20,并将各行的行地址进行延时后输入到转换输入单元30;
例如,交叉单元10可以按照下面步骤产生各行的行地址:
步骤1,交叉单元10按照下面公式分别从正向和逆向递推基本交织地址∏(i):
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K,其中,stu≤i≤stu+w;
其中,在正向递推过程中,如果i≥L,则有i=i mod L;
∏(i-1)=(∏(i)-((f1+f2)mod K+(2f2·(i-1))mod K)mod K)mod K,其中,std≥i≥std-w;
其中,在反向递推过程中,如果i<0,则有i=L+i。
其中,f1,f2为交织参数,stu为码块内正向递推的初始位置,且0≤stu≤K-1,std为码块内逆向递推的初始位置,且0≤std≤K-1,w为基本交织地址递推的窗长,L为CB矩阵单元中的矩阵的列数,R为CB矩阵单元中的矩阵的行数,K为CB矩阵单元中的码块长度。
优选地,交叉单元10在递推基本交织地址时,可以按照下面公式正向递推的初始位置和逆向递推的初始位置的基本交织地址∏(stu)和∏(std):
∏(0)=0;
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K。
步骤2,交叉单元10对递推所得的基本交织地址∏(i)对L求模,得到列地址col_addr(i);
步骤3,交叉单元10将递推所得的基本交织地址∏(i)对L求商,得到首行的行地址row_addr(0,i),0≤i≤L-1;
步骤4,交叉单元10根据下面公式分别从正向和逆向递推相邻两行之间的行地址增量Δ(i):
Δ(i+1)=Δ(i)+(2f2)mod R,其中,stu≤i≤stu+w
Δ(i-1)=Δ(i)-(2f2)mod R,其中,std≥i≥std-w
优选地,交叉单元10在递推所述行地址增量时,可以按照下面公式确定正向递推的初始位置和逆向递推的初始位置的行地址增量Δ(stu)和Δ(std):
Δ(0)=(f1+f2·L)mod R,
Δ(i+1)=Δ(i)+(2f2)mod R。
步骤5,交叉单元根据下面公式计算所有行的行地址row_addr(r,i):
row_addr(r,i)=(row_addr(0,i)+(r·Δ(i))mod R)mod R,
(0≤r≤R-1,0≤i≤L-1)
步骤S304,CB矩阵单元根据上述读地址读取与上述列地址对应的各行数据,并将读取的各行数据输入到转换输出单元20,转换输出单元20根据交叉单元10输入的各行行地址,将读取的各行数据进行行间交叉,并将交叉后的数据输入到并行MAP单元做MAP计算;
步骤S306,转换输出单元30接收来自交叉单元10的延迟后的各行的行地址,根据延迟之后的行地址将并行MAP单元进行MAP计算后输出的各行数据进行行间交叉,并将交叉后的数据作为先验信息按照上述写地址写入到CB矩阵单元。
通过本发明实施例提供的上述Turbo码交织器的并行交织方法,根据Turbo码并行交织器的交叉单元产生的列地址,并行的读取一列数据,并将读取的数据按照交叉单元产生的各行的行地址进行行交叉,从而实现数据的行内交织和行间交织;而转换输入单元根据交叉单元产生的经过延迟后的各行的行地址对经过MAP计算后的各行数据进行行交叉,并将交叉后的数据作为先验信息写入到CB矩阵中与交叉单元产生的列地址对应的位置,从而可以有效的实现并行解交织,进而提高了交织和解交织的效率。
在实际应用中,本发明实施例提供的上述Turbo码交织器的并行交织方法可以采用上述各个Turbo码交织器实施例实现,并取得与上述Turbo码交织器实施例相应的技术效果,具体不再赘述。
从以上的描述中,可以看出,本发明实现了如下技术效果:1、支持Turbo并行译码,提高译码速度;2、计算交织行列地址的过程均采用递推的方式,不需任何缓存和查表操作,节省硬件资源;3、交织行列地址的递推所涉及的复杂的乘法和求模运算均拆分为简单的加法和比较运算,简化关键路径,提高硬件性能;4、结合流水线处理方式,使交织地址(行地址和列地址)的计算能一拍输出一个结果,保证译码器数据流的线速率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种Turbo码并行交织器,其特征在于,包括: 
交叉单元,用于产生并行读取数据的列地址,以及用于对读取的数据进行行交叉的各行的行地址,将所述列地址作为读地址输入到码块CB矩阵单元,将所述列地址进行延迟后作为写地址输入到所述CB矩阵单元,将各行的所述行地址输入到转换输出单元,以及将各行的所述行地址进行延迟后输入到转换输入单元; 
所述转换输出单元,用于接收所述CB矩阵单元输出的各行数据,根据各行的所述行地址,将读取的各行数据进行行间交叉,并将交叉后的数据输入到并行匹配MAP单元做MAP计算,其中,所述各行数据为所述CB矩阵单元根据所述读地址读取的; 
所述转换输入单元,用于接收来自所述交叉单元的延迟后的各行的所述行地址,根据延迟之后的行地址将所述并行MAP单元进行MAP计算后输出的各行数据进行行间交叉,并将交叉后的各行数据作为先验信息按照所述写地址写入到所述CB矩阵单元;其中,所述交叉单元包括: 
基本交织地址递推模块,用于按照下面公式分别从正向和逆向递推基本交织地址∏(i): 
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K,其中,stu≤i≤stu+w; 
∏(i-1)=(∏(i)-((f1+f2)mod K+(2f2·(i-1))mod K)mod K)mod K,其中,std≥i≥std-w; 
取模模块,用于对所述基本交织地址递推模块递推所得的基本交织地址∏(i)对L求模,得到列地址col_addr(i); 
取商模块,用于将所述基本交织地址递推模块递推所得的所述基本交织地址∏(i)对L求商,得到首行的行地址row_addr(0,i),0≤i≤L-1; 
邻行地址计算模块,用于根据下面公式分别从正向和逆向递推相邻两行之间的行地址增量Δ(i): 
Δ(i+1)=Δ(i)+(2f2)mod R,其中,stu≤i≤stu+w 
Δ(i-1)=Δ(i)-(2f2)mod R,其中,std≥i≥std-w 
行地址生成模块,用于根据下面公式计算所有行的行地址row_addr(r,i): 
row_addr(r,i)=(row_addr(0,i)+(r·Δ(i))mod R)mod R, 
(0≤r≤R-1,0≤i≤L-1) 
其中, 
在所述基本交织地址递推模块或所述邻行地址计算模块的正向递推过程中,如果i≥L,则有i=i mod L,在所述基本交织地址递推模块或所述邻行地址计算模块的反向递推过程中,如果i<0,则有i=L+i; 
f1,f2为交织参数,stu为码块内正向递推的初始位置,且0≤stu≤K-1,std为码块内逆向递推的初始位置,且0≤std≤K-1,L为所述CB矩阵单元中的矩阵的列数,w为基本交织地址递推的窗长,R为所述CB矩阵单元中的矩阵的行数,K为所述CB矩阵单元中的码块长度。 
2.根据权利要求1所述的Turbo码并行交织器,其特征在于,邻行地址计算模块按照下面公式确定正向递推的初始位置和逆向递推的初始位置的行地址增量Δ(stu)和Δ(std): 
Δ(0)=(f1+f2·L)mod R, 
Δ(i+1)=Δ(i)+(2f2)mod R。 
3.根据权利要求1所述的Turbo码并行交织器,其特征在于,所述基本交织地址递推模块按照下面公式正向递推的初始位置和逆向递推的初始位置的基本交织地址∏(stu)和∏(std): 
∏(0)=0; 
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K。 
4.根据权利要求1至3中任一项所述的Turbo码并行交织器,其特征在于,还包括: 
第一二选一模块,用于根据所述并行MAP单元当前进行MAP运算次数的奇偶性,选择i或所述基本交织地址递推模块得到的所述递推基本交织地址∏(i)输出给所述取模模块和所述取商模块; 
第二二选一模块,用于根据所述并行MAP单元当前进行MAP运算次数的奇偶性,选择1或所述邻行地址计算模块得到的行地址增量Δ(i)输出给所述行地址生成模块。 
5.根据权利要求1所述的Turbo码并行交织器,其特征在于,所述转换输出单元包括R个R选1模块,其中,每个R选1模块用于根据所述交叉单元输入的所述行地址,从读取的R行数据中选择1路数据输出,其中,R为所述CB矩阵单元中的矩阵的行数。 
6.根据权利要求1所述的Turbo码并行交织器,其特征在于,所述转换输入单元包括R个R选1模块,其中,每个R选1模块用于根据所述交叉单元输入的经过延迟的所述行地址,从所 述并行MAP单元输入的R行数据中选择1行数据输出,其中,R为所述CB矩阵单元中的矩阵的行数。 
7.一种Turbo码并行交织器的并行交织方法,其特征在于,包括: 
交叉单元产生并行读取数据列地址,以及用于对读取的数据进行行交叉的各行的行地址,将所述列地址作为读地址输入到码块CB矩阵单元,将所述列地址进行延迟后作为写地址输入到所述CB矩阵单元,将各行的所述行地址输入到转换输出单元,并将各行的所述行地址进行延时后输入到转换输入单元; 
所述CB矩阵单元根据所述读地址读取与所述列地址对应的各行数据,并将读取的各行数据输入到所述转换输出单元,所述转换输出单元根据所述交叉单元输出的各行的所述行地址对读取的各行数据进行行间交叉,并将交叉后的数据输入到并行MAP单元做MAP计算; 
所述转换输入单元接收来自所述交叉单元的延迟后的各行的所述行地址,根据延迟之后的行地址将所述并行MAP单元进行MAP计算后输出的各行数据进行行间交叉,并将交叉后的数据作为先验信息按照所述写地址写入到所述CB矩阵单元; 
其中,所述交叉单元产生所述列地址以及各行的所述行地址包括: 
所述交叉单元按照下面公式分别从正向和逆向递推基本交织地址∏(i): 
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K,其中,stu≤i≤stu+w; 
∏(i-1)=(∏(i)-((f1+f2)mod K+(2f2·(i-1))mod K)mod K)mod K,其中,std≥i≥std-w; 
所述交叉单元对递推所得的基本交织地址∏(i)对L求模,得到列地址col_addr(i); 
所述交叉单元将递推所得的所述基本交织地址∏(i)对L求商,得到首行的行地址row_addr(0,i),0≤i≤L-1; 
所述交叉单元根据下面公式分别从正向和逆向递推相邻两行之间的行地址增量Δ(i): 
Δ(i+1)=Δ(i)+(2f2)mod R,其中,stu≤i≤stu+w 
Δ(i-1)=Δ(i)-(2f2)mod R,其中,std≥i≥std-w 
所述交叉单元根据下面公式计算所有行的行地址row_addr(r,i): 
row_addr(r,i)=(row_addr(0,i)+(r·Δ(i))mod R)mod R, 
(0≤r≤R-1,0≤i≤L-1) 
其中, 
在所述基本交织地址或所述行地址增量的正向递推过程中,如果i≥L,则有i=i mod L,在所述基本交织地址或所述行地址增量的反向递推过程中,如果i<0,则有i=L+i; 
f1,f2为交织参数,stu为码块内正向递推的初始位置,且0≤stu≤K-1,std为码块内逆向递推的初始位置,且0≤std≤K-1,L为所述CB矩阵单元中的矩阵的列数,R为所述CB矩阵单元中的矩阵的行数,K为所述CB矩阵单元中的码块长度。 
8.根据权利要求7所述的方法,其特征在于,所述交叉单元在递推所述基本交织地址时,所述交叉单元按照下面公式正向递推的初始位置和逆向递推的初始位置的基本交织地址∏(stu)和∏(std): 
∏(0)=0; 
∏(i+1)=(∏(i)+((f1+f2)mod K+(2f2·i)mod K)mod K)mod K。 
9.根据权利要求7所述的方法,其特征在于,所述交叉单元在递推所述行地址增量时,按照下面公式确定正向递推的初始位置和逆向递推的初始位置的行地址增量Δ(stu)和Δ(std): 
Δ(0)=(f1+f2·L)mod R, 
Δ(i+1)=Δ(i)+(2f2)mod R。 
CN201010293964.1A 2010-09-25 2010-09-25 Turbo码并行交织器及其并行交织方法 Active CN102412850B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201010293964.1A CN102412850B (zh) 2010-09-25 2010-09-25 Turbo码并行交织器及其并行交织方法
EP11826334.2A EP2621091B1 (en) 2010-09-25 2011-03-25 Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions
JP2013520950A JP5490320B2 (ja) 2010-09-25 2011-03-25 Turbo符号並行インターリーバ及びその並行インターリーブ方法
PCT/CN2011/072187 WO2012037807A1 (zh) 2010-09-25 2011-03-25 Turbo码并行交织器及其并行交织方法
US13/825,886 US9048877B2 (en) 2010-09-25 2011-03-25 Turbo code parallel interleaver and parallel interleaving method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010293964.1A CN102412850B (zh) 2010-09-25 2010-09-25 Turbo码并行交织器及其并行交织方法

Publications (2)

Publication Number Publication Date
CN102412850A CN102412850A (zh) 2012-04-11
CN102412850B true CN102412850B (zh) 2014-02-05

Family

ID=45873415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010293964.1A Active CN102412850B (zh) 2010-09-25 2010-09-25 Turbo码并行交织器及其并行交织方法

Country Status (5)

Country Link
US (1) US9048877B2 (zh)
EP (1) EP2621091B1 (zh)
JP (1) JP5490320B2 (zh)
CN (1) CN102412850B (zh)
WO (1) WO2012037807A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905067B (zh) * 2012-12-27 2018-05-11 中兴通讯股份有限公司 多模译码器实现方法及装置
CN103236903B (zh) * 2013-04-19 2015-11-18 中国科学院自动化研究所 一种改变数据序列顺序的装置
CN104753653B (zh) * 2013-12-31 2019-07-12 中兴通讯股份有限公司 一种解速率匹配的方法、装置和接收侧设备
CN103888224B (zh) * 2014-04-04 2017-05-10 中国科学院自动化研究所 一种用于LTE系统Turbo码内交织的并行实现方法及装置
CN105306076A (zh) 2014-06-30 2016-02-03 深圳市中兴微电子技术有限公司 一种基于MAP算法的Turbo译码方法及装置
US10404284B1 (en) * 2015-07-21 2019-09-03 L-3 Communications Corp. Parallel-to-parallel conversion and reordering of a block of data elements
CN107508604A (zh) * 2017-07-13 2017-12-22 中国电子科技集团公司第七研究所 一种Turbo码并行RP交织方法及并行RP交织器
US10963256B2 (en) 2018-09-28 2021-03-30 Intel Corporation Systems and methods for performing instructions to transform matrices into row-interleaved format
CN111478750B (zh) * 2020-03-12 2022-10-14 普联技术有限公司 一种数据并行交织方法、终端设备及计算机存储介质
CN112751572B (zh) * 2021-01-07 2023-03-14 西安电子科技大学 四路并行LTE基4Turbo交织地址生成方法
CN114337927A (zh) * 2021-12-31 2022-04-12 Oppo广东移动通信有限公司 解码方法、装置、设备、存储介质、程序产品及通信芯片

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855735A (zh) * 2005-04-27 2006-11-01 华为技术有限公司 Turbo码交织地址的计算方法和装置
CN101707490A (zh) * 2009-09-22 2010-05-12 重庆重邮信科通信技术有限公司 并行Turbo码内交织方法
US7734989B2 (en) * 2003-12-11 2010-06-08 Freescale Semiconductor, Inc. Multi-standard turbo interleaver using tables

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1083660A1 (en) * 1999-02-09 2001-03-14 Sony Corporation Data transmission system, data receiver, and data transmitting method
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
KR100628201B1 (ko) * 2000-10-16 2006-09-26 엘지전자 주식회사 터보 디코딩 방법
EP1850486A4 (en) * 2005-02-03 2008-05-07 Matsushita Electric Ind Co Ltd PARALLEL INTERLACER, PARALLEL DISINTERLACER AND INTERLACING METHOD
US8140932B2 (en) * 2007-11-26 2012-03-20 Motorola Mobility, Inc. Data interleaving circuit and method for vectorized turbo decoder
US20090274248A1 (en) * 2008-05-01 2009-11-05 Interdigital Patent Holdings, Inc. Method and apparatus for contention-free interleaving using a single memory
GB2463011B (en) * 2008-08-26 2010-12-29 Toshiba Res Europ Ltd A data decoding device and method
US8719658B2 (en) * 2010-09-09 2014-05-06 Qualcomm Incorporated Accessing memory during parallel turbo decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734989B2 (en) * 2003-12-11 2010-06-08 Freescale Semiconductor, Inc. Multi-standard turbo interleaver using tables
CN1855735A (zh) * 2005-04-27 2006-11-01 华为技术有限公司 Turbo码交织地址的计算方法和装置
CN101707490A (zh) * 2009-09-22 2010-05-12 重庆重邮信科通信技术有限公司 并行Turbo码内交织方法

Also Published As

Publication number Publication date
CN102412850A (zh) 2012-04-11
EP2621091A1 (en) 2013-07-31
EP2621091A4 (en) 2015-04-08
EP2621091B1 (en) 2017-09-06
JP2013532924A (ja) 2013-08-19
WO2012037807A1 (zh) 2012-03-29
US20130198592A1 (en) 2013-08-01
JP5490320B2 (ja) 2014-05-14
US9048877B2 (en) 2015-06-02

Similar Documents

Publication Publication Date Title
CN102412850B (zh) Turbo码并行交织器及其并行交织方法
CN1836394B (zh) 在移动通信系统中编码/解码分块低密度奇偶校验码的装置和方法
CN111162797B (zh) 一种速率兼容的5g ldpc码的编码装置及编码方法
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
KR20030005322A (ko) 레이턴시를 줄인 siso 모듈
Lee et al. A flexible hardware encoder for low-density parity-check codes
JP2002532941A (ja) 線形合同シーケンスを使用するターボコードインタリーバ
JP5840741B2 (ja) 複数のコード・タイプをプログラマブル復号する方法および装置
CN104092470B (zh) 一种Turbo码译码装置及方法
CN105634508A (zh) 一种低复杂度近性能限的Turbo译码器的实现方法
Zhu et al. Backward interpolation architecture for algebraic soft-decision Reed–Solomon decoding
CN102340320A (zh) 卷积Turbo码双向并行译码方法
CN1731686A (zh) 一种维特比译码器及用于维特比译码器的加比选单元电路
US9065482B1 (en) Circuit for forward error correction encoding of data blocks
CN103986557A (zh) 低路径延迟的LTE Turbo码并行分块译码方法
CN101350626B (zh) 一种Turbo码编码装置及方法
CN1328386A (zh) 并行滑动窗最大后验概率算法及其高速Turbo码译码器
US9048866B2 (en) Apparatus and method for checking decoded data, apparatus and method for decoding, and receiving terminal
Dong et al. Design and FPGA implementation of stochastic turbo decoder
Briffa Interleavers for turbo codes
CN103888224A (zh) 一种用于LTE系统Turbo码内交织的并行实现方法及装置
CN101924566B (zh) 用于长期演进的Turbo编码方法和Turbo编码器
CN116318184B (zh) 一种pbch极化码编码系统
US8291291B1 (en) Data resequencing
CN101373977A (zh) 并行最大后验概率译码交织去交织的装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221107

Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 No. 55 South Science and technology road, Shenzhen, Guangdong, Nanshan District

Patentee before: ZTE Corp.

TR01 Transfer of patent right