回波消除方法、音频系统和音频处理设备与流程

文档序号:31463661发布日期:2022-09-09 19:20阅读:74来源:国知局
回波消除方法、音频系统和音频处理设备与流程

1.本技术涉及音频处理设备技术领域,并且具体地涉及由音频处理设备减少回波。


背景技术:

2.许多通信设备(例如,桌上型电话机、膝上型计算机、移动电子设备)具有“免提”模式,其中在本地扬声器上为用户再现来自远处位置的音频。用户可以言语响应,并且言语响应由本地麦克风检测并且被发送回远处位置。然而,由本地扬声器再现的音频也由本地麦克风检测,这会在发送到远处位置的信号中产生回波。为了减少返回到远处位置的音频信号中的回波,在将音频信号作为返回信号发送到远处位置之前,通信设备可以在由本地麦克风产生的音频信号中实施回波消除。


技术实现要素:

3.至少一个示例是回波消除方法,该方法包括:由扬声器基于远麦克风信号产生声波;在本地麦克风处基于该声波接收回波,并且接收本地生成的声波,该接收形成本地麦克风信号;基于所述远麦克风信号和步长大小参数产生估计的回波信号;对所述本地麦克风信号和所述估计的回波信号求和,以产生具有与所述本地麦克风信号有关的减少的回波的结果信号;以及控制步长大小参数。控制步长大小参数可以包括:基于本地麦克风信号和结果信号的互相关性计算收敛值;以及基于收敛值更新步长大小参数。
4.在示例性方法中,计算收敛值可进一步包括:将本地麦克风信号转换为频域以形成本地麦克风频谱;将所述结果信号转换为频域以形成结果频谱;执行所述本地麦克风频谱和所述结果频谱的互相关性以形成互相关性频谱;以及基于互相关性频谱形成收敛值。更新步长大小参数可进一步包括当收敛值大于预先确定的上限值时,相对于先前的步长大小参数减小当前步长大小参数。更新步长大小参数可进一步包括当收敛值小于预先确定的下限值时,相对于先前的步长大小参数增加当前步长大小参数。更新收敛值可以进一步包括:计算本地麦克风频谱的方差;将互相关性频谱除以方差以形成红利频谱;并从1中减去红利频谱以形成收敛频谱;以及计算收敛值作为收敛频谱的成员的平均幅值。
5.在示例性方法中,更新步长大小参数可以进一步包括选自包括以下的组中的至少一者:将先前的步长大小参数乘以预先确定的值;以及将所述先前的步长大小参数除以所述预先确定的值。
6.在示例性方法中,更新步长大小参数可以进一步包括选自包括以下的组中的至少一者:将先前的步长大小参数除以预先确定的值以产生商,并且从先前的步长大小参数中减去商以产生当前步长大小参数;以及将先前的步长大小参数除以预先确定的值以产生商,并且将商添加到先前的步长大小参数以产生当前步长大小参数。
7.另一个示例是音频处理设备,该音频处理设备包括:音频输入端口、音频输出端口、麦克风端口和结果端口;和回波消除控制器,该回波消除控制器限定耦接到音频输入端口的音频输入端、耦接到音频输出端口的音频输出端、耦接到麦克风端口的麦克风输入端、
耦接到结果端口的结果输出端以及步长大小输入端,该回波消除控制器被配置为基于在音频输入端口上接收的音频信号和在步长大小输入端上接收的步长大小参数来减少在麦克风输入端上接收的回波;以及步长大小控制器,该步长大小控制器限定耦接到麦克风端口的第一输入端、耦接到结果输出端的第二输入端以及耦接到回波消除控制器的步长大小输入端的步长大小输出端。通过被配置为进行以下操作,步长大小控制器可以被配置为将步长大小参数驱动到步长大小输入端:计算在麦克风输入端上接收的麦克风信号和从结果输出端接收的结果信号的互相关性;基于所述互相关性形成收敛值;以及基于收敛值更新步长大小参数。
8.在示例性音频处理设备中,步长大小控制器可以进一步包括:傅里叶变换逻辑部件,该傅里叶变换逻辑部件限定耦接到麦克风输入端的第一输入端、耦接到结果输出端的第二输入端、麦克风输出端和结果输出端;以及互相关性逻辑部件,该互相关性逻辑部件具有耦接到麦克风输出端的第一输入端和耦接到结果输出端的第二输入端,以及收敛输出端。该傅里叶变换逻辑部件可被配置为从麦克风信号生成麦克风频谱并将麦克风频谱驱动到麦克风输出端,并且该傅里叶变换逻辑部件被配置为从结果信号生成结果频谱并将该结果频谱驱动到傅里叶变换逻辑部件的结果输出端。该互相关性逻辑部件可被配置为执行麦克风频谱和结果频谱的互相关性以形成互相关性频谱;并且该互相关性逻辑部件可被配置为基于互相关性频谱形成收敛值,并且将该收敛值驱动到收敛输出端。示例性音频处理设备可以进一步包括:步长大小逻辑部件,该步长大小逻辑部件限定耦接到收敛输出端的收敛输入端以及步长大小输出端;并且该步长大小逻辑部件被配置为当收敛值大于预先确定的上限值时,通过相对于先前的步长大小参数减小步长大小参数来更新步长大小参数。示例性音频处理设备可以进一步包括:步长大小逻辑部件,该步长大小逻辑部件限定耦接到收敛输出端的收敛输入端以及步长大小输出端;并且该步长大小逻辑部件被配置为当收敛值小于预先确定的下限值时,通过相对于先前的步长大小参数增加步长大小参数来更新步长大小参数。示例性音频处理设备可以进一步包括限定方差输出的互相关性逻辑部件,并且该互相关性逻辑部件被配置为:计算互相关性频谱的方差;将互相关性频谱除以方差以形成红利频谱;从1中减去红利频谱以形成收敛频谱;以及计算收敛值作为收敛频谱的成员的平均幅值。
9.在示例性音频处理设备中,步长大小控制器可以更新步长大小参数,并且步长大小控制器可以被进一步配置为选自包括以下的组中的至少一者:将先前的步长大小参数乘以预先确定的值;以及将所述先前的步长大小参数除以所述预先确定的值。
10.在示例性音频处理设备中,当步长大小控制器更新步长大小参数时,步长大小控制器可以被进一步配置为选自包括以下的组中的至少一者:将先前的步长大小参数除以预先确定的值以产生商,并从先前的步长大小参数中减去商以产生步长大小参数;以及将先前的步长大小参数除以预先确定的值以产生商,并将商添加到先前的步长大小参数以产生步长大小参数。
11.又一个示例是一种音频系统,该音频系统包括:扬声器;麦克风;音频处理设备,该音频处理设备包括音频输入端口和结果端口;回波消除控制器,所述回波消除控制器限定耦接到所述音频输入端口的音频输入端、耦接到所述扬声器的音频输出端、耦接到所述麦克风的麦克风输入端、耦接到所述结果端口的结果输出端以及步长大小输入端;所述回波
消除控制器被配置为基于在所述音频输入端口上接收的音频信号和在所述步长大小输入端上接收的步长大小参数来减少在所述麦克风上接收的回波;步长大小控制器,该步长大小控制器限定耦接到麦克风的麦克风输入端、耦接到结果输出端的结果输入端以及耦接到回波消除控制器的步长大小输入端的步长大小输出端。通过被配置为进行以下操作,步长大小控制器可以被配置为将步长大小参数驱动到步长大小输入端:计算从麦克风接收的麦克风信号和在结果输入端上接收的结果信号的互相关性;基于所述互相关性形成收敛值;以及基于收敛值更新步长大小参数。
12.在示例性音频系统中,步长大小控制器可以进一步包括:傅里叶变换逻辑部件,该傅里叶变换逻辑部件限定耦接到麦克风的第一输入端、耦接到结果输出端的第二输入端、麦克风输出端和结果输出端;所述傅里叶变换逻辑部件被配置为从所述麦克风信号生成麦克风频谱并将所述麦克风频谱驱动到所述麦克风输出端,并且所述傅里叶变换逻辑部件被配置为从所述结果信号生成结果频谱并将所述结果频谱驱动到所述傅里叶变换逻辑部件的所述结果输出端;互相关性逻辑部件,所述互相关性逻辑部件具有耦接到所述麦克风输出端的第一输入端和耦接到所述结果输出端的第二输入端,以及收敛输出端;所述互相关性逻辑部件被配置为执行所述麦克风频谱和所述结果频谱的互相关性以形成互相关性频谱;并且该互相关性逻辑部件被配置为基于互相关性频谱形成收敛值,并且将收敛值驱动到收敛输出端。示例性音频系统可以进一步包括:步长大小逻辑部件,该步长大小逻辑部件限定耦接到收敛输出端的收敛输入端以及步长大小输出端;并且该步长大小逻辑部件被配置为当收敛值大于预先确定的上限值时,通过相对于先前的步长大小参数减小步长大小参数来更新步长大小参数。示例性音频系统可以进一步包括:步长大小逻辑部件,该步长大小逻辑部件限定耦接到收敛输出端的收敛输入端以及步长大小输出端;并且该步长大小逻辑部件被配置为当收敛值小于预先确定的下限值时,通过相对于先前的步长大小参数增加步长大小参数来更新步长大小参数。示例性音频系统可以进一步包括限定方差输出的互相关性逻辑部件,并且该互相关性逻辑部件被配置为:计算互相关性频谱的方差;将互相关性频谱除以方差以形成红利频谱;从1中减去红利频谱以形成收敛频谱;以及计算收敛值作为收敛频谱的成员的平均幅值。
13.在示例性音频系统中,当步长大小控制器更新步长大小参数时,步长大小控制器被进一步配置为选自包括以下的组中的至少一者:将先前的步长大小参数乘以预先确定的值;以及将所述先前的步长大小参数除以所述预先确定的值。
附图说明
14.为了详细描述示例实施方案,现在将参照附图,在附图中:
15.图1示出了根据示例性实施方案的通信系统的框图;
16.图2示出了根据至少一些实施方案的音频处理设备的框图;
17.图3示出了根据至少一些实施方案的步长大小控制器的框图;
18.图4示出了根据至少一些实施方案的步长大小控制器的示例性操作的流程图;并且
19.图5示出了根据至少一些实施方案的方法。
20.定义
21.各种术语用来指特定系统部件。不同公司可用不同名称来指一种部件

本文献并非意于在名称不同而功能相同的部件之间作出区分。在下面的讨论中以及在权利要求书中,术语“包括”和“包含”以开放形式使用,并且因此,这些术语应被解释成意指“包括但不限于
…”
。另外,术语“耦合”或“耦接”旨在意指间接连接或直接连接。因此,如果第一器件耦接至第二器件,则该连接可通过直接连接或通过经由其他器件和连接的间接连接进行。
22.术语“输入”和“输出”在用作名词时是指连接(例如,电连接或软件连接),不应被解读为需要动作的动词。例如,定时器电路可限定时钟输出。示例定时器电路可在时钟输出上形成或驱动时钟信号。在直接在硬件中(例如,半导体衬底上)实现的系统中,这些“输入”和“输出”限定电连接。在软件中实现的系统中(例如在处理器或微控制器上执行),这些“输入”和“输出”限定分别由实现功能的指令读取或写入的参数。
[0023]“生效”应意指更改布尔信号的状态。根据电路设计者的判断,布尔信号可生效为高电平或具有较高电压,并且布尔信号可生效为低电平或具有较低电压。类似地,“解除生效”应意指将布尔信号的状态更改为与生效状态相反的电压电平。
[0024]
关于所述值的“约”应意味着所述值加上或减去所述值的百分之五(+/-5%)。
[0025]“控制器”应单独或组合地指被配置为读取输入并且响应该输入驱动输出的单个电路部件、特定于应用的集成电路(asic)、具有控制软件(例如,精简指令集计算(risc)处理器内核)的处理器、具有控制软件的微控制器、具有控制软件的数字信号处理器(dsp)、可编程逻辑器件(pld)或现场可编程门阵列(fpga)。
具体实施方式
[0026]
以下讨论涉及本发明的各种实施方案。虽然这些实施方案中的一个或多个实施方案可能是优选的,但所公开的实施方案不应解释为或以其他方式用来限制包括权利要求书在内的本公开的范围。另外,本领域技术人员应当理解,以下描述具有广泛应用,并且对任何实施方案的讨论仅意指该实施方案的示例,而并非旨在表示包括权利要求书在内的本公开的范围限于该实施方案。
[0027]
各种示例性实施方案涉及回波减少的系统和方法。更特别地,在一些示例中,音频处理设备通过以下操作执行回波减少:基于由本地麦克风接收的本地麦克风信号与来自回波减少的先前迭代的结果信号的互相关性来控制步长大小参数。又更特别地,在一个示例中,音频处理设备在频域中执行互相关性,并且基于结果互相关性频谱形成收敛值。然后可以基于收敛值更新步长大小参数。以此方式,在音频处理设备执行初始收敛的时间段期间,可以使用较大的步长大小。当回波减少收敛时,音频处理设备使用较小的步长大小参数来避免过冲和/或振荡。描述转向示例性系统以使读取器确定方向。
[0028]
图1示出了示例性通信系统100的框图。特别是,图1示出了包括远距或远程设备102和被指定为音频系统104的本地装置的通信系统100。远程设备102包括麦克风106和扬声器108。音频系统104包括扬声器110和麦克风112。在操作中,远程位置处的麦克风106拾取远程设备102附近的音频,并将音频信号发送到音频系统104。为了帮助区分来自远程设备的音频信号与下面要介绍的其他音频信号,来自远程设备的音频信号被称为“远麦克风信号”。音频系统104继而基于远麦克风信号通过扬声器110产生声波(即,声音),使得音频系统104附近的听者可以听到声音。
[0029]
在许多情况下,音频系统104附近的本地听者可以对从扬声器110听到的内容作出反应,并且因此音频系统104附近的本地听者可以形成由麦克风112拾取的声波(即,声音)。因此,麦克风112产生被称为本地麦克风信号的音频信号,并且可以将该本地麦克风信号发送到远程设备102。远程设备102处的扬声器108继而可以基于由麦克风112形成的本地麦克风信号生成声波(即,声音)。
[0030]
音频系统104可以采用任何合适的形式。例如,音频系统104可以是普通老式电话服务(pots)设备,并且在示例性情况下,本地麦克风信号可以是通过通信信道114以传统电话服务的形式传送到远程设备102的模拟信号。在其他情况下,音频系统104可以是接收本地麦克风信号、以数字格式对本地麦克风信号进行编码并且以基于分组的消息的形式发送编码信号的互联网协议(ip)电话。相关地,ip电话可以接收数字格式的远麦克风信号(例如,通过基于分组的消息进行接收)、对远麦克风信号进行解码并且通过扬声器110产生声音。在音频系统104是ip电话的示例性情况下,通信信道114可以全部或部分地是互联网。
[0031]
在又其他情况下,音频系统104可以是计算机(例如,台式计算机、膝上型电脑),其也以数字格式对本地麦克风信号进行编码并且以基于分组的消息的形式发送编码信号。相关地,该计算机可以接收数字格式的远麦克风信号(例如,通过基于分组的消息进行接收)、对远麦克风信号进行解码并且通过扬声器110产生声音。在音频系统104是计算机的示例性情况下,通信信道114可以全部或部分地是互联网。
[0032]
在又其他情况下,音频系统104可以是移动计算设备(例如,蜂窝电话、平板设备),其以数字格式对本地麦克风信号进行编码并且以基于分组的消息的形式发送编码信号。相关地,该移动计算设备可以接收数字格式的远麦克风信号(例如,通过基于分组的消息进行接收)、对远麦克风信号进行解码并且通过扬声器108产生声音。在音频系统104是移动计算设备的示例性情况下,通信信道114可以全部或部分地是与蜂窝电话网络相关联的数据网络。
[0033]
仍然参考图1,并且现在考虑远程设备102。远程设备102可以采用任何合适的形式,例如pots电话、ip电话、计算机或移动计算设备。因此,远程设备102可以接收各种形式的本地麦克风信号,例如模拟信号或使用任何合适的编码方案进行编码的数字信号。相关地,由麦克风106部分形成的远麦克风信号能够以任何合适的形式(诸如模拟信号或以任何合适的编码方案编码的数字信号)发送到音频系统104。
[0034]
再次考虑音频系统104,当扬声器110产生声波时,声波可以行进并入射到麦克风112上,诸如直接入射或通过在本地环境中的声波反射进行入射。在图1中通过虚线116示出了入射到麦克风112上的此类直接或经反射的声波,并且将在下文中称为回波116。此类声波通过本地环境的声音路径或信道在图中标记为h。因此,麦克风112可以检测或拾取本地生成的声波(下文为本地声音118)以及回波116两者。如果在没有进一步处理的情况下发送本地麦克风信号,则通过扬声器108在远程位置处再现的声波将包含回波(例如,远程位置处的人员片刻前对着麦克风106所说的话),从而使本地声音118在远程设备102处难以辨别或理解。远程设备102附近的回波会发生相同的问题,但没有专门地加以解决,以免使讨论进一步复杂化。根据示例性实施方案,音频系统104实现回波消除或回波减少以从本地麦克风信号移除或减少回波,并且因此发送到远程设备102的结果信号是其中回波减少或消除的结果信号。
[0035]
仍然参考图1,示例性音频系统104包括音频处理设备120。在一个示例中,音频处理设备120是被设计和构造成实现与以下相关联的一些或全部特征的封装集成电路器件或封装半导体器件:接收远麦克风信号,基于远麦克风信号由扬声器110产生声波,从麦克风112生成本地麦克风信号,相对于本地麦克风信号执行回波减少,以及生成通过通信信道114发送到远程设备102的结果信号。
[0036]
示例性音频处理设备120包括音频输入端口122、音频输出端口124、麦克风端口126和结果端口128。音频输入端口122可以是限定在封装半导体器件的封装上或通过封装半导体器件的封装的一个或多个电端子。例如,音频输入端口122可以是单个端子、一组两个或更多个端子(例如,两个模拟端子)或限定串行或并行通信总线的总线的一组端子。结果端口128可以是由封装半导体器件限定或通过封装半导体器件的一个或多个电端子。例如,结果端口128可以是单个端子、一组两个或更多个端子或限定串行或并行通信总线的总线的一组端子。音频输出端口124可以是由封装半导体器件限定或通过封装半导体器件的一个或多个电端子。在一个示例中,音频处理设备120直接驱动扬声器110,并且因此音频输出端口124可以是两个端子,音频处理设备120跨该两个端子驱动模拟信号。在其他示例中,音频输出端口124可以以数字形式将远麦克风信号携载到下游设备,并且因此音频输出端口124可以是形成用于串行或并行通信总线的总线线路的多个端子。麦克风端口126可以是由封装半导体器件限定或通过封装半导体器件的一个或多个电端子。在一个示例中,音频处理设备120直接耦接到麦克风112并接收模拟形式的本地麦克风信号,并且因此麦克风端口126可以是两个端子,模拟信号跨该两个端子进行接收。在其他示例中,麦克风端口126可以数字形式耦接到麦克风112,并且因此麦克风端口126可以是形成用于串行(例如,通用串行总线)或并行通信总线的总线线路的多个端子。
[0037]
图2示出了示例性音频处理设备120的框图。特别是,图2再次示出了音频输入端口122、音频输出端口124、麦克风端口126和结果端口128。图2还带有耦接到音频输出端口124的扬声器110和耦接到麦克风端口126的麦克风112。图2示出了音频处理设备120可包括包封在封装内的半导体材料(例如,硅)的一个或多个衬底(诸如,衬底200)以形成封装的半导体设备。衬底200上的接合焊盘或其他连接点耦接到端子。虽然示出了单个衬底200,但是在其他情况下,可以组合多个衬底以形成音频处理设备120(例如,多芯片模块)。
[0038]
示例性音频处理设备120可以包括回波消除控制器202和步长大小控制器204。回波消除控制器202可以包括耦接到音频输入端口122的音频输入端206、耦接到音频输出端口124的音频输出端208、耦接到麦克风端口126的麦克风输入端210、耦接到结果端口128的结果输出端212和步长大小输入端214。回波消除控制器202被设计和构造成基于在音频输入端206上接收的音频信号(例如,远麦克风信号)和在步长大小输入端214上接收的步长大小参数来减少在麦克风输入端210上接收的回波。回波消除控制器202能以许多形式实现。例如,在一些情况下,回波消除控制器202可以是构造在衬底200上并且被设计成减少在麦克风输入端210上接收的回波的模拟电路。在其他情况下,回波消除控制器202可以被实现为在构造在衬底200上的处理器或微控制器中执行的软件。在又其他情况下,回波消除控制器202可以被实现为在衬底200上实现的数字信号处理器(dsp)。此外,回波消除控制器202可以是模拟、数字和/或基于软件的实施方式的组合。
[0039]
示例性回波消除控制器202包括自适应滤波器216(在图中标记为adf)和信道模型
218(在图中标记为h
mod
)。自适应滤波器216限定步长大小输入端214、耦接到远麦克风信号的信号输入端215,并且耦接到结果输出端212。因此,自适应滤波器216接收步长大小输入端214上的步长大小参数、信号输入端215上的远麦克风信号和来自结果输出端212的结果信号。基于步长大小参数、远麦克风信号和结果信号,自适应滤波器216形成提供给信道模型218的多个信道权重。信道模型218对扬声器110与麦克风112之间的声音信道h进行建模,以便估计回波116。示例性信道模型218耦接到音频输入端206,并且因此接收远麦克风信号。信道模型218耦接到自适应滤波器216,并且因此接收多个信道权重。信道模型218使用多个信道权重来基于远麦克风信号形成估计的回波信号,并且估计的回波信号被提供给求和块220。自适应滤波器216和信道模型218的组合可以采用任何合适的形式,诸如归一化的最小均方(nlms)系统,或任何合适的后开发方法和/或系统,该方法和/或系统使用可变量值步长大小参数来从远麦克风信号形成估计的回波信号和形成结果信号。
[0040]
示例性回波消除控制器202进一步包括求和块220。求和块220限定耦接到麦克风输入端210的总和输入并因此限定麦克风112、限定耦接到信道模型218的第二总和输入并因此限定估计的回波信号,以及限定结果输出端,该结果输出端限定结果输出端212。求和块220对接收的信号进行求和,其中在图中指示极性。即,在一个示例中,求和块220从麦克风112形成的本地麦克风信号中减去由信道模型218(和自适应滤波器216)生成的估计的回波信号。求和所得耦接到结果输出端212。结果信号可以发送到远程设备102(图1)。在一些感测中,由求和块220生成的结果信号在由自适应滤波器216和信道模型218的组合实现的闭环控制系统中会被认为是错误信号。
[0041]
图2的示例性音频系统104以框图形式示出,其中块之间的单线线路表示电互连和/或通信互连。互连的确切性质取决于所实现的系统的类型和所使用的编码方案(如果有的话)。一些功能可以以模拟形式来实现(例如,驱动扬声器110或接收模拟本地麦克风信号)。可以以数字形式执行功能的其他方面(例如,自适应滤波器216、信道模型218、求和块220)。为了不使附图过度复杂,未示出用于将信号的性质从一种形式改变为另一种形式(例如,模拟到数字,反之亦然)的各种设备和系统。然而,受益于本公开的本领域的普通技术人员理解模拟形式和数字形式的概念,并且在两种形式之间进行切换。
[0042]
为了帮助理解下文讨论的数学概念,图2还示出了与各种信号相关联的数学术语。对于采样信号,假设样本间隔为t,使得样本的相对时间可以由以下公式给出:
[0043]
t=to+nt
ꢀꢀ
(1)
[0044]
其中t是样本时间,to是初始时间,并且n是整数值(例如,样本数)。为简单起见,可以将样本时间t替换为整数n,因为样本时间t与样本数n之间存在直接相关性。根据此符号,为在音频输入端口122上接收的远麦克风信号分配x(n)。为本地麦克风信号分配d(n)。为估计的回波信号分配y(n)。为错误信号或结果信号分配e(n)。这些术语中的每一个术语可以被认为是数学阵列或多维向量。
[0045]
以该符号为基础,求和块220通过以下形成结果信号e(n):
[0046]
e(n)=d(n)

y(n)。
ꢀꢀ
(2)
[0047]
相似地,自适应滤波器216和信道模型218基于采样信号产生信道估计h
mod
,并且因此可以为每个样本的信道估计分配术语h
mod
(n)。根据一些示例性系统,可以通过以下计算信道估计:
[0048]hmod
(n+1)=h
mod
(n)+2μe(n)x(n)
ꢀꢀ
(3)
[0049]
其中h
mod
(n+1)是下一个信道估计,h
mod
(n)是当前和/或先前的信道估计,μ是步长大小参数,并且e(n)和x(n)如上文所定义。本说明书现在转向步长大小控制器204和由步长大小控制器204产生的步长大小参数μ。
[0050]
示例性步长大小控制器204限定耦接到麦克风端口126的音频输入端222、耦接到结果输出端212的错误输入端224和耦接到步长大小输入端214的步长大小输出端226。步长大小控制器204被设计和构造成基于在错误输入端224上接收的结果信号e(n)和在音频输入端222上接收的本地麦克风信号d(n)来选择和/或更新步长大小参数μ的量值(下文中只是更新步长大小参数μ)。然后,步长大小控制器204将步长大小参数驱动到步长大小输出端226。步长大小控制器204可以以许多形式实现。例如,在一些情况下,步长大小控制器8u204可以是构造在衬底200上并且被设计成更新步长大小参数μ的模拟电路。在其他情况下,步长大小控制器u204可以被实现为在构造在衬底200上的处理器或微控制器中执行的软件。在又其他情况下,步长大小控制器204可以被实现为构造在衬底200上的dsp。此外,步长大小控制器204可以是模拟、数字和/或基于软件的实施方式的组合。
[0051]
在示例性情况下,步长大小控制器204计算本地麦克风信号(在麦克风端口126上接收)和结果信号(从结果输出端212接收)的互相关性。使用所得互相关性,示例性步长大小控制器204形成收敛值。基于收敛值,步长大小控制器204更新下一步长大小参数μ并且将步长大小参数μ驱动到步长大小输出端226。在一些情况下,步长大小控制器204被设计和构造成将本地麦克风信号从时域表示转换为频域表示以形成本地麦克风频谱。步长大小控制器204可以进一步将结果信号从时域表示转换为频域表示以形成结果频谱。然后,步长大小控制器204可以执行本地麦克风频谱和结果频谱的互相关性以形成互相关性频谱。基于互相关性频谱,步长大小控制器204形成收敛值。使用收敛值,步长大小控制器204更新下一步长大小参数μ。收敛值可以是单值(改变计算的每次迭代),其提供回波减少是在朝着结果信号中较低总回波分量(例如,最小回波)收敛还是发散的指示。此外,收敛值的量值可以提供回波减少收敛或发散的速率的指示。在示例性系统中,使用互相关性得出收敛值是多步骤过程。本说明书首先转向示例性数学方法,然后转向可用于实现该数学方法的示例性系统。
[0052]
在示例性系统中,得出收敛值可以是多步骤过程,其涉及计算互相关,然后使用该互相关性计算收敛频谱,并且随后从收敛频谱计算平均幅值或平均值。特别是,示例性步长大小控制器204可以例如根据以下公式在频域中执行本地麦克风信号d(n)和结果信号e(n)的互相关性:
[0053][0054]
其中r
de
(n)是所得互相关性,d(n)是频域中的本地麦克风信号,是e(n)的共轭复数。所得互相关性r
de
(n)是阵列或向量,并且因为在示例性系统中,互相关性是在频域中执行,所以r
de
(n)可以称为互相关性频谱r
de
(n)。换句话说,对于许多(如果不是全部)样本n,步长大小控制器204可以通过执行本地麦克风信号d(n)与结果信号e(n)(两种信号均在频域中)之间的互相关性来计算互相关性频谱r
de
(n)。
[0055]
示例性步长大小控制器204然后可以根据以下公式计算收敛频谱ζ
mecc

[0056]
ζ
mecc
(n)=1

(r
de
(n)/δ
2d
)
ꢀꢀ
(5)
[0057]
其中ζ
mecc
(n)是收敛频谱,r
de
(n)是互相关性频谱,并且δ
2d
是频域中的本地麦克风信号d(n)的方差。将互相关性频谱r
de
(n)除以标量方差δ
2d
,并且从1中减去红利(红利频谱)。鉴于互相关性频谱r
de
(n)是一个阵列,因此收敛频谱ζ
mecc
(n)也是一个阵列。
[0058]
示例性步长大小控制器204然后可以基于收敛频谱ζ
mecc
(n)形成收敛值。特别是,在示例性情况下,步长大小控制器204可以根据以下公式采用收敛频谱ζ
mecc
(n)的成员的平均值:
[0059][0060]
其中是收敛值,并且n是收敛频谱ζ
mecc
的成员数。收敛值是标量。在许多情况下,收敛值介于零与约二之间,在大多数情况下介于下限约0.5至上限约1.2之间。收敛值约为一(例如,在0.98与1.02之间,包括端值在内)是指示步长大小参数经正确调整以减少结果信号中的回波。收敛值高于预先确定的上限值(例如,高于约1.02)是指示先前的步长大小参数太大,并且应在量值上减小下一步长大小参数。相反的,收敛值低于预先确定的下限值(例如,低于约0.98)是指示先前的步长大小参数太小,并且应在量值上增加下一步长大小参数。
[0061]
示例性步长大小控制器204可以形成可用于测量回波减少的收敛状态的附加的参数。例如,步长大小控制器204还可以根据以下公式计算收敛频谱ζ
mecc
(n)的方差:
[0062][0063]
其中ε是方差,并且其余参数如上所述。方差值ε是标量。方差值ε大是指示先前的步长大小参数太大,并且应在量值上减小当前或下一步长大小参数。
[0064]
图3示出了示例性步长大小控制器204的框图。特别是,示例性步长大小控制器204包括傅里叶变换逻辑部件300、互相关性逻辑部件302、步长大小逻辑部件304和方差趋势逻辑部件314。示例性傅里叶变换逻辑部件300包括作为音频输入端222的第一输入端、作为结果输入端或错误输入端224的第二输入端、麦克风输出端306和结果输出端308。傅里叶变换逻辑部件300被设计和构造成执行本地麦克风信号d(n)的傅里叶变换并由此生成本地麦克风频谱d(n),并且将本地麦克风频谱d(n)驱动到麦克风输出端306。傅里叶变换逻辑部件300也被设计和构造成执行结果信号e(n)的傅里叶变换并由此生成结果频谱e(n),并且将结果频谱e(n)驱动到结果输出端308。在一个示例中,傅里叶变换逻辑部件300执行快速傅里叶变换,但可以使用任何合适的傅里叶变换方法。
[0065]
示例性步长大小控制器204进一步限定互相关性逻辑部件302。示例性互相关性逻辑部件302限定耦接到麦克风输出端306的第一输入端、耦接到结果输出端308的第二输入端、收敛输出端310和方差输出端312。互相关性逻辑部件302被设计和构造成执行本地麦克风频谱d(n)和结果频谱e(n)的数学互相关性,并由此形成互相关性频谱r
de
(n),诸如根据以
上公式(4)。进一步地,示例性互相关性逻辑部件302被设计和构造成基于互相关性频谱r
de
(n)计算收敛值诸如根据以上公式(6),并且将收敛值驱动到收敛输出端310。在一些示例性情况下,互相关性逻辑部件302还可以被设计和构造成计算方差值ε,诸如根据以上公式(7),并且将方差值ε驱动到方差输出端312。
[0066]
仍然参考图3,示例性步长大小控制器204还包括方差趋势逻辑部件314。方差趋势逻辑部件314限定耦接到方差输出端312的输入端以及趋势输出端316。示例性方差趋势逻辑部件314被设计和构造成从互相关性逻辑部件302接收每个方差值ε,并且在趋势输出端316处产生布尔信号。特别是,当方差值ε(n)小于先前的方差值ε(n-x)时,方差趋势逻辑部件314使趋势输出端316生效。在一些情况下,呈下降趋势的方差指示回波减少正在收敛(例如,经两次或更多次迭代的回波分量呈下降趋势)。
[0067]
示例性步长大小控制器204还包括步长大小逻辑部件304。示例性步长大小逻辑部件304限定趋势输入端318、方差输入端320、收敛输入端322、先前的μ输入端324、β输入端326和条件输入端328。示例性步长大小逻辑部件304进一步限定步长大小输出端226。在一些情况下,步长大小逻辑部件304被设计和构造成当收敛值大于预先确定的上限值时,通过相对于先前的步长大小参数μ(n-1)减小步长大小参数来更新步长大小参数μ(n)。在其他情况下,步长大小逻辑部件304被设计和构造成当收敛值小于预先确定的下限值时,通过相对于先前的步长大小参数μ(n-1)增加步长大小参数来更新步长大小参数μ(n)。还实现了其他情况,如图4的流程图中所描述。
[0068]
图4示出了步长大小逻辑部件304的示例性操作的流程图。特别是,操作开始(框400)并进行到决策框406,该决策框是关于收敛值是否高于预先确定的上限值(例如,高于约1.02)的确定。收敛值高于预先确定的上限值指示先前的步长大小参数μ(n-1)太大使过程无法收敛,并且指示下一步长大小参数μ(n)应减小。因此,如果决策框406内的决策是真,则过程进行到操作框404,该操作框减小步长大小参数μ(减小在图中指定为μ(n)《μ(n-1)),用于由自适应滤波器216(图2)和信道模型218(也是图2)执行的过程的下一次迭代。
[0069]
返回到决策框406,如果决策框406内的决策是假(例如,低于约1.02),则示例性过程可以进行到决策框408,该决策框是关于方差值ε是否高于预先确定的高值的确定。方差值ε高于预先确定的高值是指示先前的步长大小参数μ(n-1)太大,并且步长大小参数μ(n)应减小。因此,如果决策框408内的决策是真,则过程再次进行到操作框404,该操作框减小步长大小参数μ用于由自适应滤波器216(图2)和信道模型218(也是图2)执行的过程的下一次迭代。
[0070]
返回到决策框408,如果决策框406内的决策是假,则示例性过程可以进行到决策框410,该决策框是关于收敛值是否小于约1,并且回波减少是否正在收敛(例如,趋势输入端318被生效)的确定。收敛值小于约1(例如,小于0.98)是指示步长大小参数μ(n-1)导致结果信号中回波减少(由趋势输入端318的生效状态确认),但是收敛太慢,并且因此可能需要增加下一步长大小参数μ(n)。因此,如果决策框410内的决策是真,则过程进行到操作框412,该操作框增加步长大小参数μ(增加在图中指定为μ(n)》μ(n-1)),用于由自适应滤波器216(图2)和信道模型218(也是图2)执行的过程的下一次迭代。
[0071]
返回到决策框410,如果决策框410内的决策是假(例如,收敛值大于约0.98或趋
势输入端318被解除生效),则这是指示步长大小参数μ正确更新。因此,示例性过程进行到框414,该框使步长大小参数μ保持不变(如图中所示为μ(n)=μ(n-1)),用于由自适应滤波器216(图2)和信道模型218(也是图2)执行的过程的下一次迭代。然后,示例性过程结束(框416),可能立即重新开始(框400)。本说明书现在转向增加步长大小参数(μ(n)》μ(n-1))和减小步长大小参数(μ(n)《μ(n-1))的实施例。
[0072]
返回到图3,在一个示例中,步长大小逻辑部件304在β输入端326处接收更新系数β。在示例性情况下,步长大小逻辑部件304在增加或减小步长大小参数μ时使用更新系数β。特别是,当设计音频系统104(图1)时,系统设计者可以选择更新系数β以实现任何合适的目标。在实施过程中,当步长大小逻辑部件304减小步长大小参数μ时,步长大小逻辑部件304可以将先前的步长大小参数(例如,μ(n-1))除以更新系数β以得出下一步长大小参数μ(n)。换句话说,当减小步长大小参数μ时,步长大小逻辑部件304可以使用以下公式:
[0073]
μ(n)=μ(n-1)/β。
ꢀꢀ
(8)
[0074]
相似地,当步长大小逻辑部件304增加步长大小参数μ时,步长大小逻辑部件304可以将先前的步长大小参数(例如,μ(n-1))乘以更新系数β以得出下一步长大小参数μ(n)。换句话说,当增加步长大小参数μ时,步长大小逻辑部件304可以使用以下公式:
[0075]
μ(n)=μ(n-1)*β。
ꢀꢀ
(9)
[0076]
在下文讨论的其他示例中,步长大小参数μ的增加或减小不基于更新系数β,并且因此β输入端326是任选的。
[0077]
在其他示例性情况下,当增加或减小步长大小参数μ时,步长大小逻辑部件304使用预先确定的值(例如,8、16、32)。特别是,当步长大小逻辑部件304减小步长大小参数μ时,步长大小逻辑部件304可以将先前的步长大小参数(例如,μ(n-1))除以预先确定的值以得出当前步长大小参数μ(n)。例如,考虑预先确定的值为16。因此,当减小步长大小参数μ时,步长大小逻辑部件304可以使用以下公式:
[0078]
μ(n)=μ(n-1)/16。
ꢀꢀ
(9)
[0079]
相似地,当步长大小逻辑部件304增加步长大小参数μ时,步长大小逻辑部件304可以将先前的步长大小参数(例如,μ(n-1))乘以预先确定的值以得出当前步长大小参数μ(n)。再次考虑预先确定的值为16,当增加步长大小参数μ时,步长大小逻辑部件304可以使用以下公式:
[0080]
μ(n)=μ(n-1)*16。
ꢀꢀ
(10)
[0081]
在其他示例中,可以使用不同的预先确定的值。
[0082]
仍然参考图3,示出了示例性步长大小控制器204,特别是步长大小逻辑部件304以限定条件输入端328。本地麦克风频谱d(n)和结果频谱e(n)的可用性的定时以及在互相关性逻辑部件302内执行各种计算的时间可以慢于步长大小逻辑部件304可以执行其生效任务的速度。因此,条件输入端328可用于基于定时问题来暂停步长大小逻辑部件304,和/或用作触发步长大小逻辑部件304以重新计算的机制。
[0083]
图5示出了根据至少一些实施方案的方法。特别是,方法开始(框500)并且可以包括:由扬声器基于远麦克风信号产生声波(框502);在本地麦克风处基于该声波接收回波,并且接收本地生成的声波,该接收形成本地麦克风信号(框504);基于远麦克风信号和当前步长大小参数产生估计的回波信号(框506);对本地麦克风信号和估计的回波信号求和以
产生具有与本地麦克风信号有关的减少的回波的结果信号(框508);以及控制当前步长大小参数(框510)。控制当前步长大小参数可以包括:基于本地麦克风信号与结果信号的互相关性计算收敛值(框512);以及基于收敛值更新当前步长大小参数(框514)。然后,方法结束(框516),可能立即重新开始。
[0084]
附图中的许多电连接被示为没有中间器件的直接耦接,但在上面的描述中并未如此明确说明。然而,对于在附图中示出的没有中间设备的电连接,该段落应充当权利要求的先行基础,以用于引用任何电连接作为“直接耦接”。
[0085]
上述讨论意在说明本发明的原理和各种实施方案。一旦完全理解了上述公开的内容,对于本领域技术人员来说许多变型形式和修改形式就将变得显而易见。以下权利要求书被解释为旨在包含所有此类变型形式和修改形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1