掌桥专利:专业的专利平台
掌桥专利
首页

用于检测自适应系统中的发散的系统和方法

文献发布时间:2024-04-18 19:52:40


用于检测自适应系统中的发散的系统和方法

相关申请的交叉引用

本申请要求于2020年7月22日提交的名称为“用于检测自适应系统中的发散的系统和方法(Systems and Methods for Detecting Divergence in an Adaptive System)”的美国专利申请序列号16/935,979的优先权,其全部公开内容以引用方式并入本文。

背景技术

本公开整体涉及用于检测自适应系统中的发散的系统和方法。

发明内容

下文提及的所有示例和特征均可以任何技术上可能的方式组合。

根据一个方面,一种存储用于检测噪声消除系统中的发散或不稳定性的程序代码的非暂态存储介质,该程序代码由处理器执行,包括以下步骤:确定误差信号在第一频率下的分量的功率,该分量与噪声消除信号相关,噪声消除信号由自适应滤波器产生并且被配置为当被转换成声学信号时消除预定体积内的噪声,其中误差信号表示预定体积内的残余噪声的幅度;确定误差信号的分量功率的时间梯度;以及将度量与阈值进行比较,其中该度量至少部分地基于误差信号的分量功率的时间梯度在一个时段内的值。

在一个示例中,程序代码还包括以下步骤:在确定度量超过阈值之后,将自适应滤波器的第一组系数转变成自适应滤波器的第二组系数。

在一个示例中,程序代码还包括以下步骤:如果由于将第一组系数转变成第二组系数,相关分量的功率开始减小,则减慢自适应滤波器的适配速率。

在一个示例中,程序代码还包括以下步骤:在确定度量在存储第二组系数的第二时段内超过阈值之后,转变成自适应滤波器的第三组系数。

在一个示例中,该度量是该时段内的时间梯度的滤波后的表示,其中用低通滤波器对该时间梯度的表示进行滤波。

在一个示例中,根据第一频率,选择低通滤波器的截止频率。

在一个示例中,程序代码还包括以下步骤:将第二度量与第二阈值进行比较,其中第二度量基于误差信号在第一频率下的分量的功率与误差信号在至少第二频率下的分量的功率的比较。

在一个示例中,程序代码还包括以下步骤:在确定度量超过阈值或第二度量超过第二阈值之后,将自适应滤波器的第一组系数转变成自适应滤波器的第二组系数。

在一个示例中,程序代码还包括以下步骤:如果由于将第一组系数转变成第二组系数,相关分量的功率开始减小,则减慢自适应滤波器的适配速率。

在一个示例中,第二度量是误差信号在第一频率下的分量以及误差信号在第二频率下的分量的相对功率的滤波后的表示,其中用低通滤波器对该相对功率的表示进行滤波。

根据另一方面,一种用于检测噪声消除系统中的发散的方法,包括:确定误差信号在第一频率下的分量的功率,该分量与噪声消除信号相关,该噪声消除信号由自适应滤波器产生并且被配置为当被转换成声学信号时消除预定体积内的噪声,其中误差信号表示预定体积内的残余噪声的幅度;确定误差信号的分量功率的时间梯度;以及将度量与阈值进行比较,其中该度量至少部分地基于误差信号的分量功率的时间梯度在一个时段内的值。

在一个示例中,该方法还包括以下步骤:在确定度量超过阈值之后,将自适应滤波器的第一组系数转变成自适应滤波器的第二组系数。

在一个示例中,该方法还包括以下步骤:如果由于将第一组系数转变成第二组系数,相关分量的功率开始减小,则减慢自适应滤波器的适配速率。

在一个示例中,该方法还包括以下步骤:在确定度量在存储第二组系数的第二时段内超过阈值之后,转变成自适应滤波器的第三组系数。

在一个示例中,该度量是该时段内的时间梯度的滤波后的表示,其中用低通滤波器对该时间梯度的表示进行滤波。

在一个示例中,根据第一频率,选择低通滤波器的截止频率。

在一个示例中,该方法还包括以下步骤:将第二度量与第二阈值进行比较,其中第二度量基于误差信号在第一频率下的分量的功率与误差信号在至少第二频率下的分量的功率的比较。

在一个示例中,该方法还包括以下步骤:在确定度量超过阈值或第二度量超过第二阈值之后,将自适应滤波器的第一组系数转变成自适应滤波器的第二组系数。

在一个示例中,该方法还包括以下步骤:如果由于将第一组系数转变成第二组系数,相关分量的功率开始减小,则减慢自适应滤波器的适配速率。

在一个示例中,第二度量是误差信号在第一频率下的分量以及误差信号在第二频率下的分量的相对功率的滤波后的表示,其中用低通滤波器对该相对功率的表示进行滤波。

一个或多个具体实施的细节在附图和以下描述中论述。其他特征、对象和优点在说明书、附图和权利要求书中将是显而易见的。

附图说明

在附图中,在所有不同视图中,类似的参考符号通常是指相同的部件。此外,附图不一定按比例绘制,重点通常放在说明各个方面的原理上。

图1描绘了根据一个示例的道路噪声消除系统的示意图。

图2描绘了根据一个示例的具有发散检测的道路噪声消除系统的框图。

图3A描绘了根据一个示例的用于检测自适应系统中的发散的方法的流程图。

图3B描绘了根据一个示例的用于检测自适应系统中的发散的方法的流程图。

图3C描绘了根据一个示例的用于检测自适应系统中的发散的方法的流程图。

图3D描绘了根据一个示例的用于检测自适应系统中的发散的方法的流程图。

图3E描绘了根据一个示例的用于检测自适应系统中的发散的方法的流程图。

图3F描绘了根据一个示例的用于检测自适应系统中的发散的方法的流程图。

图3G描绘了根据一个示例的用于检测自适应系统中的发散的方法的流程图。

具体实施方式

自适应系统,诸如噪声消除系统,通常采用反馈或前馈拓扑结构来根据环境的要求调整自适应系统参数。一般来讲,这些系统将收敛于使特定值最小化的状态。例如,噪声消除系统可根据来自误差传感器的反馈来调整参数,以便使特定区域内的噪声最小化。在这种情况下,噪声消除系统将在该区域内收敛到零噪声。

然而,如果自适应系统发生故障,则该系统可能偏离特定值。在最坏的情况下,这将使预期值加剧而不是最小化。因此,在噪声消除示例中,发散的噪声消除系统可能将噪声添加到该区域,而非消除噪声。

本文所公开的各种示例涉及用于检测自适应系统(诸如噪声消除系统)中的发散的系统。在一些示例中,一旦检测到发散,就可采取纠正措施以减轻发散对自适应系统的影响。

图1是示例性噪声消除系统100的示意图。噪声消除系统100可以被配置为与预定义体积104(诸如车辆车厢)内的至少一个消除区102中的非期望声音进行相消干涉。在高电平下,噪声消除系统100的一个示例可包括参考传感器106、误差传感器108、致动器110和控制器112。

在一个示例中,参考传感器106被配置为生成表示预定义体积104内的非期望声音或非期望声音的来源的噪声信号114。例如,如图1所示,参考传感器106可以是一个加速度计或多个加速度计,其安装并配置为检测通过车辆结构116传输的振动。通过车辆结构116传输的振动由该结构转换成车辆车厢内的非期望声音(被感知为道路噪声),因此安装到该结构的加速度计提供表示该非期望声音的信号。

致动器110可例如是分布在围绕预定义体积的周边的离散位置的扬声器。在一个示例中,可将四个或更多个扬声器设置在车辆车厢内,该四个扬声器中的每个扬声器位于该车辆的相应门内并且被配置为将声音投射到车辆车厢内。在另选的示例中,扬声器可位于头枕内或车辆车厢内的其他位置。

噪声消除信号118可由控制器112生成并提供给预定义体积中的一个或多个扬声器,该一个或多个扬声器将噪声消除信号118转换为声能(即,声波)。由于噪声消除信号118所产生的声能与消除区102内的非期望声音大约180°异相,并且因此与该非期望声音进行相消干涉。从噪声消除信号118生成的声波与预定义体积中的非期望噪声的组合带来非期望噪声的消除,这由消除区中的收听者所感知。

由于噪声消除无法在整个预定义体积中相等,因此噪声消除系统100被配置为在该预定义体积内的一个或多个预定义消除区102内产生最大噪声消除。消除区内的噪声消除可使得非期望声音减少大约3dB或更多(尽管在不同示例中,可能发生不同的噪声消除量)。此外,噪声消除可消除一定频率范围内的声音,诸如小于大约350Hz的频率(尽管其他范围也是可能的)。

设置在预定义体积内的误差传感器108基于对残余噪声的检测来生成误差传感器信号120,该残余噪声由从噪声消除信号118生成的声波和消除区中的非期望声音的组合产生。误差传感器信号120作为反馈提供给控制器112,误差传感器信号120表示未被噪声消除信号消除的残余噪声。误差传感器108可以是例如安装在车辆车厢内(例如,车顶、头枕、支柱或车厢内的其他位置)的至少一个麦克风。

应当指出的是,消除区可远离误差传感器108定位。在这种情况下,误差传感器信号120可被滤波以表示对消除区中的残余噪声的估计值。在任一种情况下,误差信号将被理解为表示消除区中的残余非期望噪声。

在一个示例中,控制器112可包括非暂态存储介质122和处理器124。在一个示例中,非暂态存储介质122可以存储程序代码,该程序代码在由处理器124执行时实现下文描述的各种滤波器和算法。控制器112可以在硬件和/或软件中实现。例如,控制器可由SHARC浮点DSP处理器实现,但应当理解,控制器可由任何其他处理器、FPGA、ASIC或其他合适的硬件实现。

转到图2,示出了噪声消除系统100的一个示例的框图,该噪声消除系统包括由控制器112实现的多个滤波器。如图所示,控制器可限定包括W

W

对系数的调整可由自适应处理模块128执行,该自适应处理模块接收误差传感器信号120和噪声信号114作为输入,并且使用这些输入生成滤波器更新信号130。滤波器更新信号130是在W

可根据以下公式,更新在时间步长n处的W

其中

在应用中,滤波器的总数通常等于参考传感器的数量(M)乘以扬声器的数量(N)。每个参考传感器信号被滤波N次,然后每个扬声器信号作为M个信号的总和(每个传感器信号由对应的滤波器滤波)获得。

如下文所详述,发散检测器300接收误差传感器信号120和噪声消除信号118,并且使用这些输入确定道路噪声消除系统100是否可能是发散的或不稳定的。响应于该测量,道路噪声消除系统100可采取纠正措施以减轻发散或不稳定性。通过监测误差传感器信号120的应当由自适应系统最小化的分量的功率,发散检测器300可以检测发散和/或不稳定性。例如,在道路噪声消除系统100的环境中,应当将与道路噪声相关的误差信号120的分量功率保持很小。如果与道路噪声相关的误差信号120的分量功率开始增加,则可以确定,自适应滤波器W

如上所述,在道路噪声消除系统100的示例中,参考传感器106可被定位成检测车辆结构中被乘客感知为道路噪声的振动,而误差传感器108可被定位成检测车厢内的所有噪声或车厢内的噪声子集(例如,落入特定消除区内和特定频率范围内的噪声)。在该示例中,误差传感器108将检测车厢中不是道路噪声造成的附加噪声,例如不是车辆结构中的振动造成的附加噪声,诸如车厢内播放的音乐、车厢内乘客的谈话、车辆行进吹过的风等。因此,误差传感器信号y(n)可表示为其分量之和,如下所述:

y(n)=y

其中,出于本公开的目的,y

与道路噪声相关的误差传感器信号120的分量y

一旦估计了误差信号分量,可使用几种方法中的至少一种方法来检测发散或不稳定性的出现。一种此类方法是:随时间的推移,监测误差信号分量的功率,以确定它是增加还是减小。同样,如上所述,噪声消除系统所针对的噪声功率通常应当随时间的推移而减小或保持相对恒定。如果误差信号分量的功率开始增加,则证明自适应滤波器已经发散。因此,可以随时间推移,监测误差信号分量的时间梯度或与该时间梯度相关的某一度量,以确定自适应滤波器是否已经发散。

然而,按这种方式监测时间梯度可能错过迅速增加的发散。此类发散可能使自适应滤波器快速饱和,因此误差传感器分量的时间梯度功率在变为零之前,将暂时为正。因为一旦自适应滤波器饱和,时间梯度将保持恒定,所以用于检测发散的第一方法可能无法记录发散。因此,检测发散的第二方法可以用作失效保护。

在一个示例中,第二方法可以确定误差信号分量在多个频率内的相对功率。换句话说,在发散的情况下,在至少一个频率窗口处的误差信号分量的功率将远大于在至少一个其他频率窗口中的功率。在此情况下,可通过监测每个频率窗口中的功率相对于一个或多个其他频率窗口的相对幅度来检测发散。例如,误差信号分量的每个频率窗口可以单独地与一个或多个其他频率窗口进行比较,以查看每个频率窗口是否超过其他频率窗口中的功率某个预定值。可以在标记发散已经发生之前的某一时段内,监测该相对功率。

如果根据上述方法中的至少一种方法检测到发散,则可以采取至少一项措施来减轻发散的影响并试图使自适应滤波器恢复至收敛和稳定状态。一种此类方法是:将自适应滤波器的系数转变成先前存储的一组系数。先前存储的一组系数可以是最近存储的一组系数或者可以是一组默认系数。因为先前存储的系数可能不发散,所以恢复该组系数将很可能解决发散。然而,在一些情况下,在存储一组系数的短时段内发生了发散的情况下,可检索并实现不同的一组系数(例如,默认的一组系数)而非最近存储的一组系数,因为最近先前存储的系数可能遭到破坏。在大多数情况下,不同的一组系数是默认的一组系数,诸如出厂设置,尽管也可使用其他系数组,诸如在车辆熄火期间或发动时存储的系数、或在先前存储的系数之前的某个时间点另外存储的系数。

除了恢复系数之外,可减慢自适应的速率,以降低如果引起第一发散的条件仍然有效时可能发生第二发散的风险。实际上,在一个示例中,可以将适配速率减慢到自适应滤波器变成固定滤波器的程度。然而,为了避免在发散是误报的情形下(例如,常见于古典音乐中的这类音调声音使第二方法检测到假发散的情况下)减慢自适应,可以在转变之后,对检测到发散的频率窗口进行监测。如果频率窗口的功率减小,则可认为所检测到的发散是实际存在的发散,并且可以相应地减慢适配速率。然而,如果频率窗口的功率没有减小,则可认为所检测到的发散是假发散,并且可以保持适配速率不变。

下文将结合图3A-图3G更详细地讨论这些检测发散并减轻发散的方法和其他方法。

同样,图1和图2的噪声消除系统100仅作为此类系统的示例提供。该系统、该系统的变型和其他合适的噪声消除系统可在本公开的范围内使用。例如,虽然已经结合最小均方滤波器(LMS/NLMS)描述了图1和图2的系统,但是在其他示例中,可以实现不同类型的滤波器,诸如用递归最小二乘(RLS)滤波器实现的滤波器。同样地,虽然已经描述了具有反馈的噪声消除系统,但是在替代示例中,此类系统可以采用前馈拓扑结构。此外,虽然已经描述了用于消除道路噪声的车辆实现的噪声消除系统,但是可以使用任何合适的噪声消除系统。

图3A-图3G描绘了一种用于检测自适应系统(诸如噪声消除系统100)中的发散的方法300的流程图。如上所述,该方法可以由计算设备诸如控制器112来实现。一般来讲,计算机实现方法的步骤存储在非暂态存储介质中并且由计算设备的处理器执行。然而,至少一些步骤可以在硬件中而非由软件来执行。

首先转到图3A,在步骤302处,接收噪声消除信号,该噪声消除信号被配置为消除预定体积内的噪声。例如,该噪声消除信号可以被配置为消除车辆车厢内至少一个消除区域内的噪声(如上文结合图1的示例所述)。在另一示例中,如果在一对噪声消除耳机中采用了噪声消除系统,则该噪声消除信号可被配置为消除由设置在用户耳朵周围的耳机的耳杯所产生的预定体积中的噪声。

在步骤304处,接收表示预定体积中的残余噪声的误差信号。该误差信号可以是从误差传感器(诸如产生误差传感器信号120的误差传感器108)接收的误差信号。另选地,该误差信号可以从被配置为检测该体积内的残余(即,未消除的)噪声的任何误差传感器接收,诸如来自设置在一对噪声消除耳机内的误差麦克风的误差信号。此外,可以接收一个以上的误差信号。例如,可以将多个误差传感器设置在车辆车厢内。可以单独地使用这些误差信号(例如,可以针对每个接收到的误差信号重复下文所述的方法步骤),或者可以按某种方式将这些误差信号进行组合,从而形成复合误差信号(出于本公开的目的,该复合误差信号仍被视为“误差信号”)。在一个示例中,通过求平均,可以将这些误差信号进行组合。然而,预期可以使用多种其他将多个误差信号组合的方式。在另一示例中,针对方法300的一次给定迭代,可以从多个误差信号中选择一个误差信号。例如,如下将述,针对方法300的一次给定运行,可以从多个误差信号中选出针对一个给定频率的最大功率值。

在步骤306处,确定误差信号在与噪声消除信号相关的第一频率下的功率。如上所述,这是一种确定误差信号分量的有效方法,该方法是对与噪声消除系统所降低的噪声相关的误差信号分量的估计。该相关过程可通过任何合适的方法来实现,诸如通过将误差信号输入到将噪声消除信号用作参考信号的最小均方算法中。为了确定误差信号分量在第一频率下的功率,可以将相关信号输入到频率变换算法中,该算法产生作为频率的函数的误差信号分量的绝对值。可使用任何合适的频率变换算法,诸如离散傅立叶变换、快速傅立叶变换、离散余弦变换等。当然,使用频率变换算法(诸如,上文所识别的频率变换算法)将可能产生误差信号分量在多于仅一个频率下的功率,但可以将此频率中的一个频率选为“第一频率”(即,受测频率)而用于方法300的其余步骤。应当理解,在方法300的并发或迭代循环中,可将其余频率(即,未被选为“第一频率”的频率)选为“第一频率”。换句话说,针对每个频率,或者针对频率变换算法中可见的频率子集,可重复方法300。如上所述,在从多个误差传感器接收多个误差信号的情况下,可以针对每个误差信号,找到误差传感器分量的功率,并且出于方法300的其余步骤的目的,可以将第一频率的最大功率值选为第一频率下的功率。

在步骤308处,通过用低通滤波器对功率进行滤波,可以使误差信号分量在第一频率下的功率平滑化。在数学上,根据信号的频率变换的期望值,找到信号的功率谱。找到期望值的实际方式是使用低通滤波器。该步骤通常假设,可以将第一频率下(即,来自先前样本中)的误差信号分量的功率的至少一个历史值输入到低通滤波器中,因为该滤波器将根据数学函数,参照历史值,使误差信号分量的功率平滑化。在替代示例中,可使用其他平滑技术以找到期望值,诸如使用针对缓存的一组历史值的指数移动平均数。应当了解,在各种替代示例中,可省略平滑化,并且可以在以下步骤中使用非平滑化值。可以将步骤308的平滑化输出输入到至少两种不同的发散检测方法中,这些方法在图3中表示为分支法A和B。

首先转到分支法A,在步骤310处,确定误差信号分量的功率的时间梯度。换句话说,时间梯度是误差信号分量(其可以是平滑化误差信号分量)的功率相对于先前计算的误差信号分量功率的变化。

在步骤312处,可以将基于误差信号分量在一个时段内的功率的时间梯度的度量与阈值进行比较。在一个示例中,可根据子步骤314和/或316来确定该度量。在步骤314处,根据时间梯度为正、未变还是负,分别用值-1、0或1来表征每个时间梯度。因此,步骤314忽略连续样本之间的变化幅度,仅保留时间梯度方向上的变化。大的变化因此被视为与小的变化相同。这进一步作用于使由于误差信号中的快速瞬变而引起的功率大幅跳转平滑化。在步骤316处,使用低通滤波器,参照至少一个历史值,使所表征的时间梯度平滑化,低通滤波器的截止频率根据“第一频率”的频率来选择。例如,多个均具有不同截止频率的低通滤波器可用于频率值的不同频带。用于步骤316的多个滤波器中的低通滤波器可根据第一频率的值来确定。参照历史值使所表征的时间梯度平滑化,这将有助于减轻功率在第一频率下的快速跳转,其可以是异常瞬变,而非发散的证明,同时仍然检测持续多于一个样本的跳转。

步骤314和316的结果将是度量,该度量的值表示了一个时段内时间梯度的趋势。如果该度量的值大于0,则误差信号分量在第一频率下的功率呈上升趋势(即,通常增加);然而,如果该度量的值小于0,则误差信号分量在第一频率下的功率呈下降趋势(即,通常减小)。可以将该度量的值与阈值进行比较。因此,当误差信号分量的功率在一个时段内呈上升趋势时,该度量的值将超过阈值,从而表示检测到发散。

应当理解,在替代示例中,可使用基于误差传感器分量的时间梯度在一个时段内的值的不同度量。例如,可使用其他平滑化方法,诸如针对所表征的时间梯度的缓存历史值的指数移动平均法,而非使用低通滤波器来使所表征的时间梯度平滑化。然而,因为在较低频率下监测该趋势将需要更大的值缓存器来匹配更高频率,这需要占用很大内存,所以将低通滤波器应用于这些值将更有效。在另一示例中,时间梯度不必用诸如-1、0或1等值来表征;相反,可以直接使时间梯度的幅度平滑化。然而,无法表征该值将可能使发散检测器更易于受到来自误差信号分量功率的快速瞬变的误报的影响。

现在转到分支法B,示出了用于检测发散的第二方法。如上所述,按结合分支法A所述的方式来监测时间梯度可能错过迅速增加的发散,因为此类发散会使自适应滤波器快速饱和并且因此看起来像恒定功率。然而,此类快速发散将可能使自适应滤波器在某些频率而非其他频率下发生饱和。因此,分支法B监测了第一频率窗口的相对功率与至少第二频率窗口的功率之比,以确定自适应滤波器何时迅速发散。

在步骤318处,确定误差信号分量在至少第二频率下的功率。当将误差信号分量输入到频率变换算法之中时,该步骤可能与步骤306同时发生,但是为了完整和清楚起见,该步骤作为单独的步骤被包括在图3D中。(然而,可以想象,可能在不同时间确定误差信号分量在第一频率和第二频率下的功率值。

在步骤320处,可以将基于误差信号分量在第一频率下的功率与误差信号分量在第二频率下的功率的比较的第二度量与第二阈值进行比较。在一个示例中,第二度量可以由子步骤322和/或324给出。在步骤322处,取决于第一频率的误差信号分量的功率是否超过至少第二频率的误差信号分量的功率某个阈值(例如0.15),用值0或1来表征误差信号分量在第一频率下的相对功率与误差信号分量在至少第二频率下的功率之比。因此,如果第一频率的误差信号分量的功率超过至少第二频率的误差信号分量的功率大于阈值,则用1来表征相对功率,如果第一频率的误差信号分量的功率不超过至少第二频率的误差信号分量的功率,则用0来表征相对功率。

一般而言,“相对功率”可通过相应频率窗口的任何合适的功率比较来给出。例如,相对功率可以如下由以下项之比给出:第一频率窗口的功率;与第一频率窗口和第二频率窗口的功率之和

其中p

可以按各种方式,将误差信号分量在第一频率下的功率与误差信号分量在多个其他频率下的功率进行比较。例如,可以单独地将误差信号分量在第一频率下的功率与误差信号分量在多个其他频率(例如,一组相邻频率值或代表性频率)下的功率进行比较。如果误差信号分量在第一频率下的功率超过误差信号分量在任何其他比较频率下的功率预定阈值,则将相对功率表征为1。另选地,可以对多个频率值下的功率进行平均或者另外进行组合并且与第一频率值下的功率进行比较。如果第一频率下的功率超过多个其他频率值的组合功率预定阈值,则用1来表征相对功率,这是因为第一频率下的功率必然超过至少第二频率下的功率。

类似于步骤316,在步骤324处,将步骤322所表征的相对功率用利用低通滤波器所表征的相对功率的至少一个历史值来平滑化,该低通滤波器的截止频率由第一频率的值来确定。步骤322和324的最终结果将是第二度量,第二度量的值表示了误差信号分量在第一频率下与误差信号分量在至少第二频率下之间的相对功率在一个时段内的趋势。由于针对多个样本,第一频率的误差信号分量的功率反复超过阈值,发生了第二度量的值超越0。可以将第二度量的值与阈值(例如,0.25)进行比较,并且当超过阈值时,第二度量的值表示检测到发散。

应当理解,在替代示例中,可使用一个时段内基于相对功率的不同度量。例如,可使用其他平滑化方法,诸如针对误差信号分量功率的缓存历史值的指数移动平均法,而非使用低通滤波器来使所表征的相对功率平滑化。在另一示例中,无需用诸如0或1等值来表征相对功率;相反,可以直接使相对功率值平滑化并与阈值进行比较。然而,无法表征该值将再次可能使发散检测器更易于受到来自误差信号分量功率的快速瞬变的误报的影响。

此外,就步骤314和322描述了用值-1、0或1或用值0或1来表征一个值的程度而言,这些仅作为可能使用的示例性值而提供。结合对本公开内容的回顾,本领域普通技术人员将理解,可以使用其他值,同时维持表征了时间梯度或相对功率的相同概念不变。

分支法A和分支法B都提供于步骤326中,该步骤开始一项措施以纠正由先前分支法所检测到的发散。应当理解,分支法A和分支法B仅仅是用于检测发散的方法的示例,并且本文所述的减轻措施可以与其他发散检测方法结合使用。实际上,在一些示例中,可以仅实现分支法A或分支法B中的一项。另选地,分支法A或分支法B中的一项可以与另一发散检测方法结合使用。在又一示例中,可使用不同的发散检测方法,而无需使用分支法A或分支法B中所述的方法之一。

在步骤326处,在分支法A或分支法B(或来自另一发散检测方法)检测到发散之后,将可能引起所检测到的发散的自适应滤波器的系数转变成第二组先前存储的系数。在一个示例中,该转变可发生于多个样本,使得用户没有注意到该转变;然而,这并非必需,并且在一个示例中,该转变可以在接收到下一样本之前发生。先前存储的系数可以是默认的一组系数或者可以在发散之前存储于自适应滤波器运行期间。例如,在发散之前的自适应滤波器运行期间,可以按预定或可变时间间隔来存储这些系数。一旦检测到发散,就可以检索并转变成最近存储的一组系数。在大多数发散情况下,这将阻止发散继续并将这些系数重设为稳定且收敛的一组系数。

除了转变成先前存储的一组系数之外,在步骤328处,可以减慢自适应滤波器的适配速率,以便降低如果引起第一发散的条件仍然有效时可能发生第二发散的风险。实际上,在一个示例中,可以将适配速率减慢到自适应滤波器变成固定滤波器的程度。然而,在某些情况下,所检测的发散可以是误报(即,并非指示真实的发散)。这在通过车辆中的扬声器来播放音调声音的情况下尤其可能发生。这经常发生于例如经常以音调声音为特征的古典音乐在车厢中播放时。此类音调声音往往会刺激误差信号中的某些频率,并因此形成对结合分支法B所述的方法而言的发散的出现。为了避免不必要地减慢适配速率,可以在转变成第二系数之后或期间的一个时段内,监测第一频率(其中检测到发散),以查看第一频率下的功率是否减小。如果在转变成第二组系数之后或期间,第一频率下的功率减小,则可认为所发生的发散是真实的发散(即,并非误报),并且可以减慢适配速率。然而,如果在转变成第二组系数之后或期间,第一频率下的功率没有减小,则可认为该发散是误报,并且可保持适配速率不变。

为了确定在转变之后或期间,第一频率(即在该步骤中已经触发了发散的受测频率)的功率是否减小,可以在转变期间或在转变已经完成之后,监测第一频率的时间梯度。这显示为子步骤332和334,并且反映了上述步骤310和312。一般而言,可以将基于误差信号分量在第一频率下的时间梯度值的度量与阈值进行比较,以确定该频率下的功率是否随时间的推移而减小。在此情况下,阈值检测第一频率的功率何时减小且因此阈值为负(例如,-0.8),以便检测所平滑化表征的时间梯度何时呈下降趋势。(然而,应当理解,负时间梯度值可以通过例如乘以-1而简单地转化成正值,并且因此可以与正阈值进行比较。如果已经超过阈值,则可以确定功率在转变之后或期间减小,并且因此可能是真实发散的结果,并且可以减慢适配速率。然而,如果在设定时段之后没有超过阈值,则很可能是误报,并且将保持适配速率不变。

图3F中的步骤330表示步骤326的替代项,如果在从存储最后一组先前存储的系数起的预定时段内,检测到发散,则执行步骤326。例如,如果在自适应系统运行期间,按间隔来存储这些系数,则可设定定时器,以确定从存储一组系数的时间点起,已经过去的时间长度。当发散发生时,可以将定时器与预定时间长度进行比较。如果在从存储最后一组系数的时间点起的预定时间长度内,发生了发散,则很可能最后一组存储系数遭到破坏。因此,在步骤330处,可以将自适应滤波器转变成第三组系数。第三组系数可以是默认系数或者在存储第二组系数之前存储的并且可能是稳定且收敛的系数。

应当理解,步骤330可实现于步骤326恢复最近存储的一组系数的示例中。相反,如果步骤326恢复了默认的一组系数,则不必检查所存储的系数是否可能具有足够稳定性。

上述校正发散的方法仅仅是一个可以与本公开所述的发散检测方法结合使用的此类方法的示例。在各种示例中,可以结合或替代所述纠正措施而采取的纠正措施包括:通过对那些频率进行滤波以减轻其增益,降低针对那些频率的自适应滤波器系数,或冻结对应于那些频率的自适应,来关闭自适应系统或正在发散的自适应滤波器的某些目标频率。

如上所述,可针对多个频率值(在每次迭代时发生改变的“第一频率”的值)重复方法300的步骤。此外,在从误差传感器接收到新的样本时,可以随时间的推移而重复方法300的步骤,以便持续监测发散。因此,方法300用作可以在自适应滤波器运行期间检测发散的环路。

本文所述的功能或其部分、以及其各种修改(下文称为“功能”)可至少部分地经由计算机程序产品实现,例如在信息载体中有形实施的计算机程序,诸如一个或多个非暂态机器可读介质或存储设备,用于执行,或控制一个或多个数据处理装置,例如可编程处理器、计算机、多个计算机和/或可编程逻辑部件的操作。

计算机程序可以任何形式的编程语言被写入,包括编译或解释语言,并且它可以任何形式部署,包括作为独立程序或作为模块、部件、子例程或适于用在计算环境中的其他单元。计算机程序可被部署在一个计算机上或在一个站点或多个站点分布以及通过网络互联的多个计算机上执行。

与实现全部或部分功能相关联的动作可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以执行校准过程的功能。功能的全部或部分可被实现为专用目的逻辑电路,例如FPGA和/或ASIC(专用集成电路)。

适用于执行计算机程序的处理器例如包括通用微处理器和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。一般来讲,处理器将接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的部件包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。

虽然本文已描述和示出了若干发明实施方案,但本领域的普通技术人员将易于设想用于执行本文所述的功能和/或获得本文所述的结果和/或优点中的一个或多个的多种其他装置和/或结构,并且此类变型和/或修改中的每一个被认为在本文所述的本发明实施方案的范围内。更一般地,本领域的技术人员将容易理解,本文所述的所有参数、尺寸、材料和构型旨在为示例性的,并且实际参数、尺寸、材料和/或构型将取决于使用本发明教导内容的一个或多个具体应用。本领域的技术人员将认识到或仅使用常规实验就能够确定本文所述的具体的发明实施方案的许多等同物。因此,应当理解,上述实施方案仅以举例的方式呈现,并且在所附权利要求及其等同物的范围内,可以不同于具体描述和要求保护的方式来实践发明实施方案。本公开的发明实施方案涉及本文所述的每个单独的特征、系统、制品、材料和/或方法。此外,如果此类特征、系统、制品、材料和/或方法不相互矛盾,则两个或更多个此类特征、系统、制品、材料和/或方法的任何组合包括在本公开的发明范围内。

技术分类

06120116332570