(57)【要約】    【課題】ノイズの影響を受けず、ノッキングの発生を正確に検知する。    【解決手段】ノックセンサの出力にノイズ成分が重畳しているか否かを気筒毎に判定し（Ｓ３０３）、重畳しているときは、その気筒について、ノック判定の対象となる周波数帯から、周波数番号ｉ＝１により特定される、中心周波数の比較的に低いものを除外する（Ｓ３０８）。ノイズ成分が重畳していない気筒については、周波数番号ｉ＝１〜５により特定されるすべての周波数帯をノック判定の対象とする（Ｓ３０６）。【選択図】  図６
2005098192.tif 000002
【特許請求の範囲】
【請求項１】
燃焼時における筒内圧力を気筒毎に、かつ振動成分を含んで検出する筒内圧力検出手段と、
検出した圧力をもとに、ノッキングの特徴を示すものと設定された所定の周波数帯の振動の大きさを、周波数別強度として気筒毎に検出する周波数別強度検出手段と、
検出した周波数別強度をもとに、該当する気筒にノッキングが発生しているか否かを判定するノック判定手段と、を含んで構成され、
周波数別強度検出手段は、周波数別強度を検出する対象となる周波数帯を気筒間で異ならせるエンジンのノック制御装置。
【請求項２】
筒内圧力検出手段により検出される圧力にノック音以外のノイズ成分が含まれるか否かを判定するノイズ判定手段を更に含んで構成され、
周波数別強度検出手段は、ノイズ成分が含まれるとの判定を受けて、前記対象となる周波数帯を異ならせる請求項１に記載のエンジンのノック制御装置。
【請求項３】
前記所定の周波数帯として第１の周波数帯と、これとは異なる第２の周波数帯とが設定され、
周波数別強度検出手段は、前記対象となる周波数帯として、一部の気筒については第１及び第２の周波数帯を、それ以外の気筒については第２の周波数帯のみを採用する請求項１又は２に記載のエンジンのノック制御装置。
【請求項４】
前記第１の周波数帯の中心周波数が前記第２の周波数帯の中心周波数よりも低い請求項３に記載のエンジンのノック制御装置。
【請求項５】
エンジンの運転状態を検出する運転状態検出手段を更に含んで構成され、
周波数別強度検出手段は、検出した運転状態が所定の領域にあるときに前記対象となる周波数帯を異ならせ、検出した運転状態が前記所定の領域以外の領域にあるときに前記対象となる周波数帯を全気筒について一致させる請求項１〜４のいずれかに記載のエンジンのノック制御装置。
【請求項６】
ノック判定手段の判定結果に応じて点火時期を変更する点火制御手段を更に含んで構成される請求項１〜５のいずれかに記載のエンジンのノック制御装置。
【請求項７】
燃焼時における筒内圧力を気筒毎に、かつ振動成分を含んで検出する筒内圧力検出手段と、
検出した圧力をもとに、筒内圧力の周波数帯毎の振動の大きさを、周波数別強度として気筒毎に検出する周波数別強度検出手段と、
検出した周波数別強度をもとに、該当する気筒にノッキングが発生しているか否かを判定するノック判定手段と、を含んで構成され、
周波数別強度検出手段は、
ノッキングの特徴を示すものとして複数の周波数帯が設定され、第１の気筒について、前記複数の周波数帯から特定の周波数帯を含む１以上の周波数帯を選択する一方、第１の気筒以外の第２の気筒について、前記複数の周波数帯から前記特定の周波数帯を除く少なくとも１つの周波数帯を選択する手段と、
筒内圧力検出手段により検出した圧力をもとに、第１及び第２の気筒の夫々について、選択した周波数帯の周波数別強度を検出する手段と、を含んで構成されるエンジンのノック制御装置。
【請求項８】
燃焼時における筒内圧力を気筒毎に、かつ振動成分を含んで検出し、
検出した圧力をもとに、第１の気筒について、ノッキングの特徴を示すものと設定された１以上の所定の周波数帯の振動の大きさを検出する一方、第１の気筒以外の第２の気筒について、ノッキングの特徴を示すものとして設定された、前記所定の周波数帯とは異なる少なくとも１つの周波数帯の振動の大きさを検出し、
検出した振動の大きさをもとに、該当する気筒にノッキングが発生しているか否かを判定し、
ノッキングが発生していると判定したときは、そのノッキングを抑制するための制御を行うエンジンのノック制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンのノック制御装置に関し、詳細には、高速フーリエ変換（以下「ＦＦＴ」という。）等を用いた振動解析によるノック判定の結果をもとに、ノッキングを抑制する技術に関する。
【背景技術】
【０００２】
エンジンにノッキングが発生しているか否かを判定し、発生したノッキングを抑制するもの、特に多気筒エンジンにおけるノッキングを抑制するものとして、次の装置が知られている。すなわち、ノッキングの発生をノックセンサの出力に基づいて判定するものである。また、ノック判定に際し、ノッキングが発生しているか否かの判断のためのしきい値を気筒毎に適合させ、個別に設定するものも知られている（特許文献１）。
【特許文献１】特開２００２−１５５７９５号公報（段落番号００２９）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の装置には、次のような問題がある。すなわち、上記の装置は、ノック音以外のノイズ成分による誤判定を防止するため、ノックセンサの出力にノイズ成分が重畳している場合は、該当する気筒について、前記判断のためのしきい値を増大させるものであり、ノック判定に際してノイズ成分の影響を完全に排除し得るものでも、その影響自体を緩和し得るものでもない。このため、重畳しているノイズ成分の大きさを正確に特定することができない場合は、たとえしきい値を変更したとしても、変更後のしきい値が常に適切であるとは限らず、誤判定を確実に防止し得るとは限らない。
【０００４】
本発明は、ノック判定に際してノイズ成分の影響を排除するか、あるいはその影響自体を緩和することを可能として、ノッキングの発生を正確に検知し、誤判定を防止することを目的とする。
【課題を解決するための手段】
【０００５】
本発明では、燃焼時における筒内圧力を気筒毎に、かつ振動成分を含んで検出し、検出した圧力をもとに、ノッキングの特徴を示すものと設定された所定の周波数帯（以下「特徴周波数帯」という。）の振動の大きさを、周波数別強度として気筒毎に検出し、検出した周波数別強度をもとに、該当する気筒にノッキングが発生しているか否かを判定する。そして、周波数別強度の検出に際し、検出の対象となる周波数帯を気筒間で異ならせる。ここで、対象となる周波数帯を異ならせるのは、検出される圧力にノック音以外のノイズ成分が含まれるときであるのが好ましい。
【発明の効果】
【０００６】
本発明によれば、周波数別強度を検出する周波数帯を気筒間で異ならせることとしたので、ノック判定に際し、気筒毎に最適なフィルタ特性を設定することが可能となる。例えば、検出される圧力にノイズ成分が含まれるときに、前記対象となる周波数帯を異ならせることで、該当する気筒について、ノイズ成分の影響を排除するか、あるいはその影響自体を緩和することができ、ノイズ成分の大きさによらずノッキングの発生を正確に検知することができる。
【発明を実施するための最良の形態】
【０００７】
以下に図面を参照して、本発明の実施の形態について説明する。
図１は、本発明の一実施形態に係るノック制御装置を備える自動車用エンジン（以下「エンジン」という。）１の構成を示している。
エンジン１は、直噴式のエンジンである。吸気通路１１には、スロットル弁１２が設置されている。吸入空気は、スロットル弁１２により流量が調整され、吸気弁１４の開期間に筒内に流入する。スロットル弁１２の上流には、エアフローメータ１３が設置されている。エアフローメータ１３により吸入空気の流量が検出される。エンジン１の本体には、燃焼室に臨ませてインジェクタ１５及び点火プラグ１６が設置されている。吸入空気に対し、インジェクタ１５から運転状態に応じた量の燃料が噴射されるとともに、形成された混合気に対し、点火プラグ１６により点火が行われる。排ガスは、排気弁１７の開期間に排気通路１８に排出される。エンジン１の本体には、クランク角センサ１９、冷却水温度センサ２０、筒内圧力センサ２１及びアクセルセンサ２２が設置されている。クランク角センサ１９の検出信号は、次に述べるコントロールユニット２３において、エンジン回転数Ｎｅの算出に用いられる。筒内圧力センサ２１は、圧力の振動成分に感応する圧電素子を含んで構成されるものであり、そのようなものとして、いわゆるノックセンサを採用することができる。アクセルセンサ２２は、運転者によるアクセル操作量を検出するためのものである。エアフローメータ１３、クランク角センサ１９、冷却水温度センサ２０、筒内圧力センサ２１及びアクセルセンサ２２の検出信号は、コントロールユニット２３に出力される。コントロールユニット２３は、入力した信号をもとに、通常の条件に従って燃料噴射量及び点火時期を演算するとともに、演算結果に応じてインジェクタ１５及び点火プラグ１６を作動させる。また、コントロールユニット２３は、以下に述べるようにエンジン１にノッキングが発生しているか否かを判定し、ノッキングが発生していると判定した場合は、発生したノッキングを抑制するための制御として、上記の演算結果に対して点火時期を遅らせて設定する。
【０００８】
次に、コントロールユニット２３の構成を、図２に示すブロック図により説明する。
ブロック（以下「Ｂ」と略す。）１では、筒内圧力センサ２１の出力を、ＡＤコンバータのダイナミックレンジに適合させる。
Ｂ２では、コントロールユニット２３内のＡＤコンバータを作動させ、アナログ値の筒内圧力Ｐｃｙｌをディジタル値に変換する。ディジタル値への変換は、Ｂ３で設定する検出期間に行う。
【０００９】
Ｂ３では、検出期間を所定のクランク角範囲に設定する。例えば、１番気筒について、上死点後のクランク角（以下「ＡＴＤＣ」という。）で１０〜６０°に設定する。
Ｂ４では、ディジタル値の筒内圧力ＰｃｙｌにＦＦＴ処理を施す。ＦＦＴ処理は、検出期間を複数のウィンドウに区切り、ウィンドウ毎に行う。ＦＦＴ処理により、共振周波数のそれぞれに対応させて、次に示すドレーパの式（１）により算出される５つの共振モードのレベル（以下「振動強度」という。）を算出する。なお、（１）式において、ｆｉ（ｉ＝１〜５）をモード毎の共振周波数（「中心周波数」に相当する。）、Ｃを雰囲気音速、Ｂをシリンダボア径、ρｍｎをモード別係数とする。モード別係数ρｍｎは、共振モードの形態に応じた値に設定され（図３）、添え字ｍは、径方向振動の次数を、ｎは、周方向振動の次数を示す。ＦＦＴ処理の結果は、コントロールユニット２３内の記憶装置に保存する。
【００１０】
ｆｉ＝Ｃ×ρｍｎ／（π×Ｂ）  ・・・（１）
Ｂ５では、ＦＦＴ処理の結果をもとに、筒内圧力の周波数別強度ＫＤＬｉを演算する。周波数別強度ＫＤＬｉの演算は、検出期間に渡ってＦＦＴ処理により得た各振動強度ＦＦＴｉ（ｉ＝１〜５）を共振モード毎に積算して行う。
Ｂ６では、バックグラウンドレベルＢＧＬを演算する。本実施形態では、周波数別強度の加重平均値ＫＤＬａｖｅｉをバックグラウンドレベルＢＧＬとする。
【００１１】
Ｂ７では、周波数別強度ＫＤＬｉとバックグラウンドレベルＢＧＬとの差分ΔＫＤＬｉを算出する。ここで、差分ΔＫＤＬｉの算出は、算出した周波数別強度ＫＤＬｉのうち、ノイズの発生状況に応じて選択したもののみについて行う。本実施形態では、筒内圧力Ｐｃｙｌにノイズ成分が重畳している場合に、周波数番号ｉ＝１に対応する周波数別強度ＫＤＬ１をノック判定の対象から除外する。なお、算出した周波数別強度ＫＤＬｉから特定のもの（＝ＫＤＬ１）以外を選択する動作が、「周波数別強度の検出」に相当する。
【００１２】
Ｂ８では、差分ΔＫＤＬｉと、Ｂ９で設定するしきい値ＳＬｉとを比較し、差分ΔＫＤＬｉのほうが大きい共振モードが１つでもある場合に、エンジン１にノッキングが発生していると判定する。
Ｂ９では、しきい値ＳＬｉを、エンジン回転数Ｎｅに応じた値に設定する。
Ｂ１０では、ノッキングの発生を検知した場合に、発生したノッキングを抑制するため、点火時期を通常値に対して所定のクランク角だけ遅らせて設定するとともに、その後点火時期を徐々に進めていく制御を行う。例えば、ノッキングの発生を検知したことにより点火時期を比較的に大きな第１の角度だけ一気に遅らせた後、所定の時間当たりに第１の角度よりも小さい第２の角度ずつ進めていく。
【００１３】
次に、コントロールユニット２３の動作を、図４〜７に示すフローチャートにより説明する。
図４は、振動強度演算ルーチンのフローチャートである。このルーチンは、図８に示す検出開始割込タイミング（＝ＡＴＤＣ１０°）において、対応する気筒ｊ（ここでは、ｊ＝１）について実行される。なお、以下の説明において、気筒番号（例えば、１〜４）をｊで表す。
【００１４】
Ｓ１０１では、気筒判別を行う。具体的には、今回のノック判定の対象が１番気筒であるとの判別が行われる。
Ｓ１０２では、イニシャライズ処理を行う。
Ｓ１０３では、ＡＤコンバータを作動させ、筒内圧力Ｐｃｙｌのディジタル値への変換を開始する。
【００１５】
Ｓ１０４では、変換した筒内圧力Ｐｃｙｌをサンプリングする。ここで、１回のＦＦＴ処理に際してサンプリングするデータ数Ｎｓｍｐは、６４に設定している。
Ｓ１０５では、サンプル数が所定値Ｎｓｍｐに達したか否かを判定する。Ｎｓｍｐに達したときは、Ｓ１０６へ進み、達していないときは、Ｓ１０４へ戻り、筒内圧力Ｐｃｙｌのサンプリングを継続する。
【００１６】
Ｓ１０６では、サンプリングした６４個の筒内圧力Ｐｃｙｌに対してＦＦＴ処理を施し、共振モード毎の振動強度ＦＦＴｉを算出する。
Ｓ１０７では、算出した振動強度ＦＦＴｉを記憶装置に保存する。
Ｓ１０８では、今回のノック判定に際して実行したＦＦＴ処理の回数ｎを１だけカウントアップする。
【００１７】
Ｓ１０９では、カウントアップ後のＦＦＴ実行回数ｎが所定値Ｎｍａｘに達したか否かを判定する。Ｎｍａｘに達したときは、このルーチンを終了し、達していないときは、Ｓ１０４へ戻り、次のウィンドウにより筒内圧力Ｐｃｙｌをサンプリングする。なお、Ｎｍａｘは、検出期間（＝ＡＴＤＣ１０〜６０°）に収まり得るウィンドウの数の最大値に設定する。
【００１８】
図５〜７は、ノック判定ルーチンのフローチャートである。このルーチンは、図８に示す検出終了割込タイミング（＝ＡＴＤＣ６０°）において、対応する気筒ｊ（ここでは、ｊ＝１）について実行される。
Ｓ２０１では、ＡＤコンバータを停止させ、筒内圧力Ｐｃｙｌのディジタル値への変換を終了する。
【００１９】
Ｓ２０２では、積算周波数別強度σＦＦＴｉを演算する。σＦＦＴｉの演算は、１回目からＮｍａｘ回目までのＦＦＴ処理により得た各振動強度を、共振モード毎に積算して行う。
Ｓ２０３では、時間補正を行う。すなわち、演算した積算周波数別強度σＦＦＴｉに下式（２）による処理を施し、検出期間（＝ＡＴＤＣ１０〜６０°）当たりのものへの正規化を行う。なお、本ステップにおける処理に際し、検出期間をクランク角から時間に換算するものとし、筒内圧力Ｐｃｙｌのサンプリング間隔をｔｓｍｐとする。
【００２０】
σＦＦＴｉ＝σＦＦＴｉ×検出期間／（Ｎｓｍｐ×Ｎｍａｘ×ｔｓｍｐ）  ・・・（２）
Ｓ２０４では、正規化した積算周波数別強度σＦＦＴｉをもとに、図６に示すフローチャートに従いノック判定を行う。
図６に示すフローチャートにおいて、Ｓ３０１では、気筒ｊについて前回にノック判定を行った際の判定結果をクリアする。
【００２１】
Ｓ３０２では、周波数別強度ＫＤＬｉを演算する。ＫＤＬｉの演算は、積算周波数別強度σＦＦＴｉを読み込むとともに、読み込んだσＦＦＴｉをエンジン回転数Ｎｅで除算して行う。
ＫＤＬｉ＝σＦＦＴｉ／Ｎｅ  ・・・（３）
Ｓ３０３では、図７に示すフローチャートに従いノイズ判定を行う。なお、このノイズ判定については後に説明する。
【００２２】
Ｓ３０４では、バックグラウンドレベルＢＧＬを演算する。本実施形態では、バックグラウンドレベルＢＧＬを、周波数別強度の加重平均値（以下「平均周波数別強度」という。）ＫＤＬａｖｅｉとし、下式（４）により算出する。なお、前回のノック判定に際してこのＳ３０４で算出した平均周波数別強度を、ＫＤＬａｖｅｉn-1とする。
ＢＧＬ＝ＫＤＬａｖｅｉ＝（ＫＤＬｉ＋１５×ＫＤＬａｖｅｉn-1）／１６  ・・・（４）
Ｓ３０５では、ノイズ判定フラグＦｎｏｉｓｅが０であるか否かを判定する。０であるときは、ノックセンサ２１により検出された筒内圧力Ｐｃｙｌにノイズ成分が重畳していないものとしてＳ３０６へ進み、０でないときは、この筒内圧力Ｐｃｙｌにノイズ成分が重畳しているものとしてＳ３０７へ進む。ノイズ判定フラグＦｎｏｉｓｅは、通常は０に設定されており、後述するノイズ判定において、所定のレベルを超える大きさのノイズ成分が検出された場合に１に設定される。
【００２３】
Ｓ３０６では、設定された５つの周波数帯のすべてについてノック判定を行うべく、ノック判定の対象とする特徴周波数帯のうち、共振周波数が最も低いものに対応する周波数番号ｉ（図３）を１に設定する。
Ｓ３０７では、エンジン１の運転状態が所定の領域内にあるか否かを判定する。所定の領域は、回転数又は負荷により定められ、ノイズが発生し得る領域として予め設定する。運転状態がこの領域内にあるときは、Ｓ３０８へ進み、この領域内にないときは、Ｓ３０６へ進む。
【００２４】
前記所定の領域は、ノイズレベルがピークとなる回転数Ｎｅφ（＝２０００〜４０００ｒｐｍ）を実験により定め、このピーク回転数Ｎｅφを基準として、例えば、図９に示すように設定する。ピーク回転数Ｎｅφに０．７又は１．３を乗算して所定の値Ｎｅ１（＝Ｎｅφ×０．７），Ｎｅ２（＝Ｎｅφ×１．３）を算出し、これらの値Ｎｅ１，Ｎｅ２を上下限とする領域（Ｎｅ１≦Ｎｅ≦Ｎｅ２）に設定する。
【００２５】
Ｓ３０８では、設定された５つの周波数帯のうち、共振周波数が最も低いもの（ｉ＝１）をノック判定の対象から除外するべく、ノック判定の対象とする特徴周波数帯のうち、共振周波数が最も低いものに対応する周波数番号ｉ（図３）を２に設定する。
Ｓ３０９では、Ｓ−Ｎ差分ΔＫＤＬｉを演算する。Ｓ−Ｎ差分ΔＫＤＬｉは、周波数別強度ＫＤＬｉとバックグラウンドレベルＢＧＬとの差であり、ΔＫＤＬｉの演算は、周波数別強度ＫＤＬｉから平均周波数別強度ＫＤＬａｖｅｉを減算して行う。
【００２６】
ΔＫＤＬｉ＝ＫＤＬｉ−ＫＤＬａｖｅｉ  ・・・（５）
Ｓ３１０では、算出したＳ−Ｎ差分ΔＫＤＬｉがノック判定のためのしきい値ＳＬｉ以下であるか否かを判定する。しきい値ＳＬｉは、エンジン回転数Ｎｅに応じて共振モード毎に設定する。Ｓ−Ｎ差分ΔＫＤＬｉがＳＬｉ以下であるときは、Ｓ３１１へ進み、ＳＬｉよりも大きいときは、Ｓ３１４へ進む。
【００２７】
Ｓ３１１では、気筒ｊについてノッキングが発生していないとの判定を下す。
Ｓ３１２では、周波数番号ｉに１を加算し、加算後のｉにより特定される特徴周波数帯を判定の対象とする。
Ｓ３１３では、周波数番号ｉが５を超えたか否かを判定する。５を超えたときは、対象とすべきすべての特徴周波数帯についてノック判定が終了したものとして、このルーチンを終了する。一方、５を超えていないときは、Ｓ３０９へ戻り、次の特徴周波数帯について、Ｓ−Ｎ差分ΔＫＤＬｉとしきい値ＳＬｉとを比較する（Ｓ３１０）。
【００２８】
Ｓ３１４では、気筒ｊについてノッキングが発生しているとの判定を下す。
以上、Ｓ３０９〜３１４の処理によれば、共振モードに応じたすべての周波数別強度ＫＤＬｉがＳＬｉ以下であるときに、エンジン１にノッキングが発生していないと判定し（Ｓ３１１）、周波数別強度ＫＤＬｉのうち、ＳＬｉよりも大きいものが１つでもあるときに、ノッキングが発生していると判定することとなる（Ｓ３１４）。
【００２９】
なお、ノッキングが発生しているとの判定を下したときは、ＥＣＵ２３は、該当する気筒ｊについて、図２のＢ１０に関して述べた制御を行い、発生したノッキングを抑制する。
また、ノック判定の対象とする特徴周波数帯は、ノイズ成分が検出されていない気筒については周波数番号ｉ＝１〜５により特定されるものとなり、ノイズ成分が検出された気筒については周波数番号ｉ＝２〜５により特定されるものとなる。すなわち、本実施形態では、ノイズ成分が検出されていない気筒と検出された気筒とで、対象とする特徴周波数帯を異ならせることとしている。
【００３０】
図７に示すフローチャートにおいて、Ｓ４０１では、エンジン回転数Ｎｅが所定値ＳＬｎｅ以上であるか否かを判定する。ＳＬｎｅ以上であるときは、Ｓ４０２へ進み、それ以降の処理により気筒ｊについて、ノイズ成分が検出されたか否かを判定する。ＳＬｎｅ未満であるときは、新たなノイズ判定を禁止すべくＳ４１１へ進み、前回のノイズ判定の結果を実質的に維持する。
【００３１】
Ｓ４０２では、気筒ｊに対し、燃料の供給が停止されているか否かを判定する。停止されているとき（以下「燃料カット時」という。）は、Ｓ４０３へ進み、停止されていないとき（以下「燃料非カット時」という。）は、Ｓ４０７へ進む。
Ｓ４０３では、非カット時カウンタＣＮＴｎｆｃの値を０に設定する。
Ｓ４０４では、カット時カウンタＣＮＴｆｃの値を１だけ増加させる。
【００３２】
Ｓ４０５では、増加後のカット時カウンタＣＮＴｆｃの値が所定値、例えば、８に達したか否かを判定する。達したときは、Ｓ４０６へ進み、達していないときは、Ｓ４１１へ進む。
Ｓ４０６では、カット時レベルＬＥＶｆｃを、燃料カット時における周波数番号ｉ＝１についての平均周波数別強度ＫＤＬａｖｅ１に設定する。
【００３３】
一方、燃料非カット時において、Ｓ４０７では、カット時カウンタＣＮＴｆｃの値を０に設定する。
Ｓ４０８では、非カット時カウンタＣＮＴｎｆｃの値を１だけ増加させる。
Ｓ４０５では、増加後の非カット時カウンタＣＮＴｎｆｃの値が所定値（ここでは、８）に達したか否かを判定する。達したときは、Ｓ４１０へ進み、達していないときは、Ｓ４１１へ進む。
【００３４】
Ｓ４１０では、非カット時レベルＬＥＶｎｆｃを、燃料非カット時における周波数番号ｉ＝１についての平均周波数別強度ＫＤＬａｖｅ１に設定する。
Ｓ４１１では、ノイズ判定値ＮＯＩＳＥを算出する。ノイズ判定値ＮＯＩＳＥは、非カット時レベルＬＥＶｎｆｃをカット時レベルＬＥＶｆｃで除算して算出する。
ＮＯＩＳＥ＝ＬＥＶｎｆｃ／ＬＥＶｆｃ  ・・・（６）
Ｓ４１２では、算出したノイズ判定値ＮＯＩＳＥが所定値ＳＬｎｏｉｓｅを超えているか否かを判定する。超えているときは、Ｓ４１３へ進み、超えていないときは、Ｓ４１４へ進む。なお、所定値ＳＬｎｏｉｓｅは、気筒毎に、エンジン回転数Ｎｅに応じて設定する。
【００３５】
Ｓ４１３では、気筒ｊについて、ノイズ成分を検出したとの判定を下し、ノイズ判定フラグＦｎｏｉｓｅを１に設定する。
Ｓ４１４では、気筒ｊについて、ノイズ成分を検出していないとの判定を下し、ノイズ判定フラグＦｎｏｉｓｅを０に設定する。
本実施形態に関し、クランク角センサ１９、筒内圧力センサ２１、アクセルセンサ２２及びＥＣＵ２３によりノック制御装置が構成される。すなわち、筒内圧力センサ２１が筒内圧力検出手段としての機能を持ち、クランク角センサ１９及びアクセルセンサ２２が運転状態検出手段としての機能を持つ。また、ＥＣＵ２３が持つ機能のうち、図６に示すフローチャートのＳ３０２〜３０８の機能が周波数別強度検出手段に、Ｓ３０４，３０９〜３１４の機能がノック判定手段に相当する。図７に示すフローチャート全体の機能がノイズ判定手段に相当し、図２に示すＢ１０が点火制御手段としての機能を持つ。
【００３６】
本実施形態によれば、次のような効果を得ることができる。
第１に、ノック判定の対象とする特徴周波数帯を気筒間で異ならせることとしたので、各気筒について、判定に用いる周波数別強度を得る際の最適なフィルタ特性を設定することができる。特に、筒内圧力センサ２１の出力にノイズ成分が重畳しているときに特徴周波数帯を異ならせることとしたので、該当する気筒について、ノイズ成分の影響を受けることなくノック判定を行うことができ、ノッキングの発生を正確に検知することができる。
【００３７】
第２に、ノック判定に際し、周波数番号ｉ＝１に対応する周波数帯を対象とするか否かによりフィルタ特性を変化させることとした。この周波数番号のものは、小さなエネルギーのノイズ源によっても振動を起こし易い。このため、ノイズ成分の影響を効果的に排除することができる。また、ノイズ成分の有無を比較的正確に判定することができるので、ノイズ成分の影響を排除することに加え、誤ったノイズ判定を防止しつつ、演算を簡素化することができる。
【００３８】
第３に、フィルタ特性を、エンジンが所定のノイズ発生領域内にあるときにのみ変化させることとした。ノイズが発生し得る領域を実験等により予め特定し、その領域のみについてフィルタ特性の可変設定を行うこととすれば、設定に要する工数を削減し、装置を簡単に作製することができる。
以上では、予め設定された周波数帯のうち、特定のもの（ｉ＝１）をノイズの発生状況に応じてノック判定の対象から除外する場合を例に説明した。しかしながら、常に発生するか、あるいは発生頻度が高いノイズの特徴は、実験等により予め特定することが可能である。また、１つのノックセンサにより複数の気筒を対象にノック判定を行う場合は、気筒毎に問題となるノイズの特徴が異なることもあるが、そのような特徴も予め確認することが可能である。そこで、ノック判定の対象とする特徴周波数帯を気筒毎に設定し、フィルタ特性を予め気筒毎に適合させておくこともできる。
【００３９】
また、以上では、筒内圧力波形の周波数変換手段としてＦＦＴを採用することとしたが、ＦＦＴに代え、例えば、ウェーブレット変換を採用してもよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態に係るノック制御装置を備えるエンジンの構成
【図２】同上ノック制御装置の構成
【図３】共振モードの形態及びドレーパの式におけるモード別係数ρｍｎ
【図４】振動強度演算ルーチンのフローチャート
【図５】ノック判定ルーチンのフローチャート
【図６】同上ルーチンにおけるノック判定処理のサブルーチン
【図７】同上ルーチンにおけるノイズ判定処理のサブルーチン
【図８】筒内圧力Ｐｃｙｌの検出開始タイミング及び検出終了タイミング
【図９】ノイズ発生領域
【符号の説明】
【００４１】
１…エンジン、１１…吸気通路、１２…スロットル弁、１３…エアフローメータ、１４…吸気弁、１５…インジェクタ、１６…点火プラグ、１７…排気弁、１８…排気通路、１９…クランク角センサ、２０…冷却水温度センサ、２１…筒内圧力センサ、２２…アクセルセンサ、２３…コントロールユニット。
【図１】
2005098192.tif 000003
【図２】
2005098192.tif 000004
【図３】
2005098192.tif 000005
【図４】
2005098192.tif 000006
【図５】
2005098192.tif 000007
【図６】
2005098192.tif 000008
【図７】
2005098192.tif 000009
【図８】
2005098192.tif 000010
【図９】
2005098192.tif 000011