咬尾解码器和方法

文档序号:7525355阅读:511来源:国知局
专利名称:咬尾解码器和方法
技术领域
本发明涉及对信息信号解码的方法,更具体地说,涉及对已被纠错编码成循环块的和/或已通过引入码间干扰(ISI)的媒体、如通常称为咬尾解码器的块循环解码器接收的信息信号进行解码的方法。
例如,

图1中表示了两个概率值,即加在最高概率的节点10上的值P1和加在次高概率的节点12上的值P2。例如,路径的描述可以是表示采取哪些先前分支来到达当前节点的一串码元,加上当前节点上的概率。因此,在节点10,描述可包括码元串...010101和概率值P1,而在节点12,描述可包括码元串...00和概率值P2。或者,描述可包括对应于所采取的最后分支的码元,加上到采取该分支的前一节点的指针。后者有时存储效率更高些,因为只需要在每个节点存储一个码元。如果需要再生沿着该路径的码元串,则可以执行“追溯”操作。
图1所示的现有技术的堆栈算法通过按一个码元扩展最高概率的路径并重新估算扩展后路径的概率来执行。通过从最高概率的前一节点10(P1)创建两个新分支(在二进制码元的情况中)来扩展路径。这两个新分支在图1中由虚线表示,并在两个新节点14和16处结束,为这两个新节点分别计算新概率值xP1和yP1。这两个乘数之和(x+y)不等于一,因为所选择扩展的特定路径可能不正确。因此,错误路径试扩展的结果可提供进一步的证据,证明该错误路径不正确,这降低了从P1到(x+y)P1的路径的概率。通过将此降低的路径概率乘以和等于1的条件分支概率x/(x+y)和y/(x+y),获得两个扩展节点的概率xP1和yP1。然后将新概率xP1和yP1与其他路径的概率相比较,特别是与前一个次高概率P2比较,以及相互比较,从而确定现在具有最高概率的节点,它将成为被扩展成两个新节点的下一节点,依此类推。
因为将概率P1分别乘以都必须小于1的x和y,可以只降低低于P1的概率,这通常出现在先前的次高概率P2成为最高概率的现有技术的堆栈算法中。当扩展具有概率P2的节点而不是新节点14(xP1)或16(yP1)其中之一时,这称为“追溯”,因为该相对概率暗示了通过节点10(P1)的路径可能不是正确路径,而且也许应该沿着先前放弃的路径恢复解码。噪声是可能导致堆栈解码器沿不正确路径偏离正道的因素之一。
现有技术的堆栈算法的缺点在于,在噪声情况下,会出现许多追溯,并伴随处理的增加。现有技术的堆栈算法存在这样的缺点要对任何先前放弃的节点进行追溯,然而在原则上可能出现很远的回溯(例如10、50、100或者甚至1,000位),这使确定最优路径所需的计算量无限大。因此,需要一种不同等程度地存在此缺点的改进堆栈算法。
在现有技术中,堆栈算法是为连续解码、比如连续卷积解码而设计的。但是,正如现有技术中提到的,例如在Lin&Costello的“误码控制编码”(ISBN 0-13-283796-X)中所述,在编码之前可以将尾部比特附加到数据块,传送额外的尾部比特,使得堆栈解码器可以在明确结束状态中结束。尾部比特的使用给传输添加了附加的冗余度和总开销,使得相对于传输中间的比特,开始比特和结束比特呈现改善的误码率。但是,这可能没有任何实用性,因为最好是所有比特上都有较低误码率,或者最好传输具有较低总开销,并因此最好采用较窄的带宽。
在称为维特比算法的现有技术的解码算法中,概率指示值称为量度(metrics)。因为维特比算法仅仅比较码元长度相同的路径的概率,加上或乘以的不定常数,量度不影响该比较,因为它们以同样的方式影响所有路径。因此维特比解码器可以采用简化的量度,即假设的码元编码值与接收的编码值之间的累积平方误差。这些简化的量度称为欧几里得距离量度,与码元序列概率的倒数的对数相关。
但是在堆栈算法中,必须比较不同长度的路径,而且比较难免受到与路径长度有关的附加项的影响。对于构建堆栈算法和比较不同长度的路径的类似算法所用的量度,已知各种各样的方法。这些量度通常是通过每次由一个码元扩展路径时、就从该路径的量度中减去一个值而修改的维特比类型的欧几里得距离量度。一种此类量度称为Fano量度,它从表示每次码元扩展(甚至扩展到正确路径)时预期增加的估算平均平方噪声的量度中减去一个值。
本发明旨在克服上述问题中的一个或多个问题。
根据本发明的咬尾或堆栈解码器接收噪声信号并将其解码,从而再生初始发送的信息码元圆周。堆栈解码器假定起始于该圆周上任何位置的信息码元序列,通过将各个序列与相应的软解调码元组合来计算该假定的码元序列的似然性,并且一次一个码元地扩展最大可能序列,直到它不再是测试序列中的最大可能序列,或者直到它扩展完整个圆周。成功扩展完整个圆周、并且扩展完圆周时仍是测试序列中最大可能序列的序列是接收信号的全局最优解码序列。这与现有技术的咬尾维特比算法大不相同,在现有技术的算法中,那些测试序列中的最大可能序列不一定是全局最优值。
在本发明的第二实施例中,编码或未编码的信息码元或循环的、块被调制而形成发送信号块,通过引入码间干扰(ISI)的信道在解码器接收所述发送信号块。如果需要的话,通过在发送信号块的开始之前重复块的有限数目的最后发送码元,或者在块的结尾重复有限数目的最先发送码元,或者二者兼有,从而包含发送信号的短循环重复,这可以强制ISI模式出现循环。
本发明对此类信号的均衡方法包括假定起始于循环块内任何位置的发送码元序列,通过将假定的码元与接收信号进行组合来计算该假定序列的概率。然后,最大可能序列绕循环块按一个码元连续地扩展,直到它不再是最大可能序列,或者直到该序列扩展完整个循环块。绕循环块扩展完而最终仍具有所有测试序列中的最大概率的序列是接收信号的全局最佳均衡。在本发明的第二实施例中,可以采用咬尾维特比均衡器。
该堆栈解码器所采用的本发明的咬尾堆栈算法扩展假定的序列,直到最后添加的码元是圆周中先前未假定的、并且与假定的第一码元相邻的最后码元。这样,解码算法绕着圆周在其再一次处于起始位置之前还有L-1次偏移,其中L对应于编码器多项式的约束长度或者多径信道的码元周期的时延扩展。作出这L-1个最后的偏移,从而完成序列的似然性计算和利用尚未处理的圆周中剩余的接收信号样本或软解调码元。一旦到达圆周中最后一个码元,就利用前L-1个码元的先前值连续地更新概率L次,以便获得序列的“最终”概率或似然值。如果最终概率值仍是所有测试序列的最大概率值,则它是全局最优解码序列,而且不需要扩展其他部分序列。否则,继续扩展具有更高概率的部分序列,直到它们的概率小于已完成的最高似然性的序列,或者直到它们之一成为具有高于所有其他概率的最终概率的完整圆周序列。只要完成了圆周序列,就可以擦去所有较低概率的部分序列以节省存储器,因为无法扩展它们来获得更高概率(随着序列扩展,概率只会降低)。在决不到达“最终”概率的连续的、即非圆形的堆栈解码器中无法得到后面的所需特征。
可用本发明的堆栈解码器对通过存在差错的链路传输的编码和压缩后的数字语音数据解码。解码可包括解码感知重要性较小的语音比特,以及尝试解码感知重要性较高的语音比特。当用于感知重要性较高的比特的堆栈解码算法无法在给定时间或给定数目的处理器循环内对那些比特解码时,可以声明疑符并将其传递到语音解压器,然后利用先前正确解码的语音数据构造人造的替补波形来掩盖错误事件,从而防止收听者听到令人厌烦的声音,即噪声、干扰等。
通过对申请书、附图和所附权利要求书的研究,可以理解本发明的其他方面、目的和优点。
咬尾编码器22每次对有限数目(称为“约束长度”,在图2的实例中等于4)的比特进行操作。因此,编码器22每次接收四个比特,例如所示的b1、b2、b3、b4,生成一定数目(比如2)的编码比特或校验比特p1、p2。由每组的四个信息比特生成的校验比特的数目决定编码“率”。该编码率通常表示为“r”,其数值等于每个信息比特所产生的校验比特的数目的倒数。在图2所示的实例中,编码率等于r=。编码器22每次绕信息比特圆周20移动一个比特,从每组的四个信息比特产生两个校验比特,所述校验比特完成与未编码的信息比特圆周20对应的编码比特的编码信息比特圆周24。应当理解,编码器22可以任何顺序处理四信息比特组,而不一定要绕圆周20平滑地或者按顺时针或逆时针的任何特定方向移动,只要四信息比特的每种可能的选择被使用一次且仅仅使用一次。
不同编码率和约束长度的咬尾编码器是可行的,以及可变编码率的穿孔咬尾编码器,如Dent于1997年10月3日提交的题为“利用重要性较低的比特保护重要信息比特”的美国专利申请No.08/943885中所述,现将其通过引用结合于此。上述申请还描述了配合咬尾编码器使用的维特比解码器。维特比解码器尝试确定具有作为正确信息序列的最高概率的信息序列、即实际传输的序列。
在非咬尾的应用中,维特比或卷积编码器被初始化为使用已知码元的开始状态。相应的解码器同样被初始化为单个开始状态,因此具有100%的相联概率。第一个数据比特被移到编码器中,从而生成传输到解码器(接收机)的编码输出校验比特中的第一个。该解码器假定第一个信息比特是“1”或“0”,并从所述单个开始状态生成两个新“状态”。这些新状态还包括相联概率指示符,通称为“量度”,它们是通过将接收信号与预期的解码器输出相比较而获得的。利用提供给解码器的各个连续的新数据比特,解码器的状态的数目翻倍,但是需要决不超过M(L-1),其中M是码元字符表中可能的码元值的数目,L是相应的编码器的约束长度。因此,二进制解码(M=2)的状态数目不需要超过2(L-1),而包括预测接收的校验比特所需的一个新比特假设的比特总数等于L。比解码器预测下一校验比特当前所需的那些比特陈旧的比特不影响所需的状态数目,而是变成与各状态相联的“路径历史”。如果采用连续卷积编码,初始启动之后很长时间,所有路径历史的最旧比特将倾向于一致,当对任何比特都存在无异议一致时,它可能被作为“最终”决策而删除,从而将路径历史缩短一个比特。如果在任何比特位置中所有状态一致之前需要缩短路径历史,可以将这些比特作为最终决策从最高概率的状态中删除,并删除其他状态中的相应比特。这些问题在Dent的题为“解码器优化的方法和装置”的美国专利No.5577053中进行了全面的讨论,现将其通过引用结合于此。
但是,对于有限数据块的卷积编码,需要一种终结解码的方法。可以选择与最高概率的状态相联的路径历史,但是最后的L-1个比特仍与2(L-1)个状态相关联,因此,选择最高概率的状态会使这些比特的可靠性较差。对于最近假定的比特来说,情况尤其如此,它仅有一次机会影响该量度。为了给最终比特提供可靠决策,一种现有技术的方法是通过将L-1个已知的“尾部比特”加到编码器中来冲走这些最终数据比特。当相应的尾部比特被加至解码器时,由于这些比特是已知的而且具有单一的可能性而不是两种可能性,所以在处理了每个尾部比特之后,剩余状态的数目被减半(假定二进制比特),直至仅剩余单个状态。该单个剩余状态的路径历史包含所接收信号的最佳解码。
利用已知开始和尾部比特使编码器和解码器初始化和终结于已知状态的需求的组合会导致传输的比特数大于信息比特数乘以编码率r的倒数,此外,使第一个和最后一个比特的正确概率高于数据块中间的那些比特。如果一种方法可以找出数据块的边界比特和中央比特之间的折中差错概率的话,则平衡差错概率可能会更好。可以采用从传输中删除或“删截”某些编码比特来实现这一点,其中删截更多地是针对数据块的开始和结尾,目的是获得整个数据块上平坦的差错概率。应该使删截的编码比特的总数等于采用尾部添加的编码比特的数目,从而抵消尾部比特的开销。但是,采用删截模式时,发射机和接收机都会更加复杂。
或者,如果不需要传输尾部比特,则可以放弃采用尾部比特所引起的附加传输比特,以便于更多编码、即更低的r值。这些问题是考虑咬尾编码器和解码器的原因,它们通过将数据块看作没有开头和结尾的比特圆周来同等地处理每个比特,开头连接着结尾,从而“咬住它自己的尾巴”。
图2中的咬尾编码器22通过输入前L个数据比特b1、b2、b3、b4来初始化,这些数据比特可以是信息比特圆周20中的任何一组的四个数据比特。当编码器22沿圆周20移动,使得b1又一次进入编码器时,编码过程会继续,直到前L-1个比特b1、b2、b3都被再次使用过。不需要使用具有b1、b2、b3、b4的最终位置,因为它将生成与第一次相同的校验比特,所述校验比特已被放置于编码信息比特圆周24中且可能已被发送了。因此,咬尾编码器实际上由N个数据比特生成N/r个编码比特,而不添加额外的尾部比特。相比之下,采用尾部比特会生成(L-1)/r个编码的尾部比特。如果将L-1个已知的尾部比特插入信息比特圆周20中,则咬尾编码器实质上可以成为采用尾部比特的编码器。这在圆周中创建了一个标记开始点和结束点的“特殊”位置。对应的解码器则应该执行“特殊”操作初始化到开始处的单一起始状态,和终止于单一结束状态,从而使靠近“特殊”区域的数据比特的误码率得以改善。为了平均误码率,一种方案可以考虑将L-1个已知尾部比特均匀地分布到整个信息比特圆周20中。这样,对应的解码器在遇到已知比特时就能够取消一些状态而使剩余状态的数目减半,从而改善靠近已知比特的比特的误码率。因此,除传输尾部比特的现有技术之外,有多种选择可供考虑,以便优化解码器的性能。
如果不采用已知的或尾部比特,用于咬尾码的维特比解码器的最常见形式按如下方式操作。解码器使用L-1个开始比特b1、b2、b3、b4的所有可能模式来初始化,从而生成2(L-1)个起始状态。随着解码绕圆周进行,状态的数目保持在此数目(2(L-1))。但是,当进行了完整一周时,解码不会终止,而可以继续并且再次处理先前处理过的信号样值。例如,如果执行了完整三周,并从这三周中间一个所对应的路径历史中选择解码的数据比特,理论是,充分消除在开始第一周时存在的初始起始不确定性和保留在第三周结尾的终止不确定性,以免影响中间一周中解码的比特的误码率。当循环块中的比特数目比编码器的约束长度大许多倍、即20X时,该理论似乎相当正确。随着循环块大小缩短到约束长度的仅仅几倍时,该理论就变得非常不准确。可以证明,短块长度的不准确性是由于维特比算法在再次遇到圆周的开头之前没有机会测试基本上所有的可能路径。在此情况下,维特比算法将只选择已测试的最优路径,而该路径并不总是包括接收信号的最优解码。因此,需要一种改进的解码算法,用于对块长度不是码约束长度的大倍数因子的咬尾码。再者,缩短咬尾块的编码多项式可以有利地不同于现有技术的相同码率和约束长度的优化卷积码。给出编码块之间的最大汉明距离和最接近者的最小数目的咬尾码的最佳编码多项式,一般对于咬尾的情况与对于连续卷积编码的情况是不同的。利用最优咬尾多项式还可能增加现有技术的维特比解码器算法无法找到最佳路径的趋势。
在Rajaram Ramesh于1998年3月11日提交的美国申请No.09/041115中,可以看到,供咬尾编码信号使用的最佳维特比解码器包括2(L-1)个状态的2(L-1)个维特比算法。每个算法就是一个利用尾部比特的算法,其中假定对于各种算法,这些尾部比特是2(L-1)种可能中不同的一个。这样,就找到开始和结束于相同尾部比特的最佳序列,由产生最佳量度的算法识别尾部比特的最佳选择。但是,用于咬尾码的最优维特比算法的复杂程度是用于使用尾部比特的代码的一般维特比算法的平方。因此,采用所述用于咬尾码的最优维特比解码器的复杂程度增大得令人不可接受。
图3说明本发明咬尾堆栈解码器的第一种实现,由30总地表示。解码器30包括接收器32、概率电路34、比较电路36、存储器38和编码器40。接收器32接收由线42表示的、包括传输的编码数据比特的信号,还产生接收样本r1、r2。
编码器40接收从左到右移动的路径所表示的码元序列。开始,从左端的单个起始节点44,任何解码结果都是可能的,而且必定存在一个正确解码。因此,起始概率P等于100%。通过一个假定的码元将第一节点44扩展到两个节点46和48,这未对编码器40提供足够的输入来预测编码比特,所以在节点46和48的第一次扩展之后的概率分别只是50%。这些概率随着各个进一步的分支不断减半,直到达到路径概率1/8(12.5%)的八个节点为止。当进一步扩展时,四个假定的码元可用来馈送给编码器40和预测两个编码的比特p1和p2。概率电路34接收预测的比特p1和p2以及对应的接收样本r1和r2,并导出概率更新值,对于b4=1的情况为值x,对于b4=0的情况为值y。关于各个可能路径的概率值x和y由概率电路34计算,并馈送到比较电路36,比较电路分析这些值并判断哪个码元路径具有对应于接收样本r1和r2、即最初传输的码元的最高似然性。这些概率值和各种尝试的路径的路径历史被存储在存储器38中,根据比较电路36所确定的具有最高似然性的路径被扩展一个码元。计算x和y的值最好以如下方式实现。
对于这两个编码的校验比特p1和p2,有四种可能00、01、10和11。接收样本r1和r2的期望值是这四种可能中的任何一个。这些可能可被看作(a1,a2)、(a1,-a2)、(-a1,a2)和(-a1,-a2),其中a1和a2是接收信号样本r1和r2的期望信号强度或量值。
由于采用交织、即把传输的校验比特p1和p2设置得在时间上相距很远,使得它们会经受不同的信号衰落,从而通过时间上分散的差错提高编码通信系统对衰落的容限,所以a1和a2的值可以不同。这四种可能的相对概率由如下公式给出e-[(r1-a1)22σ12+(r2-a2)22σ22]=P(00)]]>e-[(r1-a1)22σ12+(r2+a2)22σ22]=P(01)]]>e-[(r1+a1)22σ12+(r2-a2)22σ22]=P(10)]]>e-[(r1+a1)22σ12+(r2+a2)22σ22]=P(11),]]>其中σ1和σ2分别是样本r1和r2上噪声的均方根值。
由于交织效应,两个接收信号样本r1和r2的噪声均方根值σ1和σ2通常也不相等。由于意识到只需要保持正确概率比,而非绝对概率值,所以可以更实用的方式重写上述表达式。可以对绝对概率值加以共同的缩放比例,最好是一个使这四种概率中最高者仍小于或等于1的比例。这确保了累积概率量度只能连续降低。按比例缩放得到如下的概率量度e-{[z1(s1-1)2]2+[z2(s2-1)2]2}=P(00)]]>e-{[z1(s1-1)2]2+[z2(s2+1)2]2}=P(01)]]>e-{[z1(s1+1)2]2+[z2(s2-1)2]2}=P(10)]]>e-{[z1(s1+1)2]2+[z2(s2+1)2]2}=P(11)]]>其中z1和z2是样本r1和r2的信噪比,s1和s2是r1和r2的具有量值1的归一化值。
只要z12=a1·r1/2σ12,z22=a2·r2/2σ22,当上述量度具有不同于初始值的值时,它们彼此分担同样的比例。
这些归一化值s1和s2可被当作接收样本r1和r2的符号,其中z1和z2等于r1和r2的量值除以对应样本的均方根噪声电平。接收器32可以包括解调器(未示出),后者设置为直接输出值s1·z12和s2·z22,而不仅仅是布尔值1和0(对应于s1,s2=±1),这些值就是通常所说的“软值”。例如在Hammar的美国专利No.5099499中描述了输出软值的接收器解调器,现将其通过引用结合于此。
因为在上述量度中s1和s2为±1,如果接收的符号s1与预测校验比特p1匹配,则以z1表示的项为零,或者如果s2与p2匹配,则以z2表示的项为零。如果二者都匹配,则相对概率值将为1。
应当指出,上述概率是相对概率。要获得绝对概率,可以通过将各个值除以P(00)+P(01)+P(10)+P(11)以强使这四个概率之和为1。但是,由上述公式自然得出的缩放比例在本发明的堆栈解码器中很有用,其中相对概率值对于s1=p1和s2=p2的情况为1。只要所有的预测极性都与接收的信号极性匹配,则该路径不会恶化,因此不会发生低于次佳路径的概率。这里,接收样本的符号与预测样本的符号匹配的情况称为“零校正子”。因此,只要不发生任何极性错误,即只要硬解码的校正子保持为零,则此类路径(零校正子路径)将无限扩展。
通过负对数似然性的累加、而不是概率的乘法累积来运算可能更为方便。当采用上述概率的负对数时,坚持一个简单的规则如果s1和p1不是相同极性,则将z12加到量度中。
如果s2和p2不是相同极性,则将z22加到量度中。
因为只要s1=p1和s2=p2,则最佳(即具有最低累积量度的)路径的量度仍将是最佳量度,所以零校正子路径将快速扩展,而不会追溯。当发生极性错误(非零校正子)时,最佳量度适当增加,而此时次佳路径可能具有最低量度、即成为最佳量度,并因此被扩展。利用只能增长的量度,沿信息比特的整个圆周连续扩展的路径,当仍处于具有最低量度的端点时,被确定为全局最佳路径。任何已经具有比整个圆周路径量度高的量度的放弃部分路径都不可能降低其量度而成为最佳量度,因为在每次路径扩展时,量度或者增加,或者保持不变。
现在给出量度的简化说明。若ri是接收信号值,Si是根据基本信息比特的给定假定预测的校验比特值(等于+1或-1),ai是传输校验比特(i)时的信号幅度,则累积路径量度由如下公式给出Σi(r1-aiSi)22σ12=Σiri22σi2-ΣiriaiSiσ12+Σai2Si22σi2]]>其中σi是接收样本(i)上噪声的标准偏差。
只要码元Si是相同振幅的,例如二进制的+/-1,则上述量度中的第一项和最后一项与码元序列Si的选择无关。因此,仅有上述量度的中间项在将最大可能序列与其他较小可能序列区分开时是有用的。要将整个量度最小化,应该使负的中间项尽可能地大。
接收器32可以设置为直接输出如下值ζi=airiσi2]]>它被称为“软信息”。则需要通过码元Si的选择来最小化的量度为Σi-ζiSi]]>每次码元Si扩展到Si+1,此量度可能增大或减小。为了得到在扩展码元时只能增大的量度,将一个值加到该量度上,使其与码元序列的选择无关。加上软信息值的模之和,就得到新的量度Σi|ζi|+Σi-ζiSi=Σi|ζi|-ζiSi=Σi|ζi|(1-siSi)]]>其中si是软信息的符号或相位,Si是假定比特或码元的符号或相位。在二进制信息的情况中,其中如果si和Si的符号一致,则因子(1-siSi)为零,如果不一致则为2,该运算简单地等同于如果存在符号不一致(校正子),则加上软信息的振幅,或者如果符号一致(零校正子),则不加任何项。采用只增大的量度确保了因为具有最小量度而被选择来扩展的路径,只要不出现符号错误(校正子),将继续成为具有最小量度的路径。因为解码过程中会在高比例的时间里遇到零校正子,所以路径会快速扩展通过信号的零校正子区域。因为量度只能增大,所以如果路径到达结尾而仍具有最低量度,则任何其他已具有较高量度的路径不可能通过将该路径扩展到结尾而变得更低。只有当另一个未完成路径具有与完成路径完全相同的量度时,才可能需要扩展该未完成路径,直到它的量度超过完成路径的量度,或者直到它同样以相同的量度值到达结尾。如果有两个或多个具有完全相同量度值的最终扩展路径,则任何一个都同等可能成为接收信号的正确解码。可以利用其他信息、如循环冗余校验(CRC)来判断哪个是正确的。如果采用CRC码来提供误码检测,一种策略可以是对本发明的堆栈解码器进行编程来获得任何首先到达终点的结果,然后执行CRC校验。如果CRC校验指示无误码,则接受该结果。如果CRC校验指示误码,则拒绝该结果,并扩展下一个最佳路径,直到获得次佳最终量度。对次佳最终量度执行CRC,继续此过程直到结果被接受为止。
在通过引用结合于此的Dent的美国专利第5577053号中公开可以采用解码器、比如“通用化维特比算法”来按照概率的次序产生最佳解码结果、次佳解码结果等等,并采用CRC校验找出具有最高概率且通过CRC校验的结果。此处公开的本发明的堆栈解码器/算法比通用化维特比算法更有利,因为后者(GVA)同时计算所有的候选结果,而堆栈解码器/算法只在先前计算的结果未通过CRC校验时需要计算另外的候选结果。
当路径扩展到两个新节点时,新节点之一可能会再用存储器38中最初为存储旧节点的概率量度和路径历史而分配的存储空间。但是,如果采用追溯法来确定路径历史,则必须在每个节点保留至少一个比特的路径历史和指向先前节点的指针。若仅有路径历史(即通向该节点的假定码元序列)存储在该节点时,已被扩展的旧节点可能会被盖写,从而使采用追溯法很困难,即使并非不可能。
在本发明的咬尾堆栈解码器30中,当已经假定了环形信息码元块的最后一个比特时,会保留(L-1)/r迄今未使用的接收信号样本,它们对应于将前L-1个信息比特再次馈送到发送编码器中以完成编码圆周时从发送编码器中输出的校验比特。由于该路径上所有信息码元都可用,所以可以预测后(L-1)/r个校验比特,其中“r”是编码率,即r=1/2表示二分之一编码率,校验比特与对应的接收样本组合以最终的突发扩展方式生成最终量度,从而完成该圆周。
因此,本发明的咬尾堆栈解码器/算法,在到达码元的循环块的结尾时,立即执行L个码元的最终突发扩展。最终突发扩展包括假定一个最终码元和再次使用假定的前L-1个码元,导出一对相差码元N的路径的一对终结量度。如果这些量度之一仍是最小量度,则任何其他曾具有较大量度、因此具有较低概率的路径都不能获得更小的量度,且因此不能通过进一步扩展获得更高的概率。所以最优解码的结果已经识别出哪个是接收信号的最佳或“最大似然性解码”。
另一方面,如果终结概率之一不是最低的,此时则会扩展其他路径,直到它们完成整个圆周而产生更好终结概率,或者直到它们超过最佳终结概率。当任何路径都不具有低于该最佳终结概率的相联概率时,解码就终止,并由沿引导至最佳终结概率(最低终结量度)的路径的码元给出最大似然性解码。
执行L个码元的最终突发扩展以获得一对终结概率的过程如图4所示。已经扩展为包括比特bN-3、bN-2和bN-1的假定的路径通过假定比特bN扩展。因为扩展将完成N个比特的圆周,所以编码器40此时具有所需的所有信息以利用路径开始时先前确定的b1、b2和b3的相同值来生成用于下列情况的校验比特预测bN-3,bN-2,bN-1,bNbN-2,bN-1,bN,b1bN-1,bN,b1,b2bN,b1,b2,b3上述标识的情况以突发的方式被编码器40接收,从而假定最终8个校验比特44,这些校验比特与概率电路34中的最终8个接收信号样本组合,生成分别对应于情况bN=1和bN=0的终结分支概率x和y。这些通过比较电路36(参见图3)与节点bN-1上的倒数第二的概率P组合,生成终结概率xP和yP,或者如果采用负对数似然性累计,概率电路34通过加上与最终8个校验比特和接收样本之间检测的非零校正子相对应的软值来计算量度x和y,然后通过比较电路36将量度x和y加到倒数第二个负对数似然性P,从而获得这两个终结量度xP和yP。
如果这两个终结量度之一被比较电路36确定为具有所有概率的最高值(最低量度),则导致该概率的路径上的码元(例如通过追溯过程)被选择为接收信号的最大似然性解码。否则,从其他节点扩展其他路径,直到它们下降到最佳终结概率之下(累计到更高的量度)或者直到它们产生更佳终结概率。所有概率低于任何终结概率的存储路径都可以被擦除,以便节省和再利用存储器38中的空间。
说明上述方法的流程图如图5所示。该方法从步骤50开始,其中,2L-1个起始节点的量度被初始化。它可以包括将对应于前L-1个比特的所有可能的许多节点初始化为具有例如零对数似然性量度。当第一次进行到步骤52时,第L个比特被假定为1或0,从而产生到两个新节点的两个分支。利用这两个新节点的路径历史中的L个比特,编码器40首次操作以预测1/r编码比特。这些预测的编码比特在极性上与来自接收器解调器的软信息比较,仅当极性不一致时,通过将软信息的模加到父节点的量度上来得到这两个新节点的量度。对这些节点之一,如果未发生极性不一致,即路径为零校正子路径,则该节点仍将具有零量度并被选来进一步扩展,优先于其他起始状态之一。否则,将选择具有迄今为零的量度的其他起始状态之一来进行扩展。可以在步骤52的第一次执行之后,通过按一个码元扩展所有起始状态,节点的数量将增加到2L。该方法进行到步骤54,其中,判断是否已经沿刚扩展的路径假定所有数据码元。如果步骤54中判断最后一个新码元不是该循环块的最后一个码元,则该方法向后进行到步骤52,其中,具有最低量度的节点被扩展一个码元,产生校验比特,并计算和比较量度以确定具有最低量度(最高概率)的路径。如果步骤54中判断最后的新码元是循环块的最后码元,则该方法进行到步骤56。在步骤56,因为沿刚扩展的路径所有数据码元此时都可用,所以编码比特圆周中的所有其余的编码比特可以根据路径历史中的第一假定码元来计算,并与对应的软信息样本进行比较而生成在最后节点扩展时产生的两个分支的终结量度。在步骤58,这两个终结量度与其他量度进行比较,从而确定它们中任一个是否是所有量度中的最低量度。在步骤58,如果终结量度之一仍是最小的,则其他任何量度都不可能变得更小,因为扩展路径时,从不从量度中减去一个值。处于此情况时,方法终止于步骤60,表示与该特定的终结量度相关联的路径历史是最佳解码结果。如果在步骤58确定除终结量度之一以外的量度更低,则该方法转至步骤52,扩展具有最低量度的节点,直到所有量度变得高于该最低终结量度,或者直到产生另一个在步骤58中被确定为所有量度中最低者的终结量度。因此,当已经产生至少一个终结量度时,图5的流程图应该在步骤52之后包括附加的测试,将路径扩展之后的量度与最低终结量度比较,并删除量度比最低终结量度高的路径。为简化起见,图5中省略了这些步骤,但是在图6中完整地表示。
类似于图5,图6的流程图起始于步骤50和52。在步骤52之后,该方法进行到步骤62,其中,确定迄今是否有任何终结量度。如果没有,则该方法进行到步骤54,并按照先前参考图5所述的继续。如果在步骤62确定有至少一个终结量度,则在步骤64将该最小终结量度与刚生成的两个新分支量度比较。如果在步骤64中任何一个分支量度高于该最小终结量度,则在步骤66删除该分支(路径和相关量度),该方法进行到步骤58,并按照先前参考图5所描述的继续。如果在步骤64确定这两个新节点量度都不大于该最小终结量度,则该方法进行到步骤54,并按照先前参考图5所描述的继续。
接收器解调器可以输出用对数编码的软值,以便能够表示广泛不同的信噪比的接收校验比特,而不需要大的字长。对数编码的软值可以在量度累积之前被转换为非对数编码的值,或者可以利用一种处理,例如利用通过引用结合于此的Dent的美国专利第5944774号中所描述的处理,生成许多对数编码值之和的对数,从而使用对数量度累计。采用对数编码的值还有助于任何后解调器缩放或“数字AGC(自动增益控制)”,可能需要这些来获得适合堆栈解码器使用的软值。缩放对数值通常是通过对它们加上或减去一个常数来获得的,如Dent的题为“快速自动增益控制”的美国专利5646963、5615231和5568518中所描述的,将这些专利通过引用结合于此。但是,对于本领域的技术人员,显然也可以实现其他缩放。
本发明解码器的典型应用是对编码压缩的数字语音进行解码,所述数字语音是通过受到差错影响的媒体、如蜂窝无线链路接收的。首先利用线性PCM(脉码调制)以示例的抽样率8千个样值/秒或者有时16千个样值/秒对语音进行数字化。然后对线性PCM语音表示进行压缩算法、如各种现有技术的算法ADPCM(自适应差分PCM)、RELP(剩余受激线性预测)、CELP(码激励线性预测)、VSELP(矢量和激励线性预测)以及AMBE(先进多波段激励),它们常用于各种数字无线电话系统,且以上排序是根据所实现的压缩量。AMBE以3.6千比特/秒的输出比特率实现最大压缩,同时保持良好的语音质量。
只要利用语音的高度冗余并降低冗余度来压缩语音,剩余的比特就会承载比原始比特多的信息,且如果解码出错,就会导致语音质量的更大破坏。关于误码对语音质量的影响,输出比特在感知重要性上可能并不相等,视所用的压缩类型而定。例如,在已知的每20ms获得72个输出比特的AMBE压缩器中,12个比特在感知重要性上是非常高的,应该得到比其余60个更高程度的编码保护。因此,比特可以被划分为很重要或I类比特以及不很重要或II类比特。I类和II类比特是采用如以上结合的(08/943885)专利申请所述的不同量的纠错编码来进行编码的。例如,最重要的12个比特可以采用比率1/5码来进行编码以获得60个编码比特,而其余60个比特采用比率1/3码来进行编码以获得180个编码比特,总计240个编码比特。然后可以通过收缩模式将240编码比特划分为两组的120个比特,如在最简单的情况中,将比特分别划分为奇数和偶数编号的比特组。一组比特表示采用第一比率2/5和比率2/3代码进行编码的语音块,而第二组表示采用与第一代码互补的第二比率2/5和比率2/3代码进行编码的语音块,使得所组合的这两组构成了最优比率1/5和比率1/3代码。可以使用第一信道、如TDMA(时分多址)帧周期中的第一时隙来传输任一块,而且可以采用、也可不用第二信道来传输第二个块,视第二信道的可用性而定。还可以通过不同轨道卫星或蜂窝基站对两个块进行中继以提供空间分集。
通过咬尾编码器对最重要的12个比特进行编码是恰当的,因为采用意味着非常大开销的尾部比特的这一方案,可以更有助于增加编码量、即降低代码的比率“r”。这种编码还具有编码序列的长度、12比特不比典型代码约束长度大很多的特征。针对此类问题设计的特殊代码搜索建议了一些最优代码多项式,它们与对于连续卷积编码来说是最优的代码多项式不同。但是,在用维特比算法(具有咬尾的卷绕)解码的仿真过程中,发现这些最优多项式也最易受影响而导致维特比算法误入歧途,从而丢失最大似然性结果。本发明避免了咬尾维特比算法的这种缺点。
可以通过对应于初始编码器状态中的八比特的所有可能、将本发明的堆栈解码器初始化到256节点、并且利用最初五个软解调的接收信号样本计算初始路径量度,可以对限定长度八、比率1/5收缩比例2/5的咬尾码进行解码。或者,对于收缩比率2/5代码,起始解码器状态生成两个或三个信号值,而之后的状态生成三个或两个信号值,以便每两个数据比特移位获得5个编码信号值。因为可以在信息比特圆周的任何位置开始咬尾解码,所以可以有利地拾取获得三个而非两个编码信号值的起始点,从而根据三个软解调的接收信号值提供初始量度,所述三个软解调的接收信号值将不正确的路径与正确路径有效地区分开。
该算法通过扩展具有指示最高概率的最佳(最低)量度的路径来进行。仅需要四次扩展即可完成12个比特的圆周,之后可以按照先前所述执行最终突发扩展来为最佳路径计算终结量度。如果此最终量度仍是最佳量度,则它就是最大似然性结果。或者,将扩展次佳路径,依此类推。如果给定量的处理之后,未识别出任何最大似然性结果,则声明疑符。当声明疑符时,语音解码器执行特定操作,通过称为“去打嗝(deburping)”或者学术上称为“语音内插”或“人工参数重构”的众所周知的方法避免输出不自然和令人厌烦的声音。
最大似然结果用于重新计算其他180个编码比特的加扰掩码,所述编码比特对应于运用在不很重要的60个比特上的比率1/3代码。重新计算的加扰掩码用于还原这180个比特(或收缩比率2/3代码的情况中的90个比特)。然后,通过咬尾维特比算法或本发明堆栈算法的第二种应用将这90个或180个比特解码。如果采用后者,且在第二种数量的处理之后,无法识别出最大似然结果,则声明疑符。另一方面,如果采用由于更大的块而更可能充分执行的咬尾维特比算法,则可以对具有卷绕或重叠的整个比特圆周进行解码,使得第一次解码的比特至少被解码第二次,当第二次解码的比特的充分数量与第一圆周上解码的比特一致时,解码停止,或者在给定的重叠和解码比特的中心圆周之后,解码停止,忽略第一个和最后一个解码的比特,从具有最佳量度的状态进行选择作为解码的结果。在根据量度对比特圆周的第一个解码之前和刚好对比特圆周的最后一个解码之后,必须计算关于所选比特的相应的解码器量度。这要求在解码期间至少保存这两个特定点上的量度。因此所计算的最终量度可以用作去扰掩模的可靠性的指示,因而也是对最重要的12个比特的解码的可靠性指示。如果此可靠性太低,可以声明疑符。当由于上述任何一个原因而声明疑符时,最好让语音解压器根据历史或环境正确解码的语音块执行对语音波形的“最佳猜测”的人工重构,而不将错误的比特传送到语音解压器。人工替补波形的导出在Dent的美国专利第4532636号中有描述,现通过引用结合于此。
因此,上面描述了一种新的咬尾堆栈解码器,用于处理来自无线电信号解调器的软信息,从而对信息比特圆周块解码。这种新的解码器不存在现有技术的维特比算法“丢失”真的最大似然结果的缺点,并且避免了多种维特比解码器的复杂性。它还避免了采用现有技术的非咬尾堆栈算法时可能发生的无限量的追溯,同时避免了可另外用来界定块大小的尾部比特的开销。
咬尾可以出现在本发明的堆栈解码器/算法可有效利用的其他场合。例如,图7说明总地以70表示的传输格式,所述传输格式用于传输数据比特b1-bn的块72,它包括传输该块的第一个比特之前的每个被传输的块的最后一个比特的循环重复74。图8说明在76中,由与发射机或接收机相隔不同距离的物体的反射所产生的相对延迟回波的重叠,这导致码间干扰(ISI)。因此,各个接收的信号样本取决于根据如下公式组的一组相邻码元r1=C0.S1+C1.Sn+C2.S(n-1)+C3.S(n-2)+C4.S(n-3)r2=C0.S2+C1.S1+C2.Sn+C3.S(n-1)+C4.S(n-2)r3=C0.S3+C1.S2+C2.S1+C3.Sn+C4.S(n-1)r4=C0.S4+C1.S3+C2.S2+C3.S1+C4.Snr5=C0.S5+C1.S4+C2.S3+C3.S2+C4.S1r6=C0.S6+C1.S5+C2.S4+C3.S3+C4.S2r7=C0.S7+C1.S6+C2.S5+C3.S4+C4.S3r8=C0.S8+C1.S7+C2.S6+C3.S5+C4.S4r(n-3)=C0.S(n-3)+C1.S(n-4)+C2.S(n-5)+C3.S(n-6)+C4.S(n-7)r(n-2)=C0.S(n-2)+C1.S(n-3)+C2.S(n-4)+C3.S(n-5)+C4.S(n-6)r(n-1)=C0.S(n-1)+C1.S(n-2)+C2.S(n-3)+C3.S(n-4)+C4.S(n-5)r(n)=C0.Sn+C1.S(n-1)+C2.S(n-2)+C3.S(n-3)+C4.S(n4)其中r1...r(n)是接收信号样本;S1...Sn是传输的码元;以及C0...C4是多径传播,ISI或“信道”系数。
由于包含循环前置码,所以上述方程式是循环的,建议循环或咬尾均衡器可适用于从接收码元r1...r(n)确定传输的码元S1...Sn,从而补偿ISI。一种可以根据本发明构造的咬尾均衡器是咬尾维特比均衡器。咬尾维特比均衡器在如下情况时是适当的ISI码元的数目,即各个接收样本r1、r2...所取决于的码元S1、S2...的数量L得出合理用于实际实现的均衡器状态的数目2L。在现有技术的均衡器中,通常采用16-64左右的状态数,而在卷积纠错解码器中通常采用多达256的状态数。因此,合理的状态数为小于或等于256的数量,但是随着数字信号处理技术的改进,根据摩尔定律,此数量应该是每18个月翻一倍。在上述示例公式中ISI码元的数量L是5,它需要16个状态的咬尾均衡器。此外,均衡器需要通称为信道估算值的ISI系数C0...C4。最困难的情况发生在必须在未知码元S1...Sn仅使用n个接收值r1...r(n)的同时估算信道估算值时,该问题称为“盲均衡”。Dent的美国专利5557645和5619533中公开了一种盲均衡器,现通过引用结合于此。此处将不解决盲咬尾均衡。而是假定信道估算值C0...C4已经通过独立装置估算出来,如在CDMA(码分多址)系统的情况中与导频码或导频码元进行相关处理,或者在发射机和接收机之间对某些可用于估算信道系数C0...C4的码元S1...Sn的一些固定值进行先验协定。
例如,如果至少2L-1个连续码元、如S1...S9为预先协定的恒值码元,则对于其中不包含未知码元的C0...C4,就获得5个方程式,例如对应于r5...r9的那些公式。从而,获得单一的最初起始状态,它具有由L个码元S1...S5组成且对应于单一最初L-1个码元假定S6...S9的单一路径历史,同时还获得迄今为零的路径量度和最初一组信道估算值C0...C4。上述单个起始状态的初始化之后,则将下一个未知码元S10先假定为布尔“0”。然后将信道估算值C0...C4和码元S6...S10用于对应于r10的公式中,从而预测应该接收的信号样本r10的值。将该预测的值减去样本r10的实际接收值,并将其差的平方加上最初为零的路径量度,得到新量度,它是对应于L-1个码元S7...S10且S10为零的新状态的量度。S6传递到该状态的路径历史,其中此时将包含S1...S6。对于S10等于布尔“1”的情况重复该过程,得到对应于S7...S10且S10为1的第二状态。然后,通过假定S11将这两个状态分支并依法继续,直到创建对应于S10...S13的所有可能的2L-1=16种状态为止。之后,当假定S14时,先采用S10=″0″的状态,然后采用S10=″1″的状态来假定它。其余所有码元同样,选择提供最佳路径量度的作为新状态S11...S14,且将提供最佳量度的状态中的值S10变成该状态的路径历史。依照现有技术的维特比均衡器继续此过程,直到遇到“尾部”为止,此时则采用用于终止咬尾解码器的本发明的过程。
“尾部”是在刚刚假定了最后比特Sn并处理了接收的值r(n)以更新路径量度时遇到的。还要处理接收样本r1...r4,它们不用于产生初始信道估算值,因为当时关于r1...r4的公式已包含迄今仍未知的码元Sn、S(n-1)、S(n-2)和S(n-3)。但是这些未知的码元此时对应于16个状态,且每个状态包含那些码元值的不同假定。因为其余四个关于r1...r4的公式仅取决于已知码元S1...S4和与这些状态相关的码元,所以可以利用S(n)...S(n-3)和S1...S4的状态值对每个状态估算接收样本r1...r4,并且从r1...r4的相应接收值中减去r1...r4的四个估算值,从而根据四个其余的接收样本r1...r4提供每个状态的量度的最终更新。具有最低的最终更新量度的状态则包含最佳解码结果。或者,可以通过一次处理一个接收值来更新量度,从r1开始并使用S1的已知值得到按2收缩到2L-2的状态数,然后处理r2,使用S2得到2L-3个状态,依此类推,直到留下包含最大似然解码结果的单一最终状态为止。
当ISI码元的数目会导致维特比均衡器的数量过多的状态时,众所周知,通过允许上述公式的一行中的某些码元已经变成路径历史来减小状态数目,这通常称为“每幸存者(per-survivor)”处理器,或者采用本领域中已知的DFE(直接反馈均衡器)抽头。还已知DFE抽头应该最好与较低值的信道系数Ci和“维特比抽头”相关联,或者应该将假定为与状态数2L-1相关的值的所有不同可能组合的那些L-1个码元与较高值的Ci相关联。如果最前面的值、例如C0...C3高于值C4...C(L-1),则通过以接收时间顺序处理接收样本、即沿咬尾圆周顺时针移动来做到这一点。否则,如果C(L-1)...C(L-4)大于C(L-5)...C0,则应该以逆时间顺序、即沿咬尾圆周逆时针移动来处理r值。还已知,采用预滤波器对接收样本序列...r1...rn...进行预滤波,从而获得似乎已经通过修改的信道系数描述的修改后信道接收的修改后的接收样本序列。当适当选择预滤波器参数时,修改的信道系数可以具有任何期望的特性,如一些很大而另一些很小。
还可以将咬尾维特比均衡器初始化为包括利用小于2L-1个已知码元的初始信道估算值的起始条件。因为初始2L-1个状态各包含L-1个码元的假定,所以唯一要求的是,另外L个码元是已知的并且位于此L-1个码元之前、之后或之间,以便提供2L-1个连续已知或假定的码元的完整块,从而可根据这些码元、通过对各个状态求出L个公式以计算初始信道估算值。这样,各个状态具有不同的一组信道估算值,正如Gudmundson的美国专利第5164961号中所公开的,现将其通过引用结合于此。甚至可以通过仅在假定另一个新数据码元之后估算信道,进一步将所需的已知码元的数量减少到L-1,如公开于Bottomley、Dent和Lampe与1999年10月25日提交的美国专利申请第09/426374号,现将其通过引用结合于此。
按照上面提出的、利用各个状态的假定码元得到的初始信道估算值不是可靠的信道估算值,因此,这些信道估算值无法在此时灵敏地用来解调相同的接收样本,以便确认假定码元是正确的。但是,这些信道估算值可以用于处理新的信号样本并更新量度,直到对样本r(n)的处理进行到最后一个码元假定值Sn。此时,遇到“尾部”,其中码元S1...S4被再次用来处理r1...r4分离的接收样本假定值,对此,如果那些码元不属于L个预先协定的码元,则码元可以存在于不同状态的路径历史中。因此,咬尾的最终操作包括利用前L-1个码元(从各个状态中分别选择的)以及来自同一个状态的最后假定码元S(n)...S(n-L+2),处理前L-1个接收样本来产生该状态的最终量度。这样,具有最低最终量度的该状态就包含最大似然结果,是将接收样本r1...r4作为一个块处理还是一次一个地处理,以及若关联“尾部”码元是已知码元则按2来缩小状态数或者在它是未知码元的情况下不这样做,都取决于块的开始处未知码元散布在已知码元中的方式。当遇到尾部时、咬尾算法逐渐收缩到的最小状态数为2L-M-1,其中m是可以在任何连续L-1个码元中找到的已知码元的最大数量。当达到此最小状态数时,具有最低量度的状态包含期望的结果。
当时间扩散或ISI扩展到超过合理复杂程度的维特比算法可以处理的更多码元上时,则取而代之可以使用咬尾堆栈均衡器。除非有已知起始状态可用,否则堆栈均衡器所用的堆栈算法将节点数扩展到与维特比算法的状态数相同。即使如此,对于每个处理的码元,并非所有节点都会被扩展,所以这种堆栈算法仍会有用。但是,由于为了信道估算而通常包括已知的码元,所以它们还可以用于为咬尾堆栈算法提供起始状态。
例如,假定一个包括已知码元的子块的信息码元块通过时间扩散的信道来传输。该信息码元块包括在传输结束时对第一传输的码元的循环重复,或者等效地在开始处对最后传输的码元的循环重复。已知码元子块可以是开始和结束处的码元,或者可以位于块的中间。已知码元子块最好包含至少2L-1个已知码元,其中L是对应于最大多径延迟的码元周期数目。这使得一些公式只包含至少足以解出L个信道估算值C0...C(L-1)的已知码元。下一个公式、比如上面公式组中的第一个公式包含一个未知码元(例如S1),而下一个公式包含两个未知码元,依此类推。因此,第一个公式可用于通过依次对S1的每个可能值计算第一方程的RHS和LHS之间的平方差来提供堆栈算法的最初起始分支。把所得到的量度相对于与S1的各个可能值对应的一组初始节点进行存储。再者,可以任选地基于S1的节点假定为真的假设对每个节点分别地更新信道估算值。然后将S1用作额外的已知码元,与先前的已知码元一起重新估算信道系数C0、C1、C2...等。可以任选地将一组更新的信道系数对应于各个节点进行存储。如果每个节点存储分别更新的信道估算值,则可以将该算法称为“每节点的信道模型”算法,类似于Gudmundson公开的用于维特比均衡器的“每状态的信道模型”算法。
本发明的堆栈均衡器接着这样进行,将路径从具有指示最高概率的量度(最低量度值)的节点扩展,假定S2的所有可能值,以便从迄今最佳的节点生成进一步的分支。路径扩展继续进行,直到分支到达假定了最后的未知码元、例如码元S(n-4)处。因为其余的码元S(n-3)、S(n-2)...S(n)都是已知的,此时可以将尚未使用的其余公式一起用于先前所述的突发方式的扩展,以便完成咬尾圆周,从而得到最后未知码元S(n-4)的各个值的最终量度。如果这些最终量度之一仍是所有存储的量度中的最佳量度(最低量度),可能具有足够的余量,则与该最终量度相关联的路径历史则是接收信号的期望的最大似然性均衡。
当采用本发明的堆栈均衡器时,它可以有利地从已知码元子集合或者在时间上向后扩展路径或者在时间上向前扩展路径,这取决于是信道系数C(L-1)还是C0更大。在现有技术、例如通过引用结合于此的Dent的美国专利第5335250号中已知,利用维特比算法可以有利地向前或向后解调。当正在处理的信号块内发生衰落时,向前或向后解调对于维特比算法是有用的,当然这不是为本发明的堆栈均衡器选择向前或向后解调的目的。在堆栈均衡器中,如果信道系数C0是较大的信道系数,则最好采用向前均衡,因为这将最大限度地影响下一分支上的量度,从而快速地放弃错误路径。另一方面,如果信道系数C(L-1)较大,为了类似原因最好采用逆时间均衡。
如Zangi和Hui的1999年8月20日提交的美国专利申请第09/378314中所述,最好C0或C(L-1)是所有信道系数中最大的,以便降低称为MLSE-PSP(每幸存者的最大似然序列估算处理)的维特比算法的复杂性。可以利用适当确定的预滤波器对接收信号进行预滤波来确保这一点。但是,当不能使用咬尾时,该维特比算法必须从已知码元子集合在时间上向前和向后都均衡信号。这需要用于使信道系数C0最大的向前解调的第一预滤波器的计算和应用,以及用于使信道系数C(L-1)最大的向后解调的第二预滤波器的计算。但是,在咬尾均衡器的情况中,由于循环扩展的原因,解调可以在同一个方向上或者向前或者向后继续,对所有码元进行解调。因此,对于咬尾维特比均衡器只需要单个预滤波操作,而对于堆栈均衡器可能完全不需要预滤波。然而,并非把预滤波排除在外,因为众所周知,通过例如匹配滤波器或白噪声滤波器进行预滤波在解调接收信号时可能是有利的。
在与维特比算法相对的堆栈均衡器中,对于不同长度的路径比较量度。不同于堆栈解码器,分支量度不是简易地特征化为具有“零”或“非零”校正子。因此,要给出不同长度的路径之间的有效比较,可以采用Fano型量度。例如,可以将这些量度加上一个值,与路径保留以完成圆周的码元的数目成比例。所加的值等于各个接收样本的均方噪声电平,这可以在信道估算过程中推导出来。当最初估算信道或随后利用已知码元更新信道时,只包含已知码元的公式被求出,剩余误差的平方和除以用于获取每接收样本值的噪声估算值的公式的数量。此值再乘以剩余码元的数量,并加上该路径量度。例如,噪声估算值可以乘以咬尾圆周中码元的数量,并用作初始节点的起始量度。此后,在每次路径扩展之后,减去该噪声值,使得增长得不如每样本的期望噪声电平快的路径量度不被过早放弃。如果路径扩展之后更新信道系数和更新噪声估算值,则在加上新噪声值乘以新的剩余码元数目之前,减去原来的噪声值乘以原来的剩余码元数目。
当完成圆周时,可能会要求最终最佳量度比次佳量度小噪声的某个整数倍,例如3-6倍,使得所发现最佳量度可能通过另一路径变得更好的机会有3西格玛或6西格玛级的不可能性。一般来说,堆栈均衡器不需要是咬尾均衡器,且通过适当选择量度、例如Fano量度,可用于对连续传输进行解码。
上面描述了堆栈算法的许多新应用和修改,包括对咬尾卷积码进行解码,以及对通过色散媒体接收且受到明显码间干扰的信号进行均衡。对于前者,提出一种新的有利量度,它具有如下特性具有指示所有其他部分解码测试的最高概率的量度(最低量度值)的发现的第一个完整解码必须是最大似然解码。在不违背如以下权利要求书所述的本发明的精神或范围的前提下,本领域的技术人员可以选择性地采用现有技术中已知的其他量度。
权利要求
1.一种用于传递数字编码信号的方法,所述方法包括如下步骤将所述数字编码信号分成码元块;对所述码元块进行纠错编码,从而产生用于传输的编码码元块;接收所传输的编码码元块;计算所述码元块的似然值,具体步骤为连续扩展具有最大相关似然指示的部分码元块,并更新与之相关的似然值,直到或者(a)得到完整码元块的似然值,或者(b)超过预设的处理时间;当得到完整码元块的似然值时,利用所得到的完整码元块重构所述数字编码信号;以及当超过所述处理时间时,利用先前或随后得到的完整码元块重构所述数字编码信号。
2.如权利要求1所述的方法,其特征在于,所述数字编码信号是语音信号。
3.一种对已被编码器利用咬尾纠错码字编码的信息信号进行解码的方法,所述方法包括如下步骤将与编码器的所有可能的起始状态对应的若干解码器状态初始化成具有相等的相关似然量度;接收表示前面若干编码码元的信息信号,并且已知所接收的信息信号,为各个解码器状态更新相关似然量度;接收表示另一些编码码元的另一些信息信号,并且通过已知所述另一些接收的信息信号、更新相关似然量度而生成关于各个可能的假定扩展解码信息码元的新似然量度,从而扩展具有最高似然量度的解码器状态,以及将所述扩展解码信息码元的假定值添加到所述扩展的解码器状态的码元历史中;继续接收又一些信息信号,并通过假定附加的信息码元来生成又一些扩展的解码器状态,从而扩展具有最高似然量度的解码器状态,直到假定了以咬尾码字编码的最后的信息码元;当假定了最后的信息码元时,通过接收和处理随所述咬尾码字而定的所有其余的信息信号,完成对各个相应的扩展解码器状态的最终量度的计算;确定所述最终量度之一是否表现出所有最终和部分量度中的最高似然量度;如果所述最终量度之一表现出最高似然量度,则将相关的解码器状态的码元历史用作解码信息;以及如果一个部分量度表现出比任何最终量度都高的似然量度,则继续扩展与最高似然性的部分量度相关的解码器状态,直到或者所有部分量度都表现出低于最佳的最终量度的似然性,或者计算出另一些最终量度而其中至少一个表现出高于先前得到的最终量度的似然性。
4.如权利要求3所述的方法,其特征在于,所述起始状态被初始化为具有零量度。
5.如权利要求3所述的方法,其特征在于,所述接收的信号是来自信号解调器的软值。
6.如权利要求3所述的方法,其特征在于量度更新包括利用所述编码器的本地复制,基于对与解码器状态相关的码元历史再编码来预测接收信号值;将接收信号值与预测的接收信号值进行比较以生成δ量度;以及将所述δ量度与先前解码器状态的似然量度组合而生成更新的似然量度。
7.如权利要求6所述的方法,其特征在于,如果所述预测的接收信号值的符号与所述接收信号值的符号相符,则所述δ量度为零,而如果这些符号不相符,则所述δ量度为非零值。
8.一种用于对纠错编码的信息码元进行解码的堆栈解码器,所述堆栈解码器包括接收器,用于接收纠错编码的信息码元并生成对应于编码码元的输出信号;存储器,用于存储若干内部解码器状态,每个解码器状态具有相关的码元历史和表现出概率的似然性的累积量度;处理装置,用于按一个新解码的码元连续扩展具有表现出最高似然性的量度的解码器状态的相关码元历史,并且计算所述扩展解码器状态的新量度,所述处理装置包括编码器,它对与各个扩展的解码器状态相关的码元历史再编码来产生预测信号;概率电路,它接收所述预测信号和接收器输出信号,并且如果所述预测信号和接收器输出信号具有相同的符号,则将零加到所述解码器状态量度而获得解码器状态的新量度,或者如果所述预测信号和接收器输出信号具有不相同的符号,则将非零值加到所述解码器状态量度而获得解码器状态的新量度;以及比较电路,它接收与各个可能的解码器状态相关的新量度,并且选择具有表现出最高似然性的量度的解码器状态来用于扩展。
9.一种用于对受到码间干扰(ISI)的接收信号进行解码的方法,所述方法包括如下步骤利用所述接收信号中的已知码元的子集估算指示ISI的若干信道系数;利用起始量度值将存储器中的起始状态初始化;假定与已知码元相邻的第一码元,并且用所述估算的信道系数作为组合加权值将所述第一假定码元与所述已知码元组合,从而得出第一信号预测;将所述第一信号预测与相应的接收信号值相比而得出分支量度,并且将所述分支量度与所述起始量度组合而得出与新存储状态相关的新量度;定期确定具有表现出最高似然概率的相关量度的状态;通过依次假定下一个码元,连续扩展最高似然概率的存储状态以获得新状态;根据与相应的信号预测和相应的接收信号样本的比较相关的前一状态的量度,计算新状态的量度;以及当计算出表现出最高似然概率的最终量度时,利用与之对应的状态的假定码元历史作为解码的接收信号。
10.如权利要求9所述的方法,其特征在于,所述接收信号包括利用循环扩展来连接而构成循环块的码元块。
11.如权利要求10所述的方法,其特征在于,当存储状态中至少一个被扩展为包含所述循环块中所有码元并且该状态的相关量度表现出以足够的余量大于任何其他状态的似然性的似然性时,解码终止。
12.如权利要求9所述的方法,其特征在于,连续假定的码元对应于迟于已知码元的时间周期。
13.如权利要求9所述的方法,其特征在于,连续假定的码元对应于已知码元之前的时间周期。
14.如权利要求10所述的方法,其特征在于,连续假定的码元对应于绕循环块相对于已知码元位于顺时针方向的瞬间。
15.如权利要求10所述的方法,其特征在于,连续假定的码元对应于绕循环块相对于已知码元位于逆时针方向的瞬间。
16.一种对包含已知码元模式且通过多径信道接收的循环扩展信号段进行解码的方法,所述方法包括如下步骤利用接收信号段中的已知码元估算多径信道的信道系数,将存储器初始化为对应于所述已知码元的起始状态;假定要解码的未知码元,并生成从所述起始状态分支的后续状态,各个后续状态具有基于与所述状态的码元历史组合的接收信号和估算信道系数的相关似然量度;继续按照循环顺序处理接收信号段,利用循环扩展将信号段的结尾卷绕到所述信号段的开头上,直到处理再次返回到已知码元;以及通过再次处理与已知码元相关的信号样本,并减少再次处理每个已知码元之后的状态数目、直到达到包含所述解码码元的单个终结状态,从而终止解码。
17.一种对包括循环扩展信号段的接收信号进行解码的方法,所述信号段含有已知码元模式且通过多径信道来接收,所述方法包括如下步骤利用所述接收信号中的已知码元模式估算所述多径信道的信道系数,并且将存储器初始化为对应于所述已知码元的起始状态;假定要解码的未知码元,并生成从所述起始存储状态分支的后续存储状态,各个后续存储状态具有基于与所述状态的码元历史组合的接收信号和估算信道系数的相关存储似然量度;定期确定具有表现出最高似然性的量度的后续存储状态,继续按照循环顺序处理接收信号以得出从最高似然性的状态分支的新后续状态,利用循环扩展将信号段的结尾卷绕到所述信号段的开头,直到处理再次返回到已知码元;当假定了所有的未知码元时,处理取决于未知和已知码元的所有其余的信号样本,从而生成所述存储状态的最终量度;以及如果任何最终量度表现出大于任何其他状态的似然性超过阈值的似然性,则终止解码。
18.如权利要求17所述的方法,其特征在于还包括如下步骤定期确定是否有任何量度表现出低于最终量度的似然性,如果是,则删除与此较低似然性的量度相关的状态。
全文摘要
给定接收信息信号,更新量度以便反映各个解码器状态的似然量度。进一步接收信息信号,并通过更新似然量度以生成关于各个可能的假定扩展解码信息码元的新似然量度,扩展具有最高相关似然量度的解码器状态。将扩展解码器信息码元的假定值添加到该扩展解码器状态的码元历史中。该方法继续进一步接收信息信号并通过假定另外的信息码元来生成扩展解码器状态,从而扩展具有最高似然量度的解码器状态,直到假定了以咬尾码字编码的最后信息码元。对于每个对应的扩展解码器状态计算最终量度,如果最终量度之一表现出最高似然量度,则将该相关解码器状态的码元历史用作解码信息。
文档编号H03M13/41GK1422459SQ01807754
公开日2003年6月4日 申请日期2001年1月23日 优先权日2000年2月7日
发明者P·W·登特 申请人:艾利森公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1