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