CN101529884A - 用于软输入/软输出处理的滑动窗方法和设备 - Google Patents

用于软输入/软输出处理的滑动窗方法和设备 Download PDF

Info

Publication number
CN101529884A
CN101529884A CNA2007800400638A CN200780040063A CN101529884A CN 101529884 A CN101529884 A CN 101529884A CN A2007800400638 A CNA2007800400638 A CN A2007800400638A CN 200780040063 A CN200780040063 A CN 200780040063A CN 101529884 A CN101529884 A CN 101529884A
Authority
CN
China
Prior art keywords
window
iteration
soft
machine circuit
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007800400638A
Other languages
English (en)
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to CN201510553850.9A priority Critical patent/CN105187074B/zh
Publication of CN101529884A publication Critical patent/CN101529884A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • 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/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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • 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/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/7097Direct sequence modulation interference
    • H04B2201/709727GRAKE type RAKE receivers

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

在一个或多个实施例中,一种根据迭代软输入软输出(SISO)算法来处理软值序列的方法包括:在第一次迭代中利用第一窗放置并且在第二次迭代中利用第二窗放置来实施对所述软值序列的滑动窗处理;以及在所述第一次和第二次迭代之间改变所述窗放置。在至少一个实施例中,通信接收机电路被配置成实施迭代SISO处理,其中所述通信接收机电路利用滑动窗来处理软值序列,并且其在一次或多次迭代之间改变窗放置。所述通信接收机电路例如包括以下各项的全部或其一部分:turbo解码电路或其他类型的迭代块解码电路、均衡化和解码电路、软解调和解码电路、多用户检测和解码电路或者多输入多输出检测和解码电路。

Description

用于软输入/软输出处理的滑动窗方法和设备
背景
本发明总体上涉及软输入/软输出算法,许多种此类算法被用在通信信号处理中,并且本发明特别涉及在软输入/软输出处理中使用滑动窗。
如其名称所指,软输入/软输出(SISO)算法接收软值作为输入,并且产生相应的软值作为输出。最大后验(MAP)处理是SISO算法的一个例子,并且在许多信号处理应用中发现广泛使用,比如用于解码从两个或多个相对简单的卷积码的串联建立的turbo码。
更具体来说,Turbo编码利用两个或多个卷积编码器对所期望的信息序列进行编码,该序列也被称作“系统”序列。所得到的已编码输出包括每一个卷积编码器的输出以及所述系统序列。由于所述原始信息序列是所述已编码输出的一部分,因此turbo码代表“系统”码类型。
在用来对turbo码进行解码的一种方法中,MAP解码器接收比特软值序列(例如概率分布或对数似然比(LLR)),其代表turbo编码的比特序列。所述MAP解码器又根据编码结构的知识形成对于所述系统比特的相应的后验概率的越来越好的估计,从而提高对于所述系统比特软值做出后续“硬”决策的能力。
所谓的“BCJR”算法代表用于turbo解码的所述MAP算法的一种流行的实现方式,并且通过利用卷积码的网格(trellis)结构而得到处理方面的优点。假设输入LLR序列对应于turbo编码的序列中的已编码比特和系统比特,所述BCJR算法基于其确定对于每一个系统比特的前向和后向状态量度以及分支量度来细化所述系统比特的LLR。这些确定又依赖于所述网格结构以及系统奇偶校验比特的输入软值的知识。
在用来改进BCJR和其他基于网格的解码的一种方法中,已编码序列包括已知的开始和/或结束值。通过在已编码序列的开头和末尾添加已知的值允许相应的解码器以已知的开始和结束状态开始及终止网格遍历,这样提高输出概率估计的可靠性。但是在一次扫描中从已知的开始值到已知的结束值完全遍历所述网格(这有时被称作“全帧”处理或遍历)的做法对存储器的需求很高,假定因为网格长度可能较长并且需要始终累积状态量度。
降低存储器需求的一种方法涉及到把所述网格细分成多个窗,并且随后单独处理每一个窗。这种方法可以被称作“滑动窗”遍历或处理,其仅仅在每一个窗的长度上累积状态量度,这通常基本上小于总体网格的长度。但是对于每一个窗内的前向和后向递归,所述递归在未知状态下“冷”开始,至少在位于细分所述网格的第一个和最后一个窗之间的中间窗内。这些未知的开始状态导致所述输出软值很不可靠,至少直到所述算法通过在所述窗内的一定数目的阶段上累积了状态量度而“变热”为止。这种较低的可靠性通常会转变为较低的解码器性能,从而导致通信链路性能降低。使得所述递归从未知的开始(或结束)状态变热的可能性还形成了解码咬尾(trail-biting)网格的实际基础,其中对应于真实的信息序列的路径开始并且结束于相同的状态。
所述滑动窗可以重叠以便缓解上述可靠性问题,其中更多的重叠通常会转变为更大程度的缓解。但是,由于所述重叠区域内的各网格阶段是在两个重叠窗当中的每一个内被处理的,因此更多的重叠会不利地转变为较低的解码器吞吐量。此外,即使是很大的重叠也无法在由宽带CDMA(W-CDMA)和其他开发中的无线通信标准所提供的更高数据速率下令人满意地缓解所述可靠性问题。
更广泛地说,存储器问题随着对于可能较长的软值序列的基于SISO的处理而开始显现,不管所述SISO算法是否使用基于网格的处理。因此,惯常的实践是在处理总体序列时使用滑动窗遍历,即利用一系列重叠窗来细分所述总体序列。这样,上面提到的可靠性问题在其中使用了加窗遍历的宽范围SISO算法中开始显现。
概要
把最大后验(MAP)和其他类型的软输入软输出(SISO)算法处理细分成单独的处理窗降低处理存储器需求,但是可能会导致针对位于所述处理窗边界处或者位于所述边界附近的输入序列位置所估计的输出软值的可靠性相对差,即使在使用窗重叠的情况下也是如此。利用固定的窗放置,这些相对差的输出软值可靠性的区域对于从所述SISO算法的一次迭代到另一次迭代保持固定。因此,一种如这里所教导的方法和设备在SISO算法中从输入软值序列生成输出软值,这是通过在所述SISO算法的两次或多次迭代当中的每一次迭代中把所述序列细分成多个窗并且处理每一个窗内的输入软值以及在各次迭代之间改变窗放置而实现的。在迭代之间改变窗放置相对于所述序列移动窗边界。
在一个实施例中,一种根据迭代软输入软输出(SISO)算法处理软值序列的方法包括:在第一次迭代中利用第一窗放置并且在第二次迭代中利用第二窗放置对所述软值序列实施滑动窗处理;以及在所述第一次和第二次迭代之间改变所述窗放置。改变迭代之间的窗放置相对于所述序列移动窗边界,从而使得在一次迭代中具有相对差的可靠性属性的输出软值在下一次迭代中具有提高的可靠性属性。
作为一个非限制性的例子,所述SISO算法可以是被用于对turbo码进行解码的MAP算法。但是这里的教导广泛适用于在SISO算法中从输入软值序列生成输出软值,其中这是通过在所述SISO算法的两次或多次迭代当中的每一次迭代中把所述序列细分成多个窗并且处理每一个窗内的输入软值以及在迭代之间改变窗放置以相对于所述序列移动窗边界而实现的。在一个实施例中,在迭代之间改变窗放置以相对于所述序列移动窗边界包括改变一个或多个窗尺寸以及/或者改变被用来放置所述多个窗的一个或多个偏移量值。
可以被包括在无线通信设备中的通信接收机电路的一个实施例被配置成在基于滑动窗的SISO处理中使用变化的窗放置。所述通信接收机电路包括被配置成在软输入软输出(SISO)算法中从输入软值序列生成输出软值的一个或多个处理电路。在所述SISO算法的两次或多次迭代当中的每一次迭代中,所述通信接收机电路把所述序列细分成多个窗并且处理每一个窗内的输入软值,其中所述一个或多个处理电路在迭代之间改变窗放置,以相对于所述序列移动窗边界。
在至少一个这种实施例中,所述通信接收机电路基于执行前向和后向递归来处理每一个窗内的所述软值。例如,在包括至少第一和第二可通信地耦合的解码器的turbo解码器中,一个或者全部两个这样解码器在每一次解码迭代中执行滑动窗处理。
当然,本发明不限于上面的特征和优点。相反,本领域技术人员在阅读了下面的详细描述并且观看了附图之后将认识到附加的特征和优点。
附图简述
图1是被配置成利用在软输入软输出(SISO)处理迭代之间改变的滑动窗放置实施SISO处理的通信接收机电路的一个实施例的方框图。
图2是利用在迭代之间改变的窗放置在迭代SISO算法中处理输入软值序列的一个实施例的图示。
图3是图1的通信接收机电路的一个实施例中的功能电路的方框图。
图4是用来在SISO算法迭代之间改变滑动窗放置的处理逻辑的一个实施例的逻辑流程图。
图5和6是相对于被用来处理输入软值序列的组成网格的滑动窗放置的图示。
图7是关于与例如图5的基于网格的滑动窗处理相对应的窗边界的输出软值的可靠性属性的图示。
图8是可以对之应用这里教导的滑动窗放置的咬尾的基于MAP的解码网格的图示。
图9-12是示出了在利用滑动窗的多个网格遍历迭代之间改变滑动窗放置的一个实施例的图示。
图13是无线通信设备的一个实施例的方框图,其包括被配置成在SISO算法的迭代之间改变滑动窗放置的通信接收机电路。
图14是可以被包括在图13的无线通信设备中的通信接收机电路的均衡化电路实施例;
图15是可以被包括在图13的无线通信设备中的通信接收机电路的turbo解码器实施例。
图16、17、19、20、22和23是通过在解码迭代之间改变滑动窗放置而实现的turbo解码性能的图示,而图18、21和24表示在解码迭代之间不改变滑动窗放置的情况下执行的相应的解码操作的比较性能。
详细描述
图1示出了通信接收机电路10,其在一个或多个实施例中实现一种在软输入软输出(SISO)算法中从输入软值序列生成输出软值的方法。更具体来说,所述通信接收机电路10以硬件、软件或其任意组合来实现,其利用对所述软值输入序列的滑动窗遍历来执行迭代SISO处理,其中所述滑动窗的放置在一次或多次迭代之间改变。
参照图2,在至少一个这样实施例中,所述方法在所述SISO算法的两次或多次迭代当中的每一次迭代中包括:把所述序列细分成多个窗(窗W1-WN)并且处理每一个窗中的所述输入软值;以及在迭代之间改变窗放置以相对于所述序列移动窗边界。可以看出,每一个所示出的处理窗对应于或者“覆盖”所述输入序列中的软值子集,并且完全遍历所述输入序列(这可以被视为所述SISO算法的一次迭代)包括在每一个窗内实施SISO处理。还应当注意到,一些实施例使用重叠窗放置,而其他实施例则不使用。这里关于在所述SISO算法的迭代之间改变窗放置的教导既适用于重叠滑动窗处理也适用于非重叠滑动窗处理。
一般来说,在使用或者不使用窗重叠的情况下,进行SISO处理的所述滑动窗方法降低状态存储器需求,这是因为所述通信接收机电路10每次只需要累积一个窗的状态量度价值。与此同时,在迭代之间改变窗放置相对于所述输入序列移动窗边界。如在下文中将解释的那样,由于在所述窗边界附近从输入软值生成的输出软值的可靠性相对较差,因此在迭代之间相对于所述输入序列移动所述窗边界可以确保算法性能潜在地较差的区域在迭代之间发生改变。在迭代之间改变这些区域在几次迭代之后改进所有输出软值的总体可靠性。
图3示出了用于所述通信接收机电路10的功能电路的实施例,其包括作为被配置成在所述SISO算法的迭代之间改变滑动窗放置的窗放置处理器(WPP)来操作的迭代控制处理器12。此外,所示出的功能电路设置包括:软输入值缓冲器14,其用于保持所述输入序列;第一和第二滑动窗缓冲器16和18,其用于保持由同样被包括的前向和后向递归处理器20和22在单独的处理窗上累积的状态量度;以及软值输出缓冲器24,其用于保持所述输出软值。应当注意到,利用两个递归处理器20和22,可以同时实施各单独的处理窗内的前向和后向递归。在其他实施例中,单一递归处理器首先执行前向递归并且随后执行后向递归,或者反之亦然。
利用所述功能元件及其变型,所述通信接收机电路10实现在图4的处理逻辑实施例中示出的迭代SISO处理。也就是说,所述通信接收机电路10在第一次迭代中利用第一窗放置并且在第二次迭代中利用第二窗放置实施对软值序列的滑动窗处理(步骤100)。为了相对于所述序列移动所述窗边界,所述通信接收机电路10在所述第一次和第二次迭代之间改变所述窗放置(步骤102)。虽然所述第一次和第二次迭代通常包括连续迭代,但是这里的教导并不限于连续迭代。此外,本领域技术人员应当很容易认识到,迭代SISO处理根据应用使用更少或更多迭代,并且可以在一系列迭代当中的每一次迭代之间改变窗放置,或者在所述系列当中的比所有迭代少的迭代之间改变窗放置。
作为详细的迭代SISO处理实例,图5描绘了对输入软值序列的基于网格的处理,其中利用多个滑动窗在一次迭代中遍历具有已知的开始和结束状态的组成网格。在图示中,每一个窗跨越所述组成网格的W个阶段,并且相继的窗位置之间的重叠是D个阶段。应当注意到,对于D=0,没有窗重叠。
本领域技术人员将很容易认识到,对于所述输入序列的基于网格的表示通常包括可以用硬件、软件或其任意组合实现的二维逻辑构造。所述网格的垂直维度取决于问题的复杂度,例如解码问题中的编码器状态的数目或者均衡化问题中的滤波器抽头数目的指数,而水平维度(网格阶段的数目)则取决于序列长度。应当注意到,图5没有描绘所述组成网格内的各单独的网格阶段,但是应当理解的是,所述组成网格包括可能大量相继网格阶段,并且所述处理窗边界落在这些阶段当中的给定阶段上。
在实施根据图5的基于网格的SISO处理的一次迭代时,所述通信接收机10通过处理每一个处理窗内的输入软值而生成输出软值。更具体来说,所述通信接收机电路10在每一个处理窗内执行前向和后向网格递归(例如基于MAP的概率估计)。还应当注意到,图5示出了首先是前向的滑动窗实施例,而图6则示出了首先是后向的滑动窗实施例,但是其他方面是相同的。
在任一种情况下,所述通信接收机电路10都在迭代之间改变所述滑动窗放置,从而使得所述窗边界相对于所述输入序列移动。在基于网格表示中,这种移动改变窗边界相对于所述网格阶段的(多个)位置。换句话说,通过在对所述网格的滑动窗遍历之间改变所述窗放置可以逐次迭代地改变哪些网格阶段最接近所述窗边界。应当注意到,这种处理(即在网格遍历迭代之间改变窗放置)还可以被应用于其他网格结构/算法,比如图7中示出的“咬尾”MAP解码器网格。
图8帮助理解上述移动为什么改进输出软值的可靠性,其中示出了根据各网格阶段相对于窗边界的位置来改变其可靠性属性。要理解通过由对所述网格的滑动窗遍历而引起的网格位置的不同可靠性属性依赖于认识到下面这一点:所述前向和后向递归(比如Viterbi算法)可以在任意网格状态下“冷”开始,从而使得滑动窗算法成为可能。这样生成的状态量度初始地是不可靠的,但是将在为了“变热”而处理了特定数目的阶段之后变得更加可靠。但是由于在所述变热阶段期间生成的状态量度是不可靠的,因此不能将其组合到有用的软信息输出中。
把所述窗边界重叠D个阶段在一定程度上有所帮助。例如回到图5,窗1中的后向递归必须以不确定的状态开始。可以利用相等的值或者利用特定估计来初始化所述后向状态量度。即使在智能初始化的情况下,由该后向递归生成的状态量度对于初始的阶段也是不可靠的,因此在这些阶段期间不计算软信息。在初始的D个阶段之后,所述后向状态量度的可靠性被认为可以接受,并且通过窗1的后向递归来计算软信息输出。为了生成对应于这些D个阶段的软输出,窗2的后向递归如图中所示的那样重访这些阶段。由于窗2的后向递归在到达与窗1重叠的D个阶段后已经经过了(窗2的)许多阶段,因此其随后可以可靠地计算缺失的软信息输出。类似地,窗2对于除了与窗3重叠的D个阶段之外的其所跨越的所有网格位置生成软输出,后面以此类推。
当然,如图8中所示,重叠所述滑动窗不能完全解决所述不可靠性问题,这是因为可靠性较差的区域在网格遍历迭代之间不发生改变。与此相对,在使用或者不使用窗重叠的情况下如这里所教导的那样在迭代之间改变窗放置通过改变迭代之间的这些窗边界的位置可以解决在处理窗边界附近的差输出软值可靠性这一更为基本的问题。因此可以预期,在一次迭代中由于其在该次迭代中邻近窗边界而具有相对差的可靠性属性的输出软值在下一次迭代中将由于移动过的窗边界而具有提高的可靠性属性。
更具体来说,这里的主要教导是,对于各组成SISO处理器的窗放置应当在迭代之间改变,正如在图9-12中所示出的那样。(图9-12示出了基于网格处理的SISO算法的前4次迭代,并且描绘了在相继迭代之间移动的一个或多个所述滑动窗边界。)通过对于不同迭代改变所述窗放置,可以在其他迭代中改进在任何特定迭代中无法快速改进的信号区域。
关于这一点,在迭代之间改变窗放置以相对于所述输入软值序列移动窗边界包括改变一个或多个窗尺寸以及/或者改变被用来放置所述多个重叠窗的一个或多个偏移量值。但是由于窗放置是在迭代之间改变的,因此这里的附加教导是应当把所述窗放置成使得一次迭代中的重叠区域远离紧接着的下一次(多次)迭代中的重叠区域。在各次迭代之间的窗放置的这种变化确保对于在前一次迭代中没有改进太多的信号得到最大可靠性改进。
在这里教导的至少一个实施例中,在迭代之间实施窗放置改变包括对初始窗放置应用不同的偏移量。此外,至少一个这样实施例还包括利用考虑到窗尺寸和迭代次数的低复杂度求模函数来计算所述不同的偏移量。在采用窗重叠的实施例中,计算所述不同的偏移量可以进一步考虑窗重叠深度。
作为对于为T次迭代设计的首先是前向的滑动窗算法的详细实例,可以如下面的表1中那样设置对于给定数目的阶段的组成网格的基本窗放置:
表1
    窗索引     开始阶段     结束阶段
    1     0     W
    2     W-D     (W-D)+W
    3     2(W-D)     2(W-D)+W
    4     3(W-D)     3(W-D)+W
    ...     ...     ...
从上表中可以看出,连续窗放置前进(W-D)个阶段。对于第t(t=0,1,...,T-1)次迭代的该基本窗放置的偏移量由下面的计算给出:
offset ( t ) = [ round ( W - D T ) × P × t ] mod ulo ( W - D ) 等式(1)
其中,函数round(x)返回最接近x的整数,并且求模运算把所述偏移量限制到[0,W-D-1]的范围。等式(1)中的非零数P控制迭代之间的偏移量分离。希望选择相对于T是质数的P。
作为对于上面的在迭代之间改变滑动窗放置的实施例的一个具体的数值实例,可以假设网格阶段的数目为N=1060,基本窗宽度为W=272,窗深度为D=16,并且迭代次数为T=8。通过设置P=3,可以验证对于根据等式(1)的8次迭代的8个偏移量为0、96、192、32、128、224、64和160。这些偏移量均匀分布在所述窗前进距离((W-D)=256)内。此外,所述偏移量导致连续迭代中的窗边界之间的较大分离。
考虑上面的数值实例,有两点值得重申。首先,在表1中表示的窗放置以及从等式(1)计算的偏移量值确定对于D≠0提供重叠窗放置,并且对于D=0提供非重叠窗放置。其次,对用于在所述SISO算法的迭代之间改变窗位置的偏移量值的选择可以被理解为解决两个问题:第一个问题是在迭代之间具有大的窗边界移动;第二个问题是避免在总数次迭代当中重复窗放置。在上面的数值实例中,把“96”选择成对于逐次迭代窗放置改变的基本偏移量增量导致所能做出的最大逐次迭代移动,同时避免在总共8次迭代中重复窗放置。
对于根据当前实例的8次迭代的所有窗的完整列表出现在下面的表2中:
表2
Figure A20078004006300141
作为另一个实例,它涉及首先是后向的滑动窗算法,可以如下面的表3中所示的那样设置右对准的基本窗放置:
表3
    窗索引   开始阶段     结束阶段
    1   N-W     N
    2   N-W-(W-D)     N-(W-D)
    3   N-W-2(W-D)     N-2(W-D)
    4   N-W-3(W-D)     N-3(W-D)
    ...   ...     ...
作为用来说明上面的滑动窗放置实施例的具体的数值实例,可以假设N=1060、W=272、D=16以及T=8。通过设置P=3,可以验证对于该实施例中的所有8次迭代的所有窗放置出现在下面的表4中:
表4
Figure A20078004006300161
另一个例子说明了被应用于首先是后向的滑动窗处理的滑动窗放置变化的应用。其开始于左对准的基本窗放置,其中假设N=1060、W=272、D=16以及T=8并且设置P=3,在下面的表5中列出了对于所有8次迭代的窗位置:
表5
Figure A20078004006300181
从窗放置实例转到设备和系统实现方式,本领域技术人员将认识到,这里给出的滑动窗放置教导提供了在多种应用中改进通信接收机性能的机会,比如在无线通信网络基站和/或其相关联的用户设备(UE)中。例如,图13示出了无线通信设备30,其包括图1中介绍的通信接收机电路10的实施例。
所述无线通信设备30例如包括蜂窝无线电电话或其他移动终端、便携式数字助理(PDA)、寻呼机、膝上型/掌上型计算机或其中的无线网络适配器或者其中具有无线通信接收机的实际上任何其他类型的设备。在至少一个特定实施例中,所述无线通信设备30包括根据通用移动电信系统(UMTS)标准配置的并且支持根据宽带CDMA(WCDMA)标准的无线电通信的通信终端。
在至少一个实施例中,所述通信接收机电路10包括被包含在所述无线通信设备30内的集成电路芯片组的全部或一部分。此外,所述无线通信设备30在非限制性体系结构实例中还包括发射/接收天线32、开关(或双工器)34、接收机和发射机电路36和38、基带处理器40、系统处理器42以及用户接口44,所述用户接口取决于所述设备的预定用途可以包括显示器、小键盘以及音频输入/输出设备。
在至少一个实施例中,所述接收机电路36包括提供对所接收的信号的放大和数字化的前端电路以及基带处理器提供对经过数字化的所接收的信号样本的数字基带处理。在这种情况下,所述通信接收机电路10可以按照硬件、软件、固件、微编码逻辑电路等形式被集成到所述基带处理器40中。(应当注意到,在许多情况下,所述基带处理器40还执行发射处理功能并且生成发射信号以便由所述发射机电路38放大及发射。)在其他实施例中,可以在接收和发射功能之间分离基带处理,并且因此所述通信接收机电路10可以被包含在所述接收机电路36的块内。
一般来说,根据手头的具体应用按照需要或希望改变用于实施这里所教导的移动窗放置方法的体系结构细节。图1 4提供了一种示例性应用,其中所述通信接收机电路10被配置为软均衡器和解码器电路,其包括均衡器70、去交织器72(其具有被表示为“π-1”的去交织功能)、软值解码器74以及交织器76(其具有被表示为“π”的交织功能)。在操作中,所述解码器74作为迭代SISO处理器操作,并且使用这里所教导的滑动窗处理从由所述去交织器72提供到该处的经过均衡化及去交织的输入软值生成输出软值。
更具体来说,在第一次迭代中,所述均衡器70在没有任何先验信息的情况下对输入软值序列进行均衡化。所述经过均衡化的软值通过去交织器72并且馈送到所述解码器74中,该解码器使用第一滑动窗放置来处理所述输入软值。在该第一次迭代中生成的外来信息通过所述交织器76作为先验信息输入反馈到所述均衡器70以用于其下一次迭代,其又生成“改进的”软值以供输入到所述解码器74。该处理重复所期望的或者已定义次数的迭代,其中所述解码器74按照这里所教导的那样在迭代之间改变窗放置。
图15示出了所述通信接收机电路10的turbo解码器实施例。一般来说,对于turbo解码,对于每一个基本编码器有一个解码器。每一个这种解码器估计每一个数据比特的外来信息,并且由一个解码器生成的APP充当另一个解码器的先验信息。所述解码持续已设定的迭代次数,其性能增益随着每一次重复的迭代降低。
考虑到这种操作,所述通信接收机电路10的所示出的实施例包括第一和第二SISO处理器50和52,并且还包括多路分解/解打孔电路54、去交织电路56和相关联的加法电路58以及交织电路60和相关联的加法电路62或者与多路分解/解打孔电路54、去交织电路56和相关联的加法电路58以及交织电路60和相关联的加法电路62相关联。在操作中,通过所述多路分解/解打孔电路54对所接收到的信号软值进行多路分解及解打孔,该多路分解/解打孔电路输出子流X、Y1和Y2,所述子流对应于比特软值(X)和卷积编码的比特软值(Y1和Y2)。
在操作中,所述SISO处理器50和52作为迭代SISO解码器操作,其中的一个或全部两个被配置成在迭代之间改变滑动窗放置。在至少一个实施例中,所述SISO处理器50和52包括两个串联的MAP或对数MAP解码器,所述解码器迭代地解码所述已编码的输入。例如可以根据信道条件或者另一个性能量度而改变迭代次数,并且每一个SISO处理器50和52可以包括其自身的窗放置处理器,或者窗放置处理器(未明确示出)可以设置对于全部两个所述处理器的窗放置以在迭代之间改变窗放置。在任一种情况下,所述SISO处理器50和52可以使用相同的变化窗放置,或者如果两个SISO处理器50和52使用改变窗放置,则每一个SISO处理器可以独立于另一个改变窗放置。
图16、17、19、20、22和23示出了通过如这里所教导的那样在解码迭代之间改变滑动窗放置而得到的turbo解码性能实例。每一个图示出了分组错误率,并且对于所有情况使用T=8次迭代以及P=3。图18、21和24分别提供了在各次解码迭代之间不改变滑动窗放置的情况下使用重叠滑动窗时的较低解码性能的相应图示。图16、17、19、20、22和23表明,在迭代之间改变滑动窗放置可以消除“错误底板(errorfloor)”并且得到与“全帧”解码同等的性能,在所述“全帧”解码中,所述输入序列被整个解码而不将其细分成各处理窗。
图16针对6个编码率r=[0.33,0.55,0.70,0.82,0.90,0.95]更详细地示出了对于具有640比特的分组尺寸的已编码QPSK使用在解码迭代之间改变的滑动窗放置的解码性能。其中一组滑动窗解码器被设计成W=264和D=8,另一组被设计成W=272和D=16。图17使用相同的编码率,但是其示出了针对W=272和D=16配置的滑动窗解码器的性能以及针对W=256和D=0(非重叠滑动窗)配置的滑动窗解码器的性能。图17还示出了全帧(无滑动窗)性能以作参考。为了进一步说明通过在迭代之间改变滑动窗放置而获得的解码性能增益,图18示出了在与图16和17相同的调制和编码率情境中的解码性能,但是在解码迭代之间使用了固定的滑动窗放置。
类似地,图19针对6个编码率r=[0.33,0.55,0.70,0.82,0.90,0.95]示出了对于具有5120比特的分组尺寸的已编码QPSK使用在解码迭代之间改变的滑动窗放置的解码性能。其中一组滑动窗解码器被设计成W=264和D=8,另一组被设计成W=272和D=16。图20使用相同的调制和编码率,但是其示出了针对W=272和D=16配置的滑动窗解码器的性能以及针对W=256和D=0(非重叠滑动窗)配置的滑动窗解码器的性能。图20还示出了全帧(无滑动窗)性能以作参考。为了进一步说明通过在迭代之间改变滑动窗放置而获得的解码性能增益,图21示出了在与图19和20相同的调制和编码率情境中的解码性能,但是在各次解码迭代之间使用了固定的滑动窗放置。
最后,图22针对6个编码率r=[0.33,0.53,0.68,0.80,0.89,0.95]示出了对于具有25570比特的分组尺寸的已编码16QAM使用在解码迭代之间改变的滑动窗放置的解码性能。在发射侧,首先把每一个分组分段成5个长度各为5114比特的块,并且对每一个片段进行turbo编码。在接收机侧对每一个片段进行独立解码,并且只有在所有5个片段都被正确解码的情况下才正确接收到所述分组。在相同的调制和编码情境中,图23示出了对应于非重叠窗(W=256,D=0)的解码性能。为了参考在不改变滑动窗放置的情况下的解码性能,图4示出了在与图22和23相同的调制和编码率情境中的解码性能,但是在解码迭代之间使用了固定的滑动窗放置。
虽然在解码迭代之间改变滑动窗放置在上面的turbo解码情境中提供可证明且显著性能改进,但是本领域技术人员将认识到,这种做法适用于多种SISO处理,比如在广义耙指或者其他序列组合中。一般来说,变化的窗放置例如可以被用来在以下情况中执行迭代SISO处理:用于串行或并行turbo码的迭代解码器;迭代软解调和解码处理器;迭代均衡化和解码处理器;迭代多用户检测和解码处理器;以及迭代多输入多输出(MIMO)解调和解码处理器。
广泛地说,本发明教导了在迭代SISO算法的迭代之间改变滑动窗放置。例如在基于网格的处理中(其中通过在由一个或多个重叠窗当中的每一个所覆盖的所述网格的各子段中执行基于MAP的前向和后向递归而在一次迭代中遍历所述网格),本发明在迭代之间移动所述这些窗边界的一个或多个,从而使得所述网格位置的可靠性属性在迭代之间发生改变。因此,本发明不限于前面的描述和附图。相反,本发明仅由权利要求书及其等效法律表述限定。

Claims (29)

1、一种在软输入软输出(SISO)算法中从输入软值序列生成输出软值的方法,所述方法包括:
在所述SISO算法的两次或多次迭代当中的每一次迭代中把所述序列细分成多个窗并且处理每一个窗内的输入软值;以及
在迭代之间改变窗放置,以相对于所述序列移动窗边界。
2、权利要求1的方法,其中,在各次迭代之间改变窗放置以便相对于所述序列移动窗边界包括:改变一个或多个窗尺寸。
3、权利要求1的方法,其中,在迭代之间改变窗放置以相对于所述序列移动窗边界包括:改变被用来放置所述多个窗的一个或多个偏移量值。
4、权利要求3的方法,其还包括:根据迭代总次数确定所述一个或多个偏移量值。
5、权利要求1的方法,其中,在迭代之间改变窗放置以便相对于所述序列移动窗边界包括:对初始窗放置应用不同的偏移量。
6、权利要求5的方法,其还包括:利用考虑到窗尺寸和迭代次数的低复杂度求模函数来计算所述不同的偏移量。
7、根据权利要求6的方法,其包括:还考虑到窗重叠深度来计算所述不同的偏移量。
8、权利要求5的方法,其还包括:计算所述不同的偏移量以便最大化迭代之间的窗边界移动,同时在总数次迭代中不重复窗放置。
9、权利要求1的方法,其中,处理每一个窗内的输入软值包括:在每一个窗内执行前向和后向网格递归。
10、权利要求1的方法,其还包括:在包括可通信地耦合的第一和第二解码器的turbo解码器中应用所述方法,从而使得其中一个或全部两个所述解码器在turbo解码迭代之间使用变化的窗放置。
11、权利要求1的方法,其中,在迭代之间改变窗放置以便相对于所述序列移动窗边界包括:相对于所述序列移动所述窗边界,从而使得在一次迭代中具有相对差的可靠性属性的输出软值在下一次迭代中具有提高的可靠性属性。
12、一种根据迭代软输入软输出(SISO)算法处理软值序列的方法,所述方法包括:
在第一次迭代中利用第一窗放置并且在第二次迭代中利用第二窗放置对所述软值序列实施滑动窗处理;以及
在所述第一次和第二次迭代之间改变所述窗放置。
13、权利要求12的方法,其中,在所述第一次和第二次迭代之间改变所述窗放置包括:改变被用来相对于所述软值序列定位所述滑动窗的偏移量值,从而使得窗边界在所述第一次和第二次迭代之间相对于所述软值序列移动。
14、权利要求12的方法,其中,在第一次迭代中利用第一窗放置并且在第二次迭代中利用第二窗放置对所述软值序列实施滑动窗处理包括:在所述第一次和第二次迭代当中的每一次迭代中,执行对由每一个滑动窗覆盖的所述软值序列中的软值的前向和后向递归处理。
15、权利要求12的方法,其中,在第一次迭代中利用第一窗放置并且在第二次迭代中利用第二窗放置对所述软值序列实施滑动窗处理包括:在所述第一次和第二次迭代当中的每一次迭代中,基于对所述网格的滑动窗遍历实施对所述软值序列的基于网格的处理。
16、权利要求12的方法,其中,在所述第一次和第二次迭代之间改变所述窗放置包括:改变所述窗放置以相对于所述序列移动窗边界,从而使得在一次迭代中具有相对差的可靠性属性的输出软值在下一次迭代中具有提高的可靠性属性。
17、一种通信接收机电路,其包括:
一个或多个处理电路,其被配置成在软输入软输出(SISO)算法中从输入软值序列生成输出软值,这是通过在所述SISO算法的两次或多次迭代当中的每一次迭代中把所述序列细分成多个窗并且处理每一个窗内的输入软值而实现的;并且
其中,所述一个或多个处理电路在迭代之间改变窗放置,以相对于所述序列移动窗边界。
18、权利要求17的通信接收机电路,其中,所述通信接收机电路被配置成通过改变一个或多个窗尺寸而在迭代之间改变窗放置。
19、权利要求17的通信接收机电路,其中,所述通信接收机电路被配置成通过改变被用来放置所述多个窗的一个或多个偏移量值而在迭代之间改变窗放置。
20、权利要求19的通信接收机电路,其中,所述通信接收机电路被配置成根据总数次迭代确定被用来放置所述多个窗的所述一个或多个偏移量值。
21、权利要求17的通信接收机电路,其中,所述通信接收机电路被配置成通过对初始窗放置应用不同的偏移量而在迭代之间改变窗放置。
22、权利要求21的通信接收机电路,其中,所述通信接收机电路还被配置成利用考虑到窗尺寸和迭代次数的低复杂度求模函数来计算所述不同的偏移量。
23、权利要求22的通信接收机电路,其中,所述通信接收机电路被配置成还考虑到窗重叠深度来计算所述不同的偏移量。
24、权利要求21的通信接收机电路,其中,所述通信接收机电路被配置成计算所述不同的偏移量以最大化迭代之间的窗边界移动,同时在总数次迭代中不重复窗放置。
25、权利要求17的通信接收机电路,其中,所述通信接收机电路被配置成通过在每一个窗内执行前向和后向网格递归来处理每一个窗内的所述输入软值。
26、权利要求17的通信接收机电路,其中,所述通信接收机电路包括turbo解码电路的至少一部分,并且所述一个或多个处理器包括可通信地耦合的第一和第二解码器,从而使得其中一个或全部两个所述解码器在turbo解码迭代之间使用变化的窗放置。
27、权利要求17的通信接收机电路,其中,所述通信接收机电路包括以下各项的其中之一:用于并行或串行turbo码的迭代解码器;迭代软解调和解码处理器;迭代均衡化和解码处理器;迭代多用户检测和解码处理器;或者迭代多输入多输出解调和解码处理器。
28、权利要求17的通信接收机电路,其中,所述一个或多个处理电路被配置成在迭代之间改变窗放置以相对于所述序列移动窗边界,从而使得在一次迭代中具有相对差的可靠性属性的输出软值在下一次迭代中具有提高的可靠性属性。
29、一种无线通信设备,其包括权利要求17的通信接收机电路。
CNA2007800400638A 2006-10-27 2007-10-03 用于软输入/软输出处理的滑动窗方法和设备 Pending CN101529884A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510553850.9A CN105187074B (zh) 2006-10-27 2007-10-03 用于软输入/软输出处理的滑动窗方法和设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/553,767 US7810018B2 (en) 2006-10-27 2006-10-27 Sliding window method and apparatus for soft input/soft output processing
US11/553,767 2006-10-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510553850.9A Division CN105187074B (zh) 2006-10-27 2007-10-03 用于软输入/软输出处理的滑动窗方法和设备

Publications (1)

Publication Number Publication Date
CN101529884A true CN101529884A (zh) 2009-09-09

Family

ID=39325032

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2007800400638A Pending CN101529884A (zh) 2006-10-27 2007-10-03 用于软输入/软输出处理的滑动窗方法和设备
CN201510553850.9A Active CN105187074B (zh) 2006-10-27 2007-10-03 用于软输入/软输出处理的滑动窗方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510553850.9A Active CN105187074B (zh) 2006-10-27 2007-10-03 用于软输入/软输出处理的滑动窗方法和设备

Country Status (5)

Country Link
US (1) US7810018B2 (zh)
EP (1) EP2077031B1 (zh)
CN (2) CN101529884A (zh)
AR (1) AR063428A1 (zh)
WO (1) WO2008051152A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792597A (zh) * 2010-03-08 2012-11-21 日本电气株式会社 纠错码解码装置、纠错码解码方法以及纠错码解码程序
CN105991142A (zh) * 2015-02-13 2016-10-05 晨星半导体股份有限公司 卷积编码的解码方法
CN108111250A (zh) * 2016-11-25 2018-06-01 晨星半导体股份有限公司 用于通信系统中回旋码解码装置的解码方法及相关的判断模块

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958437B2 (en) * 2007-03-30 2011-06-07 Seagate Technology Llc MAP detector with a single state metric engine
US8073083B2 (en) * 2007-04-30 2011-12-06 Broadcom Corporation Sliding block traceback decoding of block codes
US20090172495A1 (en) * 2007-12-27 2009-07-02 Via Telecom, Inc. Methods and Apparatuses for Parallel Decoding and Data Processing of Turbo Codes
WO2009118713A1 (en) * 2008-03-28 2009-10-01 Nxp B.V. Mesm: a fast bjcr based decoder implementation scheme
CN102804609B (zh) * 2009-06-17 2015-04-01 相干逻辑公司 基于格式结构方法的并行执行
CN102396158A (zh) * 2009-06-18 2012-03-28 中兴通讯股份有限公司 一种lte中并行turbo译码的方法及装置
GB0915135D0 (en) * 2009-08-28 2009-10-07 Icera Inc Decoding signals received over a noisy channel
US8707145B2 (en) 2011-03-29 2014-04-22 Intel Corporation System, method and apparatus for tail biting convolutional code decoding
US9686088B2 (en) * 2011-10-19 2017-06-20 Facebook, Inc. Notification profile configuration based on device orientation
US20130170842A1 (en) * 2012-01-04 2013-07-04 Toshiaki Koike-Akino Method and System for Equalization and Decoding Received Signals Based on High-Order Statistics in Optical Communication Networks
CN103840842A (zh) * 2014-03-05 2014-06-04 华为技术有限公司 一种译码器
TWI565246B (zh) * 2015-01-12 2017-01-01 晨星半導體股份有限公司 迴旋編碼的解碼方法
CN107919937B (zh) * 2016-10-10 2020-10-27 深圳光启合众科技有限公司 基于重叠复用的译码方法、装置及调制解调方法和系统
CN106788899A (zh) * 2016-12-29 2017-05-31 中国科学院微电子研究所 高可靠的Turbo译码器后向边界初始化方法
ES2926238T3 (es) 2017-03-29 2022-10-24 Massachusetts Inst Technology Sistema y técnica para la generación de paquetes basados en codificación de red de ventana deslizante
CN111726626B (zh) * 2020-06-18 2022-05-03 格兰菲智能科技有限公司 集成电路及用于视频解码的概率表存储方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
JP2002076921A (ja) * 2000-09-01 2002-03-15 Nec Corp 誤り訂正符号復号方法及び装置
US6901117B1 (en) 2000-02-10 2005-05-31 Motorola, Inc. Soft output decoder for convolutional codes
US20010044919A1 (en) * 2000-05-05 2001-11-22 Edmonston Brian S. Method and apparatus for improved perormance sliding window decoding
US6829313B1 (en) 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US7200799B2 (en) * 2001-04-30 2007-04-03 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
US7333581B2 (en) * 2001-12-28 2008-02-19 Nxp B.V. Method of processing data for a decoding operation using windows of data
JP2006041960A (ja) * 2004-07-28 2006-02-09 Nec Corp ターボ復号装置及びターボ復号方法並びにプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792597A (zh) * 2010-03-08 2012-11-21 日本电气株式会社 纠错码解码装置、纠错码解码方法以及纠错码解码程序
CN105991142A (zh) * 2015-02-13 2016-10-05 晨星半导体股份有限公司 卷积编码的解码方法
CN108111250A (zh) * 2016-11-25 2018-06-01 晨星半导体股份有限公司 用于通信系统中回旋码解码装置的解码方法及相关的判断模块

Also Published As

Publication number Publication date
EP2077031A4 (en) 2012-09-05
US7810018B2 (en) 2010-10-05
EP2077031B1 (en) 2018-12-05
US20080104488A1 (en) 2008-05-01
CN105187074A (zh) 2015-12-23
AR063428A1 (es) 2009-01-28
WO2008051152A3 (en) 2008-06-19
EP2077031A2 (en) 2009-07-08
CN105187074B (zh) 2019-06-04
WO2008051152A2 (en) 2008-05-02

Similar Documents

Publication Publication Date Title
CN101529884A (zh) 用于软输入/软输出处理的滑动窗方法和设备
US6697441B1 (en) Baseband processors and methods and systems for decoding a received signal having a transmitter or channel induced coupling between bits
EP1264456B1 (en) Method and apparatus for combined soft-decision based interference cancellation and decoding
Shibutani et al. Reducing average number of turbo decoding iterations
JP4298170B2 (ja) マップデコーダ用の区分されたデインターリーバメモリ
WO2004042989A1 (en) Iterative decoding with likelihood weighting
EP2750298B1 (en) Interference cancellation in a multi-user receiver
KR100899732B1 (ko) 공간-효율적인 터보 디코더
CN105323039A (zh) 用于迭代解码数据传送结构的方法和设备
US8413021B2 (en) Efficient soft value generation for coded bits in a turbo decoder
EP1474887B1 (en) Apparatus and method for determining combiner weights and log-likelihood ratios for symbols transmitted in a wireless communication system
US20120246539A1 (en) Wireless system with diversity processing
US7418052B2 (en) Iterative turbo decision feedback receiver
Ortin et al. Performance analysis of turbo decoding algorithms in wireless OFDM systems
EP2271039B1 (en) Process and arrangement for turbo equalization with turbo decoding of signals
TWI650954B (zh) 用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組
KR100724986B1 (ko) 부호분할 다중접속 시스템에서 터보 복호기의 입력데이터를 위한 스케일링 인자의 결정 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090909