1.一种用于语音通信的自适应通信回声消除方法,其步骤如下:A、回声消除
A1、远端信号采集
对远端传来的信号进行采样,获得当前时刻n的远端输入信号的离散值x(n);将当前时刻n到n‑L+1时刻的输入信号x(n)、x(n‑1),...,x(n‑L+1),组成当前时刻n的自适应滤波器T
输入向量X(n),X(n)=[x(n),x(n‑1),...,x(n‑L+1)] ;其中,L=512、代表滤波器抽头数,T代表转置运算;
A2、回声信号估计
将当前时刻n的输入信号向量X(n)通过自适应滤波器,得到自适应滤波器的输出值,即回声信号的估计值y(n),T
y(n)=X(n)W(n)其中W(n)为当前时刻n的自适应滤波器的抽头权向量,W(n)=[w1(n),w2(n),...,wlT
(n),...,wL(n)],wl(n)为自适应滤波器的第l个抽头权系数,W(n)的初始值为零向量;
A3、回声消除
对近端麦克风采样得到带回声的当前时刻n的近端信号d(n),将其减去回声信号的估计值y(n),得到当前时刻n的误差信号e(n),e(n)=d(n)‑y(n),再将当前时刻n的误差信号e(n)送回给远端;
B、抽头权向量更新
B1、残差信号平方序列的计算由当前时刻n到时刻n‑Nw+1之间的残差信号e(n),e(n‑1),...,e(n‑Nw+1),得到当前时
2 2 2
刻n到时刻n‑Nw+1之间的残差信号平方值e (n),e (n‑1),...,e (n‑Nw+1),进而得到当前时2
刻n估计窗内的残差信号平方序列E(n),
2 2 2 2
E(n)=[e(n),e(n‑1),...,e(n‑Nw+1)]其中,Nw为估计窗的长度,其取值范围为5~9;
B2、加权中位化残差的计算2
由当前时刻n估计窗内的残差信号平方序列E(n),计算出当前时刻n的加权中位化残差σ(n):
其中,λ是遗忘因子,其取值范围为0.800~0.999,c为加权系数,c=1.483(1+5/(Nw‑
1)),med(·)表示取中间值的运算,σ(n)的初始值为零;
B3、M估计值的计算
根据当前时刻n的加权中位化残差σ(n),得出当前时刻的M估计阈值ξ,ξ=2.576σ(n);
然后由下式计算出当前时刻n的残差的M估计函数值ψ(n):B4、零吸引向量的计算
由滤波器当前时刻n的第l个抽头权系数wl(n)进行近似l0范数限制计算,得到当前时刻n的第l个抽头权系数的零吸引因子fl(n):其中,β是零吸引参数,其取值为5~50,sgn(·)表示符号运算;
将当前时刻n的所有抽头权系数的零吸引因子f1(n),f2(n),...,fl(n),...,fL(n),构成当前时刻n的零吸引向量F(n),F(n)=[f1(n),f2(n),...,fl(n),...,fL(n)];
B5、滤波器抽头权向量的更新由下式更新得出下一时刻n+1的滤波器抽头权向量W(n+1):其中,μ表示滤波器的步长,其取值范围为0~1,||·||表示欧几里得范数;γ1是近端信号d(n)的环境噪声方差,γ2是远端输入信号x(n)的环境噪声方差;ρ是平衡参数,其取值范‑5 ‑2
围为1×10 ~1×10 ;
C、重复
令n=n+1,重复步骤A、B的过程,至通话结束。