声反馈消除器的制造方法

文档序号:9553581阅读:683来源:国知局
声反馈消除器的制造方法
【专利说明】
[0001] 相关申请的夺叉引用
[0002] 本申请要求于2013年6月19日提交的美国临时申请序列号61/837, 155的优先 权,该申请通过引用被整体合并于此。
技术领域
[0003] 本发明在一个实施例中涉及控制音频信号中的声啸叫反馈。
【背景技术】
[0004] 在公共广播(publicaddressing,PA)或其他音频系统中,如果一个或多个(扬声 器)与(一个或多个)麦克风之间的增益大于一并且它们同相,则会产生令人烦恼的啸叫 声。典型地,可以通过手动将麦克风和/或扬声器进行重新放置来消除这样的啸叫。替代 地,可以通过使用EQ滤波器来调整不同音频带内的增益来消除啸叫。然而,这些方法在一 些情形中不够方便和/或无法实现。例如,如果麦克风和扬声器的位置是固定的和/或EQ 滤波器不可获得,则不能采用上述方法。尽管关于以数字方式消除啸叫存在若干个现有技 术描述,但这些现有技术描述在如下一个或多个方面中存在缺陷:不能精确估计啸叫频率, 尤其在使用有限数目的快速傅里叶变换(FFT)点时,因而未能有效且可靠地消除啸叫;调 性音乐信号易被错误地消除;经处理的信号失真;或者经处理的信号太过复杂以至于不能 实现于嵌入式系统中,因而比所预期消耗更多的资金或MIP。所需的是用于处理啸叫声音的 改进系统和方法。

【发明内容】

[0005] 为了实现前述目的,本发明提供了用于快速消除啸叫的有效、可靠、鲁棒且简单的 方法。
[0006] 根据一个实施例,来自麦克风的传入时域音频信号通过快速傅里叶变换(FFT)被 转换到频域。FFTbin的量级(magnitude)或范数(norm)被累加并且随后被取平均。具有 最大量级的FFTbin是啸叫频率候选者。
[0007] 基于啸叫噪声比(HNR)来检测啸叫。如果候选啸叫频率处的HNR大于阈值并且在 N(在本发明的优选实施例中为5)次连续的运行中递增,并且这N个连续的运行中的至少一 个大于阈值,则检测到啸叫。峰值FFTbin以及该峰值FFTbin的紧接前一个FFTbin和 紧接后一个FFTbin处的量级用来估计啸叫频率。也就是说,频率稍低的bin和频率稍高 的bin也被用来估计啸叫频率。与具有相同FFT点的常规FFT相比,新方法显著提高了频 率估计精度。例如,此处使用1024点FFT的啸叫频率估计误差可以低至+/-1Ηζ,这等于使 用常规方法的8192点FFT所产生的频率估计误差。一旦检测到啸叫并且估计到啸叫频率, 则以啸叫频率作为中心频率的陷波滤波器被插入到音频路径中,从而消除啸叫。所提出的 方法已经成功实现于扬声器系统中。
[0008] 下面将参照附图来描述本发明的这些和其他特征及优势。
【附图说明】
[0009] 图1是根据本发明的各个实施例示出陷波滤波器啸叫消除系统的框图。
[0010] 图2是根据本发明的各个实施例,进一步示出图1的啸叫频率估计框的细节的框 图。
[0011] 图3是根据本发明的各个实施例,示出啸叫检测和啸叫频率估计方法的流程图。
[0012] 图4是根据本发明的各个实施例,示出啸叫检测阈值的调整曲线的图示。
【具体实施方式】
[0013] 现在将详细参考本发明的优选实施例。附图中示出了优选实施例的示例。尽管将 结合这些优选实施例来描述本发明,但应当理解,不意欲将本发明限制于这些优选实施例。 相反,意为可以覆盖被包括在所附权利要求所限定的本发明的精神和范围之内的替代、修 改和等同。在下文的描述中,提供了一些具体细节,以提供对本发明的全面理解。可以在无 需这些具体细节中的一些或全部的情况下来实施本发明。在其他实例中,未对所熟知的处 理操作进行描述,以免不必要地模糊本发明。
[0014] 本发明的实施例提供了快速消除啸叫声音的有效、可靠、鲁棒且简单的方法。图1 根据本发明的各个实施例示出了陷波滤波器啸叫消除系统的框图。优选地,时域麦克风信 号被加窗(window)、重叠并且通过N_FFT(在本发明的优选实施例中为1024)点FFT被转换 为频域数据。随后在频域中检测并估计啸叫频率。一旦找到啸叫频率,便实时(〇n-the-fly) 设计以啸叫频率作为中心频率的陷波滤波器。陷波滤波器随后被插入到音频路径中,因而 在时域中消除该啸叫。下面提供针对图1的进一步细节。音频输入信号101首先被框102 中的重叠操作进行处理。重叠的量可以变化(常见重叠为25%、50 %和75%,或者跳大小 分别为75 %、50 %和25 %),但在优选实施例中,重叠为75 %或者跳大小为25 %。接下来, 在框104中,所重叠的样本被加窗。各种加窗方法在本领域中是已知的,其用来处理时域信 号的样本,并且本发明实施例不限于任何特定的加窗方法。接下来,在框106中,对经加窗 的数据执行FFT,以将时域信号转变到频域。在框108中,检测啸叫并且估计啸叫频率。使 用所估计的啸叫频率,在框110中利用在IIR滤波器112中所设计的滤波器系数来实时设 计陷波滤波器,从而消除来自流101中的音频的啸叫。
[0015] 为了在框108中准确且可靠地估计啸叫频率,在找到具有峰值量级的FFTbin1_MAX之前,FFT量级或范数被累加并且随后被取平均。估计I_MAX附近的功率以及底噪。基 于啸叫噪声比(HNR)来确定啸叫频率(图2)。图2是根据本发明的各个实施例,进一步示 出图1的啸叫检测和啸叫频率估计框108的细节的框图。首先,FFT范数在累加FFT范数框 202中被累加。接下来,在平均FFT范数框204中,FFT范数被取平均。在查找峰值FFT范 数框206中识别峰值FFT范数。在计算HNR框208中,首先通过计算候选频率的功率并且 计算底噪,以及优选地将HNR确定为啸叫功率对平滑底噪的比,来计算啸叫噪声比(HNR)。 HNR被用来在计算啸叫频率框210中计算啸叫频率。在图3的流程图中将提供关于啸叫频 率的检测的进一步细节。
[0016] 图3根据本发明的优选实施例,提供了用于在经适当编程的通用计算机或DSP处 理器(例如包括但不限于嵌入式处理器)中实现的所提出的啸叫检测和啸叫频率方法的流 程图。啸叫检测和啸叫频率估计算法是基于帧的。在每一帧中,麦克风信号的N_SAMPLE(在 本发明实施例中为256)个新样本或者跳大小SN_SAMPLE的新样本(步骤302) SAMPLE(在本发明实施例中为768)个旧样本重叠并且被加窗(步骤304)。而且,在本发明 实施例中,采用方形汉宁(Hanning)窗。在步骤306中执行FFT,以将经重叠且经加窗的样 本变换到频域。随后在步骤308中累加FFT量级或范数。如果累加了不足数目的帧,则该 流程从决策树310行进到开始以获得其他样本(步骤302)。在已经累加了足够帧数的FFT 范数的情况下,流程继续。也就是说,在优选的实施例中,对于每N_FFT_FRAME(在本发明实 施例中为3、6、9、12和15)个帧,在步骤312中对所累加的FFT量级进行平均。接下来,在 步骤314中,在全部的频率bin间,搜索经平均的FFT量级中具有最大量级的FFTbin1_ MAX。将FFTbinI_MAX作为候选啸叫频率。也就是说,在决策树步骤316中,如果I_MAX 与先前I_MAX之间的距离小于指定数值FFT_HOWLING_DELTA(在本发明的优选实施例中为 3),则分别在步骤318和320中计算I_MAX附近的啸叫频率的功率以及底噪功率。否则,在 步骤340中重置计数器HIT。在步骤322中使用公式1通过一阶平滑器来平滑底噪:
[0017]nflr(n+1) = (l-a)nflr(n)+aPnoise (公式 1)
[0018] 在本发明实施例中,使平滑因子α为0. 01,但在不背离本发明的精神和概念的情 况下,也可以使用其他因子。随后在步骤324中将HNR计算为啸叫功率与经平滑的底噪的 比。在步骤326中,HNR还优选地通过公式2由一阶平滑器来平滑:
[0019]hnr(n+l) = (1-β)*hnr(η) +β*nflr(n+1)(公式 2)
[0020] 在该优选的本发明实施例中,使平滑因子β为0. 3,但也可以使用其他值。在步骤 328中,如果经平滑的HNR大于HNR阈值(在该优选实施例中为30)并且每次运行递增,则 在步骤330中,将计数器HIT增加1。否则,流程行进至重置计数器HIT(步骤340)。
[0021] 啸叫检测是基于如下标准的:
[0022] 1 ·经平滑的HNR大于HNR阈值HNR_THRD(在本发明实施例中为30)。(参见步骤 328)
[0023] 2.针对N_HIT(在本发明实施例中为5)个连续的运行,经平滑的HNR递增。(参 见步骤328)
[0024]3.在N_HIT(在本发明实施例中为5)个连续的运行中(参见步骤332),存在至少 一个跳跃大于HNR_JUMP_THRD(在该优选的发明实施例中为1. 2)。
[0025] 在不使音频信号失真的情况下快速、准确且可靠的啸叫或声反馈消除的关键之处 在于:对啸叫频率的准确估计。通常,啸叫频率估计误差越小,啸叫或声反馈消除越有效或 者经处理的无啸叫音频质量越好。然而,有限的FFT大小限制了可以实现的较小的频率估 计误差。例如,1024点FFT在采样速率为16kHz下的频率估计误差可以大到8Hz。如果需 要+/-1Ηζ的频率估计误差,则至少应该采用采样频率为16kHz下的8192点FFT,而这太昂 贵并且在实际产品中无法实现。在本发明中,通过在采样速率为16kHz下的1024点FFT,啸 叫频率估计误差可以小到+/-1Ηζ。通过公式3-7来计算啸叫频率Fc(步骤334):
[0026] 1 = 201og10(Y)(公式 3)
[0027]c= 201og10(Y)(公式 4)
[0028]r= 201og10(Y+)(公式 5)
[0029]
[0030]
[0031] Y是FFTbinI_MAX处的FFT范数,并且Y和Y+分别是紧接I_MAX之前和紧接I_ MAX之后的FFT范数。
[0032] 针对每N_RESET_FRAME(在该发明实施例中为15)个帧来重置FFT范数累加缓冲 器。(参见步骤336和338)
[0033] 以低频调整啸叫检测阈值。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1