CN101079642A - 误差校正码的译码方法及其程序和设备 - Google Patents
误差校正码的译码方法及其程序和设备 Download PDFInfo
- Publication number
- CN101079642A CN101079642A CNA2007101096482A CN200710109648A CN101079642A CN 101079642 A CN101079642 A CN 101079642A CN A2007101096482 A CNA2007101096482 A CN A2007101096482A CN 200710109648 A CN200710109648 A CN 200710109648A CN 101079642 A CN101079642 A CN 101079642A
- Authority
- CN
- China
- Prior art keywords
- value
- path metric
- path
- state
- metric value
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and 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/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/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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0055—MAP-decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
- H04L1/006—Trellis-coded modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
一种译码方法被提供,该方法能够用简单的结构和较短的时间实现误差校正码的译码。在用于执行由正向处理、逆向处理和外来信息值处理组成的迭代译码的误差校正码的译码方法中,在逆向处理中,在执行上次迭代译码时获得的窗口边界中的第二路径量度值被作为在执行本次迭代译码时要获得的窗口边界中的第二路径量度值的初始值。
Description
本申请是申请日为2003年8月20日、申请号为03159729.7、发明名称为“误差校正码的译码方法及其程序和设备”的申请的分案申请。
技术领域
本发明涉及一种误差校正码的译码方法,一种存储误差校正码的译码方法的程序,和一种误差校正码的译码方法的设备,更具体地说,涉及一种能够适用于数字移动通信系统,如便携式蜂窝电话等的误差校正码的译码方法,和该译码方法的程序及该译码方法的设备。
背景技术
本申请要求2002年8月20日提交的日本专利申请No.2002-239492的优先权,该申请在此引入以供参考。
背景技术最近,作为一种误差校正码,涡轮码已经被开发出来,涡轮码通过执行逼真处理能够实现一种接近于信息论极限(现在被称之为“香农极限”)的传输特性。下面描述涡轮码。
图17表示用于产生作为一种PCCC(并联卷积码)的涡轮码的常用编码器的实例。如图17所示,该实例的编码器被配置成使得两件卷积编码器1和2被通过一交织设备3并联连接。卷积编码器1使用一从外部馈送的信息序列(系统位“u”)对第一奇偶校验位“p”进行编码。交织设备3产生一个通过排序该系统位“u”的每个位而获得的交织系统位“u”(该处理被称为“交织”),并将其馈送给交织编码器2。卷积编码器2使用交织过的系统位“u’”对第二奇偶校验位“p’”进行编码。一组系统位“u”和第一奇偶校验位“p”被称为第一码元(u,p),一组交织过的系统位“u’”和第二奇偶校验位“p’”被称为第二码元(u’,p’)。
另一方面,一种涡轮码的译码方法的特征在于:在第一码元(u,p)和第二码元(u’,p’)之间交换是可靠信息的先验概率时可重复进行译码。这种涡轮码的译码方法使用了软输入和软输出译码方法。该软输入和软输出译码方法大致可分为两种方法,一种是SOVA(软输出维特比算法)译码方法,另一种是MAP(最大后验概率算法)译码方法。下面描述一种MAP类型的MAX-Log-MAP译码方法。在MAX-Log-MAP(最大-对数-MAP)算法中,对格子图执行维特比译码以能计算一路径量度。
图18表示一种格子图。图19表示一种普通译码程序的框图。从起点到终点对格子图执行维特比译码以能计算一路径量度值的处理被称为“正向处理”,用正向处理计算的路径量度值称之为“α”路径量度值(αPM)(或者称之为第一路径量度值)。α路径量度值存储在如图19所示的存储器中。另一方面,按照与正向处理使用的方向相反的方向执行维特比译码以能计算路径量度值的处理被称为“逆向处理”,该路径量度值称之为“β”路径量度值(βPM)(或者称之为第二路径量度值)。而且,在从α路径量度值、β路径量度值和分支量度值中计算对数似然比(LLR)(后验概率的对数比率),然后计算外来信息的处理被称为“外来信息值计算处理”。这里,外来信息值代表信息序列的可靠性的增量。外来信息值实际上被用作一在第一码元(u,p)和第二码元(u’,p’)之间将被交换的先验概率。
下面,详细地解释最大-对数-MAP算法。首先,在时间k产生的卷积编码器的输出,由于它是系统码,被设定(uk,pk)∈{±1}(pk是一个奇偶校验位),卷积编码器yk的相应输入被设定为(yu k,yp k)。估算的信息序列uhk被设定为(uh1,uh2,...,uhn)。图20是表示在格子图中从时间点(k-1)到时间点k发生迁移情况下的迁移模型图。在时间k时格子图上的特定状态被定义为状态sk,在时间(k-1)时格子图上的特定状态被定义为状态sk-1,最大-对数-MAP算法中对数似然比L(uhk)用方程式(1)给出。
在方程式(1)中,“p(sk-1,sk,y)”表示卷积译码器输入“y”的同时发生的事件概率和从状态sk-1到状态sk的迁移。也就是说,第k个信息位uk的预先定义的信息L(uhk)被定义为由于uk=+1而产生的所有迁移(sk-1→sk)的同时发生的事件概率p(sk-1,sk,y)的最大概率和由于uk=-1而产生的所有迁移(sk-1→sk)的同时发生的事件概率p(sk-1,sk,y)的最大概率之间的差。在时间“i”到时间“j”期间要提供的卷积译码器的输入用方程式(2)表达,并且代码字长度是N时,无记忆信道中的同时发生的事件概率p(sk-1,sk,y)是作为用方程式(3)表达的独立概率之和给出的。
Yi j=(Yi,Yi+1,...Yj) …方程式(2)
P(Sk-1,Sk,y)=P(Sk-1,Y1 k-1)+P(Sk,Yk|Sk-1)+P(Yk N|Sk) …方程式(3)
在方程式(3)中,右侧的每项是从左侧按次序分别表示为αk-1(sk-1)、γk(sk,sk-1)和βk(sk)。在它们中,γk(sk,sk-1)是所有现有迁移(sk-1→sk)的分支量度值。αk-1(sk-1)是用正向处理计算的路径量度值,βk(sk)是用逆向处理计算的路径量度值。其中每个是用方程式(4)和(5)递归地计算出来的。
图21表示在格子图中从时间点(k-1)到时间点k发生迁移情况下计算αk-1(sk-1)、γk(sk,sk-1)和βk(sk)的模型图。但是,在格子图中起点和终点是唯一的,它们按照如方程式(6)中所示的进行初始化。
而且,通过使用方程式(7)和方程式(8)从预先定义的信息L(uhk)中能够计算外来信息值。
Li(uk)=La(uk)+LcXyu k …方程式(7)
Le(uhk)=L(uhk)-Li(uk) …方程式(8)
方程式(7)中表示的“Li(uk)”称之为相对于外来信息Le(uhk)的“内部信息”。方程式(8)中表示的La(uk)是先验概率,它还对应于在译码其它码元过程中的外来信息值。“Lc”是由一信道确定的常数,在白高斯信道(平均值:0,分布N0/2,信号功率Eb)的情况下用方程式(9)给出。
Lc=4Eb/N0 …方程式(9)
常数“Lc”是一个取决于信道噪声条件的值。
上述译码涡轮码的常用方法存在一个如下问题:在格子图中所有点和所有状态中的路径量度值必须被存储一次,因此为了存储该路径量度值就需要大容量的存储器。为了解决该问题,就提出一种方法,在该方法中,通过使用格子图中的特定时间点(称之为“窗口”)执行局部译码来减小存储路径量度值所需要的存储器容量。在此情况下,在常规的译码序列中,其中译码是从格子图中的起点开始的,如何控制局部逆向处理中路径量度值的初始值就提出了一个问题。在一篇文章“Soft-Output Decoding Algorithm for Continuous Decodingof Parallel Concatenated Convolutional Codes”(1996年的IEEE国际通信会议学报第112-117页,S.Benedetto等撰写)中公开了一种译码方法,在方法中,用存在于窗口前被认为是置于相同概率条件下的所有状态来执行逆向处理,在通过执行逆向处理获得的路径量度值的初始化值期间的周期被定义为学习周期(该译码方法被称之为“滑动窗口方法”)。而且,在一篇文章“VLSIarchitectures for turbo codes”(1999年的VLSI系统的IEEE学报第369-379页)中公开了一种译码器,该译码器能够提供一种在滑动窗口方法中的每一个周期中产生一个软输出的方法,在该文章中,提供了对应于窗口的许多时间点的逆向处理模块,这些模块用作流水线。但是,这种公开的译码器具有一个缺点:它需要能够与窗口数量相对应的逆向处理模块,这样就会使电路规模增大。
图22表示一种根据文章“An Intuitive Justification and a SimplifiedImplementation of the MAP Decoder for Convolutional Codes”(1998年通信选择区域的IEEE期刊第260-264页,A.J.Viterbi著)的涡轮码的常用译码器结构的实例的示意框图。所公开的涡轮码的译码器具有一种能够在滑动窗口方法执行学习处理的学习模块,在该滑动窗口方法中,可提供一种通过使用与窗口尺寸相对应的许多时间点滑动定时而实现的译码进度,因此能够在每个周期中产生一个软输出。所公开的涡轮码的译码器是由一正向处理模块11,一逆向处理模块12,一学习处理模块13,一外来信息值计算处理模块14,一开关15和存储器16-19组成。
正向处理模块11执行正向处理。逆向处理模块12执行逆向处理。学习处理模块13执行学习处理。外来信息值计算处理模块14计算外来信息值。开关15通常与逆向处理模块12相连接。学习处理模块13的学习结果作为一路径量度值被馈送到逆向处理模块12,开关15与学习处理模块13相连接。存储器16的设置是用于将码元和外来信息值馈送到正向处理模块11,逆向处理模块12和学习处理模块13中的每一个。而且,存储器17的设置是用于将经过正向处理模块11计算的路径量度值馈送到外来信息值计算处理模块14。存储器18的设置是用于将经过外来信息值计算处理模块14计算的外来信息值馈送到存储器16。即,存储器18的设置是用于交换在第一码元(u,p)和第二码元(u’,p’)之间作为先验概率的外来信息值。存储器19的设置是用于将交织图案ILP暂时存储在其中。而且,存储器16和19是四面缓冲器的结构,而存储器17和18是两面缓冲器的结构。
下面参考图23描述具有上述所示结构的涡轮码译码器的操作。在图23中,“FWP”表示正向处理,“BWP”表示逆向处理,“STP”表示学习处理。
(1)在时间0至2Lt期间,为了执行下面所述的学习处理,就执行预处理以能存储出现在图23所示的格子图上从时间点0(起点)到2Lp的码元和外来信息。而且,为了译码第二码元(u’,p’),除了上述预处理外,还需要执行将交织图案ILP暂时存储在存储器19中的处理。
(2)在时间2Lt至3Lt期间,正向处理模块11执行图23中所示格子图上从时间点0(起点)到Lp的正向处理。同时,学习处理模块13执行图23中所示格子图上从时间点2Lp到Lp的学习处理。而且,在学习处理过程中路径量度的初始值使位于窗口前的所有状态处于相同概率的条件下。
(3)在时间3Lt至4Lt期间,正向处理模块11执行图23中所示格子图上从时间点Lp到2Lp的正向处理。而且,与此同时,逆向处理模块12执行在图23中学习处理(2)之后的图23中所示格子图上从时间点Lp到0(起点)的逆向处理。同时,外来信息值计算处理模块14计算一外来信息值。而且,与此同时,学习处理模块13执行图23中所示格子图上从时间点3Lp到2Lp的学习处理。
(4)在时间4Lt至5Lt期间,正向处理模块11执行图23中所示格子图上从时间点2Lp到3Lp的正向处理。而且,与此同时,逆向处理模块12执行在图23中学习处理(3)之后的图23中所示格子图上从时间点2Lp到Lp的逆向处理。同时,外来信息值计算处理模块14计算一外来信息值。而且,学习处理模块13执行图23中所示格子图上从时间点4Lp到3Lp的学习处理。
(5)在时间5Lt至(Nt-Mt+3Lt)(Mt≤Lt)期间,执行与处理(3)和(4)相同的处理。
(6)在时间(Nt-Mt+3Lt)至(Nt+3Lt)期间,逆向处理模块12执行图23中所示格子图上从时间点(Np-Mp)到Np(终点)的逆向处理。同时,外来信息值计算处理模块14计算一外来信息值。
(7)作为对第一码元(u,p)执行的译码处理,执行上述处理(1)至(6),然后用与上述处理(1)至(6)相同的方式对第二码元(u’,p’)执行译码处理,并且将一系列上述处理作为迭代译码的第一操作而加以控制。
(8)通过在对第二码元(u’,p’)执行译码处理中使用对数似然比(LLR)的符号位,在交织译码完成合适的次数(大约为10次)后,对每个估算的信息序列Uhk就会产生一个硬判决。
如上所述,涡轮码的常用译码器需要学习处理模块13。而且,用于将码元和外来信息值馈送到正向处理模块11、逆向处理模块12和学习处理模块13中的每一个的存储器16和暂时存储交织图案ILP的存储器19这二者必须是四面缓冲器的结构。而且,在作为开始译码的预处理的学习处理过程中,需要一个用于暂时存储与2Lp时间点相对应的码元和外来信息值的时间周期。恐怕不仅在译码涡轮码的译码器中,而且在通常通过使用MAP译码类型的软输入和软输出译码方法来执行迭代译码利用卷积码的代码的译码器中产生上述缺点。
发明内容
鉴于上述问题,本发明的一个目的是提供一种能够以简单的结构和在较短的时间内实现译码误差校正码的误差校正码译码方法,和一种误差校正码译码方法的程序及一种误差校正码译码方法的设备。
根据本发明的第一个方面,提供一种执行迭代译码的误差校正码译码方法,该方法包括:
正向处理,根据所接收到的数据和一外来信息值,通过在格子图上从起点到终点的方向执行维特比译码来计算第一路径量度值;
逆向处理,根据所接收到的数据和外来信息值,通过按照与用于正向处理的方向相反的方向在格子图上对每个窗口执行维特比译码来计算第二路径量度值;
外来信息值计算处理,根据第一和第二路径量度值来计算外来信息值;
其中,在逆向处理中,通过使用在执行上次迭代译码时获得的窗口边界中的第二路径量度值作为在执行本次迭代译码时要获得的第二路径量度值的初始值来执行迭代译码。
根据本发明的第二个方面,提供一种执行迭代译码的误差校正码的译码方法,该方法包括:
正向处理,根据所接收到的数据和一外来信息值,通过按照从起点到终点的方向执行维特比译码来计算第一路径量度值;
逆向处理,根据所接收到的数据和外来信息值,通过按照与用于正向处理的方向相反的方向在格子图上对每个窗口执行维特比译码来计算第二路径量度值;
外来信息值计算处理,根据第一和第二路径量度值来计算外来信息值;
其中,在正向处理中,通过使用在上次已经完成窗口的正向处理时获得的窗口边界中的第一路径量度值作为在执行本次正向处理时要获得的窗口边界中的第一路径量度值的初始值来执行迭代译码。
其中,在逆向处理中,通过使用在执行上次迭代译码时获得的窗口边界中的第二路径量度值作为在本次窗口边界中的第二路径量度值的初始值来执行迭代译码。
在前述的第一和第二个方面中,一中优选方式是:其中可使用一外来信息值,该值是通过乘以一介于0.5或更大和0.9或更小的范围之间的标准系数而获得的。
而且,一种优选方式是:其中计算外来信息值的信道常数介于1.5或更大和2.5或更小的范围中。
而且,一个较佳方式是:其中窗口位的尺寸是约束长度位的四倍或更大,并且是所需信息位的最大数量的二分之一或更小。
而且,一种优选方式是:其中在正向处理、逆向处理和外来信息值计算处理中,通过使用一格子图执行维特比译码,在该格子图中,在组成代码字的符号序列中的正值和负值是反向的,并且选择具有最小路径量度值的路径。
根据本发明的第三个方面,提供一种能够使计算机实现一种用于执行迭代译码的误差校正码的译码方法的译码程序,该方法包括:
正向处理,根据所接收到的数据和一外来信息值,通过在格子图上从起点到终点的方向执行维特比译码来计算第一路径量度值;
逆向处理,根据所接收到的数据和外来信息值,通过按照与用于所述正向处理的方向相反的方向在格子图上对每个窗口执行维特比译码来计算第二路径量度值;
外来信息值计算处理,根据第一和第二路径量度值来计算外来信息值;
其中,在逆向处理中,通过使用在执行上次迭代译码时获得的窗口边界中的第二路径量度值作为在执行本次迭代译码时要获得的窗口边界中的第二路径量度值的初始值来执行迭代译码。
根据本发明的第四个方面,提供一种能够使计算机实现一种用于执行迭代译码的误差校正码的译码方法的译码程序,该方法包括:
正向处理,根据所接收到的数据和一外来信息值,通过在格子图上从起点到终点的方向执行维特比译码来计算第一路径量度值;
逆向处理,根据所接收到的数据和外来信息值,通过按照与用于正向处理的方向相反的方向在格子图上对每个窗口执行维特比译码来计算第二路径量度值;
外来信息值计算处理,根据第一和第二路径量度值来计算外来信息值;和
其中,在正向处理中,通过使用在上次已经完成窗口的正向处理时获得的窗口边界中的第一路径量度值作为在执行本次正向处理时要获得的窗口边界中的第一路径量度值的初始值来执行迭代译码;
其中,在逆向处理中,通过使用在执行上次迭代译码时获得的窗口边界中的第二路径量度值作为在本次窗口边界中的第二路径量度值的初始值来执行迭代译码。
根据本发明的第五个方面,提供一种误差校正码的译码器,该译码器包括:
一正向处理模块,它执行正向处理,以便根据所接收到的数据和一外来信息值通过在格子图上从起点到终点的方向执行维特比译码来计算第一路径量度值;
一逆向处理模块,它执行逆向处理,以便根据所接收到的数据和外来信息值通过按照与用于正向处理的方向相反的方向在格子图上对每个窗口执行维特比译码来计算第二路径量度值;
一外来信息值计算处理模块,它执行外来信息值计算处理,以便根据第一和第二路径量度值来计算外来信息值;和
其中,执行由正向处理、逆向处理和外来信息值计算处理组成的译码;
其中,该逆向处理模块具有一个存储器,在该存储器中暂时地存储了在执行上次迭代译码时计算的窗口边界中的第二路径量度值,并且该逆向处理模块通过从该存储器中读取第二路径量度值以使用它作为在执行本次迭代译码时要计算的窗口边界中的第二路径量度值的初始值来执行迭代译码。
根据本发明的第六个方面,提供一种误差校正码的译码器,该译码器包括:
一正向处理和逆向处理共享使用模块,该模块交替地执行正向处理和逆向处理,其中执行正向处理是为了根据所接收到的数据和一外来信息值,通过在格子图上从起点到终点的方向执行维特比译码来计算第一路径量度值,其中执行逆向处理是为了根据所接收到的数据和外来信息值,通过按照与用于正向处理的方向相反的方向在格子图上对每个窗口执行维特比译码来计算出一第二路径量度值;
一外来信息值计算处理模块,它执行外来信息值计算处理,以便根据第一和第二路径量度值来计算出外来信息值;
其中,该正向处理模块具有一第一存储器,在该存储器中暂时地存储在上次已经完成窗口的正向处理时获得的窗口边界中的第一路径量度值,并且该逆向处理模块具有一第二存储器,在该存储器中暂时地存储了在执行上次迭代译码时计算出的窗口中的第二路径量度值;和
其中该正向处理和逆向处理共享使用模块,通过从第一存储器内读取窗口边界中的第一路径量度值并且使用它作为在执行本次迭代译码时要获得的窗口边界中的第一路径量度值的初始值,以及通过从第二存储器内读取窗口边界中的第二路径量度值并且使用它作为在执行本次迭代译码时要获得的窗口边界中的第二路径量度值的初始值,来执行迭代译码。
在前述的第五和第六个方面中,一种优选方式是:其中可使用一外来信息值,该值是通过乘以一介于0.5或更大和0.9或更小范围之间的标准系数而获得的。
而且,一种优选方式是:其中用于计算外来信息值的信道常数介于1.5或更大和2.5或更小的范围。
而且,一种优选方式是:其中窗口位的尺寸是约束长度位的四倍或更大,并且是所需信息位最大数量的二分之一或更小。
而且,一种优选方式是:其中正向处理、逆向处理和外来信息值计算处理,通过使用格子图执行维特比译码,在该格子图中,在组成代码字的符号序列中的正值和负值是反向的,并且选择具有最小路径量度值的路径。
使用上述结构,在用于执行由正向处理、逆向处理和外来信息值计算处理组成的迭代译码的误差校正码的译码方法中,由于在逆向处理中,在执行上次迭代译码时获得的窗口边界中的第二路径量度值被用作在执行本次迭代译码时要获得的窗口边界中的第二路径量度值的初始值,所有误差校正码的译码能够用简单的结构和在较短的时间内加以实现。
使用如上所述的另一种结构,由于计算机运行误差校正码的译码程序,所以有可能够减少计算机的算术运算的量、降低存储设备的容量、计算机消耗的电流和缩短处理时间。
使用如上所述的又一种结构,由于在正向处理、逆向处理和外来信息值计算处理中,通过使用格子图执行维特比译码,在该格子图中,在组成代码字的符号序列中的正值和负值是反向的,而且由于选择具有最小量度值的路径,所有就能够降低组成译码器的存储设备的存储器容量和/或电路规模。
附图说明
本发明的上述和其它目的、优点和特征从下面结合附图的描述中将会变得更加清楚,其中:
图1是表示根据本发明第一个实施例的涡轮码译码器结构的示意框图;
图2是表示用于解释本发明第一个实施例的译码器操作的格子图;
图3是表示本发明第一个实施例的译码特性(曲线“a”)和通过常用滑动窗口方法获得的译码特性(曲线“b”)之间比较的图;
图4是表示比特误差率和块误差率对本发明第一个实施例中使用的外来信息值标准系数的特性模拟结果的图;
图5是表示比特误差率和块误差率对本发明第一个实施例中使用的信道常数的特性模拟结果的图;
图6是表示比特误差率和块误差率对本发明第一个实施例中使用的窗口尺寸的特性模拟结果的图;
图7是表示根据本发明第二个实施例的误差校正码译码器结构的示意框图;
图8是表示用于解释本发明第二个实施例的涡轮码译码器操作的格子图;
图9是在使用最大值选择方法情况下的格子图;
图10是使用本发明第二个实施例中所用的最小值选择方法情况下的格子图;
图11是表示为常用技术所使用的最大值选择方法中和本发明第三个实施例所使用的最小值选择方法中的步骤0中截断前存在的每个状态而绘制的路径量度值的图;
图12是表示为常用技术所使用的最大值选择方法中和本发明第三个实施例所使用的最小值选择方法中的步骤1中截断前存在的每个状态而绘制的路径量度值的图;
图13是表示为常用技术所使用的最大值选择方法中和本发明第三个实施例所使用的最小值选择方法中的步骤2中截断前存在的每个状态而绘制的路径量度值的图;
图14是表示为常用技术所使用的最大值选择方法中和在本发明第三个实施例所使用的最小值选择方法中的步骤0中截断后存在的每个状态而绘制的路径量度值的图;
图15是表示为常用技术所使用的最大值选择方法中和本发明第三个实施例所使用的最小值选择方法中的步骤1中截断后存在的每个状态而绘制的路径量度值的图;
图16是表示为常用技术所使用的最大值选择方法中和本发明第三个实施例所使用的最小值选择方法中的步骤2中截断后存在的每个状态而绘制的路径量度值的图;
图17是表示涡轮码的常用编码器结构实例的示意框图;
图18是表示用于解释现有技术的格子图实例的图;
图19是表示用于解释现有技术的常用译码步骤的图;
图20是表示在格子图上从时间点(k-1)到时间点k发生迁移时的情况下迁移模型图;
图21是表示在格子图上从时间点(k-1)到时间点k发生迁移的情况下αk-1(sk-1)和βk(sk)的计算模型图;
图22是表示涡轮码的常用译码器结构实例的示意方框图;和
图23是解释涡轮码的常用译码器操作的格子图。
具体实施方式
通过参考附图,使用不同实施例,将更详细地描述实现本发明的最佳方式。
第一个实施例
图1是表示根据本发明第一个实施例的涡轮码译码器结构的示意框图。第一个实施例的涡轮码译码器包括一正向处理模块21、一逆向处理模块22、一外来信息值计算处理模块23和存储器24-28。
正向处理模块21执行正向处理。逆向处理模块22执行逆向处理。外来信息值计算处理模块23计算一外来信息值。设置存储器24用于将码元和外来信息值馈送到逆向处理模块22。而且,设置存储器25用于暂时存储由逆向处理模块22计算的窗口边界中的路径量度。设置存储器26用于将经过正向处理模块21计算的路径量度馈送到外来信息值计算处理模块23。设置存储器27用于将经过外来信息值计算处理模块23计算的外来信息值馈送到正向处理模块21和存储器24。即,设置存储器27用于交换在第一码元(u,p)和第二码元(u’,p’)之间的要作为先验概率而加以使用的外来信息值。设置存储器28用于暂时地存储交织图案ILP。存储器24、26、27和28中的每一个是两面缓冲器的结构。
下面参考图2描述具有上述所示结构的涡轮码译码器的操作。在图2中,FWP表示正向处理和BWP表示逆向处理。
(1)在时间0至Lt期间,正向处理模块21执行在图2所示的格子图上从时间点0(起点)到Lp的处理。
(2)在时间Lt至2Lt期间,正向处理模块21执行在上述(1)所示的正向处理之后的图2中所示格子图上从时间点Lp到2Lp的正向处理。而且,与此同时,逆向处理模块22执行图2中所示格子图上从时间点Lp到0(起点)的逆向处理。此外,同时,外来信息值计算处理模块23计算一外来信息值。在此点,逆向处理中窗口边界内的β路径量度值的初始值(在时间点Lp)将使存在于窗口前的所有状态处于相同概率的条件中。
(3)在时间2Lt至3Lt期间,正向处理模块21执行在上述(2)所示的正向处理之后的图2中所示格子图上从时间点2Lp到3Lp的正向处理。而且,与此同时,逆向处理模块22执行在图2中所示格子图上从时间点2Lp到Lp的逆向处理。而且,外来信息值计算处理模块23计算一外来信息值。在此点,逆向处理中窗口边界内的β路径量度值的初始值(在时间点2Lp)将使存在于窗口前的所有状态处于相同概率的条件中,与上述(2)的情况下相同。此外,在图2中所示格子图上窗口边界内的β路径量度值(在时间点Lp)暂时存储在存储器25中以便用作在执行上次迭代译码时逆向处理中的β路径量度值的初始值(见图2的①)。
(4)在时间3Lt至(Nt-Mt+Lt)(Mt≤Lt)期间,每个正向处理模块21、逆向处理模块22和外来信息值计算处理模块23迭代上述的处理(3),直到正向处理到达图2中所示格子图上的时间点Np(终点)为止。
(5)在时间(Nt-Mt+Lt)至(Nt+Lt)期间,逆向处理模块22执行格子图上从时间点Np(终点)到(Np-Mp)(Mp≤Lp)的逆向处理。而且,外来信息值计算处理模块23计算一外来信息值。此外,在图2中所示格子图上窗口边界内的β路径量度值(在时间点Np-Mp)暂时存储在存储器25中以便用作在执行下次迭代译码时逆向处理中的β路径量度值的初始值。
(6)作为要对第一码元(u,p)执行译码处理,执行上述处理(1)至(5),然后用与上述处理(1)至(5)相同的方式对第二码元(u’,p’)执行译码处理,并且将一系列译码处理作为迭代译码的第一操作而加以控制。此后,逆向处理模块22通过使用已经暂时存储在存储器25中的窗口边界内的β路径量度值作为在执行下次迭代译码时逆向处理中的β路径量度值的初始值来执行迭代译码处理(见图2中的②)。
(7)在通过对第二码元(u’,p’)执行译码处理中使用对数似然比(LLR)的符号位,迭代译码完成合适的次数(大约为10次)后,对每个估算的信息序列Uhk就会产生一个硬判决。
图3是表示第一个实施例的译码特性(曲线“a”)和通过常用滑动窗口方法获得的译码特性(曲线“b”)之间比较的图。比特误差率BER和块误差率BLER分别绘制为坐标。而且,绘制为水平轴的值是通过直接存在于译码器之前的信号的信噪比除以信道中每个符号的信息位的数量而获得的(更精确地说,它们是每一个比特中信号能Eb和单边功率谱密度NO之间的比率Eb/NO)。这里,数据量是656,迭代译码的次数是8次,窗口尺寸是64个时间点。从图3可清楚地看出,在使用滑动窗口方法的译码器的译码特性(曲线“b”)和本实施例译码器的译码特性(曲线“a”)之间不存在显著的差异。
而且,图4至图6表示通过使用一标准系数(外来信息值标准系数)、一信道常数和一窗口尺寸作为一参数执行模拟的结果,其中标准系数乘以一外来信息值,信道常数在计算外来信息值时乘以一系统位。该模拟是在3GPP(第三代合伙项目)中指明的“RMC64”的条件下的在Eb/NO为0.4dB的情况下和Eb/NO为0.8dB的情况下并且通过将迭代译码次数设定为8来执行的,其中3GPP是一项计划建立第三代技术标准的合伙项目。图4是表示比特误差率BER和块误差率BLER对外来信息值标准系数的特性模拟结果的图。在图4中,曲线“a”表示比特误差率BER对在Eb/NO为0.4dB时要获得的外来信息值标准系数的特性。曲线“b”表示比特误差率BER对在Eb/NO为0.8dB时要获得的外来信息值标准系数的特性。曲线“c”表示块误差率BLER对在Eb/NO为0.4dB时要获得的外来信息值标准系数的特性。曲线“d”表示块误差率BLER对在Eb/NO为0.8dB时要获得的外来信息值标准系数的特性。有一种趋势,即与MAP算法的情况下时相比,较大软输出值在最大-对数-MAP算法下输出。因此,通过将一外来信息值乘以一标准系数,就可能使该译码特性接近于通过使用MAP算法所获得的译码特性。从图4中可看出,在外来信息值标准系数介于0.5至0.9范围中,特别是大约为0.7时可获得一最好的译码特性。
图5是表示比特误差率BER和块误差率BLER对信道常数的特性模拟结果。在图5中,曲线“a”表示比特误差率BER对在Eb/NO为0.4dB时要获得的信道常数的特性。曲线“b”表示比特误差率BER对在Eb/NO为0.8dB时要获得的信道常数的特性。曲线“c”表示块误差率BLER对在Eb/NO为0.4dB时要获得的信道常数的特性图。曲线“d”表示块误差率BLER对在Eb/NO为0.8dB时要获得的信道常数的特性。虽然在本实施例中,该信道常数是由通信条件的值(Eb/NO)决定的,但是它可被设定为一个常数。正如图5所示,在信道常数介于1.5至2.5范围中,特别是大约为2时可获得一最好的译码特性。
图6是表示比特误差率BER和块误差率BLER对窗口尺寸的特性模拟结果。在图6中,曲线“a”表示比特误差率BER对在Eb/NO为0.4dB时要获得的窗口尺寸的特性。曲线“b”表示比特误差率BER对在Eb/NO为0.8dB时要获得的窗口尺寸的特性。曲线“c”表示块误差率BLER对在Eb/NO为0.4dB时要获得的窗口尺寸的特性。曲线“d”表示块误差率BLER对在Eb/NO为0.8dB时要获得的窗口尺寸的特性。图6可以看出,虽然译码特性通过使窗口尺寸变大得到改善,但是还会产生收敛趋势。即,在窗口尺寸是约束长度的四倍或比它更大时,和在窗口尺寸为所需的信息位的最大数量的二分之一或更小时,能够获得一个良好的译码特性而不会引起电路规模的增加。
因此,根据本实施例的结构,通过设置用于临时存储在执行上次迭代译码时在逆向处理中的窗口边界中的β路径量度值,该β路径量度值可用作在执行下次迭代译码时逆向处理中的β路径量度值的初始值。因此,就不需要在图22所示的常用涡轮码译码器中所需的计算路径量度值的初始值的学习处理。这致使图22中所示的学习处理模块13在本实施例中就不需要了。通过仅设置双面缓冲器结构的存储器24和28来代替四面缓冲器结构的存储器16和19(见图22),就能够实现在每个周期产生软输出。而且,不需要常用涡轮码译码器中所需的预处理时间周期。此外,由于正向处理模块21和逆向处理模块22是单独设置的,并且逆向处理比正向处理晚对应于窗口时间点的时间之后开始,因此计算每个周期的外来信息值是可能实现的。
这里,图示的是其特例。3GDPP指定信息位的最大数量为5,114比特。因此,当接收到的数据位宽是8比特,和窗口尺寸是128时,组成本实施例译码器的存储器25的容量就需要8,320(40字×13比特×8状态×2)比特来暂时地存储β路径量度值的初始值(13比特)。然而,具有存储容量为7,680{128字×(16比特+14比特)×2}比特并用于暂时存储码元(16比特)和外来信息值(14比特)的存储器和具有存储容量为3,328(128字×13比特×2)比特并用于暂时存储交织图案(13比特)的存储器,它们在常用的译码器都需要,在本实施例中却不需要了。因此,根据本实施例的结构,就能够减少总数为2,688{(7,680+3,328)-8,320}比特的存储容量。另一方面,还可减少其逻辑电路,即,能够减少图22中所示的一件学习处理模块13,相当于大约5k门的电路规模。而且,还能够缩短处理时间,即,当窗口尺寸是L并在每个周期中都产生软输出时,以及如果译码第一码元和第二码元,则就能够缩短用于第一和第二码元中的每一个的时间2L·CK(CK是基本时钟的一个周期的时间)。例如,在窗口尺寸是128的情况下,在3GDPP指定的“RMC64”的条件下,可提供译码每个第一和第二码元操作的一个方程式{(128×2)/(1,296+(128×3)=0.1523…)},这表明能够缩短处理时间大约为15.2%。因此,通过将本实施例的译码器应用于便携式电子设备如便携式蜂窝电话上,就能够减小电路规模和缩短处理时间,这样就能使电池等的寿命延长和以低成本来构造这种便携式电子设备。
第二实施例
图7是表示根据本发明第二个实施例的涡轮码译码器结构的示意框图。第二实施例的涡轮码译码器是由一正向处理和逆向处理共享使用模块31、一外来信息值计算处理模块32、存储器33至37以及开关38和39组成的。正向处理和逆向处理共享使用模块31交替地执行正向处理和逆向处理。外来信息值计算处理模块32计算一外来信息值。
设置存储器33用于暂时存储在正处理中由正向处理和逆向处理共享使用模块31计算的窗口边界中的α路径量度值。设置存储器34用于暂时存储在逆向处理中由正向处理和逆向处理共享使用模块31计算的窗口边界中的β路径量度值。设置存储器35用于馈送在正向处理中由正向处理和逆向处理共享使用模块31计算的一路径量度值。设置存储器36用于将由外来信息值计算处理模块32计算的一外来信息值馈送到正向处理和逆向处理共享使用模块31。也就是说,设置存储器36用于交换在第一码元(u,p)和第二码元(u’,p’)之间用作先验概率的外来信息值。设置存储器37用于暂时存储一交织图案ILP。而且,存储器37的结构是单面缓冲器的,以便按照分时方式交替地执行正向处理、逆向处理和外来信息值计算处理的结构。
开关38通常将存储器35与正向处理和逆向处理共享使用模块31相连接,但是,在正向处理和逆向处理共享使用模块31开始对第二窗口进行处理,和此后在正向处理中时,为了将在正向处理中窗口边界内的路径量度值的初始值馈送到正向处理和逆向处理共享使用模块31,开关38将存储器33与正向处理和逆向处理共享使用模块31相连接。而且,在正向处理和逆向处理共享使用模块31开始进行第二次逆向处理,和此后进行迭代译码时,为了将在逆向处理中窗口边界内的路径量度值的初始值馈送到正向处理和逆向处理共享使用模块31,开关38将存储器34与正向处理和逆向处理共享使用模块31相连接。在外来信息值计算处理模块32使用一交织图案ILP时,开关39将存储器37与外来信息值计算处理模块32相连接,在外来信息值计算处理模块32将交织图案ILP馈送到外部时,开关39将存储器37与输出端相连接。
下面,参考图8描述具有上述结构的涡轮码译码器的操作。在图8中,“FWP”表示正向处理和“BWP”表示逆向处理。
(1)在时间0至2Lt期间,正向处理和逆向处理共享使用模块31执行图8所示的格子图上从时间点0(起点)到Lp的正向处理。然后,正向处理和逆向处理共享使用模块31将在正向处理完成时的α路径量度值作为α路径量度值初始值暂时存储到存储器33中。
(2)在时间2Lt至4Lt期间,正向处理和逆向处理共享使用模块31执行图8所示的格子图上从时间点Lp到0(起点)的逆向处理。而且,与此同时,外来信息值计算处理模块32计算一外来信息值。在此点,在逆向处理中的窗口边界内的β路径量度值的初始值(在时间点Lp)将使存在于窗口前的所有状态处于相同概率的条件下。
(3)在时间4Lt至6Lt期间,正向处理和逆向处理共享使用模块31通过使用作为在上述处理(1)中暂时存储在存储器33中的窗口边界内的α路径量度值的初始值的α路径量度值来执行图8中所示格子图上从时间点Lp到2Lp的正向处理。
(4)在时间6Lt至8Lt期间,正向处理和逆向处理共享使用模块31执行在图中所示格子图上从时间点2Lp到Lp的逆向处理。而且,与此同时,外来信息值计算处理模块32计算一外来信息值。然后,正向处理和逆向处理共享使用模块31将在逆向处理完成时的β路径量度值作为窗口边界内的β路径量度值的初始值暂时存储到存储器34中。(见图8①)。
(5)在时间8Lt至(4Nt-Mt)(Mt≤2Lt)期间,正向处理和逆向处理共享使用模块31交替地执行上述的处理过程(3)和(4),直到正向处理的步骤到达图8中所示格子图上时间点2Lp到Np(终点)时为止。
(6)在时间(4Nt-Mt)至4Nt期间,正向处理和逆向处理共享使用模块31执行图8所示格子图上从时间点Np(终点)到(Np-Mp)的逆向处理。而且,与此同时,外来信息值计算处理模块32计算一外来信息值。
(7)作为对第一码元(u,p)执行的译码处理,执行上述处理(1)至(6),然后用与上述处理(1)至(6)相同的方式对第二码元(u’,p’)执行译码处理,并且将一系列上述处理作为迭代译码的第一操作而加以控制。此后,正向处理和逆向处理共享使用模块31通过将在执行上次迭代译码时暂时存储在存储器34中的窗口边界内的β路径量度值用作在逆向处理中的窗口边界内的β路径量度值的初始值而执行迭代译码处理(见图8中的②)。
(8)在通过对第二码元(u’,p’)执行译码处理中使用对数似然比(LLR)的符号位,交织译码已经完成合适的次数(大约为10次)后,对每个估算的信息序列Uhk就会产生一个硬判决。
因此,根据第二实施例的结构,设置了在其中能够交替执行正向处理和逆向处理的正向处理和逆向处理共享使用模块31。而且,正向处理和逆向处理共享使用模块31在两个时钟内执行一ACS(加法-比较-选择)算术运算。而且,设置了一个用于暂时存储在执行上次窗口的正向处理时获得的窗口边界内的α路径量度值的存储器33,并且该α路径量度值被用作执行下次正向处理时窗口边界内的α路径量度值的初始值。而且,设置了一个用于暂时存储在执行上次迭代译码时逆向处理中获得的窗口边界内的β路径量度值的存储器34,并且该β路径量度值被用作执行下次迭代译码时逆向处理中β路径量度值的初始值。因此,就不需要在图22所示的常用涡轮码译码器中所需的用于计算路径量度值的初始值的学习处理。这样也就使得图22中所示的学习处理模块13成为不需要的了。而且通过仅设置单面缓冲器结构的存储器33至37来代替四面缓冲器结构的存储器16和19(见图22),就能够实现每两个周期产生软输出。而且,不需要常用涡轮码译码器中所需的预处理时间周期。
第三实施例
在上述的第一和第二实施例中,没有参考一种计算分支量度值的方法,并且假定使用了一种常用的计算方法。在最大-对数-MAP算法中,根据组成代码字的符号序列和所接收到字的符号序列之间的一个相关值(欧几里得距离)和一个外来信息值计算分支量度。该分支量度值表示所接收到的字对代码字的似然性。分支量度值越大,该似然性就越大。按照惯例,在计算分支量度值后所需的操作和增量计算中,通过从多个操作结果或计算结果中选择一个最大值执行译码处理。这里,具有最大路径量度值的路径成为一最大似然路径。但是,在常用的计算方法中,选择具有值大的路径量度并执行路径量度值的求和,结果是,路径量度值就变得很大,因此就会使存储器容量增大和/或使组成译码器的每个模块的电路规模变大。
因此,根据本发明的实施例,在要用图1所示的正向处理模块21、逆向处理模块22和外来信息值计算处理模块23(第一实施例的结构)执行处理的过程中,以及在要用正向处理和逆向处理共享使用模块31和外来信息值计算处理模块32(第二实施例的结构)执行处理的过程中,通过使用在其中组成代码字的符号序列中的“0”和“1”是反向的格子图来执行维特比译码,即,通过从多个操作结果或计算结果中选择一个最小值并通过在每个正向处理、逆向处理和外来信息值计算处理中选择一个具有最小值的路径,就能使操作位的宽度变窄,并且因此就能够使组成译码器的每个模块的存储器容量和/或电路规模减小。
图9是在使用常用计算方法(称之为“最大值选择方法”)情况下的格子图,图10是在使用本发明第二个实施例中使用的计算方法(称之为“最小值选择方法”)情况下的格子图。在图9和10中,在步骤0的右侧显示的每个标号“00”、“11”、“01”和“10”代表组成代码字的符号序列(系统位和奇偶校验位),每个椭圆左侧上显示的每个标号代表每个路径量度值,并且每个椭圆左侧上显示的标号中的每个带下划线的标号代表从ACS操作中选择的作为结果的路径量度值。而且,每个椭圆右侧上显示的每个标号代表通过对选择为ACS操作结果的路径量度值执行截断(下文描述)而获得的结果。
在最小值选择方法中,根据在组成通过将“0”和“1”反向获得的代码字的符号序列和所接收到字的符号序列之间的一个相关值和根据一个外来信息值计算出的一个分支量度值表示所接收到的字对代码字的似然的相反情况,分支量度值越小,似然性就越大。因此,在最小值选择方法中,具有最小路径量度值的路径变为最大似然路径。另外,在最小值选择方法中的路径量度值的初始值与最大值选择方法中的分路量度值的初始值是不同的。即,在最大值选择方法中,为了在ACS操作中不选择一错误的路径,将一个足够大的值设定为状态“000”的初始值,将最小值的“0”设定为其它状态“001”到“111”的初始值。在最小值选择方法中,将最小值的“0”设定为状态“000”,将一个足够大的值设定为其它状态“001”到“111”的初始值。这样就能消除在最小值选择方法中选择错误路径的可能性。
图11,12和13是表示为常用技术所使用的最大值选择方法中和本发明第三个实施例所使用的最小值选择方法中的步骤0,1和2中在截断前存在的每个状态而绘制的路径量度值的图。图14,15和16是表示为常用技术所使用的最大值选择方法中和本发明第三个实施例所使用的最小值选择方法中的步骤0,1和2中在截断后存在的每个状态而绘制的路径量度值的图。截断表示获得一个最小值的减法处理。在图11至16中,曲线“a”表示根据最大值选择方法绘制的路径量度值,曲线“b”表示根据最小值选择方法绘制的路径量度值。图11和14表示在步骤0中的路径量度值,图12和15表示在步骤1中的路径量度值,图13和16表示在步骤2中的路径量度值。
如图11至13所示,针对最小值选择方法的曲线“b”和针对最大值选择方法的曲线“a”相对于平行于水平轴的一条线是对称的。在最大值选择方法中,一条具有似然性的路径的路径量度值被设定为一最大值,而在最小值选择方法中,一条具有似然性的路径的路径量度值被设定为一最小值。这样就能进行理想的截断处理。即,提供一外来信息值源的软输出值是能够作为最可能是“0”的的概率和最可能是“1”的概率之间的一个差而获得的。因此,重要的事情不在于每个状态下的路径量度值,而在于微分信息。因此,根据最大值选择方法和最小值选择方法计算的外来信息值是相同的,在译码特性上并不存在差异。而且,在第一和第二实施例中使用的涡轮码译码器的结构,即,图1和图7所示的结构就能够被用于第三实施例的涡轮码译码器中。
很显然本发明并不局限于上述实施例,而是在不背离本发明的保护范围和精神的情况下可对其作出变化和修改。例如,本发明能够应用于一种通过MAP型软输入和软输出译码并对使用卷积码的代码执行迭代译码的译码器。
在上述每个实施例中,图示的是一种每个部件都是硬件结构的实例,但是,本发明不受此限制。即,本发明的误差校正码的译码器可由具有处理器(算术运算器件)、如ROM(只读存储器)、RAM(随机访问存储器)等的内部存储期间、如FDD(软盘驱动器)、HDD(硬盘驱动器),CD-ROM(光盘ROM)驱动器等的外部存储期间、输出设备以及输入设备的计算机。而且,本发明译码器的正向处理模块21、逆向处理模块22、正向处理和逆向处理共享使用模块31和外来信息值计算处理模块23或32被这样配置,使得它由一处理器组成,并使得这些模块的功能被存储为在如ROM等的半导体存储器、如FD(软盘)、HDD、CD-ROM等的存储介质中的译码程序。在此情况下,上述内存设备或外存设备用作上述的存储器24至28或存储器33至37,误差校正码的译码程序被从存储介质读入到处理器中,以控制处理器的操作。在误差校正码的译码程序开始进行时,该处理器操作以起到本发明中所使用的正向处理模块21、逆向处理模块22、正向处理和逆向处理共享使用模块31和外来信息值计算处理模块23或32作用,并且在误差校正码的译码程序的情况下,该处理器执行上述处理。通过上述的配置,由于不需要上述的学习处理,因此有可能减少要由处理器执行的算术运算量。由于在正向处理、逆向处理、外来信息值计算处理和学习处理中的算术运算量几乎是相同的,因此算术运算量能被减少到常用算术运算量的四分之三或更小。因此,具体用于存储指令的指令存储器的存储器容量和计算机消耗的电流能被减小,并且处理时间也能被缩短。
Claims (7)
1.一种译码方法,包括下列步骤:
通过使用在从格子图上第一时间点的多个状态中的第一状态到第二时间点的多个状态中的第二状态的迁移之后使编码器在所述第二时间点输出的代码字的逻辑反向而获得的符号序列和接收到的字的符号序列之间的相关值来为所述迁移计算分支量度值,其中通过使所述代码字的所述逻辑反向而获得的所述符号序列和所述接收到的字的符号序列之间的相关性越高,所述相关值变得越大;和
选择具有通过利用所述分支量度值计算的最小路径量度值的路径作为最大似然路径。
2.如权利要求1所述的译码方法,其中,
作为所述格子图上起始点处多个状态中的每个状态的路径量度值的初始值,将值“0”赋予所述多个状态中的一个状态,而将大于“0”的值赋予其它状态的每个状态。
3.如权利要求2所述的译码方法,还包括:
从所述路径量度值中的每个中减去多个所述路径量度值的所述最小路径量度值,即所述多个状态中的每个状态在所述格子图上的每个时间点所具有的相应的一个。
4.一种译码方法,包括下列步骤:
通过使用在数据发送侧编码并发向数据接收侧的代码字的符号序列和在所述代码字的符号序列已经到达所述数据接收侧时所接收到的字的符号序列计算格子图上每个时间点上每个状态的路径的路径量度值的步骤;和
基于计算的路径量度值获得所述格子图上的最大似然路径的步骤;
其中,所述路径量度值是通过利用使所述代码字的所述逻辑反向而获得的符号序列来计算的。
5.如权利要求4所述的译码方法,其中,
通过使所述代码字的所述逻辑反向而获得的所述符号序列与所述接收到的字的所述符号序列之间的相关性越高,所述路径量度值增加得越多;和
选择具有最小路径量度值的路径作为最大似然路径。
6.如权利要求5所述的译码方法,其中,
作为所述格子图上起始点处多个状态中的每个状态的路径量度值的初始值,将值“0”赋予所述多个状态中的一个状态,而将大于“0”的值赋予其它状态的每个状态。
7.如权利要求6所述的译码方法,还包括:
从所述路径量度值中的每个中减去多个所述路径量度值的所述最小路径量度值,即所述多个状态中的每个状态在所述格子图上的每个时间点所具有的相应的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002239492A JP2004080508A (ja) | 2002-08-20 | 2002-08-20 | 誤り訂正符号の復号方法、そのプログラム及びその装置 |
JP239492/2002 | 2002-08-20 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031597297A Division CN1328851C (zh) | 2002-08-20 | 2003-08-20 | 误差校正码的译码方法及其程序和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101079642A true CN101079642A (zh) | 2007-11-28 |
Family
ID=31185180
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101096482A Pending CN101079642A (zh) | 2002-08-20 | 2003-08-20 | 误差校正码的译码方法及其程序和设备 |
CNB031597297A Expired - Fee Related CN1328851C (zh) | 2002-08-20 | 2003-08-20 | 误差校正码的译码方法及其程序和设备 |
CN200610162894XA Expired - Fee Related CN1992534B (zh) | 2002-08-20 | 2003-08-20 | 误差校正码的译码方法及其程序和设备 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031597297A Expired - Fee Related CN1328851C (zh) | 2002-08-20 | 2003-08-20 | 误差校正码的译码方法及其程序和设备 |
CN200610162894XA Expired - Fee Related CN1992534B (zh) | 2002-08-20 | 2003-08-20 | 误差校正码的译码方法及其程序和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7467347B2 (zh) |
EP (1) | EP1391995A3 (zh) |
JP (1) | JP2004080508A (zh) |
CN (3) | CN101079642A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102835062A (zh) * | 2010-07-27 | 2012-12-19 | 联发科技(新加坡)私人有限公司 | 初始化解码码距 |
CN112420082A (zh) * | 2019-08-21 | 2021-02-26 | 株式会社东芝 | 磁盘装置 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100390416B1 (ko) * | 2000-10-16 | 2003-07-07 | 엘지전자 주식회사 | 터보 디코딩 방법 |
KR101066287B1 (ko) * | 2004-01-20 | 2011-09-20 | 삼성전자주식회사 | 이동통신시스템에서 맵 방식을 이용하여 디코딩을 수행하는 장치 및 방법 |
JPWO2005125019A1 (ja) * | 2004-06-17 | 2008-04-17 | 三菱電機株式会社 | ターボ符号の誤り訂正復号方法及びターボ符号の誤り訂正復号装置 |
JP2006041960A (ja) * | 2004-07-28 | 2006-02-09 | Nec Corp | ターボ復号装置及びターボ復号方法並びにプログラム |
JP2006115145A (ja) | 2004-10-14 | 2006-04-27 | Nec Electronics Corp | 復号装置及び復号方法 |
JP4520861B2 (ja) * | 2005-01-06 | 2010-08-11 | パナソニック株式会社 | ターボ復号器及びターボ復号方法 |
JP2006324754A (ja) * | 2005-05-17 | 2006-11-30 | Fujitsu Ltd | 最大事後確率復号方法及び復号装置 |
JP4939409B2 (ja) * | 2005-06-10 | 2012-05-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 誤りを訂正するための装置、方法、及びプログラム |
US7464316B2 (en) * | 2005-08-26 | 2008-12-09 | Agere Systems Inc. | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder |
JP4152410B2 (ja) | 2005-12-20 | 2008-09-17 | Necエレクトロニクス株式会社 | 演算回路 |
US7925964B2 (en) * | 2006-12-22 | 2011-04-12 | Intel Corporation | High-throughput memory-efficient BI-SOVA decoder architecture |
JP2009060455A (ja) * | 2007-08-31 | 2009-03-19 | Nec Corp | スライディングウィンドウターボ復号処理装置とその方法 |
US7716564B2 (en) * | 2007-09-04 | 2010-05-11 | Broadcom Corporation | Register exchange network for radix-4 SOVA (Soft-Output Viterbi Algorithm) |
US8230312B1 (en) | 2008-01-09 | 2012-07-24 | Marvell International Ltd. | Iterative decoder memory arrangement |
US8711984B2 (en) | 2008-01-22 | 2014-04-29 | Agere Systems Llc | Methods and apparatus for map detection with reduced complexity |
EP2129028B1 (en) * | 2008-05-06 | 2012-10-17 | Alcatel Lucent | Recovery of transmission errorrs |
CN102907031B (zh) * | 2010-05-21 | 2016-08-03 | 日本电气株式会社 | 解码设备和解码顺序控制方法 |
US9362933B1 (en) | 2011-07-12 | 2016-06-07 | Marvell International Ltd. | Noise-predictive detector adaptation with corrected data |
US8996952B2 (en) | 2012-01-04 | 2015-03-31 | Marvell World Trade Ltd. | High-throughput iterative decoding's defect scan in retry mode of storage system channel |
ES2561913B2 (es) * | 2014-11-06 | 2016-08-10 | Universidad De Málaga | Sistemas y métodos para turbo decodificación iterativa de baja tasa de error y baja complejidad |
WO2016071546A1 (es) * | 2014-11-06 | 2016-05-12 | Universidad De Málaga | Sistemas y métodos para turbo decodificación iterativa de bajo tasa de error y baja complejidad |
ES2561935B2 (es) * | 2014-11-06 | 2016-08-10 | Universidad De Málaga | Sistemas y métodos para turbo decodificación iterativa de alto régimen binario, baja tasa de error y baja complejidad |
TWI565246B (zh) * | 2015-01-12 | 2017-01-01 | 晨星半導體股份有限公司 | 迴旋編碼的解碼方法 |
EP3972134B1 (en) * | 2019-06-13 | 2023-11-15 | Mitsubishi Electric Corporation | Iterative decoder with adaptive decoding parameters for spatially coupled ldpc codes |
US11463112B1 (en) | 2021-04-06 | 2022-10-04 | Micron Technology, Inc. | Dynamic bit flipping order for iterative error correction |
US11901911B1 (en) | 2022-08-18 | 2024-02-13 | Micron Technology, Inc. | Stall detection and mitigation in iterative decoders |
US11923868B1 (en) | 2022-08-18 | 2024-03-05 | Micron Technology, Inc. | Stall mitigation in iterative decoders |
US11923867B1 (en) | 2022-08-18 | 2024-03-05 | Micron Technology, Inc. | Iterative decoder with a dynamic maximum stop condition |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001069789A2 (de) * | 2000-03-16 | 2001-09-20 | Infineon Technologies Ag | Optimierter turbo-decodierer |
WO2002031964A1 (en) * | 2000-10-11 | 2002-04-18 | Motorola Inc. | Improved decoding of turbo codes using data scaling |
CN1362789A (zh) * | 2001-01-04 | 2002-08-07 | 华为技术有限公司 | 特博码解码方法及其解码器 |
CN2506034Y (zh) * | 2001-11-12 | 2002-08-14 | 上海华龙信息技术开发中心 | Turbo译码器件 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185747A (en) * | 1989-11-29 | 1993-02-09 | Technophone Ltd. | Data symbol estimation |
US5392299A (en) * | 1992-01-15 | 1995-02-21 | E-Systems, Inc. | Triple orthogonally interleaed error correction system |
JP3518700B2 (ja) * | 1995-01-25 | 2004-04-12 | ソニー株式会社 | デイジタル信号復号装置 |
DE69717405T2 (de) * | 1996-06-13 | 2003-07-17 | Koninkl Philips Electronics Nv | Verfahren und gerät zur spurweisen impulsfehlerkorrektur in einem mehrspurigen speicherformat |
US5933462A (en) * | 1996-11-06 | 1999-08-03 | Qualcomm Incorporated | Soft decision output decoder for decoding convolutionally encoded codewords |
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 |
EP0963048A3 (en) * | 1998-06-01 | 2001-02-07 | Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry | Max-log-APP decoding and related turbo decoding |
JP3451246B2 (ja) * | 1999-03-01 | 2003-09-29 | 富士通株式会社 | 最大事後確率復号方法及び装置 |
KR100294893B1 (ko) * | 1999-03-09 | 2001-07-12 | 윤종용 | 개선된 dc 억압 능력을 갖는 rll 코드 생성 방법 과 생성된 rll 코드 변복조 방법 |
JP3582056B2 (ja) | 1999-03-19 | 2004-10-27 | 富士通株式会社 | ターボ復号器 |
KR100565046B1 (ko) * | 1999-04-21 | 2006-03-30 | 삼성전자주식회사 | 개선된 dc 억압 능력을 갖는 rll 코드 배치 방법, 변복조 방법 및 복조 장치 |
DE10001856A1 (de) | 2000-01-18 | 2001-08-09 | Infineon Technologies Ag | Verfahren zur Decodierung eines Datensignals |
US6477681B1 (en) * | 2000-02-07 | 2002-11-05 | Motorola, Inc. | Methods for decoding data in digital communication systems |
US6732327B1 (en) * | 2000-05-05 | 2004-05-04 | Nokia Networks Oy | Scaled-feedback turbo decoder |
JP2002009633A (ja) * | 2000-06-19 | 2002-01-11 | Mitsubishi Electric Corp | 復号回路および復号方法、並びに符号化回路および符号化方法 |
IT1320715B1 (it) | 2000-10-19 | 2003-12-10 | Cselt Centro Studi Lab Telecom | Modulo generatore di circuiti per la decodifica di codiciconvoluzionali, metodo per la generazione di tale tipo di circuito e |
US6865711B2 (en) * | 2000-12-15 | 2005-03-08 | Conexant Systems, Inc. | System of and method for decoding trellis codes |
US7027531B2 (en) * | 2000-12-29 | 2006-04-11 | Motorola, Inc. | Method and system for initializing a training period in a turbo decoding device |
US6799295B2 (en) * | 2001-01-02 | 2004-09-28 | Icomm Technologies, Inc. | High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture |
JP4366867B2 (ja) | 2001-01-22 | 2009-11-18 | 株式会社デンソー | Map復号装置 |
US6775801B2 (en) * | 2001-09-26 | 2004-08-10 | Texas Instruments Incorporated | Turbo decoder extrinsic normalization |
US6996765B2 (en) * | 2001-11-14 | 2006-02-07 | Texas Instruments Incorporated | Turbo decoder prolog reduction |
US6718504B1 (en) * | 2002-06-05 | 2004-04-06 | Arc International | Method and apparatus for implementing a data processor adapted for turbo decoding |
-
2002
- 2002-08-20 JP JP2002239492A patent/JP2004080508A/ja active Pending
-
2003
- 2003-08-15 US US10/641,563 patent/US7467347B2/en not_active Expired - Fee Related
- 2003-08-20 EP EP03255151A patent/EP1391995A3/en not_active Withdrawn
- 2003-08-20 CN CNA2007101096482A patent/CN101079642A/zh active Pending
- 2003-08-20 CN CNB031597297A patent/CN1328851C/zh not_active Expired - Fee Related
- 2003-08-20 CN CN200610162894XA patent/CN1992534B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001069789A2 (de) * | 2000-03-16 | 2001-09-20 | Infineon Technologies Ag | Optimierter turbo-decodierer |
WO2002031964A1 (en) * | 2000-10-11 | 2002-04-18 | Motorola Inc. | Improved decoding of turbo codes using data scaling |
CN1362789A (zh) * | 2001-01-04 | 2002-08-07 | 华为技术有限公司 | 特博码解码方法及其解码器 |
CN2506034Y (zh) * | 2001-11-12 | 2002-08-14 | 上海华龙信息技术开发中心 | Turbo译码器件 |
Non-Patent Citations (1)
Title |
---|
SEOKHYUN YOON: "A parallel MAP algorithm for low latency turbo decoding", 《COMMUNICATIONS LETTERS, IEEE》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102835062A (zh) * | 2010-07-27 | 2012-12-19 | 联发科技(新加坡)私人有限公司 | 初始化解码码距 |
CN102835062B (zh) * | 2010-07-27 | 2015-06-24 | 联发科技(新加坡)私人有限公司 | 确定码距的方法及计算装置 |
CN112420082A (zh) * | 2019-08-21 | 2021-02-26 | 株式会社东芝 | 磁盘装置 |
CN112420082B (zh) * | 2019-08-21 | 2022-05-17 | 株式会社东芝 | 磁盘装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1328851C (zh) | 2007-07-25 |
CN1992534B (zh) | 2010-06-16 |
EP1391995A2 (en) | 2004-02-25 |
CN1992534A (zh) | 2007-07-04 |
US20040039769A1 (en) | 2004-02-26 |
EP1391995A3 (en) | 2005-07-13 |
CN1489294A (zh) | 2004-04-14 |
US7467347B2 (en) | 2008-12-16 |
JP2004080508A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101079642A (zh) | 误差校正码的译码方法及其程序和设备 | |
EP1030457B1 (en) | Methods and system architectures for turbo decoding | |
CN1279698C (zh) | 运用Turbo码中的质量标记标准的迭代停止准则 | |
CN1783729A (zh) | 用联合节点处理来解码低密度奇偶校验码的方法和设备 | |
EP1336250B1 (en) | Module for generating circuits for decoding convolutional codes, related method and circuit | |
CN1728563A (zh) | Turbo译码装置和Turbo译码方法 | |
CN1823474A (zh) | 解码装置及解码方法 | |
CN1311578A (zh) | 卷积编码码字的软判定解码 | |
US7464316B2 (en) | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder | |
Lin et al. | Area-efficient scalable MAP processor design for high-throughput multistandard convolutional turbo decoding | |
CN1254121C (zh) | 特博码的解码方法 | |
CN1302624C (zh) | 基于格子的信道编码所用的解码器 | |
US20030123563A1 (en) | Method and apparatus for turbo encoding and decoding | |
CN1143471C (zh) | 快速最大后验概率译码的方法和系统 | |
CN1682449A (zh) | 使用数据窗口来解码数据的方法 | |
CN1155161C (zh) | 用于特博码的解码器及其解码方法 | |
US20140223267A1 (en) | Radix-4 viterbi forward error correction decoding | |
JP3892471B2 (ja) | 復号方法 | |
US7917834B2 (en) | Apparatus and method for computing LLR | |
Dielissen et al. | Power-efficient layered Turbo Decoder processor | |
JP2008136006A (ja) | 誤り訂正復号器及びそれに用いる誤り訂正復号方法並びにそのプログラム | |
CN1841941A (zh) | 最大后验概率译码方法和装置 | |
Kaynak et al. | Classification codes for soft information generation from hard flash reads | |
JP2006115534A5 (zh) | ||
CN1913366A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: RENESAS KANSAI CO., LTD. Free format text: FORMER OWNER: NEC CORP. Effective date: 20100823 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20100823 Address after: Kawasaki, Kanagawa, Japan Applicant after: Renesas Electronics Corporation Address before: Kawasaki, Kanagawa, Japan Applicant before: NEC Corp. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20071128 |