1.一种基于最大熵的变步长符号子带回声消除方法,其步骤如下:A、信号的采样与处理
将当前时刻n到时刻n-L+1之间的采样远端信号u(n),u(n-1),...,u(n-L+1),构成当前时刻n分析滤波器一的输入向量U(n),U(n)=[u(n),u(n-1),...,u(n-L+1)]T;L=512是滤波器抽头数,上标T表示转置运算;
分析滤波器一将输入向量U(n)按频带分割成I个远端子带向量Ui(n),Ui(n)=[ui(n),ui(n-1),...,ui(n-L+1)]T;
同时,分析滤波器二将近端麦克风拾取到的当前时刻n的带回声的近端信号d(n)按频带分割分割成I个近端子带信号di(n);
其中,i为远端子带向量或近端子带信号的序号,i=1,2,...,I,I为远端子带向量和近端子带信号的总个数,其取值为2、4、6、8;
B、信号抽取
将远端子带向量Ui(n)经抽取器进行I抽取,即将n=k=KI时刻的远端输入子带向量Ui(n)抽出,得到抽取时刻k的远端子带抽取向量Ui(k),Ui(k)=[ui(k),ui(k-1),...,ui(k-L+
1)]T;其中,K为抽取的序号;
对近端子带信号di(n)也经抽取器进行I抽取,即将n=k=KI时刻的近端子带信号di(n)抽出,得到抽取时刻k的近端子带抽取信号di(k),di(k)=di(KI);
C、滤波器的输出
将抽取时刻k的远端子带抽取向量Ui(k)通过自适应回声消除滤波器中的子带滤波器得到抽取时刻k的输出子带信号yi(k), 其中W(k)为子带滤波器在抽取时刻k的权系数向量,W(k)=[w1(k),w2(k),..wl(k).,wL(k)]T;wl(k)为权系数向量W(k)中的第l个权系数,l=1,2,...,L为权系数wl(k)的序号;W(k)的初始值为零,即W(1)=0;
D、回声抵消
将抽取时刻k的近端子带抽取信号di(k)与抽取时刻k的输出子带信号yi(k)相减得到抽取时刻k的子带误差信号ei(k),即抽取时刻k消除回声后的子带回送信号ei(k),ei(k)=di(k)-yi(k),并将抽取时刻k的子带误差信号ei(k)送回给远端;
E、权系数向量的更新
E1、计算抽取时刻k的子带最大熵因子r(ei(k))其中,σ为最大熵的核宽度,取值为0.1~10;exp为指数运算;
E2、计算抽取时刻k的子带平滑步长因子gi(k)gi(k)=βgi(k-1)+(1-β)r(ei(k))其中,β为平滑因子,取值为0.9~0.9999,子带平滑步长因子gi(k)的初始值为零,即gi(1)=0;
E3、计算抽取时刻k的步长参数μi(k)
其中,λ为步长参数增益,取值为0~2;
E4、权系数向量的更新
子带滤波器在下一个抽取时刻(k+1)的权系数向量W(k+1),由下式得出:其中,ρ为零吸引因子,取值为0.000001,sgn[·]表示符号运算,∑[·]表示矩阵求和;
ε为正参数,取值为1~20;
F、重复
令n=n+1,重复A、B、C、D、E的步骤,直至通话结束。