(57)【特許請求の範囲】
【請求項１】
各気筒の筒内圧を検出する複数の筒内圧センサを備えた内燃機関のノック自動検出装置において、
前記複数の筒内圧センサからそれぞれ出力される各筒内圧センサ出力を高周波サンプリングして、気筒毎およびサイクル毎に筒内圧データを収録する高速データ収録手段と、
前記筒内圧データに基づき、前記各筒内圧センサ出力に含まれる振動成分の振幅相当量を気筒毎およびサイクル毎に算出する振動成分抽出手段と、
気筒毎およびサイクル毎に、前記振幅相当量の最大値を算出する振幅最大値算出手段と、
１サイクル中の第１ゲート区間内での前記最大値が第１しきい値を超えるとともに、前記振幅相当量が１サイクル中の第２ゲート区間内で前記第１しきい値より低い第２しきい値を超える回数が第３しきい値を超える場合にノックと判定するノック判定手段と
を備えることを特徴とする内燃機関のノック自動検出装置。
【請求項２】
前記筒内圧データに基づき気筒毎およびサイクル毎に筒内圧最大値とその位置を算出する最大値算出手段を備え、前記第１ゲート区間および第２ゲート区間は、前記筒内圧最大値の位置以降の所定期間をそれぞれ含むことを特徴とする請求項１に記載の内燃機関のノック自動検出装置。
【請求項３】
前記内燃機関の点火時期等を自動適合化する自動適合用ノック自動検出装置に適用され、
前記各筒内圧センサ出力を増幅する増幅回路と、該増幅回路で増幅された各筒内圧センサ出力を高周波サンプリングする前記高速データ収録手段としての高速データロガーと、前記振動成分抽出手段としての筒内圧解析用パーソナルコンピュータとを備えることを特徴とする請求項１又は２に記載の内燃機関のノック自動検出装置。
【請求項４】
前記内燃機関の運転状態を制御する電子制御装置に組み込んで車両に実装されるノック自動検出装置に適用され、
前記各筒内圧センサ出力を増幅する増幅回路と、該増幅回路で増幅された各筒内圧センサ出力を高周波サンプリングする前記高速データ収録手段としてのデジタル信号処理装置とを備え、
前記デジタル信号処理装置は、前記ノック判定手段によるノック判定の結果を前記電子制御装置内のマイクロコンピュータへ出力するように構成したことを特徴とする請求項１又は２に記載の内燃機関のノック自動検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各気筒の筒内圧を検出する複数の筒内圧センサを備えた内燃機関のノック自動検出装置に関する。
【０００２】
【従来の技術】
一般に、内燃機関としてのエンジンで発生するノック波形の周波数（ノック周波数）は、エンジン毎に異なり、シリンダのボア径で決まる。そのため、筒内圧センサの出力或いはブロック振動センサの出力からノック波形を抽出するのにバンドパスフィルタ等のフィルタを使う方法が主流である。
【０００３】
例えば、従来のノック検出装置として、各気筒の筒内圧センサの出力信号から所定のノック周波数帯域（１２〜１４ＫＨｚ程度）の振動成分をバンドパスフィルタ等のフィルタにより抽出し、抽出した振動成分の振幅最大値或いは積分値をしきい値と比較してノックかノイズの判別をするものが知られている。
【０００４】
【発明が解決しようとする課題】
ところが、上記従来技術では、ノックかノイズの判別をするためのしきい値が１つしかないので、ノック波形の周波数帯にノイズが乗る場合、ノック検出性が悪化するおそれがある。これは、筒内圧センサの出力信号からバンドパスフィルタ等のフィルタにより抽出したノック周波数帯域の振動成分にノイズが乗り、その振幅最大値或いはその振幅の積分値がしきい値を超えた場合、ノックと判定されてしまうからである。
【０００５】
また、上記従来技術では、筒内圧センサの出力信号からノック周波数帯域の振動成分をバンドパスフィルタ等のフィルタにより抽出するので、エンジン毎にノック周波数を事前に特定し、その周波数に応じたフィルタ中心波長をもつバンドパスフィルタを選定する必要がある。このようなノック周波数の特定とバンドパスフィルタの選定は、人間が行なう必要があるため、内燃機関の点火時期、燃料増量値、ＶＶＴ進角等の自動適合をする際に必須となるノックの自動検出ができない。
【０００６】
本発明は、このような従来の問題点に着目してなされたもので、その目的は、ノック検出性を向上して精度の高いノック判定を可能にするとともに、バンドパスフィルタ等のフィルタを使わずにノックを自動検出可能にした内燃機関のノック自動検出装置を提供することにある。
【０００７】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１に係る発明は、各気筒の筒内圧を検出する複数の筒内圧センサを備えた内燃機関のノック自動検出装置において、前記複数の筒内圧センサからそれぞれ出力される各筒内圧センサ出力を高周波サンプリングして、気筒毎およびサイクル毎に筒内圧データを収録する高速データ収録手段と、前記筒内圧データに基づき、前記各筒内圧センサ出力に含まれる振動成分の振幅相当量を気筒毎およびサイクル毎に算出する振動成分抽出手段と、気筒毎およびサイクル毎に、前記振幅相当量の最大値を算出する振幅最大値算出手段と、１サイクル中の第１ゲート区間内での前記最大値が第１しきい値を超えるとともに、前記振幅相当量が１サイクル中の第２ゲート区間内で前記第１しきい値より低い第２しきい値を超える回数が第３しきい値を超える場合にノックと判定するノック判定手段とを備えることを要旨とする。
【０００８】
この構成によれば、各筒内圧センサ出力を高速データ収録手段により高周波サンプリングした各気筒の筒内圧データに基づき、筒内圧波形に含まれる振動成分の振幅相当量を気筒毎およびサイクル毎に算出する。そして、振幅最大値算出手段により算出した振幅相当量の最大値と振動成分の繰り返し性の有無とに基づくノック判定をノック判定手段により気筒毎およびサイクル毎に行い、同最大値がしきい値を超えかつ前記繰り返し性が有る場合にノックと判定する。これにより、その繰り返し性が無く、ノック波形の周波数帯にノイズが乗ったために前記最大値がしきい値を超えた場合に、ノックと判定されるのを回避できる。このため、ノック周波数帯域の振動成分、つまりノック波形の周波数帯にノイズが乗る場合でも、ノックであるのかノイズであるのかの判定を精度良く行なうことができる。したがって、ノック検出性を向上することができ、精度の高いノック判定を行なうことができる。
【０００９】
また、各気筒の筒内圧データに基づき、各筒内圧センサ出力（各気筒の筒内圧波形）に含まれる振動成分の振幅相当量を気筒毎およびサイクル毎に算出することにより、振動波形（ノック波形）が得られる。このため、上記従来技術のように、エンジン毎にノック周波数を事前に特定し、その周波数に応じたフィルタ中心波長をもつバンドパスフィルタ等のフィルタを選定する必要がない。換言すると、ノック波形の周波数に関係なくノック波形を抽出できる。この結果、内燃機関の点火時期、燃料増量値、ＶＶＴ進角等を自動適合する際に必須となるノック波形の自動抽出が可能となる。したがって、バンドパスフィルタ等のフィルタを使わずにノックを自動検出することができる。
【００１１】
さらに上記構成によれば、次の２つの条件が同時に成立したときにノックと判定する。（条件１）第１ゲート区間内での前記最大値が第１しきい値を超えている。(条件２）前記振幅相当量が第２ゲート区間内で第１しきい値より低い第２しきい値を超える回数が第３しきい値を超えている。
【００１２】
このようにして前記最大値と前記振動成分の繰り返し性の有無とに基づくノック判定を気筒毎およびサイクル毎に実行する。これにより、前記最大値が第１しきい値を超えていても、前記回数が第３しきい値未満であれば、ノック周波数帯域の振動成分にノイズが乗っているために前記最大値が大きくなっていると判定できる。このため、ノック周波数帯域の振動成分にノイズが乗り、前記最大値がしきい値を超えてノックと判定されるのを回避できる。したがって、ノック検出性をより一層向上することができ、より精度の高いノック判定を行なうことができる。
【００１３】
請求項２に係る発明は、請求項１に記載の内燃機関のノック自動検出装置において、前記筒内圧データに基づき気筒毎およびサイクル毎に筒内圧最大値とその位置を算出する最大値算出手段を備え、前記第１ゲート区間および第２ゲート区間は、前記筒内圧最大値の位置以降の所定期間をそれぞれ含むことを要旨とする。
【００１４】
この構成によれば、各筒内圧センサ出力に含まれる振動成分がノック波形の場合、理想的にはその振幅相当量が筒内圧最大値の位置以降に徐々に減衰することが多いという特徴を利用してノック判定を行なうようにしている。すなわち、その位置以降の所定期間を含む第１ゲート区間内での前記最大値が第１しきい値を超えるとともに、その所定期間を含む第２ゲート区間内で第２しきい値を超える回数が第３しきい値を超える場合にノックと判定する。これにより、ノック波形の理想的な形に応じたノック判定を精度良く行なうことができる。
【００１５】
請求項３に係る発明は、請求項１又は２に記載の内燃機関のノック自動検出装置において、前記内燃機関の点火時期等を自動適合化する自動適合用ノック自動検出装置に適用され、前記各筒内圧センサ出力を増幅する増幅回路と、該増幅回路で増幅された各筒内圧センサ出力を高周波サンプリングする前記高速データ収録手段としての高速データロガーと、前記振動成分抽出手段としての筒内圧解析用パーソナルコンピュータとを備えることを要旨とする。
【００１６】
この構成によれば、バンドパスフィルタ等のフィルタを使わずに筒内圧を利用してノックを自動検出することができるので、内燃機関の点火時期、燃料増量値、ＶＶＴ進角等の自動適合が可能になる。
【００１７】
請求項４に係る発明は、請求項１又は２に記載の内燃機関のノック自動検出装置において、前記内燃機関の運転状態を制御する電子制御装置に組み込んで車両に実装されるノック自動検出装置に適用され、前記各筒内圧センサ出力を増幅する増幅回路と、該増幅回路で増幅された各筒内圧センサ出力を高周波サンプリングする前記高速データ収録手段としてのデジタル信号処理装置とを備え、前記デジタル信号処理装置は、前記ノック判定手段によるノック判定の結果を前記電子制御装置内のマイクロコンピュータへ出力するように構成したことを要旨とする。
【００１８】
この構成によれば、電子制御装置に組み込んで車両に実装される場合に、ノック検出性を向上することができ、精度の高いノック判定を行なうことができるとともに、バンドパスフィルタ等のフィルタを使わずに気筒毎およびサイクル毎にノックを自動検出することができる。
【００１９】
【発明の実施の形態】
以下、本発明に係る内燃機関のノック自動検出装置を具体化した各実施形態を図面に基づいて説明する。
【００２０】
[第１実施形態]
図１は、本発明を適用した第１実施形態に係る自動適合用ノック自動検出装置の全体構成を模式的に示している。この自動適合用ノック自動検出装置は、エンジンの点火時期、燃料増量値、ＶＶＴ進角等を自動適合化するための装置であり、筒内圧を利用してノックを自動検出するものである。ここにいう「ＶＶＴ」とは、エンジン２１の吸気カムシャフト（図示略）のクランクシャフト（図示略）に対する相対角を連続的に変化させるための可変バルブタイミング機構をいう。
【００２１】
エンジン２１には、クランク角センサ２２および筒内圧センサ２４が取り付けられている。筒内圧センサ２４は、４気筒エンジン２１の各気筒に設けられている。クランク角センサ２２は、クランクシャフトの１回転につき所定角度毎（例えば１５度毎）にパルス状の信号（クランク角信号）を出力する。このクランク角信号は、各気筒の圧縮上死点位置ＴＤＣを算出するのに用いられる。そして、各筒内圧センサ２４は、気筒毎の筒内圧（燃焼圧）をそれぞれ検出し、筒内圧信号を出力する。図８は、各気筒の筒内圧センサ２４の出力（筒内圧センサ出力）が表す１／２サイクル分の筒内圧波形（指圧線）を示している。この指圧線には、筒内圧が最大値Ｐｍａｘとなる位置付近（破線６５で囲んだ領域）に、ノック波形が含まれている。
【００２２】
自動適合用ノック自動検出装置（以下、単に「ノック自動検出装置」という。）は、増幅回路２５と、高速データ収録手段としての高速データロガー２６と、筒内圧解析用パソコン（パーソナルコンピュータ）２７とを備える。増幅回路２５は、４つの筒内圧センサ２４からそれぞれ出力される筒内圧センサ出力を増幅して高速データロガー２６に出力する。
【００２３】
高速データロガー２６は、増幅回路２５により増幅された各筒内圧センサ出力を高周波サンプリングして、気筒毎およびサイクル毎に単位期間毎の筒内圧データＰｄａｔａ［ｉ］を収録する。なお、高速データロガー２６による高周波サンプリングは、時間ベースまたはクランク角ベースのいずれでも良い。本実施形態では、高速データロガー２６は、各筒内圧センサ出力（各気筒の筒内圧波形）に含まれるノック波形（振動周波数が１２〜１４ＫＨｚ程度の振動成分）を精度良く解析して抽出するのに十分高い周波数、例えば２００ＫＨｚで各気筒の筒内圧信号をサンプリングする。
【００２４】
また、高速データロガー２６には、各筒内圧センサ出力の他に、クランク角センサ２２から出力されるクランク角信号が入力されている。これにより、高速データロガー２６は、デジタル信号に変換したクランク角信号と、各気筒の筒内圧データＰｄａｔａ［ｉ］とを同期して筒内圧解析用パソコン２７へ出力するようになっている。
【００２５】
また、筒内圧解析用パソコン２７は、高速データロガー２６にデータ計測指示を与えて、同データロガーから各気筒の筒内圧データＰｄａｔａ［ｉ］およびクランク角信号のデータを任意サイクル分（例えば、１００サイクル分）一括して取り込むようになっている。
【００２６】
また、筒内圧解析用パソコン２７には、「ノック判定処理」用のプログラムが組み込まれている。このノック判定処理では、各気筒の筒内圧データとクランク角信号とに基づき、各筒内圧センサ出力に含まれるノック波形等の振動成分の振幅相当量Ａｍｐ［ｉ］（図９に示す振動波形）を気筒毎およびサイクル毎に算出し、ノック判定を行なう。
【００２７】
次に、この「ノック判定処理」について図２〜図１３を参照して説明する。
まず、図２に示すフローチャートのステップＳ１０で、エンジン２１の運転状態を定常状態に設定し、所定の運転条件および所定の点火時期にてエンジン２１を運転する。つまり、エンジン２１を、エンジン回転数、吸入空気量および空燃比をそれぞれ一定に設定するとともに、点火時期を一定値に設定して運転する。
【００２８】
次に、ステップＳ１００に進み、高速データロガー２６により気筒毎にそれぞれ収録された筒内圧データＰｄａｔａ［ｉ］とクランク角信号を、上記任意サイクル分取り込む。ここで、高速データロガー２６による１サイクル当たりの筒内圧データのサンプリングデータ数をｓｉｚｅとすると、筒内圧データＰｄａｔａ［ｉ］は、ｉ＝０（吸気工程下死点付近の基準点で、クランク角０度）〜ｉ＝ｓｉｚｅ（クランク角７２０度）である。また、筒内圧解析用パソコン２７は、取り込んだクランク角信号に基づき、各気筒の圧縮上死点位置ＴＤＣを算出する。
【００２９】
次に、ステップＳ２００に進み、ステップＳ１００で取り込んだ各気筒の筒内圧データに基づき、気筒毎およびサイクル毎に筒内圧最大値Ｐｍａｘとその位置ｉｍａｘを算出する。このステップＳ２００が最大値算出手段に相当する。
【００３０】
次に、ステップＳ３００に進み、気筒毎およびサイクル毎に、筒内圧波形（指圧線）の形から点火時期の大遅角状態を検出する。具体的には、気筒毎およびサイクル毎に、ステップＳ２００で算出した筒内圧最大値Ｐｍａｘと圧縮上死点位置での筒内圧Ｐ［ｉ＝ＴＤＣ］との差が所定のしきい値を超えているか否かを判定する。その差がしきい値を超えている場合には大遅角状態ではないと判定されてステップＳ４００に進み、その差がしきい値以下の場合には、大遅角状態であると判定されてステップＳ３１０に進み、分析を終了する。
【００３１】
大遅角状態ではないと判定されてステップＳ４００に進むと、筒内圧データに基づき気筒毎およびサイクル毎に筒内圧最小値Ｐｍｉｎとその位置ｉｍｉｎを算出する。
【００３２】
次に、ステップＳ５００に進み、気筒毎およびサイクル毎に指圧線全体の変曲点の数を算出する。ここにいう、「指圧線全体」とは、１サイクルの指圧線をいう。このステップＳ５００では、図３に示すように、ステップＳ４００で算出した筒内圧最小値ＰｍｉｎとステップＳ１００で算出した圧縮上死点位置での筒内圧Ｐ［ｉ＝ＴＤＣ］を比較し、両者が等しい場合には指圧線全体の変曲点が１つであると判定し、そうでない場合には変曲点が３つであると判定する。つまり、筒内圧が圧縮上死点位置ＴＤＣの前後で上昇し続けて筒内圧最大値Ｐｍａｘに達し、この位置ｉｍａｘから筒内圧が下降し続ける場合には、指圧線全体の変曲点が１つであると判定される。この判定がなされると、ステップＳ５１０に進み、１つの変曲点の位置をｉｍａｘとして設定する。
【００３３】
一方、圧縮上死点位置ＴＤＣの近傍に極大値を持つ場合には、指圧線全体の変曲点が３つであると判定される。この判定がなされると、ステップＳ５２０に進み、３つの変曲点の位置をそれぞれＴＤＣ、ｉｍｉｎおよびｉｍａｘとして設定する。なお、指圧線の圧縮上死点位置ＴＤＣ近傍に極大値（変曲点）ができる場合には、その変曲点はＴＤＣの近傍にできるので、ＴＤＣをその変曲点に代えて１つの変曲点に設定している。これにより、圧縮上死点位置ＴＤＣ近傍の変曲点を算出する処理を省略でき、処理速度を早くすることができる。
【００３４】
こうして気筒毎およびサイクル毎に指圧線全体の変曲点の数を算出した後、図２のステップＳ６００に進む。このステップＳ６００では、気筒毎およびサイクル毎に、筒内圧データＰｄａｔａ［ｉ］に基づき筒内圧波形（指圧線）に含まれる振動波形を抽出し、その振動成分の振幅相当量Ａｍｐ［ｉ］を算出する。
【００３５】
次に、変曲点の数が１と判定された場合にステップＳ６００で実行される振幅相当量Ａｍｐ［ｉ］の計算処理を図４および図５に基づいて説明する。上記ステップＳ５００で変曲点が１つと判定された場合、気筒毎およびサイクル毎に、筒内圧Ｐの上昇中（０＜ｉ＜ｉｍａｘ）と、筒内圧Ｐの下降中（ｉｍａｘ＜ｉ＜ｓｉｚｅ）とに分けて振幅相当量Ａｍｐ［ｉ］を計算する。
【００３６】
まず、筒内圧データＰｄａｔａ［ｉ］のデータ数ｉが０〜ｉｍａｘまでの筒内圧上昇中（０＜ｉ＜ｉｍａｘ）、すなわち図８で筒内圧ＰがＰｍａｘに達するまでのクランク角区間では、上記ステップＳ５１０から図４のステップＳ６１０に進み、同図に示す計算処理を実行する。
【００３７】
このステップＳ６１０は、データ数ｉが０〜ｉｍａｘまでのクランク角区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップＳ６１０では、最初にｉを０に設定し、ｉがｉｍａｘになるまでの間、ステップＳ６１４以下の処理を繰り返しつつ、データ数ｉを１ずつインクリメント（ｉ←ｉ＋１）する。
【００３８】
ｉがｉｍａｘになるまでの間はステップＳ６１０の判定結果はＹＥＳになり、ステップＳ６１４に進む。このステップＳ６１４では、筒内圧データの単位期間当たりの変化量ＤＬＰ［ｉ］（ＤＬＰ［ｉ］＝Ｐｄａｔａ［ｉ］−Ｐｄａｔａ［ｉ−１］）を算出し、ＤＬＰ［ｉ］が負または０であるか否かを判定する。ＤＬＰ［ｉ］が正の場合、すなわち筒内圧データの今回値Ｐｄａｔａ［ｉ］がその前回値Ｐｄａｔａ［ｉ−１］より大きい場合、ステップＳ６１４の判定結果はＮＯになり、ステップＳ６１６に進み、振幅相当量Ａｍｐ［ｉ］およびｔ-ａｍｐを共に０に設定する。
【００３９】
この後、ステップＳ６１０に戻り、筒内圧データのデータ数ｉを１だけインクリメントし（ｉ←ｉ＋１）、ｉがｉｍａｘより小さいか否かを判定する。ｉ＜ｉｍａｘでかつＤＬＰ［ｉ］が正の間は、ステップＳ６１０の判定結果はＹＥＳでかつステップＳ６１４の判定結果はＮＯであるので、ステップＳ６１０，Ｓ６１４およびＳ６１６が繰り返し実行される。その間、ステップＳ６１０でデータ数ｉが１ずつインクリメントされていくとともに、Ａｍｐ［ｉ］およびｔ-ａｍｐは共に０のままに維持される。
【００４０】
こうして、ステップＳ６１０，Ｓ６１４およびＳ６１６が繰り返される間に、図１２の符号９０で示すように筒内圧が低下すると、筒内圧データの今回値ＤＬＰ［ｉ］がその前回値Ｐｄａｔａ［ｉ−１］より小さくなり、ＤＬＰ［ｉ］が負になるので、ステップＳ６１４からステップＳ６１８に進む。
【００４１】
このステップＳ６１８では、ｔ-ａｍｐとＤＬＰ［ｉ］の加算値をｔ-ａｍｐとして設定する。このとき、ｔ-ａｍｐは上記ステップＳ６１６で０に設定されているので、このステップＳ６１８で設定されるｔ-ａｍｐはＤＬＰ［ｉ］に等しい。
【００４２】
この後、ステップＳ６２０に進み、筒内圧データの今回値と次回値の変化量ＤＬＰ［ｉ＋１］（ＤＬＰ［ｉ＋１］＝Ｐｄａｔａ［ｉ＋１］−Ｐｄａｔａ［ｉ］）が正であるか否かを判定する。図１２の区間９０で示すようにその変化量ＤＬＰ［ｉ＋１］が負の場合には、ステップＳ６２２に進み、振幅相当量Ａｍｐ［ｉ］を０に維持する。
【００４３】
この後、ステップＳ６１０に戻り、ステップＳ６１４に進む。このとき、ステップＳ６１４では、前回算出した変化量ＤＬＰ［ｉ］よりデータ数が１つ増えたデータ数ｉの筒内圧データ（今回値）とその前回値の変化量ＤＬＰ［ｉ］を算出し、その変化量が負または０であるか否かについて判定する。つまり、図１２の区間９０で、ＤＬＰ［ｉ＋１］が負または０であるか否かを判定する。ＤＬＰ［ｉ＋１］は負であるので、ステップＳ６１４の判定結果はＹＥＳになり、ステップＳ６１８に進む。このとき、ｔ-ａｍｐ＝ＤＬＰ［ｉ］であるので、ステップＳ６１８で設定されるｔ-ａｍｐはＤＬＰ［ｉ］にＤＬＰ［ｉ＋１］を加算した値に設定される。
【００４４】
この後、ステップＳ６２０に進み、筒内圧データの今回値と次回値の変化量ＤＬＰ［ｉ＋１］が正であるか否かを判定する。ここでは、図１２の場合でいうと、その今回値に相当する区間９０のｉ＋１位置の筒内圧と、その次回値であるｉ＋２位置の筒内圧の変化量が正であるか否かを判定する。同図の場合、筒内圧はｉ＋１位置からｉ＋２位置の間で上昇に転じているので、ステップＳ６２０の判定結果がＹＥＳになり、ステップＳ６２４に進む。
【００４５】
このステップＳ６２４では、ステップＳ６１８で設定したｔ-ａｍｐ（負の値）の絶対値を振幅相当量Ａｍｐ［ｉ］として設定する。こうして、筒内圧上昇中には（データ数ｉが０〜ｉｍａｘまでのクランク角区間では）、図１２の区間９０、９１、９２のように筒内圧データの変化量ＤＬＰ［ｉ］が負である各区間内での同変化量の総和の絶対値を振幅相当量Ａｍｐ［ｉ］として算出する。
【００４６】
そして、データ数ｉがｉｍａｘに達すると、ステップＳ６１０の判定結果がＮＯになるので、ステップＳ６１２に進み、図４の計算処理を終了する。また、ｉ＝ｉｍａｘの位置では、変化量ＤＬＰ［ｉ］は０に設定される。
【００４７】
次に、変曲点が１つと判定された場合、気筒毎およびサイクル毎に、筒内圧Ｐの下降中（ｉｍａｘ＜ｉ＜ｓｉｚｅ）に、図５の計算処理が実行される。筒内圧データＰｄａｔａ［ｉ］のデータ数ｉがｉｍａｘ〜ｓｉｚｅまでの筒内圧下降中、すなわち図８で筒内圧ＰがＰｍａｘから低下し続けるクランク角区間では、上記ステップＳ５１０から図５のステップＳ６３０に進み、図５に示す計算処理を実行する。
【００４８】
このステップＳ６３０は、データ数ｉがｉｍａｘ〜ｓｉｚｅまでのクランク角区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップＳ６３０では、最初にｉをｉｍａｘ＋１に設定し、ｉがｓｉｚｅになるまでの間、ステップＳ６３４以下の処理を繰り返しつつ、データ数ｉを１ずつインクリメント（ｉ←ｉ＋１）する。
【００４９】
ｉがｓｉｚｅになるまでの間はステップＳ６３０の判定結果はＹＥＳになり、ステップＳ６３４に進む。このステップＳ６３４では、筒内圧データの単位期間当たりの変化量ＤＬＰ［ｉ］を算出し、ＤＬＰ［ｉ］が正または０であるか否かを判定する。ＤＬＰ［ｉ］が負の場合、ステップＳ６３４の判定結果はＮＯになり、ステップＳ６３６に進み、振幅相当量Ａｍｐ［ｉ］およびｔ-ａｍｐを共に０に設定する。
【００５０】
この後、ステップＳ６３０に戻り、筒内圧データのデータ数ｉを１だけインクリメントし（ｉ←ｉ＋１）、ｉがｓｉｚｅより小さいか否かを判定する。ｉ＜ｓｉｚｅでかつＤＬＰ［ｉ］が負の間は、ステップＳ６３０の判定結果はＹＥＳでかつステップＳ６３４の判定結果はＮＯであるので、ステップＳ６３０，Ｓ６３４およびＳ６３６が繰り返し実行される。その間、ステップＳ６３０でデータ数ｉが１ずつインクリメントされていくとともに、Ａｍｐ［ｉ］およびｔ-ａｍｐは共に０のままに維持される。
【００５１】
こうして、ステップＳ６３０，Ｓ６３４およびＳ６３６が繰り返される間に、図１３の符号９５で示すように筒内圧が上昇すると、筒内圧データの今回値Ｐｄａｔａ［ｉ］がその前回値Ｐｄａｔａ［ｉ−１］より大きくなり、ＤＬＰ［ｉ］が正になるので、ステップＳ６３４からステップＳ６３８に進む。
【００５２】
このステップＳ６３８では、ｔ-ａｍｐとＤＬＰ［ｉ］の加算値をｔ-ａｍｐとして設定する。このとき、ｔ-ａｍｐは上記ステップＳ６３６で０に設定されているので、このステップＳ６３８で設定されるｔ-ａｍｐはＤＬＰ［ｉ］に等しい。
【００５３】
この後、ステップＳ６４０に進み、筒内圧データの今回値と次回値の変化量ＤＬＰ［ｉ＋１］（ＤＬＰ［ｉ＋１］＝Ｐｄａｔａ［ｉ＋１］−Ｐｄａｔａ［ｉ］）が負であるか否かを判定する。図１３の区間９５で示すようにその変化量ＤＬＰ［ｉ＋１］が正の場合には、ステップＳ６４２に進み、振幅相当量Ａｍｐ［ｉ］を０に維持する。
【００５４】
この後、ステップＳ６３０に戻り、ステップＳ６３４に進む。このとき、ステップＳ６３４では、前回算出した変化量ＤＬＰ［ｉ］よりデータ数が１つ増えたデータ数ｉの筒内圧データ（今回値）とその前回値の変化量ＤＬＰ［ｉ］を算出し、その変化量が正または０であるか否かについて判定する。つまり、図１３の区間９５で、ＤＬＰ［ｉ＋１］が正または０であるか否かを判定する。ＤＬＰ［ｉ＋１］は正であるので、ステップＳ６３４の判定結果はＹＥＳになり、ステップＳ６３８に進む。このとき、ｔ-ａｍｐ＝ＤＬＰ［ｉ］であるので、ステップＳ６３８で設定されるｔ-ａｍｐはＤＬＰ［ｉ］にＤＬＰ［ｉ＋１］を加算した値に設定される。
【００５５】
この後、ステップＳ６４０に進み、筒内圧データの今回値と次回値の変化量ＤＬＰ［ｉ＋１］が負であるか否かを判定する。ここでは、図１３の場合でいうと、その今回値に相当する区間９５のｉ＋１位置の筒内圧と、その次回値であるｉ＋２位置の筒内圧の変化量が負であるか否かを判定する。同図の場合、筒内圧はｉ＋１位置からｉ＋２位置の間で下降に転じているので、ステップＳ６４０の判定結果がＹＥＳになり、ステップＳ６４４に進む。
【００５６】
このステップＳ６４４では、ステップＳ６３８で設定したｔ-ａｍｐ(正の値)を振幅相当量Ａｍｐ［ｉ］として設定する。こうして、筒内圧下降中には（データ数ｉがｉ〜ｓｉｚｅまでのクランク角区間では）、図１３の区間９４、９５、９６のように筒内圧データの変化量ＤＬＰ［ｉ］が正である各区間内での同変化量の総和を振幅相当量Ａｍｐ［ｉ］として算出する。そして、データ数ｉがｓｉｚｅに達すると、ステップＳ６３０の判定結果がＮＯになるので、ステップＳ６３２に進み、図５の計算処理を終了する。
【００５７】
このようにして、指圧線全体の変曲点が１つの場合、気筒毎およびサイクル毎に、筒内圧データＰｄａｔａ［ｉ］に基づき筒内圧波形（指圧線）に含まれる振動波形を抽出し、その振動成分の振幅相当量Ａｍｐ［ｉ］を算出することができる。こうして気筒毎およびサイクル毎に算出される振幅相当量Ａｍｐ［ｉ］を、図９および図１０で示してある。
【００５８】
次に、上記ステップＳ５００で変曲点の数が３と判定された場合に、ステップＳ６００で実行される振幅相当量Ａｍｐ［ｉ］の計算処理について説明する。
（１）まず、筒内圧Ｐ上昇中のクランク角区間（０＜ｉ＜ＴＤＣ）では、気筒毎およびサイクル毎に、筒内圧データの変化量ＤＬＰ［ｉ］が負である各区間内での同変化量の総和の絶対値を振幅相当量Ａｍｐ［ｉ］として算出する。
【００５９】
（２）次に、圧縮上死点位置（ｉ＝ＴＤＣ）では、振幅相当量Ａｍｐ［ｉ］を０に設定する。
（３）次に、筒内圧Ｐ下降中のクランク角区間（ＴＤＣ＜ｉ＜ｉｍｉｎ）では、気筒毎およびサイクル毎に、筒内圧データの変化量ＤＬＰ［ｉ］が正である各区間内での同変化量の総和を振幅相当量Ａｍｐ［ｉ］として算出する。
【００６０】
（４）次に、筒内圧最小値Ｐｍｉｎの位置（ｉ＝ｉｍｉｎ）では、振幅相当量Ａｍｐ［ｉ］を０に設定する。
（５）次に、筒内圧Ｐ上昇中のクランク角区間（ｉｍｉｎ＜ｉ＜ｉｍａｘ）では、気筒毎およびサイクル毎に、筒内圧データの変化量ＤＬＰ［ｉ］が負である各区間内での同変化量の総和の絶対値を振幅相当量Ａｍｐ［ｉ］として算出する。
【００６１】
（６）次に、筒内圧最大値Ｐｍａｘの位置（ｉ＝ｉｍａｘ）では、振幅相当量Ａｍｐ［ｉ］を０に設定する。
（７）そして、筒内圧Ｐ下降中のクランク角区間（ｉｍａｘ＜ｉ＜ｓｉｚｅ）では、気筒毎およびサイクル毎に、筒内圧データの変化量ＤＬＰ［ｉ］が正である各区間内での同変化量の総和を振幅相当量Ａｍｐ［ｉ］として算出する。
【００６２】
このようにして、指圧線全体の変曲点が３つの場合、気筒毎およびサイクル毎に、筒内圧データＰｄａｔａ［ｉ］に基づき筒内圧波形（指圧線）に含まれる振動波形を抽出し、図９および図１０で示すその振動成分の振幅相当量Ａｍｐ［ｉ］を算出することができる。上記ステップＳ６００が振動成分抽出手段に相当する。
【００６３】
このようにして上記ステップＳ６００で振幅相当量Ａｍｐ［ｉ］を計算した後、図２のステップＳ７００に進む。このステップＳ７００では、気筒毎およびサイクル毎に、１サイクル中の第１ゲート区間内での振幅相当量Ａｍｐ［ｉ］の最大値Ａｍｐｍａｘを算出する。その第１ゲート区間は、図８で示すように、上記ステップＳ２００で算出したｉｍａｘ前後のα＋βのクランク角区間である。
【００６４】
ステップＳ７００の処理を図６のフローチャートに基づいて説明する。
まず、ステップＳ７１０では、データ数ｉがｉｍａｘ−αからｉｍａｘ−βまでの第１ゲート区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップＳ７１０では、最初にｉをｉｍａｘ−αに設定し、ｉがｉｍａｘ−βになるまでの間、ステップＳ７１０、Ｓ７２０およびＳ７３０の処理を繰り返しつつ、データ数ｉを１ずつインクリメント（ｉ←ｉ＋１）する。
【００６５】
ｉがｉｍａｘ−βになるまでの間はステップＳ７１０の判定結果はＹＥＳになり、ステップＳ７２０に進む。このステップＳ７２０では、振幅相当量Ａｍｐ［ｉ］の今回値が最大値Ａｍｐｍａｘを超えているか否かを判定する。その今回値がＡｍｐｍａｘ以下の場合には、ステップＳ７１０に戻る。一方、その今回値がＡｍｐｍａｘを超えている場合には、ステップＳ７２０に進み、振幅相当量Ａｍｐ［ｉ］の今回値をＡｍｐｍａｘとして設定する。この後、ステップＳ７１０に戻る。
【００６６】
こうして、データ数ｉがｉｍａｘ−αからｉｍａｘ−βまでの第１ゲート区間において、振幅相当量Ａｍｐ［ｉ］の今回値が最大値Ａｍｐｍａｘを超える度にその今回値でＡｍｐｍａｘを更新していくことで、第１ゲート区間内での最大値Ａｍｐｍａｘを算出する。なお、上記ステップＳ７００が、振幅最大値算出手段に相当する。
【００６７】
この後、図２のステップＳ８００に進み、気筒毎に、第１しきい値としてのしきい値１と第２しきい値としてのしきい値２との２つのしきい値を設定する（図１０参照）。
【００６８】
この後、図２のステップＳ９００に進み、気筒毎およびサイクル毎にノック判定を行なう。このステップＳ９００では、上記ステップＳ７００で算出した振幅相当量Ａｍｐ［ｉ］の最大値Ａｍｐｍａｘと、振動成分の繰り返し性の有無とに基づき、気筒毎およびサイクル毎にノック判定を行なう。
【００６９】
ステップＳ９００の処理（「ノックＯＲノイズ判定処理」）を図７のフローチャートに基づいて説明する。
まず、ステップＳ９１０では、ステップＳ７００で算出した振幅相当量Ａｍｐ［ｉ］の最大値ＡｍｐｍａｘがステップＳ８００で設定したしきい値１を超えているか否かについて判定する。この判定結果がＮＯの場合、すなわち最大値Ａｍｐｍａｘがしきい値１以下の場合、ステップＳ９６０に進み、ノイズと判定される。こうして、気筒毎に最大値Ａｍｐｍａｘがしきい値１以下のサイクルについては、ノイズと判定される。
【００７０】
また、ステップＳ９１０の判定結果がＹＥＳの場合、すなわち最大値Ａｍｐｍａｘがしきい値１を超えている場合には、振動が大きくノックである可能性が高いので、次のステップ９２０に進む。このステップＳ９２０では、データ数ｉが最大値Ａｍｐｍａｘの位置であるｉａｍｐｍａｘからｉａｍｐｍａｘ＋γまでの第２ゲート区間（図１０参照）で計算処理がなされるように、ゲートをかけている。すなわち、このステップＳ９２０では、最初にｉをｉａｍｐｍａｘに設定し、ｉがｉａｍｐｍａｘ＋γになるまでの間、ステップＳ９２０〜Ｓ９７０の処理を繰り返しつつ、データ数ｉを１ずつインクリメント（ｉ←ｉ＋１）する。
【００７１】
ｉがｉａｍｐｍａｘ＋γになるまでの間はステップＳ９２０の判定結果はＹＥＳになり、ステップＳ９３０に進む。このステップＳ９３０では、振幅相当量Ａｍｐ［ｉ］の今回値がステップＳ８００で設定したしきい値２を超えているか否かを判定する。この判定結果がＮＯの場合にはステップＳ９２０に戻る。一方、その判定結果がＹＥＳの場合にはステップＳ９４０に進む。
【００７２】
このステップＳ９４０では、振幅相当量Ａｍｐ［ｉ］がしきい値２を超える回数である振幅繰り返し数Ｎを１だけインクリメントする。なお、ステップＳ９４０では、ｉａｍｐｍａｘでの最大値Ａｍｐｍａｘを含めて振幅繰り返し数Ｎをカウントする。つまり、図７の処理が開始されときのｉａｍｐｍａｘの位置で、ステップＳ９４０において振幅繰り返し数Ｎが１に設定されるようになっている。この後、ステップＳ９２０に戻る。
【００７３】
こうしてｉがｉａｍｐｍａｘ＋γになるまでの第２ゲート区間内に、最大値Ａｍｐｍａｘを含めて振幅相当量Ａｍｐ［ｉ］がしきい値２を超えた振幅繰り返し数Ｎをカウントする。
【００７４】
そして、ｉがｉａｍｐｍａｘ＋γになると、ステップＳ９２０の判定結果がＮＯになり、ステップＳ９５０に進む。このステップＳ９５０では、ステップＳ９４０で設定した振幅繰り返し数Ｎがしきい値３を超えているか否かを判定する。振幅繰り返し数Ｎがしきい値３以下の場合には、ステップＳ９５０の判定結果がＮＯになり、上記ステップＳ９６０に進み、ノイズと判定される。すなわち、ノック無しサイクルであるノイズサイクルと判定される。一方、振幅繰り返し数Ｎがしきい値３を超えている場合には、ステップＳ９５０の判定結果がＹＥＳになり、ステップＳ９７０に進み、ノックと判定される。すなわち、ノック有りサイクルであるノックサイクルと判定される。
【００７５】
このようにして、気筒毎に、次の２つの条件が成立したサイクルについては、ノックと判定される（ステップＳ９７０）。（条件１）図１０で示すように、第１ゲート区間内での最大値Ａｍｐｍａｘがしきい値１を超えている（ステップＳ９１０でＹＥＳ）。（条件２）第２ゲート区間内での振幅繰り返し数Ｎがしきい値３を超えている（ステップＳ９５０でＹＥＳ）。すなわち、振動成分の繰り返し性が有ると判定される。なお、上記ステップＳ９００がノック判定手段に相当する。
【００７６】
このようなノック判定によりノックと判定される場合の例を図１０で示してある。これに対して、図１１（ａ）で示すように最大値Ａｍｐｍａｘがしきい値１以下（ステップＳ９１０でＮＯ）となる各気筒のサイクル、或いは図１１（ｂ）で示すように振幅繰り返し数Ｎがしきい値３以下（ステップＳ９５０でＮＯ）となる各気筒のサイクルは、いずれもノイズ（ノイズサイクル）と判定される。なお、上記ステップＳ９００がノック判定手段に相当する。
【００７７】
以上のように構成された第１実施形態によれば、以下の作用効果を奏する。
（イ）各筒内圧センサ２４から出力される筒内圧センサ出力を高速データロガー２６により高周波サンプリングした各気筒の筒内圧データＰｄａｔａ［ｉ］に基づき、筒内圧波形に含まれる振動成分の振幅相当量Ａｍｐ［ｉ］を気筒毎およびサイクル毎に算出する。そして、図２のステップＳ７００で算出した振幅相当量の最大値Ａｍｐｍａｘと振動成分の繰り返し性の有無とに基づくノック判定をステップＳ９００により気筒毎およびサイクル毎に行い、最大値Ａｍｐｍａｘがしきい値１を超えかつ前記繰り返し性が有る場合にノックと判定する。これにより、その繰り返し性が無く、ノック波形の周波数帯にノイズが乗ったために最大値Ａｍｐｍａｘがしきい値を超えた場合に、ノックと判定されるのを回避できる。
【００７８】
このため、ノック周波数帯域の振動成分、つまりノック波形の周波数帯にノイズが乗る場合でも、ノックであるのかノイズであるのかの判定を精度良く行なうことができる。したがって、ノック検出性を向上することができ、精度の高いノック判定を行なうことができる。
【００７９】
（ロ）各気筒の筒内圧データＰｄａｔａ［ｉ］に基づき、各筒内圧センサ出力に含まれる振動成分の振幅相当量Ａｍｐ［ｉ］を気筒毎およびサイクル毎に算出することにより、振動波形（ノック波形）が得られる。このため、上記従来技術のように、エンジン毎にノック周波数を事前に特定し、その周波数に応じたフィルタ中心波長をもつバンドパスフィルタ等のフィルタを選定する必要がない。換言すると、ノック波形の周波数に関係なくノック波形を抽出できる。この結果、内燃機関の点火時期、燃料増量値、ＶＶＴ進角等を自動適合する際に必須となるノック波形の自動抽出が可能となる。したがって、バンドパスフィルタ等のフィルタを使わずにノックを自動検出することができる。
【００８０】
（ハ）上記２つの条件（条件１および２）が同時に成立したときにノックと判定する。このようにして最大値Ａｍｐｍａｘと前記振動成分の繰り返し性の有無とに基づくノック判定を気筒毎およびサイクル毎に実行する。これにより、最大値Ａｍｐｍａｘがしきい値１（第１しきい値）を超えていても、振幅繰り返し数Ｎが第３しきい値未満であれば、ノック周波数帯域の振動成分にノイズが乗っているために最大値Ａｍｐｍａｘが大きくなっていると判定できる。このため、ノック周波数帯域の振動成分にノイズが乗り、最大値Ａｍｐｍａｘがしきい値を超えてノックと判定されるのを回避できる。したがって、ノック検出性をより一層向上することができ、より精度の高いノック判定を行なうことができる。
【００８１】
（ニ）ステップＳ２００で筒内圧データＰｄａｔａ［ｉ］に基づき気筒毎およびサイクル毎に筒内圧最大値Ｐｍａｘとその位置ｉｍａｘを算出する。そして、図８に示す第１ゲート区間および図１０に示す第２ゲート区間は、筒内圧最大値の位置ｉｍａｘ以降の所定期間をそれぞれ含んでいる。これにより、各筒内圧センサ出力に含まれる振動成分がノック波形の場合、理想的にはその振幅相当量Ａｍｐ［ｉ］が位置ｉｍａｘの位置以降に徐々に減衰することが多いという特徴を利用してノック判定を行なうようにしている。すなわち、位置ｉｍａｘ以降の所定期間を含む第１ゲート区間内での最大値Ａｍｐｍａｘがしきい値１を超えるとともに、その所定期間を含む第２ゲート区間内でしきい値２を超える回数がしきい値３を超える場合にノックと判定する。これにより、ノック波形の理想的な形に応じたノック判定を精度良く行なうことができる。
【００８２】
（ホ）バンドパスフィルタ等のフィルタを使わずに筒内圧を利用してノックを自動検出することができるので、エンジン２１の点火時期、燃料増量値、ＶＶＴ進角等の自動適合が可能になる。
【００８３】
[第２実施形態]
図１４は、第２実施形態に係るノック自動検出装置の概略構成を示している。このノック自動検出装置は、エンジン２１の運転状態を制御する電子制御装置としてのエンジンコントロールユニット（以下、「ＥＣＵ」という。）３０に組み込んで車両に実装されるノック自動検出装置に本発明を適用したもの（ＥＣＵ実装の場合）である。
【００８４】
このノック自動検出装置は、４つの筒内圧センサ２４からそれぞれ出力される各筒内圧センサ出力を増幅する増幅回路２５と、増幅回路２５で増幅された各筒内圧センサ出力を高周波サンプリングするデジタル信号処理装置としてのＤＳＰ４０とを備えている。増幅回路２５とＤＳＰ４０は、ＥＣＵ３０に実装されている。
【００８５】
このＥＣＵ３０は、エンジン２１の各種制御、例えば、燃焼形態の切替制御、スロットル開度制御、燃料噴射制御、ノック制御（ＫＣＳ制御）を含む点火時期制御等を実行するように構成されている。ＥＣＵ３０は、ＲＯＭ３３、ＣＰＵ３４、ＲＡＭ３５、及びバックアップＲＡＭ３６等からなる算術論理演算回路としてのマイクロコンピュータ３１を備えている。
【００８６】
ここで、ＲＯＭ３３は各種制御プログラムや、これらのプログラムを実行する際に参照されるマップ等が記憶されたメモリであり、ＣＰＵ３４はＲＯＭ３３に記憶された各種制御プログラムやマップに基づいて演算処理を実行する。また、ＲＡＭ３５は、ＣＰＵ３４での演算結果や上記各種制御に必要な各種センサから入力されるデータ等を一時的に記憶するメモリである。また、バックアップＲＡＭ３６は、エンジン２１の停止時にその記憶されたデータ等を保存する不揮発性のメモリである。そして、ＲＯＭ３３、ＣＰＵ３４、ＲＡＭ３５及びバックアップＲＡＭ３６は、バス３７を介して互いに接続されるとともに、外部入力回路３８及び外部出力回路３９と接続されている。
【００８７】
外部入力回路３８には、ＤＳＰ４０の他に、上記各種制御に必要な各種センサ、例えばカムポジションセンサ、アクセルポジションセンサ、バキュームセンサ及び吸気温センサ等が接続されている。また、外部出力回路３９には、それぞれ図示を省略したスロットル用モータ、燃料噴射弁、及びイグナイタ等が接続されている。そして、ＥＣＵ３０は、点火プラグ（図示略）の一次コイルに通電を開始するクランク角（通電開始時期）と一次コイルの電流を遮断するクランク角（点火時期）を、イグナイタを介して制御する（点火時期制御を行う）ようになっている。
【００８８】
ＤＳＰ４０は、各気筒の筒内圧データＰｄａｔａ［ｉ］とクランク角信号とに基づき、図２に示す上記「ノック判定処理」を実行して気筒毎およびサイクル毎にノックであるのか否かのノック判定を実行し、その判定結果をマイクロコンピュータ３１へ出力するように構成されている。
【００８９】
そして、マイクロコンピュータ３１は、ＤＳＰ４０から気筒毎およびサイクル毎に出力されるノック判定結果に基づき、ノック制御（ＫＣＳ制御）を実行する。ここにいう、「ノック制御」とは、ＤＳＰ４０からのノック判定結果に基づき点火プラグの通電をイグナイタを介して制御することで、点火時期を最適点火時期より遅角させ、ノックの発生を抑制する制御である。
【００９０】
以上のように構成された第２実施形態によれば、以下の作用効果を奏する。
（ヘ）ＥＣＵ３０に組み込んで車両に実装される場合に、ノック検出性を向上することができ、精度の高いノック判定を行なうことができるとともに、バンドパスフィルタ等のフィルタを使わずに気筒毎およびサイクル毎にノックを自動検出することができる。
【００９１】
[ 変形例]
なお、この発明は以下のように変更して具体化することもできる。
・上記第１実施形態では、本発明を４気筒のエンジン２１に適用した例を示したが、本発明は多気筒の内燃機関に広く適用可能である。
【００９２】
・上記第１実施形態では、指圧線の圧縮上死点位置ＴＤＣ近傍に極大値（変曲点）ができる場合には、その変曲点はＴＤＣの近傍にできるので、ＴＤＣをその変曲点に代えて１つの変曲点に設定しているが、その変曲点の位置を算出して、この変曲点を１つの変曲点として設定するようにしても良い。
【００９３】
・上記第１実施形態では、高速データロガー２６は、各筒内圧センサ出力を例えば２００ＫＨｚでサンプリングしているが、そのサンプリング周波数は適宜変更可能である。
【００９４】
・上記第１実施形態において、図８に示す第１ゲート区間を図１０に示す第２ゲート区間と同じにしても良い。
【図面の簡単な説明】
【図１】  第１実施形態に係る自動適合用ノック自動検出装置の全体を模式的に示す構成図。
【図２】  ノック判定処理を示すフローチャート。
【図３】  図２のステップＳ５００の処理内容を示すフローチャート。
【図４】  図２のステップＳ６００における変曲点１つの場合で筒内圧上昇中の振幅相当量の計算処理を示すフローチャート。
【図５】  図２のステップＳ６００における変曲点１つの場合で筒内圧下降中の振幅相当量の計算処理を示すフローチャート。
【図６】  図２のステップＳ７００の処理内容を示すフローチャート。
【図７】  図２のステップＳ９００の処理内容を示すフローチャート。
【図８】  筒内圧波形を示すグラフ。
【図９】  図８の筒内圧波形から抽出した振動波形を示すグラフ。
【図１０】  図９の破線部を拡大した図で、抽出した振動波形がノックの場合の例を示すグラフ。
【図１１】  （ａ）は図１０と同様の図で抽出した振動波形の振幅相当量の最大値Ａｍｐｍａｘがしきい値１以下である場合を示すグラフ、（ｂ）は同振動波形の振幅の繰り返し性なしの場合を示すグラフ。
【図１２】  変曲点１つの場合で筒内圧上昇中の振幅相当量の計算処理を示す説明図。
【図１３】  変曲点１つの場合で筒内圧下降中の振幅相当量の計算処理を示す説明図。
【図１４】  車両に実装した第２実施形態に係るノック自動検出装置の全体を模式的に示す構成図。
【符号の説明】
２１…内燃機関としてのエンジン、２４…筒内圧センサ、２５…増幅回路、２６…高速データ収録手段としての高速データロガー、２７…筒内圧解析用パソコン、３０…電子制御装置としてのエンジンコントロールユニット（ＥＣＵ）、３１…マイクロコンピュータ、４０…デジタル信号処理装置（高速データ収録手段）としてのＤＳＰ。
【図１】
0004096584.tif 000002
【図２】
0004096584.tif 000003
【図３】
0004096584.tif 000004
【図４】
0004096584.tif 000005
【図５】
0004096584.tif 000006
【図６】
0004096584.tif 000007
【図７】
0004096584.tif 000008
【図８】
0004096584.tif 000009
【図９】
0004096584.tif 000010
【図１０】
0004096584.tif 000011
【図１１】
0004096584.tif 000012
【図１２】
0004096584.tif 000013
【図１３】
0004096584.tif 000014
【図１４】
0004096584.tif 000015