基于小波变换和神经网络的车内噪声信号重构
2019-05-08
(上海工程技术大学 机械与汽车工程学院,上海 201620)
0 引言
为了实现高速工况下车内乘员耳侧噪声的主动控制(ANC),首先要为控制系统提供初级参考信号。对于初级参考信号的拾取,传统方法是在乘员耳侧附近安装传声器以获取初级参考信号,此方法不可避免的引入了次级声源二次污染[1],不利于系统的快速收敛,因此研究车内乘员耳侧噪声的重构方法,获取ANC的参考信号具有一定的意义。
汽车高速行驶(大于等于80 km/h)时,影响车内乘员耳侧噪声的源信号众多。这些噪声信号呈现非线性、非平稳性的特点[2],这就使得在数学上很难得出一个准确的关于噪声源信号影响变化的关系表达式。为解决这一问题,人工神经网络(Artificial Neural Networks, ANN)提供了一个可行性解决方案。目前,ANN被广泛运用,其中大部分采用BP神经网络[3-4]。虽然BP神经网络具有很好的非线性拟合能力,单独使用神经网络可以很好地处理信号的非线性,但非平稳性带来的误差不可避免。
目前,针对此类信号,研究者们已经进行了大量的研究,并取得了一定的成果。集成算法建模可以提高多传感器数据融合模型的泛化性,有效性和可靠性。如何集成建模,已经提出了许多方法来解决这个问题[5]。基于神经网络模型,为了获取高精度的结果,集成算法建模表现出了很好的优势,其中,程静[6]使用多元回归分析和 BP 神经网络相结合的方法,来预测风力发电机组气动噪声,实验表明,对输入的多变量进行筛选可以有效的提高结果精度。
为了解决噪声信号非平稳性,提高噪声重构的BP神经网络模型的重构精度,信号处理与BP 神经网络相结合的集成算法被应用。目前,传统的处理信号时间/频率变换方法有快速傅里叶变换(FFT),短时傅里叶变换,小波分析和经验小波变换[7-10]等,这些传统的信号处理方法不适用于噪声信号重构技术,由于此类信号属于机械振动和声学信号,具有强非线性,非平稳和非高斯性[11]。目前,小波分解[12]被用于处理这类信号。
本文为实现车内乘员耳侧噪声时域信号高精度重构,提出了基于小波变换的BP神经网络重构算法。首先将预处理后的神经网络输入信号经小波分解为高频分量和低频分量。再结合BP神经网络进行乘员耳侧噪声信号重构,并通过实车数据和算法对比验证算法的有效性,准确性。
1 基本理论与算法
1.1 小波变换分析
(1)
(2)
(3)
小波变换与短时傅里叶变换有极大的差别, 小波变换的窗口是两个矩形[b-aDy,b+aDy]×[(±w0-Dy)/a,(±w0+Dy)/a](±ω0+Dy) /a],这个窗口的中心位置是(b,±w0/a)式中的a是决定窗口位置和窗口形状的重要参数, 时间长度是可以改变的。也就意味着小波变换中时间长度可以改变, 低频时, 时间低、频率高;高频时, 时间高、频率低,这正符合了非平稳信号中信号的变化特点。
1.2 BP神经网络原理
现有理论已经证明,一个具有偏差的Sigmoid函数加上一个线性输出层能够逼近任意有理函数[13]。因此可以得到BP神经网络结构的基本设计规律。BP神经网络是一种多层前馈神经网络,本文采用的图1所示拓扑结构。一般该网络包含输入层、隐含层和输出层,网络权值和阈值调整采用输出层误差反向传播,使输出不断逼近期望值。
图1 典型BP网络拓扑图
如图1,其中n,m和l分别定义为输入层,隐层和输出层神经元数目。为了重构高速工况汽车乘员耳侧噪声信号,影响车内噪声的关键点信号作为输入数据,乘员耳侧噪声信号作为输出数据。隐层神经元数目,m,首先被设置根据一个经验公式,然后基于本文解决的问题进行具体分析,将在第四部分进行设置,公式如下:
(4)
其中:α取值0~10。
BP神经网络算法重复两个阶段:前向传播和后向传播。在正向传播阶段,输入信号通过输入层向前传播,并逐层处理直至输出层。 然后将输出与期望值进行比较,期望值与输出结果之间的差异称为误差。 在后向传播阶段,使用误差形成损失函数,并且通过优化方法更新神经网络的权重,以最小化损失函数,实现快速收敛,并避免落入局部最小值点。
如图2所示,对于有n个输入信号的神经元j,此神经元的输出结果可以表示为:
图2 一个神经单元
(5)
其中:wij和θj分别表示神经元j的权重和阈值,f为激励函数,本文中使用双曲正切S形函数,值域范围为[-1,1],表达式如下:
(6)
由于选用的上述函数作为激励函数,结合噪声信号自身特点,输入数据和期望输出数据必须进行归一化处理,这里采用线性转换算法将数据归一化到[-1,1],公式如下:
(7)
其中:xmin,xmax分别代表训练数据x的最小值、最大值。
当前得到的输出是下一层神经单元的输入,因此将输入信息传送到输出层。期望值与输出值之间的差异称为输出单元误差。
对于第i个样本,定义它的误差函数为Ei,公式如:
Ei=(yd,k-yk)2
(8)
其中:yd,k和yk分别代表输出层神经元的期望输出值和真实输出值。对于N个数据样本总误差E可以得到:
(9)
误差信号通过BP神经网络逐层递归计算得到,我们的目标是通过调节权重来减小误差值。下面,介绍调整BP神经网络权重的过程。首先定义输出层神经元第r次迭代的误差信号为e(r),表示为:
e(r)=yd(r)-y(r)
(10)
yd(r)和y(r)分别表示期望输出值和真实输出值。这里的误差用于下次迭代调节权重,表达式:
wjk(r+1)=wjk(r)-Δwjk(r)
(11)
wjk(r+1)和wjk(r)分别表示在r+1次和r次迭代的神经元j和神经元k之间的连接权值,Δwjk(r)表示下一次迭代中权重的调整部分。
1.3 基于小波变换和BP神经网络的重构算法
汽车高速行驶时,车内噪声信号声压变化具有随机性,采集的信号呈现非稳态非线性的特点,从而导致BP神经网络对一些数据点的学习和训练存在混淆现象。基于现有的大多数方法在进行信号重构,对于相对平稳的数据序列的重构精度往往很高,但是具有明显非平稳性的数据序列由于自身变化规律很难掌握,所以在进行重构时,重构精度一般比较低。因此,为了满足信号的重构精度,需要对信号进行平稳化处理。因为小波分解方法可将非平稳数据序列分解成相对平稳的数据序列。因此本文基于小波变换和BP神经网络相结合的方法,对车内乘员耳侧噪声时域信号重构。
在本文中,应用小波分解,将各原始噪声时域信号经其分解,得到高频和低频分量。利用各个信号的分解分量建立重构模型,以2个分量数据作为输入数据,乘员耳侧信号的2个分量数据作为期望输出值,对BP神经网络模型进行训练,通过调整隐藏层神经元的神经元数和训练次数,使网络误差满足工作要求,确定输入层、隐藏层和输出层的权系数以及各个节点的阈值,建立乘员耳侧的噪声信号相应频段的重构模型,将信号各频段的重构结果进行小波逆变换,进而获得乘员耳侧噪声重构信号。
2 试验验证
2.1 试验数据获取
通过查阅相关文献[14-15],初步确定车内噪声主要贡献量在以下位置:轮胎噪声、左右A柱低端、左右A柱顶端、左右后视镜、进、排气口。利用实验室已有的某款轿车试验采集数据,选取以上位置测点及驾驶员耳侧的噪声时域信号,测试工况:匀速工况80 km/h。作为提出算法试验验证初始数据。测试仪器西门子公司的LMS数据采集器,采样频率为51200 Hz,测试路面符合标准。
利用声学传递函数(TPA)贡献量分析[16]方法选择最具有相关性的关键测点信号来重构车内噪声,声压贡献量分析结果如图3。通过分析可知源信号具有很强的对称性,进排气口的贡献量明显低于其他位置,因此最终确定左A柱低端、左侧A柱顶端、左前轮、左后视镜以及乘员耳侧噪声信号作为噪声信号重构的关键点位置。
图3 各关键点在高速下的贡献量分析
图4 车内乘员耳侧噪声信号频谱
考虑到人耳听觉范围在20Hz以上,进行滤波处理,乘员耳侧信号的频谱,如图4所示。从图中可以看出车辆处于高速匀速工况时,车内乘员耳侧噪声能量主要集中在中低频600 Hz以下,其中,在匀速工况下(30~60)Hz左右频率段对耳侧噪声贡献最大,占主导地位,在(200~500)Hz频率段有明显的小波峰,因此,对各原噪声信号进行重新采样,只对512 Hz以下进行有效分析,采样频率为1024 Hz,进行滤波处理。
2.2 重构模型精度对比
基于上述预处理后的试验数据,本节对小波变换和BP神经网络的车内噪声信号重构模型的有效性进行验证;为更好地表示本文提出算法重构性能,建立了BP神经网络噪声信号重构模型进行对比分析。
2.2.1 BP神经网络的构建
以各个噪声源信号数据作为输入数据,乘员耳侧信号的数据作为期望输出值,对BP神经网络模型进行训练,通过调整隐藏层神经元的神经元数和训练次数,使网络误差满足工作要求。建立乘员耳侧的噪声信号相应频段的重构模型。这里采用包含一个输入层,一个隐层,一个输出层的三层神经网络,输入层神经元个数,通过2.1分析,本文确定为n=4;输出层重构乘员耳侧信号,本文确定为l=1个。学习效率定为0.001,误差精度为0.001,最大训练次数为1000次。
隐藏层神经元的确定是模型构建的关键,常用的方法是试错法。隐含层不同神经元个数对训练学习误差的影响见图5。结果表明,随着神经元个数的增加模型学习误差减小,但神经元个数增加提高网络结构复杂度,导致网络的训练时间增加,同时一些无用的信息也会被记录。因此本文提出算法模型,低频选160个神经元,高频选210个神经元,对比噪声重构BP网络模型选175个。
图5 隐层神经元的数目对重构结果的影响
2.2.2 重构结果分析
基于上述预处理后的试验数据,本节对BP神经网络和小波变换和BP神经网络模型对车内乘员耳侧噪声时域信号进行重构,结果如图6和图7所示。
图6 本文提出算法重构结果
图7 BP网络重构结果
从图6 (a)和7 (a)中重构信号和实测信号的时域曲线对比可以看出,不同的重构模型的乘员耳侧噪声重构信号与实测信号在幅值和相位上有相同变化趋势和较好的对应关系。结合图6(b)和7(b)中不同工况下的500 Hz以下的重构信号和实测信号的频谱对比分析可知,在整个频带范围内,其幅值和相位上有相同变化趋势,其中在噪声的主要能量30~60 Hz范围内,其幅值和相位上具有很好的对应关系,在频带60~400 Hz范围内,依然保持着较好的对应关系,但超过400 Hz,本文提出算法模型频域结果较好,因此可以表明本文所提出重构算法在时域和频域上均具有较高的信号重构性能。
为了进一步表征重构模型精度,本文选用平均绝对误差作为评价指标。如式(12)所示:
(12)
(13)
其中:ymin,ymax分别代表向量y的最小值、最大值。y1表示归一化的结果。
两种不同模型的重构信号与原始信号的误差曲线如图8所示。
图8 两种模型误差分析
结果表明,网络重构模型,输入特征信号进行网络训练,都可以实现对车内噪声信号的重构。然而,基于小波变换的网络模型已经很大的提高重构结果准确性。两种模型的误差统计结果分别为:BP网络噪声重构结果(0.0180),本文提出算法重构结果为(0.0026),精度提高了85.6%,这是因为小波分解可以很大程度上降低信号的非平稳度。同时重构信号与原始信号的误差均值小于0.01[17],则认为完全重构出原始信号。这说明了依据本文提出算法模型对的车内乘员耳侧噪声重构信号可以得到准确的重构信号,并且精度得到了很大的提高。
3 结论
汽车高速行驶(大于等于80 km/h)时,影响车内乘员耳侧噪声的源信号众多。同时噪声信号具有非平稳性,非线性的特点,且风噪、轮胎噪声是车内噪声主要的影响因素,因此,本文提出了一种基于小波变换和BP神经网络算法的乘员耳侧噪声信号重构模型,并且用实车试验数据对算法的有效性进行了验证,结果表明:
1)本文提出的基于小波变换和BP神经网络的车内噪声信号的重构方法。首先对影响车内噪声的源信号进行贡献量分析,确定关键点;然后基于噪声信号的非线性和非平稳性,小波分解可以实现对原始噪声信号的分解,得到高频和低频分量,最后噪声信号分量作为BP神经网络的输入,对网络进行训练。结果表明此方法可以降低模型的复杂度和信号的非平稳度,从而提高了模型重构的精度。
2)对比不同的噪声重构BP网络模型,结果显示基于小波变换和BP网络噪声重构模型的平均绝对误差较小(0.0026),小于0.01。表明该方法的重构精度得到了很大的提高。
3)基于小波变换和BP神经网络的重构方法为主动控制系统获取参考信号提供了一定的参考价值。