1.一种抗输入噪声的自适应回声消除方法,其步骤如下:A、回声消除
A1、远端信号采集
对远端的主麦克风传来的输入信号进行采样,获得当前时刻n的输入信号离散值u(n),将当前时刻n到前M‑1个时刻的输入信号离散值u(n)、u(n‑1),...,u(n‑M+1),组成自适应滤T
波器的当前时刻n的输入信号向量U(n);U(n)=[u(n),u(n‑1),...,u(n‑M+1)] ,其中T代表转置运算,M=64、128、256,代表滤波器的抽头数;
对远端的噪声麦克风传来的输入噪声进行采样,到当前时刻n的输入噪声离散值z(n),将当前时刻n到前M‑1个时刻的噪声信号离散值z(n),z(n‑1),...,z(n‑M+1),组成当前时刻T
n的输入噪声向量Z(n),Z(n)=[z(n),z(n‑1),...,z(n‑M+1)];
A2、回声信号估计
将当前时刻n的输入信号向量U(n)通过自适应滤波器,得到自适应滤波器当前时刻n的输出信号向量,即当前时刻n的回声信号估计值Y(n),T
Y(n)=U(n)W(n)
其中,W(n)为自适应滤波器的当前时刻n的抽头权向量,W(n)=[w1(n),w2(n),...,wmT
(n),...,wM(n)] ;wm(n)为自适应滤波器的当前时刻n的第m个抽头权系数,W(n)的初始值为T
零向量;Y(n)=[y(n),y(n‑1),...,y(n‑M+1)],y(n)为当前时刻n的回声信号估计离散值;
A3、回声消除
对近端麦克风采样,得到带回声的当前时刻n的近端信号向量D(n),D(n)=[d(n),d(n‑T
1),...,d(n‑M+1)] ,d(n)为当前时刻n的近端信号离散值;将近端信号向量D(n)减去当前时刻n的回声信号估计值Y(n),得到当前时刻n的误差信号向量E(n),E(n)=D(n)‑Y(n)=[eT
(n),e(n‑1),...,e(n‑M+1)] ,e(n)为当前时刻n的误差信号离散值;再将当前时刻n的误差信号向量E(n)送回给远端;
B、抽头权向量更新
B1、误差信号概率密度的估计将当前时刻n及其前L‑1个时刻,构成当前时刻n的时间窗;
估计出当前时刻n的时间窗内的时刻i与时刻j间的误差信号概率密度p(i,j),其中,i,j为当前时刻n的时间窗内的任一时刻,i∈[n‑L+1,n],j∈[n‑L+1,n];σ为当前时刻n的时间窗内误差信号的标准方差,其取值范围为σ>1.0;exp(·)表示自然指数运算;
L为时间窗的宽度,其取值范围为4~M;
进而得到当前时刻n的时间窗的误差信号概率密度均值B2、计算误差熵
由当前时刻n的时间窗的误差信号概率密度均值P(n),对当前时刻n的时间窗的抽头权向量W(n)求微分,得到当前时刻n的时间窗的误差熵V(n),B3、输入噪声的补偿
由下式得到当前时刻n的时间窗内i时刻与j时刻间的输入噪声补偿向量其中,δ表示输入噪声Z(n)的标准差,W(i)、W(j)分别为时刻i和时刻j的抽头权向量,Z(i)、Z(j)分别为时刻i和时刻j的输入噪声;
B4、输入偏差补偿
由当前时刻n的时间窗内时刻i与时刻j间的输入噪声补偿向量 得到当前时刻n的时间窗内的偏差补偿值B(n),B5、滤波器抽头权向量的更新由下式更新得到下一时刻n+1的滤波器抽头权向量W(n+1):W(n+1)=W(n)+μV(n)+μB(n)其中,μ表示滤波器的步长,其取值范围为0.001~0.1;
C、重复
令n=n+1,重复A、B的过程,直至通话结束。