CN101826879A - 解码装置和解码方法 - Google Patents
解码装置和解码方法 Download PDFInfo
- Publication number
- CN101826879A CN101826879A CN201010124829A CN201010124829A CN101826879A CN 101826879 A CN101826879 A CN 101826879A CN 201010124829 A CN201010124829 A CN 201010124829A CN 201010124829 A CN201010124829 A CN 201010124829A CN 101826879 A CN101826879 A CN 101826879A
- Authority
- CN
- China
- Prior art keywords
- path
- ram
- routing information
- circuit
- memory
- 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/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/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
- H03M13/4176—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback using a plurality of RAMs, e.g. for carrying out a plurality of traceback implementations simultaneously
-
- 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/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
-
- 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/6561—Parallelized implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种解码装置和解码方法。公开的解码装置包括:设N和x均为正整数,k为等于或大于1的正整数,k级移位寄存器,配置为积累k个输入的路径选择信息,路径选择信息是关于在状态数为N的卷积码的每个瞬态中由基数-2x构成的xN位残存路径的信息;路径存储器,具有一个存储块,该存储块配置为在一个地址处存储在移位寄存器中积累的k个输入的路径选择信息;以及回溯电路,配置为利用从路径存储器读取的路径选择信息在一个时钟中回溯m=rkx时间的路径,其中t是kx的约数且r为2或1/t。
Description
技术领域
本发明涉及一种解码装置和解码方法,尤其涉及这样的解码装置和解码方法:其配置为能够限制用于存储回溯处理中使用的路径选择信息的存储器的大小以及解码处理中涉及的等待时间。
背景技术
在例如数据从发送装置到接收装置的传输中或数据从记录装置到再现装置的传输中(其中,由记录装置记录到记录介质的信息在再现装置上再现),在这些装置之间的传输路径上可能引起数据错误。
对在传输路径上引起的错误进行校正的典型方法之一是卷积码方法。已知维特比(Viterbi)解码是一种实现卷积码的最大似然解码的方法。在例如A.J.Viterbi和J.K.Omura的Principles of Digital Communicationand Coding(MacGraw-Hill,New York,1979年)(下文中称为非专利文献1)中公开了维特比解码。
参考图1,示出了发送/接收系统的示例性结构的框图。
图1所示的发送/接收系统构造有经由传输路径2互连的发送装置1和接收装置3。发送装置1由卷积编码器11和传输路径编码器12构成。接收装置3由代码检测器31、传输路径解码器32和维特比解码器33构成。在发送装置1的卷积编码器11中输入要进行发送的信息序列。
发送装置1的卷积编码器11对输入的信息序列执行卷积编码处理,并将通过错误校正编码获得的代码序列输出到传输路径编码器12。
传输路径编码器12根据传输路径2执行编码处理,诸如调制处理,并将获得的数据经由传输路径2发送到接收装置3。从传输路径编码器12发送的信号被经由传输路径2输入到接收装置3的代码检测器31。
接收装置3的代码检测器31基于接收到的信号检测数据,并将检测到的数据输出到传输路径解码器32。
传输路径解码器32对从代码检测器31提供的数据执行解码处理,诸如解调处理,并将获得的接收序列输出到维特比解码器33。
维特比解码器33对从传输路径解码器32提供的接收序列执行维特比解码处理,并将通过错误校正获得的解码序列作为解码结果输出。
下面将简要说明维特比解码的原理。
在发送某个代码序列W时接收序列为V的条件概率(似然函数)P0(V|W)用下面的算式(6)来表示。
在算式(6)中,S表示接收序列的数目,vi表示第i个接收信号,wi表示某个代码序列W中的第i个发送信号。P(vi|wi)为在发送wi时接收信号为vi的条件概率。通过获得能使该P0(V|W)最大化的代码序列来执行最大似然解码。
-logeP(vi|wi)被称作分支度量(branch metric)。与某个路径相对应的代码序列W的分支度量之和(即,-logeP(V|W))被称作路径度量(pathmetric)。
参考图2,示出了示出基于格子图(trellis diagram)实现最大似然解码的维特比解码器33的示例性结构的框图。
如图2所示,维特比解码器33由分支度量计算器41、加比选(AddCompare Select,ACS)处理单元42、路径度量存储器43以及残存路径(survivor path)处理单元44构成。设卷积编码器11的约束长度为K,则格子图中的状态数N就表示为N=2K-1,其中,K和N为正整数。
分支度量计算器41对构成接收序列的每个接收信号计算分支度量,并将获得的分支度量输出到ACS处理单元42。
ACS处理单元42根据通过卷积编码器11的约束长度确定的状态数的格子图参考由分支度量计算器41获得的分支度量以确定每个状态的残存路径。残存路径是从将某个状态与连接到该状态的前状态连接起来的两个或多个路径中基于汉明距离(Hamming distance)选择的路径。
此外,ACS处理单元42将路径选择信息(即,残存路径信息)输出到残存路径处理单元44,以将该路径选择信息存储在残存路径处理单元44中的路径存储器44A中。在将路径选择信息输出到残存路径处理单元44时,ACS处理单元42更新路径度量存储器43的值,路径度量存储器43是用于存储每个状态的度量的存储器。
基于存储在路径存储器44A中的路径选择信息,残存路径处理单元44在接收序列的输入已经结束时从各状态的残存路径中选择具有最小路径度量的路径(最大似然路径)。与由残存路径处理单元44选择的最大似然路径上的状态相对应的值被作为解码序列输出,这就实现了最大似然解码。
现在,应该注意,如果接收序列较长,则该长度增加路径存储器长度或解码所需的时间(等待时间),路径存储器长度即:直到选择了最大似然路径为止在路径存储器中保持的路径选择信息的长度。所以,通常通过将路径存储器长度截取为对解码特性影响很小的某个长度来使用所述路径存储器。一般地,当卷积编码器的约束长度K和编码率增加时,需要分配较大的路径存储器长度。
已知从路径存储器中存储的路径选择信息中选择最大似然路径的方法有回溯法和寄存器交换法。
寄存器交换法的电路结构简单,运行速度快,但该法具有这样的特性:即,当路径存储器长度增加时,电路规模和功耗增加。所以,如果路径存储器长度较长,则经常使用回溯法,在该方法中,使用RAM(随机存取存储器)来存储关于残存路径的信息,并且以路径存储器长度的量来回溯该信息以选择最大似然路径。
这里,设回溯长度为T,回溯长度是回溯法中要进行回溯的路径存储器长度。此外,假设维特比解码器的输入由基数-2x来构造。注意,T和x为正整数。
G.Feygin和P.G.Gulak的“Architectural Tradeoffs for SurvivorSequence Memory Management in Viterbi Decoders”(IEEE Transactionson Communications,vol.41,no.3,pp.425-429,1993年3月)(下文中称为非专利文献2)中提出了k指针算法和单指针(one-pointer)算法作为回溯算法。R.Cypher和C.B.Shung的“Generalized Trace BackTechniques for Survivor Memory Management in the Viterbi Algorithm”(IEEE Global Telecommunications Conference and Exhibition.‘Communications:Connecting the Future’,vol.2,pp.1318-1322,1990年12月)(下文中称为非专利文献3)中提出了通过将这两种算法结合而获得的混合算法。
在k指针算法中,路径存储器中使用的RAM被分成2k个位宽为xN、深度为T/{x·(k-1)}的存储块(bank),并且通过使用k个读指针,对一次写入,并行读取k个位置。这里,k为大于1的正整数,表示回溯法所需的从路径存储器RAM中的读操作的数目。
在单指针算法中,所述RAM被分成(k+1)个位宽为xN、深度为T/{x·(k-1)}的存储块,并且以写速度k倍的速度执行读取,由此,对一次写入,执行k次读取。
在所述混合算法中,通过使用满足k=k1k2的正整数k1和k2,以写速度k1倍的速度利用k2个读指针并行执行在k个位置处的读操作。
P.J.Black和T.H.-Y.Meng的“Hybrid Survivor Path Architecturesfor Viterbi Decoders”(ICASSP,vol.1,pp.433-436,1993年4月)(下文中称为非专利文献4)中提出一种混合预回溯(pretraceback)算法,用于利用预回溯电路通过对k个输入执行一次写操作来实现与单指针算法相似的存储器结构和等待时间。
在该混合预回溯算法中,在将从ACS处理单元输出的路径选择信息写入路径存储器之前,利用预回溯电路对该路径选择信息进行排序(sort),由此减小在进行回溯处理时的负荷。预回溯电路具有k级寄存器交换结构。
T.Miyauchi和M.Hattori的“Viterbi Decoding Apparatus and ViterbiDecoding Method”(US 6,651,215B2,Sony Corporation,2003年11月18日,1998年12月17日申请)(下文中称为专利文献1)中提出一种方法:其中,利用k个具有一个写端口和一个读端口的双端口RAM作为路径存储器来实现对一次写操作读k个位置,由此,用一个时钟执行kx次回溯操作。这种方法使得能够减小RAM的大小。
M.Rim和Y.Oh的“Traceback-Performing Apparatus in ViterbiDecoder”(US 6,712,880,Samsung Electronics Co.,Ltd.,1998年1月27日,1995年11月14日申请)(下文中称为专利文献2)中提出一种结构,其中,对于在k指针算法中进行写以及为解码进行读,共享一个存储块,由此节省一个存储块,以实现分成(2k-1)个存储块。这种结构使得能够实现这样一种存储管理,该存储管理在RAM地址指定上是简单的。
下面的表1示出在现有技术的回溯法的上述算法中残存路径处理单元的路径存储器大小M和等待时间L之间的关系。等待时间L是从路径选择信息最初输入到残存路径处理单元中到输出第一个解码结果的时间,其中,ACS处理单元输出xN位路径选择信息的时间间隔为1。
表1
图3示出当k变化时M的变化,其中T=112且x=2。图4示出L的变化。
尽管在图3和图4中没有示出,但依据满足k=k1k2的k1和k2的值,混合算法的M和L的值等于或大于单指针算法的M和L的值,并且等于或小于k指针算法的M和L的值。例如,如果k1=1,则混合算法的M和L的值与k指针算法的M和L的值匹配,如果k2=1,则混合算法的M和L的值与单指针算法的M和L的值匹配。
应该注意,通过除了考虑路径存储器的存储器大小还考虑预回溯电路的存储器大小而获得表1和图3所示的预回溯算法的M的值。
关于更多的信息,参考S.Thurnhofer的“Traceback BufferManagement for VLSI Viterbi Decoders”(US 6,601,215B1,Agere SystemsInc.,2003年7月29日,2000年2月1日申请)(下文中称为专利文献3)。
发明内容
从表1中所列的每个算式可以看出,根据现有技术的回溯法的算法,通过增加k的值可以使存储器大小M和等待时间L的值更小。
然而,随着k的值增加,路径存储器的存储块的数目也增加,由此增加了外围电路的电路规模,外围电路诸如是用于选择从这些存储块读取的信息的选择器以及控制器。
因此,k的值经常被设置得在3以下;在这种情形中,路径存储器的存储器大小M需要为2TN位或更大。一般地说,当N的值增加时,要求有更大的回溯长度T,由此增加大小为2TN位的路径存储器的电路规模。
此外,诸如专利文献1中提出的结构(其中,在一个时钟中执行kx次回溯处理),在k的值较大的情况下,增加了在一个时钟内必须完成的处理操作,由此难以在高时钟频率下进行操作。
所以,期望有这样的回溯法算法:存储器大小和包括外围电路的电路规模尽可能小,并且可在高时钟频率下工作。另外,如果如在无线通信系统中那样要求短的处理时间,则要求算法使解码等待时间尽可能小。
所以,本发明提出了与现有技术中的方法和装置相关的上述以及其它问题,并通过提供一种使得存储回溯处理中使用的路径选择信息的存储器的大小以及解码过程所涉及的等待时间最小的解码装置和解码方法来解决所提出的问题。
在实施本发明的过程中,根据本发明的一个实施方式,提供一种解码装置。该解码装置具有:设N和x均为正整数,k为等于或大于1的正整数,k级移位寄存器,配置为积累k个输入的路径选择信息,路径选择信息是关于在状态数为N的卷积码的每个瞬态中由基数-2x构成的xN位残存路径的信息;路径存储器,具有一个存储块,该存储块配置为在一个地址处存储在移位寄存器中积累的k个输入的路径选择信息;以及回溯电路,配置为利用从路径存储器读取的路径选择信息在一个时钟中回溯m=rkx时间的路径,其中t是kx的约数且r为2或1/t。
在上述解码装置中,一个回溯电路的回溯长度由可以被kx整除的正整数T表示;在每s次路径选择信息被写入路径存储器时开始进行下一次回溯处理的情形中,进行一次回溯处理操作所需的时钟数用l表示;α=T/(kx);以及ceiling(b)表示等于或大于实数b的最小整数,则s和l分别由下面的算式(1)和算式(2)来表示;
回溯电路通过花费等于l个时钟的时间执行一次(T+skx)时间的回溯处理操作,由此输出skx位的解码结果。
在上述解码装置中,两个回溯电路的回溯长度由可以被kx整除的正整数T表示;在每s次路径选择信息被写入路径存储器时开始进行下一次回溯处理的情形中,进行一次回溯处理操作所需的时钟数用l表示;α=T/(kx);u为满足u≤s的正整数;以及ceiling(b)表示等于或大于实数b的最小整数,则s和l分别由下面的算式(3)和算式(4)来表示;
回溯电路通过花费等于l个时钟的时间执行一次(T+skx)的回溯处理操作,由此输出skx位的解码结果。
在上述解码装置中,构成路径存储器的RAM(随机存取存储器)的深度a由算式(5)表示;
在上述解码装置中,如果r=2或者回溯电路的数目为2,则路径存储器由具有两个读端口的双端口RAM构成。
在上述解码装置中,如果r≤1且s=1,则路径存储器由单端口RAM构成。
在上述解码装置中,路径存储器由RAM构成,RAM在写被执行后马上执行从读端口将刚刚写入的写信息输出的操作。
在上述解码装置中,m的值由m的最大值mfc进行限制,并且,对于k和r的值,使用满足m≤mfc的值。
在上述解码装置中,对于k和r的值,使用使移位寄存器的电路规模和路径存储器中使用的RAM的电路规模之和最小的值。
在上述解码装置中,对于k和r的值,使用使移位寄存器的电路规模、路径存储器中使用的RAM的电路规模和设置在包括回溯电路的模块中用于保持从路径存储器读取的信息的触发器的电路规模之和最小的值。
在上述解码装置中,移位寄存器为k级预回溯电路。
在实施本发明的过程中,根据本发明的另一个实施方式,提供一种解码方法。该解码方法包括步骤:通过k级移位寄存器积累k个输入的路径选择信息,路径选择信息是关于在状态数为N的卷积码的每个瞬态中由基数-2x构成的xN位残存路径的信息,其中N和x均为正整数,k为等于或大于1的正整数;通过具有一个存储块的路径存储器在一个地址处存储在移位寄存器中积累的k个输入的路径选择信息;以及通过回溯电路,利用从路径存储器读取的路径选择信息在一个时钟中回溯m=rkx时间的路径,其中t是kx的约数且r为2或1/t。
在本发明的一个实施方式中,由k级移位寄存器积累k个输入的路径选择信息,所述路径选择信息是关于在状态数为N的卷积码的每个瞬态中由基数-2x构成的xN位残存路径的信息。在移位寄存器中积累的k个输入的路径选择信息由具有一个存储块的路径存储器存储在一个地址处。此外,利用从路径存储器读取的路径选择信息在一个时钟中通过回溯电路回溯m=rkx时间的路径,其中t是kx的约数且r为2或1/t,由此输出解码结果。
如上所述,根据本发明的一个实施方式,能够显著地将用于存储回溯处理中使用的路径选择信息的存储器的大小和解码中涉及的等待时间限制得较小。
附图说明
从下面参考附图对实施例进行的描述中可以清楚看到本发明的其它特征和优点,在附图中:
图1是示出发送/接收系统的示例性结构的框图;
图2是示出维特比解码器的示例性结构的框图;
图3是示出取T=112以及x=2时当k变化时M的变化的图;
图4是示出取T=112以及x=2时当k变化时L的变化的图;
图5是示出作为本发明一个实施例的接收装置的示例性结构的框图;
图6是示出残存路径处理单元的示例性基本结构的框图;
图7是示出路径存储器RAM的示例性结构的图;
图8是示出在T=112以及x=2的情形中取r=2时当k变化时M的变化的图;
图9是示出在T=112以及x=2的情形中取r=2时当k变化时L的变化的图;
图10是示出用于决定残存路径处理单元的构造参数的决定过程的流程图;
图11是表示在图10所示的步骤S2中执行的计算过程的流程图;
图12是表示在图10所示的步骤S0中执行的决定过程的流程图;
图13是示出残存路径处理单元的示例性结构的框图;
图14是图13所示的路径存储器RAM的存储器访问图表;
图15是示出残存路径处理单元的另一个示例性结构的框图;
图16是示出残存路径处理单元的再一个示例性结构的框图;
图17是图16所示的路径存储器RAM的存储器访问图表;
图18是示出路径存储器RAM的示例性布局的图;
图19是表示在图10所示的步骤S0中执行的决定过程的示例性变化的流程图;
图20是表示在图10所示的步骤S0中执行的k和r的决定过程的另一个示例性变化的流程图;
图21是示出残存路径处理单元的示例性结构的框图;
图22是图21所示的路径存储器RAM的存储器访问图表;
图23是示出卷积编码器的示例性结构的图;
图24是表示要由图23所示的卷积编码器进行编码的序列的格子图;
图25是示出残存路径处理单元的示例性结构的框图;
图26是图25所示的路径存储器RAM的存储器访问图表。
具体实施方式
下面将参考附图通过实施例来进一步详细描述本发明。
<接收装置的示例性结构>
参考图5,示出了实现作为本发明一个实施例的接收装置51的示例性结构。
图5中所示的接收装置51的结构与通过组合图1和图2中所示的接收装置的结构而获得的结构基本相同。所以,适当省略了对重复部分的描述。
接收装置51的代码检测器61将基于接收的信号检测的数据输出到传输路径解码器62。
传输路径解码器62对从代码检测器61提供的数据进行解码处理,并将获得的接收序列输出到维特比解码器63。
维特比解码器63由分支度量计算器71、ACS处理单元72、路径度量存储器73和残存路径处理单元74构成。在分支度量计算器71中输入从传输路径解码器62输出的接收序列。
分支度量计算器71对构成接收序列的每个接收信号计算分支度量,并将获得的分支度量输出到ACS处理单元72。
ACS处理单元72确定每个状态的残存路径,并将获得的路径选择信息输出到残存路径处理单元74。此外,ACS处理单元72更新路径度量存储器73的值。
参考图6,示出了示出残存路径处理单元74的示例性基本结构的框图。
后面将描述残存路径处理单元74的结构的细节。如图6所示,残存路径处理单元74由移位寄存器81、路径存储器RAM 82和回溯电路83构成。在移位寄存器81中,按每个时钟xN位来输入由基数-2x构造的路径选择信息。在残存路径处理单元74的每个块中,输入同样频率的时钟,基于该时钟来执行这些块的每个操作。
移位寄存器81积累k个时钟的输入路径选择信息,并将kxN位的路径选择信息一起写到路径存储器RAM 82的一个地址。
路径存储器RAM 82存储从移位寄存器81提供的路径选择信息。
当已经完成足以开始进行回溯处理的数目的接收序列输入时,回溯电路83基于路径存储器RAM 82中存储的路径选择信息执行回溯处理,由此选择最大似然路径。残存路径处理单元74输出与该最大似然路径上的状态相对应的值作为解码序列。
路径存储器RAM的地址结构
根据每个要实现的系统中所要求的出错率性能和吞吐量预先确定状态数N、回溯长度T和x。N和x为正整数,k为大于1的正整数。T为可以被kx整除的正整数。
参考图7,示出了路径存储器RAM 82的示例性结构。
在图7所示例子中,沿水平方向示出路径选择信息r1到ra。状态数N为16;沿竖直方向示出状态N1到N16。
在每个框(box)中,存储与路径选择信息相对应的具有kx位的值。在一起存储了kxN位路径选择信息的残存路径处理单元74中,kx时间的路径选择信息被存储在路径存储器RAM 82的一个地址处。
此外,如在下面算式(7)中所示来定义α:
因为每个地址都存储了kx时间的路径选择信息,所以,α表示存储T时间的路径选择信息所需的路径存储器RAM 82的地址数。T能够由kx整除,从而α总是正整数。
通过使用一个端口来执行将路径选择信息写到一个地址或从一个地址读取路径选择信息。如果路径存储器RAM 82为单端口RAM,则某个时刻只能执行写和读之一。相反,如果路径存储器RAM 82为提供有一个写端口和一个读端口的双端口RAM,则某个时刻既可以写也可以读。
此外,如果路径存储器RAM 82为提供有两个读端口的双端口RAM,则某个时刻也可以对两个地址一起执行路径选择信息的读取。
应该注意,在图7所示的例子中,当路径选择信息积累到rα+s时,开始进行回溯残存路径的回溯处理。在回溯处理中,读取路径选择信息rα+s、rα+s-1、...、rα、...、rs、...、r2、r1,回溯处理的执行提供skx位的解码结果。s为正整数。
此外,与相关技术算法中使用的路径存储器不同,不通过分成两个或更多个存储块来使用路径存储器RAM 82,而是由具有单个存储块的RAM构成路径存储器RAM 82。所以,如果k的值增加,则不需要布置外围电路,诸如选择器,从而该增加不会涉及电路规模的增加。如果如上所述在路径存储器中构造两个或多个存储块,则需要外围电路,诸如选择器,来选择读数据。
应该注意,如果kxN位的宽度(即,路径选择信息的写单位)较大,并且不能准备具有该位宽的RAM,则可以将kxN位的路径选择信息进行分割以存储在两个或更多个RAM中。
在这种情形中,在同一地址以同一定时在全部的两个或更多个RAM上执行写和读,允许将两个或更多个RAM以等同方式作为一个RAM来使用。于是,路径存储器RAM 82由两个或更多个RAM构成,但就操作来说,这些RAM可以被视为一个RAM,从而存储块的数目可以被说成是一个。
利用路径选择信息的回溯处理
回溯电路83通过在一个时钟中回溯m时间的路径来执行回溯处理。m由下面的算式(8)来表示。
m=rkx (8)
在上面的算式(8)中,r的值为2或1/t,其中,t为kx的约数。
如果r=2,则m=2kx,并通过在一个时钟中回溯2kx的路径来执行回溯处理。因为在路径存储器RAM 82中每个地址存储kx时间的路径选择信息,所以回溯处理要求在一个时钟中从两个地址读取路径选择信息。
所以,如果r=2,则路径存储器RAM 82采用具有两个读端口的双端口RAM。然而,应该注意,如果在利用所述两个端口读路径选择信息期间执行写入,则所述端口中的一个端口必须用于写入。如果出现这种情况,则只能从另一个端口来执行读取。
另一方面,如果r的值为1/t,并且r≤1,则通过在一个时钟中回溯kx/t时间的路径来执行回溯处理。在t个时钟中执行kx时间的路径选择信息的回溯处理。在回溯处理中,可能只在一个时钟中读取存储在一个地址的路径选择信息。
如果r≤1,则也可以使用具有两个端口的双端口RAM作为路径存储器RAM 82。在这种情形中,即使在读路径选择信息期间执行写入,也可以利用另一个端口继续进行读取。因为可以独立地执行路径选择信息的读和写,所以,路径选择信息的读取不受写的影响。
接下来,设由一个阶段的回溯处理获得的解码位的数目为skx位,s为正整数。在已经将(T+skx)的路径选择信息写入路径存储器RAM 82之后,回溯电路83开始进行回溯处理。在由回溯电路83执行回溯处理期间,写入路径存储器RAM 82的(T+skx)的路径选择信息被顺序地读取以对路径进行回溯,由此,获得skx位解码结果。
如上所述,kx时间的路径选择信息被写到路径存储器RAM 82的一个地址,使得(T+skx)的路径选择信息被存储在(α+s)个地址处。为了读取(T+skx)的路径选择信息以执行回溯处理,需要(α+s)次读操作。
随后,每将路径选择信息写入路径存储器RAM 82s次,就由回溯电路83开始进行下一次回溯处理。
在紧挨s次写操作之后就开始的回溯处理中,所述s次写操作中的最后一次写操作提供首先使用的信息。所以,可以使用执行写优先操作的RAM作为路径存储器RAM 82,在所述写优先操作中,在写操作之后,从该读端口输出之前刚刚写入的写信息。此外,如后面要描述的那样,可以使用延迟元件,以在回溯处理中首先使用被延迟的写信息。
如上所述,如果在每个时钟都输入路径选择信息,则在残存路径处理单元74中每k个时钟向路径存储器RAM 82执行写入,由此,每s次写操作就开始进行回溯处理。为了在提供直到下一次回溯处理开始的持续时间的sk个时钟期间结束一次回溯处理操作,要求读取(T+skx)的路径选择信息,并在sk个时钟期间写路径选择信息s次。
所以,r和s必须满足下面的算式(9)给出的关系。在算式(9)中,s由下面的算式(10)来表示。函数ceiling(b)表示大于实数b的整数中的最小整数。
读取(T+skx)的路径选择信息以通过花费l个时钟来执行回溯处理,由此提供skx位的解码结果。回溯处理所需的时钟数l由下面的算式(11)来表示。
此外,设用于在一个时钟中对m时间的路径进行回溯的回溯电路83的数目为p。如后面将要描述的那样,也可以提供两个或更多个回溯电路来构造残存路径处理单元74。
在l个时钟内执行一次回溯操作时,每k个时钟对路径存储器RAM 82执行写入,使得路径存储器RAM 82的地址数增加ceiling(l/k)-1。这就防止回溯处理中使用的路径选择信息在该路径选择信息被读取之前被覆写。
路径存储器RAM 82的地址数(深度)由下面的算式(12)来表示。
因此,残存路径处理单元74中布置的存储器大小M由下面的算式(13)来表示,等待时间L由下面的算式(14)来表示。算式(13)中的M等于通过将路径存储器RAM 82的存储器大小akxN加到移位寄存器81的存储器大小kxN而获得的值。
M=(a+1)·kxN (13)
L=(α+s)·k+1 (14)
如表2中所示,与表1相对应,总结了残存路径处理单元74的存储器大小M和等待时间L。
表2
算法 | M[位] | L |
根据本发明的结构 | (a+1)·kxN | (α+s)·k+1 |
此外,取T=112,x=2,图8中示出通过在r=2时改变k的值而获得的残存路径处理单元74的存储器大小M,图9示出等待时间L。图8和图9示出通过计算获得的结果,其中,如果回溯长度T=112不能被kx整除,则T取大于112且能被kx整除的最小整数。
根据残存路径处理单元74的上述结构,当如通常所使用的那样将k设置为3时,与单指针算法和预回溯算法相比,存储器大小和等待时间可以减小约23%。此外,根据残存路径处理单元74的上述结构,与专利文献1中提出的算法相比,等待时间增加了大约9%,但与该算法相比,存储器大小可以减少约23%。
构造残存路径处理单元的参数的决定过程
下面将参考图10所示的流程图来描述确定构造残存路径处理单元74的参数的过程。
根据该过程,在设计接收装置51时或类似时刻确定每个构造参数,并生成由所确定的构造参数指定的残存路径处理单元74。
在步骤S0中,r的值是2或1/t,并且正整数k的值满足当r=2时k>1,当r≤1时k>1/r=t,其中,t为kx的约数。后面将参考图12所示流程图来描述r和k的决定过程。
在步骤S1中,利用在步骤S0中确定的r和k的值,根据上面的算式(8)计算m的值。在算式(8)中,x表示基于要求的性能等预先确定的值。
在步骤S2中,利用x、T、k和r的值,计算其它构造参数s、l和a的值。T的值也是由要求的性能等预先确定的值。
下面将参考图11中所示的流程图描述在图10所示的步骤S2中执行的计算s、l和a的值的过程。为了描述方便,在步骤S0的细节之前描述步骤S2的细节。
在步骤S10中,根据上面的算式(7)计算α的值。
在步骤S11中,确定是否r=2。
如果在步骤S11中确定为r=2,则在步骤S12中,根据上面的算式(10)计算s的值。
此外,在步骤S13中,根据上面的算式(11)计算l的值。
如果在步骤S11中确定为r=1/t而不是2,则在步骤S14中,根据上面的算式(10)计算S的值。
此外,在步骤S15中,根据上面的算式(11)计算l的值。
在s和l的计算之后,在步骤S16中根据上面的算式(12)计算a的值。然后,该过程返回到图10所示的步骤S2,以结束参数决定过程。
下面描述在N=64、T=114以及x=2的情况下的计算结果的具体例子。
这里假设在步骤S0中预先确定k=3且r=2。在图10所示的步骤S1中,获得了m=2·3·2=12。
在这种情形中,在图11所示的S10中,计算出α=114/(3·2)=19。这里,因为r=2,所以在步骤S11中的决定之后,在步骤S12中计算出s=ceiling((19-1)/(2·(3-1))=5。
在步骤S13中,计算出l=ceiling((19+2·5-1)/2)=14。在步骤S16中,计算出a=19+5+ceiling(14/3)-1=28。
在表3的从最左列算起的第二列中列出了当N=64、T=114、x=2、k=3且r=2时获得的构造参数的计算结果。后面将依次描述在从左算起的第三、第四和第五列中所示的构造参数的计算。
表3
构造参数 | 如果k=3,r=2 | 如果k=8,r=1 | 如果k=4.r=1 | 如果k=8,r=1/2,u=1 |
T | 114 | 112 | 112 | 112 |
m | 12 | 16 | 8 | 8 |
S | 5 | 1 | 5 | 1 |
1 | 14 | 8 | 19 | 16 |
a | 28 | 8 | 23 | 9 |
p | 1 | 1 | 1 | 2 |
M[位] | 174N(≈1.55TN) | 144N(≈1.29TN) | 192N(≈1.71TN) | 160N(≈1.43TN) |
L | 86 | 72 | 95 | 80 |
下面将参考图12中所示流程图来描述要在图10所示的步骤S0中执行的确定k和r的值的过程。
期望确定k和r的值,以便使存储器大小和等待时间以及电路规模最小。对于残存路径处理单元74的k和r的值,使存储器大小最小的k和r的值不总是使电路规模最小的k和r的值。这是因为残存路径处理单元74的存储器大小是路径存储器RAM 82的存储器大小和移位寄存器81的存储器大小的组合;所以,一般地说,由触发器构成的移位寄存器的每位电路规模大于RAM的每位电路规模。
此外,如果r=2,则要求使用双端口RAM作为路径存储器RAM 82。如果p=1且r≤1且s=1,则可以利用单端口RAM来获得所述结构。如上所述,如果r=2,则这要求在一个时钟中读取两个地址的路径选择信息,由此要求RAM具有两个读端口。另一方面,如果r≤1且s=1,则回溯电路83可以只用一个端口读取路径选择信息。此外,在执行读取时,不进行新路径选择信息的写入。
一般地说,如果RAM的深度较小,则双端口RAM的电路规模比单端口RAM的电路规模大大约20%(参见非专利文献4)。即使路径存储器RAM 82的存储器大小比双端口RAM的存储器大小大大约20%且能够用单端口RAM来实现,路径存储器RAM 82的电路规模基本上也与用双端口RAM所实现的路径存储器RAM的电路规模相同。
所以,在选择k和r的值时,不仅考虑存储器大小和等待时间,而且也考虑电路规模。更具体地说,确定使电路规模B1最小的k和r的值,电路规模B1是由下面的算式(15)表示的路径存储器RAM 82的电路规模yRAM和移位寄存器81的电路规模yREG·kxN的组合。
B1=yRAM+yREG·kxN (15)
这里,yRAM由RAM的类型、RAM的位宽和其深度来限定。RAM的类型包括:例如,单端口RAM、具有一个写端口和一个读端口的双端口RAM、以及具有两个写端口和两个读端口的双端口RAM。另外,yREG表示每位电路规模,且yREG由使用的单元库(cell library)来限定。
在步骤S20中,设置作为搜索目标的k的最大值kmax和r的最小值rmin。应该注意,kmax和rmin应该满足关系式kmax>1/rmin。此外,设置yREG。
在步骤S21中,将k和r均初始化为2。
在步骤S22中,根据下面的算式(16)计算回溯长度T。
在上面的算式(16)中,Tinit为回溯长度的初始值。如果在k的值变化时Tinit能够被kx整除,则该Tinit被用作残存路径处理单元74的回溯长度T;否则,使用大于Tinit且能被kx整除的最小整数作为T。
在步骤S23中,根据上面参考图11所述的过程来计算构造参数s、l和a的值。
在步骤S24中,根据r的当前值、在步骤S23中计算出的构造参数s和a的值、以及kxN的值来限定RAM的类型和yRAM。
更具体地说,对于RAM的类型,如果p=1且r≤1,并且s=1,则限定为单端口RAM。此外,如果r=2或p=2,则限定为具有两个读端口的双端口RAM。在其它情形中,限定为具有一个读端口的双端口RAM。此外,由数据表及汇编来确定电路规模yRAM,其中,在具有确定类型的RAM中,位宽为kxN和深度为a。
这里,如果深度为a的RAM由于深度太小而不能被实现,则使用具有可实现的最大深度的RAM的电路规模作为yRAM。如果位宽为kxN的RAM由于宽度太大而不能被实现,则将kxN位进行分割以存储在两个或更多个RAM中,这些RAM的电路规模的总和为yRAM。
在步骤S25中,根据上面的算式(15)计算电路规模B1,存储计算结果。
在步骤S26中,确定k的当前值是否等于或大于kmax。
如果在步骤S26中发现k的当前值不是等于或大于kmax,则在步骤S27中,将k的值增加1,随后,重复进行步骤S22及之后的步骤。
另一方面,如果在步骤S26中发现k的当前值等于或大于kmax,则在步骤S28中确定r的当前值是否等于或小于rmin。
如果在步骤S28中确定为r的当前值不是等于或小于rmin,则在步骤S29中确定r的当前值是否是2。
如果在步骤S29中确定为r的当前值是2,则在步骤S30中将t的值设置为1。
在步骤S31中,将r的值设置为1。
在步骤S32中,将k的值设置为(t+1),然后重复进行上述步骤S22及之后的处理。
另一方面,如果在步骤S29中发现r的当前值不是2,则在步骤S33中,将t的值增加1。
在步骤S34中,确定t的当前值是否为kx的约数。
如果在步骤S34中发现t的当前值不是kx的约数,则所述过程返回到步骤S33以重复将t的值增加1的处理。
如果在步骤S34中发现t的当前值是kx的约数,则在步骤S35中将r的值设置为1/t,然后执行上述步骤S32及之后的处理。
另一方面,如果在步骤S28中发现r的当前值等于或小于rmin,则在步骤S36中选择使B1在到当前为止所存储的B1中最小的k和r的值。
在步骤S37中,根据算式(16)计算回溯长度T。然后,过程返回到图10中的步骤S0以执行上述步骤S0及之后的步骤。
下面取N=64、Tinit=112和x=2来描述具体计算。
在步骤S20中,设置kmax、rmin和yREG。这里,设置为kmax=10、rmin=1/2和yREG=10。
在步骤S21中,将k和r的值设置为2,并在步骤S22中,计算T的值。然后,在步骤S23中,计算构造参数s、l和a的值。在这种情形中,计算出s=14、l=28和a=55。
在步骤S24中,从上述计算的结果获得RAM的类型和yRAM。这里,为了描述简单,假设RAM的每位电路规模为常数,不依赖于位宽kxN和深度a,且yRAM只依赖于存储器大小akxN。
如果RAM的类型为单端口RAM,即,p=1且r≤1且s=1,则yRAM=2akxN。在双端口RAM的情形中,yRAM=2.4akxN。此外,假设RAM具有相对较小的深度。因此,由于r的当前值为r=2,所以,yRAM=2.4akxN=2.4·55·2·2·64=33792。
在步骤S25中,计算出B1=33792+10·2·2·64=36352,并存储其结果。在步骤S26中,由于k的当前值为k=2并且小于kmax=10,所以过程前进到步骤S27,其中,设置k=3,基于此,过程返回到步骤S22。
重复步骤S22到步骤S27的处理。如果k=10,则确定为k的当前值等于或大于kmax=10,基于此,所述过程前进到步骤S28。
在步骤S28中,r的当前值为r=2并且大于rmin=1/2,从而过程前进到步骤S29。然后,重复上述步骤S29到步骤S32的处理,直到在步骤S28中确定r的当前值为1/2且等于或小于rmin=1/2。
在步骤S36中,选择k=8和r=1作为使B1的值最小的值。在步骤S37中,计算出T=112。
在步骤S25中利用上述具体值计算并存储的B1的值被列于表4中。在表4中所示的计算结果的数字上所示的箭头表示通过计算获得的序列。如果k=8且r=1,则获得的B1的值为26624。
表4
在表3从左边算起的第三列中示出取N=64、T=112、x=2、k=8和r=1通过图10所示的过程获得的每个构造参数的计算结果。
如上所述,通过不仅考虑存储器大小和等待时间而且还考虑电路规模来计算k和r的值,由此确定其它构造参数。
因此,可以实现等于或小于现有算法中的存储器大小和等待时间的存储器大小和等待时间。另外,因为可以在不进行分割的情况下使用路径存储器RAM,所以不要求有用于选择读信息的选择器,以简化对读取的控制,由此使外围电路的电路规模最小。此外,对路径存储器RAM的类型的考虑也允许电路规模减小。
残存路径处理单元的结构的细节
参考图13,示出了残存路径处理单元74的示例性结构的框图。
参考图13,示出了由k=3且r=2时获得的在表3中从左边算起的第二列中列出的构造参数指定的残存路径处理单元74的结构。参考图13,与前面参考图6描述的那些结构部分相同的结构部分用相同的附图标记表示。省略重复的描述。如上所述,如果N=64且x=2,则其它构造参数的值为T=114、s=5、l=14、m=12、p=1以及a=28。
由于p=1,所以,对于执行回溯处理的电路,布置一个回溯电路83。
控制器91控制向路径存储器RAM 82写入路径选择信息以及从路径存储器RAM 82读取路径选择信息。
LIFO(Last-in First-out,后进先出)92存储从回溯电路83提供的数据,并在后进先出的基础上读取该数据,将读取的数据输出作为解码结果。
参考图14,示出了存储器访问图表,该存储器访问图表表示图13中所示的向路径存储器RAM 82写入路径选择信息以及从路径存储器RAM82读取路径选择信息的定时。在控制器91的控制下,实现如图14中所示的操作。
图14中所示的水平轴表示时钟,竖直轴表示路径存储器RAM 82的地址。一个黑方块表示要利用端口1执行的对路径选择信息的写入的定时和路径选择信息被写入的地址。一个白方块表示利用端口1读取路径选择信息的定时和路径选择信息被读取的地址。一个阴影方块表示要利用端口2执行的对路径选择信息的读取的定时和路径选择信息被读取的地址。这与后面要描述的存储器访问图表保持相同。
由于k=3,所以对于三个输入在移位寄存器81中积累每个时钟输入的xN=2·64=128位的路径选择信息,且三个输入的信息一起被输出。
如图14所示,利用端口1,每三个时钟执行向一个地址写入路径选择信息。由一次写操作写入的路径选择信息的位宽为kxN=3·2·64=384位。
在图14所示的例子中,在第三个时钟的定时在地址0处写入路径选择信息,在第六个时钟的定时在地址1处写入路径选择信息。
在第72个时钟的定时,(T+skx)=114+5·3·2=144时间的路径选择信息被存储在路径存储器RAM 82中,开始从路径存储器82读取路径选择信息。在开始读取之后,还继续向路径存储器RAM 82写入路径选择信息。
由于r=2,通过每个时钟访问两个地址来执行路径选择信息的读取。在这种情形中,每个时钟读取双倍的kx=3·2=6时间的路径选择信息,即2kxN=768位的路径选择信息(它是2kx=12时间的信息),并将其输入在一个时钟中回溯m=12时间的路径的回溯电路83。在回溯电路83中,通过取l=14个时钟的时间,执行(T+skx)=144时间的回溯处理。
然而,在使用一个端口执行写入的定时,只能使用另一个端口执行对路径选择信息的读取。在这种情形中,在回溯电路83中,只输入从一个地址读取的路径选择信息。在回溯电路83中,在一个时钟中通过回溯m/2=6时间的路径执行回溯处理。
在图14所示的例子中,在第72个时钟的定时利用端口1执行路径选择信息到地址23的写入,并且在同一时间,利用端口2执行从地址22读取路径选择信息。另外,在不写入路径选择信息的第73个时钟的定时,利用端口1从地址21读取路径选择信息,并利用端口2从地址20读取路径选择信息。读取的路径选择信息被按顺序用于回溯电路83对路径进行回溯。
连续读取直到第72个时钟所存储的路径选择信息,直到第85个时钟的定时。然后,重复进行路径选择信息的写和读。
在每个时钟从回溯电路83输出的m=12位中,最后s=5个地址的路径选择信息的输出被输入LIFO 92中。每执行一次回溯操作,输出skx=30位作为解码结果。
这里,路径存储器RAM 82是具有两个读端口的双端口RAM,并且执行写优先操作,在所述写优先操作中,从执行了写入的读端口输出刚刚写入的信息。
参考图15,示出了残存路径处理单元74的另一种示例性结构的框图。
用于实现图15所示结构的构造参数与用于实现图13所示结构的构造参数基本相同。参考图15,与前面参考图13所描述的结构部件相似的结构部件用相同的附图标记来表示。
例如,如果没有使用用于执行写优先操作的RAM(诸如图13所示的路径存储器RAM 82),则除了如图15所示与图13所示的结构相同的结构外,残存路径处理单元74还构造有延迟元件101和选择器102。
延迟元件101将移位寄存器81的输出延迟与从路径存储器RAM 82读取路径选择信息所需要的时间相等的时间,并将延迟的路径选择信息输出到选择器102中。
选择器102或者选择延迟元件101的输出或者选择利用端口1从路径存储器82读取的路径选择信息,并将选择的输出或信息输出到回溯电路83。在从路径存储器RAM 82输出要在开始进行回溯处理时读取的地址22处的路径选择信息的定时,例如,在图14所示的第72个时钟,选择器102选择延迟元件101的输出,在其它定时,选择器102选择从路径存储器RAM 82读取的路径选择信息。从路径存储器RAM 82的端口2读取的路径选择信息被直接提供到回溯电路83。
因此,能够向回溯电路83提供与通过写优先操作提供的信息同样的信息。在图15所示的路径存储器RAM 82中,也以与图14所示定时相同的定时对路径选择信息进行写和读。
如果由延迟元件101产生的延迟等于一个时钟的时间,则不要求有kxN位的延迟元件来产生与通过将写信息延迟等于一个时钟的时间获得的输出同样的输出。例如,可以通过将构造移位寄存器81的寄存器的数目多增加一级成为(k+1)级来产生与通过将写信息延迟等于一个时钟的时间而获得的输出同样的输出。
此时残存路径处理单元74的结构中,可以只将xN位的寄存器添加到移位寄存器81,结构中的其它部件与图13所示的那些部件基本相同。
参考图16,示出了残存路径处理单元74的再一个示例性结构的框图。
图16示出由k=8且r=1时获得的如表3中从左算起的第三列列出的构造参数指定的残存路径处理单元74的结构。如上所述,如果N=64且x=2,则其它构造参数的值为T=112、s=1、l=8、m=16、p=1以及a=8。
除了构造参数的值不同以及路径存储器RAM 82的端口数不同之外,该再一个结构基本与图13所示的结构相同。
参考图17,示出了存储器访问图表,该图表示将路径选择信息写入图16所示路径存储器RAM 82的定时以及从路径存储器RAM 82读取路径选择信息的定时。
由于k=8,所以对于8个输入积累每个时钟输入到移位寄存器81中的xN=2·64=128的路径选择信息,8个输入的信息一起被输出。
如图17所示,每8个时钟将路径选择信息写入一个地址。由一次写操作写入的路径选择信息的位宽为kxN=8·2·64=1024位。
在图17所示的例子中,在第8个时钟的定时向地址0执行写入,在第16个时钟的定时向地址1执行写入。
在作为第64个时钟的定时的下一个定时的第65个时钟的定时开始读取路径选择信息,而在第64个时钟的定时,(T+skx)=112+1·8·2=128时间的路径选择信息被存储在路径存储器RAM 82中。
由于r=1,所以通过每个时钟访问不同地址中的一个来读取路径选择信息。在这种情形中,读取作为kx=16时间的信息的kxN=1024位的路径选择信息,以将其输入到回溯电路83中,在回溯电路83中,在一个时钟中回溯m=16时间的路径。在回溯电路83中,在等于l=8个时钟的时间中,进行(T+skx)=128的回溯处理。
在图17所示的例子中,在第65个时钟的定时从地址6执行读取,并在第66个时钟的定时从地址5执行读取。所读取的路径选择信息被按顺序使用,以由回溯电路83回溯路径。
连续读取直到第64个时钟的定时所存储的路径选择信息,直到第71个时钟的定时,然后,同样重复路径选择信息的写和读。
在每个时钟从回溯电路83输出的m=16位中,最后s=1个地址的路径选择信息的输出被输入到LIFO 92中,每当执行一次回溯操作时,输出skx=16位作为解码结果。
图16所示的路径存储器RAM 82是单端口RAM,因为p=1且r≥1且s=1,如表3中从左算起的第三列所示。该单端口RAM执行写优先操作。
<变型1>
一般来说,路径存储器RAM 82在芯片中的布局位置是预先确定的。为了防止导线延迟中涉及的模块布局的自由度减小,从RAM中读取的信息在回溯电路83中使用之前被一度(once)保持在触发器中。
参考图18,示出了路径存储器RAM 82在芯片中的示例性布局。
如图18所示,在同一芯片上布置了包括回溯电路83的模块和路径存储器RAM 82。在图18中,只示出了回溯电路83和路径存储器RAM 82;然而,接收装置51的其它结构也可以被适当地布置在回溯电路83所处的同一模块中,或被布置在不同的模块中。接收装置51的该其它模块可以被布置在与回溯电路83所在芯片不同的芯片中。
如图18所示,触发器(由字符“D”所指示的方块)被布置在回溯电路83与路径存储器RAM 82之间包括回溯电路83的模块中。例如,从路径存储器RAM 82中读取的数据在被提供给回溯电路83进行回溯处理之前一度被保存在该触发器中。
通过考虑该触发器的电路规模,也可以在与前面参考图12中的流程图所描述的过程同样的过程中确定k和r的值。
在这种情形中,使用由下面的算式(17)表示的路径存储器RAM 82的读端口的数目z的值。另外,计算B2(B2表示考虑了该触发器的电路规模后的电路规模),以确定使B2最小的k和r的值。B2由下面的算式(18)表示。
B2=yRAM+yREG·(1+z)·kxN (18)
下面将参考图19所示的流程图来描述在图10所示的步骤S0中执行的确定k和r的过程的示例性变型。
图19所示的步骤S50到S53、S56到S65以及S67的处理与图12所示的步骤S20到S23、S26到S35以及S37中的处理基本相同,因此将适当地省略重复的描述。
在步骤S50中,设置kmax、rmin和yREG。在步骤S51中,将k和r分别设置为2。
在步骤S52中,计算回溯长度T。在步骤S53中,计算构造参数s、l和a的值。
在步骤S54中,根据r的当前值、在步骤S53中计算出的构造参数s和a的值、以及kxN的值来确定RAM的类型和yRAM。另外,根据上面的算式(17)确定读端口的数目z。
如果确定的RAM的类型为单端口RAM或具有一个读端口的双端口RAM,则z=1;如果RAM的类型为具有两个读端口的双端口RAM,则z=2。
在步骤S55中,根据算式(18)计算电路规模B2,并存储计算结果。
如果在步骤S56中确定k的当前值等于或大于kmax并且在步骤S58中确定r的当前值等于或小于rmin,则过程前进到步骤S66。
在步骤S66中,选择出使目前所存储的B2的值最小的k和r的值。
在步骤S67中,计算回溯长度T,然后执行图10所示的步骤S0及之后的处理。
像上面所述的例子那样,如果N=64、Tinit=112且x=2,那么通过按照图19所示的过程计算出k=8、r=1和T=112。通过按照图10所示的过程获得的构造参数的计算结果与表3中从左算起第三列中列出的结果相同。
<变型2>
回溯电路83需要在一个时钟中执行m/x级的N选1选择处理。所述N选1选择处理从N个状态中选出一个状态(路径)。后面将描述在一个时钟中执行m/x级的N选1选择处理的细节。
设用作在残存路径处理单元74中提供操作定时参考的时钟频率的时钟频率为fc,则当不可能以该时钟频率fc进行操作时,就出现了问题。如果,例如因为m较大,所以必须在一个时钟内完成的回溯处理的延迟较大,则以时钟频率fc进行操作就变得不可能。
为了解决该问题,可以使表示要被回溯的路径的数目(时间)的m的值变小,以便使以时钟频率fc进行操作变得可能。为了使m的值变小,可以根据上面的算式(8)使k或r的值变小。通过根据图20所示的过程来确定k和r的值,可以获得能使操作以时钟频率fc进行的m的值,其中,能使操作以时钟频率fc进行的m的最大值为mfc。
下面将参考图20所示的流程图描述在图10所示的步骤S0中要执行的用于确定k和r的过程的另一个示例性变型。
除了添加了步骤S83和S84的处理之外,图20所示的处理与上述参考图19所描述的处理基本相同。将适当地省略重复的描述。
在步骤S81中,设置kmax、rmin和yREG。在步骤S82中,将k和r分别设置为2。
在步骤S83中,根据上面的算式(8)计算m的值。在步骤S84中,确定m的值是否等于或小于mfc。
如果在步骤S84中发现m的值等于或小于mfc,则在步骤S85中计算回溯长度T。在步骤S86中,计算构造参数s、l和a。
在步骤S87中,根据r的当前值、在步骤S86中计算出的构造参数s和a的值以及kxN的值来确定RAM的类型和yRAM。另外,根据上面的算式(17)确定读端口的数目z。
在步骤S88中,根据上面的算式(18)计算电路规模B2,并存储计算结果。
另一方面,如果在步骤S84中发现m的值不是等于或小于mfc,则跳过步骤S85到S89。
如果在步骤S89中发现k的值等于或大于kmax并且在步骤S91中发现r的值等于或小于rmin,则过程前进到步骤S99。
在步骤S99中,选择出使目前所存储的B2最小的k和r的值。
在步骤S100中,计算回溯长度T。然后,执行图10所示的步骤S0及之后的处理。
如上所述,如果N=64、Tinit=112、x=2且mfc=8,则通过遵循图20所示的过程计算出k=4、r=1和T=112。在这种情形中,通过遵循图10所示的过程获得的构造参数的计算结果在表3中从左算起的第四列中列出。
应该注意,参考图20描述了这样的例子:其中,通过考虑用于保持从路径存储器RAM 82读取的数据的触发器的电路规模来计算构造参数;然而,也可以通过在不考虑该电路规模的情况下添加步骤S83和S84的处理来计算构造参数。
参考图21,示出了残存路径处理单元74的示例性结构的框图。
图21示出由在k=4且r=1时获得的在表3中从左算起的第四列中列出的构造参数指定的残存路径处理单元74的结构。如上所述,如果N=64且x=2,则其它的构造参数的值为T=112、s=5、l=19、m=8、p=1以及a=23。尽管构造参数的值不同,但结构自身与图16所示的结构基本相同。
图22示出了表示向图21所示的路径存储器RAM 82写入路径选择信息的定时以及从该路径存储器RAM 82读取路径选择信息的定时的存储器访问图表。
由于k=4,所以在移位寄存器81中对于4个输入积累每个时钟输入的xN=2·64=128位的路径选择信息,并将4个输入的信息一起输出。
如图22所示,每4个时钟将路径选择信息写入一个地址。在一次写操作中写入的路径选择信息的位宽为kxN=4·2·64=512位。
在图22所示的例子中,在第4个时钟的定时执行对地址0的写入,并在第8个时钟的定时执行对地址1的写入。
在第76个时钟的定时的下一个的第77个时钟的定时开始读取路径选择信息,在第76个时钟的定时,T+skx=112+5·4·2=152时间的路径选择信息被存储在路径存储器RAM 82中。
由于r=1,所以通过每个时钟访问一个不同的地址来读取路径选择信息。在这种情形中,每个时钟读取kxN=512位路径选择信息,即kx=8时间的信息,并将其输入回溯电路83中,回溯电路83在一个时钟中回溯m=8时间的路径。在回溯电路83中,通过花费l=19个时钟的时间来进行T+skx=152时间的回溯处理。
在图22所示的例子中,在第77个时钟的定时从地址17进行读取,并且在第78个时钟的定时从地址16进行读取。读取的路径选择信息被按顺序使用,以由回溯电路83回溯路径。
连续读取第76个时钟的定时之前所存储的路径选择信息,直到第94个时钟。然后,同样重复路径选择信息的写和读。
在作为每个时钟来自回溯电路83的输出的m=8位中,最后s=5个地址的路径选择信息的输出被输入到LIFO 92中,并且每当执行一次回溯处理操作时,输出skx=40位作为解码结果。
因为p=1且r≥1且s=5,如表3中从左算起的第四列中所列出的,所以图21所示的路径存储器RAM 82是具有一个写端口一个读端口的双端口RAM。
现在,描述回溯电路83中执行m/x级的N选1选择处理的细节。
一般来说,维特比解码器的每个输入都由如图23所示的卷积编码器进行编码。
在图23所示的例子中,移位寄存器由寄存器111-1到111-6构成,一位数据被这些寄存器中的每个寄存器按顺序保持作为输入数据I。
输入数据I、寄存器111-2的值、寄存器111-3的值、寄存器111-5的值以及寄存器111-6的值被输入加法器112中,且异或(exclusive OR)运算的结果被输出作为卷积编码的输出数据A。另外,输入数据I、寄存器111-1的值、寄存器111-2的值、寄存器111-3的值、寄存器111-5的值以及寄存器111-6的值被输入加法器113中,并且异或运算的结果被输出作为卷积编码的输出数据B。图23所示的卷积编码器是编码率(coding ratio)为1/2的电路。
由图23所示卷积编码器编码的序列可以由图24所示的格子图表示。
参考图24,Sn,t表示时间t处的状态n。图24以格子图示出两个时间的路径,其中,在时间t处提供S0,t,设总状态数为例如64。各状态与图23所示的六位寄存器的值相对应,初始状态为状态0。
在图24所示的例子中,在每个路径附近示出的的数字和斜线(/)表示图23所示卷积编码器中的输入和输出之间的关系。例如,对于路径p4,如果输入值0作为输入数据I,则输出1作为输出数据A的值,输出值0作为输出数据B的值。
例如,如果当状态在时间(t-2)处为0时(即S0,t-2),输入数据I为0,则图23所示的每个寄存器的值保持为0,并且在下一个时间(t-1)处的状态也为0(即S0,t-1)。同样,如果当状态在时间(t-2)处为16时(即S16,t-2),输入数据I为0,则图23所示的每个寄存器的值为二进制表示的100000,并且在下一个时间(t-1)处的状态为32(即S32,t-1)。
在ACS处理单元中,在每个时间计算连接到64个状态Sn,t(0≤n≤63)的每个状态的两个路径的路径度量(将状态之间的汉明距离加在一起)。另外,选择具有最小路径度量的路径作为残存路径,并输出一位路径选择信息yn,t。
然后,将该路径选择信息存储在路径存储器中,以便通过在随后的级中在回溯电路中回溯所述残存路径得到最大似然代码序列(解码结果)。
在残存路径的选择中,能够从例如如图24所示连接到S0,t-1的发自S0,t-2的路径p1和发自S32,t-2的路径p3中选择路径。如果选择了p1,则存储0作为路径选择信息;如果选择了p3,则存储1作为路径选择信息,由此指示在执行回溯操作以回溯先前的状态时选择了哪个路径。
构造图23所示的移位寄存器,使得在其LSB侧输入数据I,从而图24所示的路径选择信息yn,t与所选路径的状态的MSB相匹配。
例如,假设在时间(t-1)处的状态32的路径选择中,从连接到S32,t-1的发自S16,t-2的路径p4和发自S48,t-2的路径p5的组中选择了路径p4,并存储0作为路径选择信息y32,t-1。
此外,假设在下一时间t的状态0的路径选择中,从连接到S0,t的发自S0,t-1的路径p2和发自S32,t-1的路径p6的组中选择路径p6,并存储1作为路径选择信息y0,t。
此时,当在时间t处从状态0(即S0,t)开始进行回溯操作时,回溯电路首先从所述路径存储器中读取时间t处的路径选择信息yn,t,并选择状态0的路径选择信息,由此得到y0,t=1。因此,找到紧挨着的前一个状态为S32,t-1。
接下来,回溯电路从路径存储器中读取时间(t-1)处的路径选择信息yn,t-1,以选择状态32的路径选择信息,由此得到y32,t-1=0。因此,找到上述状态的前一个状态为S16, t-2。
因此,在回溯处理中,可以一个接一个地回溯前面的状态,以得到最大似然解码结果。
这里,如上所述,为了回溯一个时间的状态,必须在从路径存储器读取的64个状态的路径选择信息yn,t中选择当前被回溯的状态中的路径选择信息。在上述情形中,由于状态数为N,所以要求进行N选1选择处理。
此外,如上所述,在回溯电路83中,在一个时钟中回溯m时间的状态。通常,只执行m级的N选1选择处理。如果输入了基数-2x的路径选择信息,则每次将x时间的路径选择信息写入路径存储器RAM 82,使得N选1选择处理的级数为m/x。
<变型3>
也可以通过花费等于(s+u)·k个时钟的时间来执行回溯处理,其中,u为满足u≤s的正整数。
在这种情形中,回溯处理在等于sk个时钟的时间内不会结束。所以,可以并行布置两个或更多个回溯电路,其中,将路径存储器RAM 82的端口分别分配给这些回溯电路,由此使这些回溯电路实时并行地执行回溯处理。
例如,对于在利用端口1读取路径选择信息而进行的回溯处理的半途需要开始进行的下一个回溯处理,使另一个回溯电路利用端口2读取路径选择信息以执行回溯处理。
此时,要求端口1读取(T+skx)时间的路径选择信息,并在(s+u)·k个时钟中u次写入路径选择信息。如参考上面的算式(9)描述的,写入u次的一次写操作是写入首先用在随后马上开始的回溯处理中的信息,使得该一次写操作能够共享路径选择信息的写和读。
所以,r、s和u必须满足下面的算式(19)所示的关系。此外,在算式(19)中,s由下面的算式(20)来表示。在本例中,上面的算式(10)中的s用算式(20)中的s替代来计算其它构造参数。
且r≤1 (19)
此外,由算式(11)表示的回溯处理所需的时钟的数目l由下面的算式(21)所表示的l替代。此外,算式(20)是这样的条件:用于导出每sk个时钟开始的回溯处理,使得该回溯处理在(s+u)·k个时钟内结束,其中u为满足u≤s的正整数。因此,在该例子中,在残存路径处理单元中布置的用于在一个时钟中回溯m时间的路径的回溯电路的数目为2(p=2)。
通过在图10中所示的步骤S1中获得值m并通过执行步骤S2中的计算(取T=112、x=2、k=8、r=1/2以及u=1)而获得的构造参数被列在表3中从左算起的第五列中。在表示要在步骤S2中执行的计算过程的图11所示的步骤S14和S15中,执行算式(20)和算式(21)的计算。
参考图25,示出了残存路径处理单元74的示例性结构的框图。
图25示出由表3中从左算起的第五列中列出的构造参数指定的残存路径处理单元74的结构。如上所述,如果N=64且x=2,则构造参数的值为k=8、r=1/2、u=1、T=112、s=1、l=16、m=8、p=2以及a=9。
由于p=2,所以如图25所示设置回溯电路83-1和83-2作为回溯电路。分配路径存储器RAM 82的端口1作为回溯电路83-1的端口,并分配端口2作为回溯电路83-2的端口。另外,在回溯电路83-1和83-2后面设置选择器121。结构的其它部件与例如图21所示的那些部件基本相同。
回溯电路83-1和83-2每个都基于从路径存储器RAM 82读取的路径选择信息执行回溯处理,并将处理结果输出到选择器121。
选择器121在控制器91的控制下从回溯电路83-1提供的数据和回溯电路83-2提供的数据中选择其一,并将所选择的数据输出到LIFO 92。
参考图26,示出了存储器访问图表,该图表表示向图25所示的路径存储器RAM 82写入路径选择信息的定时和从该路径存储器RAM 82读取路径选择信息的定时。
由于k=8,所以在移位寄存器81中对于8个输入积累每个时钟输入的xN=2·64=128位的路径选择信息,并将8个输入的信息一起输出。
如图26所示,每8个时钟将路径选择信息写入一个地址。在一次写操作中所写入的路径选择信息的位宽为kxN=8·2·64=1024位。
在图26所示的例子中,在第8个时钟的定时对地址0执行写入,在第16个时钟的定时对地址1执行写入。
在作为第64个时钟的定时的下一个定时的第65个时钟的定时开始读取路径选择信息,而在第64个时钟的定时,(T+skx)=112+1·8·2=128时间的路径选择信息被存储在路径存储器RAM 82中。
由于r=1/2,所以通过每两个时钟访问一个不同的地址来读取路径选择信息。在这种情形中,每两个时钟读取kxN=1024位路径选择信息,即kx=16时间的信息。
所读取的路径选择信息被输入到在一个时钟中回溯m=8时间的路径的回溯电路83-1和回溯电路83-2的组中连接到端口1的回溯电路83-1中。回溯电路83-1通过花费等于l=16个时钟的时间执行(T+skx)=128时间的回溯处理。
另一方面,因为必须每sk=8个时钟开始下一次回溯处理,所以由回溯电路83-2利用读端口2执行要在利用端口1进行的回溯处理中半途开始的下一次回溯处理。
在从每个回溯电路输出的m=8位中,最后s=1个地址的路径选择信息的输出每sk=8个时钟由选择器121进行切换,以输入到LIFO 92中。每当执行一次回溯处理操作时,从LIFO 92中输出skx=16位作为解码结果。
图25所示的路径存储器RAM 82为具有2个写端口和两个读端口的双端口RAM。
<变型4>
也可以将用于存储k个输入的输入信号的k级移位寄存器改变为k级预回溯电路。这样能够与在较高时钟频率下进行的操作兼容。更具体地说,在上述例子中,必须在一个时钟中执行m/x级的N选1选择处理。然而,改变成k级预回溯电路只是使回溯电路在一个时钟中执行一级的N选1选择处理。
例如,在T=112、x=2、k=8以及r=1的上述情形中,等待时间与现有预回溯算法中的等待时间基本相同,但存储器大小能够减小约10%。为了用现有预回溯算法实现表1所列的存储器大小,路径存储器应该由双端口RAM构成。相反,在例如图16所示的结构中将移位寄存器改变为预回溯电路,可以用单端口RAM来构造路径存储器,由此用较小的电路规模实现路径存储器。
此外,本变型4允许实现根据时钟频率设计残存路径处理单元,由此可以与高时钟频率下的操作相兼容。
本申请包含与2009年3月4日在日本专利局提交的日本优先权专利中请JP 2009-050200中公开的主题相关的主题,其整个内容通过引用包含于此。
本领域技术人员应该理解,依据设计要求以及其它因素,可以进行各种修正、组合、子组合或改变,只要它们在所附权利要求书及其等同物的范围内即可。
Claims (13)
1.一种解码装置,包括:
设N和x均为正整数,k为等于或大于1的正整数,
k级移位寄存器,配置为积累k个输入的路径选择信息,所述路径选择信息是关于在状态数为N的卷积码的每个瞬态中由基数-2x构成的xN位残存路径的信息;
路径存储器,具有一个存储块,所述路径存储器配置为在一个地址处存储在所述移位寄存器中积累的所述k个输入的路径选择信息;以及
回溯电路,配置为利用从所述路径存储器读取的所述路径选择信息在一个时钟中回溯m=rkx时间的路径,其中t是kx的约数且r为2或1/t。
3.根据权利要求2所述的解码装置,其中,
构成所述路径存储器的RAM的深度a由算式(3)表示,其中,RAM代表随机存取存储器;
4.根据权利要求2所述的解码装置,其中,如果r≤1且s=1,则所述路径存储器由单端口RAM构成。
5.根据权利要求1所述的解码装置,其中,
所述两个回溯电路的回溯长度由可被kx整除的正整数T表示;
在每s次所述路径选择信息被写入所述路径存储器时开始进行下一次回溯处理的情形中,进行一次回溯处理操作所需的时钟数用l表示;
α=T/(kx);
u为满足u≤s的正整数;以及
ceiling(b)表示等于或大于实数b的最小整数,
则s和l分别由下面的算式(4)和算式(5)来表示;
所述回溯电路通过花费等于1个时钟的时间执行一次(T+skx)时间的回溯处理操作,由此输出skx位的解码结果。
6.根据权利要求5所述的解码装置,其中,构成所述路径存储器的RAM的深度a由算式(6)表示,其中,RAM代表随机存取存储器;
7.根据权利要求1所述的解码装置,其中,如果r=2或者所述回溯电路的数目为2,则所述路径存储器由具有两个读端口的双端口RAM构成。
8.根据权利要求1所述的解码装置,其中,所述路径存储器由RAM构成,所述RAM在写被执行后马上执行从读端口将刚刚写入的写信息输出的操作。
9.根据权利要求1所述的解码装置,其中,m的值由m的最大值mfc进行限制,并且,对于k和r的值,使用满足m≤mfc的值。
10.根据权利要求1所述的解码装置,其中,对于k和r的值,使用使所述移位寄存器的电路规模和所述路径存储器中使用的RAM的电路规模之和最小的值。
11.根据权利要求10所述的解码装置,其中,对于k和r的值,使用使所述移位寄存器的电路规模、所述路径存储器中使用的RAM的电路规模和设置在包括所述回溯电路的模块中用于保持从所述路径存储器读取的信息的触发器的电路规模之和最小的值。
12.根据权利要求1所述的解码装置,其中,所述移位寄存器为k级预回溯电路。
13.一种解码方法,包括如下步骤:
设N和x均为正整数,k为等于或大于1的正整数,
通过k级移位寄存器积累k个输入的路径选择信息,所述路径选择信息是关于在状态数为N的卷积码的每个瞬态中由基数-2x构成的xN位残存路径的信息;
通过具有一个存储块的路径存储器在一个地址处存储在所述移位寄存器中积累的所述k个输入的路径选择信息;以及
通过回溯电路,利用从所述路径存储器读取的所述路径选择信息在一个时钟中回溯m=rkx时间的路径,其中t是kx的约数且r为2或1/t。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-050200 | 2009-03-04 | ||
JP2009050200A JP2010206570A (ja) | 2009-03-04 | 2009-03-04 | 復号装置、復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101826879A true CN101826879A (zh) | 2010-09-08 |
CN101826879B CN101826879B (zh) | 2013-03-27 |
Family
ID=42679324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010124829.4A Expired - Fee Related CN101826879B (zh) | 2009-03-04 | 2010-02-26 | 解码装置和解码方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100229076A1 (zh) |
JP (1) | JP2010206570A (zh) |
CN (1) | CN101826879B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9705531B2 (en) | 2015-02-18 | 2017-07-11 | eTopus Technology Inc. | Multi mode viterbi decoder |
US10523367B2 (en) | 2017-08-18 | 2019-12-31 | Samsung Electronics Co., Ltd. | Efficient survivor memory architecture for successive cancellation list decoding of channel polarization codes |
TWI729755B (zh) * | 2020-04-01 | 2021-06-01 | 智原科技股份有限公司 | 接收器與應用在接收器中的交織碼調變解碼器及相關的解碼方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324226B1 (en) * | 1999-11-22 | 2001-11-27 | Matsushita Electric Industrial Co., Ltd. | Viterbi decoder |
CN1671058A (zh) * | 2004-03-16 | 2005-09-21 | 北京中电华大电子设计有限责任公司 | 基于Viterbi译码的多路并行循环块回溯技术 |
CN1787386A (zh) * | 2004-12-08 | 2006-06-14 | 中兴通讯股份有限公司 | 一种维特比译码器路径度量存储的方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0951278A (ja) * | 1995-08-08 | 1997-02-18 | Toshiba Corp | ビタビ復号器 |
JP2996615B2 (ja) * | 1996-01-08 | 2000-01-11 | 松下電器産業株式会社 | ビタビ復号装置及びその方法 |
KR100212836B1 (ko) * | 1996-06-14 | 1999-08-02 | 전주범 | 비터비 디코더의 트레이스백 진행 구조 |
JP3747604B2 (ja) * | 1997-12-19 | 2006-02-22 | ソニー株式会社 | ビタビ復号装置 |
JPH11186915A (ja) * | 1997-12-22 | 1999-07-09 | Sony Corp | ビタビ復号装置 |
KR100249046B1 (ko) * | 1998-03-31 | 2000-03-15 | 김영환 | 격자복호기의 역추적장치 |
JP4331371B2 (ja) * | 1999-01-29 | 2009-09-16 | テキサス インスツルメンツ インコーポレイテツド | 無線応用のためのフレキシブルなビタビ・デコーダ |
US6601215B1 (en) * | 2000-02-01 | 2003-07-29 | Agere Systems Inc. | Traceback buffer management for VLSI Viterbi decoders |
US6591395B1 (en) * | 2000-06-18 | 2003-07-08 | Silicon Integrated Systems Corporation | Memory reduction techniques in a viterbi decoder |
KR100605359B1 (ko) * | 2000-11-01 | 2006-07-28 | 삼성전자주식회사 | 광디스크용 고배속 비터비 검출기 |
US6712880B2 (en) * | 2001-03-01 | 2004-03-30 | Abb Lummus Global, Inc. | Cryogenic process utilizing high pressure absorber column |
JP2003258650A (ja) * | 2002-03-06 | 2003-09-12 | Hitachi Kokusai Electric Inc | 最尤復号器 |
JP4600183B2 (ja) * | 2005-06-28 | 2010-12-15 | ソニー株式会社 | ビタビ復号装置 |
JP4806642B2 (ja) * | 2007-02-27 | 2011-11-02 | ルネサスエレクトロニクス株式会社 | ビタビ復号システムおよびビタビ復号方法 |
-
2009
- 2009-03-04 JP JP2009050200A patent/JP2010206570A/ja active Pending
-
2010
- 2010-02-03 US US12/699,604 patent/US20100229076A1/en not_active Abandoned
- 2010-02-26 CN CN201010124829.4A patent/CN101826879B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324226B1 (en) * | 1999-11-22 | 2001-11-27 | Matsushita Electric Industrial Co., Ltd. | Viterbi decoder |
CN1671058A (zh) * | 2004-03-16 | 2005-09-21 | 北京中电华大电子设计有限责任公司 | 基于Viterbi译码的多路并行循环块回溯技术 |
CN1787386A (zh) * | 2004-12-08 | 2006-06-14 | 中兴通讯股份有限公司 | 一种维特比译码器路径度量存储的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100229076A1 (en) | 2010-09-09 |
JP2010206570A (ja) | 2010-09-16 |
CN101826879B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5471500A (en) | Soft symbol decoding | |
CN102694625B (zh) | 一种循环冗余校验辅助的极化码译码方法 | |
KR100538730B1 (ko) | 비터비디코딩장치및비터비디코딩방법 | |
US7917835B2 (en) | Memory system and method for use in trellis-based decoding | |
CN101018103B (zh) | 处理单元和处理方法 | |
CN100517984C (zh) | 用于移动通信系统的维特比/涡轮联合译码器 | |
CN104079382A (zh) | 一种基于概率计算的极化码译码器和极化码译码方法 | |
CN1162873A (zh) | 维特比译码器 | |
CN101997553A (zh) | 一种卷积码译码方法及装置 | |
EP1232619A1 (en) | Method for implementing shared channel decoder for onboard processing satellites | |
US20050157823A1 (en) | Technique for improving viterbi decoder performance | |
US7277507B2 (en) | Viterbi decoder | |
CN101826879B (zh) | 解码装置和解码方法 | |
CN100413217C (zh) | 一种维特比译码器及用于维特比译码器的加比选单元电路 | |
Collins | The subtleties and intricacies of building a constraint length 15 convolutional decoder | |
US6594795B1 (en) | Viterbi decoder using a reverse trellis diagram | |
KR100437697B1 (ko) | 다수준 격자부호변조방식의 복호 방법 및 장치 | |
CN113055029B (zh) | 一种可复用资源的系统极化码编译码一体化装置及编译码方法 | |
CN101027843B (zh) | 用于维特比追溯的分布式环形控制电路 | |
US5878060A (en) | Viterbi decoding apparatus and viterbe decoding method | |
CN100505557C (zh) | 基于Viterbi译码的多路并行循环块回溯方法 | |
US20030204809A1 (en) | Multi-resolution viterbi decoding technique | |
CN101106385A (zh) | 一种维特比译码装置及方法 | |
US20070230606A1 (en) | Viterbi traceback | |
US6578119B2 (en) | Method and device for memory management in digital data transfer |
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: 20130327 Termination date: 20140226 |