序列检测的制作方法

文档序号:19735532发布日期:2020-01-18 04:25阅读:549来源:国知局
序列检测的制作方法



背景技术:

本发明总体上涉及序列检测,并且更具体地涉及用于检测通过信道发送的符号序列的序列检测器中的路径度量的计算。

序列检测器用于检测经由通过信道发送的模拟信号传送的数据符号的序列,该信道的输出在接收机处被采样。对于从信道获得的给定样本序列,这种检测器的目的是为提供给信道输入的符号序列确定最可能的符号值。在数据传输中,从信号星座图得出的一系列输入符号通常用于调制一些连续波形,这些波形通过色散信道传输并在接收机处采样。这些样本在理想情况下将等于相应的输入符号。然而,它们被噪声和与相邻传输符号的干扰破坏。后一种现象通常被称为符号间干扰(isi)。诸如维特比检测器(也被称为“维特比解码器”)之类的序列检测器使用递归方法来确定最可能的输入符号序列。这种用于高速数据传输的检测器在设计符合如下通信标准的接收机时起着至关重要的作用,即最近批准的通信标准(例如用于100gb/s以太网的ieeep802.3bj标准)以及即将到来的通信标准(例如用于400gb/s以太网的ieeep802.3bs标准)。

序列检测器通常包括一系列单元,其处理连续的输入样本以选择通过网格的幸存者路径。对于n状态网格,选择n条幸存者路径,每条幸存者路径对应于到目前为止处理的输入样本的符号值的可能序列。针对每个输入样本更新幸存者路径,并且在输入样本序列结束时,选择一条幸存者路径作为最佳(即最可能的)路径。这一最佳路径定义了符号值的检测到的序列。检测器单元包括分支度量单元(bmu)、路径度量单元(pmu)和幸存者存储器单元(smu)。bmu接收输入样本,并且针对每个输入样本和网格的每个状态计算分支度量,以用于向与输入样本对应的状态的可能转变。通过在bmu的假设值生成器(hvg)中计算当前输入样本的假设的输入值然后将输入样本与假设值进行比较来完成此操作。利用这些比较的结果,bmu得出了分支度量,以用于向当前输入样本的网格的每个状态的可能转变。pmu从bmu接收分支度量,并且累积每个幸存者路径的分支度量,以获得每个网格状态的路径度量。这涉及针对每个状态从使用分支度量计算的可能路径度量(“部分路径度量”)中选择最佳路径度量,从而确定幸存者路径中到每个状态的最新符号值。这些符号决策存储在smu中,其中在每个时间步骤中更新幸存者路径直到最终符号决策被输出。

如果编码器中没有固定状态(即,在发送符号序列中定期插入已知符号使得检测器知道特定时间的状态),则序列检测器中需要对路径度量进行归一化。虽然状态固定在ieee802.3bj标准中通过使用“终止符号”进行了定义,但ieeep802.3bs标准并未采用这种方案。在hekstra的1989年11月的ieeetrans.commun第37卷第11期第1220-1222页的“analternativetometricrescalinginviterbidecoders”中以及shung等人在ieeeint.conf.commun.,1990的第1723-1728页的“vlsiarchitecturesformetricnormalizationintheviterbialgorithm”中描述了归一化方案。这些方案要求在检测器中对二进制信号使用二进制补码表示。

为了实现用于高速数据传输的序列检测器,同样重要的是能够以相同的数据速率归一化路径度量,并且理想地具有最少的额外电路以最小化面积占用、功耗和时延。当采用具有许多编码器和/或信道状态的传输方案(例如ieee802.3ab标准中的方案)时,这些考虑尤其重要。



技术实现要素:

根据本发明的至少一个实施例,提供了一种路径度量单元,用于通过在序列检测器中累积分支度量来计算与n状态网格的相应状态相关联的路径度量。每个路径度量由n位加上环绕位表示,所述环绕位用于指示该路径度量的n位值的环绕。路径度量单元包括用于接收所述分支度量的一组流水线级。这一组流水线级适于针对所述网格的每个状态、从使用所述分支度量而被产生的一组部分路径度量针对该状态选择候选路径度量的配对。路径度量单元还把包括输出流水线级,被连接以接收针对每个状态的候选路径度量的所述配对,并且适于针对该状态产生选择信号,以用于通过比较所述配对的所述n位值中的每个和所述环绕值来选择所述配对中的最佳的一个作为针对该状态的所述路径度量。针对每个状态的所述候选路径度量和选择信号从所述输出流水线级被反馈给所述一组流水线级。这一组流水线级还适于通过向候选路径度量的配对添加对应的分支度量来产生针对每个状态的推测性部分路径度量的配对,并且根据针对该配对从其被选择的所述候选路径度量的选择信号,从推测性部分路径度量的每个配对选择所述部分路径度量。

使用n位加上环绕位来表示每个路径度量提供了当n位值溢出或“环绕”时(例如,当计算的路径度量超过2n-1时)对路径度量的固有的归一化。通过分别比较候选路径度量的n位值和环绕位,这还允许在输出流水线级简单地生成选择信号。而且,通过使用从输出流水线级反馈的候选路径度量来执行通过添加分支度量来计算部分路径度量所需的加法运算。因此,可以使用针对候选的输出级中计算并且反馈的相应选择信号立即选择正确的部分路径度量。因此,在一组流水线级中执行加法运算,同时在输出级中计算选择信号。这显着减少了pmu中的最长路径,从而允许以更高的数据速率运行。下面更详细地解释本发明的实施例的这个和其他优点。

选择所述候选路径度量的配对的该组流水线级也可以通过比较针对所述部分路径的n位值中的每个和环绕位并且选择每个配对中的选择最佳(最有可能)一个直到一个配对留下作为针对该状态的候选路径度量,来从针对该状态的部分路径度量选择这些候选度量。因此,与在输出级中用于在候选路径度量之间进行选择的输出级所使用的过程相同,该过程用于在一对部分路径度量之间进行选择。这提供了一种简单的设计,其中可以在不同级使用功能等效的电路。

在优选实施例中,对于部分路径度量的配对中的每个配对,一组流水线级包括用于选择该配对中的最佳的一个的选择电路。该选择电路包括:并联连接的比较器和反相比较器,以用于比较该配对的n位值;以及异或门,与比较器并联连接,以用于比较该配对的环绕位;以及多路复用器电路,适于根据比较器和xor门的输出选择该配对中的最佳的一个。然后并行执行所有比较功能,以进一步缩短最长路径。

输出级可以包括针对网格的每个状态的选择信号电路。该选择信号电路包括:比较器,用于比较针对该状态的候选路径度量的n位值;异或门,与比较器并联连接,以用于比较针对该状态的候选路径度量的环绕位;以及多路复用器电路,适于根据该电路的比较器和xor门的输出产生选择信号。如下面进一步讨论的,这里使用单个比较器来提供更简单的电路。

通常,前述一组流水线级可以包括一个或多个级。在特别有效的实施例中,一组流水线级包括单个级,适于针对网格的每个状态通过从相应的推测性部分路径度量的配对中进行选择来产生四个部分路径度量。该单个流水线级可以具有并联连接的两个选择电路,以从部分路径度量的相应配对中选择候选路径度量。然后并行进行获得候选路径度量所需的所有比较。

本发明的至少另一个实施例提供了一种序列检测器,其包括分支度量单元、如上所述的路径存储器单元以及幸存者存储器单元。分支度量单元接收输入样本,并且适于针对每个输入样本和n状态网格的每个状态,计算用于向对应于输入样本的到该状态的相应可能转变的分支度量。路径存储器单元还适于针对网格的每个状态根据针对该状态的选择信号选择幸存者路径中到该状态的最新符号值。幸存者存储器单元被安排为从路径度量单元接收到每个状态的幸存者路径中的最新符号值,并且在输入样本的序列的末尾处选择与该序列对应的幸存者路径。利用描述的路径度量单位,在检测器中可以通过有符号或无符号二进制值来表示输入样本(以及因此分支和路径度量)。特别地,使用无符号二进制表示避免了在信道输出处将来自模数转换器的采样转换为二进制补码表示所需的额外接收机电路。

本发明的相应其他实施例提供了与上述装置对应的用于路径度量计算和序列检测的方法。本发明的至少一个另外的实施例提供了一种计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质包含可由处理设备执行以使处理设备执行路径度量计算方法的程序指令。

本发明的一些实施例可以包括以下特征、特性、操作和/或优点中的一个或多个:(i)一种用于检测与从通过信道传输并且在信道输出处采样的模拟信号产生的输入样本的序列对应的符号值的方法;(ii)接收输入样本,并且针对每个输入样本和n状态网格的每个状态,计算到对应于输入样本的到该状态的相应可能转变的分支度量;(iii)通过如下所述的方法计算网格的每个状态的路径度量,并且针对每个状态根据针对该状态的选择信号选择到该状态的幸存者路径中的最新符号值;(iv)根据所述幸存者路径中的最新符号值到每个状态的幸存者路径,并且在输入样本的所述序列的末尾处选择与所述序列对应的幸存者路径;(v)一组流水线级包括单个流水线级;(vi)一种计算机程序产品,用于通过在序列检测期间累积分支度量来计算与n状态网格的相应状态相关联的路径度量,所述计算机程序产品包括其中包含程序指令的计算机可读存储介质;(vii)用n位加上环绕位来表示每个路径度量,该环绕位用于指示该路径度量的n位值的环绕;(viii)接收所述分支度量,并且在一组流水线级中,针对网格的每个状态从针对该状态使用所述分支度量产生的一组部分路径度量中选择候选路径度量的配对;(ix)在输出流水线级中,接收针对每个状态的所述候选路径度量的配对,并且通过比较该配对的n位中的每个和环绕位针对该状态产生选择信号,以用于选择该配对中的最佳的一个作为针对该状态的路径度量;(x)将针对每个状态的所述候选路径度量和选择信号从输出流水线级到反馈到所述一组流水线级,并且在其中通过将相应的分支度量添加到候选路径度量的配对中来针对每个状态产生推测性部分路径度量的配对,根据用于产生该候选路径度量的配对的选择信号,从推测性部分路径度量的每个配对中选择所述部分路径度量;和/或在所述一组流水线级中,通过比较部分路径度量的配对中的n位值的每个和环绕位,从针对该状态的部分路径度量中针对每个状态选择候选路径度量的配对,并且然后从每个配对中选择最佳的一个直到一个配对留下作为针对该状态的候选路径度量的配对。

下面将参考附图通过说明性和非限制性示例,更详细地描述本发明的实施例。

附图说明

图1是体现本发明的接收机设备的示意图;

图2是接收机设备的序列检测器的示意图;

图3示出了在序列检测器的实施例中使用的网格图;

图4示出了用于与图3的网格一起使用的体现本发明的路径度量单元的结构;

图5指示由图4的路径度量单元执行的步骤;以及

图6示出了路径度量单元的子单元的更详细的结构。

具体实施方式

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的相应方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在相应计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的相应方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的相应方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的相应方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

框图图1示出了体现本发明的接收机设备的关键组件。接收机设备1包括模数转换器(adc)2、序列检测器3和定时恢复电路4。adc2从isi信道的输出接收模拟信号,并对信号进行采样以产生被提供给序列检测器3的样本的序列。adc中的样本定时由来自定时恢复电路4的样本时钟信号控制。序列检测器3如下所述处理输入样本,以检测与样本序列对应的符号值。在处理所有输入样本之后,序列检测器输出与提供给信道输入的符号的最可能的序列对应的检测到的符号序列。在序列检测器3工作期间做出的符号判决被反馈到时序恢复电路4,时序恢复电路4也从adc2接收信号采样。时序恢复电路处理输入样本和对应的符号决策,以确定adc的采样阶段的时序误差。可以以已知的方式来检测定时误差,例如使用mueller-muller定时误差检测。然后基于检测到的时序误差来调整采样时钟信号,以校正adc中的采样时序。

序列检测器3实现用于检测到信道的最可能的输入符号序列的递归算法。在这里通常维特比算法用作递归方法。在下面描述的实施例中,序列检测器3使用维特比算法来实现维特比检测器。

图3是序列检测器3的简化框图,其显示了检测器的基本组件单元。序列检测器包括分支度量单元(以下被称为“bmu”)5、路径度量单元(以下被称为“pmu”)6和幸存者存储器单元(以下被称为“smu”)7。bmu5接收连续的输入样本z并且对于每个输入样本z和n状态网格的每个状态χ=0,1,…n-1计算对应于输入样本的到相应的状态的可能转变的分支度量λ。pmu6从bmu5接收分支度量λ,并且累积到网格的每个状态χ的幸存者路径的分支度量以获得每个状态的路径度量。对于每个输入样本,这涉及通过添加当前分支度量来更新先前的路径度量,以获得针对每个状态的部分路径度量,然后从针对每个状态的部分路径度量中选择最佳(例如最小)路径度量。针对每个状态的最佳路径度量对应于到该状态的最可能路径。因此,该最佳路径度量确定当前幸存者路径中到该状态的先前状态χ,以及该幸存者路径中的最新符号值状态决策χ和符号决策被输出到smu7,smu7相应地更新n个幸存者路径。(状态决策χ和符号决策也被反馈给bmu,以用于选择下面讨论的假设符号值,并且根据其计算出分支度量,这与通过网格的幸存者路径中的已知转变一致)。在输入样本序列的末尾,smu7选择n个幸存者路径中的最佳(最可能)的一个,例如具有最小路径度量的幸存者路径。该最佳路径定义了由smu7输出的检测符号序列。

序列检测器3的组成单元5、6和7被实现为一系列流水线级,其以与k个输入样本zk的序列对应的连续时间步骤k=0,1,…(k-1)来处理输入样本。bmu5可以以已知的方式实现,以针对网格的每个状态生成与每个输入样本zk对应的分支度量λk。下面给出bmu操作的简要说明,以帮助理解后面描述的pmu操作。

isi信道具有l+1个信道系数的离散时间脉冲响应,其中l>0。特别地,信道通过其离散时间脉冲响应序列h=(h0,h1,...,hl)建模,其中l是干扰信道系数(信道存储器)的数量。对于在时间k输入到信道的符号uk,对应的信道输出yk可以表示为因此是uk和l个先前符号uk-1至uk-l的函数。该输出被加性高斯白噪声(awgn)wk破坏,从而在序列检测器1上得到的输入样本为zk=yk+wk。bmu5接收每个输入样本zk,并且还接收上述的信道系数矢量h=(h0,h1,…,hl)。对于每个输入样值该系数向量h被用于在bmu的假设值产生器(以下被称为“hvg”)产生虚拟输入值。例如,利用两个光标后每幸存者判决反馈抽头{h1,h2},即,l=2,hvg构建虚拟的输入值,表示为通过取符号的的内积,在每个幸存者具有光标后离散时间信道冲激响应序列{h1,h2}的路径,并将h0uk加到结果中,即(其中是传输的符号星座图方案,我们在不失一般性的前提下假设主光标抽头h0=1)。假设的输入值是在不存在噪声的情况下,对于传送输入码元{uk,uk-1,uk-2}的特定排列,输入zk将是什么样的。

bmu5将每个输入样本zk与假设的输入值进行比较,并且使用针对网格的每个状态χk+1的这种比较的结果,针对从先前状态到该状态的每个可能转变,选择最佳(例如最小)分支度量λk。分支度量λk可以例如计算为:

其中,与幸存者路径之前的状态和符号决定相一致。但是总的来说,分支度量λk始终表示输入样本与假设值之间的距离,因此从定义上说是正值。因此,分支度量可以以无符号二进制格式方便地表示。

针对网格的每个状态计算的分支度量λk由bmu5提供给pmu6。下面将针对图3所示的具有n=8状态的示例性网格描述pmu6的操作。(如本领域技术人员将理解的,这里的状态可以是全状态网格的状态或简化状态网格的状态(子状态))。八个格状态被标记为0到7,并且针对时间步骤k在状态χk和χk+1之间的可能的转变由图中的转变线表示。在该示例中,假设调制方案仅允许从八个状态χk中的四个到转变线所示的任何给定状态χk+1的转变。从每个偶数状态χk开始的四个转变都按从顶行到底行的顺序标记为s0,s2,s4,或者s6,或者以每个状态旁边指示的从左到右的顺序标记。从每个奇数状态χk开始的四个转变按照从顶行到底行的顺序标记为s1,s3,s5,或者s7,或者以在每个状态旁边指示的从左到右的顺序标记。这给出了针对到八个状态χk+1中的每个状态的转变的对应的标记,如这些状态旁边所示的。利用该网格,bmu5针对到网格的每个状态χk+1的相应的可能的转变输出四个分支度量。对于χk+1=0,根据在图3中的转变标记,分支度量λk(χk,χk+1=0)用λk(s0),λk(s2),λk(s4)和λk(s6)表示。对于状态χk+1=1,χk+1=2和χk+1=3,类似地由bmu5产生四个分支度量λk(s0),λk(s2),λk(s4)和λk(s6)表。对于状态χk+1=4到χk+1=6中的每个状态,bmu输出对应于到上述状态的网格转变的分支度量的相应的组λk(s1),λk(s3),λk(s5)和λk(s7)。

如图4示意性地示出的,该实施例的pmu6被实现为一组八个子单元(“子pmu”)。在流水线操作的每个时间步骤k中,对于网格的相应状态χ=0到7,每个子pmu基于从bmu5输入的对应的一组分支度量λk计算在附图中由γ(χ)表示的路径度量。如下所述,每个子pmu通过在幸存者中累积到各自网格状态的路径分支度量来计算路径度量。简而言之,每个子pmu计算一组(此处为四个)部分路径度量,其中将从该一组部分路径度量中选择到其状态的最终路径度量。通过将输入分支度量中的一个添加到针对对应于该分支度量的网格中的起始状态的当前路径度量,来计算每个部分路径度量。因此,对于时间步骤k,用γk(χk,χk+1)表示的部分路径度量由下式给出:

γk(χk,χk+1)=γk(χk)+λk(χk,χk+1)

其中γk(χk)是针对状态χk的路径度量。然后,子pmu选择最佳(此处为最小)的部分路径度量作为其在当前时间步骤之后的状态χk+1的路径度量γk+1(χk+1):

例如,在子pmu中针对χ=0计算的γk+1(0)由下式给出:

γk+1(0)=min(γk(0,0),γk(2,0),γk(4,0),γk(6,0)。

在每个子pmu中,选定的路径度量确定图3网格中的哪个转变χk→χk+1最有可能在幸存者路径中进入状态χk+1,从而决定该幸存者路径中的最新符号值以及该路径中的之前的状态χk。如上所述,来自所有子pmu的得到的状态决策和符号决策被输出到smu7。

与分支度量类似,路径度量根据定义始终为正。路径度量值因此可以以无符号二进制格式方便地表示。但是,所定义的路径度量是不受限制的,因此需要在二进制域中进行无限分辨率。因此,有必要对路径度量进行归一化。假设用n位表示路径度量值γ(χ)就足够了。在pmu6中,每个路径度量γ(χ)(以及每个部分路径度量γk(χk,χk+1))由n位(b1,b2,…bn)加上额外的环绕位(在此由b0表示)表示,环绕位表示该路径度量的n位值的环绕。因此,路径度量在pmu6中可以由γ(χ)=(b1,b2,…bn)表示。在时间k=0,所有路径度量均设置为相同的值,通常为零,即γ(χ0)=(0,0,…,0)。在这种情况下,无论使用二进制补码还是无符号二进制表示,额外的环绕位b0在时间k=0都设置为零。

pmu6(以及因此图4中的每个并行子pmu)包括一系列流水线级。特别地,pmu6包括一组(一个或多个)流水线级,该流水线级接收分支度量λ并且适于针对网格的每个状态,使用如上所述的分支度量为该状态产生一组部分路径度量。这一组级还适于从针对每个状态的所得的部分路径度量中选择候选路径度量的配对。一组流水线级之后是附加的输出流水线级,其中在每个时间步骤中针对每个状态选择路径度量。输出流水线级被连接以接收针对每个状态的候选路径度量的配对,并且适于针对该状态产生选择信号,该选择信号用于选择该配对中的最佳的一个作为该状态的路径度量。针对每个状态的候选路径度量和选择信号也从输出流水线级反馈到前一组流水线级,并且在其中用于部分路径度量的计算。在描述pmu的详细结构之前,将参考图5的流程图说明pmu操作的主要步骤。(请注意,该图的步骤与在图5中图示的流水线操作的时间步骤k不对应。此外,此图的某些步骤可能以与所示顺序不同的顺序执行,并且在适当时可以同时执行这些步骤。)

在图5的步骤10中,将分支度量输入到以上描述的pmu6的一组流水线级。然后,在步骤11和12计算针对每个状态的部分路径度量(“ppm”)。在步骤11中,通过将对应的分支度量添加到从输出流水线级反馈的候选路径度量的配对(“候选pm”)中,来针对每个状态生成推测性部分路径度量的配对。在步骤12中,对于从中产生推测性部分路径度量的每个配对的候选路径度量,根据从输出流水线级反馈的选择信号,从推测性部分路径度量的该配对中选择部分路径度量。在步骤13中,然后从针对网格的每个状态的一组部分路径度量中选择用于该状态的一对候选pm,用γ0(χ)和γ1(χ)表示。候选pm的γ0(χ)和γ1(χ)被选择为针对每个状态的两个最佳(最有可能)(此处为最小)部分路径度量。在步骤14中,候选pm的γ0(χ)和γ1(χ)由输出流水线级接收。在步骤15中,针对每个状态,输出级比较候选pm的γ0(χ),γ1(χ)的n位值(b1,...,bn)中的每个和环绕位b0。在步骤16中,针对每个状态,输出级产生选择信号以用于选择候选pm的γ0(χ),γ1(χ)中的最佳(这里最小)的一个作为针对该状态的路径度量γ(χ)。在步骤17中,候选pm的γ0(χ),γ1(χ)和针对每个状态的选择信号被从输出级馈送回前一组级,以用于在该一组级的操作中的步骤11和步骤12中使用。

通过考虑状态χ=0的子pmu的操作,可以完全理解上述pmu的操作。该子pmu的结构在图6中详细显示。所有其他子pmu具有相似的结构,并且每个子pmu利用针对网格的特定状态的适当输入进行操作,子pmu针对该特定状态计算路径度量。根据本文的描述,对于本领域技术人员来说,所有其他子pmu的对应的输入将是显而易见的。

在图6的实施例中,计算推测性ppm然后选择ppm和候选pm的一组流水线级由单个流水线级组成。该级对应于图中的两组流水线寄存器之间的中央流水线级30。这里,子pmu还具有输入流水线级31,该输入流水线级31从bmu5接收针对时间步骤k的分支度量λk(s0),λk(s2),λk(s4),λk(s6)。这些分支度量被第一组流水线寄存器延迟一个时钟周期,并且在下一个时钟周期被提供给中央流水线级30。因为分支度量λk(s0)至λk(s6)要被提供给输入流水线级31,中央流水线级30因此接收针对时间步骤k-1的路径度量λk-1(s0),λk-1(s2),λk-1(s4),λk-1(s6)。这个中央级计算四个部分路径度量γk-1(0,0),γk-1(2,0),γk-1(4,0)andγk-1(6,0),并且从这四个部分路径度量中选择这对状态χ=0的两个候选pm的然后由第二组流水线寄存器存储该候选pm的的配对。子pmu电路具有连接到第二组寄存器的输出流水线级32,以用于在每个时间步骤中接收候选pm的输出。因为在中央级计算候选pm的的配对,输出级因此接收针对时间步骤k-2的候选pm的输出级32选择候选pm的中的最佳的一个并且将其作为状态χk-1=0的路径度量。

子pmu的输出级32在这里实现为选择信号电路。选择信号电路包括比较器、xor门和多路复用器电路,该多路复用器电路包括如图所示连接的两个多路复用器(“mux”)33、34和反相器35。特别是,比较器接收的候选pm的的“幅度位”(b1,...,bn),并且因此比较两个候选路径度量的n位值。比较器输出其值取决于比较结果的1位信号ck-2,amp。信号ck-2,amp被提供给多路复用器33的第一输入。反相器35也将ck-2,amp反相并且将反相后的信号提供给多路复用器33的第二输入。该电路的xor门与比较器并联连接,并且接收候选pm的的环绕位b0。因此,xor门比较环绕位b0并且输出其值取决于比较结果的1位信号ck-2,wrap。该信号ck-2,wrap被提供给多路复用器33,以用于确定其两个输入中的哪一个被提供给多路复用器输出。多路复用器33的该输出构成以上描述的由ck-2,sel表示的选择信号,以用于在候选pm的之间进行选择。特别地,这些候选pm的向第二多路复用器34提供相应的输入。提供给该多路复用器34的选择信号ck-2,sel确定其两个输入中的哪一个被提供给多路复用器36。所选择的候选构成针对状态χ=0的最佳路径度量。

由图6中的箭头示意性表示的反馈连接将由第二级寄存器输出的候选pm的和由多路复用器33输出的选择信号ck-2,sel从输出级32馈送回到pmu的中央流水线级30。这些信号被反馈回到八个子pmu中的多个适当的子pmu。在这里示出的针对状态χ=0子的pmu中,针对状态χ=0,χ=2,χ=4,χ=6,中央流水线级30从子pmu的输出级接收针对候选pm的这些状态对应于针对被输入到这一子pmu的中央级30的分支度量λk-1(s0),λk-1(s2),λk-1(s4),λk-1(s6)的网格中的开始状态。每个分支度量λk-1(s0),λk-1(s2),λk-1(s4),λk-1(s6)被供应到在中央流水线级的开始处的相应的加法器的配对。如图中所指示的,每个配对中的两个加法器还接收相应的候选pm的因此,每个配对中的加法器将相应的分支度量添加到从输出级反馈的输入候选pm中。加法器的每个配对输出针对时间步骤k-1的推测性部分路径度量的配对。例如,图中最上面的加法器配对分别接收候选pm的并且添加对应的分支度量λk-1(s0),并且输出如下两个推测性ppm:and和

如图所示,加法器配对之后的四个多路复用器在其输入处接收推测性ppm的配对。每个多路复用器还接收在当前时间步骤中由pmu的输出级32产生并且反馈的相应选择信号ck-2,sel,以用于在两个推测性ppm之间进行选择。特别地,每个多路复用器根据用于产生该对的推测性pm的选择信号ck-2,sel,选择其推测性ppm的输入配对的一个来提供给多路复用器输出。对于时间步骤k-1,在每个情况下所选择的推测性ppm提供四个ppm中γk-1(0,0),γk-1(2,0),γk-1(4,0),γk-1(4,0)的一个。例如,对于状态χ=0,根据从示出的子pmu的输出级32中针对状态χ=0产生的选择信号ck-2,sel来从中选择ppmγk-1(0,0)。

在中央流水线级30中的后续电路从所得到的ppm的γk-1(0,0),γk-1(2,0),γk-1(4,0),γk-1(4,0)中选择候选pm的。通过比较部分路径度量的配对中的n位值中的每个和环绕位并且选择每个配对中的最佳的一个直到一个配对留下作为状态χ=0的候选路径度量的配对,来再一次完成此操作。在本示例中,每个状态有四个ppm,只有两个ppm配对要处理。对于每个配对,中央流水线级30包括用于选择该配对中的最佳的一个的选择电路。如图所示,通常用38和39表示的两个选择电路并联连接。选择电路38接收的ppmγk-1(0,0),γk-1(2,0)的配对,并且选择电路39接收ppmγk-1(4,0),γk-1(6,0)的配对。每个选择电路38,39包括:并联连接的比较器和反相比较器;与比较器并联连接的xor门;以及包括两个多路复用器的多路复用器电路,均如图所示连接。在每个选择电路38和39中,比较器和反相比较器接收输入ppm的幅度位(b1,…,bn),并且从而比较ppm的n位值。每个电路中的比较器输出1位信号(电路38)或(电路39),其值取决于比较结果。反相比较器输出该1位信号的反相信号,即(电路38)或(电路39)。在电路38中的信号和在电路39中的信号被提供给在该电路中的第一多路复用器的相应输入。每个电路的xor门接收输入ppm的环绕位b0。因此,xor门因此比较环绕位b0并且输出1位信号(电路38)或(电路39),其值取决于比较结果。每个电路中的信号被提供给该电路的第一多路复用器,并且确定其两个输入中的哪一个被提供给多路复用器输出。该多路复用器的输出构成这里由(电路38)或(电路39)表示的选择信号,以用于分别选择候选pm具体地说,到每个电路38、39的ppm的输入配对分别向该电路中的第二多路复用器提供输入。信号确定每个多路复用器输出的两个输入ppm中的哪个作为候选pm这些被输出到如前所述的流水线寄存器并且操作如前那样递归地继续。

每个子pmu中输出级32的选择电路38、39和选择信号生成电路的操作在功能上是等效的(下面解释输出级的电路设计的细微差别)。确定这些电路的比较器、xor门和多路复用器输出的信号的位值的规则可以概括如下。

利用图3的网格,针对给定状态,下一个时间步骤中存在四个竞争的ppmγk(χk,χk+1)以成为路径度量,例如:

γk+1(0)=min(γk(0,0),γk(2,0),γk(4,0),γk(6,0)

我们定义:

γk,0i(χk,χk+1)=(b0,...,bi)0≤i≤n

对于网格中的状态χk+1,以用于环绕位的比较函数(由xor门实现)由以下项定义:

其中ζk和φk两者表示对应于从状态χk到状态χk+1的允许的转变的ppmγk(χk,χk+1),或候选pm

用于n幅度位的比较功能(由比较器实现)由下式定义:

产生选择信号的功能(由电路38和39的反相比较器和第一多路复用器以及由输出级32的反相器35和第一多路复用器33实现)由下式定义:

其中表示ck,amp(ζk,φk)的逻辑补码。

在每个子pmu中,在电路38的第二多路复用器中选择候选pm为:

在电路39的第二多路复用器中并行选择的另一个候选pm通过将候选pm作为到以上描述的规则过程的输入ζk和φk,在输出级中选择路径度量γk+1(χk+1)。pm计算的完整过程由以下算法表示。

图3网格的路径度量标准更新。

返回图6,针对状态χ=0的所选择的路径度量γk-1(0)确定去往状态χk-1=0的更新后的幸存者路径中的先前状态χk-2,以及该幸存者路径中的最新符号值如图中示意性所示,子pmu的决策电路40因此可以基于来自级30和32的针对χk-1=0的选择信号和ck-2,sel针对χk-2和从每种情况中的可能的值中选择正确的决策。因此,pmu子单元可以针对网格的所有n个状态取决于这些状态的选择信号来共同选择幸存者路径中到n个状态的最新符号值。

在每个时间步骤中来自所有子pmu的状态决策和符号决策被提供给smu7,以相应地更新n个幸存者路径。smu7可以以已知方式实现,例如作为寄存器交换单元或回溯单元,以存储幸存者路径。在输入样本序列的末尾,smu然后输出与最佳(最可能)幸存者路径对应的检测符号序列。如前所述,来自pmu6的符号决策也被反馈回到接收机1的定时恢复电路4,以用于定时误差检测。

如图6中的虚线输出36所示,更新的路径度量可以由pmu子单元输出或可以不由pmu子单元输出。如果序列检测器3被实现为仅输出符号判决的检测器(通常被称为“硬判决检测器”),则不需要输出更新的路径度量。然而,如本领域技术人员将显而易见的,它们可以在检测器(通常被称为“软判决检测器”)中用作用于符号判决的可靠性度量。

在以上pmu操作中使用n幅度位(b1,b2,…bn)加上环绕位b0提供了路径度量的固有归一化。例如,当n位值超过2n-1时,这由环绕位b0的位翻转指示,因此包含在上述比较规则中。这允许对路径度量进行归一化,而无需对路径度量单元的操作的外部干预。整个比较过程可以通过简单的功能等效电路轻松完成。最重要的是,可以看到,使用推测性ppm所需的加法运算是使用从输出流水线级反馈的候选pm进行的,同时在输出级中生成了用于在这些候选之间进行选择的选择信号。因此,可以使用针对候选者在输出级中计算并且反馈的相应选择信号从推测性ppm中立即选择正确的ppm。这显着减少了pmu中最长路径的传播延迟,该最长路径决定了可实现的最高数据速率。(最长路径是包含加法运算的路径,因此对应于上面的中央流水线级30)。特别地,最长路径的传播延迟被输出级电路的传播延迟减小。另外,在中央pmu级的电路38、39中与比较器并联使用反相比较器避免了在比较器的输出端需要反相器。这进一步减小了反相器的最长路径的传播延迟。反相器35用在对最长路径没有贡献的输出级中,以简化输出级电路。

该实施例的pmu提供了具有嵌入式归一化的高速pmu,从而允许序列检测器适应更高的数据速率。这是通过在pmu级中使用重复的功能等效电路的简单电路来实现的。当采用具有许多编码器和/或信道状态的传输方案时,这些特征特别有利。pmu不需要状态固定,并且不会以其他方式需要用于其操作的特定的传输方案。pmu可以在有或没有编码或编码调制方案(例如tcm(网格编码调制))的情况下进行操作,并且所描述的原理可以应用于任何数量的编码器和/或信道状态。不需要特定的调制方案(例如两级脉冲幅度调制(2-pam)),即可以通过pmu利用多级信令。另外,检测器操作不需要对输入样本使用二进制补码表示。虽然如果需要可以使用二进制补码表示,但通常在检测器中可以使用有符号或无符号二进制值。对输入样本(以及因此检测器中的分支和路径度量)使用无符号二进制表示形式可以避免将来自adc2的采样转换为二进制补码格式所需的其他接收机电路,从而进一步简化了接收机电路。

当然,可以对所描述的示例性实施例进行各种改变和修改。例如,虽然最佳度量被选择为以上的最小度量,但是可以设想最佳度量是最大度量的实施例。所描述的功能可以很容易地适应各种检测器状态。计算ppm和候选pm的一组流水线级通常可以包括一个或多个流水线级。可以根据需要在子pmu中的更多并行/串行选择电路上和/或在更多并行子pmu上选择候选pm,以容纳更多检测器状态。

实施例还可以实现除维特比检测器之外的序列检测器。例如,所描述的原理可以容易地应用于网格编码调制解码器。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1