(57)【要約】【課題】エンジンの振動波形とノック波形モデルとを比較するクランク角の基準となるクランク角を精度よく検出する。【解決手段】エンジンＥＣＵは、ノックセンサの出力電圧値を、クランク角で５度ごとに積算した積算値を算出することにより検出されるエンジンの振動波形において、最も大きい積算値であるピーク値Ｐのクランク角の検索範囲を、エンジン回転数ＮＥが高いほど大きいクランク角を含むように設定するステップ（Ｓ１０６）と、検索範囲内において最も大きい積算値のクランク角を検出するとともに、検出したクランク角を振動波形のピーク値Ｐのクランク角に設定するステップ（Ｓ１１０）とを含む、プログラムを実行する。ピーク値Ｐのクランク角を基準したクランク角において、振動波形とノック波形モデルとが比較される。【選択図】図１３
2007315363.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のノッキング判定装置であって、
前記内燃機関のクランク角を検出するための第１の検出手段と、
クランク角に対応させて、クランク角についての第１の範囲における前記内燃機関の振動の波形を検出するための第２の検出手段と、
前記第１の範囲に含まれる第２の範囲において、予め定められた条件を満たすクランク角を検出するための第３の検出手段と、
前記検出された波形、および前記第１の範囲の幅以下の幅を有するように前記内燃機関の振動の波形の基準として定められた波形モデルを、前記条件を満たすクランク角を基準にしたクランク角において比較した結果に基づいて、前記内燃機関にノッキングが発生したか否かを判定するための判定手段と、
前記内燃機関の運転状態を検出するための第４の検出手段と、
前記内燃機関の運転状態に応じて、前記第２の範囲を設定するための設定手段とを含む、内燃機関のノッキング判定装置。
【請求項２】
前記予め定められた条件は、振動の強度が最大になるという条件である、請求項１に記載の内燃機関のノッキング判定装置。
【請求項３】
前記運転状態は、前記内燃機関の回転数である、請求項１または２に記載の内燃機関のノッキング判定装置。
【請求項４】
前記設定手段は、前記内燃機関の回転数が高いほど、より大きいクランク角を含むように前記第２の範囲を設定するための手段を含む、請求項３に記載の内燃機関のノッキング判定装置。
【請求項５】
前記判定手段は、前記検出された波形および前記波形モデルを比較する際において、前記波形モデルに対応するクランク角が前記第１の範囲外のクランク角を含む場合、前記波形モデルに対応するクランク角と前記第１の範囲とが重複するクランク角において、前記波形モデルおよび前記検出された波形を比較した結果に基づいて、前記内燃機関にノッキングが発生したか否かを判定するための手段を含む、請求項１〜４のいずれかに記載の内燃機関のノッキング判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関のノッキング判定装置に関し、特に、内燃機関の振動の波形に基づいてノッキングの有無を判定する技術に関する。
【背景技術】
【０００２】
従来より、内燃機関において発生するノッキング（ノック）を検出する様々な方法が提案されている。たとえば、内燃機関の振動の強度がしきい値よりも高いとノッキングが発生したと判定する技術がある。ところが、ノッキングが発生していなくても、たとえば吸気バルブや排気バルブが閉じる際に発生する振動がしきい値よりも高い場合がある。この場合、ノッキングが発生していないにもかかわらず、ノッキングが発生したと誤判定し得る。そこで、振動が発生するクランク角や減衰率など、強度以外の特性も考慮するために振動の波形に基づいてノッキングの有無を判定する技術が提案されている。
【０００３】
特開２００４−３５３５３１号公報（特許文献１）は、波形形状を用いることによりノック発生の有無を正確に判定し内燃機関の運転状態を適切に制御する内燃機関のノック制御装置を開示する。特許文献１に記載のノック制御装置は、内燃機関で発生する振動波形信号を検出する信号検出部と、信号検出部で検出された振動波形信号を複数の周波数成分に分離する周波数分離部と、周波数分離部で分離された複数の周波数成分を所定クランク角からなる所定区間毎に強度積算した値によりノック波形形状を設定する波形形状設定部と、波形形状設定部によるノック波形形状に基づき内燃機関におけるノック発生の有無を判定するノック判定部と、ノック判定部による判定結果に応じて内燃機関の運転状態を制御するノック制御部と、内燃機関で発生する振動波形信号の理想的なノック波形形状を理想ノック波形として予め設定する理想波形設定部とを含む。波形形状設定部は、ノック波形形状のピークまでの強度上昇部分が、理想ノック波形の強度上昇率よりも緩やかな場合には、ノック強度が小さくなるよう補正する。
【０００４】
この公報に記載のノック制御装置によれば、信号検出部で検出された内燃機関で発生する振動波形信号が、周波数分離部にて複数の周波数成分に分離される。これら分離された周波数成分を所定クランク角からなる所定区間毎に強度積算した値により波形形状設定部でノック波形形状が設定される。このノック波形形状に基づきノック判定部で内燃機関におけるノック発生の有無が判定され、この判定結果に応じてノック制御部により内燃機関の運転状態が制御される。このように、内燃機関で発生する振動波形信号が複数の周波数成分に分離され、この分離された複数の周波数成分を所定クランク角からなる所定区間毎に強度積算した値により設定されたノック波形形状によれば、各振動モードの総和としてのノック波形形状を表わすことができる。このノック波形形状によれば内燃機関におけるノック発生の有無が正確に判定されることで、内燃機関の運転状態が適切に制御される。また、ノック波形形状のピークまでの強度上昇部分が理想ノック波形の強度上昇率よりも緩やかであると、ノック波形と疑わしいため強度が小さくなる方向に補正される。つまり、ノック波形形状のピークまでの強度上昇部分の強度上昇率はばらつきが大きいため、強度上昇率が理想ノック波形の強度上昇率と比較して急峻であるときには強度がそのままとされ、緩やかであるときには強度が小さくなる方向に補正される。これにより、ノックとは波形形状が異なるノイズ波形をノックと誤判定することが防止される。
【特許文献１】特開２００４−３５３５３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特開２００４−３５３５３１号公報に記載のノック制御装置のように、検出された波形と理想ノック波形とを比較する際において波形のピークを基準にする場合、ピークになるクランク角を精度よく検出することが必要である。ピークになるクランク角を誤って検出すると、検出された波形と理想ノック波形との比較を正しく行なうことができず、ノッキングの有無を誤判定し得るからである。しかしながら、特開２００４−３５３５３１号公報には、ピークになるクランク角のように、検出された波形と理想ノック波形との比較を行なう基準となるクランク角を精度よく検出する方法については何等開示がない。したがって、検出された波形と理想ノック波形との比較を正しく行ない、ノッキングの有無を精度よくするためには更なる改善の余地がある。
【０００６】
本発明は、上述の課題を解決するためになされたものであって、その目的は、ノッキングの有無を精度よく判定することができる内燃機関のノッキング判定装置を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明に係る内燃機関のノッキング判定装置は、内燃機関のクランク角を検出するための第１の検出手段と、クランク角に対応させて、クランク角についての第１の範囲における内燃機関の振動の波形を検出するための第２の検出手段と、第１の範囲に含まれる第２の範囲において、予め定められた条件を満たすクランク角を検出するための第３の検出手段と、検出された波形、および第１の範囲の幅以下の幅を有するように内燃機関の振動の波形の基準として定められた波形モデルを、条件を満たすクランク角を基準にしたクランク角において比較した結果に基づいて、内燃機関にノッキングが発生したか否かを判定するための判定手段と、内燃機関の運転状態を検出するための第４の検出手段と、内燃機関の運転状態に応じて、第２の範囲を設定するための設定手段とを含む。
【０００８】
第１の発明によると、クランク角が検出されるとともに、クランク角に対応させて、内燃機関の振動の強度が検出される。この振動の強度に基づいて、クランク角についての第１の範囲における振動の波形が検出される。この波形は、ノッキングが発生した場合、ノッキング時に特有の形状になる。したがって、ノッキングが発生した場合の振動の波形として作成された波形モデルと検出された波形とを比較することにより、ノッキングの有無を判定することができる。ここで、検出された波形と波形モデルとを比較するクランク角は、所定のクランク角を基準として定めることが好ましい。このとき、第１の範囲の全域を対象として基準として用いるクランク角を検出するようにしていたのでは、処理に時間を要する。そこで、第１の範囲に含まれる第２の範囲において予め定められた条件を満たすクランク角が検出される。このクランク角を基準にしたクランク角において、検出された波形と波形モデルとを比較した結果に基づいて、内燃機関にノッキングが発生したか否かが判定される。ここで、振動波形を検出する際には、たとえばバンドパスフィルタなどの機器において信号処理が行なわれる。そのため、振動波形を得るまでにある程度の時間が必要になる。また、振動が発生してからたとえばノックセンサの設置箇所まで振動が伝播するのにある程度の時間がかかる。そのため、クランク角の検出に遅れて振動波形が検出される。この差は、内燃機関の運転状態に応じて異なる。たとえば、内燃機関の回転数が高いほど大きくなる。したがって、仮に、第２の範囲を常に同じクランク角に対して設定していたとすると、条件を満たすクランク角が、第２の範囲外に現れるおそれがある。この場合、条件を満たすクランク角を検出することができない。そこで、内燃機関の運転状態が検出される。この運転状態に応じて、クランク角の基準値を設定するための第２の範囲が設定される。これにより、第２の範囲を検出される波形に追従させ、第２の範囲から条件を満たすクランク角が外れることを抑制することができる。そのため、検出された波形と波形モデルとを比較するクランク角の基準となるクランク角を精度よく検出することができる。その結果、検出された波形と波形モデルとを正しく比較して、ノッキングの有無を精度よく判定することができる内燃機関のノッキング判定装置を提供することができる。
【０００９】
第２の発明に係る内燃機関のノッキング判定装置においては、第１の発明の構成に加え、予め定められた条件は、振動の強度が最大になるという条件である。
【００１０】
第２の発明によると、振動の強度が最大になるという条件を満たすクランク角が検出される。これにより、ノッキングが発生したと考えられるクランク角を検出することができる。
【００１１】
第３の発明に係る内燃機関のノッキング判定装置においては、第１または２の発明の構成に加え、運転状態は、内燃機関の回転数である。
【００１２】
第３の発明によると、条件を満たすクランク角を検出する第２の範囲が、内燃機関の回転数に応じて設定される。これにより、第２の範囲を検出される波形に追従させ、第２の範囲から条件を満たすクランク角が外れることを抑制することができる。そのため、検出された波形と波形モデルとを比較するクランク角の基準となるクランク角を精度よく検出することができる。
【００１３】
第４の発明に係る内燃機関のノッキング判定装置においては、第３の発明の構成に加え、第２の設定手段は、内燃機関の回転数が高いほど、より大きいクランク角を含むように第２の範囲を設定するための手段を含む。
【００１４】
第４の発明によると、内燃機関の回転数が高いほど、より大きいクランク角を含むように、条件を満たすクランク角を検出する第２の範囲が設定される。これにより、クランク角の検出に遅れて検出される波形に、第２の範囲を検出される波形に追従させることができる。そのため、第２の範囲から条件を満たすクランク角が外れることを抑制することができる。その結果、内燃機関の振動の波形として検出された波形と波形モデルとを比較するクランク角の基準となるクランク角を精度よく検出することができる。
【００１５】
第５の発明に係る内燃機関のノッキング判定装置においては、第１〜４のいずれかの発明の構成に加え、判定手段は、検出された波形および波形モデルを比較する際において、波形モデルに対応するクランク角が第１の範囲外のクランク角を含む場合、波形モデルに対応するクランク角と第１の範囲とが重複するクランク角において、波形モデルおよび検出された波形を比較した結果に基づいて、内燃機関にノッキングが発生したか否かを判定するための手段を含む。
【００１６】
第５の発明によると、クランク角の検出に遅れて波形が検出された結果、検出された波形および波形モデルを比較する際において、波形モデルに対応するクランク角が第１の範囲外のクランク角を含む場合、波形モデルに対応するクランク角と第１の範囲とが重複するクランク角において、波形モデルおよび検出された波形が比較される。これにより、内燃機関の振動の波形が検出されていない領域を除外してノッキングの有無を判定することができる。そのため、ノッキングの有無を誤判定することを抑制することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００１８】
図１を参照して、本発明の実施の形態に係るノッキング判定装置を搭載した車両のエンジン１００について説明する。このエンジン１００には複数の気筒が設けられる。本実施の形態に係るノッキング判定装置は、たとえばエンジンＥＣＵ（Electronic Control Unit）２００が実行するプログラムにより実現される。
【００１９】
エンジン１００は、エアクリーナ１０２から吸入された空気とインジェクタ１０４から噴射される燃料との混合気を、燃焼室内で点火プラグ１０６により点火して燃焼させる内燃機関である。点火時期は、出力トルクが最大になるＭＢＴ（Minimum advance for Best Torque）になるように制御されるが、ノッキングが発生した場合など、エンジン１００の運転状態に応じて遅角されたり、進角されたりする。
【００２０】
混合気が燃焼すると、燃焼圧によりピストン１０８が押し下げられ、クランクシャフト１１０が回転する。燃焼後の混合気（排気ガス）は、三元触媒１１２により浄化された後、車外に排出される。エンジン１００に吸入される空気の量は、スロットルバルブ１１４により調整される。
【００２１】
エンジン１００は、エンジンＥＣＵ２００により制御される。エンジンＥＣＵ２００には、ノックセンサ３００と、水温センサ３０２と、タイミングロータ３０４に対向して設けられたクランクポジションセンサ３０６と、スロットル開度センサ３０８と、車速センサ３１０と、イグニッションスイッチ３１２と、エアフローメータ３１４とが接続されている。
【００２２】
ノックセンサ３００は、エンジン１００のシリンダブロックに設けられる。ノックセンサ３００は、圧電素子により構成されている。ノックセンサ３００は、エンジン１００の振動により電圧を発生する。電圧の大きさは、振動の大きさと対応した大きさとなる。ノックセンサ３００は、電圧を表わす信号をエンジンＥＣＵ２００に送信する。水温センサ３０２は、エンジン１００のウォータージャケット内の冷却水の温度を検出し、検出結果を表わす信号を、エンジンＥＣＵ２００に送信する。
【００２３】
タイミングロータ３０４は、クランクシャフト１１０に設けられており、クランクシャフト１１０と共に回転する。タイミングロータ３０４の外周には、予め定められた間隔で複数の突起が設けられている。クランクポジションセンサ３０６は、タイミングロータ３０４の突起に対向して設けられている。タイミングロータ３０４が回転すると、タイミングロータ３０４の突起と、クランクポジションセンサ３０６とのエアギャップが変化するため、クランクポジションセンサ３０６のコイル部を通過する磁束が増減し、コイル部に起電力が発生する。クランクポジションセンサ３０６は、起電力を表わす信号を、エンジンＥＣＵ２００に送信する。エンジンＥＣＵ２００は、クランクポジションセンサ３０６から送信された信号に基づいて、クランク角およびクランクシャフト１１０の回転数を検出する。
【００２４】
スロットル開度センサ３０８は、スロットル開度を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。車速センサ３１０は、車輪（図示せず）の回転数を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。エンジンＥＣＵ２００は、車輪の回転数から、車速を算出する。イグニッションスイッチ３１２は、エンジン１００を始動させる際に、運転者によりオン操作される。エアフローメータ３１４は、エンジン１００に吸入される空気量を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。
【００２５】
エンジンＥＣＵ２００は、電源である補機バッテリ３２０から供給された電力により作動する。エンジンＥＣＵ２００は、各センサおよびイグニッションスイッチ３１２から送信された信号、ＲＯＭ（Read Only Memory）２０２やＳＲＡＭ（Static Random Access Memory）２０４に記憶されたマップおよびプログラムに基づいて演算処理を行ない、エンジン１００が所望の運転状態となるように、機器類を制御する。
【００２６】
本実施の形態において、エンジンＥＣＵ２００は、ノックセンサ３００から送信された信号およびクランク角に基づいて、予め定められたノック検出ゲート（予め定められた第１クランク角から予め定められた第２クランク角までの区間）におけるエンジン１００の振動の波形（以下、振動波形と記載する）を検出し、検出された振動波形に基づいて、エンジン１００にノッキングが発生したか否かを判定する。本実施の形態におけるノック検出ゲートは、燃焼行程において上死点（０度）から９０度までである。なお、ノック検出ゲートはこれに限らない。このノック検出ゲートが、前述の第１の発明における第１の範囲に対応する。
【００２７】
ノッキングが発生した場合、エンジン１００には、図２において実線で示す周波数付近の周波数の振動が発生する。ノッキングに起因して発生する振動の周波数は一定ではなく、所定の帯域幅を有する。そのため、本実施の形態においては、図２に示すように、第１の周波数帯Ａ、第２の周波数帯Ｂおよび第３の周波数帯Ｃに含まれる振動を検出する。なお、図２におけるＣＡは、クランク角（Crank Angle）を示す。なお、ノッキングに起因して発生する振動の周波数帯は３つに限られない。
【００２８】
図３を参照して、エンジンＥＣＵ２００についてさらに説明する。エンジンＥＣＵ２００は、Ａ／Ｄ（アナログ／デジタル）変換部４００と、バンドパスフィルタ（１）４１０と、バンドパスフィルタ（２）４２０と、バンドパスフィルタ（３）４３０と、積算部４５０とを含む。
【００２９】
Ａ／Ｄ変換部４００は、ノックセンサ３００から送信されたアナログ信号をデジタル信号に変換する。バンドパスフィルタ（１）４１０は、ノックセンサ３００から送信された信号のうち、第１の周波数帯Ａの信号のみを通過させる。すなわち、バンドパスフィルタ（１）４１０により、ノックセンサ３００が検出した振動から、第１の周波数帯Ａの振動のみが抽出される。
【００３０】
バンドパスフィルタ（２）４２０は、ノックセンサ３００から送信された信号のうち、第２の周波数帯Ｂの信号のみを通過させる。すなわち、バンドパスフィルタ（２）４２０により、ノックセンサ３００が検出した振動から、第２の周波数帯Ｂの振動のみが抽出される。
【００３１】
バンドパスフィルタ（３）４３０は、ノックセンサ３００から送信された信号のうち、第３の周波数帯Ｃの信号のみを通過させる。すなわち、バンドパスフィルタ（３）４３０により、ノックセンサ３００が検出した振動から、第３の周波数帯Ｃの振動のみが抽出される。
【００３２】
積算部４５０は、バンドパスフィルタ（１）４１０〜バンドパスフィルタ（３）４３０により選別された信号、すなわち振動の強度を、クランク角度で５度分づつ積算する。以下、積算された値を積算値と表わす。積算値の算出は、周波数帯ごとに行なわれる。この積算値の算出により、各周波数帯における振動波形が検出される。
【００３３】
さらに、算出された第１の周波数帯Ａ〜第３の周波数帯Ｃの積算値は、クランク角度に対応して加算される。すなわち、第１の周波数帯Ａ〜第３の周波数帯Ｃの振動波形が合成される。
【００３４】
これにより、図４に示すように、エンジン１００の振動波形が検出される。すなわち、第１の周波数帯Ａ〜第３の周波数帯Ｃの合成波形が、エンジン１００の振動波形として用いられる。
【００３５】
検出された振動波形は、図５に示すようにエンジンＥＣＵ２００のＲＯＭ２０２に記憶されたノック波形モデルと比較される。ノック波形モデルは、エンジン１００にノッキングが発生した場合の振動波形のモデルとして予め作成される。
【００３６】
ノック波形モデルにおいて、振動の強度は０〜１の無次元数として表され、振動の強度はクランク角と一義的には対応していない。すなわち、本実施の形態のノック波形モデルにおいては、振動の強度のピーク値以降、クランク角が大きくなるにつれ振動の強度が低減することが定められているが、振動の強度がピーク値となるクランク角は定められていない。ノック波形モデルは、クランク角に関してノック検出ゲートよりも短い幅を有するように作成される。
【００３７】
本実施の形態におけるノック波形モデルは、ノッキングにより発生した振動の強度のピーク値以降の振動に対応している。なお、ノッキングに起因した振動の立ち上がり以降の振動に対応したノック波形モデルを記憶してもよい。
【００３８】
ノック波形モデルは、実験などにより、強制的にノッキングを発生させた場合におけるエンジン１００の振動波形を検出し、この振動波形に基づいて予め作成されて記憶される。
【００３９】
ノック波形モデルは、エンジン１００の寸法やノックセンサ３００の出力値が、寸法公差やノックセンサ３００の出力値の公差の中央値であるエンジン１００（以下、特性中央エンジンと記載する）を用いて作成される。すなわち、ノック波形モデルは、特性中央エンジンに強制的にノッキングを発生させた場合における振動波形である。なお、ノック波形モデルを作成する方法は、これに限られず、その他、シミュレーションにより作成してもよい。
【００４０】
検出された波形とノック波形モデルとの比較においては、図６に示すように、正規化された波形とノック波形モデルとが比較される。ここで、正規化とは、たとえば、検出された振動波形における積算値の最大値で各積算値を除算することにより、振動の強度を０〜１の無次元数で表わすことである。なお、正規化の方法はこれに限らない。
【００４１】
本実施の形態において、エンジンＥＣＵ２００は、正規化された振動波形とノック波形モデルとの偏差に関する値である相関係数Ｋを算出する。正規化後の振動波形において振動の強度が最大になるタイミングとノック波形モデルにおいて振動の強度が最大になるタイミングとを一致させた状態で、正規化後の振動波形とノック波形モデルとの偏差の絶対値（ズレ量）をクランク角ごと（５度ごと）に算出することにより、相関係数Ｋが算出される。
【００４２】
正規化後の振動波形とノック波形モデルとのクランク角ごとの偏差の絶対値をΔＳ（Ｉ）（Ｉは自然数）とし、ノック波形モデルにおける振動の強度をクランク角で積分した値（ノック波形モデルの面積）をＳとおくと、相関係数Ｋは、Ｋ＝（Ｓ−ΣΔＳ（Ｉ））／Ｓという方程式により算出される。ここで、ΣΔＳ（Ｉ）は、ΔＳ（Ｉ）の総和である。本実施の形態において、相関係数Ｋは、振動波形の形状がノック波形モデルの形状に近いほど、大きな値として算出される。したがって、振動波形にノッキング以外の要因による振動の波形が含まれた場合、相関係数Ｋは小さく算出される。なお、相関係数Ｋの算出方法はこれに限らない。
【００４３】
さらに、エンジンＥＣＵ２００は、積算値の最大値（ピーク値）に基づいて、ノック強度Ｎを算出する。積算値の最大値をＰとし、エンジン１００にノッキングが発生していない状態におけるエンジン１００の振動の強度を表わす値をＢＧＬ（Back Ground Level）とおくと、ノック強度Ｎは、Ｎ＝Ｐ／ＢＧＬという方程式で算出される。なお、ノック強度Ｎを算出する際の積算値の最大値Ｐは対数変換される。また、ノック強度Ｎの算出方法はこれに限らない。
【００４４】
ＢＧＬは、後述する強度値ＬＯＧ（Ｖ）の頻度分布において、標準偏差σと係数（たとえば「１」）との積を、中央値Ｖ（５０）から減算した値として算出される。なお、ＢＧＬの算出方法はこれに限らず、ＢＧＬをＲＯＭ２０２に記憶しておくようにしてもよい。
【００４５】
本実施の形態において、エンジンＥＣＵ２００は、算出されたノック強度ＮとＳＲＡＭ２０４に記憶された判定値Ｖ（ＫＸ）とを比較し、さらに検出された波形と記憶されたノック波形モデルとを比較して、エンジン１００にノッキングが発生したか否かを１点火サイクルごとに判定する。
【００４６】
図７に示すように、判定値Ｖ（ＫＸ）は、エンジン回転数ＮＥと吸入空気量ＫＬとをパラメータとした運転状態により区分される領域毎に、マップとして記憶される。本実施の形態においては、低回転（ＮＥ＜ＮＥ（１））、中回転（ＮＥ（１）≦ＮＥ＜ＮＥ（２））、高回転（ＮＥ（２）≦ＮＥ）、低負荷（ＫＬ＜ＫＬ（１））、中負荷（ＫＬ（１）≦ＫＬ＜ＫＬ（２））、高負荷（ＫＬ（２）≦ＫＬ）で区分することにより、気筒毎に９つの領域が設けられる。なお、領域の数はこれに限らない。また、エンジン回転数ＮＥおよび吸入空気量ＫＬ以外のパラメータを用いて領域を区分するようにしてもよい。
【００４７】
エンジン１００もしくは車両の出荷時において、ＲＯＭ２０２に記憶される判定値Ｖ（ＫＸ）（出荷時における判定値Ｖ（ＫＸ）の初期値）には、予め実験などにより定められる値が用いられる。ところが、ノックセンサ３００の出力値のばらつきや劣化などにより、エンジン１００で同じ振動が生じた場合であっても、検出される強度が変化し得る。この場合、判定値Ｖ（ＫＸ）を補正し、実際に検出される強度に応じた判定値Ｖ（ＫＸ）を用いてノッキングが発生したか否かを判定する必要がある。
【００４８】
そこで、本実施の形態においては、強度Ｖを対数変換した値である強度値ＬＯＧ（Ｖ）と、各強度値ＬＯＧ（Ｖ）が検出された頻度（回数、確率ともいう）との関係を示す頻度分布に基づいて、ノック判定レベルＶ（ＫＤ）が算出される。
【００４９】
エンジン回転数ＮＥと吸入空気量ＫＬとをパラメータとする領域ごとに強度値ＬＯＧ（Ｖ）が算出される。強度値ＬＯＧ（Ｖ）を算出するために用いられる強度Ｖは、予め定められたクランク角の間における強度のピーク値（５度ごとの積算値のピーク値）である。算出される強度ＬＯＧ（Ｖ）に基づいて、強度値ＬＯＧ（Ｖ）の頻度を最小値から累積して５０％になる中央値Ｖ（５０）が算出される。また、中央値Ｖ（５０）以下の強度値ＬＯＧ（Ｖ）における標準偏差σが算出される。たとえば、本実施の形態においては、複数（たとえば２００サイクル）の強度値ＬＯＧ（Ｖ）に基づいて算出される中央値および標準偏差と近似した中央値Ｖ（５０）および標準偏差σが、以下の算出方法により１点火サイクルごとに算出される。
【００５０】
今回検出された強度値ＬＯＧ（Ｖ）が前回算出された中央値Ｖ（５０）よりも大きい場合、前回算出された中央値Ｖ（５０）に予め定められた値Ｃ（１）を加算した値が、今回の中央値Ｖ（５０）として算出される。逆に、今回検出された強度値ＬＯＧ（Ｖ）が前回算出された中央値Ｖ（５０）よりも小さい場合、前回算出された中央値Ｖ（５０）から予め定められた値Ｃ（２）（たとえばＣ（２）はＣ（１）と同じ値）を減算した値が、今回の中央値Ｖ（５０）として算出される。
【００５１】
今回検出された強度値ＬＯＧ（Ｖ）が、前回算出された中央値Ｖ（５０）よりも小さく、かつ前回算出された中央値Ｖ（５０）から前回算出された標準偏差σを減算した値よりも大きい場合、前回算出された標準偏差σから予め定められた値Ｃ（３）を２倍した値を減算した値が、今回の標準偏差σとして算出される。逆に、今回検出された強度値ＬＯＧ（Ｖ）が、前回算出された中央値Ｖ（５０）よりも大きい場合、または前回算出された中央値Ｖ（５０）から前回算出された標準偏差σを減算した値よりも小さい場合、前回算出された標準偏差σに予め定められた値Ｃ（４）（たとえばＣ（４）はＣ（３）と同じ値）を加算した値が、今回の標準偏差σとして算出される。なお、中央値Ｖ（５０）および標準偏差σの算出方法はこれに限定されない。また、中央値Ｖ（５０）および標準偏差σの初期値は、予め設定された値であってもよいし、「０」であってもよい。
【００５２】
中央値Ｖ（５０）および標準偏差σを用いて、ノック判定レベルＶ（ＫＤ）が算出される。図８に示すように、中央値Ｖ（５０）に係数Ｕ（１）（Ｕ（１）は定数で、たとえばＵ（１）＝３）と標準偏差σとの積を加算した値が、ノック判定レベルＶ（ＫＤ）となる。なお、ノック判定レベルＶ（ＫＤ）の算出方法はこれに限らない。
【００５３】
ノック判定レベルＶ（ＫＤ）よりも大きい強度値ＬＯＧ（Ｖ）の割合（頻度）が、ノッキングが発生した頻度として判定され、ノック占有率ＫＣとしてカウントされる。ノック占有率ＫＣがしきい値ＫＣ（０）よりも大きいと、点火時期の遅角が行なわれる頻度が高くなるように、判定値Ｖ（ＫＸ）が予め定められた補正量だけ小さく補正される。ノック占有率ＫＣがしきい値ＫＣ（０）よりも小さいと、点火時期の進角が行なわれる頻度が高くなるように、判定値Ｖ（ＫＸ）が予め定められた補正量だけ大きく補正される。
【００５４】
係数Ｕ（１）は、実験などより得られたデータや知見から求められた係数である。Ｕ（１）＝３とした場合のノック判定レベルＶ（ＫＤ）よりも大きい強度値ＬＯＧ（Ｖ）が、実際にノッキングが発生した点火サイクルにおける強度値ＬＯＧ（Ｖ）と略一致する。なお、係数Ｕ（１）に「３」以外の値を用いるようにしてもよい。
【００５５】
強度値ＬＯＧ（Ｖ）の頻度分布においては、エンジン１００においてノッキングが発生していなければ、図９に示すように正規分布となり、強度値ＬＯＧ（Ｖ）の最大値Ｖ（ＭＡＸ）とノック判定レベルＶ（ＫＤ）とが一致する。一方、ノッキングが発生することにより、検出される強度Ｖが大きくなり、大きい強度値ＬＯＧ（Ｖ）が算出されると、図１０に示すように、ノック判定レベルＶ（ＫＤ）よりも最大値Ｖ（ＭＡＸ）が大きくなる。
【００５６】
さらにノッキングが発生する頻度が大きくなると、図１１に示すように最大値Ｖ（ＭＡＸ）はさらに大きくなる。このとき、頻度分布における中央値Ｖ（５０）および標準偏差σは、最大値Ｖ（ＭＡＸ）とともに大きくなる。そのため、ノック判定レベルＶ（ＫＤ）が大きくなる。
【００５７】
ノック判定レベルＶ（ＫＤ）よりも小さい強度値ＬＯＧ（Ｖ）は、ノッキングが発生したサイクルにおける強度値ＬＯＧ（Ｖ）とは判定されないため、ノック判定レベルＶ（ＫＤ）が大きくなると、それだけ、ノッキングが発生していても、ノッキングが発生していないと判定される頻度が高くなる。
【００５８】
そこで、本実施の形態においては、図１２で示すように、破線で囲まれる領域内の強度値ＬＯＧ（Ｖ）を用いることで、しきい値Ｖ（１）よりも大きい強度値ＬＯＧ（Ｖ）を除外して中央値Ｖ（５０）および標準偏差σが算出される。図１２は、算出された強度値ＬＯＧ（Ｖ）を、その強度値ＬＯＧ（Ｖ）が得られたサイクルにおける相関係数Ｋごとにプロットした図である。
【００５９】
しきい値Ｖ（１）は、強度値ＬＯＧ（Ｖ）の頻度分布の中央値に、中央値以下の強度値ＬＯＧ（Ｖ）における標準偏差と係数Ｕ（２）（Ｕ（２）は定数で、たとえばＵ（２）＝３）との積を加算した値である。
【００６０】
しきい値Ｖ（１）より小さい強度値ＬＯＧ（Ｖ）のみを抽出して中央値Ｖ（５０）および標準偏差σを算出することにより、中央値Ｖ（５０）および標準偏差σが過大にならず、安定した値となる。これにより、ノック判定レベルＶ（ＫＤ）が過大になることを抑制することができる。そのため、ノッキングが発生していても、ノッキングが発生していないと判定される頻度が高くなることを抑制することができる。
【００６１】
なお、中央値Ｖ（５０）および標準偏差σを算出するために用いられる強度値ＬＯＧ（Ｖ）の抽出方法は、これに限らない。たとえば、前述のしきい値Ｖ（１）よりも小さい強度値ＬＯＧ（Ｖ）のうち、相関係数Ｋがしきい値Ｋ（１）より大きい点火サイクルにおいて算出された強度値ＬＯＧ（Ｖ）を抽出するようにしてもよい。
【００６２】
図１３を参照して、本実施の形態に係るノッキング判定装置であるエンジンＥＣＵ２００が、ノッキングが発生したか否かを１点火サイクルごとに判定して点火時期を制御するために実行するプログラムの制御構造について説明する。
【００６３】
ステップ（以下、ステップをＳと略す）１００にて、エンジンＥＣＵ２００は、クランクポジションセンサ３０６から送信された信号に基づいて、エンジン回転数ＮＥを検出するとともに、エアフローメータ３１４から送信された信号に基づいて、吸入空気量ＫＬを検出する。
【００６４】
Ｓ１０２にて、エンジンＥＣＵ２００は、ノックセンサ３００から送信された信号に基づいて、エンジン１００の振動の強度を検出する。振動の強度は、ノックセンサ３００の出力電圧値で表される。なお、ノックセンサ３００の出力電圧値と対応した値で振動の強度を表してもよい。強度の検出は、燃焼行程において上死点から９０度（クランク角で９０度）までの間で行なわれる。
【００６５】
Ｓ１０４にて、エンジンＥＣＵ２００は、ノックセンサ３００の出力電圧値（振動の強度を表わす値）を、クランク角で５度ごとに（５度分だけ）積算した値（積算値）を算出する。積算値の算出は、第１の周波数帯Ａ〜第３の周波数帯Ｃの振動ごとに行なわれる。さらに第１の周波数帯Ａ〜第３の周波数帯Ｃの積算値が、クランク角度に対応して加算されて、エンジン１００の振動波形が検出される。
【００６６】
Ｓ１０６にて、エンジンＥＣＵ２００は、エンジン回転数ＮＥに基づいて、第１の周波数帯Ａ〜第３の周波数帯Ｃの合成波形（エンジン１００の振動波形）における積算値のうち、最も大きい積算値（ピーク値Ｐ）のクランク角の検索範囲を設定する。
【００６７】
検索範囲は、ノック検出ゲート内に含まれ、かつ一定の幅有するように設定される。また、検索範囲は、エンジン回転数ＮＥが高いほど、大きいクランク角を含むように遅角側に設定される。さらに、検索範囲は、シミュレーションや実験などの結果に基づいて、積算値がピーク値Ｐになるクランク角を含むように設定される。この検索範囲が、前述の第１の発明における第２の範囲に対応する。
【００６８】
Ｓ１０８にて、エンジンＥＣＵ２００は、検索範囲内において最も大きい積算値を検出するとともに、検出した積算値を振動波形のピーク値Ｐに設定する。すなわち、エンジンＥＣＵ２００は、検索範囲内でピーク値Ｐを検索する。
【００６９】
Ｓ１１０にて、エンジンＥＣＵ２００は、検索範囲内において最も大きい積算値のクランク角を検出するとともに、検出したクランク角を振動波形のピーク値Ｐのクランク角に設定する。すなわち、エンジンＥＣＵ２００は、検索範囲内でピーク値Ｐのクランク角を検索する。
【００７０】
Ｓ１１２にて、エンジンＥＣＵ２００は、エンジン１００の振動波形を正規化する。ここで、正規化とは、算出されたピーク値Ｐで、各積算値を除算することにより、振動の強度を０〜１の無次元数で表わすことをいう。
【００７１】
Ｓ１１４にて、エンジンＥＣＵ２００は、ピーク値Ｐのクランク角とノック波形モデルにおいて振動の強度が最大になるタイミングとを一致させて、振動波形とノック波形モデルとの偏差に関する値である相関係数Ｋを算出する。すなわち、ピーク値Ｐのクランク角を基準にしたクランク角において振動波形とノック波形モデルとが比較されて、相関係数Ｋが算出される。
【００７２】
このとき、ノック波形モデルに対応するクランク角がノック検出ゲート外のクランク角を含む場合、ピーク値Ｐのクランク角からノック検出ゲートの終端のクランク角までの範囲で振動波形とノック波形モデルとが比較されて、相関係数Ｋが算出される。
【００７３】
Ｓ１１６にて、エンジンＥＣＵ２００は、ピーク値ＰをＢＧＬで除算してノック強度Ｎを算出する。
【００７４】
Ｓ１１８にて、エンジンＥＣＵ２００は、相関係数Ｋが予め定められた値よりも大きく、かつノック強度Ｎが判定値Ｖ（ＫＸ）よりも大きいか否かを判別する。相関係数Ｋが予め定められた値よりも大きく、かつノック強度Ｎが判定値Ｖ（ＫＸ）よりも大きい場合（Ｓ１１８にてＹＥＳ）、処理はＳ１２０に移される。そうでない場合（Ｓ１１８にてＮＯ）、処理はＳ１２４に移される。
【００７５】
Ｓ１２０にて、エンジンＥＣＵ２００は、エンジン１００にノッキングが発生したと判定する。Ｓ１２２にて、エンジンＥＣＵ２００は、点火時期を遅角する。
【００７６】
Ｓ１２４にて、エンジンＥＣＵ２００は、エンジン１００にノッキングが発生していないと判定する。Ｓ１２６にて、エンジンＥＣＵ２００は、点火時期を進角する。
【００７７】
以上のような構造およびフローチャートに基づく、本実施の形態に係るノッキング判定装置であるエンジンＥＣＵ２００の動作について説明する。
【００７８】
エンジン１００の運転中において、クランクポジションセンサ３０６から送信された信号に基づいて、エンジン回転数ＮＥが検出されるとともに、エアフローメータ３１４から送信された信号に基づいて、吸入空気量ＫＬが検出される（Ｓ１００）。また、ノックセンサ３００から送信された信号に基づいて、エンジン１００の振動の強度が検出される（Ｓ１０２）。
【００７９】
燃焼行程における上死点から９０度までの間において、５度ごとの積算値が第１の周波数帯Ａから第３の周波数帯Ｃの振動ごとに算出される（Ｓ１０４）。算出された第１の周波数帯Ａ〜第３の周波数帯Ｃの積算値がクランク角度に対応して加算され、前述した図４に示すようなエンジン１００の振動波形が検出される。
【００８０】
５度ごとの積算値により振動波形を検出することにより、振動波形において強度が細かく変化することを抑制することができる。そのため、検出された振動波形とノック波形モデルとの比較を容易にすることができる。
【００８１】
検出された振動波形とノック波形とは、振動波形において積算値が最大になるクランク角を基準にしたクランク角において比較される。そのため、積算値が最大になるクランク角を検出する必要がある。
【００８２】
ここで、ノッキングは、運転状態に関わらず略同じクランク角の範囲で発生する。したがって、ノック検出ゲートの全域を検索して振動波形における積算値のピーク値Ｐおよびそのクランク角を検出せずとも、一部の範囲のみを検索すればよい。そこで、図１４に示すように、ノック検出ゲート内に含まれ、かつ一定の幅を有するように、ピーク値Ｐのクランク角の検索範囲が設定される（Ｓ１０６）。
【００８３】
しかしながら、振動波形を検出する際、バンドパスフィルタを用いた処理を行なうため、振動波形を得るまでにある程度の時間が必要になる。また、振動が発生してからノックセンサ３００の設置箇所まで伝播するのにある程度の時間がかかる。そのため、実際に振動が発生したクランク角、すなわちクランクポジションセンサ３０６により検出されるクランク角に遅れて振動波形が検出される。この差は、エンジン回転数ＮＥが高いほど大きくなる。
【００８４】
したがって、検索範囲が常に同じクランク角に対して設定されていると、図１５において一点鎖線で示すように、振動波形におけるピーク値Ｐのクランク角が検索範囲外のクランク角になる場合がある。この場合、実際のピーク値Ｐよりも小さい積算値がピーク値Ｐとして設定され得る。
【００８５】
そこで、本実施の形態においては、図１６に示すように、エンジン回転数ＮＥが高いほど大きいクランク角を含むように、ピーク値Ｐのクランク角の検索範囲が設定される（Ｓ１０６）。これにより、検索範囲を振動波形に追従させることができる。そのため、エンジン回転数ＮＥによらず、検索範囲がピーク値Ｐのクランク角を含むようにすることができる。
【００８６】
この検索範囲内において最も大きい積算値が検出されて、振動波形のピーク値Ｐに設定される（Ｓ１０８）。また、検索範囲内において最も大きい積算値のクランク角が検出されて、振動波形のピーク値Ｐのクランク角に設定される（Ｓ１１０）。これにより、振動波形のピーク値Ｐおよびそのクランク角を精度よく検出することができる。
【００８７】
算出されたピーク値Ｐでエンジン１００の振動波形における積算値が除算されて、振動波形が正規化される（Ｓ１１２）。正規化により、振動波形における振動の強度が０〜１の無次元数で表される。これにより、振動の強度に関係なく検出された振動波形とノック波形モデルとの比較を行なうことができる。そのため、振動の強度に対応した多数のノック波形モデルを記憶しておく必要がなく、ノック波形モデルの作成を容易にすることができる。
【００８８】
ピーク値Ｐのクランク角にノック波形モデルにおいて振動の強度が最大になるタイミングを一致させ（図６参照）、この状態で、正規化後の振動波形とノック波形モデルとのクランク角ごとの偏差の絶対値ΔＳ（Ｉ）の総和ΣΔＳ（Ｉ）およびノック波形モデルにおいて振動の強度をクランク角で積分した値Ｓに基づいて、Ｋ＝（Ｓ−ΣΔＳ（Ｉ））／Ｓにより相関係数Ｋが算出される（Ｓ１１４）。
【００８９】
これにより、検出された振動波形とノック波形モデルとの一致度合を数値化して客観的に判定することができる。また、振動波形とノック波形モデルとを比較することで、振動の減衰傾向など、振動の挙動からノッキング時の振動であるか否かを分析することができる。
【００９０】
ここで、図１７に示すように、ノック波形モデルに対応するクランク角がノック検出ゲート外のクランク角を含む場合、ピーク値Ｐのクランク角からノック検出ゲートの終端のクランク角までの範囲で振動波形とノック波形モデルとが比較されて、相関係数Ｋが算出される。これにより、波形が検出されていない領域を除外してノッキングの有無を判定することができる。そのため、ノッキングの有無を誤判定することを抑制することができる。
【００９１】
さらに、ピーク値ＰをＢＧＬで除算することにより、ノック強度Ｎが算出される（Ｓ１１６）。これにより、振動の強度に基づいて、エンジン１００の振動がノッキングに起因した振動であるか否かをより詳細に分析することができる。
【００９２】
相関係数Ｋが予め定められた値よりも大きく、かつノック強度Ｎが判定値Ｖ（ＫＸ）よりも大きい場合（Ｓ１１８にてＹＥＳ）、ノッキングが発生したと判定され（Ｓ１２０）、点火時期が遅角される（Ｓ１２２）。これにより、ノッキングの発生が抑制される。
【００９３】
相関係数Ｋが予め定められた値よりも大きく、かつノック強度Ｎが判定値Ｖ（ＫＸ）よりも大きい状態ではない場合（Ｓ１１８にてＮＯ）、ノッキングが発生していないと判定され（Ｓ１２４）、点火時期が進角される（Ｓ１２６）。このようにして、ノック強度Ｎと判定値Ｖ（ＫＸ）とを比較することにより１点火サイクルごとにノッキングが発生したか否かが判定され、点火時期が遅角されたり、進角されたりする。
【００９４】
以上のように、本実施の形態に係るノッキング判定装置であるエンジンＥＣＵによれば、エンジン回転数ＮＥが高いほど、大きいクランク角を含むように、振動波形のピーク値Ｐの検索範囲が設定される。これにより、振動がピークになるクランク角を常に含むように検索範囲を設定することができる。そのため、振動波形とノック波形モデルとを比較するクランク角の基準となるクランク角を精度よく検出することができる。その結果、振動波形とノック波形モデルとを正しく比較して、ノッキングの有無を精度よく判定することができる。
【００９５】
なお、本実施の形態においては、検索範囲の幅を一定にしていたが、エンジン回転数ＮＥに応じて検索範囲の幅を変化させるようにしてもよい。この場合、エンジン回転数ＮＥが高いほど、より大きいクランク角を含むように検索範囲の幅を広げるようにしてもよい。
【００９６】
また、エンジン回転数ＮＥの代わりにもしくは加えて、車速や加速度など、エンジン回転数ＮＥに関連したパラメータを用いるようにしてもよい。
【００９７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施の形態に係るノッキング判定装置であるエンジンＥＣＵにより制御されるエンジンを示す概略構成図である。
【図２】ノッキング時にエンジンで発生する振動の周波数帯を示す図である。
【図３】図１のエンジンＥＣＵを示す制御ブロック図である。
【図４】エンジンの振動波形を示す図である。
【図５】エンジンＥＣＵのＲＯＭに記憶されたノック波形モデルを示す図である。
【図６】振動波形とノック波形モデルとを比較した図（その１）である。
【図７】エンジンＥＣＵのＲＯＭもしくはＳＲＡＭに記憶された判定値Ｖ（ＫＸ）のマップを示す図である。
【図８】強度値ＬＯＧ（Ｖ）の頻度分布を示す図（その１）である。
【図９】強度値ＬＯＧ（Ｖ）の頻度分布を示す図（その２）である。
【図１０】強度値ＬＯＧ（Ｖ）の頻度分布を示す図（その３）である。
【図１１】強度値ＬＯＧ（Ｖ）の頻度分布を示す図（その４）である。
【図１２】強度値ＬＯＧ（Ｖ）の頻度分布を作成するために用いられる強度値ＬＯＧ（Ｖ）を示す図である。
【図１３】本発明の実施の形態に係るノッキング判定装置であるエンジンＥＣＵが実行するプログラムの制御構造を示すフローチャートである。
【図１４】ピーク値Ｐの検索範囲を示す図（その１）である。
【図１５】ピーク値Ｐの検索範囲を示す図（その２）である。
【図１６】ピーク値Ｐの検索範囲を示す図（その３）である。
【図１７】振動波形とノック波形モデルとを比較した図（その２）である。
【符号の説明】
【００９９】
１００  エンジン、１０４  インジェクタ、１０６  点火プラグ、１１０  クランクシャフト、１１６  吸気バルブ、１１８  排気バルブ、１２０  ポンプ、２００  エンジンＥＣＵ、２０２  ＲＯＭ、２０４  ＳＲＡＭ、３００  ノックセンサ、３０２  水温センサ、３０４  タイミングロータ、３０６  クランクポジションセンサ、３０８  スロットル開度センサ、３１４  エアフローメータ、３２０  補機バッテリ。
【図１】
2007315363.tif 000003
【図２】
2007315363.tif 000004
【図３】
2007315363.tif 000005
【図４】
2007315363.tif 000006
【図５】
2007315363.tif 000007
【図６】
2007315363.tif 000008
【図７】
2007315363.tif 000009
【図８】
2007315363.tif 000010
【図９】
2007315363.tif 000011
【図１０】
2007315363.tif 000012
【図１１】
2007315363.tif 000013
【図１２】
2007315363.tif 000014
【図１３】
2007315363.tif 000015
【図１４】
2007315363.tif 000016
【図１５】
2007315363.tif 000017
【図１６】
2007315363.tif 000018
【図１７】
2007315363.tif 000019