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