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