华春雷 毕腾飞 王佳鑫
(中国汽车技术研究中心)
随着驾乘汽车舒适性要求的提高,车内噪声作为一项重要指标越来越受到人们的重视。发动机工作引起的车身振动,以及通过车身板壁透射的燃气噪声和机械噪声,是形成车内低频噪声的主要因素。如果可以提前预测出车内噪声参数,就可以采取主动干预措施,有针对性的对车内低频噪声进行消减。发动机及车身的振动信号与车内声压有很强的相关性,但其对应关系却呈现出复杂的非线性特征,很难用精确数学模型来描述。人工神经网络(Artificial Neural Net)作为一种黑箱建模工具,在非线性系统辨识领域具有很大的优越性。文章利用MATLAB的BP神经网络工具箱,详述了根据发动机和车身振动加速度信号预测驾驶员耳旁噪声的神经网络建模过程,并分析了仿真效果。
BP网络是一种多层前馈神经网络,网络权值和阈值的调整采用后向传播学习算法,即BP算法[1]。BP网络中神经元的传递函数通常采用log-sigmod型函数和纯线性函数。网络输出可以表示为:
式中:a——网络输出向量;
W——权值矩阵;
b——阈值向量;
p——输入向量;
f——传递函数。
图1示出一个典型的两层BP网络结构。
网络的性能函数(表现函数)一般为均方误差函数,可以表示为:
式中:N——样本数据个数;
ei——样本的第i个误差,即实测值与BP网络预测值的误差;
Ti——样本的第i个实际值的实测值;
Ai——样本的第i个BP网络的预测值。
BP网络学习规则的指导思想是:对网络权值和阈值的修正要沿着表现函数下降最快的方向——负梯度方向。
式中:xk——当前的权值和阈值矩阵;
gk——当前表现函数的梯度;
ak——学习速率。
BP网络是目前应用最为广泛,发展也比较成熟,对于时域信号具有良好的辨识与预测能力。BP网络采用“有监督”的离线学习方式,因此为了准确地反映发动机和车身振动加速度信号与车内驾驶员耳旁噪声信号的对应关系,需要用全面且大量的输入/输出数据对其进行训练。
在工程应用领域中,影响BP网络性能最关键的是输入特征选择和训练样本集的准备。汽车噪声的传递有固体波动和气体波动2种形式。通常500 Hz以下的中低频噪声主要以固体波动的形式传播,即发动机和底盘工作时产生的振动和路面激励产生的振动,通过结构件传至车身,激发车身壁板振动,向车内辐射噪声[2]。大量研究表明,车内噪声与发动机和车身板件的振动加速度密切相关,因此,选择发动机、车身顶棚及地板的振动加速度作为BP神经网络模型的输入信号,选择车内驾驶员右耳处的噪声信号作为输出信号。
以某轻型轿车为试验车型,其发动机为1.4 L直列四缸横置汽油机。分别在发动机、车顶棚及驾驶员脚下地板位置布置加速度传感器拾取振动信号,在驾驶员右耳位置固定传声器,以便获得相对应的噪声信号。
发动机的主要激振力都是以曲轴转速为自变量的周期函数,因此其振动具有较强的周期性特征[3]。车内噪声频谱呈窄带随机信号特征,有明显的峰值,峰值频率和发动机转速之间有着确定的函数关系,可按式(4)计算:
式中:i——谐波次数;
N——发动机气缸数;
n——转速,r/min;
τ——发动机冲程系数,二冲程发动机取1,四冲程取2。
试验过程中挂空挡,通过控制油门开度调节发动机转速,对固定转速下的稳定工况与加速和减速的非稳态工况进行信号采集。工况选取应力求既有代表性(不至于使数据量过于庞大),又能全面反映汽车的振动与噪声特性。文章利用1/3倍频程中心频率,按照式(4)反推转速确定试验的各稳态工况,即在转速分别为800,1 200,1 500,1 900,2 400,3 000,3 750 r/min 状态下。为了保证样本数据的有效性,且不过分冗杂,同时又能确保神经网络达到一定的训练精度,试验采用了变频采样的方法,任意工况下的采样频率设置在该转速下基频的20倍以上,即保证其一次谐波每个周期内每个至少有20个采样点。采样频率选取如下:1 000 r/min以下为 900 Hz;1 000~1 500 r/min 为 1 024 Hz;1 500~2 500r/min 为 1700Hz;2500r/min 以上为 2048Hz。
因为声压信号采用Pa作单位,得到的数值都比较小,且声压的测量极易受到周围环境的影响,所以测得的信号往往在某些时刻有较大的波动。需要对数据进行初步处理,去掉受扰动较大的部分,截取声压信号较为平稳的部分及其时域上相对应的振动加速度信号作为样本数据。表1示出样本数据预处理前后的声压信号对比,由表1可知,截取后的声压信号数值跨度较截取前明显减小,而各工况下声压的有效值变化不大。注意到不同工况下的声压值差距较小,并非随转速增加而显著上升,这是因为人耳对声音的主观感觉——响度,不仅与声压有关,还和频率有关[3]。
表1 样本数据预处理前后的声压信号对比 Pa
对于截取好的数据,各工况前1/4的数据用作神经网络的训练样本,剩下的3/4作为测试数据用来验证网络的泛化效果。
然后,对训练样本进行归一化处理,使那些比较大的输入仍能落在神经元传递函数梯度最大的地方,进一步削弱奇异数据对网络训练精度的影响,加快网络的训练和收敛速度。因此将样本数据归一化为单位方差和零均值,再作为BP网络训练所需的输入输出数据。由表1可知,数据归一化后,各工况下的输出信号分布在(-3,3)之间,有效值均接近于1。采用归一化数据训练的网络在以后使用时,所用的新输入数据都需要使用训练样本归一化得到的均值和方差进行变换,对网络的输出结果要恢复归一化[4-5]。
一个3层(即双隐层)的BP网络就可以完成任意n维到m维的映射[5]。选用双隐层的BP网络可以较好地反映发动机和车身振动与车内噪声的非线性对应关系。
神经网络的传递函数确定某个处理单元的输出,它的作用在于限制神经网络运作的动态范围,使输出的分辨变得容易。隐层的传递函数一般选择非线性的S型函数。这里选择S型的双曲正切函数作为输入层与中间层的传递函数,这样神经网络的输入经过隐层被压缩到(-1,1)之间。由表1可知,网络的输出分布在(-3,3)之间,所以选择线性函数作为输出层传递函数。
泛化效果是衡量神经网络性能的重要标志。一个“过度训练”的神经网络可能会对训练样本达到较高的匹配效果,但对于一个新的输入样本可能会产生与目标矢量差别很大的输出,即泛化效果较差[4-5]。文章采用MATLAB工具箱中贝叶斯正则化方法对网络进行批处理训练。贝叶斯正则化方法通过trainbr函数来实现,依据优化的BP算法对神经网络的权值和阈值进行调整。
对于BP网络,隐层神经元数目的选择是一个十分复杂的问题,需要兼顾收敛精度和泛化能力。当前普遍采用试凑法,并根据设计者的经验多次修改,不存在一个理想的解析式来表示。为提高工作效率,使用了循环嵌套编程的方法,综合分析BP网络的输入层和中间层在不同神经元数下的收敛精度和泛化效果,寻找最优的隐单元数[6]。在给定的网络初始权值和阈值下,每个隐层的神经元数分别在1~20,各训练50步,得到BP网络对于训练数据收敛精度和测试数据的泛化效果,如图2和图3所示。
综合分析图2和图3,两隐层神经元数较小时,网络的收敛精度和泛化效果均较差,尤其是中间层神经元数<5时,尖峰密集;随着隐层神经元数的增加,收敛精度和泛化效果均逐渐改善,变化逐渐平缓,呈现小幅波动;当隐层神经元数继续增加,神经网络的收敛精度没有明显的变化,但泛化误差出现爬升的趋势,在接近20的地方出现尖峰,这表明随着网络规模增大,开始出现过拟合。比较分析后,获得使网络的收敛精度和泛化效果均较优的隐单元数:输入层神经元数为3;中间层神经元数为15。
确定好BP网络的拓扑结构,通过试训练来进一步调整网络的训练步数和性能目标等初始参数,权衡网络的训练速度和计算时占用的内存空间大小。最后开始网络的学习训练,得到训练精度和泛化效果均优的BP网络,就可以根据实际测得的发动机和车身的振动加速度信号,实时预测出驾驶员右耳位置的噪声信号。
图4~图6示出发动机转速分别在800,1 300,2 400 r/min稳定工况下试验实测声压信号与BP网络预测信号的时域和频域对比图。由时域图(图4a,5a,6a)可见,预测信号与实测信号在幅值和相位上都有相同的变化趋势和对应关系,并且BP网络仿真输出对实测驾驶员右耳声压信号中的奇异数据点做出了补偿,预测信号较之实测信号平稳,说明网络具有较好的泛化能力。
由各工况频谱对比图(图 4b,5b,6b)可见,该车型车内噪声峰值均发生在发动机工作基频处,表明噪声能量主要来自发动机的二阶往复惯性力。BP网络预测声压信号、试验实测信号及峰值频率吻合,较好地反映了车内噪声信号的频率特性。另外注意到800 r/min下,由于二阶谐频的作用引起声压时域信号的小幅振荡,表现在频谱图上为二阶谐频(50 Hz)处出现一个较小的峰值。BP网络很好地拟合出了这一特性,进一步说明了该网络对车内驾驶员右耳位置的噪声信号具有良好的识别和预测能力。
汽车在行驶过程中经常要加速或减速,发动机工作状态变化频繁,因此应用BP神经网络预测车内噪声必须考虑非稳态工况。BP网络具有优秀的非线性辨识能力,因此只要训练样本的数据包含所有的特征模式,BP网络就可以辨识出在加减速等非稳态工况下,发动机和车身的振动与驾驶员右耳位置声压的对应关系。
图7示出加减速工况下实测信号与BP网络预测信号的时域对比。
从图7可以看出,随着发动机转速的增大或减小,驾驶员右耳声压亦随之升高或降低。由于非稳态工况下车内噪声声压变化的随机性,BP神经网络对某些数据点的学习和训练存在混淆现象,具体表现为仿真输出信号在某些时间出现许多毛刺。但总的来说BP网络基本反映出随动的变化趋势:在中低转速,预测信号能与实测信号在幅值和相位上都有较好的对应;高转速时,仍有很好的相位对应,但幅值误差较之低转速时要大。这表明该BP网络对于低频信号的辨识精度要优于高频信号。因此,该BP网络对于非稳态工况的辨识可以接受,对后续研究有使用价值。
1)车内噪声与发动机和车身板件振动密切相关,发动机工作时的二阶往复惯性力是车内噪声的主要能量来源,可以凭借发动机和车身的振动加速度信号预测车内噪声;
2)BP神经网络具有良好的非线性辨识能力,支持多输入、多输出。以发动机、车顶棚及地板的振动加速度信号为输入,驾驶员右耳声压信号为输出,利用BP神经网络对系统进行辨识,得到了车内噪声的神经网络预测模型;
3)为了得到性能优良的网络,BP网络训练样本必须包含完整的特征模式,并需要预处理;网络拓扑结构的选择亦需要综合考虑网络的训练精度和泛化效果;
4)BP网络对车内低频噪声有较好的辨识与预测能力,对于进一步采用主动干预措施控制低频噪声有较大的参考价值和指导意义。