一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于半盲源分离的非线性声学回声消除方法与流程

2021-06-08 12:00:00 来源:中国专利 TAG:声学 回声 信号处理 消除 分离


1.本发明属于信号处理的技术领域,具体涉及一种基于半盲源分离的非线性声学回声消除方法。


背景技术:

2.声学回声消除(acoustic echo cancellation,aec)在免提语音通信、远场语音识别和电话会议系统等场景中一直都有非常重要的应用。根据回声路径建模方式的不同,可以将aec分为线性和非线性aec(nonlinear aec,naec)。线性aec假设回声信号是远端输入信号与回声路径的线性卷积,可以用自适应滤波方法来估计回声路径,并从麦克风接收信号中消除掉线性回声信号。
3.在实际应用中,智能手机和笔记本电脑等设备的小型扬声器通常都会存在一定的非线性失真。除了未知的回声路径,还需要考虑未知的非线性,才能很好地解决naec问题。由于自适应滤波方法本质上旨在识别扬声器激励与麦克风接收信号之间的传递函数,所以基于自适应滤波的传统naec算法非常依赖于数值非线性模型的准确性,数值与实际非线性模型之间的失配会导致算法性能下降。
4.盲源分离(blind source separation,bss)是一种在没有任何有关混合过程先验信息的前提下,根据观测的混合信号来分离出未知声源信号的统计技术。半盲源分离(semi

blind source separation,sbss)是bss在系统源信号部分知识已知时的一种特殊情况,也能用于处理aec。sbss方法基于近端信号与参考信号之间的独立性,理论上对数值与实际非线性模型之间的失配不敏感。然而,已有的sbss都是用于解决线性aec问题的,不能直接用于naec系统。


技术实现要素:

5.为了解决上述技术问题,本发明提出了一种基于半盲源分离的非线性声学回声消除方法。
6.本发明采用的技术方案为:
7.基于半盲源分离的非线性声学回声消除方法,包括如下步骤:
8.步骤1,利用已知的远端输入信号获取含有非线性回声的麦克风信号;
9.步骤2,对远端输入信号的非线性映射进行基函数展开,将未知的非线性展开系数合并到回声路径中;
10.步骤3,将远端输入信号的基函数形式看作已知的参考信号,并与步骤1中的麦克风信号合并为向量形式;
11.步骤4,利用短时傅里叶变换得到步骤3中向量形式信号的时频域形式信号:
12.y(k,n)=[y(k,n),x1(k,n),

,x
i
(k,n),

,x
p
(k,n)]
t
[0013]
其中,y(k,n)和x
i
(k,n)分别为麦克风信号y(t)和远端输入信号的基函数形式φ
i
(x(t))的时频域形式,p为基函数展开阶数,k为频率序号,n为帧序号,(
·
)
t
表示转置;
[0014]
步骤5,采用带约束的缩放自然梯度独立向量分析实现在线半盲源分离算法,估计分离矩阵并分离出近端时频域信号;
[0015]
步骤6,将步骤5分离出的近端时频域信号通过短时傅里叶逆变换得到时域的近端信号。
[0016]
与现有技术相比,本发明的方法将半盲源分离与非线性模型相结合,能在非线性模型与实际模型存在偏差的实际应用中获得更好的非线性回声消除性能。
附图说明
[0017]
图1为本发明用于naec系统的sbss模型。
[0018]
图2为现有的sd

mcssfdaf方法、dualstage

mck方法与本发明方法在单端通话以及非线性匹配和失配情况下使用两种非线性映射的erle结果。(a)为硬削波模型,(b)为软削波饱和模型。
[0019]
图3为现有的sd

mcssfdaf方法、dualstage

mck方法与本发明方法在双端通话以及非线性失配情况下使用两种非线性映射的terle结果。(a)为硬削波模型,(b)为软削波饱和模型。
[0020]
图4为现有的sd

mcssfdaf方法、dualstage

mck方法与本发明方法在单端通话情况下使用实录数据的erle结果。
[0021]
图5为现有的sd

mcssfdaf方法、dualstage

mck方法与本发明方法在双端通话情况下使用实录数据的terle结果。
具体实施方式
[0022]
本发明基于半盲源分离的非线性声学回声消除方法主要包括以下几个步骤:
[0023]
1、信号获取
[0024]
获取含有非线性回声的麦克风信号y(t),如图1所示,则y(t)可表示为
[0025]
y(t)=d(t) s(t)=h(t)*f(x(t)) s(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0026]
其中,t为时间,x(t)为远端输入信号,f(
·
)表示无记忆非线性函数,h(t)为回声路径,d(t)为回声信号,s(t)为近端信号。
[0027]
2、构建naec的sbss模型
[0028]
1)对非线性映射输入信号进行基函数展开
[0029][0030]
其中,f(x(t))为非线性映射输入信号,φ
i
(
·
)为第i阶基函数,a
i
为相应的展开系数,p为展开阶数。
[0031]
2)合并非线性展开系数
[0032]
将(2)式代入(1)式可得
[0033][0034]
将未知的非线性展开系数合并到回声路径中:
[0035][0036]
其中h
i

(t)表示h(t)与a
i
合并后第i阶基函数对应的回声路径
[0037]
h

i
(t)=a
i
h(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0038]

[0039]
3)短时傅里叶变换
[0040]
利用短时傅里叶变换可以得到(4)式的时频域表示
[0041][0042]
其中y(k,n),h
i
(k,n),x
i
(k,n)和s(k,n)分别为y(t),h
i

(t),φ
i
(x(t))和s(t)的时频域表示,k为频率序号,n为帧序号。
[0043]
4)将远端输入信号的基函数形式看作已知的参考信号
[0044]
将x
i
(k,n)分别与y(k,n)和s(k,n)合并为向量形式
[0045]
y(k,n)=[y(k,n),x1(k,n),...,x
p
(k,n)]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0046]
s(k,n)=[s(k,n),x1(k,n),...,x
p
(k,n)]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0047]
其中(
·
)
t
表示转置。则(6)式可以写成矩阵的形式
[0048]
y(k,n)=h(k,n)s(k,n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0049]
其中h(k,n)为(p 1)
×
(p 1)的混合矩阵,可以写成分块形式
[0050][0051]
其中0
p
×1为p
×
1的零向量,i
p
为p
×
p的单位矩阵,h(k,n)为p
×
1的混合向量
[0052]
h(k,n)=[h1(k,n),...,h
p
(k,n)]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0053]

[0054]
3、在线sbss算法
[0055]
1)估计近端时频域信号
[0056]
利用sbss方法求出分离矩阵以得到近端时频域信号的估计值
[0057]
e(k,n)=w(k,n)y(k,n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0058]
其中e(k,n)为(p 1)
×
1的估计向量,w(k,n)为(p 1)
×
(p 1)的分离矩阵,具体形式如下:
[0059]
e(k,n)=[e(k,n),x1(k,n),...,x
i
(k,n),...,x
p
(k,n)]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0060][0061]
其中e(k,n)为近端时频域信号s(k,n)的估计值,x
i
(k,n)为φ
i
(x(t))的时频域形式,w(k,n)为p
×
1的分离向量。
[0062]
2)迭代分离矩阵
[0063]
采用带约束的缩放自然梯度独立向量分析实现在线半盲源分离算法:先利用缩放自然梯度方法求出关于分离矩阵的梯度,然后对分离矩阵进行在线更新,在迭代更新的同时,分别对梯度和分离矩阵施加约束以保留(14)式中分离矩阵的约束结构。分离矩阵的迭
代公式为:
[0064][0065]
δw
2:p 1,:
(k,n)=o
p
×
(p 1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0066]
w(k,n 1)=c(k,n)[w(k,n) ηδw(k,n)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0067][0068]
w
2:p 1,2:p 1
(k,n 1)=i
p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)
[0069]
其中,δw(k,n)为w(k,n)的梯度,(
·
)
h
表示共轭转置,η为学习速率,i
p 1
为(p 1)
×
(p 1)的单位矩阵,o
p
×
(p 1)
表示p
×
(p 1)的零矩阵,δw2:
p 1,:
(k,n)表示由矩阵δw(k,n)第2到(p 1)行组成的矩阵,w
1,:
(k,n 1)表示矩阵w(k,n 1)的第1行,w
1,1
(k,n 1)表示矩阵w(k,n 1)第1行第1列的元素,w
2:p 1,2:p 1
(k,n 1)表示矩阵w(k,n 1)右下角p
×
p的方阵,i
p
为p
×
p的单位矩阵,d(k,n)和c(k,n)为缩放因子,非线性函数φ(
·
)称为多元得分函数,形式为
[0070]
φ(e(k,n))=[φ(e1(k,n)),φ(e2(k,n)),...,φ(e
p 1
(k,n))]
t
ꢀꢀꢀꢀꢀꢀꢀꢀ
(20)
[0071][0072]
其中e
j
(k,n)表示向量e(k,n)的第j个元素,k为频率点的总数。
[0073]
3)重建时域的近端信号
[0074]
最终,将估计的近端时频域信号通过短时傅里叶逆变换得到时域的近端信号。
[0075]
实施例
[0076]
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0077]
1、仿真实例
[0078]
1)非线性映射
[0079]
采用两种非线性映射来模拟扬声器的无记忆非线性:硬削波(hard clipping)和软削波饱和(soft saturation)。硬削波模型的表达式为
[0080][0081]
其中x
max
为削波阈值,软削波饱和模型的表达式为
[0082][0083]
其中ρ为非自适应形状参数。
[0084]
2)基函数
[0085]
对于方法的实现,同时考虑非线性匹配与失配的情况。在非线性匹配情况下,本实施例方法采用的数值非线性模型与实际非线性模型相同;在非线性失配情况下,采用基函数展开式,且采用奇的幂级数作为(2)式中的基函数
[0086]
φ
i
(x(t))=x
2i
‑1(t),i=1,2,...,p.
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(24)
[0087]
在所有的仿真和实验中,非线性展开阶数均设为p=3。
[0088]
3)单端通话
[0089]
采用10s长的语音信号作为远端输入信号x(t),并使用上述步骤1)中的两种非线性映射获得非线性映射输入信号f(x(t)),然后与回声路径h(t)线性卷积得到回声信号d(t),再加上独立的高斯白噪声信号s(t)就得到了麦克风信号y(t)。用信号失真比(signal

to

distortion ratio,sdr)来量化信号的非线性程度,定义为10log
10
{e[x2(t)]/e[(f(x(t))

x(t))2]},这里使sdr=5db。并将回声与近端信号的功率比(echo

to

near

end

signal power ratio,esr),定义为10log
10
{e[d2(t)]/e[s2(t)]},设为esr=60db。使用镜像法(image method)生成的房间冲激响应作为回声路径,采样率为16khz,混响时间为0.2s。短时傅里叶变换使用汉宁窗,窗长为512,帧移为128,sbss算法的学习速率η取为0.1。算法性能用回声损耗增强(echo return loss enhancement,erle)来评价,定义为10log
10
{e[y2(t)]/e[e2(t)]}。
[0090]
为了体现本发明相对于现有方法的性能提升,本实施例对本发明的sbss方法与基于sd

mcssfdaf(s.malik and g.enzner,“state

space frequency

domain adaptive filtering for nonlinear acoustic echo cancellation,”ieee trans.audio,speech,lang.process.,vol.20,no.7,pp.2065

2079,sep.2012.)和dualstage

mck(m.schrammen,s.k
ü
hl,s.markovich

golan,and p.jax,“efficient nonlinear acoustic echo cancellation by dual

stage multi

channel kalman filtering,”in proc.ieee int.conf.acoust.,speech signal process.,brighton,united kingdom,may 2019,pp.975

979.)的传统naec方法进行了比较验证。图2给出了以上三种方法使用两种非线性映射的erle结果。可以看出,当非线性完全匹配时,sd

mcssfdaf和dualstage

mck方法收敛后的性能明显优于本发明的sbss方法。然而,当使用(24)式中的基函数时,这两种方法的性能由于非线性失配的影响而显著恶化,而本发明的sbss方法虽然有所恶化但要明显好于sd

mcssfdaf和dualstage

mck方法。
[0091]
4)双端通话
[0092]
采用10s长的语音信号作为远端输入信号x(t),同样使用两种非线性映射获得sdr=5db的非线性映射输入信号f(x(t)),然后与回声路径h(t)线性卷积得到回声信号d(t),再加上10s长的近端语音信号s(t)就得到了麦克风信号y(t),并使esr=0db。这里仅考虑非线性失配的情况,算法性能用真实回声损耗增强(true erle,terle)来评价,定义为10log
10
{e[d2(t)]/e[(e(t)

s(t))2]},同时使用语音质量的感知评估(perceptual evaluation of speech quality,pesq)和短时客观清晰度(short

time objective intelligibility,stoi)作为客观指标对近端信号进行语音质量评测。则两种非线性映射的terle结果如图3所示,近端语音质量评测结果如表1所示。可以看出,本发明的sbss方法的terle性能和近端语音质量都要优于sd

mcssfdaf和dualstage

mck方法。
[0093]
表1近端语音质量评测结果
[0094][0095]
2、实验实例
[0096]
采用实录数据来评估本发明方法的性能。用麦克风录制存在未知非线性的小型扬声器播放的语音信号,信号时长为10s,采样率为16khz,麦克风信号的信噪比(signal

to

noise ratio,snr)为20db左右。单端通话情况的erle结果如图4所示,在这种非线性失配情况下,本发明的sbss方法的erle性能要优于sd

mcssfdaf和dualstage

mck方法。双端通话情况中,采用10s长的近端语音信号,并调整音量使得esr为0db左右。terle结果和近端语音质量评测结果分别如图5和表2所示,sbss方法的terle性能与近端语音质量都要优于其他两种方法。由此可知,本发明方法在真实环境中也能有效地去除麦克风中的非线性回声信号。
[0097]
表2实录数据的近端语音质量评测结果
[0098]
algorithmspesqstoisd

mcssfdaf1.560.83dualstage

mck1.580.84sbss1.670.86
[0099]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜