噪声消除信号饱和控制
1.相关申请的交叉引用
2.本技术要求2019年4月1日提交的名称为“command signal saturation control”的美国临时专利申请序列号62/827,503的优先权,该申请全文以引用方式并入本文。
背景技术:3.本公开整体涉及用于控制噪声消除信号的饱和的系统。
技术实现要素:4.下文提及的所有示例和特征均可以任何技术上可能的方式组合。
5.根据一个方面,一种噪声消除系统包括:噪声消除滤波器,该噪声消除滤波器与至少一个扬声器连通,该噪声消除滤波器生成噪声消除信号,该噪声消除信号在由至少一个扬声器致动时消除至少一个消除区内的噪声;以及放大器,该放大器设置在噪声消除滤波器和扬声器之间,该放大器将第一缩放增益应用于噪声消除信号并输出缩放的噪声消除信号,当第一缩放增益小于一时,缩放的噪声消除信号为噪声消除信号的线性减小,其中第一缩放增益响应于表示噪声消除信号的信号超过阈值而被设置为小于一。
6.在一个示例中,表示噪声消除信号的信号是噪声消除信号。
7.在一个示例中,表示噪声消除信号的信号是先前样本期间的缩放的噪声消除信号。
8.在一个示例中,第一缩放增益至少部分地根据表示噪声消除信号的信号超过阈值的量来确定。
9.在一个示例中,放大器在后续样本期间应用第二缩放增益,该第二缩放增益至少部分地根据预先确定的斜升时间并根据第一缩放增益的值来确定,其中第二缩放增益具有比第一缩放增益更高的值。
10.在一个示例中,放大器在后续样本期间应用第二缩放增益,该第二缩放增益至少部分地根据计数器的值并根据第一缩放增益的值来确定。
11.在一个示例中,计数器在噪声消除信号超过阈值的每个样本递增,并且在噪声消除信号不超过阈值的每个样本递减,其中第二缩放增益的值和第一缩放增益的值之间的差值与计数器的值负相关。
12.在一个示例中,放大器在后续样本期间应用第二缩放增益,该第二缩放增益被设置为等于第一缩放增益与预先确定的值之和。
13.在一个示例中,在放大器应用小于近似一的增益的每个样本期间冻结噪声消除滤波器的自适应。
14.在一个示例中,噪声消除滤波器的系数在后续样本期间朝向一组目标系数转变。
15.根据另一方面,一种非暂态存储介质包括程序代码,该程序代码在由处理器执行时执行以下步骤:利用噪声消除滤波器生成噪声消除信号,该噪声消除信号在由至少一个扬声器致动时消除至少一个消除区内的噪声;响应于表示噪声消除信号的信号超过阈值,
将设置在噪声消除滤波器和扬声器之间的放大器的第一缩放增益设置为小于一;以及利用放大器将第一缩放增益应用于噪声消除信号,使得缩放的噪声消除信号是噪声消除信号的线性减小。
16.在一个示例中,表示噪声消除信号的信号是噪声消除信号。
17.在一个示例中,表示噪声消除信号的信号是先前样本期间的缩放的噪声消除信号。
18.在一个示例中,第一缩放增益至少部分地根据表示噪声消除信号的信号超过阈值的量来确定。
19.在一个示例中,非暂态存储介质还存储程序代码,该程序代码在由处理器执行时执行将放大器设置为第二缩放增益的步骤,该第二缩放增益至少部分地根据预先确定的斜升时间并根据第一缩放增益的值来确定,其中第二缩放增益具有比第一缩放增益更高的值;以及在后续样本期间应用第二缩放增益。
20.在一个示例中,非暂态存储介质还存储程序代码,该程序代码在由处理器执行时执行将放大器设置为第二缩放增益的步骤,该第二缩放增益至少部分地根据计数器的值并根据第一缩放增益的值来确定;以及在后续样本期间应用第二缩放增益。
21.在一个示例中,计数器在噪声消除信号超过阈值的每个样本递增,并且在噪声消除信号不超过阈值的每个样本递减,其中第二缩放增益的值和第一缩放增益的值之间的差值与计数器的值负相关。
22.在一个示例中,非暂态存储介质还存储程序代码,该程序代码在由处理器执行时执行将放大器设置为第二缩放增益的步骤,该第二缩放增益等于第一缩放增益与预先确定的值之和;以及在后续样本期间应用第二缩放增益。
23.在一个示例中,在放大器应用小于近似一的增益的每个样本期间冻结噪声消除滤波器的自适应。
24.在一个示例中,非暂态存储介质还存储程序代码,该程序代码在由处理器执行时执行以下步骤:在后续样本期间将噪声消除滤波器的系数朝向一组目标系数转变。
25.一个或多个具体实施的细节在附图和以下描述中论述。其他特征、对象和优点在说明书、附图和权利要求书中将是显而易见的。
附图说明
26.在附图中,在所有不同视图中,类似的参考符号通常是指相同的部件。此外,附图不一定按比例绘制,重点通常放在说明各个方面的原理上。
27.图1示出了根据一个示例的限制器的操作的框图。
28.图2示出了根据一个示例的车辆实现的噪声消除系统。
29.图3示出了根据一个示例的具有饱和控制的噪声消除系统的框图。
30.图4示出了根据一个示例的饱和控制模块的框图。
31.图5a示出了根据一个示例的用于饱和控制的方法的流程图。
32.图5b示出了根据一个示例的用于饱和控制的方法的流程图。
33.图5c示出了根据一个示例的用于饱和控制的方法的流程图。
34.图5d示出了根据一个示例的用于饱和控制的方法的流程图。
35.图5e示出了根据一个示例的用于饱和控制的方法的流程图。
36.图5f示出了根据一个示例的用于饱和控制的方法的流程图。
37.图6示出了根据一个示例的饱和控制模块的操作的框图。
38.图7示出了根据一个示例的饱和控制模块的框图。
39.图8a示出了根据一个示例的用于饱和控制的方法的流程图。
40.图8b示出了根据一个示例的用于饱和控制的方法的流程图。
41.图8c示出了根据一个示例的用于饱和控制的方法的流程图。
42.图8d示出了根据一个示例的用于饱和控制的方法的流程图。
43.图9a示出了根据一个示例的用于饱和控制的方法的流程图。
44.图9b示出了根据一个示例的用于饱和控制的方法的流程图。
45.图9c示出了根据一个示例的用于饱和控制的方法的流程图。
具体实施方式
46.在典型的自适应算法滤波器具体实施中,诸如对于用于生成抗噪声信号的噪声控制系统,对输出信号(例如,抗噪声信号)的电平没有固有约束。因此,为了使误差信号(例如,在控制区中检测到的所得噪声,例如,在应用抗噪声信号之后)最小化,系统可能最终从换能器诸如扬声器命令显著较大的信号。
47.出于各种原因,可能出现过大的命令信号(或者在本公开中称为噪声消除信号或抗噪声信号)。例如,自适应算法的发散可导致输出不受控,次要路径估计中的误差可导致自适应算法命令大信号来补偿误差,并且/或者大参考信号可导致大输出信号,即使在控制系数表现良好时也是如此。在各种示例中,可能存在饱和(例如,大振幅)命令信号的附加原因或其他原因。
48.需要控制此类命令信号的饱和以约束输出电平,诸如抗噪声信号电平(例如,在噪声消除系统诸如道路噪声消除系统中),并且在各种示例中可相应地调整自适应滤波器系数。
49.利用限制器限制命令信号的尝试可导致命令信号中的非线性,这会降低噪声消除系统的性能,或者更糟的是,向系统增加噪声。此类非线性的示例可见于图1中。如图所示,正弦信号被输入到限制器100。输入正弦信号的振幅大于由限制器100应用的阈值。因此,限制器100输出正弦曲线,其中每个半周期的峰值以非线性方式被限幅。放置在噪声消除滤波器的输出处的这种限制器虽然可用于防止饱和,但将产生这些不期望的非线性。
50.虽然本文所述的发明方面可以结合任何噪声消除系统来实现,但是出于说明的目的,将结合图2至图3简要描述用于消除道路噪声的车辆实现的噪声消除系统。图2是示例性噪声消除系统200的示意图。噪声消除系统200可被配置为与预定义体积204(诸如车辆车厢)内的至少一个消除区202中的非期望声音进行相消干涉。在高电平下,噪声消除系统200的一个示例可包括参考传感器206、误差传感器208、致动器210和控制器212。
51.在一个示例中,参考传感器206被配置为生成表示预定义体积204内的非期望声音或非期望声音的来源的噪声信号214。例如,如图2所示,参考传感器206可以是一个加速度计或多个加速度计,安装并配置为检测通过车辆结构216传输的振动。通过车辆结构216传输的振动由该结构转换成车辆车厢内的非期望声音(被感知为道路噪声),因此安装到该结
构的加速度计提供表示非期望声音的信号。
52.致动器210可例如是分布在围绕预定义体积的周边的离散位置的扬声器。在一个示例中,可将四个或更多个扬声器设置在车辆车厢内,该四个扬声器中的每个扬声器位于该车辆的相应门内并且被配置为将声音投射到车辆车厢内。在另选的示例中,扬声器可位于头枕内或车辆车厢内的其他位置。
53.噪声消除信号218可由控制器212生成并提供给预定义体积中的一个或多个扬声器,该一个或多个扬声器将噪声消除信号218转换为声能(即,声波)。由于噪声消除信号218所产生的声能与消除区202内的非期望声音大约180
°
异相,并且因此与该非期望声音进行相消干涉。从噪声消除信号218生成的声波与预定义体积中的非期望噪声的组合带来非期望噪声的消除,这由消除区中的收听者所感知。
54.因为噪声消除无法在整个预定义体积中相等,所以噪声消除系统200被配置为在该预定义体积内的一个或多个预定义消除区202内产生最大噪声消除。消除区内的噪声消除可使得非期望声音减少大约3db或更多(尽管在不同示例中,可能发生不同的噪声消除量)。此外,噪声消除可消除一定频率范围内的声音,诸如小于大约350hz的频率(尽管其他范围也是可能的)。
55.设置在预定义体积内的误差传感器208基于对残余噪声的检测来生成误差传感器信号120,该残余噪声由从噪声消除信号218生成的声波和消除区中的非期望声音的组合产生。误差传感器信号220作为反馈提供给控制器212,误差传感器信号220表示未被噪声消除信号消除的残余噪声。误差传感器208可以是例如安装在车辆车厢内(例如,车顶、头枕、支柱或车厢内的其他位置)的至少一个麦克风。
56.应当指出的是,消除区可远离误差传感器108定位。在这种情况下,误差传感器信号220可被滤波以表示消除区中的残余噪声的估计值,该残余噪声可被认为是误差信号220的投影,例如,将误差传感器208投影到消除区,就像误差传感器208位于消除区中一样。在任一种情况下,误差信号将被理解为表示消除区中的残余非期望噪声。
57.在一个示例中,控制器212可包括非暂态存储介质222和处理器224。在一个示例中,非暂态存储介质222可存储程序代码,该程序代码在由处理器124执行时实现下面描述的各种滤波器和算法。控制器212可在硬件和/或软件中实现。例如,控制器可由sharc浮点dsp处理器实现,但应当理解,控制器212可由任何其他处理器、fpga、asic或其他合适的硬件实现。
58.转到图3,其示出了噪声消除系统100的一个示例的框图,该噪声消除系统包括由控制器212实现的多个滤波器。如图所示,控制器可以限定包括w
adapt
滤波器226和自适应处理模块228以及饱和控制模块232的控制系统。
59.w
adapt
滤波器226被配置为接收参考传感器206的噪声信号214并生成噪声消除信号218。如上所述,噪声消除信号218被输入到致动器210,在该致动器处,该噪声消除信号被转换成噪声消除音频信号,该噪声消除音频信号与预定义消除区202中的非期望声音进行相消干涉。w
adapt
滤波器226可被实现为任何合适的线性滤波器,诸如多输入多输出(mimo)有限脉冲响应(fir)滤波器。w
adapt
滤波器226采用一组系数,该组系数限定噪声消除信号218并且可被调整以适应车辆响应于道路输入(或非车辆噪声消除环境中的其他输入)的变化行为。
60.对系数的调整可由自适应处理模块128执行,该自适应处理模块接收误差传感器
信号220和噪声信号214作为输入,并且使用这些输入生成滤波器更新信号230。滤波器更新信号230是在w
adapt
滤波器226中实现的滤波器系数的更新。由更新的w
adapt
滤波器226产生的噪声消除信号218将使误差传感器信号220最小化,并且因此使消除区中的非期望噪声最小化。
61.可根据以下公式更新时间步长n处的w
adapt
滤波器226的系数:
[0062][0063]
其中是致动器210和噪声消除区202之间的物理传递函数的估计值,是的共轭转置,e是误差信号,x是参考传感器206的输出信号,h是一个可选的滤波器,可以应用任何或所有的能量加权、整形和投影,并且γ是本领域已知的泄漏因子。在更新公式中,参考传感器的输出信号x除以x的范数,表示为‖x‖2。
[0064]
在应用中,滤波器的总数通常等于参考传感器的数量(m)乘以扬声器的数量(n)。每个参考传感器信号被滤波n次,然后每个扬声器信号作为m个信号的总和(每个传感器信号由对应的滤波器滤波)获得。
[0065]
噪声消除系统200还包括饱和控制模块232,该饱和控制模块被配置为响应于表示噪声消除信号的信号超过阈值而线性地缩放噪声消除信号,或者将噪声消除滤波器的系数转变为已知值。将结合图4
‑
9讨论饱和控制模块232的各种示例。
[0066]
同样,图2和图3的噪声消除系统200仅作为此类系统的示例提供。该系统、该系统的变型和其他合适的噪声消除系统可在本公开的范围内使用。例如,虽然图2至图3的系统已结合最小均方滤波器(lms)进行了描述,但在其他示例中,可实现不同类型的滤波器,诸如利用递归最小二乘(rls)滤波器实现的滤波器。此外,虽然已经描述了用于消除道路噪声的车辆实现的噪声消除系统,但是可以使用任何合适的噪声消除系统。
[0067]
在高电平下,饱和控制模块232包括放大器,该放大器响应于表示噪声消除信号的信号超过阈值而将小于一的缩放增益应用于噪声消除信号。当缩放增益小于一时,放大器输出缩放的噪声消除信号,该缩放的噪声消除信号是噪声消除信号的线性减小版本。这种从放大器输出的线性减小的噪声消除信号被设定成试图不使扬声器饱和并且不引入不期望的非线性。
[0068]
在一些示例中,根据表示噪声消除信号的信号超过阈值的量来确定缩放增益的值。在其他示例中,可以在表示噪声消除信号的信号超过阈值之后将缩放增益设置为预先确定的值。表示噪声消除信号的信号是可以确定噪声消除信号的振幅的任何信号,包括噪声消除信号本身。在其他示例中,表示噪声消除信号的信号是从放大器输出的缩放的噪声消除信号。可响应于表示噪声消除信号的信号在较早样本期间超过阈值来设置缩放增益。
[0069]
在本公开中,对样本的参考是指噪声消除信号样本(即,噪声消除滤波器的输出样本)。因此,噪声消除信号样本用于划分饱和控制模块232或噪声消除滤波器作用的时间单位。
[0070]
在放大器应用小于一的缩放增益之后,饱和控制模块232可以进一步被配置为在后续样本中的一个或多个样本上斜升缩放增益(直到缩放增益再次为一),以便避免扬声器转换的噪声消除信号的功率的快速且明显的变化。这可在预先确定的时间段内或在由表示噪声消除信号的信号超过阈值的频率确定的可变时间段内发生。(超过阈值通常指示发散
系数或次要路径中的误差,或者在导致参考传感器报告较大值的情况下驱动,因此缩放增益应当更缓慢地斜升,以避免在短时间段内多次超过阈值。)在另一个示例中,可以在表示噪声消除信号的信号超过阈值之后的每个样本将预先确定的增量添加到缩放增益,直到缩放增益再次为一。
[0071]
饱和控制模块232可以由控制器(例如,控制器212)实现。控制器包括处理器和包括程序代码的非暂态存储介质,该程序代码在由处理器执行时实现饱和控制模块232的功能。在另选的示例中,饱和控制模块可以被实现为硬件或硬件、固件和/或软件的组合。以编程方式或以其他方式执行的饱和控制模块232的功能结合图5、图8和图9的流程图更详细地描述。
[0072]
图4示出了饱和命令模块232的第一示例。放大器400接收噪声消除信号并应用缩放增益g,从而当缩放增益g小于一时,输出作为噪声消除信号的线性缩放版本的缩放的噪声消除信号。图4的示例还包括在放大器400的输出处的限制器402,接收缩放的噪声消除信号。在该示例中,表示噪声消除信号的信号是从放大器400输出并在限制器402处接收的缩放的噪声消除信号。在对于给定样本达到限制器402的阈值的情况下,对于下一个样本,由增益调整模块404根据缩放的噪声消除信号超过限制器402的阈值的量来设置放大器400的缩放增益(先前设置为一)。因此,虽然限制器402可引入第一样本的非线性,但放大器400的缩放增益将线性减小缩放的噪声消除信号,以试图防止未来样本类似地达到限制器402的阈值。(应当理解,如上所述,饱和控制模块(包括放大器和限制器)对数字信号操作,并且可以在软件或固件中以编程方式实现。)
[0073]
转到图5a,示出了用于实现图4所示的饱和控制模块232拓扑结构的步骤的流程图。在步骤502处,在放大器400处接收噪声消除信号样本,在步骤504处该放大器将先前计算的缩放增益应用于噪声消除信号样本。在噪声消除系统的初始化时,先前计算的缩放增益被设置为一。否则,先前计算的缩放增益是响应于先前样本而计算的缩放增益。如上所述,在缩放增益小于一的情况下,输出的缩放的噪声消除信号将是噪声消除信号的线性缩放版本。(当缩放等于一时,缩放的噪声消除信号将与噪声消除信号相同,因为放大器充当缓冲器。)
[0074]
转到图5b,在步骤506处,将缩放的噪声消除信号样本与限制器402的阈值进行比较。如果满足限制器的阈值,则在步骤508处由限制器402限制缩放的噪声消除。图5d示出了限制器402的示例性操作。在步骤522处,将缩放的噪声消除信号与限制器402的最大阈值进行比较。如果缩放的噪声消除信号未超过最大阈值,则在步骤524处从二阶曲线内插缩放的噪声消除信号。如果缩放的噪声消除信号超过最大阈值,则信号被限幅到最大阈值。注意,图5d的流程图假定信号已与限制器的阈值(在步骤506中)进行比较。然而,一般来讲,限制器也执行步骤506。限制器的操作通常被理解,因此省略额外的解释。
[0075]
返回图5b,在步骤510处,增益调整模块404计算要应用于下一个样本的新缩放增益。可根据缩放的噪声消除信号超过限制器的阈值的量来计算新缩放增益。然而,这需要在放大器400先前应用的缩放增益的环境中计算增益。换句话说,放大器输出超过限制器的阈值的量已经这样做,先前计算的缩放已经再次应用。因此,可将新缩放增益计算为根据缩放的噪声消除信号超过阈值的量计算的缩放增益与先前计算的缩放增益的乘积。例如,如果基于放大器输出的新缩放增益被确定为0.8并且先前计算的缩放增益为0.9,则缩放增益被
计算为0.72。
[0076]
作为另外一种选择,新缩放增益可计算为由放大器400应用的增益与限制器402的调整的组合。换句话说,新增益可计算为限制器输出与噪声消除信号的比率。这可以被认为是由饱和控制模块232应用的总增益。由饱和控制模块应用的总增益至少部分地基于缩放的噪声消除信号超过限制器的阈值的量,因为该量将决定限制器的调整,这是计算的考虑因素。
[0077]
任何满足限制器阈值的样本都需要冻结噪声消除滤波器的自适应。这例如被示出为图5b中的步骤512。噪声消除滤波器被冻结,以避免使用任何非线性扬声器信号来更新噪声消除滤波器的结果。类似地,当放大器400应用小于一的增益时,噪声消除滤波器应被冻结;否则,噪声消除滤波器将错误地将增加的误差信号解释为指示需要增加噪声消除信号的量值。这在图5c中示出,图5c包括决策框514,根据放大器400是否应用小于近似一的增益来提供两个路径。(近似一是指噪声消除滤波器将在可接受界限内工作的可能值的范围。出于本公开的目的,近似一将是指大于或等于0.95的任何缩放增益)。
[0078]
如果先前计算的缩放增益小于近似一,则根据预先确定的斜升时间和先前计算的缩放增益来计算下一个样本的缩放增益(即,新缩放增益)。该斜升时间被设计成确保一旦小于一的缩放增益被应用于噪声消除信号,饱和控制模块232就不会立即将单位增益应用于下一个样本。立即将单位增益应用于下一个样本(其中一些条件已开始引起命令信号饱和)将可能导致单位增益和缩放的重复应用,直到引起饱和被解决的条件。增益的这种快速变化对于用户来说将是令人不悦的和分散注意力的。
[0079]
因此,斜升时间将若干样本上的增益从先前计算的增益递增至一。增量变化的大小将部分地取决于先前计算的增益与一之间的差值。如果先前计算的增益远离一(例如,0.5),则将需要每个样本更大的步长来使增益在预先确定的斜升时间段内朝一斜升。相比之下,如果先前计算的增益接近一(例如,0.89),则需要更小的增量来使先前计算的增益在相同的时间段内朝一斜升。由于仅覆盖单个样本的斜升时间会违背斜升时间的目的,因此斜升时间覆盖至少两个样本。
[0080]
转到由步骤514制定的决策框的另一侧,如果先前计算的增益大于近似一,则更新噪声消除滤波器。在完成步骤516或520之后,在步骤502处从噪声消除滤波器接收新样本,并且重复该过程。因此,方法500作为环路操作,对噪声消除滤波器的每个新样本重复。
[0081]
结合步骤518描述的预先确定的斜升时间表示在应用小于一的缩放增益之后斜升信号的一种方式。如上所述,当缩放增益离一更远时,预先确定的斜升时间将导致快速变化。这不一定是期望的,因为小的缩放增益(即,离一更远)通常会表示噪声消除系统中的一些干扰(例如,发散系数),这通常会导致进一步的干扰。因此,当放大器的增益缩放到小量时,通常更期望花费更长的时间来斜升缩放增益。这样做的一种方法是向每个后续样本的缩放增益添加预先确定的增量。例如,对于应用小于近似一的缩放增益之后的每个样本都可以将0.2的量添加到先前确定的缩放增益。因此,如果缩放增益离一更远,则与缩放增益更接近一相比,斜升到一将花费更长的时间。
[0082]
在另一个示例中,斜升时间本身可根据诸如饱和的样本数量的因子而变化。该示例在图5e至图5f中示出。图5e至图5f大致遵循图5a至图5d的步骤,并且因此它们将仅在与图5a至图5d不同的程度上进行描述。如图5e至图5f所示,计数器被制定为每当满足阈值时
递增(步骤528),并且每当不满足阈值时递减(步骤530)(这些步骤以虚线表示,以表示它们对图5a至图5d中所示示例的补充)。当在步骤518'处计算新的缩放增益时,根据计数器值确定斜升时间。更高的计数器值意味着更多的样本已超过阈值,因此饱和控制232应当更缓慢地斜升。相比之下,较低的计数器值将导致较短的斜升时间,因为较少的样本已超过阈值。
[0083]
在另选的示例中,计数器可以确定新缩放大小相对于先前计算的缩放增益是增大还是减小。例如,计数器可如上所述确定斜升时间的长度;然而,如果计数器超过阈值,则可将新缩放增益设置为低于先前计算的缩放增益的值。由于表示噪声消除信号的信号在短时间段内重复超过阈值,这可以作为预防措施来实施。
[0084]
当应用较长的斜升时间时,添加到先前计算的缩放增益的增量小于当应用较短的斜升时间时添加到先前计算的缩放增益的增量。因此,对于每个样本,先前计算的缩放增益和新计算的缩放增益之间的差值与计数器的值负相关,其中当计数器的值保持为零时应用最大增量。虽然计数器是用于确定放大器输出超过阈值的频率的有用方法,但也可使用任何其他合适的方法。
[0085]
实现斜升时间可能需要使用计数器或标记来表示饱和控制模块232如何处于斜升状态。例如,为了在预先确定的斜升时间内返回到一,必须为每个样本添加一定大小的增量。因此,对于计算斜升时间的样本,可将增量大小存储在存储器中,并可设置标记以指示所存储的增量大小被使用,直到单位增益恢复(或直到限制器阈值再次得到满足,这将使斜升复位)。这可另选地利用计数确定数量的样本的计数器来实现。
[0086]
图6示出了图4的饱和控制模块232的操作的简化示例。因此,在第一半周期期间,当放大器400的增益被设置为一(即,单位增益)时,输入信号的振幅超过限制器的阈值并且因此在输出处被限幅。这被示出为输出处的第一半周期的平坦峰值。此后,根据输入信号超过阈值的量来设置放大器的缩放增益。因此,在第一半周期之后线性地缩放输出信号。但是由于输出信号被线性缩放,而不是被限制器限幅,因此信号中不存在非线性。因此,当噪声消除信号被缩放时,扬声器将输出较低振幅的噪声消除信号,该噪声消除信号将仍然消除车辆车厢内的噪声(或部署噪声消除系统的任何情况下),但不会由于非线性而向车厢增加噪声。图6未示出在信号超过限制器的阈值之后放大器400的增益随时间斜升。
[0087]
图7示出了饱和控制模块232的另选示例。在该示例中,不是使用缩放的噪声消除信号作为表示噪声消除信号的信号,而是使用噪声消除信号本身(即,噪声消除滤波器的输出)。因此,除了放大器700之外,饱和控制模块232'还包括阈值检测模块702,该阈值检测模块将噪声消除信号与阈值进行比较。如果噪声消除信号超过阈值,则根据超过阈值的噪声消除信号的量来设定噪声消除信号的增益。
[0088]
图8a至图8d示出了描述图7所示拓扑结构的操作的方法的流程图。在步骤802处,从噪声消除滤波器接收噪声消除信号。在步骤804处,通过阈值检测702将其与预先确定的阈值进行比较。通常,该阈值将被设定为或低于噪声消除信号饱和时的值。如果噪声消除信号超过阈值,则根据噪声消除信号超过阈值的量来调整放大器700的缩放增益。因此,噪声消除信号被线性缩放到将不饱和的值。
[0089]
这可如下示出:
[0090]
[0091]
y(n)是当前样本处的噪声消除信号向量。如果信号的电平越过阈值th,则将整个输出信号向量按因子g缩放。(否则,应用增益一。)在一些示例中,缩放因子g可如下计算:
[0092][0093]
简而言之,增益被选择为使得噪声消除信号向量的最大值仅与预先确定的阈值一样大。在一些示例中,基于在所有扬声器信道上共有的固定阈值来计算缩放因子g。然而,阈值可在扬声器信道之间变化。其还可基于待控制的噪声的估计值(例如,道路噪声水平)而动态地改变。
[0094]
在步骤808处,响应于放大器700对其应用小于一的增益的每个样本,噪声消除滤波器自适应被冻结。如上所述,这防止噪声消除系统将由缩放的噪声消除信号产生的误差信号视为有效的。
[0095]
如果先前应用的缩放增益(例如,由放大器500应用于最近的噪声消除信号样本的增益)小于近似一,则根据预先确定的斜升时间和先前应用的缩放增益来设置放大器700的缩放增益。如结合图5c所述,该斜升时间被设计成确保一旦小于一的缩放增益被应用于噪声消除信号,饱和控制模块232'就不会立即将单位增益应用于下一个样本。
[0096]
在斜升时间之后,放大器的缩放增益在若干样本内从先前计算的增益递增至一。增量变化的大小将部分地取决于先前计算的增益与一之间的差值。如果先前计算的增益远离一(例如,0.5),则将需要每个样本更大的步长来使增益在预先确定的斜升时间段内朝一斜升。相比之下,如果先前计算的增益接近一(例如,0.89),则需要更小的增量来使先前计算的增益在相同的时间段内朝一斜升。由于单个样本的斜升时间会违背斜升时间的目的(其旨在将斜升过程在多个样本上扩展到一),因此斜升时间覆盖至少两个样本。
[0097]
因为放大器700的缩放增益被设置为小于一,所以在步骤816处冻结噪声消除滤波器的自适应。
[0098]
转到由步骤812制定的决策框的另一侧,如果先前计算的增益大于近似一,则更新噪声消除滤波器。在完成步骤812或816之后,在步骤802处从噪声消除滤波器接收新样本,并且重复该过程。因此,方法800作为环路操作,对噪声消除滤波器的每个新样本重复。
[0099]
与图5的示例类似,结合步骤814描述的预先确定的斜升时间表示在应用小于一的缩放增益之后斜升信号的一种方式。如上所述,当缩放增益离一更远时,预先确定的斜升时间将导致快速变化。这不一定是期望的,因为小的缩放增益(即,离一更远)通常会表示噪声消除系统中的一些干扰(例如,发散系数),这通常会导致进一步的干扰。因此,当放大器的增益缩放到小量时,通常更期望花费更长的时间来斜升缩放增益。因此,在另选示例中,将预先确定的增量添加到每个后续样本的缩放增益。例如,对于应用小于近似一的缩放增益之后的每个样本都可以将0.2的量添加到先前确定的缩放增益。因此,如果缩放增益离一更远,则与缩放增益更接近一相比,斜升到一将花费更长的时间。
[0100]
在另一个示例中,斜升时间本身可根据诸如饱和的样本数量的因子而变化。该示例在图8c至图8d中示出。图8c至图8d大致遵循图8a至图8b的步骤,因此将仅在它们不同的程度上对它们进行描述。与图5e至图5f的示例类似,计数器被制定为每当满足阈值时递增(步骤824),并且每当不满足阈值时递减(步骤822)。当在步骤834处计算新的缩放增益时,根据计数器值确定斜升时间。更高的计数器值意味着更多的样本已经超过阈值,因此饱和
控制232'应当更缓慢地斜升。相比之下,较低的计数器值将导致较短的斜升时间,因为较少的样本已超过阈值。
[0101]
当应用较长的斜升时间时,添加到先前计算的缩放增益的增量小于当应用较短的斜升时间时添加到先前计算的缩放增益的增量。因此,对于每个样本,先前计算的缩放增益和新计算的缩放增益之间的差值与计数器的值负相关,其中当计数器的值保持为零时应用最大增量。虽然计数器是用于确定放大器输出超过阈值的频率的有用方法,但也可使用任何其他合适的方法。
[0102]
实现斜升时间可能需要使用计数器或标记来表示饱和控制模块232'如何处于斜升状态。例如,为了在预先确定的斜升时间内返回到一,每个样本必须添加一定大小的增量。因此,对于计算斜升时间的样本,增量大小可存储在存储器中,并且可设置标记以指示所存储的增量大小被使用,直到单位增益恢复(或直到限制器阈值再次得到满足,这将使斜升复位)。这可另选地利用计数确定数量的样本的计数器来实现。
[0103]
在另选的示例中,不是仅应用缩放增益,而是在噪声消除信号超过阈值时,噪声消除滤波器可以开始将系数朝向一组目标系数转变。图9a至图9c示出了这种情况的示例。在步骤902处,接收噪声消除信号。在步骤904处,将噪声消除信号样本与信号阈值进行比较。如果噪声消除信号样本超过阈值,则根据噪声消除信号超过阈值的量来应用缩放增益。如上所述,这可根据公式(2)和(3)来实现。
[0104]
在其他示例中,可以更平滑的方式调整输出信号。例如,当输出信号中的任一个接近阈值时,输出信号可由限制器调整,该限制器实现向最大值的更平滑转变,超过该最大值不允许调整的输出信号通过。各种限制器是本领域已知的,并且可包括具有不同斜率(例如,其间具有弯曲处或弯曲部)的各种线性区域的输入
‑
输出曲线和/或曲线,使得超过一定输入值,所有输出值均为或接近最大(例如,有限)值。
[0105]
除了或代替限制此类输出信号(例如,抗噪声信号、命令信号),各种示例可以调整控制系数(例如,滤波器的系数,诸如对参考信号进行操作以生成抗噪声信号/命令信号的自适应滤波器)。为了减小命令信号,可以计算或选择一组新的目标控制系数w
target
,并且可以发起向新的目标控制系数w
target
的转变。这在步骤906中示出,该步骤是询问噪声消除滤波器是否处于转变中的决策框。这是为了确定滤波器是否已在较早样本处开始朝向一组目标系数转变。如果转变尚未在较早的样本处开始,则在步骤908处设置一组目标系数。在各种示例中,可能期望以各种方式并基于特定情况来选择新的目标控制系数w
target
。例如,可基于以下和/或其他方式选择新的目标控制系数w
target
:
[0106]
kw(n):目标控制系数可以是当前控制系数的缩放版本。当由于大的参考信号而发生饱和时,这可能是优选的选择。在一些示例中,缩放因子k可基于固定缩放因子,诸如0.95或0.9或另一个预先确定的值。在其他示例中,缩放因子k可基于如上所述的逐个样本的缩放因子g,并且缩放因子k可基于在一段时间或样本帧上发生的最小缩放因子g。在其他示例中,缩放因子k可基于最大允许输出电平与其他最近计算的输出信号电平的比率。
[0107]
w
history
:目标控制系数可能是先前计算的良好的解决方案。在一些示例中,先前计算的良好的一组控制系数可以提供增强的性能,诸如当检测到发散时或者当发散是饱和的原因时。控制系数可以转变回最后计算的良好的解决方案。各种示例可包括收敛和/或发散检测器。收敛检测器可以指示所计算的一组控制系数何时是要存储以供将来检索的良好集
合(例如,来自收敛系统),并且发散检测器可以指示是否由发散引起命令饱和(例如,这可以指示恢复到先前存储的一组良好控制系数的良好选择)。因此,收敛检测器可用于评估当前解决方案,并且如果其被认为是良好的解决方案,则将其存储在历史记录中,而发散检测器可用于检测发散并发起向(存储的)已知良好解决方案的转变。
[0108]
w0:目标控制系数可以是初始化的或固定的解决方案。转变将导致算法复位。在一些示例中,当其他解决方案未解决命令信号饱和时,这可以用作最后手段。
[0109]
在转变周期期间,可以停止自适应,并且在一些示例中,控制系数可以根据以下各项经历向目标控制系数的转变:
[0110]
w(n+1)=αw(n)+(1
‑
α)w
target
ꢀꢀ
(4)
[0111]
其中w(n)是当前样本或时间步长的一组控制系数,w(n+1)是下一个样本或时间步长的一组控制系数,w
target
是控制系数正在向其转变的一组目标控制系数,并且α是平滑因子。α控制转变周期的持续时间。α的小值导致更快的转变,但由于输出的更剧烈的变化,可能导致扬声器所播放的听觉阶跃或弹出。
[0112]
在步骤912处,系数朝向一组目标系数转变。例如,在转变周期的第n个样本处,输出控制系数可表示如下:
[0113]
w(n0+n)=α
n
w(n0)+(1
‑
α
n
)w
target
ꢀꢀ
(5)
[0114]
w(n)是转变周期开始时的控制系数。该公式可用于选择α的合适值。例如,如果转变周期被定义为在2khz采样速率下1秒,则α可被设置为例如以确保在转变周期结束时达到99%的目标控制系数。
[0115]
如果系数处于转变中,则必须冻结响应于误差信号和来自参考传感器的输入的噪声消除滤波器自适应,以便确保转变继续而不中断。因此,在步骤914处,噪声消除的自适应被冻结。
[0116]
如果噪声消除滤波器不在转变中,则可在步骤918处恢复自适应。在自适应周期期间,可在步骤920处更新历史计数器,直到达到阈值。一旦达到阈值,经调整的控制系数就可以被认为是良好的系数,并且w
history
可能会利用当前解决方案进行更新(当前控制系数值),并且可以重置历史计数器。这确保在将当前解决方案存储在历史记录中之前已经过了一定的收敛时间(没有饱和)。
[0117]
本文所述的功能或其部分,以及其各种修改(下文称为“功能”)可至少部分地经由计算机程序产品实现,例如在信息载体中有形实施的计算机程序,诸如一个或多个非暂态机器可读介质或存储设备,用于执行,或控制一个或多个数据处理装置,例如可编程处理器、计算机、多个计算机和/或可编程逻辑部件的操作。
[0118]
计算机程序可以任何形式的编程语言被写入,包括编译或解释语言,并且它可以任何形式部署,包括作为独立程序或作为模块、部件、子例程或适于用在计算环境中的其他单元。计算机程序可被部署在一个计算机上或在一个站点或多个站点分布以及通过网络互联的多个计算机上执行。
[0119]
与实现全部或部分功能相关联的动作可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以执行校准过程的功能。功能的全部或部分可被实现为专用目的逻辑电路,例如fpga和/或asic(专用集成电路)。
[0120]
适用于执行计算机程序的处理器例如包括通用微处理器和专用微处理器两者,以
及任何类型的数字计算机的任何一个或多个处理器。一般来讲,处理器将接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的部件包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。
[0121]
虽然本文已描述和示出了若干发明实施方案,但本领域的普通技术人员将易于设想用于执行本文所述的功能和/或获得本文所述的结果和/或优点中的一个或多个的多种其他装置和/或结构,并且此类变型和/或修改中的每一个被认为在本文所述的本发明实施方案的范围内。更一般地,本领域的技术人员将容易理解,本文所述的所有参数、尺寸、材料和构型旨在为示例性的,并且实际参数、尺寸、材料和/或构型将取决于使用本发明教导内容的一个或多个具体应用。本领域的技术人员将认识到或仅使用常规实验就能够确定本文所述的具体的发明实施方案的许多等同物。因此,应当理解,上述实施方案仅以举例的方式呈现,并且在所附权利要求及其等同物的范围内,可以不同于具体描述和要求保护的方式来实践发明实施方案。本公开的发明实施方案涉及本文所述的每个单独的特征、系统、制品、材料和/或方法。此外,如果此类特征、系统、制品、材料和/或方法不相互矛盾,则两个或更多个此类特征、系统、制品、材料和/或方法的任何组合包括在本公开的发明范围内。