实施方式
图1表示出了包含本发明的Turbo编码器110、离散无存储信道
120、以及Turbo译码器130的系统100。
Turbo编码器110是由2个通常是同样的递归组织卷积(RSC)
结构编码器的并行连接构成的。在RSC编码器间设置有Turbo内部交
叉存取器。一般来说,为了构成Turbo编码器110,可以采用更多的
RSC编码器和交叉存取器。
各RSC编码器具有1/2的速度和存储器v。对于长度N的各输入
序列块d1N={d1,d2,...,dN}101(此处,是dk∈GF(2)),2个RSC
编码器在不同的模型上动作,分别生成奇偶序列Y1={Y11,Y12,...,
Y1N}102和Y2={Y21,Y22,...,Y2N}103。来自Turbo编码器的整
个的输出序列C1N={C1,C2,...,CN}104,是3部分的和,即C1N=
(X,Y1,Y2),此处,Ck=(Xk,Y1k,Y2k)分别表示信息位Xk和
奇偶位Y1k,Y2k。
被TURBO编码过的输出序列104在离散无存储信道120上被发
送。如上所述,信道102多是存在于引发多个位错误的不大理想的环
境中。我们的发明目的就是用具有VLSI电路能够实施的高效的方法
来检测校正这些错误。
在接收侧,将接受到的序列应用到Turbo译码器130。这个序列
由R1N={R1,R2,...,RN}105来表示(此处,R1N=(x,y1,y2)),
Rk=(xk,y1k,y2k)是有在时间k的Ck噪音的模型。Turbo译码器130
包括我们发明的2个结构译码器。
理想的是由VLSI电路来实施译码器。交叉存取器/非交叉存取器
具有与在Turbo编码器110中所使用的相同的交叉存取模式,并被设
置在译码器之间。为了匹配在Turbo编码器110中所使用的RSC编码
器的数目,可以使用附加的RSC结构译码器。译码器130的输出是被
译码过的符号序列块106。
Turbo代码用MAP方法的现有表示式
在时间k的RSC编码器的状态是Sk。Sk取从0到M-1(M=2V)间
的整数值。第k个信息位dk为了让其状态从Sk-1变化到Sk,驱动编码
器。将这叫做编码器状态转移。在现有的MAP方法中,由对数似然比
(LLR),来决定关于各被译码过的位dk的灵活的输出。
Λ ( d k ) = ln P r { d k = 1 | P 1 N } P r { d k = 0 | R 1 N } ]]>
= ln Σ m = 0 M - 1 Σ m , = 0 M - 1 γ 1 ( R k , m , , m ) α k - 1 ( m , ) β k ( m ) Σ m = 0 M - 1 Σ m , = 0 M - 1 γ 0 ( R k , m , , m ) α k - 1 ( m , ) β k ( m ) - - - - - ( 1 ) ]]>
这里,前向和后向递归概率函数向量αk(m)和βk(m)的值可以从
分支转移概率γi(Rk,m,m’)递归求得。
α k ( m ) = P r { S k = m | R 1 k } = Σ m , M - 1 Σ i = 0 1 γ i ( R k , m , , m ) α k - 1 ( m , ) Σ m = 0 M - 1 Σ m , = 0 M - 1 Σ i = 0 1 γ i ( R k , m , , m ) α k - 1 ( m , ) - - - ( 2 ) ]]>
以及
β k ( m ) = P r { P k + 1 N | S k = m } P r { P k + 1 N | R 1 k } = Σ m , M - 1 Σ i = 0 1 γ i ( R k , m , m , ) β k + 1 ( m , ) Σ m = 0 M - 1 Σ m , = 0 M - 1 Σ i = 0 1 γ i ( R k , m , , m ) α k ( m , ) - - - ( 3 ) ]]>
以及
γi(Rk,m’,m)=Pr{dk=i,Sk=m,Rk|Sk-1=m} (4)
是依据信道和RSC编码器的转移概率来决定。
Turbo代码用MAP方法的简化表示式
在说明本发明的矩阵MAP译码方法和装置之前,首先,将现有的
MAP方法的式(2)和(3)作如下简化。
若用由Berrou定义的节点概率λik(m),观察上述各式,则有
λ k i ( m ) = P r { d k = i , s k = m | R 1 N } , - - - - - ( 5 ) ]]>
得到
Λ ( d k ) = ln Σ m = 0 M - 1 λ k 1 ( m ) Σ m = 0 M - 1 λ k 0 ( m ) = ln Σ m = 0 M - 1 Σ m , = 0 M - 1 P r { d k = 1 , S k = m , S k - 1 = m , , R 1 k - 1 , R k , R k + 1 N } Σ m = 0 M - 1 Σ m , = 0 M - 1 P r { d k = 0 , S k = m , S k - 1 = m , , R 1 k - 1 , R k , R k + 1 N } ]]>
= ln Σ m = 0 M - 1 Σ m , = 0 M - 1 P r { d k = 1 , S k = m , R k | S k - 1 = m , } P r { S k - 1 = m , R 1 k - 1 } P r { R k + 1 N | S k = m } Σ m = 0 M - 1 Σ m , = 0 M - 1 P r { d k = 0 , S k = m , R k | S k - 1 = m , } P r { S k - 1 = m , R 1 k - 1 } P r { R k + 1 N | S k = m } - - - - - ( 6 ) ]]>
与Berrou形成对照,特别是通过设定下式,关于前向和后向递
归概率函数αk(m)和βk(m)采用这个新的定义。
![]()
β k ( m ) = P r { R k + 1 N | S k = m } - - - - - ( 8 ) ]]>
根据新定义的αk(m)和βk(m),用下式求出对数似然比Λ(dk)。
Λ ( d k ) = ln Σ m = 0 M - 1 Σ m , = 0 M - 1 γ 1 ( R k , m , , m ) α k - 1 ( m , ) β k ( m ) Σ m = 0 M - 1 Σ m , = 0 M - 1 γ 0 ( R k , m , , m ) α k - 1 ( m , ) β k ( m ) - - - - - ( 9 ) ]]>
这里,αk(m)和βk(m)具有比现有的MAP方法中的(2)和(3)
更简单的下述表示式。
α k ( m ) = Σ m , = 0 M - 1 Σ i = 0 1 α k - 1 ( m , ) γ i ( R k , m , , m ) = Σ m , = 0 M - 1 α k - 1 ( m , ) γ ( R k , m , , m ) - - - - ( 10 ) ]]>
β k ( m ) = Σ m , = 0 M - 1 Σ i = 0 1 γ i ( R k + 1 , m , m , ) β k + 1 ( m , ) = Σ m , = 0 M - 1 γ ( R k + 1 , m , m , ) β k + 1 ( m , ) - - - ( 11 ) ]]>
这里,
γ(Rk,m’,m)=γ0(Rk,m’,m)+γ1(Rk,m’,m) (12)
被简化过的MAP译码方法的步骤
因此,被简化过的MAP方法执行以下基本步骤。
1)首先,依据边界状态条件S0=0,按下述方式初始化前向递归
概率函数向量α0(m)。
α0(0)=1; α0(m)=0 m≠0.
2)按下述方式初始化后向递归概率函数向量βN(m)。
β N ( m ) = 1 M - - - - - ∀ m ]]>
3)对于接收到的各位Rk,依据信道和编码器网格的转移概率决
定γi(Rk,m’,m),依据被简化过的式(10)决定αk(m)。
4)在接收到完整的位序列R1N之后,依据被简化过的式(11)决定
βN(m)。
5)利用在上述定义过的式(9)决定LLRΛ(dk)。
MAP译码的矩阵方法
由式(4)所定义的γi(Rk,m’,m)在时间k有M×M个可能的状
态,所以由M×M矩阵将其表示如下。
![]()
同样,由另外的M×M矩阵将式(12)的γi(Rk,m’,m)表示
如下。
![]()
将前向递归概率函数向量表示如下。
αk=[αk(0),αk(1),...,αk(M-1)] (15)
将后向递归概率函数向量表示如下。
βk=[βk(0),βk(1),...,βk(M-1)] (16)
因此,式(10)、(11)和(9)则分别变为:
αk=αk-1Γ(Rk) k=1,2,...…,N-1 (17)
βkT=Γ(Rk+1)βk+1T k=N-1,N-2,...,1 (18)
Λ ( d k ) = ln α k - 1 Γ 1 ( R k ) β k T α k - 1 Γ 0 ( R k ) β k T . ( 19 ) ]]>
由式(17)和(18)可以得到:
αk=α0Γ(R1)Γ(R2)…Γ(Rk), k=1,2,...,N-1
(20)
βkT=Γ(Rk+1)Γ(Rk+2)…Γ(RN)βNT, k=N-1,N-2,...,1
(21)
因此,αk和βk可以由Γ(Rk)间的一连串的矩阵乘法运算来决
定。依据这个特征,研究出了如下被叫做矩阵MAP方法1的Turbo
代码的MAP译码的第1矩阵方法。
矩阵MAP方法1
图2表示了如下的矩阵MAP方法1 200。
在步骤201,通过进行以下设定,初始化前向和后向递归概率函
数向量α0和βN。
α0=[1,0,0,...,0],βN=[1,1,1,...,1]
请注意:这个βN的选择,比现有的MAP方法中所使用的β
N(m)=1/M,m还要简单。
在步骤202对于接收到的各观测Rk、在步骤203分别使用式(13)
和(14)、决定3个转移概率矩阵Γ0(Rk)、Γ1(Rk)和Γ(Rk)。接着,
在步骤204,用式(17)决定αk,同时,也并行决定Γ(R1)Γ(R2)...
Γ(Rk),Γ(R2)Γ(R3)...Γ(Rk),...,Γ(Rk-1)Γ(Rk)。
在接收到完整的位序列R1N之后,在步骤205,使用式(21)并
行决定向量βkT、k=1、2、...、N-1的值。接着,在步骤206,使用式
(19),并行决定LLRΛ(dk)、k=1、2、...、N。
矩阵MAP方法1的装置
图3表示出了矩阵MAP方法1 200的硬件实装结构210。
矩阵MAP译码器210,从图1的信道120接收序列105。
译码器210,如上所述包括决定上述3个转移概率矩阵Γ0(Rk)、
Γ1(Rk)和Γ(Rk)的3个计算机211~213。
译码器210包括由第1乘法器241所链接的第1位移寄存器
(S1)240、由第2乘法器221所链接的第2位移寄存器(S2)220。
位移寄存器240有N+1的长度、在矩阵MAP方法1 200的步骤201
由(α0,*,...,*)初始化。第1位移寄存器被用来决定前向递归
概率函数向量α0的值α0,α1,...,αN。位移寄存器220具有N-1
的长度,用来决定
Γ(R1)Γ(R2)...Γ(Rk),Γ(R2)Γ(R3)...Γ(Rk),...,Γ(Rk-1)Γ(Rk)。
位移寄存器,可以利用2端口存储器或进行独立读出和写入的寄
存器文件来实施。
译码器210也包括N-1个乘法器230。这些乘法器在接收到完
整的序列R1N105之后,被用来并行决定βkT、k=1、2、...、N-1。
译码器210还包括N个存储元件(M)250和N个LLR计算机260。
这些LLR计算机被用来并行决定Λ(dk)、k=1、2、...、N。值Λ(dk)、
k=1、2、...、N,在为了抽出被发送给其他结构译码器的附带的信息
并进一步处理之前,可以临时放置在对应的LLR计算机260下的N
个存储元件(M)250中。
另一种实施方式
在由式(13)~(16)和(19)分别定义Γi(Rk)、Γ(Rk)、αk、
βk和Λ(dk)的场合,
Λ ( d k ) = ln α 0 Γ ( R 1 ) Γ ( R 2 ) … Γ ( R k - 1 ) Γ 1 ( R k ) Γ ( R k + 1 ) Γ ( R k + 2 ) … Γ ( R N ) β N T α N β N T - α 0 Γ ( R 1 ) Γ ( R 2 ) … Γ ( R k - 1 ) Γ 1 ( R k ) Γ ( R k + 1 ) Γ ( R k + 2 ) … Γ ( R N ) β N T - - - - - ( 22 ) ]]>
将式(20)和(21)代入(19),这样可以直接得到关于上式(22)
的分子的证明。
关于(22)的分母的证明如下所示:
αk-1Γ0(Rk)βkT
=αk-1(Γ(Rk)-Γ1(Rk))βkT
=αk-1Γ(Rk)βkT-αk-1Γ1(Rk)βkT
=α0Г(R1)Г(R2)...Г(RN)βNT-α0Г(R1)Г(R2)...Г(Rk-1)Г1(Rk)Г(Rk+1)Г(Rk+2)...Г(RN)βNT
=αNβNT-α0Γ(R1)Γ(R2)...Γ(Rk-1)Γ1(Rk)Γ(Rk+1)Γ(Rk+2)...Γ(RN)βNT
依据式(22),如下所述,研究出了被称为矩阵MAP方法2的
Turbo代码的MAP译码的第2矩阵方法。
矩阵MAP方法2
图4表示了如下的矩阵MAP方法2 300。
在步骤301,与上述步骤201同样,初始化前向和后向递归概率
函数向量α0和βN。
在步骤302对于接收到的各观测Rk、在步骤303分别使用式(13)
和(14),决定2个转移概率矩阵Γ1(Rk)和Γ(Rk)。接着,在步骤
304,使用式(20)决定αk(=α0Γ(R1)Γ(R2)...Γ(Rk)),同时并
行决定α0Γ1(R1)Γ(R2)...Γ(Rk),α0Γ(R1)Γ1(R2)Γ(R3)...Γ
(Rk),...,α0Γ(R1)...Γ(Rk-1)Γ1(Rk)。
在接收到完整的位序列R1N之后,在步骤305并行决定αNβNT(=
α0Γ(R1)Γ(R2)...Γ(RN)βNT)和α0Γ1(R1)Γ(R2)...Γ(RN)βNT、α0
Γ(R1)Γ1(R2)Γ(R3)...Γ(RN)βNT,...,α0Γ(R1)...Γ(Rk-1)Γ1(RN)
βNT。接着,在步骤306,使用式(22)并行决定LLRΛ(dk)、k=1、
2、...、N。
矩阵MAP方法2用的装置
图5表示出了矩阵MAP方法2 300的硬件实装结构310。
矩阵MAP译码器310,从图1的信道120接收序列105。
译码器310,如上所述包括决定上述2个转移概率矩阵Γ1(Rk)和
Γ(Rk)的2个计算机212和213。
译码器310包括由乘法器321所链接的位移寄存器(S)320。
这个位移寄存器有N+1长度,在矩阵MAP方法2 300的步骤301由(α0,
*,...,*)初始化。它是被用来并行决定Γ(R1)Γ(R2)...Γ(Rk),Γ
(R2)Γ(R3)...Γ(Rk),...,Γ(Rk-1)Γ(Rk)的。
译码器310包括N+1个乘法器330。这些乘法器在接收到完整
的位序列R1N之后,并行决定αNβNT,α0Γ1(R1)Γ(R2)...Γ(RN)βNT、
α0Γ(R1)Γ1(R2)Γ(R3)...Γ(RN)βNT,...,α0Γ(R1)...Γ(Rk-1)
Γ1(RN)βNT。
译码器310还包括N+1个存储元件(M)340和N个LLR计算机
350。这些LLR计算机被用来并行决定Λ(dk)、k=1、2、...、N。这些
Λ(dk)、k=1、2、...、N,在为了抽出被发送给其他结构译码器的附
带的信息并进一步处理之前,可以临时放置在对应的LLR计算机350
上的N个存储元件(M)340中。
在实际的实施中,图3和图5所示的LLR(Λ)计算机单元260和
360的数目根据输入符号速度可能有所改变。譬如对于较慢的符号速
度,使用被消减了数目的Λ个计算机单元,各单元计算多个Λ(dk)个
的项。这是通过以比符号速度更快的时钟速度操作Λ个计算机单元来
进行的。这归结为降低功耗和电路的复杂性。
优点
处理时间
本发明的矩阵MAP译码方法的最大优点是大幅地提高了译码运
算速度。通过使用新的矩阵变换,本发明的方法将MAP译码器结构改
造成一组简单的规则的矩阵公式。其结果,矩阵变换可对不同的行并
行相乘其对应的列,故此可以并行实现大部分的译码过程。
譬如,在两种方法中,αk的决定是与在Γ(Rk)之间的一系列的乘
法运算并行发生的。在接收到完整的R1N之后,可以并行决定所有的
βkT、k=1、2、…、N-1(在方法1中)、以及Λ(dk)、k=1、2、…、
N(在两种方法中)。这就消减了在现有的MAP算法中用于决定βk
的连续的后向递归运算中所需要的时间。
计算的复杂性
下述的表A列出了由不同方法所必要的在任意时间k的整个连续
的M网格状态的前向-后向递归运算中的比较。本发明的矩阵MAP译
码方法的计算的复杂性分别是现有的MAP方法的约一半(对于前向递
归)和1/4(对于后向递归)。再者,在矩阵MAP译码方法相关的
递归计算中没有除法运算。除法运算是很费时间的运算。
表A
运算
矩阵MAP方法
MAP方法
αk
βk
αk(m)
(m=0,1,…
,M-1)
βk(m)
(m=0,1,…
,M-1)
加法
乘法
除法
M2
2M2
0
M2
2M2
0
2M2
4M2
M
2M2
4M2
M
内存容量
现有的MAP方法通常需要MN(2M+1)的大量的存储容量。若采用
使用图3和图5所示的位移寄存器实装结构,本发明的矩阵MAP方法
将有效地消减存储容量,简化向现有的MAP方法所必须的复杂的数据
的访问和数据的转送。
动作方式
作为其他的主要优点,本发明的矩阵MAP译码方法可以用高效的
VLSI电路来实施。由于是在M×M矩阵和M维向量上发挥功能的,所
以本发明的方法可以看作是面向VLSI的方法。本发明的方法中的新
的并行运算提供特定目的的并行处理VLSI硬件电路中的Turbo代码
的实时的MAP译码。
以上说明的方法和装置一般可以适用于为应对无线信号传送的
减损、真正实现低误码率的通信链路而使用Turbo代码的信道译码。
特别是这些可以在便携式电话、宽带无线接入系统、以及移动计算装
置等无线通信系统中使用。这些也可以适用于ADSL、VDSL、xDSL、
以及家庭网络系统等有线系统。
本发明举出上述的实施方式作为例子进行了说明,但必须清楚:
在本发明的主旨和范围内可以进行其他的各种改编和修正。因此包括
进入本发明的主旨和范围内的所有有关的变更和修正都是 范围的目的。