一种NLF-对数小波阈值的脉冲干扰降噪方法

2023-12-13 01:39向世召焦予栋尚文擎王燕妮
小型微型计算机系统 2023年12期
关键词:小波信噪比脉冲

江 莉,向世召,焦予栋,尚文擎,王燕妮

(西安建筑科技大学 信息与控制工程学院,西安 710055)

1 引 言

在信号采集和传递过程中,由于环境、设备等因素总会掺杂部分干扰噪声,信号去噪一直是信号处理领域中非常重要的研究内容.在大多数情况下,研究者会将噪声假定为高斯噪声,这类噪声模型相对简单,一般使用自适应滤波、小波分析等方法处理就能取得很好的效果.但是,在现实生活中还有很多噪声并不符合高斯模型,如脉冲噪声,这类噪声往往使用Alpha稳定分布模型来描述.Alpha稳定分布脉冲噪声是非平稳信号,通常采用非线性滤波来进行降噪处理.这类滤波器包括中值滤波器[1]、加权中值滤波器[2]、自适应中值滤波器[3]等.但随着脉冲噪声强度的增加,上述方法的去噪噪性能会随之降低,甚至失效.

在小波分析理论的基础上发展起来的小波阈值去噪是近年被广泛应用的一种去噪算法,在高斯噪声背景下有很高的处理效率,而且去噪之后信号足够平滑.但小波阈值去噪算法在强脉冲噪声背景下性能严重退化,传统硬阈值函数存在不连续点,使得去噪后的信号会产生间断点,出现振荡现象;而软阈值函数虽然克服了硬阈值函数存在不连续点的缺点,但重构精度不够会导致重构信号产生恒定偏差,这些都导致传统小波阈值去噪受到很大限制[4-6].

基于上述问题,国内外专家学者针对阈值函数提出了很多解决方案和改进方法.文献[7]提出一种具有调节因子和半软阈值因子的双因子小波阈值去噪方法,完成向硬、软阈值函数的转变,保证了连续性且能降低重构误差;文献[8]提出一种新的小波阈值函数,使用原小波系数和小波阈值的关系控制新阈值函数的硬、软趋势,避免了硬阈值函数的不连续性和软阈值函数的恒定偏差;文献[9]引入一个关系系数来控制贴近硬软阈值的程度,能解决传统硬、软阈值函数存在不连续点和固定偏差的问题并减少计算量.这些方法对高斯白噪声有很好的去噪效果,但是在脉冲噪声背景下性能出现衰退.本文在传统硬、软阈值的基础上,提出一种新的对数阈值函数,能克服传统硬软阈值函数的固有缺陷,并且将这种小波对数阈值函数去噪法与中位值平滤波法联合,在很大程度上抑制强脉冲噪声,同时进一步提高去噪之后信号的平滑度,增强去噪效果.

2 基本原理

2.1 Alpha稳定分布模型

脉冲噪声不同于高斯噪声,根据其特性可以使用Alpha稳定分布模型来描述这类噪声.Alpha稳定分布的概率密度函数具有较厚的拖尾,这是区别其他噪声模型的重要特征之一.除了高斯分布、柯西分布和皮尔逊分布以外,Alpha稳定分布的概率密度函数没有统一的闭合形式,但其特征函数有统一的表达式[10,11]:

φ(t)=exp{jμt-γ|t|α[1+jβsgn(t)ω(t,α)]}

(1)

其中:

(2)

(3)

式中α(0<α≤2)为特征指数,反映概率密度函数的拖尾厚度,α越小,其拖尾越厚,脉冲强度越大.β(-1≤β≤1)为对称参数,β=0时,Alpha稳定分布是关于μ对称的,称为对称α稳定分布,记为SαS分布,0<β<1时右偏斜分布,-1<β<0时左偏斜分布.γ(γ>0)为分散系数,又称尺度系数,表示Alpha稳定分布关于均值的分散程度.μ(-∞<μ<∞)为位置参数,对于SαS分布,当0<α<1时,μ表示中值,当1<α<2时,μ表示均值.

Alpha稳定分布脉冲噪声在时域上表现为尖峰特性明显、突发性强等特性,这些特性导致传统去噪算法发生不同程度的性能退化.

2.2 小波阈值去噪

现有的去噪算法大多以高斯噪声为背景,这些算法在Alpha稳定分布噪声背景下性能出现衰退甚至完全失效.小波阈值去噪的基本思想是:先选择合适的小波基进行若干层信号分解,获取各层高频小波系数,再选择合适的阈值函数对小波系数进行处理,最后进行小波重构,得到滤波之后的信号.其中阈值函数和小波阈值的设定非常重要,若小波系数小于设定的阈值,认为是噪声的小波系数,将它滤除;若小波系数大于设定的阈值,则认为是信号的小波系数,将它保留.小波阈值去噪过程的流程图如图1所示.

图1 小波阈值去噪流程图Fig.1 Flowchart for wavelet threshold denoising

硬阈值函数为:

(4)

软阈值函数为:

(5)

硬阈值函数将绝对值小于小波阈值的小波系数置零,而将其他小波系数保留下来.硬阈值函数处理后在±λ处是不连续的,因而处理后会出现间断点,产生震荡现象.相比于硬阈值函数,软阈值函数对绝对值大于小波阈值的小波系数也会进行收缩变换.软阈值函数是连续函数,处理后不会出现间断点的情况,但会出现恒定偏差,从而使重构信号和真实信号之间产生较大误差[12].硬、软阈值函数示意图如图2所示.

图2 硬、软阈值函数Fig.2 Hard and soft threshold functions

3 改进非线性滤波和对数小波阈值联合方法

3.1 对数小波阈值函数

传统的硬、软阈值函数由于自身存在不足,在精度要求较高时受限.因此有学者提出一种软硬阈值折衷函数[13]:

(6)

式中c(-1

文献[14]在原有硬、软阈值函数及现有阈值函数的基础上改进,提出了一种新的阈值函数:

(7)

其中:

(8)

(9)

式中u,v,p,q为可调参数,满足u=v+1.通过4个参数来调节阈值函数的硬软阈值特性,克服了硬阈值函数在±λ处存在间断点的不足,但并未彻底解决恒定偏差的问题;而且通过引入多个调节参数,增加了算法复杂度.基于传统硬、软阈值函数和上述方法各自存在的缺点,并且在脉冲噪声背景下性能退化的情况,本文提出一种新的对数阈值函数弥补上述算法的不足.改进的对数阈值函数形式如下:

(10)

1)连续性.对数阈值函数是奇函数,在±λ处有相同的性质,因此只验证对数阈值函数在+λ点处的连续性.

=0

(11)

2)较小偏差性.

=0

(12)

对数阈值函数和其他阈值函数对比图如图3所示.改进的对数阈值函数是连续函数,解决了硬阈值函数和软硬阈值折衷函数在阈值±λ处存在间断点的问题,不会产生震荡现象;对数阈值函数使用对数函数,相比于软阈值函数和文献[14]的阈值函数,进一步降低了软阈值函数带来的恒定偏差,同时提高了去噪效率.而且改进的对数阈值函数未引入其他参数,相较于文献[14]的方法计算复杂度更低.

图3 对数阈值函数和其他阈值函数对比Fig.3 Comparing logarithmic threshold function with other threshold functions

3.2 选取阈值

小波阈值去噪不仅需要设计符合信号特征的阈值函数,选取合适的阈值也是关键之一.阈值的选取直接影响小波阈值去噪效果,选取阈值过小,经过阈值处理后的小波系数中噪声分量依旧存在,导致去噪不彻底;选取阈值过大,阈值处理会将有用信号当作噪声信号去除,造成重构信号成分缺失.根据最大噪声幅度的临界条件,一般会选取传统阈值[15]:

(13)

其中n为信号长度,σ是噪声的标准差,σ=(median|wj,k|)/0.6754,median|wj,k|表示第j层小波分解系数的中值.传统阈值的值固定不变,无法适应不同分解层小波系数的变化,会造成噪声分量去除不彻底或信号分量丢失的情况.对于小波分解,有用信号产生的小波系数会随分解尺度增大而变大,而噪声产生的小波系数会随分解尺度的减小而变小,所以不同分解尺度下需要选取不同的阈值.

文献[16]给出了一种基于小波变换模极大值的估计Lipschitz指数的方法,可用于计算第j小波系数与上一层小波系数之间的关系,文献[16]指出第j层小波系数满足:

|wfjx(t)|≤K2jδ

(14)

式中j表示小波分解层数,wfj,k表示第j层小波分解的小波系数,K为常数,δ表示白噪声的Lipschitz指数.

因此,第j+1层小波系数可表示为:

|wfj+1x(t)|≤K2(j+1)δ=K2jδ·2δ=2δ·|wfjx(t)|

(15)

对比式(14)和式(15)不难发现,噪声的第j+1层小波系数幅值小于第j层小波系数幅值的2δ倍.文献[17]中给出了一种计算噪声Lipschitz指数的方法:

(16)

式中|wj,k|max表示第j层小波分解系数的最大值,s为分解尺度,满足s=2j.根据上述分析,为了有效滤除噪声,不同小波分解层选取不同的阈值,先根据传统阈值规则进行第一层小波分解,接下来各层选取的阈值是上一层阈值的2δ倍,即阈值选取公式为:

(17)

3.3 确定分解层数及本文算法步骤

在应用中,除了阈值函数和阈值是影响小波阈值去噪效果的关键,小波分解层数也是影响去噪效果的重要因素.分解层数过低时,降噪效果不明显,无法得到高信噪比;分解层数过高时,信号成分丢失,造成重构信号失真,而且会增加计算量[18].分解层数的确定一般根据信号特征和经验预设,但这样只能得到固定值,存在不稳定性.文献[19]提出了一种基于小波去相关白噪声检验的最优分解层数自适应确定算法,该算法可以根据噪声信号的特点和信噪比,自适应的选择小波变换最优分解层数以达到最优的降噪效果,但是脉冲噪声不符合高斯分布,且没有固定形式,所以不能使用这种方法确定最优分解层数.本文根据小波分解后各层信噪比的高低作为最优分解层数的判断依据,具体包含如下步骤:

步骤1.对含噪信号x(i)进行一层小波分解,然后重构分解后的小波系数,并计算此时信噪比SNR1.

步骤2.对含噪信号x(i)进行二层小波分解,然后重构分解后的小波系数,并计算此时信噪比SNR2.比较SNR1和SNR2的大小,如果SNR1>SNR2,则转到步骤4,否则进行步骤3.

步骤3.对含噪信号x(i)进行三层小波分解,然后重构分解后的小波系数,并计算此时信噪比SNR3.比较SNR2和SNR3的大小,如果SNR2>SNR3,则转到步骤4,否则进行四层小波分解,依次迭代,最终转到步骤4.

步骤4.假设分解到j层停止,那么小波分解最优分解层数就是j.

获取最优分解层数的流程图如图4所示.

图4 获取最优分解层数流程图Fig.4 Getting optimal decomposition layer flowchart

对于Alpha稳定分布噪声这类尖峰脉冲特性明显的噪声,小波阈值去噪算法效果不佳,特别是在强脉冲噪声点处算法完全失效.本文将非线性滤波法与小波阈值去噪法结合,先使用中位值平均滤波算法处理含噪信号,削弱强脉冲噪声,再使用对数阈值函数进行小波阈值去噪,实现全局的脉冲噪声滤除.本文算法流程框图如图5所示.

图5 本文算法流程图Fig.5 Flowchart of the algorithm in this paper

本文算法步骤如下:

第1步.产生含噪信号.

第2步.对于含噪信号进行中位值平均滤波预处理.使用类似于简单冒泡排序的方法,如式(18)所示:

(18)

第3步.确定分解层数并进行小波分解.

第4步.根据上一分解层的小波系数,计算当前分解层的小波阈值.

第5步.使用式(10)进行阈值化处理.

第6步.进行小波重构,得到去噪后的信号.

4 实验结果与分析

为验证本文方法的有效性,使用Matlab对信号进行仿真实验.选择多频正弦信号作为仿真信号,另外选择一道地震信号作为实测信号,分别在脉冲噪声背景下进行验证.

仿真信号模型如下:

x(n)=signal(n)+b·impluse(n)

(19)

式中x(n)为含噪信号,signal(n)为仿真信号,impluse(n)为脉冲噪声,n为信号长度,b为脉冲噪声的比例系数(0≤b≤1).

通常使用均方根误差(MSE)和峰值信噪比(PSNR)做为去噪性能评价指标.峰值信噪比表示去噪后信号中含有噪声的多少,其值越高,信号中噪声含量越少,效果越好;均方根误差表示观测值与真值之间的偏差,其值越小,算法可靠性越高.本文采用均方根误差和多次实验的平均峰值信噪比评价去噪效果,表达式如下:

(20)

(21)

式中x(i)表示原始不含噪信号,x(i)表示去噪后的信号,n为信号点数,D为实验次数.

实验1.选择多频正弦信号作为原信号,取500个采样点,并添加Alpha稳定分布脉冲噪声(α=1.4,β=1.1,γ=2,μ=1),信噪比SNR=12dB,仿真实验选取sym5小波基函数,最终分解层数为5,对含噪信号分别进行硬阈值、软阈值、文献[8,9-14]方法和本文方法去噪验证本文方法的有效性.图6(a)、图6(b)分别为纯净的仿真信号和含噪信号(含脉冲噪声).图7(a)~图7(e)分别为硬阈值函数、软阈值函数和文献[8,9-14]方法去噪结果,图7(f)为本文方法去噪结果.由图7可知,在强脉冲噪声背景下,硬、软阈值去噪方法性能严重退化;文献[8]、文献[9]和文献[14]方法在脉冲噪声背景下性能也出现退化,特别是在强脉冲噪声点影响最大;本文方法在中位值平均滤波的基础上进一步滤除脉冲噪声,提高了信号的还原程度.表1是实验一仿真信号使用上述方法去噪后均方根误差和峰值信噪比对比表,可以看出本文方法相比于其他方法能获得更低的均方根误差和更高的峰值信噪比.

图6 仿真信号和含噪信号Fig.6 Simulated signal and noise signal

表1 仿真信号去噪方法均方根误差及峰值信噪比对比表Table 1 MSE and PSNR table for simulated signal

图7 仿真信号不同方法去噪处理对比Fig.7 Comparison of different denoising methods for simulated signals

实验2.选择多频正弦信号为原信号,取500个采样点,分别在不同信噪比下进行实验,SNR范围为0dB~15dB,选取sym5小波基,最终分解层数为5,验证不同输入信噪比下本文方法的有效性.仿真结果如图8所示.

图8 不同方法去噪信噪比-均方根误差误差曲线Fig.8 SNR-MSE curves with different methods

图8为不同输入信噪比与去噪后均方误差的比较结果,实验表明,在不同输入信噪比的脉冲噪声背景下,硬、软阈值函数去噪效果最差;文献[9]和文献[14]方法去噪效果相对较好;与其它方法相比,本文方法的均方误差随着输入信噪比的增加而逐渐减小,其性能优于其他算法,与文献[8]方法效果接近.

实验3.为了验证本文去噪方法对实际信号的去噪效果,选取一道地震波信号作为原信号,长度为649个采样点,并添加Alpha稳定分布脉冲噪声(α=1.4,β=0.1,γ=2,μ=1),仿真实验选取sym5小波作为基函数,最终分解层数为5,对含噪实际信号分别进行硬阈值函数、软阈值函数、文献[8]、文献[9]、文献[14]方法和本文方法去噪验证该方法的有效性.含噪地震信号如图9所示,仿真结果如图10及表2所示.

表2 地震信号去噪方法均方根误差及峰值信噪比对比表Table 2 MSE and PSNR table of seismic signal

图9 含噪地震信号Fig.9 Noisy seismic signal

图10 地震信号不同方法去噪处理对比Fig.10 Comparison of different methods for noise removal of seismic signals

图10(a)~图10(e)分别为硬阈值函数、软阈值函数和文献[8]、文献[9]、文献[14]方法去噪结果,图10(f)为本文方法去噪结果.从图10可以看出,硬、软阈值函数去噪在强脉冲噪声背景下,去噪性能都严重退化,无法去除强脉冲噪声;文献[14]方法对强脉冲噪声效果不明显,且出现信号局部信息丢失的情况;本文方法去噪效果明显优于上述方法,与文献[8]和文献[9]所述方法效果接近.表2是实验3实际信号使用上述方法去噪后均方根误差和峰值信噪比对比表.

从上述实验可以看出,硬、软阈值函数去噪方法无法去除强脉冲噪声点,去噪后尖峰脉冲依旧存在;文献[9]和文献[14]方法在脉冲噪声背景下性能不稳定,信号还原效果不理想;文献[8]方法与本文方法效果接近.从图7、图8、图10和表1、表2可以得出结论:本文方法能够消除强脉冲噪声点干扰,去噪后与原信号的接近程度有提高,相较于其他去噪方法本文所提方法能获得更低的均方根误差和更高的峰值信噪比.

5 结束语

针对传统硬、软阈值函数去噪方法各自存在的不足,以及在强脉冲噪声背景下的性能退化的问题,本文提出一种改进小波阈值函数去噪算法,并结合中位值平均滤波的脉冲噪声去噪方法,分别对多频正弦信号和实际地震信号进行仿真分析,利用均方根误差和峰值信噪比两个指标进行评价,可以发现在脉冲噪声背景下,改进的阈值函数联合算法去噪效果要优于传统硬、软阈值函数去噪方法以及中位值平均滤波方法,具有较好的去噪性能,进一步验证了本文所提方法的有效性.

猜你喜欢
小波信噪比脉冲
他们使阿秒光脉冲成为可能
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
构造Daubechies小波的一些注记
基于MATLAB的小波降噪研究
基于深度学习的无人机数据链信噪比估计算法
低信噪比下LFMCW信号调频参数估计
黄芩苷脉冲片的制备
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
保持信噪比的相位分解反褶积方法研究