CN1568577A - 特播解码装置和方法 - Google Patents

特播解码装置和方法 Download PDF

Info

Publication number
CN1568577A
CN1568577A CNA038012588A CN03801258A CN1568577A CN 1568577 A CN1568577 A CN 1568577A CN A038012588 A CNA038012588 A CN A038012588A CN 03801258 A CN03801258 A CN 03801258A CN 1568577 A CN1568577 A CN 1568577A
Authority
CN
China
Prior art keywords
shift register
output
input
tolerance
receive
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
CNA038012588A
Other languages
English (en)
Other versions
CN100361397C (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1568577A publication Critical patent/CN1568577A/zh
Application granted granted Critical
Publication of CN100361397C publication Critical patent/CN100361397C/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/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • 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/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/296Particular turbo code structure

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

公开了一种用于通信系统的turbo解码装置和方法。在接收机的存储缓冲器与turbo解码器之间安装一个高速存储缓冲器,该高速存储缓冲器以与turbo解码器相同的频率操作。所述解码装置经由所述高速存储缓冲器读取接收机的存储缓冲器中存储的数据位,延迟所读取的数据一段turbo解码器中所需的时间,并且随后将所延迟的数据位提供到turbo解码器的软进软出(SISO)解码器。接收机的存储缓冲器以turbo解码器的操作频率或时钟输出数据位。

Description

特播解码装置和方法
技术领域
本发明通常涉及一种通信系统中的解码装置和方法,尤其涉及一种执行特播(turbo)解码的装置和方法。
背景技术
在数字通信系统中,前向纠错(FEC)码通常被用来有效地纠正可能在数据传输期间出现在信道上的错误。它提高了数据传输的可靠性。前向纠错码包括turbo码。由于turbo码与卷积码相比,在高速数据传输期间具有更好的纠错能力,因此它被用在同步码分多址2000(CDMA2000)系统和异步通用移动电信系统(UMTS)中,这两种系统作为第三代移动通信系统都吸引了公众的注意力。
图1示出了第三代移动通信系统中接收机的示例的方框图。图1示出了接收机的结构,例如能够进行高速分组数据通信的发展数据和话音(1x EV-DV)系统(Evolution Data and Voice System)。
在图1中,被接收的信号经过由接收信号处理器10进行的射频(RF)、中频(IF)和基带处理。根据信道分离由接收信号处理器10处理的信号。接收机30处理前向基本信道(F-FCH)信号、前向补充信道(F-SCH)信号、和前向专用控制信道(F-PDCH)信号。接收机40处理前向分组数据信道(F-PDCH)信号。接收机50处理前向分组数据控制信道(F-PDCCH)。接收机40包括块42、44、46和48。块42具有最小化信道上可能出现的损耗的功能,并且包括指状物(finger)和组合器(都未示出)。块44具有转换信号从而能够进行信道解码的功能,并且包括解调缓冲器、沃尔什解码器、符号去映射器和解扰器(都未示出)。块48具有用于执行解码和将解码结果提供到L1层70以供其参考的功能,并且包括turbo解码器和输出缓冲器(都未示出)。块46具有将解码符号提交到块48以供解码的功能,并且包括组合器、去混洗器、解交织器、和存储缓冲器(都未示出)。
搜索器20是一种用于搜索所接收的信号的组件,混合自动重发请求(HARQ)控制器60是一种用于请求接收故障符号的重发的组件。
图2示出了一个传统turbo解码器装置的示例的方框图,尤其解释了一个如图1所示的turbo解码器块48的详细结构的示例。在该附图中,例如用一种软进软出(SISO)方案构造turbo解码器。该turbo解码器也可以采用一种极大后验(MAP)方案或寄存交换软输出维特比算法(RESOVA)方案来代替SISO方案来实现。SISO方案是一种用于计算符号的具有可靠性的概率的方案,RESOVA方案是一种通过将符号通过的路径认为是一长码字来计算码字的概率的方案。
参考图2,存储在图1所示的块46的存储缓冲器46-1中的符号(数据位)被提供到块48的输入端。作为交织位系统代码的系统代码、作为交织位非系统代码的奇偶校验码#1和奇偶校验码#2被分开存储。将系统码的位和奇偶校验码的位从存储缓冲器46-1同时提供到块48。例如,在1x EV-DV系统中,存储缓冲器46-1是一种准互补turbo编码(QCTC)存储缓冲器,用于存储在采用QCTC编码进行编码之后从发送机接收的符号。由于从存储缓冲器46-1输出的一个编码由M个位组成,并且系统码的三个编码和奇偶校验码Parity#1和Parity#2都是从存储缓冲器46-1输出的,因此在存储缓冲器46-1与块48之间形成3×M个位总线,并且将从存储缓冲器46-1输出的编码提供到块48的复用器(MUX)48-1。
Turbo解码器块48包括复用器48-1、SISO解码器(或SISO方案的解码器)48-2、交织器48-3、解交织器48-4、输出缓冲器48-5、和循环冗余码(CRC)校验器48-6。复用器48-1将来自存储缓冲器46-1的位、交织器48-3的输出和解交织器48-4的输出多路复用。SISO解码器48-2采用图3所示的构造对复用器48-1的输出进行SISO解码。交织器48-3交织SISO解码器48-2的输出。解交织器48-4对SISO解码器48-2的输出进行解交织。输出缓存器48-5存储解交织器48-4的解交织结果,从而L1层处理器70可以参考该解交织结果。CRC校验器48-6对解交织器48-4的解交织结果执行CRC校验,并且将该CRC校验结果提供到L1层处理器70。
图3示出了一个传统的SISO解码器的示例的方框图。该附图示出了一个采用滑动窗口模式方案的SISO解码器的示例。在此假设窗口数为2。SISO解码器在基本结构上等同于MAP解码器(或MAP方案的解码器),仅在输出值上与MAP解码器不同。
参考图3,SISO解码器在它进行解码处理时计算几个度量。即,在SISO解码器的解码操作期间,计算δ度量、α度量、β度量、和对数似然比(LLR)值。解复用器(DEMUX)205以预定速率,即大于turbo解码器的时钟(或操作频率)三倍的预定速率访问存储在存储缓冲器46-1中的数据位,并且提供第一输出(1)、第二输出(2)和第三输出(3)。δ度量计算部分210包括三个计算器211到213,用于分别计算第一(1)到第三(3)输出的δ度量。α度量计算器220接收通过δ度量计算器211计算的δ度量,并且计算相对应的α度量。β度量计算部分230由两个计算器231和232以及复用器233组成。也就是,β度量计算部分230包括用于计算第一β(β1)度量的计算器231、用于计算第二β(β2)度量的计算器232、和对计算器231到243的计算结果进行多路复用的复用器233。LLR计算部分240由三个计算器241到243组成,并且接收通过α度量计算器220计算的α度量和复用器233的复用结果,和计算相对应的LLR值。减法部分250由三个减法器251到253组成,这三个减法器从由LLR计算器241到243计算的LLR值中减去解复用器205的第一输出(1),并且将减法结果提供到图2所示的交织器48-3和解交织器48-4,以供交织/解交织。
如上所述,传统SISO解码器由用于度量计算的δ度量计算部分、α度量计算部分和β度量计算部分、以及根据概率对所述度量进行解码的LLR计算部分组成。这里,根据窗口的数量,β度量计算部分由两个计算器组成。
δ度量也称作“状态度量”,表示编码器从一个状态到另一个状态的转变概率。α度量也称作“前向状态度量”,表示将要从前一个状态转变成下一个状态的概率值的度量及变成前一个状态的概率值的度量之和。α度量是指在信号的一个周期上根据第一接收信号计算的累积概率,并且α度量被依次计算。β度量也称作“后向状态度量”,表示从当前状态到前一个状态的累积概率。如果都计算α度量和β度量,则随后计算LLR的值。LLR表示符号的概率,并且表示为对数标度中的“1”的概率与“0”的概率之比。用于计算LLR的LLR计算器241到243每一个根据从前向状态和后向状态的变换概率来计算符号的概率。这里,正的LLR值表示符号“1”,而负的LLR值表示符号“0”。为了解码以这种方式接收的信号,SISO解码器计算α度量和β度量。此处,由于必须以存储在存储缓冲器46-1中的接收信号相反的顺序来计算β度量,因此直到β度量的计算完全结束才能计算LLR值。
图4A和4B示出了图3的传统SISO解码器的度量计算顺序的示例的方框图。具体地,图4A示出了计算α度量的处理,而图4B示出了计算β度量的处理。参考图4A和4B,注意到,计算α度量的处理不同于计算β度量的处理。α度量αk是从第(k-1)个α度量开始计算的,这是前一个值,而β度量βk是从第(k+1)个β度量开始计算的,这是下一个值。为了以这种方式计算β度量,必须以信号接收顺序相反的顺序来参考接收的信号,这导致了所接收信号整个长度的初始延迟。
图5A和5B示出了在帧模式和窗口模式中图3的传统SISO解码器帧的计算顺序的示例方框图。具体地,图5A示出了帧模式中由SISO解码器48-2计算度量的顺序,而图5B示出了在图3所示的窗口模式中由SISO解码器48-2计算度量的顺序。
参考图5A,由于α度量和LLR值λ是在完全计算了β度量之后计算的,因此在一个帧周期中出现了初始延迟。具有如此帧模式的SISO解码器通过在计算β度量之后计算α度量来计算LLR值λ。因此,在计算β度量期间出现一个延迟时间。为了减少这样的初始延迟,提出了一种滑动窗口模式方案。
参考图5B,处于窗口模式的SISO解码器48-2以预定长度来划分接收的信号,以便计算β度量。如果用以预定长度划分的接收信号来计算β度量,则初始计算的值具有不正确的概率,但是随着时间推移会计算出更正确的值。实际上,当计算LLR,可以使用一个从计算正确值的周期开始计算的值。这里,为了计算方便,将不正确的周期和可靠周期的长度都设定为相同的长度。一个窗口计算正确的值,另一个窗口计算不正确的值,由此交替所述正确值和不正确值。使用两个窗口来计算β度量的一个示例是如图3所示的β度量计算部分230。因此,处于窗口模式的SISO解码器48-2计算α度量、β1度量和β2度量三个值。必须在计算三个度量之前计算δ度量。
参考图3,δ度量计算器211到213接收在存储缓冲器46-1的不同地址中存储的接收信号的数据位,并且计算相应的δ度量。也就是,如图7所示,δ度量计算器211到213在turbo解码器的操作频率的1时钟时间从存储缓冲器46-1读取不同位置的信号。
图6示出了由图3所示的SISO解码器进行的数据位输入和度量输出的处理流程的一个示例的方框图。参考图6,应当注意,在存储缓冲器46-1的不同地址中存储的接收信号的数据位被提供到SISO解码器48-2的δ度量计算器211到213。水平线表示时间轴,并且注意,随着时间逝去将不同的数据位提供到δ度量计算器211到213。对于这样的操作,对存储缓冲器46-1的访问必须比turbo解码器的操作频率快三倍。也就是,必须将比turbo解码器时钟快三倍的时钟作为存储缓冲器46-1的时钟。
图7示出了由图3所示的SISO解码器进行的存储缓冲器访问操作的时序示例的时序图。参考图7,SISO解码器读取在存储缓冲器46-1的不同地址addr1、addr2和addr3存储的数据位data1、data2和data3,并且为α度量计算δ度量、为β1度量计算δ度量、和为β2度量计算δ度量。为此,以比turbo解码器时钟快三倍的速率来执行存储缓冲器46-1的读取操作。
假设窗口大小(或长度)W=4,该W远短于实际应用的长度,执行图6和7所示的存储缓冲器访问操作和数据处理操作。当实际应用到高速(或高速率)turbo解码器时,窗口大小将被设定为24到48(W=24~48),并且根据环境它可以被设定为更大的值。尽管改变了窗口大小W,缓冲器的结构没有变化,和数据流图的整个形状也没有变化,但是随长度成比例增加。
参考图6,在δ块输入的每个框中写入的字母表示存储在存储缓冲器46-1的不同地址的数据位,并且意味着一个提供到δ度量计算器210的值。当与α度量相比首先计算β度量时,两个β度量计算器231和232轮流操作(请参考图6有关T1周期和T2周期)。同时从计算可靠β1度量的时间开始计算α度量(请参考T2周期)。当计算β度量时,对于开始的W周期输出不正确的概率值,但是对于随后的W周期输出具有可靠概率的度量值。在一个α输出、β1输出、和β2输出中,每个框中的字母是指度量的顺序。由于δ度量计算器212和213的输出对于β1和β2互相交替,因此由β度量计算器231和232计算的β度量是连续的。在图6中,由虚线示出的圆表示必须在那时接收的数据位,该数据位是在存储缓冲器46-1的不同位置、或不同地址d,n和f接收的信号。
同时,如果假设图3所示的SISO解码器用于需要较高数据速率的1xEV-DV系统,则要求turbo解码器以大约30到60MHz的频率进行操作。因此,存储缓冲器46-1的操作频率必须被定义在90到180MHz范围,这达到了turbo解码器的操作频率的三倍。turbo解码器的这样的操作频率不适用于需要低功耗的移动通信终端。
如上所述,1x EV-DV系统和典型第三代移动通信系统能够进行高速分组数据通信。在这样的通信系统中,对于高性能而需要高速turbo解码器。对于高速解码,必须以合适的方法将在连接到turbo解码器的前一级的存储缓冲器中存储的数据位(或符号)提供到turbo解码器。与具有帧模式方案的SISO解码器相比,具有滑动窗口模式方案的SISO解码器可以降低初始延迟。因此,最好使用具有滑动窗口模式方案的SISO解码器作为turbo解码器。具有滑动窗口模式方案的SISO解码器在从存储缓冲器读取对应于窗口数量的数据位之后执行解码操作。例如,如果窗口的数量是2,则SISO解码器在从存储缓冲器读取数据位三次之后计算用于解码的度量。当turbo解码器以低速操作时,那样的操作不会引起问题,但是当turbo解码器以高速操作时,则会引起问题。这是因为当存储缓冲器必须比turbo解码器快三倍操作并且turbo解码器的操作频率较低时,使用具有大于该操作频率三倍的速率的存储缓冲器对于移动通信终端来说是合理的,但是当turbo解码器的操作频率较高时,使用具有大于该操作频率三倍的速率的存储缓冲器对于移动通信终端来说是非常不合理的。例如,对于旨在提供高速数据业务的CDMA2000或UMTS系统,turbo解码器必须以高速操作,以便达到它的满容量。此外,如果即使存储缓冲器的操作频率增加,在移动通信终端消耗的功率也将剧烈地增加。这种功率消耗中的剧烈增加不适用于要求低功耗设计的移动通信终端。
发明内容
因此,本发明的一个目的是提供了一种在用于服务高速分组数据的通信系统,例如1x EV-DV系统中使用的turbo解码装置和方法。
本发明的另一目的是提供一种在高速操作的移动通信终端中将turbo解码器的操作频率与存储缓冲器的操作频率相匹配的装置和方法,所述存储缓冲器将数据位提供到turbo解码器。
本发明的另一目的是提供一种在高速操作的移动通信终端中通过消除增加存储缓冲器的操作频率的需要使移动通信终端消耗更少功率的装置和方法,所述存储缓冲器存储用于解码的接收数据位。
为了实现上述和其它目的,本发明在接收机的存储缓冲器和turbo解码器之间放置一种以与turbo解码器相同频率进行操作的高速存储缓冲器,并且提出一种解码装置,该解码装置经由高速存储缓冲器读取存储在接收机的存储缓冲器中的数据位,将所读取的数据位延迟turbo解码器中要求的时间,并且随后将所延迟的数据位提供到turbo解码器的软进软出(SISO)解码器。接收机的存储缓冲器以turbo解码器的操作频率(或时钟)输出数据位。本发明消除了即使当必须在turbo解码器中处理的数据速率增加时对接收机的存储缓冲器的操作频率增加的需要。因此,本发明提供移动通信环境中使用的一种消耗更少的功率的电路。
根据本发明的第一实施例,通信系统中的turbo解码装置包括存储缓冲器和SISO解码器。所述存储缓冲器由单向移位寄存器、一个或多个双向移位寄存器组成。所述SISO解码器由第一度量计算部分到第四度量计算部分和减法部分组成。
单向移位寄存器具有用于数据输入的输入端和用于数据输出的输出端。所述单向移位寄存器通过经由输入端依次接收和移位输入数据位来形成第一长度位流,并且随后经由输出端依次输出所形成的第一长度位流。
每个所述双向移位寄存器具有用于数据输入/输出的第一端和第二端,并且所述输入数据位被划分成多个组,每个组由长度是第一长度的1/2的第二长度的位组成。所述双向移位寄存器通过经由第一端依次接收和移位所划分的组中的奇数组的位来形成第二长度位流,并随后经由第一端依次输出所形成的位流;并且通过经由第二端依次接收和移位所划分的组中的偶数组的位来形成第二长度位流,并随后经由第二端依次输出所形成的位流。
第一度量计算部分接收各个移位寄存器的输出位,并且计算相应的δ度量。第二度量计算部分接收来自与所述单向移位寄存器相对应的第一度量计算部分的δ度量,并且计算α度量。第三度量计算部分接收来自与所述双向移位寄存器相对应的第一度量计算部分的δ度量,并且计算β度量。第四度量计算部分接收所述α度量,也接收所述β度量的复用(multiplexing)结果,并且计算对应于各个移位寄存器的LLR值。减法部分将单向移位寄存器的输出从各个LLR值中减去,并且输出减法结果以供交织/解交织。
最好是,所述存储缓冲器还包括控制逻辑,用于确定所述输入数据位是否是所划分的组之中的奇数组的位或偶数组的位,并且给所述双向移位寄存器提供选择信号,所述选择信号根据确定结果将输入数据位提供给第一端或第二端。
最好是,所述存储缓冲器还包括对应于每个双向移位寄存器的解复用器和复用器。所述解复用器具有用于接收输入数据位的输入端和分别连接到第一端和第二端的第一输出端和第二输出端,所述解复用器响应从控制逻辑提供的选择信号经由第一输出端将奇数组的位提供到第一端,并且经由第二输出端将偶数组的位提供到第二端。所述复用器响应从控制逻辑提供的对应选择信号对经由第一端输出的位流和经由第二端输出的位流进行复用,并且将所复用的位流输出到所述第一度量计算部分。
最好是,所述选择信号是在不同时间将输入数据位提供到所述双向移位寄存器的控制信号。
最好是,奇数组的位经由第一端被依次输出,并且同时,偶数组的位经由第二端被依次接收和移位。
最好是,所述双向移位寄存器的数量由窗口的数量来定义。
最好是,所述第一长度和第二长度由窗口的大小和窗口的数量来定义。
最好是,所述第二长度是通过将窗口的大小与窗口的数量相乘而确定的。
最好是,所述输入数据位是以turbo解码器的时钟频率接收的。
根据本发明的第二实施例,通信系统中的turbo解码装置包括存储缓冲器和SISO解码器。所述存储缓冲器由第一级双向移位寄存器和第二级双向移位寄存器组成。所述SISO解码器由第一度量计算部分到第四度量部分和减法部分组成。
每个第一级双向移位寄存器具有用于数据输入/输出的第一端和第二端,并且所述输入数据位被划分成多个组,每个组由预定长度的位组成。所述第一级双向移位寄存器通过经由第一端依次接收和移位所划分的组中的奇数组的位来形成所述长度的位流,并随后经由第一端依次输出所形成的位流;并且通过经由第二端依次接收和移位所划分的组中的偶数组的位来形成所述的长度位流,并随后经由第二端依次输出所形成的位流。
所述第二级双向移位寄存器具有用于数据输入/输出的第三端和第四端,并且所述第二级双向移位寄存器通过经由第三端依次接收和移位经由第一端依次输出的位来形成所述长度的位流,并随后经由第三端依次输出所形成的位流;并且通过经由第四端依次接收和移位经由第二端依次输出的位来形成所述长度的位流,并随后经由第四端依次输出所形成的位流。
第一度量计算部分接收各个移位寄存器的输出位,并且计算相应的δ度量。第二度量计算部分接收来自与所述单向移位寄存器相对应的第一度量计算部分的δ度量,并且计算α度量。第三度量计算部分接收来自与所述双向移位寄存器相对应的第一度量计算部分的δ度量,并且计算β度量。第四度量计算部分接收所述α度量,也接收所述β度量的复用结果,并且计算对应于各个移位寄存器的对数似然比(LLR)值。减法部分将单向移位寄存器的输出从各个LLR值中减去,并且输出减法结果以供交织/解交织。
最好是,所述存储缓冲器还包括控制逻辑,用于确定所述输入数据位是否是所划分的组之中的奇数组的位或偶数组的位,并且给所述第一级双向移位寄存器提供选择信号,所述选择信号根据确定结果将输入数据位提供给第一端或第二端。
最好是,所述存储缓冲器还包括对应于每个第一级双向移位寄存器的解复用器和复用器。所述解复用器具有用于接收输入数据位的输入端和分别连接到第一端和第二端的第一输出端和第二输出端,所述解复用器响应从控制逻辑提供的对应选择信号经由第一输出端将奇数组的位提供到第一端,并且经由第二输出端将偶数组的位提供到第二端。所述复用器响应从控制逻辑提供的对应选择信号对经由第一端输出的位和经由第二端输出的位进行复用,并且将所复用的位输出到所述第一度量计算部分。
最好是,所述存储缓冲器还包括对应于第二级双向移位寄存器的复用器,所述复用器响应从控制逻辑提供的对应选择信号对经由第三端输出的位和经由第四端输出的位进行复用,并且将所复用的位输出到所述第一度量计算部分。
最好是,所述选择信号是在不同时间将输入数据位提供到所述双向移位寄存器的控制信号。
最好是,奇数组的位经由第一端被依次输出,并且同时,偶数组的位经由第二端被依次接收和移位。
最好是,所述第一级双向移位寄存器的数量由窗口的数量来定义。
最好是,所述第一长度和第二长度由窗口的大小和窗口的数量来定义。
最好是,所述第二长度是通过将窗口的大小与窗口的数量相乘而确定的。
最好是,所述输入数据位是以turbo解码器的时钟频率接收的。
附图说明
通过结合附图的下列详细描述,本发明的上述和其它方面、特征和优点将变得更加明显,其中:
图1示出了移动通信系统中接收机的一个示例的方框图;
图2示出了传统turbo解码装置的一个示例的方框图;
图3示出了传统SISO解码器的一个示例的方框图;
图4A和4B示出了由传统SISO解码器执行的度量计算顺序的一个示例的方框图;
图5A和5B示出了由传统SISO解码器执行的帧模式和窗口模式中的计算顺序的一个示例的方框图;
图6示出了由图3所示的SISO解码器执行的数据位输入和度量输出的处理流程的一个示例的方框图;
图7示出了由图3所示的SISO解码器执行的存储缓冲器访问操作时序的一个示例的时序图;
图8示出了根据本发明一个实施例的SISO解码器的一个示例的方框图;
图9示出了根据本发明一个实施例的如图8所示的高速存储缓冲器的一个示例的方框图;
图10示出了由根据本发明一个实施例的图9所示的控制逻辑执行的控制操作的一个示例的流程图;
图11示出了由根据本发明一个实施例的图9所示的高速存储缓冲器执行的存储缓冲器存取操作时序的一个示例的时序图;
图12示出了根据本发明一个实施例的图8所示的高速存储缓冲器的结构的另一个示例的方框图;
图13示出了由根据本发明一个实施例的图12所示的控制逻辑执行的控制操作的一个示例的流程图;
图14示出了对于根据本发明一个实施例的图12所示的对于α度量、由移位寄存器执行的数据处理流程的一个示例的方框图;
图15示出了对于根据本发明一个实施例的图12所示的对于β度量、由移位寄存器执行的数据处理流程的一个示例的方框图;
图16示出了由根据本发明一个实施例的图12所示的高速存储缓冲器执行的存储缓冲器存取操作时序的一个示例的方框图;
图17示出了根据本发明一个实施例的图8所示的高速存储缓冲器的另一个示例的方框图;
图18示出了由根据本发明一个实施例的图17的控制逻辑执行的控制操作的一个示例的流程图;
图19示出了对于根据本发明一个实施例的图17所示的对于α度量、由移位寄存器执行的数据处理流程的一个示例的方框图;和
图20示出了由根据本发明一个实施例的图17的高速存储缓冲器执行的存储缓冲器访问处理时序的一个示例的方框图。
具体实施方式
现在将参考附图来详细描述本发明的几个实施例。在附图中,相同和相似的组件用相同的参考标记来表示。这里为了简洁而省略了已知功能和结构的详细描述。
图8示出了根据本发明实施例的SISO解码器的一个示例的方框图。该图仅示出了SISO解码器,它由图2所示的turbo解码器和连接到所述SISO解码器的前一级的存储缓冲器组成。
参考图8,根据本发明实施例的解码装置包括一个SISO解码器,它由δ度量计算部分210、α度量计算部分220、β度量计算部分230、LLR计算部分240、和减法部分250组成。该解码装置的特征在于还包括位于SISO解码器与存储缓冲器46-10之间的高速存储缓冲器260,所述存储缓冲器46-10用于存储如图3所示的接收的符号(或数据位)。另外,解码装置的存储缓冲器46-10的特征是以{1×turbo解码器的时钟}的速率进行操作,而不是以传统解码装置中的存储缓冲器46-1的{3×turbo解码器的时钟}速率进行操作(请参考图7和11)。也就是,所提出的解码装置的特征在于将高速存储缓冲器260附加地安排在存储缓冲器46-10之后,以便对于turbo解码器的1个时钟访问存储在存储缓冲器46-10的不同位置中的接收数据位,并且将所访问的数据位提供给δ度量计算部分210的各个计算器211到213,从而对于turbo解码器的一个时钟执行由δ度量计算部分210进行的δ度量计算操作。
所提出的解码装置虽然在提供高速分组数据业务的通信系统,例如1xEV-DV系统中被使用,但是它不需要增加存储缓冲器的操作频率。因此,所述解码装置适用于使移动通信终端能够消耗较少的功率。仅供参考,在图3的传统解码装置中,由于所接收的数据位经由连接到接收机的存储缓冲器46-1的解复用器205而直接连接到turbo解码器,因此按图6所示执行三次从接收机的存储缓冲器46-1的数据读取操作。然而,本发明提出的解码装置的特征在于在解码器的输入级另外安排存储缓冲器260而不是解复用器,从而使SISO解码器的正常操作一个时钟进行一个读取操作。也就是,所提出的解码装置在计算三个δ度量时仅需要一个存储器读取操作,并且这种操作等同于turbo解码器的一个操作时钟。因为高速存储缓冲器260在其中事先存储了接收的信号并随后重新排列所接收的数据,以便与由δ度量计算器211到213期望的输入匹配,因此,那样的操作是可能的。
由于前面已经描述了SISO解码器的结构,因此将省略对其的详细描述,并且现在本发明的描述将集中在有关本发明的高速存储缓冲器260的结构和操作上。
所提出的解码装置的高速存储缓冲器260可以如图9、12、和17所示的进行构造。图9示出了其中高速存储缓冲器260由一个单向移位寄存器310和与窗口数量N一样多的双向移位寄存器321、322和323组成的一个实施例。图12示出了其中高速存储缓冲器260由一个单向移位寄存器410和与窗口数量2一样多的双向移位寄存器421和422组成的一个实施例。图9和12所示的结构在原理上相同,但是在窗口的数量上不同。图17示出了其中高速存储缓冲器260由一个单向移位寄存器510和与窗口数量2一样多的双向移位寄存器521和522组成的一个实施例。图17所示的结构在原理上与图9和12所示的结构不同。在图9和12所示的结构中,来自存储缓冲器46-10的数据位被同时提供到单向移位寄存器和双向移位寄存器。相反,在图17所示的结构中,来自存储缓冲器46-10的数据位被提供到双向移位寄存器521和522,并且从双向移位寄存器521和522输出的数据位被提供到与第一和第二实施例中的单向移位寄存器310和410相对应的双向移位寄存器510。
下面将分别更详细地描述图9、12和17的第一、第二和第三实施例。
第一实施例
图9示出了根据本发明第一实施例的图8所示的高速存储缓冲器260的结构的示例方框图。参考图9,高速存储缓冲器260由一个单向移位寄存器310、N个双向移位寄存器321到223、控制逻辑330、解复用器(DEMUX)341到343、和复用器(MUX)351到353组成。
单向移位寄存器310具有2NW个存储区(长度),并且包括一个用于数据输入的输入端和一个用于数据输出的输出端。这里,N是窗口的数量,W是窗口的大小。窗口的大小W可以改变。然而,即使窗口的大小W改变,移位寄存器的比率(例如2W和4W)也不会变化。对于W=24,单向移位寄存器310对于α的大小为96,而移位寄存器321到323对于β1和β2的大小为48。当W改变,则移位寄存器的长度相应地改变,并且数据处理流也将改变。然而,即使W改变,移位寄存器的结构不会改变。单向移位寄存器310根据turbo解码器的预定时钟通过输入端从存储缓冲器46-10依次接收输入数据位,并且将所接收的输入数据位从左(边A)到右(边B)移位。当第一长度(2NW)的数据位流形成时,单向移位寄存器310通过输出端依次输出所形成的第一长度的数据位流。从单向移位寄存器310输出的数据位被提供到连接到α度量计算部分220的前端的δ度量计算器211。
双向移位寄存器321到323的每一个具有NW个存储区,并且包括用于数据输入/输出的第一端和第二端。第一端表示在双向移位寄存器321到323的每一个的左边安排的端,而第二端表示在双向移位寄存器321到323的每一个的右边安排的端。第一端和第二端可以支持数据输出和数据输入。双向移位寄存器321到323的数量由窗口的数量来确定。如果窗口的数量是N,则双向移位寄存器321到323的数量被确定为N;如果窗口的数量是2,则双向移位寄存器321到323的数量被确定为2。来自存储缓冲器46-10的输入数据位被划分成多个组,每个组由为第一长度的1/2的第二长度(NW)的多个位组成。双向移位寄存器321到323的每一个通过第一端从左(边A)到右(边B)依次接收和移位被划分的组之中的奇数组的位,并且如果形成第二长度的位流,则双向移位寄存器321到323的每一个通过第一端从右到左依次输出所形成的位流,这与输入的顺序相反。双向移位寄存器321到323的每一个通过第二端从右到左依次接收和移位被划分的组之中的偶数组的位,并且如果形成第二长度的位流,则双向移位寄存器321到323的每一个通过第二端从左到右依次输出所形成的位流,这与输入的顺序相反。
在存储缓冲器46-10的输出端与移位寄存器321到323之间提供解复用器341到343,并且在移位寄存器321到323与δ度量计算部分210之间提供复用器351到353。解复用器341到343的输入端连接到存储缓冲器46-10的输出端,解复用器341到343的第一输出端连接到移位寄存器321到323的第二端,和解复用器341到343的第二输出端连接到移位寄存器321到323的第一端。复用器351到353的第一输入端连接到移位寄存器321到323的第二端,复用器351到353的第二输入端连接到移位寄存器321到323的第一端,和复用器351到353的输出端连接到δ度量计算器211到213。
控制逻辑330提供选择信号select1到selectN,用于控制移位寄存器321到323、解复用器341到343、和复用器351和353的操作。该选择信号可以被指定为用于控制来自存储缓冲器46-10的输入数据位的信号,从而输入数据位在不同的时间被提供到移位寄存器321到323。控制逻辑330确定来自存储缓冲器46-10的输入数据位是被划分的组之中的奇数组位还是偶数组位,并且根据确定结果将来自存储缓冲器46-10的输入数据位提供给移位寄存器321到323的第一端或第二端。
例如,当输入数据位是奇数组位时,控制逻辑330输出选择信号“0”或“逻辑低”电平;当输入数据位是偶数组位时,控制逻辑330输出选择信号“1”或“逻辑高”电平。当输出选择信号“0”电平时,解复用器341到343将来自存储缓冲器46-10的输入数据位提供给移位寄存器321到323的第一端。随后,移位寄存器321到323从左到右(以向右方向)依次移位通过它们的第一端接收的数据位。同时,移位寄存器321到323从左到右再依次移位先前通过它们的第二端接收的NW个数据位,并且随后将其存储,并且通过它们的第二端输出被移位的数据位。
当输出选择信号“1”电平时,解复用器341到343将来自存储缓冲器46-10的输入数据位提供给移位寄存器321到323的第二端。随后,移位寄存器321到323从右到左(以向左方向)依次移位通过它们的第二端接收的数据位。同时,移位寄存器321到323从右到左再依次移位先前通过它们的第一端接收的NW个数据位,并且随后将其存储,并且通过它们的第一端输出被移位的数据位。
通过移位寄存器321到323的第一端输出的数据位被提供给复用器351到353的第二输入端,并且通过移位寄存器321到323的第二端输出的数据位被提供给复用器351到353的第一输入端。复用器351到353对通过它们的第一输入端和第二输入端提供的数据位多路复用,并且将复用的数据位输出到相应的δ度量计算器211到213。
如上所述,所公开的解码装置使用具有如图9所示的结构的高速存储缓冲器260,将存储在存储缓冲器46-10的不同位置中的数据位提供给SISO解码器。也就是,高速存储缓冲器260使用滑动窗口模式方案通过移位寄存器310和321到323,重新安排先前以SISO解码器所需的顺序依次接收的数据位。
参考图9,来自存储缓冲器46-10的M个位被提供到具有2NW或NW个存储区的移位寄存器310和321到323。这里,N表示窗口的数量,W表示窗口的大小,和M表示对于turbo解码器的一个时钟从存储缓冲器46-10接收的数据位的数量。当存储缓冲器46-10是QCTC存储缓冲器时,M是系统码的位宽度与奇偶检验码的位宽度之和。也就是,M位信号是一个通过将系统码的M/3位、第一奇偶校验码的M/3位、和第二奇偶校验码的M/3位相加而得到的信号。对于M位信号输入,移位寄存器310和321到323、解复用器341到343、和复用器351到353都被构造成具有M位宽度。M位信号的输出,即从移位寄存器310和321到323输出的值被提供到δ度量计算器211到213。δ度量计算器211到213接收三个M/3位信号,这三个M/3位信号的和是M位。
图10解释了由图9所示的控制逻辑330的控制操作。具体地,该图示出了其中控制逻辑330对于β度量而控制移位寄存器321到323、连接到移位寄存器321到323前端和后端的解复用器341到343、和复用器351到353的控制流程
在图10中,步骤1011到1017的操作表示用于控制移位寄存器321、解复用器341和复用器351的操作的处理流程。步骤1021到1027的操作表示用于控制移位寄存器322、解复用器342和复用器353的操作的处理流程。步骤1031到1037的操作表示用于控制移位寄存器323、解复用器343和复用器353的操作的处理流程。由于各个处理流程除了它们的启动时间和所使用的信号名称之外在它们的操作上是相同的,因此这里为了简洁仅描述步骤1011到1017的处理流程。对于那样的控制操作,在控制逻辑330中包括对应于移位寄存器321到323的计数器。在不同的时间以预定偏置W对计数器进行初始化,以便执行计数操作。对应于移位寄存器321的计数器1在时间T=0被初始化,对应于移位寄存器322的计数器2在时间T=Wt被初始化,和对应于移位寄存器323的计数器#N在时间T=(N-1)Wt被初始化。这里,t表示时间,即单位时钟。
参考图10,在步骤1011,控制逻辑330对移位寄存器321初始化。在初始化操作期间,计数器1的计数值被初始化为count1=0,并且选择信号select1被初始化为select1=0。另外,移位寄存器321的左(边A)端被设计为输入端,而移位寄存器321的右(边B)端被设计为输出端。在步骤1012,控制逻辑330通过访问图8的存储缓冲器46-10来读取数据位。在步骤1013,控制逻辑330检查计数值是否为count1=NW以确定移位寄存器321是否满;在步骤1014,如果计数值为count1=NW,控制逻辑330将计数值count1设定为0。如果计数值不是count1=NW,则在步骤1015,控制逻辑330将计数值count1增加1。在步骤1014之后,控制逻辑330在步骤1016将信号select1倒相。也就是,控制逻辑330通过倒相信号select1,将信号select1“1”变换成信号select1“0”,将信号select1“0”变换成信号select1“1”。通过步骤1016的操作,输入/输出方向和数据位的移位方向被改变。在步骤1016之后或在步骤1015之后,控制逻辑330在步骤1017将从存储缓冲器46-10接收的数据位写入移位寄存器321。在步骤1017之后,控制逻辑330返回到步骤1012来重复执行上述操作。
图11示出了通过根据本发明实施例的图9所示的高速存储缓冲器260执行的存储缓冲器存取操作时序的一个示例的时序图。参考图11,存储在存储缓冲器46-10的不同位置的数据位被高速存储缓冲器260所存取。在该示例中,高速存储缓冲器260存取存储在存储缓冲器46-10的三个地址中的数据位data1、data2和data3。当在turbo解码器的一个时钟内三种类型的数据位data1、data2和data3都同时进入高速存储缓冲器260时,δ度量计算部分210的计算器211到213同时执行计算δ度量的操作。数据位data1(M位)是指系统码(M/3位)+parity1码(M/3位)+parity2码(M/3位),并且data2和data3也等于data1。
第二实施例
图12示出了根据本发明第二实施例的图8所示的高速存储缓冲器260的结构的另一个示例的方框图。该图示出了当窗口的数量是N=2,即当β具有两个窗口时的高速存储缓冲器260的结构。
参考图12,高速存储缓冲器260由一个单向移位寄存器410、N=2个双向移位寄存器421和422、控制逻辑430、解复用器(DEMUX)441和442、和复用器(MUX)451和452组成。
移位寄存器410具有2NW=4W个存储区(长度),并且包括用于数据输入的输入端和用于数据输出的输出端。移位寄存器410根据turbo解码器的时钟通过输入端从存储缓冲器46-10依次接收输入数据位,并且将所接收的输入数据位从左(边A)到右(边B)进行移位。当形成第一长度(4W)的数据位流时,移位寄存器410通过输出端输出已经形成的第一长度的数据位流。从移位寄存器410的输出的数据位被提供给连接到α度量计算部分220的前端的δ度量计算器211。
移位寄存器421和422中的每一个具有NW=2W个存储区,并且包括用于数据输入/输出的第一端和第二端。第一端表示在移位寄存器421和422中的每一个的左边安排的端,而第二端表示在移位寄存器421和422中的每一个的右边安排的端。第一端和第二端可以支持数据输出和数据输入。移位寄存器421和422的数量由窗口的数量来确定。如果窗口的数量是N=2,则移位寄存器421和422的数量被确定为2。来自存储缓冲器46-10的输入数据位被划分成多个组,每个组由为第一长度的1/2的第二长度(2W)的多个位组成。移位寄存器421和422的每一个通过第一端从左(边A)到右(边B)依次接收和移位被划分的组之中的奇数组的位,并且如果形成第二长度的位流,则移位寄存器421和422的每一个通过第一端从右到左依次输出所形成的位流,这与输入的顺序相反。移位寄存器421和422的每一个通过第二端从右到左依次接收和移位被划分的组之中的偶数组的位,并且如果形成第二长度的位流,则移位寄存器421和42的每一个通过第二端从左到右依次输出所形成的位流,这与输入的顺序相反。
在存储缓冲器46-10的输出端与移位寄存器421和422之间提供解复用器441和442。在移位寄存器421和422与δ度量计算部分210之间提供复用器451和452。解复用器441和442的输入端连接到存储缓冲器46-10的输出端,解复用器441和442的第一输出端连接到移位寄存器421和422的第二端,和解复用器441和442的第二输出端连接到移位寄存器421和422的第一端。复用器451和452的第一输入端连接到移位寄存器421和422的第二端,复用器451和452的第二输入端连接到移位寄存器421和422的第一端,和复用器451和452的输出端连接到δ度量计算器211到213。
控制逻辑430提供选择信号select1到select2,用于控制移位寄存器421和422、解复用器441和442、和复用器451到452的操作。该选择信号可以被指定为用于控制来自存储缓冲器46-10的输入数据位的信号,从而输入数据位在不同的时间被提供到移位寄存器421和422。控制逻辑430确定来自存储缓冲器46-10的输入数据位是被划分的组之中的奇数组位还是偶数组位,并且根据确定结果将来自存储缓冲器46-10的输入数据位提供给移位寄存器421和422的第一端或第二端。
例如,当输入数据位是奇数组位时,控制逻辑430输出选择信号“0”或“逻辑低”电平;当输入数据位是偶数组位时,控制逻辑430输出选择信号“1”或“逻辑高”电平。当输出选择信号“0”电平时,解复用器441和442将来自存储缓冲器46-10的输入数据位提供给移位寄存器421和422的第一端。随后,移位寄存器421和422从左到右(以向右方向)依次移位通过它们的第一端接收的数据位。同时,移位寄存器421和422从左到右再依次移位先前通过它们的第二端接收的2W个数据位,并且随后将其存储,并且通过它们的第二端输出被移位的数据位。
当输出选择信号“1”电平时,解复用器441和442将来自存储缓冲器46-10的输入数据位提供给移位寄存器421和422的第二端。随后,移位寄存器421和422从右到左(以向左方向)依次移位通过它们的第二端接收的数据位。同时,移位寄存器421和422从右到左再依次移位先前通过它们的第一端接收的2W个数据位,并且随后将其存储,并且通过它们的第一端输出被移位的数据位。
通过移位寄存器421和422的第一端输出的数据位被提供给复用器451和452的第二输入端,并且通过移位寄存器421和422的第二端输出的数据位被提供给复用器451和452的第一输入端。复用器451和452对通过它们的第一输入端和第二输入端提供的数据位进行多路复用,并且将复用的数据位输出到相应的δ度量计算器211到213。
参考图8,第一度量计算部分210的计算器211到213接收移位寄存器410、421和422的输出位,并且计算相应的δ度量。第二度量计算部分220通过从对应于移位寄存器410的第一度量计算部分210的计算器211接收δ度量来计算α度量。第三度量计算部分230通过从对应于移位寄存器421和422的第一度量计算部分210的计算器212和213接收δ度量来计算β度量。第四度量计算部分240的计算器241到243通过接收α度量和通过复用器233的β度量的多路复用结果来计算对应于移位寄存器410、421和422的LLR值。减法部分250的减法器251到253从各个LLR值中减去移位寄存器410的输出,并且输出该减法结果以供交织和解交织。
图13示出了由根据本发明一个实施例的图12所示的控制逻辑430执行的控制操作的一个示例的流程图。具体地,该图示出了其中控制逻辑430对于β度量控制双向移位寄存器421和422、连接到移位寄存器421和422前端和后端的解复用器441和442、和复用器451和452的控制流程。
在图13中,步骤1111到1117中的操作表示用于控制移位寄存器421、解复用器441和复用器451的操作的处理流程。步骤1121到1127中的操作表示用于控制移位寄存器422、解复用器442和复用器452的操作的处理流程。由于各个处理流程除了它们的启动时间和所使用的信号名称之外在它们的操作上是相同的,因此这里为了简洁仅描述步骤1111到1117的处理流程。对于那样的控制操作,在控制逻辑430中包括对应于移位寄存器421和422的计数器。在不同的时间以预定偏置W对计数器进行初始化,以便执行计数操作。对应于移位寄存器421的计数器1在时间T=0被初始化,对应于移位寄存器422的计数器2在时间T=Wt被初始化。这里,t表示时间,即单位时钟。
参考图13,在步骤1111,控制逻辑430对移位寄存器421初始化。在初始化操作期间,计数器1的计数值被初始化为count1=0,并且选择信号select1被初始化为select1=0。另外,移位寄存器421的左(边A)端被设计为输入端,而移位寄存器421的右(边B)端被设计为输出端。在步骤1112,控制逻辑430通过访问图8的存储缓冲器46-10来读取数据位。在步骤1113,控制逻辑430检查计数值是否为count1=2W,以便确定移位寄存器421是否是满的。如果计数值是count1=2W,则在步骤1114,控制逻辑430将计数值count1设定为0。如果计数值不是count1=2W,则在步骤1115,控制逻辑430将计数值count1增加1。在步骤1114之后,控制逻辑430在步骤1116倒相信号select1。也就是,控制逻辑430通过倒相信号select1,将信号select1“1”变换成信号select1“0”,将信号select1“0”变换成信号select1“1”。通过步骤1116的操作,输入/输出方向和数据位的移位方向被改变。在步骤1116之后或在步骤1015之后,控制逻辑430在步骤1117将从存储缓冲器46-10接收的数据位写入移位寄存器421。在步骤1117之后,控制逻辑430返回到步骤1112来重复执行上述操作。
图14示出了一个由移位寄存器410对于α度量(如图12所示)而执行的数据处理流程的示例的方框图。参考图14,移位寄存器410从左到右依次接收和移位来自图8的存储缓冲器46-10的数据位。在该图中,“边A”表示输入数据位的位置,“边B”表示输出数据位的位置。当数据位被输入到移位寄存器410时,输入的数据位在被延迟了4W之后被输出。移位寄存器410简单地具有先进先出(FIFO)结构。
图15示出了由移位寄存器421对于β度量(如图12所示)进行的数据处理流程。该数据处理流程等同于其它移位寄存器422对于β度量的数据处理流程。
参考图15,移位寄存器421延迟从存储缓冲器46-10依次读取的数据一段预定时间,以便将数据输出时间匹配到由turbo解码器期望的时间。移位寄存器421依次存储输入的数据位。如果移位寄存器421是满的,则移位寄存器421输出先前的数据位,同时以输入方向相反的方向对所存储的数据进行移位。并将输出数据提供给δ度量计算器212结果,在移位寄存器421的相反边出现空的空间。当以输入先前数据位的输入方向的相反方向再次输入新的数据位时,那种空的空间被填满。以这种方式,重复移位寄存器421的数据输入和输出操作,结果,根据附图中所示的数据流程将数据位提供给相应的δ度量计算器212。
图16示出了一个由根据本发明一个实施例的图12中所示的高速存储缓冲器260执行的存储缓冲器存取操作时序的示例的方框图。在图16中,“对于α输入的δ块”表示图12的单向移位寄存器410的输入/输出数据位,其中“边A入”表示输入数据位,“边B出”表示输出数据位。另外,“对于β1输入的δ块”表示双向移位寄存器421的输入/输出数据位,和“对于β2输入的δ块”表示双向移位寄存器422的输入/输出数据位。在“对于β1输入的δ块输入”和“对于β2输入的δ块”中,“边A入”和“边A出”表示通过第一端输入/输出数据位,而“边B入”和“边B出”表示通过第二端输入/输出数据位。“select1”和“select2”表示由控制逻辑430产生的并且随后被提供给移位寄存器421和422的控制信号。“α出”、“β1出”和“β2出”表示最后输出的度量,并且使用这样的输出度量来计算LLR值。
在“对于β1输入的δ块”部分中,数据位是从边A在初始级输入的。以a,b,c,d,...,h的顺序输入数据位,并且该数据位在从初始周期过去2W之后在边A输出。同时在边A执行输出操作,通过边B执行输入操作。这意味着移位寄存器421是通过改变它的移位方向来操作的。在过了另一个2W之后,当再次在边A执行输入操作并且随后输入第q个数据位时,在边B输出第p个数据位。
以与在“对于β1输入的δ块”部分中的操作相同的方式来执行在“对于β2输入的δ块”部分中的操作。然而,由于移位寄存器422的初始化时间不同于移位寄存器421的初始化时间,因此,不是在相同的周期执行数据位的输入/输出。
在“对于α输入的δ块”中,在边A仅执行输入操作,并且在边B仅执行输出操作。当从初始周期过去4W时输出第一接收的第a个数据位。
将移位寄存器410、421和422的输出数据位与图6所示的输出数据位相比较,可以理解数据位是以相同的流程被输出的。然而,差别在于:图16的输出方法与图6的输出方法相比,产生2W的初始延迟。但是,这样的差别在初始操作高速存储器260时出现。也就是,由于该差别仅出现在turbo解码器解码开始时的初始阶段,因此不影响解码性能。
第三实施例
图17示出了根据本发明第三实施例的图8所示的高速存储缓冲器260的另一个示例的方框图。参考图17,高速存储缓冲器260由第一级双向移位寄存器521和522、第二级双向移位寄存器510、控制逻辑530、解复用器541和542、和复用器551到553组成。
第一级双向移位寄存器521和522中的每一个具有NW个存储区(长度),并且包括用于数据输入/输出的第一端和第二端。这里,N表示窗口的数量,W表示窗口的大小。移位寄存器的数量由窗口的数量来确定,并且存储区的数量是通过将窗口的数量乘以窗口的大小而确定的。第一端表示在移位寄存器521和522中的每一个的左边安排的端,即边A的端;而第二端表示在移位寄存器521和522中的每一个的右边安排的端,即边B的端。第一端和第二端可以支持数据输出和数据输入。来自存储缓冲器46-10的输入数据位被划分成多个组,每个组由长度NW的多个位组成。移位寄存器521和522的每一个通过第一端从左(边A)到右(边B)依次接收和移位被划分的组之中的奇数组的位,并且如果形成该长度的位流,则移位寄存器521和522的每一个通过第一端从右到左依次输出所形成的位流,这与输入的顺序相反。移位寄存器521和522的每一个通过第二端从右(边B)到左(边A)依次接收和移位被划分的组之中的偶数组的位,并且如果形成该长度的位流,则移位寄存器521和522的每一个通过第二端从左到右依次输出所形成的位流,这与输入的顺序相反。
第二级双向移位寄存器510具有NW个存储区,并且包括用于数据输入/输出的第三端和第四端。移位寄存器510通过它的第三端接收经由移位寄存器521的第一端依次输出的位,并且将所接收的位从左到右顺序移位。如果形成该长度的位流,则移位寄存器510将所形成的位流从右到左进行移位,这与输2入顺序相反,并且经由第三端依次输出被移位的位流。移位寄存器510通过它的第四端接收经由移位寄存器521的第二端依次输出的位,并且将所接收的位从右到左顺序移位。如果形成该长度的位流,则移位寄存器510将所形成的位流从左到右进行移位,这与输入顺序相反,并且经由第四端依次输出被移位的位流。
在存储缓冲器46-10的输出端与移位寄存器521和522之间提供解复用器541和542,并且在移位寄存器510、521和522与δ度量计算部分210之间提供复用器551到553。解复用器541和542的输入端连接到存储缓冲器46-10的输出端,解复用器541和542的第一输出端连接到移位寄存器521和522的第二端,和解复用器541和542的第二输出端连接到移位寄存器521和522的第一端。复用器551到553的第一输入端连接到移位寄存器510、521和522的第二端,复用器551到553的第二输入端连接到移位寄存器510、521和522的第一端,和复用器551到553的输出端连接到δ度量计算器211到213。
控制逻辑530提供选择信号select1、select2和select3,用于控制移位寄存器510、521和522、解复用器541和542、和复用器551到553的操作。该选择信号可以被指定为用于控制来自存储缓冲器46-10的输入数据位的信号,从而输入数据位在不同的时间被提供到移位寄存器521和522。控制逻辑530确定来自存储缓冲器46-10的输入数据位是被划分的组之中的奇数组位还是偶数组位,并且根据确定结果给移位寄存器521和522提供选择信号select2和select3,以便将输入数据位提供到第一端或第二端。
例如,当输入数据位是奇数组位时,控制逻辑530输出选择信号“0”或“逻辑低”电平;当输入数据位是偶数组位时,控制逻辑530输出选择信号“1”或“逻辑高”电平。当输出选择信号“0”电平时,解复用器541和542将来自存储缓冲器46-10的输入数据位提供给移位寄存器521和522的第一端。随后,移位寄存器521和522从左到右(以向右方向)依次移位通过它们的第一端接收的数据位。同时,移位寄存器521和522从左到右再依次移位先前通过它们的第二端接收的2W个数据位,并且随后将其存储,并且通过它们的第二端输出被移位的数据位。
当输出选择信号“1”电平时,解复用器541和542将来自存储缓冲器46-10的输入数据位提供给移位寄存器521和522的第二端。随后,移位寄存器521和522从右到左(以向左方向)依次移位通过它们的第二端接收的数据位。同时,移位寄存器521和522从右到左再依次移位先前通过它们的第一端接收的2W个数据位,并且随后将其存储,并且通过它们的第一端输出被移位的数据位。
通过移位寄存器521和522的第一端输出的数据位被提供给复用器552和553的第二输入端,并且通过移位寄存器521和522的第二端输出的数据位被提供给复用器552和553的第一输入端。复用器552和553对通过它们的第一输入端和第二输入端提供的数据位进行多路复用,并且将复用的数据位输出到相应的δ度量计算器211到213。
经由移位寄存器521的第一端输出的数据位也被提供到移位寄存器510的第一端,并且经由移位寄存器521的第二端输出的数据位也被提供到移位寄存器510的第二端。移位寄存器510的操作等同于移位寄存器521和522的操作。经由移位寄存器510的第一端输出的数据位被提供到复用器551的第二输入端,和经由移位寄存器510的第二端输出的数据位被提供到复用器551的第一输入端。从复用器551输出的数据位被提供到连接到α度量计算器220的前端的δ度量计算器211。
本发明的这个实施例在结构上不同于图12所示的高速存储缓冲器260,但在操作上相同。根据本发明的这个实施例,移位寄存器510对于一个α度量是一个具有2W长度的双向移位寄存器,这与图9和12所示的实施例不同,并且移位寄存器510对于β1度量接收从移位寄存器521提供的数据位,而不是接收从存储缓冲器46-10提供的数据位,并且随后经由复用器551输出该数据位。也就是,具有相同结构的移位寄存器510对于β1度量而再次接收移位寄存器521的输出。在该实施例中,如果移位寄存器521对于β1度量以实际接收的信号的相反顺序排列,则它被以相反顺序重建,以便以初始输入的信号的顺序恢复信号,并且随后将所恢复的信号提供到对于α度量的移位寄存器510。如果高速存储缓冲器构成使对于α度量的移位寄存器510和对于β1度量的移位寄存器521总是以相反的方向操作,则与图12所示的高速存储缓冲器相比,存储缓冲器可以减小移位寄存器的大小为2W。
图18示出了由根据本发明实施例的图17的控制逻辑530执行的控制操作的一个示例的流程图。该图所示的控制操作处理流程类似于图13所示的处理流程。然而,差别仅在于增加了用于控制对于α度量的移位寄存器510的流程。在该控制流程,表示初始化处理的步骤1211、1221和1231是不同的。
参考图18,对于α度量的移位寄存器510在时间T=(2W-1)t被初始化,对于β1度量的移位寄存器521在时间T=0被初始化,和对于β2度量的移位寄存器522在时间T=(W-1)t被初始化。也就是,移位寄存器510在时钟(2W-1)之后被初始化,移位寄存器521在时钟0被初始化,和移位寄存器522在时钟(W-1)之后被初始化。考虑到移位寄存器的整个周期是4W,应当注意两个移位寄存器在2W的周期以相反的方向操作。除了初始化过程,图18在操作上等同于图13,因此为了简洁而省略对其的详细描述。
图19示出了由根据本发明实施例的图17的移位寄存器510执行的数据处理流程的一个示例的方框图。参考图19,以与由对于β度量的移位寄存器执行的数据处理操作(结合图15所述)相同的方式执行由移位寄存器510执行的数据处理操作。
图20示出了由根据本发明实施例的图17的高速存储缓冲器260执行的存储缓冲器存取操作时序的一个示例的方框图。参考图20,由高速存储缓冲器260执行存储缓冲器存取操作不同于移位寄存器510的操作,但是结果提供相同的α、β1和β2度量。
如上所述,本发明通过使用具有与turbo解码器相同操作频率的高速存储缓冲器,将数据位从接收机的存储缓冲器提供到turbo解码器。另外,本发明通过消除增加接收机的存储缓冲器的操作频率的需要,能够实现适用于需要低功耗的移动通信环境的装置。
虽然参考本发明的某些实施例已经示出和描述了本发明,但是本领域的技术人员应当理解,在不脱离由本发明的所附权利要求及其等效物定义的本发明的精神和范围的情况下,可以对其在形式上和细节上进行各种修改。

Claims (42)

1.一种用于接收由依次输入的符号组成的帧并且将所输入的符号提供给N窗口模式软进软出(SISO)解码器的存储缓冲器,所述解码器具有W个符号的窗口大小,所述存储缓冲器包括:
具有输入端、输出端和时钟输入端的第一移位寄存器,用于以预定方向依次移位和存储来自输入端的2NW个串行符号,并且经由输出端依次输出被移位的符号;和
N个第二移位寄存器,其中每个第二移位寄存器包括时钟输入端、第一和第二输入端、第一和第二输出端、和选择端,以从所述第一移位寄存器的输入端接收的串行符号的W个符号的间隔来依次激活或初始化所述第二移位寄存器,每个第二移位寄存器在它激活之后接收串行符号中的第一NW个符号,并且以预定方向移位或存储所接收的符号,之后,每个第二移位寄存器经由它的第二输入端来接收第二NW个符号,以预定方向的相反方向来移位和存储所接收的符号,并且同时,经由其第一输出端而串行输出所存储的第一NW个符号,此后每个第二移位寄存器经由第一输入端来接收第三NW个符号,以预定方向移位和存储所接收的符号,并且同时,经由其第一输出端而串行输出所存储的第二NW个符号。
2.如权利要求1的存储缓冲器,其中所述W个符号包括所接收帧的第一到第W个连续符号。
3.如权利要求1的存储缓冲器,其中每个移位寄存器响应时钟的转变而操作。
4.如权利要求1的存储缓冲器,其中N是2。
5.如权利要求1的存储缓冲器,其中所述W个窗口符号是通过将所接收的帧划分成预定数量的帧而确定的。
6.一种通信系统中的turbo解码装置,包括:
单向移位寄存器,具有用于数据输入的输入端和用于数据输出的输出端,所述单向移位寄存器通过经由输入端依次接收和移位输入数据位来形成第一长度位流,并且随后经由输出端依次输出所形成的第一长度位流;
包括一个或多个双向移位寄存器的存储缓冲器,所述双向移位寄存器包括用于数据输入/输出的第一端和第二端,所述输入数据位被划分成多个组,每个组由长度是第一长度的1/2的第二长度的位组成,所述双向移位寄存器通过经由第一端依次接收和移位所划分的组中的奇数组的位来形成第二长度位流,并随后经由第一端依次输出所形成的位流;并且通过经由第二端依次接收和移位所划分的组中的偶数组的位来形成第二长度位流,并随后经由第二端依次输出所形成的位流;
第一度量计算部分,用于接收各个移位寄存器的输出位,并且计算相应的δ度量;
第二度量计算部分,用于接收来自与所述单向移位寄存器相对应的第一度量计算部分的δ度量,并且计算α度量;
第三度量计算部分,用于接收来自与所述双向移位寄存器相对应的第一度量计算部分的δ度量,并且计算β度量;
第四度量计算部分,用于接收所述α度量,也接收所述β度量的复用结果,并且计算对应于各个移位寄存器的对数似然比(LLR)值;和
包括减法部分的软进软出(SISO)解码器,用于将单向移位寄存器的输出从各个LLR值中减去,并且输出减法结果以供交织/解交织。
7.如权利要求6所述的turbo解码装置,其中所述存储缓冲器还包括控制逻辑,用于确定所述输入数据位是否是所划分的组之中的奇数组的位或偶数组的位,并且给所述双向移位寄存器提供选择信号,所述选择信号根据确定结果将输入数据位提供给第一端或第二端。
8.如权利要求7所述的turbo解码装置,其中所述存储缓冲器还包括对应于每个双向移位寄存器的解复用器和复用器;
其中所述解复用器具有用于接收输入数据位的输入端和分别连接到第一端和第二端的第一输出端和第二输出端,所述解复用器响应从控制逻辑提供的选择信号经由第一输出端将奇数组的位提供到第一端,并且经由第二输出端将偶数组的位提供到第二端;
其中所述复用器响应从控制逻辑提供的对应选择信号对经由第一端输出的位流和经由第二端输出的位流进行复用,并且将所复用的位流输出到所述第一度量计算部分。
9.如权利要求7所述的turbo解码装置,其中所述选择信号是在不同时间将输入数据位提供到所述双向移位寄存器的控制信号。
10.如权利要求6所述的turbo解码装置,其中奇数组的位经由第一端被依次输出,并且同时,偶数组的位经由第二端被依次接收和移位。
11.如权利要求6所述的turbo解码装置,其中所述双向移位寄存器的数量由窗口的数量来定义。
12.如权利要求6所述的turbo解码装置,其中所述第一长度和第二长度由窗口的大小和窗口的数量来定义。
13.如权利要求12所述的turbo解码装置,其中所述第二长度是通过将窗口的大小与窗口的数量相乘而确定的。
14.如权利要求6所述的turbo解码装置,其中所述输入数据位是以turbo解码器的时钟频率接收的。
15.一种通信系统中的turbo解码装置,包括:
一个或多个第一级双向移位寄存器,所述双向移位寄存器具有用于数据输入/输出的第一端和第二端,所述输入数据位被划分成多个组,每个组由预定长度的位组成,所述第一级双向移位寄存器通过经由第一端依次接收和移位所划分的组中的奇数组的位来形成所述长度的位流,并随后经由第一端依次输出所形成的位流;并且通过经由第二端依次接收和移位所划分的组中的偶数组的位来形成所述长度的位流,并随后经由第二端依次输出所形成的位流;
包括第二级双向移位寄存器的存储缓冲器,所述第二级双向移位寄存器具有用于数据输入/输出的第三端和第四端,所述第二级双向移位寄存器通过经由第三端依次接收和移位经由第一端依次输出的位来形成所述长度的位流,并随后经由第三端依次输出所形成的位流;并且通过经由第四端依次接收和移位经由第二端依次输出的位来形成所述长度的位流,并随后经由第四端依次输出所形成的位流;
第一度量计算部分,用于接收各个移位寄存器的输出位,并且计算相应的δ度量;
第二度量计算部分,用于接收来自与所述单向移位寄存器对应的第一度量计算部分的δ度量,并且计算α度量;
第三度量计算部分,用于接收来自与所述双向移位寄存器对应的第一度量计算部分的δ度量,并且计算β度量;
第四度量计算部分,用于接收所述α度量,也接收所述β度量的复用结果,并且计算对应于各个移位寄存器的对数似然比(LLR)值;和
包括减法部分的软进软出(SISO)解码器,用于将单向移位寄存器的输出从各个LLR值中减去,并且输出减法结果以供交织/解交织。
16.如权利要求15所述的turbo解码装置,其中所述存储缓冲器还包括控制逻辑,用于确定所述输入数据位是否是所划分的组之中的奇数组的位或偶数组的位,并且给所述第一级双向移位寄存器提供选择信号,所述选择信号根据确定结果将输入数据位提供给第一端或第二端。
17.如权利要求16所述的turbo解码装置,其中所述存储缓冲器还包括对应于每个第一级双向移位寄存器的解复用器和复用器;
其中所述解复用器具有用于接收输入数据位的输入端和分别连接到第一端和第二端的第一输出端和第二输出端,所述解复用器响应从控制逻辑提供的对应选择信号经由第一输出端将奇数组的位提供到第一端,并且经由第二输出端将偶数组的位提供到第二端;
其中所述复用器响应从控制逻辑提供的对应选择信号对经由第一端输出的位和经由第二端输出的位进行复用,并且将所复用的位输出到所述第一度量计算部分。
18.如权利要求16所述的turbo解码装置,其中所述存储缓冲器还包括对应于第二级双向移位寄存器的复用器,所述复用器响应从控制逻辑提供的对应选择信号对经由第三端输出的位和经由第四端输出的位进行复用,并且将所复用的位输出到所述第一度量计算部分。
19.如权利要求16所述的turbo解码装置,其中所述选择信号是在不同时间将输入数据位提供到所述双向移位寄存器的控制信号。
20.如权利要求15所述的turbo解码装置,其中奇数组的位经由第一端被依次输出,并且同时,偶数组的位经由第二端被依次接收和移位。
21.如权利要求15所述的turbo解码装置,其中所述第一级双向移位寄存器的数量由窗口的数量来定义。
22.如权利要求15所述的turbo解码装置,其中所述输入数据位是以turbo解码器的时钟频率接收的。
23.一种提供存储缓冲器的方法,所述存储缓冲器用于接收由依次输入的符号组成的帧并且将所输入的符号提供给N窗口模式软进软出(SISO)解码器,所述解码器具有W个符号的窗口大小,所述方法包括步骤:
以预定方向依次移位和存储来自第一移位寄存器的输入端的2NW个串行符号;
经由第一移位寄存器的输出端依次输出被移位的符号;以在第一移位寄存器的输入端接收的串行符号的W个符号的间隔来依次激活或初始化N个第二移位寄存器,其中每个第二移位寄存器包括时钟输入端、第一和第二输入端、第一和第二输出端、和选择端;
在第二移位寄存器激活之后,在每个第二移位寄存器接收串行符号中的第一NW个符号;
以预定方向移位或存储所接收的符号,之后,每个第二移位寄存器经由它的第二输入端来接收第二NW个符号;和
以预定方向的相反方向来移位和存储所接收的符号,并且同时,经由其第一输出端而串行输出所存储的第一NW个符号,之后,每个第二移位寄存器经由第一输入端来接收第三NW个符号,以预定方向移位和存储所接收的符号,并且同时,经由其第一输出端而串行输出所存储的第二NW个符号。
24.如权利要求23所述的方法,其中N是2。
25.如权利要求23所述的方法,还包括:
将所接收的帧划分为预定数量的帧,以便确定所述W个窗口符号。
26.一种通信系统中提供turbo解码的方法,所述方法包括:
在具有用于数据输入的输入端和用于数据输出的输出端的单向移位寄存器,通过经由输入端依次接收和移位输入数据位来形成第一长度位流,并且随后经由输出端依次输出所形成的第一长度位流;
在包括一个或多个双向移位寄存器的存储缓冲器,所述双向移位寄存器具有用于数据输入/输出的第一端和第二端,将输入数据划分成多个组,每个输入数据由长度是第一长度的1/2的第二长度的位组成,所述双向移位寄存器通过经由第一端依次接收和移位所划分的组中的奇数组的位来形成第二长度位流,并随后经由第一端依次输出所形成的位流;并且通过经由第二端依次接收和移位所划分的组中的偶数组的位来形成第二长度位流,并随后经由第二端依次输出所形成的位流;
在第一度量计算部分,接收各个移位寄存器的输出位,并且计算相应的δ度量;
在第二度量计算部分,接收来自与所述单向移位寄存器相对应的第一度量计算部分的δ度量,并且计算α度量;
在第三度量计算部分,接收来自与所述双向移位寄存器相对应的第一度量计算部分的δ度量,并且计算β度量;
在第四度量计算部分,接收所述α度量,也接收所述β度量的复用结果,并且计算对应于各个移位寄存器的对数似然比(LLR)值;和
在包括减法部分的软进软出(SISO)解码器,将单向移位寄存器的输出从各个LLR值中减去,并且输出减法结果以供交织/解交织。
27.如权利要求26所述的方法,还包括步骤:
在用于控制逻辑的存储缓冲器,确定所述输入数据位是否是所划分的组之中的奇数组的位还是偶数组的位,和
给所述双向移位寄存器提供选择信号,所述选择信号根据确定结果将输入数据位提供给第一端或第二端。
28.如权利要求26所述的方法,其中所述存储缓冲器还包括对应于每个双向移位寄存器的解复用器和复用器;
其中所述解复用器具有用于接收输入数据位的输入端和分别连接到第一端和第二端的第一输出端和第二输出端,所述解复用器响应从控制逻辑提供的选择信号经由第一输出端将奇数组的位提供到第一端,并且经由第二输出端将偶数组的位提供到第二端;
其中所述复用器响应从控制逻辑提供的对应选择信号对经由第一端输出的位流和经由第二端输出的位流进行复用,并且将所复用的位流输出到所述第一度量计算部分。
29.如权利要求26所述的方法,其中所述选择信号是在不同时间将输入数据位提供到所述双向移位寄存器的控制信号。
30.如权利要求26所述的方法,其中奇数组的位经由第一端被依次输出,并且同时,偶数组的位经由第二端被依次接收和移位。
31.如权利要求26所述的方法,其中所述双向移位寄存器的数量由窗口的数量来定义。
32.如权利要求26所述的方法,其中所述第一长度和第二长度由窗口的大小和窗口的数量来定义。
33.如权利要求32所述的方法,其中所述第二长度是通过将窗口的大小与窗口的数量相乘而确定的。
34.如权利要求26所述的方法,其中所述输入数据位是以turbo解码器的时钟频率接收的。
35.一种通信系统中提供turbo解码的方法,包括:
经由一个或多个第一级双向移位寄存器,将输入数据位划分成多个组,每个组由预定长度的位组成,所述双向移位寄存器包括用于数据输入/输出的第一端和第二端,所述第一级双向移位寄存器通过经由第一端依次接收和移位所划分的组中的奇数组的位来形成所述长度的位流,并随后经由第一端依次输出所形成的位流;并且通过经由第二端依次接收和移位所划分的组中的偶数组的位来形成所述长度的位流,并随后经由第二端依次输出所形成的位流;
在具有用于数据输入/输出的第三端和第四端的第二级双向移位寄存器,通过经由第三端依次接收和移位经由第一端依次输出的位来形成所述长度的位流,并随后经由第三端依次输出所形成的位流;并且通过经由第四端依次接收和移位经由第二端依次输出的位来形成所述长度的位流,并随后经由第四端依次输出所形成的位流;
在第一度量计算部分,接收各个移位寄存器的输出位,并且计算相应的δ度量;
在第二度量计算部分,接收来自与所述单向移位寄存器相对应的第一度量计算部分的δ度量,并且计算α度量;
在第三度量计算部分,接收来自与所述双向移位寄存器相对应的第一度量计算部分的δ度量,并且计算β度量;
在第四度量计算部分,接收所述α度量,也接收所述β度量的复用结果,并且计算对应于各个移位寄存器的对数似然比(LLR)值;和
在包括减法部分的软进软出(SISO)解码器,将单向移位寄存器的输出从各个LLR值中减去,并且输出减法结果以供交织/解交织。
36.如权利要求35所述的方法,还包括步骤:
确定所述输入数据位是否是所划分的组之中的奇数组的位还是偶数组的位,以便控制逻辑;和
给所述第一级双向移位寄存器提供选择信号,所述选择信号根据确定结果将输入数据位提供给第一端或第二端。
37.如权利要求36所述的方法,其中所述存储缓冲器还包括对应于每个第一级双向移位寄存器的解复用器和复用器;
其中所述解复用器具有用于接收输入数据位的输入端和分别连接到第一端和第二端的第一输出端和第二输出端,所述解复用器响应从控制逻辑提供的对应选择信号经由第一输出端将奇数组的位提供到第一端,并且经由第二输出端将偶数组的位提供到第二端;
其中所述复用器响应从控制逻辑提供的对应选择信号对经由第一端输出的位和经由第二端输出的位进行复用,并且将所复用的位输出到所述第一度量计算部分。
38.如权利要求36所述的方法,还包括步骤:
响应经由与第二级双向移位寄存器相对应存储缓冲器的复用器从控制逻辑提供的对应选择信号,对经由第三端输出的位和经由第四端输出的位进行复用,和
将所复用的位输出到所述第一度量计算部分。
39.如权利要求36所述的方法,其中所述选择信号包括在不同时间将输入数据位提供到所述双向移位寄存器的控制信号。
40.如权利要求35所述的方法,其中奇数组的位经由第一端被依次输出,并且同时,偶数组的位经由第二端被依次接收和移位。
41.如权利要求35所述的方法,还包括步骤:
通过窗口的数量来确定所述第一级双向移位寄存器的数量。
42.如权利要求35所述的方法,还包括步骤:
以turbo解码器的时钟频率接收所述输入数据位。
CNB038012588A 2002-08-06 2003-08-06 特播解码装置和方法 Expired - Fee Related CN100361397C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020020046410A KR100703307B1 (ko) 2002-08-06 2002-08-06 터보 복호화 장치 및 방법
KR10-2002-0046410 2002-08-06
KR1020020046410 2002-08-06

Publications (2)

Publication Number Publication Date
CN1568577A true CN1568577A (zh) 2005-01-19
CN100361397C CN100361397C (zh) 2008-01-09

Family

ID=30439422

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038012588A Expired - Fee Related CN100361397C (zh) 2002-08-06 2003-08-06 特播解码装置和方法

Country Status (10)

Country Link
US (1) US7584389B2 (zh)
EP (1) EP1388948A3 (zh)
JP (1) JP3954071B2 (zh)
KR (1) KR100703307B1 (zh)
CN (1) CN100361397C (zh)
AU (1) AU2003256099B2 (zh)
BR (1) BR0305713A (zh)
CA (1) CA2460315C (zh)
RU (1) RU2273093C2 (zh)
WO (1) WO2004013975A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101847447A (zh) * 2009-03-27 2010-09-29 联发科技股份有限公司 存储控制器、存储控制方法及数据存取系统
CN103684478A (zh) * 2012-08-30 2014-03-26 英特尔移动通信有限责任公司 用于Turbo解码器存储冲突解决的方法和装置
CN109691043A (zh) * 2016-09-06 2019-04-26 联发科技股份有限公司 无线通信系统中有效编码切换和调制解调器资源运用
CN109936379A (zh) * 2019-01-24 2019-06-25 南京大学 一种多码率ldpc码的构造方法及其解码装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412853B2 (en) * 2004-10-25 2013-04-02 Texas Instruments Incorporated Two pin serial bus communication interface
KR100744367B1 (ko) * 2004-05-24 2007-07-30 삼성전자주식회사 가변 윈도우가 적용된 터보 복호화 장치 및 방법
KR100617822B1 (ko) * 2004-07-29 2006-08-28 삼성전자주식회사 터보 복호기를 위한 고속 입력 장치 및 방법
KR100754584B1 (ko) * 2005-07-04 2007-09-05 삼성전자주식회사 모뎀에서 데이터 스케쥴링 장치 및 방법
DE102006026895B3 (de) 2006-06-09 2007-11-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver-Vorrichtung, Empfänger für ein von der Interleaver-Vorrichtung erzeugtes Signal, Sender zum Erzeugen eines Sendesignals, Verfahren zum Verarbeiten eines Codeworts, Verfahren zum Empfangen eines Signals und Computer-Programm
US8831603B2 (en) * 2006-06-30 2014-09-09 Agere Systems Llc Communications circuit and method with reduced power consumption
KR100902007B1 (ko) * 2007-02-28 2009-06-11 삼성전자주식회사 비디오 스트림 처리 장치
US8332718B2 (en) * 2007-03-29 2012-12-11 Sirius Xm Radio Inc. Efficient implementation to perform iterative decoding with large iteration counts
TWI343190B (en) * 2007-12-21 2011-06-01 Univ Nat Chiao Tung Method and apparatus of multi-stage network for iterative decoding
US20100251069A1 (en) * 2009-03-31 2010-09-30 Qualcomm Incorporated Method and apparatus for efficient memory allocation for turbo decoder input with long turbo codeword
US8543888B2 (en) * 2009-06-09 2013-09-24 Microchip Technology Incorporated Programmable cyclic redundancy check CRC unit
CN102158235B (zh) * 2011-04-26 2016-11-23 中兴通讯股份有限公司 turbo译码的方法及装置
KR101662025B1 (ko) 2015-04-23 2016-10-05 주식회사 진명 에프 엠 씨 면 정렬장치
US9536563B1 (en) * 2016-02-16 2017-01-03 Seagate Technology Llc Detecting shingled overwrite errors

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
JP4178752B2 (ja) * 1998-05-28 2008-11-12 ソニー株式会社 畳み込み符号の軟出力復号装置及び軟出力復号方法
CA2344046C (en) * 1998-09-28 2008-02-05 Advanced Hardware Architectures, Inc. Turbo product code decoder
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
JP3246484B2 (ja) * 1999-07-07 2002-01-15 日本電気株式会社 ターボデコーダ
US6980605B2 (en) 2000-01-31 2005-12-27 Alan Gatherer MAP decoding with parallelized sliding window processing
CN1136661C (zh) * 2000-02-10 2004-01-28 摩托罗拉公司 用于卷积码的软输出解码方法及其装置
JP2002084200A (ja) * 2000-09-07 2002-03-22 Matsushita Electric Ind Co Ltd ターボ符号器およびターボ符号器におけるデータ処理方法
JP3849914B2 (ja) * 2000-12-28 2006-11-22 株式会社リコー サブバンド符号化装置、サブバンド復号装置、ウェーブレット変換装置、逆ウェーブレット変換装置、圧縮装置、伸長装置
US6813742B2 (en) * 2001-01-02 2004-11-02 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
KR20020066556A (ko) * 2001-02-12 2002-08-19 주식회사 소프트디에스피 터보 코드 복호화 장치 및 방법
US6993704B2 (en) * 2001-05-23 2006-01-31 Texas Instruments Incorporated Concurrent memory control for turbo decoders
US6968021B1 (en) * 2001-09-24 2005-11-22 Rockwell Collins Synchronization method and apparatus for modems based on jointly iterative turbo demodulation and decoding
US6718504B1 (en) * 2002-06-05 2004-04-06 Arc International Method and apparatus for implementing a data processor adapted for turbo decoding

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101847447A (zh) * 2009-03-27 2010-09-29 联发科技股份有限公司 存储控制器、存储控制方法及数据存取系统
CN103684478A (zh) * 2012-08-30 2014-03-26 英特尔移动通信有限责任公司 用于Turbo解码器存储冲突解决的方法和装置
CN103684478B (zh) * 2012-08-30 2017-12-08 英特尔德国有限责任公司 用于Turbo解码器存储冲突解决的方法和装置
CN109691043A (zh) * 2016-09-06 2019-04-26 联发科技股份有限公司 无线通信系统中有效编码切换和调制解调器资源运用
CN109691043B (zh) * 2016-09-06 2021-02-23 联发科技股份有限公司 无线通信系统中有效编码切换方法、用户设备及相关存储器
CN109936379A (zh) * 2019-01-24 2019-06-25 南京大学 一种多码率ldpc码的构造方法及其解码装置
CN109936379B (zh) * 2019-01-24 2021-07-09 南京大学 一种多码率ldpc码的构造方法及其解码装置

Also Published As

Publication number Publication date
BR0305713A (pt) 2004-09-28
JP3954071B2 (ja) 2007-08-08
RU2273093C2 (ru) 2006-03-27
EP1388948A3 (en) 2004-03-31
RU2004110231A (ru) 2005-03-10
AU2003256099B2 (en) 2006-10-19
EP1388948A2 (en) 2004-02-11
KR100703307B1 (ko) 2007-04-03
WO2004013975A1 (en) 2004-02-12
US7584389B2 (en) 2009-09-01
JP2005535222A (ja) 2005-11-17
CA2460315A1 (en) 2004-02-12
AU2003256099A1 (en) 2004-02-23
CN100361397C (zh) 2008-01-09
US20040044945A1 (en) 2004-03-04
CA2460315C (en) 2008-02-05
KR20040013475A (ko) 2004-02-14

Similar Documents

Publication Publication Date Title
CN1568577A (zh) 特播解码装置和方法
CN1168237C (zh) 移动通信系统中的分量解码器及其方法
US8719658B2 (en) Accessing memory during parallel turbo decoding
CN1898874A (zh) 具有子块处理和基于子块的停止标准的siso解码器
CN1823474A (zh) 解码装置及解码方法
CN1534879A (zh) 级联卷积和分组编码信号的解码装置和方法
JP2011523325A (ja) 複数のコード・タイプをプログラマブル復号する方法および装置
CN1731686A (zh) 一种维特比译码器及用于维特比译码器的加比选单元电路
CN1254121C (zh) 特博码的解码方法
US8448033B2 (en) Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same
CN1466818A (zh) 基于格子的信道编码所用的解码器
CN1140148C (zh) 在移动通信系统中执行特博解码的方法
CN1155161C (zh) 用于特博码的解码器及其解码方法
CN1211931C (zh) 用于最大后验概率解码器的存储器体系结构
CN1147169C (zh) 用于Turbo码的解码方法和解码器
CN100350751C (zh) Turbo解码装置
CN1328386A (zh) 并行滑动窗最大后验概率算法及其高速Turbo码译码器
CN101034894A (zh) 一种实现解码的电路和方法
CN1129257C (zh) 串行回溯的最大似然解码方法及其使用该方法的解码器
CN1148006C (zh) 一种特博码软输入软输出解码方法以及解码器
CN1856939A (zh) 输入控制装置及输入控制方法
CN1841941A (zh) 最大后验概率译码方法和装置
CN1145266C (zh) 特博码解码方法及其解码器
CN1653700A (zh) 用于涡轮解码器的存储器
CN1913366A (zh) 最大后验概率译码方法及译码装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 20080109

Termination date: 20090806