用于检测自适应系统中的发散的系统和方法
1.相关申请的交叉引用
2.本专利申请要求2019年3月29日提交的名称为“systems and methods for detecting divergence in an adaptive system”的美国专利申请序列号16/369620的优先权,该专利申请全文以引用方式并入本文。
背景技术:3.本公开整体涉及用于检测自适应系统中的发散的系统和方法。
技术实现要素:4.下文提及的所有示例和特征均可以任何技术上可能的方式组合。
5.根据一个方面,公开了一种用于检测噪声消除系统中的发散的系统,该系统包括:控制器,该控制器被配置为:确定误差信号的分量的功率,该分量与至少一个参考信号相关;确定表示该误差信号的分量的功率的时间梯度的值在第一时间段内的平均值;以及确定该平均值是否大于阈值。
6.在一个示例中,该控制器被进一步配置为根据该至少一个参考信号的总功率来归一化该分量的功率。
7.在一个示例中,表示该时间梯度的值为该分量的功率的平滑时间梯度。
8.在一个示例中,该平滑时间梯度扣减了该时间梯度的新值。
9.在一个示例中,该平滑时间梯度是该时间梯度的指数滑动平均值。
10.在一个示例中,当该分量的功率的时间梯度高于梯度阈值时,表示该时间梯度的值被设置为第一标记值,并且当该分量的功率的时间梯度低于该梯度阈值时,表示该时间梯度的值被设置为第二标记值。
11.在一个示例中,该控制器被配置为对该误差信号的该分量的至少一个频率比该误差信号的该分量的至少一个其他频率更高地加权。
12.在一个示例中,该控制器被配置为确定表示该分量的功率的时间梯度的第二值在第二时间段内的第二平均值;以及确定该平均值或该第二平均值是否大于该阈值。
13.在一个示例中,该第二时间段大于该第一时间段。
14.在一个示例中,该控制器被进一步配置为:确定第二误差信号的分量的第二功率,该第二误差信号的该分量与该至少一个参考信号相关;确定表示该第二误差信号的分量的第二功率的时间梯度的值在该第一时间段内的第二平均值;以及确定该第二平均值是否大于该阈值。
15.在一个示例中,该系统还包括输出该误差信号的误差传感器。
16.在一个示例中,该系统还包括输出该至少一个参考信号的至少一个参考传感器。
17.根据另一方面,公开了一种用于检测噪声消除系统中的发散的方法,该方法包括:确定误差信号的分量的功率,该分量与至少一个参考信号相关;确定表示该误差信号的分量的功率的时间梯度的值在第一时间段内的平均值;以及确定该平均值是否大于阈值。
18.在一个示例中,该方法还包括以下步骤:根据至少一个参考信号的总功率来归一化该分量的功率。
19.在一个示例中,表示该时间梯度的值为该分量的功率的平滑时间梯度。
20.在一个示例中,该平滑时间梯度扣减了该时间梯度的新值。
21.在一个示例中,该平滑时间梯度是该时间梯度的指数滑动平均值。
22.在一个示例中,当该分量的功率的时间梯度高于梯度阈值时,表示该时间梯度的值被设置为第一标记值,并且当该分量的功率的时间梯度低于该梯度阈值时,表示该时间梯度的值被设置为第二标记值。
23.在一个示例中,该方法还包括以下步骤:对该误差信号的该分量的至少一个频率比该误差信号的该分量的至少一个其他频率更高地加权。
24.在一个示例中,该方法还包括以下步骤:确定表示该分量的功率的时间梯度的第二值在第二时间段内的第二平均值;以及确定该平均值或该第二平均值是否大于该阈值。
25.一个或多个具体实施的细节在附图和以下描述中论述。其他特征、对象和优点在说明书、附图和权利要求书中将是显而易见的。
附图说明
26.图1描绘了根据一个示例的噪声消除系统的示意图。
27.图2描绘了根据一个示例的噪声消除系统的框图。
28.图3描绘了根据一个示例的发散检测器的框图。
29.图4描绘了根据一个示例的相关器的框图。
30.图5a描绘了根据一个示例的发散计算器的框图。
31.图5b描绘了根据一个示例的发散计算器的框图。
32.图5c描绘了根据一个示例的发散计算器的框图。
33.图5d描绘了根据一个示例的发散计算器的框图。
34.图5e描绘了根据一个示例的发散计算器的框图。
35.图6a描绘了根据一个示例的阈值检测器的框图。
36.图6b描绘了根据一个示例的阈值检测器的框图。
37.图7a描绘了根据一个示例的示例性发散计算器输出的曲线图。
38.图7b描绘了根据一个示例的响应于示例性发散的标记设置的曲线图。
具体实施方式
39.自适应系统,诸如噪声消除系统,通常采用反馈或前馈拓扑结构来根据环境的要求调整自适应系统参数。一般来讲,这些系统将收敛于使特定值最小化的状态。例如,噪声消除系统可根据来自误差传感器的反馈来调整参数,以便使特定区域内的噪声最小化。在这种情况下,噪声消除系统将在该区域内收敛到零噪声。
40.然而,如果自适应系统发生故障,则该系统可能偏离特定值。在最坏的情况下,这将使预期值加剧而不是最小化。同样,在噪声消除示例中,发散的噪声消除系统可能向该区域增加噪声,而不是消除噪声。
41.本文所公开的各种示例涉及用于检测自适应系统(诸如噪声消除系统)中的发散
的系统。在一些示例中,一旦检测到发散,就可采取纠正措施以减轻发散对自适应系统的影响。
42.如所提及的,一种自适应系统是噪声消除系统,诸如图1中所描绘的道路噪声消除系统100。道路噪声消除系统100可被配置为与预定义体积104(诸如车辆车厢)内的至少一个消除区102(靠近乘客头部)中的非期望声音进行相消干涉。在高电平下,道路噪声消除系统100的一个示例可包括参考传感器106、误差传感器108、致动器110和控制器112。
43.在一个示例中,参考传感器106被配置为生成表示预定义体积104内的非期望声音或非期望声音的来源的参考传感器信号114。例如,如图1所示,参考传感器106可以是安装到车辆结构116并且被配置为检测通过该车辆结构传输的振动的加速度计或多个加速度计。通过车辆结构116传输的振动由该结构转换成车辆车厢内的非期望声音(被感知为道路噪声),因此安装到该结构的加速度计提供表示非期望声音的信号。
44.致动器110可例如是分布在围绕预定义体积的周边的离散位置的扬声器。在一个示例中,可将四个或更多个扬声器设置在车辆车厢内,该四个扬声器中的每个扬声器位于该车辆的相应门内并且被配置为将声音投射到车辆车厢内。在另选的示例中,扬声器可位于头枕内、车身后部中或车辆车厢中的其他位置。
45.噪声消除信号118可由控制器112生成并提供给预定义体积中的一个或多个扬声器,该一个或多个扬声器将噪声消除信号118转换为声能(即,声波)。由于噪声消除信号118所产生的声能与消除区102内的非期望声音大约180
°
异相,并且因此与该非期望声音进行相消干涉。从噪声消除信号118生成的声波与预定义体积中的非期望噪声的组合带来非期望噪声的消除,这由消除区中的收听者所感知。
46.由于噪声消除无法在整个预定义体积中相等,因此道路噪声消除系统100被配置为在该预定义体积内的一个或多个预定义消除区102内产生最大噪声消除。消除区内的噪声消除可使得非期望声音减少大约3db或更多(尽管在不同示例中,可能发生不同的噪声消除量)。此外,噪声消除可消除一定频率范围内的声音,诸如小于大约350hz的频率(尽管其他范围也是可能的)。
47.设置在预定义体积内的误差传感器108基于对残余噪声的检测来生成误差传感器信号120,该残余噪声由从噪声消除信号118生成的声波和消除区中的非期望声音的组合产生。误差传感器信号120作为反馈提供给控制器112,误差传感器信号120表示未被噪声消除信号消除的残余噪声。误差传感器108可以是例如安装在车辆车厢内(例如,车顶、头枕、支柱或车厢内的其他位置)的至少一个麦克风。
48.应当指出的是,消除区可远离误差传感器108定位。在这种情况下,误差传感器信号120可被滤波以表示对消除区中的残余噪声的估计。此外,误差传感器信号120可由误差传感器108(例如,麦克风)的阵列和/或其他信号形成,以便生成对远离误差传感器108的阵列中的一者或多者的消除区中的残余噪声的估计。实际上,应当理解,如本技术中所使用的,任何给定误差信号可直接从一个或多个误差传感器108接收,或者可为应用于从一个或多个误差传感器108接收的信号120和/或其他信号的一些滤波的结果。不管所使用的误差传感器108的数量,或应用于误差传感器信号120的滤波,在道路噪声消除系统100上下文中,误差信号将被理解为表示消除区中的残余非期望噪声。
49.在一个示例中,控制器112可包括非暂态存储介质122和处理器124。在一个示例
中,非暂态存储介质122可存储程序代码,该程序代码在由处理器124执行时实现下述噪声消除和发散检测系统和方法。控制器112可在硬件和/或软件中实现。例如,控制器112可由sharc浮点dsp处理器实现,但应当理解,控制器112可由任何其他处理器、fpga、asic或其他合适的硬件实现。
50.转到图2,其示出了带有发散检测的道路噪声消除系统100的一个示例的框图,该道路噪声消除系统包括由控制器112实现的多个滤波器。如图所示,控制器112可限定包括w
adapt
滤波器126和自适应处理模块128的控制系统。
51.w
adapt
滤波器126被配置为接收参考传感器106的参考传感器信号114并生成噪声消除信号118。如上所述,噪声消除信号118被输入到致动器110,在该致动器处,该噪声消除信号被转换成噪声消除音频信号,该噪声消除音频信号与预定义消除区102中的非期望声音进行相消干涉。w
adapt
滤波器126可被实现为任何合适的线性滤波器,诸如多输入多输出(mimo)有限脉冲响应(fir)滤波器。w
adapt
滤波器126采用一组系数,该组系数定义噪声消除信号118并且可被调整以适应非线性车辆响应于道路输入的变化行为。
52.对系数的调整可由自适应处理模块128执行,该自适应处理模块接收误差传感器信号120和参考传感器信号114作为输入,并且使用这些输入生成滤波器更新信号130。滤波器更新信号130是在w
adapt
滤波器126中实现的滤波器系数的更新。由更新的w
adapt
滤波器126产生的噪声消除信号118将使误差传感器信号120最小化,并且因此使消除区中的非期望噪声最小化。
53.可根据以下公式来更新时间步长n处的w
adapt
滤波器126的系数:
[0054][0055]
其中是致动器110和噪声消除区102之间的物理传递函数的估计,是的共轭转置,y是误差信号,并且x是参考传感器106的输出信号。在更新公式中,参考传感器的输出信号x除以x的范数(表示为||x||2)。
[0056]
如下文所详述,发散检测器300接收误差传感器信号120和参考传感器信号114,并且使用这些输入确定道路噪声消除系统100是否可能是发散的。响应于该测量,道路噪声消除系统100可采取纠正措施以减轻发散。
[0057]
当道路噪声消除系统100正常工作时,它在消除区中应当收敛到无道路噪声,并且因此,在消除区102内与参考信号相关的误差信号的内容应当很少。因此,误差信号中相关内容的增加是发散的指示。因此,发散检测器300在高电平下用于检测误差信号120内的相关内容的增加。
[0058]
图3是用于检测自适应系统(诸如道路噪声消除系统100)中的发散的示例性发散检测器300。如图所示,发散检测器300可以包括相关器302、发散计算器304和阈值检测器306。在该示例中,发散计算器304从相关器302接收与输入信号x(n)相关的误差传感器信号y(n)的分量的功率,并且根据该功率确定表示误差传感器信号y(n)的相关功率的时间梯度的值的时间平均值。阈值检测器306从发散计算器304接收表示该相关功率的时间梯度的值的时间平均值,并将其与用户定义的阈值进行比较。
[0059]
如上所述,相关器302输出表示误差传感器信号y(n)的分量的功率的信号,该误差传感器信号与一个或多个输入信号x(n)相关。同样,如上所述,误差传感器信号y(n)可从单
个误差传感器接收,或者可以是多个误差传感器信号和/或其他信号的组合。此外,误差传感器信号y(n)可在被输入到发散检测器300之前被滤波。还应当理解,输入信号x(n)表示输入到自适应系统的、表示自适应系统适应的环境或上下文的一个或多个信号。在道路噪声消除系统100的示例中,输入信号是参考传感器信号114,例如,加速度计信号。
[0060]
相关器302的功能可分成至少两个单独的任务:(1)找到与一个或多个输入信号x(n)相关的误差传感器信号y(n)的分量,以及(2)找到与该一个或多个输入信号x(n)相关的误差传感器信号y(n)的所述分量的功率,该一个或多个输入信号从例如一个或多个参考传感器(诸如参考传感器106)接收。
[0061]
在道路噪声消除系统100的示例中,参考传感器106可被定位成检测车辆结构中被乘客感知为道路噪声的振动,而误差传感器108可被定位成检测车厢内的所有噪声或车厢内的噪声子集(例如,落入特定消除区内和特定频率范围内的噪声)。在该示例中,误差传感器108将检测车厢中不是道路噪声造成的附加噪声,例如不是车辆结构中的振动造成的附加噪声,诸如车厢内播放的音乐、车厢内乘客的谈话、车辆行进吹过的风等。因此,误差传感器信号y(n)可表示为其分量之和,如下所述:
[0062]
y(n)=ya(n)+y
resi
(n)
ꢀꢀꢀꢀ
(2)
[0063]
其中y
a(n)
是与输入信号x(n)相关的误差传感器信号y(n)的分量,并且y
resi(n)
是与输入信号x(n)不相关的残余分量。在道路噪声消除系统100上下文中,由于自适应系统适于限制道路噪声,因此由误差传感器108检测到的与道路噪声无关的噪声(即,与参考传感器106不相关的分量)不指示自适应系统是发散的还是收敛的。因此,相关器302被配置为使误差传感器信号y(n)与输入信号x(n)相关,从而消除对误差传感器108的无关输入。
[0064]
相关器302可在使误差传感器信号y(n)与输入信号x(n)相关之前或之后找到误差传感器信号y(n)的功率。例如,相关器302可首先确定误差传感器108的功率,然后确定误差传感器信号y(n)的功率的哪个分量与输入信号x(n)的功率相关。(此类系统例如在图4中示出。)另选地,相关器302可首先确定误差传感器信号y(n)的分量与输入信号x(n)相关,然后确定该相关分量的功率。在任一种情况下,相关器的输出是与输入信号x(n)相关的误差传感器信号y(n)的分量的功率。
[0065]
图4描绘了相关器302的一个示例。在该示例中,输入信号(共同表示为x1(n),x2(n),
…
xn(n))(表明可使用任何数量的输入信号)和误差传感器信号y(n)各自被输入到短时间傅里叶变换400,该短时间傅里叶变换计算傅里叶变换并相对于每个相应信号的频率输出频谱。应当理解,尽管示出了短时间傅里叶变换,但可在另选示例中实现将输入信号变换到频域(例如,dct)的任何合适的傅里叶变换或傅里叶相关变换算法。由于输入(y(n),x1(n),x2(n),
…
xn(n))是运行时间序列,其中每个时间样本被顺序地接收,因此输入信号可被缓冲,并在该缓冲器上执行fft或fft相关算法。因此,任何合适的fft算法或fft相关算法可包括附加的缓冲和开窗以考虑运行时间序列输入。此外,应当理解,fft或fft相关算法可限于感兴趣的频带。例如,在道路噪声消除上下文中,stft 400的输出可限于诸如60hz至300hz的范围,因为这通常是道路噪声被消除的频带。
[0066]
stft 400的输出被输入到交叉谱密度矩阵计算器402,该交叉谱密度矩阵计算器确定交叉谱密度矩阵。将交叉谱密度矩阵的输出输入到矩阵对角化404将产生误差传感器信号的不相关分量的功率谱密度的估计。由于误差传感器信号的功率谱密度(其
为交叉谱密度矩阵的最后对角线项)s
y,y
是相关(s
ya,ya
)分量和不相关分量的功率谱密度之和:
[0067][0068]
从s
y,y
中减去将产生误差输出信号的相关分量的功率谱密度的估计如下:
[0069][0070]
即,由减法器406从s
y,y
(交叉谱密度矩阵的最后对角线条目)中减去交叉谱密度矩阵的对角化将产生与输入信号x1(n),x2(n),
…
xn(n)相关的误差传感器信号y(n)的分量的功率谱密度的估计
[0071]
应当理解,与输入信号x1(n),x2(n),
…
xn(n)相关的误差传感器信号y(n)的相关分量的功率的估计可以其他合适方式来计算。实际上,存在例如用于计算功率谱密度以及用于计算误差传感器信号与输入信号之间的互相关的多种方法,此类方法中的任一种方法可适用于各种示例。此外,应当理解,功率谱密度仅仅是表示信号的功率(即,相对于频率)的一种方式,并且在其他示例中,可使用表示信号的功率的不同方法来计算相关功率(以及本公开中所提及的其他功率)。将相关分量输入到发散计算器304。
[0072]
除了误差传感器信号的相关功率之外,还可将输入信号的功率输入到发散计算器304。这例如在图4中示出,其中对交叉谱密度矩阵的前n个对角线项求和,以产生输入信号的功率谱密度之和,由下式给出:
[0073][0074]
在时间索引n和频率仓k处。然后将输入信号的功率谱密度之和s
x,x[n,k]
输入到发散计算器304,如图5a所示。
[0075]
上文计算的功率谱密度可例如使用256个频率仓的帧尺寸。优选地,分辨率应至少与自适应滤波器的分辨率一样多,在一个示例中,为125个抽头。此外,用于计算功率谱密度的时间平均窗口的长度可为大约50秒,但也可使用其他时间长度。在功率谱密度计算期间,相邻帧的时间重叠长度可为大约95%,使得用于发散估计的速率为大约每3.2秒一次。应当理解,结合对本公开的回顾,这些参数可被调整以适应发散检测器300的上下文和自适应系统的要求。
[0076]
发散检测器300被配置为确定相关功率是否发散(例如,可能不受约束地或不返回到可接受水平地增大)的可能性。当然,任何自适应系统将经历增长时段和收敛时段。例如,道路噪声消除系统100将(如果正确操作的话)通常消除存在于车厢中的道路噪声,并且因此传感器信号的相关功率将通常收敛到零。然而,随着道路噪声的特性发生变化并且道路噪声消除系统适应于这些变化,将存在道路噪声将在车厢中增长(并且因
此误差传感器信号的相关分量的功率将增长)的时段。只要噪声消除系统100适应于这些变化,并且相关功率再次收敛到零,这就不是问题;而是表明自适应系统正在正常工作。然而,如果道路噪声开始不受抑制地增长,并且自适应系统未能对其消除,或者更糟的是使其加剧,则这可表明自适应系统是发散的。
[0077]
如上所述,为了确定自适应系统是否可能是发散的,发散检测器300可包括发散计算器304和阈值检测器306。发散计算器304可随时间推移对表示相关功率的时间梯度的值进行平均。该平均值对应于对自适应系统的发散程度的估计,其可被输入到阈值检测器306,该阈值检测器将所确定的发散程度与用户定义的阈值进行比较。如果超过该阈值,则可采取纠正措施,如下文所述。
[0078]
如图5a所示,在一个示例中,发散计算器304可包括时间梯度计算器500和平均值计算器502。输入到时间梯度计算器500的相关功率可以是相关功率本身,或者以分贝为单位的相关功率,例如通过下式确定:
[0079][0080]
其中同样是样本n和频率仓k处的相关功率。
[0081]
由于产生更大道路噪声(或其他自适应系统中的其他更高功率信号)的环境变化通常将导致输入功率和相关功率的瞬时增加,因此通过反映输入信号功率的增加的值来归一化相关功率也是有用的。此类值可以是例如输入信号x1(n),x2(n),
…
xn(n)的平均功率。另选地,输入功率之和s
x,x
[n,k]可例如通过示出的下式来使用:
[0082][0083]
其中s
x,x
[n,k]由公式(5)给出。在各种示例中,可使用输入信号功率的平均值,或者可使用指示输入信号功率的其他值来提供相关功率的归一化值。
[0084]
此外,可引入频率校正w[k]以确保根据用户定义的重要性来校正相关功率与输入功率之和s
x,x
[n,k](例如,由于加速度计和耳朵之间的传输)的比率中的任何频率相关的衰减,如下所述:
[0085][0086]
无论用于确定g[n,k]的方法如何,对于给定时间和给定频率,g[n,k]的时间梯度可通过下式确定:
[0087]
δg[n,k]=g[n,k]-g[n-1,k]
ꢀꢀꢀꢀ
(9)
[0088]
其中g[n,k]是当前(或最新)样本和给定频率(例如,频率仓k)处的相关功率,并且g[n一1,k]是前一样本在相同频率处的相关功率。
[0089]
因此,时间梯度计算器500将输出表示相关功率的时间梯度的值δg[n,k]。该输出将被输入到平均值计算器502以对样本数量ta进行平均,如下所述:
[0090][0091]
以得到平均时间梯度avggradient[n,k]。平均时间梯度avggradient[n,k]将表示相关功率的平均增加,并因此将表示在接收样本ta的时间段内的所估计的发散程度。针对其平均时间梯度δg[n,k]的样本数量ta可由用户定义,短的平均时间将产生快速发散程度,而较长的平均将使快速发散平滑,从而产生较长发散程度。为此,同时运行短期平均和长期平均两者可能是有用的,如下文将结合图5c所述。
[0092]
除了定义时间梯度之外,如图5b所示,时间梯度计算器输出δg[n,k]可首先被输入到平滑器504,该平滑器用于使新的值平滑趋于平均值。例如,平滑器可使用指数滑动平均值,其由下式给出:
[0093]
δg
smooth
[n,k]=(1-α)δg[n,k]+αδg[n-1,k]
ꢀꢀ
(11)
[0094]
其中α为用户定义的介于0和1之间的平滑值。如果α被设定为例如0.1,则指数滑动平均值的结果将比针对较旧样本计算的时间梯度更重地加权针对新样本计算的时间梯度。因此,这将使新样本仅小幅度地“扣减”,使得平滑时间梯度δg
smooth
[n,k]反映在短时间段(例如,2分钟)内发生的梯度变化。另选地,如果α被设定为例如0.99,则新样本将被严重扣减以利于针对较旧样本计算的时间梯度。此类α值的最终结果将是对较旧时间梯度更重地加权,使得所得平滑时间梯度δg
smooth
[n,k]更好地反映在较长时间段(例如,5分钟或更长)内发生的梯度变化。
[0095]
可将平滑器504的输出δg
smooth
[n,k]与平均样本长度ta协调以专注于短期发散或长期发散。换句话说,较小α值将为较新的时间梯度值提供较大的权重,较短ta也将提供较大的权重。因此,发散计算器304可通过选择较小α和较短ta而专注于短期发散。然而,此类发散计算器304将无法识别长期发散。因此,发散计算器304可另选地通过选择较高α和较长ta而专注于长期发散。
[0096]
应当理解,由公式(11)定义的指数滑动平均值仅为使值平滑的一种方式。实际上,可使用任何其他合适的滑动平均或滤波来平滑时间梯度,以利于较新或较旧的值。
[0097]
然而,如果时间梯度(发散或会聚)中的峰值出现并非常快地解析,则平均时间梯度avggradient[n,k]可能无法准确反映发散程度。实际上,此类峰值可对平均时间梯度avggradient[n,k]具有过大的影响,从而使结果以某种方式偏斜。此外,可能难以准确地设置阈值检测器306的阈值,因为快速发散值和缓慢发散值可能跨越很大范围的正值。因此,缓慢发散可被错误识别为收敛的。
[0098]
因此,如图5b所示,每个平滑时间梯度可被输入到标记设置器506,该标记设置器根据时间梯度是在增长(即,高于或等于零)还是收缩(即,小于零)来分配值1或0,如下所述:
[0099][0100]
因此,根据公式(12)设置标记将根据每个样品是在增长(发散)还是收缩(收敛)来
广义地表征每个样品的平滑时间梯度。当然,1和0仅作为示例提供,可使用用于标记的任何其他值。
[0101]
因此,标记设置器506的输出是表示相关功率的时间梯度的值,根据时间梯度是高于零还是低于零来广义地表征每个样本或平滑样本。因此,在图5b的示例中,平均值计算器将如下计算表示相关功率的时间梯度的值的平均值:
[0102][0103]
在该示例中,在使用标记值1和0的情况下,平均时间梯度avggradient[n,k]将落在0和1之间。如果avggradient[n,k]的值更接近o,则其将表示低发散程度;然而,如果该值更接近1,则其将表示高发散程度。在该示例中,平均时间梯度avggradient[n,k]可被认为是粗略的发散概率,因为值落在0和1之间。
[0104]
标记设置器506可与平滑器504或不与平滑器504结合使用。因此,在不同的示例中,标记设置器506可接收来自时间梯度计算器500或来自平滑器504的输出。类似地,在另选的示例中,发散计算器304可在没有标记设置器506的情况下将平滑器504的输出直接输入到平均值计算器502,在这种情况下,平均值计算器502的平均时间梯度将被计算为:
[0105][0106]
因此,在单独的示例中,表示时间梯度的值可在具有或不具有平滑器504以及在具有或不具有标记设置器506的情况下计算。
[0107]
如上所述,发散计算器304可以并行地计算多个概率avggradient[n,k],每个并行分支利用唯一的样本长度ta。此类情况的示例在图5c中示出,其中多个分支(每个分支包括平均值计算器)接收时间梯度计算器500的输出,并且使用所计算的时间梯度分别计算唯一长度的时间平均值。换句话讲,每个平均值计算器可使用不同的样本长度ta将时间平均值应用于时间梯度。例如,如图所示,第一分支508包括短期平均值计算器512,其利用短样本长度ta(例如,2分钟),从而产生短期平均时间梯度avggradients[n,k]。而第二分支510例如包括长期平均值计算器514,其利用长样本长度ta(例如,5分钟),从而产生长期平均时间梯度avggradient
l
[n,k]。应当理解,虽然示出了两个分支,但可使用任何数量的分支,每个分支计算不同的长度平均时间梯度。
[0108]
又如,如图5d所示,每个分支可包括平滑器和/或标记设置器506中的一者或两者。每个分支中的平滑器可被配置为应用与相应平均值计算器的长度相协调的α值。例如,包括短期平均值计算器512的分支516可包括短期平滑器520,该短期平滑器例如具有小的α值,因此对较新值更重地加权。而包括长期平均值计算器514的分支518可包括长期平滑器522,该长期平滑器具有大的α值,因此对较旧值更重地加权。
[0109]
在任一种情况下,发散计算器304的输出可通过最大值524计算为每个样本和频率的分支的最大值,使得:
[0110]
avggradient[n,k]=max(avggradient
l
[n,k],avggradients[n,k])
ꢀꢀꢀ
(15)
[0111]
然而,对avggradient[n,k]的某些频率输出比其他频率输出更高地加权可能是有用的。例如,在某些频率下,相关功率谱密度可具有零值,而在其他频率下,相关功率谱密度可具有峰值。如果误差信号中存在峰值,则优选的是尽早检测其发散,因为增长的峰值将对用户更明显;然而,如果存在零值,则其功率在发散被标记之前增加一定量是可以接受的。因此,如图5e所示,根据以下公式,每个频率可由相对重要性因子计算器526根据相对重要性进行加权:
[0112][0113]
换句话说,可以将给定频率下的每个样本乘以一个值,该值对应于该频率下样本的功率与最小预期相关功率之间的差值和最大预期相关功率与最小预期相关功率之间的差值的商数。如果样本具有大量功率,则其将快速超过阈值检测器的阈值,因为其相对重要性将相对较大。如果具有少量功率的样本开始发散,则其相对重要性将随着其功率增加而增长,最终标记阈值检测器306。
[0114]
然后可通过用乘法器528将特定频率的每个平均时间梯度avggradient[n,k]乘以给定频率下样本的相对重要性i[n,k]来给出发散计算器输出,如下所示:
[0115]
avggradientweighted[n,k]=avggradient[n,k]i[n,k]
ꢀꢀꢀ
(17)
[0116]
应当理解,由公式(15)给出的用于计算相对重要性的上述示例仅仅是用于分配相对重要性的方法的一个示例。实际上,可根据用于根据给定频率下的样本的功率对给定样本进行加权的任何方法来分配相对重要性。
[0117]
返回图3,如上文简述的,将表示时间梯度的值(来自发散计算器304的输出306)输入到阈值检测器306。阈值检测器将表示时间梯度avggradient[n,k]的值的时间平均值与阈值进行比较,以确定发散程度是否足够大以使纠正措施有必要进行。阈值可以是用户定义的,并且将至少部分地取决于由发散计算器304计算的平均时间梯度avggradient[n,k]的性质。例如,如果发散计算器不采用标记设置器,则阈值将可能被设置为接近零,因为时间梯度计算器500和平滑器504的输出值通常表示样本在大于零的情况下是发散的,并且在小于零的情况下是收敛的。然而,如果使用标记设置器506,则阈值将可能接近低标记值和高标记值之间的中点。因此,如上所述,如果平滑器504(或时间梯度计算器500)的低于零的每个输出被分配低标记值0,并且平滑器504的大于零的每个输出被分配高标记值1,则0和1之间的中点为0.5。因此,可假设发散计算器304的大于0.5的任何输出指示发散,并且可采取纠正措施。同样,又如,如果将低标记值被设置为0并且高标记值被设置为4,则指示发散可能性的中点可为2。
[0118]
然而,应当理解,可通过改变阈值的水平来调整发散检测器300的“灵敏度”。可通过降低阈值使发散检测器300对发散更敏感。例如,查看在没有标记设置器506的情况下的发散检测器300的示例,阈值可被设置为-0.05,以要求平均时间梯度(或平滑时间梯度)通常为收敛的。虽然降低阈值将使发散检测器300对发散更敏感(并且如果发生的话将更快地采取措施),但其也将对假阳性更敏感。因此,如果要使发散检测器不那么容易受到假阳性的影响,则可将阈值设置为高于零,例如设置为0.05。同样,在具有标记设置器506(例如,低
标记值0和高标记值1)的示例中,阈值可被设置为0.6以减少假阳性。通常可能需要将阈值设置为高于0(在没有标记设置器506的示例中)和高于0.5(在具有标记设置器的示例中),因为具有零平均值和有限平均化的随机信号通常将围绕0或0.5(在不同示例中)波动,因此可使用略大的阈值来减少假阳性。
[0119]
图6a示出了阈值检测器306的示例。在该示例中,阈值检测器306可采用跨所有频率的最大值600和比较器602。跨所有频率的最大值600确定由发散计算器304输出的跨每个频率的最大平均时间梯度avggradient[n,k]。例如,跨所有频率的最大值计算器600可接收逐个样本的每个频率的平均时间梯度avggradient[n,k],确定哪个频率表现出最高的平均时间梯度avggradient[n,k],并将该平均值输入到比较器。因此,跨所有频率的最大值的输出可表征如下:
[0120]
maxavggradient[n]=max(avggradient[n,k])
all frequencies
ꢀꢀ
(18)
[0121]
如上所述,比较器602可简单地将所接收的最大平均时间梯度maxavggradient[n]与预定阈值进行比较。在一个示例中,比较器602可以输出指示发散或收敛的最终标记值。例如,比较器602可在最大平均时间梯度maxavggradient[n]低于阈值的情况下输出0,并且在最大平均时间梯度maxavggradient[n]高于阈值的情况下输出1,如下所述:
[0122][0123]
(0.6仅作为示例性阈值提供)。
[0124]
应当理解,在另选的示例中,可将跨所有频率的最大值计算器600排除,使得比较器可以比较针对每个频率计算的每个平均时间梯度avggradient[n,k],而不是仅比较每个样本的所有频率的最大平均时间梯度maxavggradient[n]。
[0125]
如果在自适应系统中采用多个误差传感器(例如,在道路噪声消除系统100中采用多个麦克风),则这些误差信号中的每个误差信号的相关功率可分别输入到并行发散计算器304。这些并行发散计算器304的输出可通过平均值计算器604逐个样本和频率地进行平均,该平均值计算器的输出可被输入到跨所有频率的最大值600。在该示例中,跨频率的最大值的输出可表征如下:
[0126]
maxavggradient[n]=max(mean(avggradient[n,k])
all signals
)
all frequencies
ꢀꢀꢀ
(20)
[0127]
结合附图3至图6b描述的上述示例基于逐个样本、逐个频率确定平均时间梯度avggradient[n,k]。换句话讲,发散计算器304的输出将针对每个频率或由图4的stft 400输出的至少一个频率子集输出该样本的相应发散程度。然而,在另选的实施方案中,可使用不同的功率值。例如,相关功率可以是每个样本跨所有频率的平均功率。另选地,可计算针对每个样本仅一个频率的相关功率。因此,平均时间梯度不一定针对多个频率重复。这些示例将以减少粒度为代价带来更高的处理效率。
[0128]
如上所述,一旦发散计算器的输出超过阈值检测器306的预定阈值,就可以采取纠正措施。在各种示例中,此类纠正措施可以是:关闭自适应系统,将自适应系统重启至默认或存储的先前收敛状态,减小步长大小以减慢自适应系统的自适应并且减小随时间推移的发散的影响,缩减自适应滤波器并且“冻结”当前状态下的自适应,或者针对自适应滤波器的发散的特定频率,通过对那些频率进行滤波以减小其增益、减小相对于那些频率的自适应滤波器系数、或者冻结对应于那些频率的自适应。由于该最终示例仅针对某些频率,因此
允许自适应滤波器的剩余非发散频率照常继续自适应。
[0129]
图7a描绘了响应于道路噪声消除系统由发散计算器304输出的示例性平均时间梯度avggradient[n,k]的曲线图。覆盖在图7a上的阈值线700描绘了用于确定已出现发散的示例性阈值。图7b描绘了阈值检测器306的推论输出。在平均时间梯度avggradient[n,k]超过图7a中的阈值的每种情况下,在图7b中的阈值检测器306的输出处将标记设置为1。
[0130]
上述用于检测发散的系统和方法通过允许计算机检测自适应系统何时发散(这是先前无法由计算机执行的事情)来改善计算机的功能。此外,上述系统通过允许计算机一旦在自适应系统中检测到发散就采取纠正措施来改善计算机的功能。
[0131]
本文所述的功能或其部分,以及其各种修改(下文称为“功能”)可至少部分地经由计算机程序产品实现,例如在信息载体中有形实施的计算机程序,诸如一个或多个非暂态机器可读介质或存储设备,用于执行,或控制一个或多个数据处理装置,例如可编程处理器、计算机、多个计算机和/或可编程逻辑部件的操作。
[0132]
计算机程序可以任何形式的编程语言被写入,包括编译或解释语言,并且它可以任何形式部署,包括作为独立程序或作为模块、部件、子例程或适于用在计算环境中的其他单元。计算机程序可被部署在一个计算机上或在一个站点或多个站点分布以及通过网络互联的多个计算机上执行。
[0133]
与实现全部或部分功能相关联的动作可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以执行校准过程的功能。功能的全部或部分可被实现为专用目的逻辑电路,例如fpga和/或asic(专用集成电路)。
[0134]
适用于执行计算机程序的处理器例如包括通用微处理器和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。一般来讲,处理器将接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的部件包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。
[0135]
虽然本文已描述和示出了若干发明实施方案,但本领域的普通技术人员将易于设想用于执行本文所述的功能和/或获得本文所述的结果和/或优点中的一个或多个的多种其他装置和/或结构,并且此类变型和/或修改中的每一个被认为在本文所述的本发明实施方案的范围内。更一般地,本领域的技术人员将容易理解,本文所述的所有参数、尺寸、材料和构型旨在为示例性的,并且实际参数、尺寸、材料和/或构型将取决于使用本发明教导内容的一个或多个具体应用。本领域的技术人员将认识到或仅使用常规实验就能够确定本文所述的具体的发明实施方案的许多等同物。因此,应当理解,上述实施方案仅以举例的方式呈现,并且在所附权利要求及其等同物的范围内,可以不同于具体描述和要求保护的方式来实践发明实施方案。本公开的发明实施方案涉及本文所述的每个单独的特征、系统、制品、材料和/或方法。此外,如果此类特征、系统、制品、材料和/或方法不相互矛盾,则两个或更多个此类特征、系统、制品、材料和/或方法的任何组合包括在本公开的发明范围内。