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