杨天晴 杨静宗 付 蕊 吴丽玫
(保山学院信息学院,云南 保山 678000)
在我们生活的环境中,噪声无处不在。一方面,由于受噪声和干扰的污染,导致由采样信号辨识得到的系统模型存在偏差妨碍了系统控制精度的提高[1]。另一方面,含噪信号对我们的工作和生活造成了很多负面影响。语音信号降噪的实现将会提高办公效率,为我们进行信息交流营造一个舒适的听觉环境。在语音信号降噪领域中,传统的方法有滤波器法、小波变换法、小波阈值法[2−4],其中,韩长军[2]运用IIR和IFR两种滤波器对语音信号进行降噪,该方法能够实现对夹杂噪声的语音信号进行有效成分的提取,但是只能提取微弱语音信号,语音信号和噪声信号频谱分析要求高工作量大,且降噪效果不明显。唐玲和程建[3]采用小波分析对语音信号进行特征提取,选取适当的小波算法进行语音信号降噪,该方法能够消除一些噪声,但效果不是太明显。自1995年D.L.Donoho[4]提出小波阈值降噪方法后,很多学者就把该方法应用到语音信号的降噪中去,结果表明小波阈值法和以上两种方法降噪相比,降噪效果提高了许多。但是,这种传统的方法,阈值单一,在降噪声的同时,造成语音信号失真且信号容易震荡,降噪效果并不是最优的。除此之外,小波基的合理选取、层数的划分、阈值的估计等问题一直是一个难点。于是,张雪等采用EEMD联合能量熵及小波阈值的语音降噪方法[5],该方法从根本上克服了小波分解中需要预先设定小波基和分解层数的问题,也达成了良好的抑制噪声目的,但信号容易失真。通过分析现有研究成果发现,目前信号处理方法往往存在适用范围小、参数选取困难、降噪效果差、信号失真率高等问题。针对以上问题,以MATLAB仿真软件为仿真实验平台,采用EEMD结合小波阈值法和单纯的小波阈值法对含噪语音信号进行降噪。比较这两种方法以及其中的硬阈值、软阈值、硬软阈值折衷这三种阈值函数的降噪效果。
小波变换是一种信号的时间—尺度分析方法,是一种时间窗和频率窗都可以改变的时域局部化分析方法,经过伸缩和平移运算功能对函数或信号进行多标准细化剖析,达到在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分则与之相反,能够自动适应时频信号分析的要求,任何信号细节都不会被忽视,因此被誉为“数学显微镜”[6]。小波分析的这样特点与语音信号的“短时平稳”特点刚好吻合,因此小波分析在语音信号处理中得到十分广泛应用。
这里所说的小波,单从从字面意思去理解就是指小的波,即ψ(t)表示小波,满足:
小波变换是一个平方可积函数f(t)∈L2(R)与一组在时域和频域上都具备较好局部性质的小波基ψ(t)的内积,则f(t)的小波变换定义[7][8]为:
式中,<*,*>表示内积;a>0为尺度因子,b为位移因子;*表示共轭复数;ψa,b(t)为:
式中ψa,b(t)是母小波经过位移和伸缩所产生的一个小波序列,称为小波基函数或简称小波基。
小波变换具低熵性、多分辨率特性、去相关性、选基灵活性等特点,其在时域和频域上都具有表征信号部分特征的能力,因此对检测信号的瞬态或奇异点有利,可以覆盖整个频域,实现算法简单且执行速度较快且具有“变焦”的特性,在低频段可以用宽分析窗口,在高频段可以用窄分析窗口[8]。
随着小波理论研究的不断发展进步,它的应用领域也越来越广泛,其中利用小波变换进行信号降噪及重构从始至终都是一个热门课题。总的来说,小波去噪的方法大概可以分为模极大值去噪方法、相关去噪方法、小波阈值去噪法[2],对比以上三种方法各自有各自的特点,我们在应用中要结合信号特征选择合适的方法。
1.2.1 小波阈值法
小波阈值法降噪是由美国斯坦福大学教授Donoho在1994年提出的一种基于阈值估计和阈值规则选取的信号降噪的方法,在小波降噪应用领域取得的成绩可佳。对语音信号这种具有非平稳性和复杂性的信号,加入白噪声后得到含噪语音信号,其含噪信号表示形式[8]如下:
式中,x(t)表示原始信号,s(t)表示白噪声,σ表示噪声强度,在最简单的情况下可以假设s(t)为高斯白噪声,且σ=1。N为离散采样系列x(t)的长度。
小波阈值法降噪的具体步骤如图1:
图1 小波阈值降噪流程图
1.2.2 小波硬软阈值折衷法
小波硬软阈值折衷去噪方法的原理很简单,通俗易懂,就是在阈值估计器中加入了a因子,当a取0时,即为硬阈值小波系数估计器,当a取1时,即软阈值小波系数估计器。而对于一般的0<a<1来说,估计出来的数据ω∧j,k的大小介于硬、软阈值方法之间,因此可以通过在0到1区间内适当调整a因子的大小,来获得更好的降噪效果。硬、软阈值折衷法小波系数估计器表达式[9]如下:
但是该阈值函数所得到的估计信号可能会产生附加振荡。于是郭晓霞等人提出了一种改良的硬软阈值折衷法,该方法优于传统的软阈值法、硬阈值法、标准的硬软阈值折衷法[10]。该方法的阈值函数如下:
式中b、d均为大于1的实常数,a、b取任意值时具有连续性,根据实际情况可调整b、d的取值。
集合经验模态分解 EEMD(Ensemble Empirical Mode Decomposition)[11−12]是 Huang针对 EMD方法的不足提出的一种噪声辅助数据分析方法。该方法有效的解决了模态混叠现象和端点效应,使真实的信号得到了保留,降噪效果也十分明显。EEMD分解的算法十分通俗易懂,简单的来说就是以EMD分解为基础,把白噪声引入到要分析的信号中,经过多次EEMD分解后,噪音就会被相互抵消。具体的EEMD分解流程如下[13]:
1)在信号f(t)中,依次加入n次平均值是零且幅值标准差不变的高斯白噪声,得到新的信号fk(t):
2)对N组fk(t)依次EMD分解,得到多组IMFS。将第i次添加高斯白噪声后计算得到的第j个IMFS记为fi,j(t)。
3)由于不相关随机序列统计值为零,对分解所得IMFS进行总体集成平均计算后,得到最终的IFMS分量。每一个IFM分量是多个IMF分量的进程平均值。在平均过程中,先前添加的高斯白噪声对IMFS产生的影响也得到了抑制,最终获得EEMD算法处理过的有效IMFS,即:
EEMD算法流程图如图2所示:
图2 EEMD分解流程图
所谓信噪比就是信号和噪声能量比值的对数,其定义式[8]为:
所谓的均方误差就是原始信号与去噪后的估计信号量之间方差的平方根,其定义式为:
式中f(n)表示原始信号,表示去噪后的信号。均方误差越小降噪效果越好。
为了使降噪效果更加的可靠,对模拟的信号叠加不同信噪比的噪声。用小波阈值法降噪和EEMD分解结合小波阈值法对模拟信号进行降噪,在MATLAB仿真平台对该模拟信号进行降噪处理,验证算法的降噪效果。再把相应的算法应用到语音信号的降噪中去。语音信号降噪流程图如下:
图3 语音信号降噪流程图
基本算法步骤如下:
1)用模拟信号检测小波阈值降噪法和EEMD结合小波阈值法降噪的可行性;
2)采用小波阈值法降噪方法对信号进行降噪处理,主要包括三步:选择适当的小波基和分解层数;选择适当的阈值和阈值函数;进行小波分解与重构;
3)EEMD分解结合小波阈值法降噪,对含噪信号进行EEMD分解后,用小波阈值法降噪;
4)通过比较选择EEMD分解联合小波硬软阈值折衷降噪法对含噪语音信号降噪;
5)结果判别。观察降和试听降噪后的语音信号,看是否满足光滑性和相似性这两个信号降噪原则;
6)对降噪后的结果进行分析,用信噪比(SNR)和均方误差(RMSE)来衡量算法的有效性。
小波阈值法模拟信号降噪仿真实验:
对原始模拟信号y=5*sin(pi*20*t)+3*cos(2*pi*50*t),设置采样频率fs为1 000 HZ,采样数据点N为2 000,n、t、y均为1×2000 double。对该模拟信号添加不同信噪比的噪声,分别用小波软阈值法、硬阈值法、硬软阈值折衷法对含噪语音信号Y进行降噪处理,其中用硬软阈值折衷法降噪时,在阈值估计器中加入a因子,在本实验中取a=0.5。经过EEMD分解为9个IMF分量和1个剩余分量。然后,计算出每一个IMF分量的能量熵,并绘制能量熵值图。
图4 含噪模拟信号EEMD分解
图5 IMFS分量的能量熵值
图6 原始语音信号与含噪语音信号波形图对比
图7 小波硬软阈值折衷去噪处理后波形图
图8 EEMD结合小波硬软阈值折衷去噪处理后波形图
小波阈值法语音降噪仿真实验:将下载的源语音信号“sp01.wav”放在MATLAB 2019a的bin文件目录下,对该语音信号添加不同信噪比的噪声,采用与用模拟信号相同的算法对语音信号进行降噪。在进行EEMD分解语音信号时,向源语音信号中加入100次信噪比为10 db的随机高斯白噪声,噪声信号Y经过EEMD分解为13个IMFS分量和1个剩余分量,计算出每一个IMF分量的能量熵,并绘制能量熵值图。仿真结果如下:
图9 含噪模拟信号EEMD分解
图10 IMFS分量的能量熵值
图11 源语音信号和含噪语音信号波形图
图12 小波硬软阈折衷值处理后语音信号波形图
图13 EEMD-小波硬软阈折衷值处理后语音信号波形图
对含噪信号分别用小波阈值法和EEMD分解结合小波阈值法进行降噪。模拟信号降噪效果如表1、表2所示,语音信号降噪效果如表3、表4所示。从表1、表2数据可以看出,EEMD结合小波阈值法降噪后信噪比和均方误差改善情况较好。其中,在这两种方法下,在硬阈值、软阈值、硬软阈值折衷三种阈值函数中,硬软阈值折衷法降噪效果是最好的。因此验证了这两种算法对信号降噪的可行性。
表1 叠加信噪比SNR=10时不同方法下的降噪信噪比对比
表2 叠加信噪比SNR=10时不同方法下的降噪均方误差对比
表3 叠加SNR=10时不同方法降噪后语音信号信噪比
表4 叠加SNR=10时不同方法降噪后语音信号均方误差
把相应的算法应用到模拟信号的降噪中,从表3、表4中可以看出,单纯的小波阈值法在硬软阈值折衷函数下信噪比只提高了2 db,均方误差降低了近0.002,EEMD结合小波阈值法,信噪比提高了近13 db,均方误差降低了近0.003。可知小波阈值法和EEMD分解结合小波硬软阈值法同样适合对语音信号降噪,其中EEMD分解结合小波阈值法降噪结果较明显,而且这两种方法中,硬软阈值折衷函数在语音信号的降噪中效果最好,且信号不失真,具有很好的应用前景。
将EEMD分解和小波阈值法中的硬阈值、软阈值、硬软阈值折衷法相结合,并应用到语音信号的降噪过程中,对比试验结果发现,硬软阈值折衷法的降噪效果明显优于单纯的硬、软阈值方法,且EEMD结合小波硬软阈值法弥补了小波分解中需要预先设定小波基和分解层数的问题,信号不易失真,降噪效果较好。