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