背景技术
高速数字通信代表一种日益重要的技术。越来越多数量的模拟通信链路被提供可靠性、链路质量(例如,低误码率(BER))、对终端用户来说使用简单和低成本的高速串行链路所取代。
例如,现代计算机显示器和高清晰度电视(HDTV)显示器常常采用根据诸如数字可视界面(DVI)和高清晰度多媒体界面(HDMI)这样的工业标准的高速串行链路。这种链路总的数字速率通常在吉比特/秒的范围。例如,DVI链路波特率接近5吉波特,有很多厂商能提供超出这个限制很大余量的产品。
另一个实例是用于连接计算机***中的存储设备的串行高级技术附件(ATA)接口。这个应用也要求大约2吉比特/秒和更高的数据速率。
其它的实例是诸如吉比特以太网(例如1000Base-T)以及新兴的10-吉比特的以太网(10GBASE-T)标准的高速局域网(LAN)应用。
支承这些和相似实例的链路有许多共同的要求。它们要求高速运行,有容许大的确定性和/或非确定性的数据抖动的能力,容许大的频率偏移和/或频率调制(FM)的能力,较有效的BER,可在小的水平眼图张开度下运行(例如,0.4单位间隔(UI)的眼图宽度(eye width)规格是很难得的)的能力,高跟踪带宽、快速相位捕获和良好的跟踪范围,这仅仅是举出的几个例子。
关于这种高速串行链路接收机的一个普遍的实施是基于结合所谓的“相位拾取”的数据过采样(over-sampling)来选择“好的”采样流的接收机。常见的DVI链路实施方式使用一个过采样因子L=3,数据采样常在没有任何相位跟踪的情况下进行。一旦过采样数据流是可用的,相位拾取器通过使用一些类型的相位跟踪方法(例如传输相位平均)保留L个采样中的一个采样,以便选择最佳的采样。
尽管这种技术实施起来相对简单和廉价,但也经受着各种问题。例如,今天所使用的一些线路码有非常宽的频谱(即,差的游程长度(d,k)-约束constraint)。这个问题对可以具有从1到14个符号的游程的DVI/HDMI链路尤为尖锐。因为稳定性和鲁棒性,相位拾取器必须在相对窄的跟踪带宽下运行。这种方法的不利方面是不能跟踪在过采样数据中出现的确定性抖动。窄的跟踪带宽还限制稳定速度(即,相位捕获时间),引起差的瞬变性能,有时使捕捉范围变窄。
相位拾取方法中的一个基本问题是它不能在检测处理中使用全部可用的过采样数据。常见的相位拾取器实施方式简单地丢弃每个符号的L-1个采样,仅保留L个接收采样中的一个采样。因此,过采样数据仅被用于相位跟踪,不用于数据检测。因此,相位拾取器丢弃许多携带关于正在被解码的符号的有用信息的数据采样。在常见的DVI/HDMI实施方式中,大约2/3的对接收机可用的信息被简单地丢弃。
如果数据速率适度并且眼图张开度足够,例如当链路采用短的高质量屏蔽双绞线(STP)电缆时,可以容许由这种相位拾取方式引起的损失,并有助于廉价的接收机实施。然而,一旦数据速率增加和/或使用更高或者更低质量的电缆,例如非屏蔽双绞线(UTP)电缆,那么可用的眼图宽度变得更小,接收机性能开始迅速下降。
例如,可见这种传统的取相位-平均的相位拾取器要求眼图张开度大于2个采样间隔,以便可靠地检测数据符号。在使用L=3个采样的常见实施方式的情况中,这意味着如果可避免由相位拾取引起的数据误差,那么眼图宽度应当至少是0.7UI。在低速和/或短传输距离的情况中完全可以接受这种限制,但是在更高数据速率的情况下这种限制变得花费昂贵,并且常常需要相对昂贵的良好均衡和预加重技术。
此外,因为高速和/或高过采样因子通常不提供平行处理采样的简单方式,所以在上述情况中许多传统的相位拾取方法都难于实施。从接收机实施方式的立场看,常希望接收机的复杂性线性地依赖过采样因子,由此规定更窄的眼图规范(eye specification)。许多现有的相位拾取方法都不显示这种复杂度的线性增加,而是代替随过采样因子的平方或者甚至更多地增长。
所谓的“多数表决”过采样接收机代表本领域另一类公知的接收机。在过 去,这种技术被广泛地用于低速链路,如果良好的眼图张开度可用,例如0.9UI或者更高的眼图张开度,便可以提供一些线性的和/或非线性的数据过滤,并常常改善链路的鲁棒性和BER。这种接收机实施起来还很便宜,这一点也是这种接收机在过去能够流行的重要原因。然而,一旦眼图张开度开始收缩,如在今天的高速串行链路中常见的那样,这种“多数表决”接收机的性能就会迅速变得不令人满意。此外,通常这种接收机在处理高频率偏移和频率调制的数据流以及有高度非确定性抖动的数据流时非常困难。
与传统的“模拟”时钟和数据恢复(也称为CDR)技术相比,在数字域的数据检测和/或相位跟踪常在不同制造处理之间的可移植性方面和简单设计,低廉成本方面有优势。此外,许多在模拟实施方式中不可用的非线性检测和/或过滤方法在数字域中实施起来常常是廉价的。此外,即使传统的模拟CDR经常提供良好的相位跟踪性能,但这很少能改善数据检测本身,大多数模拟CDR有用于数据检测的简单采样器,仅对每个符号进行一次采样。因此,如果出现由于高的确定性抖动引起的实质的眼图闭合,模拟CDR的性能则变得不令人满意。
通常,如果在眼图张开度的最大高度这一点检测(采样)每个符号,则可以实现最好的接收机操作性能。然而,找到这种采样点非常困难,也常常不可能找到。为了确定一个“最佳”的采样点,接收机通常考虑用以指导的数据转换。然而,这种数据转换通常不能恰好在符号的边界发生。它们的位置受到确定性抖动(由先前符号历史确定的符号间干扰(ISI)引起的),由传输***中各个部件的噪声引入的非确定性抖动(例如时钟发生器相位噪声,导致振幅和时间偏移的采样器的不精确的信号限幅,加性和倍增的信道噪声等),串音诱发的抖动和频率偏移,以及在这种链路中经常出现的频率调制的影响。此外,链路还常常承受进一步使接收变复杂的非线性失真。
因为转换的位置可以不提供关于当前符号最佳采样点的可靠信息,所以接收机尝试过滤从转换的观测中得到的采样相位信息,以便获得一些可接受的采样相位。例如,许多现有的实施方式应用有低通转移特性的线性过滤器或者一些有噪声抑制特性的非线性过滤器(例如,中值滤波器)。然而,在逐个符号的意义上,使用这种方法获得的采样相位位置常常不是最佳的。这是因为难于从纯非确定性相位噪声和频率偏移中区分确定性分量(例如ISI和串音)。尽管非 确定性的相位噪声应该被滤除(即,抑制),但是应当跟踪确定性部分以及频率偏移以便提供良好的接收机性能。过滤方法常不能区分这种区别,因此总体检测性能受到损害。
还有其它已知的尝试改善这种性能的方法,例如基于维特比算法(VA)及其改进的序列检测方法,以及反馈检测方案和判决反馈均衡(DFE)。这些方法起到很好的作用,也允许计算ISI和其它确定性分量,因此能改善整体性能并简化采样相位跟踪任务(因为目前仅需要处理非确定性部分以及频率偏移)。然而,基于序列检测的方法在实施起来常常很复杂并且昂贵,通常需要多比特采样(即,模拟-数字转换(ADC))和逐个符号进行的密集计算。一旦数据速率开始接近吉比特/秒的范围,序列检测器迅速变得不实用。即使在低速时,基于VD(维特比解码)和DFE的接收机实施起来也是昂贵得几乎不允许实施。
因此,需要一种简单且有效的方式来构建有过采样数据接收的数据接收机,它不会遭受困扰传统相位拾取器、“多数表决”和模拟CDR接收机的问题。
具体实施方式
现在详细地参考本发明的特定实施例,在附图中举例说明其实例。尽管将结合特定的实施例描述本发明,但是应该理解并不意图将本发明限制为所描述的实施例。相反地,是意图覆盖可能包括如附加权利要求所定义的、在本发明精神和范围内的替换、修改和等效方案。
当通过数字传输链路发送过采样数据时,所希望的是在存在确定性和非确定性的抖动时提供鲁棒操作的数字接收机。由于ISI,即使过采样数据重复超过每一比特一个采样(例如3倍,其示例性的过采样因子L=3),比特值b不能作为极佳的重复采样序列bbb到达接收机,但是可能代替地在采样序列中包括不等于b的数值。例如,比特值0可以明确地得到000,或者根据抖动得到001、100、101或者任何其它组合。因此,难题是不能根据多个不能明确指示符号的采样推断符号。
如上所述,一种显而易见的方法是使用采样的多数表决。不幸地,这种方法在很多情况中不起作用,因为假定知道在已发送的采样流中的符号边界,但是实质上确定和跟踪本身就是难题。另一种方法通过检查转换,以及在有些情况下通过执行跟踪回路来跟踪信号相位。然而,相位跟踪不能区分由影响理想采样位置(采样时钟相对于符号边界的位置)的非确定性抖动引起的相移(因此,应当跟踪这种相移)以及由信道存储器引起的不影响理想采样位置的相移(因此不必跟踪)。关于相位跟踪的变形包括根据由ISI引起的边界移动是高速过程并且以高于跟踪回路带宽的速率发生的观测结果,通过修改跟踪回路的带宽尝试使跟踪回路对信道变化的灵敏度降低。尽管该方法在处理低频的不稳定性,例如这种涉及发生器频率或者无线电链路多普勒效应的问题,由电缆串音引起的宽噪声谱和起因于限幅器的高频抖动时正常工作,但是锁相环路(PLL)限制相位***的性能。因此,所希望的是改善接收机的性能。
图1是举例说明依照本发明实施例的用于通过数字传输链路接收数据的方法和***的高级框图。发送器51通过信道52发送采样数据。过采样序列检测器100(以下也称为“接收机”)接收并解码传输信号。检测器100是根据跟踪 采样数据的检测可靠性,而不是跟踪数据的最佳采样相位。仅为了举例的简单而不是作为限制,公开的一个或多个示例性的实施例具有使用二进制字母表(alphabet)的链路,其中每个符号取两个值的其中一个,如+1和-1,或者0和1。因此,公开的一个或多个实施例以每个采样一个比特的速率运行,过采样因子保持的低,在很多情况下可以在2和4个采样之间。然而,这些并不是所公开实施例运行的必要条件,本发明同样可适用于有更复杂(非二进制的)字母表的链路,并且可以类似地处理包含超过一比特信息的采样以及更高的过采样因子。
举例来说,但不作为限制,在此显示的检测器100的操作中使用过采样因子L=3,并且使用单比特采样。不同于传统的序列检测器,检测器100分别分析不同采样相位(有1/L U1的标称相位偏移)的采样序列,然后拾取允许最可靠检测的采样序列。对于不同的采样相位,检测器100检查一些预见和回顾信息(即预兆和后兆的数据)以便改善简单的逐符号检测。另外,过采样信息还被用于进一步改善检测性能。这一点与一旦已经决定采样相位就常常丢弃过采样数据的传统“相位拾取器”相反。
本发明在检测性能方面是计算有效的,因此可以成功地应用在正好超过目前对传统序列检测器而言是可能的那些的数据速率和/或成本约束。
可以通过将转换-驱动的相位跟踪(模拟或者数字)与本发明的一个或多个实施例进行组合来更进一步地改善检测性能。例如,可以通过跟踪环路减少相位噪声和频率偏移,同时可以通过本发明的一个或多个实施例处理IS1和大的“相位跳跃”。实际上,可以通过窄带反馈环路跟踪缓慢的相位变化以及非确定性的相位噪声,同时本发明的过采样检测器100处理剩余的相位偏移(例如ISI)。
图2是举例说明依照本发明实施例的用于通过数字传输链路接收数据的方法流程图。从12开始解码第一个符号,按照下面的步骤描述该方法:
对于每个采样相位(在总共L个相位之中,在14从第一个相位开始),在16检查观测窗W上的采样。这个窗口典型地包括对应于当前符号的L个采样以及来自先前的和下一个符号的一些采样。例如,对于过采样因子L=3的***来说,典型的观测窗W可以包含5或者6个采样。在W=5的示例情况中,除来自当前符号的L=3个的采样以外可以使用一个预见采样和一个回顾采样。在W=6的示例情况中,除当前符号的L=3个采样以外可以使用两个回 顾采样和一个预见采样,对于其它L和W的值是类似的。
接下来在18使用上面选择的采样执行对每个可能采样相位的当前符号值的检测。如下所述,预见的和回顾的采样,以及关于采样流过去的判决和/或检测器100的输出流都可用来改善检测性能。
在20估计每个采样相位(即估定判决不确定性)的检测可靠性。
在22选择有最高检测可靠性(即具有最低的判决不确定性)的采样流。如下所述,一个或多个线性和/或非线性的过滤器可以控制选择处理以避免不必要的流转换。替换地,如果特定的实施例中需要,则可以使用没有过滤的逐个符号的转换。
如果在32确定转换处理与符号边界交叉,则在36调整弹性缓存器。通常,如果在旧的和新的相位之间的差异的绝对值大于1/2 UI则与符号边界交叉。例如,对于过采样因子L=3,当发生0→2或者2→0的转换时发生交叉。对于更大的过采样因子例如L=5,任何的下列转换将引起符号丢弃或者复制:0→4、1→4、0→3、4→0、4→1和3→0,因为在所有这些情况中,在旧的和新的相位之间的差异是3或者4,即大于1/2 UI(在这个情况中是2.5)。下面描述弹性缓存器。可替换地,可以针对每个采样流调整当前符号指针以便解决边界交叉。
在38对该流中的剩余符号重复执行上述步骤。
下面更详细地描述以上的步骤。
本发明的方法是假定采样相位正确,设法猜测当前的符号值,以及估计这种猜测的可靠性。经常地,每个可能的采样相位都会产生相同的符号值。例如,如果符号流具有相同值的长的符号游程(例如值为1),检测器100处于这种游程的中间,那么,因为不管相位是多少检测到的值都是1,所以采样相位没有意义。此外,这种猜测非常可靠,即与这种猜测相关的不确定性是零。尽管这是一个小例子,但是它举例说明了检测器100并不总是需要知道采样相位以便正确地检测符号值。
作为另一个有相位-不变的检测结果的示例性序列,考虑以下的实例(这个实例中L=3和W=5):
相位0:000.111.101.111.000,被解码作为01010(见下文)。
解码的数据:--0-----0-----1----0---
相位1:001.111.011.110.0,也被解码为01010。
相位2:011.110.111.100.0,被解码为1010x(即早1个符号)。
在上述实例中,有可能不考虑已选的采样相位进行正确的检测判决,因为在四个所示符号上全部三个被检测数据流都相同。
然而,在上述实例中,对于不同的相位,检测可靠性是不同的。例如,因为所有的符号都有一种采样模式,它可以仅表示一个可能的符号值,所以相位0数据可以被可靠地解码。除了相位0的一个符号之外的所有符号都有清晰定义的符号边界。因为两个相邻的符号1可以被单个0采样分离,所以也可以确定地解码采样模式1.101.1。这对应于有相对较高ISI的,引起过浅的零峰值的情况,因此产生窄的符号。因此,对应于相位0的序列被可靠地解码,并且具有指示低等级的不确定性的累积“检测量度”0。该想法用于向符号序列分配判决量度(以下也简单地称作量度),以便指示它们的不确定等级,并在解码输入的采样序列中的符号时使用这些判决量度。
相反,猜测相位1和相位2流的数据的可靠性低于相位0流的。一些采样模式显得混淆和模糊,并且即使可以不模糊地检测到序列,在存在结合数据的相位抖动和/或频率调制的严重的ISI时检测也可能出错。因此,设置相位1和相位2流的量度高于相位0流,从而指示在对相位1和相位2流的检测处理中增加的不确定性(或者减少的可靠性)。例如,同相位0流的量度0相比,给相位1和相位2流的量度都是2。
作为举例说明而不是限制,下面的部分举例说明一些在接收机的示例性实现中建议的示例性检测模式。
对于L=3和W=5的示例数据检测模式
与其它的实施例一起,在这里举例说明两个检测器100的实施例:一个使用先前检测值(即对先前的符号判决的值)的实施例和一个不使用这种先前检测值的实施例。在此将这种使用先前值减少当前符号的检测的不确定性的方案称作判决反馈检测或者DF方案。这种方案有时以附加的硬件为代价改善检测的可靠性(即减少BBR)。
下面的列表给出了建议用于DF检测器的检测模式。请注意,为了节省空间(在这里的和在真实的硬件中),仅列表的第一半是明确提供的。通过反转该模式比特以及被检测的值产生第二半。可能使用其它压缩方案以便更简洁地表 示列表数据。
表1
在表1中,注意到仅仅4个模式0 011 0,0 011 1,0 101 1和0 110 1(十六进记数法06、07、0B和0D)是取决于DF值(在名为“先前值”的列中显示)。因此可以得到结论,在这些模式的检测质量合理降低的情况下可以实现简化的非DF检测器。
流选择
一旦计算每个流中的当前符号的量度便进行流选择。典型地,可以使用一些过滤器类型(例如有限脉冲响应(FIR)、无限脉冲响应(IIR)或非线性的),以便保持一些期望的相位相干量,以免在检测流之间的迅速转换,因为这种转换可以降低检测可靠性。
如果在得到转换到另一个流的判决之前考虑规定长度的过去的检测历史,则可使检测器100更精确。这是因为如先前所述,几个独立过程,例如ISI、相位抖动、频率调制和/或时钟频率偏移量,或者其它的处理会影响符号边界。一些处理,例如抖动、和在某程度上的ISI有短的相位相干,即逐个符号地高速变化。在每个流中的模式解码器处理这种短期的移位。
其它的处理,例如频率偏移或者频率调制通常有长得多的相位相干周期,因此不适合由模式检测器单独处理。在这种情况下执行流转换,因此完成(间接地)采样相位跟踪。
在一个关于DVI/HDMI应用的实施例中,过滤器可以简单地实现为每个流上采用(即1-D个过滤器的L)的移动平均,接下来是非线性的阈值处理。在当前流和候选流的量度之间的差异没有超过指定的应用相关的阈值,这样做防止了流的转换。
在一个实施例中,选择有最小量度的候选流。然而,也可以使用其它的策略。
如下所述,在最后选择符号值之前,可以在弹性缓存器的帮助下对候选流进行一些调整。
流转换以及弹性缓存器的作用
如果当前以及建议流之间的相位差异在选择新的候选流的过程中大于L/2(即大于1/2 UI相位跳跃),则检测处理与符号边界交叉。除非检测器100采用附加的步骤,要不然因为一个符号的复制或者丢弃将导致错误的检测(由相位跳跃方向确定)。
例如,当使用接近于UI开始的流(例如具有过采样因子L=3的***中的相位0流)以及选择在UI末端的流(例如在这种情况中的相位2流)时,将会与符号边界交叉,除非采取必要的步骤,要不然将丢失被检测流中的一个符号(即,丢弃)。
相反地,如果相位在反向移动1/2的UI或更多(例如在上述实例中从相位2流到相位0流),符号可能被采样两次,因此引起在检测流中的符号复制。
一个可能解决上述问题的解决方案包括增加弹性缓存器(EB),或者更普遍地在执行流选择之前增加可变符号延迟。在前向相位移动的情况下(例如在上述实例中从相位0流到相位2流),弹性缓存器的长度(即延迟的量)减少一个符号。相反地,在相位延迟的情况中(例如,在上述实例中从相位2流到相位0流),弹性缓存器的长度被增加一个符号。
注意到在上述讨论中使用的抽象弹性缓存器(以及可变延迟)仅是为了举例说明这种概念,并不打算作为限制。在实际的实现中,可以使用各种方法。例如,可以使用基于多路复用器和保留数据的几个符号值的公共共享寄存器的平行实施方式。然而,下列描述沿用弹性缓存器的概念,可以理解的是实际的接收机可以使用任何足以充分地缓存和/或延迟数据的实施例。
定时是这样的,使得在完成当前符号检测之后,解码器计算量度并做出转换判决。在这点上,也可以选择性地调整弹性缓存器的长度。然而,在下一个符号间隔期间选择新的候选流。换句话说,可以使在符号检测中间发生的相位转换过程可视化,即在已经检测前一个符号之后以及处理下一个符号之前。其它的实现也是可能的。例如,可以没有任何延迟地对当前符号执行迅速的转换。然而,这种方法增加硬件复杂性,并且在许多实际的情况中没有显著地改善检测质量。
在接收机运行的不稳定周期期间,例如启动或者建立新的链路连接时,弹性缓存器可以达到调整极限。在这种情况下,缓存器(即延迟的量)必须被强制地回到中心位置(re-center),导致可能的数据丢失。这种回到中心位置防止由弹性缓存器相对于调整极限弹回所引起的误差传播现象,引起由于在与符号边界交叉的情况中不能补偿复制或者丢弃的符号引起的多重误差。
回到中心位置的处理通过检测弹性缓存器长度的减少低于零点(即要求负延迟)或者弹性缓存器长度的增加超过最大长度限制来工作。在两种情况中,缓 存器长度(即延迟)被设置为预定义的值。这个值可能是固定的或者可被选择性地适当调整。
在具备长度表示为EBlength的弹性缓存器的简单实现中,可以使用EBlength/2的固定中心值。例如,对于7个符号的EBlength,中心值可以被设置为3个符号。
可替换地,更详细的实现可以跟踪弹性缓存器的溢出趋势,使其回到中心位置,以便在最可能边界交叉的方向提供更多的缓冲空间。例如,如果有瞬时的正频率偏移,接收机采样器滞后在输入数据相位之后,采样相位可能提前并且可能碰到零延迟限制。在这种情况下,缓存器可以被集中到最大延迟的2/3以便减少再次到达极限和引起数据误差的概率。
总体结构
现在描述当前数据检测方法和***的示范性实现的结构。图3是举例说明依照本发明实施例的数据检测器100的高级框图。数据检测器100包括模式分析器110、量度过滤器130、流转换器140、弹性缓存器120和候选流选择器150。
输入的L倍过采样数据101被馈送到模式分析器110。在这个块中,按照每个相位来分析输入数据模式,与检测量度一起产生L个候选值流。此外,这个块可以产生附加的辅助信息流152,例如采样相位估计、均衡测量的质量,等等。当前讨论限于值(V)的流111和量度(M)的流112
量度过滤器130更进一步地处理总共L个每相位量度流,以下也叫作“原始量度”,以便抑制度量值的短期不稳定性和利用量度的内在一致性。检测器100通常尝试按照候选流质量变化的稳定趋势而不是按照每个符号来选择流。这是因为对流中每个符号的量度估计可能不可靠,尝试按照每个符号(即,以符号速率)跟踪它们可能引起错误的和/或不必要的流转换。量度过滤器130块完成这些目的并且基本上确定整个检测器100的跟踪动态。
一旦已经过滤度量流(以下也称为“窜改的(cooked)”量度),L个窜改的量度131被发给决定选择哪个流的流转换器块140。流转换器块140还控制弹性缓存器120的长度以便在符号边界交叉的情况下调整缓冲延迟。通过“相位-选择”信号142发送候选流选择数据,通过“符号-选择”信号141发送弹性缓存器120延迟值。
弹性缓存器块120按照流转换器140指定的量延迟候选流。L个候选流被延迟相同的符号间隔数。在实际的硬件实现中,弹性缓存器块120能够作为在 候选流之间共享的多抽头移位寄存器和一系列选择适当的抽头的多路复用器来实现。其它的实现也是可能的,例如每个流一个可变长度的移位寄存器。
延迟的候选流被施加到候选流选择器(CSS)150,该候选流选择器保留L个流中的一个流,丢弃剩余的数据。保留的流表示检测器100的输出数据流151。本发明重要和有利的方面是在整个检测器100拓扑中缺少反馈环路。这一点非常便于平行检测器100实施方式,并使得该技术适合非常高速的操作,例如吉比特/秒数据速率以及更高。
模式分析器
图4是举例说明依照本发明实施例的模式分析器110的框图。输入数据采样201被发送到具有指定延迟的移位寄存器210。移位寄存器210足够大以便保留LSR个采样,其中:
LSR=2L+NLB+NLA-1
其中L是过采样因子,NLA是模式分析所需的预见(LA)采样数,NLB是回顾(LB)采样数,LSR是移位寄存器210的最小长度(单位为采样)。
例如,在3x过采样以及5个采样模式分析(即一个LA和一个LB采样,不包括判决反馈(DF)采样)的示例情况中,移位寄存器210并行地产生7个采样。然而,尽管使用移位寄存器210的特定示范性实施例使该操作更容易理解,但是其它的实现也是可能的。例如,有多路复用器的并行寄存器可用于方便数据的并行处理(在高数据速率时可能是必须的),并减少复杂性和/或功耗。
采样211从移位寄存器210发送给一系列模式分析器元件220、230…240。为了清楚起见,图4中仅显示开始两个和最后一个模式分析器元件。每个模式分析器元件220…240观察按照每个符号呈现给它的适当的采样集合,估计最可能的检测值以及估计量度和其它的辅助信息(按照需要)。因此,在线路202和203分别发送L对候选值和它们的量度。
模式分析器元件
图5是举例说明依照本发明一个实施例的模式分析器元件的框图。在线路301上从模式分析器110接收输入的总共LPA=NLB+L+NLA个采样的集合,并应用其作为查阅表(LUT)310的输入。此外,从寄存器320接收先前决断的值321。寄存器320按照每个符号被更新,即每个检测器循环一次。
查阅表310产生值“V”312、量度“M”331,以及关于相位、均衡等等 的附加的辅助信息313。可以使用只读存储器(ROM)或者使用随机逻辑实现查阅表310。候选值“V”312被保存在寄存器320中,在处理下一个符号期间使用。
弹性缓存器
图6是举例说明依照本发明一个实施例的弹性缓存器120的框图。在线路401上接收总共L个候选流,并按照每个符号将其移动到一系列L个移位寄存器410、420…430。在延迟信号402的控制下,通过相应的总共L个多路复用器440、450…460选择每个移位寄存器410、420…430中适当的抽头。多路复用器440、450…460的输出441、451…461包括L个候选流的集合,其被适当地延迟并经由信号405发送。弹性缓存器120的其它实现也是可能的,例如在使用适当的多路复用器的L个流之间共享的平行的装入寄存器,或者其它的这种实施例。
流转换器
图7是举例说明依照本发明一个实施例的流转换器140的框图。在线路501上接收来自量度过滤器130的、被适当过滤(窜改的)的量度Min。窜改的量度被发送到L-路(L-way)比较器510,该比较器按照每个符号来比较输入量度并确定当前L个候选流中的哪个候选流有最高的正确似然率。在该实施例中,量度越低,关于候选值的判决是正确的概率越高。因此,在这种情况下,比较器510可确定具备最低窜改量度的流。在线路511上将这种流的数目发送到转换过滤器520。
转换过滤器(SF)520执行线性的和/或非线性的过滤以避免由于在量度方面有小的短期变化而转换候选流。这通常改善了***操作。过滤算法取决于操作环境。例如固定的或者自适应定阈值处理这样的简单非线性方案在很多情况下都工作得不错(例如DVI/HDMI实现)。例如,仅在当前使用的流和建议的流之间的量度差异大于指定的与实现相关的值时执行流转换。
然后在线路521上将当前确定的候选流选择器“相位-选择”发送到候选流选择器块150。此外,还将相位-选择信号发送给弹性缓存器控制器(EBC)530。弹性缓存器控制器530观察已选候选流的变化,如果该选择在任何方向与符号边界交叉便调整弹性缓存器延迟。在线路531将当前所需的延迟量发送到弹性缓存器120。
弹性缓存器控制器
图8是举例说明依照本发明一个实施例的弹性缓存器控制器530的框图。从转换过滤器520接收建议的候选流数“相位”601,并在寄存器610将其延迟一个符号,通过减法器电路620和绝对值电路630确定在当前和以前的流数之间的差异。
在线路631将选择器差异的绝对值发送到双路(two-way)比较器640,该双向比较器640确定是否该差异大于L/2,即大于符号间隔的一半。如果是的话,在线路641标记边界交叉条件,允许借助于与门660和670在延迟累积器680中调整该值。
通过双路比较器650确定延迟调整的方向,确定采样是超前还是滞后输入数据。在边界交叉的情况下,延迟累积器680的值依照比较器650所作的比较结果增加或者减少。回到中心位置逻辑690检查出界延迟值并在此情况下复位延迟累积器680的值。参见上面关于回到中心位置处理的讨论。
图9举例说明用于实现本发明实施例的示范性计算机***300。计算机***300包括一个或多个中央处理单元(CPU)301、随机存取存储器(RAM)302、只读存储器(ROM)303、一个或多个外设305以及主存储设备306和307。如在本领域众所周知的,ROM用来将数据和指令单向传递到CPU 301,而RAM典型地被用于以双向方式传递数据和指令。CPU 301通常可以包括任何数目处理器。两个主存储设备306和307都可以包括任何适合的计算机可读介质。辅助存储介质308典型地是大容量存储器设备,其双向耦合到CPU 301并提供附加的数据存储容量。大容量存储器设备308是可用于存储包括计算机代码、数据等程序的计算机-可读介质。典型地,大容量存储器设备308是例如一般比主存储设备306和307慢的硬盘或者磁带之类的存储介质。大容量存储器存储设备308可以采取磁带或者纸带读出器或者其它的已知设备的形式。应当理解在适当的情况下,在大容量存储器设备308内保存的信息可以标准方式作为虚拟存储器被合并为RAM 302的一部分。
CPU 301还耦合到一个或多个输入-输出设备309,包括但不局限于诸如视频监控器、跟踪球、鼠标、键盘、扩音器、触敏显示器、转换器卡阅读器、磁带或者纸带读出器、写字板、指示笔、语音或者手写识别器的设备,或者其它已知的输入设备,当然例如包括其它的计算机。最后,使用通常在304所示的 网络连接将CPU 301耦合到通信链路或者计算机或电信网304,例如数字传输链路、互联网或内联网。通过具备这种通信链路,预计CPU 301可以在执行上述过采样数据接收和/或发送步骤的过程中在该链路上从网络接收信息,或者在该链路上向网络输出信息。这种常被表示为要由CPU 301执行的指令序列的信息,例如以嵌入到载波的计算机数据信号的形式从网络接收或者输出到网络。在计算机硬件和软件领域的技术人员熟知上述的设备和材料。计算机***300接收一个或多个过采样数据流并处理它们,以便解码传送的符号以及执行如上所述的接收、检测和/或其它的处理步骤。用于执行这种接收、检测和/或其它的处理步骤的计算机指令可以保存在RAM 302、ROM 303、主存储设备306和307和/或任何其它的计算机-可读介质中。
所提供的之前描述的本发明的实施例作为举例说明和描述。不意图将本发明限制为已描述的精确形式。按照上述教导,其它的变化和实施例也是可能的,因此本发明的范围不是由这些详细说明来限制,而是由后面的权利要求来限制。