小波包样本熵的扬声器异常音特征提取方法
2019-03-08王鸿姗周静雷房乔楚
王鸿姗,周静雷,房乔楚
(西安工程大学 电子信息学院,陕西 西安 710048)
0 引 言
音圈摩擦、振膜脱落和杂物混入等原因,都会导致扬声器异常音的产生。传统的异常音检测方法是由听音员以人工听音的方式在生产线上进行检测,但人工检测的准确率和稳定性会受到听音员专业水平、身体状态和不同个体间主观评定差异的影响[1]。近年来,国内外关于扬声器异常音检测方法的研究越来越多。TEMME[2]利用了人耳感知模型进行扬声器异常音检测,此方法计算较为复杂;RUIZ[3]使用ZAMD变换,对时频图进行分割,通过比较与标准样品的马氏距离,对有异常音的扬声器进行判别;文献[4]使用了短时傅里叶变换获得扬声器的声响应信号时频图,但只提取时频图的高次谐波能量作为特征量来判断其是否存在异常音,缺乏对时频图的进一步分析;在此基础上,文献[5]根据异常音信号的特点提取时频图与黄金样本各区域对应的矩阵,对时频图作进一步分析,通过计算对应矩阵之间的柯尔莫哥洛夫距离来判断异常音的存在。
本文针对扬声器异常音特征提取问题,给出基于小波包分解和样本熵的扬声器异常音特征提取方法。在基频陷波预处理后,应用小波包分解和样本熵的特征提取方法,并使用SVM算法测试分类准确性,验证了本文特征提取方法的有效性。
1 理论分析
1.1 小波包分解
小波包分解可以灵活地划分频域[6],具有同时分解低频信号和高频信号的特点[7],相比于小波分解更加精细。小波包分解所投影到的小波包空间满足如下条件:
(1)
(2)
式中:hk和gk表示滤波器系数。
小波包系数的递推公式为
(3)
式中:j和n表示小波包节点号;d表示小波包分解系数;l和k为分解层数。
1.2 样本熵
Richman等提出的样本熵是在Pincus提出的近似熵基础上的一种改进,作为一种时间序列复杂度测量方法[8],降低了对时间序列长度的依赖,被广泛应用于特征提取领域,例如:电信号处理、机械故障整数及去噪等方面[9-14]。具体算法如下:
(1) 时间序列{x(i):1≤i≤N}依顺序组成m维向量;
(2) 定义d[Xm(i),Xm(j)]表示Xm(i)和Xm(j)两者对应元素中差值最大的距离;
(4)
(5)
(6)
(7)
(5) 此时间序列的样本熵S(m,r)定义为
(8)
当时间序列长度为N时,样本熵S(m,r,N)为
(9)
2 特征提取及数据分析
在特征提取方法中,扬声器的声响应信号经过小波包分解实现了升维,随后针对重构信号的样本熵计算又实现了降维处理,算法如下:
(1) 对扬声器声响应信号进行3层小波包分解,得到8个频带系数;
(2) 对8个子频带进行重构;
(3) 利用重构信号的样本熵值构成维数为8的特征向量。
为了检验特征提取方法的有效性,搭建数据采集平台并采集扬声器声响应信号数据,进行特征提取并测试分类性能。数据采集平台框图如图1所示。
图 1 数据采集平台框图Fig.1 Block diagram of data acquisition system
将扬声器和传声器放置于消音箱中,能够显著减少环境噪声的影响。数据采集过程中,输出和输入声卡的采样频率设置为44.1 kHz。
设计的扬声器激励信号按1/3倍频程选取频率点。对激励信号由高频至低频扫描[15],信号的频率范围设置为5 000~20 Hz,激励信号的持续时间为2.38 s。激励信号的时频图如图2所示。
图 2 激励信号的时频图Fig.2 Time-frequency spectrum of stimulus signal
2.1 测试样本
实验使用额定功率为10 W, 阻抗为8 Ω的扬声器。 选取质量合格和振膜破损的扬声器各30个, 每个扬声器采集5次声响应信号, 质量合格的扬声器声响应信号作为正常样本, 振膜破损的扬声器声响应信号作为异常样本, 组成正常样本和异常样本各150个。
2.2 预处理
扬声器的声响应信号中包含与激励信号相同频率的基频成分和各阶次谐波成分。 基频信号的能量通常占信号总能量的 95% 以上, 高频谐波易被掩蔽[16]。
对声响应信号进行基频陷波预处理,能够对谐波信号成分和异常音成分进行更为有效的分析。为抵消声响应信号中的基频成分,保留各阶谐波成分和异常音成分的信号。使用一个二阶IIR陷波器去除单频干扰作为预处理方法[17]。二阶IIR数字陷波器的传递函数为
(10)
用exp(jw)代替z,得到频率特性H(exp(jw)):
(11)
将采集到的扬声器声响应信号根据已知的激励信号频率在时域上进行分割,得到25段时域信号数据,分别对每一段信号使用二阶 IIR 陷波器做基频陷波操作。一个振膜破损的扬声器的声响应信号经过基频陷波预处理前后的时域波形如图3(a),(c)所示,一个正常的扬声器的声响应信号经过基频陷波预处理前后的时域波形如图3(b),(d)所示,振膜破损的扬声器声的响应信号中的高频谐波更加明显。
图 3 基频陷波预处理Fig.3 Pitch notching preprocessing
2.3 特征提取
经过基频陷波后的扬声器声响应信号更加有利于小波包分解分析。对预处理后的信号进行3层小波包分解,小波基选择db12小波。对分解得到的第3层的8个子频带进行重构,利用计算所得的重构信号的样本熵值,构成维数为8的特征向量。样本熵的2个主要参数为嵌入维数m和阈值r,根据 Pincus 的研究成果,当取m=1或m=2,r=0.1~0.25时能得到具有较合理统计特性的结果,本文取参数m=2,r=0.15。图4(a)为一个经预处理后的振膜破损扬声器声响应信号经过3层小波包分解后的各节点重构信号,图4(b)为一个经预处理后的正常扬声器声响应信号经过3层小波包分解后的各节点重构信号。
由图4可以看到, 经过3层小波包分解后, 预处理后的扬声器声响应信号由一维信号变换为8个重构信号, 在本文特征提取方法中, 小波包分解的作用在于对采集到的扬声器声响应一维信号做出升维处理, 随后针对每个重构信号进行样本熵计算, 实现了对每个重构信号的降维处理, 得到维数为8的特征向量。
随机抽取的5个正常样本和5个异常样本的子频带重构信号的样本熵值如表1所示。
(a) 振膜破损 (b) 正常样本图 4 振膜破损和正常样本的3层小波包分解重构信号Fig.4 The 3-level wavelet packet decomposition reconstructed signal about diaphragm damaged and normal sample
样本编号样本熵12345678 正常1#2.460 05.082 26.857 85.541 36.028 56.786 56.860 37.203 7 正常2#2.394 75.556 36.896 85.592 26.014 56.800 47.046 47.227 8 正常3#2.980 35.407 76.955 45.597 46.108 96.820 37.056 57.309 0 正常4#2.579 45.562 36.868 25.569 36.034 76.767 16.956 17.234 5 正常5#3.003 15.585 56.965 05.593 06.096 36.838 17.038 27.258 6 振膜破损1#2.012 46.832 37.460 87.832 66.700 66.877 97.075 96.832 6 振膜破损2#1.788 36.624 47.461 27.742 86.677 16.920 97.164 16.904 2 振膜破损3#1.706 56.488 37.406 17.636 76.610 96.824 87.056 66.708 2 振膜破损4#1.636 86.410 77.468 17.694 66.622 76.942 27.061 16.873 4 振膜破损5#1.779 46.628 57.527 07.792 86.751 56.943 87.149 86.985 4
2.4 特征提取的有效验证
为验证小波包分解和样本熵处理后的扬声器异常音特征提取方法的有效性,与频率能量均值法进行对比,该方法对扫频信号激励下的扬声器声响应信号进行短时傅里叶变换,将所获时频图划分为若干区域,并对时频图部分区域的各列数值求取局部均值,将其均值分布用特征曲线描述,再利用特征距离表现被诊断扬声器与正常扬声器的差异。具体如下:
γ(t)为窗函数,x(t)为信号,x(t)的短时傅里叶变换可定义为
exp(-jωt)dt
(12)
离散短时傅里叶变换为
T{x[n]}(m,γ)= ∑x[n]γ[n-m]
exp(-jωn)
(13)
利用扬声器响应信号短时傅里叶变换后的时频图的能量均值Mi作为诊断参数:
(14)
式中:E(i,j)为时频图中在(i,j)点的能量;Ni为第i列的像素个数。
图5(a)为一个经预处理后的振膜破损扬声器声响应信号的STFT时频图,图5(b)为一个经预处理后的正常扬声器声响应信号的STFT时频图,高为900像素,宽为1 200像素。
(a) 振膜破损
(b) 正常样本图 5 声响应信号的STFT时频图
Fig.5 STFT Time-frequency map of response signal
支持向量机(SVM,support vector machine)是由Vapnik等提出的机器学习算法,采用结构风险最小化的思想[18],针对线性不可分问题,SVM可以通过非线性映射转化为高维空间的线性问题[19-20]。本文使用LIBSVM 3.22软件包进行特征提取的有效性验证。针对总数为300个样本,其中正常样本和异常样本各150个,利用MATLAB 7.14平台对其进行预处理和特征提取,其中小波包和样本熵方法的特征向量维数为8,频率能量均值法的特征向量维数为1 200,按照时域均分,降维至8维,从数据集中随机抽取20%的数据作为测试集,其余80%的数据作为训练集。
SVM的核函数为径向基函数,采用网格搜索法进行参数选择,其中小波包和样本熵方法的数据集的惩罚因子C为18.379,核函数参数g为5.278,频率能量均值法的数据集的惩罚因子C为27.857,核函数参数g为3.482,实验结果得到,小波包和样本熵的特征提取方法所取得的分类准确率为93.33%,频率能量均值方法取得的分类准确率为88.33%。
3 结 语
本文针对扬声器异常音分类问题给出了基于小波包分解和样本熵特征提取方法,对扬声器的声响应信号数据进行检验,应用基频陷波预处理,使扬声器的声响应信号中的基频信号大幅降低,有利于异常音特征的提取;与应用较广的频率能量均值方法相比,在小样本的情况下,SVM算法使用小波包分解和样本熵的特征提取方法取得了更高的分类准确率,证明了此特征提取方法的有效性。