一种具有选择进化仿射投影阶数的仿射投影方法与流程

文档序号:11136037阅读:381来源:国知局

本发明涉及一种投影方法。特别是涉及一种针对于回声消除的具有选择进化仿射投影阶数的仿射投影方法。



背景技术:

声学回声主要是指从扬声器发出的声音被麦克风重新拾取后再次发送到远端形成的回声。声学回声消除器(Acoustic Echo Cancellation,AEC)广泛应用于各种嵌入式设备和各种VoIP应用中,包括各种电信网络设备和终端设备、丰富的软件视频会议和VoIP软件电话等。

麦克风在时刻n接收的信号为:

d(n)=xT(n)h(n)+v(n) 1.1

式中:d(n)代表麦克风信号,输入信号向量x(n)=[x(n),x(n-1),...,x(n-N+1)]T,T代表矩阵的转置,N为回声路径长度,h(n)=[h0(n),h1(n),...,hN(n)]T是系统的冲击响应,v(n)代表近端信号。回声消除的目的就是利用估计出回声路径将回声从麦克风信号中消除。

代表估计出来的回声信号,e(n)代表回声消除后得到的误差信号,其中,线性回声消除器主要依靠自适应算法来估计回声路径,由于仿射投影算法(Affine Projection Algorithm,APA)能够在收敛速度和计算复杂度之间取得较好折衷而被广泛应用,对于一个最大仿射投影阶数为Kmax的APA,其更新方程是

其中μ为自适应滤波器的步长,Kn为当前时刻的仿射投影阶数,为输入信号矩阵,为单位矩阵,δ为一常数称为正则化因子,为前验误差信号向量,计算方法是

其中d(n)=[d(n),d(n-1),...,d(n-Kn+1)]T



技术实现要素:

本发明所要解决的技术问题是,提供一种在不影响仿射投影方法性能的前提下,通过自适应地选择仿射投影阶数来降低计算复杂度的具有选择进化仿射投影阶数的仿射投影方法。

本发明所采用的技术方案是:一种具有选择进化仿射投影阶数的仿射投影方法,包括如下步骤:

1)初始化滤波器各参数以及定义阈值ε(K):

对滤波器的系数步长μ、正则化因子δ和最大仿射投影阶数Kmax进行初始化,阈值其中为近端噪声功率;

2)更新输入信号与麦克风信号:

包括获取当前时刻麦克风信号d(n)与输入信号x(n),并分别更新至麦克风信号向量d(n)与输入信号向量x(n)中,所述d(n)=[d(n),d(n-1),...,d(n-Kmax+1)]T,所述输入信号向量x(n)=[x(n),x(n-1),...,x(n-N+1)]T

3)计算先验误差信号:

将n-1时刻估计的滤波器系数代入下式

得到当前时刻回声信号估计值输入信号向量x(n)=[x(n),x(n-1),...,x(n-N+1)]T

将当前时刻回声信号估计值和当前时刻麦克风信号d(n)代入下式

得到当前时刻先验误差信号e(n);

4)确定仿射投影阶数:

令K=Kn-1,若当前时刻先验误差信号e(n)的平方小于阈值ε(K),则将前一时刻仿射投影阶数Kn-1的值减1后设定为当前时刻仿射投影阶数Kn,由于当前时刻仿射投影阶数Kn不能小于1,所以当前时刻仿射投影阶数Kn=max{Kn-1,1};若当前时刻先验误差信号e(n)的平方大于阈值ε(K+1),则不断地将K的值加1,直至当前时刻先验误差信号e(n)的平方小于阈值ε(K+1)或者K大于最大仿射投影阶数Kmax为止,此时当前仿射投影阶数Kn=min{K+1,Kmax};

5)更新滤波器系数:

根据当前投影阶数,选择对应长度的输入信号矩阵先验误差信号矩阵然后利用所述矩阵进行滤波器的更新。

步骤5)所述的输入信号矩阵表示如下:

步骤5)所述的先验误差信号矩阵表示如下:

计算方法是:

其中

本发明的一种具有选择进化仿射投影阶数的仿射投影方法,用于声学回声消除器,能够使声学回声消除器在不影响仿射投影方法性能的前提下,通过自适应地选择仿射投影阶数来有效地降低计算复杂度,使仿射投影算法更易于实际应用。

具体实施方式

下面结合实施例对本发明的一种具有选择进化仿射投影阶数的仿射投影方法做出详细说明。

本发明的一种具有选择进化仿射投影阶数的仿射投影方法,在不影响仿射投影方法性能的前提下,通过自适应地选择仿射投影阶数来降低计算复杂度(收敛速度和稳态误差)。

本发明的一种具有选择进化仿射投影阶数的仿射投影方法,包括如下步骤:

1)初始化滤波器各参数以及定义阈值ε(K):

对滤波器的系数步长μ、正则化因子δ和最大仿射投影阶数Kmax进行初始化,阈值其中为近端噪声功率;

本发明实施例中设定,滤波器系数步长μ=0.5、正则化因子和最大仿射投影阶数Kmax=8。其中滤波器长度N=1024,λ=1-1/(6N),近端信号中加入信噪比20dB的独立平稳高斯白噪声。

2)更新输入信号与麦克风信号:

包括获取当前时刻麦克风信号d(n)与输入信号x(n),并分别更新至麦克风信号向量d(n)与输入信号向量x(n)中,所述d(n)=[d(n),d(n-1),...,d(n-Kmax+1)]T,所述输入信号向量x=[x(n),x(n-1),...,x(n-N+1)]T

3)计算先验误差信号:

将n-1时刻估计的滤波器系数代入下式

得到当前时刻回声信号估计值输入信号向量x(n)=[x(n),x(n-1),...,x(n-N+1)]T

将当前时刻回声信号估计值和当前时刻麦克风信号d(n)代入下式

得到当前时刻先验误差信号e(n);

4)确定仿射投影阶数:

令K=Kn-1,若当前时刻先验误差信号e(n)的平方小于阈值ε(K),则将前一时刻仿射投影阶数Kn-1的值减1后设定为当前时刻仿射投影阶数Kn,由于当前时刻仿射投影阶数Kn不能小于1,所以当前时刻仿射投影阶数Kn=max{Kn-1,1};若当前时刻先验误差信号e(n)的平方大于阈值ε(K+1),则不断地将K的值加1,直至当前时刻先验误差信号e(n)的平方小于阈值ε(K+1)或者K大于最大仿射投影阶数Kmax为止,此时当前仿射投影阶数Kn=min{K+1,Kmax};

5)更新滤波器系数:

根据当前投影阶数,选择对应长度的输入信号矩阵先验误差信号矩阵然后利用所述矩阵进行滤波器的更新。

所述的输入信号矩阵表示如下:

所述的先验误差信号矩阵表示如下:

计算方法是:其中

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1