[0030] 下面详细说明本发明在实际应用中的实现步骤。
[0031] 实施例
[0032] 本发明的一种具体实施方式是,基于连续混合P范数的子带结构回声消除方法,其步骤如下:
[0033] A、信号采样
[0034] 将远端传来的远端信号采样得到当前时刻n的输入信号序列U(n)=[u(n),u(n-1),…,u(1)],对近端的麦克风信号采样得到当前时刻n带有回声的期望信号序列D(n)=[d(n),d(n-1),…,d(1)];
[0035] B、信号分割
[0036] 将步骤A中得到的输入信号序列U(n)通过分析滤波器组分割成I个当前时刻n的子带输入信号序列Ui(n),同时将期望信号序列D(n)通过分析滤波器组分割成I个子带期望信号序列Di(n);其中i为子带输入信号序列Ui(n)或子带期望信号序列Di(n)的序号,i=1,2,…,I;I的取值为2,4,8;
[0037] C、子带信号抽取
[0038] 对步骤B中得到的子带输入信号序列Ui(n)每隔I个采样时刻进行抽取,得到当前时刻n的子带输入信号抽取序列Ui(k)=[ui(k),ui(k-1),…,ui(1)];对子带期望信号序列Di(n),每隔I个采样时刻进行抽取得到当前时刻n的子带期望信号抽取序列Di(k)=[di(k),di(k-1),…,di(1)];其中k代表抽取时段序号,k=n/I;
[0039] D、输入向量构成
[0040] 将子带输入信号抽取序列Ui(k)中的前M个元素组成当前时刻n的输入向量M代表自适应滤波器抽头长度;M的取值为64,128,256,512;
[0041] E、回声信号消除
[0042] 将步骤D中的子带输入向量 通过FIR滤波器得到子带输出信号yi(k),其中w(k)=[w1(k)w2(k),…,wM(k)]T为kI时刻的自适应滤波器的抽头权向量,其初始值为零向量,上标T表示转置;
[0043] 再用步骤C中的子带期望信号抽取序列Di(k)=[di(k),di(k-1),…,di(1)]中的第一个子带期望信号di(k)减去子带输出信号yi(k),得到当前时刻n的子带误差信号ei(k),即ei(k)=di(k)-yi(k);
[0044] E、更新滤波器抽头权系数
[0045] E 1 、计 算 F I R 滤 波 器 的 子 带 误 差 信 号 影 响 因 子 γ i ( k ) ,其中,|·|表示取绝对值运算,ln|·|表示自然对数运算;
[0046] E2 、更新k+ 1时刻的 FIR 滤波器 抽头权向量 ,更新公 式如下 :其中sign[·]表示符号函数,μ表示FIR滤
波器的固定步长,其取值范围为0.01~0.1, 表示欧几里得范数;
[0047] F、令k=k+1,重复步骤A、B、C、D、E,直至通话结束。
[0048] 仿真实验
[0049] 为了验证基于连续混合P范数的子带结构回声消除方法的有效性,我们进行了仿真实验,并与NLMS算法、NSAF算法以及VSS-CMPN算法做了性能对比。
[0050] 仿真实验中自适应滤波器抽头长度M为512,远端的输入信号采用四阶自回归(AR(4))信号,在房间为长6.25m,宽3.75m,高2.5m,温度20℃,湿度50%的安静密闭房间内,将接收到的远端信号经扬声器播放后,在房间中用麦克风按采样频率为8000Hz,取出100000时刻点的近端信号d(n),回声信道中冲击噪声产生形式z(k)=q(k)h(k),其中q(k)是白色高斯序列,h(k)表示一个概率质量函数为P(q)=1-Pr的伯努利过程,Pr表示冲击噪声发生的概率,仿真实验中Pr取值0.001,
[0051] 实验中各算法的参数具体取值如下表。
[0052] 各算法仿真实验的参数
[0053]NLMS μ=0.6
NSAF μ=0.02,I=4
VSS-CMPN μ=0.00005
本发明 μ=0.02,I=4
[0054] 仿真结果通过独立运行50次平均得到。图1是NLMS算法、NSAF算法、VSS-CMPN算法和本发明的归一化权值均方误差仿真结果。
[0055] 从图1中可以看出在冲击噪声环境下,NLMS算法和NSAF算法性能变得很差,二者的归一化稳态失调高达-5dB,VSS-CMPN算法的收敛速度和稳态失调有所改善,但其归一化稳态失调仍在-20dB以上,而本发明的收敛速度不低于这三种算法,但是其归一化稳态失调大幅降低,仅为-33dB左右。