GFSK检测器转让专利

申请号 : CN201910768559.1

文献号 : CN110858826A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 保罗·穆林阿德里安·约翰·安德森

申请人 : 畅想科技有限公司

摘要 :

一种用于解码GFSK信号的高斯频移键控(GFSK)检测器。所述检测器包括:多符号检测器和维特比解码器。所述多符号检测器被配置为:接收表示接收到的GFSK调制信号的一系列样本;以及对于表示所述GFSK调制信号的N符号序列的每组样本,生成多个软判决值,所述多个软判决值指出所述N符号序列是每个可能的N符号模式的概率,其中N是大于或等于2的整数。所述维特比解码器被配置为使用维特比解码算法来估计每个N符号序列,其中所述N符号序列的所述软判决值被用作所述维特比解码算法中的分支度量。

权利要求 :

1.一种高斯频移键控“GFSK”检测器(300、1400),包括:

多符号检测器(302、1402),其被配置为:

接收表示接收到的GFSK调制信号的一系列样本;以及

对于表示所述GFSK调制信号的N符号序列的每组样本,生成多个软判决值,所述多个软判决值指出所述N符号序列是每个可能的N符号模式的概率,其中N是大于或等于2的整数;

以及

维特比解码器(304、1404),其被配置为使用维特比解码算法来估计所述GFSK调制信号的M符号序列,其中该M符号序列的所述N符号序列的所述软判决值被用作所述维特比解码算法中的分支度量,其中M是大于N的整数。

2.如权利要求1所述的GFSK检测器(300、1400),其中所述多个软判决值包括每个可能的N符号模式的软判决值,其指出所述N符号序列是该N符号模式的概率。

3.如权利要求1所述的GFSK检测器(300、1400),其中所述维特比解码器(304、1404)被配置为通过确定有效N符号转变的通过网格(500)的最大似然路径来估计所述M符号序列。

4.如权利要求3所述的GFSK检测器(300、1400),其中所述网格(500)包括多个分支,每个分支都表示从第一时刻的N符号模式到第二时刻的N符号模式的有效路径。

5.如权利要求4所述的GFSK检测器(300、1400),其中:

所述多个软判决值包括每个可能的N符号模式的软判决值,其指出所述N符号序列是该N符号模式的概率;以及所述维特比解码器(304、1404)被配置为,对于表示N符号序列的每组样本,使用特定N符号模式的所述软判决值作为终止于该特定N符号模式的任何分支的所述分支度量。

6.如权利要求3到5中任一项所述的GFSK检测器(300、1400),其中所述维特比解码器(304、1404)被配置为,对于表示N符号序列的每组样本,生成每个可能的N符号模式的路径度量,其基于该组样本的所述软判决度量组而指出通过所述网格的最可能路径终止于该N符号模式的可能性。

7.如权利要求1到5中任一项所述的GFSK检测器(1400),其中所述一系列样本包括每符号至少三个样本,并且所述多个软判决值包括至少三组软判决值,每组软判决值都基于一个符号的所述至少三个样本中的一个不同样本是所述符号的中心样本,而指出所述N符号序列是每个可能的N符号模式的可能性。

8.如权利要求7所述的GFSK检测器(1400),其中:

所述维特比解码器(304、1404)被配置为通过确定有效N符号转变的通过网格(500)的最大似然路径来估计所述M符号序列;

所述维特比解码器(304、1404)被配置为,对于表示N符号序列的每组样本,生成每个可能的N符号模式的路径度量,其基于该组样本的所述软判决度量组,而指出通过所述网格的终止于该N符号模式的所述最可能路径的可能性;并且所述GFSK检测器还包括:

两个附加的维特比解码器(1422、1424),每个维特比解码器(1422、1424)都被配置为根据维特比解码算法,基于一组软判决值,来生成每个可能的N符号模式的路径度量;以及定时调整模块(1426),其被配置为基于由所述维特比解码器生成的所述路径度量来生成定时调整信号,以使得对所述GFSK调制信号的采样的定时得到调整。

9.如权利要求1到5中任一项所述的GFSK检测器(300、1400),其中所述多符号检测器(302、1402)被配置为通过将所述样本与表示每个可能的N符号模式的多个参考模式进行比较来生成所述软判决值。

10.如权利要求9所述的GFSK检测器(300、1400),其中在将所述参考模式与表示所述N符号序列的所述样本组进行比较之前,不对所述多个参考模式中的每个参考模式进行信道校正。

11.如权利要求9所述的GFSK检测器(300、1400),其中所述多符号检测器(302、1402)包括多个相关器(306、308、310、312、1406、1408、1410、1412),每个相关器(306、308、310、312、

1406、1408、1410、1412)都被配置为将所述样本与所述多个参考模式中的一个相关联,以生成所述软判决值的一部分。

12.如权利要求11所述的GFSK检测器(300、1400),其中每个相关器(306、308、310、312、

1406、1408、1410、1412)都被配置为,在每个采样周期,将最近的X个样本与所述参考模式相关联,并且基于所述关联来生成软判决值,其中X=K*N,并且K是每个符号的样本数。

13.如权利要求9所述的GFSK检测器(300、1400),其中每个参考模式都表示所述可能的N符号模式之一的预期频率模式。

14.如权利要求1到5中任一项所述的GFSK检测器(300、1400),其中N=4。

15.如权利要求1到5中任一项所述的GFSK检测器(300、1400),其中所述GFSK调制信号是Bluetooth信号或Bluetooth LE信号。

16.一种GFSK接收器,包括如权利要求1到5中任一项所述的GFSK检测器(300、1400)。

17.一种在GFSK接收器处解码接收到的GFSK调制信号的方法(1200),所述方法(1200)包括:接收表示所述接收到的GFSK调制信号的一系列样本(1202);

在所述GFSK调制信号的每个符号周期,生成多个软判决值,其指出最近的N符号样本序列是每个可能的N符号模式的可能性,其中N是大于或等于2的整数(1204);以及使用维特比解码算法来估计所述GFSK调制信号的M符号序列,其中在每个符号周期,所述多个软判决值的至少一部分被用作所述维特比解码算法的分支度量,其中M是大于N的整数(1208)。

18.一种GFSK检测器,其被配置为执行如权利要求17所述的方法(1200)。

19.一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令当在计算机系统处执行时致使所述计算机系统执行如权利要求17所述的方法。

20.一种计算机可读存储介质,其上存储有如权利要求1到5中任一项所述的GFSK检测器的计算机可读描述,所述计算机可读描述当在集成电路制造系统中处理时致使所述集成电路制造系统制造体现所述GFSK检测器的集成电路。

说明书 :

GFSK检测器

背景技术

[0001] 如本领域技术人员所知,频移键控(FSK)是一种频率调制方案,其中通过载波信号的离散频率变化来传输数字信息。在高斯FSK(GFSK)中,不是用数字数据符号来直接调制载波信号的频率,而是在每个符号开始时瞬间改变频率,在调制载波信号之前用脉冲整形高斯滤波器对数据脉冲进行滤波。高斯滤波器平滑符号之间的过渡。GFSK广泛用于低数据速率的个人通信标准,例如但不限于 和 低能耗(LE)。
[0002] 在图1中示出了GFSK信号的生成。表示要传输的数据符号序列的矩形脉冲序列102被提供给高斯滤波器104,高斯滤波器生成数据脉冲106的脉冲整形状版本。然后将脉冲整形信号106提供给FSK调制器108,FSK调制器调制载波信号的频率以生成GFSK调制信号110。然后将GFSK调制信号提供到传输器后端系统(未示出),在所述传输器后端系统处所述GFSK调制信号被上转换为传输频率并耦合到用于射频(RF)传输的传输天线。
[0003] 由于在GFSK接收器处接收到的RF信号通常是由于噪声等而由传输器传输的信号的变形版本,因此接收器通常必须根据接收到的信号来估计所传输的数据符号序列。图2中示出了示例GFSK接收器200。GFSK接收器200包括天线202、RF前端电路204和基带电路206。天线202捕获RF GFSK调制信号,并将所捕获信号提供到RF前端电路204。RF前端电路204将信号下转换(例如,经由下转换器208)成复合基带信号,并使复合基带信号数字化(例如,经由模/数转换器(ADC)210)以生成表示所接收信号的一系列复合(例如,IQ(同相正交))样本。所属领域的技术人员将显而易知,RF前端电路204可以另外包括图2中未示出的其他部件以执行其他功能,例如但不限于信道选择、滤波和自动增益控制。
[0004] 将由RF前端电路204生成的IQ(同相正交)样本提供到基带电路206,所述基带电路从所述IQ样本提取原始数据。基带电路206通常包括重采样电路211,其重新采样由RF前端电路204生成的IQ(同相正交)样本,以供基带电路206处理;检测器212,其被配置为估计传输的数据符号序列,并输出估计的数据符号序列。在原始数据由例如误差校正码(ECC)编码的情况下,估计的数据符号序列可被提供到解码器214,所述解码器被配置为从估计的符号序列对原始数据流进行解码。对所属领域的技术人员将显而易见的是,基带电路206可以另外包括图2中未示出的其他部件以执行其他功能,例如但不限于载波频率偏移(CFO)估计和定时估计。
[0005] 传统的GFSK检测器被配置为通过识别每个IQ(同相正交)样本的瞬时频率并将识别的瞬时频率转换为数据符号来估计数据符号序列。在使用每符号调制1/比特(即2-GFSK)的情况下,这意味着区分两个频率-一个表示1,一个表示0。瞬时频率通常通过延迟和乘法运算来识别。然而,这放大了噪声,这限制了使用这种检测器可以实现的灵敏度。
[0006] 下文描述的实施方案是仅借助于示例提供,且不限制解决已知GFSK检测器和/或接收器的缺点中的任一个或全部的实现方式。

发明内容

[0007] 提供本发明内容是为了介绍将在以下详细描述中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0008] 这里描述的是用于解码GFSK信号的方法和高斯频移键控(GFSK)检测器。GFSK检测器包括:多符号检测器和维特比解码器。多符号检测器被配置为:接收表示接收到的GFSK调制信号的一系列样本;并且,对于表示GFSK调制信号的N符号序列的每组样本,生成多个软判决值,软判决值指出N符号序列是每个可能的N符号模式的概率,其中N是大于或等于2的整数。维特比解码器被配置为使用维特比解码算法来估计每个N符号序列,其中N符号序列的软判决值被用作维特比解码算法中的分支度量。
[0009] 第一方面提供了一种高斯频移键控“GFSK”检测器,其包括:多符号检测器,其被配置为:接收表示接收到的GFSK调制信号的一系列样本;并且,对于表示GFSK调制信号的N符号序列的每组样本,生成多个软判决值,软判决值指出N符号序列是每个可能的N符号模式的概率,其中N是大于或等于2的整数;以及维特比解码器,其被配置为使用维特比解码算法来估计GFSK调制信号的M符号序列,其中该M符号序列的N符号序列的软判决值被用作维特比解码算法中的分支度量,其中M是大于N的整数。
[0010] 第二方面提供了一种在GFSK接收器处解码接收到的GFSK调制信号的方法,该方法包括:接收表示所接收到的GFSK信号的一系列样本;在GFSK信号的每个符号周期,生成多个软判决值,软判决值指出最近的N符号样本序列是每个可能的N符号模式的可能性,其中N是大于或等于2的整数;使用维特比解码算法来估计GFSK调制信号的M符号序列,其中在每个符号周期,多个软判决值的至少一部分被用作维特比解码算法的分支度量,其中M是大于N的整数。
[0011] GFSK检测器和GFSK接收器可以在集成电路上的硬件中实现。可以提供一种在集成电路制造系统中制造GFSK检测器或GFSK接收器的方法。可以提供集成电路定义数据集,当在集成电路制造系统中被处理时,该集成电路定义数据集配置该系统以制造GFSK检测器或GFSK接收器。可以提供一种非暂时性计算机可读存储介质,其上存储有GFSK检测器或GFSK接收器的计算机可读描述,当在集成电路制造系统中被处理时,该计算机可读描述使得集成电路制造系统制造体现GFSK检测器或GFSK接收器的集成电路。
[0012] 可以提供一种集成电路制造系统,该系统包括:非暂时性计算机可读存储介质,其上存储有GFSK检测器或GFSK接收器的计算机可读描述;布局处理系统,其被配置为处理计算机可读描述,以便生成体现GFSK检测器或GFSK接收器的集成电路的电路布局描述;以及集成电路生成系统,其被配置为根据电路布局描述来制造GFSK检测器或GFSK接收器。
[0013] 可以提供用于执行如本文所述的方法的计算机程序代码。可以提供其上存储有计算机可读指令的非暂时性计算机可读存储介质,当在计算机系统处执行时,该指令使计算机系统执行如本文所述的方法。
[0014] 上述特征可以根据需要组合,如熟练的技术人员将显而易见,并且可以与本文中描述的示例的任何方面组合。

附图说明

[0015] 现在将参考附图详细描述示例,在附图中:
[0016] 图1是示出GFSK信号的生成的示意图;
[0017] 图2是示例GFSK接收器的框图;
[0018] 图3是包括多符号检测器和维特比解码器的示例GFSK检测器的框图;
[0019] 图4是示出符号序列的预期频率转变的曲线图;
[0020] 图5是示例维特比解码器网格的示意图;
[0021] 图6是图3的多符号检测器的示例实现方式的框图;
[0022] 图7是图3的维特比解码器的示例实现方式的框图;
[0023] 图8是示出图7的维特比解码器的第一示例状态的示意图;
[0024] 图9是示出图7的维特比解码器的第二示例状态的示意图;
[0025] 图10是示出图7的维特比解码器的第三示例状态的示意图;
[0026] 图11是示出根据存储在图7的维特比解码器的回溯历史存储单元中的数据来生成估计符号序列的示意图;
[0027] 图12是用于解码GFSK信号的示例方法的流程图;
[0028] 图13A、13B、13C是示出对符号的准时、早和晚采样的示意图;
[0029] 图14是第二示例GFSK检测器的框图,其中根据由多符号检测器生成的软判决值来生成定时调整信号;
[0030] 图15是用于调整GFSK调制信号的采样定时的示例方法的流程图;
[0031] 图16是用于生成调整信号的示例方法的流程图;以及
[0032] 图17是用于生成体现本文中描述的GFSK检测器或GFSK接收器的集成电路的示例集成电路制造系统的框图。
[0033] 附图示出各种示例。熟练的技术人员将了解,图式中示出的元件边界(例如,框、框的群组,或其他形状)表示边界的一个示例。在一些示例中,可以将一个元件设计为多个元件,或者可以将多个元件设计为一个元件。在适当时,贯穿各图使用共同附图标记来指示相似特征。

具体实施方式

[0034] 借助于示例呈现以下描述以使得所属领域的技术人员能够制造和使用本发明。本发明不限于本文中描述的实施方案,并且对所公开的实施方案的各种修改对于所属领域的技术人员而言将是显而易见的。仅通过示例的方式描述实施方案。
[0035] 这里描述的是用于识别接收到的GFSK调制信号的符号的GFSK检测器,其包括多符号检测器和维特比解码器。多符号检测器被配置为对于GFSK调制信号的每个N符号序列,生成一组软判决值,软判决值指出N符号序列是可能的N符号模式中的每一个的概率,其中N是等于或大于2的整数。维特比解码器使用维特比解码算法(VDA)来估计M符号消息(其中M是大于N的整数),其中由多符号检测器生成的软判决值被用作VDA的分支度量。当VDA(维特比解码算法)基于接收到的符号的历史来估计多符号序列时,维特比解码器可以惩罚由多符号检测器检测到的非法相转变。这种GFSK检测器不放大噪声,因此可以实现比通过延迟和乘法运算来识别接收到的GFSK调制信号的符号的GFSK检测器更好的接收器灵敏度。
[0036] 虽然存在申请人已知的被配置为使用维特比解码器的,用于识别FSK(频移键控)调制信号的符号的检测器(这并不承认这种检测器在申请人公司之外是已知的或众所周知的),但是这种维特比解码器之前通常有单符号检测器和/或使用不同的、更复杂的机制,用于计算包括信道均衡的分支度量,但是需要训练序列。然而,使用多符号检测器与单符号检测器相比,增大了检测器能够在存在噪声的情况下恢复传输的符号的可能性。具体而言,它允许检测器恢复丢失的信息,例如,如果符号被脉冲噪声(即与符号率相比的短持续时间的噪声)破坏,因为一个或多个相邻符号中的信息可用于恢复丢失符号。此外,在不需要信道均衡的情况下(例如在 或 LE系统中),通过使用由多符号检测器生成的软判决概率值作为VDA(维特比解码算法)中的分支度量,允许解码器以硬件来有效地实现,但是在不需要训练序列的情况下仍然可以产生良好的性能。因此,发明人已经发现,通过这里描述的GFSK检测器,可以实现性能和复杂性之间的良好折衷。
[0037] 现在参考图3,示出了第一示例GFSK检测器300。图3的GFSK检测器300包括多符号检测器302和维特比解码器304。
[0038] 多符号检测器302被配置为接收表示所接收到的RF GFSK调制信号的复合(例如,IQ(同相正交))样本,并且在每个符号周期,生成一组软判决值,软判决值提供指出最近的N符号样本序列是可能的N符号模式或组合中的每一个的可能性或概率的估计,其中N是等于或大于2的整数。在一些情况下,在每个符号周期生成的软判决值集都包括每个可能的N符号模式的软判决值,其指出最近的N符号样本序列是该N符号模式的可能性或概率。
[0039] 在图3所示的示例中,N等于2并且每个符号都对应于单个比特,因此存在四个可能的两符号模式,因此多符号检测器302在每个符号周期,生成四个软判决值sd00、sd01、sd10和sd11。一个软判决值sd00指出最近的两符号的样本序列是“00”的可能性或概率,一个软判决值sd01指出最近的两符号的样本序列是“01”的可能性或概率,一个软判决值sd10指出最近的两符号的样本序列是“10”的可能性或概率,并且最后的软判决值sd11指出最近的两符号的样本序列是“11”的可能性或概率。然而,这仅是示例,N可以是大于或等于2的任何整数。
[0040] 在一些情况下,多符号检测器302可以被配置为通过将最近的N符号样本序列与表示可能的N符号模式或组合中的每一个的多个参考模式进行比较来生成最近的N符号样本序列的软判决值。例如,图3的多符号检测器302由2N个相关器306、308、310、312形成。每个相关器306、308、310、312都被配置为将N个符号的样本序列与表示可能的N符号组合之一的参考模式相关联。因此,每个相关器306、308、310、312都确定N符号样本序列与对应的参考模式之间的相似性。
[0041] 在图3的示例中,其中N等于2并且每个符号都对应于单个比特,第一相关器306将N符号样本序列与表示“00”的参考模式相关联,第二相关器308将N符号样本序列与表示“01”的参考模式相关联,第三相关器310将N符号样本序列与表示“10”的参考模式相关联,并且第四相关器312将N符号样本序列与表示“11”的参考模式相关联。通常,IQ(同相正交)N符号样本序列与参考模式越相似,相关器输出的量值越大。以这种方式,相关器的输出可以被视为提供N符号模式与参考模式匹配的概率或可能性的指示。
[0042] N个符号的每个组合或模式都将具有不同的相转变集。例如,图4示出了曲线图400,其示出了符号序列404的预期频率输出402。具体而言,图4示出了符号序列
“01010011001100001111000011”的预期频率输出。从图4可以看出,“00”406的预期频率转变与“10”408的预期频率转变不同。因此,可以通过其预期的频率转变来识别符号的组合。
结果,相关器306、308、310、312使用的参考模式通常表示N个符号的特定组合的预期频率转变或相转变。将参考图5来描述多符号检测器302的示例实现方式。
[0043] 虽然可以仅从软判决值生成当前符号的估计,但是多符号检测器302在生成软判决值时不考虑先前符号是什么,因此多符号检测器302不能检测到非法转变-例如从“00”到“11”的转变。因此,软判决值被提供给维特比解码器304,该维特比解码器使用软判决值结合历史信息来更准确地识别接收到的GFSK调制信号中的符号。
[0044] 回到图3,维特比解码器304被配置为基于由多符号检测器302生成的软判决值和先前符号序列来估计最近的N符号序列。具体而言,维特比解码器304被配置为基于从多符号检测器302接收到的软判决值来跟踪通过有效N符号转变的网格的最可能路径。如本领域技术人员所知,网格是通过状态之间的有效转变链接多个时间点的状态的图。图3的维特比解码器304被配置为跟踪N符号序列之间的转变。
[0045] 图5示出了用于跟踪连续的两符号序列(即,N=2)之间的转变的示例网格图500,其中每个符号都对应于单个比特(即“0”或“1”)。在该示例中,在任何时间点,两符号序列将处于以下状态之一-“00”、“01”、“10”或“11”,其中在该示例中,状态代码对应于传输的比特序列。网格中的每个分支或链路都对应于有效序列或转变-即从第一两符号序列到第二两符号序列的有效转变,其中第一两符号序列的最后一个比特是第二两符号序列的第一个比特。由下一符号为“0”产生的分支被示为虚线,由下一符号为“1”产生的分支被示为实线。可以看出,在该示例中,每个状态只有两个有效转变-一个是下一个符号是“0”时,一个是当下一个符号是“1”时。例如,可以从“00”状态转变到“01”或“00”状态,但是不可能从“00”状态转变到“10”或“11”状态。因此,任何有效的符号序列都可以表示为通过网格图500的路径。维特比解码器304被配置为使用维特比解码算法(VDA)来识别通过网格图的是与接收到的符号序列(即最大似然序列)最匹配的路径。
[0046] VDA(维特比解码算法)还规定,可以通过以下方式来识别网格图中的与接收到的符号序列最匹配的路径:将时间为X时的状态和时间为X+1时的状态之间的每个分支与指出时间为X+1时的状态发生在时间为X时的状态之后的可能性的分支度量(BM)相关联,基于沿着路径的分支度量为每个路径生成路径度量(也可以称为状态度量),并选择具有最佳路径度量的路径。在一些情况下,路径度量可以是沿路径的分支度量的总和。然而,在其他情况下,可以以另一种方式从分支度量生成路径度量。
[0047] 在图3的维特比解码器304中,对于时间T,从多符号检测器302接收到的软判决值sd00、sd01、sd10和sd11被用作从时间T-1到时间T的转变的分支度量(BM)。具体而言,对于特定的N符号序列的软判决值被用作终止于该N符号序列的任何分支的分支度量。例如,如图5所示,指出最近的两符号序列是“00”的可能性的软判决值sd00被用作表示从“00”状态到“00”状态的转变的分支的分支度量,以及表示从“10”状态到“00”状态的转变的分支的分支度量。类似地,指出最近的两符号序列是“10”的可能性的软判决值sd10被用作表示从“01”状态到“10”状态的转变的分支的分支度量,以及表示从“11”状态到“10”状态的转变的分支的分支度量。
[0048] 此外,根据VDA(维特比解码算法),如果沿着网格的任何两个不同路径都合并到单个状态,则在搜索最佳路径时总是可以消除其中一个。可以“修剪”网格图,去掉那些不太可能被发送的路径。
[0049] 在一些情况下,可以通过计算从时间T时的状态到时间T+1时的状态的每个转变(即每个符号周期),根据从前一状态到当前状态的每个分支的路径的路径度量,来“修剪”网格图。在一些情况下,路径度量可以等于与时间T时的状态相关联的路径度量(即,到达时间T时的状态的分支度量的总和)和转换到时间T+1时的状态的分支度量的总和。然后,如果多个分支合并为单个状态,则选择具有最佳路径度量的分支,并丢弃另一个分支。然后,所选分支的路径度量变为与时间T+1时的该状态相关联的路径度量。在某些情况下,最高分支度量被视为“最佳”分支度量。
[0050] 例如,参考图5的网格图500,存在两个分支(顶部分支或上部分支和底部分支或下部分支),其在时间T+1时合并到状态00,这两个分支分别具有路径度量1.0和1.2。由于与底部分支或下部分支相关联的路径度量大于与顶部分支或上部分支相关联的路径度量,因此选择底部分支,并丢弃顶部分支。然后,与底部分支相关联的路径度量变为在时间T+1时的状态“00”的路径度量(即,在时间T+1时的状态“00”的路径度量被设置为1.2)。在图5的网格图500中,已经“丢弃”的分支标有“X”。在每个符号周期,重复从由多符号检测器302生成的软判决值生成路径度量并为每个状态选择最佳路径度量的步骤。
[0051] 在将特定N符号序列的软判决值被用作终止于该N符号序列的任何分支的分支度量的情况下,那么终止于该特定N符号序列的路径的路径度量的唯一差异将是是起始路径度量。因此,在一些情况下,对于多个分支合并到特定状态的每种情况,可以通过以下方式来简化网格图的“修剪”:选择具有最佳起始路径度量的分支(即,前一状态的路径度量)并丢弃任何其他分支,并且仅计算特定状态的路径度量,作为所选路径的路径度量和分支度量(即该状态的软判决值)之和。这可以简化维特比解码器实现方式,因为维特比解码器不需要计算丢弃的分支的路径度量。
[0052] 在任何时间都最可能匹配接收到的路径的路径是以具有最佳(例如最高)路径度量的状态开始的路径。例如,在图5的示例中,在时间T+1,具有最高路径度量的状态是状态“00”,因此最可能匹配接收到的序列的路径是从状态“10”开始并以状态“00”结束的路径-基于该路径的分支的点划线可以看出,这意味着在时间T+1时的估计符号是“0”。在时间T+2,具有最高路径度量的状态是状态“11”,因此最可能匹配接收到的序列的路径是从“10”开始,到“01”并在状态“11”结束的路径-基于点划线可以看出,这意味着估计的序列是“1011”。
[0053] 下面参考图7描述了维特比解码器304的示例实现方式,并且在下面参考图8至10描述了网格图上与接收到的序列最匹配的路径的示例识别。
[0054] 通常,N越大,软判决值越准确,但解码器变得越复杂。具体而言,随着N增大,相关器的数量也会增大,并且维特比解码器跟踪的状态的数量也会增大。申请人已经确定N=4可以在准确性和复杂性之间提供良好的折衷,尤其是对于低数据速率的个人通信标准,例如但不限于 和 LE。
[0055] 现在参考图6,示出了包括多个相关器306、308、310、312的多符号检测器302的示例实现方式。图6的多符号检测器302包括延迟单元602、604、606、608、610的链,它们接收由例如由RF前端电路生成的复合(例如IQ(同相正交))样本,并且每个采样周期都向相关器306、308、310、312提供最近的X个样本,其中X是K*N,其中K是每个符号的样本数,N是每个参考模式中的符号数。具体而言,链中的每个延迟单元602、604、606、608、610在一个采样周期内存储复合样本流的样本,并将存储的样本输出到下一延迟单元。
[0056] 每个符号至少有一个样本,但每个符号可能有多个样本。如果每个符号有多个样本,则称接收到的GFSK信号被过采样。在图6的示例中,多符号检测器302被配置为检测两符号模式(即,N=2),并且输入信号被过采样三倍,使得每个符号有三个样本(即,K=3)。因此,在图6的示例中,在每个采样周期,有6个样本被提供给相关器306、308、310、312(即X=N*K=6)-存储在延迟单元602、604、606、608、610中的五个以前接收到的样本和在当前采样周期接收到的样本。
[0057] 每个相关器306、308、310、312被配置为将N个符号的样本与对应于N个相邻符号的一个组合或模式的参考模式相关联。具体而言,在每个采样周期,每个相关器(也可以描述为匹配滤波器)306、308、310、312将从延迟单元602、604、606、608、610接收到的样本与参考模式进行比较,并输出指出样本集与参考模式匹配程度的度量。度量指出该组样本对应于特定N符号组合模式或与其匹配的可能性或概率。
[0058] 在图6的示例中,每个相关器306、308、310、312都包括X个放大器,X-1个复合加法单元和对数单元。每个放大器都将所接收到的样本之一乘以表示参考模式的第i个样本的复系数h。具体而言,第i个放大器将第i个样本乘以第i个系数。例如,如果相关器306、308、310或312的六个放大器编号为0到5,则放大器0将样本0乘以系数0 h0,放大器1将样本1乘以系数1 h1,依此类推。加法单元对放大器的输出求和,以生成乘积和。然后,将乘积和提供给对数单元,该对数单元计算乘积和的量值的对数。然后,输出对数计算的结果,作为软判决值,软判决值指出所接收到的样本集与参考模式的相似性。输出可以被理解为接收到的样本对应于参考模式表示的特定N符号组合的概率。因此,软判决值也可以称为相似性度量、概率度量或似然度量。通常,软判决值越高,接收到的样本越可能对应于特定N符号组合,而软判决值越低,接收到的样本对应于特定N符号组合的可能性越小。
[0059] 在图6的示例中,每个相关器306、308、310、312在每个采样周期都生成软判决值。由于接收到的信号被过采样三倍,这意味着每个相关器306、308、310、312都将每个符号输出三个软判决值。在一些情况下,维特比解码器304可以被配置为以符号速率而不是以采样速率操作。在这些情况下,可以组合每三个软判决值(例如,可以生成三个软判决值的和、平均值)以每符号周期生成单个软判决值,该软判决值被提供给维特比解码器304。在其他情况下,如下面参考图13至16更详细地描述的那样,可以仅将每三个软判决值提供给维特比解码器304,并且可以将其他软判决值用于定时恢复。在其他示例中,每个相关器可以仅被配置为在每个符号周期输出软判决值。在这些情况下,延迟单元可以被配置为仅每K个样本,向相关器提供一组样本,其中K是每个符号的样本数。
[0060] 定义每个参考模式的系数可以通过基于N个符号的每个组合来生成参考GFSK调制信号,并以采样率采样时域GFSK调制信号,并将样本值存储为相应相关器的系数来获得。可以从包括多于N个符号的信号生成参考模式,以便考虑来自先前和后续符号的高斯脉冲整形滤波器的扩展。
[0061] 尽管图6的多符号检测器302包括计算乘积和的量值的对数的对数单元,但是,在其他示例多符号检测器中,对数单元可以用量值单元代替,该量值单元被配置为输出乘积和的量值。发明人已经确定,当用于检测 低能耗(LE)等信号时,这种改变简化了多符号检测器,仅具有最小的性能损失。
[0062] 现在参考图7,示出了图3的维特比解码器304的示例实现方式。如上面参考图3所述,维特比解码器304被配置为根据维特比解码算法(VDA),基于从多符号检测器302接收到的软判决值来跟踪通过有效N符号组合转变的网格(例如图5的网格图500)的最可能路径。如上所述,根据VDA(维特比解码算法),可以通过以下方式来识别通过网格图的与接收到的符号序列最匹配的路径:将时间为X时的状态和时间为X+1时的状态之间的每个分支与指出时间为X+1时的状态发生在时间为X时的状态之后的可能性的分支度量(BM)相关联,基于沿着路径的分支度量为每个路径生成路径度量(也可以称为状态度量),并选择具有最佳路径度量的路径。此外,根据VDA(维特比解码算法),可以通过以下方式,减少每个阶段要评估的可能路径的数量:识别在该阶段合并到单个状态的任何路径,并且在多个路径合并到单个状态的情况下,仅选择到目前为止具有最佳路径度量的路径,并消除所有其他路径。
[0063] 图3的维特比解码器304包括路径度量计算器702、路径度量存储单元704、比较模块706、回溯历史存储单元708和回溯模块710。
[0064] 路径度量计算器702被配置为针对每个符号周期,计算从前一状态到当前状态的每个有效路径的路径度量。可能的先前状态的数量和可能的当前状态的数量基于多符号检测器302的参考模式中的符号的数量N。具体而言,将存在2N个N符号的不同组合,因此存在2N个不同的状态。例如,如果每个参考模式中有两个符号(即N=2)并且每个符号有一个比特,那么将有四种可能的状态:“00”、“01”、“10”和“11”。每个状态可以转变到的状态数量有限。这些被称为有效状态转变。从前一状态到当前状态的有效状态转变在图7中用箭头示出。例如,状态“00”可以转变到状态“00”或“01”,但状态“00”不能转变到状态“10”或状态“11”。从前一状态到当前状态的每个有效转变被称为从前一状态到当前状态的分支。
[0065] 对于从前一状态到当前状态的每个有效转变,路径度量计算器702计算路径度量Aij或Bij,其表示包括前一状态和当前状态的路径是正确状态的可能性。每个可能的当前状态将通过多个分支(即,通过多个先前状态)到达。具体而言,在图7的示例中,可以通过两个分支(即,通过两个先前的状态)到达每个当前状态。标记为“A”分支的上部分支和标记为“B”分支的下部分支。这里使用符号Aij来表示在状态ij终止的上部路径的路径度量,使用Bij来表示在状态ij终止的下部路径的路径度量,其中i,j可以是0或1。对于本领域技术人员显而易见的是,简单地使用术语“上部分支”和“下部分支”来区分终止于特定状态的两个分支,并且状态可以以另一种方式排列,使得例如一个或更多的下部分支成为上部分支。
[0066] 路径度量计算器702(可以由数字逻辑电路来实现)被配置为基于前一状态的路径度量来计算每个有效转变的路径度量(其中前一状态的路径度量表示终止于前一状态的路径是基于到目前为止接收到的符号的正确路径(即最可能的路径)的概率)和从前一状态转变到当前状态的分支的分支度量。与先前状态相关联的路径度量可以存储在路径度量存储单元704中。路径度量存储单元704可以是用于存储数字信息的任何合适的部件或部件集,例如但不限于寄存器(或寄存器组)或诸如RAM之类的存储器单元。
[0067] 这里使用符号pmij来表示与状态ij相关联的路径度量。如上面参考图5所述,分支度量表示已经发生从前一状态到当前状态的转变的概率或可能性。而且,如上所述,这里描述的维特比解码器被配置为使用由多符号解码器输出的软判决值作为分支度量。具体而言,这里描述的维特比解码器被配置为使用软判决值sdij作为终止于状态ij的任何分支的分支度量。
[0068] 在一些情况下,路径度量计算器702可以被配置为计算每个有效路径的路径度量,作为前一状态的路径度量和从前一状态到当前状态的转变的分支度量的总和(即,终止状态的软判决)。例如,对于两符号模式检测,路径度量计算器702可以被配置为使用等式(1)至(8)来计算八个分支的路径度量:
[0069] A00=pm00+sd00   (1)
[0070] B00=pm10+sd00   (2)
[0071] A01=pm00+sd01   (3)
[0072] B01=pm10+sd01   (4)
[0073] A10=pm01+sd10   (5)
[0074] B10=pm11+sd10   (6)
[0075] A11=pm01+sd11   (7)
[0076] B11=pm11+sd11   (8)
[0077] 如上所述,每个当前状态都将从前一状态通过多个分支来到达。比较模块706被配置为针对每个当前状态,选择具有“最佳”路径度量的关联分支并丢弃任何其他关联分支。用什么表示“最佳”路径度量可以取决于如何计算路径度量和/或如何计算分支度量/软判决值。通常,“最佳”路径度量是指出路径是“正确”路径(即,与所接收到的符号序列匹配的路径)的较高概率的路径度量。在某些情况下,“最佳”路径度量可以是最大路径度量。对所属领域的技术人员将显而易见的是,这仅仅是示例,且可以另一方式来选择“最佳”路径度量。然后,将每个当前状态的所选分支的路径度量存储在路径度量存储单元704中,作为该状态的新路径度量。
[0078] 在一些情况下,路径度量存储单元704可具有用于存储路径度量的有限量的存储。在一些情况下,每个路径度量都可以存储为R比特无符号浮点数,其中R是大于或等于2的整数。例如,在R为8的情况下,路径度量可以存储为0到3.9844范围内的无符号浮点数。由于路径度量随着接收到更多符号而不断增长(因为新分支度量被添加到其中),因此,路径度量可以容易超过最大可表示数量。在一些情况下,为了解决该问题,比较模块706可以被配置为在将路径度量存储在路径度量存储单元704中之前,检测任何所选择的路径度量是否超过第一预定值(例如,当使用8比特无符号数时为2.0)以及至少一个所选路径度量是否超过第一预定值,以从所有选择的路径度量中减去第二预定值(例如,在某些情况下为1.0)。在一些情况下,如果减法将导致负路径度量,则比较模块706被配置为将这样的路径度量设置为零。在其他情况下,对路径度量的监视可以在将路径度量提供给比较模块706之前由路径度量计算器702完成。
[0079] 比较模块706还在回溯历史存储单元708中存储针对每个当前状态的所选分支的指示。回溯历史存储单元708可以是用于存储数字信息的任何部件,例如但不限于一个或多个寄存器和/或存储器单元,例如但不限于随机存取存储器(RAM)。具体而言,代替必须存储整个网格,回溯历史存储单元708被配置为针对预定数量M的符号,存储针对每个状态的所选分支。例如,在图7中,回溯历史存储单元708被配置为存储“A”以指出选择了上部分支或“A”分支,并且存储“B”以指出选择了下部分支或“B”分支。尽管回溯历史存储单元708示出了A和B,但是在其他示例中,可以使用单个比特来指出所选择的路径。例如,0可以指出选择了上部路径,并且1可以指出选择了下部路径。
[0080] 为每个当前状态记录所选分支有效地记录了是如何到达当前状态的(即当前状态之前的是哪个前一状态)。该历史允许回溯模块710恢复通过网格的最佳路径,并将通过网格的最佳路径转换为接收到的符号序列的估计。回溯历史的深度M可以是任何合适的长度,但通常是消息长度。通常,回溯历史越长,解码器就越不受序列中间噪声的影响。虽然许多维特比解码器具有大于或等于80的回溯深度M,但申请人已经确定回溯历史10提供了适当的平衡,特别是对于低数据速率的个人通信标准,例如但不限于, 和低能耗(LE)。
[0081] 在一些情况下,一旦对于M个符号,所选择的分支已被记录在回溯历史存储单元708中,则回溯模块从具有最佳路径度量的当前状态开始,跟踪通过网格的最佳路径。然后从最佳路径生成最可能的M符号流的估计。下面参考图11描述回溯模块710如何从回溯历史存储单元708中的数据来生成估计的符号流的示例。然后,输出最可能的符号/比特流,供进一步处理。例如,如上面参考图2所述,在使用诸如前向纠错(FEC)编码方案之类的编码方案对原始数据流进行编码的情况下,可以将符号/比特流提供给解码器以进行解码。在一些情况下,一旦输出最可能的符号/比特流,就可以清除回溯历史存储单元708。在其他情况下,可以简单地用接下来的M组路径度量来覆盖回溯历史存储单元708。
[0082] 在其他情况下,可以实现部分回溯方案,其中M小于完整消息深度。该方案可以在最小化回溯历史存储单元708深度的同时实现良好性能。部分回溯方案从在所有M个符号范围内具有最佳路径度量的状态执行参考图11所述的回溯,但是回溯模块710不输出所有M个比特,而是仅输出来自回溯历史存储单元708的最早的M/2条目或元素的M/2比特。随后清除回溯历史存储模块的这些最早的M/2条目或元素,留下回溯历史存储单元708的M/2个最新条目或元素。然后,对于接下来的M/2个符号,实现VDA(维特比解码算法)的正推法(forward pass),以循环方式重新填充回溯历史存储单元708。一旦回溯历史存储单元708已满,则再次触发部分回溯过程,并且该序列继续,直到消息结束,此时可以执行完全回溯。
[0083] 在一些情况下,比较模块706还可以被配置为输出当前路径度量,使得它们可以由下游部件使用。下面参考图14至图16描述路径度量的使用的示例。
[0084] 现在参考图8至10,示出了图7的维特比解码器304如何处理数据以生成回溯历史的示例。具体而言,图8示出了图7的维特比解码器的第一状态,图9示出了图7的维特比解码器的跟随第一状态的第二状态,图10示出了图7的维特比解码器的跟随第二状态的第三状态。
[0085] 在第一状态(图8),先前00、01、10和11状态的路径度量pm00、pm01、pm10和pm11分别为0.1、0.2、0.3和0.4;来自多符号检测器的对应于00、01、10和11当前状态的软判定值sd00、sd01、sd10和sd11分别为0.9、0.8、0.5和0.1。根据等式(1)至(8),路径度量计算器702按如下方式来计算新路径度量Aij和Bij:A00=1.0,B00=1.2,A01=0.9,B01=1.1,A10=0.7,B10=
0.9,A11=0.3和B11=0.5。然后,比较模块706为00、01、10和11当前状态中的每一个选择B分支,因为在所有情况下B分支的路径度量都大于A分支的路径度量。然后,比较模块706更新路径度量存储单元704,使得存储的路径度量pm00、pm01、pm10和pm11等于相应B分支的路径度量,并更新回溯历史存储单元708,使得B分支被记录为下一比特(即第3比特)的所有状态的所选分支。具体而言,如图9所示,路径度量pm00、pm01、pm10和pm11分别变为1.2、1.1、0.9和
0.5,回溯历史的第3比特部分指出已经为所有状态选择了B分支。
[0086] 在第二状态(图9),来自多符号检测器的对应于00、01、10和11当前状态的软判定值sd00、sd01、sd10和sd11分别为0.75、1.5、4和6。根据等式(1)至(8),路径度量计算器702按如下方式来计算新路径度量Aij和Bij:A00=1.95,B00=1.65,A01=2.7,B01=2.4,A10=5.1,B10=4.5,A11=7.1和B11=6.5。然后,比较模块706为00、01、10和11当前状态中的每一个选择A分支,因为在所有情况下A分支的路径度量都大于B分支的路径度量。然后,比较模块706更新存储在路径度量存储单元704中的路径度量pm00、pm01、pm10和pm11,使得它们等于对应的A分支的路径度量;并且更新回溯历史存储单元708,使得A分支被记录为下一比特(即第4比特)的所有状态的所选分支。具体而言,如图10所示,路径度量pm00、pm01、pm10和pm11分别变为1.95、2.7、5.1和7.1,回溯历史的第4比特部分指出已经为所有状态选择了A分支。从图10中还可以看出,回溯历史现在已满(即,已经记录了5个符号的历史),因此回溯模块710通过回溯历史,跟踪通过网格的最佳路径,并输出与其对应的比特流。
[0087] 现在参考图11,示出了回溯模块如何通过回溯历史来跟踪通过网格的最佳路径并识别与其对应的符号序列的估计的示例。具体而言,当回溯历史存储单元708已满时(即,当回溯历史存储模块已经记录了M个符号的所选分支(或当每个符号都对应于单个比特时,比特)),回溯模块710从比较模块接收指出具有“最佳”路径度量的当前状态的信息706。例如,在图11中,回溯模块接收指出状态“11”当前具有最佳路径度量的信息。然后,回溯模块710使用回溯历史来跟踪通过网格的以状态“11”结束的路径。如上所述,回溯历史指出了到达特定状态要采取的路径。
[0088] 具体而言,回溯历史指出如果状态“11”是最佳路径中的最后一个状态,那么最佳路径的前一状态是通过分支A连接到状态“11”的状态。网格中状态“11”的分支“A”是连接到状态“01”的实线。分支的实线(相对于虚线)表示符号序列的第4比特可能是“1”。序列中的前一符号(即第3比特处的符号)通过跟随从第3比特处的状态“01”开始的路径来识别。
[0089] 回溯历史表明第3比特处的“01”状态之前的状态是通过B分支连接到状态“01”的状态。状态“01”的分支“B”是实线,其连接到第2比特的状态“10”。分支的实线(相对于虚线)表示符号序列的第3比特可能是“1”。序列中的前一符号(即第2比特处的符号)通过跟随从第2比特处的状态“10”开始的路径来识别。回溯历史表明在第2比特处的“10”状态之前的状态是通过A分支连接到状态“10”的状态。状态“10”的分支“A”是虚线,其连接到第1比特的状态“01”。分支的虚线(相对于实线)表示符号序列的第2比特可能是“0”。
[0090] 序列中的前一符号(即第1比特处的符号)通过跟随从第1比特处的状态“01”开始的路径来识别。回溯历史表明“01”状态之前的状态是通过B分支连接到状态“01”的状态。状态“01”的分支“B”是实线,其连接到第0比特的状态“10”。分支的实线(相对于虚线)表明符号序列的第1比特可能是“1”。
[0091] 序列中的前一个和最后一个符号(即第0比特处的符号)通过跟随从第0比特处的状态“10”开始的路径来识别。回溯历史表明在第0比特处的“10”状态之前的状态是通过A分支连接到“10”状态的状态。状态“10”的分支A是虚线(相对于实线),表明符号序列的第0比特可能是“0”。然后,回溯模块720输出可能的比特流以供进一步处理。
[0092] 现在参考图12,示出了解码GFSK信号的示例方法1200,其可以由图3的GFSK检测器300来实现。方法1200开始于框1202,其中多符号检测器302接收表示接收到的GFSK调制信号的样本。在框1204,多符号检测器302在每个符号周期生成多个软判决值,软判决值指出最近的N符号样本序列是可能的N符号模式中的每一个的可能性或概率,其中N等于或大于
2。在本文描述的示例中,软判决值越高,N符号样本序列越可能是特定N符号模式。在一些情况下,对于每个可能的N符号模式,可以存在一个软判决值,软判决值指出N符号样本序列是该可能的N符号模式的可能性。例如,在这些情况下,如果N是2,则将存在22种可能的符号组合或模式,因此多符号检测器将在每个符号周期生成至少四个软判决值。在一些情况下,多符号检测器被配置为通过将接收到的信号的每个N符号序列与表示可能的N符号组合中的每一个的N符号参考模式进行比较来生成软判决值。
[0093] 在框1206,维特比解码器304基于由多符号检测器302根据维特比解码算法生成的软判决值来估计GFSK调制信号的M符号序列,其中M是大于或等于N的整数。具体而言,在本文描述的示例中,维特比解码器被配置为使用在一个符号周期中生成的软判决值作为该周期的分支度量。例如,如上所述,指出状态W的概率或可能性的软判决值可以用作以状态W结束的任何分支的分支度量。维特比解码器304可以基于通过网格的最可能路径,输出GFSK信号中的M符号序列的估计(框1208)。
[0094] 作为从由多符号检测器302生成的软判决值生成接收到的符号序列的估计的补充或替代,由软判决解码器生成的软判决值可以用于调整GFSK调制信号的采样定时。如上所述,当对GFSK调制信号进行采样时,每个符号将存在至少一个样本(称为“准时样本”)。理想地,准时样本1302与符号的中心对齐,如图13A所示。然而,准时样本1302可以相对于符号的中心早或晚,分别如图13B和13C所示。当准时样本1302早或晚时,相关器306、308、310、312更难以确定与参考模式的匹配。这是因为将通过在符号的中心对理想的N符号序列信号进行采样来生成参考模式。
[0095] 因此,有利的是自动检测采样定时何时是早或晚,并相应地调整采样定时。然而,难以根据每个符号单个样本来确定采样是早还是晚。因此,GFSK接收器通常被配置为对接收到的GFSK信号进行过采样以提供更多信息以确定采样是早还是晚。当GFSK调制信号被过采样三倍时,每个符号将有三个等间隔样本-一个理想地与符号中心对齐的准时样本1302,一个在准时样本之前的早样本1304以及在准时样本之后的晚样本1306。
[0096] 在GFSK调制信号被过采样三倍的情况下,可以通过为表示GFSK调制信号的N符号序列的每组样本生成三组软判决值来估计定时误差(并生成相应的调整信号)。一组软判决值(可以称为准时软判决值)指出当将准时样本视为表示符号的中心时,N符号序列是可能的N符号模式中的每一个的概率。可以通过将对应于N符号序列的样本与参考模式的样本进行比较来生成该组软判决值,其中准时样本与参考模式的准时样本对齐。另一组软判决值(可以称为早软判决值组)指出当早样本被视为表示符号中心时,N符号序列是可能的N符号模式中的每一个的概率。可以通过将对应于N符号序列的样本与参考模式的样本进行比较来生成该组软判决值,其中早样本与参考模式的准时样本对齐。最后一组软判决值(可以称为晚软判决值组)指出当晚样本被视为表示符号中心时,N符号序列是可能的N符号模式中的每一个的概率。可以通过将对应于N符号序列的样本与参考模式的样本进行比较来生成该组软判决值,其中晚样本与参考模式的准时样本对齐。
[0097] 然而,发明人已经确定,通过将每组软判决值提供给分离的维特比解码器并基于维特比解码器生成的路径度量来识别采样定时误差(并相应地调整采样定时),可以实现更准确的采样定时误差估计。
[0098] 因此,这里描述的是使用多个维特比解码器来调整GFSK调制信号的采样定时的方法和系统。在这里描述的方法和系统中,GFSK调制信号被过采样至少三倍,使得每个符号至少有三个样本。然后,多符号检测器被配置为针对表示N符号序列的每组样本,生成至少三组软判决值。每组软判决值指出当至少三个样本中的一个不同样本被视为符号的中心时,N符号序列是可能的N符号组合中的每一个的概率或似然性。将每组软判决值提供给不同的维特比解码器,维特比解码器被配置为根据维特比解码算法,从该组软判决值生成每个可能的N符号组合或模式的路径度量。然后,定时调整模块被配置为基于由维特比解码器生成的路径度量来生成定时调整信号。
[0099] 在没有训练符号的情况下,例如在 或 LE系统中,和/或消息长度M长,并且采样定时可能在整个消息中漂移的情况下,生成这种定时调整信号的能力特别有用。这里描述的生成定时调整信号的方法甚至可以用于具有非常低的信噪比(SNR)的系统,而直接从接收到的GFSK调制信号生成定时调整信号的其他方法可能会生成有噪声的定时调整信号。换句话说,即使在低SNR(信噪比)下,这里描述的生成定时调整信号的方法仍然可以产生“良好”或“干净”定时调整信号。
[0100] 现在参考图14,示出了用于通过在多符号检测器处生成软判决值并使用多个维特比解码器来处理那些软判决值,来调整GFSK调制信号的采样定时的示例GFSK检测器1400。图14的GFSK检测器1400包括多符号检测器1402、至少三个维特比解码器1404、1422、1424,切换模块1420和定时调整模块1426。在图14的示例中,存在三个维特比解码器-准时维特比解码器1404,早维特比解码器1422和晚维特比解码器1424,然而,对于本领域技术人员来说显而易见的是,可以存在多于三个维特比解码器。
[0101] 多符号检测器1402被配置为接收表示所接收到的GFSK信号的一系列复合样本,其中每个符号存在至少三个样本;对于与N符号序列对应的每组样本,生成至少三组软判决值。每组软判决值指出当至少三个样本中的一个不同样本被视为符号的中心时,N符号序列是可能的N符号组合或模式中的每一个的概率或似然性。
[0102] 在一些情况下,通过将该组样本与一组参考模式进行比较来生成软判决值。当一个符号的特定样本与用于进行比较的参考模式的准时样本对齐时,该样本被称为“被视为符号的中心”。例如,如果以每个符号三个样本的速率对接收到的GFSK调制信号进行采样,则表示GFSK调制信号的复合样本将每个符号具有早样本、准时样本和晚样本;参考模式将每个符号包含早样本、准时样本和晚样本。在该示例中,当早样本与用于进行比较的参考模式的准时样本对齐时,早样本被称为“被视为符号的中心”。类似地,当准时样本或晚样本与参考模式的准时样本对齐时,准时样本或晚样本分别被称为“被视为符号的中心”。对于两符号参考模式,这在下面的表1中示出。
[0103] 表1
[0104]
[0105] 在一些情况下,多符号检测器1402可以包括用于每个可能的N符号组合的一个相关器1406、1408、1410、1412,其将表示GFSK调制信号的样本与表示一个N符号组合的参考模式相关联。相关器的输出提供了样本与参考模式匹配的程度的指示。通常,样本与参考模式越相似,相关器的输出越高。因此,相关器的输出提供样本是特定N符号模式的概率或可能性的估计。相关器1406、1408、1410、1412可以以与上面参考图3和/或图6描述的相关器306、308、310、312相同的方式操作。
[0106] 例如,在N等于2并且每个符号都表示单个比特的情况下,可以存在四个相关器1406、1408、1410、1412-一个相关器1406将GFSK调制信号的样本与表示“00”的参考模式相关联,以生成软判决值sd00,其指出样本对应于“00”的概率或可能性;一个相关器1408将GFSK调制信号的样本与表示“01”的参考模式相关联,以生成软判决值sd01,其指出样本对应于“01”的概率或可能性;一个相关器1410将GFSK调制信号的样本与表示“10”的参考模式相关联,以生成软判决值sd10,其指出样本对应于“10”的概率或可能性;一个相关器1412将GFSK调制信号的样本与表示“11”的参考模式相关联,以生成软判决值sd11,其指出样本对应于“11”的概率或可能性。
[0107] 在一些情况下,相关器1406、1408、1410、1412可以被配置为以类似于上面参考图6描述的相关器306、308、310、312的采样率进行操作。具体而言,如上所述,在一些情况下,每个相关器1406、1408、1410、1412都可以被配置为,在每个采样周期,使GFSK调制信号的最近的X个样本与特定的N个符号组合相关联,并且基于指出那些X个样本对应于特定的N个符号组合的概率或可能性的相关性来生成软判决值,其中X=K*N,其中N是每个参考模式的符号数量,K是每个符号的样本数量。当相关器1406、1408、1410、1412以这种方式进行操作时,在每个符号周期,相关器都将输出K个软度量值,并且每个软度量值都将基于被视为符号中心的那个符号的不同样本。具体而言,当每个符号有三个样本时,每个相关器1406、1408、1410、1412都将每个符号输出三个软判决值sdij:其中一个软判决值将基于GFSK调制信号的与参考模式的准时样本对齐的早样本,因此将被称为早软判决值sdij(e);一个软判决值将对应于GFSK调制信号的与参考模式的准时样本对齐的准时样本,因此将被称为准时软判决值sdij(o);并且其中一个软判决值将对应于GFSK调制信号的与参考模式的准时样本对齐的晚样本,因此将被称为晚软判决值sdij(l)。
[0108] 切换模块1420被配置为在每个符号周期,向维特比解码器1404、1422、1424中的每一个提供不同的一组软判决值。具体而言,在图14的示例中,切换模块1420被构造为在每个符号周期,向早维特比解码器1422提供一组早软判决值sdij(e),向准时维特比解码器1404提供一组准时软判决值sdij(o),向晚维特比解码器1424提供一组晚软判决值sdij(l)。在一些情况下,切换模块1320可以通过以循环方式将由多符号检测器生成的软判决值提供给早、准时和晚维特比解码器1422、1404、1424来实现这一点。以这种方式,每个维特比解码器都接收由多符号检测器1402输出的每三组软判决值。
[0109] 维特比解码器1404、1422、1424被配置为在每个符号周期,根据维特比解码算法(VDA),从接收到的一组软判决值生成每个可能的N符号组合的路径度量。具体而言,在图14的示例中,早维特比解码器1422被配置为在每个符号周期,从早软判决值组,为每个可能的N符号组合生成路径度量;准时维特比解码器1404被配置为在每个符号周期,从准时软判决值组,为每个可能的N符号组合生成路径度量;并且晚维特比解码器1424被配置为在每个符号周期,从晚软判决值组,为每个可能的N符号组合生成路径度量。在一些情况下,维特比解码器可以被配置为以与图3、5和7到11的维特比解码器304相同的方式生成路径度量。然而,对于本领域技术人员来说显而易见的是,这仅是示例,并且在其他情况下,维特比解码器1404、1422、1424可以被配置为根据VDA(维特比解码算法),以另一种方式从软判决值生成路径度量。例如,在其他情况下,维特比解码器1404、1422、1424可以被配置为以不同的方式从软判决值生成分支度量。
[0110] 在一些情况下,维特比解码器中的仅一个(例如,准时维特比解码器1404)可以被配置为生成符号序列的估计。在这些情况下,其他维特比解码器(例如,早维特比解码器1422和晚维特比解码器1424)可能不需要跟踪通过网格的最佳路径,因此它们可能不包括回溯历史存储模块和/或回溯模块,如以上参考图7到11描述的。
[0111] 定时调整模块1426被配置为,在每个符号周期,从每个维特比解码器接收一组路径度量,并基于接收到的路径度量,确定是否要进行采样定时调整。如果确定要进行采样定时调整,则定时调整模块1426可以基于所接收到的路径度量来确定调整的方向和量。
[0112] 例如,如果存在粗略或大的采样未对准,则最大早或晚路径度量(即指出最可能路径的路径度量)将显著大于最大准时路径度量,这表明早或晚的样本比准时路径度量更靠近符号的中心。因此,定时调整模块1426可以被配置为如果最大早路径度量超过最大准时路径度量达预定的粗略阈值或者如果最大晚路径度量超过最大准时路径度量达至少预定的粗略阈值,则确定存在粗略未对准。然而,如果采样与GFSK信号的符号完全对齐,则最大早和晚度量将基本相同(并且低于最大准时度量)。如果存在小的定时误差,则最大早路径度量和最大晚路径度量之一将超过另一个达预定的精细阈值。因此,定时调整模块1426可以被配置为如果最大早和晚路径度量中的一个超过另一个达至少精细阈值,则确定存在小的采样未对准。参考图16描述用于生成采样定时调整的示例方法。
[0113] 现在参考图15,示出了用于使用多个维特比解码器来调整GFSK调制信号的采样定时的示例方法1500,其可以由图14的GFSK检测器1400来实现。方法1500开始于方框1502,其中GFSK检测器1400(例如,多符号检测器1402)接收表示GFSK调制信号的一系列复合(例如IQ(同相正交))样本,其中GFSK调制信号的每个符号至少有三个样本。
[0114] 在框1504,GFSK检测器1400(例如,多符号检测器1402)针对表示GFSK调制信号的N符号序列的一组样本,生成至少三组软判决值。每组软判决值都基于一个符号的至少三个样本中的一个不同样本是该符号的中心样本,来指出N符号序列是每个可能的N符号组合的可能性。N是大于或等于2的整数。例如,如上所述,在一些情况下,每个符号有三个样本-早样本、准时样本和晚样本-并且至少三组软判决值,基于早样本作是符号的中心样本,包括一组早软判决值;基于准时样本是符号的中心样本,包括一组准时软判决值;基于晚样本是符号的中心样本,包括一组晚软判决值。在一些情况下,每组软判决值都包括每个可能的N符号组合的一个值。在一些情况下,至少三组软判决值由多个相关器生成,所述多个相关器被配置为在每个采样周期,将最近的X个样本与参考模式相关联,其中X=K*N,并且K是每个符号的样本数。每个N符号组合可以有一个相关器,其将最近的X个样本与表示一个N符号组合的参考模式相关联。
[0115] 在框1506,GFSK检测器1400(例如,维特比解码器1404、1422、1424)从至少三组软判决值生成至少三组路径度量。每组路径度量都包括根据维特比解码算法从一组软判决值生成的每个可能的N符号组合的路径度量。例如,如上所述,至少三组软判决值可以包括一组早软判决值,一组准时软判决值和一组迟软判决值,并且GFSK检测器可以包括:早维特比解码器,其基于早软判决值组,生成一组早路径度量,准时维特比解码器,其基于准时软判决值组,生成一组准时路径度量,以及晚维特比解码器,其基于晚软判决值组,生成一组晚路径度量。在一些情况下,可以根据VDA(维特比解码算法),生成路径度量,如上面参考图3、5和7-11所述。
[0116] 在框1508,GFSK检测器1400(例如,定时调整模块1426)基于至少三组路径度量来生成定时调整信号,以使得GFSK调制信号的采样的定时得到调整。用于基于至少三组路径度量生成定时调整信号的示例方法在下面参考图16进行描述。
[0117] 现在参考图16,示出了用于基于从维特比解码器接收到的路径度量来生成采样定时调整信号的示例方法1600,其可以由图14的定时调整模块1426来实现。方法1600开始于框1602,其中定时调整模块1426从维特比解码器1422、1404、1424中的每一个接收一组路径度量。由于维特比解码器1422、1404、1424在不同时间从多符号检测器接收软判决值,因此来自不同维特比解码器的路径度量可能会在不同时间到达定时调整模块1426。一旦定时调整模块1426从维特比解码器1422、1404、1424中的每一个都接收到一组路径度量,方法1600就前进到框1604。
[0118] 在框1604,定时调整模块1426根据从维特比解码器1422、1404、1424接收到的路径度量确定是否存在大的或粗略的采样未对准(即,采样发生在远离符号的中心的位置)。在一些情况下,确定是否存在大的或粗略的采样未对准包括识别最大的早、准时和晚期路径度量maxpm(e),maxpm(o),maxpm(l),如等式(9)、(10)和(11)所示:
[0119] maxpm(e)=max(pmij(e))   (9)
[0120] maxpm(o)=max(pmij(o))   (10)
[0121] maxpm(l)=max(pmij(l))   (11)
[0122] 一旦识别出最大早、准时和晚路径度量,就可以按如下公式(12)和(13)所示来计算最大早路径度量与最大准时路径度量之间的差异,以及最大晚路径度量与最大准时路径度量之间的差异:
[0123] pmdiff(e)=maxpm(e)-maxpm(o)   (12)
[0124] pmdiff(l)=maxpm(l)-maxpm(o)   (13)
[0125] 如果存在粗略或大的采样未对准,则最大早或最大晚路径度量将显著大于最大准时路径度量,表明早或晚样本比准时路径度量更接近符号的中心。因此,定时调整模块1426可以被配置为如果路径度量差异pmdiff(e)或pmdiff(l)中的任一个超过粗略阈值,则确定存在粗略或大的采样未对准。如果确定存在大的或粗略的采样未对准,则该方法前进到框1606。然而,如果确定不存在大的或粗略的采样未对准,则方法1600前进到框1608。
[0126] 在框1606,在确定存在粗略采样未对准之后,定时调整模块1426生成粗调整信号,该粗调整信号使得粗调整被应用于采样定时。例如,可以将信号传输到重新采样器,响应于接收到信号,重新采样器应用粗略调整。在某些情况下,粗略调整的量值可能是固定的。例如,可以存在预定的粗略定时调整值。可以基于路径度量是否指出当前采样太早或太晚来确定粗略调整的方向。在一些情况下,哪个路径度量差异超过粗略阈值可以指出当前采样是否太晚还是太早。例如,如果早路径度量差异超过粗略阈值,则采样太早,因此要延迟采样定时,例如,通过将预定值加到当前采样时间。相反,如果晚路径度量差异超过粗略阈值,则采样太晚,因此要提前采样定时,例如,通过从当前采样时间减去预定值。一旦生成了粗略调整信号,方法1600就可以进行到框1612,或者它可以返回到框1602,其中定时调整模块1626等待来自维特比解码器的下一组路径度量。
[0127] 在框1608,定时调整模块1426根据从维特比解码器1422、1404、1424接收到的路径度量,确定是否存在小的采样未对准(即,采样发生在接近符号中心的位置)。如果采样与符号完全对齐,则早度量和晚度量将基本相同。因此,定时调整模块1426可以被配置为如果早和晚路径度量之一的最大值超过另一个度量达精细阈值,则确定存在小的采样未对准。精细阈值小于粗略阈值。如果确定存在小的采样未对准,则该方法前进到框1610。然而,如果确定不存在小的或精细的采样未对准,则不进行调整,并且方法1600返回到框1602,其中定时调整模块1426等待来自维特比解码器的下一组路径度量。
[0128] 在框1610,在确定存在小的采样未对准之后,定时调整模块1426生成小调整信号,该小调整信号使得小调整被应用于采样时间。例如,可以将小调整信号传输到重新采样器,该重新采样器响应于接收到小调整信号,对采样时间施加小的调整。在某些情况下,小调整的量值可能是固定的。例如,可以存在预定的小定时调整值。可以基于路径度量是否指出采样太早或太晚来确定小调整的方向。在一些情况下,最大早路径度量和最大晚路径度量中的哪一个更大可以指出当前采样是太早还是太晚。例如,如果最大早路径度量超过最大晚路径度量,则采样有点过早,因此,要延迟采样定时,例如,通过将预定值添加到当前采样时间。相反,如果最大晚路径度量超过最大早路径度量,则采样有点太晚,因此要提前采样定时,例如,通过从当前采样时间减去预定值。一旦生成了小调整信号,方法1600就可以进行到框1612,或者它可以返回到框1602,其中定时调整模块1426等待来自维特比解码器的下一组路径度量。
[0129] 在框1612处,在对采样定时进行了调整之后,定时调整模块1426可以重置早和晚维特比解码器1422和1424的路径度量以匹配准时维特比解码器1404的路径度量。这是因为路径度量保持无限的历史,并且如果已经调整了采样定时,那么只需要知道在调整之后是否还有剩余的定时偏移。在早和晚维特比解码器1422和1424的路径度量已被重置之后,方法1600返回到块1602,其中定时调整模块1426等待来自维特比解码器1422、1404、1424的下一组路径度量。
[0130] 图2、3、7和14的GFSK检测器、GFSK接收器和维特比解码器被示为包括多个功能块。这仅是示意性的,并不希望限定此类实体的不同逻辑元件之间的严格划分。可以以任何合适的方式提供每个功能块。应当理解,这里描述的由GFSK检测器、GFSK接收器或维特比解码器形成的中间值不需要在任何时间点由GFSK检测器、GFSK接收器或维特比解码器物理生成,并且可以仅代表逻辑值,该逻辑值方便地描述GFSK检测器、GFSK接收器或维特比解码器在其输入和输出之间执行的处理。
[0131] 本文中所描述的GFSK检测器和GFSK接收器可以在集成电路上体现为硬件。本文中所描述的GFSK检测器和GFSK接收器可配置为执行本文所描述的任一种方法。通常,上文描述的功能、方法、技术或部件中的任一个可实施于软件、固件、硬件(例如,固定逻辑电路)或其任何组合中。本文可以使用术语“模块”、“功能性”、“部件”、“元件”、“单元”、“块”和“逻辑”来概括地表示软件、固件、硬件或其任何组合。在软件实现方式的情况下,模块、功能性、部件、元件、单元、块或逻辑表示程序代码,该程序代码当在处理器上执行时执行指定任务。本文中描述的算法和方法可以由执行代码的一个或多个处理器执行,所述代码致使处理器执行所述算法/方法。计算机可读存储介质的示例包含随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以使用磁性、光学和其他技术来存储指令或其他数据且可由机器存取的其他存储器装置。
[0132] 如本文使用的术语计算机程序代码和计算机可读指令是指供处理器执行的任何种类的可执行代码,包含以机器语言、解释语言或脚本语言表达的代码。可执行代码包含二进制代码、机器代码、字节代码、限定集成电路的代码(例如硬件描述语言或网表),以及用例如C、Java或OpenCL之类的编程语言代码表达的代码。可执行代码可以是例如任何种类的软件、固件、脚本、模块或库,当在虚拟机或其他软件环境中被适当地执行、处理、解释、编译、运行时,这些软件、固件、脚本、模块或库致使支持可执行代码的计算机系统的处理器执行由所述代码指定的任务。
[0133] 处理器、计算机或计算机系统可以是任何种类的装置、机器或专用电路,或其集合或一部分,它具有处理能力使得可以执行指令。处理器可以是任何种类的通用或专用处理器,例如CPU、GPU、芯片上系统、状态机、媒体处理器、专用集成电路(ASIC)、可编程逻辑阵列、现场可编程门阵列(FPGA)等。计算机或计算机系统可以包括一个或多个处理器。
[0134] 本发明还意图涵盖限定如本文描述的硬件配置的软件,例如HDL(硬件描述语言)软件,用于设计集成电路或用于配置可编程芯片以执行所需功能。也就是说,可以提供一种计算机可读存储介质,其上编码有呈集成电路定义数据集的形式的计算机可读程序代码,当在集成电路制造系统中被处理(即,运行)时,该集成电路定义数据集将系统配置为制造被配置为执行本文描述的任何方法的GFSK检测器和GFSK接收器,或者制造包括本文描述的任何装置的GFSK检测器和GFSK接收器。集成电路定义数据集可以是例如集成电路描述。
[0135] 因此,可提供一种在集成电路制造系统处制造如本文所描述的GFSK检测器和GFSK接收器的方法。此外,可提供一种集成电路定义数据集,当其在集成电路制造系统中被处理时致使所述制造GFSK检测器和GFSK接收器的方法被执行。
[0136] 集成电路定义数据集可以是计算机代码的形式,例如作为网表,用于配置可编程芯片的代码,作为定义适合于在集成电路中以任何级别制造的硬件描述语言,包含作为寄存器传输级(RTL)代码,作为高级电路表示法(诸如Verilog或VHDL),以及作为低级电路表示法(诸如OASIS(RTM)和GDSII)。在逻辑上定义适合于在集成电路中制造的硬件的更高级表示法(诸如RTL)可以在计算机系统上处理,该计算机系统被配置用于在软件环境的上下文中生成集成电路的制造定义,该软件环境包括电路元件的定义和用于组合这些元件以生成由该表示法定义的集成电路的制造定义的规则。如通常软件在计算机系统上执行以便限定机器的情况一样,可能需要一个或多个中间用户步骤(例如,提供命令、变量等),以便将计算机系统配置为用于产生集成电路的制造定义,以执行限定集成电路以便产生所述集成电路的制造定义的代码。
[0137] 现将参考图17描述在集成电路制造系统处处理集成电路定义数据集以便将系统配置为制造GFSK检测器和GFSK接收器的示例。
[0138] 图17示出了被配置为制造如本文中的任一个示例中所描述的GFSK检测器和GFSK接收器的集成电路(IC)制造系统1702的示例。确切地说,IC制造系统1702包括布局处理系统1704和集成电路生成系统1706。IC制造系统1702被配置为接收IC定义数据集(例如,定义如本文中的任一个示例中所描述的GFSK检测器和GFSK接收器),处理IC定义数据集,并根据IC定义数据集生成IC(例如,其体现如本文中的任一个示例中所描述的GFSK检测器和GFSK接收器)。通过对IC定义数据集的处理,将IC制造系统1702配置为制造体现如本文中的任一个示例中所描述的GFSK检测器和GFSK接收器的集成电路。
[0139] 布局处理系统1704被配置为接收和处理IC定义数据集以确定电路布局。根据IC定义数据集来确定电路布局的方法在此项技术中是已知的,并且例如可以涉及合成RTL代码以确定要产生的电路的门级表示,例如,就逻辑部件(例如,NAND、NOR、AND、OR、MUX和FLIP-FLOP部件)而言。通过确定逻辑部件的位置信息,可以根据电路的门级表示来确定电路布局。这可以自动完成或者在用户参与下完成,以优化电路布局。当布局处理系统1704已经确定电路布局时,其可以将电路布局定义输出到IC生成系统1706。电路布局定义可以是例如电路布局描述。
[0140] 如此项技术中已知,IC生成系统1706根据电路布局定义来生成IC。例如,IC生成系统1706可以实施产生IC的半导体装置制造工艺,其可以涉及光刻和化学处理步骤的多步骤序列,在此期间,在由半导体材料制成的晶片上逐渐形成电子电路。电路布局定义可呈掩模的形式,其可以在光刻工艺中用于根据电路定义来产生IC。或者,提供给IC生成系统1706的电路布局定义可以呈计算机可读代码的形式,IC生成系统1706可以使用该计算机可读代码来形成用于产生IC的合适掩模。
[0141] 由IC制造系统1702执行的不同过程可以全部在一个位置例如由一方来实施。或者,IC制造系统1702可以是分布式系统,使得一些过程可以在不同位置执行,并且可以由不同方来执行。例如,以下阶段中的一些可以在不同位置和/或由不同方执行:(i)合成表示IC定义数据集的RTL代码,以形成要产生的电路的门级表示,(ii)基于门级表示来产生电路布局,(iii)根据电路布局来形成掩模,以及(iv)使用掩模来制造集成电路。
[0142] 在其他示例中,通过在集成电路制造系统处对集成电路定义数据集的处理,可以将系统配置为制造GFSK检测器或GFSK接收器,而无需对IC定义数据集进行处理以便确定电路布局。例如,集成电路定义数据集可以限定可重新配置的处理器(例如,FPGA)的配置,并且对所述数据集进行的处理可以将IC制造系统配置成产生具有所述所限定配置的可重新配置的处理器(例如,通过将配置数据加载到FPGA)。
[0143] 在一些实施方案中,当在集成电路制造系统中处理时,集成电路制造定义数据集可以致使集成电路制造系统产生如本文描述的装置。例如,通过集成电路制造定义数据集,以上面参考图17描述的方式对集成电路制造系统的配置,可以制造出如本文所述的设备。
[0144] 在一些示例中,集成电路定义数据集可以包含在数据集处限定的硬件上运行的软件,或者与在数据集处限定的硬件组合运行的软件。在图17中所示的示例中,IC生成系统还可以在制造集成电路时被集成电路定义数据集配置,以将固件根据集成电路定义数据集处定义的程序代码加载到该集成电路上,或者另外给集成电路提供可用于集成电路的程序代码。
[0145] 与已知的实现方式相比,在本申请中阐述的概念在装置、设备、模块和/或系统中(以及在本文实施的方法中)的实施可以引起性能改进。性能改进可包含计算性能提高、等待时间缩短、处理量增大和/或功耗降低中的一个或多个。在制造此类装置、设备、模块和系统(例如在集成电路中)期间,可以在性能改进与物理实现方式之间进行权衡,从而改进制造方法。例如,可以在性能改进与布局面积之间进行权衡,从而匹配已知实现方式的性能,但使用更少的硅。例如,这可以通过以串行方式再使用功能块或在装置、设备、模块和/或系统的元件之间共享功能块来完成。相反,在本申请中阐述的引起装置、设备、模块和系统的物理实现方式的改进(例如硅面积减小)的概念可以针对性能提高进行权衡。例如,这可以通过在预定义面积预算内制造模块的多个实例来完成。
[0146] 申请人据此独立地公开了本文描述的每个单独的特征以及两个或两个以上此类特征的任意组合,到达的程度使得此类特征或组合能够根据所属领域的技术人员的普通常识基于本说明书整体来实行,而不管此类特征或特征的组合是否解决本文公开的任何问题。鉴于前文描述,可在本发明的范围内进行各种修改对于所属领域的技术人员来说是显而易见的。