APP下载

语音信号的自适应噪声抵消技术研究

2016-03-22张志强余莉韩方剑刘志强

电脑知识与技术 2016年2期

张志强 余莉 韩方剑 刘志强

摘要:该文以语音信号为对象进行噪声抵消研究。首先对自适应噪声抵消(ANC)系统的基本原理进行了阐述;而后分别对基于LMS(最小均方)、NLMS(归一化最小均方)、RLS(递归最小二乘)、BP(误差反向传播神经网络)算法的自适应噪声抵消系统进行MATLAB仿真,发现LMS算法去噪效果较好、但迭代次数多,不能满足语音通信的实时性及高质量语音的要求。而训练函数为trainrp的BP算法去噪能力最好,可应用于语音质量要求高的去噪;训练函数为traincgf的BP算法收敛速度最快,可应用于抢险救灾、处突维稳等任务的实时语音去噪。

关键词:语音信号;自适应噪声抵消;LMS算法;NLMS算法;BP算法

中图分类号:TN912.35 文献标识码:A 文章编号:1009-3044(2016)02-0227-05

1 引言

噪声消除是信号处理的核心问题之一。通常实现最优滤波的滤波器为维纳滤波器与卡尔曼滤波器;其要求预先知道信号和噪声的先验统计特性,而在现实中这往往是无法预知的。为此,不需预知信号和噪声统计特性的自适应滤波技术得以发展。1965年,美国斯坦福大学建成了世界上首个自适应噪声抵消(ANC)系统;随着计算机技术与集成电路技术的进步,新的自适应算法不断涌现,自适应噪声抵消在理论和应用上得到了很大发展。

自适应噪声抵消技术是一种有效消除噪声影响的信号处理技术;在未知外界干扰源特征、传递途径不断变化以及噪声和对象波形相似的情况下,通过自适应算法自动调节滤波器参数,有效消除外界声源干扰,获得高信噪比的对象信号。ANC系统的基本要求是其两路输入噪声必须统计相关;在现实中,噪声通道大多非常复杂,具有非线性;当两路输入噪声非线性相关时,传统的ANC系统(基于LMS、NLMS、RLS算法)去噪能力很难保证,甚至使对象信号失真。为此,必须寻求一种有效应对非线性相关的自适应噪声抵消方法。

神经网络是由大量处理单元广泛互联而成的复杂网络,它采用大规模并行处理,信息存储在神经元之间的连接上,存储区和操作区合二为一;它具有很强的自适应、自学习、鲁棒性、容错能力和非线性映射能力。激活函数为Sigmoid的多层前向神经网络能够以任意精度实现非线性函数逼近,实现对噪声非线性的模拟。

本文以语音信号为对象进行去噪研究;分别对基于LMS、NLMS、RLS、BP算法的ANC系统进行仿真,仿真结果表明基于BP算法的ANC系统去噪能力明显优于传统的ANC系统,具有收敛速度快、实时性好、去噪能力强、稳定性高等优点;可应用于各种应急突发事件的即时语音去噪。

2 噪声抵消系统的基本原理

2.1 自适应噪声抵消系统基本原理

自适应噪声抵消系统除了需要原始输入外,还需一个与原始输入中噪声相关的参考输入,以便抵消原始输入中的噪声,还原出有用信号。典型的自适应噪声抵消系统如图1所示:

3 语音信号的自适应噪声抵消仿真研究

首先录入一段时长16秒的语音信号,保存为.wav 文件作为期望信号;利用randn函数生成一段随机噪声作为参考输入,将语音信号和噪声相混叠作为原始输入;而后依次调用LMS、NLMS、RLS和BP算法程序进行MATLAB仿真研究。

这里将基于LMS、NLMS、RLS算法的实验条件设置为:滤波器阶数:800,步长因子:0.001;基于BP算法的实验条件设置为:训练更新次数:10,最大训练次数:1000,期望误差:0.001,学习速率:0.001,输入层传递函数:tansig,隐层传递函数:logsig,输出层传递函数:purelin。

3.1 基于LMS算法的自适应噪声抵消

经LMS算法噪声抵消后,信号时、频域仿真结果如图3至图6所示。

1)去噪能力由强至弱依次为: trainrp >traincgf>LMS>NLMS>traingda >traingd >traingdm>RLS,其中训练函数为trainrp的BP算法去噪效果最好,RLS算法无去噪能力。

2)收敛速度由快至慢依次为: traincgf >trainrp>LMS>NLMS>traingda >traingd >traingdm>RLS,其中训练函数为traincgf的BP算法收敛速度最快。

4 结论

本文以语音信号为对象进行噪声抵消研究。首先对典型的和基于神经网络的自适应噪声抵消系统的基本原理进行了阐述;而后对基于LMS、NLMS、RLS算法的自适应噪声抵消系统进行MATLAB仿真研究,发现LMS算法去噪效果较好、但迭代次数多,不能满足语音通信的实时性及高质量语音的要求。继而又对训练函数为traingdm、traingd、traingda、trainrp、traincgf的BP算法的自适应噪声抵消系统进行仿真研究,发现训练函数为trainrp的BP算法去噪能力最好,可应用于语音质量要求高的去噪;训练函数为traincgf的BP算法收敛速度最快,可应用于抢险救灾、处突维稳等任务的实时语音去噪。

参考文献:

[1] 崔大鹏.神经网络在自适应噪声抵消中的应用研究[J].电子技术与软件工程,2012(3).

[2] 曹斌芳.自适应噪声抵消技术的研究[D].湖南大学,2007.

[3] 陈明.MATLAB神经网络原理与实例精解[M].北京:清华大学出版社,2013.