JP3821033B2 - 自動適合用ノック自動検出装置 - Google Patents

自動適合用ノック自動検出装置 Download PDF

Info

Publication number
JP3821033B2
JP3821033B2 JP2002079614A JP2002079614A JP3821033B2 JP 3821033 B2 JP3821033 B2 JP 3821033B2 JP 2002079614 A JP2002079614 A JP 2002079614A JP 2002079614 A JP2002079614 A JP 2002079614A JP 3821033 B2 JP3821033 B2 JP 3821033B2
Authority
JP
Japan
Prior art keywords
knock
cycle
cylinder
frequency
cylinder pressure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002079614A
Other languages
English (en)
Other versions
JP2003278593A (ja
Inventor
裕二 宮野尾
健司 笠島
政史 吉見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2002079614A priority Critical patent/JP3821033B2/ja
Publication of JP2003278593A publication Critical patent/JP2003278593A/ja
Application granted granted Critical
Publication of JP3821033B2 publication Critical patent/JP3821033B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Testing Of Engines (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、内燃機関の点火時期等を自動適合する装置に適用される自動適合用ノック自動検出装置に関する。
【0002】
【従来の技術】
一般に、内燃機関としてのエンジンで発生するノック波形の周波数(ノック周波数)は、エンジン毎に異なり、シリンダのボア径で決まる。そのため、筒内圧センサの出力或いはブロック振動センサの出力からノック波形を抽出するのにバンドパスフィルタ等のフィルタを使う方法が主流である。
【0003】
【発明が解決しようとする課題】
ところで、(1)エンジンのシリンダブロックに直接取り付けるタイプの非共振或いは共振型ブロック振動センサでノックを検出する場合、機械ノイズ等のノック以外の振動成分とノックによる振動発生成分とを分離しなければならない。このため、事前に、ノック周波数の選定と、その周波数に応じたフィルタ中心波長をもつバンドパスフィルタの設定(共振型のセンサはセンサそのものの設定)と、センサ出力と比較されるノック判定のしきい値の設定とを行なう必要がある。なぜなら、ブロック振動センサでは、シリンダブロックに伝わるあらゆる振動を拾ってしまうため、ノック振動のみを分離する必要があるが、ノック周波数はエンジン毎に異なるとともに、機械ノイズの発生周波数も異なるからである。
【0004】
ノック周波数に応じたバンドパスフィルタの設定や前記しきい値の設定をする際には、まずはそのエンジンで実際に聴覚で聞えるノックを発生させて、その時のセンサ出力のFFT解析によりノック共振周波数がどこに有るのかを特定する必要がある。しかし、ノック共振周波数には機械ノイズ周波数のピークが重なることも有り得るため、必ずしもS/Nが良いとは限らない。したがって、ノック判定のためのしきい値も一義的には決まらず、エンジン毎の適合が必要となる。
【0005】
(2)一方、筒内圧センサ、例えば点火プラグ一体型の筒内圧センサでノックを検出する場合、筒内圧最大値の直後に発生するノック特有の圧力振動を捕らえることにより、機械ノイズ等とは無縁でノック検出が可能になる。しかし、あくまでも筒内で発生しているノック起因の異常燃焼を捕らえてしまうため、ノックによる圧力振動がシリンダブロックやシリンダヘッドを伝わって外部へ振動音を伝えているとは限らず、聴感で捕らえるノックとは強度、頻度共に合わない。これは、筒内圧では逆にエンジンの機械振動を取り込まないため、ノックがこれらバックグラウンドノイズにかき消される分まで検出してしまっているからである。これをしきい値等を設定して聴感と合わせようとすると、結局人間による合わせ込みが必要となってしまう。
【0006】
すなわち、エンジンの点火時期、燃料増量値、VVT進角等を自動適合化する場合、そのエンジンでの最適燃費、最適出力、最適エミッション性能を求めたい。このため、狙いの点火時期は、MBT(Minimum advance for the Best Torque)かMBTより近く側でノックが発生する場合は、聴感上許容可能なノックレベルとなる。前記各適合を自動的に求めようとした場合、ノック検出を自動で行なうことが必須となるが、現状のノック制御(KCS制御)では、ノックを検出させるために人間による合わせ込みが必須である。
【0007】
したがって、点火時期等を自動適合化しようとした際に、エンジン損傷防止も含めて狙いのノックレベルを検出しようとした場合には、ブロック振動センサ、筒内圧センサ共に、各々単体では完全自動化は不可能である。
【0008】
本発明は、このような従来の問題点に着目してなされたもので、その目的は、内燃機関の点火時期等を自動適合する際に、狙いのノックレベルを自動検出可能にして、自動適合を可能にした自動適合用ノック自動検出装置を提供することにある。
【0009】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項1に係る発明は、内燃機関の点火時期等を自動適合する装置に適用され、各気筒の筒内圧センサ出力を任意サイクル分高周波サンプリングした筒内圧データに基づき気筒毎およびサイクル毎にノックかノイズの判定をするノック判定手段を備える自動適合用ノック自動検出装置であって、前記各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、前記ノック判定手段によりノック有りと判定されたノックサイクルとノック無しと判定されたノイズサイクルに分けて抽出する振動センサ出力抽出手段を備えることを要旨とする。
【0010】
ブロック振動センサは、シリンダブロックに伝わるあらわゆる振動を拾うため、ノック振動を抽出するには、人間が、強制的にノックを発生させたときの同センサ出力と、ノックが絶対に発生していないときの同センサ出力とを比較し、しきい値等の各種設定を行なう必要がある。この構成によれば、各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、ノック有りと判定されたノックサイクルとノック無しと判定されたノイズサイクルに分けて抽出する。これにより、筒内圧を利用して1サイクル毎に、絶対にノックの発生していないサイクルと、少なくとも筒内ではノックが発生しているサイクルとに層別できる。このため、各気筒の筒内圧センサ出力と同時に各気筒のブロック振動センサ出力を計測することで、筒内圧情報をもとにノック有り無しの層別を人間の手を借りることなく自動的に行なうことができる。したがって、内燃機関の点火時期等を自動適合する際に、狙いのノックレベルを自動検出可能になり、点火時期等の自動適合が可能になる。
【0011】
請求項2に係る発明は、請求項1に記載の自動適合用ノック自動検出装置において、前記ノックサイクルと前記ノイズサイクルに分けて抽出した前記各気筒のブロック振動センサ出力をそれぞれFFT処理して1ノックサイクル毎のFFT結果(a)と1ノイズサイクル毎のFFT結果(t-b)を算出するFFT処理手段と、前記ノイズサイクル全ての前記FFT結果(t-b)を加算平均したFFT加算平均値(b)を算出する加算平均値算出手段とを備え、前記FFT結果(a)と前記FFT加算平均値(b)の周波数毎の差分(a−b)に基づき、任意サイクル中のノックサイクル毎にノック強度を算出することを要旨とする。
【0012】
筒内圧を利用することで筒内に発生しているノックは検出できるが、そのノックが必ずしもシリンダヘッド、シリンダブロックを通して外部へノック音として伝わっているとは限らない。この構成によれば、各ブロック振動センサ出力にバックグラウンドノイズ以上の振動が含まれていれば、間違いなく音としてノックが発生していることになる。このようなノックの強度を、FFT結果aとFFT加算平均値bの周波数毎の差分に基づき、ノックサイクル毎に算出することができる。
【0013】
請求項3に係る発明は、請求項2に記載の自動適合用ノック自動検出装置において、前記FFT結果(a)と前記FFT加算平均値(b)との差分(a−b)がa−b≧0となる各周波数区間での前記差分の積分値(Cn)と前記FFT加算平均値bの積分値(Bn)との割合(Cn/Bn)を求め、この割合に前記FFT結果(a)の積分値(An)を掛けて前記各周波数区間での強度を得、これらの強度を足し合わせてノックサイクル毎のノック強度を算出するノック強度算出手段を備えることを要旨とする。
【0014】
自動適合時にノックを自動検出する狙いのノックレベルは聴感上許容可能なノックレベルであり、このような狙いのノックレベルを自動検出するためには、ノックレベルを定量的に扱う必要がある。聴感上許容可能なノックレベルは、1回当たりに聞えるノック強度とその頻度により決まる。この構成によれば、そのうちのノック強度を算出できる。つまり、ノックサイクル毎のノック強度を算出するのに、前記差分の積分値Cnとバックグラウンドレベルを表すFFT加算平均値bの積分値Bnとの割合Cn/Bnを求める。これにより、ノック強度自体のバックグラウンド補正を行うことができる。また、その割合Cn/BnにFFT結果aの積分値Anを掛けて各周波数区間での強度を得、これらの強度を足し合わせてノックサイクル毎のノック強度を算出する。これにより、ノックサイクル毎のノック強度を、ノック共振周波数1次,2次,・・・の全体を集約して表すことができる。このため、人間によりしきい値を設定することなく、ノック強度を算出することができる。
【0015】
請求項4に係る発明は、請求項3に記載の自動適合用ノック自動検出装置において、前記ノック強度算出手段により算出したノック強度毎に任意サイクル中のノック頻度を算出するノック頻度算出手段と、前記ノック強度と前記ノック頻度から任意サイクルでのノックレベルを算出するノックレベル算出手段とを備えることを要旨とする。
【0016】
この構成によれば、ノック強度に加えてノック頻度を算出し、ノック強度とその頻度からノックレベルを算出することで、任意サイクルでのノックレベルを自動的に検出することができる。
【0017】
請求項5に係る発明は、請求項4に記載の自動適合用ノック自動検出装置において、前記ノック頻度算出手段は、前記ノック強度を任意の強度段階に分けて各段階の頻度を算出し、前記ノックレベル算出手段は、前記ノック頻度算出手段により算出した頻度が最も高い強度段階のノック強度を現在の運転条件でのノックレベルと決定することを要旨とする。
【0018】
この構成によれば、ノックレベルを定量的に扱うことができ、聴感上許容可能なノックレベルを自動的に検出することができる。
【0019】
【発明の実施の形態】
以下、本発明に係る自動適合用ノック自動検出装置を具体化した一実施形態を図面に基づいて説明する。
【0020】
[一実施形態]
図1は、一実施形態に係る自動適合用ノック自動検出装置の全体構成を模式的に示している。この自動適合用ノック自動検出装置は、エンジンの点火時期、燃料増量値、VVT進角等を自動適合化するための装置であり、筒内圧を利用してノックを自動検出するものである。ここにいう「VVT」とは、エンジン21の吸気カムシャフト(図示略)のクランクシャフト(図示略)に対する相対角を連続的に変化させるための可変バルブタイミング機構をいう。
【0021】
エンジン21には、クランク角センサ22、ブロック振動センサ23、および筒内圧センサ24が取り付けられている。筒内圧センサ24は、4気筒エンジン21の各気筒に設けられている。クランク角センサ22は、クランクシャフトの1回転につき所定角度毎(例えば15度毎)にパルス状の信号(クランク角信号)を出力する。このクランク角信号は、各気筒の圧縮上死点位置TDCを算出するのに用いられる。ブロック振動センサ23は、各気筒のシリンダブロック(図示略)に取り付けられており、各シリンダブロックに伝わる振動を検出し、図16(a),(b)に示すブロック振動センサ信号を出力する。そして、各筒内圧センサ24は、気筒毎の筒内圧(燃焼圧)をそれぞれ検出し、筒内圧信号を出力する。図12は、各気筒の筒内圧センサ24の出力(筒内圧センサ出力)が表す1/2サイクル分の筒内圧波形(指圧線)を示している。この指圧線には、筒内圧が最大値Pmaxとなる位置付近(破線65で囲んだ領域)に、ノック波形が含まれている。
【0022】
自動適合用ノック自動検出装置(以下、単に「ノック自動検出装置」という。)は、増幅回路25と、高速データ収録手段としての高速データロガー26と、筒内圧解析用パソコン(パーソナルコンピュータ)27とを備える。増幅回路25は、4つの気筒の各筒内圧センサ24からそれぞれ出力される筒内圧センサ出力を増幅して高速データロガー26に出力する。
【0023】
高速データロガー26は、増幅回路25により増幅された各筒内圧センサ出力を高周波サンプリングして、気筒毎およびサイクル毎に単位期間毎の筒内圧データPdata[i]を収録する。なお、高速データロガー26による高周波サンプリングは、時間ベースまたはクランク角ベースのいずれでも良い。本実施形態では、高速データロガー26は、各筒内圧センサ出力(各気筒の筒内圧波形)に含まれるノック波形(振動周波数が12〜14KHz程度の振動成分)を精度良く解析して抽出するのに十分高い周波数、例えば200KHzで各気筒の筒内圧センサ出力をサンプリングする。
【0024】
また、高速データロガー26には、各筒内圧センサ出力の他に、クランク角センサ22から出力されるクランク角信号と、各気筒のブロック振動センサ23から出力されるブロック振動センサ信号(ブロック振動センサ出力)とがそれぞれ入力されている。これにより、高速データロガー26は、デジタル信号にそれぞれ変換したクランク角信号および各気筒のブロック振動センサ信号と、各気筒の筒内圧データPdata[i]とを同期して筒内圧解析用パソコン27へ出力するようになっている。
【0025】
また、筒内圧解析用パソコン27は、高速データロガー26にデータ計測指示を与えて、同データロガーから各気筒の筒内圧データPdata[i]、各気筒のブロック振動センサ信号、およびクランク角信号のデータを任意サイクル分(例えば、100サイクル分)一括して取り込むようになっている。
【0026】
また、筒内圧解析用パソコン27には、「ノックレベル算出処理」用のプログラムが組み込まれている。このノックレベル算出処理では、各気筒の筒内圧データとクランク角信号とに基づき、各筒内圧センサ出力に含まれるノック波形等の振動成分の振幅相当量Amp[i](図13に示す振動波形)を気筒毎およびサイクル毎に算出し、気筒毎およびサイクル毎にノック判定を行なう。そして、各筒内圧センサ出力と同時計測の各ブロック振動センサ出力に基づき、ノック強度とノック頻度を算出して現在の運転条件でのノックレベルを自動的に検出する。
【0027】
次に、この「ノックレベル算出処理」について図2〜図19を参照して説明する。
まず、図2に示すフローチャートのステップS10で、エンジン21の運転状態を定常状態に設定し、所定の運転条件および所定の点火時期にてエンジン21を運転する。つまり、エンジン21を、エンジン回転数、吸入空気量および空燃比をそれぞれ一定に設定するとともに、点火時期を一定値に設定して運転する。
【0028】
次に、ステップS100に進み、高速データロガー26により気筒毎にそれぞれ収録された筒内圧データPdata[i]とクランク角信号を、上記任意サイクル分取り込む。ここで、高速データロガー26による1サイクル当たりの筒内圧データのサンプリングデータ数をsizeとすると、筒内圧データPdata[i]は、i=0(吸気工程下死点付近の基準点で、クランク角0度)〜i=size(クランク角720度)である。また、筒内圧解析用パソコン27は、取り込んだクランク角信号に基づき、各気筒の圧縮上死点位置TDCを算出する。
【0029】
次に、ステップS200に進み、ステップS100で取り込んだ各気筒の筒内圧データに基づき、気筒毎およびサイクル毎に筒内圧最大値Pmaxとその位置imaxを算出する。このステップS200が最大値算出手段に相当する。
【0030】
次に、ステップS300に進み、気筒毎およびサイクル毎に、筒内圧波形(指圧線)の形から点火時期の大遅角状態を検出する。具体的には、気筒毎およびサイクル毎に、ステップS200で算出した筒内圧最大値Pmaxと圧縮上死点位置での筒内圧P[i=TDC]との差が所定のしきい値を超えているか否かを判定する。その差がしきい値を超えている場合には大遅角状態ではないと判定されてステップS400に進み、その差がしきい値以下の場合には、大遅角状態であると判定されてステップS310に進み、分析を終了する。
【0031】
大遅角状態ではないと判定されてステップS400に進むと、筒内圧データに基づき気筒毎およびサイクル毎に筒内圧最小値Pminとその位置iminを算出する。
【0032】
次に、ステップS500に進み、気筒毎およびサイクル毎に指圧線全体の変曲点の数を算出する。ここにいう、「指圧線全体」とは、1サイクルの指圧線をいう。このステップS500では、図5に示すように、ステップS400で算出した筒内圧最小値PminとステップS100で算出した圧縮上死点位置での筒内圧P[i=TDC]を比較し、両者が等しい場合には指圧線全体の変曲点が1つであると判定し、そうでない場合には変曲点が3つであると判定する。つまり、筒内圧が圧縮上死点位置TDCの前後で上昇し続けて筒内圧最大値Pmaxに達し、この位置imaxから筒内圧が下降し続ける場合には、指圧線全体の変曲点が1つであると判定される。この判定がなされると、ステップS510に進み、1つの変曲点の位置をimaxとして設定する。
【0033】
一方、圧縮上死点位置TDCの近傍に極大値を持つ場合には、指圧線全体の変曲点が3つであると判定される。この判定がなされると、ステップS520に進み、3つの変曲点の位置をそれぞれTDC、iminおよびimaxとして設定する。なお、指圧線の圧縮上死点位置TDC近傍に極大値(変曲点)ができる場合には、その変曲点はTDCの近傍にできるので、TDCをその変曲点に代えて1つの変曲点に設定している。これにより、圧縮上死点位置TDC近傍の変曲点を算出する処理を省略でき、処理速度を早くすることができる。
【0034】
こうして気筒毎およびサイクル毎に指圧線全体の変曲点の数を算出した後、図2のステップS600に進む。このステップS600では、気筒毎およびサイクル毎に、筒内圧データPdata[i]に基づき筒内圧波形(指圧線)に含まれる振動波形を抽出し、その振動成分の振幅相当量Amp[i]を算出する。
【0035】
次に、変曲点の数が1と判定された場合にステップS600で実行される振幅相当量Amp[i]の計算処理を図6および図7に基づいて説明する。上記ステップS500で変曲点が1つと判定された場合、気筒毎およびサイクル毎に、筒内圧Pの上昇中(0<i<imax)と、筒内圧Pの下降中(imax<i<size)とに分けて振幅相当量Amp[i]を計算する。
【0036】
まず、筒内圧データPdata[i]のデータ数iが0〜imaxまでの筒内圧上昇中(0<i<imax)、すなわち図12で筒内圧PがPmaxに達するまでのクランク角区間では、上記ステップS510から図6のステップS610に進み、同図に示す計算処理を実行する。
【0037】
このステップS610は、データ数iが0〜imaxまでのクランク角区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップS610では、最初にiを0に設定し、iがimaxになるまでの間、ステップS614以下の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0038】
iがimaxになるまでの間はステップS610の判定結果はYESになり、ステップS614に進む。このステップS614では、筒内圧データの単位期間当たりの変化量DLP[i](DLP[i]=Pdata[i]−Pdata[i−1])を算出し、DLP[i]が負または0であるか否かを判定する。DLP[i]が正の場合、すなわち筒内圧データの今回値Pdata[i]がその前回値Pdata[i−1]より大きい場合、ステップS614の判定結果はNOになり、ステップS616に進み、振幅相当量Amp[i]およびt-ampを共に0に設定する。
【0039】
この後、ステップS610に戻り、筒内圧データのデータ数iを1だけインクリメントし(i←i+1)、iがimaxより小さいか否かを判定する。i<imaxでかつDLP[i]が正の間は、ステップS610の判定結果はYESでかつステップS614の判定結果はNOであるので、ステップS610,S614およびS616が繰り返し実行される。その間、ステップS610でデータ数iが1ずつインクリメントされていくとともに、Amp[i]およびt-ampは共に0のままに維持される。
【0040】
こうして、ステップS610,S614およびS616が繰り返される間に、図10の符号90で示すように筒内圧が低下すると、筒内圧データの今回値DLP[i]がその前回値Pdata[i−1]より小さくなり、DLP[i]が負になるので、ステップS614からステップS618に進む。
【0041】
このステップS618では、t-ampとDLP[i]の加算値をt-ampとして設定する。このとき、t-ampは上記ステップS616で0に設定されているので、このステップS618で設定されるt-ampはDLP[i]に等しい。
【0042】
この後、ステップS620に進み、筒内圧データの今回値と次回値の変化量DLP[i+1](DLP[i+1]=Pdata[i+1]−Pdata[i])が正であるか否かを判定する。図10の区間90で示すようにその変化量DLP[i+1]が負の場合には、ステップS622に進み、振幅相当量Amp[i]を0に維持する。
【0043】
この後、ステップS610に戻り、ステップS614に進む。このとき、ステップS614では、前回算出した変化量DLP[i]よりデータ数が1つ増えたデータ数iの筒内圧データ(今回値)とその前回値の変化量DLP[i]を算出し、その変化量が負または0であるか否かについて判定する。つまり、図10の区間90で、DLP[i+1]が負または0であるか否かを判定する。DLP[i+1]は負であるので、ステップS614の判定結果はYESになり、ステップS618に進む。このとき、t-amp=DLP[i]であるので、ステップS618で設定されるt-ampはDLP[i]にDLP[i+1]を加算した値に設定される。
【0044】
この後、ステップS620に進み、筒内圧データの今回値と次回値の変化量DLP[i+1]が正であるか否かを判定する。ここでは、図10の場合でいうと、その今回値に相当する区間90のi+1位置の筒内圧と、その次回値であるi+2位置の筒内圧の変化量が正であるか否かを判定する。同図の場合、筒内圧はi+1位置からi+2位置の間で上昇に転じているので、ステップS620の判定結果がYESになり、ステップS624に進む。
【0045】
このステップS624では、ステップS618で設定したt-amp(負の値)の絶対値を振幅相当量Amp[i]として設定する。こうして、筒内圧上昇中には(データ数iが0〜imaxまでのクランク角区間では)、図10の区間90、91、92のように筒内圧データの変化量DLP[i]が負である各区間内での同変化量の総和の絶対値を振幅相当量Amp[i]として算出する。
【0046】
そして、データ数iがimaxに達すると、ステップS610の判定結果がNOになるので、ステップS612に進み、図6の計算処理を終了する。また、i=imaxの位置では、変化量DLP[i]は0に設定される。
【0047】
次に、変曲点が1つと判定された場合、気筒毎およびサイクル毎に、筒内圧Pの下降中(imax<i<size)に、図7の計算処理が実行される。筒内圧データPdata[i]のデータ数iがimax〜sizeまでの筒内圧下降中、すなわち図12で筒内圧PがPmaxから低下し続けるクランク角区間では、上記ステップS510から図7のステップS630に進み、図7に示す計算処理を実行する。
【0048】
このステップS630は、データ数iがimax〜sizeまでのクランク角区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップS630では、最初にiをimax+1に設定し、iがsizeになるまでの間、ステップS634以下の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0049】
iがsizeになるまでの間はステップS630の判定結果はYESになり、ステップS634に進む。このステップS634では、筒内圧データの単位期間当たりの変化量DLP[i]を算出し、DLP[i]が正または0であるか否かを判定する。DLP[i]が負の場合、ステップS634の判定結果はNOになり、ステップS636に進み、振幅相当量Amp[i]およびt-ampを共に0に設定する。
【0050】
この後、ステップS630に戻り、筒内圧データのデータ数iを1だけインクリメントし(i←i+1)、iがsizeより小さいか否かを判定する。i<sizeでかつDLP[i]が負の間は、ステップS630の判定結果はYESでかつステップS634の判定結果はNOであるので、ステップS630,S634およびS636が繰り返し実行される。その間、ステップS630でデータ数iが1ずつインクリメントされていくとともに、Amp[i]およびt-ampは共に0のままに維持される。
【0051】
こうして、ステップS630,S634およびS636が繰り返される間に、図11の符号95で示すように筒内圧が上昇すると、筒内圧データの今回値Pdata[i]がその前回値Pdata[i−1]より大きくなり、DLP[i]が正になるので、ステップS634からステップS638に進む。
【0052】
このステップS638では、t-ampとDLP[i]の加算値をt-ampとして設定する。このとき、t-ampは上記ステップS636で0に設定されているので、このステップS638で設定されるt-ampはDLP[i]に等しい。
【0053】
この後、ステップS640に進み、筒内圧データの今回値と次回値の変化量DLP[i+1](DLP[i+1]=Pdata[i+1]−Pdata[i])が負であるか否かを判定する。図11の区間95で示すようにその変化量DLP[i+1]が正の場合には、ステップS642に進み、振幅相当量Amp[i]を0に維持する。
【0054】
この後、ステップS630に戻り、ステップS634に進む。このとき、ステップS634では、前回算出した変化量DLP[i]よりデータ数が1つ増えたデータ数iの筒内圧データ(今回値)とその前回値の変化量DLP[i]を算出し、その変化量が正または0であるか否かについて判定する。つまり、図11の区間95で、DLP[i+1]が正または0であるか否かを判定する。DLP[i+1]は正であるので、ステップS634の判定結果はYESになり、ステップS638に進む。このとき、t-amp=DLP[i]であるので、ステップS638で設定されるt-ampはDLP[i]にDLP[i+1]を加算した値に設定される。
【0055】
この後、ステップS640に進み、筒内圧データの今回値と次回値の変化量DLP[i+1]が負であるか否かを判定する。ここでは、図11の場合でいうと、その今回値に相当する区間95のi+1位置の筒内圧と、その次回値であるi+2位置の筒内圧の変化量が負であるか否かを判定する。同図の場合、筒内圧はi+1位置からi+2位置の間で下降に転じているので、ステップS640の判定結果がYESになり、ステップS644に進む。
【0056】
このステップS644では、ステップS638で設定したt-amp( 正の値)を振幅相当量Amp[i]として設定する。こうして、筒内圧下降中には(データ数iがi〜sizeまでのクランク角区間では)、図11の区間94、95、96のように筒内圧データの変化量DLP[i]が正である各区間内での同変化量の総和を振幅相当量Amp[i]として算出する。そして、データ数iがsizeに達すると、ステップS630の判定結果がNOになるので、ステップS632に進み、図7の計算処理を終了する。
【0057】
このようにして、指圧線全体の変曲点が1つの場合、気筒毎およびサイクル毎に、筒内圧データPdata[i]に基づき筒内圧波形(指圧線)に含まれる振動波形を抽出し、その振動成分の振幅相当量Amp[i]を算出することができる。こうして気筒毎およびサイクル毎に算出される振幅相当量Amp[i]を、図13で示してある。
【0058】
次に、上記ステップS500で変曲点の数が3と判定された場合に、ステップS600で実行される振幅相当量Amp[i]の計算処理について説明する。
(1)まず、筒内圧P上昇中のクランク角区間(0<i<TDC)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が負である各区間内での同変化量の総和の絶対値を振幅相当量Amp[i]として算出する。
【0059】
(2)次に、圧縮上死点位置(i=TDC)では、振幅相当量Amp[i]を0に設定する。
(3)次に、筒内圧P下降中のクランク角区間(TDC<i<imin)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が正である各区間内での同変化量の総和を振幅相当量Amp[i]として算出する。
【0060】
(4)次に、筒内圧最小値Pminの位置(i=imin)では、振幅相当量Amp[i]を0に設定する。
(5)次に、筒内圧P上昇中のクランク角区間(imin<i<imax)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が負である各区間内での同変化量の総和の絶対値を振幅相当量Amp[i]として算出する。
【0061】
(6)次に、筒内圧最大値Pmaxの位置(i=imax)では、振幅相当量Amp[i]を0に設定する。
(7)そして、筒内圧P下降中のクランク角区間(imax<i<size)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が正である各区間内での同変化量の総和を振幅相当量Amp[i]として算出する。
【0062】
このようにして、指圧線全体の変曲点が3つの場合、気筒毎およびサイクル毎に、筒内圧データPdata[i]に基づき筒内圧波形(指圧線)に含まれる振動波形を抽出し、図13で示すその振動成分の振幅相当量Amp[i]を算出することができる。上記ステップS600が振動成分抽出手段に相当する。
【0063】
このようにして上記ステップS600で振幅相当量Amp[i]を計算した後、図2のステップS700に進む。このステップS700では、気筒毎およびサイクル毎に、1サイクル中の第1ゲート区間内での振幅相当量Amp[i]の最大値Ampmaxを算出する。その第1ゲート区間は、図12で示すように、上記ステップS200で算出したimax前後のα+βのクランク角区間である。
【0064】
ステップS700の処理を図8のフローチャートに基づいて説明する。
まず、ステップS710では、データ数iがimax−αからimax−βまでの第1ゲート区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップS710では、最初にiをimax−αに設定し、iがimax−βになるまでの間、ステップS710、S720およびS730の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0065】
iがimax−βになるまでの間はステップS710の判定結果はYESになり、ステップS720に進む。このステップS720では、振幅相当量Amp[i]の今回値が最大値Ampmaxを超えているか否かを判定する。その今回値がAmpmax以下の場合には、ステップS710に戻る。一方、その今回値がAmpmaxを超えている場合には、ステップS720に進み、振幅相当量Amp[i]の今回値をAmpmaxとして設定する。この後、ステップS710に戻る。
【0066】
こうして、データ数iがimax−αからimax−βまでの第1ゲート区間において、振幅相当量Amp[i]の今回値が最大値Ampmaxを超える度にその今回値でAmpmaxを更新していくことで、第1ゲート区間内での最大値Ampmaxを算出する。なお、上記ステップS700が、振幅最大値算出手段に相当する。
【0067】
この後、図2のステップS800に進み、気筒毎に、しきい値1としきい値2を設定する(図14参照)。このステップS800では、ステップS700で算出した最大値Ampmaxの任意サイクル(例えば100サイクル)分の加算平均値と、その標準偏差σを3倍した値との加算値(任意サイクル平均値+3σ)をしきい値1として算出する。また、最大値Ampmaxの任意サイクル分の加算平均値(任意サイクル平均値)をしきい値2として算出する。なお、このステップS800が、しきい値算出手段に相当する。
【0068】
この後、図3のステップS900に進み、気筒毎およびサイクル毎にノック判定を行なう。このステップS900では、上記ステップS700で算出した振幅相当量Amp[i]の最大値Ampmaxと、振動成分の繰り返し性の有無とに基づき、気筒毎およびサイクル毎にノック判定を行なう。
【0069】
ステップS900の処理(「ノックORノイズ判定処理」)を図9のフローチャートに基づいて説明する。
まず、ステップS910では、ステップS700で算出した振幅相当量Amp[i]の最大値AmpmaxがステップS800で設定したしきい値1を超えているか否かについて判定する。この判定結果がNOの場合、すなわち最大値Ampmaxがしきい値1以下の場合、ステップS960に進み、「ノイズ」と判定される。こうして、気筒毎に最大値Ampmaxがしきい値1以下のサイクルについては、「ノイズ」と判定される。
【0070】
また、ステップS910の判定結果がYESの場合、すなわち最大値Ampmaxがしきい値1を超えている場合には、振動が大きくノックである可能性が高いので、次のステップ920に進む。このステップS920では、データ数iが最大値Ampmaxの位置であるiampmaxからiampmax+γまでの第2ゲート区間(図14参照)で計算処理がなされるように、ゲートをかけている。すなわち、このステップS920では、最初にiをiampmaxに設定し、iがiampmax+γになるまでの間、ステップS920〜S970の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0071】
iがiampmax+γになるまでの間はステップS920の判定結果はYESになり、ステップS930に進む。このステップS930では、振幅相当量Amp[i]の今回値がステップS800で設定したしきい値2を超えているか否かを判定する。この判定結果がNOの場合にはステップS920に戻る。一方、その判定結果がYESの場合にはステップS940に進む。
【0072】
このステップS940では、振幅相当量Amp[i]がしきい値2を超える回数である振幅繰り返し数Nを1だけインクリメントする。なお、ステップS940では、iampmaxでの最大値Ampmaxを含めて振幅繰り返し数Nをカウントする。つまり、図9の処理が開始されたときのiampmaxの位置で、ステップS940において振幅繰り返し数Nが1に設定されるようになっている。この後、ステップS920に戻る。
【0073】
こうしてiがiampmax+γになるまでの第2ゲート区間内に、最大値Ampmaxを含めて振幅相当量Amp[i]がしきい値2を超えた振幅繰り返し数Nをカウントする。
【0074】
そして、iがiampmax+γになると、ステップS920の判定結果がNOになり、ステップS950に進む。このステップS950では、ステップS940で設定した振幅繰り返し数Nがしきい値3を超えているか否かを判定する。振幅繰り返し数Nがしきい値3以下の場合には、ステップS950の判定結果がNOになり、上記ステップS960に進み、「ノイズ」と判定される。すなわち、ノック無しサイクルであるノイズサイクルと判定される。一方、振幅繰り返し数Nがしきい値3を超えている場合には、ステップS950の判定結果がYESになり、ステップS970に進み、「ノック」と判定される。すなわち、ノック有りサイクルであるノックサイクルと判定される。
【0075】
このようにして、気筒毎に、次の2つの条件が成立したサイクルについては、「ノック」と判定される(ステップS970)。(条件1)図14で示すように、第1ゲート区間内での最大値Ampmaxがしきい値1を超えている(ステップS910でYES)。(条件2)第2ゲート区間内での振幅繰り返し数Nがしきい値3を超えている(ステップS950でYES)。すなわち、振動成分の繰り返し性が有ると判定される。
【0076】
これに対して、最大値Ampmaxがしきい値1以下(ステップS910でNO)となる各気筒のサイクル、或いは振幅繰り返し数Nがしきい値3以下(ステップS950でNO)となる各気筒のサイクルは、いずれもノック無し、すなわち「ノイズ」(ノイズサイクル)と判定される。なお、上記ステップS900が、ノック判定手段に相当する。
【0077】
そして、図3に示す上記ステップS960に進み、「ノイズ」と判定された場合には、図3のステップS1000に進む。このステップS1000では、図2の上記ステップS800で算出したしきい値1,しきい値2を再計算する。すなわち、任意サイクルのうちステップS900でノック無しと判定されたノイズサイクルだけの最大値Ampmaxの加算平均値と、その標準偏差σを3倍した値との加算値(ノイズサイクルのAmpmaxの平均値+3σ)をしきい値1として算出する。また、ノイズサイクルだけの最大値Ampmaxの加算平均値(ノイズサイクルのAmpmaxの平均値)をしきい値2として算出する。このステップS1000も、しきい値設定手段に相当する。
【0078】
この後、ステップS1100に進み、しきい値の収束判定を行なう。すなわち、ステップS1000で再計算したしきい値2の今回値が前回のしきい値2(しきい値2の前回値)と同じになったか否かを判定する。しきい値2の今回値がその前回値と同じになるまでは、ステップS900、S960およびS1000が繰り返されるので、しきい値1,しきい値2がそれぞれ徐々に下がっていく(図12参照)。また、その間にステップS900の判定結果がYESになる場合には、ステップS970に進み「ノック」と判定される。こうして、しきい値2の今回値がその前回値と同じになるまでは、「ノック」と判定されるサイクルを除外しながら(図15参照)、ノック無しと判定されたノイズサイクルだけの最大値Ampmaxの加算平均値とその標準偏差σとに基づき両しきい値1,2が再計算される。
【0079】
そして、しきい値2の今回値がその前回値と同じになり、ステップS1100の判定結果がYESになると、ステップS1200に進み、ステップS900〜S1100の繰り返し判定を終了する。これにより、気筒毎およびサイクル毎に「ノック」か「ノイズ」の判定結果(k,cycle)=「ノック」OR「ノイズ」が得られる。ここで、kは気筒番号であり、cycleはサイクル番号である。例えば、気筒#1の4サイクル目が「ノック」の場合には、(1,4)=「ノック」という判定結果が得られる。こうして、ステップS1100の判定結果がYESになった時点でノック無しと判定されていたサイクルが最終的に「ノイズ」となり、それ以外のサイクルは「ノック」となる。
【0080】
この後、図4に示すステップS1300に進む。このステップS1300では、高速データロガー26から取り込んだ各気筒のブロック振動センサ出力(任意サイクル分のブロック振動データ)を、気筒毎にノックサイクルとノイズサイクルに分けて抽出する。つまり、このステップS1300では、上記ステップS1200で得られた気筒毎およびサイクル毎の「ノック」か「ノイズ」の判定結果に基づき、任意サイクル分の各ブロック振動センサ出力をノックサイクルとノイズサイクルとに層別する。例えば、任意サイクルの2サイクル目では、気筒#1,#3,#2の各ブロック振動センサ出力はそれぞれノイズサイクル、気筒#4のブロック振動センサ出力はノックサイクル、というように任意サイクル分のブロック振動データを層別する。なお、図16(a)は、「ノック」と判定されるような大きな振動成分を含む各ブロック振動センサ23の生の出力信号(各ブロック振動センサ出力)を示している。また、図16(b)は「ノイズ」と判定されるような小さな振動成分を含む各ブロック振動センサ23の生の出力信号を示している。なお、このステップS1300が、振動センサ出力抽出手段に相当する。
【0081】
この後、ステップS1400に進む。このステップS1400では、ノックサイクルとノイズサイクルに分けて抽出した任意サイクル分の各ブロック振動センサ出力をそれぞれFFT処理する。これにより、1ノックサイクル毎のパワースペクトル(FFT結果a)と1ノイズサイクル毎のパワースペクトル(FFT結果t-b)とが算出される。図17(a),(b)は、図16(a),(b)の信号をそれぞれFFT処理して得られるパワースペクトルを示している。この図17(a),(b)の横軸は周波数を、縦軸は強度dbをそれぞれ示している。なお、このステップS1400がFFT処理手段に相当する。
【0082】
この後、ステップS1500に進む。このステップS1500では、任意サイクルのうちのノイズサイクル全てのFFT結果(t-b)を加算平均したノイズサイクルのパワースペクトル加算平均(FFT加算平均値b)を、次の式で算出する。
【0083】
b=ノイズサイクル全ての(t-b)の和/ノイズサイクル数
こうして計算されるFFT加算平均値bは、任意サイクルのうちの全てのノイズサイクルのパワースペクトルを加算平均したバックグランドレベルを表している。なお、このステップS1500が加算平均値算出手段に相当する。
【0084】
この後、ステップS1600に進む。このステップS1600では、各ノックサイクルのパワースペクトル(FFT結果a)とノイズサイクルのパワースペクトル加算平均(FFT加算平均値b)を比較し、差のある周波数区間nで、以下の各積分値An,Bn,Cnを算出する。
【0085】
すなわち、FFT結果aとFFT加算平均値bとの差分(a−b)がa−b≧0となる各周波数区間nでの、FFT結果aの積分値Anを算出する。また、各周波数区間nでの、FFT加算平均値bの積分値Bnを算出する。そして、各周波数区間nでの、差分(a−b)の積分値(Cn)を算出する。図18のグラフは、ある1つのノックサイクルにおいて、差分(a−b)がa−b≧0となる2つの周波数区間n1,n2での積分により得られる各積分値を示している。なお、図18の横軸は周波数を、その縦軸は強度dbをそれぞれ示している。
【0086】
この後、ステップS1700に進む。このステップS1700では、ステップS1600で算出した各積分値を使って、任意サイクル中のノックサイクル毎にノック強度を算出する。すなわち、上記周波数区間n毎の積分値CnとBnの割合Cn/Bnを求め、この割合に周波数区間n毎の積分値Anを掛けて1ノックサイクルにおける各周波数区間n1,n2,・・・での強度を得、これらの強度を足し合わせる。つまり、各ノックサイクルのノック強度を、次の式により算出する。
【0087】
ノック強度=(C1/B1×A1)+(C2/B2×A2)+(C3/B3×A3)+・・・+(Cn/Bn×An)
ここで、C1,B1,A1は、1ノックサイクル中での周波数区間n1の各積分値である。同様に、C2,B2,A2およびC3,B3,A3は、同じ1ノックサイクル中での周波数区間n2,n3の各積分値である。なお、ステップS1700がノック強度算出手段に相当する。
【0088】
この後、ステップS1800に進む。このステップS1800では、ステップS1700で算出した各ノックサイクルのノック強度を任意の強度段階(例えば、3段階)に分け、各段階の頻度を算出する。図19のグラフは、ノック強度とノック頻度の関係を示している。本実施形態では、図19に示すように、ノック強度に対して3つのしきい値を設けてTK(トレースノック),小ノック,中ノック,大ノックの4つの領域に分けている。すなわち、ノック強度を小ノック,中ノック,大ノックの3段階に分けている。そして、図19では、棒グラフ1は中ノックの頻度を、棒グラフ2は小ノックの頻度を、棒グラフ3はTKの頻度をそれぞれ示している。このような頻度をステップS1800で算出する。このステップS1800がノック頻度算出手段に相当する。
【0089】
この後、ステップS1900に進む。このステップS1900では、ステップS1700,1800でそれぞれ算出したノック強度とノック頻度の関係から、任意サイクル分サンプリングした定常データのノックレベルを決定する。すなわち、頻度が最も高い強度段階のノック強度を現在の運転条件でのノックレベルと決定する。例えば、図19に示すような場合には、中ノックの頻度が最も高いので、現在のノックレベルは中ノックと決定される。なお、ここにいう「定常データ」とは、ステップS10で設定した定常状態(エンジン回転数、吸入空気量、空燃比一定)と点火時期(一定値)でエンジン21を任意サイクル運転して得たデータをいう。
【0090】
以上説明したように、エンジン21の点火時期等を自動適合するには、ステップS10で定常状態と点火時期の設定を変えながら、各設定条件でエンジン21を任意サイクル運転して得たデータに基づき、上記ノックレベル算出処理を行う。これにより、各設定条件でのノックレベルをそれぞれ自動的に検出することができる。
【0091】
以上のように構成された一実施形態によれば、以下の作用効果を奏する。
(イ)各気筒のブロック振動センサ23の出力を、ノック有りと判定されたノックサイクルとノック無しと判定されたノイズサイクルに分けて抽出する(ステップSS1300)。これにより、筒内圧を利用して1サイクル毎に、絶対にノックの発生していないサイクルと、少なくとも筒内ではノックが発生しているサイクルとに層別できる。このため、各筒内圧センサ出力と同時に各ブロック振動センサ出力を計測することで、筒内圧情報をもとにノック有り無しの層別を人間の手を借りることなく自動的に行なうことができる。したがって、エンジン21の点火時期等を自動適合する際に、狙いのノックレベルを自動検出可能になり、点火時期等の自動適合が可能になる。
【0092】
(ロ)ステップS1600で、各ノックサイクルのパワースペクトル(FFT結果a)とノイズサイクルのパワースペクトル加算平均(FFT加算平均値b)を比較し、差のある周波数区間nで積分値An,Bn,Cnを算出する。そして、ステップS1700で、算出した各積分値を使って任意サイクル中のノックサイクル毎にノック強度を算出する。つまり、任意サイクル中のノックサイクル毎にノック強度を算出するのに、FFT結果aとFFT加算平均値bの周波数毎の差分(a−b)をノックとしている。これにより、各ブロック振動センサ出力にバックグラウンドノイズ以上の振動が含まれていれば、間違いなく音としてノックが発生していることになる。このようなシリンダヘッド、シリンダブロックを通して外部へノック音として伝わるノックを、FFT結果aとFFT加算平均値bの周波数毎の差分で表すことができる。
【0093】
(ハ)自動適合時にノックを自動検出する狙いのノックレベルは聴感上許容可能なノックレベルであり、このような狙いのノックレベルを自動検出するためには、ノックレベルを定量的に扱う必要がある。聴感上許容可能なノックレベルは、1回当たりに聞えるノック強度とその頻度により決まる。そのうちのノック強度を算出できる。つまり、ノックサイクル毎のノック強度を算出するのに、差分(a−b)の積分値Cnとバックグラウンドレベルを表すFFT加算平均値bの積分値Bnとの割合(Cn/Bn)を求める(ステップS1700)。これにより、ノック強度自体のバックグラウンド補正を行うことができる。
【0094】
また、その割合(Cn/Bn)にFFT結果aの積分値Anを掛けて各周波数区間nでの強度を得、これらの強度を足し合わせてノックサイクル毎のノック強度を算出する(ステップS1700)。これにより、ノックサイクル毎のノック強度を、ノック共振周波数1次,2次,・・・の全体を集約して表すことができる。このため、人間によりしきい値を設定することなく、ノック強度を算出することができる。
【0095】
(ニ)ステップS1700で算出したノック強度毎に任意サイクル中のノック頻度を算出する(ステップS1800)。こうして求めたノック強度とノック頻度からノックレベルを算出する(ステップS1900)。このように、ノック強度に加えてノック頻度を算出し、ノック強度とその頻度からノックレベルを算出することで、現在の運転条件でのノックレベルを自動検出することができる。
【0096】
(ホ)ノック強度を任意の強度段階に分け、各段階の頻度を算出し(ステップS1800)、算出した頻度が最も高い強度段階のノック強度を現在のノックレベルと決定する(ステップS1900)。これにより、ノックレベルを定量的に扱うことができ、聴感上許容可能なノックレベルを自動的に検出することができる。
【0097】
(ト)ステップS1500で算出するノイズサイクルのパワースペクトル加算平均(FFT加算平均値b)は、任意サイクル全体のバックグラウンドレベルを表している。このバックグラウンドレベルと各ノックサイクルのパワースペクトル(FFT結果a)とを比較し、各周波数区間nでの差分(a−b)の積分値Cnに基づきノック強度を算出する(ステップS1700)。このため、各ノックサイクルで安定したノック強度を得ることができる。これにより、ステップS1900でより正確なノックレベルを決定することができる。
【0098】
[ 変形例]
なお、この発明は以下のように変更して具体化することもできる。
・上記一実施形態では、ステップS1400,1500で算出したノックサイクルのパワースペクトルaと、ノイズサイクルのパワースペクトル加算平均bをそのままステップS1600及びS1700での計算に使用しているが、本発明はこれに限定されない。例えば、ノック強度を求めるのに、各ブロック振動センサ出力のFFT結果にデジタルフィルタ処理によりバンドパスフィルタをかけて各周波数区間での差分(a−b)を抽出し、これを積分するようにしてもよい。
【0099】
・上記一実施形態において、しきい値1を、最大値Ampmaxの任意サイクル分の加算平均値と、その標準偏差σを3以外の整数倍した値との加算値としてもよい。
【0100】
・上記一実施形態では、本発明を4気筒のエンジン21に適用した例を示したが、本発明は多気筒の内燃機関に広く適用可能である。
・上記一実施形態では、指圧線の圧縮上死点位置TDC近傍に極大値(変曲点)ができる場合には、その変曲点はTDCの近傍にできるので、TDCをその変曲点に代えて1つの変曲点に設定しているが、その変曲点の位置を算出して、この変曲点を1つの変曲点として設定するようにしても良い。
【0101】
・上記一実施形態では、高速データロガー26は、各筒内圧センサ出力を例えば200KHzでサンプリングしているが、そのサンプリング周波数は適宜変更可能である。
【0102】
・上記一実施形態において、図12に示す第1ゲート区間を図14に示す第2ゲート区間と同じにしても良い。
以下、上記一実施形態から把握できる技術思想について説明する。
【0103】
(1)各気筒の筒内圧を検出する複数の筒内圧センサを備えた自動適合用ノック自動検出装置において、
前記複数の筒内圧センサからそれぞれ出力される各筒内圧センサ出力を高周波サンプリングして、気筒毎およびサイクル毎に筒内圧データを収録する高速データ収録手段と、
前記筒内圧データに基づき、前記各筒内圧センサ出力に含まれる振動成分の振幅相当量を気筒毎およびサイクル毎に算出する振動成分抽出手段と、
気筒毎およびサイクル毎に、前記振幅相当量の最大値を算出する振幅最大値算出手段と、
前記最大値の任意サイクル分の加算平均値と標準偏差とからしきい値を算出するしきい値算出手段と、
前記最大値と前記振動成分の繰り返し性の有無とに基づくノック判定を気筒毎およびサイクル毎に行い、同最大値がしきい値を超えかつ前記繰り返し性が有る場合にノックと判定するノック判定手段と、
前記各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、前記判定結果に基づきノックサイクルとノイズサイクルに分けて抽出する振動センサ出力抽出手段と
を備えることを特徴とする自動適合用自動ノック検出装置。
【0104】
(2)上記(1)に記載の自動適合用ノック自動検出装置において、
前記各ノックサイクルのブロック振動センサ出力をFFT処理した1ノックサイクル毎のFFT結果(a)と、前記ノイズサイクル全てのブロック振動センサ出力をそれぞれFFT処理してそのFFT結果(t-b)を加算平均したFFT加算平均値(b)との差に基づき、任意サイクル中のノックサイクル毎にノック強度を算出するノック強度算出手段を備えることを特徴とする自動適合用自動ノック検出装置。
【0105】
(3)上記(2)に記載の自動適合用自動ノック検出装置において、
前記ノック強度算出手段により算出したノック強度毎に任意サイクル中のノック頻度を算出するノック頻度算出手段を備えることを特徴とする自動適合用自動ノック検出装置。
【0106】
(4)上記(3)に記載の自動適合用自動ノック検出装置において、
前記ノック強度と前記ノック頻度からノックレベルを算出するノックレベル算出手段とを備えることを特徴とする自動適合用ノック自動検出装置。
【0107】
(5)上記(4)に記載の自動適合用自動ノック検出装置において、
前記ノック頻度算出手段は、前記ノック強度を任意の強度段階に分けて各段階の頻度を算出し、前記ノックレベル算出手段は、前記ノック頻度算出手段により算出した頻度が最も高い強度段階のノック強度を現在のノックレベルと決定することを特徴とする自動適合用ノック自動検出装置。
【0108】
(6)内燃機関の点火時期等を自動適合する装置に適用され、各気筒の筒内圧センサ出力を任意サイクル分高周波サンプリングした筒内圧データに基づき気筒毎およびサイクル毎にノックかノイズの判定をするノック判定手段を備えた自動適合用ノック自動検出装置であって、
前記各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、前記判定結果に基づきノックサイクルとノイズサイクルに分けして抽出する振動センサ出力抽出手段と、
前記各ノックサイクルのブロック振動センサ出力をFFT処理した1ノックサイクル毎のFFT結果(a)と、前記ノイズサイクル全てのブロック振動センサ出力をそれぞれFFT処理してそのFFT結果(t-b)を加算平均したFFT加算平均値(b)との差に基づき、任意サイクル中のノックサイクル毎にノック強度を算出するノック強度算出手段と、
算出したノック強度毎に任意サイクル中のノック頻度を算出するノック頻度算出手段と、
前記ノック強度とノック頻度からノックレベルを算出するノックレベル算出手段とを備えることを特徴とする自動適合用ノック自動検出装置。
【図面の簡単な説明】
【図1】 一実施形態に係る自動適合用ノック自動検出装置の全体を模式的に示す構成図。
【図2】 ノックレベル算出処理を示すフローチャート。
【図3】 図2のノックレベル算出処理の続きを示すフローチャート。
【図4】 図3のノックレベル算出処理の続きを示すフローチャート
【図5】 図2のステップS500の処理内容を示すフローチャート。
【図6】 図2のステップS600における変曲点1つの場合で筒内圧上昇中の振幅相当量の計算処理を示すフローチャート。
【図7】 図2のステップS600における変曲点1つの場合で筒内圧下降中の振幅相当量の計算処理を示すフローチャート。
【図8】 図2のステップS700の処理内容を示すフローチャート。
【図9】 図3のステップS900の処理内容を示すフローチャート。
【図10】 変曲点1つの場合で筒内圧上昇中の振幅相当量の計算処理を示す説明図。
【図11】 変曲点1つの場合で筒内圧下降中の振幅相当量の計算処理を示す説明図。
【図12】 筒内圧波形を示すグラフ。
【図13】 図12の筒内圧波形から抽出した振動波形を示すグラフ。
【図14】 しきい値と振動成分の関係を示す説明図。
【図15】 しきい値の再計算についての説明図。
【図16】 (a)、(b)はそれぞれブロック振動センサの出力信号を示す説明図。
【図17】 (a)、(b)は図16(a)、(b)の出力信号をそれぞれFFT処理したパワースペクトルを示すグラフ。
【図18】 図17で得たパワースペクトルの比較および積分を示す説明図。
【図19】 ノック強度とノック頻度を示すグラフ。
【符号の説明】
21…内燃機関としてのエンジン、23…ブロック振動センサ、24…筒内圧センサ、25…増幅回路、26…高速データ収録手段としての高速データロガー、27…筒内圧解析用パソコン。

Claims (5)

  1. 内燃機関の点火時期等を自動適合する装置に適用され、各気筒の筒内圧センサ出力を任意サイクル分高周波サンプリングした筒内圧データに基づき気筒毎およびサイクル毎にノックかノイズの判定をするノック判定手段を備える自動適合用ノック自動検出装置であって、
    前記各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、前記ノック判定手段によりノック有りと判定されたノックサイクルとノック無しと判定されたノイズサイクルに分けて抽出する振動センサ出力抽出手段を備えることを特徴とする自動適合用ノック自動検出装置。
  2. 前記ノックサイクルと前記ノイズサイクルに分けて抽出した前記各気筒のブロック振動センサ出力をそれぞれFFT処理して1ノックサイクル毎のFFT結果(a)と1ノイズサイクル毎のFFT結果(t-b)を算出するFFT処理手段と、前記ノイズサイクル全ての前記FFT結果(t-b)を加算平均したFFT加算平均値(b)を算出する加算平均値算出手段とを備え、前記FFT結果(a)と前記FFT加算平均値(b)の周波数毎の差分(a−b)に基づき、任意サイクル中のノックサイクル毎にノック強度を算出することを特徴とする請求項1に記載の自動適合用ノック自動検出装置。
  3. 前記FFT結果(a)と前記FFT加算平均値(b)との差分(a−b)がa−b≧0となる各周波数区間での前記差分の積分値(Cn)と前記FFT加算平均値bの積分値(Bn)との割合(Cn/Bn)を求め、この割合に前記FFT結果(a)の積分値(An)を掛けて前記各周波数区間での強度を得、これらの強度を足し合わせてノックサイクル毎のノック強度を算出するノック強度算出手段を備えることを特徴とする請求項2に記載の自動適合用ノック自動検出装置。
  4. 前記ノック強度算出手段により算出したノック強度毎に任意サイクル中のノック頻度を算出するノック頻度算出手段と、前記ノック強度と前記ノック頻度から任意サイクルでのノックレベルを算出するノックレベル算出手段とを備えることを特徴とする請求項3に記載の自動適合用ノック自動検出装置。
  5. 前記ノック頻度算出手段は、前記ノック強度を任意の強度段階に分けて各段階の頻度を算出し、前記ノックレベル算出手段は、前記ノック頻度算出手段により算出した頻度が最も高い強度段階のノック強度を現在の運転条件でのノックレベルと決定することを特徴とする請求項4に記載の自動適合用ノック自動検出装置。
JP2002079614A 2002-03-20 2002-03-20 自動適合用ノック自動検出装置 Expired - Fee Related JP3821033B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002079614A JP3821033B2 (ja) 2002-03-20 2002-03-20 自動適合用ノック自動検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002079614A JP3821033B2 (ja) 2002-03-20 2002-03-20 自動適合用ノック自動検出装置

Publications (2)

Publication Number Publication Date
JP2003278593A JP2003278593A (ja) 2003-10-02
JP3821033B2 true JP3821033B2 (ja) 2006-09-13

Family

ID=29229011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002079614A Expired - Fee Related JP3821033B2 (ja) 2002-03-20 2002-03-20 自動適合用ノック自動検出装置

Country Status (1)

Country Link
JP (1) JP3821033B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4482571B2 (ja) 2007-04-19 2010-06-16 三菱電機株式会社 内燃機関のノック検出装置
US9477895B2 (en) * 2014-03-31 2016-10-25 Mitsubishi Electric Research Laboratories, Inc. Method and system for detecting events in an acoustic signal subject to cyclo-stationary noise
JP6444777B2 (ja) * 2015-03-06 2018-12-26 ダイハツ工業株式会社 ノッキングレベルの評価システム
JP2017207015A (ja) * 2016-05-19 2017-11-24 株式会社豊田自動織機 内燃機関のノック検出装置およびノック検出方法

Also Published As

Publication number Publication date
JP2003278593A (ja) 2003-10-02

Similar Documents

Publication Publication Date Title
US7669582B2 (en) Knocking state determination device
JP3668497B2 (ja) 内燃機関のノッキング検出方法及び点火時期制御方法
US7669459B2 (en) Knocking determination device for internal combustion engine
US7643932B2 (en) Knocking state determination device
US8000884B2 (en) Device and method for controlling ignition timing of internal combustion engine
EP1959122B1 (en) Internal combustion engine knocking judging device and knocking judging method
KR20020092246A (ko) 내연기관의 노킹제어장치
JP3821033B2 (ja) 自動適合用ノック自動検出装置
JP3851591B2 (ja) 自動適合用ノック自動検出装置
US7621172B2 (en) Knocking determination device for internal combustion engine
JP4096584B2 (ja) 内燃機関のノック自動検出装置
JP4167487B2 (ja) 内燃機関のノック検出装置
JP2004184228A (ja) ノッキング検出装置
JP3855811B2 (ja) 内燃機関のノック自動検出装置
JP6203896B1 (ja) 内燃機関のノッキング検出装置
JPH0579441A (ja) 内燃機関の点火時期制御装置
JP2000110653A (ja) エンジンのノッキング判定装置
Otaka et al. Development of a device that detects knocking by analyzing engine radiation noise
JP4799530B2 (ja) 内燃機関のノッキング判定装置およびノッキング判定方法
JP2011179322A (ja) ノック制御の適合方法、適合装置、および、ノック制御装置
JP2015125075A (ja) ピストンスラップ音信号検出方法とそれを用いたエンジン調整方法
JP6321556B2 (ja) ノッキング信号分析方法およびノッキング信号分析装置
JPH04326036A (ja) ノッキング検出方法
JPH0566151A (ja) ノツキング検出装置
JP2012163078A (ja) 内燃機関の燃焼制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060612

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120630

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120630

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130630

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees