一种基于最大熵的变步长符号子带回声消除方法与流程

文档序号:13333549阅读:301来源:国知局
一种基于最大熵的变步长符号子带回声消除方法与流程
本发明属于语音通信的自适应回声消除
技术领域

背景技术
:目前,回声消除器就是通过核心部件—自适应滤波器来估计回声,并在近端信号中减去回声的估计值以达到回声消除的效果。自适应回声消除技术因其成本低、效果好,得到一致认可,也是目前国际上公认的最有前景的回声消除技术之一。从回声消除的基本原理看,利用声学回声消除器来实现回声消除,其中最核心的部分就是自适应滤波器。自适应系统中最常用的最小均方(lms)算法往往在回声消除应用中不能获得较好的效果。为此,为了解决这一难点归一化子带自适应滤波器方法被提出,该种方法将输入信号经过分析滤波器按频率分割为多个子带信号,由于输入信号的频率与回声的相关度高,对不同的子带信号自适应的进行不同的回声消除,再进行归一化处理,能从整体上降低回声消除的难度,从而可以获得较好的收敛速度。在目前的自适应回声消除应用中,较成熟的子带回声消除方法为归一化子带类的自适应滤波算法,如有文献1“novelsignsubbandadaptivefilteralgorithmswithindividualweightingfactors”(yu,y.,&zhao,h.,signalprocess(2016))的(iwf‐ssaf)方法,该方法应用了符号算法可以很好的抗冲激干扰,然而,由于使用固定步长,该算法不能很好的解决低稳态误差和快速收敛之前的矛盾。技术实现要素:本发明的目的就是提出一种基于最大熵的变步长符号子带回声消除方法,采用该方法进行回声消除,具有较好的收敛速度和更低的稳态误差。本发明实现其发明目的所采用的技术方案是,一种基于最大熵的变步长符号子带回声消除方法,其步骤如下: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的步骤,直至通话结束。与现有技术相比,本发明的有益效果是:本发明利用最大熵的思想引入了变步长当算法还未收敛时,子带的误差ei(k)很大,所以算法使用很大的步长,可以获得很快的收敛速度。当算法收敛时,子带的误差ei(k)变小,算法具有很小的步长,可以获得很小的稳态误差。当系统存在冲激响应时,权系数向量更新算法中的符号函数可以抗冲激响应,所以本发明提出的方法既可以调和快收敛速度和低稳态误差之间的矛盾,又可以抗冲击噪声。下面结合附图和具体实施方式对本发明进行详细说明附图说明图1是本发明仿真实验的信道图。图2是文献1(mcc-saf)方法和本发明在真实语音信号为输入信号时,仿真实验的归一化稳态失调曲线。具体实施方式实施例本发明的一种具体实施方式是,一种基于最大熵的变步长符号子带回声消除方法,其步骤如下: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的步骤,直至通话结束。仿真实验为了验证本发明的有效性,进行了仿真实验,并与现有的文献1的方法进行了对比。仿真实验的采样频率为8khz。背景噪声是30db信噪比的零均值高斯白噪声。回声信道脉冲响应在长6.25m,宽3.75m,高2.5m,温度20℃,湿度50%的安静密闭房间内获得,脉冲响应长度即滤波器的抽头数l=64。按照以上实验条件,用本发明方法与现有的文献一方法进行回声消除实验。各种方法的实验最优参数取值如表1。表1各方法的实验最优参数取值文献一(iwf-ssaf)κ=0;ε=0.0001;δ=0.01;n=4本发明fl(0)=0.001;δ=0.01;n=4;γ=0.000001图1是实验用的安静密闭房间构成的通信系统的信道图。图2是文献一(iwf-ssaf)的方法和本发明方法,在真实语音信号为输入信号时,仿真实验得到的归一化稳态失调曲线。从图2可以看出:本发明在约20000个采样时刻(2.5s)收敛,稳态误差约在-25db;而文献1则在约20000个采样时刻(2.5s)收敛,稳态误差约在-15db;本发明比文献1稳态误差减小了近1.5倍。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1