(57)【要約】【課題】内燃機関のノッキング制御を判定確率に応じて高精度に制御する。【解決手段】ノッキング有りと判定される判定確率ＫＮＫＰＲＯＢに基づいて、判定確率ＫＮＫＰＲＯＢが大きいほど小さい値ＲＥＴＧ（ＫＮＫＰＲＯＢ）をＲＥＴＧテーブルから検索し、ノッキング有りと判定されたときに設定される遅角ゲインＲＥＴＧＡＩＮ［ｊ］としてセットする（Ｓ７１、Ｓ７２）。また、判定確率ＫＮＫＰＲＯＢに基づいて、判定確率ＫＮＫＰＲＯＢが大きいほど大きい値ＡＤＶＧ（ＫＮＫＰＲＯＢ）をＡＤＶＧテーブルから検索し、ノッキング無しと判定されたときたときに設定される進角ゲインＡＤＶＧＡＩＮ［ｊ］としてセットする。【選択図】  図１２
2004308450.tif 000002
【特許請求の範囲】
【請求項１】
ノッキング検出信号をしきい値と比較してノッキングの有無を判定し、該判定結果に応じて点火時期を制御する内燃機関のノッキング制御装置であって、ノッキングが有ると判定される判定確率の相違に応じて１回毎の点火時期制御量を変更することを特徴とする内燃機関のノッキング制御装置。
【請求項２】
前記ノッキング制御装置は、ノッキング有りと判定されたときに点火時期を遅角制御するものであり、前記判定確率が大きいほど、ノッキング有りと判定されたときの点火時期の遅角制御量を小さくすることを特徴とする請求項１に記載の内燃機関のノッキング制御装置。
【請求項３】
前記判定確率の相違は、判定されるノッキング周波数帯の相違によることを特徴とする請求項１に記載の内燃機関のノッキング制御装置。
【請求項４】
前記判定確率を、ノッキング判定される複数のノッキング周波数帯の総合判定確率に基づいて決定することを特徴とする請求項２に記載の内燃機関のノッキング制御装置。
【請求項５】
ノッキング判定と平行して燃焼ノイズの判定を行い、燃焼ノイズが有ると判定されたノッキング周波数帯をノッキング判定から外すことにより、燃焼ノイズが無いと判定された場合と総合判定確率が相違することを特徴とする請求項４に記載の内燃機関のノッキング制御装置。
【請求項６】
前記判定確率の相違は、しきい値の相違によることを特徴とする請求項１〜請求項５のいずれか１つに記載の内燃機関のノッキング制御装置。
【請求項７】
前記判定確率の相違は、ノッキング検出信号の検出区間の相違によることを特徴とする請求項１〜請求項６のいずれか１つに記載の内燃機関のノッキング制御装置。
【請求項８】
前記ノッキング制御装置は、ノッキング無しと判定されたときに点火時期を進角制御するものであり、前記判定確率が大きいほど、ノッキング無しと判定されたときの点火時期の進角制御量を大きくすることを特徴とする請求項１〜請求項７のいずれか１つに記載の内燃機関のノッキング制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関のノッキングを高精度に制御する技術に関する。
【０００２】
【従来の技術】
内燃機関におけるノッキング判定としては、ノックセンサで検出した機関振動信号からノッキングの特徴的な複数の周波数帯をフィルタで抽出し、これら周波数帯の強度に基づいて行うことが一般的である。
【０００３】
上記ノッキング判定方式において、周波数帯毎にノッキングを判定する確率を算出しつつ該判定確率に基づいて総合的にノッキング判定を行うものがある（特許文献１参照）。
【０００４】
【特許文献１】
特開平７−１０９９４９号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、このようにノッキング判定確率に基づいてノッキング判定を行う方式では、ノッキング判定確率によって、点火時期制御を変えるものではないから、ノッキング判定確率の低いときに十分にノッキングを抑制できるだけの遅角制御が行われなかったり、ノッキング判定確率の高いときに過度の遅角制御によって出力不足を生じたりすることがあった。
【０００６】
本発明は、このような従来の課題に着目してなされたもので、過不足なくノッキング制御を行うことができノッキングを抑制しつつ十分な出力が得られるようにしたノッキング制御装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
このため、本発明は、ノッキングが有ると判定される判定確率の相違に応じて１回毎の点火時期制御量を変更する構成とした。
【０００８】
このようにすれば、判定確率が大きいときは判定毎のノッキング抑制方向の制御を押さえ気味とし、判定確率が小さいときは判定毎のノッキング抑制方向の制御を大きくすることにより、点火時期を適正レベル近傍に維持することができノッキングを抑制しつつ十分な出力を得ることができる。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態を図に基づいて説明する。
図１は、本発明の一実施形態のシステム構成を示す。
【００１０】
エンジン（内燃機関）１には、吸入空気量を制御する電子制御式スロットル弁２、燃料を噴射供給する燃料噴射弁３、点火を行う点火栓４等が備えられている。
【００１１】
また、各種センサ類として、吸入空気量を検出するエアフローメータ５、単位クランク角毎のパルス信号を出力するクランク角センサ６、エンジン冷却水温度を検出する水温センサ７を備えると共に、ノッキング判定のため機関振動を検出するノックセンサ８を備える。なお、ノックセンサの代わりに筒内圧を検出するセンサを用いてもよい。
【００１２】
前記各種センサ類からの検出信号は、マイクロコンピュータを含むコントロールユニット９へ入力され、該コントロールユニット９は、前記センサ類からの信号に基づいてスロットル弁２、燃料噴射弁３、点火栓４を駆動して吸入空気量、燃料噴射量、点火時期を制御し、特に、ノックセンサ８からの信号を処理して本発明にかかるノッキング判定を行いつつノッキング制御（点火時期制御）を行う。
【００１３】
図２は、前記ノッキング制御の制御ブロック図であり、前記ノックセンサ８からの信号は、入力回路１１を経てゲイン調整回路１２でゲイン調整された後、Ａ／Ｄ変換器１３でＡ／Ｄ変換された後、前記コントロールユニット９のマイクロコンピュータで以下のように処理される。
【００１４】
まず、周波数解析部１４は、前記Ａ／Ｄ変換されたデジタル値からノッキングの特徴を示す複数の周波数帯の振動強度を算出する。
ノッキング判定部１５は、前記複数の周波数帯の振動強度に基づいてノッキングの有無を判定する。ここで、特定の周波数帯について振動強度に基づいて前記燃焼ノイズを判定し、燃焼ノイズがあると判定されたときは、この特定の周波数帯の振動強度を除外してノッキング判定を行う。
【００１５】
ノッキング制御部１６は、前記ノッキングの判定結果に応じてノッキングを抑制する制御を行う。
以下、各部の処理の詳細を図３以下のフローチャートにしたがって、説明する。
【００１６】
図３は、周波数解析部１４における処理を示す。図３の処理は、図４に示すように、前記クランク角センサ６からのパルス信号により気筒毎のノッキング判定区間の開始時期である所定のクランク角位置で割り込まれて開始される。
【００１７】
ステップ（図ではＳと記す。以下同様）１でイニシャライズ処理が行われ、ステップ２で前記Ａ／Ｄ変換器１３を駆動してＡ／Ｄ変換を開始させる。
ステップ３では、一定周期毎に振動強度のＡ／Ｄ変換値をサンプリングし、ステップ４の判定でサンプリング数が所定値（例えば６４個）に達するまでサンプリングする。
【００１８】
サンプリング数が所定値に達すると、ステップ５でＦＦＴ処理を開始し、周波数帯［ｉ：ｉ＝１〜５］別の振動強度（以下周波数別強度という）に分別し、ステップ６で各周波数別強度をそれぞれ積算し、ステップ７の判定でＦＦＴ回数が上限に達するまでステップ３に戻ってかかる処理を繰り返す。なお、ＦＦＴ処理の代わりにウェーブレット変換など他の周波数解析処理を行ってもよい。
【００１９】
ここで、上記ＦＦＴ処理により分別されるノッキングの特徴を示す複数の周波数帯［ｉ：１〜５］は、公知の下記のドレーパの式における複数（５個）の振動モード係数ρｍｎ（ρ１０，ρ２０，ρ０１，ρ３０，ρ１１、添え字ｍは径方向振動の次数、ｎは周方向振動の次数を示す。）で決定される各周波数を中心とする周波数帯である（図５参照）。
【００２０】
ｆ＝Ｃ・ρｍｎ／（π×Ｂ）
ｆ：共振周波数、Ｃ：燃焼雰囲気下での音速、Ｂ：シリンダボア径、ρｍｎ：モード別係数
図４に示すように、前記クランク角センサ６からのパルス信号により気筒毎のノッキング判定区間の終了時期である所定のクランク角位置で割り込まれて、図６のフローチャートに示す処理が行われる。
【００２１】
すなわち、ステップ１１では、前記前記Ａ／Ｄ変換器１３の駆動を停止してＡ／Ｄ変換を終了させる。
ステップ１２では、前記図４で算出した周波数別強度積算値［ｉ］を次式によって正規化補正する。
【００２２】
周波数別強度積算値補正値［ｉ］＝周波数別強度積算値［ｉ］×検出区間時間／（総サンプリング数×サンプリング周期）
ステップ１３では、前記周波数別強度積算値補正値［ｉ］に基づいてノッキング判定処理を行い（後に詳述する）、ステップ１４で終了処理を行って、終了する。
【００２３】
図７は、気筒［ｊ：例えば４気筒エンジンでｊ＝１〜４］別のノッキング判定処理を示す。
ステップ２１では、現在前記ノッキング判定終了時期にある気筒ｊの前回のノッキング判定結果をクリアする。
【００２４】
ステップ２２では、周波数別強度平均値を算出処理する。具体的には、図８に示すサブルーチンで処理される。
すなわち、ステップ１０１では、前記ステップ１２で算出した周波数別強度積算値補正値［ｉ］を、次式のようにエンジン回転速度で除算して正規化した周波数別強度ＫＤＬ［ｉ］を算出する。
【００２５】
ＫＤＬ［ｉ］＝周波数別強度積算値補正値［ｉ］／エンジン回転速度
これは、強度の積算が時間周期で実行されエンジン回転速度が増大するほど積算値が増大するので、エンジン回転速度の相違によるノッキング判定精度への影響を除くため行う。
【００２６】
ステップ１０２では、ノッキング判定用のしきい値を得るため、上記周波数別強度積算値補正値［ｉ］を次式のように加重平均して周波数別強度平均値ＫＤＬａｖｅを算出する。
【００２７】
ＫＤＬａｖｅ［ｉ］［ｊ］＝（ＫＤＬ［ｉ］＋１５×ＫＤＬａｖｅ−１［ｉ］［ｊ］）／１６
ＫＤＬａｖｅ［ｉ］［ｊ］：ｊ気筒の周波数別強度ＫＤＬ［ｉ］の加重平均値
ＫＤＬａｖｅ−１［ｉ］［ｊ］：加重平均値ＫＤＬａｖｅ［ｉ］［ｊ］の前回値
図７に戻って、ステップ２３では燃焼ノイズの判定処理を行う。
【００２８】
具体的には、図９と図１１との２つの処理を行い、少なくとも一方の処理で燃焼ノイズが有りと判定されたときに、この判定を確定する。
ところで、燃焼ノイズはノッキングほど振動レベルが大きくないため、振動モードρ１０（径方向の一次振動モード）で顕著に生じることが判明した。そこで、本実施形態では、振動モードρ１０で決定される周波数帯［ｉ＝１］についてのみ、燃焼ノイズの有無を判定し、後述するようにこの周波数帯［１］で燃焼ノイズが有るときはこの周波数帯［１］の振動強度をノッキング判定から除外する構成とする。他の周波数帯についても燃焼ノイズ判定を行う構成としてもよいが、周波数帯［１］のみ燃焼ノイズ判定を行う構成とすることにより制御が簡易になると共に、他の周波数帯に比較して燃焼ノイズを高精度に判定できるので、誤判定によるノッキング判定精度への影響も十分に回避できる。
【００２９】
図９は、燃料供給時と燃料カット時との振動モードρ１０の振動強度を比較して燃焼ノイズの有無を判定する処理を示す。
ステップ４１では、エンジン回転速度ＮＥが、燃焼ノイズ判定が困難な下限回転速度ＮＥＳＬ未満であるかを判定し、ＮＥＳＬ未満のときはステップ５１へ進んで新たな燃焼ノイズ判定を禁止する。回転速度が低すぎるとノックセンサからの信号が変動して燃焼ノイズを誤判定する可能性があるからである。該低速度領域で判定を禁止することにより良好な判定精度を確保できる。この他、暖機前の低水温時は、燃焼ノイズが暖機後と異なることがあるので、燃焼ノイズ判定を禁止するようにしてもよい。また、吸・排気バルブのバルブ着座時も強度平均値が大きくなって燃焼ノイズを判定しにくくなるので、予めバルブ着座近傍をノイズ判定区間から外しておき、あるいは可変バルブタイミング機構により可変制御されるバルブ着座タイミングがノイズ判定区間と重なったときは、燃焼ノイズ判定を禁止するようにしてもよい。
【００３０】
ステップ４１で、エンジン回転速度ＮＥが下限回転速度ＮＥＳＬ以上と判定されたときはステップ４２で気筒ｊが燃料カットされているか否かを判定する。
燃料カットされていると判定されたときは、ステップ４３で非燃料カット継続回数カウンタＮＦＣｃｏｕｎｔ［ｊ］を０にクリアした後、ステップ４４で燃料カット継続回数カウンタＦＣｃｏｕｎｔ［ｊ］をインクリメントする。
【００３１】
そして、ステップ４５で前記ＦＣｃｏｕｎｔ［ｊ］の値が所定値（例えば８回）に達したかを判定し、達する前はそのままステップ５１へ進み、達したときはステップ４６で最新のＫＤＬａｖｅ［１］を、ＦＣＬａｖｅ［ｊ］（燃料カット時ＫＤＬａｖｅ）として更新設定する。
【００３２】
また、ステップ４２で気筒ｊが燃料カット中でない、つまり燃料供給中と判定されたときは、ステップ４７で燃料カット継続回数カウンタＦＣｃｏｕｎｔ［ｊ］を０にクリアした後、ステップ４８で非燃料カット継続回数カウンタＮＦＣｃｏｕｎｔ［ｊ］をインクリメントする。
【００３３】
そして、ステップ４９で前記ＮＦＣｃｏｕｎｔ［ｊ］の値が所定値（例えば８回）に達したかを判定し、達する前はそのままステップ５１へ進み、達したときはステップ４０で最新のＫＤＬａｖｅ［１］を、ＮＦＣＬａｖｅ［ｊ］（非燃料カット時ＫＤＬａｖｅ）として更新設定する。
【００３４】
このようにして、燃料カットまたは燃料供給に切り換え後、所定期間経過後の強度平均値ＫＤＬａｖｅをそれぞれ燃焼ノイズ判定用の値として更新する。このように切り換え後所定期間経過後の値を用いることで、加重平均演算における切り換え前の状態の影響を除いて切り換え後の状態を十分に反映させた値を燃焼ノイズ判定に用いることができるので、判定精度が向上する。
【００３５】
ステップ５１では、上記の各値を用いて燃焼ノイズの有無を判定する。具体的には次式が成立するかを判定する。
ＦＣＬａｖｅ［ｊ］×ＳＬｎｏｉｚｅ［ｊ］［ＮＥ］＜ＮＦＣＬａｖｅ［ｊ］
ここで、ＳＬｎｏｉｚｅ［ｊ］［ＮＥ］は気筒別・エンジン回転速度別にテーブル設定されるしきい値係数であり、例えば２〜３程度の値に設定されている。
【００３６】
そして、上記の式が成立したときはステップ５２で、気筒ｊに燃焼ノイズは生じていないとし、成立しないときはステップ５３で、気筒ｊに燃焼ノイズを生じているとする判定結果を下す。
【００３７】
すなわち、燃料カット時は燃焼が行われないので、燃焼ノイズは発生せず、非燃料カット時（燃料供給時）は燃焼しているので振動強度は燃焼ノイズが無い場合でも燃料カット時よりは大きいが、燃焼ノイズを生じている場合はそれよりさらに大きくなるので、燃焼時の強度平均値ＮＦＣＬａｖｅが燃料カット時の強度平均値ＦＣＬａｖｅに対し所定倍以上大きいときに燃焼ノイズが生じていると判定する。かかる判定方式では、燃焼ノイズを発生しない燃料カット時を一方の比較値として用いているため高い判定精度を確保できる。
【００３８】
このようにして燃焼ノイズ有りと判定された周波数帯をノッキング判定から除外し、それによって燃焼ノイズによるノッキング有りとの誤判定を防止できる。なお、燃焼ノイズとノッキングとが同時に発生する場合もあるが、他の周波数帯の少なくとも１つによってノッキング有りと判定有りと判定することができる。
【００３９】
図７に戻って、ステップ２４では、気筒ｊの上記燃焼ノイズ判定結果を判別し、燃焼ノイズが無いと判別されたときは、ステップ２５へ進んで燃焼ノイズ判定に用いた振動モードρ１０に対応する周波数帯［１］を含めてノッキング判定を行うように、ｉ＝１にセットする。
【００４０】
一方、気筒ｊに燃焼ノイズが有ると判定されたときは、燃焼ノイズ判定に用いた周波数帯［１］を除いてノッキング判定を行うようステップ２６へ進んでｉ＝２にセットする。
【００４１】
そして、ステップ２７でノッキングの有無を判定する。具体的には、次式が成立するかを判定する。
ＫＤＬ［ｉ］≦ＳＬ［ｉ］［ｊ］［ＮＥ］＋ＫＤＬａｖｅ［ｉ］
ここで、ＳＬ［ｉ］［ｊ］［ＮＥ］は、気筒別・エンジン回転速度別にテーブル設定されるしきい値である。
【００４２】
そして、上記の式が成立したときはステップ２８で、気筒ｊにノッキングは生じていないと仮に判定した後、ステップ２９でｉをインクリメントし、ステップ３０の判定でｉ＞５となるまでステップ２７に戻ってインクリメントされた周波数帯［ｉ］について上記判定を繰り返し、ステップ３０の判定でｉ＞５となったときに気筒ｊのノッキング判定を終了する。ｉ＞５となったときはｉ＝１〜４の全てのノッキングに特徴的な周波数帯についてノッキングを生じていないと判定されたので、ステップ２９での気筒ｊにノッキングは生じていないとの判定を確定する。
【００４３】
一方、ｉ＝１からｉ＝５となるまでの間に、ステップ２７の判定で上記の式が不成立となったとき、つまり、ＫＤＬ［ｉ］＞ＳＬ［ｉ］［ｊ］［ＮＥ］＋ＫＤＬａｖｅ［ｉ］となったときは、ステップ３１へ進み、気筒ｊにノッキングを生じていると判定して気筒ｊのノッキング判定を終了する（ノッキング有りの判定結果が確定する）。
【００４４】
すなわち、前記ステップ１０２（図８）で算出した最新の強度ＫＤＬ［ｉ］が強度平均値ＫＤＬａｖｅ［ｉ］に所定のしきい値ＳＬ［ｉ］［ｊ］［ＮＥ］を加算した値以上となったときにノッキングを発生していると判定する。
【００４５】
以上示した一連の処理が残りの気筒についても同様に実行される。
このようにして、燃焼ノイズが生じた周波数帯［１］については、ノッキング判定には用いられないようにしたので、燃焼ノイズによる誤判定を防止してノッキング判定精度を高めることができ、ひいてはノッキング制御精度を高めることができ運転性、燃費等を向上できる。
【００４６】
このようにして得られたノッキング判定結果に基づいて、本発明に係るノッキング制御が行われる。すなわち、ノッキング無しと判定された気筒について点火時期を微小量ずつ進角させつつノッキング有りと判定されたときに点火時期を所定量遅角させることによりノッキングを抑制しつつ最大限出力を高めるように制御する基本的なノッキング制御において、前記燃焼ノイズの有無に応じたノッキング判定の判定確率を算出し、該判定確率に応じて算出された制御ゲインに基づいてノッキング制御を行う。
【００４７】
図１０は、ノッキング状態に応じたしきい値に対する判定確率を示す。すなわち、ノッキングの有無に応じて同一のしきい値に対する判定確率は変化し、ノッキングを強く生じているときは同一のしきい値に対して該しきい値以上の振動強度となってノッキング有りと判定される確率が大きく、ノッキングを発生していないときは該判定確率が小さくなり、所望のノッキング発生限界付近でのトレースノック状態ではその中間となる。しきい値を大きくすれば、該しきい値を超える大きな振動強度を検出したときにノッキング有りと判定するので、ノッキングが確実に生じていると検出できる精度は高められるが、ノッキング有りと判定される確率は低下することとなり、判定に遅れを生じて強ノッキングに曝される時間が増大する。したがって、しきい値を大きくしすぎることは好ましくない。一方、しきい値を小さくすると、該しきい値を超えてノッキング有りと判定される確率は増大するが、実際にはノッキングを生じていないのにノッキング有りと誤判定される確率が増大する。したがって、しきい値を小さくしすぎることも好ましくない。
【００４８】
以上のことから、誤判定確率を所定以下に留めつつ所定以上の判定確率が得られるように、しきい値が適正な値に設定されるが、燃焼ノイズの有無に応じて判定確率が変化するので、該判定確率の相違に応じたノッキング制御を行う。
【００４９】
図１１は、前記判定確率を算出する処理を示す。
ステップ６１では、気筒ｊの上記燃焼ノイズ判定結果を判別し、燃焼ノイズが無いと判別されたときは、ステップ６２へ進んで燃焼ノイズが無いときの判定確率ＫＮＫＰＲＯＢ１［ｊ］［ＮＥ］を求め、ＫＮＫＰＲＯＢとしてセットする。
【００５０】
具体的には、燃焼ノイズが無いときは、ｉ＝１〜５の５個の周波数帯［ｉ］に対してノッキング判定が行われるので、これら５個の周波数帯の判定確率を合計した総合判定確率として、燃焼ノイズ無し用の気筒別、エンジン回転速度別のテーブルから参照して求める。該総合判定確率は、前記所望のトレースノック状態で、周波数帯毎に対応するしきい値でノッキング有りと判定される頻度をそれぞれ実験的に求め、それらを合計した値を総合判定確率としてテーブルに設定しておけばよい（燃焼ノイズ有りの場合も同様）。
【００５１】
一方、ステップ６１で燃焼ノイズが有ると判別されたときは、ステップ６３へ進んで燃焼ノイズが有るときの判定確率ＫＮＫＰＲＯＢ２［ｊ］［ＮＥ］を求め、ＫＮＫＰＲＯＢとしてセットする。
【００５２】
具体的には、燃焼ノイズが有るときは、周波数帯［１］を除くｉ＝２〜５の４個の周波数帯［ｉ］に対してノッキング判定が行われるので、これら４個の周波数帯の判定確率を合計した総合判定確率として、燃焼ノイズ有り用の気筒別、エンジン回転速度別のテーブルから参照して求める。
【００５３】
ここで、燃焼ノイズが有る場合は、無い場合に比較してノッキング判定に周波数帯［１］が外される分、判定確率は減少する。
図１２は、前記判定確率に基づいてノッキング制御の制御ゲイン（１回あたりの点火時期制御量）を算出する処理を示す。
【００５４】
ステップ７１では、前記図１１で設定された判定確率ＫＮＫＰＲＯＢに基づいて、図１３に示すＲＥＴＧテーブルから算出した値ＲＥＴＧ（ＫＮＫＰＲＯＢ）を、ノッキング有りと判定されたときの遅角ゲインＲＥＴＧＡＩＮ［ｊ］としてセットする。
【００５５】
ここで、遅角ゲインＲＥＴＧＡＩＮ［ｊ］は気筒別に設定され、判定確率ＫＮＫＰＲＯＢが大きいほど小さい値に設定される。すなわち、判定確率が大きいときは、遅角補正される頻度が増大するから、１回あたりの遅角量（遅角ゲイン）を小さくすることにより過度に遅角されて出力低下してしまうことを防止できる。逆に、判定確率が小さいときは、遅角補正される頻度が減少するから遅角ゲインを大きくすることにより、ノッキング抑制効果を維持できるようにする。
【００５６】
ステップ７２では、判定確率ＫＮＫＰＲＯＢに基づいて、図１４に示すＡＤＶＧテーブルから算出した値ＡＤＶＧ（ＫＮＫＰＲＯＢ）を、ノッキング無しと判定されたときの進角ゲインＡＤＶＧＡＩＮ［ｊ］としてセットする。
【００５７】
ここで、進角ゲインＲＥＴＧＡＩＮ［ｊ］も気筒別に設定され、判定確率ＫＮＫＰＲＯＢが大きいほど大きい値に設定される。すなわち、判定確率が大きいときは、ノッキング有りとの判定間隔が短くなるので、１回あたりの進角量（進角ゲイン）を大きくすることにより応答性よく点火時期を適正レベルに進角させるようにする。逆に、判定確率が小さいときは、判定間隔が長引くのでこの間に過度に進角されないように進角ゲインを小さくする。
【００５８】
図１５は、ノッキング判定結果に基づいて前記遅角ゲイン及び進角ゲインを用いて行うノッキング制御処理を示す。
ステップ８１で気筒ｊのノッキング判定を行い、ノッキング有りと判定されたときは、ステップ８２へ進んで点火時期ＩＴを次式のように算出する。
【００５９】
ＩＴ＝ＩＴｏｌｄ＋ＲＥＴＧＡＩＮ［ｊ］
ここで、点火時期ＩＴは、遅角量として設定され、ＩＴｏｌｄは点火時期の前回値である。
【００６０】
一方、ステップ８１でノッキング無しと判定されたときは、ステップ８３へ進んで点火時期ＩＴを次式のように算出する。
ＩＴ＝ＩＴｏｌｄ−ＡＤＶＧＡＩＮ［ｊ］
なお、詳細にはエンジン運転状態（回転速度、負荷、水温等）に基づいて点火時期のフィードフォワード値を設定し、フィードバック補正値をノッキング判定結果に応じて上記のように設定し、フィードフォワード値に加算して最終的な点火時期を算出する。
【００６１】
図１６は、上記ノッキング制御時の点火時期変化の様子を示す。
このようにすれば、判定確率に応じた遅角ゲインＲＥＴＧＡＩＮと進角ゲインＡＤＶＧＡＩＮを用いることで、遅角量と進角量とをバランスさせてノッキングを抑制しつつ十分な出力を得ることができる。
【００６２】
なお、簡易的には遅角ゲインのみを判定確率に応じて可変設定する構成としてもよく、進角ゲインのみを判定確率に応じて可変設定する構成とすることも可能である。
【００６３】
また、本実施形態では、燃焼ノイズの有無に応じた周波数帯［１］の使用の有無で判定確率が相違することにより、遅角ゲイン／進角ゲインを変更するものを示したが、例えば、ａ．運転領域によってノッキング判定のしきい値を変更させたような場合に、しきい値の変更に応じた判定確率の相違により遅角ゲイン／進角ゲインを変更するもの、ｂ．運転領域で異なる単一の周波数帯についてノッキング判定を行う場合の周波数帯毎の判定確率の相違により遅角ゲイン／進角ゲインを変更するもの、ｃ．運転領域で異なる判定区間（クランク角区間）でノッキング判定を行う場合に判定区間毎の判定確率の相違により遅角ゲイン／進角ゲインを変更するものなどにも適用できる。
【図面の簡単な説明】
【図１】本発明の実施形態のシステム構成を示す図。
【図２】同上実施形態によるノッキング制御を示すブロック図。
【図３】同上ノッキング制御の周波数解析処理を示すフローチャート。
【図４】ノッキング判定区間と判定処理割り込みタイミングを示すタイムチャート。
【図５】ドレーパの式における振動モード係数及びその関連内容を示す図。
【図６】同上ノッキング制御のノッキング判定区間終了時における割り込み処理を示すフローチャート。
【図７】同上ノッキング制御のノッキング判定処理を示すフローチャート。
【図８】同じく周波数別強度平均値算出処理を示すフローチャート。
【図９】同じく燃焼ノイズ判定処理を示すフローチャート。
【図１０】しきい値に対する判定確率を示す図。
【図１１】同じく判定確率算出処理を示すフローチャート。
【図１２】同じくノッキング制御の制御ゲイン算出処理を示すフローチャート。
【図１３】同じく判定確率に対する遅角ゲインを設定したテーブル。
【図１４】同じく判定確率に対する進角ゲインを設定したテーブル。
【図１５】同じくノッキング制御処理を示すフローチャート。
【図１６】同じくノッキング制御時の点火時期変化の様子を示すタイムチャート。
【符号の説明】
１    エンジン（内燃機関）
３    燃料噴射弁
４    点火栓
６    クランク角センサ
７    水温センサ
８    ノックセンサ
９    コントロールユニット
【図１】
2004308450.tif 000003
【図２】
2004308450.tif 000004
【図３】
2004308450.tif 000005
【図４】
2004308450.tif 000006
【図５】
2004308450.tif 000007
【図６】
2004308450.tif 000008
【図７】
2004308450.tif 000009
【図８】
2004308450.tif 000010
【図９】
2004308450.tif 000011
【図１０】
2004308450.tif 000012
【図１１】
2004308450.tif 000013
【図１２】
2004308450.tif 000014
【図１３】
2004308450.tif 000015
【図１４】
2004308450.tif 000016
【図１５】
2004308450.tif 000017
【図１６】
2004308450.tif 000018