(57)【要約】【課題】  可変吸気機構の動作状態の検出結果の信頼性が低下している場合でも、実際の吸入空気量に応じて、空燃比制御および点火時期制御を適切に行うことができる内燃機関の制御装置を提供する。【解決手段】  空燃比および点火時期を制御する制御装置１は、ＥＣＵ２を備える。ＥＣＵ２は、目標空燃比KCMDを算出し(ステップ22)、空燃比をフィードバック制御するための空燃比補正係数KSTRを算出し(ステップ2〜7)、空燃比指標値の統計処理値KAF_LSを算出し(ステップ82)、統計処理値KAF_LSに応じて、補正後バルブリフトLiftin_compおよび補正後カム位相Cain_compを算出し(ステップ81〜92)、補正後バルブリフトLiftin_comp、補正後カム位相Cain_compおよび空燃比補正係数KSTRに応じて、燃料噴射量TOUTを決定する(ステップ20〜25)。【選択図】  図２６
2006002591.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の気筒内に吸入される吸入空気量を可変吸気機構を介して制御するとともに燃焼室内に供給される燃料量を制御することにより、当該燃焼室内の混合気の空燃比を制御する内燃機関の制御装置であって、
前記可変吸気機構の動作状態を表す動作状態パラメータを検出する動作状態パラメータ検出手段と、
前記内燃機関の排気通路を流れる排ガスの空燃比を表す空燃比パラメータを検出する空燃比パラメータ検出手段と、
前記混合気の空燃比制御の目標となる目標空燃比を算出する目標空燃比算出手段と、
前記空燃比パラメータに応じて、前記混合気の空燃比を前記目標空燃比になるように制御するための空燃比制御パラメータを算出する空燃比制御パラメータ算出手段と、
当該空燃比制御パラメータおよび前記空燃比パラメータの一方に応じて、前記動作状態パラメータを補正する補正手段と、
当該補正された動作状態パラメータおよび前記空燃比制御パラメータに応じて、前記燃料量を決定する燃料量決定手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記補正手段は、前記空燃比制御パラメータおよび前記空燃比パラメータの一方に基づいて、前記混合気の空燃比の制御状態を表す制御状態値を算出し、当該制御状態値に所定の逐次型統計処理を施すことにより統計処理値を算出するとともに、当該統計処理値に応じて、前記動作状態パラメータを補正することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記補正手段は、前記統計処理値が所定の範囲外にあるときには、前記統計処理値が当該所定の範囲内になるように、前記動作状態パラメータを前記統計処理値に応じて補正し、前記統計処理値が前記所定の範囲内にあるときには、前記動作状態パラメータの補正量を一定値に保持することを特徴とする請求項２に記載の内燃機関の制御装置。
【請求項４】
前記内燃機関の吸気通路内を流れる空気の流量を検出する空気流量検出手段と、
前記内燃機関の負荷を表す負荷パラメータを検出する負荷パラメータ検出手段と、
をさらに備え、
前記燃料量決定手段は、前記燃料量を、前記負荷パラメータが所定の第１範囲にあるときには、前記補正された動作状態パラメータおよび前記空燃比制御パラメータに応じて決定するとともに、前記負荷パラメータが前記所定の第１範囲と異なる所定の第２範囲にあるときには、前記空気の流量および前記空燃比制御パラメータに応じて決定することを特徴とする請求項１ないし３のいずれかに記載の内燃機関の制御装置。
【請求項５】
内燃機関の気筒内に吸入される吸入空気量を可変吸気機構を介して制御するとともに、燃焼室内の混合気の点火時期および空燃比を制御する内燃機関の制御装置であって、
前記可変吸気機構の動作状態を表す動作状態パラメータを検出する動作状態パラメータ検出手段と、
前記内燃機関の排気通路を流れる排ガス中の空燃比を表す空燃比パラメータを検出する空燃比パラメータ検出手段と、
前記混合気の空燃比制御の目標となる目標空燃比を設定する目標空燃比設定手段と、
前記空燃比パラメータに応じて、前記混合気の空燃比を前記目標空燃比になるように制御する空燃比制御手段と、
当該空燃比制御手段による前記混合気の空燃比の制御状態および前記空燃比パラメータの一方に応じて、前記動作状態パラメータを補正する補正手段と、
当該補正された動作状態パラメータに応じて、前記点火時期を決定する点火時期決定手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項６】
前記空燃比制御手段は、前記空燃比パラメータに応じて、前記混合気の空燃比を前記目標空燃比になるように制御するための空燃比制御パラメータを算出し、
前記補正手段は、当該空燃比制御パラメータおよび前記空燃比パラメータの一方に基づいて、前記混合気の空燃比の制御状態を表す制御状態値を算出し、当該制御状態値に所定の逐次型統計処理を施すことにより統計処理値を算出するとともに、当該統計処理値に応じて、前記動作状態パラメータを補正することを特徴とする請求項５に記載の内燃機関の制御装置。
【請求項７】
前記内燃機関の吸気通路内を流れる空気の流量を検出する空気流量検出手段と、
前記内燃機関の負荷を表す負荷パラメータを検出する負荷パラメータ検出手段と、
をさらに備え、
前記点火時期決定手段は、前記点火時期を、前記負荷パラメータが所定の第１範囲にあるときには、前記補正された動作状態パラメータに応じて決定するとともに、前記負荷パラメータが前記所定の第１範囲と異なる所定の第２範囲にあるときには、前記空気の流量に応じて決定することを特徴とする請求項５または６に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変吸気機構を介して気筒内に吸入される吸入空気量を制御するとともに、空燃比および点火時期を制御する内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、可変吸気機構を介して気筒内に吸入される吸入空気量を制御する内燃機関の制御装置として、特許文献１に記載されたものが知られている。この制御装置は、内燃機関の吸気通路内の空気流量を検出するエアフローセンサと、クランクシャフトの回転状態を検出するクランク角センサと、アクセルペダルの開度（以下「アクセル開度」という）を検出するアクセル開度センサと、これらのセンサからの検出信号が入力されるコントローラとを備えている。コントローラは、クランク角センサの検出信号に基づいて、機関回転数を算出するとともに、エアフローセンサの検出信号に基づいて、吸入空気量を算出する。また、内燃機関には、可変吸気機構として、スロットル弁機構および可変バルブリフト機構が設けられており、このスロットル弁機構により、吸気通路内の空気流量が自在に変更されるとともに、可変バルブリフト機構により、吸気弁のリフト（以下「バルブリフト」という）が自在に変更される。
【０００３】
この制御装置では、以下に述べるように、コントローラにより吸入空気量が制御される。まず、機関回転数、アクセル開度および吸入空気量などに基づいて、内燃機関がどのような運転負荷域にあるかが判定される。そして、内燃機関がアイドル運転域を含む低回転かつ低負荷域にあると判定されたときには、可変バルブリフト機構を介して、バルブリフトが所定の低リフトに制御されるとともに、スロットル弁機構を介して、スロットル弁の開度が機関回転数およびアクセル開度に応じた値に制御される。一方、内燃機関が中回転かつ中負荷域から高回転かつ高負荷域にあると判定されたときには、スロットル弁が全開状態に制御されるとともに、バルブリフトが機関回転数およびアクセル開度に応じた値に制御される。
【０００４】
【特許文献１】特開２００３−２５４１００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の制御装置では、エアフローセンサの分解能の低さに起因して、吸入空気量を適切に算出することができなくなる場合がある。例えば、内燃機関には、気筒内への吸気の充填効率を高めるべく、吸気通路内の流動抵抗を低減するために、吸気通路の口径を大きな値（すなわち大口径）に設定したものがある。そのような内燃機関に、上記制御装置を適用した場合、内燃機関が低回転かつ低負荷域にあるときには、吸気流速が極めて低い値になるので、上記制御装置では、エアフローセンサの分解能の低さに起因して、吸入空気量を適切に算出することができなくなり、吸入空気量制御の制御精度が低下する。その結果、そのような吸入空気量に基づいて燃焼室内の混合気の空燃比を制御すると、その制御精度も低下してしまうことで、燃費および排ガス特性の悪化を招くおそれがある。
【０００６】
一方、内燃機関の点火時期制御では、内燃機関の負荷を表す負荷パラメータとして、機関回転数および吸入空気量を用いるとともに、そのような負荷パラメータに対して点火時期のマップ値が予め設定された点火時期マップを用いる手法が、従来より行われており、前述した大口径の内燃機関でも、そのような制御手法により点火時期を制御することが想定される。しかし、上述したように、特許文献１の制御装置では、低負荷域で、エアフローセンサの分解能の低さに起因して、吸入空気量を適切に算出できないため、点火時期制御の制御精度も低下してしまう。
【０００７】
以上のような従来の制御装置の問題点を解決できる内燃機関の制御装置として、本出願人は、特願２００４−１３３６７７号（公開公報は未発行）に記載されたものをすでに提案している。この制御装置は、吸気通路内の空気流量を検出するエアフローセンサと、バルブリフトを検出するための回動角センサと、吸気弁を開閉駆動するカムシャフトのクランクシャフトに対する位相（以下「カム位相」という）を検出するためのカム角センサおよびクランク角センサなどを備えている。また、内燃機関は、大口径の吸気通路と、可変吸気機構としての可変バルブリフト機構および可変カム位相機構とを備えている。この内燃機関では、可変バルブリフト機構および可変カム位相機構により、バルブリフトおよびカム位相がそれぞれ自在に変更され、その結果、吸入空気量が自在に変更される。
【０００８】
この制御装置では、吸入空気量として、低負荷域では、第１推定吸気量がバルブリフトおよびカム位相に応じて算出され、高負荷域では、第２推定吸気量が空気流量に応じて算出されるとともに、低負荷域と高負荷域との間の負荷域では、第１および第２推定吸気量の加重平均値が算出される。さらに、このように算出された吸入空気量を用いて、空燃比制御および点火時期制御が実行される。これにより、内燃機関の吸気系が大口径であることで、第２推定吸気量の信頼性が第１推定吸気量よりも低下する低負荷域では、信頼性の高い方の第１推定吸気量を用いるとともに、その逆の状態が発生する高負荷域では、信頼性のより高い方の第２推定吸気量を用いることにより、特許文献１の制御装置と比べて、空燃比制御および点火時期制御の制御精度を向上させることができる。
【０００９】
しかし、この制御装置によれば、回動角センサ、カム角センサおよびクランク角センサの検出信号が温度変化などに起因してドリフトした場合、または、可変バルブリフト機構および可変カム位相機構の構成部品の摩耗、汚れの付着および経年変化による遊びなどに起因して、両可変機構の動特性（すなわち制御入力に対するバルブリフトおよびカム位相の関係）が変化した場合には、各センサの検出結果の信頼性が低下することで、第１推定吸気量が実際の吸入空気量を正しく表さなくなり、実際の吸入空気量に対してずれてしまう可能性がある。そのような状態が発生した場合、吸入空気量として第１推定吸気量を用いる負荷域では、燃料量および点火時期を適切に算出できなくなることで、空燃比制御および点火時期制御の制御精度が低下する可能性がある。具体的には、空燃比および点火時期が不適切な値となることで、燃焼が不安定になったり、燃焼効率が低下したりする可能性がある。
【００１０】
本発明は、上記課題を解決するためになされたもので、可変吸気機構の動作状態の検出結果の信頼性が低下している場合でも、実際の吸入空気量に応じて、空燃比制御および点火時期制御を適切に行うことができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１に係る発明は、内燃機関３の気筒３ａ内に吸入される吸入空気量を可変吸気機構（例えば実施形態における可変バルブリフト機構５０、可変カム位相機構７０）を介して制御するとともに燃焼室内に供給される燃料量（燃料噴射量ＴＯＵＴ）を制御することにより、燃焼室内の混合気の空燃比を制御する内燃機関３の制御装置１，１Ａであって、可変吸気機構の動作状態を表す動作状態パラメータ（バルブリフトＬｉｆｔｉｎ、カム位相Ｃａｉｎ）を検出する動作状態パラメータ検出手段（ＥＣＵ２、クランク角センサ２０、回動角センサ２５、カム角センサ２６）と、内燃機関３の排気通路１３ａを流れる排ガスの空燃比を表す空燃比パラメータ（検出空燃比ＫＡＣＴ）を検出する空燃比パラメータ検出手段（ＥＣＵ２、ＬＡＦセンサ２４）と、混合気の空燃比制御の目標となる目標空燃比ＫＣＭＤを算出する目標空燃比算出手段（ＥＣＵ２、目標空燃比算出部１０８、ステップ２２）と、空燃比パラメータ（検出空燃比ＫＡＣＴ）に応じて、混合気の空燃比を目標空燃比ＫＣＭＤになるように制御するための空燃比制御パラメータ（空燃比補正係数ＫＳＴＲ）を算出する空燃比制御パラメータ算出手段（ＥＣＵ２、空燃比補正係数算出部１０９、ステップ２〜７）と、空燃比制御パラメータおよび空燃比パラメータの一方に応じて、動作状態パラメータを補正する補正手段（ＥＣＵ２、補正後値算出部１１３，２１３、ステップ８１〜９２）と、補正された動作状態パラメータ（補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐ、補正後カム位相Ｃａｉｎ＿ｃｏｍｐ）および空燃比制御パラメータに応じて、燃料量を決定する燃料量決定手段（ＥＣＵ２、空燃比コントローラ１００，２００、ステップ２０〜２５）と、を備えることを特徴とする。
【００１２】
この内燃機関の制御装置によれば、混合気の空燃比を目標空燃比になるように制御するための空燃比制御パラメータが、内燃機関の排気通路を流れる排ガスの空燃比を表す空燃比パラメータに応じて算出され、空燃比制御パラメータおよび空燃比パラメータの一方に応じて、可変吸気機構の動作状態を表す動作状態パラメータが補正されるとともに、補正された動作状態パラメータおよび空燃比制御パラメータに応じて、燃焼室内に供給される燃料量が決定される。この場合、可変吸気機構により、気筒内に吸入される吸入空気量が自在に変更されるので、可変吸気機構の動作状態を表す動作状態パラメータは、気筒内に吸入される吸入空気量を表すものに相当し、そのため、空燃比制御の実行中、動作状態パラメータの検出値が実際の値に対してずれていると、それに起因して、混合気の実際の空燃比が目標空燃比に対してリーン側またはリッチ側にずれてしまう。一方、空燃比制御パラメータは、空燃比パラメータに応じて混合気の空燃比を目標空燃比になるように制御するための値、すなわち空燃比をリーン側またはリッチ側のいずれの方向に制御しているのかを表す値として算出されるので、上記のような空燃比のずれを反映する。また、空燃比パラメータは、内燃機関の排気通路を流れる排ガスの空燃比を表す値であるので、混合気の空燃比が目標空燃比になるように制御された場合、やはり、上記のような空燃比のずれを反映した値として検出される。したがって、そのような空燃比制御パラメータまたは空燃比パラメータに応じて、動作状態パラメータを補正することにより、動作状態パラメータの検出値と実際の値との間のずれを適切に補正することができる。その結果、動作状態パラメータ検出手段における検出値のドリフト、可変吸気機構における構成部品の摩耗、汚れの付着および経年変化による遊びなどに起因して、動作状態パラメータの検出値が実際の値に対してずれている場合でも、そのようなずれの影響を補償しながら、燃料量を適切に決定することができる。それにより、空燃比制御を適切に行うことができ、安定した燃焼状態および良好な排ガス特性をいずれも確保することができる。
【００１３】
請求項２に係る発明は、請求項１に記載の内燃機関３の制御装置１，１Ａにおいて、補正手段は、空燃比制御パラメータおよび空燃比パラメータの一方に基づいて、混合気の空燃比の制御状態を表す制御状態値（空燃比指標値ＫＡＦ、空燃比偏差ＥＡＦ）を算出し、制御状態値に所定の逐次型統計処理（式（１６）〜（１７），式（４３）〜（４４））を施すことにより統計処理値ＫＡＦ＿ＬＳ，ＥＡＦ＿ＬＳを算出するとともに、統計処理値ＫＡＦ＿ＬＳ，ＥＡＦ＿ＬＳに応じて、動作状態パラメータを補正する（ステップ８９〜９２）ことを特徴とする。
【００１４】
この内燃機関の制御装置によれば、空燃比制御における混合気の空燃比の制御状態を表す制御状態値が、空燃比制御パラメータおよび空燃比パラメータの一方に基づいて算出され、この制御状態値に所定の逐次型統計処理を施すことにより統計処理値が算出されるとともに、この統計処理値に応じて、動作状態パラメータが補正される。一般に、空燃比制御では、内燃機関の運転状態または燃焼状態が変化すると、それに伴って、空燃比の制御状態がリーン側の方向とリッチ側の方向との間で振動的に変動し、それにより、空燃比制御パラメータおよび空燃比パラメータも振動的に変動し、上記制御状態値も振動的に変動することになる。そのため、そのような制御状態値を用いて動作状態パラメータを補正した場合、動作状態パラメータを補正した値も振動的に変動し、空燃比制御の制御精度が低下することによって、サージングおよび機関回転数の変動が発生し、運転性が低下する可能性がある。これに対して、この制御装置では、制御状態値に所定の逐次型統計処理を施した統計処理値に応じて、動作状態パラメータが補正されるので、内燃機関における運転状態または燃焼状態の変化に伴って、制御状態値が振動的に変動しているときでも、その影響を回避しながら、動作状態パラメータを適切に補正することができる。その結果、空燃比を良好な制御精度で制御することができ、良好な運転性を確保することができる。
【００１５】
請求項３に係る発明は、請求項２に記載の内燃機関３の制御装置１，１Ａにおいて、補正手段は、統計処理値ＫＡＦ＿ＬＳ，ＥＡＦ＿ＬＳが所定の範囲（ＫＡＦ＿ＬＳＬ＜ＫＡＦ＿ＬＳ＜ＫＡＦ＿ＬＳＨ，ＥＡＦ＿ＬＳＬ＜ＥＡＦ＿ＬＳ＜ＥＡＦ＿ＬＳＨ）外にあるときには、統計処理値が所定の範囲内になるように、動作状態パラメータを統計処理値に応じて補正し（ステップ１０１，１０４，１１６，１１９）、統計処理値が所定の範囲内にあるときには、動作状態パラメータの補正量（リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ，位相補正値Ｄｃａｉｎ＿ｃｏｍｐ）を一定値に保持する（ステップ１０３，１１８）ことを特徴とする。
【００１６】
請求項２に記載の内燃機関の制御装置では、燃料量が、補正された動作状態パラメータおよび空燃比制御パラメータに応じて決定されるので、動作状態パラメータの補正処理と空燃比制御処理とが互いに干渉する可能性があり、その場合には、空燃比制御の制御精度が低下したり、排ガス特性が悪化したりする可能性がある。これに対して、この制御装置によれば、制御状態値が所定の範囲外にあるときには、統計処理値が所定の範囲内になるように、動作状態パラメータが統計処理値に応じて補正されるとともに、統計処理値が所定の範囲内にあるときには、動作状態パラメータの補正量が一定値に保持される。したがって、この所定の範囲を、動作状態パラメータの補正処理により、補正された動作状態パラメータと実際の値との間のずれが小さくなっていることで、動作状態パラメータの補正量を一定値に保持しても、空燃比制御の制御精度が低下しないような統計処理値の範囲に設定することにより、上述した２つの処理の干渉を回避しながら、空燃比制御を精度良く行うことができる。それにより、空燃比制御の制御精度を向上させることができ、排ガス特性を向上させることができる。
【００１７】
請求項４に係る発明は、請求項１ないし３のいずれかに記載の内燃機関３の制御装置１，１Ａにおいて、内燃機関３の吸気通路１２ａ内を流れる空気の流量Ｇｉｎを検出する空気流量検出手段（エアフローセンサ２２）と、内燃機関３の負荷を表す負荷パラメータ（機関回転数ＮＥ、バルブリフトＬｉｆｔｉｎ、カム位相Ｃａｉｎ）を検出する負荷パラメータ検出手段（ＥＣＵ２、クランク角センサ２０、回動角センサ２５、カム角センサ２６）と、をさらに備え、燃料量決定手段は、燃料量を、負荷パラメータが所定の第１範囲（Ｇｉｎ＿ｖｔ≦Ｇｉｎ１）にあるときには、補正された動作状態パラメータおよび空燃比制御パラメータに応じて決定する（ステップ３１，３７，３８）とともに、負荷パラメータが所定の第１範囲と異なる所定の第２範囲（Ｇｉｎ２≦Ｇｉｎ＿ｖｔ）にあるときには、空気の流量および空燃比制御パラメータに応じて決定する（ステップ３０，３７，３８）ことを特徴とする。
【００１８】
この内燃機関の制御装置によれば、燃料量が、負荷パラメータが所定の第１範囲にあるときには、補正された動作状態パラメータおよび空燃比制御パラメータに応じて決定されるとともに、負荷パラメータが所定の第１範囲と異なる所定の第２範囲にあるときには、検出された空気の流量および空燃比制御パラメータに応じて決定される。この場合、補正された動作状態パラメータおよび空気の流量の検出値は双方とも、吸入空気量を表すものであるので、所定の第１範囲を、補正された動作状態パラメータの方が空気の流量の検出値よりも信頼性が高くなる範囲に設定し、所定の第２範囲を空気の流量の検出値の方が補正された動作状態パラメータよりも信頼性が高くなる範囲に設定することにより、双方の負荷域において、信頼性がより高い方の吸入空気量を表す値に応じて燃料量を決定することができ、空燃比制御の制御精度をより一層、向上させることができる。
【００１９】
請求項５に係る内燃機関３の制御装置１，１Ａは、内燃機関３の気筒３ａ内に吸入される吸入空気量を可変吸気機構（可変バルブリフト機構５０、可変カム位相機構７０）を介して制御するとともに、燃焼室内の混合気の点火時期Ｉｇｌｏｇおよび空燃比を制御する内燃機関３の制御装置１であって、可変吸気機構の動作状態を表す動作状態パラメータ（バルブリフトＬｉｆｔｉｎ、カム位相Ｃａｉｎ）を検出する動作状態パラメータ検出手段（ＥＣＵ２、クランク角センサ２０、回動角センサ２５、カム角センサ２６）と、内燃機関３の排気通路１３ａを流れる排ガスの空燃比を表す空燃比パラメータ（検出空燃比ＫＡＣＴ）を検出する空燃比パラメータ検出手段（ＥＣＵ２、ＬＡＦセンサ２４）と、混合気の空燃比制御の目標となる目標空燃比ＫＣＭＤを算出する目標空燃比算出手段（ＥＣＵ２、目標空燃比算出部１０８、ステップ２２）と、空燃比パラメータ（検出空燃比ＫＡＣＴ）に応じて、混合気の空燃比を目標空燃比ＫＣＭＤになるように制御する空燃比制御手段（ＥＣＵ２、空燃比コントローラ１００，２００）と、空燃比制御手段による混合気の空燃比の制御状態（空燃比補正係数ＫＳＴＲ、空燃比指標値ＫＡＦ）および空燃比パラメータの一方に応じて、動作状態パラメータを補正する補正手段（ＥＣＵ２、補正後値算出部１１３，２１３、ステップ８１〜９２）と、補正された動作状態パラメータに応じて、点火時期Ｉｇｌｏｇを決定する点火時期決定手段（ＥＣＵ２、点火時期コントローラ１３０，２３０、ステップ７０〜７４）と、を備えることを特徴とする。
【００２０】
この内燃機関の制御装置によれば、空燃比制御手段により、内燃機関の排気通路を流れる排ガスの空燃比を表す空燃比パラメータに応じて、混合気の空燃比が目標空燃比になるように制御され、この空燃比制御手段による混合気の空燃比の制御状態および空燃比パラメータの一方に応じて、可変吸気機構の動作状態を表す動作状態パラメータが補正されるとともに、補正された動作状態パラメータに応じて、点火時期が決定される。前述したように、可変吸気機構により、気筒内に吸入される吸入空気量が自在に変更されるので、可変吸気機構の動作状態を表す動作状態パラメータは、気筒内に吸入される吸入空気量を表すものに相当し、そのため、空燃比制御の実行中、動作状態パラメータの検出値が実際の値に対してずれていると、それに起因して、混合気の実際の空燃比が目標空燃比に対してリーン側またはリッチ側にずれてしまう。一方、空燃比制御手段により、空燃比パラメータに応じて混合気の空燃比が目標空燃比になるように制御されるので、その空燃比制御の状態は、上記のような空燃比のずれを反映する。また、空燃比パラメータは、内燃機関の排気通路を流れる排ガスの空燃比を表す値であるので、混合気の空燃比が目標空燃比になるように制御されている場合、やはり、上記のような空燃比のずれを反映した値として検出される。したがって、そのような空燃比の制御状態または空燃比パラメータに応じて、動作状態パラメータを補正することにより、動作状態パラメータの検出値と実際の値との間のずれを適切に補正することができる。その結果、動作状態パラメータ検出手段における検出値のドリフト、可変吸気機構における構成部品の摩耗、汚れの付着および経年変化による遊びなどに起因して、動作状態パラメータの検出値が実際の値に対してずれている場合でも、そのようなずれの影響を補償しながら、点火時期を適切に決定することができる。それにより、点火時期制御における良好な制御精度を確保でき、燃焼効率および燃費をいずれも良好な状態に維持することができる。
【００２１】
請求項６に係る発明は、請求項５に記載の内燃機関３の制御装置１，１Ａにおいて、空燃比制御手段は、空燃比パラメータ（検出空燃比ＫＡＣＴ）に応じて、混合気の空燃比を目標空燃比ＫＣＭＤになるように制御するための空燃比制御パラメータ（空燃比補正係数ＫＳＴＲ）を算出し、補正手段は、空燃比制御パラメータおよび空燃比パラメータの一方に基づいて、混合気の空燃比の制御状態を表す制御状態値（空燃比指標値ＫＡＦ、空燃比偏差ＥＡＦ）を算出し、制御状態値に所定の逐次型統計処理（式（１６）〜（１７），式（４３）〜（４４））を施すことにより統計処理値ＫＡＦ＿ＬＳ，ＥＡＦ＿ＬＳを算出するとともに、統計処理値ＫＡＦ＿ＬＳ，ＥＡＦ＿ＬＳに応じて、動作状態パラメータを補正する（ステップ８９〜９２）ことを特徴とする。
【００２２】
この内燃機関の制御装置によれば、混合気の空燃比を目標空燃比になるように制御するための空燃比制御パラメータが、空燃比パラメータに応じて算出され、混合気の空燃比の制御状態を表す制御状態値が、空燃比制御パラメータおよび空燃比パラメータの一方に基づいて算出され、この制御状態値に所定の逐次型統計処理を施すことにより統計処理値が算出されるとともに、この統計処理値に応じて、動作状態パラメータが補正される。前述したように、空燃比制御では、内燃機関の運転状態または燃焼状態が変化すると、それに伴って、空燃比の制御状態がリーン側とリッチ側との間で振動的に変動し、それにより、空燃比パラメータも振動的に変動し、上記制御状態値も振動的に変動することになる。そのため、そのような制御状態値を用いて動作状態パラメータを補正した場合、その補正値も振動的に変動し、点火時期制御の制御精度が低下することによって、サージングおよび機関回転数の変動が発生し、運転性が低下する可能性がある。これに対して、この制御装置では、制御状態値に所定の逐次型統計処理を施した統計処理値に応じて、動作状態パラメータが補正されるので、内燃機関における運転状態または燃焼状態の変化に伴って、制御状態値が振動的に変動しているときでも、その影響を回避しながら、動作状態パラメータを補正することができる。その結果、点火時期制御の制御精度を向上させることができ、運転性を向上させることができる。
【００２３】
請求項７に係る発明は、請求項５または６に記載の内燃機関３の制御装置１，１Ａにおいて、内燃機関３の吸気通路１２ａ内を流れる空気の流量Ｇｉｎを検出する空気流量検出手段（エアフローセンサ２２）と、内燃機関３の負荷を表す負荷パラメータ（機関回転数ＮＥ、バルブリフトＬｉｆｔｉｎ、カム位相Ｃａｉｎ）を検出する負荷パラメータ検出手段（ＥＣＵ２、クランク角センサ２０、回動角センサ２５、カム角センサ２６）と、をさらに備え、点火時期決定手段は、点火時期を、負荷パラメータが所定の第１範囲（Ｇｉｎ＿ｖｔ≦Ｇｉｎ１）にあるときには、補正された動作状態パラメータに応じて決定する（ステップ３１，３７，７０，７１）とともに、負荷パラメータが所定の第１範囲と異なる所定の第２範囲（Ｇｉｎ２≦Ｇｉｎ＿ｖｔ）にあるときには、空気の流量に応じて決定する（ステップ３０，３７，７０，７１）ことを特徴とする。
【００２４】
この内燃機関の制御装置によれば、点火時期が、負荷パラメータが所定の第１範囲にあるときには、補正された動作状態パラメータに応じて決定されるとともに、負荷パラメータが所定の第１範囲と異なる所定の第２範囲にあるときには、検出された空気の流量に応じて決定される。この場合、補正された動作状態パラメータおよび空気の流量の検出値は双方とも、吸入空気量を表すものであるので、所定の第１範囲を、補正された動作状態パラメータの方が空気の流量の検出値よりも信頼性が高くなる範囲に設定し、所定の第２範囲を空気の流量の検出値の方が補正された動作状態パラメータよりも信頼性が高くなる範囲に設定することにより、双方の負荷域において、信頼性がより高い方の吸入空気量を表す値に応じて点火時期を決定することができ、点火時期制御の制御精度をさらに向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照しながら、本発明の第１実施形態に係る内燃機関の制御装置について説明する。この制御装置１は、図２に示すように、ＥＣＵ２を備えており、このＥＣＵ２は、後述するように、内燃機関（以下「エンジン」という）３の運転状態に応じて、空燃比制御および点火時期制御などの制御処理を実行する。
【００２６】
図１および図３に示すように、エンジン３は、４組の気筒３ａおよびピストン３ｂ（１組のみ図示）を有する直列４気筒ガソリンエンジンであり、図示しない自動変速機付きの車両に搭載されている。エンジン３は、気筒３ａ毎に設けられ、吸気ポートおよび排気ポートをそれぞれ開閉する吸気弁４および排気弁７と、吸気弁４駆動用の吸気カムシャフト５および吸気カム６と、吸気弁４を開閉駆動する可変式吸気動弁機構４０と、排気弁７駆動用の排気カムシャフト８および排気カム９と、排気弁７を開閉駆動する排気動弁機構３０と、燃料噴射弁１０と、点火プラグ１１（図２参照）などを備えている。
【００２７】
吸気弁４は、そのステム４ａがガイド４ｂに摺動自在に嵌合しており、このガイド４ｂは、シリンダヘッド３ｃに固定されている。さらに、吸気弁４は、図４に示すように、上下のスプリングシート４ｃ，４ｄと、これらの間に設けられたバルブスプリング４ｅとを備えており、このバルブスプリング４ｅにより、閉弁方向に付勢されている。
【００２８】
また、吸気カムシャフト５および排気カムシャフト８はそれぞれ、図示しないホルダを介して、シリンダヘッド３ｃに回動自在に取り付けられている。この吸気カムシャフト５の一端部上には、吸気スプロケット（図示せず）が同軸に配置され、回転自在に設けられている。この吸気スプロケットは、図示しないタイミングチェーンを介してクランクシャフト３ｄに連結され、後述する可変カム位相機構７０を介して吸気カムシャフト５に連結されている。以上の構成により、吸気カムシャフト５は、クランクシャフト３ｄが２回転する毎に１回転する。また、吸気カム６は、吸気カムシャフト５上にこれと一体に回転するように気筒３ａ毎に設けられている。
【００２９】
さらに、可変式吸気動弁機構４０は、吸気カムシャフト５の回転に伴って、各気筒３ａの吸気弁４を開閉駆動するとともに、吸気弁４のリフトおよびバルブタイミングを無段階に変更するものであり、その詳細については、後述する。なお、本実施形態では、「吸気弁４のリフト（以下「バルブリフト」という）」は、吸気弁４の最大揚程を表すものとする。
【００３０】
一方、排気弁７は、そのステム７ａがガイド７ｂに摺動自在に嵌合しており、このガイド７ｂは、シリンダヘッド３ｃに固定されている。さらに、排気弁７は、上下のスプリングシート７ｃ，７ｄと、これらの間に設けられたバルブスプリング７ｅとを備えており、このバルブスプリング７ｅにより、閉弁方向に付勢されている。
【００３１】
また、排気カムシャフト８は、これと一体の排気スプロケット（図示せず）を備え、この排気スプロケットおよび図示しないタイミングチェーンを介してクランクシャフト３ｄに連結されており、それにより、クランクシャフト３ｄが２回転する毎に１回転する。さらに、排気カム９は、排気カムシャフト８上にこれと一体に回転するように気筒３ａ毎に設けられている。
【００３２】
さらに、排気動弁機構３０は、ロッカアーム３１を備えており、このロッカアーム３１が排気カム９の回転に伴って回動することにより、バルブスプリング７ｅの付勢力に抗しながら、排気弁７を開閉駆動する。
【００３３】
一方、燃料噴射弁１０は、気筒３ａ毎に設けられ、燃料を燃焼室内に直接噴射するように、傾斜した状態でシリンダヘッド３ｃに取り付けられている。すなわち、エンジン３は直噴エンジンとして構成されている。また、燃料噴射弁１０は、ＥＣＵ２に電気的に接続されており、ＥＣＵ２により、開弁時間および開弁タイミングが制御され、それにより、燃料噴射量が制御される。
【００３４】
また、点火プラグ１１も、気筒３ａ毎に設けられ、シリンダヘッド３ｃに取り付けられている。点火プラグ１１は、ＥＣＵ２に電気的に接続されており、ＥＣＵ２により、後述する点火時期に応じたタイミングで燃料室内の混合気を燃焼させるように、放電状態が制御される。
【００３５】
一方、エンジン３には、クランク角センサ２０および水温センサ２１が設けられている。このクランク角センサ２０は、マグネットロータおよびＭＲＥピックアップで構成されており、クランクシャフト３ｄの回転に伴い、いずれもパルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２に出力する。このＣＲＫ信号は、所定クランク角（例えば１０゜）毎に１パルスが出力され、ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の機関回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＴＤＣ信号は、各気筒３ａのピストン３ｂが吸気行程のＴＤＣ位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に１パルスが出力される。本実施形態では、クランク角センサ２０が、動作状態パラメータ検出手段および負荷パラメータ検出手段に相当し、エンジン回転数ＮＥが負荷パラメータに相当する。
【００３６】
また、水温センサ２１は、例えばサーミスタなどで構成されており、エンジン水温ＴＷを表す検出信号をＥＣＵ２に出力する。このエンジン水温ＴＷは、エンジン３のシリンダブロック３ｈ内を循環する冷却水の温度である。
【００３７】
さらに、エンジン３の吸気管１２では、スロットル弁機構が省略されているとともに、その吸気通路１２ａが大口径に形成されており、それにより、流動抵抗が通常のエンジンよりも小さくなるように設定されている。この吸気管１２には、エアフローセンサ２２および吸気温センサ２３（図２参照）が設けられている。
【００３８】
このエアフローセンサ２２（空気流量検出手段）は、熱線式エアフローメータで構成されており、吸気通路１２ａ内を流れる空気の流量（以下「空気流量」という）Ｇｉｎを表す検出信号をＥＣＵ２に出力する。なお、空気流量Ｇｉｎの単位は、ｇ／ｓｅｃである。また、吸気温センサ２３は、吸気通路１２ａ内を流れる空気の温度（以下「吸気温」という）ＴＡを表す検出信号をＥＣＵ２に出力する。
【００３９】
さらに、エンジン３の排気管１３には、図示しない触媒装置よりも上流側にＬＡＦセンサ２４（空燃比パラメータ検出手段）が設けられている。ＬＡＦセンサ２４は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気管１３の排気通路１３ａ内を流れる排気ガス中の酸素濃度をリニアに検出し、それを表す検出信号をＥＣＵ２に出力する。ＥＣＵ２は、このＬＡＦセンサ２４の検出信号の値に基づき、排気ガス中の空燃比を表す検出空燃比ＫＡＣＴを算出する。なお、この検出空燃比ＫＡＣＴ（空燃比パラメータ）は、具体的には当量比として算出される。
【００４０】
次に、前述した可変式吸気動弁機構４０について説明する。この可変式吸気動弁機構４０は、図４に示すように、吸気カムシャフト５、吸気カム６、可変バルブリフト機構５０および可変カム位相機構７０などで構成されている。
【００４１】
この可変バルブリフト機構５０（可変吸気機構）は、吸気カムシャフト５の回転に伴って吸気弁４を開閉駆動するとともに、バルブリフトＬｉｆｔｉｎを所定の最大値Ｌｉｆｔｉｎｍａｘと最小値Ｌｉｆｔｉｎｍｉｎとの間で無段階に変更するものであり、気筒３ａ毎に設けられた四節リンク式のロッカアーム機構５１と、これらのロッカアーム機構５１を同時に駆動するリフトアクチュエータ６０（図５参照）などを備えている。
【００４２】
各ロッカアーム機構５１は、ロッカアーム５２および上下のリンク５３，５４などで構成されている。この上リンク５３の一端部は、上ピン５５を介して、ロッカアーム５２の上端部に回動自在に取り付けられており、他端部は、ロッカアームシャフト５６に回動自在に取り付けられている。このロッカアームシャフト５６は、図示しないホルダを介して、シリンダヘッド３ｃに取り付けられている。
【００４３】
また、ロッカアーム５２の上ピン５５上には、ローラ５７が回動自在に設けられている。このローラ５７は、吸気カム６のカム面に当接しており、吸気カム６が回転する際、そのカム面に案内されながら吸気カム６上を転動する。これにより、ロッカアーム５２は上下方向に駆動されるとともに、上リンク５３が、ロッカアームシャフト５６を中心として回動する。
【００４４】
さらに、ロッカアーム５２の吸気弁４側の端部には、アジャストボルト５２ａが取り付けられている。このアジャストボルト５２ａは、吸気カム６の回転に伴ってロッカアーム５２が上下方向に移動すると、バルブスプリング４ｅの付勢力に抗しながら、ステム４ａを上下方向に駆動し、吸気弁４を開閉する。
【００４５】
また、下リンク５４の一端部は、下ピン５８を介して、ロッカアーム５２の下端部に回動自在に取り付けられており、下リンク５４の他端部には、連結軸５９が回動自在に取り付けられている。下リンク５４は、この連結軸５９を介して、リフトアクチュエータ６０の後述する短アーム６５に連結されている。
【００４６】
一方、リフトアクチュエータ６０は、図５に示すように、モータ６１、ナット６２、リンク６３、長アーム６４および短アーム６５などを備えている。このモータ６１は、ＥＣＵ２に接続され、エンジン３のヘッドカバー３ｇの外側に配置されている。モータ６１の回転軸は、雄ねじが形成されたねじ軸６１ａになっており、このねじ軸６１ａに、ナット６２が螺合している。このナット６２は、リンク６３を介して、長アーム６４に連結されている。このリンク６３の一端部は、ピン６３ａを介して、ナット６２に回動自在に取り付けられ、他端部は、ピン６３ｂを介して、長アーム６４の一端部に回動自在に取り付けられている。
【００４７】
また、長アーム６４の他端部は、回動軸６６を介して短アーム６５の一端部に取り付けられている。この回動軸６６は、断面円形に形成され、エンジン３のヘッドカバー３ｇを貫通しているとともに、これに回動自在に支持されている。この回動軸６６の回動に伴い、長アーム６４および短アーム６５はこれと一体に回動する。
【００４８】
さらに、短アーム６５の他端部には、前述した連結軸５９が回動自在に取り付けられており、これにより、短アーム６５は、連結軸５９を介して、下リンク５４に連結されている。
【００４９】
次に、以上のように構成された可変バルブリフト機構５０の動作について説明する。この可変バルブリフト機構５０では、ＥＣＵ２からの後述するリフト制御入力Ｕ＿Ｌｉｆｔｉｎがリフトアクチュエータ６０に入力されると、ねじ軸６１ａが回転し、それに伴うナット６２の移動により、長アーム６４および短アーム６５が回動軸６６を中心として回動するとともに、この短アーム６５の回動に伴って、ロッカアーム機構５１の下リンク５４が、下ピン５８を中心として回動する。すなわち、リフトアクチュエータ６０により、下リンク５４が駆動される。
【００５０】
その際、ＥＣＵ２の制御により、短アーム６５の回動範囲は、図５（ａ）に示す最大リフト位置と図５（ｂ）に示す最小リフト位置との間に規制され、それにより、下リンク５４の回動範囲も、図４に実線で示す最大リフト位置と、図４に２点鎖線で示す最小リフト位置との間に規制される。
【００５１】
下リンク５４が最大リフト位置にある場合、ロッカアームシャフト５６、上下のピン５５，５８および連結軸５９によって構成される四節リンクでは、上ピン５５および下ピン５８の中心間の距離が、ロッカアームシャフト５６および連結軸５９の中心間の距離よりも短くなるように構成されており、それにより、図６（ａ）に示すように、吸気カム６が回転すると、これとローラ５７との当接点の移動量よりも、アジャストボルト５２ａの移動量の方が大きくなる。
【００５２】
一方、下リンク５４が最小リフト位置にある場合、上記四節リンクでは、上ピン５５および下ピン５８の中心間の距離が、ロッカアームシャフト５６および連結軸５９の中心間の距離よりも長くなるように構成されており、それにより、図６（ｂ）に示すように、吸気カム６が回転すると、これとローラ５７との当接点の移動量よりも、アジャストボルト５２ａの移動量の方が小さくなる。
【００５３】
以上の理由により、吸気弁４は、下リンク５４が最大リフト位置にあるときには、最小リフト位置にあるときよりも大きなバルブリフトＬｉｆｔｉｎで開弁する。具体的には、吸気カム６の回転中、吸気弁４は、下リンク５４が最大リフト位置にあるときには、図７の実線で示すバルブリフト曲線に従って開弁し、バルブリフトＬｉｆｔｉｎは、その最大値Ｌｉｆｔｉｎｍａｘを示す。一方、下リンク５４が最小リフト位置にあるときには、図７の２点鎖線で示すバルブリフト曲線に従って開弁し、バルブリフトＬｉｆｔｉｎは、その最小値Ｌｉｆｔｉｎｍｉｎを示す。
【００５４】
したがって、この可変バルブリフト機構５０では、アクチュエータ６０を介して、下リンク５４を最大リフト位置と最小リフト位置との間で回動させることにより、バルブリフトＬｉｆｔｉｎを、最大値Ｌｉｆｔｉｎｍａｘと最小値Ｌｉｆｔｉｎｍｉｎとの間で無段階に変化させることができる。
【００５５】
なお、この可変バルブリフト機構５０には、図示しないロック機構が設けられており、このロック機構により、リフト制御入力Ｕ＿Ｌｉｆｔｉｎが後述する故障時用値Ｕ＿Ｌｉｆｔｉｎ＿ｆｓに設定されているときや、断線などによりＥＣＵ２からのリフト制御入力Ｕ＿Ｌｉｆｔｉｎがリフトアクチュエータ６０に入力されないときには、可変バルブリフト機構５０の動作がロックされる。すなわち、可変バルブリフト機構５０によるバルブリフトＬｉｆｔｉｎの変更が禁止され、バルブリフトＬｉｆｔｉｎが最小値Ｌｉｆｔｉｎｍｉｎに保持される。なお、この最小値Ｌｉｆｔｉｎｍｉｎは、カム位相Ｃａｉｎが後述するロック値に保持されている場合において、吸入空気量として後述する所定の故障時用値Ｇｃｙｌ＿ｆｓを確保できるような値に設定されている。この所定の故障時用値Ｇｃｙｌ＿ｆｓ（所定値）は、停車中はアイドル運転やエンジン始動を適切に行うことができると同時に、走行中は低速走行状態を維持できるような値に設定されている。
【００５６】
また、エンジン３には、回動角センサ２５が設けられており（図２参照）、この回動角センサ２５は、回動軸６６すなわち短アーム６５の回動角を検出して、その検出信号をＥＣＵ２に出力する。ＥＣＵ２は、この回動角センサ２５の検出信号に基づき、バルブリフトＬｉｆｔｉｎを算出する。本実施形態では、回動角センサ２５が動作状態パラメータ検出手段および負荷パラメータ検出手段に相当し、バルブリフトＬｉｆｔｉｎが動作状態パラメータおよび負荷パラメータに相当する。
【００５７】
次に、前述した可変カム位相機構７０（可変吸気機構）について説明する。この可変カム位相機構７０は、吸気カムシャフト５のクランクシャフト３ｄに対する相対的な位相（以下「カム位相」という）Ｃａｉｎを無段階に進角側または遅角側に変更するものであり、吸気カムシャフト５の吸気スプロケット側の端部に設けられている。図８に示すように、可変カム位相機構７０は、ハウジング７１、３枚羽根式のベーン７２、油圧ポンプ７３および電磁弁機構７４などを備えている。
【００５８】
このハウジング７１は、吸気カムシャフト５上の吸気スプロケットと一体に構成されており、互いに等間隔に形成された３つの隔壁７１ａを備えている。ベーン７２は、吸気カムシャフト５の吸気スプロケット側の端部に同軸に取り付けられ、吸気カムシャフト５から外方に放射状に延びているとともに、ハウジング７１内に回転可能に収容されている。また、ハウジング７１では、隔壁７１ａとベーン７２との間に、３つの進角室７５および３つの遅角室７６が形成されている。
【００５９】
油圧ポンプ７３は、クランクシャフト３ｄに連結された機械式のものであり、クランクシャフト３ｄが回転すると、それに伴って、エンジン３のオイルパン３ｅに蓄えられた潤滑用のオイルを、油路７７ｃを介して吸い込むとともに、これを昇圧した状態で、油路７７ｃを介して電磁弁機構７４に供給する。
【００６０】
電磁弁機構７４は、スプール弁機構７４ａおよびソレノイド７４ｂを組み合わせたものであり、進角油路７７ａおよび遅角油路７７ｂを介して、進角室７５および遅角室７６にそれぞれ接続されているとともに、油圧ポンプ７３から供給された油圧を、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔとして、進角室７５および遅角室７６にそれぞれ出力する。電磁弁機構７４のソレノイド７４ｂは、ＥＣＵ２に電気的に接続されており、ＥＣＵ２からの後述する位相制御入力Ｕ＿Ｃａｉｎが入力された際、スプール弁機構７４ａのスプール弁体を、位相制御入力Ｕ＿Ｃａｉｎに応じて所定の移動範囲内で移動させることにより、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔをいずれも変化させる。
【００６１】
以上の可変カム位相機構７０では、油圧ポンプ７３の動作中、電磁弁機構７４が制御入力Ｕ＿Ｃａｉｎに応じて作動することにより、進角油圧Ｐａｄが進角室７５に、遅角油圧Ｐｒｔが遅角室７６にそれぞれ供給され、それにより、ベーン７２とハウジング７１との間の相対的な位相が進角側または遅角側に変更される。その結果、前述したカム位相Ｃａｉｎが、最遅角値Ｃａｉｎｒｔ（例えばカム角０゜に相当する値）と最進角値Ｃａｉｎａｄ（例えばカム角５５゜分に相当する値）の間で連続的に変化し、それにより、吸気弁４のバルブタイミングは、図９に実線で示す最遅角タイミングと、図９に２点鎖線で示す最進角タイミングとの間で、無段階に変更される。
【００６２】
なお、この可変カム位相機構７０には、図示しないロック機構が設けられており、このロック機構により、油圧ポンプ７３からの供給油圧が低いとき、位相制御入力Ｕ＿Ｃａｉｎが後述する故障時用値Ｕ＿Ｃａｉｎ＿ｆｓに設定されているとき、および断線などにより位相制御入力Ｕ＿Ｃａｉｎが電磁弁機構７４に入力されないときには、可変カム位相機構７０の動作がロックされる。すなわち、可変カム位相機構７０によるカム位相Ｃａｉｎの変更が禁止され、カム位相Ｃａｉｎが所定のロック値に保持される。この所定のロック値は、前述したように、バルブリフトＬｉｆｔｉｎが最小値Ｌｉｆｔｉｎｍｉｎに保持されている場合において、吸入空気量として所定の故障時用値Ｇｃｙｌ＿ｆｓを確保できるような値に設定されている。
【００６３】
以上のように、本実施形態の可変式吸気動弁機構４０では、可変バルブリフト機構５０により、バルブリフトＬｉｆｔｉｎが無段階に変更されるとともに、可変カム位相機構７０により、カム位相Ｃａｉｎすなわち吸気弁４のバルブタイミングが前述した最遅角タイミングと最進角タイミングとの間で、無段階に変更される。また、ＥＣＵ２により、後述するように、可変バルブリフト機構５０および可変カム位相機構７０を介して、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎがそれぞれ制御され、それにより、吸入空気量が制御される。
【００６４】
一方、吸気カムシャフト５の可変カム位相機構７０と反対側の端部には、カム角センサ２６（図２参照）が設けられている。このカム角センサ２６は、例えばマグネットロータおよびＭＲＥピックアップで構成されており、吸気カムシャフト５の回転に伴い、パルス信号であるＣＡＭ信号を所定のカム角（例えば１゜）毎にＥＣＵ２に出力する。ＥＣＵ２は、このＣＡＭ信号および前述したＣＲＫ信号に基づき、カム位相Ｃａｉｎを算出する。本実施形態では、カム角センサ２６が動作状態パラメータ検出手段および負荷パラメータ検出手段に相当し、カム位相Ｃａｉｎが動作状態パラメータおよび負荷パラメータに相当する。
【００６５】
さらに、図２に示すように、ＥＣＵ２には、アクセル開度センサ２７およびイグニッション・スイッチ（以下「ＩＧ・ＳＷ」という）２８が接続されている。このアクセル開度センサ２７は、車両の図示しないアクセルペダルの踏み込み量（以下「アクセル開度」という）ＡＰを表す検出信号をＥＣＵ２に出力する。また、ＩＧ・ＳＷ２８は、イグニッションキー（図示せず）操作によりＯＮ／ＯＦＦされるとともに、そのＯＮ／ＯＦＦ状態を表す信号をＥＣＵ２に出力する。
【００６６】
ＥＣＵ２は、ＣＰＵ、ＲＡＭ、ＲＯＭおよびＩ／Ｏインターフェース（いずれも図示せず）などからなるマイクロコンピュータで構成されており、前述した各種のセンサ２０〜２７の検出信号およびＩＧ・ＳＷ２８のＯＮ／ＯＦＦ信号などに応じて、エンジン３の運転状態を判別するとともに、各種の制御を実行する。具体的には、ＥＣＵ２は、後述するように、運転状態に応じて、空燃比制御および点火時期制御を実行する。これに加えて、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出するとともに、可変バルブリフト機構５０および可変カム位相機構７０を介して、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎをそれぞれ制御することにより、吸入空気量を制御する。
【００６７】
なお、本実施形態では、ＥＣＵ２が、動作状態パラメータ検出手段、空燃比パラメータ検出手段、目標空燃比算出手段、空燃比制御パラメータ算出手段、補正手段、燃料量決定手段、負荷パラメータ検出手段、空燃比制御手段および点火時期決定手段に相当する。
【００６８】
次に、本実施形態の制御装置１について説明する。この制御装置１は、空燃比制御を実行する空燃比コントローラ１００（図１０参照）と、点火時期制御を実行する点火時期コントローラ１３０（図１６参照）とを備えており、これらはいずれも、具体的には、ＥＣＵ２により構成されている。本実施形態では、空燃比コントローラ１００が燃料量決定手段および空燃比制御手段に相当し、点火時期コントローラ１３０が点火時期決定手段に相当する。
【００６９】
まず、空燃比コントローラ１００について説明する。この空燃比コントローラ１００は、以下に述べるように、燃料噴射量ＴＯＵＴ（燃料量）を燃料噴射弁１０毎に算出するものであり、図１０に示すように、第１および第２推定吸気量算出部１０１，１０２、移行係数算出部１０３、増幅要素１０４，１０５、加算要素１０６、増幅要素１０７、目標空燃比算出部１０８、空燃比補正係数算出部１０９、総補正係数算出部１１０、乗算要素１１１、燃料付着補正部１１２および補正後値算出部１１３を備えている。
【００７０】
第１推定吸気量算出部１０１では、以下に述べるように、第１推定吸気量Ｇｃｙｌ＿ｖｔが算出される。具体的には、エンジン回転数ＮＥおよび補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐに応じて、図１１に示すマップを検索することにより、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅを算出する。この補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐは、バルブリフトＬｉｆｔｉｎを補正した値であり、後述するように、補正後値算出部１１３において算出される。また、図１１において、ＮＥ１〜ＮＥ３は、ＮＥ１＜ＮＥ２＜ＮＥ３の関係が成立するエンジン回転数ＮＥの所定値であり、この点は以下の説明においても同様である。
【００７１】
このマップでは、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅは、ＮＥ＝ＮＥ１またはＮＥ２の場合、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが小さい領域では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが大きいほど、より大きい値に設定され、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが最大値Ｌｉｆｔｉｎｍａｘに近い領域では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが大きいほど、より小さい値に設定されている。これは、低・中回転域では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが最大値Ｌｉｆｔｉｎｍａｘに近い領域においてより大きな値になるほど、吸気弁４の開弁時間が長くなることで、吸気の吹き戻しにより充填効率が低下するためである。また、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅは、ＮＥ＝ＮＥ３の場合、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが大きいほど、より大きい値に設定されている。これは、高回転域では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが大きい領域でも、吸気の慣性力により上記吸気の吹き戻しが発生しにくくなるため、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが大きいほど、充填効率がより高くなることによる。
【００７２】
また、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて、図１２に示すマップを検索することにより、補正係数Ｋ＿ｇｃｙｌ＿ｖｔを算出する。この補正後カム位相Ｃａｉｎ＿ｃｏｍｐは、カム位相Ｃａｉｎを補正した値であり、後述するように、補正後値算出部１１３において算出される。
【００７３】
図１２に示すマップでは、補正係数Ｋ＿ｇｃｙｌ＿ｖｔは、ＮＥ＝ＮＥ１またはＮＥ２の場合、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最遅角値Ｃａｉｎｒｔに近い領域では、最遅角値Ｃａｉｎｒｔに近いほど、より小さい値に設定され、それ以外の領域では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最進角値Ｃａｉｎａｄ側の値であるほど、より小さな値に設定されている。これは、低・中回転域では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最遅角値Ｃａｉｎｒｔに近い領域において、最遅角値Ｃａｉｎｒｔに近いほど、吸気弁４の閉弁タイミングが遅くなることで、吸気の吹き戻しにより充填効率が低下するためであり、それ以外の領域では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最進角値Ｃａｉｎａｄに近いほど、バルブオーバーラップの増大に伴う内部ＥＧＲ量の増大により、充填効率が低下するためである。また、ＮＥ＝ＮＥ３の場合、補正係数Ｋ＿ｇｃｙｌ＿ｖｔは、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最遅角値Ｃａｉｎｒｔに近い領域では、一定値（値１）に設定され、それ以外の領域では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最進角値Ｃａｉｎａｄ側の値であるほど、より小さな値に設定されている。これは、高回転域では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最進角値Ｃａｉｎａｄに近い領域でも、前述した吸気の慣性力により、吸気の吹き戻しが発生しにくくなることによる。
【００７４】
そして、以上のように算出した基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅおよび補正係数Ｋ＿ｇｃｙｌ＿ｖｔを用い、下式（１）により、第１推定吸気量Ｇｃｙｌ＿ｖｔが算出される。
Ｇｃｙｌ＿ｖｔ＝Ｋ＿ｇｃｙｌ＿ｖｔ・Ｇｃｙｌ＿ｖｔ＿ｂａｓｅ    ……（１）
【００７５】
また、移行係数算出部１０３では、移行係数Ｋｇが以下のように算出される。まず、第１推定吸気量算出部１０１で算出された第１推定吸気量Ｇｃｙｌ＿ｖｔ、およびエンジン回転数ＮＥを用い、下式（２）により、推定流量Ｇｉｎ＿ｖｔ（単位：ｇ／ｓｅｃ）を算出する。
Ｇｉｎ＿ｖｔ＝２・Ｇｃｙｌ＿ｖｔ・ＮＥ／６０                    ……（２）
【００７６】
次いで、この推定流量Ｇｉｎ＿ｖｔに応じて、図１３に示すテーブルを検索することにより、移行係数Ｋｇを算出する。同図において、Ｇｉｎ１，２は、Ｇｉｎ１＜Ｇｉｎ２の関係が成立する所定値である。この所定値Ｇｉｎ１は、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では、吸気通路１２ａ内の空気流量が小さいことにより、エアフローセンサ２２の分解能に起因して、第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性が後述する第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性を上回るような値に設定されている。また、所定値Ｇｉｎ２は、Ｇｉｎ２≦Ｇｉｎ＿ｖｔの範囲では、吸気通路１２ａ内の空気流量が大きいことにより、第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性が第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性を上回るような値に設定されている。さらに、このテーブルでは、移行係数Ｋｇは、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では値０に、Ｇｉｎ２≦Ｇｉｎ＿ｖｔの範囲では値１に設定されているとともに、Ｇｉｎ１＜Ｇｉｎ＿ｖｔ＜Ｇｉｎ２の範囲では、値０と値１の間で、かつ推定流量Ｇｉｎ＿ｖｔが大きいほど、より大きな値に設定されている。
【００７７】
一方、第２推定吸気量算出部１０２では、空気流量Ｇｉｎおよびエンジン回転数ＮＥに基づき、下式（３）により、第２推定吸気量Ｇｃｙｌ＿ａｆｍ（単位：ｇ）が算出される。
Ｇｃｙｌ＿ａｆｍ＝Ｇｉｎ・６０／（２・ＮＥ）                    ……（３）
【００７８】
増幅要素１０４，１０５では、以上のように算出された第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍをそれぞれ（１−Ｋｇ），Ｋｇ倍に増幅した値が算出される。そして、加算要素１０６では、そのように増幅された値に基づき、下式（４）の加重平均演算により、算出吸気量Ｇｃｙｌが算出される。
Ｇｃｙｌ＝Ｋｇ・Ｇｃｙｌ＿ａｆｍ＋（１−Ｋｇ）・Ｇｃｙｌ＿ｖｔ  ……（４）
【００７９】
この式（４）を参照すると明らかなように、Ｋｇ＝０のとき、すなわち前述したＧｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では、Ｇｃｙｌ＝Ｇｃｙｌ＿ｖｔとなり、Ｋｇ＝１のとき、すなわちＧｉｎ２≦Ｇｉｎ＿ｖｔの範囲では、Ｇｃｙｌ＝Ｇｃｙｌ＿ａｆｍとなるとともに、０＜Ｋｇ＜１のとき、すなわちＧｉｎ１＜Ｇｉｎ＿ｖｔ＜Ｇｉｎ２の範囲では、算出吸気量Ｇｃｙｌにおける第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの重み付けの度合いは、移行係数Ｋｇの値によって決定される。
【００８０】
さらに、増幅要素１０７では、算出吸気量Ｇｃｙｌに基づき、下式（５）により、基本燃料噴射量Ｔｃｙｌ＿ｂｓが算出される。
Ｔｃｙｌ＿ｂｓ＝Ｋｇｔ・Ｇｃｙｌ                                ……（５）
ここで、Ｋｇｔは、燃料噴射弁１０毎に予め設定される換算係数である。
【００８１】
また、目標空燃比算出部１０８（目標空燃比算出手段）では、算出吸気量Ｇｃｙｌおよびアクセル開度ＡＰに応じて、図１４に示すマップを検索することにより、目標空燃比ＫＣＭＤが算出される。このマップでは、目標空燃比ＫＣＭＤの値は、当量比として設定されているとともに、基本的には、触媒装置の排ガス浄化性能を良好な状態に保持するために、理論空燃比（１４．５）に設定されている。
【００８２】
一方、空燃比補正係数算出部１０９は、オンボード同定器（図示せず）を備えたＳＴＲ（Self Tuning Regulator）として構成されている。この空燃比補正係数算出部１０９では、検出空燃比ＫＡＣＴおよび目標空燃比ＫＣＭＤに応じて、空燃比補正係数ＫＳＴＲが算出される。具体的には、空燃比補正係数ＫＳＴＲは、混合気の空燃比すなわち検出空燃比ＫＡＣＴを目標空燃比ＫＣＭＤに収束させるように、以下の式（６）〜（１３）に示す制御アルゴリズムにより算出されるとともに、当量比換算値として算出される。なお、本実施形態では、空燃比補正係数算出部１０９が空燃比制御パラメータ算出手段に相当し、空燃比補正係数ＫＳＴＲが空燃比制御パラメータおよび空燃比の制御状態を表す値に相当する。
【００８３】
【数１】
2006002591.tif 000003
【００８４】
【数２】
2006002591.tif 000004
【００８５】
【数３】
2006002591.tif 000005
【００８６】
【数４】
2006002591.tif 000006
【００８７】
これらの式（６）〜（１３）における記号（ｎ）付きの各離散データは、１燃焼サイクル毎すなわちＴＤＣ信号が連続して４回発生する毎にサンプリングまたは算出されたデータであることを示しており、記号ｎは各離散データのサンプリングサイクルの順番を表している。例えば、記号ｎは今回の制御タイミングでサンプリングされた値であることを、記号ｎ−１は前回の制御タイミングでサンプリングされた値であることをそれぞれ示している。なお、以下の説明では、各離散データにおける記号（ｎ）などを適宜、省略する。
【００８８】
式（６）において、ｋｓｔｒ（ｎ）は、空燃比補正係数の基本値（以下単に「基本値」という）であり、式（７）により算出される。また、Ｌｉｍ（ｋｓｔｒ（ｎ））は、基本値ｋｓｔｒ（ｎ）にリミット処理を施した値を表しており、具体的には、基本値ｋｓｔｒ（ｎ）を、所定の下限値ＫＳＴＲｍｉｎ（例えば値０．６）と所定の上限値ＫＳＴＲｍａｘ（例えば値１．４）で規定される範囲内に制限した値として算出される。すなわち、ｋｓｔｒ（ｎ）＜ＫＳＴＲｍｉｎのときには、Ｌｉｍ（ｋｓｔｒ（ｎ））＝ＫＳＴＲｍｉｎとなり、ＫＳＴＲｍｉｎ≦ｋｓｔｒ（ｎ）≦ＫＳＴＲｍａｘのときには、Ｌｉｍ（ｋｓｔｒ（ｎ））＝ｋｓｔｒ（ｎ）となり、ｋｓｔｒ（ｎ）＞ＫＳＴＲｍａｘのときには、Ｌｉｍ（ｋｓｔｒ（ｎ））＝ＫＳＴＲｍａｘとなる。
【００８９】
以上のように、空燃比補正係数ＫＳＴＲが基本値ｋｓｔｒにリミット処理を施した値として算出される理由は、空燃比補正係数ＫＳＴＲによる空燃比のフィードバック制御中、ＬＡＦセンサ２４の故障などに起因して、混合気の空燃比がリッチ過ぎる状態またはリーン過ぎる状態になることで、エンジン回転数ＮＥが不安定になったり、エンジンストールしたりするのを回避するためである。
【００９０】
また、式（７）は、以下のように導出される。すなわち、４つの気筒３ａのうちの１つを、空燃比補正係数ＫＳＴＲを入力とし、検出空燃比ＫＡＣＴを出力とする制御対象として見なすとともに、この制御対象を離散時間系モデルとしてモデリングすると、下式（１４）が得られる。なお、下式（１４）のｂ０，ｒ１，ｒ２，ｒ３，ｓ０は、モデルパラメータである。
KACT(n)＝b0・KSTR(n)＋r1(n)・KSTR(n-4)+r2(n)・KSTR(n-5)
＋r3(n)・KSTR(n-6)＋s0(n)・KCMD(n)                     ……（１４）
【００９１】
ここで、目標空燃比ＫＣＭＤに対する検出空燃比ＫＡＣＴのむだ時間は、燃焼サイクル３回分程度と推定されるので、ＫＣＭＤ（ｎ）＝ＫＡＣＴ（ｎ＋３）の関係が成立し、これを式（１４）に適用するとともに、ＫＳＴＲ（ｎ）をｋｓｔｒ（ｎ）と置き換えることにより、前述した式（７）が導出される。
【００９２】
また、式（７）のモデルパラメータｂ０，ｒ１，ｒ２，ｒ３，ｓ０のベクトルθは、式（８）〜（１３）の同定アルゴリズムにより同定される。同式（８）におけるＫΓはゲイン係数のベクトルを、ｅ＿ｓｔｒは同定誤差をそれぞれ表している。
【００９３】
同定誤差ｅ＿ｓｔｒは、式（９）〜（１３）により算出され、式（９）のθTは、θの転置行列を表しており、式（１１）のように定義される。また、ゲイン係数のベクトルＫΓは、式（１０）により算出される。この式（１０）のζは、その転置行列が式（１２）のように定義されるベクトルであり、式（１０）のΓは、式（１３）にように定義される５次の正方行列である。この式（１３）のγは、適応ゲインであり、０＜γとなるように設定される。
【００９４】
一方、総補正係数算出部１１０では、エンジン水温ＴＷおよび吸気温ＴＡなどの運転状態を表す各種のパラメータに応じて、図示しないマップおよびテーブルを検索することにより、各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、総補正係数ＫＴＯＴＡＬが算出される。
【００９５】
また、乗算要素１１１では、下式（１５）により、要求燃料噴射量Ｔｃｙｌが算出される。
Ｔｃｙｌ＝Ｔｃｙｌ＿ｂｓ・ＫＳＴＲ・ＫＴＯＴＡＬ                ……（１５）
【００９６】
さらに、燃料付着補正部１１２では、以上のように算出された要求燃料噴射量Ｔｃｙｌに、所定の燃料付着補正処理を施すことにより、燃料噴射量ＴＯＵＴが算出される。そして、この燃料噴射量ＴＯＵＴに基づいて、燃料噴射弁１０の燃料噴射タイミングおよび開弁時間が決定され、燃料噴射弁１０が制御される。
【００９７】
以上の式（５），（１５）に示すように、空燃比コントローラ１００では、燃料噴射量ＴＯＵＴが、算出吸気量Ｇｃｙｌに基づいて算出され、式（４）に示すように、Ｋｇ＝０のときには、Ｇｃｙｌ＝Ｇｃｙｌ＿ｖｔとなり、Ｋｇ＝１のときには、Ｇｃｙｌ＝Ｇｃｙｌ＿ａｆｍとなる。これは、前述したように、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では、第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性が第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性を上回るので、そのような範囲では、燃料噴射量ＴＯＵＴをより信頼性の高い第１推定吸気量Ｇｃｙｌ＿ｖｔに基づいて算出することにより、良好な算出精度を確保するためである。また、Ｇｉｎ２≦Ｇｉｎ＿ｖｔの範囲では、吸気通路１２ａ内の空気流量が大きいことで、第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性が第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性を上回るので、そのような範囲では、燃料噴射量ＴＯＵＴをより信頼性の高い第２推定吸気量Ｇｃｙｌ＿ａｆｍに基づいて算出することにより、良好な算出精度を確保するためである。
【００９８】
また、０＜Ｋｇ＜１のときには、算出吸気量Ｇｃｙｌにおける第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの重み付けの度合いが、移行係数Ｋｇの値によって決定される。これは、Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの一方から他方に直接的に切り換えると、第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの値の差が大きいことに起因して、トルク段差が発生するような場合が考えられるので、それを回避するためである。すなわち、前述したように、移行係数Ｋｇが０＜Ｋｇ＜１となるＧｉｎ１＜Ｇｉｎ＿ｖｔ＜Ｇｉｎ２の範囲では、移行係数Ｋｇが推定流量Ｇｉｎ＿ｖｔに比例する値になるように設定されているので、推定流量Ｇｉｎ＿ｖｔがＧｉｎ１およびＧｉｎ２の間で変化すると、それに伴って移行係数Ｋｇが徐々に変化することにより、算出吸気量ＧｃｙｌがＧｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの一方側の値から他方側の値に徐々に変化することになる。その結果、トルク段差の発生を回避することができる。
【００９９】
次に、前述した補正後値算出部１１３について説明する。この補正後値算出部１１３は、以下に述べるように、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎをそれぞれ補正することにより、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出するものである。本実施形態では、補正後値算出部１１３が補正手段に相当し、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐが、補正された動作状態パラメータに相当する。
【０１００】
図１５に示すように、補正後値算出部１１３は、空燃比指標値算出部１１４、最小２乗法フィルタ１１５、非線形処理フィルタ１１６，１１７および加算要素１１８，１１９を備えている。まず、空燃比指標値算出部１１４では、空燃比補正係数ＫＳＴＲを目標空燃比ＫＣＭＤで除算することにより、空燃比指標値ＫＡＦ（＝ＫＳＴＲ／ＫＣＭＤ）が算出される。本実施形態では、空燃比指標値ＫＡＦが制御状態値および空燃比の制御状態を表す値に相当する。
【０１０１】
次に、最小２乗法フィルタ１１５では、下式（１６），（１７）に示す固定ゲイン式の逐次型最小２乗法アルゴリズムにより、空燃比指標値の統計処理値（以下、単に「統計処理値」という）ＫＡＦ＿ＬＳが算出される。
【０１０２】
【数５】
2006002591.tif 000007
【０１０３】
この式（１６）において、ｅ＿ｌｓは、式（１７）により算出される偏差であり、Ｐ＿ｌｓは、所定のゲイン（一定値）を表している。また、これらの式（１６），（１７）において、記号（ｋ）付きの各離散データは、所定の制御周期ΔＴ（本実施形態では５ｍｓｅｃ）に同期してサンプリング（または算出）されたデータであることを示しており、記号ｋは各離散データのサンプリングサイクルの順番を表している。例えば、記号ｋは今回の制御タイミングでサンプリングされた値であることを、記号ｋ−１は前回の制御タイミングでサンプリングされた値であることをそれぞれ示している。この点は、以下の離散データにおいても同様である。なお、以下の説明では、各離散データにおける記号（ｋ）を適宜省略する。
【０１０４】
また、非線形処理フィルタ１１６では、上記統計処理値ＫＡＦ＿ＬＳと所定の上下限値ＫＡＦ＿ＬＳＨ，ＫＡＦ＿ＬＳＬとの比較結果に基づき、以下の式（１８）〜（２０）のいずれかにより、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ（動作状態パラメータの補正量）が算出される。なお、式（１８），（２０）のＤｉｎｃ，Ｄｄｅｃは、いずれも正の所定値である。
・KAF_LS(k)≧KAF_LSHのとき
Dliftin_comp(k)＝Dliftin_comp(k-1)＋Dinc                        ……（１８）
・KAF_LSL＜KAF_LS(k)＜KAF_LSHのとき
Dliftin_comp(k)＝Dliftin_comp(k-1)                              ……（１９）
・KAF_LS(k)≦KAF_LSLのとき
Dliftin_comp(k)＝Dliftin_comp(k-1)−Ddec                        ……（２０）
【０１０５】
次いで、加算要素１１８では、下式（２１）により、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが算出される。
Liftin_comp(k)＝Liftin(k)＋Dliftin_comp(k)                      ……（２１）
【０１０６】
この補正後値算出部１１３では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよびリフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが以上のように算出される。これは以下の理由による。すなわち、前述したような可変バルブリフト機構５０および回動角センサ２５を用いて、バルブリフトＬｉｆｔｉｎを制御している際、温度変化または衝撃などによる取り付け角度の変化に起因して、回動角センサ２５の検出信号のドリフトが発生したり、アジャストボルト５２ａの摩耗により、タペットクリアランスが変化したりすることがあり、その場合、回動角センサ２５の検出信号に基づいて算出されたバルブリフトＬｉｆｔｉｎが、実際のバルブリフト（以下「実際値」という）に対してずれてしまう。
【０１０７】
このようなバルブリフトＬｉｆｔｉｎの実際値に対するずれが発生している場合において、安定した運転状態のとき例えばアイドル運転のときに、空燃比補正係数ＫＳＴＲによる空燃比のフィードバック制御を実行すると、ずれに起因して、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤに収束せず、空燃比のリーン側への制御またはリッチ側への制御が継続されることになる。例えば、バルブリフトＬｉｆｔｉｎが実際値よりも小さい値を示している場合、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも大きい値になることで、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にずれてしまう。その結果、空燃比のリッチ側への制御が継続され、空燃比補正係数ＫＳＴＲが目標空燃比ＫＣＭＤよりも大きい値に設定されることにより、空燃比指標値ＫＡＦ（＝ＫＳＴＲ／ＫＣＭＤ）は値１よりも大きい値を示すことになる。これとは逆に、バルブリフトＬｉｆｔｉｎが実際値よりも大きい値を示している場合には、空燃比指標値ＫＡＦは値１よりも小さい値を示すことになる。
【０１０８】
バルブリフトＬｉｆｔｉｎの実際値に対するずれと、空燃比指標値ＫＡＦとの間には、以上のような相関関係があり、本実施形態では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐに応じて算出した算出吸気量Ｇｃｙｌを用いて、空燃比制御が実行されるので、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの実際値に対するずれが、空燃比指標値ＫＡＦに反映される。
【０１０９】
したがって、ＫＡＦ＿ＬＳ（ｋ）≧ＫＡＦ＿ＬＳＨのときには、算出吸気量Ｇｃｙｌの算出に用いている補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが、実際値よりも小さい側にずれていることで、空燃比のリッチ側への制御が実行されていることになるので、式（１８）のように、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを増大させることにより、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを実際のバルブリフトに近づけることができる（後述する図３６参照）。一方、ＫＡＦ＿ＬＳ（ｋ）≦ＫＡＦ＿ＬＳＬのときには、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが実際値よりも大きい側にずれていることで、空燃比のリーン側への制御が実行されているので、式（２０）のように、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを減少させることにより、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを実際のバルブリフトに近づけることができる。
【０１１０】
また、ＫＡＦ＿ＬＳＬ＜ＫＡＦ＿ＬＳ（ｋ）＜ＫＡＦ＿ＬＳＨのときには、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが更新されず、一定値に保持される。これは、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを一定値に保持し、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの更新を中止することで、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの算出処理と、空燃比のフィードバック制御とが互いに干渉するのを回避するためである。また、上下限値ＫＡＦ＿ＬＳＨ，ＫＡＦ＿ＬＳＬは、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐと実際値との間のずれが小さくなっていることで、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを一定値に保持し、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの更新を中止しても、空燃比制御の制御精度が低下しないような値（例えばＫＡＦ＿ＬＳＨ＝１．１，ＫＡＦ＿ＬＳＬ＝０．９）に設定されている。
【０１１１】
一方、前述した非線形処理フィルタ１１７では、上記統計処理値ＫＡＦ＿ＬＳと所定の上下限値ＫＡＦ＿ＬＳＨ，ＫＡＦ＿ＬＳＬとの比較結果に基づき、以下の式（２２）〜（２４）のいずれかにより、位相補正値Ｄｃａｉｎ＿ｃｏｍｐ（動作状態パラメータの補正量）が算出される。
・KAF_LS(k)≧KAF_LSHのとき
Dcain_comp(k)＝Dcain_comp(k-1)＋Dcomp                           ……（２２）
・KAF_LSL＜KAF_LS(k)＜KAF_LSHのとき
Dcain_comp(k)＝Dcain_comp(k-1)                                  ……（２３）
・KAF_LS(k)≦KAF_LSLのとき
Dcain_comp(k)＝Dcain_comp(k-1)＋Dcomp'                          ……（２４）
【０１１２】
上記式（２２），（２４）におけるＤｃｏｍｐ，Ｄｃｏｍｐ’は、補正項であり、カム位相Ｃａｉｎと、進角側および遅角側の所定値Ｃａｉｎ＿ａｄｖ，Ｃａｉｎ＿ｒｅｔとの比較結果に基づき、以下のような値に設定される。なお、下記のＤａｄｖ，Ｄｒｅｔは、いずれも正の所定値である。
・Ｃａｉｎ（ｋ）＞Ｃａｉｎ＿ａｄｖのとき
Ｄｃｏｍｐ＝Ｄａｄｖ
Ｄｃｏｍｐ’＝−Ｄｒｅｔ
・Ｃａｉｎ＿ｒｅｔ≦Ｃａｉｎ（ｋ）≦Ｃａｉｎ＿ａｄｖのとき
Ｄｃｏｍｐ＝０
Ｄｃｏｍｐ’＝０
・Ｃａｉｎ（ｋ）＜Ｃａｉｎ＿ｒｅｔのとき
Ｄｃｏｍｐ＝−Ｄｒｅｔ
Ｄｃｏｍｐ’＝Ｄａｄｖ
【０１１３】
次いで、加算要素１１９では、下式（２５）により、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが算出される。
Cain_comp(k)＝Cain(k)＋Dcain_comp(k)                            ……（２５）
【０１１４】
この補正後値算出部１１３では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐおよび位相補正値Ｄｃａｉｎ＿ｃｏｍｐが以上のように算出される。これは以下の理由による。すなわち、前述したような可変カム位相機構７０、クランク角センサ２０およびカム角センサ２６を用いて、カム位相Ｃａｉｎを制御した場合、２つのセンサ２０，２６の温度変化などによるドリフト、およびタイミングチェーンのたるみなどに起因して、２つのセンサ２０，２６の検出信号に基づいて算出されたカム位相Ｃａｉｎが、実際のカム位相（以下「実際値」という）に対して進角側または遅角側にずれてしまう可能性がある。
【０１１５】
このように、カム位相Ｃａｉｎが実際の値よりも進角側または遅角側にずれている場合において、上述したように空燃比のフィードバック制御を実行すると、バルブオーバーラップの変化または吸気弁４の遅閉じによる吹き戻し量の変化に起因して、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤに収束せず、空燃比のリーン側への制御またはリッチ側への制御が継続されることになり、その結果、空燃比指標値ＫＡＦが値１よりも小さい値または大きい値を示すことになる。カム位相Ｃａｉｎの実際値に対するずれと、空燃比指標値ＫＡＦとの間にも、以上のような相関関係があり、本実施形態では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて算出した算出吸気量Ｇｃｙｌを用いて、空燃比制御が実行されるので、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの実際値に対するずれが、空燃比指標値ＫＡＦに反映される。
【０１１６】
したがって、ＫＡＦ＿ＬＳ（ｋ）≧ＫＡＦ＿ＬＳＨで、空燃比のリッチ側への制御が実行されている場合、Ｃａｉｎ（ｋ）＞Ｃａｉｎ＿ａｄｖで、カム位相Ｃａｉｎが進角側領域の値であるときには、算出吸気量Ｇｃｙｌの算出に用いている補正後カム位相Ｃａｉｎ＿ｃｏｍｐが、実際値よりも遅角側にずれていることにより、バルブオーバーラップの減少に起因して、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも大きい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより進角側に補正する必要があるので、式（２２）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより大きな値として算出されるように、補正項Ｄｃｏｍｐが値Ｄａｄｖに設定される。
【０１１７】
さらに、ＫＡＦ＿ＬＳ（ｋ）≧ＫＡＦ＿ＬＳＨの場合において、Ｃａｉｎ（ｋ）＜Ｃａｉｎ＿ｒｅｔで、カム位相Ｃａｉｎが遅角側領域の値であるときには、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが実際値よりも進角側にずれていることにより、吸気弁４の遅閉じ度合いの減少に起因して、吸気の吹き戻し量が減少し、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも大きい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより遅角側に補正する必要があるので、式（２２）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより小さな値として算出されるように、補正項Ｄｃｏｍｐが値−Ｄｒｅｔに設定される。
【０１１８】
一方、ＫＡＦ＿ＬＳ（ｋ）≦ＫＡＦ＿ＬＳＬで、空燃比のリーン側への制御が実行されている場合、Ｃａｉｎ（ｋ）＞Ｃａｉｎ＿ａｄｖで、カム位相Ｃａｉｎが進角側領域の値であるときには、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが実際値よりも進角側にずれていることにより、バルブオーバーラップの増大に起因して、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも小さい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリッチ側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより遅角側に補正する必要があるので、式（２４）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより小さな値として算出されるように、補正項Ｄｃｏｍｐ’が値−Ｄｒｅｔに設定される。
【０１１９】
さらに、ＫＡＦ＿ＬＳ（ｋ）≦ＫＡＦ＿ＬＳＬの場合において、Ｃａｉｎ（ｋ）＜Ｃａｉｎ＿ｒｅｔで、カム位相Ｃａｉｎが遅角側領域の値であるときには、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが実際値よりも遅角側にずれていることにより、吸気弁４の遅閉じ度合いの増大に起因して、吸気の吹き戻し量が増大し、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも小さい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリッチ側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより進角側に補正する必要があるので、式（２４）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより大きな値として算出されるように、補正項Ｄｃｏｍｐ’が値Ｄａｄｖに設定される。
【０１２０】
一方、ＫＡＦ＿ＬＳＬ＜ＫＡＦ＿ＬＳ（ｋ）＜ＫＡＦ＿ＬＳＨのとき、およびＣａｉｎ＿ｒｅｔ≦Ｃａｉｎ（ｋ）≦Ｃａｉｎ＿ａｄｖのときには、位相補正値Ｄｃａｉｎ＿ｃｏｍｐが更新されず、一定値に保持される。これは、位相補正値Ｄｃａｉｎ＿ｃｏｍｐを一定値に保持し、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの更新を停止することで、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出処理と、空燃比のフィードバック制御とが互いに干渉するのを回避するためである。また、上下限値ＫＡＦ＿ＬＳＨ，ＫＡＦ＿ＬＳＬは、補正後カム位相Ｃａｉｎ＿ｃｏｍｐと実際値との間のずれが小さくなっていることで、位相補正値Ｄｃａｉｎ＿ｃｏｍｐを一定値に保持し、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの更新を停止しても、空燃比制御の制御精度が低下しないような前述した値（例えばＫＡＦ＿ＬＳＨ＝１．１，ＫＡＦ＿ＬＳＬ＝０．９）に設定されている。さらに、所定値Ｃａｉｎ＿ａｄｖ，Ｃａｉｎ＿ｒｅｔも、空燃比制御の制御精度の低下を回避するために、カム位相Ｃａｉｎの実際値の変化に対する吸入空気量の変化がかなり小さい範囲で、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの更新を停止させることができる値（例えば、Ｃａｉｎ＿ａｄｖはカム角３０゜相当値，Ｃａｉｎ＿ｒｅｔはカム角１０゜相当値）に設定されている。
【０１２１】
次に、図１６を参照しながら、点火時期コントローラ１３０（点火時期決定手段）について説明する。同図に示すように、この点火時期コントローラ１３０では、その一部が前述した空燃比コントローラ１００と同様に構成されているので、以下、同じ構成については、同じ符号を付すとともに、その説明は省略する。点火時期コントローラ１３０は、以下に述べるように、点火時期Ｉｇｌｏｇを算出するものであり、第１および第２推定吸気量算出部１０１，１０２、移行係数算出部１０３、増幅要素１０４，１０５、加算要素１０６、最大推定吸気量算出部１３１、除算要素１３２、基本点火時期算出部１３３、点火補正値算出部１３４および加算要素１３５を備えている。
【０１２２】
最大推定吸気量算出部１３１では、以下に述べるように、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて、最大推定吸気量Ｇｃｙｌ＿ｍａｘが算出される。具体的には、まず、エンジン回転数ＮＥに応じて、図１７に示すテーブルを検索することにより、最大推定吸気量の基本値Ｇｃｙｌ＿ｍａｘ＿ｂａｓｅを算出する。このテーブルでは、基本値Ｇｃｙｌ＿ｍａｘ＿ｂａｓｅは、低中回転域では、エンジン回転数ＮＥが高いほど、より大きな値に設定され、高回転域では、エンジン回転数ＮＥが高いほど、より小さな値に設定されているとともに、中回転域の所定値のときに、その最大値を示すように設定されている。これは、運転性の観点から、中回転域の所定値のときに充填効率が最も高くなるように吸気系が構成されているためである。
【０１２３】
また、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて、図１８に示すマップを検索することにより、補正係数Ｋ＿ｇｃｙｌ＿ｍａｘを算出する。このマップでは、補正係数Ｋ＿ｇｃｙｌ＿ｍａｘは、ＮＥ＝ＮＥ１またはＮＥ２の場合、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最遅角値Ｃａｉｎｒｔに近い領域では、最遅角値Ｃａｉｎｒｔに近いほど、より小さい値に設定され、それ以外の領域では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最進角値Ｃａｉｎａｄ側の値であるほど、より小さな値に設定されている。さらに、ＮＥ＝ＮＥ３の場合、補正係数Ｋ＿ｇｃｙｌ＿ｍａｘは、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最遅角値Ｃａｉｎｒｔに近い領域では、一定値（値１）に設定され、それ以外の領域では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最進角値Ｃａｉｎａｄ側の値であるほど、より小さな値に設定されている。このように補正係数Ｋ＿ｇｃｙｌ＿ｍａｘが設定されている理由は、前述した補正係数Ｋ＿ｇｃｙｌ＿ｖｔの算出に用いる図１２のマップの説明で述べた理由と同じである。
【０１２４】
そして、以上のように算出した最大推定吸気量の基本値Ｇｃｙｌ＿ｍａｘ＿ｂａｓｅおよび補正係数Ｋ＿ｇｃｙｌ＿ｍａｘを用い、下式（２６）により、最大推定吸気量Ｇｃｙｌ＿ｍａｘが算出される。
Ｇｃｙｌ＿ｍａｘ＝Ｋ＿ｇｃｙｌ＿ｍａｘ・Ｇｃｙｌ＿ｍａｘ＿ｂａｓｅ
……（２６）
【０１２５】
一方、除算要素１３２では、正規化吸気量Ｋｇｃｙｌが、下式（２７）により算出される。
Ｋｇｃｙｌ＝Ｇｃｙｌ／Ｇｃｙｌ＿ｍａｘ                          ……（２７）
【０１２６】
さらに、基本点火時期算出部１３３では、以下に述べるように、正規化吸気量Ｋｇｃｙｌ、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて、基本点火時期マップを検索することにより、基本点火時期Ｉｇｌｏｇ＿ｍａｐが算出される。この場合、基本点火時期マップとしては、図１９に示すＣａｉｎ＿ｃｏｍｐ＝Ｃａｉｎｒｔ用のマップと、図２０に示すＣａｉｎ＿ｃｏｍｐ＝Ｃａｉｎａｄ用のマップと、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが最遅角値Ｃａｉｎｒｔと最進角値Ｃａｉｎａｄとの間にあるとき複数段階の補正後カム位相Ｃａｉｎ＿ｃｏｍｐの値にそれぞれ対応して設定された複数のマップ（図示せず）とで構成されている。
【０１２７】
以上の基本点火時期マップの検索では、正規化吸気量Ｋｇｃｙｌ、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに基づいて複数の値を選択するとともに、当該複数の選択値の補間演算により、基本点火時期Ｉｇｌｏｇ＿ｍａｐが算出される。
【０１２８】
以上のように、基本点火時期算出部１３３では、基本点火時期マップのマップ値を設定するためのパラメータとして、正規化吸気量Ｋｇｃｙｌを用いており、その理由は、以下による。すなわち、従来のように、正規化吸気量Ｋｇｃｙｌに代えて算出吸気量Ｇｃｙｌをパラメータとして、基本点火時期マップのマップ値を設定した場合、算出吸気量Ｇｃｙｌの最大設定値が互いに異なるとともに、算出吸気量Ｇｃｙｌが大きい領域、すなわちノッキングが発生し始める高負荷域でのマップ値の設定数が、エンジン回転数ＮＥ毎にばらつくようになり、その結果、設定データ数が増大してしまう。これは、気筒３ａにおける吸気の充填効率がエンジン回転数ＮＥに応じて変化するのに起因して、ノッキングが発生し始める高負荷域での吸入空気量の最大値も、エンジン回転数ＮＥに応じて変化してしまうことによる。
【０１２９】
これに対して、基本点火時期算出部１３３の基本点火時期マップでは、算出吸気量Ｇｃｙｌに代えて正規化吸気量Ｋｇｃｙｌをパラメータとして用いているので、図１９，２０に示すように、ノッキングが発生し始めるような高負荷域、すなわちＫｇｃｙｌが値１を含む値１付近の領域でもエンジン回転数の各設定値ＮＥ１〜ＮＥ３間で、マップ値の数を同じ数に設定でき、それにより、設定データ数を上述した従来の場合よりも低減できることが判る。すなわち、本実施形態のように、算出吸気量Ｇｃｙｌに代えて正規化吸気量Ｋｇｃｙｌをパラメータとして用いることにより、ＥＣＵ２のＲＯＭの記憶容量を低減することができ、その分、製造コストを削減できるためである。
【０１３０】
また、前述した点火補正値算出部１３４では、吸気温ＴＡ、エンジン水温ＴＷおよび目標空燃比ＫＣＭＤなどに応じて、図示しないマップおよびテーブルを検索することにより、各種の補正値が算出され、これらの各種の補正値に基づき、点火補正値Ｄｉｇｌｏｇが算出される。
【０１３１】
さらに、加算要素１３５では、点火時期Ｉｇｌｏｇが、下式（２８）により算出される。
Ｉｇｌｏｇ＝Ｉｇｌｏｇ＿ｍａｐ＋Ｄｉｇｌｏｇ                    ……（２８）
【０１３２】
そして、点火プラグ１１が、この点火時期Ｉｇｌｏｇに応じた放電タイミングで放電するように制御される。
【０１３３】
以下、図２１を参照しながら、ＥＣＵ２により実行される空燃比補正係数ＫＳＴＲの算出処理について説明する。本処理は、前述した空燃比補正係数算出部１０９での算出処理に相当するものであり、１燃焼サイクル毎すなわちＴＤＣ信号が連続して４回発生する毎に実行される。
【０１３４】
まず、ステップ１（図では「Ｓ１」と略す。以下同じ）において、実行条件フラグＦ＿ＡＦＦＢＯＫが「１」であるか否かを判別する。この実行条件フラグＦ＿ＡＦＦＢＯＫは、空燃比フィードバック制御の実行条件が成立しているか否かを表すものであり、図示しない処理において、以下の（ｃ１）〜（ｃ４）の実行条件がいずれも成立しているときには、「１」に設定され、（ｃ１）〜（ｃ４）の実行条件のうちの少なくとも１つが不成立のときには、「０」に設定される。
（ｃ１）ＬＡＦセンサが活性化していること。
（ｃ２）エンジン３がリーンバーン運転中でなくかつフューエルカット運転中でないこと。
（ｃ３）エンジン回転数ＮＥおよびアクセル開度ＡＰがいずれも、所定の範囲囲内の値であること。
（ｃ４）点火時期の遅角制御中でないこと。
【０１３５】
ステップ１の判別結果がＹＥＳで、空燃比フィードバック制御の実行条件が成立しているときには、ステップ２に進み、基本値ｋｓｔｒを、前述した式（７）〜（１３）の制御アルゴリズムにより算出する。
【０１３６】
次いで、ステップ２で算出した基本値ｋｓｔｒに、以下のステップ３〜７のリミット処理を施すことにより、空燃比補正係数ＫＳＴＲを算出する。このリミット処理は、前述した式（６）に相当する。すなわち、ステップ３で、基本値ｋｓｔｒが下限値ＫＳＴＲｍｉｎより小さいか否かを判別する。この判別結果がＹＥＳで、ｋｓｔｒ＜ＫＳＴＲｍｉｎのときには、ステップ４に進み、空燃比補正係数ＫＳＴＲを下限値ＫＳＴＲｍｉｎに設定し、ＲＡＭに記憶する。
【０１３７】
一方、ステップ３の判別結果がＮＯのときには、ステップ５に進み、基本値ｋｓｔｒが上限値ＫＳＴＲｍａｘより大きいか否かを判別する。この判別結果がＮＯで、ＫＳＴＲｍｉｎ≦ｋｓｔｒ≦ＫＳＴＲｍａｘのときには、ステップ６に進み、空燃比補正係数ＫＳＴＲを基本値ｋｓｔｒに設定し、ＲＡＭに記憶する。
【０１３８】
一方、ステップ５の判別結果がＹＥＳで、ＫＳＴＲｍａｘ＜ｋｓｔｒのときには、ステップ７に進み、空燃比補正係数ＫＳＴＲを上限値ＫＳＴＲｍａｘに設定し、ＲＡＭに記憶する。
【０１３９】
以上のステップ４，６または７に続くステップ８では、空燃比補正係数ＫＳＴＲを前述した式（６）〜（１３）の制御アルゴリズムにより算出したこと、すなわち空燃比フィードバック制御を実行中であることを表すために、フィードバック制御中フラグＦ＿ＡＦＦＢを「１」に設定した後、本処理を終了する。
【０１４０】
一方、ステップ１の判別結果がＮＯで、空燃比フィードバック制御の実行条件が成立していないときには、ステップ９に進み、空燃比補正係数ＫＳＴＲを目標空燃比ＫＣＭＤに設定する。次いで、ステップ１０で、空燃比フィードバック制御を実行していないことを表すために、フィードバック制御中フラグＦ＿ＡＦＦＢを「０」に設定した後、本処理を終了する。
【０１４１】
以下、図２２を参照しながら、ＥＣＵ２により実行される空燃比制御処理について説明する。本処理は、燃料噴射量ＴＯＵＴを燃料噴射弁１０毎に算出するものであり、前述した空燃比コントローラ１００での算出処理に相当し、ＴＤＣ信号の発生タイミングに同期して実行される。
【０１４２】
まず、ステップ２０において、基本燃料噴射量Ｔｃｙｌ＿ｂｓを算出する。この基本燃料噴射量Ｔｃｙｌ＿ｂｓの算出処理は、具体的には、図２３に示すように実行される。すなわち、まず、ステップ３０で、前述した式（３）により、第２推定吸気量Ｇｃｙｌ＿ａｆｍを算出する。
【０１４３】
次に、ステップ３１で、前述した手法により、第１推定吸気量Ｇｃｙｌ＿ｖｔを算出する。すなわち、エンジン回転数ＮＥおよび補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐに応じて、図１１に示すマップを検索することにより、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅを算出するとともに、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて、図１２に示すマップを検索することにより、補正係数Ｋ＿ｇｃｙｌ＿ｖｔを算出する。そして、これらの値Ｇｃｙｌ＿ｖｔ＿ｂａｓｅ，Ｋ＿ｇｃｙｌ＿ｖｔに基づき、前述した式（１）により、第１推定吸気量Ｇｃｙｌ＿ｖｔを算出する。
【０１４４】
次に、ステップ３２で、前述した式（２）により、推定流量Ｇｉｎ＿ｖｔを算出する。その後、ステップ３３に進み、可変機構故障フラグＦ＿ＶＤＮＧが「１」であるか否かを判別する。
【０１４５】
この可変機構故障フラグＦ＿ＶＤＮＧは、図示しない故障判定処理において、可変バルブリフト機構５０および可変カム位相機構７０の少なくとも一方が故障していると判定されたときには「１」に、いずれも正常であると判定されたときには「０」にそれぞれ設定される。なお、以下の説明では、可変バルブリフト機構５０および可変カム位相機構７０をまとめて「２つの可変機構」と呼ぶ。
【０１４６】
ステップ３３の判別結果がＮＯで、２つの可変機構がいずれも正常であるときには、ステップ３４に進み、エアフローセンサ故障フラグＦ＿ＡＦＭＮＧが「１」であるか否かを判別する。このエアフローセンサ故障フラグＦ＿ＡＦＭＮＧは、図示しない故障判定処理において、エアフローセンサ２２が故障していると判定されたときには「１」に、正常であると判定されたときには「０」にそれぞれ設定される。
【０１４７】
ステップ３４の判別結果がＮＯで、エアフローセンサ２２が正常であるときには、ステップ３５に進み、前述したように、移行係数Ｋｇを、推定流量Ｇｉｎ＿ｖｔに応じて、図１３に示すテーブルを検索することにより算出する。
【０１４８】
一方、ステップ３４の判別結果がＹＥＳで、エアフローセンサ２２が故障しているときには、ステップ３６に進み、移行係数Ｋｇを値０に設定する。
【０１４９】
ステップ３５または３６に続くステップ３７では、前述した式（４）により、算出吸気量Ｇｃｙｌを算出する。次いで、ステップ３８で、基本燃料噴射量Ｔｃｙｌ＿ｂｓを、換算係数と算出吸気量の積Ｋｇｔ・Ｇｃｙｌに設定した後、本処理を終了する。
【０１５０】
一方、ステップ３３の判別結果がＹＥＳで、２つの可変機構の少なくとも一方が故障していると判定されたときには、ステップ３９に進み、算出吸気量Ｇｃｙｌを前述した所定の故障時用値Ｇｃｙｌ＿ｆｓに設定する。次いで、前述したステップ３８を実行した後、本処理を終了する。
【０１５１】
図２２に戻り、ステップ２０で、以上のように基本燃料噴射量Ｔｃｙｌ＿ｂｓを算出した後、ステップ２１に進み、総補正係数ＫＴＯＴＡＬを算出する。具体的には、前述したように、各種の運転パラメータ（例えば吸気温ＴＡや、大気圧ＰＡ、エンジン水温ＴＷ、アクセル開度ＡＰなど）に応じて、各種のテーブルやマップを検索することで各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、総補正係数ＫＴＯＴＡＬが算出される。
【０１５２】
次いで、ステップ２２に進み、前述したように、アクセル開度ＡＰおよび算出吸気量Ｇｃｙｌに応じて、図１４に示すマップを検索することにより、目標空燃比ＫＣＭＤを算出し、ＲＡＭに記憶する。
【０１５３】
次に、ステップ２３に進み、ＲＡＭに記憶されている空燃比補正係数ＫＳＴＲの値を読み込む。すなわち、空燃比補正係数ＫＳＴＲをサンプリングする。
【０１５４】
次いで、ステップ２４に進み、前述した式（１５）により、要求燃料噴射量Ｔｃｙｌを算出する。次に、ステップ２５で、前述したように、要求燃料噴射量Ｔｃｙｌに、所定の燃料付着補正処理を施すことにより、燃料噴射量ＴＯＵＴを算出する。この後、本処理を終了する。以上により、この燃料噴射量ＴＯＵＴに基づいて、燃料噴射弁１０の燃料噴射タイミングおよび開弁時間が決定され、燃料噴射弁１０が制御される。その結果、混合気の空燃比すなわち検出空燃比ＫＡＣＴが、目標空燃比ＫＣＭＤに収束するようにフィードバック制御される。
【０１５５】
次に、図２４を参照しながら、ＥＣＵ２により実行される点火時期制御処理について説明する。本処理は、以下に述べるように点火時期Ｉｇｌｏｇを算出するものであり、前述した点火時期コントローラ１３０での算出処理に相当し、ＴＤＣ信号の発生タイミングに同期して、前述した空燃比制御処理に続けて実行される。
【０１５６】
この処理では、まず、ステップ５０で、前述した可変機構故障フラグＦ＿ＶＤＮＧが「１」であるか否かを判別する。この判別結果がＮＯで、２つの可変機構がいずれも正常であるときには、ステップ５１に進み、エンジン始動フラグＦ＿ＥＮＧＳＴＡＲＴが「１」であるか否かを判別する。
【０１５７】
このエンジン始動フラグＦ＿ＥＮＧＳＴＡＲＴは、図示しない判定処理において、エンジン回転数ＮＥおよびＩＧ・ＳＷ２８のＯＮ／ＯＦＦ信号に応じて、エンジン始動制御中すなわちクランキング中であるか否かを判定することにより設定されるものであり、具体的には、エンジン始動制御中であるときには「１」に、それ以外のときには「０」にそれぞれ設定される。
【０１５８】
ステップ５１の判別結果がＹＥＳで、エンジン始動制御中であるときには、ステップ５２に進み、点火時期Ｉｇｌｏｇを、所定の始動時用値Ｉｇ＿ｃｒｋ（例えばＢＴＤＣ１０゜）に設定した後、本処理を終了する。
【０１５９】
一方、ステップ５１の判別結果がＮＯで、エンジン始動制御中でないときには、ステップ５３に進み、アクセル開度ＡＰが所定値ＡＰＲＥＦより小さいか否かを判別する。この所定値ＡＰＲＥＦは、アクセルペダルが踏まれていないことを判別するためのものであり、アクセルペダルが踏まれていないことを判別可能な値（例えば１゜）に設定されている。
【０１６０】
この判別結果がＹＥＳで、アクセルペダルが踏まれていないときには、ステップ５４に進み、触媒暖機制御の実行時間Ｔｃａｔ（エンジン３の始動終了直後からの経過時間の計時値）が所定値Ｔｃａｔｌｍｔ（例えば３０ｓｅｃ）より小さいか否かを判別する。この触媒暖機制御は、排気管１３に設けられた触媒装置内の触媒をエンジン始動後に急速に活性化させるためのものである。この判別結果がＹＥＳで、Ｔｃａｔ＜Ｔｃａｔｌｍｔのときには、触媒暖機制御を実行すべきであるとして、ステップ５５に進み、触媒暖機用値Ｉｇ＿ａｓｔを算出する。この触媒暖機用値Ｉｇ＿ａｓｔは、具体的には、下式（２９）〜（３１）の応答指定型制御アルゴリズム（スライディングモード制御アルゴリズムまたはバックステッピング制御アルゴリズム）により、算出される。
【０１６１】
【数６】
2006002591.tif 000008
【０１６２】
これらの式（２９）〜（３１）における記号（ｍ）付きの各離散データは、所定の制御周期（本実施形態ではＴＤＣ信号の発生周期）に同期してサンプリング（または算出）されたデータであることを示しており、記号ｍは各離散データのサンプリングサイクルの順番を表している。なお、以下の説明では、各離散データにおける記号（ｍ）などを適宜、省略する。
【０１６３】
上記式（２９）において、Ｉｇ＿ａｓｔ＿ｂａｓｅは、所定の触媒暖機用の基準点火時期（例えばＢＴＤＣ５゜）を表し、Ｋｒｃｈ，Ｋａｄｐは、所定のフィードバックゲインを表している。また、σは、式（３０）のように定義される切換関数である。同式（３０）において、ｐｏｌｅは、−１＜ｐｏｌｅ＜０の関係が成立するように設定される応答指定パラメータであり、Ｅｎａｓｔは、式（３１）により算出される追従誤差である。式（３１）において、ＮＥ＿ａｓｔは、所定の触媒暖機用の目標回転数（例えば１８００ｒｐｍ）である。以上の制御アルゴリズムにより、触媒暖機用値Ｉｇ＿ａｓｔは、エンジン回転数ＮＥを上記触媒暖機用の目標回転数ＮＥ＿ａｓｔに収束させる値として、算出される。
【０１６４】
次いで、ステップ５６に進み、点火時期Ｉｇｌｏｇを上記触媒暖機用値Ｉｇ＿ａｓｔに設定した後、本処理を終了する。
【０１６５】
一方、ステップ５３または５４の判別結果がＮＯのとき、すなわちＴｃａｔ≧Ｔｃａｔｌｍｔであるとき、またはアクセルペダルが踏まれているときには、ステップ５７に進み、通常点火時期制御処理を実行する。
【０１６６】
この通常点火時期制御処理は、具体的には、図２５に示すように実行される。まず、ステップ７０で、最大推定吸気量Ｇｃｙｌ＿ｍａｘを、前述した手法により算出する。すなわち、エンジン回転数ＮＥに応じて、図１７に示すテーブルを検索することにより、最大推定吸気量の基本値Ｇｃｙｌ＿ｍａｘ＿ｂａｓｅを算出し、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて、図１８に示すマップを検索することにより、補正係数Ｋ＿ｇｃｙｌ＿ｍａｘを算出する。そして、以上のように算出した２つの値Ｇｃｙｌ＿ｍａｘ＿ｂａｓｅ，Ｋ＿ｇｃｙｌ＿ｍａｘに基づき、前述した式（２６）により、最大推定吸気量Ｇｃｙｌ＿ｍａｘを算出する。
【０１６７】
次いで、ステップ７１で、正規化吸気量Ｋｇｃｙｌを、前述した式（２７）により算出する。この後、ステップ７２で、基本点火時期Ｉｇｌｏｇ＿ｍａｐを前述した手法により算出する。すなわち、正規化吸気量Ｋｇｃｙｌ、エンジン回転数ＮＥおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて、図１９，２０などの基本点火時期マップを検索し、複数の値を選択するとともに、当該複数の選択値の補間演算により、基本点火時期Ｉｇｌｏｇ＿ｍａｐを算出する。
【０１６８】
次に、ステップ７３で、点火補正値Ｄｉｇｌｏｇを前述した手法により算出する。すなわち、吸気温ＴＡ、エンジン水温ＴＷおよび目標空燃比ＫＣＭＤなどに応じて、図示しないマップおよびテーブルを検索することにより、各種の補正値を算出し、これらの各種の補正値に基づき、点火補正値Ｄｉｇｌｏｇを算出する。次いで、ステップ７４で、点火時期Ｉｇｌｏｇを、前述した式（２８）により算出した後、本処理を終了する。
【０１６９】
図２４に戻り、ステップ５７で、以上のように通常点火時期制御処理を実行した後、本処理を終了する。
【０１７０】
一方、ステップ５０の判別結果がＹＥＳで、２つの可変機構の少なくとも一方が故障しているときには、ステップ５８に進み、故障時用値Ｉｇ＿ｆｓを算出する。この故障時用値Ｉｇ＿ｆｓは、具体的には、下式（３２）〜（３４）の応答指定型制御アルゴリズム（スライディングモード制御アルゴリズムまたはバックステッピング制御アルゴリズム）により、算出される。
【０１７１】
【数７】
2006002591.tif 000009
【０１７２】
上記式（３２）において、Ｉｇ＿ｆｓ＿ｂａｓｅは、所定の故障時用の基準点火時期（例えばＴＤＣ±０゜）を表し、Ｋｒｃｈ#，Ｋａｄｐ#は、所定のフィードバックゲインを表している。また、σ#は、式（３３）のように定義される切換関数である。同式（３３）において、ｐｏｌｅ#は、−１＜ｐｏｌｅ#＜０の関係が成立するように設定される応答指定パラメータであり、Ｅｎｆｓは、式（３４）により算出される追従誤差である。式（３４）において、ＮＥ＿ｆｓは、所定の故障時目標回転数（例えば２０００ｒｐｍ）である。以上の制御アルゴリズムにより、故障時用値Ｉｇ＿ｆｓは、エンジン回転数ＮＥを上記故障時目標回転数ＮＥ＿ｆｓに収束させる値として、算出される。
【０１７３】
次いで、ステップ５９に進み、点火時期Ｉｇｌｏｇを上記故障時用値Ｉｇ＿ｆｓに設定した後、本処理を終了する。
【０１７４】
次に、図２６を参照しながら、ＥＣＵ２により実行される補正後値算出処理について説明する。本処理は、以下に述べるように、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出するものであり、前述した補正後値算出部１１３での算出処理に相当し、所定の制御周期ΔＴ（本実施形態では５ｍｓｅｃ）に同期して実行される。
【０１７５】
まず、ステップ８０で、前述したフィードバック制御中フラグＦ＿ＡＦＦＢが「１」であるか否かを判別する。この判別結果がＮＯで、空燃比フィードバック制御を実行中でないときには、そのまま本処理を終了する。一方、この判別結果がＹＥＳで、空燃比フィードバック制御を実行中であるときには、ステップ８１に進み、ＲＡＭに記憶されている空燃比補正係数ＫＳＴＲの値を、ＲＡＭに記憶されている目標空燃比ＫＣＭＤの値で除算することにより、空燃比指標値ＫＡＦを算出する。
【０１７６】
次いで、ステップ８２に進み、前述した式（１６），（１７）の逐次型最小２乗法アルゴリズムにより、空燃比指標値の統計処理値ＫＡＦ＿ＬＳを算出する。
【０１７７】
次に、ステップ８３で、エンジン水温ＴＷが所定水温ＴＷＲＥＦ（例えば８５℃）より高いか否かを判別する。この判別結果がＮＯで、エンジン３の暖機が完了していないときには、本処理を終了する。
【０１７８】
一方、ステップ８３の判別結果がＹＥＳで、エンジン３の暖機が完了しているときには、ステップ８４に進み、アイドル運転フラグＦ＿ＩＤＬＥが「１」であるか否かを判別する。このアイドル運転フラグＦ＿ＩＤＬＥは、アイドル運転中であるときには「１」に、それ以外のときには「０」にそれぞれ設定される。
【０１７９】
この判別結果がＹＥＳで、アイドル運転中であるときには、ステップ８５に進み、アイドル運転の実行時間Ｔｉｄｌｅが所定値ＴＲＥＦ以上であるか否かを判別する。この判別結果がＹＥＳのときには、ステップ８６に進み、回転偏差ＤＮＥが所定値ＤＮＥＲＥＦ（例えば２０ｒｐｍ）より小さいか否かを判別する。この回転偏差ＤＮＥは、アイドル運転用の目標回転数ＮＥ＿ｃｍｄとエンジン回転数ＮＥとの偏差の絶対値として算出される。
【０１８０】
ステップ８６の判別結果がＹＥＳのときには、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出条件が成立しているとして、後述するステップ８９に進む。一方、ステップ８５または８６の判別結果がＮＯのときには、本処理を終了する。これらのステップ８５，８６の判別により、高回転運転状態からの減速によるアイドル運転への移行開始時や、アイドル運転中の運転者による空ぶかしが行われた直後において、エンジン３の運転状態が安定するまでの間、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出が回避されるとともに、運転状態が安定した以降、算出が実行される。
【０１８１】
一方、ステップ８４の判別結果がＮＯで、アイドル運転中でないときには、ステップ８７に進み、アクセル偏差フラグＦ＿ＤＡＰが「１」であるか否かを判別する。このアクセル偏差フラグＦ＿ＤＡＰは、アクセル開度ＡＰが安定した状態にあるか否かを表すものであり、具体的には、アクセル開度の今回値ＡＰ（ｋ）と前回値ＡＰ（ｋ−１）との偏差の絶対値が所定値以下である状態が、所定時間以上継続したときには「１」に、それ以外のときには「０」に設定される。
【０１８２】
ステップ８７の判別結果がＹＥＳで、アクセル開度ＡＰが変動することなく、安定した状態にあるときには、ステップ８８に進み、回転偏差フラグＦ＿ＤＮＥが「１」であるか否かを判別する。この回転偏差フラグＦ＿ＤＮＥは、エンジン回転数ＮＥが安定した状態にあるか否かを表すものであり、具体的には、エンジン回転数ＮＥの今回値ＮＥ（ｋ）と前回値ＮＥ（ｋ−１）との偏差の絶対値が所定値以下である状態が、所定時間以上継続したときには「１」に、それ以外のときには「０」に設定される。
【０１８３】
ステップ８８の判別結果がＹＥＳで、エンジン回転数ＮＥが変動することなく、安定した状態にあるときには、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出条件が成立しているとして、後述するステップ８９に進む。一方、ステップ８７または８８の判別結果がＮＯのときには、本処理を終了する。これらのステップ８７，８８の判別により、アクセル開度ＡＰおよびエンジン回転数ＮＥが安定するまでの間、すなわちエンジン３の運転状態が安定するまでの間、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出が回避されるとともに、運転状態が安定した以降、算出が実行される。
【０１８４】
ステップ８６または８８に続くステップ８９では、前述した算出手法により、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを算出する。すなわち、図２７に示すように、まず、ステップ１００で、統計処理値ＫＡＦ＿ＬＳが下限値ＫＡＦ＿ＬＳＬ以下であるか否かを判別する。
【０１８５】
この判別結果がＹＥＳで、ＫＡＦ＿ＬＳ≦ＫＡＦ＿ＬＳＬのときには、ステップ１０１で、リフト補正値の今回値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ（ｋ）を、前回値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ（ｋ−１）から所定値Ｄｄｅｃを減算した値に設定した後、本処理を終了する。
【０１８６】
一方、ステップ１００の判別結果がＮＯのときには、ステップ１０２に進み、統計処理値ＫＡＦ＿ＬＳが上限値ＫＡＦ＿ＬＳＨ未満であるか否かを判別する。この判別結果がＹＥＳで、ＫＡＦ＿ＬＳＬ＜ＫＡＦ＿ＬＳ＜ＫＡＦ＿ＬＳＨのときには、ステップ１０３で、リフト補正値の今回値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ（ｋ）を、前回値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ（ｋ−１）に設定した後、本処理を終了する。すなわち、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが更新されず、一定値に保持される。
【０１８７】
一方、ステップ１０２の判別結果がＮＯで、ＫＡＦ＿ＬＳＨ≦ＫＡＦ＿ＬＳのときには、ステップ１０４で、リフト補正値の今回値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ（ｋ）を、前回値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ（ｋ−１）と所定値Ｄｉｎｃとの和に設定した後、本処理を終了する。
【０１８８】
図２６に戻り、ステップ８９で、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを以上のように算出した後、ステップ９０に進み、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを、前述した式（２１）により算出する。
【０１８９】
次いで、ステップ９１で、前述した算出手法により、位相補正値Ｄｃａｉｎ＿ｃｏｍｐを算出する。すなわち、図２８に示すように、まず、ステップ１１０で、カム位相Ｃａｉｎが遅角側の所定値Ｃａｉｎ＿ｒｅｔ未満であるか否かを判別する。この判別結果がＹＥＳで、カム位相Ｃａｉｎが遅角側領域の値であるときには、ステップ１１１に進み、補正項Ｄｃｏｍｐを値−Ｄｒｅｔに、補正項Ｄｃｏｍｐ’を値Ｄａｄｖにそれぞれ設定する。
【０１９０】
一方、ステップ１１０の判別結果がＮＯのときには、ステップ１１２に進み、カム位相Ｃａｉｎが進角側の所定値Ｃａｉｎ＿ａｄｖ以下であるか否かを判別する。この判別結果がＹＥＳで、Ｃａｉｎ＿ｒｅｔ≦Ｃａｉｎ≦Ｃａｉｎ＿ａｄｖのときには、ステップ１１３に進み、２つの補正項Ｄｃｏｍｐ，Ｄｃｏｍｐ’をいずれも値０に設定する。
【０１９１】
一方、ステップ１１２の判別結果がＮＯで、カム位相Ｃａｉｎが進角側領域の値であるときには、ステップ１１４に進み、補正項Ｄｃｏｍｐを値−Ｄｒｅｔに、補正項Ｄｃｏｍｐ’を値Ｄａｄｖにそれぞれ設定する。
【０１９２】
以上のステップ１１１，１１３または１１４に続くステップ１１５では、統計処理値ＫＡＦ＿ＬＳが下限値ＫＡＦ＿ＬＳＬ以下であるか否かを判別する。
【０１９３】
この判別結果がＹＥＳで、ＫＡＦ＿ＬＳ≦ＫＡＦ＿ＬＳＬのときには、ステップ１１６で、位相補正値の今回値Ｄｃａｉｎ＿ｃｏｍｐ（ｋ）を、前回値Ｄｃａｉｎ＿ｃｏｍｐ（ｋ−１）と補正項Ｄｃｏｍｐ’との和に設定した後、本処理を終了する。
【０１９４】
一方、ステップ１１５の判別結果がＮＯのときには、ステップ１１７に進み、統計処理値ＫＡＦ＿ＬＳが上限値ＫＡＦ＿ＬＳＨ未満であるか否かを判別する。この判別結果がＹＥＳで、ＫＡＦ＿ＬＳＬ＜ＫＡＦ＿ＬＳ＜ＫＡＦ＿ＬＳＨのときには、ステップ１１８で、位相補正値の今回値Ｄｃａｉｎ＿ｃｏｍｐ（ｋ）を、前回値Ｄｃａｉｎ＿ｃｏｍｐ（ｋ−１）に設定した後、本処理を終了する。すなわち、位相補正値Ｄｃａｉｎ＿ｃｏｍｐが更新されず、一定値に保持される。
【０１９５】
一方、ステップ１１７の判別結果がＮＯで、ＫＡＦ＿ＬＳＨ≦ＫＡＦ＿ＬＳのときには、ステップ１１９で、位相補正値の今回値Ｄｃａｉｎ＿ｃｏｍｐ（ｋ）を、前回値Ｄｃａｉｎ＿ｃｏｍｐ（ｋ−１）と補正項Ｄｃｏｍｐとの和に設定した後、本処理を終了する。
【０１９６】
図２６に戻り、ステップ９１で、位相補正値Ｄｃａｉｎ＿ｃｏｍｐを以上のように算出した後、ステップ９２に進み、補正後カム位相Ｃａｉｎ＿ｃｏｍｐを、前述した式（２５）により算出する。その後、本処理を終了する。
【０１９７】
以上のように、この補正後値算出処理では、ステップ８３〜８６の判別結果がいずれもＹＥＳのとき、または、ステップ８４の判別結果がＮＯで、かつステップ８７，８８の判別結果がいずれもＹＥＳのときに、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出が実行される。すなわち、エンジン３の暖機の終了後において、アイドル運転中で、エンジン３の運転状態が安定しているとき、または、アイドル運転以外で、アクセル開度ＡＰおよびエンジン回転数ＮＥの変動量が小さく、安定した運転状態にあるときに、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐが算出されるので、良好な算出精度を確保することができる。
【０１９８】
以下、図２９を参照しながら、ＥＣＵ２により実行される可変機構制御処理について説明する。本処理は、２つの可変機構をそれぞれ制御するための２つの制御入力Ｕ＿Ｌｉｆｔｉｎ，Ｕ＿Ｃａｉｎを算出するものであり、前述した所定の制御周期ΔＴで、前述した補正後値算出処理に続けて実行される。
【０１９９】
この処理では、まず、ステップ１３０で、前述した可変機構故障フラグＦ＿ＶＤＮＧが「１」であるか否かを判別する。この判別結果がＮＯで、２つの可変機構がいずれも正常であるときには、ステップ１３１に進み、前述したエンジン始動フラグＦ＿ＥＮＧＳＴＡＲＴが「１」であるか否かを判別する。
【０２００】
この判別結果がＹＥＳで、エンジン始動制御中であるときには、ステップ１３２に進み、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄを、エンジン水温ＴＷに応じて、図３０に示すテーブルを検索することにより算出する。
【０２０１】
このテーブルでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、エンジン水温ＴＷが所定値ＴＷＲＥＦ１より高い範囲では、エンジン水温ＴＷが低いほど、より大きな値に設定されているとともに、ＴＷ≦ＴＷＲＥＦ１の範囲では、所定値Ｌｉｆｔｉｎｒｅｆに設定されている。これは、エンジン水温ＴＷが低い場合、可変バルブリフト機構５０のフリクションが増大するので、それを補償するためである。
【０２０２】
次いで、ステップ１３３で、目標カム位相Ｃａｉｎ＿ｃｍｄを、エンジン水温ＴＷに応じて、図３１に示すテーブルを検索することにより算出する。
【０２０３】
このテーブルでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、エンジン水温ＴＷが所定値ＴＷＲＥＦ２より高い範囲では、エンジン水温ＴＷが低いほど、より遅角側の値に設定されているとともに、ＴＷ≦ＴＷＲＥＦ２の範囲では、所定値Ｃａｉｎｒｅｆに設定されている。これは、エンジン水温ＴＷが低い場合、カム位相Ｃａｉｎをエンジン水温ＴＷが高い場合よりも遅角側に制御し、バルブオーバーラップを小さくすることで、吸気流速を上昇させ、燃焼の安定化を図るためである。
【０２０４】
次に、ステップ１３４に進み、下式（３５）〜（３８）に示す目標値フィルタ型２自由度スライディングモード制御アルゴリズムにより、リフト制御入力Ｕ＿Ｌｉｆｔｉｎを算出する。
【０２０５】
【数８】
2006002591.tif 000010
【０２０６】
同式（３５）において、Ｋｒｃｈ＿ｌｆは所定の到達則ゲインを、Ｋａｄｐ＿ｌｆは所定の適応則ゲインをそれぞれ表しており、さらに、σ＿ｌｆは、式（３６）のように定義される切換関数である。同式（３６）において、ｐｏｌｅ＿ｌｆは、−１＜ｐｏｌｅ＿ｌｆ＜０の関係が成立するように設定される応答指定パラメータであり、Ｅ＿ｌｆは、式（３７）により算出される追従誤差である。同式（３７）において、Ｌｉｆｔｉｎ＿ｃｍｄ＿ｆは、目標バルブリフトのフィルタ値であり、式（３８）に示す一次遅れフィルタアルゴリズムにより算出される。同式（３８）において、ｐｏｌｅ＿ｆ＿ｌｆは、−１＜ｐｏｌｅ＿ｆ＿ｌｆ＜０の関係が成立するように設定される目標値フィルタ設定パラメータである。
【０２０７】
次に、ステップ１３５に進み、下式（３９）〜（４２）に示す目標値フィルタ型２自由度スライディングモード制御アルゴリズムにより、位相制御入力Ｕ＿Ｃａｉｎを算出する。
【０２０８】
【数９】
2006002591.tif 000011
【０２０９】
同式（３９）において、Ｋｒｃｈ＿ｃａは所定の到達則ゲインを、Ｋａｄｐ＿ｃａは所定の適応則ゲインをそれぞれ表しており、さらに、σ＿ｃａは、式（４０）のように定義される切換関数である。同式（４０）において、ｐｏｌｅ＿ｃａは、−１＜ｐｏｌｅ＿ｃａ＜０の関係が成立するように設定される応答指定パラメータであり、Ｅ＿ｃａは、式（４１）により算出される追従誤差である。同式（４１）において、Ｃａｉｎ＿ｃｍｄ＿ｆは、目標カム位相のフィルタ値であり、式（４２）に示す一次遅れフィルタアルゴリズムにより算出される。同式（４２）において、ｐｏｌｅ＿ｆ＿ｃａは、−１＜ｐｏｌｅ＿ｆ＿ｃａ＜０の関係が成立するように設定される目標値フィルタ設定パラメータである。
【０２１０】
ステップ１３５で、位相制御入力Ｕ＿Ｃａｉｎを以上のように算出した後、本処理を終了する。
【０２１１】
一方、ステップ１３１の判別結果がＮＯで、エンジン始動制御中でないときには、ステップ１３６に進み、アクセル開度ＡＰが所定値ＡＰＲＥＦより小さいか否かを判別する。この判別結果がＹＥＳで、アクセルペダルが踏まれていないときには、ステップ１３７に進み、触媒暖機制御の実行時間Ｔｃａｔが所定値Ｔｃａｔｌｍｔより小さいか否かを判別する。
【０２１２】
この判別結果がＹＥＳで、Ｔｃａｔ＜Ｔｃａｔｌｍｔのときには、触媒暖機制御を実行すべきであるとして、ステップ１３８に進み、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄを、触媒暖機制御の実行時間Ｔｃａｔおよびエンジン水温ＴＷに応じて、図３２に示すマップを検索することにより算出する。同図において、ＴＷ１〜ＴＷ３は、ＴＷ１＜ＴＷ２＜ＴＷ３の関係が成立するエンジン水温ＴＷの所定値を示しており、この点は以下の説明においても同様である。
【０２１３】
このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、エンジン水温ＴＷが低いほど、より大きな値に設定されている。これは、エンジン水温ＴＷが低いほど、触媒の活性化に要する時間が長くなるので、排気ガスボリュームを大きくすることで、触媒の活性化に要する時間を短縮するためである。これに加えて、このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、触媒暖機制御の実行時間Ｔｃａｔが短い間は、実行時間Ｔｃａｔが長いほど、より大きな値に設定され、実行時間Ｔｃａｔがある程度経過した後は、実行時間Ｔｃａｔが長いほど、より小さな値に設定されている。これは、実行時間Ｔｃａｔの経過に伴い、エンジン３の暖機が進むことで、フリクションが低下した場合において、吸入空気量を低減しないと、エンジン回転数ＮＥを目標値に維持するために点火時期が過剰にリタード制御された状態となり、燃焼状態が不安定になってしまうので、それを回避するためである。
【０２１４】
次いで、ステップ１３９で、目標カム位相Ｃａｉｎ＿ｃｍｄを、触媒暖機制御の実行時間Ｔｃａｔおよびエンジン水温ＴＷに応じて、図３３に示すマップを検索することにより算出する。
【０２１５】
このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、エンジン水温ＴＷが低いほど、より進角側の値に設定されている。これは、エンジン水温ＴＷが低いほど、上述したように触媒の活性化に要する時間が長くなるので、ポンピングロスを減少させ、吸入空気量を増大させることで、触媒の活性化に要する時間を短縮するためである。これに加えて、このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、触媒暖機制御の実行時間Ｔｃａｔが短い間は、実行時間Ｔｃａｔが長いほど、より遅角側の値に設定され、実行時間Ｔｃａｔがある程度経過した後は、実行時間Ｔｃａｔが長いほど、より進角側の値に設定されている。これは、図３２の説明で述べたのと同じ理由による。
【０２１６】
次いで、前述したように、ステップ１３４，１３５を実行した後、本処理を終了する。
【０２１７】
一方、ステップ１３６または１３７の判別結果がＮＯのとき、すなわちＴｃａｔ≧Ｔｃａｔｌｍｔであるとき、またはアクセルペダルが踏まれているときには、ステップ１４０に進み、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄを、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図３４に示すマップを検索することにより算出する。同図において、ＡＰ１〜ＡＰ３は、ＡＰ１＜ＡＰ２＜ＡＰ３の関係が成立するアクセル開度ＡＰの所定値を示しており、この点は以下の説明においても同様である。
【０２１８】
このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、エンジン回転数ＮＥが高いほど、またはアクセル開度ＡＰが大きいほど、より大きな値に設定されている。これは、エンジン回転数ＮＥが高いほど、またはアクセル開度ＡＰが大きいほど、エンジン３に対する要求出力が大きいことで、より大きな吸入空気量が要求されることによる。
【０２１９】
次いで、ステップ１４１で、目標カム位相Ｃａｉｎ＿ｃｍｄを、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図３５に示すマップを検索することにより算出する。このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、アクセル開度ＡＰが小さくかつ中回転域にあるときには、それ以外のときよりも進角側の値に設定されている。これは、そのような運転状態では、内部ＥＧＲ量を低減し、ポンピングロスを減少させる必要があるためである。
【０２２０】
ステップ１４１に続いて、前述したように、ステップ１３４，１３５を実行した後、本処理を終了する。
【０２２１】
一方、ステップ１３０の判別結果がＹＥＳで、２つの可変機構の少なくとも一方が故障しているときには、ステップ１４２に進み、リフト制御入力Ｕ＿Ｌｉｆｔｉｎを所定の故障時用値Ｕ＿Ｌｉｆｔｉｎ＿ｆｓに、位相制御入力Ｕ＿Ｃａｉｎを所定の故障時用値Ｕ＿Ｃａｉｎ＿ｆｓにそれぞれ設定した後、本処理を終了する。これにより、前述したように、バルブリフトＬｉｆｔｉｎが最小値Ｌｉｆｔｉｎｍｉｎに、カム位相Ｃａｉｎが所定のロック値にそれぞれ保持され、それにより、停車中はアイドル運転やエンジン始動を適切に実行できると同時に、走行中は低速走行状態を維持できる。
【０２２２】
次に、以上のように構成された第１実施形態の制御装置１による空燃比制御のシミュレーション結果について説明する。図３６は、回動角センサ２５の検出信号に基づいて算出されるバルブリフトＬｉｆｔｉｎ（実線で示す値）が、実際のバルブリフト（２点鎖線で示す値）よりも小さい側にずれている場合において、アイドル運転中、空燃比補正係数ＫＳＴＲによる空燃比のフィードバック制御を実行したときの制御結果例を示している。
【０２２３】
同図において、ハッチングで示す領域が、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐおよび補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐがいずれも更新（変更）される領域を表している。なお、アイドル運転中は、カム位相ＣａｉｎがＣａｉｎ＿ｒｅｔ≦Ｃａｉｎ≦Ｃａｉｎ＿ａｄｖの範囲内に制御されるため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐおよび位相補正値Ｄｃａｉｎ＿ｃｏｍｐはいずれも変化しないので、図３６では、これらの値Ｃａｉｎ＿ｃｏｍｐ，Ｄｃａｉｎ＿ｃｏｍｐを示す曲線が省略されている。
【０２２４】
また、図３７は、比較のために、バルブリフトＬｉｆｔｉｎ（破線で示す値）が、実際のバルブリフト（２点鎖線で示す値）よりも小さい側にずれている場合において、アイドル運転中、バルブリフトＬｉｆｔｉｎを補正することなく（すなわち補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを用いることなく）、空燃比補正係数ＫＳＴＲによる空燃比のフィードバック制御を実行したときの制御結果例を示している。
【０２２５】
図３７に示すように、空燃比のフィードバック制御の開始時点において、バルブリフトＬｉｆｔｉｎが、実際のバルブリフトよりも小さい側にずれているとともに、そのずれ度合いが比較的、大きい場合、両者のずれに起因して、気筒３ａに吸入される実際の空気量が算出吸気量Ｇｃｙｌよりもかなり多くなり、混合気の実際の空燃比がリーン側にずれてしまうので、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にかなり乖離した状態になる。このような状態を補正するために、空燃比制御では、空燃比補正係数ＫＳＴＲが、上限値ＫＳＴＲｍａｘを上回るようなかなりリッチ側の値として算出されるものの、前述したリミット処理により、上限値ＫＳＴＲｍａｘに制限されてしまう。その結果、検出空燃比ＫＡＣＴは、時間が経過しても、目標空燃比ＫＣＭＤに収束せず、目標空燃比ＫＣＭＤよりもリーン側の値に保持されてしまう。
【０２２６】
一方、図３６に示すように、本実施形態の制御装置１の場合、空燃比のフィードバック制御の開始時点（時刻ｔ０）では、バルブリフトＬｉｆｔｉｎおよび補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが、実際のバルブリフト（２点鎖線で示す値）よりも小さい側にずれていることに起因して、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にかなり乖離した状態となり、空燃比指標値ＫＡＦが最大値ＫＡＦｍａｘ（＝ＫＳＴＲｍａｘ／ＫＣＭＤ）に保持されている。
【０２２７】
そして、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの算出処理が進行するのに伴って、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが実際のバルブリフトに近づくように補正される。これに並行して、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを用いた空燃比のフィードバック制御が進行するのに伴い、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤに収束するように変化し、空燃比指標値の統計処理値ＫＡＦ＿ＬＳが、上限値ＫＡＦ＿ＬＳＨを横切り、ＫＡＦ＿ＬＳＬ＜ＫＡＦ＿ＬＳ＜ＫＡＦ＿ＬＳＨの範囲内の値になる（時刻ｔ１）。それ以降、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが一定値に保持され、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが一定値に保持されるとともに、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤに収束するように制御される。以上のように、本実施形態の制御装置１によれば、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが実際値に近づくように算出されるので、そのような補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを用いながら、空燃比フィードバック制御を実行することにより、検出空燃比ＫＡＣＴを目標空燃比ＫＣＭＤに迅速に収束させることができることが判る。
【０２２８】
また、空燃比のフィードバック制御の進行に伴い、運転状態の変化に起因して、空燃比指標値ＫＡＦは振動状態で変動するものの、統計処理値ＫＡＦ＿ＬＳは、逐次型最小２乗法アルゴリズムで算出されることにより、空燃比指標値ＫＡＦの変動状態を影響を回避しながら、安定した変動状態を示す値として算出されることが判る。
【０２２９】
以上のように、本実施形態の制御装置１によれば、エンジン３のアイドル運転中、または安定した運転状態にある場合において、空燃比補正係数ＫＳＴＲによる空燃比のフィードバック制御が実行されているときに、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐがそれぞれ、空燃比指標値の統計処理値ＫＡＦ＿ＬＳに応じてバルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎを補正した値として算出される。前述した理由により、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐ（またはバルブリフトＬｉｆｔｉｎ）の実際値に対するずれ、または補正後カム位相Ｃａｉｎ＿ｃｏｍｐ（またはカム位相Ｃａｉｎ）の実際値に対するずれが発生している場合、そのようなずれに起因して、空燃比指標値ＫＡＦが値１よりも大きい値または小さい値を示す。すなわち、上記のずれは、空燃比指標値ＫＡＦに反映されるので、そのような空燃比指標値の統計処理値ＫＡＦ＿ＬＳに応じて算出した補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを用いながら、燃料噴射量ＴＯＵＴおよび点火時期Ｉｇｌｏｇが算出されることにより、上記のずれの影響を補償しながら、空燃比制御および点火時期制御を適切に実行することができる。それにより、安定した燃焼状態および良好な排ガス特性をいずれも確保することができるとともに、燃焼効率および燃費をいずれも良好な状態に維持することができる。
【０２３０】
また、一般に、空燃比制御では、エンジン３の運転状態または燃焼状態が変化すると、それに伴って、空燃比の制御状態がリーン側の方向とリッチ側の方向との間で振動的に変動し、それにより、空燃比補正係数ＫＳＴＲが振動的に変動し、空燃比指標値ＫＡＦも振動的に変動することになる。そのため、そのような空燃比指標値ＫＡＦを用いて、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出した場合、これらの算出値も振動的に変動し、空燃比制御および点火時期制御の制御精度が低下することによって、サージングおよびエンジン回転数ＮＥの変動が発生し、運転性が低下する可能性がある。これに対して、本発明では、逐次型最小２乗法アルゴリズムにより、空燃比指標値ＫＡＦに統計処理を施した統計処理値ＫＡＦ＿ＬＳを用いているので、サージングおよびエンジン回転数ＮＥの変動が発生するのを回避でき、良好な運転性を確保することができる。
【０２３１】
さらに、統計処理値ＫＡＦ＿ＬＳがＫＡＦ＿ＬＳＬ＜ＫＡＦ＿ＬＳ＜ＫＡＦ＿ＬＳＨの範囲にないときには、統計処理値ＫＡＦ＿ＬＳがこの範囲内になるように、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐおよび位相補正値Ｄｃａｉｎ＿ｃｏｍｐが更新されるとともに、統計処理値ＫＡＦ＿ＬＳが上記範囲内になったときには、２つの補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐ，Ｄｃａｉｎ＿ｃｏｍｐの更新が中止され、一定値に保持されるので、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出処理と、空燃比のフィードバック制御とが互いに干渉するのを回避することができる。それにより、空燃比制御の制御精度を向上させることができ、排ガス特性を向上させることができる。
【０２３２】
また、第１推定吸気量Ｇｃｙｌ＿ｖｔが、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて算出され、第２推定吸気量Ｇｃｙｌ＿ａｆｍが、エアフローセンサ２２により検出された空気流量Ｇｉｎに応じて算出される。そして、算出吸気量Ｇｃｙｌが、式（４）により、第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの加重平均値として算出されるとともに、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では、Ｇｃｙｌ＝Ｇｃｙｌ＿ｖｔとなり、Ｇｉｎ２≦Ｇｉｎ＿ｖｔの範囲では、Ｇｃｙｌ＝Ｇｃｙｌ＿ａｆｍとなる。
【０２３３】
空燃比制御では、燃料噴射量ＴＯＵＴが算出吸気量Ｇｃｙｌに基づいて算出されるので、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１のとき、すなわち、吸気通路１２ａ内の空気流量が小さいことで、エアフローセンサ２２の検出信号の信頼性が低く、第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性が第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性を上回るときには、信頼性がより高い方の第１推定吸気量Ｇｃｙｌ＿ｖｔに基づいて、燃料噴射量ＴＯＵＴを精度良く算出することができる。また、Ｇｉｎ２≦Ｇｉｎ＿ｖｔのとき、すなわち、吸気通路１２ａ内の空気流量が大きいことで、エアフローセンサ２２の検出信号の信頼性が高く、第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性が第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性を上回るときには、信頼性がより高い方の第２推定吸気量Ｇｃｙｌ＿ａｆｍに基づいて、燃料噴射量ＴＯＵＴを精度良く算出することができる。以上のように、第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性が第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性を上回る低負荷域、またはその逆の負荷域においても、燃料噴射量ＴＯＵＴを精度良く算出することができるので、空燃比制御の制御精度を向上させることができる。その結果、燃費および排ガス特性を向上させることができる。
【０２３４】
一方、点火時期制御では、点火時期Ｉｇｌｏｇが、算出吸気量Ｇｃｙｌと最大推定吸気量Ｇｃｙｌ＿ｍａｘとの比である正規化吸気量Ｋｇｃｙｌを用いて算出されるので、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１のとき、またはＧｉｎ２≦Ｇｉｎ＿ｖｔのとき、すなわち第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの一方の信頼性が他方を上回るような負荷域でも、より信頼性の高い方の値に基づいて、点火時期Ｉｇｌｏｇを精度良く算出することができる。これにより、点火時期制御の制御精度を向上させることができ、その結果、燃費および燃焼安定性を向上させることができる。
【０２３５】
なお、第１実施形態は、空燃比指標値ＫＡＦを逐次型最小２乗法アルゴリズムにより統計処理した統計処理値ＫＡＦ＿ＬＳに応じて、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出した例であるが、統計処理値ＫＡＦ＿ＬＳ代えて、空燃比指標値ＫＡＦに応じて、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出してもよい。さらに、統計処理値ＫＡＦ＿ＬＳに代えて、空燃比補正係数ＫＳＴＲまたは空燃比補正係数ＫＳＴＲを逐次型最小２乗法アルゴリズムにより統計処理した値に応じて、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出してもよい。
【０２３６】
また、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを、バルブリフトＬｉｆｔｉｎおよび統計処理値ＫＡＦ＿ＬＳ（または空燃比指標値ＫＡＦ）に応じて、マップ検索により算出してもよい。これと同様に、補正後カム位相Ｃａｉｎ＿ｃｏｍｐも、カム位相Ｃａｉｎおよび統計処理値ＫＡＦ＿ＬＳ（または空燃比指標値ＫＡＦ）に応じて、マップ検索により算出してもよい。
【０２３７】
さらに、統計処理値ＫＡＦ＿ＬＳを算出する統計処理アルゴリズムは、第１実施形態の固定ゲイン式の逐次型最小２乗法アルゴリズムに限らず、空燃比指標値ＫＡＦの振動的な変動の影響を回避できるような統計処理アルゴリズムであればよい。例えば、統計処理値ＫＡＦ＿ＬＳを算出する統計処理アルゴリズムとして、可変ゲイン式の逐次型最小２乗法アルゴリズムや移動平均アルゴリズムなどを用いてもよい。
【０２３８】
次に、本発明の第２実施形態に係る制御装置１Ａについて説明する。この制御装置１Ａは、前述した第１実施形態の制御装置１と比べると、一部を除いて同様に構成されているので、以下、第１実施形態の制御装置１と異なる点を中心として説明する。この制御装置１Ａは、図３８および図３９に示すように、空燃比コントローラ２００および点火時期コントローラ２３０を備えており、これらの空燃比コントローラ２００および点火時期コントローラ２３０は、具体的にはＥＣＵ２により構成されている。本実施形態では、空燃比コントローラ２００が燃料量決定手段および空燃比制御手段に相当し、点火時期コントローラ２３０が点火時期決定手段に相当する。
【０２３９】
両図に示すように、この空燃比コントローラ２００および点火時期コントローラ２３０では、補正後値算出部２１３以外の部分は、前述した空燃比コントローラ１００および点火時期コントローラ１３０と同様に構成されているので、以下、２つのコントローラ１００，１３０と同じ構成については、同じ符号を付し、その説明は省略するとともに、補正後値算出部２１３（補正手段）についてのみ説明する。
【０２４０】
この補正後値算出部２１３は、目標空燃比ＫＣＭＤおよび検出空燃比ＫＡＣＴに応じて、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを算出するものであり、図４０に示すように、空燃比偏差算出部２１４、最小２乗法フィルタ２１５、非線形処理フィルタ２１６，２１７および加算要素２１８，２１９を備えている。
【０２４１】
まず、空燃比偏差算出部２１４では、検出空燃比ＫＡＣＴから目標空燃比ＫＣＭＤを減算することにより、空燃比偏差ＥＡＦ（＝ＫＡＣＴ−ＫＣＭＤ）が算出される。本実施形態では、空燃比偏差ＥＡＦが制御状態値に相当する。
【０２４２】
次に、最小２乗法フィルタ２１５では、下式（４３），（４４）に示す固定ゲイン式の逐次型最小２乗法アルゴリズムにより、空燃比偏差の統計処理値（以下、単に「統計処理値」という）ＥＡＦ＿ＬＳが算出される。
【０２４３】
【数１０】
2006002591.tif 000012
【０２４４】
この式（４３）において、ｅ＿ｌｓ’は、式（４４）により算出される偏差であり、Ｐ＿ｌｓ’は、所定のゲイン（一定値）を表している。
【０２４５】
また、非線形処理フィルタ２１６では、上記統計処理値ＥＡＦ＿ＬＳと所定の上下限値ＥＡＦ＿ＬＳＨ，ＥＡＦ＿ＬＳＬとの比較結果に基づき、以下の式（４５）〜（４７）のいずれかにより、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが算出される。
・EAF_LS(k)≧EAF_LSHのとき
Dliftin_comp(k)＝Dliftin_comp(k-1)−Ddec                        ……（４５）
・EAF_LSL＜EAF_LS(k)＜EAF_LSHのとき
Dliftin_comp(k)＝Dliftin_comp(k-1)                              ……（４６）
・EAF_LS(k)≦EAF_LSLのとき
Dliftin_comp(k)＝Dliftin_comp(k-1)＋Dinc                        ……（４７）
【０２４６】
次いで、加算要素２１８では、下式（４８）により、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが算出される。
Liftin_comp(k)＝Liftin(k)＋Dliftin_comp(k)                      ……（４８）
【０２４７】
この補正後値算出部２１３では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよびリフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが以上のように算出される。これは以下の理由による。すなわち、前述した理由により、回動角センサ２５の検出信号に基づいて算出されたバルブリフトＬｉｆｔｉｎが、実際値に対してずれている場合において、安定した運転状態のときに、空燃比のフィードバック制御を実行すると、バルブリフトＬｉｆｔｉｎのずれに起因して、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤに収束せず、リーン側またはリッチ側にずれた状態になる。
【０２４８】
例えば、バルブリフトＬｉｆｔｉｎが実際値よりも小さい値を示している場合、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも大きい値になることで、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にずれてしまう。その結果、例えばＫＣＭＤ＝１のときには、空燃比偏差ＥＡＦ（＝ＫＡＣＴ−ＫＣＭＤ）＜０となる。これとは逆に、バルブリフトＬｉｆｔｉｎが実際値よりも大きい値を示している場合、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリッチ側にずれてしまうので、例えばＫＣＭＤ＝１のときには、ＥＡＦ＞０となる。バルブリフトＬｉｆｔｉｎの実際値に対するずれと、空燃比偏差ＥＡＦとの間には、以上のような相関関係があり、本実施形態では、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐに応じて算出した算出吸気量Ｇｃｙｌを用いて、空燃比制御が実行されるので、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの実際値に対するずれが、空燃比偏差ＥＡＦに反映される。
【０２４９】
したがって、ＥＡＦ＿ＬＳ（ｋ）≧ＥＡＦ＿ＬＳＨのときには、バルブリフトＬｉｆｔｉｎが実際値よりも大きい側にずれていることになるので、前述した式（４５）のように、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを減少させることにより、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを実際のバルブリフトに近づけることができる。一方、ＥＡＦ＿ＬＳ（ｋ）≦ＥＡＦ＿ＬＳＬのときには、バルブリフトＬｉｆｔｉｎが実際値よりも小さい側にずれていることになるので、前述した式（４７）のように、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを増大させることにより、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを実際値に近づけることができる（後述する図４１参照）。
【０２５０】
また、ＥＡＦ＿ＬＳＬ＜ＥＡＦ＿ＬＳ（ｋ）＜ＥＡＦ＿ＬＳＨのときには、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが更新されず、一定値に保持される。これは、前述したように、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの算出処理と、空燃比のフィードバック制御とが互いに干渉するのを回避するためである。また、上下限値ＥＡＦ＿ＬＳＨ，ＥＡＦ＿ＬＳＬは、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐと実際値との間のずれが小さくなっていることで、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐを一定値に保持し、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの更新を中止しても、空燃比制御の制御精度が低下しないような値（例えばＥＡＦ＿ＬＳＨ＝０．１，ＥＡＦ＿ＬＳＬ＝−０．１）に設定されている。
【０２５１】
一方、非線形処理フィルタ２１７では、上記統計処理値ＥＡＦ＿ＬＳと所定の上下限値ＥＡＦ＿ＬＳＨ，ＥＡＦ＿ＬＳＬとの比較結果に基づき、以下の式（４９）〜（５１）のいずれかにより、位相補正値Ｄｃａｉｎ＿ｃｏｍｐが算出される。
・EAF_LS(k)≧EAF_LSHのとき
Dcain_comp(k)＝Dcain_comp(k-1)＋Dcomp                           ……（４９）
・EAF_LSL＜EAF_LS(k)＜EAF_LSHのとき
Dcain_comp(k)＝Dcain_comp(k-1)                                  ……（５０）
・EAF_LS(k)≦EAF_LSLのとき
Dcain_comp(k)＝Dcain_comp(k-1)＋Dcomp'                          ……（５１）
【０２５２】
上記式（４９），（５１）における補正項Ｄｃｏｍｐ，Ｄｃｏｍｐ’は、カム位相Ｃａｉｎと、進角側および遅角側の所定値Ｃａｉｎ＿ａｄｖ，Ｃａｉｎ＿ｒｅｔとの比較結果に基づき、以下のような値に設定される。
・Ｃａｉｎ（ｋ）＞Ｃａｉｎ＿ａｄｖのとき
Ｄｃｏｍｐ＝−Ｄｒｅｔ
Ｄｃｏｍｐ’＝Ｄａｄｖ
・Ｃａｉｎ＿ｒｅｔ≦Ｃａｉｎ（ｋ）≦Ｃａｉｎ＿ａｄｖのとき
Ｄｃｏｍｐ＝０
Ｄｃｏｍｐ’＝０
・Ｃａｉｎ（ｋ）＜Ｃａｉｎ＿ｒｅｔのとき
Ｄｃｏｍｐ＝Ｄａｄｖ
Ｄｃｏｍｐ’＝−Ｄｒｅｔ
【０２５３】
次いで、加算要素２１９では、下式（５２）により、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが算出される。
Cain_comp(k)＝Cain(k)＋Dcain_comp(k)                            ……（５２）
【０２５４】
補正後値算出部２１３では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐおよび位相補正値Ｄｃａｉｎ＿ｃｏｍｐが以上のように算出される。これは以下の理由による。すなわち、前述した理由により、２つのセンサ２０，２６の検出信号に基づいて算出されたカム位相Ｃａｉｎが、実際のカム位相に対して進角側または遅角側にずれている場合、空燃比のフィードバック制御を実行すると、バルブオーバーラップの変化または吸気弁４の遅閉じによる吹き戻し量の変化に起因して、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤに収束せず、リーン側またはリッチ側にずれた状態になる。その結果、例えばＫＣＭＤ＝１のときには、ＥＡＦ＜０またはＥＡＦ＞０となる。カム位相Ｃａｉｎの実際値に対するずれと、空燃比偏差ＥＡＦとの間には、以上のような相関関係があり、本実施形態では、補正後カム位相Ｃａｉｎ＿ｃｏｍｐに応じて算出した算出吸気量Ｇｃｙｌを用いて、空燃比制御が実行されるので、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの実際値に対するずれが、空燃比指標値ＫＡＦに反映される。
【０２５５】
したがって、ＥＡＦ＿ＬＳ（ｋ）≧ＥＡＦ＿ＬＳＨの場合において、Ｃａｉｎ（ｋ）＞Ｃａｉｎ＿ａｄｖで、カム位相Ｃａｉｎが進角側領域の値であるときには、算出吸気量Ｇｃｙｌの算出に用いている補正後カム位相Ｃａｉｎ＿ｃｏｍｐが、実際値よりも進角側にずれていることにより、バルブオーバーラップの増大に起因して、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも小さい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリッチ側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより遅角側に補正する必要があるので、式（４９）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより小さな値として算出されるように、補正項Ｄｃｏｍｐが値−Ｄｒｅｔに設定される。
【０２５６】
さらに、ＥＡＦ＿ＬＳ（ｋ）≧ＥＡＦ＿ＬＳＨの場合において、Ｃａｉｎ（ｋ）＜Ｃａｉｎ＿ｒｅｔで、カム位相Ｃａｉｎが遅角側領域の値であるときには、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが実際値よりも遅角側にずれていることにより、吸気弁４の遅閉じ度合いの増大に起因して、吸気の吹き戻し量が増大し、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも小さい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリッチ側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより進角側に補正する必要があるので、式（４９）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより大きな値として算出されるように、補正項Ｄｃｏｍｐが値Ｄａｄｖに設定される。
【０２５７】
一方、ＥＡＦ＿ＬＳ（ｋ）≦ＥＡＦ＿ＬＳＬの場合において、Ｃａｉｎ（ｋ）＞Ｃａｉｎ＿ａｄｖで、カム位相Ｃａｉｎが進角側領域の値であるときには、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが実際値よりも遅角側にずれていることにより、バルブオーバーラップの減少に起因して、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも大きい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより進角側に補正する必要があるので、式（５１）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより大きな値として算出されるように、補正項Ｄｃｏｍｐ’が値Ｄａｄｖに設定される。
【０２５８】
さらに、ＥＡＦ＿ＬＳ（ｋ）≦ＥＡＦ＿ＬＳＬの場合において、Ｃａｉｎ（ｋ）＜Ｃａｉｎ＿ｒｅｔで、カム位相Ｃａｉｎが遅角側領域の値であるときには、補正後カム位相Ｃａｉｎ＿ｃｏｍｐが実際値よりも進角側にずれていることにより、吸気弁４の遅閉じ度合いの減少に起因して、吸気の吹き戻し量が減少し、実際の吸入空気量が算出吸気量Ｇｃｙｌよりも大きい値となっており、その結果、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にずれていると推定される。そのため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐをより遅角側に補正する必要があるので、式（５１）において、位相補正値Ｄｃａｉｎ＿ｃｏｍｐがより小さな値として算出されるように、補正項Ｄｃｏｍｐ’が値−Ｄｒｅｔに設定される。
【０２５９】
一方、ＥＡＦ＿ＬＳＬ＜ＥＡＦ＿ＬＳ（ｋ）＜ＥＡＦ＿ＬＳＨのとき、およびＣａｉｎ＿ｒｅｔ≦Ｃａｉｎ（ｋ）≦Ｃａｉｎ＿ａｄｖのときには、位相補正値Ｄｃａｉｎ＿ｃｏｍｐが更新されず、一定値に保持される。これは、位相補正値Ｄｃａｉｎ＿ｃｏｍｐを一定値に保持し、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの更新を停止することで、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの算出処理と、空燃比のフィードバック制御とが互いに干渉するのを回避するためである。また、上下限値ＥＡＦ＿ＬＳＨ，ＥＡＦ＿ＬＳＬ、および所定値Ｃａｉｎ＿ａｄｖ，Ｃａｉｎ＿ｒｅｔは、補正後カム位相Ｃａｉｎ＿ｃｏｍｐと実際値との間のずれが小さくなっていることで、位相補正値Ｄｃａｉｎ＿ｃｏｍｐを一定値に保持し、補正後カム位相Ｃａｉｎ＿ｃｏｍｐの更新を停止しても、空燃比制御の制御精度が低下しないような値に設定されている。
【０２６０】
次に、以上のように構成された第２実施形態の制御装置１による制御結果について説明する。図４１は、回動角センサ２５の検出信号に基づいて算出されるバルブリフトＬｉｆｔｉｎ（実線で示す値）が、実際のバルブリフト（２点鎖線で示す値）よりも小さい側にずれている場合において、アイドル運転中、空燃比補正係数ＫＳＴＲによる空燃比のフィードバック制御および補正後値算出処理を実行したときの制御結果の一例を示している。
【０２６１】
同図において、ハッチングで示す領域が、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐおよび補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐがいずれも更新される領域を表している。また、前述したように、アイドル運転中は、カム位相ＣａｉｎがＣａｉｎ＿ｒｅｔ≦Ｃａｉｎ≦Ｃａｉｎ＿ａｄｖの範囲内に制御されるため、補正後カム位相Ｃａｉｎ＿ｃｏｍｐおよび位相補正値Ｄｃａｉｎ＿ｃｏｍｐはいずれも変化しないので、図４１では、これらの値Ｃａｉｎ＿ｃｏｍｐ，Ｄｃａｉｎ＿ｃｏｍｐを示す曲線が省略されている。
【０２６２】
図４１に示すように、第２実施形態の制御装置１の場合、空燃比のフィードバック制御の開始時点（時刻ｔ１０）では、バルブリフトＬｉｆｔｉｎすなわち補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが、実際のバルブリフトよりも小さい側にずれていることに起因して、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤよりもリーン側にかなり乖離した状態となり、空燃比偏差ＥＡＦが値−１付近の値になる。そのため、空燃比補正係数ＫＳＴＲが最大値ＫＳＴＲｍａｘをかなり上回った値として算出されることで、前述したリミット処理により、最大値ＫＳＴＲｍａｘに制限されている。
【０２６３】
そして、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐの算出処理が進行するのに伴って、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐが実際のバルブリフトに近づくように補正される。これに並行して、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐを用いた空燃比のフィードバック制御が進行するのに伴い、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤ側に向かって変化し、空燃比偏差の統計処理値ＥＡＦ＿ＬＳが、下限値ＥＡＦ＿ＬＳＬを横切り、ＥＡＦ＿ＬＳＬ＜ＥＡＦ＿ＬＳ＜ＥＡＦ＿ＬＳＨの範囲内の値になる（時刻ｔ１１）。それ以降、リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐが一定値に保持され、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐも一定値に保持される。その結果、検出空燃比ＫＡＣＴは目標空燃比ＫＣＭＤよりもリーン側に若干、乖離した状態に保持されるとともに、空燃比補正係数ＫＳＴＲが最大値ＫＳＴＲｍａｘに保持される。
【０２６４】
また、空燃比のフィードバック制御の進行に伴い、空燃比偏差ＥＡＦは振動状態で変動するものの、統計処理値ＥＡＦ＿ＬＳは、逐次型最小２乗法アルゴリズムにより算出されることによって、空燃比偏差ＥＡＦの変動状態を影響を回避しながら、安定した変動状態を示す値として算出されることが判る。
【０２６５】
さらに、この第２実施形態の制御装置１の場合、空燃比偏差の統計処理値ＥＡＦ＿ＬＳが、ＥＡＦ＿ＬＳＬ＜ＥＡＦ＿ＬＳ＜ＥＡＦ＿ＬＳＨの範囲内の値になった以降、空燃比補正係数ＫＳＴＲが最大値ＫＳＴＲｍａｘに保持されてしまうので、前述した第１実施形態の制御装置１の方が、空燃比制御において、より良好な制御性および安定性を確保できることが判る。
【０２６６】
以上のように、第２実施形態の制御装置１でも、補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐがそれぞれ、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎを実際値側に補正した値として算出されるので、そのような補正後バルブリフトＬｉｆｔｉｎ＿ｃｏｍｐおよび補正後カム位相Ｃａｉｎ＿ｃｏｍｐを用いながら、空燃比フィードバック制御および点火時期制御を実行することができ、それにより、前述した第１実施形態の制御装置１と同様の作用効果を得ることができる。
【０２６７】
なお、各実施形態は、本発明の制御装置１を車両用の内燃機関３に適用した例であるが、本発明の制御装置１はこれに限らず、船舶用および発電用などの様々な用途の内燃機関に適用可能である。
【０２６８】
また、各実施形態は、可変吸気機構として、可変バルブリフト機構５０および可変カム位相機構７０を用いた例であるが、可変吸気機構はこれらに限らず、エンジン３の燃焼室内に吸入される吸入空気量を変更可能なものであればよい。例えば、可変吸気機構として、従来のようなスロットル弁機構を用いてもよく、その場合、スロットル弁の開度を動作状態パラメータとして用いればよい。
【０２６９】
さらに、各実施形態は、動作状態パラメータとして、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎを用いた例であるが、これらの一方のみを動作状態パラメータとして用いてもよい。
【図面の簡単な説明】
【０２７０】
【図１】本発明の第１実施形態に係る制御装置が適用された内燃機関の概略構成を示す模式図である。
【図２】制御装置の概略構成を示すブロック図である。
【図３】内燃機関の可変式吸気動弁機構および排気動弁機構の概略構成を示す断面図である。
【図４】可変式吸気動弁機構の可変バルブリフト機構の概略構成を示す断面図である。
【図５】（ａ）リフトアクチュエータの短アームが最大リフト位置にある状態と（ｂ）最小リフト位置にある状態を示す図である。
【図６】（ａ）可変バルブリフト機構の下リンクが最大リフト位置にあるときの吸気弁の開弁状態と（ｂ）最小リフト位置にあるときの吸気弁の開弁状態を示す図である。
【図７】可変バルブリフト機構の下リンクが最大リフト位置にあるときの吸気弁のバルブリフト曲線（実線）と、最小リフト位置にあるときのバルブリフト曲線（２点鎖線）をそれぞれ示す図である。
【図８】可変カム位相機構の概略構成を模式的に示す図である。
【図９】可変カム位相機構により、カム位相が最遅角値に設定されているときの吸気弁４のバルブリフト曲線（実線）と、カム位相が最進角値に設定されているときの吸気弁４のバルブリフト曲線（２点鎖線）をそれぞれ示す図である。
【図１０】空燃比コントローラの概略構成を示すブロック図である。
【図１１】基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの算出に用いるマップの一例を示す図である。
【図１２】補正係数Ｋ＿ｇｃｙｌ＿ｖｔの算出に用いるマップの一例を示す図である。
【図１３】移行係数Ｋｇの算出に用いるテーブルの一例を示す図である。
【図１４】目標空燃比ＫＣＭＤの算出に用いるマップの一例を示す図である。
【図１５】補正後値算出部の構成を示すブロック図である。
【図１６】点火時期コントローラの概略構成を示すブロック図である。
【図１７】最大推定吸気量Ｇｃｙｌ＿ｍａｘの算出に用いるテーブルの一例を示す図である。
【図１８】補正係数Ｋ＿ｇｃｙｌ＿ｍａｘの算出に用いるマップの一例を示す図である。
【図１９】Ｃａｉｎ＿ｃｏｍｐ＝Ｃａｉｎｒｔ用の基本点火時期マップの一例を示す図である。
【図２０】Ｃａｉｎ＿ｃｏｍｐ＝Ｃａｉｎａｄ用の基本点火時期マップの一例を示す図である。
【図２１】空燃比補正係数ＫＳＴＲの算出処理を示すフローチャートである。
【図２２】空燃比制御処理を示すフローチャートである。
【図２３】基本燃料噴射量Ｔｃｙｌ＿ｂｓの算出処理を示すフローチャートである。
【図２４】点火時期制御処理を示すフローチャートである。
【図２５】通常点火時期制御処理を示すフローチャートである。
【図２６】補正後値算出処理を示すフローチャートである。
【図２７】リフト補正値Ｄｌｉｆｔｉｎ＿ｃｏｍｐの算出処理を示すフローチャートである。
【図２８】位相補正値Ｄｃａｉｎ＿ｃｏｍｐの算出処理を示すフローチャートである。
【図２９】可変機構制御処理を示すフローチャートである。
【図３０】エンジン始動中、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄの算出に用いるテーブルの一例を示す図である。
【図３１】エンジン始動中、目標カム位相Ｃａｉｎ＿ｃｍｄの算出に用いるテーブルの一例を示す図である。
【図３２】触媒暖機制御中、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３３】触媒暖機制御中、目標カム位相Ｃａｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３４】通常運転中、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３５】通常運転中、目標カム位相Ｃａｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３６】第１実施形態の制御装置による空燃比の制御結果の一例を示すタイミングチャートである。
【図３７】比較例の空燃比の制御結果を示すタイミングチャートである。
【図３８】第２実施形態の制御装置の空燃比コントローラの概略構成を示すブロック図である。
【図３９】第２実施形態の制御装置の点火時期コントローラの概略構成を示すブロック図である。
【図４０】第２実施形態の補正後値算出部の構成を示すブロック図である。
【図４１】第２実施形態の制御装置による空燃比の制御結果の一例を示すタイミングチャートである。
【符号の説明】
【０２７１】
１，１Ａ  制御装置
２  ＥＣＵ（動作状態パラメータ検出手段、空燃比パラメータ検出手段、目標空燃          比算出手段、空燃比制御パラメータ算出手段、補正手段、燃料量決定手段、負          荷パラメータ検出手段、空燃比制御手段、点火時期決定手段）
３  内燃機関
３ａ  気筒
１２ａ  吸気通路
１３ａ  排気通路
２０  クランク角センサ（動作状態パラメータ検出手段、負荷パラメータ検出手段）
２２  エアフローセンサ（空気流量検出手段）
２４  ＬＡＦセンサ（空燃比パラメータ検出手段）
２５  回動角センサ（動作状態パラメータ検出手段、負荷パラメータ検出手段）
２６  カム角センサ（動作状態パラメータ検出手段、負荷パラメータ検出手段）
５０  可変バルブリフト機構（可変吸気機構）
７０  可変カム位相機構（可変吸気機構）
１００  空燃比コントローラ（燃料量決定手段、空燃比制御手段）
１０８  目標空燃比算出部（目標空燃比算出手段）
１０９  空燃比補正係数算出部（空燃比制御パラメータ算出手段）
１１３  補正後値算出部（補正手段）
１３０  点火時期コントローラ（点火時期決定手段）
２００  空燃比コントローラ（燃料量決定手段、空燃比制御手段）
２１３  補正後値算出部（補正手段）
２３０  点火時期コントローラ（点火時期決定手段）
Ｌｉｆｔｉｎ  バルブリフト（動作状態パラメータ、負荷パラメータ）
Ｌｉｆｔｉｎ＿ｃｏｍｐ  補正後バルブリフト（補正された動作状態パラメータ）
Ｄｌｉｆｔｉｎ＿ｃｏｍｐ  リフト補正値（動作状態パラメータの補正量）
Ｃａｉｎ  カム位相（動作状態パラメータ、負荷パラメータ）
Ｃａｉｎ＿ｃｏｍｐ  補正後カム位相（補正された動作状態パラメータ）
Ｄｃａｉｎ＿ｃｏｍｐ  位相補正値（動作状態パラメータの補正量）
ＫＡＣＴ  検出空燃比（空燃比パラメータ）
ＫＣＭＤ  目標空燃比
ＫＳＴＲ  空燃比補正係数（空燃比制御パラメータ、空燃比の制御状態                          ）
ＫＡＦ  空燃比指標値（制御状態値、空燃比の制御状態）
ＫＡＦ＿ＬＳ  統計処理値
ＥＡＦ  空燃比偏差（制御状態値）
ＥＡＦ＿ＬＳ  統計処理値
ＮＥ  機関回転数（負荷パラメータ）
Ｇｉｎ  空気の流量
ＴＯＵＴ  燃料噴射量（燃料量）
Ｉｇｌｏｇ  点火時期
【図１】
2006002591.tif 000013
【図２】
2006002591.tif 000014
【図３】
2006002591.tif 000015
【図４】
2006002591.tif 000016
【図５】
2006002591.tif 000017
【図６】
2006002591.tif 000018
【図７】
2006002591.tif 000019
【図８】
2006002591.tif 000020
【図９】
2006002591.tif 000021
【図１０】
2006002591.tif 000022
【図１１】
2006002591.tif 000023
【図１２】
2006002591.tif 000024
【図１３】
2006002591.tif 000025
【図１４】
2006002591.tif 000026
【図１５】
2006002591.tif 000027
【図１６】
2006002591.tif 000028
【図１７】
2006002591.tif 000029
【図１８】
2006002591.tif 000030
【図１９】
2006002591.tif 000031
【図２０】
2006002591.tif 000032
【図２１】
2006002591.tif 000033
【図２２】
2006002591.tif 000034
【図２３】
2006002591.tif 000035
【図２４】
2006002591.tif 000036
【図２５】
2006002591.tif 000037
【図２６】
2006002591.tif 000038
【図２７】
2006002591.tif 000039
【図２８】
2006002591.tif 000040
【図２９】
2006002591.tif 000041
【図３０】
2006002591.tif 000042
【図３１】
2006002591.tif 000043
【図３２】
2006002591.tif 000044
【図３３】
2006002591.tif 000045
【図３４】
2006002591.tif 000046
【図３５】
2006002591.tif 000047
【図３６】
2006002591.tif 000048
【図３７】
2006002591.tif 000049
【図３８】
2006002591.tif 000050
【図３９】
2006002591.tif 000051
【図４０】
2006002591.tif 000052
【図４１】
2006002591.tif 000053