汽车发动机的爆震模式识别
6.1
6.1.1
汽车发动机气缸内正常燃烧是从火花塞位置开始,逐步平滑燃烧到缸壁。而
当未燃混合气的温度或压力超出临界值,可导致爆震,此时末端混合气自燃,产
生冲击波使缸压突然上升,同时冲击波使缸体产生共振,共振频率与缸径、燃烧
温度等因素有关。
在两种不同情况下形成的爆震有区别,一是发动机低速大负荷时加速过程的
爆震,这时能清晰听到敲缸声。另一种是高速大负荷的爆震,这时爆震噪声可能
被发动机其它噪音所掩盖,人耳未必能听到。
发动机一旦产生爆震其危害极大,它会引起发动机功率下降,油耗骤增,严
重时还会使发动机的气缸壁、活塞、活塞环、气门、连杆及其连杆轴承等运动件
变形损坏。所以对发动机爆震进行检测,并及时实施有效的控制是非常必要的。
爆震产生的共振基本频率一般在5KHz至7KHz之间,即使同一个发动机,其基本频率可能有?400Hz的偏移。另外,从基频到20KHz之间,还存在2至4个峰值
频率。
爆震测量分直接测量与间接测量。所谓直接测量是指每个气缸内都安装压力
传感器,直接测量缸压变化,这种
最直接,但成本高昂,仅限于研究应用,
不适于批量生产的汽车应用。
间接测量是采用压电振动传感器,测量缸体的共振,这种方法简单,传感器
便宜且安装方便。现在一般采用宽频爆震传感器,而不是峰值型爆震传感器,在
低于20KHz的范围内,不存在调制峰值。这类传感器能适用于各种型号的发动机,
但是传感器输出信号很容易混杂发动机的其它振动噪音,特别是发动机高速运转
时,背景噪音特别大,对信号处理与模式识别提出了很高的要求。
爆震识别是典型的一维信号模式识别问
。
所谓模式识别是指对客观对象进行描述与分类的科学。具体地说,就是用计
算机实现人的模式识别能力。模式识别的特有概念是相似度,模式识别的任务就
是根据对象特征把相似的对象分类。所以模式识别的关键是确定对象的特征。
目前爆震识别的有两大类方法:模拟滤波以及数字频谱特征分析。
模拟滤波是从传统信号处理观点出发的方法。采用模拟电路处理爆震传感器
信号,计算特定频段内振动信号强度,以识别是否有爆震。
相应的模拟电路结构框图如下:
输入信号 信号预处理 整流器 放大器 带通滤波 积分器
参考信号发生器 比较器 是否爆震
图1 爆震信号模拟电路框图
输入是较微弱的交流振动信号,所以首先通过可编程放大器进行放大,然后
通过预先调整好的带通滤波器,获取爆震频段的信号,再通过整流与积分得到放
映振动强度的信号,与实时变化的参考信号比较,从而确定是否有爆震。
采用模拟电路的好处是减少发动机电子控制单元(ECU)的计算工作量,坏处是接口较复杂,电路调整不方便,适应性差,不过这是过去发动机电子控制系
统中处理爆震的主要方法。
数字频谱特征分析是从模式识别观点出发,采用数字信号处理技术,分析振
动信号的频谱特征。具体是以频域特征为主,时域特征为辅,综合多个特征进行
爆震模式识别。
DFT是离散傅立叶变换的英文简写,进行频谱分析,可采用快速傅立叶变换
FFT,也可采用离散傅立叶变换DFT,但是DFT较FFT更适于爆震判断,原因如下:
(1)爆震模式识别只需计算信号若干频率点的幅值,而不是整个频率段的幅值,
此时采用DFT运算量远比FFT小。
(2)为了滤除噪音,信号处理采用“加窗技术”,由于爆震只可能出现在发动机
活塞运行上止点后10?至70?,所以上止点后10?至70?作为信号窗口,该窗口时间随发动机转速而变化,例如:500RPM时为20毫秒,8000RPM为1.25毫秒。
而FFT处理信号长度只能是2的幂,DFT则无此限制,所以DFT适于这种窗口时间不断变化的特殊“加窗技术”。
N,1,,j2kn/NX[k],x(n)e,
n,0
f,f/2.Ns
f,f/2.minN
f[k],k,f.min
一般爆震信号频率是5KHz-20KHz,为防止信号畸变,采样频率必须快一倍,
所以采样频率应大于40KHz。当采样频率固定,数据块越大,DFT的分辨率越高。
需要特别监视的爆震信号频率由f[k]决定,当采样频率、数据块长度一定,
则选取不同的k值,就能确定欲监视的频率。
在实际应用中,DFT常采用迭代计算。DFT的迭代计算公式推导如下:
根据式(1)得:
N,1N,1
X[k],x(n)cos(2,nk/N),jx(n)sin(2,nk/N). (2) ,,n,0n,0根据上式,实部、虚部分别为:
N,1
X[k],x(n)cos(2,nk/N). ,Rn,0
N,1
X[k],x(n),sin(2,nk/N). ,ln,0
把上式改为递推形式:
X[k,1],X[k],x(n)cos(2,nk/N). (3) RR
X[k,1],X[k],x(n)sin(2,nk/N). (4) ll
22 具体某点频率的幅值X[k],X[k],X[k]Rl
因为爆震只是比较相对大小,所以实际应用时,只需计算幅值的平方,并把
它们作为爆震的主特征,具体如下式。
222X[k],X[k],X[k]. (5) Rl
经爆震传感器得到的信号是一维时变信号,针对该信号可选取如下时域特征
与频域特征:
1 爆震信号特征
名称 定义
脉冲因子 I,x/x 时域特征 maxave
峰值因子 C,x/x 时域特征 maxrms
12方差 ,,(x,x)(x,x)时域特征 ,iaveiaveN,1
谱峰及对应频率 f 频域特征 max
f给定频率范围内功j G,s(f)df频域特征 j,f率谱和 j,1
模式特征并非越多越好,特征过多,不仅增加计算量,而且模式识别能力下
降,对于一维时变信号模式识别问题,存在如下规律:
P(e)
特征数
图2:特征数量与识别错误率P(e)的关系
但是,具体选取哪些时域特征与频域特征作为最优爆震特征,难以通过理论
计算获得,只有通过反复实验摸索,同时还要兼顾运算量大小。
经反复实验,发现如下时域特征与频域特征搭配,能满足爆震识别要求,
(1)时域特征:脉冲因子,方差。
(2)频域特征:给定频率附近的功率谱。
一般模式识别中,已发展了种类繁多的判别算法,如Fisher线性判别、最近邻法等,但是针对爆震模式判别,必须摸索出
上简便可行的方法。
具体判别算法是先进行时域特征判断,经时域特征判断认为有可能存在爆
震,再进一步进行频域特征判断。
具体算法如下:
for (j=0;j
Xmax) {
Xmax = Xsum; XFmax[0] = X0;XFmax[1] = X1;
XFmax[2] = X2;XFmax[3] = X3;XFmax[4] = X4;
}
}
计算得到信号均值:AveKNK。
计算得到信号I因子Ifactor。
if ((IAve > 20) & (EeKNK > 1)) { //先判断时域指标
for (j=0; j<5; j++) {
if (XFmax[j] > Xref[CylPtr][j]) { //再判断频域指标
KnkMet[CylPtr] = KnkMet[CylPtr] + Range[j];
}
}
}
CylPtr++; //代表指向不同气缸的指针
if (CylPtr == 3) {
CylPtr = 0;
}
//爆震强度累加
Knock = KnkMet[0] + KnkMet[1] + KnkMet[2] + KnkMet[3]+KnkMet[4];
KnkMet[0] = 0;
KnkMet[1] = 0;
KnkMet[2] = 0;
KnkMet[3] = 0;
KnkMet[4] = 0;
//计算最终的爆震值KnkValue[0]
if ((Knock > 10) & (Knock <= 60)) {//较弱的爆震
if (KnkValue[0] < 251) {
KnkValue[0] = KnkValue[0] + 4;
}
}
if (Knock > 60) {//较强的爆震
if (KnkValue[0] < 251) {
KnkValue[0] = KnkValue[0] + 6;
}
}
采用时域特征的好处是程序简洁,能有效滤除个别干扰信号造成的误判现象。在时域
判断基础上采用频域判断,能提高识别可信度。
图3:高速运行急加速急减速时爆震传感器的信号波形
爆震判断算法中的比较参考量必须随发动机的运行条件(主要是转速和负
荷)而变化,如图3是发动机高速运行、急加速急减速、且无爆震时爆震传感器
的信号波形(整流后),经DFT计算得到的各频点幅值较大,所以必须建立参考
信号工况自适应机制。
根据爆震波形是正常背景波形迭加共振波形的特点,可以认为参考量就是正
常背景量,所以采用历史数据滑动平均计算参考量。同时,由于每气缸波形不同,
必须分别建立各气缸的参考量。具体自适应算法如下:
//----参考量计算------//
for (j=0; j<5; j++) { //分别计算各频率点参考量
TimePtr //是指向不同气缸的运算指针
if (XFmax[j]<1.2*Xref[CylPtr][j]) { //如果无爆震
XHis[CylPtr][j][TimePtr] = XFmax[j]; //按此式计算参考值
}
else { //如果有爆震
XHis[CylPtr][j][TimePtr] = XFmax[j]*0.75; //按此式计算参考量
}
//3次滑动平均计算参考量
Xref[CylPtr][j]=(XHis[CylPtr][j][0]+XHis[CylPtr][j][1]+
XHis[CylPtr][j][2])/3;
}
上述简单算法能有效克服发动机运行变化造成的影响,当然应该进一步采用更细致的
自适应策略,如比较系数不是固定的1.2,而是一个自动调节的参数等。
6.5 总结
以上的爆震模式识别算法,可采用专门的数字信号处理(DSP)芯片实现,不过DSP方案有两个缺点:(1)成本高,装在汽车发动机电子控制系统上的芯
片必须满足汽车级电子产品要求,工作温度范围:-40? -- +125?,满足该要求的DSP芯片远比商业级(0? --70?)芯片昂贵。(2)爆震识别不仅要求高速信号处理能力,而且要求灵活、方便编程能力,这方面DSP不如一般的单片机。若采用单片机方案,则单片机能较容易达到汽车级电子产品要求,成本低廉,而
且能方便实现逻辑处理与各种自适应算法,但是一般单片机数字信号处理速度太
慢,必须采用高速单片机。通过反复实验发现8位高速的精简指令集单片机能满
足上述要求。所以把通用单片机开发为专用的爆震模式识别处理器,代替专门定
制的信号处理芯片的方案经过实践检验证明是可行的,能同时满足性能、成本、
简单三方面的要求。
爆震识别是典型的一维时变数字信号模式识别问题,除频谱分析外,可尝试
心电图判读中经常采用的结构模式识别方法。也可从时变信号处理角度出发,采
用小波分析方法进行研究,通过实验对比,找出工程中最佳识别方法。