基于MFCC的汽车敲击异响识别
2022-07-14郑瑶辰邓兆祥
黄 凯, 郑瑶辰, 邓兆祥,
(1.重庆大学 机械与运载工程学院,重庆 400044;2.中国汽车工程研究院股份有限公司,重庆 401122;3.汽车振动噪声与安全技术国家重点实验室,重庆 401122)
异响(squeak & rattle)是标志汽车品质的重要性能,严重影响驾乘体验,已经成为汽车新产品开发必须同步的重要性能之一。现阶段汽车异响性能开发大部分依赖样车调校,异响诊断是完成样车异响调校的关键环节,目前的异响诊断主要通过主观判断,高度依赖研发人员的工程经验,存在耗时长、不准确、易错判、易漏判的问题;而在我国汽车工业界,异响性能开发或者异响控制工作尚处于起步阶段,极度缺乏有经验的异响性能研发人员,因此,发展异响诊断新技术、实现异响问题的快速准确诊断,显得尤为重要和迫切。
敲击异响(rattle)是由于相邻零部件之间的间距不足,在环境振动激励下产生的法向相对位移大于间隙,从而发生敲击,并通过结构、空气等传播路径传出声音。敲击的声音信号属于非平稳信号,其统计特征随时间有较大变化。敲击发生的频度与力度,与环境激励和局部结构的间隙、惯性、弹性、接触刚度等物理性质有关,每次敲击形成的脉冲响应声音必然由若干次衰减谐波合成,其频率和衰减率取决于敲击脉冲力所激发起的局部结构固有模态。可以简单认为,敲击异响是由敲击源的性质(频度、力度等)和传声结构(物理性质、结构特性等)共同作用形成的,而敲击异响信号的本质特征则包含在传声结构之中,从而通过分析比较敲击异响信号的特征,可以判断或者诊断异响的来源。提取汽车敲击异响噪声特性至关重要,异响信号的特征是非稳态的,因此一般采用短时傅里叶变化、小波变换等适于瞬变信号的方法来提取其特征,而异响信号的特征一般选用声品质的尖锐度、响度、粗糙度、波动度来判别[1],还有的采用了信号能量和熵作为特征量[2],但这些特征量只能区分是否存在异响信号或对异响的严重程度进行区分,难以区分不同来源或类别的异响。因此,本文选择能够详细刻划信号复杂特征的梅尔倒谱系数(Mel frequency cepstrum coefficient, MFCC)作为异响特征量,正如MFCC用于识别说话人,可以判别不同人喉道、口腔、鼻腔等与发声相关的人体构造细微差异而引起的语音细微差别[3],把MFCC用于汽车异响识别,必有区别异响来源的潜力。
MFCC作为一种有效的信号特征,具有优秀的表征能力,广泛应用于音频分类领域[4-7],在MFCC计算过程中,同态处理实倒谱计算反应了传声结构的特征,而不是激励的特征,因此适合表征敲击异响的来源特征。高斯混合模型(Gaussian mixture mode, GMM)是只有一个状态的连续分布的隐马尔可夫模型[8-9],本质是由多个高维高斯分布加权平均得到的概率密度函数,适合描述多维特征向量的联合概率分布特征。通过测试声音信号的MFCC向量集与目标GMM的似然函数值,可以判断测试声音信号的传声结构与目标传声结构是否一致。因此,本文针对汽车典型敲击异响信号,包括座椅头枕导杆敲击声和安全带卷收器敲击声,尝试采用MFCC特征量和GMM识别模型,基于最大似然判别,进行敲击异响诊断。
1 基于MFCC的异响识别方法
1.1 适用于异响识别的MFCC特征向量
MFCC原先用于说话人识别技术[10],其表示的物理意义是声道的谱包络信息,它包含了传声结构的特点。首先提取声音信号的频域信息,将其转化到与人耳听觉相符的Mel域上。因为频域信号有很多冗余,经过Mel三角滤波器组的同时可以对频域信息进行精简,每一个频段用一个值来表示。说话人的声道的谱包络在频带内缓变,然而敲击异响的谱包络在频带内的波动较大,所以应该采用更多的Mel三角滤波器个数才能更准确地描述敲击异响的谱包络信息。然后对滤波器对应频段的能量值取对数,之后进行离散余弦变换(DCT),输出预设个数的系数(即MFCC维数),一般低于Mel三角滤波器的个数。当DCT输出系数的个数设置越大,越能表征频谱的高频信息,然而计算MFCC的目的是为了得到频谱的包络信息,即较低频信息,因此DCT输出系数个数不应过大,最后得到频谱的包络信息即辨别传声结构的重要信息。尝试将MFCC作为汽车敲击异响的特征参数,作为后续构建GMM的特征。
MFCC提取过程如图1所示。
图1 MFCC提取过程Fig.1 Extraction process of MFCC
人耳对于声频在1 000 Hz以下呈线性,1 000 Hz以上呈非线性,在语音处理中,采用Mel刻度来描述。其公式如下
(1)
式中:FMel是以Mel为单位的感知频率;f是以Hz为单位的实际频率。
具体步骤如下。
(1) 原始语音信号经过预加重、分帧、加窗,帧长一般取20~30 ms,再用FFT转化为频域信号X(i,k), 并计算其短时能量谱E(i,k)=[X(i,k)]2。
(2) 在敲击声的频谱范围内设置若干Mel滤波器Hm(k),0≤m≤M0,M0为滤波器个数,每个Mel滤波器的中心频率为f(m),每个Mel滤波器具有三角滤波特性,在Mel频率范围内,这些滤波器是等带宽的。每个带通滤波器的传递函数为
(2)
其中f(m)可以定义为
(3)
(3) 计算Mel滤波器滤波后的频谱。每一帧信号通过Mel滤波器后的频谱能量为信号谱能量E(i,k)与Mel三角滤波器频谱响应Hm(k)乘积和
(4)
得到的S(i,m)代表着第i帧语音在Mel域的第m个频带上的能量总和,即使用M0个元素表示语音在Mel域上的能量谱信息。
离散余弦变换(DCT)的公式如下
1≤j≤Y
(5)
式中:Y为DCT输出的系数个数,即MFCC的维数;S(i,m)代表着经过Mel三角滤波器后,第i帧语音在Mel域上第m个频带上的能量总和;M0为三角滤波器个数。经过DCT计算,相当于对S(i,m)进行实倒谱运算,而Y个输出则用于描述S(i,m)的谱包络,即传声结构的特点。
常见的MFCC维数为5~15[11],并在原来MFCC的基础上加上对应帧的能量,便于在之后的算法中聚类。并考虑再加上一阶差分与二阶差分及其对应的差分能量系数,形成最终的3(Y+1)维特征向量,以此提高敲击异响的识别性能。一阶差分和二阶差分特征参数计算公式如下
(6)
(7)
式中:dC(j)表示一阶差分倒谱特征;DC(j)表示二阶差分倒谱特征。最后对特征向量进行归一化处理。
1.2 高斯混合模型(GMM)及其估计算法
实测汽车异响信号一般都属于非平稳随机信号,对其计算提取MFCC特征向量,就得到按时间顺序排列的特征向量序列。本质上,MFCC是一个多维随机向量,由多个随机变量组成,针对每帧异响信号计算提取的MFCC特征向量,就是它的一次样本实现,针对整个异响信号计算提取的MFCC特征向量序列,就是它的一个样本集。为了完整准确的刻画所测异响信号的特征,选择高斯混合模型(GMM)来描述其特征向量的概率分布,并利用计算提取的MFCC特征向量序列或样本集来递推估计GMM模型参数。
对于利用样本集构建未知概率分布的问题,GMM[12]是常见的一种解决该问题的手段。GMM本质是一个多维概率密度函数,由多个多维高斯分布的概率密度函数加权组合而成。在样本集经过聚类算法被分为若干类后,每一类的权重、均值向量、协方差矩阵组成GMM的参数集。其中高斯分量的权重表示其高斯分量的先验概率,所有高斯分量的权重之和为1;均值向量表示每一类中样本子集的中心位置;协方差矩阵表示每一类样本子集中特征向量在不同维度上相关性。由于经过DCT计算得到的MFCC中各个元素之间相互独立,因此本文在后续计算过程中设定协方差矩阵为对角阵。在确定初始GMM后,经过EM算法训练,可以得到使样本集似然函数最大的GMM参数集。
汽车零部件敲击异响GMM识别流程图如图2所示。
图2 敲击声识别原理Fig.2 Principles of rattle noise recognition
其中一个完整的高斯模型λ是有混合权重w,均值向量μ,协方差矩阵Σ组成。
M阶GMM的概率密度函数如下
(8)
(9)
其中EM估计法利用k-means聚类算法[13]对样本集分类后,初始化GMM参数集,通过模型训练估计GMM参数,常用的方法为最大似然函数估计[14]。设敲击异响信号特征向量序列为X={x1,x2,…xT},GMM的似然函数可表示为
(10)
1.3 异响判别
在识别阶段,测试声音信号的特征向量集为O={o1,o2,…,oT},在目标GMM模型上计算相应的似然函数得分,计算时一般对评分取对数,其公式如下所示
(11)
式中,λtar为目标敲击异响的GMM参数集。
测试声音信号特征向量集的分布越接近目标敲击异响模型的分布,似然度得分将越高。因此,将同种敲击声样本的最小似然函数得分与除此之外的声音样本的最大似然函数得分平均得到阈值。将计算得到的测试信号似然函数得分与预设的似然度得分阈值比较,若测试声音的得分大于阈值,则接受测试声音信号为目标敲击异响的声音信号,否则将拒绝该信号。
2 汽车零部件异响实测信号
采用B&K设备采集2种敲击异响的声音,环境为半消声实验室,两种敲击分别为座椅头枕导杆敲击、安全带卷收器敲击。将试验对象用固定装置固定在振动台上,振动台使用电磁激励装置激励,激励源为多个振动路谱。每种敲击异响声音信号采集62段音频,以.wav格式保存,其中采样率为48 kHz,每段采样时间为5 s,随机取的12段作为训练样本,另外50段作为测试样本,为减少数据冗余,采用20 480 Hz重采样。由于电磁激励装置进行工作时,存在一定的背景噪音,因此使用高通滤波处理。软件分析平台为Microsoft Windows10 64bit下的MATLAB R2016a版本。采用零部件振动试验台如图3所示。共有3种路谱激励,其振动激励的功率谱,座椅头枕导杆敲击声音时域和频域图如图4~6所示。安全带卷收器敲击试验图如图7。共2种路谱激励,其振动激励的功率谱,安全带卷收器敲击时域图和频域图如图8,图9,图10所示。
图3 头枕导杆敲击试验Fig.3 Head restraint tapping test
图4 座椅振动激励功率谱密度图Fig.4 Seat vibration excitation power spectral density diagram
(a)
(b)图5 座椅头枕导杆敲击异响声音的时域细节部分和时域图Fig.5 Time-domain detail part and time-domain diagram of seat headrest guide bar rattle sound
(a)
(b)图6 座椅头枕导杆敲击异响声音时频谱图和频谱图Fig.6 Spectral chart and spectrogram when the seat headrest guide bar rattle sound
图7 安全带卷收器敲击试验图Fig.7 Retractor rattle test chart
图8 安全带卷收器振动激励功率谱密度Fig.8 Power spectral density of vibration excitation of seat belt retractor
(a)
(b)图9 安全带卷收器敲击异响声音的时域细节部分和时域图Fig.9 Time domain detail part and time domain diagram of seat belt retractor rattle sound
(a)
(b)图10 安全带卷收器敲击异响声音的时频谱图和频谱图Fig.10 Time spectrum diagram and spectrum diagram of seat belt retractor rattle sound
从图9看,安全带卷收器敲击属于衰减信号,并在5 s的时间内多次产生;从图10(a)看,安全带卷收器敲击属于时变非平稳信号,从频谱图10(b)看,其频谱的波动性很大。
3 实测异响信号的识别效果及MFCC特征
3.1 Mel三角滤波器个数和DCT输出系数的个数对识别结果的影响
Mel三角滤波器的个数代表着用于描述Mel域能量谱的元素个数,而DCT输出系数的个数代表着Mel域能量谱低频成分的多少,或者谱包络的频率成分。两者对MFCC表征特征的能力有较大影响。而汽车异响和说话人说话的传声结构存在很大的差异,因此这2个因素不能直接从说话人识别算法中的经验范围选取,需要研究其对识别结果的影响。由于敲击异响的频谱相对于说话人的频谱波动性较大,理论上应取更多的Mel三角带通滤波器个数,才能准确描述敲击异响的谱包络信息。
试验条件:样本为座椅头枕导杆敲击声音,训练时长为30 s,三角带通滤波器的个数分别为50、60、70、80,DCT输出系数个数分别为10、11、12、13,GMM的阶数为18,得到的识别结果如表1所示。
表1 识别结果Tab.1 Identification results
横向比较表1的识别结果时,当DCT输出系数个数增大时,识别率变大,但当输出系数个数达到13时,识别率有所下降。竖向比较表1的识别结果时,当三角带通滤波器个数增大时,识别率也增大,但当滤波器个数达到80个时,识别率下降。当DCT输出系数个数为12,三角带通滤波器个数为70时,识别率达到了最高,为90%;相对于说话人识别中一般取的24个滤波器[16-17],敲击异响确实需要取更多的滤波器个数,才能更准确的描述敲击异响的频谱包络信息。此时系统的阈值为18.2,即有45段音频的似然得分超过18.2,系统认为其有异响敲击。
3.2 训练时长、GMM阶数和MFCC维数对识别结果的影响
文章还研究了不同的特征维数,不同阶数的GMM和训练时长对识别率的影响,最后得到在70个Mel三角滤波器,39维特征向量(12个DCT输出系数再加上对应帧的能量,及其一阶差分、二阶差分),36阶GMM的情况下,50 s训练时长的情况下,识别率最高,达到了100%,此时的似然得分阈值为25.4,而50个测试样本中最小的似然得分为27.6,故能全部识别。最后尝试将此模型参数用于安全带卷收器敲击异响的GMM建模中。相关结果如表2所示。
表2 不同特征向量维数对识别结果的影响(训练时间50 s)Tab.2 MFCC recognition results of different dimensions (50 s)
3.3 不同汽车敲击异响的识别结果及其MFCC特征
说话人识别的本质就是识别不同说话人的传声结构,而不同的汽车零部件敲击异响其传声结构也不同,因此文章尝试利用说话人识别技术识别不同的汽车零部件敲击异响。
试验条件:两种敲击声分别为座椅头枕导杆敲击、安全带卷收器敲击。从3.2节得知座椅头枕导杆敲击的声音识别率达到了100%,此时的试验参数为 39维特征向量,36阶GMM,50 s训练时长,因此以此来识别不同的敲击异响。
训练的数据为该种敲击异响声音,测试的数据分为两组,一组是同种敲击异响的声音,另外一组是除该种声音外的另外一种敲击异响声音。比如座椅头枕导杆敲击异响对应不同种敲击异响的拒绝率,是以座椅头枕导杆敲击异响的GMM模型,去识别另外一种不同种的敲击异响,即安全带卷收器敲击异响声音的识别率。相关结果如表3所示。
表3 不同敲击声识别结果(39维特征向量、36阶GMM、训练时间50 s)Tab.3 Percussion recognition results of different rattle (39-dim MFCC, 36-order GMM,50 s)
从表3可以看出,当一种敲击声作为训练模型,去识别同种敲击声时,识别率均能达到100%,当去识别不同种敲击时,拒绝率都能达到100%。座椅头枕导杆敲击模型的阈值为25.4,即当该模型去识别同种敲击异响时,得到的似然得分都大于25.4;去识别不同种敲击异响时,最大的似然得分为-16.5,远小于25.4,能够全部拒绝。安全带卷收器敲击模型的阈值为26.5,识别同种敲击异响时,测试样本中最小的似然得分为28.1,能够全部识别出同种异响;识别不同种异响时,最大的似然得分为-18.9,远小于26.5,能全部拒绝。综上表明,当似然得分越小时,表明测试样本声音信号与该种敲击异响的相似度越低,当低于一定程度时可以认定为不同种异响。
该试验研究结果表明,说话人识别技术可以准确识别同种敲击异响,并拒绝不同种敲击异响,而且识别不同种异响时,其似然得分远小于阈值。由于训练样本和测试样本都是随机选取,而试验对象和激励的功率谱密度均存在无数个,说明将说话人识别技术应用于不同敲击异响识别时,不受试验对象和激励影响,具有良好的识别传声结构的能力。其中座椅头枕导杆敲击和安全带卷收器敲击MFCC特征(39维特征向量、训练时间50 s)如图11所示。
(a) 座椅导杆敲击
(b) 卷收器敲击图11 座椅头枕导杆敲击和安全带卷收器敲击MFCC特征直方统计图Fig.11 Histogram of MFCC characteristics of seat head restraint guide rod percussion and seat belt retractor percussion
其中座椅导杆的MFCC特征分布主要集中在特征值大小0.4~0.7之间,特征在MFCC维数2、特征值大小为0.1,MFCC维数为7、特征大小为1,MFCC维数为37、特征值大小为0.1时,特征分别特别集中。卷收器的MFCC特征分布主要集中在特征值大小0.6~0.8之间,特征在MFCC维数1、特征值大小为0.1,MFCC维数为8、特征值大小为1,特征分布特别集中。因此可以看出座椅导杆敲击的MFCC特征明显与卷收器的不同,故以MFCC为特征向量集,能够有效区分不同种异响。
试验还进行过一组实车试验,但该模型并没能辨认出异响。其原因是由于记录音频之中还混杂着风噪、路噪、发动机噪等其他背景噪音,信噪比较低。因此如果要能真正的进入工程实用阶段,则必须要考虑降噪问题。
4 结 论
(1) 文章选用了座椅头枕导杆和安全带卷收器的敲击异响声音作为研究对象,通过对不同的Mel三角滤波器个数、DCT输出系数、特征向量维数、GMM阶数和训练时长研究,最后得出70个三角滤波器,12个DCT输出系数,39维MFCC,36阶GMM,50 s训练时长的GMM识别模型,能够满足实际识别不同种敲击异响声的识别要求。
(2) 相对于说话人识别,敲击异响的三角滤波器个数和DCT输出系数个数要增多,才能准确地描述敲击异响的谱包络信息,得到较高的识别率。
(3) 当应用说话人识别技术于同种敲击异响时,其似然得分能够大于系统的阈值,识别率为100%,而当去识别不同种敲击异响时,其似然得分远小于阈值,能够全部拒绝。