CN101924566B - 用于长期演进的Turbo编码方法和Turbo编码器 - Google Patents

用于长期演进的Turbo编码方法和Turbo编码器 Download PDF

Info

Publication number
CN101924566B
CN101924566B CN 200910149018 CN200910149018A CN101924566B CN 101924566 B CN101924566 B CN 101924566B CN 200910149018 CN200910149018 CN 200910149018 CN 200910149018 A CN200910149018 A CN 200910149018A CN 101924566 B CN101924566 B CN 101924566B
Authority
CN
China
Prior art keywords
mod
turbo
output signal
input signal
turbo encoder
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
CN 200910149018
Other languages
English (en)
Other versions
CN101924566A (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 CN 200910149018 priority Critical patent/CN101924566B/zh
Priority to PCT/CN2010/071292 priority patent/WO2010142160A1/zh
Publication of CN101924566A publication Critical patent/CN101924566A/zh
Application granted granted Critical
Publication of CN101924566B publication Critical patent/CN101924566B/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/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/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
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA

Landscapes

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

Abstract

本发明提供了一种用于长期演进的Turbo编码方法,包括以下步骤:对输入信号ci进行编码,得到Turbo编码器的第一路输出信号和第二路输出信号,其中i=0,1,…,K-1,K为输入信号序列长度;由П(i+1)=mod((П(i)+mod((h1(K)+mod(h2(K)×i,K)),K)),K)求得序列П(i),其中,从函数表中根据K检索h1(K)和h2(K),П(0)为预设值;计算内部交织输出信号c′i=cП(i);对c′i进行编码,得到Turbo编码器的第三路输出信号。本发明采用纯加法器电路克服了相关技术中Turbo编码内交织实现的传统方法需要采用大量乘法器以完成乘、加和求模运算,而存在计算量较大、效率较低的问题,进而简化了硬件实现结构,减小了Turbo编码的计算量,提高了Turbo编码效率。

Description

用于长期演进的Turbo编码方法和Turbo编码器
技术领域
本发明涉及通信领域,具体而言,涉及一种用于长期演进的Turbo编码器和Turbo编码方法。
背景技术
3GPP(3rd Generation Partnership Project,第三代合作伙伴计划)LTE(Long Term Evolution,长期演进)标准是通讯业的一场技术革命,将是下一代移动通讯的标准。它为实时业务、高可靠性业务和广播业务都提供了良好的支持,可实现数据的低时延、全分组和高数据率等目标。
Turbo码由C.Berrou,A.Glavieux和P.Thitimajshiwa三人于1993年首次在ICC(The International Chamber of Commerce,国际商会)国际会议上提出的一种全新编码方式,由于其具有优越的抗误码及抗误块能力,所以立刻受到全球通信及信息相关研究人员的广泛关注。目前,Turbo码已被多个通信标准化组织采用,写入其发布的相关通信标准之中,前不久发布的3GPP LTE TS 36.2132V8.5.0协议也不例外地采用了该编码方式。在该协议中,Turbo编码器的输出有三路,如下:
d k ( 0 ) = x k = c k d k ( 1 ) = z k d k ( 2 ) = z k ′ ( k = 0 , · · · , D - 1 ) , - - - ( 1 )
其中,ck为编码器的输入,D为编码后的信号码块长度,其与输入信号码块序列长度K的关系为:D=K+4。图1示出了采用3GPP LTE TS 36.2132V8.5.0协议的1/3编码速率Turbo编码器的结构图,由于Turbo编码为并行级联卷积编码方案,故上述Turbo编码器包括两个8状态的成员编码器(Constituent Encoder)和一个内部交织器(Internal Interleaver),且编码速率(即编码器的输入与输出之比)为1/3。如图1所示,第一个成员编码器对输入信号ck进行编码,得到Turbo编码的第一路输出信号xk和第二路输出信号zk,第二个成员编码器对内部交织器的输出信号c′k进行编码,得到Turbo编码的第三路输出信号z′k
成员编码器的传递函数为:
G ( D ) = [ 1 , g 1 ( D ) g 0 ( D ) ] , - - - ( 2 )
其中, g 0 ( D ) = 1 + D 2 + D 3 g 1 ( D ) = 1 + D + D 3 , 且成员编码器的移位寄存器初始值为零。
若是第0个码块且填充比特数F>0,则设置编码器的输入端为ck=0(k=0,…,F-1),并设置其输出端为 d k ( 0 ) = Null ( k = 0 , · · · , F - 1 ) d k ( 1 ) = Null ( k = 0 , · · · , F - 1 ) .
栅格终止是在所有信息比特编码后,将成员编码器的移位寄存器反馈的12个尾比特附加到编码器输出的信息比特之后。前3个尾比特被用来终止第一个成员编码器,此时第二个成员编码器被去激活,对应于图1中的开关K1与下端触头接通的情况;后3个尾比特被用来终止第二个成员编码器,此时第一个成员编码器被去激活,对应于图1中的开关K2与下端触头接通的情况。
12个尾比特按每路4个尾比特分别被附加至三路编码输出的信息比特尾部之后,式(1)变为如下形式:
d K ( 0 ) = x K , d K + 1 ( 0 ) = z K + 1 , d K + 2 ( 0 ) = x K ′ , d K + 3 ( 0 ) = z K + 1 ′ d K ( 1 ) = z K , d K + 1 ( 1 ) = x K + 2 , d K + 2 ( 1 ) = z K ′ , d K + 3 ( 1 ) = x K + 2 ′ d K ( 2 ) = x K + 1 , d K + 1 ( 2 ) = z K + 2 , d K + 2 ( 2 ) = x K + 1 ′ , d K + 3 ( 2 ) = z K + 2 ′ . - - - ( 3 )
除了上述成员编码器,Turbo码编码器内还有一个内部交织器,此交织器是Turbo码编码器性能优越的关键所在。通常,交织器可分为两类,一类是随机交织,另一类是确定性交织。理论上来讲随机交织性能是最优的,但是由于随机交织在译码的时候需要将全部交织器信息传送到解码器,因而占用了系统带宽,降低了编码及传输效率,不太适宜实际应用。确定性交织是指收发双方均可预先知晓交织方案,故不需要收发双方交互交织方式信息,因而具有较高的编码及传输效率,适合在移动通信系统中使用。在3GPP LTE协议中内部交织器采用了不同于其他标准的一种特殊交织方式,设Turbo编码内部交织器的输入为c0,c1,c2,c3,...,cK-1,其中40≤K≤6144,输出记为c′0,c′1,...,c′K-1,输入与输出之间满足以下关系:
c′i=c∏(i),(4)
其中,i=0,1,…,K-1,且有
∏(i)=mod(f1×i+f2×i2,K),(5)
参数f1和f2的取值随K值的变化而变化,其对应关系如表1所示,其中j为将K在40≤K≤6144范围内的不同取值由小到大排列的序号。
表1Turbo编码器的内部交织参数
  j   K   f1   f2   j   K   f1   f2   j   K   f1   f2   j   K   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
相关技术中提供了一种用于长期演进的Turbo编码方法,该方法首先根据K值查询表1,得到对应的f1和f2,然后带入(4)式和(5)式中,经过乘、加和求模等运算,得到输出c′i
在实现本发明过程中,发明人发现相关技术中用于长期演进的Turbo编码方法需要采用乘法器以完成大量乘、加和求模运算,存在计算量较大、效率较低的问题。
发明内容
本发明旨在提供一种用于长期演进的Turbo编码方法和Turbo编码器,能够解决相关技术中码内交织方法需要采用大量乘法器以完成乘、加和求模运算,而存在计算量较大、效率较低的问题。
在本发明的实施例中,提供了一种用于长期演进的Turbo编码方法,包括以下步骤:对输入信号ci进行编码,得到Turbo编码器的第一路输出信号和第二路输出信号,其中i=0,1,…,K-1,K为输入信号序列长度;由∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×i,K)),K)),K)求得序列∏(i),其中,从函数表中根据K检索h1(K)和h2(K),∏(0)为预设值;计算内部交织输出信号c′i=c∏(i);对c′i进行编码,得到Turbo编码器的第三路输出信号。
在本发明的另一实施例中,还提供了一种用于长期演进的Turbo编码器,包括:第一成员编码模块,用于对输入信号ci进行编码,得到Turbo编码器的第一路输出信号和第二路输出信号,其中i=0,1,…,K-1,K为输入信号序列长度;内部交织模块,用于对输入信号ci进行交织,得到内部交织模块的输出信号c′i,内部交织模块具体包括:递推单元,用于由∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×i,K)),K)),K)求得序列∏(i),其中,h1(K)和h2(K)通过从函数表中根据K检索得到,∏(0)为预设值;计算单元,用于计算c′i=c∏(i);第二成员编码模块,用于对c′i进行编码,得到Turbo编码器的第三路输出信号。
因为采用递推方法进行码内交织,故Turbo编码方法中仅使用加法器即可,所以克服了相关技术中Turbo编码方法需要采用大量乘法器以完成乘、加和求模运算,而存在计算量较大、效率较低的问题,进而简化了硬件实现结构,减小了Turbo编码的计算量,提高了Turbo编码效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了相关技术中1/3速率Turbo编码器的结构图;
图2示出了根据本发明一个实施例的Turbo编码方法的流程图;
图3示出了根据本发明另一实施例的Turbo编码方法的递推示意图;
图4示出了根据本发明另一实施例的Turbo编码器的结构图;
图5示出了根据本发明另一实施例的内部交织模块的结构图;
图6示出了根据本发明另一实施例的Turbo编码过程的时序图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图2示出了根据本发明一个实施例的用于长期演进的Turbo编码方法的流程图,该方法包括以下步骤:
步骤S10,对输入信号ci进行编码,得到Turbo编码器的第一路输出信号和第二路输出信号,其中i=0,1,…,K-1,K为输入信号序列长度;
步骤S20,由∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×i,K)),K)),K)求得序列∏(i),其中,从函数表中根据K检索h1(K)和h2(K),∏(0)为预设值;
步骤S30,计算内部交织输出信号c′i=c∏(i)
步骤S40,对c′i进行编码,得到Turbo编码器的第三路输出信号。
本实施例通过采用递推函数来得到序列∏(i),进而得到内部交织输出信号c′i=c∏(i),以完成Turbo编码的内部交织过程,再通过对c′i进行编码,得到Turbo编码器的第三路输出信号,加上对输入信号ci进行编码得到的第一路输出信号和第二路输出信号,完成了Turbo编码。由于递推方法进使用加法器即可实现,所以本实施例克服了相关技术中Turbo编码方法需要采用乘法器以完成大量乘、加和求模运算,而存在计算量较大、效率较低的问题,进而减小了Turbo编码的计算量,提高了Turbo编码效率。
优选地,该Turbo编码方法还包括预先建立函数表的步骤:计算h1(K)=mod(f1+f2,K)和h2(K)=mod(2f2,K),其中参数f1、f2与K的映射关系预存于参数表中。
前述表1示出了参数f1和f2与K的映射关系,可得到参数f1和f2可由K值唯一确定。根据表1建立参数表。
结合上述(5)式,当i=k时,有:
∏(k)=mod(f1×k+f2×k2,K),(6)
当i=k+1时,经过如下推导过程:
∏(k+1)=mod(f1×(k+1)+f2×(k+1)2,K)
=mod((f1×k+f1+f2×k2+2f2×k+f2),K)
=mod((mod(f1×k+f2×k2,K)+mod(f1+f2,K)+mod(2f2×k,K)),K),
=mod((∏(k)+mod(f1+f2,K)+mod(2f2×k,K)),K)
=mod((∏(k)+mod((mod(f1+f2,K)+mod(2f2×k,K)),K)),K)
=mod((∏(k)+mod((mod(f1+f2,K)+mod(mod(2f2,K)×k,K)),K)),K)
可得∏(k+1)与(∏(k)的递推关系如下:
∏(k+1)=mod((∏(k)+mod((mod(f1+f2,K)+mod(mod(2f2,K)×k,K)),K)),K)。(7)
(7)式中的mod(f1+f2,K)和mod(2f2,K)均可视为以K为变量的函数,令h1(K)=mod(f1+f2,K),h2(K)=mod(2f2,K),此时,由(7)式可得到:
∏(k+1)=mod((∏(k)+mod((h1(K)+mod(h2(K)×k,K)),K)),K)。(8)
同时由于K的可能取值为已知,所以可预先建立函数表,在该函数表中记录K的多个可能取值对应的h1(K)=mod(f1+f2,K)和h2(K)=mod(2f2,K)函数值,而h2(K)×k可采用加法器累加即可得到,无需使用乘法器。这样一来,根据K值直接检索函数表,即可得到当前K值的h1(K)和h2(K)函数值,再结合初值∏(0)=0,即得到∏(1),同理可得∏(2),∏(3),......,∏(K-1)。本实施例仅利用加法器即可实现递推过程,以求得∏(i),i=0,1,…,K-1。
例如当K=40,∏(0)=0时,由参数表可查询得到f1=3,f2=10,故f1+f2=13,2f2=20,进而可递推得到:
∏(0)=0
∏(1)=mod((∏(0)+mod((13+20×0),40)),40)=13
∏(2)=mod((∏(1)+mod((13+20×1),40)),40)=6
∏(3)=mod((∏(2)+mod((13+20×2),40)),40)=19
优选地,预先在BRAM中保存其他取值的初值。在Turbo码的内交织中,初值一般从0开始递推,即∏(0)=0,但考虑到以后的解码实现的方便,也可根据初值的不同而把其他取值的初值预存在BRAM中。
图3示出了根据本发明另一实施例的Turbo编码方法的递推示意图,该递推过程基于式(8),首先将2f2进行累加得到A,计算该累加值和K的差值B,通过判断B的符号位来选择输出A或者B;然后将选择的值分别和mod(f1+f2,K)、mod(f1+f2,K)-K的值相加得到C和D,通过判断D的符号位来决定E的值是选择输出C或者D;最后将E的值进行累加得到F,且计算进行累加后的值减去K的值G,通过判断G的符号位来决定输出的值是选择输出F或者G。
图4示出了根据本发明另一实施例的用于长期演进的Turbo编码器的结构图,包括:
第一成员编码模块10,用于对输入信号ci进行编码,得到Turbo编码器的第一路输出信号和第二路输出信号,其中i=0,1,…,K-1,K为输入信号序列长度;
内部交织模块20,用于对输入信号ci进行交织,得到内部交织模块的输出信号c′i,内部交织模块具体包括:递推单元201,用于由∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×i,K)),K)),K)求得序列∏(i),其中,h1(K)和h2(K)通过从函数表中根据K检索得到,∏(0)为预设值;计算单元(Turbo_interleaver_cal)202,用于计算c′i=c∏(i)
第二成员编码模块30,用于对c′i进行编码,得到Turbo编码器的第三路输出信号。
本实施例首先通过采用第一成员编码模块10对输入信号ci进行编码得到Turbo编码器的第一路输出信号和第二路输出信号,然后通过采用内部交织模块20中的递推单元201由递推公式得到序列∏(i),再通过采用内部交织模块20中的计算单元202根据∏(i)和ci计算c′i=c∏(i),得到内部交织输出信号c′i,其中计算单元202为Turbo编码器的核心单元,最后通过采用第二成员编码模块30对c′i进行编码,进而得到Turbo编码器的第三路输出信号。由于递推方法进使用加法器即可实现,所以本实施例克服了相关技术中Turbo编码方法需要采用乘法器以完成大量乘、加和求模运算,而存在计算量较大、效率较低的问题,进而简化了硬件实现结构,减小了Turbo编码的计算量,提高了Turbo编码效率。
优选地,该Turbo编码器中的内部交织模块20还包括外部控制单元203,用于向递推单元201提供K值。
本实施例中采用外部控制单元203给出输入信号序列长度K的当前值。由于外部控制单元可通过接口与外设连接,故使得K值的获取方式更加灵活。
优选地,在该Turbo编码器中,外部控制单元203还用于输出内部交织模块的启动信号rfd。
本实施例中采用外部控制单元向内部交织模块输出启动信号,该启动信号可为脉冲信号。由易于与外设连接的外部控制单元来控制内部交织模块的启动,使得内部交织模块的启动方式更为灵活,比如利用外设来触发启动,或利用人工干预的方式来强制启动等。
图5示出了根据本发明另一实施例的内部交织模块的结构图,该Turbo编码器中的内部交织模块20还包括内部控制单元(Turbo_interleaver_ctrl)204,用于控制内部交织模块的交织过程的开始和结束。
本实施例中的内部控制单元204产生控制信号对交织过程的开始和结束进行控制,比如可利用启动脉冲信号rfd产生如下的控制信号:时序信号、交织状态使能信号state_interleaver和交织计数器interleaver_cnt,以完成对交织过程的开始的控制。计算单元202根据时序信号的要求完成递推运算,得到交织后数据的读地址信号和读使能信号。本实施例的技术方案使得交织过程进行得更加有序。
优选地,该Turbo编码器中的内部控制单元204,还用于在交织过程结束时,将c′i送至第二成员编码模块进行编码。
本实施例中的内部控制单元在交织过程结束,即计算单元202完成计算时,产生输出地址数据使能信号y_mem_en和输出地址结束信号y_addr_gen_done,以指示计算结束,并利用信号延迟产生交织后地址的输出使能信号,将计算结果c′i送至第二成员编码模块30的数据存储器参与交织后的Turbo编码。由内部控制模块统一向第二成员编码模块30输出交织计算结果,使得Turbo编码更加有序,降低了故障率。
如图5所示,该Turbo编码器中的内部交织模块20还包括:函数表单元205,用于存储K多个取值的h1(K)=mod(f1+f2,K)和h2(K)=mod(2f2,K)函数表,其中,f1、f2为参数;参数表单元,用于存储f1、f2与K的映射关系。
本实施例中利用函数表单元205存储K多个取值的h1(K)=mod(f1+f2,K)和h2(K)=mod(2f2,K)函数表,并利用参数表单元,存储f1、f2与K的映射关系。这样做,便于递推单元201对h1(K)=mod(f1+f2,K)和h2(K)=mod(2f2,K)函数值进行检索。
例如,f1_add_f2_mod_k mem为函数h1(K)=mod(f1+f2,K)的数据存储器,为单口ROM,由表1可知,f1+f2的最大值的位宽为10bits,故将其位宽定义为10,深度由表1中K的取值个数188决定。计算h1(K)=mod(f1+f2,K)的函数值并预先存储在f1_add_f2_mod_k mem2051中。类似地,函数h2(K)=mod(2f2,K)的数据存储器twof2_mod_kmem 2052的位宽定义为11bits,深度为188。
如图5所示,该Turbo编码器的计算单元202具体包括:读地址计算子单元2021,用于计算对ci进行读取的读地址;输入信号乒子单元2022和输入信号乓子单元2023,用于根据读地址对输入信号ci进行乒乓操作,得到c′i。本实施例中首先采用读地址计算子单元2021计算得到对存储在输入信号乒子单元2022和输入信号乓子单元2023中的ci进行读取的读地址,然后采用输入信号乒子单元2022和输入信号乓子单元2023根据计算得到的读地址对输入信号ci进行乒乓读取操作,得到c′i
输入信号乒子单元2022和输入信号乓子单元2023中存储有ci,i=0,1,…,K-1,读地址计算子单元2021计算得到的读地址依次对应于c∏(0),c∏(1),c∏(2),......,c∏(K-1),即得到内部交织模块的输出信号c′0,c′1,c′2,......,c′K-1依次为c∏(0),c∏(1),c∏(2),......,c∏(K-1)
输入信号乒子单元为Turbo编码过程中采用乒乓操作进行数据存储中的一个,其存储的为输入信号,为双口的同步RAM。该双口RAM由a口写入,b口读出,a、b口的位宽均为1bit,深度为LTE Turbo编码中规定的最大码块长度6144,即K的最大值。同理,因为是乒乓操作,输入信号乓子单元和输入信号乒子单元结构完全一样。这样做,实现了对输入信号的无缝缓冲与处理,节约了输入信号的缓冲区空间。
如图5所示,在该Turbo编码器中,递推单元201具体包括:读取子单元2011,用于从函数表中根据K检索并读取h1(K)和h2(K)函数值;递推求解子单元2012,用于根据∏(0)、h1(K)和h2(K)函数值以及∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×k,K)),K)),K)求得∏(i)。
本实施例中的读取子单元2011产生函数表单元的读地址和读使能,实现从函数表中根据K检索并读取h1(K)和h2(K)函数值,并送入内交织计算模块进行运算,还采用递推求解子单元根据∏(0)、h1(K)和h2(K)函数值以及∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×k,K)),K)),K)求得∏(i)。这样直接读取常用函数值h1(K)和h2(K),并采用递推公式的方案加快了Turbo编码速度,提高了Turbo编码效率。
本发明上述的实施例的Turbo编码器结构清晰,采用通用的低成本电路器件即可实现,能够大幅度提高LTE Turbo编码器的内部交织模块性能,内交织频率可达到260MHz,而且实现方式简单,可灵活地应用于LTE基带处理中,以低成本实现高效率的Turbo编码。
下面结合图5来详细说明本发明的另一实施例,该实施例为LTE基站的数字基带处理系统芯片项目,其中在下行比特级处理模块中K=5056。本实施例将包含大量乘、加和求模运算的复杂的Turbo编码内交织过程转化为简单的加法和减法递推的交织过程。支持的码块大小K介于40和6144之间。具体工作步骤如下:
步骤一,根据启动信号和码块大小K=5056,读取子单元进行运算产生函数表的读地址为170和读使能信号,得到函数值f1_add_f2_mod_k=197和two_f2_mod_k=316;
步骤二,由启动信号和码块大小K=5056,内部控制单元产生有效周期为5056的输出使能信号y_mem_en、内交织计算使能信号state_interleaver和交织地址输出结束信号y_addr_gen_done等控制信号;
步骤三,将函数值f1_add_f2_mod_k和two_f2_mod_k,以及上述控制信号送入计算单元进行计算,具体包括以下几步:
第一步,递推的过程中首先计算two_f2_mod_k进行累加的值,得到结果temp1_two_f2_mod_k,累加的结果不能超过码块大小5056,如果大于5056则要减去5056求余;
第二步,然后用累加的结果加上f1_add_f2的值得到结果temp1_two_f2_mod_k_add_f1_add_f2,同样该结果不能超过码块大小5056,如果大于5056则要减去5056求余;
第三步,将第二步计算结果值和其减去5056的值通过一拍保存下来;最后将第三步产生的值和输出原始地址(因为从0开始累加,所以初始地址为0)进行累加,得到我们想要的交织后的地址,同样,该结果不能超过码块大小5056,如果大于5056则要减去5056求余,该实施例采用pipeline进行运算每个节拍产生一个,整个计算过程需要5056+6个时钟周期,图6示出了该过程的时序图;
步骤四,将步骤三中的交织地址y_addr和输出使能y_mem_en作为码块数据mem的读地址信号和读使能信号,读出交织后的码块数据。在该实施例中,为加快数据的吞吐量,数据存储采用乒乓结构,取哪个mem中的值由码块号来确定。具体可以操作机制由外围控制电路决定;
步骤五,伴随着最后一个读地址的产生和y_addr_gen_done信号的产生,该实施例结束。
从以上的描述中,可以看出,本发明上述的实施例简化了硬件实现结构,减小了Turbo编码的计算量,提高了Turbo编码效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种用于长期演进的Turbo编码方法,其特征在于,包括以下步骤:
对输入信号ci进行编码,得到Turbo编码器的第一路输出信号和第二路输出信号,其中i=0,1,…,K-1,K为输入信号序列长度;
由∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×i,K)),K)),K)求得序列∏(i),其中,从函数表中根据K检索h1(K)和h2(K),∏(0)为预设值;
计算内部交织输出信号c′i=c∏(i)
对c′i进行编码,得到所述Turbo编码器的第三路输出信号;
其中,预先建立所述函数表的步骤包括:计算h1(K)=mod(f1+f2,K)和h2(K)=mod(2f2,K),其中参数f1、f2与K的映射关系预存于参数表中。
2.一种用于长期演进的Turbo编码器,其特征在于,包括:
第一成员编码模块,用于对输入信号ci进行编码,得到所述Turbo编码器的第一路输出信号和第二路输出信号,其中i=0,1,…,K-1,K为输入信号序列长度;
内部交织模块,用于对所述输入信号ci进行交织,得到所述内部交织模块的输出信号c′i,所述内部交织模块具体包括:
递推单元,用于由∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×i,K)),K)),K)求得序列∏(i),其中,h1(K)和h2(K)通过从函数表中根据K检索得到,∏(0)为预设值;
计算单元,用于计算c′i=c∏(i)
第二成员编码模块,用于对c′i进行编码,得到所述Turbo编码器的第三路输出信号;
其中,所述内部交织模块还包括:
函数表单元,用于存储K多个取值的h1(K)=mod(f1+f2,K)和h2(K)=mod(2f2,K)函数表,其中,f1、f2为参数;
参数表单元,用于存储f1、f2与K的映射关系。
3.根据权利要求2所述的Turbo编码器,其特征在于,所述内部交织模块还包括外部控制单元,用于向所述递推单元提供K值。
4.根据权利要求3所述的Turbo编码器,其特征在于,所述外部控制单元,还用于输出所述内部交织模块的启动信号。
5.根据权利要求2所述的Turbo编码器,其特征在于,所述内部交织模块还包括内部控制单元,用于控制所述内部交织模块中交织过程的开始和结束。
6.根据权利要求5所述的Turbo编码器,其特征在于,所述内部控制单元,还用于在所述交织过程结束时,将c′i送至所述第二成员编码模块进行编码。
7.根据权利要求2所述的Turbo编码器,其特征在于,所述计算单元具体包括:
读地址计算子单元,用于计算对ci进行读取的读地址;
输入信号乒子单元和输入信号乓子单元,用于根据所述读地址对所述输入信号ci进行乒乓读取操作,得到c′i
8.根据权利要求2所述的Turbo编码器,其特征在于,所述递推单元具体包括:
读取子单元,用于从函数表中根据K检索并读取h1(K)和h2(K)函数值;
递推求解子单元,用于根据∏(0)、h1(K)和h2(K)函数值以及∏(i+1)=mod((∏(i)+mod((h1(K)+mod(h2(K)×k,K)),K)),K)求得∏(i)。
CN 200910149018 2009-06-11 2009-06-11 用于长期演进的Turbo编码方法和Turbo编码器 Active CN101924566B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200910149018 CN101924566B (zh) 2009-06-11 2009-06-11 用于长期演进的Turbo编码方法和Turbo编码器
PCT/CN2010/071292 WO2010142160A1 (zh) 2009-06-11 2010-03-25 用于长期演进的turbo编码方法和turbo编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910149018 CN101924566B (zh) 2009-06-11 2009-06-11 用于长期演进的Turbo编码方法和Turbo编码器

Publications (2)

Publication Number Publication Date
CN101924566A CN101924566A (zh) 2010-12-22
CN101924566B true CN101924566B (zh) 2013-01-16

Family

ID=43308402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910149018 Active CN101924566B (zh) 2009-06-11 2009-06-11 用于长期演进的Turbo编码方法和Turbo编码器

Country Status (2)

Country Link
CN (1) CN101924566B (zh)
WO (1) WO2010142160A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594371B (zh) * 2011-01-18 2015-09-02 中兴通讯股份有限公司 一种Turbo编码交织处理的方法及装置
CN106817198A (zh) * 2017-01-03 2017-06-09 中国科学院微电子研究所 适用于LTE系统中Turbo译码的交织解交织方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862972A (zh) * 2005-05-10 2006-11-15 华为技术有限公司 Turbo编码方法及编码装置
CN1983827A (zh) * 2006-04-25 2007-06-20 华为技术有限公司 分量编码器及其编码方法和双输入Turbo编码器及其编码方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904265B2 (en) * 2007-05-02 2014-12-02 Broadcom Corporation Optimal period rate matching for turbo coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862972A (zh) * 2005-05-10 2006-11-15 华为技术有限公司 Turbo编码方法及编码装置
CN1983827A (zh) * 2006-04-25 2007-06-20 华为技术有限公司 分量编码器及其编码方法和双输入Turbo编码器及其编码方法

Also Published As

Publication number Publication date
WO2010142160A1 (zh) 2010-12-16
CN101924566A (zh) 2010-12-22

Similar Documents

Publication Publication Date Title
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
CN102412850B (zh) Turbo码并行交织器及其并行交织方法
CN101636914A (zh) 用于编码和解码数据的方法和装置
CN101902228B (zh) 快速循环冗余校验编码方法及装置
CN101777926B (zh) 一种Turbo乘积码的通用译码器及其方法
CN104092470B (zh) 一种Turbo码译码装置及方法
CN103020018B (zh) 一种基于多维伪随机序列的压缩感知矩阵构造方法
CN105634508A (zh) 一种低复杂度近性能限的Turbo译码器的实现方法
CN101026439A (zh) 一种提高Turbo码译码速率的译码方法
CN110999095A (zh) 用于极化码的按块并行冻结位生成
CN100589327C (zh) 编码、解码方法及编码器、解码器
CN101969310B (zh) Turbo码并行译码器的QPP内交织器及其交织方法
CN112039535A (zh) 一种基于准循环生成矩阵的码率兼容ldpc编码器
CN100571046C (zh) 一种在SCDMA系统中实现Turbo编译码方案的装置和方法
CN101162908A (zh) 一种基于DVB-RCS标准的双二元Turbo码译码方法及译码器
CN101567696B (zh) 一种参数可变的bch码编码器及译码器
CN101924566B (zh) 用于长期演进的Turbo编码方法和Turbo编码器
CN102111163B (zh) Turbo编码器及编码方法
CN103986557A (zh) 低路径延迟的LTE Turbo码并行分块译码方法
CN101931453A (zh) 一种基于随机序列的用于交织多址系统的方法
CN111313910B (zh) 空间通信应用的低密度奇偶校验码编码器装置
CN101764621A (zh) 星载(8176,7156)ldpc编译码器中实现缩短码与子码兼容的方法
CN100581089C (zh) TD-SCDMA系统中的Woven卷积码纠错编、译码器
CN1988391A (zh) 运算电路
CN103546169A (zh) Fpga中实现3/4速率(2,1,7)卷积编码的方法

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20101222

Assignee: SANECHIPS TECHNOLOGY Co.,Ltd.

Assignor: ZTE Corp.

Contract record no.: 2015440020319

Denomination of invention: Turbo coding method and coder used for long term evolution

Granted publication date: 20130116

License type: Common License

Record date: 20151123

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221101

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.