基于小波去噪的速度预处理
2022-09-07胡肖勤吕海侠
胡肖勤,吕海侠,康 瑾,李 玲
(陕西工业职业技术学院公共课教学部 陕西 咸阳 712000)
0 引言
在车辆行驶的过程中,汽车传感器会产生大量的数据,这些数据以流的形式记录汽车的各项指标(位置、速度、油耗等),具有规模性、多样性、高速性和价值性的特点,即大数据的“4V”特性[1]。其中,车辆行驶速度是驾驶人行为、车辆性能、外部环境和道路工况等因素共同影响的结果,而不当的行驶速度也是造成交通意外的关键因素之一,所以对于速度数据的研究应用必不可少。在对数据做分析应用之前,需要对由车载终端传回的原始数据做一定的预处理。这是因为在数据记录、传回的过程中,不可避免会出现因机器、人为、环境等各种主客观因素造成的数据质量问题,如存在不完整、奇异、冗余、不一致等“脏数据”。所以,采用合理的技术和研究方法来清洗掉这些“脏数据”,得到“干净数据”,可有效提高采集数据的数据质量,进而提升数据挖掘质量,减少噪声对数据的影响,增强结果的可靠性。
近年来,小波分析理论在数学领域中得到了迅速发展,同时也因其具备良好的视频特性,而在实际生活中广泛应用。从数学的角度,可将小波去噪问题归类为函数逼近问题,即根据衡量准则在由小波母函数构成的函数空间中寻找原始信号的最佳逼近,实现去噪的目的。
常用的小波去噪方法有小波模的极大值法、小波分解与重构法和小波阈值法。其中小波模极大值去噪法是由Mallat提出的,该方法是根据主信号和变化在各尺度上的小波系数滤波器滤除噪声,较为稳定,不需要知道噪声的方差,适于处理含有白噪声且奇异点较多的信号[2]。随后,Mallat在构造正交小波基时,首次提出了多分辨分析理论,该算法即为小波分解与重构的快速算法,适于解决含有确定的噪声频率的信噪分离问题。小波阈值法又称为小波阈值收缩法,是前两种方法的发展与延伸,该方法是一种基于最小均方差的非线性去噪方法,通过在不同尺度上动态的选取阈值,基本能实现噪声的完全消除,同时保留初始信号的峰值特点,具有普遍适用性,且运算速度相对较快,所以本文主要采用小波阈值法进行去噪处理。
1 含噪声信号的小波分析特性
建立含噪声的信号模型:
其中,y表示含噪声的信号,f(t)为有效信号,e为满足N(0,σ2)高斯分布的白噪声。
在实际应用中,无法直接从含噪声的信号y中提取出有效信号f(t),需采用变换方法。本文提及的小波变换就是一种发展成熟、行之有效的方法。该方法是一种信号的时间—频率(尺度)分析方法,具有多分辨分析的特性。其在时间—频率都具有表征信号在局部特征的能力,在低频部分,具有较高的频率分辨率和较低的时间分辨率;在高频部分,具有较低的频率分辨率和较高的时间分辨率,适用于提取信号的局部特征及分析非平稳信号。
通常有效信号会表现为较为平稳或频率较低的信号,含噪声的信号大多包含在频率较高的信息中[3]。因此,在对含噪声的信号进行处理时,首先需要对原始信号y进行小波分解,含噪声的信号一般包含在分层后的高频部分,然后就可以基于设定的阈值对小波系数进行滤除,最后重构信号得到不含噪声的信号。
2 小波阈值去噪原理
1994年,美国斯坦福大学的Donoho教授和Johnostne教授首次提出小波阈值收缩法[4],其基本思想是将原始信号利用Mallat算法进行小波变换,然后选择产生的小波系数。信号产生的小波系数中蕴含着重要的信号信息,可通过合理的阈值选择对小波系数做大小区分,因为有效信号经小波分解后的小波系数较大,而噪声的小波系数较小,即认为大于阈值的小波系数是有效信号产生的,小于阈值的小波系数是噪声产生的,认为大于阈值的小波系数是有效信号产生的,小于阈值的小波系数是噪声产生的,所以直接将小于阈值的小波系数置零,就可以达到去噪的目的。
小波阈值去噪主要分为小波分解、阈值处理和重构3个步骤,见图1。其中第1步小波分解涉及小波基函数及分解层数的选取,第2步阈值处理涉及阈值的选取,这3类参数选取的合理性直接影响着最后的去噪效果及去噪速度。
2.1 小波分解
信号的小波分解过程中,首先需要确定小波基函数φ(t),常见的小波基函数包括sym小波簇、db小波簇、morlet小波簇等。理想的小波满足以下几个条件。
(1)紧支性。因函数φ(t)∈L1(R),∫|φ(t)|dt<∞,即φ(t)具有速降性。尤其,小波中的“小”是指φ(t)具有局部非零的特点,利于信号能量的集中。
(2)高消失矩。若∫tpφ(t)dt=0,0≤p<q,则称小波函数具有q阶消失矩。消失矩越高,小波系数为零的值越多,有利于数据压缩和消除噪声。
(3)正交性。通过正交小波基函数进行多尺度分解得到的各子频带部分分别落在相互正交的L2(R)的子空间中,使得各子频带之间的相关性较小,有利于后期的小波重构。
(4)对称性或反对称性。构造紧支的正则且具有线性相位小波基函数,可以避免对信号小波分解与重构时的相位失真。
由表1可知,以上条件基本无法同时满足。考虑sym小波簇和db小波簇具备紧支柱、正交性及高消失矩,能够较好地实现信号重构,所以在实际的应用过程中,sym小波簇和db小波簇在去噪处理中应用较为广泛。
表1 几种常见小波基函数特性
然后进行分解层数L的确定,分解层数的选取对滤波去噪模型的精准度有直接影响。L的取值越大,噪声和有效信号表现的不同特征越明显,区分度越大,有利于后期的信噪分离。但是分解层数越大,重构得到的信号失真越严重,以致于影响到最终的去噪结果,所以在应用过程中需要进行利弊权衡,根据噪声的类型及水平,进行大量测试实验,通过对比分析,选择合适的分解层数。小波分解迭代过程见图2。
2.2 阈值处理
阈值处理是直接影响最终去噪效果的关键一步,主要体现在阈值门限的确定和阈值函数的选取上。
在小波域,有效信号对应的小波系数较大,噪声对应的系数较小,换言之,若阈值选取的较小,小波系数则保留得较多,这样保留下的有效信息则较多,同时噪声可能也较多地被保留下来;若阈值选取的较大,噪声可能消除得越彻底,但同时也可能会丢失很多有用的信息。因此,合理的阈值大小对最终的去噪效果至关重要。
目前较为常用的阈值门限确定方法有无偏风险估计阈值(rigrsure)、极大极小阈值(minimax)、固定阈值(sqtwolog)和启发式阈值(heursure)[5]。一般来讲,当噪声在信号的高频段分布较少时,常用无偏风险估计和极大极小阈值估计,它们能将微弱的有效信号保留下来。当需要较强去噪能力的阈值时,则选择固定阈值和启发式阈值。结合数据特点,本文选择的是固定阈值,其计算公式如下:
式(2)中N为信号长度,σ为噪声方差。噪声方差可通过第j层分解后Nj个高频系数{wj,k},j=1,2,...,L;k=1,2,...,Nj的中值来估计:
确定了阈值门限后,还需要确定阈值函数,通过合适的阈值函数可以对含有高斯噪声的小波系数进行过滤,保留有效信号的小波系数。常用的阈值函数有硬阈值函数[4]和软阈值函数[6],其函数图像见图3。
阈值函数是修正小波系数的规则,不同的阈值函数代表着不同的小波系数处理策略。图3中,(a)为硬阈值函数wh,(b)为软阈值函数ws,其计算公式分别如下所示。
硬阈值函数处理可以很好地保留局部特征信息,但可能会造成信号的附加震荡,产生跳跃点,丢失信号原始的平滑性;软阈值函数处理则相对平滑,得到的小波系数整体连续性较好,但可能会造成边缘模糊等失真的现象。因为本文考虑的数据具有连续性,所以选用软阈值函数进行小波系数滤除处理。
2.3 小波重构
当信号分解完毕之后,就可以通过舍弃不需要的w︿j,k,实现对信号的去噪处理。当w︿j,k分量被修改完成后,则通过建立重构算法,就可以得到去除噪声的重构信号。小波重构流程见图4。
3 数值验证
从某数据平台获取一车辆2019年10月11日—2019年10月25日之间的车速数据,见图5。选用小波基函数sym8进行7层分解,并使用固定阈值和软阈值函数进行阈值处理,最后通过重构得到其去噪后的数据,见图6。
通过图5和图6对比可以看出,小波阈值去噪对数据的整体趋势和分布没有大的改变。进一步结合图7观察,可以看出,在数据上下震荡厉害的区域,小波去噪能对其进行较好的趋势拟合,消除噪声影响,同时保留原本数据正常区域的信息(即去噪前后数据基本不变),即验证了小波阈值去噪对速度数据做预处理是可行且有效的。
4 结语
实验结果表明,在选取了合适的小波基函数、分解层数、阈值门限和阈值函数后,小波阈值去噪方法能较好地对车载终端上传的车速数据进行去噪处理,去噪后的数据不仅保留有原始的变化趋势和分布规律,还很好地对局部“震荡”区域进行了趋势拟合,消除噪声数据影响,达到了较为理想的预处理效果,具有一定的实用价值。