用于交叉相关的方法及设备
1.本专利主张以其全文引用方式并入本文中的以下美国专利申请案的申请日期的权益:
2.发明人为大卫
·
卡尔
·
巴顿且申请案号为62/819,590的2019/03/17(年/月/日)提出申请的“用于交叉相关的方法及设备”。
技术领域
3.本发明一般来说涉及交叉相关,且更特定来说涉及数据流与显著随机内容的交叉相关。
背景技术:
4.交叉相关在信号处理中很好理解,且通常用于在各种应用中找出信号流之间的相对延迟。所确立交叉相关方法将在多个相对延迟偏移下的信号相似性进行比较,通常找出最大相似性的偏移。
5.存在用以减少所需重复比较的计算成本的许多优化,包含使用fft及各种滑动窗方法。除其计算费用之外,所确立方法还存在将高等待时间引入到系统中的缺点,既因为需要执行许多比较,又因为在处理流式传输数据时需要存储器缓冲器。为了在持续基础上针对正延迟偏移及负延迟偏移两者达成双向搜索,缓冲器是必需的。
6.因此,需要一种具有较低等待时间且不要求缓冲的交叉相关的方法。
附图说明
7.并入于此说明书中且构成此说明书的一部分的附图图解说明本发明的数个实施例且连同说明一起用于阐释本发明的原理:
8.图1描绘多流交叉相关器在尖峰神经网络领域中的实例性应用情景。
9.图2是针对图1的每一ccu的实例性内部结构的功能框图。
10.图3描绘学习延迟的功能性实施方案,其使用存在于其f.o.r.
d
输入处的每一对尖峰作为参考系来分析出现在学习延迟的其它输入处的任何尖峰。
11.图4描绘基于python编程语言的学习延迟的实例性伪编码实施方案。
12.图5到7描绘学习延迟的实例性电气实施方案。
13.图8是图2的ccu的功能框图,惟将解决冲突块添加到产生延迟的无存储器版本除外。
14.图9描绘通过将指数衰减曲线与阈值检测相结合来实施产生延迟的实例。
15.图10呈现用于实施结合图8针对功能块0220所论述的产生延迟功能性的电路系统。
16.图11描绘与图8中所展示相同的ccu,惟添加“学习速率全部”(或lra)功能块0223除外。
17.图12描绘在已知实际mea
all
的情况下尖峰的实例性分布。
18.图13描绘在对mea
all
的值的猜测(称之为mea
guess
)太高的情况下尖峰的实例性分布。
19.图14描绘在对mea
all
的值的猜测(称之mea
guess
)太低的情况下尖峰的实例性分布。
20.图15描绘找出mea而非对方程式1产生其总范围的二分之一的点(例如,p=0.5)进行求解的相等测试方法。
21.图16呈现用于基于相等测试方式的学习速率全部的电路实施方案。
22.图17及18呈现分别在图6及7中展示的学习延迟的相同电路实施方案,惟添加用于r
all
输入的硬件除外。
23.图19呈现图10中所展示的产生延迟的相同电路实施方案,惟添加用于r
all
输入的硬件除外。
具体实施方式
24.现在将详细参考本发明的各种实施例,在附图中图解说明本发明的实例。尽可能地,将贯穿图式使用相同参考编号来指相同或相似部件。
25.请参考定义下文所使用的选定术语的章节3(“选定术语表”)。
26.实施方式的目录
27.1 导论
28.2 交叉相关单元
29.2.1 概论
30.2.2 学习延迟
31.2.2.1 功能描述
32.2.2.2 顺序操作及伪编码实施方案
33.2.2.3 电气实施方案
34.2.3 产生延迟
‑
有损版本
35.2.3.1 冲突解决方案
36.2.3.2 电气实施方案
37.2.4 学习速率全部
38.3 选定术语表
39.4 计算设备
40.1 导论
41.已知交叉相关具有许多重要应用。在这些应用当中,期望交叉相关继续在尖峰神经网络领域中变得重要,其中相对尖峰定时对恰当操作可为关键的。
42.图1描绘在尖峰神经网络领域中的实例性应用情景。左边的输入是三个尖峰流:s1、s2及s3。期望每一尖峰流含有显著随意(或随机)内容。
43.关于所述随机内容,尖峰间间隙(或isg)的时间大小采取随机分布(通常为泊松),且每一isg i在以下范围内:
44.0秒<i<∞秒
45.对于i的整个时间范围,我们将尖峰流的平均尖峰速率称为r
all
(因为可能出现包含所有尖峰的速率)。
46.此内容既关于其中出现此内容的流又相对于其它流是随机的。然而,还预期发生跨越输入流中的两者或多于两者表现自身的非随意事件。(在以下阐释中,我们通常会将非随意事件仅仅称为“事件”。)
47.流s1、s2及s3中的每一者分别耦合到交叉相关单元(或ccu)的f.o.r.输入:0110、0112及0114。每一ccu具有被标记为“for
d”的输出。如可见,每一for
d
输出连接到“索玛(soma)”0121的输入。在其最基本功能级处,索玛可经设计以充当一种重合检测器,每当尖峰同时出现在其输入中的每一者处时,所述重合检测器就会产生输出尖峰。
48.在以下论述中,出于阐释方便的目的而选择三个输入流。将容易地了解,系统(例如图1的系统)可在操作原理没有任何改变的情况下应用于任意大数目个输入。需要最少两个输入流。总的来说,例如图1的系统可被视为神经元的生物学启发模型。虽然受生物学启发,但从工程设计(及非生物)视角来看,图1可被理解为表示多流交叉相关器或“mcc”。
49.当发生一事件时,在mcc的两个或多于两个输入流中,期望其在每一输入流中的表现相对于其在其它尖峰流中的表现具有固定时间关系。虽然期望事件的多流表现相对于彼此具有固定时间关系,但还期望将不会同时出现此类表现。
50.期望任一其它尖峰(即,任一非事件尖峰)在既在出现所述尖峰的输入流内又关于其它输入流考虑时相对于所有其它非事件尖峰具有随意关系。
51.我们还将任一此类非事件尖峰称为“随意尖峰”。
52.ccu 0110、0112及0114中的每一者的工作是确定延迟或时间偏移,使得跨越多个流的尽可能多的事件表现同时出现在ccu的输出处(且因此同时出现在索玛0121的输入处)。
53.更具体来说,可观察到图01的每一ccu具有两个输入:
54.· for,及
55.· 其它。
[0056]“for”(其可替代地书写为“f.o.r.”)意指“参考系”。(除非上下文另有指示,否则本文中对术语“for”或“f.o.r.”的任何使用是对“参考系(frame of reference)”而非对介词“for”的提及。)呈现给ccu的for输入的尖峰流在某一修改之后出现在ccu的for
d
输出处。ccu有可能通过插入延迟相对于出现在其for输入处的尖峰修改其for
d
输出流。每一ccu的“其它”输入旨在成为出现在其它ccu的(即,连接到同一索玛的其它ccu的)for
d
输出处的尖峰的联合。
[0057]
如可见,如下确定每一ccu的其它输入。首先,所有ccu的输出尖峰通过“或”门0120连接在一起,以形成单个经组合尖峰流。此“或”门的输出被标记为“any”,因为期望尖峰出现在其输出处,只要其出现在任一ccu的for
d
输出处即可。
[0058]
ccu 0110、0112及0114中的每一者分别具备“与”门0111、0113及0115。如可见,每一“与”门过滤掉(即,移除)其ccu的其它输入所接收的尖峰流。具体来说,移除由所述“与”门的ccu促成的任何尖峰。
[0059]
2 交叉相关单元
[0060]
2.1 概论
[0061]
与常规相关及交叉相关技术相比较,本发明的mcc依赖于大量(例如,数百或数千个)随意尖峰的存在。
[0062]
mcc通过使每一ccu本质上独立于其它ccu而操作来操作。独立操作的例外是如下事实:每一ccu接收(在其其它输入处)其它ccu的for
d
输出的联合(确切地,举例来说,呈现给其它ccu的for输入的尖峰流的联合)。
[0063]
图2是针对图1的每一ccu的实例性内部结构的功能框图。
[0064]
如可见,ccu由两个主要单元组成:
[0065]
· 产生延迟(块0225),及
[0066]
· 学习延迟(块0226)。
[0067]
产生延迟接受输入尖峰流(在其f.o.r.输入处),且在其输出(称作f.o.r.
d
)处产生此输入流的经延迟版本。产生延迟的f.o.r.输入耦合到ccu的f.o.r.输入(标记为0211),且产生延迟的f.o.r.
d
输出耦合到ccu的f.o.r.
d
输出(标记为0212)。
[0068]
学习延迟接受ccu的其它尖峰流(来自ccu的其它输入0210),而且接受(在学习延迟的f.o.r.
d
输入处)产生延迟的f.o.r.
d
输出。学习延迟使用存在于其f.o.r.
d
输入处的每一对尖峰作为参考系来分析出现在学习延迟的其它输入处的任何尖峰。
[0069]
如果产生延迟并入充足存储器,那么其可重现(在其f.o.r.
d
输出处)除延迟可能性之外与在其f.o.r.输入处的尖峰流相同的尖峰流。我们可将此称为产生延迟的无损版本。
[0070]
取决于应用,可借助模拟或数字设备实施产生延迟的存储器。对于数字实施方案,产生延迟可包括(举例来说)借助半导体随机存取存储器(ram)实施的fifo(先进先出)队列或缓冲器。对于模拟实施方案,产生延迟可包括任何适合信号或波导,例如电缆或自由空间波传播腔。
[0071]
然而,一般来说,产生延迟的有损版本可需要无限(或不受限制)量的存储器。
[0072]
本发明的另一重要方面是利用呈现给ccu的f.o.r.输入的尖峰流的随机性质来在产生延迟的输出处产生f.o.r.
d
的有损版本。事实上,仅一个尖峰(一次)的存储器通过产生延迟可足以在ccu的f.o.r.
d
输出处产生有用相关尖峰流。当使用仅一个尖峰的存储时,产生延迟可被视为一种“定时器”。当尖峰出现在其f.o.r.输入处时,可启动所述定时器。在延迟周期结束时,所述定时器为产生延迟的f.o.r.
d
输出产生一尖峰。下文在章节2.3(“产生延迟”)中论述单尖峰存储器的使用。
[0073]
2.2 学习延迟
[0074]
2.2.1 功能描述
[0075]
如上文所介绍,学习延迟使用存在于其f.o.r.
d
输入处的每一对尖峰作为参考系来分析出现在学习延迟的其它输入处的任何尖峰。图3描绘此种实例性情景。
[0076]
如可见,图3含有两个轴:
[0077]
· 水平时间轴,其中:0.00秒≤t≤0.60秒。
[0078]
· 用于指派权重给每个其它尖峰(在下文进一步阐释)的垂直轴,其中:0.00≤权重≤1.00。
[0079]
让我们在学习延迟的f.o.r.
d
输入处调用一连续对尖峰,所述尖峰用作用于评估其它尖峰n及n 1的框架。在时间t=0.00处的垂直线(除了表示权重轴)描绘尖峰n(此尖峰还标记为0310)。相反地,在t=0.60处描画尖峰n 1(此尖峰还标记为0311)。n及n 1尖峰沿着垂直轴的量值不相关,且仅仅出于图形呈现目的而经选择。
[0080]
权重轴与曲线0320及0321有关。如可见,0320是形式为e
‑
rt
的指数衰减曲线,其中r是速率,t是时间,且r(出于实例目的)等于3。相反地,0321是形式为e
‑
r(m
‑
t)
的指数增加曲线,其中r及t与0320的情况相同,且m(为“最大”时间)等于0.60秒。出于将在下文阐释的原因,曲线0320及0321还分别称为“post”及“pre”。
[0081]
出现在f.o.r.
d
尖峰n与n 1之间的每个其它尖峰被指派post及pre值两者。其中其post值大于其pre值的其它尖峰表征为“后”(或后面)尖峰n比“前”(或前面)尖峰n 1更强烈。相反地,其中其pre值大于其post值的尖峰表征为“前”(或前面)尖峰n 1比“后”(或后面)尖峰n更强烈。
[0082]
图3描绘具有以下值的两个实例性其它尖峰:
[0083]
· 其它尖峰1:
[0084]
○
t=0.065秒。
[0085]
○
post值=0.723
[0086]
○
pre值=0.05
[0087]
· 其它尖峰2:
[0088]
○
t=0.44秒。
[0089]
○
post值=0.112
[0090]
○
pre值=0.446
[0091]
如可见,给予每个其它尖峰两个权重,此取决于其与post及pre加权曲线相交的位置。
[0092]
跨越可出现在一对f.o.r.
d
尖峰n与n 1之间的多个其它尖峰,可如下确定及校正趋于“后”或“前”的净趋势:
[0093]
· 累加得出所有post值的和(我们还称为“postacc”),及
[0094]
· 累加得出所有pre值的和(我们还称为“preacc”)。
[0095]
·
如果postacc>preacc,那么:
[0096]
○
其它尖峰流被视为总的来说出现在f.o.r.
d
的尖峰后面。此还意味f.o.r.
d
流总的来说是提前的,
[0097]
○
学习延迟(例如,图2的学习延迟块0226)可力图通过在其“较多d”输出处发布命令(例如脉冲)来校正所述提前。
[0098]
○
响应于“较多d”命令,产生延迟(例如,参见产生延迟块0225)可使其f.o.r.输入与f.o.r.
d
输出之间的延迟增加特定递增量。
[0099]
· 如果preacc>postacc,那么:
[0100]
○
其它尖峰流被视为总的来说出现在f.o.r.
d
的尖峰前面。此还意味f.o.r.
d
流总的来说是滞后的。
[0101]
○
学习延迟可力图通过在其“较少d”输出处发布命令(例如脉冲)来校正所述滞后。
[0102]
○
作为响应,产生延迟可使其f.o.r.输入与f.o.r.
d
输出之间的延迟减小特定递增量。
[0103]
学习延迟的延迟所改变(响应于“较多d”或“较少d”命令)的递增量可基于特定应用以及其速度与准确度要求而选择。一般来说,较小增量(也称为较慢学习速率)增加ccu发
现实现其事件与其其它流的最佳同步的延迟值的时间。然而,较小增量具有产生对必要延迟值的更准确确定的优点。
[0104]
虽然已展示既递减又递增的指数曲线,但出于post及pre加权的目的,各种函数可为适合的。适合函数的主要准则包含:
[0105]
· 与post函数对称相反的pre函数。
[0106]
· 分别在尖峰n及n 1的时间处于最大值的post函数及pre函数。
[0107]
· 从其最大值单调地减小的post函数及pre函数。
[0108]
2.2.2 顺序操作及伪编码实施方案
[0109]
以与在一个时间获得的以下尖峰一致的方式论述学习延迟的先前子章节所阐释的操作:
[0110]
· f.o.r.
d
输入的尖峰n及n 1,及
[0111]
· 在n与n 1f.o.r.
d
尖峰之间的时间间隔期间存在于学习延迟的其它输入处的任何尖峰。
[0112]
在实际操作期间,期望ccu(及其所属的mcc)在逐尖峰基础上操作。举例来说,基于我们可称之为尖峰n的存在于学习延迟的f.o.r.
d
输入处的每一尖峰,可期望学习延迟执行两个主要操作:
[0113]
· 如果存在n
‑
1尖峰,那么力图完成以尖峰n
‑
1开始的交叉相关分析。换句话说,在尖峰n
‑
1及n作为参考系的情况下完成交叉相关分析。
[0114]
· 在尖峰n 1到来之后即刻开始将在未来完成的新交叉相关分析。换句话说,开始新交叉相关分析,其中尖峰n及n 1将用作参考系。
[0115]
取决于特定应用,可期望将学习延迟实施为计算机程序、实施为电气硬件或实施为两种方法的混合组合。
[0116]
图4描绘基于python编程语言的学习延迟的实例性伪编码实施方案。粗体文本密切地对应于python语法及语义。根据python语法插入注释。已在左边添加行号来辅助阐释。与python语法及语义的主要偏差是赋值运算符的右手边,在行5到17上。而且,非正式地处置将参数或其它数据传入及传出所述过程。
[0117]
图4的过程称为“learn_delay_pc”,其中“pc”后缀指示伪码。行1。
[0118]
每当出现尖峰时在f.o.r.
d
或其它输入处调用learn_delay_pc。
[0119]
在行5到17上指派若干个重要值及变量,但将作为论述利用这些变量的伪码的一部分而在行22到44上提出这些重要值及变量。
[0120]
行22通过致使其内容相对于时间量(即,t到tlo)经历指数衰减而更新pre累加器“preacc”,因为最后一个其它尖峰引起对learn_delay_pc的调用(其中在图4的行8到9处定义t及tlo)。如下文将进一步阐释,preacc的此指数衰减与每当出现其它尖峰时将单位值添加到preacc相结合。
[0121]
在每一其它尖峰时将单位值添加到preacc且致使preacc经历指数衰减(直到下一f.o.r.
d
尖峰时)在数学上等效于上文关于图3所论述的preacc累加方法:在出现每一其它尖峰之后即刻将e
‑
r(m
‑
t)
的值添加到preacc(其中m是t的最大值),且具有不衰减的preacc。
[0122]
致使preacc经历指数衰减可能似乎是一种累加pre值的不必要地间接方法。然而,如将在下一子章节中论述,与e
‑
rt
进行比较,e
‑
r(m
‑
t)
是借助电子硬件实施的相对复变函数。
[0123]
继对preacc的更新之后,执行电流尖峰是类型f.o.r.
d
还是其它的测试。行25。f.o.r.
d
尖峰被视为“属于”当前执行的学习延迟单元,因为其源自属于同一ccu的产生延迟单元。因此,is_mine变量为假指示接收到其它尖峰,从而致使执行行26到33。否则,电流尖峰是类型f.o.r.
d
,且执行行35到45。
[0124]
假定is_mine为假,执行以下步骤:
[0125]
· 为了说明电流尖峰是为其它类型,将单位值添加到preacc。行26。
[0126]
· 添加到postacc的值仅仅是自最后一个f.o.r.
d
尖峰以来为单位值的指数衰减。行30。
[0127]
· 更新最后一个其它尖峰的时间,以准备learn_delay_pc的下一调用。行32。
[0128]
假定is_mine为真,执行以下步骤:
[0129]
· 作为完成以先前f.o.r.
d
尖峰开始的当前执行的交叉相关分析的一部分,首先执行测试以确定是否已出现任何其它尖峰。行35。
[0130]
· 假定已出现至少一个其它尖峰,将preacc的值与postacc的值进行比较。行38。
[0131]
○
如果preacc>postacc,那么总的来说,f.o.r.
d
尖峰被视为相对于其它尖峰是滞后的。减少由变量d表示的来自产生延迟的延迟。控制学习速率的减少量由行38的
“‑
d_lr”表示。
[0132]
○
如果postacc>preacc,那么总的来说,f.o.r.
d
尖峰被视为相对于其它尖峰是提前的。增加由变量d表示的来自产生延迟的延迟。控制学习速率的增加量由行38的“d_lr”表示。
[0133]
· 可执行检查,以确保d保持在容许限值内。行40。
[0134]
· 作为开始新交叉相关分析的一部分,执行以下步骤:
[0135]
○
将preacc及postacc复位到零。行42。
[0136]
○
将最后一个f.o.r.
d
尖峰的时间更新到当前时间。行44。
[0137]
2.2.3 电气实施方案
[0138]
图5到7描绘学习延迟的实例性电气实施方案。
[0139]
图5描绘学习延迟模块的顶级控制及接口。图6聚焦于与累加postacc值有关的电路系统,而图7聚焦于与累加preacc有关的电路系统。
[0140]
图5的轮廓0510指示学习延迟的外部接口,其中每一连接对应于如先前结合图2所论述的学习延迟功能块0221的输入或输出。
[0141]
轮廓0520指示学习延迟的与图6的postacc电路系统及图7的preacc电路系统的内部接口。
[0142]
在下文论述外部接口0510。
[0143]
呈现给f.o.r.
d
输入的每一尖峰触发“双发”0530。首先,双发的out1通过引起比较器放大器0540的读取而完成当前参考系。其次,out2将postacc及preacc电路系统复位,使得可开始跨越下一参考系的累加。
[0144]
out1通过启用“与”门0541及0542而引起比较器0540的读取。如果当启用“与”门时比较器0540的输出是逻辑0,那么“与”门0542将把触发信号呈现给单发0532。单发0532在经触发时在(接口0510的)“较少d”输出处产生脉冲。相反地,如果比较器0540的输出是逻辑1,那么“与”门0541将把触发信号呈现给单发0531。单发0531在经触发时在(接口0510的)“较
多d”输出处产生脉冲。
[0145]
比较器0540将两个信号进行比较:表示preacc的信号(称为“preacc”),及表示postacc的信号(称为“postacc”)。由图6的电路系统产生postacc信号,同时由图7的电路系统累加preacc信号。preacc及postacc信号中的每一者是模拟的,具有表示其所累加值的电压电平。如果preacc信号具有比postacc高的电压,那么比较器0540输出表示逻辑0的信号。如上文所论述,逻辑0(当由双发0530的out1读取时)引起来自“较少d”输出的脉冲。相反地,如果postacc>preacc,那么比较器0540输出逻辑1。如上文所论述,逻辑1(在由out1双发0530读取时)引起来自“较多d”输出的脉冲。
[0146]
待针对外部接口0510论述的最后一个连接是其它输入。与f.o.r.
d
输入一样,其它处的尖峰也触发双发。在此情形中,其是双发0533。如下文将进一步论述,双发0533的out1致使对postacc累加器及preacc累加器中的每一者的当前电压电平进行取样(以及其它行动)。其次,out2致使postacc及preacc累加器各自被充电到新电压电平。
[0147]
关于图6,电容器0650维持postacc信号(或节点)的电压。关于如上文关于图3所论述的post n函数0320,其由电容器0640与电阻器0641的组合确定。在图6中,可在衰减变量节点处获得post n函数。
[0148]
如上文所论述,作为启动新参考系的一部分,双发0530(在其out2输出处)断言“复位(f.o.r.)”信号。关于图6,可见,复位(f.o.r.)信号引起以下电容器的复位:
[0149]
· 由将postacc节点耦合到接地的开关0660将postacc值的累加复位到零。
[0150]
· 由切换单元0643的开关s1及s2将post n函数0320复位到新指数衰减周期。具体来说,在复位(f.o.r.)脉冲的持续时间内:
[0151]
○
s1将电容器0640耦合到单位值电压源0642,且
[0152]
○
s2在电容器0640被再充电时确保衰减变量节点维持重新启动指数衰减的正确初始值。
[0153]
· 在适当时间,电容器0632用于将电压的样本保持在衰减可变节点处。其由将电容器0632耦合到接地的开关0662复位。
[0154]
· 在适当时间,电容器0622用于将电压的样本保持在postacc节点处。其由将电容器0622耦合到接地的开关0661复位。
[0155]
一旦复位(f.o.r.)信号结束,电容器0640与电阻器0641的组合便开始其指数衰减,其中可在衰减变量节点处获得post n函数。
[0156]
如果在将postacc节点复位(通过f.o.r.
d
尖峰)之后出现其它尖峰,那么触发双发0533。关于图6,可见,“取样(其它)”信号的断言引起以下各项:
[0157]
· 通过闭合开关0631在衰减变量节点处对当前电压进行取样。
[0158]
· 通过闭合开关0621在postacc节点处对当前电压进行取样。
[0159]
在“取样(其它)”信号的断言之后,发生以下各项:
[0160]
· 开关0631断开,且衰减变量节点的经取样电压由电容器0632保持。
[0161]
· 开关0621断开,且postacc节点的经取样电压由电容器0622保持。
[0162]
· 通过加法放大器0610对由电容器0632及0622保持的电压求和。
[0163]
接下来,双发0533断言“充电acc(其它)”信号,此闭合图6的开关0611。此致使比较器0612将postacc节点处的电压与加法放大器0611的输出进行比较。来自加法放大器的电
压将比postacc节点的电压大在衰减变量节点处取样的量。因此,比较器0612将致使开关0613闭合,且保持闭合,直到postacc节点已充电到基本上等于加法放大器的输出的电压为止。
[0164]
如可了解,下文是“取样(其它)”及“充电acc(其它)”信号的顺序断言的净效应。在每一其它尖峰时,postacc节点的电压增加与衰减变量节点的当前电压相等的量。
[0165]
关于图7,电容器0720维持preacc信号(或节点)的电压。然而,如上文关于图4的learn_delay_pc伪码所论述,preacc节点经设计以由于其与电阻器0721的组合而衰减。如上文所论述,衰减preacc节点与针对每一其它尖峰添加单位电压的组合在数学上等效于确定(图3的)pre n 1函数0321且将其值添加到非衰减pre累加器。可在图7中了解衰减preacc节点方法从电路实施视角来看的相对简单。
[0166]
如上文所论述,作为启动新参考系的一部分,双发0530(在其out2输出处)断言“复位(f.o.r.)”信号。关于图7,可见,复位(f.o.r.)信号引起以下电容器的复位:
[0167]
· 由将preacc节点耦合到接地的开关0741将preacc值的累加复位到零。
[0168]
· 在适当时间,电容器0732用于将电压的样本保持在postacc节点处。其由将电容器0732耦合到接地的开关0740复位。
[0169]
如果在preacc节点的复位(通过f.o.r.
d
尖峰)之后出现其它尖峰,那么触发双发0533。关于图7,可见,“取样(其它)”信号的断言引起通过闭合开关0731在preacc节点处对当前电压进行取样。
[0170]
在“取样(其它)”信号的断言之后,发生以下各项:
[0171]
· 开关0731断开,且preacc节点的经取样电压由电容器0732保持。
[0172]
· 通过加法放大器0710对由电容器0732保持的电压与来自电压源0714的单位电压求和。
[0173]
接下来,双发0533断言“充电acc(其它)”信号,此闭合图7的开关0711。此致使比较器0712将preacc节点处的电压与加法放大器0710的输出进行比较。来自加法放大器的电压将比preacc节点的电压大由单位电压源0714提供的量。因此,比较器0712将致使0713闭合,且保持闭合,直到preacc节点已充电到基本上等于加法放大器的输出的电压。
[0174]
如可了解,下文是“取样(其它)”及“充电acc(其它)”信号的顺序断言的净效应。在每一其它尖峰时,使preacc节点的电压增加等于电压源0714的单位电压的量。在所述增加之后,preacc节点将继续其指数衰减直到发生以下各项中的任一者为止:
[0175]
· 在出现f.o.r.
d
尖峰的情况下当前参考系结束。
[0176]
· 出现另一其它尖峰。
[0177]
2.3 产生延迟
–
有损版本
[0178]
2.3.1 冲突解决方案
[0179]
如上文所论述,在章节2.1(“概论”)中,本发明的另一重要方面是利用呈现给每一ccu的f.o.r.输入的尖峰流的随机性质来在产生延迟的输出处产生f.o.r.
d
的有损版本的选项。
[0180]
仅一个尖峰(一次)的存储器通过产生延迟(例如,通过图2的功能块0225)可足以在ccu的f.o.r.
d
输出处产生有用相关尖峰流。在此情形中,产生延迟可被视为一种“定时器”。当尖峰出现在产生延迟的f.o.r.输入处时,可启动所述定时器。在延迟周期结束时,所
述定时器为产生延迟的f.o.r.
d
输出产生一尖峰。在下文论述单尖峰存储器的使用。
[0181]
由于产生延迟的有损版本需要比无损版本(其存储器需要是可能无限的)少得多的存储器(仅一个尖峰),因此我们将所述有损版本称为“无存储器的”。
[0182]
当实施无存储器方法时的关键问题是我们称之为“冲突解决方案”的问题。每当产生延迟的延迟大于0秒时都可能产生冲突解决方案问题。由于输入到每一ccu的尖峰流的随机性质,每当产生延迟由于f.o.r.尖峰x而在对延迟周期d进行定时中时,下一f.o.r.尖峰x 1始终可能到达。接着存在两个选择:
[0183]
· 忽略尖峰x 1,且继续尖峰x的定时直到完成其延迟周期d为止。我们将这称为“保持最旧”选择。
[0184]
· 重新启动定时器,使得延迟周期d以尖峰x 1开始。我们将这称为“保持最新”选择。
[0185]
这两个策略中的任一者在一致应用的情况下有可能顺序地应用无限数目次。举例来说:
[0186]
· 保持最旧:虽然对尖峰x的延迟d进行定时,但可能无限数目个后续f.o.r.
d
尖峰可能到达。所有这些都将被忽略。
[0187]
· 保持最新:如果由于尖峰x 1而重新启动尖峰x的延迟d,那么尖峰x 2有可能重新启动尖峰x 1的时间周期,且尖峰x 3进一步有可能重新启动尖峰x 2的时间周期。延迟周期的重新启动可继续可能无限数目次地发生。
[0188]
这两个选择中的任一者在排他地施加为冲突解决方案的策略的情况下具有将时间偏差引入到学习延迟的f.o.r.
d
与其它尖峰流的比较中的问题。具体来说:
[0189]
· 保持最旧:具有使f.o.r.
d
尖峰流相对于其它尖峰流出现得比实际情况更早的效应。结果是由产生延迟产生的延迟太大。依据保持最旧策略致使稍后尖峰(即,尖峰x之后的尖峰)下降的事实可了解此效应。
[0190]
· 保持最新:具有使f.o.r.
d
尖峰流相对于其它尖峰流出现得比实际情况更晚的效应。结果是由产生延迟产生的延迟太小。依据保持最新策略致使较早尖峰(例如,比尖峰x 1早的尖峰x)被忽略的事实可了解此效应。
[0191]
可通过通常引起保持最旧及保持最新策略中的每一者的相等数目个选择的任何技术来解决时间偏差问题。图8与图2的主要差异是引入了解决冲突块0224,可在解决冲突块0224内看到所提议实施方案。图8的功能块0220(产生延迟)包含未存在于图2的功能块225中的额外“延迟完成”输出。延迟完成每当产生延迟对延迟周期进行定时时是逻辑0,否则是逻辑1。每当延迟完成是逻辑1时,“与”门0230将准许f.o.r.输入0211处的尖峰启动延迟操作。这是有道理的,因为在这些条件下与预先存在的延迟周期没有冲突。
[0192]
相反地,我们知道当f.o.r.尖峰到达输入0211且延迟完成是逻辑0时存在冲突情景。由解决冲突块0224的“与”0233对此情景进行解码。产生逻辑1的“与”门0233取决于触发器0234的预先存在的状态而引起两个操作中的一者:
[0193]
· 如果触发器0234碰巧已经在其q输出处产生逻辑1,那么所述q输出以及来自“与”0233的逻辑1将致使“与”0232产生(通过“或”门0231)引起产生延迟的定时重新启动的信号。如可了解,这是“保持最新”策略的执行。
[0194]
· 相反地,如果触发器0234碰巧在其q输出处产生逻辑0,那么所述逻辑0阻止
“
与”0232产生引起产生延迟的定时重新启动的信号。这是“保持最旧”策略的执行。
[0195]
无论触发器0234是否碰巧已经产生逻辑1,“与”0233每次产生逻辑1都会触发触发器0234改变状态。净结果是在每次检测到冲突情景之后解决冲突块0224即刻基于触发器0234的当前状态而实施策略,且接着改变触发器0234的状态,使得下次执行相反策略。
[0196]
2.3.2 电气实施方案
[0197]
图9到10提出产生延迟的实例性电气实施方案。
[0198]
图9描绘通过耦合指数衰减曲线(即,0910是e
‑
rt
)与阈值检测(水平线0911)而实施产生延迟的实例。在图9的实例中,衰减速率r等于3,且待检测阈值(称为th
d
)等于0.1。如可见,在这些条件下,所产生的延迟周期(称为“d”)是0.77秒。如可了解,可通过分别降低或增加阈值而增加或减少延迟。
[0199]
图10呈现用于实施图8中针对功能块0220所展示的产生延迟功能性的电路系统。
[0200]
图10的轮廓1010指示产生延迟的外部接口,其中每一连接对应于产生延迟功能块0220的输入或输出。
[0201]
通过电容器1040与电阻器1041的组合形成指数衰减,所述指数衰减形成产生延迟的定时能力的基础。施加到比较器放大器1030的负输入的衰减发生在“衰减”节点处。施加到比较器的正输入的阈值(称为th
d
)由可调整电压源1031设定。由1031输出的电压可分别通过施加到接口1010的“较多d”或“较少d”输入的脉冲而递增地调整为更低或更高。在任何一个时间,电压源1031(即,其当前设置以输出的电压)的状态可由电容器(未展示)保持。
[0202]
启动/重新启动输入处的每一尖峰触发单发1020。单发1020产生在经断言时使电容器1040准备通过切换单元1043的开关s1及s2产生新指数衰减周期的脉冲。具体来说,在单发的脉冲的持续时间内:
[0203]
· s1将电容器1040耦合到单位值电压源1042,且
[0204]
· s2在电容器1040被再充电时确保衰减节点维持用于重新启动指数衰减的正确初始值。
[0205]
一旦单发1020的信号结束,电容器1040与电阻器1041的组合便开始其指数衰减。当衰减节点的电压降到由电压源1031输出的电压以下时,比较器1030的输出产生逻辑1。
[0206]
逻辑1引起以下两者:
[0207]
· 断言接口1010处的“延迟完成”输出。
[0208]
· 触发单发1021,其脉冲构成在接口1010的f.o.r.
d
输出处输出的尖峰。
[0209]
2.4 学习速率全部
[0210]
如上文所呈现,产生延迟及学习延迟功能块(例如,图8的块0220及0226)两者都通过使用指数衰减曲线来工作。可基于特定应用的所期望尖峰频率而选择这些函数的衰减速率r。
[0211]
然而,在ccu中包含可在其f.o.r.输入处发现平均尖峰速率(我们称之为r
all
)的功能块可为有用的。一般来说,对于产生延迟及学习延迟的衰减函数,r
all
是用作r的良值。
[0212]
举例来说,关于如图3中所展示的学习延迟,r
all
可用于post及pre函数。使用r的此值往往会确保其它尖峰位于其中每一函数相对迅速地改变且因此更容易测量的区域上。通过针对产生延迟测量延迟的衰减速率(例如,参见图9的函数0910)使用r
all
实现类似优点。
[0213]
图11描绘与图8相同的ccu,惟以下各项除外:
[0214]
· 添加“学习速率全部”(或lra)功能块0223。如可见,lra 0223接受f.o.r.尖峰作为输入,且输出r
all
。
[0215]
· 将r
all
输入添加到产生延迟及学习延迟中的每一者(因此将其标号从图8的0220及0226改变为图11的0227及0228)。这些r
all
输入由lra 0223的r
all
输出驱动。
[0216]
学习速率全部基于随机尖峰流s的以下性质:如果一个随机尖峰流具有r
all
的正确值,那么以下表达提供在时间t或任一稍后时间出现下一尖峰的概率:
[0217][0218]
此还意味,如果一个随机尖峰流根据方程式1产生指数衰减,p=0.5的时间是流s的下一尖峰的中值预期到达(或mea)时间。我们还称为mea
all
的此中值预期到达时间具有以下特殊性质:
[0219]
特殊性质1:在大量出现的s的尖峰中,我们可预期出现在mea
all
前面的尖峰数目将等于出现在mea
all
后面的尖峰数目。
[0220]
对于图12,假定实际mea
all
针对r
all
=3为0.23秒。如可见(出于阐释清晰的目的),已选择将尖峰a到d均匀地分布在mea
all
的两侧上。
[0221]
特殊性质1具有以下含义:
[0222]
· 如果对mea
all
的值的猜测(称之为mea
guess
)太高(即,实际上,mea
guess
>mea
all
),那么在大量出现的s的尖峰中,在mea
guess
前面出现的尖峰将比在mea
guess
后面出现的尖峰多。图13展示此情况的极端实例,其中mea
guess
是0.345秒(对于r=2),且尖峰a到d(相对于其对于r=2的位置被标记为a’到d’)全部在mea
guess
前面。
[0223]
· 如果对mea
all
的值的猜测(称之为mea
guess
)太低(即,实际上,mea
guess
<mea
all
),那么在大量出现的s的尖峰中,在mea
guess
后面出现的尖峰将比在mea
guess
前面出现的尖峰多。图14展示此情况的实例,其中mea
guess
是0.115秒(对于r=6),且相同尖峰a到d(现在相对于r=6被标记为a”到d”)全部出现在mea
guess
后面。
[0224]
特殊性质1连同其含义一起为可找到mea
all
的搜索过程提供基础。所述过程可被描述为含有以下两个主要步骤:
[0225]
1.选择mea
guess
的合理初始值:
[0226]
○
举例来说,mea
guess
的初始值的选择可基于特定系统设计及其既定应用而限于在可能值的范围内。还可通过猜测r的初始值(称之为r
guess
)来确定mea
guess
的值,可依据r
guess
来确定mea
guess
。接着可依据方程式1来确定mea
guess
的对应时间。特定来说,在p=0.5且r=r
guess
的情况下,方程式1成为:
[0227][0228]
2.对于流s的每一对尖峰n及n 1,将尖峰之间的时间(t
n 1
‑
t
n
)与mea
guess
进行比较:
[0229]
○
如果(t
n 1
‑
t
n
)<mea
guess
,假定(仅基于此最新数据点)mea
guess
的所猜测值太高,那么:
[0230]
■ꢀ
出于尖峰对之间的后续比较的目的而减小mea
guess
的值。
[0231]
■ꢀ
通过使r
guess
递增标准量(称之为δr)且接着重新确定方程式2来确定mea
guess
的经减小值。
[0232]
○
如果(t
n 1
‑
t
n
)>mea
guess
,假定(仅基于此最新数据点)mea
guess
的所猜测值太低,那
么:
[0233]
■ꢀ
在比较后续尖峰对时增加mea
guess
的值。
[0234]
■ꢀ
通过使r
guess
递减标准量(称之为δr)且接着重新确定方程式2来确定mea
guess
的经增加值。
[0235]
在对于其上述假定中的每一者针对mea
guess
太高还是太低的上文所列出的搜索过程中,存在以下可能性:
[0236]
· 如果在大量尖峰中mea
guess
实际上太高,那么此事实是由所出现的指示mea
guess
太高而非太低的更多比较来确定的,且mea
guess
的值经历净减小(借助于r
guess
的净增加)。
[0237]
· 如果在大量尖峰中mea
guess
实际上太低,那么此事实是由所出现的指示mea
guess
太低而非太高的更多比较来确定的,且mea
guess
的值经历净增加(借助于r
guess
的净减小)。
[0238]
· mea
guess
仅在其事实上正确时(即,在mea
guess
=mea
all
且r
guess
=r
all
时)实现净动态稳定性。
[0239]
因此,在充足数目个尖峰中,将确定r
all
,其中δr经选择以提供收敛到r
all
的速度(还称为“学习速率”)与所确定的r
all
值的准确度之间的适合折衷:
[0240]
· δr的较大值增加学习速率,但降低结果的准确度。
[0241]
· δr的较小值减小学习速率,但增加结果的准确度。
[0242]
除对方程式1产生其总范围的二分之一的点(例如,p=0.5)求解以外,图15还描绘找出mea的替代方式。替代方法是对方程式1与以下方程式3相等(其中方程式3定义累积概率分布)的时间求解:
[0243][0244]
如图15中可见,通过寻找相等点来找到先前关于图12到14所论述的mea中的每一者。
[0245]
此相等测试方法是图16的硬件实施方案的基础,可如下描述所述硬件实施方案。
[0246]
图16的轮廓1610指示lra的外部接口,其中每一连接对应于图11的lra功能块0223的输入或输出。
[0247]
在图16中,通过电容器1630与可变电阻器1631的组合执行方程式1的指数衰减。可在“衰减”节点1641处获得衰减值。由减法放大器1621如下执行方程式3(指数增加):
[0248]
· 将单位电压施加到放大器的“a”输入。
[0249]
· 将衰减节点1641(即,方程式1)施加到“b”输入。
[0250]
· 可在节点1640处获得的减法放大器1621的输出因此是方程式3的电压电平表示。
[0251]
由比较器放大器1622执行方程式1与方程式3之间的相等测试,其中可在节点1642处获得结果(对应于以上阐释的mea
guess
)。
[0252]
每当存在尖峰n时,在接口1610的f.o.r.输入处,触发双发1620。由双发的out1激活的第一步骤是完成以最后一个f.o.r.尖峰n
‑
1开始的mea测量。out1通过启用“与”门1623及1624来操作此步骤以读出比较器1622的输出。
[0253]
可如下解释比较器1622的输出:
[0254]
· 如果比较指示尖峰n
‑
1与n之间的时间周期小于电流mea
guess
,那么比较器1622输出逻辑1。这是因为指数衰减节点1641驱动比较器的 输入。
[0255]
· 如果比较指示尖峰n
‑
1与n之间的持续时间大于电流mea
guess
,那么比较器1622输出逻辑0。这是因为指数增加节点1640驱动比较器的
‑
输入。
[0256]
如果比较器1622的电流测量指示mea
guess
太高,那么节点1642上的逻辑1致使“与”门1623被启用,且out1脉冲施加到可变电阻器1631的r
‑
输入。如可了解,减小电阻引起“衰减”节点1641处的较快衰减速率及对mea
guess
的向下调整。
[0257]
相反地,如果比较器1622的电流测量指示mea
guess
太低,那么节点1642上的逻辑0致使“与”门1624被启用,且out1脉冲施加到可变电阻器1631的r 输入。如可了解,增加电阻引起“衰减”节1641处的较慢衰减速率及对mea
guess
的向上调整。
[0258]
例如out1脉冲的持续时间及可变电阻器1631的特定构造的因素确定r
guess
的改变增量,其中每一此改变增量的量值在以上论述中被称为δr“学习速率”。
[0259]
可变电阻器1631的状态(即,其当前电阻水平)可由内部状态电容器(未展示)保持。举例来说,此电容器的电压可随去往r
‑
输入的每一脉冲而增加,且随去往r 的每一脉冲而减小。此外,可通过驱动lra的外部接口1610的r
all
输出的电压跟随放大器(也未展示)获得内部状态电容器的电压。
[0260]
如上文关于图11所论述,lra 0223可将其r
all
输出提供到产生延迟0227及学习延迟0228中的每一者的r
all
输入。
[0261]
图6及7是通过添加r
all
输入而改变的学习延迟0226的电路实施方案的部分。对于学习延迟0228的电路实施方案,图6及7分别替换为图17及18。图17及18与图6及7的不同之处如下:
[0262]
· 用接受r
all
输入0601的可变电阻器0644(图17)替换固定电阻器0641(图6)。
[0263]
· 用接受r
all
输入0701的可变电阻器0722(图18)替换固定电阻器0721(图7)。
[0264]
对于产生延迟0227的电路实施方案,图10替换为图19。图19与图10的不同之处如下:用接受作为其外部接口1011的一部分的r
all
输入的可变电阻器1044(图19)替换固定电阻器1041(图10)。
[0265]
为了使lra的r
all
输出处的电压产生指数衰减曲线(针对产生延迟0227及学习延迟0228),其中r等于由lra 0223发现的r
all
,可完成以下各项:
[0266]
· 可使电容器0640(参见图17的postacc的实施方案)、0720(参见图18的preacc的实施方案)及1040(参见图19的产生延迟的实施方案)具有与lra的电容器1630(参见图16)相同的电容。
[0267]
· 可使可变电阻器0644(参见图17的postacc的实施方案)、0722(参见图18的preacc的实施方案)及1044(参见图19的产生延迟的实施方案)与lra的可变电阻器1631(参见图16)相同,惟下文除外:0644、0722及1044中的每一者使用由其外部接口r
all
输入驱动的电压跟随器,而不是保持内部状态。
[0268]
3 选定术语表
[0269]
加法放大器:在任一时刻,输出为存在于其输入处的电压的和的电压。
[0270]
单发:具有输入触发器及一个输出。在接收到触发信号之后,即刻在其输出处产生脉冲。
[0271]
尖峰:如本文中所使用,尖峰可指两个不同电平之间可被视为具有基本上(或大致)零过渡时间的信号的任一点。
[0272]
减法放大器:在任一时刻,输出由从存在于第一输入处的电压减去存在于第二输入处的电压得出的电压。
[0273]
双发:具有一输入触发器及两个输出。在接收到触发信号之后,即刻在其两个输出中的每一者处顺序地产生脉冲。
[0274]
4 计算设备
[0275]
根据所属领域的技术人员通常知晓的内容,可通过使用任一适合运算硬件来实施本文中所描述的发明性方法、过程或技术。适合硬件可包含所使用的一或多个通用计算机或处理器。硬件实施技术可包含使用各种类型的集成电路、可编程存储器(易失性及非易失性的)或两者。
[0276]
计算硬件(无论是集成电路形式还是其它形式)通常基于使用晶体管(场效、双极或两者),尽管可包含其它类型的组件(例如,光学、微机电或磁性)。任何计算硬件均具有其将消耗能量的性质,这是能够执行其功能的必要部分。而且,不管其可操作的速度有多快,计算硬件都将需要某一时间量来改变状态。由于其基于物理装置(电子的或其它),计算硬件无论多小都将占据某一量的物理空间。
[0277]
可编程存储器通常还以集成电路形式来实施,且受到上文针对计算硬件所描述的相同物理限制。可编程存储器旨在包含使用任一种类的基于物理的效应或性质的装置,以便至少以非暂时方式且在与应用相称的时间量内存储信息。用于实施此类存储的物理效应类型包含但不限于:通过反馈信号维持特定状态、电荷存储、材料的光学性质的改变、磁性改变或化学改变(可逆或不可逆)。
[0278]
除非另有具体指示,否则术语计算硬件、可编程存储器、计算机可读媒体、系统及子系统不包含人或人可能采取的心理步骤。
[0279]
对于上文所描述的任一方法、过程或技术,就其实施为对计算机或其它数据处理系统进行编程来说,其还可被描述为计算机程序产品。计算机程序产品可体现在任何适合计算机可读媒体或可编程存储器上。
[0280]
本文中所描述的信息种类(例如数据及/或指令)(其在计算机可读媒体及/或可编程存储器上)可存储于体现在本文中的计算机可读代码装置上。计算机可读代码装置可表示存储器的那部分,所定义信息单元(例如位)可存储于所述部分中,可从所述部分检索所定义信息单元,或两者。
[0281]
虽然已结合具体实施例描述了本发明,但显而易见,鉴于前文说明将明了许多替代方案、修改形式及变化形式。因此,本发明旨在囊括属于所附权利要求书及等效内容的精神及范围内的所有此类替代方案、修改形式及变化形式。
转载请注明原文地址:https://win.8miu.com/read-900277.html