1.一种基于M估计的归一化子带自适应回声消除方法,其步骤如下:A、获取子带信号
将远端传来的远端信号采样得到在采样时刻n的远端信号离散值x(n),通过分析滤波器组得到采样时刻n的M个远端子带信号x1(n),x2(n),...xm(n),...xM(n),其中,m为子带序号,xm(n)为第m个远端子带信号,M为子带数目,其取值为2、4、8、16、32;
将近端麦克风拾取的带回声的近端信号采样得到在采样时刻n的近端信号离散值d(n),通过分析滤波器组得到采样时刻n的M个近端子带信号d1(n),d2(n),...dm(n)...,dM(n);其中,dm(n)为第m个近端子带信号;
在采样时刻n=kM时,将该时刻的第m个近端子带信号dm(n)=dm(kM)记为第m个近端子带信号的第k时段抽取值 其中,k为抽取时段序号;
B、自适应滤波
将采样时刻n=kM及其前L-1个时刻的第m个远端子带信号xm(n),构成自适应滤波器的第m个输入向量Xm(k),Xm(k)=[xm(kM),xm(kM-1),...,xm(kM-L+1)]T,其中L为自适应滤波器抽头数,其取值为32、64、128、256、512、1024,T代表转置运算;
将采样时刻n=kM的第m个输入向量Xm(k)通过自适应滤波器得到采样时刻n=kM的第m个输出值ym(k), 其中,w(k)为采样时刻n=kM的自适应滤波器的抽头权向量,w(k)=[w1(k),w2(k),...wl(k)...,wL(k)]T,wl(k)为采样时刻n=kM的自适应滤波器的第l个抽头权系数,w(k)的初始值为零向量;
C、回声抵消
将第m个近端子带信号的第k时段抽取值 与采样时刻n=kM的第m个滤波器输出值ym(k)相减得到采样时刻n=kM的第m个子带残差em(k),将时刻n=kM的各个子带残差em(k)通过综合滤波器组得到时刻n=kM的残差e(kM);并将时刻n=kM的残差e(kM)传送给远端;在时刻n=kM+M'时,令时刻n=kM+M'的残差e(kM+M')=e(kM),并将时刻n=kM+M'的残差e(kM+M')传送给远端;其中M'=1,2,3,…M-1;
D、滤波器抽头权向量更新
D1、子带残差方差的计算
由下式算出第m个子带残差的方差
其中,λ为遗忘因子,其取值范围为0.800~0.999,函数med(·)表示取向量中间值,Kw为时间段估计窗的值,其取值范围为2~20,子带残差 的初始值为零;
D2、计算M估计核函数
由下式计算出第m个子带残差的M估计核函数值ψ(em(k)):D3、滤波器抽头权向量更新
使用基于M估计的归一化子带的方法,得出自适应滤波器在n=(k+1)M时刻的抽头权向量w(k+1):其中,||·||2表示2范数,μ为自适应滤波器的步长因子,其取值范围为(0,2];
E、令k=k+1,重复A、B、C、D步的操作,直至通话结束。