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