刘艳丽1, 周照2
(1. 湖北商贸学院 机电与信息工程学院,湖北 武汉 430079;
2. 武汉理工大学 信息工程学院,湖北 武汉 430070)
摘要: 针对OCV阀的磁滞和卡滞不合格存在的误判提出了改进方法,利用小波变换检测跳变点的能力很好地解决了该问题。研究了BP网络在对OCV阀质量检测中的应用,结果表明该方法不仅可以解决误判问题,还能检测出产品所有类型,并且该方法无需经常调整测试标准,有较好的环境适应性。但该方法仍存在错判,对此提出了利用模糊阈值的方法,将分类模糊的产品测试数据保存起来交由人工处理。实验证明,该方法可将错判率降低到0,相对于现有测试方法,效率已大幅提高。
关键词:OCV阀;小波变换;BP网络
0引言
发动机可变气门正时(Variable Valve Timing,VVT)技术近几年来广泛地应用于小型汽车的发动机上。这种技术可以提高发动机动力并且节能减排,以提高汽车的环保性和经济性[1]。而VVT技术就是通过OCV (Oil Control Valve) 阀控制执行器,改变凸轮轴相位,进而调节进气量、排气量和气门开闭时机、角度,使气缸内汽油燃烧状态达到最佳,提高燃烧效率。因为OCV阀的测试研究处于探索阶段,尚无可参考的数据标准。因此目前测试标准参数的选取和人工判断产品是否合格的依据,就是通过观察日本和美国的OCV原样产品在该测试台上测试的数据得出的。而该测试的流量数据最清楚直观的体现就是绘制的PWM流量曲线图[2]。
现有的测试方法存在的测试结果不准确的问题主要体现在对磁滞和卡滞不合格的判断上。磁滞不合格和卡滞不合格发生的基本原因相同,只是发生的位置不同,反映在流量曲线上就是曲线发生跳变。通常,磁滞不合格发生在PWM信号的占空比在33%~37%之间,卡滞不合格则是在41%~45%之间。
1OCV阀质量检测的小波变换方法
分析磁滞不合格和卡滞不合格的流量曲线,可以从频域的角度对曲线的跳变点进行分析。把每个占空比对应的流量值看作时域内的连续采样点,那么就得到了一组由40个流量值组成的离散序列,然后将该序列变换到频域进行分析[3]。
相对于傅里叶变换,小波变换不仅有更高的分辨率,而且能显示信号的时频特性。小波变换是一个有效的时频分析工具,它在时域和频域上都能很好地表现信号的局部特征[4]。可以利用小波分解多分辨率的特性对信号进行多尺度分解,然后通过分析分解后的信号来确定原始信号中突变点的位置。
对于OCV阀的流量数据(信号)进行小波分解和重构,本文使用MATLAB小波工具中的wavedec()和wrcoef()一对函数实现。具体使用的形式如下:
[C,L]=wavedec(X,N,‘wname’)
X=wrcoef(‘type’,C,L,‘wname’,N)
1.1流量曲线跳变点检测实验
首先对流量信号进行多层小波分解,然后用分解的结构在每一层进行重构。由于这里要分析信号的跳变点,跳变属于高频信息,因此令‘type’=‘d’,进行高频系数的重构,突出细节信号。
由于Daubechies5小波和Daubechies6小波更适用于类似所研究对象的突变点检测,因此选取‘wname’=‘db5’和‘wname’=‘db6’进行对比分析。
首先选取一个典型的磁滞不合格样本,如图1所示,其中图1(a)为磁滞不合格的测试PWM流量曲线图,图1(b)为MATLAB将40个流量值序列按顺序绘制的原始信号图。从图1可以看出跳变发生在序列的第10个点处。
取N=3,‘wname’=‘db5’,对信号进行小波分解,取‘type’=‘d’,对分解的序列进行高频重构,提取细节信息。
如图2所示,d1、d2、d3表示对分解的信号进行1~3层的高频重构,可以看出d1的重构信号最能体现出原始信号的跳变,在第10个点处有最小值,正对应了原始信号中的跳变位置。实验证实对于检测磁滞不合格与卡滞不合格中存在的跳变情况,相比之下,1层重构信号能最好地反映出原始信号的跳变点。
仍就该原始信号对比其Daubechies5小波和Daubechies6小波的分解效果,现在只对比d1的重构信号,如图3所示。
图3中,实线表示db5小波分解、重构后的信号图,虚线表示db6小波分解、重构后的信号图。可以看出两个曲线趋势基本相同,都能通过其最小值找出跳变点。
为了验证此方法对于所有磁滞不合格情况都有效,对20个挑选出来能代表目前所出现的所有卡滞情况的样本进行试验,结果显示通过此方法都能找出跳变点。对于卡滞不合格情况,跳变的形式与磁滞不合格情况类似,仅是跳变位置不同,此方法同样适用。
1.2小波对比选择实验
对OCV的磁滞和卡滞不合格的检测,虽然db5与db6两种小波都能取得不错的效果,但是实际应用中需要选取一个更为合适的小波。从图3中可以看出,实线最值的绝对值比虚线最值的绝对值大,即峰值更突出更明显,说明对于所选原信号,db6小波具有更好的分辨率。
为了验证db6小波是否对于所有的磁滞和卡滞不合格情况的效果比db5小波更好,做了如下比较实验:将选取的20个样本分别用db5与db6小波进行分解和重构,比较重构后两组数据中最大值与次大值的差。实验所选取的样本中,流量数据均只有一个跳变点,因此其最大值与次大值之差可以正确地反映所用小波检测流量跳变点的分辨能力。
图4两种小波对跳变点的分辨能力比较示意图如图4所示,横坐标表示样本的序号,纵坐标表示重构序列中绝对值最大值与绝对值次大值的差值,该值反映了对于体现原信号中跳变点的分辨率。带“o”曲线代表使用的是db6小波,而带“+”的曲线代表使用的是db5小波。可以看出,使用db6小波比db5小波在判断磁滞和卡滞不合格方面的分辨率更高;并且对于第19个样本,使用db5小波对跳变的识别力极差,而db6小波则有较好的表现。
通过上述实验可以得出结论:对于磁滞不合格和卡滞不合格的情况,利用db5和db6小波都能准确地找出跳变点,但是使用db6小波效果会更好。因此可以通过小波分析的方法对OCV阀的卡滞不合格与磁滞不合格进行检测,从而提高测试结果的准确性。进一步实验可得出,对于所有存在磁滞和卡滞不合格样本,使用db6小波进行分解和重构后的序列中的最大绝对值为0109 7,而对于选取的40组合格样本序列中最大的绝对值为0096 1。则判断是否存在突变点的阈值可以选择0096 1~0109 7的中间值。
2OCV阀质量检测的人工神经网络方法
尽管小波方法能够解决磁滞和卡滞不合格判断不准确的问题,但是对于测试的参数标准时常调整无法确定的问题就需要采用其他方法解决。虽然对于不同的测试台、不同的测试环境下采集的测试数据存在差异,但对于同一个产品,其特征总是相同的,这些特征往往隐藏在其测试的数据中。只要对这些数据进行合理的分析,就能提取出其中的特征并将其分类。利用BP网络方法就可以在不同的测试系统环境下找出合格产品和不合格产品,并分辨出产品属于哪类不合格。
使用BP网络,首先要构建好BP网络的结构,包括如下内容:确定网络的输入层、隐含层、输出层节点数,确定网络隐含层层数,确定隐含层和输出层节点的转移函数。
根据对所研究的对象实验分析,确定构建的BP网络为3层网络结构,输入层节点数为40,隐含层节点数为37,输出层节点数为7,隐含层和输出层节点转移函数为logsig和purelin。输入层输入数据为采集OCV阀的40个流量值,输出层输出值与对应的产品分类结果如表1所示。
3BP网络对OCV阀分类的仿真实验
3.1训练样本的选择和学习率的设定
对BP网络进行训练主要注意两个问题:训练样本的选择和学习率的选择。训练样本要尽可能全面,覆盖所有的类型及每个类型的各种形式。训练的样本还应该均匀,即对产品的每个类型的样本数量尽可能相同,对每种类型下的不同形式的样本数也要尽可能平均。
网络学习率包括权值学习率和阈值学习率,取值一般在0~1之间,它对网络训练的影响是:当网络学习率较大时网络学习速度较快,但在学习过程中容易产生震荡,难以将预测误差收敛到一个较小的范围内,也容易使网络陷入局部最小。而较小的学习率可以将网络预测误差收敛到较小的范围,但是学习过程缓慢。对于训练用于对OCV阀质量进行分类的网络,最重要的是网络的预测误差和分类能力,而训练网络所用时间代价可以不用考虑。因此在进行网络训练时应选择较小的学习率。
根据上述原则,从OCV阀测试时采集的流量数据中选取了一共105个训练样本,对产品所划分的7个类型每种类型选取了15个样本。考虑到测试环境中的温度的影响,以及液压站的不稳定和中途经过调节因素,选择的样本产生时间上的分布也是均匀的。而测试样本一共选取了70个,每种类型10个样本。权值和阈值的学习率分别为0001和0005。
3.2网络训练及预测实验结果
将105个样本对建立好的BP网络进行训练,训练次数为20 000次,学习目标为对7个分类的误差绝对值最大的数小于005,即训练次数达到20 000次或者达到005的学习目标就会停止训练。
如图5所示,网络最终进行了20 000次的训练,说明并没有达到预期的学习目标,但可以看出误差率已经趋于平稳。而且这是通过多次尝试,训练得最好的一次情况。
将训练好的网络对70个测试样本进行分类测试,其预测结果如图6所示。
图6中带“”的线代表网络的期望输出,带“*”的线代表着网络的实际输出。输出值从1~7依次代表产品的7种类型。可以看到网络对70个测试样本分类基本上都能成功,但还有4个产生了误判,综合正确率为094。对于OCV阀的7种类型的分类正确率如表2所示。
从表2可以看出,尽管BP网络具有较高的分类能力,但是网络的分类结果还是存在一定误差。图7显示了网络对于每个样本进行预测的误差绝对值平均数,该值是由样本的7个预测输出与期望输出差值的绝对值取平均而得到的。
图7中的样本次序与图6的样本次序是一致的,可以看出误差绝对值平均数的大小与是否准确预测并无直接联系,因为判断产品的类型是通过找到网络输出的7个值中有最大值的输出项,只要与其类型对应的输出项有最大值就能正确分类,而且当输出项中的最大值大于1或最小值小于0时会造成输出误差,但不会影响分类结果。
3.3实验结果分析和改进方法
通过实验发现,BP网络虽然能够在对OCV阀质量分类上取得较好的效果,但仍存在误判的现象。而且虽然有些样本能够判断正确,但是其输出值确实模糊的,即输出的最大值与次大值的差很小。通常在生产中最关心的问题是产品是否合格,至于不合格产品是属于哪一类并不是生产过程关心的重点。因此可设置模糊区间解决存在误判的问题:设置一个模糊阈值Δ,当网络输出值中最大值与次大值的差大于Δ时,根据输出最大值的节点序号确定该样本的分类,并认为分类是准确的;但当最大值与次大值的差小于Δ时,认为网络对该类样本的分类是模糊的、不可靠的,此时可以将该类样本的原始数据保存在同一位置,交由人工统一处理。
当阈值Δ较大时,虽然能保证分类结果中不会把非合格的产品判断为合格产品,但是存在将合格产品归于分类模糊的产品的问题,加大了人工处理的工作量。而当阈值Δ较小时,很可能就将不合格产品分类为合格产品。那么就要在这两种矛盾中找到平衡点,即在保证合格产品质量的情况下尽可能地减少人工处理模糊分类结果的时间。
图8所示是在当前预测结果下,误判样本数与模糊样本数随模糊阈值Δ变化的曲线图。在图中,2号线代表误判样本,3号线代表合格模糊的样本,1号线代表总模糊样本。合格模糊样本即神经网络判断合格但不满足模糊阈值的分类准确条件和神经网络判断不合格且不满足模糊阈值的分类准
确条件,且网络输出次大值由Y1输出的样本。
从图8可以看出,随着阈值的不断增大误判的数量随减少,而模糊的样本数量会不断增加,而且总模糊样本数增加最快。当Δ取值为016时误判数为0,总模糊样本数约为13,但合格模糊样本数只有2。因为生产过程中最关心的只是产品是否合格,只需将合格模糊的样本数据交由人工处理,所以效果比较理想。
综上,BP网络整体上的分类效果比较理想,但是仍存在误判,由此引入了模糊阈值 。对于本例,模糊阈值取值在016~026之间可以将误判率降低到0,而需交由人工处理的合格模糊的样本比率也只有29%。相比之前需要技术人员监测整个测试过程,效率已大幅提高。
4结论
针对现有的OCV阀测试方法中测试软件对产品结果判断不准确,需要专门的技术人员干预测试过程的问题,本文将小波方法和BP网络方法应用在OCV阀的测试中。小波方法解决了测试中最主要的磁滞不合格与卡滞不合格判断不准确的问题,而对其他问题的测试仍沿用原来的测试方法。而BP网络方法可以对OCV阀的7种类型都能检测出,提高了测试结果的准确性,而且不依赖于稳定的测试系统环境,解决了测试标准需要经常进行微调的问题。
参考文献
[1] 李智. VVT发动机OCV阀及执行器在线测试系统[D].武汉:武汉理工大学,2012.
[2] 陈俭. 单顶置凸轮轴式发动机VVT机构的研制[D].济南:山东大学,2013.
[3] 章琴,刘以安.基于改进的Morlet小波变换的雷达信号特征提取[J].微型机与应用,2015,34(10):7073.
[4] 吕媛,秦祖军,梁国令,等.融合数字累加平均和小波变换的信号降噪测试[J].微型机与应用,2015,34(7):1315,19.