CN1201494C - 最大后验概率译码方法和装置 - Google Patents
最大后验概率译码方法和装置 Download PDFInfo
- Publication number
- CN1201494C CN1201494C CNB998163554A CN99816355A CN1201494C CN 1201494 C CN1201494 C CN 1201494C CN B998163554 A CNB998163554 A CN B998163554A CN 99816355 A CN99816355 A CN 99816355A CN 1201494 C CN1201494 C CN 1201494C
- Authority
- CN
- China
- Prior art keywords
- probability
- reverse
- decode results
- calculate
- reverse probability
- 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
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/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/3723—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
-
- 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/3933—Decoding in probability domain
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
在MAP译码方法中,(1)以从第N反向概率到第一反向概率的相反方向,计算反向概率,离散保存第ms反向概率,第m(s-1)反向概率,…,第m2反向概率,并且连续保存第m1反向概率到第一反向概率,计算第一正向概率,通过使用第一正向概率以及保存的第一反向概率,获得第一译码结果,并以类似方式,获得第二到第m1译码结果。(2)其后,计算直到第(m1+1)反向概率的反向概率,并从保存的第m2反向概率开始保存,计算第(m1+1)正向概率,通过使用第(m1+1)正向概率以及保存的第(m1+1)反向概率,计算第(m1+1)译码结果,以同样方式获得第(m1+2)到第m2译码结果以及(3)以同样方式,获得第(m2+1)到第N译码结果。
Description
技术领域
本发明涉及最大后验概率(MAP)译码方法以及使用此译码方法的译码装置。更确切地说,本发明涉及用于在最大后验概率译码中计算反向概率,然后计算正向概率,从而降低所使用的存储量的最大后验概率译码方法和装置。
背景技术
将纠错码应用于各种***,其中纠错码用于改正所接收信息或重构信息中包含的差错,以便对原始信息进行正确译码。例如,当需要在进行移动通信、传真或其他数据通信时正确发送数据时,或者需要从诸如磁盘或CD之类的大容量存储介质正确重构数据时,应用纠错码。
在众多可用纠错码中,决定采用turbo码(见USP 5,446,747)作为下一代移动通信的标准。最大后验概率译码(MAP译码)证明了其在此类turbo码中的有效性。MAP译码方法是一种类似维特比译码的译码方法。
(a)维特比译码
对于输入第k项数据时的各主要状态,维特比译码使用通过对信息长度N的信息的编码获得的编码数据的第k项数据,选择通向具有较少差错的状态的两条路径中的一条路径,废除具有较多差错的路径,其后,对于输入最后的第N项数据时的各主要状态,以类似方式,选择通向具有较少差错的状态的两条路径中的一条路径,并使用在各状态所选路径中具有最小差错的路径,执行译码。译码结果为硬判决输出。
由于维特比译码方法是卷积码译码方法,所以首先说明卷积编码,然后再说明维特比译码。
图11表示卷积编码器的示例,该编码器具有一个2比特移位寄存器SFR和两个异或门EXOR1、EXOR2。EXOR1输出一个输入和R1之间的异或g0,EXOR2输出该输入和R1、R2之间的异或g1(当“1”的个数为奇数时,输出“1”,否则输出“0”。)。因此,图12表示输入数据为01101时,该输入和卷积编码器之输出之间的关系,以及移位寄存器SFR的状态。
将卷积编码器的移位寄存器SFR的内容定义为“状态”。如图13所示,有四种状态,即00、01、10和11,分别称为状态a、状态b、状态c和状态d。借助图11的卷积编码器,根据移位寄存器SFR的状态指示状态a到d中的哪个状态,并根据下一项输入数据是“0”还是“1”,唯一确定输出(g0,g1)和下一状态。图14表示卷积编码器的状态和其输入和输出之间的关系,其中虚线表示“0”输入,而实线表示“1”输入。
(1)如果在状态a输入“0”,则输出为00且状态为a;如果输入“1”,则输出为11且状态变为c。
(2)如果在状态b输入“0”,则输出为11且状态为a;如果输入“1”,则输出为00且状态变为c。
(3)如果在状态c输入“0”,则输出为01且状态变为b;如果输入“1”,则输出为10且状态变为d。
(4)如果在状态d输入“0”,则输出为10且状态变为b;如果输入“1”,则输出为01且状态变为d。
如果使用以上输入/输出关系,以格子表示图11所示卷积编码器的卷积编码,则图15(a)表示其结果,其中k表示输入第k比特的时刻,并且编码器的初始(k=0)状态为a(00)。虚线表示“0”输入,实线表示“1”输入,线路上的两个数值为输出(g0,g1)。因此,可以理解,如果在初始状态a(00)中输入“0”,则输出为00且状态为a,如果输入“1”,则输出为11且状态变为c。
通过参考上述格子形式的表示,可以理解,如果原始数据为11001,则经由图15(b)中虚线箭头所示路径,到达状态c,并且编码器的输出变为
11→10→10→11→11
当对卷积码进行译码时,首先作出与所接收数据有关的第一判决。有两种判决,即硬判决和软判决。
在硬判决中,以两个量化电平为基础作出判决,例如,如果检测的输出电平大于0,则判定为“1”,如果检测的输出电平小于0,则判定为“0”。如果以上述方式进行标准化判决,则在图16所示的各概率密度函数的边缘的延伸部分(阴影区域所示部分)出现差错判决。
软判决补偿硬判决的缺点。如图16左侧的示例所示,以8个级别量化检测的输出,应用与各级别一致的似然加权,然后将判决结果输出到译码器。
对于维特比译码,硬判决输入和硬判决输出以及判决输入和硬判决输出均是可能的。首先说明前者。
如果假设理想的无错状态,其中硬判决接收数据(g0,g1)是11→10→10→11→11,则获得图17(a)中虚线箭头所示的路径。如图17(b)所示,通过使虚线表示“0”并使实线表示“1”,则可以得到译码结果11001。然而,实际上在许多情况中,接收数据包含差错。如果第5位产生差错,从而硬判决接收数据(g0,g1)是11→10→00→11→11,在时刻k=2时出现混乱,即转移到10还是01(差错数ERR=1)。如果将10作为状态,并选择上面的路径,则到达状态c,并且在k=3和k=4不出现混乱。因此,在虚线箭头路径上,差错数变为差错数ERR=1,并且此时译码结果变为11001。另一方面,如果将01作为状态,并在时刻k=2时选择下面的路径,则在时刻k=3时出现混乱,即转移到何处,并且差错总数ERR=2。其后,以类似方式选择路径,当转移混乱出现时,累加ERR。最终得到以下结果:
当译码结果为11001时,差错总数ERR为1
当译码结果为11100时,差错总数ERR为2
当译码结果为11110时,差错总数ERR为3
当译码结果为11111时,差错总数ERR为3
因此,选择并输出其差错数ERR最小的译码结果11001。如果采用此方法,即使接收数据不正确,也可以正确检测原始数据11001。
尽管上述说明涉及硬判决接收数据,但是也可以以类似方式,在软判决接收数据中执行译码。图18用于说明在软判决接收数据中进行译码。如(b)所示,假设软判决接收数据(g0,g1)是1,1→1,0→1,0→2/8,1→1,1。参照(a)所示的格子类型的表示,可以理解,在时刻k=3时出现混乱,即转移到11还是00。如果将11作为状态,并选择上面的路径(差错数ERR=6/8),则到达状态c,并且在k=4不出现混乱。因此,在虚线箭头路径上,差错数变为差错数ERR=6/8,并且此时译码结果变为11001。另一方面,如果将00作为状态,并且在时刻k=3时选择下面的路径(差错数ERR=1+2/8),则在时刻k=4时出现混乱,即转移到何处,并且差错总数ERR=(2+2/8)。其后,以类似方式选择路径,当转移混乱出现时,累加ERR。最终得到以下结果:
当译码结果为11001时,差错总数ERR为6/8
当译码结果为11010时,差错总数ERR为2+2/8
当译码结果为11011时,差错总数ERR为2+2/8
因此,选择并输出其差错数ERR最小的译码结果11001。如果采用此方法,即使接收数据不正确,也可以正确检测原始数据11001。因此,软判决与硬判决相同,只不过差错数不再是整数。
根据接收数据获得所有可能路径的差错数ERR,然后从其差错数最小的路径对原始数据进行译码的处理是错综复杂的。因此,按以下提出的方式执行维特比译码。假设接收数据111000是硬判决的结果。在图18中k=3的状态a中,有两条输入路径。如果仅抽取并画出有关路径,则其结果如图19(a)所示。两条路径为该图所示的路径(1)和路径(2)。如图19(b)和19(c)所示,如果计算接收数据和在各条路径上获得的译码数据之间的汉明距离,则结果将为3和4。
以上述计算结果为基础,其假设为“通过遍历路径(1)达到状态a”的汉明距离,比其假设为“通过遍历路径(2)达到状态a”的汉明距离更短。因此,由于在路径(1)上发送的数据具有较高的可靠性,所以该路径作为幸存者,并且废除其他路径。如果从时刻k=1开始,相对于各状态a到d,连续执行以上采用或丢弃路径的处理,则可以找到在任意时刻k达到各状态a、b、c、d的汉明距离最短的路径(最小差错的路径)。可以从此开始向前继续执行类似的采用或丢弃处理。
当已经输入N项接收数据时,从通向k=N时各状态a、b、c、d的四条最小差错的路径中,确定其差错最小的路径,并根据此路径输出译码数据。图20表示接收数据为1110001111时,通向各时刻k时各状态a到d的最短路径。线路上的数值为汉明距离。因此,由于通向状态c的路径其差错最少,所以如果根据此路径执行译码,则译码数据将是11001。
以上译码称为“最大似然译码”,其中选择最可能的项目。由于是从维特比开始使用的,所以也称为维特比算法。
(b)MAP译码概述
对于维特比译码,在有关最小差错的路径的判决中,根本不反映在各状态中废除的差错较大的路径。与维特比译码不同,在MAP译码中,在有关最小差错的路径的判决中,也反映各状态中差错较大的路径,从而获得具有较高精度的译码数据。以下利用状态m(=0到3)表示状态a到d。
(b-1)MAP译码的第一特征
对于MAP译码,在时刻k时在各状态(m=0,1,2,3)中,译码数据uk是“0”、“1”的概率α0,k(m)、α1,k(m)取决于:①在时刻(k-1)时在各状态中的概率α0,k-1(m)、α1,k-1(m),②在时刻(k-1)和时刻k时各状态之间的格子(是否存在路径),以及③在时刻k的接收数据ya、yb。概率α0,k-1(m)、α1,k-1(m)称为“正向概率”。另外,通过考虑格子②和接收数据③而得到的概率,即从时刻(k-1)的状态m′(=0到3)转变为时刻k的状态m(=0到3)的概率称为“转变概率”。
(b-2)MAP译码的第二特征
对于维特比译码,通过考虑从时刻1到k的接收数据以及从1到k的可能路径,获得通向某一时刻k的各状态的最小差错的路径。然而,在有关最小差错的路径的判决中,根本不反映从k到N的接收数据以及从k到N的路径。与维特比译码不同,在MAP译码中,为了获得具有较高精度的译码数据,在译码处理中反映从k到N的接收数据以及从k到N的路径。
更确切地说,通过考虑从N到k的接收数据以及格子,得到将通过时刻k时各状态m(=0到3)的最小差错的路径的概率βk(m)。接着,通过将概率βk(m)乘以响应状态的正向概率α0,k(m)、α1,k(m),得到在时刻k时在各状态m(m=0,1,2,3)中译码数据uk变为“0”、“1”的更精确的概率。
到此为止,在时刻k时在各状态m(m=0,1,2,3)中,概率βk(m)取决于:①在时刻k+1时在各状态中的概率βk+1(m),②在时刻(k+1)和时刻k时各状态之间的格子,以及③在时刻(k+1)时的接收数据ya、yb。概率βk(m)称为“反向概率”。另外,通过考虑格子②和接收数据③得到的概率,即从时刻(k+1)的状态m′(=0到3)转变为时刻k的状态m(=0到3)的概率称为转变概率。
因此,MAP译码方法如下,如图21所示:
(1)令N表示信息长度,通过考虑从时刻1到k的编码数据以及从1到k的格子,计算在时刻k时各状态(m=0到3)的正向概率α0,k(m)、α1,k(m)。亦即,根据在时刻(k-1)时各状态的概率α0,k-1(m)、α1,k-1(m)以及转变概率,得到各状态的正向概率α0,k(m)、α1,k(m)。
(2)另外,使用从N到k的接收数据以及从N到k的路径,计算在时刻k时各状态(m=0到3)的反向概率βk(m)。亦即,使用在时刻(k+1)时各状态的反向概率βk+1(m)以及转变概率,计算各状态的反向概率βk(m)。
(3)接着,将在时刻k时各状态的正向概率乘以反向概率,以得到如下所示的联合概率:
λ0,k(m)=α0,k(m)·βk(m),
λ1,k(m)=α1,k(m)·βk(m)
(4)随后,得到各状态中“0”的概率的总和∑mλ0,k(m)以及“1”的概率的总和∑mλ1,k(m),根据总和的数值,计算第k项数据的原始数据uk是“1”的概率,以及数据uk是“0”的概率,输出较大概率作为第k项译码数据并输出似然。译码结果为软判决输出。
(c)根据现有技术的第一MAP译码方法
(c-1)MAP译码器的总体结构
图22是用于实现根据现有技术的第一MAP译码方法的MAP译码器的框图。编码率R,信息长度N,原始信息u,编码数据xa、xb,以及接收数据ya、yb如下:
·编码率:R=1/2
·信息长度:N
·原始信息:u={u1,u2,u3,...,uN}
·编码数据:xa={xa1,xa2,xa3,...,xak,...,xaN}
:xb={xb1,xb2,xb3,...,xbk,...,xbN}
·接收数据:ya={ya1,ya2,ya3,...,yak,...,yaN}
:yb={yb1,yb2,yb3,...,ybk,...,ybN}
亦即,根据信息长度为N的原始信息u,生成编码数据xa、xb,在接收时将差错***到编码数据中,数据ya、yb是接收的,通过对接收数据进行译码得到原始信息u。
当在时刻k接收(yak,ybk)时,转变概率计算部件1计算以下概率,并将其保存在存储器2中:
(xak,xbk)为(0,0)的概率γ0,k
(xak,xbk)为(0,1)的概率γ1,k
(xak,xbk)为(1,0)的概率γ2,k
(xak,xbk)为(1,1)的概率γ3,k
通过使用前一时刻(k-1)时各状态中原始数据uk-1为“1”的正向概率α1,k-1(m)和原始数据uk-1为“0”的正向概率α0,k-1(m),以及所获得的时刻k时的转变概率γ0,k、γ1,k、γ2,k、γ3,k,正向概率计算部件3计算在时刻k时原始数据uk为“1”的正向概率α1,k(m)和原始数据uk为“0”的正向概率α0,k(m),并将上述概率存储到存储器4a到4d中。请注意,由于处理总是从状态m=0开始,所以正向概率的初始值为α0,0(0)=α1,0(0)=1,α0,0(m)=α1,0(m)=0(其中m≠0)。
在k=k+1时,转变概率计算部件1和正向概率计算部件3重复上述计算,执行从k=1到k=N的计算,以计算时刻k=1到N的各时刻的转变概率γ0,k、γ1,k、γ2,k、γ3,k和正向概率α1,k、α0,k,并将上述概率分别存储到存储器2以及存储器4a到4d中。
其后,反向概率计算部件5使用时刻(k+1)时的反向概率βk+1以及转变概率γs,k+1(s=0,1,2,3),计算在时刻k时各状态m(=0到3)中的反向概率βk(m)(m=0到3),其中假设k的初始值为N-1,各自结束状态为m=0且βN(0)=1,βN(1)=βN(2)=βN(3)=0成立。
联合概率计算部件6中的第一运算器6a,将在时刻k时各状态m(=0到3)中的正向概率α1,k(m)乘以反向概率βk(m),以计算第k项原始数据uk为“1”的概率λ1,k(m),而联合概率计算部件6中的第二运算器6b,使用在时刻k时各状态m(=0到3)中的正向概率α0,k(m)乘以反向概率βk(m),计算第k项原始数据uk为“0”的概率λ0,k(m)。
uk和uk似然计算部件7累加在时刻k时各状态m(=0到3)中的“1”概率λ1,k(m),累加各状态m(=0到3)中的“0”概率λ0,k(m),根据累加结果,即∑mλ1,k(m)和∑mλ0,k(m),确定第k项数据uk的“1”、“0”,计算其可信度(似然)L(uk),并输出。
随后,反向概率计算部件5,联合概率计算部件6,以及uk和uk似然计算部件7在k=k+1时重复上述计算,从k=N到k=1执行计算,以确定时刻k=1到N的各时刻时原始数据uk的“1”、“0”,计算其可信度(似然)L(uk),并输出。
(c-2)计算正向概率
按照下式,根据①在时刻(k-1)时各状态中的正向概率αi k-1(m),以及②从时刻(k-1)的状态m′(=0到3)转变为k时刻的状态m(=0到3)的转变概率γi(Rk,m′,m),得到译码数据uk将为i(“0”或“1”)的正向概率αi k(m):
αi k(m)=∑m′∑jγi(Rk,m′,m)·αi k-1(m′)/
∑m∑m′∑i∑jγi(Rk,m′,m)·αi k-1(m′) (1)
这里,根据时刻(k-1)时状态m′(=0到3)和时刻k时状态m(=0到3)之间的格子,以及在时刻k时的接收数据ya、yb,得到转变概率γi(Rk,m′,m)。由于上式中的分母为uk和uk似然计算中的除法消去的部分,因此无需计算。如果利用图表表示上式中时刻k时在状态m=0中原始数据uk将为“0”、“1”的正向概率α0 k(0)、α1 k(0),则其结果如图23所示。
如果假设按所示方式,通过连接两个触发器FF1、FF2和三个异或门EXOR1到EXOR3构造卷积编码器,则触发器FF1、FF2具有四个状态m(=0到3),即(00)、(01)、(10)、(11)。如果在各状态中输入“0”或“1”,则输入/输出数据与先后状态之间的关系,将如图25所示。在图25中,左边表示时刻k-1时的状态m′,右边表示输入第k项数据后时刻k时状态m,实线表示输入“0”时状态改变的路径,而虚线表示输入“1”时状态改变的路径,路径上的00、11、10、01表示输出信号xa、xb的值。例如,如果在状态m′中输入“0”,则输出为01且状态变为m=3;如果输入“1”,则输出为10且状态变为m=2。
转变概率γi(Rk,m′,m)为输入数据i(“0”或“1”)时,从时刻(k-1)时的状态m′(=0到3)转变为时刻k时的状态m(=0到3)的概率。
根据下式得到该概率:
γi(Rk,m′,m)=p·q·π (2)
其中,p是与接收数据有关的值。而q、π为常数,根据是否存在从时刻(k-1)时状态m′到时刻k时状态m的转变路径(格子),确定q、π。图26表示该结果。如果没有转变路径,则
q·π=0成立。因此,只需计算图26中o标记的转变概率γ0(Rk,0,0)和γ1(Rk,2,0)中的p就足够了,其他概率均为零。因此,如果除去图23中转变概率为零的线路,则u k为“0”、“1”的正向概率α0 k(0)、α1 k(0)将如图27所示。亦即,根据下式得到正向概率:
α0 k(0)=γ0(Rk,0,0)·α0 k-1(0)+γ0(Rk,0,0)·α1 k-1(0) (3)
α1 k(0)=γ1(Rk,2,0)·α0 k-1(2)+γ1(Rk,2,0)·α1 k-1(2) (4)转变概率与状态之间的格子和接收数据有关。根据转变概率得到:①(xak,xbk)为(0,0)的移位概率γ0,k,②(xak,xbk)为(0,1)的移位概率γ1,k,③(xak,xbk)为(1,0)的移位概率γ2,k,以及④(xak,xbk)为(1,1)的移位概率γ3,k。例如,通过(xak,xbk)=(0,0)的转变路径,式(3)得到α0 k(0)。因此,我们得到
转变概率γ0(Rk,0,0)=移位概率γ0,k
另外,通过(xak,xbk)=(0,0)的转变路径,式(4)得到α1 k(0)。因此,我们得到
转变概率γ1(Rk,2,0)=移位概率γ3,k于是,式(3)、(4)变为:
α0 k(0)=γ0,k·α0 k-1(0)+γ0,k·α1 k-1(0) (3)′
α1 k(0)=γ3,k·α0 k-1(2)+γ3,k·α1 k-1(2) (4)′
同样,得到α0 k(m)、α1 k(m),其中m=1到3。
(c-3)计算反向概率
按照下式,根据①在时刻(k+1)时各状态中的反向概率βk+1(m),以及②从时刻k的状态m(=0到3)转变为时刻(k+1)的状态m′(=0到3)的转变概率γi(Rk+1,m′,m),得到各状态的反向概率βk(m):
βk(m)=∑m′∑iγi(Rk+1,m,m′)·βk+1(m′)/
∑m∑m′∑i∑jγi(Rk,m,m′)·αi k(m) (5)
这里,根据时刻k时状态m(=0到3)和时刻(k+1)时状态m′(=0到3)之间的格子,以及在时刻(k+1)时的接收数据ya、yb,得到转变概率γi(Rk+1,m,m′)。由于上式中的分母为似然计算中的除法消去的部分,因此无需计算。
如果利用图表表示上式中时刻k时在状态m=0中的βk(0),则其结果如图28所示。如上所述,如果转变路径不存在,则q·π成立。于是,只需计算所标记的转变概率γ0(Rk+1,0,0)和γ1(Rk+1,0,1)中的p就足够了,其他概率均为零。因此,如果除去图28中转变概率为零的线路,则反向概率βk(0)将如图29所示。亦即,根据下式得到反向概率:
βk(0)=γ0(Rk+1,0,0)·βk+1(0)+γ1(Rk+1,0,1)·βk+1(1) (6)
转变概率与状态之间的格子和接收数据有关。根据转变概率得到:①(xak+1,xbk+1)为(0,0)的移位概率γ0,k+1,②(xak+1,xbk+1)为(0,1)的移位概率γ1,k+1,③(xak+1,xbk+1)为(1,0)的移位概率γ2,k+1,以及④(xak+1,xbk+1)为(1,1)的移位概率γ3,k+1。例如,通过(xak+1,xbk+1)=(0,0)的转变路径,式(3)的右侧的第一项得到βk(0)。因此,我们得到
转变概率γ0(Rk+1,0,0)=移位概率γ0,k+1
另外,通过(xak+1,xbk+1)=(1,1)的转变路径,式(3)右边的第二项得到βk(0)。因此,我们得到
转变概率γ1(Rk+1,0,1)=移位概率γ3,k+1
于是,式(6)变为:
βk(0)=γ0,k+1·βk+1(0)+γ3,k+1·βk+1(1) (6)′
同样,可以得到m=1到3的βk(1)、βk(2)、βk(3)。
(c-4)计算联合概率和似然
图30用于说明计算联合概率、uk和uk似然。
如果得到时刻k时各状态的正向概率α0,k(m)、α1,k(m)和反向概率βk(m),则将上述概率进行相乘,以便按下式计算联合概率:
λ0 k(m)=α0 k(m)·βk(m)
λ1 k(m)=α1 k(m)·βk(m)
然后,获得各状态中“1”的概率的总和∑mλ0 k(m)和“0”的概率的总和∑mλ1 k(m),并根据下式输出似然:
L(u)=log[∑mλ1 k(m)/∑mλ0 k(m)] (7)
另外,如果L(u)>0成立,则输出译码结果uk=1,如果L(u)<0成立,则输出译码结果uk=0。亦即,根据“1”的概率的总和值∑mλ0 k(m)和“0”的概率的总和值∑mλ1 k(m),计算第k项原始数据uk为“1”的概率以及该数据为“0”的概率,并输出其概率较大的数值作为第k项译码数据。
(c-5)第一MAP译码方法具有的问题
图22所示的现有技术的第一MAP译码方法具有以下问题,即使用大量存储器。具体而言,第一MAP译码方法需要4×N的存储量,用于存储转变概率,并需要m(状态数)×2×N的存储量,用于存储正向概率,总共需要(4+m×2)×N的存储量。由于实际计算伴随有软判决信号,所以需要为以上数字8倍的附加存储量。例如,如果信号长度N=5120比特成立,在约束长度=3的情况下状态数m=4成立,且软判决量化位数=8成立,则需要的存储量为
(4+4×2)×5120×8=491.52千比特
(c-6)修改
并不是一定需要存储移位概率的存储器2不可,并且采用必须通过计算移位概率γs,k+1(s=0,1,2,3)计算反向概率βk(m)的方法。图31为实现第一MAP译码方法的MAP译码器的修改,其中除去了存储器2。根据此修改,需要的存储量为
(4×2)×5120×8=327.7千比特
(d)根据现有技术的第二MAP译码方法
因此,为了降低存储量,考虑通过转换正向概率和反向概率的计算次序进行计算的方法。图32为实现该第二MAP译码方法的MAP译码器的框图。利用相同的参考字符指示与图22所示组件相同的组件。合适地倒转接收数据的输出次序的输入/输出反向器8,具有一个用于存储所有接收数据的存储器,和一个数据输出部件,该部件用于以与数据输入次序相反或相同的次序,输出接收数据。对于采用MAP译码方法作为其译码方法的turbo译码器,必须交织接收数据,所以该译码器具有一个用于存储所有接收数据的存储器。这意味着可以将用于交织的存储器,用作输入/输出反向器8的存储器。因此,没有与存储器有关的负担。
移位概率计算部件1使用时刻k(=N)时的接收数据(yak,ybk),计算以下概率,并将其存储在存储器2中:
(xak,xbk)为(0,0)的概率γ0,k
(xak,xbk)为(0,1)的概率γ1,k
(xak,xbk)为(1,0)的概率γ2,k
(xak,xbk)为(1,1)的概率γ3,k
反向概率计算部件5使用时刻k(=N)时的反向概率βk(m)和移位概率γs,k(s=0,1,2,3),计算时刻k-1时各状态m(=0到3)中的反向概率βk-1(m)(m=0到3),并将反向概率存储到存储器9中。
随后,移位概率计算部件1和正向概率计算部件3在k=k+1时重复上述计算,执行从k=N到k=1的计算,以计算时刻k=1到N的各时刻的移位概率γ0,k、γ1,k、γ2,k、γ3,k和反向概率βk(m),并将这些概率存储到存储器2、9中。
其后,通过使用时刻(k-1)时原始数据uk-1为“1”的正向概率α1,k-1(m)和原始数据uk-1为“0”的正向概率α0,k-1(m),以及所获得的时刻k时的移位概率γ0,k、γ1,k、γ2,k、γ3,k,正向概率计算部件3计算在时刻k时各状态m中uk为“1”的正向概率α1,k(m)和u k为“0”的正向概率α0,k(m)。请注意,k的初始值为1。
联合概率计算部件6,将时刻k时各状态m(0到3)中的正向概率α1,k(m)乘以反向概率βk(m),以计算第k项原始数据uk为“1”的概率λ1,k(m),同样,使用在时刻k时各状态0到3中的正向概率α0,k(m)和反向概率βk(m),计算原始数据uk为“0”的概率λ0,k(m)。
uk和uk似然计算部件7累加在时刻k时各状态0到3中的“1”概率λ1,k(m),累加时刻k时各状态0到3中的“0”概率λ0,k(m),根据累加结果,即∑mα1,k(m)和∑mα0,k(m)的值,确定第k项数据uk的“1”、“0”,计算其可信度(似然)L(uk),并输出。
随后,正向概率计算部件3,联合概率计算部件6,以及uk和uk似然计算部件7在k=k+1时重复上述计算,从k=1到k=N执行计算,以确定时刻k=1到N的各时刻时uk的“1”、“0”,计算其可信度(似然)L(uk),并输出。
如图33的时序图所示,根据第二MAP译码方法,在第一部分中,计算移位概率,计算反向概率并将计算结果存储在存储器中,而在第二部分中,计算正向概率,计算联合概率并计算原始数据和似然。换句话说,对于第二MAP译码方法,不存储正向概率α1,k(m)、α0,k(m),而是存储反向概率βk(m)。因此,用于第二MAP译码方法的存储量仅为,用于存储移位概率的4×N和用于存储反向概率的状态数m×N,所以需要的总存储量为(4+m)×N。因此,与第一MAP译码方法相比,可以降低所需要的存储量。缩小率η为
η=(4+m)/(4+m×2)
当状态数m较小时(如果约束长度=3成立,则状态数m=4成立),缩小率为
η=(4+4)/(4+4×2)=69.2%
所以,可以将存储器减少30%。另外,如果状态数m较大,则
η≈m/(m×2)=50%
并不是一定需要存储移位概率的存储器2不可,并且可以采用每次通过计算移位概率γs,k(s=0,1,2,3)计算正向概率α1,k(m)、α0,k(m)的方法。图34表示用于实现第二MAP译码方法的MAP译码器的修改,其中除去了存储器2。根据此修改,需要的总存储量为(m×N)。因此,与图31所示的第一MAP译码方法相比,可以降低所需要的总存储量。缩小率η为
η=(m×N)/(m×2)×N=50%
(e)第三MAP译码方法
根据第二MAP译码方法,与第一MAP译码方法相比,可以降低使用的存储量。然而,还可以进一步降低所需的空间。
图35(a)用于说明第三MAP译码方法的操作顺序,其中该方法能够进一步降低所使用的存储量。这代表第二MAP译码方法的进一步扩展。在图35中,在图(b)中表示第二MAP译码方法的操作顺序,以对照第二和第三译码方法。第三译码方法是以下文章中公开的方法,即IEEEJOURNALON SELECTED AREAS IN COMMUNICATION,VOL.16,NO.2,FEBRUARY 1998,“An Intuitive Justification and a SimplifiedImplementation of MAP Decoder for Convolutional Codes(用于卷积码的MAP译码器的直觉调整和简单实现)”,Andrew J.Viterbi。
在图35中,B操作表示反向概率计算/移位概率计算,A操作表示正向概率计算/移位概率计算,L操作表示联合概率计算/似然计算。如图(b)所示,对于第二MAP译码方法,(1)全面执行B操作,并将结果存储在从N到1的存储器中,然后(2)当从1到N连续执行A操作和L操作时,输出uk和似然(uk)。然而,根据第二MAP译码方法,为存储反向概率βk(m)需要N×m的存储量。
因此,在第三MAP译码方法中,将k=1到N均匀划分为段M,并且按如下方式执行MAP译码。
首先,(1)从k=2M到k=0执行B操作。在B操作中,不是从k=N开始计算反向概率βk(m),而是从中间位置k=2M开始计算。因此,不能信任在第一部分中在k=2M到k=M上得到的反向概率βk(m),从而废除它们。可以信任在第二部分中在k=M到k=1上得到的反向概率βk(m),因此,将其存储到存储器中。(2)接着,在k=0执行A操作,使用k=1时A操作的结果α1,1(m)、α0,1(m)以及存储器中存储的β1(m),执行L操作,并根据联合概率计算译码结果u1和似然L(u1)。其后,以类似方式,从k=2到k=M执行A操作,并根据A操作的结果以及存储器中B操作的结果,执行L操作。从而结束从k=1到k=M的译码结果uk和似然L(uk)的计算。
接着,(3)从k=3M到k=M+1执行B操作。在B操作中,不是从k=N开始计算反向概率βk(m),而是从中间位置k=3M开始计算。因此,不能信任在第一部分中在k=3M到k=2M+1上得到的反向概率βk(m),从而废除它们。可以信任在第二部分中在k=2M到k=M+1上得到的反向概率βk(m),因此,将其存储到存储器中。(4)接着,在k=M+1执行A操作,使用k=M+1时A操作的结果α1,M+1(m)、α0,M+1(m)以及存储器中存储的βM+1(m),执行L操作,并根据联合概率计算译码结果uM+1和似然L(uM+1)。其后,以类似方式,从k=M+2到k=M执行A操作,并根据A操作的结果以及存储器中B操作的结果,执行L操作。从而结束从k=M+1到k=2M的译码结果uk和似然L(uk)的计算。
接着,以类似方式,(5)从k=4M到k=2M+1执行B操作,并在存储器中存储在第二部分中在k=3M到k=2M+1上得到的反向概率βk(m)。(6)接着,在k=2M+1执行A操作,使用k=2M+1时A操作的结果α1,2M+1(m)、α0,2M+1(m)以及存储器中存储的β2M+1(m),执行L操作,并根据联合概率计算译码结果u2M+1和似然L(u2M+1)。其后,从k=2M+2到k=3M执行A操作,并根据A操作的结果以及存储器中B操作的结果,执行L操作。从而结束从k=2M+1到k=3M的译码结果uk和似然L(uk)的计算。
其后执行类似操作。最后,(7)从k=N(=5M)到k=3M+1执行B操作,并在存储器中存储所得到的所有反向概率βk(m)。(8)接着,在k=3M+1执行A操作,使用k=3M+1时A操作的结果α1,3M+1(m)、α0,3M+1(m)以及存储器中存储的β3M+1(m),执行L操作,并根据联合概率计算译码结果u3M+1和似然L(u3M+1)。其后,从k=3M+2到k=N(=5M)执行A操作,并根据A操作的结果以及存储器中B操作的结果,执行L操作。从而结束从k=3M+1到k=N的译码结果uk和似然L(uk)的计算。
第三MAP译码方法具有以下优点,即能够将存储反向概率的存储量降低到2M。此外,可以缩短输出最初译码结果u1和似然L(u1)所需要的时间。
然而,对于第三MAP译码方法,不是从k=N开始计算反向概率βk(m),而是从中间位置开始计算。因此,反向概率βk(m)是不准确的,由此引起的问题是MAP译码精度的下降。
另外,对于第三MAP译码方法,首先在2M上执行B计算,然后在M上执行A计算,因此,其时序形式的结果如图36(a)所示。然而,由于此方法间歇执行A操作,所以计算需要时间。于是,如图36(b)所示,通过同时执行第一和第二部分的B操作,可以连续执行A操作,从而提高操作速度。然而,此方法的问题在于,由于同时执行第一和第二部分的B操作,所以需要两条B运算电路。
第三MAP译码方法的另一个问题在于,反向概率βk(m)的计算是重复的,即执行两次,所以总的来说增加功耗。
因此,本发明的目的在于减少存储量,并且精确计算反向概率βk(m),以提高MAP译码的精度。
本发明的另一目的在于调整MAP译码器,从而无需使用两条运算电路计算反向概率βk(m),也能获得规定的操作速度。
本发明的另一目标在于仅计算一次反向概率βk(m),就能够准确计算反向概率βk(m),从而在降低功耗方面具有优势。
发明内容
本发明提供一种最大后验概率译码方法,用于接收并译码通过对长度为N的信息编码后得到的编码数据,其特征在于包括:以从编码数据结尾开始的次序,在时间上从后到前执行作为重复操作的反向重复操作,并且在执行此操作时,保存与第一到第m1项编码数据相对应的反向重复操作的第一到第m1结果;以从第一到第m1项编码数据的次序,在时间上从前到后执行作为重复操作的正向重复操作,并且在执行此操作时,输出作为译码结果的第一到第m1操作结果;再次以从编码数据结尾开始的次序,执行反向重复操作,并且在此操作时,保存反向重复操作的第(m1+1)到第m2结果;以从第(m1+1)到第m2项编码数据的次序,执行正向重复操作,并且在执行此操作时,输出作为译码结果的第(m1+1)到第m2操作结果;随后以从编码数据的结尾开始的次序,执行反向重复操作,并且在执行此操作时,保存反向重复操作的第(mi+1)到第mi+1操作结果,其中i=2,3,...;以从第(mi+1)到第mi+1项编码数据的次序,进行正向重复操作,并且在执行此操作时,输出第(mi+1)到第mi+1项操作结果作为译码结果;以及最后输出直到第N项结果的所有译码结果。
本发明提供一种最大后验概率译码方法,该方法通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:以从第N反向概率到第一反向概率的相反方向,计算反向概率,并保存第m1反向概率到第一反向概率;计算第一正向概率,通过使用第一正向概率以及所保存的第一反向概率,获得第一译码结果,同样,获得第二到第m1译码结果;随后,以从第N反向概率到第(m1+1)反向概率的相反方向,计算反向概率,并保存第m2反向概率到第(m1+1)反向概率;计算第(m1+1)正向概率,通过使用第(m1+1)正向概率以及所保存的第(m1+1)反向概率,获得第(m1+1)译码结果,同样,获得第(m1+2)到第m2译码结果;以及随后获得第(m2+1)到第N译码结果。
本发明提供一种最大后验概率译码方法,用于接收并译码通过对长度为N的信息编码后得到的编码数据,其特征在于包括:以从编码数据结尾开始的次序,在时间上从后到前执行作为重复操作的反向重复操作,并且在执行此操作时,保存与第一到第m1、m2、m3...项编码数据相对应的反向重复操作的第一到第m1、m2、m3...结果;以从第一到第m1项编码数据的次序,在时间上从前到后执行作为重复操作的正向重复操作,并且在执行此操作时,输出作为译码结果的第一到第m1操作结果;随后,在利用反向重复操作的所述m2结果按照从第m2个编码数据开始的次序执行第m2到第(m1+1)反向重复操作时,保存结果;以从第(m1+1)到第m2项数据的次序,执行正向重复操作,并且在执行此操作时,输出作为译码结果的第(m1+1)到第m2操作结果;随后,在利用所述反向重复操作的第mi+1项结果按照从第mi+1项编码数据开始的次序执行第mi+1到第(mi+1)反向重复操作时,保存结果,其中i=2,3,...;以从第(mi+1)到第mi+1项数据的次序,执行正向重复操作,并且在执行此操作时,输出从第(mi+1)到第mi+1项操作结果作为译码结果;以及最后输出直到第N项结果的所有译码结果。
本发明提供一种最大后验概率译码方法,该方法通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:以从第N反向概率到第一反向概率的相反方向,计算反向概率,离散地保存第ms反向概率,第m(s-1)反向概率,...,第m2反向概率,并且连续保存第m1反向概率到第一反向概率;计算第一正向概率,通过使用第一正向概率以及所保存的第一反向概率,获得第一译码结果,同样,获得第二到第m1译码结果;随后,计算并保存从所保存的第m2反向概率开始直到第(m1+1)反向概率的反向概率;计算第(m1+1)正向概率,通过使用第(m1+1)正向概率以及所保存的第(m1+1)反向概率,获得第(m1+1)译码结果,同样,获得第(m1+2)到第m2译码结果;以及随后获得第(m2+1)到第N译码结果。
本发明提供一种译码器,通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:一个用于计算反向概率的反向概率计算部件;一个用于保存已经计算的反向概率的反向概率保存部件;一个用于计算正向概率的正向概率计算部件;一个译码结果计算部件,用于使用第k正向概率和所保存的第k反向概率获得第k译码结果;以及一个控制器,用于控制所述反向概率计算部件、所述正向概率计算部件以及所述译码结果计算部件的操作定时;其中所述反向概率计算部件包括如下装置,该装置以从第N反向概率到第mi+1反向概率的相反方向,计算反向概率,并在所述反向概率保存部件中,保存第mi+1反向概率到第mi+1反向概率,其i=0,1,2...;m0=0;所述正向概率计算部件包括如下装置,该装置计算第mi+1正向概率到第mi+1正向概率;并且所述译码结果计算部件包括如下装置,该装置通过使用已经计算出的第k正向概率以及所保存的第k反向概率,计算第k译码结果,其中k=mi+1到mi+1。
本发明提供一种译码器,通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:一个用于计算反向概率的反向概率计算部件;一个用于保存已经计算的反向概率的反向概率保存部件;一个用于计算正向概率的正向概率计算部件;一个译码结果计算部件,用于使用第k正向概率和所保存的第k反向概率获得第k译码结果;以及一个控制器,用于控制所述反向概率计算部件、所述正向概率计算部件以及所述译码结果计算部件的操作定时;其中所述反向概率计算部件包括如下装置,该装置以从第N反向概率到第一反向概率的相反方向,计算反向概率,在所述反向概率保存部件中,离散地保存第ms反向概率,第m(s-1)反向概率,...,第m2反向概率,并且连续保存第m1反向概率到第一反向概率;所述正向概率计算部件计算第一正向概率到第m1正向概率;所述译码结果计算部件通过使用已经计算出的第k正向概率以及所保存的第k反向概率,计算第k译码结果,k=1到m1;其中所述反向概率计算部件还包括如下装置,该装置计算并在所述反向概率保存部件中保存,从所保存的第mi+1反向概率开始直到第(mi+1)反向概率的反向概率,i=1,2...;所述正向概率计算部件还包括如下装置,该装置计算第(mi+1)正向概率到第mi+1正向概率;所述译码结果计算部件通过使用已经计算出的第k正向概率以及所保存的第k反向概率,计算第k译码结果,k=mi+1到mi+1。
在第一MAP译码方法中,(1)以从第N反向概率到第一反向概率的相反方向,计算反向概率,保存第m1反向概率到第一反向概率,接着,计算第一正向概率,使用第一正向概率和保存的第一反向概率获得第一译码结果,并且以类似方式,获得第二到第m1译码结果。(2)其后,以从第N反向概率到第(m1+1)反向概率的相反方向,计算反向概率,保存第m2反向概率到第(m1+1)反向概率,计算第(m1+1)正向概率,使用第(m1+1)正向概率和保存的第(m1+1)反向概率获得第(m1+1)译码结果,并且以类似方式,获得第(m1+2)到第m2译码结果,以及(3)随后以类似方式,获得第(m2+1)到第N译码结果。
如果采用以上方法,则存储反向概率仅需要r×m(状态数)的存储量,其中m1=r,m2=2r,...成立。此外,由于一直从k=N开始计算反向概率,所以可以准确计算反向概率βk(m),从而可以提高MAP译码的精度。
在另一种MAP译码方法中,(1)以从第N反向概率到第一反向概率的相反方向,计算反向概率,离散保存第ms反向概率、第m(s-1)反向概率、...第m2反向概率,连续保存第m1反向概率到第一反向概率,计算第一正向概率,使用第一正向概率和保存的第一反向概率计算第一译码结果,并且以类似方式,获得第二到第m1译码结果。(2)其后,计算反向概率,直至第(m1+1)反向概率,并从已经保存的第m2反向概率开始保存反向概率,计算第(m1+1)正向概率,使用第(m1+1)正向概率和保存的第(m1+1)反向概率计算第(m1+1)译码结果,以类似方式获得第(m1+2)到第m2译码结果,以及(3)随后以类似方式获得第(m1+1)到第N译码结果。
如果采用以上方法,则存储反向概率仅需要r×m(状态数)的存储量,其中m1=r,m2=2r,...成立。另外,对其调整,从而以从第N反向概率到第一反向概率的相反方向,计算反向概率,离散存储获得的反向概率,并且如果必要的话,计算所需数目的反向概率,并从某个离散存储的反向概率开始使用。因此,可以准确计算反向概率βk(m),从而可以提高MAP译码的精度。此外,必要时,通过从k=N开始计算反向概率,无需获得所需数目的反向概率。因此可以提高操作速度。另外,无需使用两条运算线路计算反向概率βk(m),也能获得规定的操作速度。而且仅需计算一次反向概率βk(m),从而在降低功耗方面具有优势。
附图说明
图1为通信***的示意图;
图2为turbo编码器的框图;
图3说明卷积编码器的状态转变;
图4为turbo编码器的框图;
图5用于说明根据本发明之第一MAP译码方法的操作顺序;
图6为根据第一实施方式的MAP译码器的框图;
图7用于说明根据本发明之第二MAP译码方法的操作顺序;
图8为根据第二实施方式的MAP译码器的框图;
图9为turbo编码器的框图;
图10用于说明turbo译码器的操作;
图11为卷积编码器的框图;
图12用于说明卷积编码器的输入和输出之间的关系;
图13用于说明卷积编码器的状态;
图14表示卷积编码器的状态和输入/输出之间的关系;
图15用于说明格子形式的表示;
图16用于说明硬判决和软判决;
图17用于说明卷积码的译码(硬判决);
图18用于说明卷积码的译码(软判决);
图19用于说明卷积码的译码;
图20用于说明在任意时刻k时各状态的最小差错路径;
图21用于说明MAP译码的概观;
图22为用于实现现有技术的第一MAP译码方法的MAP译码器的框图;
图23用于说明正向概率的计算;
图24为卷积编码器的框图;
图25表示卷积编码器的状态和输入/输出之间的关系;
图26用于说明转变概率;
图27用于说明正向概率的计算,其中除去了转变概率=0的线路;
图28用于说明反向概率的计算;
图29用于说明反向概率的计算,其中除去了转变概率=0的线路;
图30用于说明联合概率和似然的计算以及译码结果;
图31为用于实现根据现有技术的第二MAP译码方法的MAP译码器的修改;
图33为根据现有技术的第二MAP译码方法的时序图;
图34为用于实现根据现有技术的第二MAP译码方法的MAP译码器的修改;
图35用于说明根据现有技术的第三MAP译码方法的操作顺序;以及
图36用于说明根据现有技术的第三MAP译码方法的问题。
具体实施方式
(A)Turbo码
MAP译码方法证明了其在turbo码中的有效性。图1为包含turbo编码器和turbo译码器的通信***的框图。数字11表示在数据发送端提供的turbo编码器,数字12表示在数据接收端提供的turbo译码器。数字13表示数据通信路径。另外,字符u表示其长度为N的发送信息数据;xa、xb、xc表示通过利用turbo编码器11对信息数据u进行编码后得到的编码数据;ya、yb、yc表示接收数据,该数据受编码数据xa、xb、xc在通信路径13中传播引起的噪声和衰落的影响;u′表示通过利用译码器12对接收数据ya、yb、yc进行译码后得到的译码结果。利用以下方式表示以上数据项。
原始信息:u={u1,u2,u3,...,uN}
编码数据:xa={xa1,xa2,xa3,...,xak,...,xaN}
:xb={xb1,xb2,xb3,...,xbk,...,xbN}
:xc={xc1,xc2,xc3,...,xck,...,xcN}
接收数据:ya={ya1,ya2,ya3,...,yak,...,yaN}
:yb={yb1,yb2,yb3,...,ybk,...,ybN}
:yc={yc1,yc2,yc3,...,yck,...,ycN}
Turbo编码器11对信息长度为N的信息数据u进行编码,并输出编码数据xa、xb、xc。编码数据xa本质上为信息数据u,编码数据xb为利用编码器ENCI对信息数据u进行卷积编码后得到的数据,而编码数据xc为利用编码器ENC2对信息数据u进行交织(π)和卷积编码后得到的数据。换句话说,通过组合两种卷积码得到turbo码。请注意,交织数据xa′与编码数据xa的不同仅在于其顺序,所以不输出。
图2表示turbo编码器11的详细信息。数字11a、11b表示按相同方式构造的卷积编码器(ENC1、ENC2),数字11c表示交织部件(π)。按照所示方式,通过连接两个触发器FF1、FF2和三个异或门EXOR1-EXOR3,构造适合于输出递归***卷积码的卷积编码器11a、11b。触发器FF1、FF2具有四个状态0(=00)、1(=01)、2(=10)、3(=11)。如果在上述各状态中输入“0”或“1”,则状态将经历图3所示的转变,并且触发器输出xa、xb。在图3中,左边表示在输入接收数据之前的状态,而右边表示输入后的状态,实线表示输入“0”时状态改变的路径,而虚线表示输入“1”时状态改变的路径,路径上的00、11、10、01表示输出信号xa、xb的值。例如,如果在状态0(=00)中输入“0”,则输出为00且状态变为0(=0);如果输入“1”,则输出为11且状态变为1(=10)。
图4为turbo译码器的框图。第一组件译码器DEC1首先使用接收数据ya、yb、yc中的ya和yb进行turbo译码。组件译码器DEC1为一个软输出组件译码器,并输出译码结果的似然。接着,第二组件译码器DEC2使用第一组件译码器DEC1输出的似然以及yc,进行类似译码。亦即,第二组件译码器DEC2也是一个软输出组件译码器,并输出译码结果的似然。这里,yc是与xc相对应的接收信号,该信号是通过对信息数据u进行交织和编码后得到的。因此,首先对第一组件译码器DEC1输出的似然进行交织(π),然后进行第二组件译码器DEC2。
对第二组件译码器DEC2输出的似然进行解交织(π-1),然后作为输入将其反馈到第一组件译码器DEC1。另外,u′是对第二组件译码器DEC2的交织结果进行“0”、“1”判决后得到的译码数据(译码结果)。通过将上述译码操作执行规定的次数,可以降低误码率。
可以使用MAP组件译码器作为此类turbo组件译码器中的第一和第二组件译码器DEC1、DEC2。
(B)第一实施方式
(a)操作顺序
图5用于说明根据本发明之第一MAP译码方法的操作顺序。
(1)开始时,以从k=N时第N反向概率直到k=1时第一反向概率的相反方向,计算反向概率βk(m)(k=N到1),并且(2)保存第m1反向概率βm1(m)到第一反向概率β1(m)。接着,(3)计算第一正向概率α1 1(m)、α0 1(m),使用第一正向概率和保存的第一反向概率β1(m)获得第一译码数据ui和似然L(ui),并且以类似方式,获得第二到第m1译码数据u2到um1,以及似然L(u2)到L(um1)。
(4)其后,以从第N反向概率到第(m1+1)反向概率的相反方向,计算反向概率,并且(5)保存第m2反向概率βm2(m)到第(m1+1)反向概率βm1+1(m)。接着,(6)计算第(m1+1)正向概率α1 m1+1(m)、α0 m1+1(m),使用第(m1+1)正向概率和保存的第(m1+1)反向概率βm1+1(m)获得第(m1+1)译码数据um1+1和似然L(um1+1),并且以类似方式,获得第(m1+2)到第m2译码数据um1+2到um2,以及似然L(um1+2)到L(um2)。(7)其后,以类似方式,获得第(m2+1)到第N译码数据um2+1到uN,以及似然L(um2+1)到L(uN)。
(b)第一实施方式的MAP译码器
图6为根据第一实施方式的MAP译码器的框图。
根据图5的操作顺序,MAP控制器50控制全部MAP译码器,即控制各组件的计算定时,以及从存储器中读出数据或将数据写入到存储器中等。用于以适当方式改变接收数据之输出顺序的输入/输出交织器51,具有一个用于存储所有接收数据的存储器,和一个数据输出部件,该部件用于以与数据输入次序相反或相同的次序,输出接收数据。对于turbo译码器,必须交织接收数据,因此该译码器具有一个用于存储所有接收数据的存储器。这意味着可以将用于交织的存储器,用作输入/输出交织器51的存储器。因此,没有与存储器有关的负担。
移位概率计算部件52使用时刻k(=N)时的接收数据(yak,ybk),计算以下概率:
(xak,xbk)为(0,0)的概率γ0,k
(xak,xbk)为(0,1)的概率γ1,k
(xak,xbk)为(1,0)的概率γ2,k
(xak,xbk)为(1,1)的概率γ3,k
另外,反向概率计算部件53使用时刻k(=N)时的反向概率βk(m)和移位概率γs,k(s=0,1,2,3),计算时刻k-1时各状态m(=0到3)中的反向概率βk-1(m)(m=0到3)。其后,移位概率计算部件52和反向概率计算部件53在k=k-1重复上述计算,从k=N到k=1执行计算,并将从k=m1到1的第m1反向概率βm1(m)到第一反向概率β1(m)保存到存储器54中。
其后,移位概率计算部件52使用时刻k(=1)时的接收数据(yak,ybk),计算以下概率:
(xak,xbk)为(0,0)的概率γ0,k
(xak,xbk)为(0,1)的概率γ1,k
(xak,xbk)为(1,0)的概率γ2,k
(xak,xbk)为(1,1)的概率γ3,k
另外,正向概率计算部件55假设k=1,并使用时刻(k-1)时的正向概率α1 k-1(m)、α0 k-1(m),以及所获得的时刻k时的移位概率γ0,k、γ1,k、γ2,k、γ3,k,计算时刻k时各状态m(=0到3)中的正向概率α1 k(m)、α0 k(m)。
联合概率计算部件56,将时刻k时各状态m(=0到3)中的正向概率α1 k(m)乘以反向概率βk(m),以计算第k项原始数据uk为“1”的概率λ1 k(m),同样,使用在时刻k时各状态m(=0到3)中的正向概率α0 k(m)和反向概率βk(m),计算原始数据uk为“0”的概率λ0 k(m)。
uk和uk似然计算部件57获得在时刻k时各状态m(=0到3)中的“0”概率的总和∑mλ0 k(m),以及“1”概率的总和∑mλ1 k(m),并根据下式输出似然:
L(u)=log[∑mλ1 k(m)/∑mλ0 k(m)]
另外,如果L(u)>0成立,则输出译码结果uk=1,如果L(u)<0成立,则输出译码结果uk=0。
其后,移位概率计算部件52,正向概率计算部件55,联合概率计算部件56,以及uk和uk似然计算部件57在k=k+1时重复上述计算,从k=1到k=m1执行计算,计算时刻k=1到m1的各时刻时的uk以及其可信度(似然)L(uk),并输出。
如果完成从k=1到k=m1的uk和L(uk)的计算,则在MAP控制器50的控制下,移位概率计算部件52使用时刻k(=N)时的接收数据(yak,ybk),计算概率γ0,k、γ1,k、γ2,k、γ3,k。另外,反向概率计算部件53使用时刻k(=N)时的反向概率βk(m)和移位概率γs,k(s=0,1,2,3),计算时刻k-1时各状态m(=0到3)中的反向概率βk-1(m)(m=0到3)。
随后,移位概率计算部件52和反向概率计算部件53在k=k-1时重复上述计算,从k=N到k=m1+1执行计算,并将从k=m2到m1+1的第m2反向概率βm2(m)到第m1+1反向概率βm1+1(m)保存到存储器54中。
随后,移位概率计算部件52使用时刻k(=m1+1)时的接收数据(yak,ybk),计算概率γ0,k、γ1,k、γ2,k、γ3,k。另外,正向概率计算部件53假设k=m1+1,并使用时刻(k-1)时的正向概率α1 k-1(m)、α0 k-1(m),以及所获得的时刻k时的移位概率γ0,k、γ1,k、γ2,k、γ3,k,计算时刻k时各状态m(=0到3)中的正向概率α1 k(m)、α0 k(m)。联合概率计算部件56以及uk和uk似然计算部件57执行与以上所述操作类似的操作,并输出uk和似然L(uk)。
其后,移位概率计算部件52,正向概率计算部件55,联合概率计算部件56,以及uk和uk似然计算部件57在k=k+1时重复上述计算,从k=m1+1到k=m2执行计算,计算时刻k=m1+1到m2的各时刻时的uk以及其可信度(似然)L(uk),并输出。
如果完成上述操作,则随后以类似方式获得第m2+1到第N译码数据um2+1到uN,以及似然L(um2+1)到L(uN)。
根据本发明的第一方面,存储反向概率仅需要r×m(状态数)的存储量,其中m1=r,m2=2r,...成立。此外,由于一直从k=N开始计算反向概率,所以可以准确计算反向概率βk(m),从而可以提高MAP译码的精度。
(C)第二实施方式
(a)操作顺序
图7用于说明根据本发明之第二MAP译码方法的操作顺序。
(1)开始时,以从k=N时第N反向概率直到k=1时第一反向概率的相反方向,计算所有反向概率βk(m)(k=N到1),离散保存第ms反向概率βms(m)、第m(s-1)反向概率βm(s-1)(m)、...、第m3反向概率βm3(m)、第m2反向概率βm2(m),连续保存第m1反向概率βm1(m)到第一反向概率β1(m)。
(2)接着,计算第一正向概率α1 1(m)、α0 1(m),使用第一正向概率和保存的第一反向概率β1(m)获得第一译码数据u1和似然L(u1),并且以类似方式,获得第二到第m1译码数据u2到um1,以及似然L(u2)到L(um1)。
(3)其后,计算反向概率,直至第(m1+1)反向概率βm1+1(m),并从已经保存的第m2反向概率βm2(m)开始保存反向概率。
(4)接着,计算第(m1+1)正向概率α1 m1+1(m)、α0 m1+1(m),使用第(m1+1)正向概率和保存的第(m1+1)反向概率βm1+1(m)获得第(m1+1)译码数据um1+1和似然L(um1+1),以类似方式获得第(m1+2)到第m2译码数据um1+2到um2,以及似然L(um1+2)到L(um2)。
(5)其后,计算反向概率,直至第(m2+1)反向概率βm2+1(m),并从已经保存的第m3反向概率βm3(m)开始保存反向概率。
(6)接着,计算第(m2+1)正向概率α1 m2+1(m)、α0 m2+1(m),使用第(m2+1)正向概率和保存的第(m2+1)反向概率βm2+1(m)获得第(m2+1)译码数据um2+1和似然L(um2+1),以类似方式获得第(m2+2)到第m3译码数据um2+2到um3,以及似然L(um2+2)到L(um3)。
(7)其后,以类似方式,使用保存的第m4反向概率βm4(m)、...、第m(s-1)反向概率βm(s-1)(m)、第ms反向概率βms(m),获得第(m3+1)到第N译码数据um3+1到uN,以及似然L(um3+1)到L(uN)。
(b)第二实施方式的MAP译码器
图8为根据第二实施方式的MAP译码器的框图,其中利用相同的参考字符指示与图6所示组件相同的组件。
根据图7的操作顺序,MAP控制器50控制全部MAP译码器,即控制各组件的计算定时,以及从存储器中读出数据或将数据写入到存储器中等。用于以适当方式改变接收数据之输出顺序的输入/输出交织器51,具有一个用于存储所有接收数据的存储器,和一个数据输出部件,该部件用于以与数据输入次序相反或相同的次序,输出接收数据。
移位概率计算部件52使用时刻k(=N)时的接收数据(yak,ybk),计算以下概率:
(xak,xbk)为(0,0)的概率γ0,k
(xak,xbk)为(0,1)的概率γ1,k
(xak,xbk)为(1,0)的概率γ2,k
(xak,xbk)为(1,1)的概率γ3,k
另外,反向概率计算部件53使用时刻k(=N)时的反向概率βk(m)和移位概率γs,k(s=0,1,2,3),计算时刻k-1时各状态m(=0到3)中的反向概率βk-1(m)(m=0到3)。其后,移位概率计算部件52和反向概率计算部件53在k=k-1重复上述计算,并从k=N到k=1执行计算。反向概率计算部件53,将与从k=N到1的反向概率计算的并行操作中离散获得的第ms反向概率βms(m)、第m(s-1)反向概率βm(s-1)(m)、...、第m3反向概率βm3(m)、第m2反向概率βm2(m),存储到存储器54的离散反向概率存储部分54a,并且将第m1反向概率βm1(m)到第一反向概率β1(m),存储到连续反向概率存储部分54b。
随后,移位概率计算部件52使用时刻k(=1)时的接收数据(yak,ybk),计算以下概率:
(xak,xbk)为(0,0)的概率γ0,k
(xak,xbk)为(0,1)的概率γ1,k
(xak,xbk)为(1,0)的概率γ2,k
(xak,xbk)为(1,1)的概率γ3,k
另外,正向概率计算部件55假设k=1,并使用时刻(k-1)时的正向概率α1 k-1(m)、α0 k-1(m),以及所获得的时刻k时的移位概率γ0,k、γ1,k、γ2,k、γ3,k,计算时刻k时的正向概率α1 k(m)、α0 k(m)。
联合概率计算部件56,将时刻k时各状态m(=0到3)中的正向概率α1 k(m)乘以反向概率βk(m),以计算第k项原始数据uk为“1”的概率λ1 k(m),同样,使用在时刻k时各状态m(=0到3)中的正向概率α0 k(m)和反向概率βk(m),计算原始数据uk为“0”的概率λ0 k(m)。
uk和uk似然计算部件57获得在时刻k时各状态m(=0到3)中的“1”概率的总和∑mλ0 k(m),以及“0”概率的总和∑mλ1 k(m),并根据下式输出似然:
L(u)=log[∑mλ1 k(m)/∑mλ0 k(m)]
另外,如果L(u)>0成立,则输出译码结果uk=1,如果L(u)<0成立,则输出译码结果uk=0。
其后,移位概率计算部件52,正向概率计算部件55,联合概率计算部件56,以及uk和uk似然计算部件57在k=k+1时重复上述计算,从k=1到k=m1执行计算,计算时刻k=1到m1的各时刻时的uk以及其可信度(似然)L(uk),并输出。
如果完成从k=1到k=m1的uk和L(uk)的计算,则在MAP控制器50的控制下,移位概率计算部件52使用时刻k(=m2)时的接收数据(yak,ybk),计算概率γ0,k、γ1,k、γ2,k、γ3,k。另外,反向概率计算部件53从存储部分54a中,读出时刻k(=m2)时的反向概率βk(m)[=βm2(m)],使用反向概率βk(m)和移位概率γs,k(s=0,1,2,3),计算时刻k-1时各状态m(=0到3)中的反向概率βk-1(m)(m=0到3),并将其存储在存储部分54b。随后,移位概率计算部件52和反向概率计算部件53在k=k-1时重复上述计算,从k=m2到k=m1+1执行计算,并将从k=m2到m1+1的第m2反向概率βm2(m)到第m1+1反向概率βm1+1(m)保存到存储部分54b。
随后,移位概率计算部件52使用时刻k(=m1+1)时的接收数据(yak,ybk),计算概率γ0,k、γ1,k、γ2,k、γ3,k。另外,正向概率计算部件53假设k=m1+1,并使用时刻(k-1)时的正向概率α1 k-1(m)、α0 k-1(m),以及所获得的时刻k时的移位概率γ0,k、γ1,k、γ2,k、γx,计算时刻k时各状态m(=0到3)中的正向概率α1 k(m)、α0 k(m)。联合概率计算部件56以及uk和uk似然计算部件57执行与以上所述操作类似的操作,并输出uk和似然L(uk)。
其后,移位概率计算部件52,正向概率计算部件55,联合概率计算部件56,以及uk和uk似然计算部件57在k=k+1时重复上述计算,从k=m1+1到k=m2执行计算,计算时刻k=m1+1到m2的各时刻时的uk以及其可信度(似然)L(uk),并输出。
随后,以类似方式获得第m2+1到第N译码数据um2+1到uN,以及似然L(um2+1)到L(uN)。
根据本发明的第二方面,存储反向概率仅需要r×m+(s-1)(m:状态数)的存储量,其中m1=r,m2=2r,m3=3r,...成立。另外,对其调整,从而以从第N反向概率到第一反向概率的相反方向,计算反向概率,离散存储获得的反向概率,并且如果必要的话,计算所需数目的反向概率,并从某个离散存储的反向概率开始使用。因此,可以准确计算反向概率βk(m),从而可以提高MAP译码的精度。
(C)Turbo译码器
图9为一框图,说明将根据本发明的MAP译码器用作turbo译码器(见图4)中的组件译码器DEC1、DEC2的情况。进行上述调整,从而可以利用单一MAP译码器执行组件译码器DEC1、DEC2中的译码操作。利用相同的参考字符指示与图8所示MAP译码器的组件相同的组件。
根据图7所示的操作顺序,MAP控制器50控制MAP译码器的各种定时。具有用于存储接收数据ya、yb、yc的RAM51a到51c,以及用于控制接收数据之读写的RAM控制器51d的、输入/输出交织器51,以输入该数据的次序输出接收数据,并且在适当时候,改变输出顺序以便对接收数据进行交织。计算移位概率的移位概率计算部件52,具有第一和第二运算器52a、52b。正如连同图7、图8说明的那样,反向概率计算部件53计算反向概率。存储反向概率的存储器54,具有用于离散存储反向概率的RAM54a,用于连续存储反向概率的RAM54b,以及用于控制反向概率之读写操作的RAM控制器54c。正向概率计算部件55计算正向概率。联合概率计算部件56对正向概率和反向概率进行乘法运算,以计算第k项数据uk为“1”的概率,以及该数据为“0”的概率。似然计算部件57输出译码结果u以及后验概率L(u)。
S/P转换器61对接收数据进行串并转换,并将转换后的数据,输入到输入/输出交织器51。通过转换获得的接收数据ya、yb、yc,为采用n位量化的软判决数据。外部信息似然计算部件62输出外部信息似然Le(u)。在MAP译码的第一循环中,外部信息似然计算部件62,使用似然计算部件57输出的后验似然L(u)以及MAP译码器输入信号(=信号ya),输出外部信息似然Le(u)。写控制器63将外部信息似然Le(u)写到存储器64中。读出控制器65通过从存储器64中读出外部信息似然Le(u),以合适方式对外部信息似然Le(u)进行交织和解交织,并输出其结果,作为下一MAP译码循环中使用的后验似然L(u′)。
在MAP译码中,从第二循环开始,turbo译码使用[信号ya+后验似然L(u′)]作为输入信号ya。因此,在MAP译码的第二循环中,外部信息似然计算部件62,使用似然计算部件57输出的后验似然L(u)以及译码器输入信号[信号ya+后验似然L(u′)],输出外部信息似然Le(u)。写控制器63将外部信息似然Le(u)写到存储器64中。读出控制器65通过从存储器64中读出外部信息似然Le(u),以合适方式对外部信息似然Le(u)进行交织和解交织,并输出其结果,作为下一MAP译码循环中使用的后验似然L(u′)。其后,以类似方式输出外部信息似然L(u′)。通过使用各值的对数值,建立以下等式:
L(u)=Lya+L(u′)+Le(u) (8)
因此,外部信息似然计算部件62能够根据下式获得外部信息似然Le(u):
Le(u)=L(u)-Lya-L(u′) (9)
其中L(u′)=0在第一次时成立。
当写控制器63最终输出译码数据u时,将该译码数据写到存储器64中;否则,写控制器63将外部信息似然Le(u)写到存储器64中。当读出控制器65输出译码数据u时,读出控制器65以写入该数据的次序,从存储器中读出译码数据u。当读出控制器65读出外部信息似然Le(u)时,读出控制器65根据交织控制器66指定的读出顺序,读出并输出(交织)该数据。存储器67具有RAM67a和RAM控制器67b,并存储经过交织的外部信息似然Le(u)作为L(u′)。
图10用于说明turbo译码的顺序。正如从图4中明显看到的那样,turbo译码重复许多次,以处理使用ya、yb的第一部分译码,和使用ya、yc的第二部分译码,其中第一部分和第二部分作为一组。
在第一次第一部分的译码处理中,使用接收信号Lcya、Lcyb进行译码,并输出所得到的似然L(u1)。接着,根据式(9)[其中L(u1′)=0成立]获得后验似然Le(u1),对此似然进行交织并获得L(u2′)。
在第一次第二部分译码处理中,将通过交织接收信号cya获得的信号以及在第一部分译码处理中获得的后验似然L(u2′),视为新的接收信号Lcya′,使用Lcya′和Lcyc进行译码,并输出获得的似然(u2)。接着,根据式(9)得到后验似然Le(u2),对此似然进行交织以获得L(u3′)。
在第二次第一部分的译码处理中,将接收信号Lcya以及在第二部分译码处理中获得的后验似然L(u3′),视为新的接收信号Lcya′,使用Lcya′和Lcyb进行译码,并输出获得的似然(u3)。接着,根据上式得到后验似然Le(u3),对此似然进行交织并获得L(u4′)。
在第二次第二部分译码处理中,将通过交织接收信号cya获得的信号以及在第一部分译码处理中获得的后验似然L(u4′),视为新的接收信号Lcya′,使用Lcya′和Lcyc进行译码,并输出获得的似然(u4)。接着,根据式(9)得到后验似然Le(u4),对此似然进行交织以获得L(u5′)。
随后,重复上述译码处理。
因此,根据本发明的第一方面,存储反向概率仅需要r×m(m:状态数)的存储量,其中m1=r,m2=2r,...成立。此外,由于一直从k=N开始计算反向概率,所以可以准确计算反向概率βk(m),从而可以提高MAP译码的精度。
另外,根据本发明的第二方面,存储反向概率仅需要r×m+(s-1)(m:状态数)的存储量,其中m1=r,m2=2r,...成立。
另外,根据本发明的第二方面,对其调整,从而以从第N反向概率到第一反向概率的相反方向,计算反向概率,离散存储获得的反向概率,并且如果必要的话,计算所需数目的反向概率,并从某个离散存储的反向概率开始使用。因此,可以准确计算反向概率βk(m),从而可以提高MAP译码的精度。
另外,根据本发明的第二方面,在必要时,通过从k=N开始计算反向概率,无需获得所需数目的反向概率。因此可以提高操作速度。另外,无需使用两条运算线路计算反向概率βk(m),也能获得规定的操作速度。而且仅需计算一次反向概率βk(m),从而在降低功耗方面具有优势。
Claims (8)
1.一种最大后验概率译码方法,用于接收并译码通过对长度为N的信息编码后得到的编码数据,其特征在于包括:
以从编码数据结尾开始的次序,在时间上从后到前执行作为重复操作的反向重复操作,并且在执行此操作时,保存与第一到第m1项编码数据相对应的反向重复操作的第一到第m1结果;
以从第一到第m1项编码数据的次序,在时间上从前到后执行作为重复操作的正向重复操作,并且在执行此操作时,输出作为译码结果的第一到第m1操作结果;
再次以从编码数据结尾开始的次序,执行反向重复操作,并且在此操作时,保存反向重复操作的第(m1+1)到第m2结果;
以从第(m1+1)到第m2项编码数据的次序,执行正向重复操作,并且在执行此操作时,输出作为译码结果的第(m1+1)到第m2操作结果;
随后以从编码数据的结尾开始的次序,执行反向重复操作,并且在执行此操作时,保存反向重复操作的第(mi+1)到第mi+1操作结果,其中i=2,3,...;
以从第(mi+1)到第mi+1项编码数据的次序,进行正向重复操作,并且在执行此操作时,输出第(mi+1)到第mi+1项操作结果作为译码结果;以及
最后输出直到第N项结果的所有译码结果。
2.一种最大后验概率译码方法,该方法通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:
以从第N反向概率到第一反向概率的相反方向,计算反向概率,并保存第m1反向概率到第一反向概率;
计算第一正向概率,通过使用第一正向概率以及所保存的第一反向概率,获得第一译码结果,同样,获得第二到第m1译码结果;
随后,以从第N反向概率到第(m1+1)反向概率的相反方向,计算反向概率,并保存第m2反向概率到第(m1+1)反向概率;
计算第(m1+1)正向概率,通过使用第(m1+1)正向概率以及所保存的第(m1+1)反向概率,获得第(m1+1)译码结果,同样,获得第(m1+2)到第m2译码结果;以及
随后获得第(m2+1)到第N译码结果。
3.一种最大后验概率译码方法,用于接收并译码通过对长度为N的信息编码后得到的编码数据,其特征在于包括:
以从编码数据结尾开始的次序,在时间上从后到前执行作为重复操作的反向重复操作,并且在执行此操作时,保存与第一到第m1、m2、m3...项编码数据相对应的反向重复操作的第一到第m1、m2、m3...结果;
以从第一到第m1项编码数据的次序,在时间上从前到后执行作为重复操作的正向重复操作,并且在执行此操作时,输出作为译码结果的第一到第m1操作结果;
随后,在利用反向重复操作的所述m2结果按照从第m2个编码数据开始的次序执行第m2到第(m1+1)反向重复操作时,保存结果;
以从第(m1+1)到第m2项数据的次序,执行正向重复操作,并且在执行此操作时,输出作为译码结果的第(m1+1)到第m2操作结果;
随后,在利用所述反向重复操作的第mi+1项结果按照从第mi+1项编码数据开始的次序执行第mi+1到第(mi+1)反向重复操作时,保存结果,其中i=2,3,...;
以从第(mi+1)到第mi+1项数据的次序,执行正向重复操作,并且在执行此操作时,输出从第(mi+1)到第mi+1项操作结果作为译码结果;以及
最后输出直到第N项结果的所有译码结果。
4.一种最大后验概率译码方法,该方法通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:
以从第N反向概率到第一反向概率的相反方向,计算反向概率,离散地保存第ms反向概率,第m(s-1)反向概率,...,第m2反向概率,并且连续保存第m1反向概率到第一反向概率;
计算第一正向概率,通过使用第一正向概率以及所保存的第一反向概率,获得第一译码结果,同样,获得第二到第m1译码结果;
随后,计算并保存从所保存的第m2反向概率开始直到第(m1+1)反向概率的反向概率;
计算第(m1+1)正向概率,通过使用第(m1+1)正向概率以及所保存的第(m1+1)反向概率,获得第(m1+1)译码结果,同样,获得第(m1+2)到第m2译码结果;以及
随后获得第(m2+1)到第N译码结果。
5.根据权利要求4的最大后验概率译码方法,其特征在于,连续保存的反向概率数约为N1/2。
6.一种译码器,通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:
一个用于计算反向概率的反向概率计算部件;
一个用于保存已经计算的反向概率的反向概率保存部件;
一个用于计算正向概率的正向概率计算部件;
一个译码结果计算部件,用于使用第k正向概率和所保存的第k反向概率获得第k译码结果;以及
一个控制器,用于控制所述反向概率计算部件、所述正向概率计算部件以及所述译码结果计算部件的操作定时;其中
所述反向概率计算部件包括如下装置,该装置以从第N反向概率到第mi+1反向概率的相反方向,计算反向概率,并在所述反向概率保存部件中,保存第mi+1反向概率到第mi+1反向概率,其i=0,1,2...;m0=0;所述正向概率计算部件包括如下装置,该装置计算第mi+1正向概率到第mi+1正向概率;并且所述译码结果计算部件包括如下装置,该装置通过使用已经计算出的第k正向概率以及所保存的第k反向概率,计算第k译码结果,其中k=mi+1到mi+1。
7.一种译码器,通过使用对长度为N的信息编码后得到的编码数据的第一到第k项,计算第k正向概率,通过使用第N到第k项编码数据获得第k反向概率,并且通过使用上述概率输出第k译码结果,其特征在于包括:
一个用于计算反向概率的反向概率计算部件;
一个用于保存已经计算的反向概率的反向概率保存部件;
一个用于计算正向概率的正向概率计算部件;
一个译码结果计算部件,用于使用第k正向概率和所保存的第k反向概率获得第k译码结果;以及
一个控制器,用于控制所述反向概率计算部件、所述正向概率计算部件以及所述译码结果计算部件的操作定时;其中
所述反向概率计算部件包括如下装置,该装置以从第N反向概率到第一反向概率的相反方向,计算反向概率,在所述反向概率保存部件中,离散地保存第ms反向概率,第m(s-1)反向概率,...,第m2反向概率,并且连续保存第m1反向概率到第一反向概率;所述正向概率计算部件计算第一正向概率到第m1正向概率;所述译码结果计算部件包括以下装置,该装置通过使用已经计算出的第k正向概率以及所保存的第k反向概率,计算第k译码结果,k=1到m1;其中所述反向概率计算部件还包括如下装置,该装置计算并在所述反向概率保存部件中保存,从所保存的第mi+1反向概率开始直到第(mi+1)反向概率的反向概率,i=1,2...;所述正向概率计算部件还包括如下装置,该装置计算第(mi+1)正向概率到第mi+1正向概率;所述译码结果计算部件还包括如下装置,该装置通过使用已经计算出的第k正向概率以及所保存的第k反向概率,计算第k译码结果,k=mi+1到mi+1。
8.根据权利要求7的译码器,其特征在于,连续保存的反向概率数约为N1/2。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP1999/000963 WO2000052833A1 (fr) | 1999-03-01 | 1999-03-01 | Procede et appareil de decodage de probabilite maximale a posteriori |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1336038A CN1336038A (zh) | 2002-02-13 |
CN1201494C true CN1201494C (zh) | 2005-05-11 |
Family
ID=14235059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB998163554A Expired - Fee Related CN1201494C (zh) | 1999-03-01 | 1999-03-01 | 最大后验概率译码方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6563890B2 (zh) |
EP (1) | EP1156588B1 (zh) |
JP (1) | JP3451246B2 (zh) |
CN (1) | CN1201494C (zh) |
DE (1) | DE69936067T2 (zh) |
WO (1) | WO2000052833A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6798852B2 (en) * | 2000-06-06 | 2004-09-28 | Ericsson Inc. | Methods and systems for extracting a joint probability from a map decision device and processing a signal using the joint probability information |
US6961921B2 (en) * | 2001-09-06 | 2005-11-01 | Interdigital Technology Corporation | Pipeline architecture for maximum a posteriori (MAP) decoders |
US6763493B2 (en) * | 2001-09-21 | 2004-07-13 | The Directv Group, Inc. | Method and system for performing decoding using a reduced-memory implementation |
JP3888135B2 (ja) | 2001-11-15 | 2007-02-28 | 日本電気株式会社 | 誤り訂正符号復号装置 |
DE60312923T2 (de) * | 2002-05-31 | 2007-12-13 | Broadcom Corp., Irvine | Soft-In Soft-Out Dekoder für Turbo-Trelliskodierte Modulation |
US7107512B2 (en) | 2002-05-31 | 2006-09-12 | Broadcom Corporation | TTCM decoder design |
JP2004080508A (ja) * | 2002-08-20 | 2004-03-11 | Nec Electronics Corp | 誤り訂正符号の復号方法、そのプログラム及びその装置 |
JP4227481B2 (ja) | 2003-07-11 | 2009-02-18 | パナソニック株式会社 | 復号装置および復号方法 |
JP2005109771A (ja) * | 2003-09-30 | 2005-04-21 | Fujitsu Ltd | 最大事後確率復号方法及び装置 |
KR20050042869A (ko) * | 2003-11-04 | 2005-05-11 | 삼성전자주식회사 | 구현이 간단한 map디코더 및 그의 디코딩 방법 |
JP2005167513A (ja) * | 2003-12-01 | 2005-06-23 | Matsushita Electric Ind Co Ltd | 復号装置及び復号方法 |
JP2006041960A (ja) * | 2004-07-28 | 2006-02-09 | Nec Corp | ターボ復号装置及びターボ復号方法並びにプログラム |
WO2006038829A1 (en) | 2004-09-29 | 2006-04-13 | Intel Corporation | Iterative decoding with buffering and restoring intermediate decoder states |
JP2006324754A (ja) * | 2005-05-17 | 2006-11-30 | Fujitsu Ltd | 最大事後確率復号方法及び復号装置 |
US7616713B2 (en) * | 2005-05-31 | 2009-11-10 | Skyworks Solutions, Inc. | System and method for forward and backward recursive computation |
JP4525658B2 (ja) * | 2006-10-12 | 2010-08-18 | 日本電気株式会社 | 誤り訂正符号復号装置 |
JP4708301B2 (ja) | 2006-10-13 | 2011-06-22 | 富士通株式会社 | ターボ復号装置 |
US20130142057A1 (en) * | 2011-12-01 | 2013-06-06 | Broadcom Corporation | Control Channel Acquisition |
CN104427530B (zh) * | 2013-08-29 | 2019-05-31 | 锐迪科(重庆)微电子科技有限公司 | 一种控制信道检测方法及装置 |
CN108122556B (zh) * | 2017-08-08 | 2021-09-24 | 大众问问(北京)信息科技有限公司 | 减少驾驶人语音唤醒指令词误触发的方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2675971B1 (fr) | 1991-04-23 | 1993-08-06 | France Telecom | Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants. |
DE4437984A1 (de) * | 1994-10-25 | 1996-08-14 | Philips Patentverwaltung | Übertragungssystem mit Soft-Output-Dekodierung |
US6161209A (en) * | 1997-03-28 | 2000-12-12 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre | Joint detector for multiple coded digital signals |
US6430722B1 (en) * | 1998-01-23 | 2002-08-06 | Hughes Electronics Corporation | Forward error correction scheme for data channels using universal turbo codes |
US6339834B1 (en) * | 1998-05-28 | 2002-01-15 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre | Interleaving with golden section increments |
US6263467B1 (en) * | 1998-08-20 | 2001-07-17 | General Electric Company | Turbo code decoder with modified systematic symbol transition probabilities |
US6353900B1 (en) * | 1998-09-22 | 2002-03-05 | Qualcomm Incorporated | Coding system having state machine based interleaver |
US6028897A (en) * | 1998-10-22 | 2000-02-22 | The Aerospace Corporation | Error-floor mitigating turbo code communication method |
-
1999
- 1999-03-01 WO PCT/JP1999/000963 patent/WO2000052833A1/ja active IP Right Grant
- 1999-03-01 CN CNB998163554A patent/CN1201494C/zh not_active Expired - Fee Related
- 1999-03-01 DE DE69936067T patent/DE69936067T2/de not_active Expired - Lifetime
- 1999-03-01 JP JP2000603157A patent/JP3451246B2/ja not_active Expired - Fee Related
- 1999-03-01 EP EP99906532A patent/EP1156588B1/en not_active Expired - Lifetime
-
2001
- 2001-08-07 US US09/923,602 patent/US6563890B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6563890B2 (en) | 2003-05-13 |
DE69936067D1 (de) | 2007-06-21 |
EP1156588A4 (en) | 2005-05-04 |
CN1336038A (zh) | 2002-02-13 |
DE69936067T2 (de) | 2008-01-10 |
WO2000052833A1 (fr) | 2000-09-08 |
US20020015457A1 (en) | 2002-02-07 |
JP3451246B2 (ja) | 2003-09-29 |
EP1156588B1 (en) | 2007-05-09 |
EP1156588A1 (en) | 2001-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1201494C (zh) | 最大后验概率译码方法和装置 | |
CN1330455A (zh) | Turbo(涡轮)码的译码电路和编码译码电路 | |
CN1235343C (zh) | 交织方法、交织装置以及存储交织模式产生程序的媒体 | |
CN1183681C (zh) | 用于在有连续最小游程长度极限的情况下进行调制/解调的设备与方法 | |
CN1104785C (zh) | 位置分集接收方法、基站主机设备及接收信号的处理方法 | |
CN1108665C (zh) | 包括结合多维调制的乘积码的数字传输***与方法 | |
CN1917074A (zh) | 估算设备、再现设备和估算方法 | |
CN1139191C (zh) | 涡轮码纠错译码方法 | |
CN1897512A (zh) | 纠错装置 | |
CN1960234A (zh) | 解交织器及多重载波通信*** | |
CN1208920C (zh) | 数据传输方法,数据传输***,发射装置和接收装置 | |
CN1147052C (zh) | ***方法与设备和去***方法与设备 | |
CN1622505A (zh) | 译码装置和译码方法 | |
CN101043251A (zh) | 使用码分多址的无线通信***中的物理层处理 | |
CN1196268C (zh) | 并行涡轮编码器实施方案 | |
CN1841548A (zh) | 编码器和解码器 | |
CN1669071A (zh) | 用于在音频代码的编码/解码处理之间转换代码的方法和装置以及使用该方法和装置的存储介质 | |
CN1020364C (zh) | 改进的数字信号数据及前向差错控制编码技术 | |
CN1848718A (zh) | 应用于可变长度通讯***的方法 | |
CN1234932A (zh) | 变长帧传输方法、发射机和接收机 | |
CN1529945A (zh) | 译码物理信号序列之方法与装置、可靠性决定单元及维特比译码单元 | |
CN1708908A (zh) | 数字信号处理方法、处理器、程序及存储了该程序的记录介质 | |
CN1722619A (zh) | 解码设备,解码方法,程序记录介质和记录/再现设备 | |
CN1214535C (zh) | 有限卷积码的软判决解码 | |
CN1913424A (zh) | 译码装置和译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
C10 | Entry into substantive examination | ||
PB01 | Publication | ||
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: 20050511 Termination date: 20140301 |