CN100589329C - 一种双二进制ctc译码装置 - Google Patents

一种双二进制ctc译码装置 Download PDF

Info

Publication number
CN100589329C
CN100589329C CN200710130261A CN200710130261A CN100589329C CN 100589329 C CN100589329 C CN 100589329C CN 200710130261 A CN200710130261 A CN 200710130261A CN 200710130261 A CN200710130261 A CN 200710130261A CN 100589329 C CN100589329 C CN 100589329C
Authority
CN
China
Prior art keywords
decoding
module
output
ctc
input
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.)
Expired - Fee Related
Application number
CN200710130261A
Other languages
English (en)
Other versions
CN101098149A (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.)
ZTE Corp
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 CN200710130261A priority Critical patent/CN100589329C/zh
Publication of CN101098149A publication Critical patent/CN101098149A/zh
Application granted granted Critical
Publication of CN100589329C publication Critical patent/CN100589329C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种双二进制CTC译码装置,包括连接输入端的总体输入FIFO模块(31)、连接输出端的总体输出FIFO模块(32),并行级联的译码核心模块(1),通过输入端上的译码数据存储器(35)与所述总体输入FIFO模块连接并通过输出端上的译码核心模块输出FIFO(36)与所述总体输出FIFO模块连接;输入调度模块(33),控制连接所述译码数据存储器与所述总体输入FIFO模块之间的连接;输出调度模块(34),控制连接所述译码核心模块输出FIFO与所述总体输出FIFO模块之间的连接。这种装置结构可扩展,可根据译码吞吐量的要求增加译码核心模块数量,实现高速译码,满足IEEE标准要求。

Description

一种双二进制CTC译码装置
技术领域
本发明涉及移动通信领域,具体涉及一种双二进制CTC(卷积Turbo码)的译码装置。
背景技术
法国的C.Berrou等人提出了一种称为Turbo码的编码方案,使人们朝着编码性能的极限迈进了一大步。Turbo码是一种级联码,由两个卷积码并行级联而成。每个子编码器采用了反馈型的卷积码编码器,子编码器之间采用了交织器来消除子码间的相关性。同时,Turbo码的译码部分采用了软输入和软输出的译码算法和迭代译码的方法,使子译码器间可以相互传递信息,保证编码信息的充分利用。两次编码输出序列越不相关,在译码端交换的信息量就越大。
Turbo码译码算法要求编码器的终止状态已知,最简单的方法是令所有的分量码的编码器的终止状态为零。在以卷积码为分量码的情况下,同时使得两个分量码编码器归零非常困难,通常采用额外的结尾比特使得第一个分量码归零,而不考虑第二个分量码的结束状态,WCDMA采用了这种方式,cdma2000两个分量都使用了结尾比特。序列较短时,这种处理方法降低了编码效率,对译码的性能也有一定的影响。为了解决这个问题,C.Berrou提出了基于咬尾tailbiting卷积码的Turbo码,这种编码方式解决了传统Turbo码的两个子编码器的编码状态难以同时归零问题,并在码率较高、交织长度较小时比传统Turbo码取得了更好的性能,而且很好的克服分量码-卷积码的码率损失问题。由于在实际通信系统中,数据帧长常常在100-200之间,所以这种基于tailbiting卷积码的Turbo码将会有很好的应用前景。
WiMAX系统的CTC码是基于卷积码面向分组的双二进制Turbo码,适合短分组数据的传输,具有优于传统二进制turbo码的性能,尤其在非常低的比特误码率BER和高码率的时候更加明显。它的分量码是双二进制循环递归系统卷积码double binary Circular Recursive Convolutional Code,简称DB-CRSC。CTC码与传统的卷积码turbo码比较,相同之处在于它的分量码采用了递归系统码;不同之处在于它的分量码采用了双二进制码而不是二进制码,以及格栅终止策略采用了tailbiting的方法。
中国发明专利申请“基于软状态估计的非二进制循环Turbo码译码装置”,公开号CN1700605,该发明装置为单一CTC译码器,其算法结构如图1所示,包括软状态估计模块、分量译码器和交织/解交织,其单一CTC译码器结构使得CTC译码速率比较低,不能满足IEEE 802.16e标准对译码速率的要求。
另一方面,目前关于单二进制Turbo码的译码算法研究比较多,但对双二进制的CTC(卷积Turbo码)的译码算法研究得比较少,对于EnhancedMax-Log-APP定点译码算法公式,文献(Y.O.C.Mouhamedou,P.Guinand,P.Kabal.“Enhanced  Max-Log-APP and  Enhanced Log-APP Decoding forDVB-RCS”.Proc,Int.Symp.Turbo Codes(Brest,France),Sept.2003:pp.259-262)作者研究了用于DVB-RCS的Max-Log-APP译码算法,该针对双二进制卷积Turbo码的MAX-LOG-MAP译码算法使用了下面的表达式来实现:
分支度量:
γ ‾ t z ( s ′ , s ) ≡ ln γ t z ( s ′ , s ) = ln p ( y t | d t = z ) + ln p ( d t = z )
前向递推:
α ‾ t ( s ) = ln α t ( s ) = ln Σ s ′ ; ∀ z ∈ φ 0 e α ‾ t - 1 ( s ′ ) + γ ‾ t z ( s ′ , s )
α ‾ t ( s ) ≈ max s ′ ; ∀ z ∈ φ 0 ( α ‾ t - 1 ( s ′ ) + γ ‾ t z ( s ′ , s ) )
后向递推:
β ‾ t - 1 ( s ′ ) = ln β t - 1 ( s ′ ) = ln Σ s ; ∀ z ∈ φ 0 e β ‾ t ( s ) + γ ‾ t z ( s ′ , s )
β ‾ t - 1 ( s ′ ) ≈ max s ; ∀ z ∈ φ 0 ( β ‾ t ( s ) + γ ‾ t z ( s ′ , s ) )
输出比特似然比:
- max ( α ‾ t - 1 ( s ′ ) + γ ‾ t 00 ( s ′ , s ) + β ‾ t ( s ) )
但这种算法仍不太适合直接用于硬件实现。
发明内容
本发明需要解决的技术问题是提供一种双二进制CTC译码装置,可以提高译码速率,满足IEEE 802.16e标准对译码速率的要求。
本发明的上述第一个技术问题这样解决,提供一种双二进制卷积Turbo码译码装置,包括:
总体输入FIFO模块,与输入端连接,缓冲接收双二进制卷积Turbo码;
总体输出FIFO模块,与输出端连接,缓冲输出译码结果;
并行级联的译码核心模块,通过各自输入端上的双口RAM模块与所述总体输入FIFO模块连接并通过各自输出端上的译码核心模块输出FIFO与所述总体输出FIFO模块连接,进行卷积Turbo码译码;
输入调度模块,控制连接所述双口RAM模块与所述总体输入FIFO模块之间的连接,对所述二进制卷积Turbo码进行调度;
输出调度模块,控制连接所述译码核心模块输出FIFO与所述总体输出FIFO模块之间的连接,对所述译码结果进行调度。
这种多个级联的译码核心模块,能够提高译码速率。
按照本发明提供的译码装置,所述译码核心模块可以进一步采用发明人改进并提出的更适合于硬件直接实现的Enhanced MAX-LOG-MAP算法结构和流程:
(一)译码算法结构,如图1所示,其中符号约定是:
d:发送数据序列;
Figure C20071013026100064
译码器输出硬判决数据序列;
Ai,Bi,Y1i,W1i,Y2i,W2i:CTC编码器输出码字;
yS0,i,yS1,i yP00,i,yP01,i,yP10,i,yP11,i:信道输出码字;
z∈{01,10,11}:第一个分量码译码器输出比特似然比;
z∈{01,10,11}:第二个分量码译码器输出比特似然比;
L(z)(di),z∈{01,10,11}:发送数据序列的先验的对数似然比;
z∈{01,10,11}:接收系统符号的后验对数似然比;
Figure C20071013026100074
z∈{01,10,11}:第一个分量码译码器输出的外信息;
Figure C20071013026100075
z∈{01,10,11}:第二个分量码译码器输出的外信息;
SF:外信息修正因子常数;
uS1,k,uS0,k,uP1,k,uP0,k:编码器输入比特对为uS1,k,uS0,k(BPSK调制),编码状态s′跳变到s,编码器输出校验位uP1,k,uP0,k(BPSK调制)。
(二)Enhanced MAX-LOG-MAP算法简略流程:
在译码过程中,第一个分量码译码器输出的外信息
Figure C20071013026100076
经过交织以后得到
Figure C20071013026100077
作为第二个分量码译码器的先验信息,第二个分量码译码器输出的外信息经过解交织以后得到
Figure C20071013026100079
作为第二个分量码译码器的先验信息。在第一次迭代的时候,第一个分量码译码器的输入先验信息被初始化为0。第二个分量码译码器输出的比特似然比
Figure C200710130261000710
经过解交织后硬判决输出
Figure C200710130261000711
作为译码结果。
(三)Enhanced MAX-LOG-MAP算法:
①算法输入:
信道信息:yS1,i,yS0,i,yP1,i,yP0,i,(1≤i≤N)
先验信息:L(z)(di),z∈{01,10,11},(1≤i≤N)
状态度量初值:αinit(s),0≤s≤7,βinit(s),0≤s≤7
②算法输出:
后验信息:
Figure C200710130261000712
z∈{01,10,11},(1≤i≤N)
状态度量终值:α0(s),0≤s≤7,β0(s),0≤s≤7
③Enhanced MAX-LOG-MAP算法详细流程:
1.用状态度量初值初始化α0(s),β0(s):
fors=0,...,7
       α0(s)=αinit(s)
       β0(s)=βinit(s)
end
2.计算分支度量γk z(s′,s),其中uS1,k,uS0,k,uP1,k,uP0,k∈{+1,-1}for k=1,...,N
for z∈{00,01,10,11}
γ ‾ t z ( s ′ , s ) = ( y S 1 , k · u S 1 , k + y S 0 , k · u S 0 , k + y P 1 , k · u P 1 , k · u P 1 , k + y P 0 , k · u P 0 , k )
+ L ( z ) ( d k ) - max z ( L ( z ) ( d k ) )
   end
end
3.前向递推:计算αk(s)
for i=1,...,(N+WIN_SIZE)
        for s=0,...,7
               k=imod N
               k-1=(i-1)modN
α ‾ k ( s ) ≈ max s ′ ( α ‾ k - 1 ( s ′ ) + γ - k z ( s ′ , s ) )
          end
      end
4.反向递推:计算βk-1(s′)
for i=N-1,...,-WIN_SIZE
       for s′=0,...,7
                k-1=imodN
                k=(i+1)modN
β ‾ k - 1 ( s ′ ) ≈ max s ( β ‾ k ( s ) + γ ‾ k z ( s ′ , s ) )
           end
    end
5.计算输出比特似然比
for k=1,...,N
       for z∈{01,10,11}
L ( z ) ( d ^ k ) ≈ max ( s ′ , s ) ( α ‾ k - 1 ( s ′ ) + γ ‾ k z ( s ′ , s ) + β ‾ k ( s ) )
- max ( s ′ , s ) ( α ‾ k - 1 ( s ′ ) + γ - k 00 ( s ′ , s ) + β ‾ k ( s ) )
    end
end
6.输出比特似然比
Figure C20071013026100093
和α0(s),β0(s)终值。
(四)外信息计算算法:
按照下式计算
Figure C20071013026100094
其中SF=0.75:
for 1≤i≤N
       for z∈{01,10,11}
L e 1 ( z ) ( d ^ i ) = SF · ( L 1 ( z ) ( d ^ i ) - L ( z ) ( d i ) - L c 1 ( z ) ( d i ) )
= SF · ( L 1 ( z ) ( d ^ i ) - L eDel ( 2 z ) ( d ^ k ) - L c 1 ( z ) ( d i ) )
       end
end
按照下式计算
Figure C20071013026100097
其中SF=0.75:
for 1≤i≤N
       for z∈{01,10,11}
L e 2 ( z ) ( d ^ i ) = SF · ( L 2 ( z ) ( d ^ i ) - L ( z ) ( d i ) - L c 2 ( z ) ( d i ) )
= SF · ( L 2 ( z ) ( d ^ i ) - L eDel ( 1 z ) ( d ^ k ) - L c 2 ( z ) ( d i ) )
       end
end
Lc 1(z)(di)等于
Figure C200710130261000910
Lc 2(z)(di)等于经过交织以后的
Figure C200710130261000911
接收系统符号的后验对数似然比z∈{01,10,11}的计算:
for 1≤i≤N
L c ( 01 ) ( d ^ i ) = - 2.0 · y S 0 , i ,
L c ( 10 ) ( d ^ i ) = - 2.0 · y S 1 , i ,
L c ( 11 ) ( d ^ i ) = - 2.0 · ( y S 1 , i + y S 0 , i )
end
(五)译码输出硬判决算法:
按照下面公式完成输出比特的硬判决:
for k=1,...,N
switch ( max z ( L ( z ) ( d ^ k ) ) )
case 0 : d ^ k = 00 ;
case L ( 01 ) ( d ^ k ) : d ^ k = 01 ;
case L ( 10 ) ( d ^ k ) : d ^ k = 10 ;
case L ( 11 ) ( d ^ k ) : d ^ k = 11 ;
    end switch
end
采用这一套算法的本发明译码核心模块更容易实现。
按照本发明提供的译码装置,所述译码核心模块包括:
主控制器,控制连接译码核心模块各部件并协调各部件共同完成卷积Turbo码译码;
卷积Turbo码分量码译码器,经主控制器与所述双口RAM模块连接,采用max-log-map算法进行迭代译码;
译码迭代结束判断及硬判决打包器,输入连接所述卷积Turbo码分量码译码器、输出连接所述译码核心模块输出FIFO,用于根据设定硬判决准则和最大允许迭代次数结束迭代并完成打包;
交织/解交织地址生成器,经主控制器与所述卷积Turbo码分量码译码器连接,用于对分量码的输入输出信息进行交织或解交织;
存储器,用于存储卷积Turbo码译码的过程信息。
按照本发明提供的译码装置,所述卷积Turbo码分量码译码器包括从输出到输入的硬判决单元、完成对数似然比和外信息计算的L和Le计算单元和与L和Le计算单元连接的完成前向状态度量计算的Alpha计算单元以及完成后向状态度量计算的Beta计算单元。
按照本发明提供的译码装置,所述Alpha计算单元和Beta计算单元都内置完成分支度量计算的Gamma计算子单元。
按照本发明提供的译码装置,所述Beta计算单元是二个。
按照本发明提供的译码装置,所述卷积Turbo码分量码译码器还包括连接在输入端与所述Alpha计算单元和Beta计算单元之间的依次连接的复用器、4块循环缓冲结构的RAM和选择器。
按照本发明提供的译码装置,所述交织/解交织地址生成器包括控制连接交织地址生成电路单元的交织地址生成控制单元,以及依次电连接的交织参数存储器单元、交织地址生成电路单元和交织地址存储器单元。
按照本发明提供的译码装置,所述交织地址存储器单元是交织/解交织地址存储RAM,交织和解交织地址存储RAM各2块,共4块。
按照本发明提供的译码装置,所述过程信息包括外信息、交织地址和解交织地址;所述存储器对应分为外信息、交织地址和解交织地址存储器单元。
本发明提供的双二进制CTC译码装置,采用并行级联CTC译码器以提高译码吞吐量,译码器装置的结构是可扩展的,可根据译码吞吐量的要求增加CTC译码器的数量,从而能够实现双二进制卷积Turbo码的高速译码,满足IEEE 802.16e标准对译码速率的要求。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明。
图1是现有技术CTC译码装置示意图。
图2是本发明CTC译码装置译码核心模块采用译码算法结构框图。
图3是本发明CTC译码装置电路结构框图。
图4是图3所示装置中译码核心模块结构框图。
图5是图3所示装置中交织/解交织地址生成模块结构框图
图6与图5对应的交织/解交织地址生成数据通路。
图7是图4所示译码核心模块中分量码译码器结构框图。
图8是图7所示分量码译码器中Gamma计算子单元结构框图。
图9是图7所示分量码译码器中Alpha计算单元结构框图。
图10是图7所示分量码译码器中Belta计算单元结构框图。
图11是图7所示分量码译码器中L和Le计算单元结构框图。
具体实施方式
如图3所示,本发明CTC译码装置实施例包括总体输入FIFO模块31、总体输出FIFO模块32、输入调度模块33、输出调度模块34、译码数据存储器35、译码核心模块输出FIFO 36和两个并行级联的译码核心模块1,即:译码核心模块1和译码核心模块2,其中:总体输入FIFO模块31,其主要功能是完成接收发送过来得CTC译码数据包;译码数据存储器35,其主要功能用于存储译码数据,每个译码核心模块都有一个双口RAM;输入调度器模块33,其主要功能采用公平轮循调度方法对译码数据进行调度;输出调度器模块34,其主要功能采用公平轮循调度方法对译码数据进行调度;译码输出FIFO 136,其主要功能是存放译码核心模块1译码结果,译码输出FIFO 236,其主要功能是存放译码核心模块2译码结果;总体输出FIFO模块32,其主要功能是存储CTC译码数据包;译码核心模块1,其主要功能是完成CTC译码。
如图4所示,译码核心模块1、译码核心模块2结构完全相同,为了实现吞吐量13Mbps,所以译码器中使用两个译码核心模块。该译码核心模块1包括主控制器41、CTC分量码译码器42、译码迭代结束判断及硬判决打包器43、交织/解交织地址生成器44以及外信息451、交织地址452和解交织地址存储器单元453,其中:
(一)主控制器41,是译码核心模块的控制部件,其主要功能如下:
生成模块各部件接口时序和使能控制信号,计算CTC分量译码器42的迭代次数等,并在多次迭代后自动停止。
(二)交织/解交织地址生成器44,其主要功能如下:
在CTC译码的过程中,需要对分量码的输入输出信息进行交织/解交织,在本发明CTC分量译码器中将生成交织/解交织地址存储在RAM中,在交织/解交织的时候读取相应的地址。交织地址生成器41,如图5所示,包括交织参数存储器单元51、交织地址生成电路单元52、交织地址存储器单元53和交织地址生成控制单元54。
交织/解交织操作是通过控制数据RAM的读出地址来完成的,就是数据顺序写入RAM,按照交织/解交织地址读出数据即完成对应的交织/解交织操作。
在一个FEC块开始译码的时候,第一个半次迭代在译码的时候不需要使用交织/解交织模块,在这个时间内交织地址生成模块按照包头中的包类型参数读取相应的交织参数生成交织地址存储到RAM中。
在本发明CTC分量译码器中用了四块交织/解交织地址存储RAM,分别有两块交织地址RAM和两块解交织地址RAM。其中输入系统软信息和外信息需要一对交织/解交织地址RAM,输出硬判决和迭代终止检测模块需要另外一对交织/解交织地址RAM。
交织算法如下:
交织器需要P0,P1,P2,P3四个参数,这些参数和调制方式、码率和码长都有关系,在16e标准中提供了相应的表格。交织过程分两步:
第一步:比特对交替置换
forj=0,...,N-1
      if(j mod 2==0)(B,A)=(A,B)
end
第二步:下面函数Pi(j)提供了比特对j的交织地址i
forj=0,...,N-1
  switch(jmod 4):
    case 0:i=(P0·j+1)modN
    case 1:i=(P0·j+1+N/2+P1)modN
    case 2:i=(P0·j+1+P2)mod N
    case 3:i=(P0·j+1+N/2+P3)modN
  end switch
end
解交织算法为交织算法的逆过程。
生成交织地址的算法比较复杂,涉及到乘法器和除法器,流水线比较长。在本交织器中将采用四路并行计算来同时生成四个交织地址,数据通路如图6所示。
对于信息长度为480-b的FEC块(QPSK,RATE 1/2,10-SLOT),生成交织地址需要的cycles数:
480/(2*4)+Pipeline_overhead=60+Pipeline_overhead
480-b的FEC块的格栅数为240,使用普通的串行结构完成一次分量码译码最少需要240个cycles,所以有足够时间生成交织地址。
(三)译码迭代结束判断及硬判决打包器43,其主要功能如下:
采用硬判决相等准则作为迭代结束判断准则。在完成每个分量码译码的时候,分别对
Figure C20071013026100142
进行硬判决,如果两个硬判决结果相等,则结束当前码字译码;如果两个硬判决结果不相等,则看是否达到最大允许迭代次数,如果达到则结束当前码字译码,否则继续迭代。在当前迭代输出数据的时候,将上半次迭代的输出从RAM中读出完成比较,在读出数据的时候需要完成相应的交织或解交织操作。采用硬判决相等准则可以有效减少译码迭代次数。
输出硬判决数据打包包括将2-b硬判决数据打包成32-b并且添加包头信息。
按照下面公式完成输出比特的硬判决:
fork=1,...,N
switch ( max z ( L ( z ) ( d ^ k ) ) )
case 0 : d ^ k = 00 ;
case L ( 01 ) ( d ^ k ) : d ^ k = 01 ;
case L ( 10 ) ( d ^ k ) : d ^ k = 10 ;
case L ( 11 ) ( d ^ k ) : d ^ k = 11 ;
    end switch
end
(四)CTC分量码译码器42,其主要功能如下:
采用单滑动窗结构。在硬件实现中,我们使用的滑动窗为32个格栅。在每个窗长度时间分别计算三个滑动窗长的数据,分别是无效Beta计算、有效Alpha计算和有效Beta计算。一个分量码译码器42包括一个Alpha计算单元73、两个Beta计算单元74、一个L/Le计算单元72和一个输出硬判决单元71,每个Alpha计算单元73和Beta计算单元74内部都有单独的Gamma计算子单元。在计算的时候每个窗长的数据要相继用到三次,分别是无效Beta计算、有效Alpha计算和有效Beta计算。为了和该计算结构相匹配,在分量码译码器42数据输入端使用4块RAM组成循环缓冲结构75,循环的单位是一个窗长的数据。在每个窗计算时间,三块RAM用于给一个Alpha计算单元和两个Beta计算单元提供输入数据,另一块RAM用于写入新的数据。
由于16e中的CTC采用循环递归系统卷积码作为分量码,在每次迭代Alpha/Beta开始计算以前必须确定Alpha/Beta计算的初值。该初值通过在Alpha/Beta开始计算以前提前计算一个窗的Alpha/Beta来获得,前一个Alpha/Beta无效计算窗的终值作为下一个Alpha/Beta有效计算窗的初值。Alpha的计算比Beta的计算提前一个窗长,当前Alpha窗Alpha被算出来以后存储在Alpha缓存中,在下一个窗时间计算Beta的时候将该Alpha逆序从Alpha缓存中读出和Beta一起用于计算L和Le。
如图7所示,CTC分量码译码器42包括复用器75、4块循环缓冲结构的RAM 76、选择器77、Alpha计算单元73、Belta计算单元74、L和Le计算单元72;Alpha计算单元73和Belta计算单元74都包含Gamma计算子单元,其中:
(二)Gamma计算子单元,其计算结构如图8所示,其主要功能如下:
根据计算公式完成分支度量计算。
分支度量γk z(s′,s)的计算公式如下,其中uS1,k,uS0,k,uP1,k,uP0,k∈{+1,-1}fork=1,...,N
    forz∈{00,01,10,11}
γ ‾ t z ( s ′ , s ) = ( y S 1 , k · u S 1 , k + y S 0 , k · u S 0 , k + y P 1 , k · u P 1 , k · u P 1 , k + y P 0 , k · u P 0 , k )
+ L ( z ) ( d k ) - max z ( L ( z ) ( d k ) )
    end
end
上式中最后一个归一化项通过仿真发现对性能影响很小,可以考虑省略。
(二)Alpha计算单元,其主要功能如下:
根据计算公式完成前向状态度量计算。前向状态度量αk(s)的计算结构如图9所示,每个cycle可以计算一个格栅。
前向状态度量αk(s)的计算公式如下:
for i=1,...,(N+WIN_SIZE)
for s=0,...,7
       k=imodN
       k-1=(i-1)modN
α ‾ k ( s ) ≈ max s ′ ( α ‾ k - 1 ( s ′ ) + γ - k z ( s ′ , s ) )
    end
end
(三)Beta计算模块,其主要功能如下:
根据计算公式完成后向状态度量计算。反向状态度量βk-1(s′)的计算结构如图10所示,每个cycle可以计算一个格栅。
反向状态度量βk-1(s′)的计算公式如下:
for i=N-1,...,-WIN_SIZE
       for s′=0,...,7
                k-1=imodN
                k=(i+1)modN
β ‾ k - 1 ( s ′ ) ≈ max s ( β ‾ k ( s ) + γ ‾ k z ( s ′ , s ) )
       end
end
(四)L和Le计算模块,其主要功能如下:
根据计算公式完成对数似然比和外信息的计算。L和Le计算的计算结构如图11所示。L和Le计算路径比较长,但是其计算只有前馈结构,可以使用流水线技术提高吞吐量。
输出比特似然比
Figure C20071013026100163
计算公式如下:
for k=1,...,N
       for z∈{01,10,11}
L ( z ) ( d ^ k ) ≈ max ( s ′ , s ) ( α ‾ k - 1 ( s ′ ) + γ ‾ k z ( s ′ , s ) + β ‾ k ( s ) )
- max ( s ′ , s ) ( α ‾ k - 1 ( s ′ ) + γ - k 00 ( s ′ , s ) + β ‾ k ( s ) )
       end
end
Le(
Figure C20071013026100171
Figure C20071013026100172
)的计算公式如下:
按照下式计算其中SF=0.75:
for 1≤i≤N
       forz∈{01,10,11}
L e 1 ( z ) ( d ^ i ) = SF · ( L 1 ( z ) ( d ^ i ) - L ( z ) ( d i ) - L c 1 ( z ) ( d i ) )
= SF · ( L 1 ( z ) ( d ^ i ) - L eDel ( 2 z ) ( d ^ k ) - L c 1 ( z ) ( d i ) )
    end
end
按照下式计算
Figure C20071013026100176
其中SF=0.75:
for 1≤i≤N
       forz∈{01,10,11}
L e 2 ( z ) ( d ^ i ) = SF · ( L 2 ( z ) ( d ^ i ) - L ( z ) ( d i ) - L c 2 ( z ) ( d i ) )
= SF · ( L 2 ( z ) ( d ^ i ) - L eDel ( 1 z ) ( d ^ k ) - L c 2 ( z ) ( d i ) )
    end
end
Lc 1(z)(di)等于
Figure C20071013026100179
Lc 2(z)(di)等于经过交织以后的
Figure C200710130261001710
接收系统符号的后验对数似然比
Figure C200710130261001711
z∈{01,10,11}的计算:
for 1≤i≤N
L c ( 01 ) ( d ^ i ) = - 2.0 · y S 0 , i ,
L c ( 10 ) ( d ^ i ) = - 2.0 · y S 1 , i ,
L c ( 11 ) ( d ^ i ) = - 2.0 · ( y S 1 , i + y S 0 , i )
end
进一步,补充说明本发明实施例译码核心模块1中部件基本要求:
译码数据存储器35用于存储译码前的数据,容量要求为4KX36双口RAM存储器;
交织地址存储器单元452,用于存储动态产生好的译码数据的交织地址,容量为4KX13;
解交织地址存储器单元453,用于存储动态产生好的LLR数据的交织地址,容量为4KX13;
译码输出FIFO 36,容量需求为1KX32;
外信息存储器单元451的容量需求为4KX24,用于缓存上次迭代的外信息,作为本次迭代的外信息。
最后,总结说明本发明实施例CTC译码装置的工作流程:
总体输入FIFO模块31接收到译码数据包存储下来,输入调度器模块33根据两个译码核心模块的空闲状态决定采用哪个译码核心模块1进行译码。若译码核心模块1空闲,则译码数据包ram_dat_1送给译码核心模块1进行处理,译码核心模块1译出数据后,将译码结果cfifo_dat_1送到译码输出FIFO_1中存储;若译码核心模块2空闲,则译码数据包ram_dat_2送给译码核心模块2进行处理,译码核心模块2译出数据后,将译码结果cfifo_dat_2送到译码输出FIFO_2中存储。译码核心模块1中,主控器41从译码数据存储器35中将数据ram_dat读出,将数据ys,yp,la送给分量码译码器42。在分量码译码器42中,进行Max-log-map算法计算,Alpha计算单元73进行前向状态度量计算,Beta计算单元74进行后向状态度量。Alpha计算单元73前向状态度量计算比Bet计算单元74的后向状态度量计算提前一个窗长。当前滑动窗的前向状态度量被算出来以后存储在前向状态度量缓存中,在下一个窗时间计算后向状态度量的时候将该前向状态度量逆序从前向状态度量缓存中读出和后向状态度量一起送入L和Le计算单元72用于计算L和Le。分量码译码器42完成Max-log-map算法计算后,将结果llr送给译码迭代结束判断及硬判决打包器43。译码迭代结束判断及硬判决打包器43进行译码迭代结束判断,若满足迭代结束判断准则,则译码迭代结束,然后进行硬判决,再将2比特硬判决数据打包成32比特后送给译码输出FIFO 36。输出调度器模块34根据译码输出FIFO_1和译码输出FIFO_2的空满状态采用公平调度的方法,将译码结果送给总体输出FIFO模块32存储下来。

Claims (9)

1、一种双二进制卷积Turbo码译码装置,其特征在于,包括:
总体输入FIFO模块(31),与输入端连接,缓冲接收双二进制卷积Turbo码;
总体输出FIFO模块(32),与输出端连接,缓冲输出译码结果;
并行级联的译码核心模块(1),通过各自输入端上的译码数据存储器(35)与所述总体输入FIFO模块(31)连接并通过各自输出端上的译码核心模块输出FIFO(36)与所述总体输出FIFO模块(32)连接,进行卷积Turbo码译码;
输入调度模块(33),控制连接所述译码数据存储器(35)与所述总体输入FIFO模块(31)之间的连接,对所述二进制卷积Turbo码进行调度;
输出调度模块(34),控制连接所述译码核心模块输出FIFO(36)与所述总体输出FIFO模块(32)之间的连接,对所述译码结果进行调度。
2、根据权利要求1所述译码装置,其特征在于,所述译码核心模块(1)包括:
主控制器(41),控制连接译码核心模块各部件并协调各部件共同完成卷积Turbo码译码;
卷积Turbo码分量码译码器(42),经主控制器(41)与所述译码数据存储器(35)连接,采用max-log-map算法进行迭代译码;
译码迭代结束判断及硬判决打包器(43),输入连接所述卷积Turbo码分量码译码器(42)、输出连接所述译码核心模块输出FIFO(36),用于根据设定硬判决准则和最大允许迭代次数结束迭代并完成打包;
交织/解交织地址生成器(44),经主控制器(41)与所述卷积Turbo码分量码译码器(42)连接,用于对分量码的输入输出信息进行交织/解交织;
存储器,用于存储卷积Turbo码译码的过程信息。
3、根据权利要求2所述译码装置,其特征在于,所述卷积Turbo码分量码译码器(42)包括从输出到输入的硬判决单元(71)、完成对数似然比和外信息计算的L和Le计算单元(72)和与L和Le计算单元(72)连接的完成前向状态度量计算的Alpha计算单元(73)以及完成后向状态度量计算的Beta计算单元(74)。
4、根据权利要求3所述译码装置,其特征在于,所述Alpha计算单元(73)和Beta计算单元(74)都内置完成分支度量计算的Gamma计算子单元。
5、根据权利要求3所述译码装置,其特征在于,所述Beta计算单元(74)是二个。
6、根据权利要求3所述译码装置,其特征在于,所述卷积Turbo码分量码译码器(42)还包括连接在输入端与所述Alpha计算单元和Beta计算单元之间的依次连接的复用器(75)、4块循环缓冲结构的RAM(76)和选择器(77)。
7、根据权利要求2所述译码装置,其特征在于,所述交织/解交织地址生成器(44)包括控制连接交织地址生成电路单元(52)的交织地址生成控制单元(54),以及依次电连接的交织参数存储器单元(51)、交织地址生成电路单元(52)和交织地址存储器单元(53)。
8、根据权利要求7所述译码装置,其特征在于,所述交织地址存储器单元(53)是交织或解交织地址存储RAM,交织和解交织地址存储RAM各2块。
9、根据权利要求2所述译码装置,其特征在于,所述过程信息包括外信息、交织地址和解交织地址;所述存储器对应分为外信息(451)、交织地址(452)和解交织地址存储器单元(453)。
CN200710130261A 2007-03-12 2007-07-17 一种双二进制ctc译码装置 Expired - Fee Related CN100589329C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710130261A CN100589329C (zh) 2007-03-12 2007-07-17 一种双二进制ctc译码装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710086817.5 2007-03-12
CN200710086817 2007-03-12
CN200710130261A CN100589329C (zh) 2007-03-12 2007-07-17 一种双二进制ctc译码装置

Publications (2)

Publication Number Publication Date
CN101098149A CN101098149A (zh) 2008-01-02
CN100589329C true CN100589329C (zh) 2010-02-10

Family

ID=39011718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710130261A Expired - Fee Related CN100589329C (zh) 2007-03-12 2007-07-17 一种双二进制ctc译码装置

Country Status (1)

Country Link
CN (1) CN100589329C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692612B (zh) * 2009-05-27 2012-10-17 华为技术有限公司 多规格里德-所罗门编解码方法、装置及系统
CN103905066B (zh) * 2012-12-25 2018-04-27 联想(北京)有限公司 Turbo码译码装置和方法
CN104767537B (zh) * 2015-03-19 2018-01-30 深圳市力合微电子股份有限公司 一种用于OFDM电力线通信系统的Turbo译码方法

Also Published As

Publication number Publication date
CN101098149A (zh) 2008-01-02

Similar Documents

Publication Publication Date Title
CN101777924B (zh) 一种Turbo码译码方法和装置
CN101958720B (zh) 缩短Turbo乘积码的编译码方法
CN101286817B (zh) 传统二进制和双二进制Turbo码通用译码方法
CN101904102B (zh) 用于剪除式交织器和解交织器的有效地址生成
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
CN105634508B (zh) 一种低复杂度近性能限的Turbo译码器的实现方法
CN103427850B (zh) 多模维特比解码装置及其解码方法
CN104092470B (zh) 一种Turbo码译码装置及方法
CN102111162B (zh) Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器
CN101969311B (zh) 一种高速并行分段交错维特比译码方法
CN102340320B (zh) 卷积Turbo码双向并行译码方法
CN104168032A (zh) 兼容LTE和WiMAX的4并行度、基-16高性能Turbo译码器
CN103354483A (zh) 通用的高性能Radix-4SOVA译码器及其译码方法
CN100589329C (zh) 一种双二进制ctc译码装置
CN101162908A (zh) 一种基于DVB-RCS标准的双二元Turbo码译码方法及译码器
CN102739261B (zh) 多相加比选前向回溯Viterbi译码器
CN101373978A (zh) 一种Turbo码译码方法以及装置
CN106027200B (zh) 一种基于gpu的卷积码高速并行译码方法及译码器
CN101192837B (zh) turbo解码器及解码turbo编码信号的方法
CN102835062A (zh) 初始化解码码距
CN201018490Y (zh) TD-SCDMA/3G硬核turbo译码器
CN1328386A (zh) 并行滑动窗最大后验概率算法及其高速Turbo码译码器
CN103595424A (zh) 分量译码方法、译码器及Turbo译码方法、装置
CN100581089C (zh) TD-SCDMA系统中的Woven卷积码纠错编、译码器
CN107017962A (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151123

Address after: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee after: ZTE Corp.

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee before: ZTE Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100210