一种宽带声学回声消除方法

文档序号:7643259阅读:362来源:国知局
专利名称:一种宽带声学回声消除方法
技术领域
本发明涉及一种语音通讯系统中的音频处理方法,尤其涉及一种语音通 讯系统中的宽带声学回声消除方法。
背景技术
现有的手机或会议电视系统在通话过程中,通话系统对方传来的语音信号称为远端信号;通话系统的本方语音和回声(即对方语音经扬声器发送到 本方室内经多重反射回麦克风后生成的声音)的混合音称为近端信号。声学 回声消除(AEC , Acoustic Echo Cancellation)的任务就是估算出回声并将其 从近端信号中消除,以得到纯净的本方语音。现有的声学回声消除算法大多数只针对窄带(采样率为8K)语音编解 码算法,比如G.711。随着用户对音质要求的不断提高,宽带(采样率为16K、 32K)音频编解码算法,如G.722, G.722.1已开始应用到会议电视系统中。 这给现有回声消除算法带来巨大的挑战。当采用宽带音频编解码算法时,一 种做法是,直接采用窄带的回声消除算法。但是,随着采样率的提高,处理同样的声学回声延时,需要处理的声学 路径采样点数是与采样率成正比的;同时,采样率提高将导致同样一段时间 内需要更新的点数与采样率成正比增加。这样采样率每提高l倍,回声消除 算法的计算量将按平方比增加到4倍,内存消耗按正比增加到2倍。因此使 用与窄带回声消除算法对采用宽带音频编解码算法进行编码的音频数据进行回声消除处理,所需的计算量和内存消耗将是大多数处理平台无法接受 的。此外,声学路径的增加还会导致回声消除算法自适应滤波的效果变差, 算法收敛慢,有残余回声,导致回声抑制比下降。这就需要研究高回声抑制 比、低计算量和内存消耗的宽带声学回声消除算法。对宽带音频数据进行回声消除算法的另 一途径是将全频带划分子带,并在子带内4吏用自适应滤波器进行回声消除处理。通常的声学回声消除算法都需要用到高阶自适应滤波器。自适应滤波器 需要对未知系统(回声产生的声学路径)建模,而这个模型真有很长的冲激 响应,在几千个采样点的数量级。因此,自适应滤波算法的计算量和内存消 耗很大,另外,阶数很高也会对收敛速度产生影响。解决长沖激响应自适应 滤波器问题的一种方法是在子带内利用滤波器。子带自适应滤波器通常比全 带滤波器具有更短的冲激响应,有利于提高收敛速度。子带抽取能够减小计 算复杂度,因此,合理的在子带中采用自适应滤波器,可以减小计算复杂度, 同时提高自适应滤波算法的收敛速度。通用的采用分析合成滤波器组的子带信号处理系统的结构如图1所示分析滤波器组由一系列低通/带通滤波器Fi(z)组成,信号经过分析滤波 和L点的下采样(抽取)后得到M路子带信号;在各个子带完成信号处理 任务,即用于回声消除的自适应滤波;合成滤波器组由一系列低通/带通滤 波器Gi(z)组成,子带信号经过L点的上采样(插值)和合成滤波后全部相 加得到全带处理后的信号。从图1中可以看出,虽然信号处理任务在低采样率一侧进行,但是分析 合成滤波还是在高采样率一侧进行的,计算量仍很大。发明内容本发明要解决的技术问题是,克服现有技术中声学回声消除方法的不 足,提出一种适合对宽带音频数据进行回声消除的音频处理方法,减少宽带 声学回声消除的计算量、提高计算速度,并改善回声消除的性能和效果。为了解决上述问题,本发明提供一种宽带声学回声消除方法,其特征在 于,该方法包含如下步骤步骤1:对长度为K的包含远端信号的输入移位寄存器和包含近端信号波,分别得到远端子带数据和近端子带数据;步骤2:分别对上述远端子带数据和近端子带数据进行IDFT运算,并 去除冗余数据,得到M/2+l个远端复子带数据和M/2+l个近端复子带数据;步骤3:对上迷远端复子带数据和近端复子带数据按子带分别进行自适 应滤波及系数更新,得到复子带回声估计误差;步骤4:对上述复子带的回声估计误差进行IDFT运算,得到M个回声 估计误差;步骤5:将上述回声估计误差分别送入M子带均匀IDFT多相合成滤波 器组进行合成滤波,将滤波获得的滤波输出数据与长度为K的输出移位寄 存器中的值相加,并使用相加获得的值更新输出移位寄存器;步骤6:将上述输出移位寄存器中的前r点输出,后续K-r点依次前移 r点的位置,最后r点位置补零;步骤7:将上述包含远端信号的输入移位寄存器和包含近端信号的输入 移位寄存器中的后K-r点数据前移r点的位置;并将新输入的r点远端信号 和近端信号依次分别放入上述输入移位寄存器的后r点的位置;返回步骤1;其中,M, r为整数,K为M的整数倍,M大于r。 此外,所述步骤3包含如下子步骤步骤3a:用第1 M/2子带对应的M/2个远端复子带数据更新子带自适 应滤波器的状态寄存器;并用远端复子带数据与复数系数向量相乘,得到复 子带的回声估计值;步骤3b:用第1 ~ M/2子带对应的M/2个近端复子带数据减去上述复子 带的回声估计值,得到复子带回声估计误差;步骤3c:用上述复子带回声估计误差和子带自适应滤波器的状态寄存 器来更新复数系数向量。此外,所述步骤2中的M/2+l个远端复子带数据和近端复子带数据分 别为IDFT结果中的第0~M/2子带对应的远端复子带数据和近端复子带数据。此外,所述复数系数向量的初始值为0。此外,在所速步骤2c中采用如下公式对所迷复数系数向量进行更新更新后的复数系数向量=更新前的复数系数向量+增益x回声估计误 差*复数状态向量;上述*表示向量乘法;上述增益大于0。此外,所述M子带均匀IDFT多相分析滤波器组Ei(z)为原型滤波器Fo(z) 的多相分量;所述M子带均匀IDFT多相合成滤波器组Ri(z)为原型滤波器 Go(z)的多相分量;其中0《i《M-l。此外,对于8KHz、 16KHz和32KHz的语音数据,所述原型滤波器Fo(z) 和G。(z)的长度分别大于或等于M、 2M和3M。此外,所述步骤4中参加IDFT运算的是第0至第M/2子带对应的复子 带回声估计误差,其中第0子带对应的复子带回声估计误差为0。此外,K为r的整数倍。此外,所述步骤2中的M/2+l个远端复子带数据和M/2+l个近端复子 带数据为IDFT结果中的第0 M/2子带对应的复子带数据。本发明通过采用M子带均匀IDFT多相滤波器组取代通常采用的M子 带分析滤波器组,实现了在分析滤波之前进行抽取;并采用M子带均匀IDFT 多相滤波器组取代通常采用的M子带合成滤波器组,实现了在合成滤波之 后进行插值;极大地降低了运算量,提高了运算效率。


图1是现有技术中采用分析合成滤波器组的子带信号处理系统的结构 示意图;图2是本发明采用M子带均匀IDFT( Inverse Discrete Fourier Transform,适用于设置在模拟终端和IP网络之间的VoIP网关10,参见图1;包括 设置于VoIP网关10中的内置接口部件101;外置于VoIP网关10的、通过线缆103与内置接口部件101连接的模拟接入部件102,该模拟接入部件102直接或者间接与模拟终端连接, 用于进行模拟信号接入和模拟信号与数字信号之间的数/模转换功能;其 中,间接与模拟终端连接一般是通过PSTN与模拟终端连接。在上述提供的组件100中,对于内置接口部件101来说,它可以采用插 卡的形式嵌入VoIP网关10的卡槽内,或者,集成在VoIP网关lO内。对于线缆103来说,可以采用双绞线、同轴线、光纤等,完成内置接口 部件101和外置的模拟接入部件102之间的数据和控制信号传输功能。对本 领域技术人员来说,通过线缆103连接分离的部件是易于实现的,在此不再 赘述。可以看出,上述所提供组件100的内置接口部件101和模拟接入部件102 相当于分离了现有的高密度语音板卡的功能,其中一部分保持设置在VoIP 网关内,起到接口连接的作用,另一部分,也就是占用空间大的功能,包括 数/模转换和模拟接口功能分离到外置的模拟接入部件102中去,从而在不增 加VoIP网关空间的前提下,可以任意扩充模拟接口数量。但是,简单的分离并不是本发明全部的创造点所在。为了满足高密度语 音板卡功能分离后,VoIP网关对接入模拟信号的接入控制,VoIP网关10需 要执行硬件资源初始化,实现对模拟接入部件102所提供的模拟接口的数量 和类型的识别,并进行接入适配,比如适配相应的呼叫流程、配置外置模拟 接口和号码的对应关系以及配置编解码策略如A律、u律或线性PCM(Pulse Code Modulation,脉冲编码调制)数据等。这一初始化过程一般发生在VoIP 网关10上电阶段,或者模拟接入部件102接入VoIP网关10时。经过上述 处理,VoIP网关10能够获知所接入的每个模拟接口的属性,从而VoIP网 关10能通过对不同接口调用相应的呼叫流程,实现模拟接入。在实现模拟接入后的IP网络和模拟终端执行通信的阶段,内置接口部件 101和模拟接入部件102结合完成现有高密度语音板卡的功能,包括模拟 接入部件102从模拟终端接收模拟信号,进行模数转换并经内置接口部件101 提供给VoIP网关10,以及,将经内置接口部件101从VoIP网关10接收的理器MCU(U2)发出相应信号给多路分配器(U7)和DDS扫频信号发生器输入匹配及检测单元 (U3),控制KS1、 KS2、 Kfvl、 Kfv2闭合,此时KR1和KR2断开,KI开路,并使第一个模块 单元的测试通道开关1K1、 1K2、 1K3、 1K4闭合,其它话音分离器模块(U5)上的开关均开 路,建立第一个话音分离器模块的时延特性测试通道。
7、 根据权利要求2所述的ADSL/VDSL分离器多模块自动检测系统,其特征是所述多 路分配器(U4)包括逻辑开关系统和数字逻辑芯片CPLD系统,微处理器MCU(U2)发送相应的 控制字给CPLD系统,由CPLD产生对应参数测试的通道状态开关变量并完成部分的数据采集 功能,再通过该开关变量驱动对应的开关阵列形成对应的测试通道,把所采集的数据传MCU。
8、 根据权利要求2所述的ADSL/VDSL分离器多模块自动检测系统,其特征是DDS信 号发生器U3产生滤波和放大器产生系统测试中所需的正弦波信号,信号放大单元具有12MHz 的高增益带宽,具有低通信号滤波,高频信号整流及幅度检测功能。
9、 根据权利要求5所述的ADSL/VDSL分离器多模块自动检测系统,其特征是绝缘性
能检测采用了高共摸电压输入放大器,数据采集使用了隔离方式,系统电源采用了多路隔离 方式,具有对应参数测试地线选择网络。
10、 根据权利要求1所述的ADSL/VDSL分离器多模块自动检测系统,其特征是导柱(7) 自分离器定位装置(2)向上穿过弹性电连接装置(3)和滑块(10)由上端的顶板(9)固定,最 上面的气动动力头(13)的下端接触滑块(10),弹性电连接装置(3)与滑块(10)连接在一 起,上位机发送控制指令给下位机,下位机测试及控制系统(M2)发出控制信号,启动机 械测试平台的气路开关,压縮空气通过气路开关进入气动动力头(13)内,气动动力头(13) 的驱动轴开始伸出,并驱动滑块(10)以及安装在滑块(10)上的弹性电连接装置(3), 沿着导柱(7)以一定速度向下移动,并在最后使弹性电连接装置(3)的弹性触针和放入 分离器定位装置2的被测分离器检测端子接触。步骤D:将上述远端信号和近端信号对应的复子带数据在复数域按子带 分别进行自适应滤波及系数更新由于最低子带数据不需要进行自适应滤波,直接置零,因此参与自适应 滤波和系数更新操作的数据为M/2个远端复子带数据和M/2个近端复子带 数据,自适应滤波器分为M/2个组(子带),每组状态寄存器的抽头数为 n丁aps。自适应滤波及系数更新操作包含如下子步骤步骤D1:分别用M/2个远端复子带数据更新M/2个子带自适应滤波器 的状态寄存器,即将远端复子带数据保存在相应的状态寄存器中;并在各个 子带进行滤波,即在各子带用远端复子带数据与复数系数向量相乘,得到 M/2个复子带的回声估计值;上述复数系数向量的初始值为零。步骤D2:用M/2个点的近端复子带数据分别减去上述M/2个复子带的 回声估计值,得到M/2个复子带回声估计误差;步骤D3:分别用上述M/2个复子带的回声估计误差和M/2个子带自适 应滤波器的状态寄存器来更新M/2个复数系数向量复数系数向量(更新后)-复数系数向量(更新前)+增益x回声估计 误差*复数状态向量;上述*表示向量乘法;上述增益大于0,是控制系数向量更新的步长参 数,该值过大容易引起算法发散,过小则收敛速度慢,本实施例中取增益 =0.05625。步骤E:对上述M/2个复子带回声估计误差进行IDFT运算,得到M个 实数域的回声估计误差;在进行IDFT运算时,需将最低子带对应的数据位置填充0,即相当于 对]^/2+ 1个复子带的回声估计误差进行IDFT运算,其中最低子带位置为0。步骤F:将上述M个实数域的回声估计误差分别送入M个原型合成滤 波器Ri(z)中进行合成滤波,得到K个滤波输出数据,将上述K个滤波输出 数据与输出移位寄存器中的K个值分别相加,并使用相加获得的K个值更 新移位寄存器数据;即Outputlnterp—NEW = outputlnterp—OLD + IDFT—Out * PrototypeFilter;其中,OutputInterp_NEW为更新后的输出移位寄存器,outputlnterp—OLD 为更新前的输出移位寄存器,PrototypeFilter为原型合成滤波器,IDFT—Out 为IDFT变换得到的回声估计误差信号。上述原型合成滤波器Ri(z)是G"z)的多相分量,(K i < M-l。步骤G:对输出移位寄存器中的数据进行移位操作,并输出r点经过回 声消除的音频数据。上述移位操作的移位规则是每次移出输出移位寄存器前r点组成的第 一帧作为输出值,后续3帧,即K-r点依次前移r点的位置,最后一帧r点 补零。进行原型合成滤波和移位后,得到最终的经过了回声消除的一帧数据。 输出数据为r点,有K-r点的延时。其中,上述合成滤波器长度与分析滤波器相同;输出移位寄存器的长度 与输入移位寄存器相同。在上述步骤B中,由于对于不同采样率的语音数据存在不同的过采样 率,因此对于非临界下采样,必须设计不同长度的原型滤波器以防止频带混叠。对于8KHz的语音数据,输入移位寄存器的长度&=&;帧长度r"o; 子带数Iv^Ko;每个子带的带宽为8KHz/M-8K/KoHz。由于每输入r。点进行 一次滤波,子带采样率为8KHz/r-8K/roHz。过采样率为子带采样率/子带 带宽=Ko/r。倍。因此设计长度为Ko的原型低通滤波器即可以满足抗混叠要求。对于16KHz的语音数据,输入移位寄存器的长度K=2Kq;帧长度r = 2r0; 子带数M-Ko;每个子带的带宽为16KHz/M=16K/KoHz。由于每输入2ro点 进行一次滤波,子带采样率为16KHz/r=16K/2r。Hz。过采样率为子带采样 率/子带带宽=1^/2巧倍。因此设计长度为2Ko的原型低通滤波器即可以满足 抗混叠要求。对于32KHz的语音数据,输入移位寄存器的长度K=3KQ;帧长度r = 3r0; 子带数M-Ko;每个子带的带宽为32KHz/M=32K/KoHz。由于每输入3ro点 进行一次滤波,子带釆样率为32KHz/r=32K/3r。Hz。过采样率为子带采样 率/子带带宽二Ko/3ro倍。因此设计长度为3Ko的原型低通滤波器即可以满足 抗混叠要求。下面将以8KHz和16KHz的语音数据为例,分析在不同采样率下进行 自适应滤波所需的计算量和内存消耗。对于8KHz的语音数据,由于每输入r。个点一帧的数据才生成一点的子 带数据,故降采样率为D-ro。对16KHz的语音数据,由于每输入2r。个点一帧的数据才生成一点的子 带数据,故降采样率为D=2r()。子带AEC的运算量正比于M/(TA2),其中M为子带数,T为降采样率 倍数。在两种采样率下采用相同的子带数N^Ko时,16000Hz采样的降采样 率倍数变为2倍,故计算量下降到l/4倍;同时,由于采样率每提高l倍, 回声消除计算量按平方比增加到4倍,故采用本算法后,对于不同采样率的AEC,计算量可以〗呆持不变。自适应滤波的内存消耗是由自适应滤波器的抽头数目决定的。抽头数目 决定了滤波器的状态寄存器和系数寄存器的长度。设Taps为全频带总的抽 头数,等于回声延时和采样率的乘积。每组子带状态寄存器和系数寄存器的 抽头lt记为nTap。当采样率8KHz,回声延时为6斗ms时,全带抽头数Taps = 64ms x 8KHz =512。由于子带降采样率0 = 1"。,每组状态寄存器的抽头数等于总抽头数除 以子带降采样率,即子带抽头数nTaps = Taps /D = 51" r0。当采样率16KHz,回声延时为64ms时,全带抽头数Taps-64ms * 16KHz =1024。由于子带降采样率D-2r。,因此子带抽头数nTaps-TapsZD- 1024/2 r0=512/r0。这说明对于不同的采样率,由于采用了不同的降采样率,子带抽头数目 可以做到 一样,因此可以保证在不同采样率下处理同样的回声路径延时消耗 的内存空间相同。对于不同的采样率,子带状态和系数寄存器的抽头数保持不变,使得宽 带和窄带算法的收敛速度表现出类似的效果,不会因抽头数增加而导致自适 应滤波器收敛困难。这说明本发明的宽带算法和窄带算法表现出同样好的回 声抑制效果。
权利要求
1. 一种宽带声学回声消除方法,其特征在于,该方法包含如下步骤步骤1对长度为K的包含远端信号的输入移位寄存器和包含近端信号的输入移位寄存器中的数据通过M子带均匀IDFT多相分析滤波器组进行滤波,分别得到远端子带数据和近端子带数据;步骤2分别对上述远端子带数据和近端子带数据进行IDFT运算,并去除冗余数据,得到M/2+1个远端复子带数据和M/2+1个近端复子带数据;步骤3对上述远端复子带数据和近端复子带数据按子带分别进行自适应滤波及系数更新,得到复子带回声估计误差;步骤4对上述复子带的回声估计误差进行IDFT运算,得到M个回声估计误差;步骤5将上述回声估计误差分别送入M子带均匀IDFT多相合成滤波器组进行合成滤波,将滤波获得的滤波输出数据与长度为K的输出移位寄存器中的值相加,并使用相加获得的值更新输出移位寄存器;步骤6将上述输出移位寄存器中的前r点输出,后续K-r点依次前移r点的位置,最后r点位置补零;步骤7将上述包含远端信号的输入移位寄存器和包含近端信号的输入移位寄存器中的后K-r点数据前移r点的位置;并将新输入的r点远端信号和近端信号依次分别放入上述输入移位寄存器的后r点的位置;返回步骤1;其中,M,r为整数,K为M的整数倍,M大于r。
2、 如权利要求1所述的宽带声学回声消除方法,其特征在于,所述步 骤3包含如下子步骤步骤3a:用第1 ~ M/2子带对应的M/2个远端复子带数据更新子带自适 应滤波器的状态寄存器;并用远端复子带数据与复数系数向量相乘,得到复 子带的回声估计值;步骤3b:用第1 ~ M/2子带对应的M/2个近端复子带数据减去上述复子 带的回声估计值,得到复子带回声估计误差;步骤3c:用上述复子带回声估计误差和子带自适应滤波器的状态寄存 器来更新复数系数向量。
3、 如权利要求1所述的宽带声学回声消除方法,其特征在于,所述步 骤2中的M/2+l个远端复子带数据和近端复子带数据分别为IDFT结果中的 第0 M/2子带对应的远端复子带数据和近端复子带数据。
4、 如权利要求2所述的宽带声学回声消除方法,其特征在于,所述复 数系数向量的初始值为0。
5、 如权利要求2所述的宽带声学回声消除方法,其特征在于,在所述 步骤2c中采用如下公式对所述复数系数向量进行更新更新后的复数系数向量=更新前的复数系数向量+增益x回声估计误 差*复数状态向量;上述*表示向量乘法;上述增益大于O。
6、 如权利要求1所述的宽带声学回声消除方法,其特征在于,所述M 子带均匀IDFT多相分析滤波器组Ei(z)为原型滤波器Fo(z)的多相分量;所述 M子带均匀IDFT多相合成滤波器组Ri(z)为原型滤波器G"z)的多相分量; 其中(KKM-1。
7、 如权利要求6所述的宽带声学回声消除方法,其特征在于,对于 8KHz、 16KHz和32KHz的语音数据,所述原型滤波器F"z)和G。(z)的长度 分别大于或等于M、 2M和3M。
8、 如权利要求1所述的宽带声学回声消除方法,其特征在于,所述步 骤4中参加IDFT运算的是第O至第M/2子带对应的复子带回声估计误差, 其中第O子带对应的复子带回声估计误差为0。
9、 如权利要求1所述的宽带声学回声消除方法,其特征在于,K为r 的整数倍。
10、 如权利要求l所述的宽带声学回声消除方法,其特征在于,所述步骤2中的M/2+l个远端复子带数据和M/2+l个近端复子带数据为IDFT结果 中的第0 ~ M/2子带对应的复子带数据。
全文摘要
一种宽带声学回声消除方法,包含如下步骤对包含远端信号的输入移位寄存器和包含近端信号的输入移位寄存器中的数据进行滤波;进行IDFT运算,得到远端复子带数据和近端复子带数据;对远端复子带数据和近端复子带数据进行自适应滤波及系数更新,得到复子带回声估计误差;对复子带的回声估计误差进行IDFT运算,得到回声估计误差;将上述回声估计误差进行合成滤波,将滤波获得的滤波输出数据与长度为K的输出移位寄存器中的值相加,并使用相加获得的值更新输出移位寄存器;将上述输出移位寄存器中的前r点输出,后续K-r点依次前移r点的位置,最后r点位置补零,对上述输入移位寄存器进行移位操作;重复上述各步骤。
文档编号H04M9/08GK101227537SQ20071000118
公开日2008年7月23日 申请日期2007年1月19日 优先权日2007年1月19日
发明者畅 舒, 黎家力 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1