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