一种鲁棒哈默斯坦子带样条自适应回声消除方法与流程
时间:2022-02-15 阅读: 作者:专利查询
1.本发明属于声学的自适应回声消除领域,具体涉及一种鲁棒哈默斯坦子带样条自适应非线性回声消除方法。
背景技术:
2.在进行免提通话、音视频会议等时,语音信号容易受到声学回声的干扰,这种回声信号通常来自扬声器与麦克风之间的回声路径影响,如果不采取措施对声学回声加以抵消,会对语音通话质量产生严重影响。近年来,自适应滤波器作为回声消除器在回声抵消中得到广泛的研究与应用,其基本原理是系统辨识,即利用自适应滤波器来辨识出回声路径,滤波输出回声信号,与实际回声信号相抵消,从而达到消除回声的目的。
3.然而,声学通信设备通常会导致回声路径中存在非线性畸变,这种非线性失真会导致线性自适应滤波器无法正常作用,因此针对非线性回声消除的场景,需要设计出非线性自适应滤波算法来进行有效的非线性回声抵消。
4.在用于非线性回声消除的自适应滤波算法中,文献1“scarpiniti m,comminiello d,parisi r,uncini a.hammerstein uniform cubic spline adaptive filters:learning and convergence properties[j].signal processing,2014,100:112
‑
123.”提出的哈默斯坦样条自适应滤波算法灵活简单,并且易于实施。该方法采用非线性样条插值与线性滤波器的级联结构,在实际非线性系统辨识中具有广泛有效性。然而,该方法采用的均方误差代价函数对脉冲干扰不具有鲁棒性,因此不能克服脉冲干扰的影响。此外,当输入信号为高度相关的语音信号时,该方法收敛较慢。
技术实现要素:
[0005]
本发明的发明目的是提供一种鲁棒哈默斯坦子带样条自适应非线性回声消除方法,该方法能够抵抗脉冲干扰的影响,并能够利用子带结构加速收敛,非线性回声消除效果更好。
[0006]
本发明为实现上述目的采用的技术方案是,一种鲁棒哈默斯坦子带样条自适应非线性回声消除方法,其步骤如下:
[0007]
a、样条自适应滤波
[0008]
远端麦克风采集到当前时刻n的语音输入信号x(n),经过样条插值得到中间输出信号s(n),s(n)=u
t
(n)cq
i
(n);其中t表示转置运算,表示归一化横坐标向量,表示归一化横坐标,表示插值区间索引,q为样条节点总数,c为样条基矩阵,q
i
(n)=[q
i
(n),q
i+1
(n),q
i+2
(n),q
i+3
(n)]
t
表示局部样条节点向量,δ表示两个相邻样条节点之间的均匀间隔;
[0009]
b、子带自适应滤波
[0010]
通过分析滤波器h
j
(z)对期望信号d(n)和中间输出信号s(n)进行子带分解,分别得到子带信号d
j
(n)和s
j
(n),其中j=1,2,...,n表示第j个分析滤波器索引,子带数目为n;
[0011]
然后通过将s
j
(n)输入到权重向量为w(k)的线性滤波器中,得到子带输出信号y
j
(n);
[0012]
对于每个子带,对d
j
(n)和y
j
(n)用临界抽取来降低采样率,得到低采样率的子带信号d
j
(k)和y
j
(k),其中s
j
(k)=[s
j
(kn),s
j
(kn
‑
1),...,s
j
(kn
‑
m+1)]
t
,w(k)=[w1(k),w2(k),...,w
m
(k)]
t
表示k时刻的线性滤波器权值向量,m是滤波器的阶数,变量n和k分别用来表示原始序列和抽取序列,其关系为n=kn;
[0013]
子带误差信号由e
j
(k)=d
j
(k)
‑
y
j
(k)计算得到;
[0014]
当n=kn时,复制w(k)到w(n),得到w(n)=[w1(n),w2(n),...,w
m
(n)]
t
,然后执行y(n)=s
t
(n)w(n),其中s(n)=[s(n),s(n
‑
1),...,s(n
‑
m+1)]
t
;
[0015]
c、非线性回声抵消
[0016]
在当前时刻n下,期望信号d(n)与输出信号y(n)相减,得到误差信号e(n),可以计算为e(n)=d(n)
‑
y(n),将误差信号e(n)传送到远端;
[0017]
d、建立鲁棒代价函数
[0018]
对于线性部分,在当前时刻k,利用指数双曲余弦函数来建立鲁棒代价函数,描述为:
[0019]
j(e
j
(k))=1
‑
exp[
‑
cosh2(λe
j
(k))],
[0020]
其中参数λ>0,代价函数对e
j
(k)求偏导得到:
[0021]
f(e
j
(k))=λexp[
‑
cosh2(λe
j
(k))]sinh[2λe
j
(k)],
[0022]
同样,对于非线性部分,在当前时刻n,建立鲁棒代价函数,描述为:
[0023]
j(e(n))=1
‑
exp[
‑
cosh2(λe(n))],
[0024]
代价函数对e(n)求偏导得到:
[0025]
f(e(n))=λexp[
‑
cosh2(λe(n))]sinh[2λe(n)];
[0026]
e、更新滤波器系数
[0027]
利用随机梯度法,可得到线性滤波器权值w(k)和非线性局部样条节点q
i
(n)的自适应更新规则为:
[0028][0029]
q
i
(n+1)=q
i
(n)+μ
q
f(e(n))c
t
u
i
(n)w(n),
[0030]
其中μ
w
和μ
q
为步长参数,u
i
(n)=[u
i
(n),u
i
(n
‑
1),...,u
i
(n
‑
m+1)]是包含过去m个归一化横坐标向量的矩阵,如果向量u
i
(n
‑
m),m=0,1,...,m
‑
1位于与当前输入x(n)关联的索引i区间内,设置u
i
(n
‑
m)=u(n
‑
m),否则设置u
i
(n
‑
m)为零向量;
[0031]
f、迭代递归,重复a到e的步骤,直至语音通话结束。
[0032]
本发明的有益效果是:
[0033]
一方面,本发明采用对脉冲干扰具有鲁棒性的指数双曲余弦函数作为代价函数,可以降低自适应算法对异常值的敏感性,从而获得非线性自适应方法对脉冲干扰的鲁棒性。
[0034]
另一方面,本发明将子带结构应用到哈默斯坦样条自适应滤波器,克服了传统哈默斯坦样条自适应滤波器在高度相关的语音输入信号时收敛速度变慢的情况,具有更快的
收敛速度,这得益于子带结构对高度相关的输入信号的解相关性,因此,在非线性回声消除中可获得更好的效果。
附图说明
[0035]
图1是实验得到的语音输入信号图;
[0036]
图2是高斯噪声环境下本发明方法与文献1方法的回波损耗增益图;
[0037]
图3是脉冲噪声环境下本发明方法与文献1方法的回波损耗增益图。
具体实施方式
[0038]
实施例:
[0039]
本实施例中的鲁棒哈默斯坦子带样条自适应非线性回声消除方法,其具体步骤如下:
[0040]
a、样条自适应滤波
[0041]
远端麦克风采集到当前时刻n的语音输入信号x(n),经过样条插值得到中间输出信号s(n),s(n)=u
t
(n)cq
i
(n);其中t表示转置运算,表示归一化横坐标向量,表示归一化横坐标,表示插值区间索引,q为样条节点总数,c为样条基矩阵,q
i
(n)=[q
i
(n),q
i+1
(n),q
i+2
(n),q
i+3
(n)]
t
表示局部样条节点向量,δ表示两个相邻样条节点之间的均匀间隔;
[0042]
b、子带自适应滤波
[0043]
通过分析滤波器h
j
(z)对期望信号d(n)和中间输出信号s(n)进行子带分解,分别得到子带信号d
j
(n)和s
j
(n),其中j=1,2,...,n表示第j个分析滤波器索引,子带数目为n;
[0044]
然后通过将s
j
(n)输入到权重向量为w(k)的线性滤波器中,得到子带输出信号y
j
(n);
[0045]
对于每个子带,对d
j
(n)和y
j
(n)用临界抽取来降低采样率,得到低采样率的子带信号d
j
(k)和y
j
(k),其中s
j
(k)=[s
j
(kn),s
j
(kn
‑
1),...,s
j
(kn
‑
m+1)]
t
,w(k)=[w1(k),w2(k),...,w
m
(k)]
t
表示k时刻的线性滤波器权值向量,m是滤波器的阶数,变量n和k分别用来表示原始序列和抽取序列,其关系为n=kn;
[0046]
子带误差信号由e
j
(k)=d
j
(k)
‑
y
j
(k)计算得到;
[0047]
当n=kn时,复制w(k)到w(n),得到w(n)=[w1(n),w2(n),...,w
m
(n)]
t
,然后执行y(n)=s
t
(n)w(n),其中s(n)=[s(n),s(n
‑
1),...,s(n
‑
m+1)]
t
;
[0048]
c、非线性回声抵消
[0049]
在当前时刻n下,期望信号d(n)与输出信号y(n)相减,得到误差信号e(n),可以计算为e(n)=d(n)
‑
y(n),将误差信号e(n)传送到远端;
[0050]
d、建立鲁棒代价函数
[0051]
对于线性部分,在当前时刻k,利用指数双曲余弦函数来建立鲁棒代价函数,描述为:
[0052]
j(e
j
(k))=1
‑
exp[
‑
cosh2(λe
j
(k))],
[0053]
其中参数λ>0,代价函数对e
j
(k)求偏导得到:
[0054]
f(e
j
(k))=λexp[
‑
cosh2(λe
j
(k))]sinh[2λe
j
(k)],
[0055]
同样,对于非线性部分,在当前时刻n,建立鲁棒代价函数,描述为:
[0056]
j(e(n))=1
‑
exp[
‑
cosh2(λe(n))],
[0057]
代价函数对e(n)求偏导得到:
[0058]
f(e(n))=λexp[
‑
cosh2(λe(n))]sinh[2λe(n)];
[0059]
e、更新滤波器系数
[0060]
利用随机梯度法,可得到线性滤波器权值w(k)和非线性局部样条节点q
i
(n)的自适应更新规则为:
[0061][0062]
q
i
(n+1)=q
i
(n)+μ
q
f(e(n))c
t
u
i
(n)w(n),
[0063]
其中μ
w
和μ
q
为步长参数,u
i
(n)=[u
i
(n),u
i
(n
‑
1),...,u
i
(n
‑
m+1)]是包含过去m个归一化横坐标向量的矩阵,如果向量u
i
(n
‑
m),m=0,1,...,m
‑
1位于与当前输入x(n)关联的索引i区间内,设置u
i
(n
‑
m)=u(n
‑
m),否则设置u
i
(n
‑
m)为零向量;
[0064]
f、迭代递归,重复a到e的步骤,直至滤波结束,实现非线性回声消除。
[0065]
数值仿真实验:
[0066]
为验证本发明的有效性,进行了数值仿真实验,并与现有文献1方法进行对比。
[0067]
数值仿真中,语音输入信号由实验得到,如图1所示,其采样频率为8000赫兹,样本长度为100000。扬声器和麦克风之间的声学脉冲响应在高2.5米,宽3.75米,长6.25米,温度20摄氏度,湿度50%的安静密闭房间内获得,被截断为512个样本。非线性回声通常表现为扬声器的非线性畸变,这种失真通过一个无记忆sigmoid函数来模拟。选择信噪比为30db的高斯白噪声信号作为附加到系统输出的背景噪声。选择特征指数为1.2,散度参数为0.05的α稳定噪声作为附加到系统输出的脉冲噪声。
[0068]
文献1方法的参数取值为:m=512;μ
w
=μ
q
=0.002。
[0069]
本发明方法的参数取值为:m=512;μ
w
=μ
q
=0.02;n=2;λ=0.8。
[0070]
回声消除实验中通常选择回波损耗增益(erle)作为回声消除效果的评价指标。回波损耗增益曲线的收敛速度越快,稳态值越高,自适应方法性能就越好,回声消除的效果也越好。
[0071]
图2和图3分别是高斯噪声和脉冲噪声环境下,本发明方法与文献1方法的回波损耗增益曲线图。
[0072]
从图2可以看出,在高斯噪声环境下,本发明方法和文献1方法都能很好收敛,在保持相同收敛速度的前提下,本发明方法的回波损耗增益值明显高于文献1的方法,这表明本发明方法具有更好的性能,获得了更好的非线性回声消除效果。
[0073]
由图3可看出,在脉冲噪声环境下,文献1方法的回波损耗增益由于受到脉冲干扰的影响而无法收敛,而本发明方法依然能够很好收敛,这得益于本发明方法中所采用的指数双曲余弦函数代价函数对脉冲干扰的鲁棒性,因此,本发明方法的非线性回声消除效果更好。