CN100472974C - 用于以迭代方式解码输入数据的解码电路和方法 - Google Patents

用于以迭代方式解码输入数据的解码电路和方法 Download PDF

Info

Publication number
CN100472974C
CN100472974C CNB038111276A CN03811127A CN100472974C CN 100472974 C CN100472974 C CN 100472974C CN B038111276 A CNB038111276 A CN B038111276A CN 03811127 A CN03811127 A CN 03811127A CN 100472974 C CN100472974 C CN 100472974C
Authority
CN
China
Prior art keywords
decoder
data
input data
single memory
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB038111276A
Other languages
English (en)
Other versions
CN1653700A (zh
Inventor
P·维尔顿尼尔
S·查潘蒂尔
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1653700A publication Critical patent/CN1653700A/zh
Application granted granted Critical
Publication of CN100472974C publication Critical patent/CN100472974C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • H03M13/2978Particular arrangement of the component decoders
    • H03M13/2984Particular arrangement of the component decoders using less component decoders than component codes, e.g. multiplexed decoders and scheduling thereof
    • 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
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6563Implementations using multi-port memories

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明涉及turbo解码器的领域。这种解码器包含一个第一解码器(14)和一个第二解码器(16),每个解码器都能够由来自于其它解码器的外部输入数据计算外部输出数据。根据本发明的解码电路包含一个用于存储所述外部数据的单一存储器(31)。当解码器由外部输入数据计算外部输出数据时,此外部输入数据来自于其它解码器并且存储在单一存储器的特定地址中,此外部输出数据随后被写入同一的地址中。

Description

用于以迭代方式解码输入数据的解码电路和方法
技术领域
本发明涉及一种以迭代的方式解码输入数据的解码电路,所述电路至少包含第一解码器和一个第二解码器,各解码器能够从输入数据以及来自于其它解码器的外部输入数据计算外部输出数据.
本发明还涉及一种使用解码电路来解码数据的解码方法。
本发明最后涉及一种包含程序编码指令的程序,所述程序编码指令用于执行此方法的步骤。
本发明存在一种应用,例如,在卫星通讯系统或在使用UMTS标准的系统中。例如,第三代移动电话可使用这种解码电路。
背景技术
多数通讯系统使用涡轮(turbo)编码从发射器向接收器发送数据。所述数据由发射器使用turbo编码来编码并且在接收端以迭代方式解码。一个使用UMTS标准的通讯系统就是这种系统的实施例.在发射器和接收器之间数据通过信道传输.此信道可能产生噪声,该噪声可在接收器收到的数据中产生错误。
turbo编码的使用允许在接收器端进行适当的误差校正.因此,这种通讯系统产生相对低的误差率.
图1示出了使用turbo编码的通讯系统的实施例。这种系统包含一个编码器件ENC、一个传输信道CHAN和一个解码器件DEC.在编码器件ENC处,数据矢量S1被第一系统递归编码器11编码来产生第一奇偶校验矢量P1.并行地,所述数据矢量S1的数据被第一交叉器12交叉,并且其结果矢量被第二系统递归编码器13编码以产生第二奇偶校验矢量P2。
矢量交叉的数据包含以预定的顺序改变此矢量的分量的次序来获得另一个矢量。以下将不加区别地讨论矢量数据的交叉或矢量的交叉来简化描述。
所述数据矢量S1、第一奇偶校验矢量P1和第二奇偶校验矢量P2就通过传输信道CHAN被发送到解码器件DEC.
所述解码器件DEC包含一个第一解码器14、一个第二解码器16、一个第二交叉器15、一个第三交叉器17和一个反交叉器18。在图1所示的实施例中,解码器14和16为软输入软输出(SISO)解码器。
此解码器件DEC以迭代方式运行。在一次迭代期间,第一解码器14由收到的数据矢量S1、第一个收到的奇偶校验矢量P1以及来自于第二解码器16的外部数据矢量计算出第一外部输出数据矢量。如果还没有来自于第二解码器16的外部数据矢量,它就被预定的矢量代替,例如,单位矢量。这种情况在解码第一次进行迭代时是可能的。
所述第一外部输出数据矢量是通过第二交叉器15被交叉的,并且此处得到的矢量被发送到第二解码器16。第二解码器16就由第二奇偶校验矢量P2、来自于第三交叉器17的矢量S2,该交叉器的输入为数据矢量S1、以及来自于第二交叉器15的矢量计算出第二外部输出数据矢量。所述第二外部输出数据矢量就被反交叉器18反交叉,并且所得到的矢量被发送到第一解码器14。一次新的迭代就完成了。
图2示出了能够实现所述解码器件DEC的体系结构的实施例。所述解码器件DEC包含一个解码器20、一个第一存储器21以及一个第二存储器22。
所述解码器20交替担任第一解码器14和第二解码器16的功能。所述解码器20因此以两种模式运行:
-SISO1模式,其中所述解码器20充当图1所示的第一解码器14,
-SISO2模式,其中所述解码器20充当图1所示的第二解码器16。
在一次迭代期间,处于SISO1模式的所述解码器20如图1所详述的过程处理输入矢量,并计算第一外部输出数据矢量。所述解码器20就进入SISO2模式,处理输入矢量并计算第二外部输出数据矢量。该解码器20因此必须从存储器中读取外部数据并在存储器中写入外部数据。所述外部数据存储在第一和第二存储器21和22中。
当所述解码器20处于SISO1模式时,它完成外部数据矢量的反交叉读取23,该外部数据矢量是存储在第二存储器22中的。然后该解码器计算第一外部输出数据矢量并在第一存储器21中执行此第一外部输出数据矢量的线性写入24。然后所述解码器20变为SISO2模式。
当所述解码器20处于SISO2模式时,它完成外部数据矢量的交叉读取25,该外部数据矢量是存储在第一存储器21中的。然后该解码器计算第二外部输出数据矢量并在第二存储器22中执行此第二外部输出数据矢量的线性写入26。
所述反交叉读取23和所述交叉读取25由反交叉器和交叉器分别执行,未在图2中示出。
此解码系统的一个缺点在于需要两个存储器来存储所述外部数据矢量。在所使用的turbo解码器中,例如,在UMTS标准中,一个外部数据矢量包含5114个数据。因此,用于存储外部数据所需的存储器容量就非常大,这要求在容纳这种turbo解码器的电路中具有相当大的硅表面,所以这种存储器是笨重的。
这一系列存储器构成了外部数据存储器系统。
发明内容
本发明的一个目的是提出一种解码电路,其中外部数据存储器系统的尺寸被缩小。
根据本发明并如开头段落中定义的处理系统,其特征在于它包含一个用来在确定的地址存储外部数据的单一存储器、一个外部输出数据,该数据由解码器根据来自于其它解码器且存储在所述外部输入数据的地址中的外部输入数据计算、第一解码器以第一顺序从单一存储器中读取所述外部数据、第二解码器以第二顺序从单一存储器中读取所述外部数据。
根据本发明,使用单一存储器来存储所述外部数据矢量是可能的。实际上,外部数据的矢量以第一顺序被存储在单一存储器中,例如,线性顺序。这意味着外部数据矢量的第一个分量被存储在单一存储器的第一地址中,第二个分量存储在第二地址中等等。
当第一解码器在单一存储器中读取外部输入数据矢量时,它以线性次序的方式来完成,即读取第一个分量,然后是第二个分量等等。当第一解码器计算出与输入数据矢量的第一分量相应的外部输出数据矢量的分量后,第一解码器把所述外部输出数据矢量的这个分量写入到输入数据矢量的第一分量存储的地址中,即,单一存储器的第一地址。
当第二解码器读取单一存储器的外部输入数据矢量时,它以交叉的方式完成,即它以预定的交叉次序读取分量。当第二解码器计算出与外部输入数据矢量的分量相应的外部输出数据矢量的分量时,第二解码器把所述外部输出数据矢量的此分量写入到外部输入数据矢量的相应分量存储的地址中。
根据本发明另一个,无限制的实施例,第一和第二解码器由一个单独的解码器产生,该单独的解码器以与第一解码器的运行相应的第一模式和与第二解码器的运行相应的第二模式交替运行。根据本实施例,只需要一个解码器,这就缩小了解码电路的尺寸。
单一存储器最好包含一个读取端口和一个写入端口。这就使解码器可以同时在单一存储器中读取和写入数据,这就缩短了解码时间。
有利地,单一存储器由频率时钟控制,该时钟比解码器控制频率的时钟快两倍。即使当单一存储器只有一个端口时,这也允许解码器在解码器的一个控制时钟周期内在单一存储器中读取和写入数据。因此,解码时间不长于以前本领域的解码电路所需的时间。
最好,解码电路进一步包含由于在解码器的控制时钟周期内暂时存储外部输入数据矢量的分量的寄存器。因此为了从单一存储器中读取外部数据,所述解码器的时间与以前本领域的解码器的时间安排相同。这允许本发明利用以前本领域的解码器而不重新编程。
附图说明
通过非限制性实施例并参考下述实施例,本发明的这些和其它方面会变得明显。
在图中:
-图1示出了以前本领域的通讯系统的基本电路图;
-图2示出了图1所述的解码器件的特有的特点的框图;
-图3a示出了本发明的一个实施例的特有的特点的框图;以及图3b示出了本发明的另一个实施例的特有的特点的框图;
-图4示出了本发明的另一个有利的实施例特有的特点的框图,和
-图5示出了图4所述的解码器件的运行的定时图。
具体实施方式
图3a示出了依据本发明的解码电路。所述电路包含一个第一解码器14、一个第二解码器16、一个第二交叉器18、一个第一反交叉器15和一个单一存储器31。
此电路如下所述以迭代方式运行。一次迭代包含第一次和第二次半迭代。
在第一次半迭代期间,第一解码器14需要读取由第二解码器16在前次迭代中计算的外部数据,以便计算外部输出数据矢量。单一存储器31包含一个矢量,其分量为第一解码器14要读取的外部数据。每一分量对应一个要解码的数据,该数据包含在下述细节中示出的数据矢量S1中。
假定数据矢量S1包含10个分量S10至S19。此数据S1表示为:S1=[S10S11S12S13S14S15S16S17S18S19]。
奇偶校验矢量P1表示为:P1=[P10P11P12P13P14P15P16P17P18P19],与此数据矢量S1相对应。
由第二解码器16在前次迭代中计算的外部数据矢量存储在单一存储器31中,并表示为:
La2=[La20La21La22La23La24La25La26La27La28La29]。
在此实施例中,单一存储器31包含10个地址@0至@9。分量La20存储在地址@0中,分量La21存储在地址@1中等等。分量La20为与数据S10相对应的外部数据,分量La21为与数据S11相对应的外部数据等等。
与数据矢量S1的各分量相对应的外部输出数据的计算以下述方式进行。第一解码器14依次读取外部数据矢量La2的各分量,并为该矢量La2的各分量计算一个数值α,该数值α符合第一函数f1且取决于矢量S1和P1的对应分量。例如,第一解码器14计算数值α10=f1(La20,S10,P10)。因此得到矢量α1,其表示为:
α1=[α10α11α12α13α14α15α16α17α18α19]。
此矢量α1存储在图3a中未示出的附加存储器中。
然后,第一解码器14为La2的各分量计算数值β,该数值符合第二函数f2且取决于矢量S1和P1的对应分量。此计算进行的顺序与数值α的计算顺序相反。为了达到此目的,第一解码器14从计算数值β19=f2(La29,S19,P19)开始。每次计算数值β,第一解码器14计算数值La,该数值La符合函数f3且取决于于此数值β以及相应数值α。因此第一解码器14计算数值La19=f319,β19)并把这个数值写入单一存储器31的地址@9。然后第一解码器计算数值La18=f318,β18),并把该数据写入单一存储器31的地址@8,等等。以这种方式在单一存储器31中获得了外部数据矢量La1,表示为La1=[La10La11La12La13La14La15La16La17La18La19]。
外部数据的计算对于本领域的技术人员来说是众所周知的。例如,在S.A.Barbulescu的题目为《turbo编码及其它链接码的迭代解码,南澳大利亚大学,PhD Dissertation》,1995年8月出版的论文中被描述。
应该看到,利用本领域的技术人员熟知的名为“滑动窗口”的计算技术也是可能的。此技术包括将矢量划分到窗口中。在上述实施例中,例如,考虑两个窗口,一个窗口包含所述矢量的前五个分量,另一个窗口包含后五个分量。外部数据的计算以下述方式进行。
第一解码器14第一次计算数值α10、α11、α12、α13和α14。然后计算数值β14以及数值La14。然后把数值La14写入单一存储器31的地址@4,并且同时从单一存储器31的地址@5中读取数值La25
单一存储器31因此包含用于在不同地址中写入并同时读取数据的方法。单一存储器31最好包含一个读取端口和一个写入端口。读取端口的意思是适合读取数据的端口,它并不排除数据也从此端口写入。相似的,写入端口的意思是适合写入数据的端口,它并不排除数据也从此端口读取。另一种同时写入和读取数据的方法在图4和图5中描述。
在第二次半迭代期间,第二解码器16从单一存储器31中读取外部数据矢量La1的分量。这种读取依靠第二交叉器15以预定的交叉顺序以交叉的方式进行。例如,第二解码器16可能逐个读取分量La12、La19、La11、La15、La14、La18、La10、La17、La13以及La16。依靠矢量S2,该矢量与由第三交叉器17交叉的矢量S1相对应,交叉器17未在图中示出,以及依靠第二奇偶校验矢量P2,该矢量与第一个交叉的奇偶校验矢量相对应,第二解码器16以如上所述的方式计算数值α22、α29、α21、α25、α24、α28、α20、α27、α23以及α26。例如,α22=f1(La12,S22,P22)。
第二解码器16然后计算数值β26=f2(La16,S26,P26)以及数值La’26=f326,β26),即为与数据S16相对应的外部输出数据。第二解码器然后将此数值La’26写入单一存储器31的外部数据La16所在的地址中,即地址@6。这是依靠反交叉器18完成的。因为一旦第二解码器16已计算出数值La’26,就没有必要保留相应的外部输入数据La16并且因此能够使用单一存储器31的地址@6来在其中写入数值La’26,所以上述方法可能的。
第二解码器16然后计算数值β23=f2(La13,S23,P23)以及数值La’23=f323,β23),并把此数值写入地址@3,等等。一旦因此在单一存储器31中得到一个外部数据矢量La’2,其表示为La’2=[La’20La’21La’22La’23La’24La’25La’26La’27La’28La’29]。
外部数据的此矢量La’2然后可被第一解码器14在下一次迭代中使用。
将‘滑动窗口’技术用于第二解码器也是可能的。
应该注意,通过本发明的优点,第一解码器14和第二解码器16计算的外部输出数据通常以线性的方式存储在单一存储器31中。经过预定次数的迭代,解码停止并且外部数据被最终电路读取,该最终电路未在图3a中示出。因此,如果解码在第一解码器计算出其外部输出数据之后停止,那么简单的线性读取允许最终电路读取这些外部数据。如果解码在第二解码器计算出其外部输出数据后停止,这种情况会同样地保持。最终电路因此没有必要进行交叉读取。
这就提供了一种优于以前本领域技术的优点。实际上,在以前本领域中,如果解码在第二解码器计算出其外部输出数据之后停止,最终电路就会执行如图2所示的第二存储器的反交叉读取。这就要求一个附加的反交叉器,这对于解码电路的功耗来说具有非常显著的缺点。
还应该注意,本发明不局限于以线性方式存储在单一存储器31中的外部数据矢量。例如,可以考虑以交叉的方式存储外部数据矢量。在这种情况下,第一解码器14将从单一存储器31中以反交叉的方式读取,而且第二解码器16将会从单一存储器31中以线性方式读取。
图3b示出了包含一个唯一解码器20的解码电路。该解码器交替执行图3a所示的第一解码器14和第二解码器16的功能。
‘滑动窗口’技术的使用要求能够同时在单一存储器31中读取和写入数据。当单一存储器31只有一个端口时,通过用一个时钟来控制此单一存储器31来实现此功能是可能的,该时钟的频率是控制解码器20的时钟频率的两倍。
图4示出了这种解码电路。所述解码器20由第一时钟CLK控制,其频率为f。单一存储器31由第二时钟CLK2x控制,其频率为f的两倍。
在第二时钟CLK2x的周期中,单一存储器31能够读取或写入数据。因此,在第二时钟CLK2x的两个周期中,单一存储器31能够读取数据然后写入另一个数据,反之亦然。第二时钟CLK2x的两个周期对应于第一时钟CLK的一个周期。因此,在第一时钟的一个周期中,单一存储器31能够读取和写入两个不同的数据。这意味着在第一时钟CLK的一个周期中,解码器20能够在单一存储器31的不同地址中读取和写入两个数据。因为此技术要求在控制解码器20的一个时钟周期,即,本实施例的第一时钟CLK内,读取并写入不同的数据,所以解码器20能够轻松地实现滑动窗口技术。
但是,如图5所示,在这种情况下单一存储器31的输出数据仅在第二时钟CLK2x的一个周期,即,第一时钟CLK的半个周期内有效。因此,为了使用如上所述的解码电路,必须重新编程解码器20,使得它能够只在其控制时钟的半个周期内读取数据。
为了减轻这个缺点,解码电路最好包含一个由第一时钟CLK控制的寄存器41。当数据离开单一存储器31时,它被锁存在该寄存器中,并在第一时钟CLK的一个周期内保持有效。所述解码器20因此能够在第一时钟CLK的一个周期期间读取该数据。因此,没有必要重新编程解码器20。本发明的第三个实施例的这种变体因此能够被用于以前本领域的解码器。
图5示出了使理解图4所示解码电路的运行成为可能的时域图。此时域图包含第一时钟CLK、第二时钟CLK2x、用于激活单一存储器31的端口的使能信号en、写信号wr、地址信号add、输入信号in、输出信号out以及寄存器信号reg。
存储器31的端口包含接受使能信号en的使能输入、接受写信号WR的读/写输入、接受地址信号add的地址输入、数值为输入信号in的输入端口以及数值为输出信号out的输出端口。
第一时钟信号CLK在t1至t7时刻具有上升及下降沿,t1时刻对应于上升沿。
-在t1时刻之后,信号en的值为1,信号wr的值为0并且信号的值为@1。这意味着解码器20将要读取位于单一存储器31的地址@1中的数据。因此,在控制单一存储器31的时钟的下一个上升沿,即,第二时钟CLK2x,位于地址@1中的数据进入单一存储器31的输出端口。这种情况仅在t2时刻之后(out=read@1)发生。
单一存储器31的输出端口的此数据在第二时钟CLK2x的下一个上升沿,即t3时刻之前保持有效。因此,此数据仅在第一时钟CLK的半周期内有效。为了使此数据在第一时钟CLK的整个周期内有效,此数据在t3时刻被锁存在寄存器41中。为了实现这个功能,寄存器41被用于在控制存储器31的时钟,即此实施例中第一时钟CLK的上升沿复制单一存储器31的输出端口的数值。因此,在t3时刻,所述寄存器复制单一存储器31(reg=rd@1)的输出端口的数值,并在第一时钟CLK的下一周期之前保持此数值。此数值因此在第一时钟CLK的一个周期,t3至t5时刻之间保持有效。在第一时钟CLK的该周期内,解码器20能够读取此数据。因此,对于解码器20,一切的发生就好象单一存储器31是由第一时钟CLK控制的。
-在t2时刻和t3时刻之间,写入信号wr的数值为1,并且信号add的数值为@2。这意味着数据将被写入单一存储器31的地址@2。此数据,表示为wr@2在t2时刻和t3时刻之间(in=wr@2)被传送到单一存储器31的输入端口。
-在t2时刻之后,数据wr@2被写入单一存储器31的地址@2。应该注意到,输出端口的数值因此为(out=wr@2)。
-在t3时刻和t4时刻之间,写入信号wr的数值为0,并且信号add的数值为@3。这意味着解码器20将读取位于单一存储器31的地址@3中的数据。因此,在第二时钟CLK2x的下一个上升沿,位于地址@3中的数据被传送到单一存储器31的输出端口。这种情况在t4时刻(out=read@3)之后发生。
-在t4时刻和t5时刻之间,写入信号wr的数值为1,并且信号add的数值为@4。这意味着数据将被写入单一存储器31的地址@4。此数据,表示为wr@4在t4时刻和t5时刻之间(in=wr@4)被传送到单一存储器31的输入端口。
-在t5时刻之后,数据wr@4被写入到单一存储器31的地址@4。因此应该注意到,输出端口的数值为此数值wr@4(out=wr@4)。
应注意到,当控制寄存器41的时钟在高电平状态时从单一存储器31中开始读取数据以及当控制寄存器41的时钟在低电平状态时开始写入是重要的。实际上,通过在控制寄存器41的时钟处于高电平状态时开始读取数据,在控制寄存器41的时钟处于低电平以及此时钟具有上升沿时,要读取的数据在输出端口是有效的。因此将此数据锁存在寄存器41中是可能的。
如果当控制寄存器41的时钟处于低电平时读取操作被启动,在控制寄存器41的时钟处于高电平时,要读取的数据在输出端口是有效的,但是如果此时钟具有上升沿此数据将不再有效。因此就不可能将此数据锁存在寄存器41中。
根据本发明的解码电路可被用于电子器件如移动电话中。根据本发明的解码电路因此可被用于通讯网络中,该通讯网络至少包含一个能够发送编码信号的发送器、一个传输信道和一个能够接收所述信号的接收器。
本发明还涉及可用于电子电路中的解码方法,该电子电路包含根据本发明的解码电路。这种解码方法包含:
-第一步,其中第一解码器线性读取存储在包含地址的单一存储器中的外部输入数据,从各外部输入数据计算外部输出数据并且在存有相应外部输入数据的地址中写入各外部输出数据;
-第二步,其中第二解码器以交叉方式读取外部输入数据,该数据存储在单一存储器中并与第一解码器在第一步中计算的外部输出数据相对应,第二解码器计算外部输出数据并将各外部输出数据写入存有相应外部输入数据的地址中。
从原理上来说,依靠适当的程序集成电路来实现此解码方法是可能的。在程序存储器中包含的一系列指令可命令该集成电路执行前述不同的步骤。此系列指令可通过读取数据载体,例如,此系列指令被编码的磁盘,被装入程序存储器中。通过通讯网络,例如,互连网来读取也是有效的。在那种情况下,服务提供商将使感兴趣的用户处理该系列指令。
动词“包含”极其各个变化形式将被广泛地解释,即不排除除了那些列在所述动词之后的元素,以及多个已经列在所述动词之后和由冠词“一个”或“一种”开头的元素。

Claims (8)

1、一种用来以迭代方式解码输入数据(S1,P1,P2)的解码电路,所述电路包含至少第一解码器(14)和第二解码器(16),所述两个解码器中的每一个能够从输入数据(S1,P1,P2)和来自于所述两个解码器中另一解码器的外部输入数据计算外部输出数据,所述电路包含一个用于在特定地址存储所述外部数据的单一存储器(31),第一解码器(14)适用于从单一存储器(31)中以第一顺序读取外部数据,第二解码器(16)适用于从单一存储器(31)中以第二顺序读取外部数据,其中所述两个解码器中的每一个适用于在所述外部输入数据的地址处写入从来自所述两个解码器中另一解码器的外部输入数据计算的外部输出数据,
其中第一顺序为线性顺序以及第二顺序为交织顺序。
2、如权利要求1所述的解码电路,其特征为第一和第二解码器由单一解码器(20)构成,该单一解码器以与第一解码器(14)的运行相对应的第一模式和以与第二解码器(16)的运行相对应的第二模式交替运行。
3、如权利要求1所述的解码电路,其特征为单一存储器具有至少一个读端口和至少一个写端口。
4、如权利要求1所述的解码电路,其特征为单一存储器由一个频率时钟(CLK2x)控制,该频率时钟(CLK2x)的频率是第一解码器和第二解码器(14,16)的控制频率时钟(CLK)的频率的两倍。
5、如权利要求4所述的解码电路,其特征为它进一步包含一个寄存器(41),该寄存器用来暂时存储离开单一存储器(31)的外部输入数据的一个分量,其中该寄存器(41)适用于在第一解码器和第二解码器的控制时钟周期内锁定外部输入数据矢量的分量。
6、一种电子器件,包含如权利要求1至5中任何之一所述解码电路。
7、一种通讯网络,至少包含一个能够发送编码信号的发送器,一个传输信道,一个能够接收所述信号的接收器以及一个如权利要求1至5中任何之一所述的解码电路。
8、一种用来通过电路迭代解码输入数据的解码方法,该电路包含至少一个第一解码器(14)和一个第二解码器(16),所述两个解码器中的每一个能够从输入数据以及来自于所述两个解码器中另一解码器的外部输入数据计算外部输出数据,所述方法包含:
-第一步,其中第一解码器(14)线性读取在包含地址的单一存储器(31)中存储的外部输入数据,并从各外部输入数据计算外部输出数据;
-第二步,其中第二解码器(16)以交织的方式读取存储在单一存储器(31)中的外部输入数据,该数据与第一步中由第一解码器(14)计算的外部输出数据相对应,并且计算外部输出数据;
所述方法的特征在于:
-在所述第一步中,第一解码器在包含相应外部输入数据的地址处写入每个外部输出数据;
-在所述第二步中,第二解码器在包含相应外部输入数据的地址处写入每个外部输出数据。
CNB038111276A 2002-05-17 2003-05-07 用于以迭代方式解码输入数据的解码电路和方法 Expired - Fee Related CN100472974C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0206079A FR2839830A1 (fr) 2002-05-17 2002-05-17 Memoire pour decodeur turbo
FR02/06079 2002-05-17

Publications (2)

Publication Number Publication Date
CN1653700A CN1653700A (zh) 2005-08-10
CN100472974C true CN100472974C (zh) 2009-03-25

Family

ID=29286572

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038111276A Expired - Fee Related CN100472974C (zh) 2002-05-17 2003-05-07 用于以迭代方式解码输入数据的解码电路和方法

Country Status (8)

Country Link
US (1) US7480846B2 (zh)
EP (1) EP1550225B1 (zh)
JP (1) JP2005526443A (zh)
KR (1) KR20060044286A (zh)
CN (1) CN100472974C (zh)
AU (1) AU2003223080A1 (zh)
FR (1) FR2839830A1 (zh)
WO (1) WO2003098811A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069357B (zh) * 2004-12-02 2011-09-14 Nxp股份有限公司 对数据块冗余版本进行解码的Turbo解码器
US8719658B2 (en) * 2010-09-09 2014-05-06 Qualcomm Incorporated Accessing memory during parallel turbo decoding
WO2012093956A1 (en) * 2011-01-05 2012-07-12 Zte Wistron Telecom Ab Method for stopping iteration in an iterative turbo decoder and an iterative turbo decoder
US8762808B2 (en) 2012-02-22 2014-06-24 Lsi Corporation Multi-processing architecture for an LTE turbo decoder (TD)
US11615837B2 (en) * 2020-09-22 2023-03-28 Qualcomm Incorporated Pseudo-triple-port SRAM datapaths

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448715A (en) * 1992-07-29 1995-09-05 Hewlett-Packard Company Dual clock domain interface between CPU and memory bus
JP3892078B2 (ja) * 1996-05-08 2007-03-14 株式会社ルネサステクノロジ 半導体記憶装置
US5867694A (en) * 1996-10-07 1999-02-02 International Business Machines Corporation Information handling system including apparatus and method for controlling clock signals operating at different frequencies
JP3604291B2 (ja) * 1998-10-08 2004-12-22 富士通株式会社 ダブルレートの入出力回路を有するメモリデバイス
JP3530422B2 (ja) * 1999-06-16 2004-05-24 Necエレクトロニクス株式会社 ラッチ回路とレジスタ回路
US6314047B1 (en) * 1999-12-30 2001-11-06 Texas Instruments Incorporated Low cost alternative to large dual port RAM
US6662331B1 (en) * 2000-10-27 2003-12-09 Qualcomm Inc. Space-efficient turbo decoder
US6996767B2 (en) * 2001-08-03 2006-02-07 Combasis Technology, Inc. Memory configuration scheme enabling parallel decoding of turbo codes
US6882562B2 (en) * 2001-11-01 2005-04-19 Agilent Technologies, Inc. Method and apparatus for providing pseudo 2-port RAM functionality using a 1-port memory cell

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
. .
VLSI Architectures for Turbo Codes. Guido Masera, Et al.IEEETransactions on Very Large Scale Integration (VLSI) Systems,Vol.7 No.3. 1999
VLSI Architectures for Turbo Codes. Guido Masera, Et al.IEEETransactions on Very Large Scale Integration (VLSI) Systems,Vol.7 No.3. 1999 *

Also Published As

Publication number Publication date
KR20060044286A (ko) 2006-05-16
AU2003223080A1 (en) 2003-12-02
EP1550225B1 (en) 2013-03-13
CN1653700A (zh) 2005-08-10
US7480846B2 (en) 2009-01-20
EP1550225A2 (en) 2005-07-06
FR2839830A1 (fr) 2003-11-21
WO2003098811A3 (en) 2004-05-21
WO2003098811A8 (en) 2004-11-11
JP2005526443A (ja) 2005-09-02
WO2003098811A2 (en) 2003-11-27
US20050180513A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
KR100671075B1 (ko) 터보 코딩의 사용을 용이하게 하기 위한 디코더, 디코딩 시스템 및 디코딩 방법
JP4478668B2 (ja) 並列のターボ復号機中でのインターリーブの方法およびシステム。
US8078933B2 (en) Decoder for low-density parity-check convolutional codes
FI109162B (fi) Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
MXPA01003814A (es) Sistema de codificacion que tiene una maquina de estado basada en un intercalador.
US8010867B2 (en) Error correction code decoding device
US20060265635A1 (en) Method of maximum a posterior probability decoding and decoding apparatus
US20060236045A1 (en) Apparatus for deinterleaving interleaved data using direct memory access
CN100361397C (zh) 特播解码装置和方法
CN100546207C (zh) 一种基于DVB-RCS标准的双二元Turbo码译码方法
US7761772B2 (en) Using no-refresh DRAM in error correcting code encoder and decoder implementations
CN100472974C (zh) 用于以迭代方式解码输入数据的解码电路和方法
CN100508405C (zh) 提高Turbo码译码速度的并行译码方法及译码装置
CN100488059C (zh) 分量编码器及其编码方法和双输入Turbo编码器及其编码方法
GB2409133A (en) Interleaver for a turbo encoder and decoder
US7278088B2 (en) Configurable architecture and its implementation of viterbi decorder
KR100628201B1 (ko) 터보 디코딩 방법
US7743287B2 (en) Using SAM in error correcting code encoder and decoder implementations
US20060039509A1 (en) Method for decoding data using windows of data
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
CN102104387A (zh) 译码器和译码方法
US8200733B1 (en) Device having interleaving capabilities and a method for applying an interleaving function
JP2001053624A (ja) 誤り訂正復号器およびこれを用いた携帯電話
Giulietti et al. Demystifying the Fang-Buda Algorithm: Boosting the block turbo decoding
CN114337689A (zh) 双二进制Turbo码的编译码方法及装置

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: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070907

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070907

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090325

Termination date: 20180507

CF01 Termination of patent right due to non-payment of annual fee