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