CN1988391A - 运算电路 - Google Patents

运算电路 Download PDF

Info

Publication number
CN1988391A
CN1988391A CNA2006101690527A CN200610169052A CN1988391A CN 1988391 A CN1988391 A CN 1988391A CN A2006101690527 A CNA2006101690527 A CN A2006101690527A CN 200610169052 A CN200610169052 A CN 200610169052A CN 1988391 A CN1988391 A CN 1988391A
Authority
CN
China
Prior art keywords
output
circuit
value
bit
bit group
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
Application number
CNA2006101690527A
Other languages
English (en)
Other versions
CN1988391B (zh
Inventor
织尾正雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of CN1988391A publication Critical patent/CN1988391A/zh
Application granted granted Critical
Publication of CN1988391B publication Critical patent/CN1988391B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/46Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/4833Logarithmic number system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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/3911Correction factor, e.g. approximations of the exp(1+x) function
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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/3922Add-Compare-Select [ACS] operation in forward or backward recursions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Nonlinear Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种运算电路,包括:NOR电路,用于从包含由多个比特组成的路径度量值的0个或多个高位比特的第一比特组x(6)~x(10)的所有比特中输出1比特反相逻辑OR sf;反相器,用于将第二比特组x(2)~x(5)的每个比特反相,并且输出第三比特组rs(0)~rs(3);AND电路,用于输出第四比特组ns(0)~ns(3),其包含计算sf同rs(0)~rs(3)的逻辑AND的结果;和CF输出部分,用于基于ns(0)~ns(3)输出修正因子CF。

Description

运算电路
技术领域
本发明涉及一种运算电路,用于基于Log-MAP算法修正通过Max-Log-MAP算法计算的近似值。
背景技术
在数字通信系统中,使用用于修正传输线中出现的错误的纠错码。特别地,在移动通信系统中,其中无线电场强度由于衰落而剧烈变化,并且由此可能出现错误,对于纠错码需要高的修正能力。turbo码,其是纠错码的一个示例,作为具有接近于Shannon限制并且在例如作为第三代移动通信系统的W-CDMA(宽带码分多址)或CDMA-2000中使用的具有纠错能力的码,是引人注目的。这在例如,日本未经审查专利申请公开No.2004-80508、2004-194326、2002-344330、2002-100995和A.Taffin的“Generalized stopping criterion for iterative decoders”IEEEElectronics Letters,2003年6月26日,卷39,No.13中公开。
图15是示出用于生成turbo码的典型编码装置结构的框图。该编码装置101例如可以被设置在通信系统的发送侧,以便将作为编码前数据的信息比特(系统化比特:系统化部分(Systematic Portion))U编码为作为并行级联卷积码(PCCC)的turbo码,并将turbo码输出到传输线路等的外部。turbo码不局限于并行级联卷积码,并且可以是能够被turbo解码的任何代码,例如,串行级联卷积码。
如图15所示,编码装置101包括作为系统化卷积编码器的第一编码器102和第二编码器103、以及对数据进行交织(即,重新排列)的交织器104。
第一编码器102对输入的系统化部分U进行编码,以生成冗余位(下文中称为“奇偶校验位”)P1,并将该奇偶校验位P1输出到外部。交织器104将该输入的系统化部分U的每一个比特重新排列为指定的交织码型,以生成系统化部分Uint,并将所生成的系统化部分Uint输出到第二编码器103。第二编码器103对系统化部分Uint进行编码,以生成奇偶校验位P2,并将该奇偶校验位P2输出到外部。
简而言之,编码装置101生成系统化部分U、奇偶校验位P1、系统化部分Uint、和奇偶校验位P2。一对系统化部分U和奇偶校验位P1(U,P)被称为第一基本码(Elemental Code)E,一对系统化部分Uint和奇偶校验位P2(Uint,P2)被称为第二基本码Eint
turbo解码具有两个特征,(1)使用多个具有相对简单和小的结构的系统编码器,和(2)每个编码器通过交织器(重新排列元件)联接到作为针对编码器的输入的信息比特。
特征(2)目的在于,通过将具有重新排列的序列的信息比特输入到编码器,在不同的编码器中生成不同的码字序列。因此在解码侧中的码字之间,每个码字的解码结果是补足的,由此提高了纠错能力。
特征(1)目的在于,使用信息比特用于码字之间的解码结果的互补。例如,3GPP(第三代伙伴项目)要求使用两个8状态系统化卷积编码器作为特征(1)。3GPP工作于诸如W-CDMA的第三代移动通信系统的标准化。
图15中的编码器1的输出对{U,P1}被称为第一基本码,并且另一输出对{Uint,P2}被称为第二基本码。比特Uint未实际输出,并且三个比特U、P1和P2输出到后继级。尽管终止比特实际上同时输出,但是为了简化描述,将其忽略。出于该原因,由3GPP标准定义的turbo码的编码速率是1/3。
像这样对该编码后的turbo码进行解码被称为turbo解码。在turbo解码过程中,用于对第一基本码E解码的第一解码器和用于对第二基本码Eint解码的第二解码器之间交换外部信息,同时重复执行解码。解码器的数目不局限于两个,可以根据turbo码的基本码数量使用两级或更多级的解码器。
图16示出了典型的用于turbo解码的解码设备。turbo解码具有一个特征,即(1)当在多个基本码之间交换外部信息时,迭代处理。
如图16所示,典型的解码设备201包括第一解码器202、第二解码器203、交织存储器204、解交织存储器205和硬判决/CRC判决部分206。
具有该配置的解码设备201中的turbo解码过程包括下列步骤。
(A)第二解码器203自解交织存储器205读取外部信息,并且将该外部信息和第一基本码输入到第一解码器202中。然后,自第一解码器202输出外部信息,并且将其写入到交织存储器204。
(B)第一解码器202自交织存储器204读取外部信息,并且将该外部信息和第二基本码输入到第二解码器203。然后,自第二解码器203输出外部信息,并且将其写入到交织存储器205。
(C)在解码过程的最后的迭代中,第二解码器203自解交织存储器205读取对数似然比LLR,在硬判决/CRC判决部分206中作出硬判决,并且最后由CRC执行错误检查。
在turbo解码过程中,首先执行步骤(A)。在该步骤中,来自第二解码器203的外部信息是初始值(=0)。然后,执行步骤(B),而且再次执行步骤(A)。随后,将步骤(B)和(A)迭代任意次数。在最后的迭代中,执行步骤(B)。在该步骤中,第二解码器203输出对数似然比,而非外部信息。其后,最后执行步骤(C)。
由于turbo码是系统化比特,因此信息比特U包含在接收序列中。外部信息是指出似然度为“0”(等效于似然度为“1”)的值(先验值),其是在解码之前针对信息比特U预先定义的。turbo解码是在第一和第二基本码之间交换(互补)解码时每个信息比特是“0”的概率的过程,由此提高了概率的准确性,并且增强了纠错能力。
外部信息可由软输出解码器的输出(对数似然比LLR)生成。存在两种类型的软输出生成:MAP和SOVA。MAP算法通常是更广泛使用的,这是因为其较高的纠错能力。MAP、Log-MAP和Max-Log-MAP主要被称为MAP算法。
在描述MAP、Log-MAP和Max-Log-MAP之前,下面描述了对数似然比LLR。类似于外部信息,对数似然比LLR也指出信息比特U的似然度“0”。尽管外部信息是先验值,但是对数似然比LLR被称为后验值,对数似然比由下式1表示:
对数似然比: L ( u k ) = log ( P ( u k = + 1 | y ) P ( u k = - 1 | y ) ) - - - ( 1 )
其中
P()表示概率,
uk表示第k个信息比特,
y表示接收序列,
P(uk=+1|y)表示当接收到接收序列y时第k个信息是+1(=“0”)的概率,并且
P(uk=-1|y)表示当接收到接收序列y时第k个信息是-1(=“1”)的概率。
u k ^ = sign [ L ( u k ) ] - - - ( 2 )
其中sign[]表示硬判决。
对数似然比LLR由式1表示。在该式中,“0”由+1表示,而“1”由“-1”表示。为“0”的概率和为“1”的概率的对数比用于获得似然度,其指出“0”还是“1”更有可能的。如果为“0”的概率高于为“1”的概率,则这些概率的比大于1,并且对数比大于0(正数)。另一方面,如果为“1”的概率高于为“0”的概率,则这些概率的比是小于1的小数值,并且对数比小于0(负数)。因此,为“0”或“1”的概率可以通过对数似然比的符号(正或负)确定。如果为“0”的概率和为“1”的概率相等,则它们的比是1并且对数比是0,因此不清楚哪个概率更高。
式2表示关于第k个信息比特uk的对数似然比LLR。式2中的uk是关于接收侧的第k个信息比特的估计,其是LLR(=“0”或“1”)的硬判决的结果。硬判决sign[]是调取符号二进制比特的处理,并且当该值是正的时,其指出“0”,或者当该值是负的时,其指出“1”。因此,式2表示关于第k个信息比特的LLR。
下面描述MAP、Log-MAP和Max-Log-MAP算法。
MAP(最大后验概率)算法
MAP,其代表最大后验概率,是一种用于使作为后验值的LLR(后验概率)最大的解码算法,并且还被称为后验概率最大化解码。
MAP算法使用下式3计算对数似然比L(uk),其是基于上式(1)的数个公式转换的结果。在该式中,γ表示网格的转移概率,α表示关于从起点转移到终点的每个网格状态的实现概率,而β表示反向从终点开始的实现概率。网格是时基部署的编码器的状态转移图。这被成为网格图。
对数似然比 L ( uμ k ) = log ( Σ s + α ~ k - 1 ( s ′ ) · γ k ( s ′ · s ) · β ~ k ( s ) Σ s - α ~ k - 1 ( s ′ ) · γ k ( s ′ · s ) · β ~ k ( s ) ) - - - ( 3 )
在MAP算法中,便用网格图(状态转移图)执行Viterbi解码。网格图上的每个时间点的连接每个状态的路径,对应于待解码的编码序列。计算关于可能路径的似然度(路径度量),并且具有最高似然度的路径被解码为幸存路径。
首先描述网格图。图17是示出用于输出递归卷积码的递归卷积编码器的视图。图18是示出其状态转移的示意图。
在该递归卷积编码器中,存储在D1和D2中的值,由于通过输入端INPUT提供的输入比特而变化。在递归编码器中,D2的输出被转发到输入端INPUT侧,由此实现了递归卷积编码。图18示出了D1和D2的可能的值(即,(00)、(01)、(10)和(11))。例如,在图18中,0/0表示输入比特/输出比特。D1和D2的值根据通过输入端INPUT输入的输入比特“0”或“1”转移。例如,当(D1 D2)是(00)时,如果通过输入端INPUT输入“0”,则卷积编码器通过输出端OUTPUT输出“0”。另一方面,如果输入“1”,则卷积编码器输出“1”,并且D1和D2移至状态(10)。
图19是时基部署图18的状态转移图的网格图。在图19中,实线箭头表示输入比特为“0”时的D1和D2的状态转移,并且虚线表示输入比特为“1”时的D1和D2的状态转移。水平轴表示时基,并且k-1和k表示给定正时。
在网格图上的前向方向中执行Viterbi解码由此计算路径度量的过程被称为前向过程。在与前向过程的相反方向中执行Viterbi解码由此计算路径度量的过程被称为后向过程。在前向过程中计算的路径度量值被称为α路径度量,并且在后向过程中计算的路径度量值被称为β路径度量。γ表示从正时(k-1)处的特定状态(例如,状态(11))转移到正时k处的特定状态(例如,状态(11))的概率,其被称为分支度量。值α和β表示处于正时(k-1)和k处的相关状态(例如,状态(11))的概率。由α路径度量、β路径度量和分支度量(γ)计算对数似然比LLR。
图20是描述使用网格图计算转移概率的方法的视图。下面将关于值α和β的计算公式示为式4和5。如上文所述,值γ表示网格上的特定时间点的每个状态中的转移概率。由下式4表示的值α,表示在前向方向(即在网格图上从起点到终点的方向)中针对每个状态的实现概率,并且其是前向方向中的γ的和。由下式5表示的值β,是后向方向(即从终点到起点的方向)中的γ的和。
实现概率: α ~ k ( s ) = Σ x ′ ∈ s α ~ k - 1 ( s ′ ) · γ k ( s ′ , S ) - - - ( 4 )
实现概率: β ~ k - 1 ( s ′ ) = Σ x ′ ∈ s α ~ k - 1 ( s ) · γ k ( s ′ , S ) - - - ( 5 )
例如,如果αk(00)表示正时k处的状态(00)(其在下文中被称为状态(00)k)中存在的前向方向中的实现概率,则αk(00)是αk-1(00)与从状态(00)k-1中的实现概率αk-1(00)到状态(00)k的转移概率γk(00,00)的积同状态(01)k-1中的实现概率αk-1(01)与从状态(00)k-1到状态(00)k的转移概率γk(01,00)的积的和,如图20和式4所示。
而且,如果βk-1(00)表示正时k-1处的状态(00)(其在下文中被称为状态(00)k-1)中存在的后向方向中的实现概率,则βk-1(00)是βk-1(00)与从状态(00)k-1中的实现概率βk-1(00)到状态(00)k的转移概率γk(00,00)的积同状态(01)k-1中的实现概率βk-1(01)与从状态(00)k-1到状态(10)k的转移概率γk(00,10)的积的和,如图20和式5所示。
在式4和5中,α(s)和β(s)表示当前状态s和前一状态s′中的路径度量,并且γ(s′,s)表示从s′到s的状态转移的概率。
图21是描述由值α、β和γ计算对数似然比LLR的方法的视图。如图21中所示,前向方向中的实现概率α、后向方向中的实现概率β和状态之间的转移概率γ的相乘,给出了考虑到网格上的所有时间点的相关时间点处的转移概率。对应于输入“0”的转移概率的积是δ0,并且对应于输入“1”的转移概率的积是δ1。δ0和δ1的对数比,即log(δ0/δ1),是由上式3表示的对数似然比LLR。
对数似然比和外部信息满足下式6。具体地,turbo解码过程通过从表示对数似然比LLR的式6两侧减去内信息,计算外部信息。
对数似然比: L ( u k ) = L c y k 5 + L e ( u k ) + log ( Σ S + α ~ k - 1 ( S ′ ) · γ k e ( S ′ · S ) · β ~ k ( S ) Σ S - α ~ k - 1 ( S ′ ) · γ k e ( S ′ · S ) · β ~ k ( S ) ) - - - ( 6 )
其中
Lc表示由传输线确定的常数,
yk s表示系统化部分,
Le(uk)表示前一外部信息(先验信息),
Lcyk s+Le(uk)表示内信息,并且
log ( Σ s + α ~ k - 1 ( s ′ ) · γ k e ( s ′ · s ) · β ~ k ( s ) Σ s - α ~ k - 1 ( s ′ ) · γ k e ( s ′ · s ) · β ~ k ( s ) ) 表示外部信息。
Log-MAP算法
下面描述Log-MAP算法。如上文所述,MAP算法计算概率的积,并且因此其需要乘发器,其引起了电路尺寸的显著增加。因此,在实际的应用中,使用Log-MAP或者MAX-Log-MAP算法,其在对数域中近似或者简化MAP算法中的概率计算。下式7~11中示出了近似式。
A k ( s ) = log α ~ k ( s ) - - - ( 7 )
B k ( s ) = log β ~ k ( s ) - - - ( 8 )
Γ k ( s ′ , s ) = log γ ~ k ( s ′ , s ) - - - ( 9 )
A k ( s ) = log ( Σ x ′ exp ( A k - 1 ( s ′ ) + Γ k ( s ′ , s ) ) ) - - - ( 10 )
B k - 1 ( s ) = log ( Σ x exp ( B k ( s ) + Γ k ( s ′ , s ) ) ) - - - ( 11 )
如式7~9所示,值α、γ和β分别通过对数近似,并且被定义为A、Γ和B,由此给出了式10和11,其是式4和5的变形版本。然而,式10和11包含这样的项,即将括号exp.内部的计算替换为Ai,导致了下面的式12,其提出了实际应用中的问题。因此,将式12进一步分解为下面的式13。
log [ Σ i exp ( A i ) ] - - - ( 12 )
log [ Σ i exp ( A i ) ] = A M + log ( 1 + Σ A i ≠ A M exp ( - | A i - A M | ) ) - - - ( 13 )
A M = max i A i
在上式中,值i表示转移到特定状态的路径数目。在图20的示例中,在前向方向中转移到状态(00)k的路径数目是2,并且AM表示较大的一个路径。实际上,基于式13执行计算。这是Log-MAP算法。特别地,一种典型的技术通过将式13右侧的第二项设为log(1+e-x),实现了利用LUT的解码。还已知一种利用固定值或-ax+b进行进一步的近似的技术。特别地,添加log(1+e-x)的操作有时被称为Log-sum。第二项中的项|Ai-AM|被称为路径度量值。
MAX-Log-MAP算法
MAX-Log-MAP算法是一种进一步近似由上面的式10和11表示的Log-MAP算法的技术。近似式如下式14和15所示。具体地,在MAX-Log-MAP算法中,从上式10和11中消除了Log-sum项。项max()是用于选择最大值的操作,其等效于Viterbi算法中的ACS(加比选)操作。因此,这是具有最低成本的简单方法,其使得能够使用Viterbi算法执行概率计算。
A k ( s ) = log ( Σ s ′ e x p { A k - 1 ( s ′ ) + Γ k ( s ′ , S ) } ) - - - ( 14 )
≈ max i ( A k - 1 ( s ′ ) + Γ k ( s ′ , s ) )
B k - 1 ( s ) = log ( Σ s ′ exp { B k ( s ) + Γ k ( s ′ , S ) } ) - - - ( 15 )
≈ max i ( B k ( s ) + Γ k ( s ′ , s )
如上文所述,Log-MAP算法中的概率计算等效于利用Log-sum(在下文中被称为Jacobian修正因子)修正Viterbi算法中的ACS操作。图22示意性地示出了用于使用Log-MAP算法执行概率计算的电路。如图22所示,用于执行式13表示的计算的电路301包括,ACS电路302,其比较输入值,以选择和输出较大的输入值,和Log-Sum电路303,其获得Jacobian修正因子并且计算同ACS电路302的操作结果的和。
ACS电路302调取两个Ai,其在下文中被称为输入I1和输入I2。ACS电路302包括,使输入I1和输入I2的反相值相加的加法器311、选择器312和绝对值电路313。加法器311使输入I1和输入I2的反相值相加,根据结果是正的还是负的确定输入I1和I2的哪个值是较大的,并且将确定结果提供给选择器312。根据确定结果,选择器312选择并且输出输入I1和I2中的较大的一个(=AM)。绝对值电路313输出加法器311的结果的绝对值,其是输入I1和I2之间的差。该值是上式13中的路径度量值|Ai-AM|。
Log-Sum电路303基于上面的值计算log(1+e^(-|Ai-AM|))。可以使用利用固定值或者-ax+b的近似式,或者使用利用log(1+e-x)的LUT,执行修正因子的计算。随后,加法器321使获得的结果同来自ACS电路302的输出AM相加,并且输出结果s。
然而,上文的技术需要实现LUT或者实现用于近似式中包含的乘法和加法的电路,其引起了电路尺寸和数据路径延迟的增加。如果可以使用仅具有x的比特操作的简单电路,而非实现LUT或者乘法/加法电路,计算Log-sum修正因子,则将能够提供具有较小的电路和较少的延迟的解码设备。
发明内容
根据本发明的一个方面,提供了一种用于基于Log-MAP算法修正通过Max-Log-MAP算法计算的近似值的运算电路,其包括:第一逻辑电路,其从由多个比特组成的路径度量值的包含1个或多个高位比特的第一比特组的所有比特中输出1比特反相逻辑OR;第二逻辑电路,其将由多个比特组成的路径度量值中排除第一比特组以外剩余部分的包含1个或多个高位比特的第二比特组的每个比特反相,并且输出第三比特组;第三逻辑电路,其输出包含计算第一逻辑电路的输出和第三比特组的每个比特的逻辑AND的结果的第四比特组;和修正因子输出部分,其基于第四比特组输出修正因子。
本发明的该方面通过路径度量值的比特操作获得了Log-MAP算法中的修正因子(路径度量差:PMD),由此减小了电路尺寸并且抑制了数据路径延迟。
根据本发明的另一方面,提供了一种用于基于Log-MAP算法修正通过Max-Log-MAP算法计算的近似值的运算电路,包括最大值输出电路,其输出Max-Log-MAP算法中的最大值;和修正电路,其修正最大值。修正电路包括,掩码值生成器,其基于由多个比特组成的路径度量值计算掩码值;掩码处理器,其基于掩码值针对路径度量值执行掩码处理;和逻辑电路,其计算最大值和掩码处理器的输出的逻辑OR。
本发明的该方面通过利用路径度量值的比特操作计算掩码值,并且通过掩码处理,执行Log-MAP算法中的修正因子的加法,由此减小了电路尺寸并且抑制了数据路径延迟。
本发明在用于基于Log-MAP算法修正通过Max-Log-MAP算法计算的近似值的运算电路中实现了电路尺寸减小和数据路径延迟抑制。
附图说明
通过下面的描述,结合附图,本发明的上文的和其他的目的、优点和特征将变得更加显而易见,在附图中:
图1是示出根据本发明的第一实施例的运算电路的视图;
图2是示出根据本发明的第一实施例的运算电路的详细示例的电路图;
图3是示出根据本发明的第一实施例,在修正电路中获得的CF输出部分的输出CF的曲线图;
图4是示出相互比较的CF(修正曲线)和真实Jacobian修正因子(理想曲线)的视图;
图5是示出当CF固定且最大值AM可变时的修正电路的输出的曲线图;
图6是示出当CF可变且最大值AM固定时的修正电路的输出的曲线图;
图7是示出根据本发明的第二实施例的运算电路的视图;
图8是示出根据本发明的第二实施例的运算电路的详细示例的电路图;
图9是示出根据本发明的第二实施例,在修正电路中获得的CF输出部分的输出CF的曲线图;
图10是分别示出当不进行修正(AM的值)时和当CF输出=2和4时的修正电路的输出的曲线图;
图11是分别示出当AM=0时的修正电路的输出和当AM=2和341时的同CF输出取逻辑OR的输出的曲线图;
图12是示出当使用传统的技术(Max-Log-MAP)和使用Log-sum-MAP(通过使用LUT)时的对结果进行比较的根据第一和第二实施例的运算电路中的计算结果的曲线图;
图13是示出了本发明的关于电路尺寸的效果的视图;
图14是示出了本发明的关于数据延迟率的效果的视图;
图15是示出用于生成turbo码的典型的编码装置的视图;
图16是示出用于turbo解码的典型的解码设备的视图;
图17是示出用于输出递归卷积码的递归卷积编码器的视图;
图18是示出图17中所示的递归卷积码的状态转移的示意图;
图19是示出网格图的视图;
图20是用于描述使用网格图获得转移概率的方法的视图;
图21是用于描述由概率α、β和γ计算对数似然比LLR的方法的视图;并且
图22是示出用于传统Log-MAP算法中的概率计算的示意图。
具体实施方式
现将通过参考说明性实施例描述本发明。本领域的技术人员应当认识到,使用本发明的教授内容可以实现许多可替换的实施例,并且本发明不限于出于解释性目的而说明的实施例。
此处通过参考附图描述了本发明的示例性实施例。根据本发明的实施例的运算电路在turbo解码设备中的用于计算外部信息或对数似然比的软输出解码部分中使用。该运算电路计算用于修正在Max-Log-MAP算法中获得的近似值的Log-MAP算法中的Jacobian修正因子,或者修正在Max-Log-MAP算法中获得的近似值。
第一实施例
图1是示出根据本发明的第一实施例的运算电路的视图。该实施例的运算电路可被布置在用于对上文所述的如图16所示的turbo码解码的解码设备201的解码器202和203中。解码器202和203计算如下式16所表示的对数似然比。
对数似然比: L ( u k ) = L c y k s + L e ( u k ) + log ( Σ s + α ~ k - 1 ( s ′ ) · γ k e ( s ′ · s ) · β ~ k ( s ) Σ s - α ~ k - 1 ( s ′ ) · γ k e ( s ′ · s ) · β ~ k ( s ) ) - - - ( 16 )
其中
Lc表示由传输线确定的常数,
yk s表示系统化部分,
Le(uk)表示前一外部信息(先验信息),
Lcyk s+Le(uk)表示内信息,并且
log ( Σ s + α ~ k - 1 ( s ′ ) · γ k e ( s ′ · s ) · β ~ k ( s ) Σ s - α ~ k - 1 ( s ′ ) · γ k e ( s ′ s ) · β ~ k ( s ) ) 表示外部信息。
外部信息通过对数似然比计算,并且在解码器202和203之间交换用于迭代操作,由此对接收数据解码。为了获得对数似然比,获得了式19和20,其是通过式17和18近似的。根据该实施例的运算电路是用于获得式19和20的电路。
A k ( s ) = log α ~ k ( s ) - - - ( 17 )
B k ( s ) = log β ~ k ( s ) - - - ( 18 )
A k ( s ) = log ( Σ x ′ exp ( A k - 1 ( s ′ ) + Γ k ( s ′ , s ) ) ) - - - ( 19 )
B k - 1 ( s ) = log ( Σ x exp ( B k ( s ) + Γ k ( s ′ , s ) ) ) - - - ( 20 )
例如,式19可被近似为下式21。
A k ( s ) = log ( Σ x ′ exp ( A k - 1 ( s ′ ) + Γ k ( s ′ , s ) ) ) = log [ Σ i exp ( A i ) ]
= A M + log ( 1 + Σ A i ≠ A M exp ( - | A i - A M | ) ) - - - ( 21 )
A M = max i A i
具体地,运算电路1接收Ai,其是网格上的一个时间点处的实现概率的对数近似值,并且获得Ak(s)或者Bk-1(s)。尽管在该示例中输入Ai被描述为A1(=I1)和A2(=I2),但是其可以是两个或多个值。
运算电路1包括ACS电路2和修正电路3。ACS电路2从输入I1和I2中确定最大值AM。修正电路3自ACS电路2接收路径度量值|Ai-AM|。然后修正电路3由路径度量值获得Jacobian修正因子,并且使该修正因子同最大值AM相加,由此修正最大值AM。最大值AM是通过Max-Log-MAP算法计算的近似值(最大值)。修正电路3将获得的修正因子与通过ACS电路2获得的最大值AM相加,并且输出如式19或20表示的Ak(s)或Bk-1(s)。
ACS电路2包括加法器11、选择器12和绝对值电路13。加法器11接收输入I2的反相输入和输入I1,并且根据它们的量值关系输出进位输出。具体地,如果I1<I2,则I1和I2之间的差是负的(-),并且进位输出被输出到选择器12。选择器12也接收输入I1和I2,并且基于进位输出选择并输出较大的值。输出值对应于式19中的值AM。加法器11的输出是I1-I2,它被提供给绝对值电路13,并且绝对值|I1-I2|(=|Ai-AM|)被提供给修正电路3。
尽管在该实施例中11比特的数据被提供作为I1和I2,但是数据不限于11比特,并且其可以是较小的或较大的比特。在下面的描述中,从MSB开始,每个比特由x(10)、x(9)、…、x(0)表示,并且被表达为第一比特x(0)、第二比特x(1)等等。尽管在该实施例中输入被描述为两个输入I1和I2,但是输入可以是三个或更多个。
修正电路3包括作为第一逻辑电路的NOR电路21、作为第二逻辑电路的反相器22、作为第三逻辑电路的AND电路23、作为修正因子输出部分的CF输出部分24、和加法器25。在该实施例中,NOR电路21输出1比特反相逻辑OR,其是由作为11比特输入数据的第一比特组的所有5个高位比特(x(10)~x(6))计算的。反相器22使作为第二比特组的第三比特x(2)到第六比特x(5)中的每个比特反相,并且将其输出作为第三比特组。AND电路23计算来自NOR电路21的输出与来自每个反相器22的输出的逻辑AND,并且将结果输出作为第四比特组。然后,CF输出部分24将总共11个比特的修正比特CF(0)~CF(10)(修正值CF),其由来自AND电路23的4个输出比特的4个低位比特和0数据的7个高位比特组成,提供给加法器25。加法器25接收来自ACS电路2的最大值AM,使最大值AM与修正值CF相加,并且将结果输出,作为对数似然比LLR(s)。
图2示出了图1所示的运算电路的细节。在修正电路3中,输入|I1-I2|(路径度量值=|Ai-AM|)的比特宽度是w,输入的每个比特是x(j)(0≤j≤w-1),输入到NOR电路21的比特组的比特宽度是a(1≤a≤w-1),而输入到反相器22的比特组的比特宽度是b(1≤b≤w-a-1),并且用于定义自AND电路23和CF输出部分24输出的比特组之间的关系的参数是c(-(w-1)≤c≤w-1)。来自NOR电路21的输出sf、来自每个反相器22a~22d的输出比特rs(i)、由每个AND电路23a~23d的输出比特表示的值ns、和自CF输出部分24输出的值CF,分别满足下式22~25。
sf = | Π k = w - a w - 1 { x ( k ) - 1 } | - - - ( 22 )
rs(i)=|x(w-a-b+i)-1|i=0,...,b-1  (23)
ns=rs×sf                           (24)
CF=ns×2c                           (25)
在该实施例中,作为示例描述了其中a=5、b=4和c=0的情况。如后面所描述的,改变a、b和c使得能够获得所需的修正值CF。如图2中所示,在修正电路3中,NOR电路21计算x(6)~x(10)的反相逻辑OR。反相器22包括反相器22a~22d,其分别输出x(5)~x(2)的反相值作为rs(3)~rs(0)。AND电路23包括AND电路23a~23d,其分别输出反相逻辑OR sf与rs(3)~rs(0)的逻辑AND,作为ns(3)~ns(0)。CF输出部分24输出来自CF(0)~CF(10)的11比特。由于后面描述的参数c在该实施例中是0,CF输出部分24输出CF(0)~CF(3),作为ns(0)~ns(3)。高于CF(4)的高位比特全是0。输出CF在加法器25中与来自选择器12的输出AM相加,由此获得输出s。
下文详细地描述了上式22~25中的参数a、b和c。图3是示出在修正电路3中获得的CF输出部分24的输出CF的曲线图。图3示出了当改变参数a、b和c时CF输出部分24的输出结果CF(其在下文中被称为修正曲线)。在图3中,修正曲线L1~L4将参数x、y和z的值表示为cf_x_y_z。参数a=w-x、参数b=z,并且参数c=2-log2(y)。通常,修正曲线是台阶状曲线。在图2所示的第一实施例中,w=11、a=5、b=4和c=0,因此(x,y,z)=(w-a,22-c,b)=(6,4,4),其呈现出图3中的修正曲线L1。如果改变输入到NOR电路21的比特数目a,即参数x,则CF输出部分24的输出是使得台阶的大小指数改变,如L1和L2所指出的。具体地,参数x=6时的台阶的整体宽度和高度约4倍大于参数x=4时的台阶的整体宽度和高度。
rs(i)表示用于使图3中示出的修正线的斜率为负的操作,其从最低有效比特执行到低于用于sf的高位比特的给定比特x。如果改变用于获得rs(i)的比特数目b,即参数z,则每个台阶的宽度(分辨率)改变,如L1和L4所指出的。宽度(准确性)对应于z=4的L1中的4个比特,和z=2的L4中的2个比特。
AND电路23的输出值ns是用于在图3中x是特定值或更高时将输出ns设为0的操作。在图3中,如果x的值是60或更高时,输出变为全0。如果改变用于确定AND电路23的输出比特ns(0)~ns(3)对应于CF(j)的哪个比特的参数c,即参数y,则当台阶的数目保持不变时,台阶的高度改变,如L1和L3所示。y=4处的高度是1,并且y=2处的高度是2。
在该示例中,c=0,并且ns(0)~ns(3)分别对应于CF(0)~CF(3)。例如,如果c=2,则ns(0)~ns(3)=CF(2)~CF(5),并且如果c=-2,则ns(2)~ns(3)=CF(0)~CF(1)。参数c表示ns(i)离开最低有效比特CF(0)的偏移量。不与任何ns比特对应的CF的值全部被设为0。
可以根据待要获得的修正线的形状任意地设定参数a、b和c。例如,增加台阶状修正线的分辨率(台阶数目)实现了对log(1+e^(-x))的近似。如果在使用LUT的级中进行修正,则由于台阶的数目较大,该实施例的运算电路在电路尺寸方面变得比LUT更加有利。这是因为,在LUT中,随着台阶数目变大,用于存储表格的存储器容量增加,并且用于比较和选择适当的范围的选择器的电路尺寸也相应增加。
这样,通过改变参数a、b和c,即(x,y,z)=(w-a,22-c,b),可以按照需要改变修正曲线的形状。由于CF输出部分24的输出CF是将与值AM相加的Jacobian修正因子,因此优选的是,适当地选择参数a、b和c使其接近于表示真实的Jacobian修正因子的线。
图4是示出相互比较的CF(修正曲线)L12和真实Jacobian修正因子(理想曲线)L11的视图。如果参数a、b和c是适当的值,则可以获得基本上沿理想曲线L11的CF(修正曲线)L12。图4还示出了比特宽度w=9时的修正曲线L14和理想曲线L13。
图2中所示的加法器25的输出是如图3和4中所示的CF值与最大值AM的和。图5是示出当CF是固定值并且最大值AM是可变值时的修正电路3的输出s的曲线图。图6是示出当CF是可变值并且最大值AM是固定值时的修正电路3的输出s的曲线图。
在图5中,曲线L21表示未进行修正时的修正电路3的输出s,并且曲线L22和L23分别表示CF=3和15时的输出s。在图6中,曲线L31表示最大值AM=0时的修正电路3的输出s,并且曲线L32和L33分别表示最大值AM=3和15时的输出s。实际上,CF和最大值AM均改变,并且因此修正电路3的输出s是与其组合三维变化的值。
尽管在该实施例中描述了计算输入I1和I2的最大值并且使修正因子与之相加的运算电路,但是可以计算输入I1和I2的最小值并且从中减去修正因子。在该情况中,CF值中的除了对应于ns比特以外的所有比特被设为“1”,并且加法器25的一个输入变为修正电路3中的反相输入。
在该实施例中,通过适当地设定针对NOR电路21的输入比特宽度a、由反相器22反相的比特宽度b、和用于确定ns(0)~ns(3)同CF(0)~CF(10)的连接的参数c,可以仅通过比特操作获得Jacobian修正因子log(1+e^(-x))的适当的值,由此使得能够在不增加电路尺寸的前提下准确地获得Ak(s)和Bk-1(s)。
第二实施例
下面描述本发明的第二实施例。根据第一实施例,运算电路计算和加入修正因子,并且修正电路包括加法器。另一方面,该实施例的运算电路提供了电路尺寸的进一步减小。
图7示出了根据第二实施例的运算电路,并且图8示出了运算电路的细节。在图7和8中示出的第二实施例中,与第一实施例相同的元件由相同的参考符号表示,并且在此处不再描述。
如图7所示,该实施例的修正电路33包括掩码值生成器41、作为掩码处理器的CF输出部分42、和OR电路43。掩码值生成器41确定来自ACS电路2输出的数个低位比特,以用作掩码值。CF输出部分42基于来自掩码值生成器41的输出执行掩码处理,并且输出修正值CF(0)~CF(10)。OR电路43计算修正值CF(0)~CF(10)同来自ACS电路2的输出的逻辑OR。
如图8所示,掩码值生成器41包括作为第一逻辑电路的NOR电路50a、作为第二逻辑电路的逻辑电路50b、和作为第三逻辑电路的AND电路50c。
NOR电路50a计算具有比特宽度a的比特组(第一比特组)反相逻辑OR sf。在该示例中,比特宽度a=4,并且输入比特的四个高位比特(x(7)~x(10))用于计算反相逻辑OR sf。
逻辑电路50b基于具有比特宽度b的比特组计算作为第三比特组的rs(0)~rs(6)。在该示例中,比特宽度b=3,并且三个比特(x(4)~x(6))用于计算第三比特组rs(0)~rs(6)。
如果x(6)~x(4)=y(2)~y(0),则逻辑电路50b包括用于计算y(0)和y(1)的逻辑AND的AND电路53,和用于计算y(0)和y(1)的逻辑OR的OR电路52。逻辑电路50b进一步包括NOR电路54~56、反相器57、以及反相AND电路58~60。NOR电路54计算y(2)同OR电路52的输出的逻辑NOR,并且输出rs(6)。NOR电路55计算y(2)和y(1)的逻辑NOR,并且输出rs(5)。NOR电路56计算y(2)同AND电路53的输出的逻辑NOR,并且输出rs(4)。反相器57计算y(2)的反相值,并且输出rs(3)。反相AND电路58计算y(2)同OR电路52的输出的逻辑AND,并且输出rs(2)。反相AND电路59计算y(2)同y(1)的逻辑AND,并且输出rs(1)。反相AND电路60计算y(2)和AND电路53的输出的逻辑AND,并且输出rs(0)。
AND电路50c计算sf同每个rs的逻辑AND作为掩码值。AND电路50c包括AND电路61~67。在该实施例中,AND电路61~65分别计算rs(6)~rs(2)同sf的逻辑AND,并且输出ns(4)~ns(0)。AND电路66和67在该实施例中未使用。CF输出部分42分别输出ns(4)~ns(0),作为CF(4)~CF(0)。未被提供ns比特的其他的CF均输出为0。
针对修正电路33的输入(路径度量值)的比特宽度是w,输入的每个比特是x(j)(0≤j≤w-1),输入到NOR电路50a的比特组的比特宽度是a(1≤a≤w-1),成为y(i)的比特宽度是b(1≤b≤w-a-1),并且用于定义掩码值和CF(j)之间的关系的参数是c(-(w-1)≤c≤w-1)。来自NOR电路50a的输出sf、y(i)、来自逻辑电路50b的输出值rs、掩码值ns、和CF分别满足下式26~30。
sf = | Π k = w - a w - 1 { x ( k ) - 1 } | - - - ( 26 )
y(i)=|x(w-a-b+i)-1|i=0,...,b-1  (27)
rs = 2 ( 2 b - 1 - y ) - 1 - - - ( 28 )
ns = ( rs 2 2 b - 1 - c ) × sf - - - ( 29 )
CF=ns                              (30)
下文详细地描述了上式26~30中的参数a、b和c。图9是示出在修正电路33中获得的CF输出部分42的输出CF的曲线图。图9示出了当改变参数a、b和c时的CF输出部分42的输出结果CF(修正曲线)。在图9中,如图3,修正曲线L41~L44将参数x、y和z的值表示为cf_x_y_z。参数a=w-x、参数b=z,而参数c=log2(y),并且((x,y,z)=(w-a,22-c,b)),并且修正曲线通常是台阶状曲线。如果改变参数x,即针对NOR电路50a的输入的比特宽度a,则CF输出部分42的输出是这样的,使得台阶的尺寸指数改变,如L41和L42所指出的。具体地,参数x=6时的台阶的整体宽度和高度约4倍大于参数x=5时的台阶的整体宽度和高度。
而且,如果改变用于获得参数z的比特宽度b,即rs,则每个台阶的宽度(分辨率)改变,如L41和L44所指出的。宽度对应于z=4的L41中的4个比特,和z=2的L44中的2个比特。
而且,如果改变参数y,即用于确定比特ns(0)~ns(3)对应于哪个CF值的参数c,则在台阶的数目保持不变的同时改变最大值,如L41和L43所指出的。因此其对应于掩码值的偏移量。y=4处的和y=2处的高度差是2个比特。
这样,可以按照需要,通过改变(x,y,z)=(w-a,2c,b),可以改变CF输出部分42的输出。在该实施例中,计算CF输出和值AM的逻辑OR,作为修正之后的值。
在图10中,曲线L51表示未进行修正(值AM)时的修正电路33的输出s,并且曲线L52和L53分别表示CF输出=2和4时的输出s。在图11中,曲线L61表示AM=0时的修正电路33的输出s,并且曲线L62和L63分别表示值AM=2和341时的与CF输出42取逻辑OR的修正电路33的输出s。如第一实施例中所描述的,由于实际上CF输出和值AM均改变,因此修正电路33的输出s是与其组合三维变化的值。
如图10所示,曲线L52表示其中自LSB始的2个比特被掩码设为1的情况,而曲线L53表示其中自LSB始的4个比特被掩码设为1的情况。图10的曲线图示出了当|Ai-AM|较小时,进行较大的修正。图11的曲线图还示出了当|Ai-AM|较大时,修正量变得较小。
同样地,在该实施例中,通过适当地改变参数a、b和c的值,可以在不增加电路尺寸的前提下准确地计算Jacobian修正因子。而且,该实施例消除了对加法器的需要,并且因此使得相比于第一实施例,能够进一步减小电路尺寸。
下面描述本发明的效果。图12是示出当使用传统的技术(Max-Log-MAP)和使用Log-sum-MAP(通过使用LUT)时的对结果进行比较的根据第一和第二实施例的运算电路中的计算结果的曲线图。该曲线图示出了,在第一和第二实施例中获得了等于Log-sum-MAP并且显著优于Max-Log-MAP的BER。尽管第一实施例的运算电路由于加法器的存在而具有比第二实施例的运算电路大的电路尺寸,但是其提供了值AM的高度准确的修正。
图13和图14是分别示出本发明的关于电路尺寸和数据延迟率的效果。如图13和14所示,在使用Log-sum-MAP(使用LUT)时,电路尺寸和数据延迟率是大的。相反地,在根据第一和第二实施例的运算电路中,显著改善了电路尺寸和数据延迟率。
本发明不限于上文描述的实施例,并且在不偏离本发明的范围前提下可以进行多种修改。例如,尽管该实施例通过例子描述了计算输入I1和I2的最大值并且在修正电路33中修正该值的情况,但是可以计算输入I1和I2的最小值,并且对其进行修正。在该情况中,在ACS电路2中确定最小值,并且修正电路33由用于修正最小值的修正电路替换。修正电路可以包括用于基于由多个比特组成的路径度量值计算掩码值的掩码值生成器、用于基于掩码值执行针对路径度量值的掩码处理的掩码处理器、和用于计算最小值和掩码处理器的反相输出的逻辑AND的逻辑电路。
掩码值生成器可以包括第一至第三逻辑电路。具体地,第一逻辑电路通过包含由多个比特组成的路径度量值的0个比特或多个高位比特的第一比特组的所有比特计算1比特反相逻辑OR。第二逻辑电路针对第二比特组执行逻辑操作并且生成包含1个比特或更多的第三比特组,该第二比特组包含由多个比特组成的路径度量值排除第一比特组以外的剩余部分的1个或多个高位比特。第三逻辑电路输出掩码值,其是计算第一逻辑电路的输出同第三比特组的每个比特的逻辑AND的结果。掩码处理器可以包括输出部分和第四逻辑电路。具体地,该输出部分基于掩码值生成具有与路径度量值相同比特的修正值,并且输出其反相值。第四逻辑电路计算反相输出同来自ACS电路的最小值的逻辑AND。
在该情况中,如上文的实施例中描述的,路径度量值的比特宽度是w,路径度量值的每个比特是x(j)(0≤j≤w-1),第一比特组的比特宽度是a(1≤a≤w-1),第二比特组的比特宽度是b(1≤b≤w-a-1),并且用于定义掩码值和修正输出之间的关系的参数是c(-w≤c≤w)。这样,来自第一逻辑电路的输出值sf、第二比特组y(i)、来自第二逻辑电路的输出值rs、来自第三逻辑电路的输出值ns、和来自输出部分的输出值CF分别满足下式。这样,当修正最小值时,值CF应当是1的补足,其需要使修正值反相的操作。
sf = | Π k = w - a w - 1 { x ( k ) - 1 } |
y(i)=|x(w-a-b+i)-1|i=0,...,b-1
rs = 2 ( 2 b - 1 - y ) - 1
ns = ( rs 2 2 b - 1 - c ) × sf
CF=one′s complement(ns)
显而易见,本发明不限于上文的实施例,可以在不偏离本发明的范围和精神的前提下对其进行修改和变化。

Claims (16)

1.一种运算电路,包括:
第一逻辑电路,其从第一比特组的所有比特中输出1比特反相逻辑OR,该第一比特组包含由多个比特组成的路径度量值的1个或多个高位比特;
第二逻辑电路,其将第二比特组的每个比特反相并且输出第三比特组,该第二比特组包含由所述多个比特组成的路径度量值的排除所述第一比特组以外的剩余部分的1个或多个高位比特;
第三逻辑电路,其输出第四比特组,该第四比特组包含所述第一逻辑电路的输出同所述第三比特组的每个比特的逻辑AND的计算结果;和
修正因子输出部分,其基于所述第四比特组输出修正因子,
其中基于Log-MAP算法修正通过Max-Log-MAP算法计算的近似值。
2.如权利要求1所述的运算电路,其中如果所述路径度量值的比特宽度是w,所述路径度量值的每个比特是x(i)(0≤j≤w-1),所述第一比特组的比特宽度是a(1≤a≤w-1),所述第二比特组的比特宽度是b(1≤b≤w-a-1),并且用于定义所述第四比特组同所述修正因子输出部分之间的关系的参数是c(-(w-1)≤c≤w-1),则所述第一逻辑电路的输出值sf、第三比特组rs(i)、所述第三逻辑电路的输出值ns、和所述修正因子输出部分的输出值CF分别满足下式:
sf = | Π k = w - a w - 1 { x ( k ) - 1 } |
rs(i)=|x(w-a-b+i)-1|i=0,...,b-1
ns=rs×sf
CF=ns×2C
3.如权利要求1所述的运算电路,进一步包括:
最大值输出电路,其输出Max-Log-MAP算法中的最大值;和加法器,其将所述修正因子输出部分的输出和所述最大值相加。
4.如权利要求2所述的运算电路,进一步包括:
最大值输出电路,其输出Max-Log-MAP算法中的最大值;和加法器,其将所述修正因子输出部分的输出和所述最大值相加。
5.如权利要求3所述的运算电路,其中所述最大值输出电路从实现概率的对数近似获得最大值,作为在网格上的特定时间点处针对每个状态的所有输入。
6.如权利要求5所述的运算电路,其中所述最大值输出电路包括:运算部分,其计算作为所述实现概率的对数近似的第一输入和第二输入之间的差;
选择器,其选择性地基于所述计算结果输出所述第一输入和第二输入中较大的一个;和
绝对值电路,其输出所述运算部分的输出的绝对值,作为所述路径度量值。
7.如权利要求1所述的运算电路,进一步包括:
最小值输出电路,其输出Max-Log-MAP算法中的最小值;和减法器,其从所述最小值中减去所述修正因子输出部分的输出。
8.如权利要求2所述的运算电路,进一步包括:
最小值输出电路,其输出Max-Log-MAP算法中的最小值;和减法器,其从所述最小值中减去所述修正因子输出部分的输出。
9.如权利要求7所述的运算电路,其中所述最小值输出电路从实现概率的对数近似获得最小值,作为在网格上的特定时间点处针对每个状态的所有输入。
10.如权利要求9所述的运算电路,其中所述最小值输出电路包括:
运算部分,其计算作为所述实现概率的对数近似的第一输入和第二输入之间的差;
选择器,其选择性地基于所述计算结果输出所述第一输入和第二输入中较小的一个;和
绝对值电路,其输出所述运算部分的输出的绝对值,作为所述路径度量值。
11.一种用于基于Log-MAP算法修正通过Max-Log-MAP算法计算的近似值的运算电路,所述电路包括:
最大值输出电路,其输出Max-Log-MAP算法中的最大值;和
修正电路,其修正所述最大值,所述修正电路包括:
掩码值生成器,其基于由多个比特组成的路径度量值计算掩码值;
掩码处理器,其基于所述掩码值针对所述路径度量值执行掩码处理;和
逻辑电路,其计算所述最大值和所述掩码处理器的输出的逻辑OR。
12.如权利要求11所述的运算电路,其中
所述掩码值生成器包括:
第一逻辑电路,其从第一比特组的所有比特计算1比特反相逻辑OR,该第一比特组包含由多个比特组成的路径度量值的1个或多个高位比特;
第二逻辑电路,其针对第二比特组执行逻辑操作并且生成包含1个比特或更多的第三比特组,所述第二比特组包含由所述多个比特组成的路径度量值的排除所述第一比特组以外的剩余部分的1个或多个高位比特;
第三逻辑电路,其输出掩码值,所述掩码值是所述第一逻辑电路的输出同所述第三比特组的每个比特的逻辑AND的计算结果,并且
所述掩码处理器包括:
输出部分,其基于所述掩码值生成具有与所述路径度量值相同比特的修正输出;和
第四逻辑电路,其计算所述修正输出同所述最大值的逻辑OR。
13.如权利要求12所述的运算电路,其中如果所述路径度量值的比特宽度是w,所述路径度量值的每个比特是x(j)(0≤j≤w-1),所述第一比特组的比特宽度是a(1≤a≤w-1),所述第二比特组的比特宽度是b(1≤b≤w-a-1),并且用于定义所述掩码值同所述修正输出之间的关系的参数是c(-w≤c≤w),则所述第一逻辑电路的输出值sf、所述第二比特组y(i)、第二逻辑电路的输出值rs、所述第三逻辑电路的输出值ns、和所述输出部分的输出值CF分别满足下式:
sf = | Π k = w - a w - 1 { x ( k ) - 1 } |
y(i)=|x(w-a-b+i)-1|i=0,...,b-1
rs=2(2b-1-y)-1
ns = ( rs 2 2 b - 1 - c ) × sf
CF=ns
14.一种用于基于Log-MAP算法修正通过Max-Log-MAP算法计算的近似值的运算电路,所述电路包括:
最小值输出电路,其输出Max-Log-MAP算法中的最小值;和
修正电路,其修正所述最小值,所述修正电路包括:
掩码值生成器,其基于由多个比特组成的路径度量值计算掩码值;
掩码处理器,其基于所述掩码值针对所述路径度量值执行掩码处理;和
逻辑电路,其计算所述最小值和所述掩码处理器的反相输出的逻辑AND。
15.如权利要求14所述的运算电路,其中
所述掩码值生成器包括:
第一逻辑电路,其从第一比特组的所有比特计算1比特反相逻辑OR,该第一比特组包含由多个比特组成的路径度量值的1个或多个高位比特;
第二逻辑电路,其针对第二比特组执行逻辑操作并且生成包含1个比特或更多的第三比特组,所述第二比特组包含由所述多个比特组成的路径度量值的排除所述第一比特组以外的剩余部分的1个或多个高位比特;和
第三逻辑电路,其输出掩码值,所述掩码值是所述第一逻辑电路的输出同所述第三比特组的每个比特的逻辑AND的计算结果,并且
所述掩码处理器包括:
输出部分,其基于所述掩码值生成具有与所述路径度量值相同比特的修正输出,并且输出修正输出的反相值;和
第四逻辑电路,其计算所述反相输出同所述最小值的逻辑AND。
16.如权利要求15所述的运算电路,其中如果所述路径度量值的比特宽度是w,所述路径度量值的每个比特是x(i))(0≤j≤w-1),所述第一比特组的比特宽度是a(1≤a≤w-1),所述第二比特组的比特宽度是b(1≤b≤w-a-1),并且用于定义所述掩码值同所述修正输出之间的关系的参数是c(-w≤c≤w),则所述第一逻辑电路的输出值sf、所述第二比特组y(i)、第二逻辑电路的输出值rs、所述第三逻辑电路的输出值ns、和所述输出部分的输出值CF分别满足下式:
sf = | Π k = w - a w - 1 { x ( k ) - 1 } |
y(i)=|x(w-a-b+i)-1|i=0,...,b-1
rs=2(2b-1-y)-1
ns = ( rs 2 2 b - 1 - c ) × sf
CF=one′s complement(ns)
CN2006101690527A 2005-12-20 2006-12-20 运算电路 Expired - Fee Related CN1988391B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005-366401 2005-12-20
JP2005366401 2005-12-20
JP2005366401A JP4152410B2 (ja) 2005-12-20 2005-12-20 演算回路

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2010102146508A Division CN101882934B (zh) 2005-12-20 2006-12-20 运算电路

Publications (2)

Publication Number Publication Date
CN1988391A true CN1988391A (zh) 2007-06-27
CN1988391B CN1988391B (zh) 2012-07-04

Family

ID=37734532

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2010102146508A Expired - Fee Related CN101882934B (zh) 2005-12-20 2006-12-20 运算电路
CN2006101690527A Expired - Fee Related CN1988391B (zh) 2005-12-20 2006-12-20 运算电路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2010102146508A Expired - Fee Related CN101882934B (zh) 2005-12-20 2006-12-20 运算电路

Country Status (5)

Country Link
US (1) US7913153B2 (zh)
JP (1) JP4152410B2 (zh)
KR (1) KR100876566B1 (zh)
CN (2) CN101882934B (zh)
GB (2) GB2447132B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4709119B2 (ja) * 2006-10-13 2011-06-22 ルネサスエレクトロニクス株式会社 復号装置及び復号方法
US8184993B2 (en) * 2009-02-25 2012-05-22 Nec Laboratories America, Inc. Polarization mode dispersion (PMD) compensation in polarization multiplexed coded orthogonal frequency division multiplexing (OFDM) systems
US8874994B2 (en) 2011-07-22 2014-10-28 Sandisk Technologies Inc. Systems and methods of storing data
US9191131B2 (en) 2012-07-06 2015-11-17 Intel Deutschland Gmbh Method for control channel detection in wireless communications systems
US9735990B2 (en) 2014-02-24 2017-08-15 Mitsubishi Electric Corporation Soft decision value generating apparatus and method of generating soft decision value

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352258A (ja) 2000-06-08 2001-12-21 Sony Corp 復号装置及び復号方法
JP2002100995A (ja) 2000-09-22 2002-04-05 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
JP3512176B2 (ja) 2001-05-15 2004-03-29 松下電器産業株式会社 ターボ復号装置およびターボ復号における復号の繰返し回数の制御方法
CN1192486C (zh) * 2001-09-27 2005-03-09 华为技术有限公司 一种缩短循环码纠错译码算法的集成电路实现方法及电路
US7162675B2 (en) * 2002-04-05 2007-01-09 Lucent Technologies Inc. Error detection methods in wireless communication systems
JP2004080508A (ja) 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
KR100516586B1 (ko) 2002-12-10 2005-09-22 삼성전자주식회사 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법
JP2004312348A (ja) * 2003-04-07 2004-11-04 Matsushita Electric Ind Co Ltd インターリーブ/デインターリーブ方法及び装置
US7391826B2 (en) 2003-08-08 2008-06-24 Lucent Technologies Inc. Decoding method and apparatus
US7996745B2 (en) * 2005-05-19 2011-08-09 Stmicroelectronics S.R.L. ECC for single 4-bits symbol correction of 32 symbols words with 21 maximum row weight matrix

Also Published As

Publication number Publication date
GB2447132B (en) 2009-01-14
GB2437607B (en) 2008-11-19
KR20070065831A (ko) 2007-06-25
KR100876566B1 (ko) 2008-12-31
GB2447132A (en) 2008-09-03
GB0803472D0 (en) 2008-04-02
JP2007174057A (ja) 2007-07-05
US20070162836A1 (en) 2007-07-12
US7913153B2 (en) 2011-03-22
CN101882934B (zh) 2012-10-03
CN1988391B (zh) 2012-07-04
CN101882934A (zh) 2010-11-10
GB2437607A (en) 2007-10-31
GB0625427D0 (en) 2007-01-31
JP4152410B2 (ja) 2008-09-17

Similar Documents

Publication Publication Date Title
CN101777924B (zh) 一种Turbo码译码方法和装置
EP0671817A1 (en) Soft symbol decoding for use in an MLSE-equaliser or convolutional decoder
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
Battail et al. Pseudo-random recursive convolutional coding for near-capacity performance
CN1988391B (zh) 运算电路
CN101147327B (zh) 使用篱栅的蝴蝶结构来映射解码的度量计算的方法和装置
CN110730011B (zh) 一种基于部分叠加的递归分组马尔可夫叠加编码方法
KR100628201B1 (ko) 터보 디코딩 방법
KR20030080066A (ko) 터보 복호기와 터보 복호 방법 및 그 방법을 기억한 기억매체
US6886127B2 (en) Implementation of a turbo decoder
US20030023919A1 (en) Stop iteration criterion for turbo decoding
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
CN100592643C (zh) 一种迭代译码器及迭代译码方法
Xia et al. High throughput polar decoding using two-staged adaptive successive cancellation list decoding
CN100505600C (zh) 一种实现缩短Turbo译码器关键路径的方法
CN103973319B (zh) 全整数Turbo码迭代译码的方法和系统
CN116073952B (zh) 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质
CN2884696Y (zh) 用于Turbo码译码器中的归一化装置
CN113824452B (zh) 基于网格图的译码方法、分量译码器和信道译码器
CN100490333C (zh) 最大后验概率译码方法及译码装置
Hebbes et al. Computational complexities and the relative performance of turbo codes
Divya et al. Design of convolutional encoder and map decoder using dual mode MLMAP decoding algorithm
CN1777044B (zh) 用于Turbo码译码器中状态度量位宽控制方法及装置
Perez et al. Optimizations in max-log-MAP LLR/sup e/VLSI architecture
Sharma New Channel Coding Methods for Satellite Communication

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: 20120704

Termination date: 20131220