CN1272253A - 卷积码软输出解码装置和软输出解码方法 - Google Patents
卷积码软输出解码装置和软输出解码方法 Download PDFInfo
- Publication number
- CN1272253A CN1272253A CN99800819A CN99800819A CN1272253A CN 1272253 A CN1272253 A CN 1272253A CN 99800819 A CN99800819 A CN 99800819A CN 99800819 A CN99800819 A CN 99800819A CN 1272253 A CN1272253 A CN 1272253A
- Authority
- CN
- China
- Prior art keywords
- probability
- soft output
- calculate
- truncation length
- calculation
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3972—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3911—Correction factor, e.g. approximations of the exp(1+x) function
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3922—Add-Compare-Select [ACS] operation in forward or backward recursions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3927—Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
计算状态数目×舍项长度的Ⅰβ(βt~βt-D+1)之后,边计算此后续的舍项长度以外的Ⅰβ(βt-D~βt-2D+1)边依次对其舍项长度以外软输出进行计算,同时依次计算下一舍项长度的Ⅰβ。这样,解码器4通过以并行方式对舍项长度内的Ⅰβ和逆向舍项长度以上的Ⅰβ进行计算,这样每一时钟的Ⅰβ的计算便为状态数目×2,以很少的计算量即可完成,可以提高解码动作的速度。
Description
技术领域
本发明涉及一种适用于例如卫星广播接收装置等的较理想的卷积码软输出解码装置和软输出解码方法。具体来说,涉及一种通过在记录媒体上存储舍项长度以上的概率信息,以并行方式执行舍项长度内概率信息更新和舍项长度外软输出计算,能够高速工作的软输出解码装置。
背景技术
对于使卷积码解码后码元误码率最小的解码法,已知有BCJR算法(Bahl,Cocke,Jelinek和Raviv著,《使码元误码率最小化的线性码的优化解码》,IEEE信息理论学报,IT-20卷,pp.284-287,1974年3月)。BCJR算法中,不是输出各码元,而是输出各码元的似然度作为解码结果。这种输出称为软输出(soft-output)。
近年来,人们正致力于通过使链接码内码的解码输出、重复解码法的各个重复输出成为软输出来减小码元误码概率的研究,作为其适合的解码法,BCJR算法受到关注。
以下,详细说明BCJR算法的内容。
BCJR算法,不是输出各码元,而是输出各码元的似然度作为解码结果,是由卷积编码器对数字信息进行卷积编码,通过具有噪声的无记忆信道来观测经过该卷积编码的数据序列这一情形下的算法。
这里,卷积编码器表示移位寄存器内容的M个状态(迁移状态)由m(0,1,…,M|1)表示,令时刻t的状态为St,时刻t的输入为it,时刻t的输出为Xt,输出序列为Xt t’=Xt,Xt+1,…,Xt’。各状态间的迁移概率pt(m|m’)由下面式(1)表示。
pt(m|m’)=Pr{St=m|St-1=m’} …(1)
另外,Pr{A|B}是指因发生B条件而附加发生A条件的概率,而Pr{A;B}则表示A和B同时发生的概率。而且,卷积编码器的卷积码设定为从状态S0=0开始,输出X1 τ,在Sτ=0时结束。
有噪声的无记忆信道将输出X1 τ作为输入,将输出Y1 τ输出。这里,令输出序列Yt t’=Yt,Yt+1,…,Yt’。这里,有噪声的无记忆信道的迁移概率,对于全部t(1≤t≤τ),可由满足下面式(2)的函数R(·|·)来定义。
因此,如下面式(3)所示定义概率λt的话,该概率λt表示接收Y1 τ时候时刻t的输入信息的似然度,该概率λt作为应求得的软输出。
Pr{it=1|Y1 τ}
λt= …(3)
Pr{it=0|Y1 τ}
BCJR算法定义如下面式(4)~式(6)所示的概率αt,βt,γt。
γt(m′,m,i)=Pr{St=m;Yt;it=i|St-1=m′} …(6)
用图1简单说明αt,βt,γt的内容。图1示出的是各概率之间的关系。αt-1相当于从编码初始状态S0=0开始根据接收字按时间序列顺序算出的时刻t-1的各状态的通过概率。βt相当于从编码结束状态Sτ=0开始根据接收语按时间序列逆向顺序算出的时刻T的各状态的通过概率。γt相当于根据时刻t的接收语和输入概率算出的时刻t在状态间迁移的各分支输出的接收概率。
软输出可以用该αt,βt,γt按下面式(7)表示。
其中,对于t=1,2,…,τ,有下面式(8)成立。
其中,α0(0)=1,α0(m)=0(m≠0)
同样,对于t=1,2,…,τ-1,有下面式(9)成立。
其中,βτ(0)=1,βt(m)=0(m≠0)
此外,对于γt,有下面式(10)成立。
γt(m′,m,i)
Pt(m|m′)R(Yt,X):输入i时m′向m过渡时(X为其输出)
= …(10)
0:输入i时m′未向m过渡时
BCJR算法根据上述关系,按下面步骤(a)~(c)求得软输出λt。
(a)每当接收Yt,用式(8)、式(10)计算αt(m)、γt(m’,m,i)。
(b)接收到序列Y1 τ的全部之后,用式(9),对全部时刻t的各状态m,计算βt(m)。
(c)将(a)、(b)计算出的αt,βt,γt代入式(7),计算各时刻t的软输出λt。
但上面说明的BCJR算法,存在包含乘积运算因而运算量大的问题,和代码需要终结因而无法接收连续数据这种问题。
上述两方面问题当中,对于减少运算量的办法,提出了Max-Log-BCJR算法和Log-BCJR算法(其中下面论文中分别称为Max-Log-MAP算法和Log-MAP算法)(Robertson,Villebrun和Hoeher著,《域中执行的优化和次优化MAP解码算法的比较》,IEEE通信国际会议文集,pp.1009-1013,1995年6月),而对于接收连续数据所用的办法,则提出了进行滑移窗处理的SW-BCJR算法(Benedetto和Montorsi著,《涡旋码(turbo codes)迭代解码中的软输出解码算法》,TDA技术报导42-124,1996年2月)。
接下来说明这些算法的内容。
先说明Max-Log-BCJR算法和Log-BCJR算法的内容。
Max-Log-BCJR算法,将概率αt,βt,γt,λt用以e为底的对数(自然对数)表示,如式(11)所示将概率的乘积运算置换为对数和运算,如式(12)所示将概率的和运算用对数的最大值运算来近似。另外,max(x,y)是选择x,y当中最大数值的函数。
log(ex·ey)=x+y …(11)
log(ex+ey)=max(x,y) …(12)
为了简化说明,如下面式(13)~式(15)所示,现将αt,βt,γt,λt的对数设为Iαt,Iβt,Iγt,Iλt。下面“I”表示以e为底的对数。
Iαt(m)=log(αt(m)) …(13)
Iβt(m)=log(βt(m)) …(14)
Iγt(m)=log(γt(m)) …(15)
Max-Log-BCJR算法,将上述Iαt,Iβt,Iγt近似为如下面式(16)~式(18)所示。这里,Iαt(m)和Iβt(m)的max m’设法在输入i时至状态m的迁移所存在的状态m’中求得。
Iγt(m′,m,i)=log(Pt(m|m′))+log(R(Yt,X)) …(18)其中,X为m’迁移至m时的编码器输出。
同样,对于Iλt,也近似为如下面式(19)所示。这里,右边第1项的max m’是在输入=1时存在向状态m迁移的状态m’中求得,右边第2项的max m’是在输入=0时存在向状态m迁移的状态m’中求得。
Max-Log-BCJR算法根据上面的关系,按下面步骤(a)~(c)求得软输出λt。
(a)每当接收Yt,用式(16)、式(18)计算Iαt(m)、Iγt(m’,m,1)。
(b)接收到序列Y1 τ全部之后,用式(17),对全部时刻t的各状态m,计算Iβt(m)。
(c)将(a)、(b)计算出的Iαt,Iβt,Iγt代入式(19),计算各时刻t的软输出Iλt。
如上所述,Max-Log-BCJR算法不包含乘积运算,因而与BCJR算法相比,可大幅度减少运算量。
其中,通过如下面式(20)所示将概率的和运算变形,右边第2项便成为对于变量|x-y|的一元函数,因而可通过预先对此制表来求得和运算的正确对数值。
log(ex+ey)=max(x,y)+log(1+e-|x-y|) …(20)
Max-Log-BCJR算法中式(12)全部用式(20)置换,进行正确的概率计算的就是Log-BCJR算法。Log-BCJR算法与Max-Log-BCJR算法相比,运算量虽有增加,但不包含乘积运算,其输出除了量化误差外,BCJR算法软输出对数值本身并没有分别。
式(20)中右边第二项,为变量|x-y|的一元函数,因而可以通过例如制表等获得简易的高精度运算结果。因此,Log-BCJR算法和Max-Log-BCJR算法相比,能够获得高精度的软输出。
接下来说明SW-BCJR算法的内容。
BCJR算法,为了计算βt,需要将代码终结,这样便无法接收连续数据。SW-BCJR算法,对于全部状态给出1/M作为βt初始值,与维特比(Viterbi)解码时相同代入舍项长度,将时刻倒推所设定的舍项长度D,求得软输出(参照图2)。
SW-BCJR算法,与通常的BCJR算法相同,通过对α0进行初始化之后,每一时刻进行下面(a)~(e)操作,来求得各时刻的软输出。
(a)根据时刻t的接收值和迁移概率求得γt。
(b)对于全部状态m按βt(m)=1/M初始化。
(c)根据γt-D+1,…,γt计算βt-1,…,βt-D。
(d)用下面式(21)根据所求得的Dt-D和αt-D-1计算时刻t-D的软输出γt-D。
(e)由αt-D-1,γt-D计算αt-D。
另外,前面提及的Benedetto等人的论文中,还提出了该SW-BCJR算法和Log-BCJR算法组合而成的SW-Log-BCJR算法,以及SW-BCJR算法和Max-Log-BCJR算法组合而成的SW-Max-Log-BCJR算法(其中,论文中称为SWAL-BCJR算法)。
可通过用SW-Max-Log-BCJR算法或SW-Log-BCJR算法,来接收连续数据并求得软输出。但这些算法与对所终结的代码进行解码不同,求一解码输出时需要求得状态数目×舍项长度的βt,可以说,不包含乘积运算,实际安装需要非常大的运算量。
综上所述,SW-Max-Log-BCJR算法或SW-Log-BCJR算法,虽能接收经卷积编码发送的连续数据,求得软输出,但存在获得一代码输出时运算量多、难以高速动作这种问题。
此外,若采用SW-BCJR算法和Log-BCJR算法组合而成的SW-Log-BCJR算法,或SW-BCJR算法和Max-Log-BCJR算法组合而成的SW-Max-Log-BCJR算法(也称为SWAL-MAP算法),可以减少运算量求得连续数据的软输出。
但这些算法,通过倒推舍项长度D得到软输出,求一解码输出时需要求得状态数目×舍项长度D值的β。因此可以说,不包含乘积运算,存在处理需要庞大运算量的问题。
发明概述
因此,本发明目的在于,提供一种能够高速动作的卷积码软输出解码装置和软输出解码方法。
本发明目的还在于,提供一种能够由简易构成对软输出进行解码的卷积码软输出解码装置和软输出解码方法。
本发明中,在求得卷积码各迁移状态概率信息,用上述概率信息计算软输出并加以输出时,将上述概率信息按规定舍项长度单位区分存储,以并行方式执行舍项长度以内概率信息的更新和舍项长度以外软输出的计算。
本发明当中,通过以并行方式进行舍项长度以内概率信息的更新和舍项长度以外软输出的计算,故能够以较少的每一时钟的运算量或对存储器的存取量来满足,实现高速动作。
具体来说,本发明为一种卷积码软输出解码装置,包括:求得卷积码各迁移状态概率信息的概率计算手段;存储所述概率计算手段求得的所述概率信息的概率存储手段;以及用所述概率存储手段存储的所述概率信息求得软输出的软输出计算手段,其特征在于,所述概率存储手段存储舍项长度以上的所述概率信息,以并行方式执行所述概率存储手段对舍项长度以内概率信息的更新,和所述软输出计算手段对舍项长度以外软输出的计算。
此外,本发明为一种卷积码软输出解码方法,包括:求得卷积码各迁移状态概率信息的第一步骤;将舍项长度以上该第一步骤求得的所述概率信息存储在记录媒体中的第二步骤;以及用该第二步骤记录媒体存储的所述概率信息求得软输出的第三步骤,其特征在于,以并行方式执行所述第二步骤对舍项长度以内概率信息的更新,和所述第三步骤对舍项长度以外软输出的计算。
附图简要说明
图1是BCJR算法中αt,βt,γt,内容的说明图。
图2是SW-BCJR算法内容的说明图。
图3是示意应用本发明的通信模型的框图。
图4是示意上述通信模型中卷积编码器构成的框图。
图5示出的是上述卷积编码器的格子结构。
图6是示意上述通信模式中解码器构成的框图。
图7是上述通信模型中软输出计算步骤的说明图。
图8是示意上述解码器中Iγ计算存储电路构成的框图。
图9是说明构成上述Iγ计算存储电路的RAM等动作所用的时序图。
图10是示意上述解码器中Iα计算存储电路构成的框图。
图11是示意上述Iα计算存储电路中Iα计算电路构成的框图。
图12是示意上述Iα计算电路中加法比较选择电路构成的框图。
图13是说明构成上述Iα计算存储电路的寄存器、RAM等动作所用的时序图。
图14是示意上述Iβ计算存储电路构成的框图。
图15是示意上述Iβ计算存储电路中Iβ计算电路构成的框图。
图16是示意上述Iβ计算电路中加法比较选择电路构成的框图。
图17是说明构成上述Iβ计算存储电路的寄存器等动作所用的时序图。
图18是示意上述解码器中软输出计算电路构成的框图。
图19是示意上述软输出计算电路中Iλ1计算电路构成的框图。
图20是示意上述软输出计算电路中Iλ0计算电路构成的框图。
图21是说明上述软输出计算电路动作所用的时序图。
图22A、图22B、图22C和图22D是上述Iγ计算存储电路中存储器管理内容的说明图。
图23是上述存储器管理的时序图。
图24是示意SW-Log-BCJR算法相对应的加法比较选择电路构成的框图。
图25是示意上述解码器中Iγ计算存储电路其他构成例的框图。
图26是说明上述Iγ计算存储电路动作所用的时序图。
图27是示意上述解码器中Iβ计算存储电路其他构成例的框图。
图28是说明上述Iβ计算存储电路动作所用的时序图。
实施发明的最佳方式
以下参照附图具体说明本发明实施例。
本发明适用例如图3所示构成的通信模型1。该通信模型1中,由卷积编码器2对数字信息D0进行卷积编码,通过有噪声的无记忆信道3将该经过卷积编码的数据序列提供给解码器4,由解码器4对经过卷积编码的数据序列的软输出进行解码。
该通信模型1中卷积编码器2,是对1位输入输出2位的1∶2的编码器。该卷积编码器2如图4所示,由输入1位输入it的输入端子21,输出2位输出Xt的输出端子22a、22b,3个EX·OR电路(Exclusive OR电路,以下称为“异或电路”)23~25,和2个寄存器26、27所构成。
输入端子21与输出端子22a连接,并与异或电路23的输入端连接。异或电路23的输出端与寄存器26输入端连接,并与异或电路24的输入端连接。异或电路24的输出端与输出端子22b连接。寄存器26的输出端与寄存器27输入端连接,并与异或电路25输入端连接。寄存器27的输出端与异或电路24输入端连接,并与异或电路25输入端连接。而且,异或电路25的输出端与异或电路23输入端连接。
该卷积编码器2中,提供给输入端子21的1位输入it,按原样由输出端子22a输出,并输入至异或电路23。异或电路23通过寄存器26和寄存器26、27将上述输入it和异或电路24输出之异或逻辑输出提供给异或电路25,反馈上述异或电路24的异和逻辑输出。而该异或电路23直接或通过上述寄存器26、27,将上述输入it和上述异或电路25的异或逻辑输出之异或逻辑输出提供给异或电路25。而上述异或电路25则将上述异或电路23的异或逻辑输出和上述寄存器27输出之异或逻辑输出当作另1位,由输出端子22b输出。
该卷积编码器2如上所述构成,输入端子21一旦有1位输入it输入,便由输出端子22a、22b输出2位输出序列Xt。图5示出上述卷积编码器2的格子结构,状态数目M为4。
而且,该通信模型1中解码器4是根据SW-Max-Log-BCJR算法的解码器,是与图4所示约束长度3的卷积编码器2相对应的解码器。
该解码器4是按舍项长度D=4对经过无记忆信道3输入的编码器2的接收值Yt进行处理,然后输出一软输出λt。该解码器4如图6所示,包括:控制总体动作所用的控制器41;输入接收值Yt及事前概率信息Pr1=logPr{it=0}、Pr2=logPr{it=1}的输入端子42y、42p1、42p2;Iγ计算存储电路43;Iα计算存储电路44;Iβ计算存储电路45;软输出计算电路46;和输出软输出Iλt的输出端子47。
该解码器4与原来的SW-Max-Log-BCJR算法不同,为了对每一时间段进行解码,并非计算状态数目×舍项长度Iβt。具体来说,解码器4如图7所示,计算状态数目×舍项长度的Iβ(由βt~βt-D+1图示)之后,边计算此后续舍项长度以外的Iβ(由βt-D~βt-20+1图示)边依次计算其舍项长度以外的软输出,而且依次计算下一舍项长度的Iβ。这样,解码器4以并行方式计算舍项长度内的Iβ、倒推舍项长度以上的Iβ,每一时钟的Iβ计算为状态数目×2。
Iγ计算存储电路43由控制器41提供控制信号SCγ,同时由输入端子42y、42p1、42p2提供接收值Yt、事前概率信息Pr1、Pr2。Iγ计算存储电路43利用接收值Yt、事前概率信息Pr1、Pr2,对每一接收值Yt,按照式(18)计算并存储Iγ,然后按照各自处理所适合的顺序将Iγ提供给Iα计算存储电路44、Iβ计算存储电路45和软输出计算电路46。
该Iγ计算存储电路43,起到就每一接收值Yt,对由码型和接收值所确定的第一概率γ进行计算的第一计算手段的作用。另外,令Iγ计算存储电路43提供给Iα计算存储电路44的Iγ为Iγ(α),Iγ计算存储电路43提供给Iβ计算存储电路45的Iγ为Iγ(β1)、Iγ(β2),Iγ计算存储电路43提供给软输出计算电路46的Iγ为Iγ(λ)。
Iα计算存储电路44由控制器41提供控制信号SCα,同时由Iγ计算存储电路43提供Iγ(α)。该Iα计算存储电路44利用Iγ(α),按照式(16)计算并存储Iα,然后按照该处理所适合的顺序将Iα提供给软输出计算电路46。该Iα计算存储电路44,起到根据第一概率Iγ,就每一接收值Yt,对编码初始状态按时间序列顺序至各个状态的第二概率Iα进行计算的第二计算手段的作用。另外,令Iα计算存储电路44提供给软输出计算电路46的Iα为Iα(λ)。令提供给Iα计算存储电路44的Iγ为Iγ(α)。
Iβ计算存储电路45由控制器41提供控制信号SCβ,同时由Iγ计算存储电路43提供Iγ(β1)、Iγ(β2)。Iγ(β1)、Iγ(β2)间具有舍项长度×2的时间偏移。Iβ计算存储电路45利用Iγ(β1)、Iγ(β2),按照式(17)以并行方式计算并存储2个系统的Iβ,按该处理所适合的顺序提供给软输出计算电路46其当中1个系统的Iβ。该Iβ计算存储电路45构成第三计算手段,根据第一概率Iγ,就每一接收值Yt,计算舍项状态按照时间序列逆向顺序至各状态的第三概率Iβ。另外,令Iβ计算存储电路45提供给软输出计算电路46的Iβ为Iβ(λ)。
软输出计算电路46由Iγ计算存储电路43提供Iγ(λ),由Iα计算存储电路44提供Iα(λ),由Iβ计算存储电路45提供Iβ(λ)。该软输出计算电路46利用Iγ(λ)、Iα(λ)、Iβ(λ),按照式(19)计算Iλt,并按时间序列顺序重新排列输出。
接着说明Iγ计算存储电路43、Iα计算存储电路44、Iβ计算存储电路45和软输出计算电路46的具体构成。
图8示出Iγ计算存储电路43的构成。该Iγ计算存储电路43包括如下构成:分别输入接收值Yt、事前概率信息Pr1、Pr2、控制信号SCγ的输入端子301Y、301P1、301P2、301S;以及构成一数据表,以提供给输入端子301Y的接收值Yt作为读出地址信号,分别输出对各状态m的接收值Yt的概率IR(Yt|00)、IR(Yt|01)、IR(Yt|10)、IR(Yt|11)的ROM(只读存储器)302a~302d。
而且,Iγ计算存储电路43具有加法器303a、303b,用来对ROM302a、302b输出的概率IR(Yt|00)、IR(Yt|01),分别加上提供给输入端子301P1的事前概率信息Pr1,得到格子结构上[00]、[01]相对应的各分支概率Iγ[00]、Iγ[01],以及加法器303c、303d,用来对ROM302c、302d输出的概率IR(Yt|10)、IR(Yt|11),分别加上提供给输入端子301P2的事前概率信息Pr2,得到格子结构上[10]、[11]相对应的各分支概率Iγ[10]、Iγ[11]。
这里,加法器303a~303d输出的各个概率Iγ[00]~Iγ[11]的总位数,在编码率设定为k/n的组织状卷积编码当中,为位数×2n。因此,Iγ计算存储电路43将各个概率Iγ[00]~Iγ[11]设定为4位,总体按16位输出概率Iγ[00]、Iγ[01]、Iγ[10]、Iγ[11]。
而且,Iγ计算存储电路43具有:按照控制信号SCγ依次存储加法器303a~303d输出的各个概率Iγ[00]~Iγ[11],并按规定顺序输出的RAM(随机存取存储器)304a~304d;按照控制信号SCγ选择性地取出这些RAM304a~304d所输出的Iγ作为Iγ(α)、Iγ(β1)、Iγ(β2)、Iγ(λ)的选择电路308;以及输出Iγ(α)、Iγ(β1)、Iγ(β2)、Iγ(λ)的输出端子309a~309d。
图8所示的Iγ计算存储电路43,就每一接收值Yt,由ROM302a~302d输出对各状态m的接收值Yt的概率IR(Yt|00)、IR(Yt|01)、IR(Yt|10)、IR(Yt|11),由加法器303a~303d得到格子结构上输出[00]、[01]、[10]、[11]所对应的各分支概率Iγ[00]、Iγ[01]、Iγ[10]、Iγ[11]。然后,这些概率Iγ[00]~Iγ[11]依次存储于RAM304a~304d,按规定顺序读出,由选择电路308作为Iγ(α)、Iγ(β1)、Iγ(β2)、Iγ(λ)取出。
图9是示意RAM304a~304d管理的时序图。4个RAM304a~304d,按16位×4字存储容量的存储单元构成进行动作,以便能够分别存储舍项长度D、加法器303a~303d的输出数据Iγ[00]~Iγ[11],并依次循环存储概率Iγ[00]~Iγ[11](图9中A)。另外,该图9中,各个时刻t=1,2,3,…的概率Iγ[00]~Iγ[11]用γ1,γ2,γ3,…表示。
延迟相当于舍项长度D的2倍长度2D时间,从RAM304a~304d当中读出概率Iγ[00]~Iγ[11],由选择电路308将该概率Iγ[00]~Iγ[11]取出作为应提供给Iα计算存储电路44的概率Iγ(α)(图9中B)。
而且,交替地进行以下动作,即刚向RAM304a、RAM304b写入2D的概率Iγ[00]~Iγ[11]后不久按写入顺序相反顺序读出该概率Iγ[00]~Iγ[11],或刚向RAM304c、RAM304d写入2D长度的概率Iγ[00]~Iγ[11]后不久按写入顺序相反顺序读出该概率Iγ[00]~Iγ[11]。由选择电路308将该读出的概率Iγ[00]~Iγ[11]取出作为应提供给Iβ计算存储电路45的概率Iγ(β1)(图9中C)。
而且,交替地进行以下动作,即刚向RAM304b、RAM304c写入2D长度的概率Iγ[00]~Iγ[11]后不久按写入顺序相反顺序读出该概率Iγ[00]~Iγ[11],或刚向RAM304d、RAM304a写入2D长度的概率Iγ[00]~Iγ[11]后不久按写入顺序相反顺序读出该概率Iγ[00]~Iγ[11]。由选择电路308将该读出的概率Iγ[00]~Iγ[11]取出作为应提供给Iβ计算存储电路45的概率Iγ(β2)(图9中D)。
此外,RAM304a~304d各自写入舍项长度D的概率Iγ[00]~Iγ[11]后经过2D之后,按写入顺序相反顺序读出该概率Iγ[00]~Iγ[11]。由选择电路308将该概率Iγ[00]~Iγ[11]取出作为应提供给软输出计算电路46的概率Iγ(λ)(图9中E)。
图10示出Iα计算存储电路44的构成。该Iα计算存储电路44具有:分别输入概率Iγ(α)、控制信号SCα的输入端子401、402;利用输入端子401提供的概率Iγ(α)和寄存器405设定的前一时刻的Iα,按照式(16)计算Iα的Iα计算电路403;以及选择Iα计算电路403输出的Iα和初始值Iα0中任一个对寄存器405进行设置的选择器404。
选择器404根据控制信号SCα,在初始化时间点才选择初始值Iα0,其他时间点则选择Iα计算电路403的输出数据。在Iγ计算存储电路43开始输出概率Iγ(α)的前一时刻的时间点上进行初始化。这里,对于初始值Iα0,接收设备一侧知道编码的始发点时,状态0的值可给出log1(=0),其他状态值可给出log0(=-∞)。而接收设备一侧不知道编码的始发点时,根据定义便对全部状态给出log1/M(本例中为log1/4),但实际上对全部状态为相同值即可,例如也可以对全部状态赋0。
图11示出Iα计算电路403的构成。该Iα计算电路403具有4个加法比较选择电路411a~411d所构成。Iγt[00]~Iγt[11]和前一时刻的Iαt-1(0)~Iαt-1(3),根据格子结构上的迁移,分配给加法比较选择电路411a~411d。各加法比较选择电路411a~411d中,选择Iα和Iγ相加的2个相加结果当中大的结果,求得下一时刻各个状态的Iα。
对加法比较选择电路411a提供Iγt[00]、Iγt[11],同时提供Iαt-1(0)、Iαt-1(2),计算状态0的概率Iαt(0)。对加法比较选择电路411b提供Iγt[11]、Iγt[00],同时提供Iαt-1(2),计算状态1的概率Iαt(1)。
对加法比较选择电路411c提供Iγt[10]、Iγt[01],同时提供Iαt-1(1)、Iαt-1(3),计算状态2的概率Iαt(2)。而对加法比较选择电路411d提供Iγt[01]、Iγt[10],同时提供Iαt-1(1)、Iαt-1(3),计算状态3的概率Iαt(3)。
各加法比较选择电路411a~411d,如图12所示具有共同构成。现就加法比较选择电路411a说明如下。由加法器421使Iγt[00](图3中至状态0的虚线分支概率)和Iαt-1(0)(图3中至前一时刻状态0的概率)相加。而且,由加法器422使Iγt[11](图5中至状态0的实线分支概率)和Iαt-1(2)(图5中至前一时刻状态2的概率)相加。接着,用比较电路423比较加法器421、422的相加结果,选择器424将加法器421、422相加结果当中大的结果取出作为概率Iαt(0)。尽管省略说明,加法比较选择电路411b~411d也同样。
再回到图10,Iα计算存储电路44具有:按照控制信号SCα,依次存储寄存器405输出的概率Iα(0)~Iα(3),并按规定顺序输出的RAM406、407;按照控制信号SCα,选择性地取出这些RAM406、407输出的Iα作为Iγ(λ)的选择电路408;以及输出该Iα(λ)的输出端子409。这里,若Iα位数设定为8位,Iα计算电路403输出的概率Iαt(0)~Iαt(3)的位数便为32位。RAM406、407将该32位作为1个字进行记录。
图10所示的Iα计算存储电路44中,按Iγ计算存储电路43刚开始输出概率Iγ(α)(参照图9中B、图13中A)之前时间点进行初始化。初始化,由选择器404选择初始值Iα0,在寄存器405中设定初始值Iα0(Iα0[00]~Iα0[11])(图13中B)。然后从后续时钟周期开始,Iα计算电路403中,根据Iγ计算存储电路43提供的概率Iγ(α)和寄存器405输出的概率Iαt-1,依次计算下一时刻的Iαt(图13中B),重新将该Iαt存储于寄存器405中。另外,图13中分别用α1,α2,α3,…表示各时刻t=1,2,3,…相对应的概率Iα(0)~Iα(3)。
图10中C、D表示RAM406、407的管理。2个RAM406、407,按32位×4字存储容量的存储单元构成动作,以便能够分别存储舍项长度D、寄存器的输出数据即概率Iα(0)~Iα(3),并依次循环存储Iα(0)~Iα(3)(图13中C)。
而且,交替地进行以下动作,即刚向RAM406写入舍项长度D的概率Iα(0)~Iα(3)后不久按写入顺序相反顺序读出该概率Iα(0)~Iα(3),或刚向RAM407写入舍项长度D的概率Iα(0)~Iα(3)后不久按写入顺序相反顺序读出该概率Iα(0)~Iα(3)。由选择电路408将该读出的概率Iα(0)~Iα(3)取出作为应提供给软输出计算电路46的概率Iα(λ)(图13中D)。
图14示出Iβ计算存储电路45的构成。该Iβ计算存储电路45具有:分别输入概率Iγ(β1)、Iγ(β2)、控制信号SCβ的输入端子501、502、503;利用输入端子501提供的概率Iγ(β1)和寄存器506设定的概率Iβ,按照式(17)计算Iβ的Iβ计算电路504;以及选择Iβ计算电路504输出的Iβ和初始值Iβa中任一个设置于寄存器506中的选择器505。
选择器505根据控制信号SCβ,在初始化时间点才选择初始值Iβa,其他时间点则选择Iβ计算电路504的输出数据。在Iγ计算存储电路43刚开始输出概率Iγ(β1)之前时间点上进行初始化,而且此后每一2D(D为舍项长度)周期进行初始化。因此,对于初始值Iβa,通常对全部状态赋相同值,例如0或log1/M(本例中为log1/4),但对所终结的代码进行解码时,对于所终结状态的值赋log1(=0),但对于其他状态的值可赋log0(=-∞)。
图15示出Iβ计算电路504的构成。该Iβ计算电路504具有4个加法比较选择电路511a~511d所构成。Iγt[00]~Iγt[11]和Iβt(0)~Iβt(3),根据格子结构上的迁移,分配给加法比较选择电路511a~511d。各加法比较选择电路511a~511d中,选择Iβ和Iγ相加的2个相加结果当中大的结果,求得前一时刻各个状态的Iβ。
对加法比较选择电路511a提供Iγt[00]、Iγt[11],同时提供Iβt(0)、Iβt(1),计算状态0的概率Iβt-1(0)。对加法比较选择电路511b提供Iγt[10]、Iγt[01],同时提供Iβt(2)、Iβt(3),计算状态1的概率Iβt-1(1)。
对加法比较选择电路511c提供Iγt[11]、Iγt[00],同时提供Iβt(0)、Iβt(1),计算状态2的概率Iβt-1(2)。而对加法比较选择电路511d提供Iγt[01]、Iγt[10],同时提供Iβt(2)、Iβt(3),计算状态3的概率Iβt-1(3)。
各加法比较选择电路511a~511d,如图16所示具有共同构成。现就加法比较选择电路511a说明如下。由加法器521使Iγt[00](图3中至状态0的虚线分支概率)和Iβt(0)(图5中舍项长度终点在时间轴上倒推至状态0的概率)相加。而且,由加法器522使Iγt[11](图5中至状态0的实线分支概率)和Iβt(1)(图5中舍项长度终点在时间轴上倒推至状态1的概率)相加。接着,用比较电路523比较加法器521、522的相加结果,选择器524将加法器521、522相加结果当中大的结果取出作为概率Iβt-1(0)。尽管省略说明,加法比较选择电路511b~511d也同样。
再回到图14,Iβ计算存储电路45具有:利用输入端子502提供的概率Iγ(β2)和寄存器509中设定的概率Iβ,按照式(17)计算Iβ的Iβ计算电路507;以及选择Iβ计算电路507输出的Iβ和初始值Iβb中任一个设置于寄存器509中的选择器508。
选择器508根据控制信号SCβ,在初始化时间点才选择初始值Iβb,其他时间点则选择Iβ计算电路507的输出数据。在Iγ计算存储电路43刚开始输出概率Iγ(β2)之前时间点上进行初始化,而且此后每隔2D(D为舍项长度)周期进行初始化。这里,对于初始值Iβb,也与上述初始值Iβa相同设定。另外,尽管省略详细说明,但Iβ计算电路507与上述Iβ计算电路504(参照图15、图16)相同构成。
而Iβ计算存储电路45具有:按照控制信号SCβ,选择性地取出寄存器506、509输出的Iβ(0)~Iβ(3)作为Iβ(λ)的选择电路510;以及输出该Iβ(λ)的输出端子512。这里,若Iβ位数为8位,Iβ计算电路504、507分别输出的概率Iβt-1(0)~Iβt-1(3)的位数便为32位。
图14所示的Iβ计算存储电路45中,在Iγ计算存储电路43刚开始输出概率Iγ(β1)(参照图9中C、图17中A)之前时间点以及此后每隔2D周期对寄存器506进行初始化。该初始化,由选择器505选择初始值Iβa,在寄存器506中设定初始值Iβa。接着从后续时钟周期开始,Iβ计算电路504中,根据Iγ计算存储电路43提供的概率Iγ(β1)和寄存器506输出的Iβt,依次计算前一时刻的Iβt-1,重新将该Iβt-1存储于寄存器506中,成为下一时钟时间点的输出(图17中C)。另外,图17中分别用β1,β2,β3,…表示各时刻t=1,2,3,…相对应的概率Iβ(0)~Iβ(3)。
而且,在Iγ计算存储电路43刚开始输出概率Iγ(β2)(参照图9中D、图17中B)之前时间点以及此后每隔2D周期对寄存器509进行初始化。该初始化,由选择器508选择初始值Iβb,在寄存器509中设定初始值Iβb。接着从后续时钟周期开始,Iβ计算电路507中,根据Iγ计算存储电路43提供的概率Iγ(β2)和寄存器509输出的Iβt,依次计算前一时刻的Iβt-1,重新将该Iβt-1存储于寄存器509中,成为下一时钟时间点的输出(图17中D)。接着,选择电路510如图17中E所示选择性地取出寄存器506、509的输出,得到应提供给软输出计算电路46的概率Iβ(λ)。
图18示出软输出计算电路46的构成。该软输出计算电路46具有:分别输入概率Iα(λ)、Iβ(λ)、Iγ(λ)的输入端子601、602、603;利用这些概率Iα(λ)、Iβ(λ)、Iγ(λ),分别计算式(19)右边第1项、第2项的Iλ1计算电路604、Iλ0计算电路605;用上述计算电路604的输出Iλ1减去计算电路605的输出Iλ0得到式(19)的Iλt的减法器606;将该减法器606输出的Iλt按时间序列顺序重新排列输出的LIFO(后进先出)存储器607;以及输出该软输出Iλt的输出端子608。
图19示出Iλ1计算电路604的构成。该Iλ1计算电路604具有4个加法器604a~604d和最大值选择电路604e所构成。根据格子结构上的状态迁移,将信号如下分配给加法器604a~604d。具体来说,向加法器604a提供Iαt-1(0)、Iβt(1)、Iγt[11],向加法器604b提供Iαt-1(1)、Iβt(2)、Iγt[10],向加法器604c提供Iαt-1(2)、Iβt(0)、Iγt[11],此外向加法器604d提供Iαt-1(3)、Iβt(3)、Iγt[10]。
接着,由最大值选择电路604e选择各加法器604a~604d加法结果的最大值,该最大值输出作为Iλ1。
同样,图20示出Iλ0计算电路605的构成。
该Iλ0计算电路605具有4个加法器605a~605d和最大值选择电路605e所构成。根据格子结构上的状态迁移,将信号如下分配给加法器605a~605d。具体来说,向加法器605a提供Iαt-1(0)、Iβt(0)、Iγt[00],向加法器605b提供Iαt-1(1)、Iβt(3)、Iγt[01],向加法器605c提供Iαt-1(2)、Iβt(1)、Iγt[00],此外向加法器605d提供Iαt-1(3)、Iβt(2)、Iγt[01]。
接着,由最大值选择电路605e选择各加法器605a~605d加法结果的最大值,该最大值输出作为Iλ0。
图18所示的软输出计算电路46向输λ端子601、602、603分别提供概率Iα(λ)、Iβ(λ)、Iγ(λ)(图21中A、B、C)。接着,每一时钟周期,Iλ1计算电路604对式(19)右边第1项进行计算得到Iλ1,Iλ0计算电路605对式(19)右边第2项进行计算得到Iλ0,由减法器606输出各时刻t的Iλt(图21中D)。接着,由减法器606依次输出的Iλt提供给LIFO存储器607,进行重新排列,由该LIFO存储器607输出按时间序列顺序重新排列的软输出Iλt。另外,图21中分别用λ1,λ2,λ3,…表示各时刻t=1,2,3,…相对应的软输出Iλt。
接着,用附图进一步详细地说明上述解码器4中利用控制器41进行的管理。图22A、图22B、图22C、图22D,通过按时间序列顺序图示寄存器405、RAM406、407、寄存器506、509的存储内容和输出,来示意存储管理内容。RAM304a~304d,RAM406、407当中,“↓”标记指对所指令的地址写入,而“↑”标记则指从所指令的地址当中读出。
图22A、图22B、图22C、图22D当中,在例如t=13时,同时进行如下(1)~(6)的操作。
(1)在RAM304d中存储Iγ13。
(2)根据寄存器405输出的Iα4和RAM304b输出的Iγ5求得Iα5,重新存储于寄存器405中。
(3)在RAM407中存储寄存器405输出的前一时刻求得的Iα4。
(4)根据寄存器506输出的Iβ4和RAM304a输出的Iγ4求得Iβ3,重新存储于寄存器506中。
(5)根据寄存器509输出的Iβ12和RAM304c输出的Iγ12求得Iβ11,重新存储于寄存器509中。
(6)根据寄存器506输出的Iβ4、RAM304a输出的Iγ4和RAM406输出的Iα3求得Iλ4。
对于其他时刻也进行相同的动作。通过对此重复,可每一时刻求得λt。但该方法中,λt是按原来时间序列的逆向顺序求出的,因而如上所述利用LIFO存储器607,将软输出λt按原来的时间序列顺序重新排列后输出。图23示出根据以上操作的存储管理t=13~t=20的时序图。
如上所述,本实施例中以并行方式进行舍项长度内Iβ的计算(图14中利用Iβ计算电路507进行的计算)和倒推舍项长度以上的Iβ的计算(图14中利用Iβ计算电路504进行的计算),每一时钟的Iβ计算为状态数目×2。因此,与现有的SW-Max-Log-BCJR算法相比,可大幅度减少计算量。而且,每一时钟对于各存储器的存取,一次便完成。因而,按照本实施例,可高速地对卷积码进行解码动作。
另外,上述实施例中的存储管理,并非取决于Iα、Iβ、Iγ的计算方法,例如,Iγ计算法也可以采用除了参照ROM数据表以外的其他方法。
而图11、图15、图19、图20所示计算电路中,也可通过加入式(20)所示修正安装SW-Log-BCJR算法。接下来,说明根据SW-Log-BCJR算法求得软输出Iλt的情形。
以图11电路中加入式(20)所示修正的情形为例加以说明。
为了加入式(20)所示修正,需要将各加法比较选择电路411a~411d从图12所示构成,变换为图24所示构成。该图24中,与图9相对应部分加上相同标号来表示。
现说明加法比较选择电路411a。由加法器421使Iγt[00]和Iαt-1(0)相加。而由加法器422使Iγt[11]和Iαt-1(2)相加。接着,用减法器426使加法器421、422的加法结果x、y相减,该相减结果(x-y)提供给正负判定电路427。正负判定电路427当相减结果(x-y)为0以上时输出“1”信号,比0小时输出“0”信号。
正负判定电路427的输出信号作为选择信号SEL提供给选择器424。选择信号SEL为“1”信号时取出加法器421的加法结果x,而选择信号SEL为“0”信号时取出加法器422的加法结果y。因此,选择器424便有选择地取出加法器421、422的相加结果x、y当中大的结果,可进行相当于式(20)右边第1项的运算。
而且,将减法器426的相减结果(x-y)提供给绝对值计算电路428,计算出绝对值|x-y|。接着,将该绝对值|x-y|作为读出地址信号提供给构成数据表的ROM429,从ROM429当中得到式(20)右边第二项log(1+e-|x-y|)。接着,加法器430将选择器424的输出信号max(x-y)和ROM429的输出信号log(1+e-|x-y|)相加,该相加结果可作为概率Iαt(0)输出。该概率Iαt(0)依据的是SW-Log-BCJR算法。另外,尽管省略说明,但对于加法比较选择电路411b~411d也一样。
以上说明图11电路中加入式(20)所示修正的情形,但对图15、图19、图20所示电路也可同样进行式(20)所示修正,因此可安装SW-Log-BCJR算法。
另外,上述实施例中,是以约束长度=3、舍项长度=4的情形为例的,但约束长度、舍项长度可以是该值以外的任意值。而且,即便存储器读写内容相同,可通过利用多端口RAM而非单端口RAM,将例如RAM304a~304d调换为2个双端口RAM,或将RAM406、407调换为1个双工RAM等,RAM的构成可进行种种变形。
而且,在RAM中存储Iβ并非Iα等存储管理方面,可以有种种变形。此外,以上例采取的是SW-Max-Log-BCJR算法和SW-Log-BCJR算法,但这也可考虑对其他软输出解码算法应用等种种变形。
另外,上述实施例中,是从RAM304a~304d当中延迟与舍项长度2倍长度2D相当的时间读出概率Iγ[00]~Iγ[11],对软输出解码的,但概率信息的延迟时间不限于舍项长度D的2倍长度2D,也可以为舍项长度D以上。
也可以如例如图25所示,在上述图8所示Iγ计算存储电路43中增加RAM304e,使概率信息延迟与舍项长度D的3倍长度3D相当的时间。
该图25所示构成的Iγ计算存储电路43,在RAM304a~304e中依次存储与加法器303a~303d得到的格子结构上的输出[00]、[01]、[10]、[11]对应的各分支概率Iγ[00]、Iγ[01]、Iγ[10]、Iγ[11](图26中A),输出延迟相当于舍项长度D的3倍长度3D时间保存的数据Iγ[00]~Iγ[11]。接着,选择电路308将这样延迟输出的概率Iγ[00]~Iγ[11]作为概率Iγ(α)向Iα计算存储电路13输出(图26中B、C)。
而且,RAM304a~304d和选择电路308,将概率Iγ[00]~Iγ[11]按舍项长度D单位分区,在各舍项长度D的终端在时间轴方向上经过舍项长度D的时间点上设定基准时间点。RAM304a~304d和选择电路308,一旦保存有上述各基准时间点前舍项长度D的2倍所对应的概率Iγ[00]~Iγ[11],便按输入顺序逆向顺序输出上述概率Iγ[00]~Iγ[11]。由此,RAM304a~304e和选择电路308将概率Iγ[00]~Iγ[11]输出作为对Iβ计算存储电路45的第一概率Iγ(β1)(图26中D、E),而且按同样顺序,将相对该第一概率Iγ(β1)延迟舍项长度D的概率Iγ所构成的概率Iγ[00]~Iγ[11]输出作为对Iβ计算存储电路45的第二概率Iγ(β2)(图26中F、G)
反之,RAM304a~304e和选择电路308,对于给软输出计算电路46的概率Iγ(λ),按给Iα计算存储电路44的顺序输出按延迟规定时间的定时保存的概率Iγ[00]~Iγ[11]。因此,Iγ计算存储电路43按照与Iα计算存储电路44、Iβ计算存储电路45、软输出计算电路46的处理相对应顺序输出第一概率Iγ。
而且Iβ计算存储电路45如图27所示,通过RAM513、514向选择电路510提供Iβ计算电路504、507计算得到的概率βt-1(0)~βt-1(3)。
该图27所示的Iβ计算存储电路45当中,Iβ计算电路504、507,以分别由寄存器506、509输入的超前1时钟周期的概率βt(0)~βt(3)为基准,根据Iγ计算存储电路43输出的第一概率Iγ(β1)和第二概率Iγ(β2),计算接收值Yt倒推至各状态的概率βt-1(0)~βt-1(3)。
具体来说,该Iβ计算存储电路45中,选择器505、508根据控制信号SCβ将分别由Iβ计算电路504、507输出的超前1时钟周期的概率βt(0)~βt(3)或初始值Iβa、Iβb选择输出至寄存器506、509。
这里,初始值Iβa、Iβb如上所述,通常对全部状态赋相同值,例如0或log1/M(本例中为log1/4),但对所终结的代码进行解码时,对于所终结状态的值赋log1(=0),但对于其他状态的值可赋log0(=-∞)。
接着,选择器505、508如图28所示,与以上述舍项长度D的2倍长度2D为单位并倒推时间序列的第一概率Iγ(β1)和第二概率Iγ(β2)的重复相对应,分别对第一概率Iγ(β1)和第二概率Iγ(β2)进行重复,但以该长度2D为单位切换的1时钟周期前的定时将初始值Iβa、Iβb选择输出至寄存器506、509(图28中A、B、D、E)。而且,除此以外的定时中,选择输出Iβ计算电路504、507输出的超前1时钟周期的概率βt(0)~βt(3)。
而且,RAM513、514按所具有的容量分别能够存储舍项长度的概率βt-1(0)~βt-1(3)的存储单元组成来形成,根据这样位移舍项长度、且以舍项长度D的2倍周期为单位得到的概率βt-1(0)~βt-1(3)(图28中B~D),依次循环输入分别由后半舍项长度部分得到的概率βt-1(0)~βt-1(3)。因此RAM513、514有选择地读取以初始值Iβa、Iβb为基准计算的2系统概率βt-1(0)~βt-1(3)中可靠性更为充分的部分。此外,RAM513、514按时间序列顺序输出这样存储的概率βt-1(0)~βt-1(3)。
该Iβ计算存储电路45,在至少对于第一概率Iγ设定的各基准时间点所对应的舍项长度范围内,按多个序列以同时并行方式处理第一概率Iγ,按多个序列计算第三概率Iβ,便根据这些多个序列的概率Iβ选择输出舍项长度的概率Iβ。另外,本实施例中,这些基准时间点接着各舍项长度设定为后续舍项长度的终止时间点。
接着,选择电路510按这样的顺序,从RAM513、514当中,将以舍项长度D为单位交替输出的概率βt-1(0)~βt-1(3)输出至软输出计算电路15。
以上构成当中,输入it在卷积编码器2中按约束长度3进行卷积编码处理,这里变换为状态数目m为4的输出序列Xt,该输出序列Xt经过无记录信道3输入解码器4。该解码器4中,输入信号靠模拟数字变换处理,检测出接收值Yt,该接收值Yt输入至Iγ计算存储电路43。
该Iγ计算存储电路43中,接收值Yt,根据各状态对应的ROM302a~302d的数据表,计算各状态所对应的接收值Yt的概率(式(16)右边第1项),由加法器303a~303d与初始值logPr{it=0}、logPr{it=1}相加,因此按时间序列依次计算各状态m对应的第一概率Iγ(图26中A)。
这样计算出的第一概率Iγ,依次存储于以舍项长度D为单位形成的存储单元构成RAM304a~304e,延迟与舍项长度D的3倍相对应的时间,按时间序列顺序输出至Iα计算存储电路43(图26中C)。因此,按该Iα计算存储电路43中处理所适合的顺序、定时向Iα计算存储电路43输出第一概率Iγ(α)。
而且,第一概率Iγ按舍项长度D为单位分区,按各舍项长度D再经过舍项长度时间的时间点设定各基准时间点,在各舍项长度所对应的基准时间点之前存储于RAM304a~304e的话,便按各基准时间点沿时间轴逆向顺序输出至Iβ计算存储电路45(图26中D~G)。这时的基准时间点,通过设定为后续舍项长度终止时间点,第一概率Iγ在1舍项长度所对应的基准时间点之前部分输出尚未完毕的过程中,开始后续的1舍项长度所对应的基准时间点之前部分输出,由此根据1舍项长度内容和定时偏移的2系统,按时间轴逆向顺序输出至Iβ计算存储电路45(图26中D~G)。因此,按Iβ计算存储电路45中处理所适合的顺序、定时,向该Iβ计算存储电路45输出2系统的第二概率Iγ(β1)、Iγ(β2)。
而且,第一概率Iγ与至Iα计算存储电路44的输出相同,延迟规定时间,按时间序列顺序,并按软输出计算电路46中处理所适合的顺序和定时输出至软输出计算电路46。
接着,Iα计算存储电路44中,根据第一概率Iγ计算每一接收值在时间轴方向上至各状态的第二概率α(λ),按软输出计算电路46中处理所适合的顺序和定时输出至软输出计算电路46。
反之,Iβ计算存储电路45中,在时间轴逆向顺序上输入的2系统概率Iγ(β1)、Iγ(β2),分别在Iβ计算电路504、507中与1时钟后相对应状态的概率βt相加后,选择值大的结果,由此计算每一状态在时间轴逆向方向上的概率。此外,这样依次计算出的概率由选择器505、508有选择地与初始值Iβa、Iβb一起反馈至Iβ计算电路504、507,以同时并行方式计算上述基准时间点在时间轴逆向方向上的概率(图28中A、B、D、E)。
这样计算出的2系统概率,有选择地存储和输出远离基准点但有足够可靠性的舍项长度的概率。这时,通过RAM513、514选择输出概率时,上述概率Iβ(λ)按与存储时相反的时间轴顺序重新排列,输出至软输出计算电路46。由此,第三概率Iβ(λ)也按时间序列按软输出计算电路46中处理相对应顺序输出。
软输出计算电路46中,如图7所示,可在未重新排列所输入的概率Iα(λ)、Iβ(λ)、Iγ(λ),而且未重新排列所计算的软输出Iλ的情况下处理,因此可由简单的构成得到软输出。
而且,对1码元解码时,可通过2系统×状态数目的计算来计算第三概率Iβ,替代对约束长度×状态数目的计算,从而减小这部分运算处理量,使整体构成简化。
具体来说,这样输入至软输出计算电路46的概率Iα(λ)、Iβ(λ)、Iγ(λ),对每一相对应状态相加,这些最大值分别在每一输入值“1”和“0”时检测后,按与接收值Yt相对应时间序列顺序输出由减法器606相减得到的软输出Iλt。
象这样构成为,设定按舍项长度D对第一概率Iγ分区相对应的基准时刻,按各基准时刻以舍项长度概率Iγ为单位,按时间轴逆向顺序按多个系统输出并处理,通过按这时各自后续处理所适合的顺序输出第一、第二和第三概率Iγ、Iα、Iβ,可通过2系统×状态数目的计算,替代对约束长度×状态数目的计算,来得到各码元的软输出。这时,软输出计算电路中,可在未重新排列所输入的概率Iγ、Iα、Iβ或所计算的软输出Iλ的情况下计算软输出Iλ,因此可由简单的构成对软输出解码。
另外,上述实施例中,是对以舍项长度为单位设定基准时刻的情形说明的,但本发明不限于此,可根据需要在各种位置上设定基准时刻。而且,按照这样设定的基准时刻,在1基准时刻相对应的舍项长度之前的长度比上述实施例长时,按许多的系统输出这部分第一概率Iγ,而且,Iβ计算存储电路中,需要靠这样输出的概率Iγ相对应系统来处理。
而且,上述实施例中,是就按舍项长度=4计算软输出的情形进行说明的,但本发明不限于此,可以根据需要将舍项长度设定为各种长度。
此外,上述实施例中,是就按约束长度=3进行卷积编码处理的情形加以说明的,但本发明不限于此,可以广泛地适用于利用各种约束长度进行卷积编码处理的场合。
而且,上述实施例中,是就按SW-Max-Log-BCJR算法计算软输出的情形加以说明的,但本发明不限于此,也可以广泛地适用于按SW-Log-BCJR算法等各种软输出解码算法计算软输出的场合。
综上所述,按照本发明,存储舍项长度D以上的概率信息,通过以并行方式执行对舍项长度D以内概率信息的更新和舍项长度以外软输出的计算,可大幅度减少每一时钟的计算量和对各存储器的存取量,可高速地进行对卷积码的解码动作。而且,可获得这样一种软输出解码装置和软输出解码方法,通过按多个序列计算处理以舍项长度以上范围作为单位在时间轴逆向方向上至各状态的概率,来对软输出进行计算,按后续计算处理所适合的顺序输出这时计算出的概率,用简单的构成对软输出解码。
Claims (13)
1.一种卷积码软输出解码装置,包括:
求得卷积码各迁移状态概率信息的概率计算手段;
将所述概率计算手段求得的所述概率信息存储在记录媒体中的概率存储手段;以及
用所述记录媒体存储的所述概率信息求得软输出的软输出计算手段,
其特征在于,
所述概率存储手段在所述记录媒体中存储舍项长度以上的所述概率信息,
以并行方式执行所述概率存储手段对舍项长度以内概率信息的更新,和所述软输出计算手段对舍项长度以外软输出的计算。
2.如权利要求1所述的卷积码软输出解码装置,其特征在于,
所述概率计算手段和软输出计算手段,按对数的和运算计算所述概率的乘积运算,按对数的最大值运算计算所述概率的和运算。
3.如权利要求1所述的卷积码软输出解码装置,其特征在于,
所述概率计算手段和软输出计算手段,按对数的和运算计算所述概率的乘积运算,按对数的最大值运算和一元函数运算计算所述概率的和运算。
4.如权利要求1所述的卷积码软输出解码装置,其特征在于,
所述概率计算手段包括:
就每一接收值,计算由代码输出码型和所述接收值确定的第一概率的第一计算手段;
根据所述第一概率,就每一所述接收值,计算编码初始状态按时间序列顺序至各状态的第二概率的第二计算手段;以及
根据所述第一概率,就每一所述接收值,计算舍项状态按与所述时间序列顺序相反顺序至各状态的第三概率的第三计算手段,
所述概率存储手段在舍项长度以内更新的概率信息,为所述第三概率的信息。
5.如权利要求4所述的卷积码软输出解码装置,其特征在于,
所述第一概率计算手段由所述概率存储手段暂时保存所述第一概率,并按所述第二和第三概率计算手段、所述软输出计算手段各处理相对应顺序依次读出和输出,
所述第三概率计算手段按规定舍项长度单位区分所述第一概率,还按所述舍项长度在时间轴方向上设定所述基准时间点,至少将所述各基准时间点相对应的所述舍项长度范围作为单位,以同时并行方式按多个序列处理所述第一概率和按多个序列计算所述第三概率,按这样计算出的多个序列的所述第三概率选择所述舍项长度相对应的第三概率,由所述概率存储手段暂时保存所述接收值相对应的所述第三概率,按所述软输出计算手段处理相对应顺序依次读出和输出。
6.如权利要求5所述的卷积码软输出解码装置,其特征在于,
所述第一概率计算手段,
按时间轴顺序延迟规定时间,将所述概率存储手段暂时保存的第一概率输出至所述第二概率计算手段,
至少将所述各基准时间点相对应的所述舍项长度的所述第一概率包含在内的范围作为单位,以同时并行方式,按多个序列按时间轴逆向顺序,将所述概率存储手段暂时保存的第一概率输出至所述第三概率计算手段,
按时间轴顺序延迟规定时间,将所述概率存储手段暂时保存的所述第一概率输出至所述软输出计算手段。
7.如权利要求5所述的卷积码软输出解码装置,其特征在于,将所述基准时间点设定为后续的所述舍项长度结束时间点。
8.一种卷积码软输出解码方法,包括:
求得卷积码各迁移状态概率信息的第一步骤;
将舍项长度以上该第一步骤求得的所述概率信息存储在记录媒体中的第二步骤;以及
用该第二步骤记录媒体存储的所述概率信息求得软输出的第三步骤,
其特征在于,
以并行方式执行所述第二步骤对舍项长度以内概率信息的更新,和所述第三步骤对舍项长度以外软输出的计算。
9.如权利要求8所述的卷积码软输出解码方法,其特征在于,
所述第一步骤包括:
就每一接收值,依次计算由代码输出码型和所述接收值确定的第一概率的第一概率计算步骤;
根据所述第一概率,就每一所述接收值,计算在时间轴方向上至各状态的第二概率的第二概率计算步骤;
根据所述第一概率,就每一所述接收值,计算规定基准时间点起在时间轴逆向方向上至各状态的第三概率的第三概率计算步骤;以及
根据所述第一、第二和第三概率计算软输出的软输出计算步骤,
所述第三概率计算步骤,按规定舍项长度单位区分所述第一概率,还按所述舍项长度在时间轴方向上设定所述基准时间点,至少将所述各基准时间点相对应的所述舍项长度范围作为单位,以同时并行方式按多个序列处理所述第一概率和按多个序列计算所述第三概率,按这样计算出的多个序列的所述第三概率选择所述舍项长度相对应的第三概率,输出所述接收值相对应的所述第三概率,
所述第一概率计算步骤中,由概率存储手段暂时保存所述第一概率,并按所述第二和第三概率计算步骤、所述软输出计算步骤各处理相对应顺序依次读出和输出,所述第三概率计算步骤中,由概率存储手段暂时保存所述第三概率,按所述软输出计算步骤处理相对应顺序依次读出和输出。
10.如权利要求9所述的卷积码软输出解码方法,其特征在于,
所述第一概率计算步骤中,
按时间轴顺序延迟规定时间,将所述概率存储手段暂时保存的第一概率输出至所述第二概率计算步骤,至少将所述各基准时间点相对应的所述舍项长度的所述第一概率包含在内的范围作为单位,以同时并行方式,按多个序列按时间轴逆向顺序,将所述概率存储手段暂时保存的第一概率输出至所述第三概率计算步骤,按时间轴顺序延迟规定时间,将所述概率存储手段暂时保存的第一概率输出至所述软输出计算步骤。
11.如权利要求9所述的卷积码软输出解码方法,其特征在于,将所述基准时间点设定为后续的所述舍项长度结束时间点。
12.如权利要求9所述的卷积码软输出解码方法,其特征在于,所述第一、第二和第三概率计算步骤,和所述软输出计算步骤中,按对数的和运算计算所述概率的乘积运算,按对数的最大值运算计算所述概率的和运算。
13.如权利要求9所述的卷积码软输出解码方法,其特征在于,所述第一、第二和第三概率计算步骤,和所述软输出计算步骤中,按对数的和运算计算所述概率的乘积运算,按对数的最大值运算和一元函数运算计算所述概率的和运算。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14676298 | 1998-05-28 | ||
JP146762/1998 | 1998-05-28 | ||
JP238987/1998 | 1998-08-25 | ||
JP23898798 | 1998-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1272253A true CN1272253A (zh) | 2000-11-01 |
CN1144378C CN1144378C (zh) | 2004-03-31 |
Family
ID=26477498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB998008192A Expired - Fee Related CN1144378C (zh) | 1998-05-28 | 1999-05-17 | 卷积码软输出解码装置和软输出解码方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6192084B1 (zh) |
EP (2) | EP1017178A4 (zh) |
JP (1) | JP4178752B2 (zh) |
KR (1) | KR100544555B1 (zh) |
CN (1) | CN1144378C (zh) |
WO (1) | WO1999062183A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361397C (zh) * | 2002-08-06 | 2008-01-09 | 三星电子株式会社 | 特播解码装置和方法 |
CN100382435C (zh) * | 2001-10-25 | 2008-04-16 | Nxp股份有限公司 | 涡轮解码器系统中的可靠性值的非线性缩放 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563877B1 (en) * | 1998-04-01 | 2003-05-13 | L-3 Communications Corporation | Simplified block sliding window implementation of a map decoder |
US6580769B1 (en) * | 2000-02-14 | 2003-06-17 | Motorola, Inc. | Method and apparatus for backward recursion next state generation in recursive convolutional decoding |
US6516437B1 (en) * | 2000-03-07 | 2003-02-04 | General Electric Company | Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates |
US6757859B1 (en) * | 2000-05-01 | 2004-06-29 | Zarlink Semiconductor Inc. | Parallel turbo trellis-coded modulation |
JP3613134B2 (ja) * | 2000-05-12 | 2005-01-26 | 日本電気株式会社 | 高速ターボデコーダ |
JP3514217B2 (ja) | 2000-06-29 | 2004-03-31 | 日本電気株式会社 | ターボ復号方法及び受信機 |
US6865710B2 (en) * | 2000-09-18 | 2005-03-08 | Lucent Technologies Inc. | Butterfly processor for telecommunications |
US7234096B2 (en) * | 2001-04-18 | 2007-06-19 | Sharp Kabushiki Kaisha | Decoding method and recording-medium reproducing apparatus |
EP1207625B1 (en) * | 2001-07-05 | 2005-05-11 | Nec Corporation | Method of decoding turbo-encoded data and receiver for decoding turbo-encoded data |
US7661059B2 (en) * | 2001-08-06 | 2010-02-09 | Analog Devices, Inc. | High performance turbo and Viterbi channel decoding in digital signal processors |
US7260770B2 (en) * | 2001-10-22 | 2007-08-21 | Motorola, Inc. | Block puncturing for turbo code based incremental redundancy |
US7107509B2 (en) * | 2002-08-30 | 2006-09-12 | Lucent Technologies Inc. | Higher radix Log MAP processor |
EP1543624A2 (en) | 2002-09-18 | 2005-06-22 | Koninklijke Philips Electronics N.V. | Method for decoding data using windows of data. |
US7346833B2 (en) * | 2002-11-05 | 2008-03-18 | Analog Devices, Inc. | Reduced complexity turbo decoding scheme |
US9071279B2 (en) * | 2004-05-18 | 2015-06-30 | Nxp, B.V. | Turbo decoder input reordering |
GB2416967B (en) * | 2004-07-29 | 2007-01-31 | Toshiba Res Europ Ltd | Turbo equalization in a MIMO digital wireless wideband system |
JP4840651B2 (ja) * | 2006-07-27 | 2011-12-21 | ソニー株式会社 | 復号装置および復号方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4038251A1 (de) * | 1990-11-30 | 1992-06-04 | Philips Patentverwaltung | Entzerrer fuer ein digitales uebertragungssystem |
IT1279114B1 (it) * | 1995-02-17 | 1997-12-04 | Cselt Centro Studi Lab Telecom | Procedimento per la ricezione di segnali affetti da interferenza intersimbolica e relativo dispositivo. |
JP3674111B2 (ja) * | 1995-10-25 | 2005-07-20 | 三菱電機株式会社 | データ伝送装置 |
US5721746A (en) * | 1996-04-19 | 1998-02-24 | General Electric Company | Optimal soft-output decoder for tail-biting trellis codes |
US5933462A (en) * | 1996-11-06 | 1999-08-03 | Qualcomm Incorporated | Soft decision output decoder for decoding convolutionally encoded codewords |
-
1999
- 1999-05-17 JP JP2000551487A patent/JP4178752B2/ja not_active Expired - Fee Related
- 1999-05-17 EP EP99919618A patent/EP1017178A4/en not_active Ceased
- 1999-05-17 EP EP03002220A patent/EP1311069A1/en not_active Withdrawn
- 1999-05-17 KR KR1020007000889A patent/KR100544555B1/ko not_active IP Right Cessation
- 1999-05-17 WO PCT/JP1999/002553 patent/WO1999062183A1/ja active IP Right Grant
- 1999-05-17 CN CNB998008192A patent/CN1144378C/zh not_active Expired - Fee Related
- 1999-05-25 US US09/318,584 patent/US6192084B1/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100382435C (zh) * | 2001-10-25 | 2008-04-16 | Nxp股份有限公司 | 涡轮解码器系统中的可靠性值的非线性缩放 |
CN100361397C (zh) * | 2002-08-06 | 2008-01-09 | 三星电子株式会社 | 特播解码装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1311069A1 (en) | 2003-05-14 |
JP4178752B2 (ja) | 2008-11-12 |
US6192084B1 (en) | 2001-02-20 |
KR20010022310A (ko) | 2001-03-15 |
EP1017178A4 (en) | 2001-02-21 |
KR100544555B1 (ko) | 2006-01-24 |
CN1144378C (zh) | 2004-03-31 |
WO1999062183A1 (fr) | 1999-12-02 |
EP1017178A1 (en) | 2000-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1144378C (zh) | 卷积码软输出解码装置和软输出解码方法 | |
CN1171391C (zh) | 交错方法、交错装置、涡轮编码方法以及涡轮编码装置 | |
CN1150680C (zh) | 自适应信道编码方法和装置 | |
CN1836394A (zh) | 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法 | |
CN1692557A (zh) | 编码设备、编码方法、编码程序、解码设备、解码方法、和解码程序 | |
CN1659785A (zh) | 信号多速率点阵矢量量化的方法和系统 | |
CN1526196A (zh) | 缩减的软输出信息分组的选择 | |
CN1124889A (zh) | 数据并行编码和译码的方法和装置 | |
CN101060629A (zh) | 图像压缩/解压方法及图像编/解码器和解码电路 | |
CN1496049A (zh) | 通信系统的信道编码方法 | |
CN101047733A (zh) | 短信处理方法以及装置 | |
CN1179488C (zh) | 包括结合正交调幅的穿孔乘积码的数字传输系统与方法 | |
CN1630204A (zh) | 具有矩阵转换技术的循环冗余码计算方法及系统 | |
CN1306698A (zh) | 移动通信系统中用于串行链接卷积码编码器中的交错装置和方法 | |
CN1317793A (zh) | 再现数据方法和装置及记录和/或再现数据的方法和装置 | |
CN1173480C (zh) | 维特比解码器和传输设备 | |
CN1685621A (zh) | 用于解交织通信设备中的交织数据流的方法和装置 | |
CN1208906C (zh) | 纠错编码方法、解码方法及其装置 | |
JP2001266501A (ja) | データ記録装置及びデータ記録方法、データ再生装置及びデータ再生方法、並びに、データ記録再生装置及びデータ記録再生方法 | |
CN1254121C (zh) | 特博码的解码方法 | |
CN1286275C (zh) | 纠错装置 | |
CN1968024A (zh) | 一种卷积码译码方法 | |
CN1493110A (zh) | 特播解码器、特播解码方法以及存储该方法的存储介质 | |
CN1160726C (zh) | 纠错装置和包含该装置的光盘阅读器 | |
CN1582555A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040331 Termination date: 20130517 |