祖丽楠,刘志远,生 宁
(青岛科技大学 自动化与电子工程学院,山东 青岛 266100)
声信号的跟踪与识别在很多领域都具有广泛的应用,但由于环境以及声源本身都具有较强的未知性和不确定性,因此其获取精度一直是热点问题。在声信号处理领域,对这一问题的研究由于受信号采集装置的限制,其精度主要取决于对噪声的处理上。在各种应用中,采集到的信号大多是非平稳的,信号特性随时间变化,使得其时域内的局部特征尤为重要。小波变换具有多分辨分析的特点,适合处理非平稳信号的去噪问题。
常用的阈值设置方法有:通用阈值估计、固定阈值估计、无偏似然估计等。一般来说,固定阈值估计和启发式阈值估计去噪比较彻底,去噪时更为有效,但也容易误对有用信号过度滤波。而常用的阈值函数有硬阈值函数(Hard Thresholding Function)和软阈值函数(Soft Thresholding Function)。从整体误差看,硬阈值函数要优于软阈值函数,但信号会产生不连续性,出现伪吉布斯现象,平滑性差;而软阈值函数得到的小波系数整体连续性较好,但会产生一定的偏差,甚至导致重构信号失真。很多学者在阈值和阈值函数的设计上做了大量研究工作。文献[14]提出一种降噪方法,通过DCT 字典实现水声信号的稀疏分解,并设计了一个动态阈值滤除噪声系数,但该方法降噪稳定性较差,对环境类型有一定要求。文献[15]提出了一种在混沌降噪背景下用遗传算法对阈值进行优化的方法,需要在遗传算法构建的优化族里经过不断筛选才能得到最佳阈值,去噪精度虽高,但计算量大且费时多。文献[16]提出了一种基于收缩小波系数的自适应滤波方法,该方法受控制图的启发,利用迭代思想确定阈值,去噪精度较高,但同时降低了实时性。
综上所述,本文针对未知环境中非平稳信号的噪声滤除问题,对小波阈值去噪方法存在的问题进行研究,提高了信噪比,降低了均方根误差,提高了信号获取的准确性。
未知环境中采集的声信号多为非平稳性信号,其观测信号模型()由目标信号和噪声信号组成。
式 中:()=[(0),(1),(2),…,(-1)];>0 为目标信号,且为连续的;()=[(0),(1),(2),…,(1)];≥0 为噪声信号,主要集中在高频段,具有不连续性和随机性;为信号长度,取决于采样周期。
如图1 所示,在理想情况下,去噪任务是通过滤波削弱或者消除观测信号模型()中的噪声分量()=[(0),(1),(2),…,(-1)],并尽可能地保留()中的目标信息(),最终得到观测信号的估计值̂()。
图1 理想情况下去噪问题模型
如图2 所示,小波阈值去噪的原理是:
图2 小波阈值去噪原理框图
1)选择合适的小波基函数和分解层数;
2)对式(1)所示的观测信号()进行小波变换,生成小波系数ω,=1,2,…,;
3)对阈值(为实数)进行设置;
4)通过将小波系数ω与阈值比较得出噪声分量(),通过阈值函数进行过滤——把小于的系数ω(主要由噪声()引起)设为0,而对大于的小波系数ω(主要由信号()引起)进行保留或收缩,从而得到小波系数的估计值̂ ;
5)对̂ 进行重构,得到观测信号()的估计值̂()。
滤波过程中,每一个分解层都会通过阈值和阈值函数Φ ()对信号高频段中的噪声分量()进行过滤。但随着信号分解层数的增加,传统小波变换会带来如下问题:采用固定阈值进行比较会造成过度滤波现象;采用硬阈值函数Φ ()(为实数)会存在不连续问题,并造成伪吉布斯现象;采用软阈值函数Φ ()虽然连续性较好,但会产生一定的偏差,造成重构声音信号̂()失真等影响。
针对上述问题,本文进行了如下创新性的研究:
1)利用对数函数的变化特点提出了一种动态阈值计算方法;
2)利用指数函数的特点,设计了一个阈值函数Φ ()。
采用小波变换去噪时,若阈值设置过小,去噪会不完整,导致重构信号仍有噪声存在;若阈值设置过大,会把部分有用信号一起过滤掉,造成信息丢失。目前广泛使用的是通用阈值设置方式:
可以看到,由式(2)计算出的阈值是固定值,其中没有包含分解层数这一变量。而在小波变换中,随着分解层数的增加,噪声分量会越来越少,这种固定阈值的方式将会在后继分解层中对信号造成“过扼杀”现象。
为规避上述问题,需实现:
1)阈值动态变化;
2)使阈值随着分解层的增加而变小,并在第一层比较时尽可能的大,以最大化地去除噪声;而在后继层数的比较中,阈值平缓减小,以保护信号的高频信息,避免“过扼杀”现象。考虑到对数函数的特点能够拟合上述变化过程,本文在式(2)中引入一个动态系数,则阈值为:
的计算公式为:
式中:为分解层数变量;为大于零的比例系数,根据对重构声音信号的品质需求设置。
最后,将式(4)代入式(3),得出动态阈值的计算公式:
由式(5)可以看出:阈值的计算包含了分解层数这一信息;由于对数函数的上凸特性,使得第一层分解时采用的阈值比式(2)中的值大,加强了噪声的滤除,并且,随着的增加,阈值以不断衰减的速度平滑减小,既保证了尽可能少地漏除噪声信号,又保护了目标信息。
阈值函数的选择会影响重构信号的连续性和准确性。目前常用的阈值函数是硬阈值函数Φ ()和软阈值函数Φ ()。
硬阈值函数Φ ():当小波系数的绝对值小于给定的阈值时,将系数置为0;反之,保留其原始值。其公式表示如下:
式中:是小波系数;为阈值。可以看出,式(6)虽然会使观测信号在 ||=处保留了端点特征,但在此处会形成间断点,这种不连续性会在重构过程中引发振荡现象。图3 为采用两种阈值函数的对比实验。如图3b)所示,重构信号出现了不连续点(点和点),呈现出伪吉布斯现象,但重构信号的估计值与原信号一致性更高。
软阈值函数Φ ():当小波系数的绝对值比给定阈值小时,将系数置为0;反之,从原始值中减去阈值。其公式表示如下:
式中sgn(⋅)是符号函数。可以看出,式(7)没有间断点,增强了重构信号的平滑性,但会使重构信号产生偏差。如图3c)所示,重构信号没有间断点,平滑性更好,但偏差较大。
图3 采用Φ λsoft(ω)和Φ λhard(ω)进行滤波重构信号对比图
根据上述分析,阈值函数若能融合软阈值函数和硬阈值函数的优点,而规避其缺陷,则能在很大程度上提高重构信号的准确性。因此,需在函数特性上具备如下特征:
1)当 ||=时,其值为0,以消除间断点。
2)当 ||处于附近时,为保证平滑性,令其呈现软阈值函数Φ ()的特性曲线。
3)当 ||大于一定值时,为使重构信号的准确性更高、偏差更小,阈值函数需逐渐呈现出硬阈值函数Φ ()的特性曲线,逐渐逼近 ||。
4)在两个函数转换的临界点处,其特性曲线要平滑且快速的变化。
基于上述需求,本文设计了一个阈值函数Φ ()。考虑到指数函数具有的特性,阈值函数中引入了函数,用其拟合具有单调递增且上凹变化的特性曲线,并通过其变化实现软阈值函数和硬阈值函数的转换。阈值函数Φ ()为:
式中:是大于0 的比例系数,根据对重构信号的品质需求进行设置;是常数,其值与观测信号随机程度有关(本文经过实验,对于规律性较高信号取值在[2,6]时,去噪效果最佳)。
图4 给出了采用三种不同阈值函数后重构信号的对比图,其中图4a)为未加噪声的目标信号。可以看出,本文设计的阈值函数Φ ()在重构信号的连续性和准确性上均具有较大优势,其曲线更接近目标信号。
图4 采用三种阈值函数处理后重构信号的对比
本文利用Matlab 对上述方法进行综合仿真。通过将不同的阈值和阈值函数进行组合对观测信号进行滤波,并采用信噪比(SNR)和均方根误差(RMSE)作为性能指标对重构信号的品质进行对比分析。信噪比的值越大,表示去噪效果越好;均方根误差越小,表示重构信号越接近目标信号。数学表达式分别为:
式中:()是目标信号;()是重构信号;为声音信号的长度。
实验参数选择如下:将含噪声的正弦信号作为观测信号;选择db 小波系作为小波基函数,分解层数为3 层;用Lifting Scheme 提升方案构造小波。另外,对于式(5)中的、式(8)中的和,经实验得出,在本文的实验条件下,分别取值为2.2,1 和3.5 时去噪效果最好。
图5 为噪声环境下采集到的观测信号。目标信号为无噪声环境下的声源信号。
图5 观测信号
本文做了三组实验,实验数据分别如图6~图8 和表1~表3 所示。
图6 是三种阈值与Φ ()相结合去噪后重构信号的效果图。
图6 三种阈值与硬阈值函数组合去噪后重构信号效果
表1 是其信噪比和均方根误差对比数据。可以看出,选择通用阈值和rigrsure 阈值时,信噪比和均方根误差相近,从图6b)和图6c)两图中可以看到,重构信号仍保留了较多的噪声信息,通用阈值出现了伪吉布斯现象。相比之下,从图6d)中可以看到,选择本文设计的动态阈值方法计算出的阈值时,重构信号最大程度地接近原始信号,且信噪比最大(分别高于前两种方案23%和16%),均方根误差最小(分别低于前两种方案30%和23%),缓解了过度滤波现象,极大地提高了去噪精度。
表1 三种阈值与Φ λhard(ω)相结合的消噪性能对比
图7是三种阈值与Φ ()相结合去噪后的效果图。
图7 三种阈值与软阈值函数组合去噪后重构信号效果图
表2 是其信噪比和均方根误差对比数据。可以看到,选择三种阈值后,其信噪比和均方根误差相近,但选择本文设计的动态阈值方法计算出的阈值时信噪比最大,且均方根误差最小,更接近原始信号,在一定程度上提高了去噪精度。
表2 三种阈值与Φ λsoft(ω)相结合后的消噪性能对比
图8 为本文设计的阈值函数Φ ()与两种阈值(通用阈值和动态阈值)组合后的去噪效果图。
图8 通用阈值和动态阈值λnew 与新阈值函数组合去噪后重构信号效果图
表3 是通用阈值和动态阈值与三种阈值函数结合后去噪性能对比数据。可以看出,在与通用阈值组合时,选择Φ ()函数去噪后信噪比和均方根误差比选择Φ ()和Φ ()函数的指标更优;在与动态阈值组合时,选择Φ ()函数去噪的效果更是得到了大幅提升。可以看出本文设计的动态阈值计算方法在去噪时误差最小,更加逼近目标信号,在一定程度上解决了采用其他阈值函数导致的重构信号偏差大的问题。
表3 通用阈值和动态阈值λnew 与三种阈值函数结合后的消噪性能对比
为解决小波变换在去噪过程中存在的问题,本文提出了一种动态阈值计算方法,并基于指数函数的特性设计了一种新的阈值函数。实验结果表明:动态阈值计算方法能够降低固定阈值带来的信号过度滤波问题,使重构信号更加逼近目标信号;改进的阈值函数避免了硬阈值函数Φ ()产生的伪吉布斯现象,同时降低了软阈值函数Φ ()产生的恒定偏差,较大地提高了去噪精度。综上所述,本文进行的创新性研究,使小波变换在对一维信号的去噪任务中具有更高的实用价值。