APP下载

基于MFCC-SVM的海洋机械噪声监测系统

2021-01-11王利恒赵智浩

自动化与仪表 2020年12期
关键词:超平面特征参数滤波器

王利恒,赵智浩

(武汉工程大学 电气信息学院,武汉430205)

目前,海洋环境噪声的检测与识别已经得到国内外专家的广泛研究。信号的时频特征可以用其时频图像来体现,分类学习器可以利用目标的特征参数对其进行分类检测。然而由于在实际应用中,不可能反复测得不同深度、不同方位等参数组合下目标多次发出的声波,导致观测样本数量小或者根本没有样本,致使一些常用的探测识别方法不再适用。因此结合实际工程研究海洋环境噪声的探测与识别是非常必要的。

近年来,语音识别领域的通过提取Mel 倒谱系数MFCC(Mel frequency cepstrum coefficient)的方法,已被证实对水下声信号进行特征参数提取和识别分类,是一种有效的方法[1]。目前,海洋军工业、养殖业等产业都希望能够准确地分辨出海水中是否存在发动机或螺旋浆发出的噪音,以此对生产决策做出判断。故在此以其为研究目的,对水下舰艇与具代表性的海洋背景噪声两类水声信号目标进行处理与分析,通过MFCC 提取其海洋声信号的特征参数,并建立混合特征库作为样本构造训练模型;用其对真实的水声信号进行分类识别,以验证该方法的有效性。

1 海洋声信号的复杂性与特殊性

科技兴则国家兴,科技强则国家强。随着国家对海洋资源的重视程度逐步增加,各种水下探测技术的研究也越来越受到重视。因此,结合实际工程需要研究海洋声信号的探测与识别方法,对于海洋生态环境的保护、海洋养殖业的发展亦或是海洋军工产业都非常必要。

在海洋中,声音的构造十分复杂。在被动声纳中,尤其要克服噪声对性能的限制。一般情况下,噪声主要来源于机械噪声和海洋噪声2 个方面。

机械噪声一般是舰艇及其平台在工作时由发动机、螺旋桨及其他辅助装置所发出的噪声。随着科技的发展,舰艇平台设计师力求其噪音最小化,但由于声波在海洋中的良好传播特性,使得噪声仍会干扰探测系统的检测与识别。而且,海洋中丰富的生态系统也会发出各式各样的噪声,如鱼类、大型海洋生物、海洋无脊椎生物等。其中,比较有发声代表性特征的有石首科鱼类、虾类、海豚、鲸类等。此外,周边的海洋环境也会产生环境噪声,海风、海浪、降雨、暗流等都会提升海洋噪声级别。因此,如何准确地在低信噪比的情况下将目标信号从探测器接收到的声信号中提取出来,是现在需要继续攻克的问题。

为了能够准确的解决上述问题,需要将采集到的经过前置滤波的海洋声信号进行特征参数的提取,以达到能够在少量样本中准确分析的目的。在此以MFCC 作为信号的特征参数。

2 MFCC 对目标声信号特征参数的提取分类

MFCC 是将声音信号(频谱的包络和细节)进行编码运算所得到的一组13 位特征向量值,是声音信号的能量在不同频率范围内的分布。MFCC 考虑了人类的听觉特征,先将线性频谱映射到基于听觉感知的Mel 非线性频谱中,再转换到倒谱上[2]。Mel 倒谱系数在语音识别中比LPC(linear prediction coefficient)、ParCor(Partial Correlation)系数,具有更强的鲁棒性和可靠性,并且具有良好的识别能力和抗噪能力。

MFCC 对水下目标声信号的识别过程如图1 所示。其流程如下:信号的预处理(预加重、分帧和加窗),通过快速傅里叶变换获得分布在时间轴上不同时间窗内的频谱,Mel 滤波,取对数,做逆变换,倒谱分析。

图1 MFCC 特征参数提取流程Fig.1 Flow chart of MFCC feature parameter extraction

2.1 水声信号的预处理

预处理过程主要包括预加重、分帧和加窗等。

2.1.1 预加重

在一段声信号的频谱图中,共振峰携带了声音的辨识属性,预加重就是对声信号的包络(Spectral Envelope)进行处理,将此信号加上高通滤波器,即H(Z)=1-μZ-1,其中μ 值为0.9~1.0,在此取μ=0.97。经过预加重,可以使这条连接共振峰的曲线更加平滑,便于后期对声信号进行频谱分析和倒谱分析。

2.1.2 分帧

然而,得到了包络还不足以判断整个特征参数。人类的听觉感知试验表明,人类听觉只聚焦于某些特定的区域,而不是整个包络[3]。所以要将声信号进行预先的分帧和加窗处理。分帧是在语音信号处理中的常用方法,由于海洋声信号本质上是一种非平稳的过程,具有多域分布的多种特征,其信号特征在时间、频率等多域分布而且相互关联、十分复杂。因此,需要对信号进行分帧处理,提取每一帧的特征参数,再将若干个帧的特征参数进行汇总,共同组成一个可以训练识别的特征库。在此,先将N=256 个采样点集合成一帧,帧的长度为20 ms。为避免相邻两帧的变化移位过大,取帧移为10 ms,以此使2 个相邻帧之间有一个包含M=128 个点的重叠区域。

2.1.3 加窗

将分帧后的每一帧乘以Hanmming 窗,用以增加前后帧的连续性。分帧后,声信号为S(n),其中n=0,1,…,N-1;N为上文所述帧的大小。

经过上述预处理后的信号才有具备代表性的特征参数。

2.2 MFCC 海洋声信号特征参数提取

1)快速傅里叶变换(FFT) 通过快速傅里叶变换将预处理后的时域信号变换为频域信号,即

其中

计算出信号能量谱为

2)三角带通滤波器滤波 将式(2)所求得的信号能量谱通过Mel 滤波器组进行Mel 滤波,即

式中:Hm为Mel 滤波器组系数。Mel 滤波器组如图2所示。

图2 Mel 滤波器组Fig.2 Mel filter group

3)取对数 对Mel 滤波器组输出结果取对数运算,得到相当于同态变换的结果为

4)求倒谱 由于各个滤波器所输出的能量与幅值之间具有很强程度的相关性,所以要通过离散余弦变换DCT(discrete cosine transform)来去除相关性,将信号映射到低维空间。在对数运算后对其进行傅里叶反变换得到倒谱,即可得到MFCC 参数。即

其中

式中:i为MFCC 滤波器阶数。当n=0 时,c(0)反应频谱能量,称为第0 阶MFCC。

通常情况下标准的MFCC 参数主要反映声信号的静态特征(每一帧的特征),但声信号是连续变化的,每一声信号帧都不是独立存在的。将静态特征信息与动态特征信息结合起来,能够在很大程度上提高系统的识别性能,可将MFCC 的一阶差分表示其动态特征[4],如图3 所示。求得MFCC 动态特征为

图3 MFCC 动态特征Fig.3 MFCC dynamic characteristics

3 信号判别模型

将机器学习理论用于数据的分析与预测,多用于模式识别系统中。模式识别,通常采用监督学习模型,首先根据给定的特征参数以及标签训练出一个模型,然后根据此模型对给定的试验数据输出其识别的标签。由于海洋声信号多数试验目标样本数量少且受多重因素制约,但试验的充分性要求却很高,因此需要一种样本数量少却拥有多样性的仿真模型。在此选用了支持向量机的分类识别模型。

支持向量机SVM(support vector machine)的基本思想是将训练样本映射到高位特征空间,并在此空间构建一个最优分类超平面,将两类样本正确分开,且使两类样本间分类间隔最大[5];其使用铰链损失函数来计算经验风险,并在求解系统中加入正则化项来优化结构风险,为一种稳健的、具有稀疏性的分类器。支持向量机可以通过核函数进行分类,假设数据呈线性分布,目标就是寻找一个最优的分离超平面。分离超平面与最优分离超平面的对比如图4 所示。

假设,一个给定的特征参数训练数据集为T,即

其中

式中:ai为训练集的第i个特征向量;bi为ai的类别标签,bi∈{-1,1};(ai,bi)为样本点。当其类别标签bi为1 时ai为正类(positive class),当其类别标签bi为-1 时ai为负类(negative class)。由图4(b)可见,最优超平面可表示为满足WX-γ=0 的点X的集合,其中W 为分离超平面至最优分离超平面的方向向量;γ 为分离超平面至最优超平面的距离。

图4 分离超平面与最优分离超平面的对比Fig.4 Comparison of separation hyperplane and optimal separation hyperplane

在处理线性不可分问题时,如果使用硬边距SVM 将会产生不可控的误差。因此,使用铰链损失函数的SVM,沿用硬边界优化处理问题形式,软边距SVM 为

式中:Li为铰链损失函数。在使用松弛变量损失函数的分段取值后,简化为

利用拉格朗日乘子法来求解上述分类决策函数的最优解问题,则表达式可写为

将局部最有条件设置在拉格朗日乘子满足Karush-Kuhn-Tucker(KKT)条件,即

可知,对于任意的样本点(ai,bi),总有也就是说,该样本不会对决策边界产生影响,其满足

4 MFCC-SVM 模型识别分类

SVM 旨在求出n维空间的最优超平面,以此将样本的正负类分开。信号预处理后所获取的MFCC特征参数之间存在一定程度上的连续性。故在此将经过标记的MFCC 参数作为输入向量,配合SVM求得最优解,可以在样本数量小的前提下,达到自主将水下机械噪音与海洋生物噪音或其他噪音区分出来。其流程如图5 所示。

图5 MFCC-SVM 预测分类流程Fig.5 Flow chart of MFCC-SVM predictive classification

对收集到的海洋声信号样本进行预处理,通过式(1)~式(6)进行MFCC 的特征参数提取。每帧数据可以获取到特征向量Tn,其包含36 个特征参数,即由12 个Mel 频率倒谱系数、12 个一阶差分Mel频率倒谱系数、12 个二阶差分Mel 频率倒谱系数共同组成。然后,按照时间顺序进行排序,即可获得MFCC 样本D 作为SVM 的输入向量,D={a1,a2,…,an}。

基于MFCC 的海洋声信号探测识别方法主要包含数据的预处理、特征参数提取、SVM 模型训练、识别分类等几个功能模块。

通过目标信号的预处理后,可获取信号的MFCC特征参数,采用支持向量机的学习算法,构造并求解出最优化问题的最优解ai,可以得到分类决策函数和分离超平面,最终得到的模型可以将未知的目标信号进行识别与分类。此外,该系统应用STM32系列单片机,搭载LINER 公司的LT1568 低噪声有源RC滤波器,利用高精、高灵敏度水听器进行噪声信号采集,并用其对陌生水域的真实水声信号进行分类识别,以此验证该系统的有效性。

5 模型验证

实际测得的噪声信号截图如图6 所示,图6(a)为平静水面下的海洋背景噪声信号,图6(b)为经过加入机械噪声干扰后测得的混合噪声信号。在对2种信号进行上文所述处理与分析后,可以构造出分类与识别的模型。

图6 示波器显示海洋噪声信号的截图Fig.6 Screenshot of marine noise signal displayed by oscilloscope

然后,向模型中随机输入事先采集好的数据集,进行测试。系统运行结果的偏差曲线如图7 所示。图中2 条直线——1 为平静海洋噪声,2 为加入机械噪声的海洋噪声。如果原值与计算在1 或2 处重合即视为计算结果正确。

图7 偏差曲线的截图Fig.7 Screenshot of deviation curve

模型正确率的截图如图8 所示,由图可见测试的正确率为0.809524。

图8 模型正确率的截图Fig.8 Screenshot of model accuracy

6 结语

针对海洋环境噪声的特性非常复杂,而水下噪声监测的样本往往较少且不全面等问题,在此设计了海洋机械噪声监测系统。该系统可以在目标信号声音样本较少的情况下,通过MFCC 特征参数提取及支持向量机的分类算法,将机械声信号灵敏的检测出来。试验结果表明,该系统可以较为精确地监测到海洋背景噪声中的机械声信号。

猜你喜欢

超平面特征参数滤波器
基于非线性核的SVM模型可视化策略
全纯曲线正规族分担超平面
有限维Banach空间中完备集的构造
冕洞特征参数与地磁暴强度及发生时间统计
融合LPCC和MFCC的支持向量机OSAHS鼾声识别
基于交通特征参数预测的高速公路新型车检器布设方案研究
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
基于视频的车辆特征参数算法研究