1.一种基于正交变换的仿射投影符号回声消除方法,其步骤如下:A、获取信号
将远端传来的语音信号采样得到当前时刻n的远端信号离散值x(n);同时,对近端麦克风收集到的回声信号采样得到当前时刻n的期望信号d(n);
B、计算自适应滤波器的输出y(n)
将当前时刻n和前L-1个时刻的L个远端信号离散值x(n),x(n-1)...,x(n-L+1),构成当前时刻n的自适应滤波器输入向量x(n),x(n)=[x(n),x(n-1)...,x(n-L+1)]T,其中,L表示自适应滤波器抽头数,L=512或1024,上标T代表转置;
计算当前时刻n的自适应滤波器的输出信号y(n),y(n)=wT(n)x(n),其中,w(n)为当前时刻n的自适应滤波器抽头权向量,其长度等于L,初始值为零向量;
C、回声抵消
将当前时刻n的期望信号d(n)减去当前时刻n的自适应滤波器的输出信号y(n),得到的误差信号e(n)作为消除回声后的近端信号再传送给远端,即e(n)=d(n)-y(n);
D、正交变换
D1、用当前时刻n和前M-1个时刻的M个滤波器输入向量x(n),x(n-1),...,x(n-M+1),生成当前时刻n的自适应滤波器输入矩阵X(n),X(n)=[x(n),x(n-1),...,x(n-M+1)],其中,M为仿射投影阶数,其取值范围为8-15;
D2、用当前时刻n和前M-1个时刻的M个期望信号d(n),d(n-1),...,d(n-M+1),生成当前时刻n的期望信号向量D(n),D(n)=[d(n),d(n-1),...,d(n-M+1)]T;
D3、对当前时刻n的自适应滤波器输入矩阵X(n)的列向量进行正交变换,得到K=M个当前时刻n的自适应滤波器的解相关列向量uk(n),其中,k为解相关列向量uk(n)的序号,l为迭代参数,l=1,2,…,k-1;
再将这K个当前时刻n的自适应滤波器的解相关列向量uk(n)构成当前时刻n的自适应滤波器的解相关输入矩阵U(n),U(n)=[u1(n),u2(n),...,uk(n),...,uK(n)];
D4、根据当前时刻n的自适应滤波器输入矩阵X(n)与当前时刻n的自适应滤波器解相关输入矩阵U(n),算出当前时刻n的解相关系数矩阵Γ(n),Γ(n)=[U-1(n)X(n)]T,其中,U-1(n)为U(n)的逆矩阵;
D5、将当前时刻n的解相关系数矩阵Γ(n)的逆矩阵Γ-1(n)与当前时刻n的期望信号向量D(n)相乘,得到当前时刻n的解相关期望信号向量D'(n)=Γ-1(n)D(n);
E、更新自适应滤波器的抽头权向量
计算下一时刻n+1的自适应滤波器抽头权向量
其中:sgn[·]表示符号函数运算,μ为步长,其取值范围为0<μ<0.02;
F、令n=n+1,重复A、B、C、D、E的步骤,直至通话结束。