用于动态调谐回音消除器的增益控制系统及方法_3

文档序号:9263617阅读:来源:国知局
选地对应当动态地应用至麦克风信号和远端信号的衰减进行估 计,以便在不需要专用平台人工调谐的情况下适应改变回音路径环境和各种平台。
[0074] 在大部分实现中,增益控制器将形成通信装置的一部分,通信装置诸如为移动电 话、智能电话、有线电话、膝上型电脑、平板电脑、电话会议设备等。典型的通信装置包括:用 于输出远端信号的扬声器、用于监测近端信号的麦克风、CPU、存储器、诸如DSP的信号处理 电路和滤波器等。
[0075] 图lb所示的结构(和实际上包括在本文中的全部装置框图)旨在对应于许多功 能框。这仅仅是出于例示性目的。图lb不是旨在限定芯片上的硬件的不同部件之间的或 者软件中的不同程序、过程或功能之间的严格划分。在一些实施方式中,在本文描述的一些 或全部算法可以整体或部分地按硬件来执行。在许多实现中,增益控制系统的至少一部分 可以由在软件控制下起作用的处理器(例如,通信装置的CPU或DSP)来实现。任何这种软 件优选地存储在非暂态计算机可读介质上,如存储器(RAM、高速缓存、硬盘等)或其它存储 装置(USB存储棒、CD、磁盘等)。
[0076] 通常来说,麦克风信号中的信号能量的主要源是远端信号的回音;不存在近端处 显著信号能量的其它源。这在本文被表示为"单端讲话"。在其它时候,麦克风信号将包含 与任何回音无关的显著信号能量。在许多情况下,这将起因于近端处的讲话。这在本文表 示为"双端讲话"。该信号能量当然可能归因于与讲话不同的源。这在电话会议或免提操作 期间尤其如此。术语"双端讲话"由此被用于指不起因于回音的近端信号中的任何显著信 号能量。
[0077] 图2示出了声学回音消除器内的增益控制系统的实际实现的示例。图2是声学回 音消除器的高级框图。该声学回音消除器实现用于估计最佳麦克风衰减、远端衰减以及NLP 域值的算法。记号x(n)、d(n)、e(n)以及y(n)分别表示离散时间点n的远端信号、麦克风 信号、误差信号以及回音估计信号。h(n)表示回音路径的脉冲响应,而M和N分别是应用至 麦克风信号和远端信号的增益/衰减因子(对应于图lb中的衰减单元108)。
[0078] 声学回音消除器的功能框包括:自适应滤波器、回音抑制器以及非线性处理器/ 舒适噪声生成器。自适应滤波器对回音路径进行建模并且合成对回音信号的估计。回音抑 制器和非线性处理器被设置成在从麦克风信号减去估计的回音之后处理任何残留回音或 噪声。该残留回音可以十分强。例如,如果回音路径在双端讲话时段期间急剧变化,则自 适应滤波器对回音路径变化的追踪可以根据检测到的双端讲话而被禁止,潜在地导致强残 留回音。回音抑制器根据估计的回音对残留回音进行衰减。非线性处理器可以通过限幅 (clipping)来去除任何剩余的残留误差。这通常在其输入下降至低于时变域值时通过简单 地将其增益缩减至零来实现。舒适噪声生成器可以在限幅时段期间插入舒适噪声,以避免 令人不安的无声时段。
[0079] 图2中所示的声学回音消除器还包括:ERL估计器、增益调谐器、收敛稳定性检测 器以及NLP域值调谐器。ERL估计器(对应于图lb中的回音估计器104)利用麦克风信号 d(n)和远端信号x(n)来估计回波损耗。ERL估计器还接收误差信号e(n)。ERL估计器向 增益调谐器(对应于图lb中的衰减控制器105)提供控制输入,增益调谐器依次控制衰减 器和放大器。收敛稳定性检测器估计自适应滤波器的稳定性。收敛稳定性检测器向NLP域 值调谐器提供控制输入,NLP域值调谐器依次控制用于阻止残留回音泄露的NLP域值。收 敛稳定性检测器还向增益调谐器提供输入。
[0080] 远端信号x(n)在途中经过衰减器而到达自适应滤波器。自适应滤波器对回音路 径进行建模。自适应滤波器对远端信号进行滤波以生成对回音的估计。该回音形成麦克风 信号的一部分。将该回音估计从(潜在衰减的)麦克风信号d(n)中减去。如果麦克风信 号已经衰减,则回音消除信号的振幅低于原本的振幅。回音消除信号由此在进一步处理之 前被放大,以反转应用至麦克风信号的任何衰减。(该回音消除信号是反馈至自适应滤波器 的回音消除信号的未放大版本)。剩余信号可以根据估计的回音并且利用NLP域值来进行 衰减。所得信号接着被发送至远端。
[0081] 下面,将参照图3和图lc,对ERL估计器和增益调谐器的动作进行更详细说明,图 3例示了用于自动控制声学回音消除器的增益的算法,而图lc更详细示出了增益控制系 统。
[0082] 该算法从接收用于处理的新帧而开始(步骤301)。麦克风信号、远端信号以及误 差信号的能量由存在性单元111针对每一帧来进行估计(步骤302)。
[0083]
[0084]
[0085]
[0086] N是帧尺寸,典型地,每一帧可能是10毫秒持续时间。
[0087] 接着,计算远端信号的长期功率(步骤303):
[0088]
[0089] 将经由公式4计算的远端信号的长期功率与预定域值(i相比较(步骤304)。这 是检查远端存在性。如果远端信号的长期功率大于域值则确认远端信号存在。否则, 不确认远端存在性的存在,并且该算法针对下一帧进行重复。声学回音消除器同时按全双 工模式操作。
[0090] ERL估计优选地仅在麦克风检查到回音时执行。由此,在估计ERL之前检查远端信 号的存在性帮助实现ERL的准确估计和缩减CPU功耗两者。
[0091] 自适应滤波器在远端活动而近端不活动时进行自适应。存在性单元已经确定远端 活动。接着,自适应计数器检查自适应计数是否满足预定阈值(步骤305)。如果自适应 计数不满足该阈值,则这可能是因为滤波器系数在存在高的负的ERL时已经饱和、上溢或 下溢。因此,麦克风信号进一步被衰减(步骤306),以使得即使在低ERL条件下也获得可接 受的自适应滤波器消除。最小可接受自适应滤波器消除例如可能是6dB。衰减麦克风信号 还应当使自适应滤波器开始自适应并且计数增加。声学回音消除器还切换至半双工模式, 以阻止来自远端的回音(步骤310)。
[0092] 如果自适应计数器不满足预定值,则调用单端讲话鉴别(步骤307)。
[0093] 出于准确度的理由,ERL估计在单端讲话区期间执行。ERL估计器的功能很大程 度上取决于麦克风输出中的单端讲话区的鉴别。单端讲话区的伪检测可能导致对ERL的不 正确估计。单端讲话检测中的延迟或将单端讲话检测为双端讲话或者近端存在性可以导致 ERL估计的延迟;然而,其不影响估计的准确度。该算法合适地采用用于单端讲话鉴别的简 单逻辑。
[0094] 单端讲话鉴别器109可以被设置成经由任何适当的方法来检测单端讲话区。一个 选项是,比较麦克风信号与误差信号的时域功率级。图4示出了用于单端讲话鉴别的算法 的另一不例。
[0095] 首先,计算预定窗口上的麦克风信号和远端信号的短期功率(步骤402):
[0096]
[0097]
[0098] 在一个示例中,窗口W是32帧。
[0099] 无论何时短期麦克风信号与短期误差信号的功率级之间的比率超出预定比率 ( 2,都可以检测到单端讲话区,并且调用ERL测量(步骤403)。这还可以按dB来表达。在 一个示例中,无论何时误差信号的功率为比麦克风信号的功率级低至少6dB,都检测到单端 讲话区。
[0100] 在某些情形下,自适应滤波器因非常高的正的ERL(意指回音较小)而不实现6dB 衰减。因此,用于检测单端讲话区的另一选项是,比较短期麦克风功率与长期远端功率(步 骤405)。无论何时短期麦克风信号与长期远端信号的功率级之间的比率超出预定比率G3, 都可以检测到单端讲话区(步骤406)。这还可以按dB来表达。除了上面的标准以外,还 可以应用该标准。例如,如果麦克风信号的功率不是比误差信号的功率高至少6dB,则声学 回音消除器可以在确认没有单端讲话之前比较短期功率级与长期远端功率。通过结束单端 讲话鉴别,麦克风信号的当前帧或者被指定为单端讲话(步骤404)或者不指定为单端讲话 (步骤407)。
[0101] 返回至图3和图lc,在未检测到单端讲话的情况下(步骤308),如果回音消除器 已经按全双工模式操作
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1