(57)【特許請求の範囲】
【請求項１】
参照入力を算出する参照入力算出手段と、
当該参照入力を制限するための制限値を算出する制限値算出手段と、
当該算出された制限値を、ΔΣ変調アルゴリズムおよびΣΔ変調アルゴリズムの一方の変調アルゴリズムに入力することにより、当該一方の変調アルゴリズムからの出力である変調出力を算出する変調出力算出手段と、
当該算出された変調出力に応じて、むだ時間および応答遅れ特性の少なくとも一方を有する制御対象への制御入力を算出する制御入力算出手段と、
前記制御対象の出力を検出する検出手段と、
を備え、
前記制限値算出手段は、前記制限値を、前記参照入力の絶対値が前記変調出力の絶対値よりも大きいときには、前記参照入力と正負が同じでかつ前記変調出力と絶対値が等しい値に設定するとともに、前記参照入力の絶対値が前記変調出力の絶対値以下のときには、前記参照入力と等しい値に設定し、
前記参照入力算出手段は、所定の予測アルゴリズムにより、前記検出された制御対象の出力と所定の目標値との偏差である出力偏差の予測値を算出するとともに、値−１と当該算出した出力偏差の予測値の正負に応じた互いに異なる所定の値とを、当該出力偏差の予測値に乗算することにより、前記参照入力を算出し、
前記制御入力算出手段は、前記制御入力を、前記変調出力に応じて、前記検出された制御対象の出力を前記目標値に収束させるような値に設定することを特徴とする制御装置。
【請求項２】
内燃機関の排気通路を流れる排気ガスの空燃比を表す検出信号を出力する空燃比センサと、
当該空燃比センサの出力と所定の目標値との偏差である出力偏差に基づいて、参照入力を算出する参照入力算出手段と、
当該参照入力を制限するための制限値を算出する制限値算出手段と、
当該算出された制限値を、ΔΣ変調アルゴリズムおよびΣΔ変調アルゴリズムの一方の変調アルゴリズムに入力することにより、当該一方の変調アルゴリズムからの出力である変調出力を算出する変調出力算出手段と、
当該算出された変調出力に応じて、前記空燃比センサの出力を前記目標値に収束させるように、前記内燃機関に供給される混合気の空燃比を制御する空燃比制御手段と、
を備え、
前記制限値算出手段は、前記制限値を、前記参照入力の絶対値が前記変調出力の絶対値よりも大きいときには、前記参照入力と正負が同じでかつ前記変調出力と絶対値が等しい値に設定するとともに、前記参照入力の絶対値が前記変調出力の絶対値以下のときには、前記参照入力と等しい値に設定し、
前記排気通路には、触媒装置が設けられており、
前記参照入力算出手段は、所定の予測アルゴリズムにより、前記出力偏差に基づいて、当該出力偏差の予測値を算出するとともに、値−１と当該算出した出力偏差の予測値の正負に応じた互いに異なる所定の値とを、当該出力偏差の予測値に乗算することにより、前記参照入力を算出することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ΔΣ変調アルゴリズムまたはΣΔ変調アルゴリズムを用いることにより、制御対象を制御する制御装置に関する。
【背景技術】
【０００２】
従来、この種の制御装置として、例えば特許文献１に記載されたものが知られている。この制御装置は、制御対象の出力を検出し、その検出結果をアナログ量の検出信号として出力する検出手段と、上位装置から入力されるアナログ量の目標値と検出信号との偏差である参照入力を演算する参照入力演算手段と、演算された参照入力をΔΣ変調アルゴリズムに基づいて１ビットデジタル信号に変換する変換手段と、変換手段からの１ビットデジタル信号を補償し、制御対象への制御入力として出力する補償手段とを備えている（同公報の図６参照）。
【０００３】
この制御装置では、参照入力演算手段により、目標値と検出信号との偏差である参照入力（アナログ量）が演算され、この参照入力は、変換手段によって１ビットデジタル信号に変換され、さらに補償手段により補償された後、制御入力として制御対象に入力される。以上の構成により、目標値と制御対象の出力との偏差である参照入力を打ち消すように、参照入力と逆位相の制御入力が生成され、制御対象に入力される。その結果、制御対象の出力が目標値に収束するようにフィードバック制御される。
【０００４】
また、ΔΣ変調アルゴリズムでは、当該ΔΣ変調アルゴリズムに入力された参照入力と当該ΔΣ変調アルゴリズムから出力された変調出力との偏差である入力偏差が、積分され、その入力偏差の積分値を量子化した値が変調出力として出力される。具体的には、変調出力は、入力偏差の積分値が値０以上のときには値１、値０未満のときには値−１としてそれぞれ算出される。
【０００５】
【特許文献１】特開２００１−１５４７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来の制御装置によれば、制御対象の特性によっては、変換手段に入力される参照入力の絶対値が、変調出力の絶対値よりも大きくなることがあり、その場合には、上記ΔΣ変調アルゴリズムでの入力偏差の積分値の絶対値が増大化する。このように入力偏差の積分値の絶対値が増大化した場合、参照入力の符号（正負）の反転に伴って入力偏差の符号が反転しても、増大化した積分値の絶対値が減少するまでの間、変調出力の符号が反転することなく維持されてしまう。すなわち、参照入力の符号反転と変調出力の符号反転との間でのむだ時間が生じるため、制御対象の出力の目標値への収束性が低下し、制御性の低下を招いてしまう。また、ΔΣ変調アルゴリズムに代えて、ΣΔ変調アルゴリズムを用いた場合にも、参照入力の絶対値が変調出力の絶対値よりも大きくなると、参照入力の積分値の絶対値が変調出力の積分値の絶対値を上回るようになることで、参照入力の積分値と変調出力の積分値との偏差の絶対値が増大するため、参照入力の符号が反転しても、参照入力の積分値の絶対値が変調出力の積分値の絶対値よりも小さくなるまでの間、偏差の符号すなわち変調出力の符号が反転することなく維持されてしまう。その結果、上記と同様の問題が生じる。
【０００７】
本発明は、上記課題を解決するためになされたもので、ΔΣ変調アルゴリズムおよびΣΔ変調アルゴリズムの一方を用いることにより制御対象を制御する場合において、一方の変調アルゴリズムの入出力間での符号反転の際のむだ時間を低減することができ、それにより、制御対象の出力の目標値への収束性を向上させることができ、制御性を向上させることができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１に係る制御装置１は、参照入力ｒ（ｋ），ＤＳＭＶＯ２を算出する参照入力算出手段（ＥＣＵ２、ステップ２２，３３〜３６）と、参照入力を制限するための制限値ｒｌ（ｋ），ＤＳＭＶＯ２Ｌを算出する制限値算出手段（ＥＣＵ２、リミッタ２４ｂ，２９ｂ、ステップ３７〜４１）と、算出された制限値を、ΔΣ変調アルゴリズムおよびΣΔ変調アルゴリズムの一方の変調アルゴリズムに入力することにより、一方の変調アルゴリズムからの出力である変調出力（ＤＳＭ出力ｕ(ｋ)，ＤＳＭＳＧＮＳ（ｋ）、ＳＤＭ出力ｕ'(ｋ)）を算出する変調出力算出手段（ＥＣＵ２、ＤＳＭコントローラ２４、ＳＤＭコントローラ２９、ステップ４２〜４６）と、算出された変調出力に応じて、むだ時間および応答遅れ特性の少なくとも一方を有する制御対象への制御入力（目標空燃比ＫＣＭＤ）を算出する制御入力算出手段（ＥＣＵ２、ステップ６，２５，２６）と、制御対象の出力を検出する検出手段（酸素濃度センサ１５）と、を備え、制限値算出手段は、制限値を、参照入力の絶対値が変調出力の絶対値よりも大きいときには、参照入力と正負が同じでかつ変調出力と絶対値が等しい値に設定する（ステップ３８，４０）とともに、参照入力の絶対値が変調出力の絶対値以下のときには、参照入力と等しい値に設定し（ステップ４１）、参照入力算出手段は、所定の予測アルゴリズム（式（７））により、検出された制御対象の出力（酸素濃度センサ１５の出力Ｖｏｕｔ）と所定の目標値Ｖｏｐとの偏差である出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を算出するとともに、値−１と算出した出力偏差の予測値ＰＲＥＶＯ２の正負に応じた互いに異なる所定の値（非線形ゲインＧd，ＫＲＤＳＭ）とを、出力偏差の予測値ＰＲＥＶＯ２に乗算することにより、参照入力を算出し（ステップ２２，３３〜３６）、制御入力算出手段は、制御入力（目標空燃比ＫＣＭＤ）を、変調出力（ＤＳＭ出力ｕ（ｋ），ＤＳＭＳＧＮＳ（ｋ））に応じて、検出された制御対象の出力を所定の目標値に収束させるような値に設定する（ステップ６，２６）ことを特徴とする。
【０００９】
この制御装置によれば、参照入力を制限するための制限値が、ΔΣ変調アルゴリズムおよびΣΔ変調アルゴリズムの一方の変調アルゴリズムに入力されることにより、一方の変調アルゴリズムからの出力である変調出力が算出され、この変調出力に応じて、むだ時間および応答遅れ特性の少なくとも一方を有する制御対象への制御入力が算出される。また、制限値は、参照入力の絶対値が変調出力の絶対値よりも大きいときには、参照入力と正負が同じでかつ変調出力と絶対値が等しい値に設定されるとともに、参照入力の絶対値が変調出力の絶対値以下のときには、参照入力と等しい値に設定される。このように、制限値が、その絶対値が変調出力の絶対値以下の値になるように算出されるので、従来と異なり、ΔΣ変調アルゴリズムにおいて、これに入力された制限値と変調出力との偏差の積分値の絶対値が増大化するのを回避でき、それにより、制限値と変調出力との偏差の符号が反転した際、変調出力の符号を迅速に反転させることができ、ΔΣ変調アルゴリズムにおける入出力間での符号反転の際のむだ時間の発生を防止することができる。その結果、例えば、制御入力をむだ時間や応答遅れの大きい特性を有する制御対象に入力することで、参照入力を制御対象の出力として再現させる場合でも、参照入力と制御対象の出力との間の誤差を低減することができ、制御性を向上させることができる。また、制限値がΣΔ変調アルゴリズムに入力される場合でも、制限値が、その絶対値が変調出力の絶対値以下の値になるように算出されるので、従来と異なり、ΣΔ変調アルゴリズムにおいて、制限値の積分値と変調出力の積分値との偏差の絶対値が増大することがなくなることで、制限値の積分値と変調出力の積分値との偏差の符号が反転した際、変調出力の符号を迅速に反転させることができ、ΣΔ変調アルゴリズムにおける入出力間での符号反転の際のむだ時間の発生を防止することができる。その結果、上記ΔΣ変調アルゴリズムの場合と同様の作用効果を得ることができる。また、この制御装置によれば、所定の予測アルゴリズムにより、検出された制御対象の出力と所定の目標値との偏差である出力偏差の予測値が算出されるとともに、値−１と算出した出力偏差の予測値の正負に応じた互いに異なる所定の値とを、出力偏差の予測値に乗算することにより、参照入力が算出され、制御対象への制御入力が、変調出力に応じて、検出された制御対象の出力を所定の目標値に収束させるような値に設定される。上述したように、ΔΣ変調アルゴリズムにおける入出力間での符号反転の際のむだ時間の発生が防止されるので、参照入力すなわち制御対象の出力と所定の目標値との出力偏差を、制御入力すなわち制御対象の出力に迅速に反映させることができ、その結果、制御対象の出力の目標値への収束性を向上させることができる。さらに、参照入力が、値−１と算出した出力偏差の予測値の正負に応じた互いに異なる所定の値とを、出力偏差の予測値に乗算することにより算出されるので、制御対象の出力の目標値への収束速度を、参照入力すなわち制御対象の出力と所定の目標値との偏差の予測値の正負に応じて、異なる速度に設定することができ、制御の汎用性を向上させることができる（なお、本明細書における、「参照入力の算出」および「制御入力の算出」などの「算出」は、プログラムにより演算することに限らず、ハードウエアによりそれらを表す電気信号を生成することを含む）。
【００１８】
請求項２に係る制御装置１は、内燃機関３の排気通路（排気管７）を流れる排気ガスの空燃比を表す検出信号を出力する空燃比センサ（酸素濃度センサ１５）と、空燃比センサの出力Ｖｏｕｔと所定の目標値Ｖｏｐとの偏差である出力偏差（予測値ＰＲＥＶＯ２）に基づいて、参照入力ｒ（ｋ），ＤＳＭＶＯ２を算出する参照入力算出手段（ＥＣＵ２、ステップ２２，３３〜３６）と、参照入力を制限するための制限値ｒｌ（ｋ），ＤＳＭＶＯ２Ｌを算出する制限値算出手段（ＥＣＵ２、リミッタ２４ｂ，２９ｂ、ステップ３７〜４１）と、算出された制限値を、ΔΣ変調アルゴリズムおよびΣΔ変調アルゴリズムの一方の変調アルゴリズムに入力することにより、一方の変調アルゴリズムからの出力である変調出力（ＤＳＭ出力ｕ(ｋ)，ＤＳＭＳＧＮＳ（ｋ）、ＳＤＭ出力ｕ'(ｋ)）を算出する変調出力算出手段（ＥＣＵ２、ＤＳＭコントローラ２４、ＳＤＭコントローラ２９、ステップ４２〜４６）と、算出された変調出力に応じて、空燃比センサの出力を目標値に収束させるように、内燃機関に供給される混合気の空燃比を制御する空燃比制御手段（ＥＣＵ２、ステップ１〜１３，２５，２６）と、を備え、制限値算出手段は、制限値を、参照入力の絶対値が変調出力の絶対値よりも大きいときには、参照入力と正負が同じでかつ変調出力と絶対値が等しい値に設定する（ステップ３８，４０）とともに、参照入力の絶対値が変調出力の絶対値以下のときには、参照入力と等しい値に設定し（ステップ４１）、排気通路には、触媒装置（第１および第２触媒装置８ａ，８ｂ）が設けられており、参照入力算出手段は、所定の予測アルゴリズム（式（７））により、出力偏差ＶＯ２に基づいて、出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を算出するとともに、値−１と算出した出力偏差ＶＯ２の予測値ＰＲＥＶＯ２の正負に応じた互いに異なる所定の値（非線形ゲインＧd，ＫＲＤＳＭ）とを、出力偏差ＶＯ２の予測値ＰＲＥＶＯ２に乗算することにより、参照入力ｒ（ｋ），ＤＳＭＶＯ２を算出する（ステップ３６）ことを特徴とする。
【００１９】
この制御装置によれば、参照入力が、空燃比センサの出力と所定の目標値との偏差に基づいて算出され、その制限値が、ΔΣ変調アルゴリズムおよびΣΔ変調アルゴリズムの一方の変調アルゴリズムに入力されることにより、一方の変調アルゴリズムからの出力である変調出力が算出され、この変調出力に応じて、空燃比センサの出力を目標値に収束させるように、内燃機関に供給される混合気の空燃比が制御される。この制限値は、参照入力の絶対値が変調出力の絶対値よりも大きいときには、参照入力と正負が同じでかつ変調出力と絶対値が等しい値に設定されるとともに、変調出力の絶対値以下のときには、参照入力と等しい値に設定される。このように、参照入力の制限値すなわちΔΣ変調アルゴリズムへの入力が、その絶対値が変調出力の絶対値以下の値になるように算出されるので、従来と異なり、ΔΣ変調アルゴリズムにおいて、これに入力された制限値と変調出力との偏差の積分値の絶対値が増大化するのを回避でき、それにより、制限値と変調出力との偏差の符号が反転した際、変調出力の符号を迅速に反転させることができ、ΔΣ変調アルゴリズムにおける入出力間でのむだ時間の発生を防止することができる。その結果、内燃機関の混合気を制御する制御系、すなわちむだ時間や応答遅れの大きい特性を有する制御系において、参照入力すなわち空燃比センサの出力と所定の目標値との偏差を、制御対象からの出力としての空燃比センサの出力に迅速に反映させることができ、空燃比センサの出力の目標値への収束性を向上させることができる。その結果、空燃比制御の制御性を向上させることができる。
【００２０】
また、参照入力の制限値がΣΔ変調アルゴリズムに入力される場合でも、参照入力の制限値が、その絶対値が変調出力の絶対値以下の値になるように算出されるので、従来と異なり、ΣΔ変調アルゴリズムにおいて、制限値の積分値と変調出力の積分値との偏差の絶対値が増大することがなくなることで、制限値の積分値と変調出力の積分値との偏差の符号が反転した際、変調出力の符号を迅速に反転させることができ、ΣΔ変調アルゴリズムにおける入出力間での符号反転の際のむだ時間の発生を防止することができる。その結果、内燃機関の混合気を制御する制御系において、上記ΔΣ変調アルゴリズムの場合と同様の作用効果を得ることができる。
【００２１】
さらに、所定の予測アルゴリズムにより、出力偏差に基づいて、出力偏差の予測値が算出されるとともに、値−１と算出した出力偏差の予測値の正負に応じた互いに異なる所定の値とを、出力偏差の予測値に乗算することにより、参照入力が算出されるので、空燃比センサの出力の目標値への収束速度を、参照入力すなわち空燃比センサの出力と目標値との出力偏差の予測値の正負に応じて、異なる速度に設定することができる。すなわち、空燃比センサの出力が目標値から外れた際、排気ガスの空燃比をよりリッチ側またはリーン側に変化させるときの変化速度を変えることができる。したがって、例えば、触媒装置に供給される排気ガスがリッチ側にあるときには、触媒装置に供給される排気ガスを、リーン側に緩やかに変化させることにより、触媒装置の上流側端部がリーン化されることに起因してＮＯｘ浄化率が低下するのを防止できる。また、例えば、これとは逆に、触媒装置に供給される排気ガスがリーン側にあるときには、空燃比センサの出力を、リッチ側に迅速に変化させることにより、触媒装置全体が酸素過剰状態になるのを回避でき、触媒装置によるＮＯｘ浄化能力を迅速に回復させることができる。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照しながら、本発明の第１実施形態に係る制御装置について説明する。本実施形態の制御装置は、内燃機関の空燃比を制御するものとして構成した例であり、図１は、この制御装置１およびこれを適用した内燃機関３の概略構成を示している。同図に示すように、この制御装置１は、ＥＣＵ２を備えており、このＥＣＵ２は、後述するように、内燃機関（以下「エンジン」という）３の運転状態に応じて、これに供給される混合気の空燃比を制御する。
【００２８】
このエンジン３は、図示しない車両に搭載された直列４気筒型ガソリンエンジンであり、第１〜第４の４つの気筒＃１〜＃４を備えている。このエンジン３の吸気管４のスロットル弁５の近傍には、例えばポテンショメータなどで構成されたスロットル弁開度センサ１０が設けられている。このスロットル弁開度センサ１０は、スロットル弁５の開度（以下「スロットル弁開度」という）θＴＨを検出して、その検出信号をＥＣＵ２に送る。
【００２９】
さらに、吸気管４のスロットル弁５よりも下流側には、吸気管内絶対圧センサ１１が設けられている。この吸気管内絶対圧センサ１１は、例えば半導体圧力センサなどで構成され、吸気管４内の吸気管内絶対圧ＰＢＡを検出し、その検出信号をＥＣＵ２に出力する。
【００３０】
また、吸気管４は、インテークマニホールド４ａの４つの分岐部４ｂを介して４つの気筒＃１〜＃４にそれぞれ接続されている。各分岐部４ｂには、各気筒の図示しない吸気ポートの上流側に、インジェクタ６が取り付けられている。各インジェクタ６は、エンジン３の運転時に、ＥＣＵ２からの駆動信号によって、その開弁時間である最終燃料噴射量ＴＯＵＴおよび噴射タイミングが制御される。
【００３１】
一方、エンジン３の本体には、例えばサーミスタなどで構成された水温センサ１２が取り付けられている。水温センサ１２は、エンジン３のシリンダブロック内を循環する冷却水の温度であるエンジン水温ＴＷを検出し、その検出信号をＥＣＵ２に出力する。
【００３２】
また、エンジン３のクランクシャフト（図示せず）には、クランク角センサ１３が設けられている。このクランク角センサ１３は、クランクシャフトの回転に伴い、いずれもパルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２に出力する。
【００３３】
ＣＲＫ信号は、所定のクランク角（例えば３０゜）ごとに１パルスが出力される。ＥＣＵ２は、このＣＲＫ信号に応じ、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＴＤＣ信号は、各気筒のピストン（図示せず）が吸気行程のＴＤＣ位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角ごとに１パルスが出力される。
【００３４】
一方、排気管７（排気通路）のエキゾーストマニホールド７ａよりも下流側には、上流側から順に第１触媒装置８ａおよび第２触媒装置８ｂが間隔を存して設けられている。両触媒装置８ａ，８ｂ（触媒装置）はいずれも、ＮＯｘ触媒と３元触媒を組み合わせたものであり、ＮＯｘ触媒による酸化還元作用により、リーンバーン運転時の排気ガス中のＮＯｘを浄化するとともに、３元触媒の酸化還元作用により、リーンバーン運転以外の運転時の排気ガス中のＣＯ、ＨＣおよびＮＯｘを浄化する。
【００３５】
これらの第１および第２触媒装置８ａ，８ｂの間には、酸素濃度センサ（以下「Ｏ２センサ」という）１５が取り付けられている。このＯ２センサ１５（検出手段、空燃比センサ）は、ジルコニアおよび白金電極などで構成され、第１触媒装置８ａの下流側の排気ガス中の酸素濃度に基づく出力ＶｏｕｔをＥＣＵ２に送る。このＯ２センサ１５の出力Ｖｏｕｔ（制御対象の出力）は、理論空燃比よりもリッチな混合気が燃焼したときには、ハイレベルの電圧値（例えば０．８Ｖ）となり、混合気がリーンのときには、ローレベルの電圧値（例えば０．２Ｖ）となるとともに、混合気が理論空燃比付近のときには、ハイレベルとローレベルの間の所定の目標値Ｖｏｐ（例えば０．６Ｖ）となる（図２参照）。
【００３６】
また、第１触媒装置８ａよりも上流側のエキゾーストマニホールド７ａの集合部付近には、ＬＡＦセンサ１４（上流側空燃比センサ）が取り付けられている。このＬＡＦセンサ１４は、Ｏ２センサ１５と同様のセンサとリニアライザなどの検出回路とを組み合わせることによって構成されており、リッチ領域からリーン領域までの広範囲な空燃比の領域において排気ガス中の酸素濃度をリニアに検出し、その酸素濃度に比例する出力ＫＡＣＴをＥＣＵ２に送る。この出力ＫＡＣＴは、空燃比の逆数に比例する当量比として表される。
【００３７】
次に、図２を参照しながら、第１触媒装置８ａの排気ガスの浄化率とＯ２センサ１５の出力Ｖｏｕｔ（電圧値）との関係について説明する。同図は、第１触媒装置８ａが、長時間の使用により浄化能力が低下した劣化状態と、浄化能力の高い未劣化状態の場合において、ＬＡＦセンサ１４の出力ＫＡＣＴすなわちエンジン３に供給される混合気の空燃比が理論空燃比の付近で変化したときの、２つの第１触媒装置８ａのＨＣおよびＮＯｘの浄化率と、Ｏ２センサ１５の出力Ｖｏｕｔをそれぞれ測定した結果の一例を示している。同図において、破線で示すデータはいずれも、第１触媒装置８ａが未劣化状態の場合の測定結果であり、実線で示すデータはいずれも、第１触媒装置８ａが劣化状態の場合の測定結果である。また、ＬＡＦセンサ１４の出力ＫＡＣＴが大きいほど、混合気の空燃比がよりリッチ側であることを示している。
【００３８】
同図に示すように、第１触媒装置８ａが劣化している場合には、未劣化状態の場合と比べて、排気ガスの浄化能力が低下していることにより、ＬＡＦセンサ１４の出力ＫＡＣＴがよりリーン側の値ＫＡＣＴ１のときに、Ｏ２センサ１５の出力Ｖｏｕｔが目標値Ｖｏｐを横切っている。一方、第１触媒装置８ａは、その劣化・未劣化状態にかかわらず、Ｏ２センサ１５の出力Ｖｏｕｔが目標値Ｖｏｐにあるときに、ＨＣおよびＮＯｘを最も効率よく浄化する特性を有している。したがって、Ｏ２センサ１５の出力Ｖｏｕｔが目標値Ｖｏｐになるように、混合気の空燃比を制御することにより、第１触媒装置８ａによって排気ガスを最も効率よく浄化できることが分かる。このため、後述する空燃比制御では、Ｏ２センサ１５の出力Ｖｏｕｔが目標値Ｖｏｐに収束するように、目標空燃比ＫＣＭＤが制御される。
【００３９】
さらに、ＥＣＵ２には、アクセル開度センサ１６、大気圧センサ１７、吸気温センサ１８および車速センサ１９などが接続されている。このアクセル開度センサ１６は、車両の図示しないアクセルペダルの踏み込み量（以下「アクセル開度」という）ＡＰを検出し、その検出信号をＥＣＵ２に出力する。また、大気圧センサ１７、吸気温センサ１８および車速センサ１９はそれぞれ、大気圧ＰＡ、吸気温ＴＡおよび車速ＶＰを検出し、その検出信号をＥＣＵ２に出力する。
【００４０】
このＥＣＵ２は、Ｉ／Ｏインターフェース、ＣＰＵ、ＲＡＭおよびＲＯＭなどからなるマイクロコンピュータから構成されており、前述した各種のセンサ１０〜１９の出力に応じて、エンジン３の運転状態を判別するとともに、ＲＯＭに予め記憶された制御プログラムやＲＡＭに記憶されたデータなどに従って、後述する適応空燃比制御処理またはマップ検索処理を実行することにより、目標空燃比ＫＣＭＤ（制御入力）を算出する。さらに、後述するように、この目標空燃比ＫＣＭＤに基づいて、インジェクタ６の最終燃料噴射量ＴＯＵＴを気筒ごとに算出し、この算出した最終燃料噴射量ＴＯＵＴに基づいた駆動信号で、インジェクタ６を駆動することにより、混合気の空燃比を制御する。なお、本実施形態では、ＥＣＵ２により、参照入力算出手段、制限値算出手段、変調出力算出手段、制御入力算出手段、制限手段および空燃比制御手段が構成されている。
【００４１】
図３に示すように、制御装置１は、目標空燃比ＫＣＭＤを算出するＡＤＳＭコントローラ２０およびＰＲＩＳＭコントローラ２１を備えており、両コントローラ２０，２１はいずれも、具体的には、ＥＣＵ２により構成されている。
【００４２】
以下、ＡＤＳＭコントローラ２０について説明する。このＡＤＳＭコントローラ２０は、適応予測型ΔΣ変調制御（Adaptive prediction Delta Sigma Modulation Control：以下「ＡＤＳＭ」という）処理の制御アルゴリズムにより、Ｏ２センサ１５の出力Ｖｏｕｔを目標値Ｖｏｐに収束させるための目標空燃比ＫＣＭＤを算出するものであり、状態予測器２２、オンボード同定器２３およびＤＳＭコントローラ２４により構成されている。
【００４３】
まず、状態予測器２２について説明する。この状態予測器２２は、以下に述べる予測アルゴリズムにより、出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を算出するものである。本実施形態では、制御対象への制御入力を混合気の目標空燃比ＫＣＭＤとし、制御対象の出力をＯ２センサ１５の出力Ｖｏｕｔとし、インジェクタ６を含むエンジン３の吸気系から、第１触媒装置８ａを含む排気系の第１触媒装置８ａの下流側のＯ２センサ１５までの系を、制御対象と見なすとともに、この制御対象を、下式（１）に示すように、離散時間系モデルであるＡＲＸモデル（auto-regressive model with exogeneous input:外部入力を持つ自己回帰モデル）としてモデル化する。
【００４４】
VO2(k)＝a1・VO2(k-1)＋a2・VO2(k-2)＋b1・DKCMD(k-dt)         ……（１）
ここで、ＶＯ２は、Ｏ２センサ１５の出力Ｖｏｕｔと前述した目標値Ｖｏｐとの偏差（Ｖｏｕｔ−Ｖｏｐ）である出力偏差を表し、ＤＫＣＭＤは、目標空燃比ＫＣＭＤ（＝φｏｐ）と基準値ＦＬＡＦＢＡＳＥとの偏差（ＫＣＭＤ−ＦＬＡＦＢＡＳＥ）である空燃比偏差を表し、記号ｋは、各離散データのサンプリングサイクルの順番を表している。この基準値ＦＬＡＦＢＡＳＥは、所定の一定値に設定される。また、ａ１，ａ２，ｂ１はモデルパラメータを表しており、オンボード同定器２３により、後述するように逐次同定される。
【００４５】
さらに、上記式（１）のｄｔは、目標空燃比ＫＣＭＤの混合気がインジェクタ６により吸気系に供給されてから、Ｏ２センサ１５の出力Ｖｏｕｔに反映されるまでの予測時間を表しており、下式（２）のように定義される。
ｄｔ＝ｄ＋ｄ'＋ｄｄ                                        ……（２）
ここで、ｄは、ＬＡＦセンサ１４からＯ２センサ１５までの排気系のむだ時間を、ｄ'は、インジェクタ６からＬＡＦセンサ１４までの空燃比操作系のむだ時間を、ｄｄは、排気系と空燃比操作系との間の位相遅れ時間をそれぞれ表している（なお、後述する適応空燃比制御処理の制御プログラムでは、ＡＤＳＭ処理とＰＲＩＳＭ処理とに切り換えて目標空燃比ＫＣＭＤを算出する処理を行うため、位相遅れ時間ｄｄ＝０に設定されている）。
【００４６】
また、予測値ＰＲＥＶＯ２は、目標空燃比ＫＣＭＤの混合気が吸気系に供給されてから予測時間ｄｔが経過した後の出力偏差ＶＯ２（ｋ＋ｄｔ）を予測した値であり、上記式（１）に基づき、予測値ＰＲＥＶＯ２の算出式を導出すると、下式（３）が得られる。
PREVO2(k)≒VO2(k+dt)
＝a1・VO2(k+dt-1)＋a2・VO2(k+dt-2)＋b1・DKCMD(k)  ……（３）
【００４７】
この式（３）では、出力偏差ＶＯ２（ｋ）の未来値に相当するＶＯ２（ｋ＋ｄｔ−１），ＶＯ２（ｋ＋ｄｔ−２）の算出が必要となり、実際にプログラム化するのは困難である。そのため、マトリクスＡ、Ｂを、モデルパラメータａ１，ａ２，ｂ１を用いて図４に示す式（４）、（５）のように定義するとともに、上式（３）の漸化式を繰り返し用いることにより、上式（３）を変形すると、図４に示す式（６）が得られる。さらに、ＬＡＦ出力偏差ＤＫＡＣＴを、ＬＡＦセンサ１４の出力ＫＡＣＴ（＝φｉｎ）と基準値ＦＬＡＦＢＡＳＥとの偏差（ＫＡＣＴ−ＦＬＡＦＢＡＳＥ）として定義すると、ＤＫＡＣＴ（ｋ）＝ＤＫＣＭＤ（ｋ−ｄ'）の関係が成立するので、この関係を図４の式（６）に適用すると、図４に示す式（７）が得られる。この式（７）を用いた場合、予測値ＰＲＥＶＯ２が、出力偏差ＶＯ２、ＬＡＦ出力偏差ＤＫＡＣＴおよび空燃比偏差ＤＫＣＭＤにより算出されるので、第１触媒装置８ａに実際に供給される排気ガスの空燃比の状態が反映された値として、予測値ＰＲＥＶＯ２を算出でき、その算出精度すなわち予測精度を上記式（６）を用いた場合よりも向上させることができる。この理由により、本実施形態では、予測アルゴリズムとして上記式（７）を採用する。
【００４８】
次に、オンボード同定器２３について説明する。このオンボード同定器２３は、以下に述べる逐次型同定アルゴリズムにより、前述した式（１）のモデルパラメータａ１，ａ２，ｂ１を算出（同定）するものである。具体的には、図５に示す（８），（９）により、モデルパラメータのベクトルθ（ｋ）を算出する。同図の式（８）において、ＫＰ（ｋ）は、ゲイン係数のベクトルであり、ｉｄｅ＿ｆ（ｋ）は同定誤差フィルタ値である。また、式（９）におけるθ（ｋ）Tは、θ（ｋ）の転置行列を表している。なお、以下の説明では、「ベクトル」という表記を適宜、省略する。
【００４９】
上記式（８）の同定誤差フィルタ値ｉｄｅ＿ｆ（ｋ）は、図５に示す式（１１）〜（１３）により算出される同定誤差ｉｄｅ（ｋ）に、図５の式（１０）に示す移動平均フィルタリング処理を施した値である。図５の式（１０）のｎは、移動平均フィルタリング処理のフィルタ次数（１以上の整数）を表しており、式（１２）のＶＯ２ＨＡＴ（ｋ）は、出力偏差ＶＯ２の同定値を表している。このフィルタ次数ｎは、後述するように、排気ガスボリュームＡＢ＿ＳＶに応じて設定される。
【００５０】
さらに、前述した図５の式（８）のゲイン係数のベクトルＫＰ（ｋ）は、図５の式（１４）により算出される。この式（１４）のＰ（ｋ）は、図５の式（１５）で定義される３次の正方行列である。本実施形態では、同定アルゴリズムとして、重み付き最小２乗法アルゴリズムを用いるため、式（１５）の重みパラメータλ１、λ２は、λ１＝λ，λ２＝１（λは、０＜λ＜１に設定される所定値）に設定されている。
【００５１】
次に、ＤＳＭコントローラ２４（変調出力算出手段）について説明する。このＤＳＭコントローラ２４は、ΔΣ変調アルゴリズムを応用した制御アルゴリズムにより、状態予測器２２で算出された予測値ＰＲＥＶＯ２に基づき、制御入力φｏｐ（＝目標空燃比ＫＣＭＤ）を算出するとともに、これを制御対象に入力することにより、制御対象の出力としてのＯ２センサ１５の出力Ｖｏｕｔを目標値Ｖｏｐに収束させるように制御するものである。
【００５２】
まず、一般的なΔΣ変調アルゴリズムについて説明する。図６は、ΔΣ変調アルゴリズムを適用したコントローラ２６により、制御対象２７を制御する制御系の構成を示している。同図に示すように、このコントローラ２６では、差分器２６ａにより、参照入力ｒ(ｋ)と遅延素子２６ｂで遅延されたＤＳＭ出力ｕ(ｋ−１)との偏差として偏差信号δ(ｋ)が生成される。次に、積分器２６ｃにより、偏差積分値σd(ｋ)が、偏差信号δ(ｋ)と遅延素子２６ｄで遅延された偏差積分値σd(ｋ−１)との和の信号として生成される。次いで、量子化器２６ｅ（符号関数）により、変調出力としてのＤＳＭ出力ｕ(ｋ)が、この偏差積分値σd(ｋ)を符号化した信号として生成される。そして、以上のように生成されたＤＳＭ出力ｕ(ｋ)が制御対象２７に入力されることにより、出力信号 ｙ(ｋ)が制御対象２７から出力される。
【００５３】
以上のΔΣ変調アルゴリズムは、以下の式（１６）〜（１８）で表される。
δ(ｋ)＝ｒ(ｋ)−ｕ(ｋ−１)                              ……（１６）
σd(ｋ)＝σd(ｋ−１)＋δ(ｋ)                             ……（１７）
ｕ(ｋ)＝ｓｇｎ（σd(ｋ)）                               ……（１８）
ただし、符号関数ｓｇｎ（σd(ｋ)）の値は、σd(ｋ)≧０のときにはｓｇｎ（σd(ｋ)）＝１となり、σd(ｋ)＜０のときにはｓｇｎ（σd(ｋ)）＝−１となる（なお、σd(ｋ)＝０のときに、ｓｇｎ（σd(ｋ)）＝０と設定してもよい）。
【００５４】
図７は、以上の制御系の制御シミュレーション結果を示している。同図に示すように、正弦波状の参照入力ｒ(ｋ)を制御系に入力した場合、ＤＳＭ出力ｕ(ｋ)が矩形波状の信号として生成され、これを制御対象２７に入力することにより、参照入力ｒ(ｋ)と異なる振幅で同じ周波数の、ノイズを有するものの全体として同様の波形の出力信号ｙ(ｋ)が、制御対象２７から出力される。このように、ΔΣ変調アルゴリズムの特性は、参照入力ｒ(ｋ)から生成されたＤＳＭ出力ｕ(ｋ)を制御対象２７に入力したときに、制御対象２７の出力ｙ(ｋ)が、参照入力ｒ(ｋ)に対して、異なる振幅で同じ周波数の、全体として同様の波形の信号となるような値として、ＤＳＭ出力ｕ(ｋ)を生成できるという点にある。言い換えれば、ＤＳＭ出力ｕ(ｋ)を、参照入力ｒ(ｋ)が制御対象２７の実際の出力ｙ(ｋ)に再現されるような値として、生成（算出）できるという点にある。
【００５５】
ＤＳＭコントローラ２４は、このようなΔΣ変調アルゴリズムの特性を利用し、Ｏ２センサ１５の出力Ｖｏｕｔを目標値Ｖｏｐに収束させるための制御入力φｏｐ(ｋ)、すなわち目標空燃比ＫＣＭＤ(ｋ)を算出するものである。その原理について説明すると、例えば図８に１点鎖線で示すように、出力偏差ＶＯ２が値０に対して揺らいでいる場合（すなわち、Ｏ２センサ１５の出力Ｖｏｕｔが目標値Ｖｏｐに対して揺らいでいる場合）、出力偏差ＶＯ２を値０に収束させる（すなわち出力Ｖｏｕｔを目標値Ｖｏｐに収束させる）には、図８に破線で示す、出力偏差ＶＯ２を打ち消すような逆位相波形の出力偏差ＶＯ２*が生じるように、目標空燃比ＫＣＭＤ(ｋ)を生成すればよい。
【００５６】
しかし、前述したように、本実施形態の制御対象では、目標空燃比ＫＣＭＤ(ｋ)が制御対象に入力されてからＯ２センサ１５の出力Ｖｏｕｔに反映されるまでに、予測時間ｄｔ分の時間遅れが発生するため、現在の出力偏差ＶＯ２に基づいて、目標空燃比ＫＣＭＤ(ｋ)を算出した場合の出力偏差ＶＯ２#は、図８に実線で示すように、出力偏差ＶＯ２*に対して遅れを生じ、それにより、制御タイミングのずれが生じてしまう。したがって、これを補償するために、本実施形態のＡＤＳＭコントローラ２０におけるＤＳＭコントローラ２４では、出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を用いることにより、目標空燃比ＫＣＭＤ(ｋ)が、制御タイミングのずれを生じることなく、現在の出力偏差ＶＯ２を打ち消すような出力偏差（逆位相波形の出力偏差ＶＯ２*と同様の出力偏差）を生じさせる信号として生成される。
【００５７】
具体的には、このＤＳＭコントローラ２４では、図９に示すように、予測値ＰＲＥＶＯ２(ｋ)が反転増幅器２４ａに入力されると、この反転増幅器２４ａにより、参照入力ｒ(ｋ)が、予測値ＰＲＥＶＯ２(ｋ)に値−１および後述する非線形ゲインＧd（所定の値）を乗算した信号として生成され、この参照入力ｒ(ｋ)がリミッタ２４ｂ（図１０参照、制限値算出手段）に入力されることにより、参照入力ｒ(ｋ)の制限値ｒｌ(ｋ)が生成される。さらに、差分器２４ｃにより、この制限値ｒｌ(ｋ)と遅延素子２４ｄで遅延されたＤＳＭ出力ｕ(ｋ−１)との偏差として偏差信号δ(ｋ)が生成される。
【００５８】
次いで、積分器２４ｅにより、偏差積分値σd(ｋ)が、偏差信号δ(ｋ)と遅延素子２４ｆで遅延された偏差積分値σd(ｋ−１)との和の信号として生成され、次に、量子化器２４ｇ（符号関数）により、ＤＳＭ出力ｕ(ｋ)が、この偏差積分値σd(ｋ)を符号化した値として生成される。そして、増幅器２４ｈにより、増幅ＤＳＭ出力ｕ''(ｋ)がＤＳＭ出力ｕ(ｋ)を所定のゲインＦdで増幅した値として生成され、次に、加算器２４ｉにより、この増幅ＤＳＭ出力ｕ''(ｋ)に後述する所定の基準値ＦＬＡＦＢＡＳＥと適応補正項ＦＬＡＦＡＤＰとの和を加算した値として、目標空燃比ＫＣＭＤ(ｋ)が生成される。
【００５９】
以上のＤＳＭコントローラ２４の制御アルゴリズムは、以下の式（１９）〜（２５）で表される。
ｒ(ｋ)＝−１・Ｇd・ＰＲＥＶＯ２(ｋ)                  ……（１９）
ｒｌ(ｋ)＝ｓａｔ（ｒ(ｋ)）                             ……（２０）
δ(ｋ)＝ｒｌ(ｋ)−ｕ(ｋ−１)                         ……（２１）
σd(ｋ)＝σd(ｋ−１)＋δ(ｋ)                          ……（２２）
ｕ(ｋ)＝ｓｇｎ（σd(ｋ)）                            ……（２３）
ｕ''(ｋ)＝Ｆd・ｕ(ｋ)                                  ……（２４）
ＫＣＭＤ(ｋ)＝ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ＋ｕ''(ｋ)   ……（２５）
ここで、非線形ゲインＧdの値は、ＰＲＥＶＯ２(ｋ)≧０のときには正の所定値Ｇd１（例えば値０．２）に、ＰＲＥＶＯ２(ｋ)＜０のときには所定値Ｇd１よりも大きい所定値Ｇd２（例えば値２）にそれぞれ設定される。このような非線形ゲインＧdを用いる理由については後述する。また、ｓａｔ（ｒ(ｋ)）は、飽和関数であり、その値は、図１０に示すように、ｒ(ｋ)＜−１のときにはｓａｔ（ｒ(ｋ)）＝−１となり、−１≦ｒ(ｋ)≦１のときにはｓａｔ（ｒ(ｋ)）＝ｒ（ｋ）となり、ｒ(ｋ)＞１のときにはｓａｔ（ｒ(ｋ)）＝１となる。さらに、ｓｇｎ（σd(ｋ)）は符号関数であり、その値は、σd(ｋ)≧０のときにはｓｇｎ（σd(ｋ)）＝１となり、σd(ｋ)＜０のときにはｓｇｎ（σd(ｋ)）＝−１となる（なお、σd(ｋ)＝０のときに、ｓｇｎ（σd(ｋ)）＝０と設定してもよい）。
【００６０】
図１１は、以上のＤＳＭコントローラ２４の制御シミュレーション結果を示しており、図１２は、ＤＳＭコントローラ２４のリミッタ２４ｂを省略した比較例の制御シミュレーション結果を示している。また、両図に示すデータは、理解の容易化のために、（ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ）の値を、値１．０（理論空燃比に相当する当量比の値）に設定した場合のものである。
【００６１】
まず、図１２を参照すると、この比較例では、リミッタ２４ｂがないことによって、積分器２４ｅにおける積分値σd(ｋ)が増大し、それに伴い、予測値ＰＲＥＶＯ２(ｋ)の符号反転から、目標空燃比ＫＣＭＤ(ｋ)がリッチ側とリーン側との間で変化するまでの間に、むだ時間（時刻ｔ１０〜ｔ１１の間、ｔ１２〜ｔ１３の間）を生じていることが分かる。これは、積分値σd(ｋ)の増大に伴い、予測値ＰＲＥＶＯ２(ｋ)の符号反転から、ＤＳＭ出力ｕ(ｋ)の符号反転までの間に、むだ時間を生じることによる。
【００６２】
これに対して、図１１を参照すると、本実施形態のＤＳＭコントローラ２４では、リミッタ２４ｂを用いることにより、積分器２４ｅにおける偏差積分値σd(ｋ)が増大することなく抑制されており、それに伴い、予測値ＰＲＥＶＯ２(ｋ)の符号反転と同時に、目標空燃比ＫＣＭＤ(ｋ)がリッチ側とリーン側との間で変化している。すなわち、予測値ＰＲＥＶＯ２(ｋ)の符号反転から、ＤＳＭ出力ｕ(ｋ)の符号反転までの間に、むだ時間を生じていないことが分かる。このように、本実施形態のＤＳＭコントローラ２４によれば、予測値ＰＲＥＶＯ２の符号反転に対して、むだ時間を生じることなく目標空燃比ＫＣＭＤをリッチ側とリーン側との間で変化させることができる。
【００６３】
次に、前記ＰＲＩＳＭコントローラ２１について説明する。このＰＲＩＳＭコントローラ２１は、以下に述べるオンボード同定型スライディングモード制御処理（以下「ＰＲＩＳＭ処理」という）の制御アルゴリズムにより、Ｏ２センサ１５の出力Ｖｏｕｔを目標値Ｖｏｐに収束させるための目標空燃比ＫＣＭＤを算出するものであり、状態予測器２２、オンボード同定器２３およびスライディングモードコントローラ（以下「ＳＬＤコントローラ」という）２５により構成されている。
【００６４】
このＰＲＩＳＭコントローラ２１のうちの状態予測器２２およびオンボード同定器２３については、既に説明したので、ここではＳＬＤコントローラ２５についてのみ説明する。このＳＬＤコントローラ２５は、スライディングモード制御アルゴリズムに基づいてスライディングモード制御を行うものであり、その制御アルゴリズムは、前述した式（１）の離散時間系モデルおよび出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を用いることにより、図１３に示す式（２６）〜（３０）のように定義される。
【００６５】
図１３の式（２６）は、予測値ＰＲＥＶＯ２を用いた場合の切換関数σＰＲＥを表しており、同式におけるＳ１，Ｓ２は、−１＜（Ｓ２／Ｓ１）＜１の関係が成立するように設定される所定の係数である。また、式（２７）は、予測値の今回値ＰＲＥＶＯ２（ｋ）および前回値ＰＲＥＶＯ２（ｋ−１）の組み合わせを切換直線上に収束させるための操作量Ｕｓｌ（ｋ）を表しており、この操作量Ｕｓｌ（ｋ）は、等価制御入力Ｕｅｑ（ｋ）、到達則入力Ｕｒｃｈ（ｋ）および適応則入力Ｕａｄｐ（ｋ）の総和として設定されるとともに、これらの等価制御入力Ｕｅｑ（ｋ）、到達則入力Ｕｒｃｈ（ｋ）および適応則入力Ｕａｄｐ（ｋ）はそれぞれ、式（２８）〜（３０）のように定義される。なお、式（２９）において、Ｆはゲインを表し、式（３０）において、Ｇはゲインを、ΔＴは制御周期をそれぞれ表す。このＳＬＤコントローラ２５では、以上のアルゴリズムで算出される操作量Ｕｓｌ（ｋ）に、基準値ＦＬＡＦＢＡＳＥおよび適応補正項ＦＬＡＦＡＤＰを加算することによって、目標空燃比ＫＣＭＤが算出される。
【００６６】
以下、ＥＣＵ２により実行される燃料噴射量の算出処理について、図１４を参照しながら説明する。なお、以下の説明では、今回値であることを示す記号（ｋ）を適宜、省略する。図１４は、この制御処理のメインルーチンを示しており、本処理は、ＴＤＣ信号の入力に同期して割り込み実行される。この処理では、後述する適応空燃比制御処理、またはマップ検索処理により算出された目標空燃比ＫＣＭＤを用いることによって、燃料噴射量ＴＯＵＴが気筒ごとに算出される。
【００６７】
まず、ステップ１（図では「Ｓ１」と略す。以下同じ）において、前述した各種のセンサ１０〜１９の出力を読み込むとともに、読み込んだデータをＲＡＭ内に記憶する。
【００６８】
次に、ステップ２に進み、基本燃料噴射量Ｔｉｍを算出する。この処理では、エンジン回転数ＮＥおよび吸気管内絶対圧ＰＢＡに応じて、図示しないマップを検索することにより、基本燃料噴射量Ｔｉｍを算出する。
【００６９】
次いで、ステップ３に進み、総補正係数ＫＴＯＴＡＬを算出する。この総補正係数ＫＴＯＴＡＬは、各種の運転パラメータ（例えば吸気温ＴＡや、大気圧ＰＡ、エンジン水温ＴＷ、アクセル開度ＡＰなど）に応じて、各種のテーブルやマップを検索することで各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、算出される。
【００７０】
次に、ステップ４に進み、適応制御フラグＦ＿ＰＲＩＳＭＯＮの設定処理を実行する。この処理の内容は図示しないが、具体的には、以下の（ａ）〜（ｆ）の条件がいずれも成立しているときには、適応空燃比制御処理で算出された目標空燃比ＫＣＭＤを使用する条件が成立しているとして、それを表すために、適応制御フラグＦ＿ＰＲＩＳＭＯＮが「１」にセットされる。一方、（ａ）〜（ｆ）の条件のうちの少なくとも１つが成立していないときには、適応制御フラグＦ＿ＰＲＩＳＭＯＮが「０」にセットされる。
（ａ）ＬＡＦセンサ１４およびＯ２センサ１５がいずれも活性化していること。
（ｂ）エンジン３がリーンバーン運転中でないこと。
（ｃ）スロットル弁５が全開状態でないこと。
（ｄ）点火時期の遅角制御中でないこと。
（ｅ）フューエルカット運転中でないこと。
（ｆ）エンジン回転数ＮＥおよび吸気管内絶対圧ＰＢＡがいずれも、所定の範囲囲内の値であること。
【００７１】
次に、ステップ５に進み、ステップ４で設定された適応制御フラグＦ＿ＰＲＩＳＭＯＮが「１」であるか否かを判別する。この判別結果がＹＥＳのときには、ステップ６に進み、目標空燃比ＫＣＭＤを、後述する適応空燃比制御処理で算出された適応目標空燃比ＫＣＭＤＳＬＤに設定する。
【００７２】
一方、ステップ５の判別結果がＮＯのときには、ステップ７に進み、目標空燃比ＫＣＭＤをマップ値ＫＣＭＤＭＡＰに設定する。このマップ値ＫＣＭＤＭＡＰは、エンジン回転数ＮＥおよび吸気管内絶対圧ＰＢＡに応じて、図示しないマップを検索することにより、算出される。
【００７３】
以上のステップ６または７に続くステップ８では、オブザーバフィードバック補正係数＃ｎＫＬＡＦを気筒ごとに算出する。このオブザーバフィードバック補正係数＃ｎＫＬＡＦは、気筒ごとの実際の空燃比のばらつきを補正するためのものであり、具体的には、オブザーバによりＬＡＦセンサ１４の出力ＫＡＣＴから気筒ごとの実際の空燃比を推定し、これらの推定した空燃比に応じて、ＰＩＤ制御により算出される。なお、このオブザーバフィードバック補正係数＃ｎＫＬＡＦの記号＃ｎは、気筒の番号＃１〜＃４を表すものであり、これは、後述する要求燃料噴射量＃ｎＴＣＹＬおよび最終燃料噴射量＃ｎＴＯＵＴにおいても同様である。
【００７４】
次いで、ステップ９に進み、フィードバック補正係数ＫＦＢを算出する。このフィードバック補正係数ＫＦＢは、具体的には、以下のように算出される。すなわち、ＬＡＦセンサ１４の出力ＫＡＣＴと目標空燃比ＫＣＭＤとの偏差に応じて、ＰＩＤ制御によりフィードバック係数ＫＬＡＦを算出する。また、図示しないSelf Tuning Regulator 型の適応制御器によりフィードバック補正係数ＫＳＴＲを算出し、これを目標空燃比ＫＣＭＤで除算することにより、フィードバック補正係数ｋｓｔｒを算出する。そして、エンジン３の運転状態に応じて、これらの２つのフィードバック係数ＫＬＡＦおよびフィードバック補正係数ｋｓｔｒの一方を、フィードバック補正係数ＫＦＢとして設定する。
【００７５】
次いで、ステップ１０に進み、補正目標空燃比ＫＣＭＤＭを算出する。この補正目標空燃比ＫＣＭＤＭは、空燃比Ａ／Ｆの変化による充填効率の変化を補償するためのものであり、前述したステップ６または７で算出された目標空燃比ＫＣＭＤに応じて、図示しないテーブルを検索することにより算出される。
【００７６】
次に、ステップ１１に進み、以上のように算出した基本燃料噴射量Ｔｉｍ、総補正係数ＫＴＯＴＡＬ、オブザーバフィードバック補正係数＃ｎＫＬＡＦ、フィードバック補正係数ＫＦＢ、および補正目標空燃比ＫＣＭＤＭを用い、下式（３１）により、気筒ごとの要求燃料噴射量＃ｎＴＣＹＬを算出する。
＃ｎＴＣＹＬ＝Ｔｉｍ・ＫＴＯＴＡＬ・ＫＣＭＤＭ・ＫＦＢ・＃ｎＫＬＡＦ
……（３１）
【００７７】
次に、ステップ１２に進み、要求燃料噴射量＃ｎＴＣＹＬを付着補正することにより、最終燃料噴射量＃ｎＴＯＵＴを算出する。この最終燃料噴射量＃ｎＴＯＵＴは、具体的には、今回の燃焼サイクルでインジェクタ６から噴射された燃料が燃焼室の内壁面に付着する割合などを、運転状態に応じて算出し、そのように算出した割合に基づいて、要求燃料噴射量＃ｎＴＣＹＬを補正することにより、算出される。
【００７８】
次いで、ステップ１３に進み、以上のように算出した最終燃料噴射量＃ｎＴＯＵＴに基づく駆動信号を、対応する気筒のインジェクタ６に出力した後、本処理を終了する。
【００７９】
次に、図１５を参照しながら、ＡＤＳＭ処理およびＰＲＩＳＭ処理を含む適応空燃比制御処理について説明する。この処理は、所定の周期（例えば１０ｍｓｅｃ）で実行される。また、この処理では、エンジン３の運転状態に応じて、ＡＤＳＭ処理またはＰＲＩＳＭ処理により、適応目標空燃比ＫＣＭＤＳＬＤが算出される。
【００８０】
この処理では、まず、ステップ２０において、各種パラメータを算出する。このステップ２０では、図示しない算出式により、エンジン回転数ＮＥおよび吸気管内絶対圧ＰＢＡに基づいて、排気ガスボリュームＡＢ＿ＳＶを算出する。さらに、この排気ガスボリュームＡＢ＿ＳＶに応じて、図示しないテーブルを検索することにより、前述した同定アルゴリズムにおける重みパラメータλ１およびフィルタ次数ｎなどを算出する。
【００８１】
次に、ステップ２１に進み、オンボード同定器２３の演算を実行する。具体的には、上記ステップ２０で算出した前述した重みパラメータλ１およびフィルタ次数ｎを用い、前述した式（８）〜（１５）に基づくプログラム（図示せず）により、モデルパラメータａ１，ａ２，ｂ１を算出する。
【００８２】
次いで、ステップ２２に進み、状態予測器２２の演算を実行する。具体的には、上記ステップ２１で算出したモデルパラメータａ１，ａ２，ｂ１を用い、前述した式（７）に基づくプログラム（図示せず）により、出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を算出する。
【００８３】
次に、ステップ２３に進み、前述した式（２６）〜（３０）に基づくプログラム（図示せず）により、操作量Ｕｓｌを算出する。
【００８４】
次いで、ステップ２４に進み、スライディングモード操作量ＤＫＣＭＤＳＬＤを算出する。このステップ２４では、図示しないプログラムにより、エンジン３の運転状態に応じた補正値を、上記ステップ２３で算出した操作量Ｕｓｌに加減算することによって、スライディングモード操作量ＤＫＣＭＤＳＬＤを算出する。
【００８５】
次に、ステップ２５に進み、ΔΣ変調操作量ＤＫＣＭＤＤＳＭを算出する。このΔΣ変調操作量ＤＫＣＭＤＤＳＭを算出する処理については、後述する。
【００８６】
次いで、ステップ２６に進み、適応目標空燃比ＫＣＭＤＳＬＤを算出する。具体的には、図示しないが以下のように適応目標空燃比ＫＣＭＤＳＬＤを算出する。まず、ＤＳＭモードフラグＦ＿ＤＳＭＭＯＤＥが「１」であるか否かを判別する。このＤＳＭモードフラグＦ＿ＤＳＭＭＯＤＥは、エンジン３が、適応目標空燃比ＫＣＭＤＳＬＤをＡＤＳＭ処理で算出すべき運転モードにあるとき、すなわち低負荷運転モード、負荷変動の大きい過渡運転モードおよびアイドル運転モードにあるときなどには「１」にセットされ、それ以外のときには「０」にセットされる。
【００８７】
この判別結果がＹＥＳのとき、すなわちＦ＿ＤＳＭＭＯＤＥ＝１で、エンジン３がＡＤＳＭ処理で適応目標空燃比ＫＣＭＤＳＬＤを算出すべき運転モードにあるときには、上記ステップ２５で算出したΔΣ変調操作量ＤＫＣＭＤＤＳＭを用い、下式（３２）により、適応目標空燃比ＫＣＭＤＳＬＤを算出する。なお、この式（３２）は、前述した式（２５）に相当する。
ＫＣＭＤＳＬＤ＝ＤＫＣＭＤＤＳＭ＋ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ
……（３２）
ここで、ＦＬＡＦＡＤＰは、適応補正項であり、次のステップ２７でその次回値が算出される。
【００８８】
一方、上記判別結果がＮＯのとき、すなわちＦ＿ＤＳＭＭＯＤＥ＝０で、エンジン３がＰＲＩＳＭ処理で適応目標空燃比ＫＣＭＤＳＬＤを算出すべき運転モードにあるときには、前記ステップ２４で算出したスライディングモード操作量ＤＫＣＭＤＳＬＤを用い、下式（３３）により、適応目標空燃比ＫＣＭＤＳＬＤを算出する。
ＫＣＭＤＳＬＤ＝ＤＫＣＭＤＳＬＤ＋ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ
……（３３）
【００８９】
次に、ステップ２７に進み、適応補正項ＦＬＡＦＡＤＰの次回値を算出する。具体的には、図示しないプログラムにより、出力偏差ＶＯ２および適応則入力Ｕａｄｐに応じた補正値を、適応補正項ＦＬＡＦＡＤＰの今回値に加減算することによって、適応補正項ＦＬＡＦＡＤＰの次回値を算出する。この後、本処理を終了する。
【００９０】
次に、図１６および図１７を参照しながら、前述した図１５のステップ２５のΔΣ変調操作量ＤＫＣＭＤＤＳＭを算出する処理について説明する。同図に示すように、この処理では、まず、ステップ３０において、前述したＤＳＭモードフラグＦ＿ＤＳＭＭＯＤＥが「１」であるか否かを判別する。
【００９１】
ステップ３０の判別結果がＹＥＳで、エンジン３が適応目標空燃比ＫＣＭＤＳＬＤをＡＤＳＭ処理で算出すべき運転モードにあるときには、ステップ３１に進み、ＲＡＭに記憶されている、前回のループで算出されたＤＳＭ出力の今回値ＤＳＭＳＧＮＳ（ｋ）［＝ｕ（ｋ）、変調出力］を、前回値ＤＳＭＳＧＮＳ（ｋ−１）［＝ｕ（ｋ−１）］として設定する。
【００９２】
次に、ステップ３２に進み、ＲＡＭに記憶されている、前回のループで算出された偏差積分値の今回値ＤＳＭＳＩＧＭＡ（ｋ）［＝σd（ｋ）］を、前回値ＤＳＭＳＩＧＭＡ（ｋ−１）［＝σd（ｋ−１）］として設定する。
【００９３】
次いで、ステップ３３に進み、出力偏差の予測値ＰＲＥＶＯ２（ｋ）が値０以上であるか否かを判別する。この判別結果がＹＥＳのときには、エンジン３が混合気の空燃比をリーン側に変更すべき運転状態にあるとして、ステップ３４に進み、参照入力用の非線形ゲインＫＲＤＳＭ（＝Ｇd）を、リーン化用の値ＫＲＤＳＭＬ（＝Ｇd１）に設定した後、後述するステップ３６に進む。
【００９４】
一方、ステップ３３の判別結果がＮＯのときには、エンジン３が混合気の空燃比をリッチ側に変更すべき運転状態にあるとして、ステップ３５に進み、参照入力用の非線形ゲインＫＲＤＳＭを、リーン化用の値ＫＲＤＳＭＬよりも大きいリッチ化用の値ＫＲＤＳＭＲ（＝Ｇd２）に設定した後、ステップ３６に進む。このように、混合気の空燃比をリッチ側またはリーン側に変更する際、非線形ゲインＫＲＤＳＭの値が異なる値に設定される理由については後述する。
【００９５】
ステップ３４または３５に続くステップ３６では、参照入力ＤＳＭＶＯ２［＝ｒ（ｋ）］を、値−１、参照入力用の非線形ゲインＫＲＤＳＭおよび予測値の今回値ＰＲＥＶＯ２（ｋ）を互いに乗算した値［−１・ＫＲＤＳＭ・ＰＲＥＶＯ２（ｋ）］に設定する。この処理は、前述した式（１９）に相当する。
【００９６】
次いで、ステップ３７に進み、上記ステップ３６で算出した参照入力ＳＭＶＯ２が値−１よりも小さいか否かを判別する。この判別結果がＹＥＳで、ＤＳＭＶＯ２＜−１のときには、ステップ３８に進み、参照入力の制限値ＤＳＭＶＯ２Ｌ（＝ｒｌ（ｋ））を値−１に設定し、次に、後述する図１７のステップ４２に進む。
【００９７】
一方、ステップ３７の判別結果がＮＯで、−１≦ＤＳＭＶＯ２のときには、ステップ３９に進み、参照入力ＤＳＭＶＯ２が値１よりも大きいか否かを判別する。この判別結果がＹＥＳで、１＜ＤＳＭＶＯ２のときには、ステップ４０に進み、参照入力の制限値ＤＳＭＶＯ２Ｌを値１に設定し、次いで、後述する図１７のステップ４２に進む。一方、ステップ３９の判別結果がＮＯで、−１≦ＤＳＭＶＯ２≦１のときには、ステップ４１に進み、参照入力の制限値ＤＳＭＶＯ２Ｌをステップ３６で算出した参照入力ＤＳＭＶＯ２に設定し、次いで、図１７のステップ４２に進む。以上のステップ３７〜４０の処理が、前述したリミッタ２４ｂおよび式（２０）に相当する。
【００９８】
ステップ３８、４０または４１に続く図１７のステップ４２では、参照入力の制限値ＤＳＭＶＯ２Ｌから、ステップ３１で算出したＤＳＭ出力の前回値ＤＳＭＳＧＮＳ（ｋ−１）を減算した値［ＤＳＭＶＯ２Ｌ−ＤＳＭＳＧＮＳ（ｋ−１）］を、偏差信号値ＤＳＭＤＥＬＴＡとして設定する。この処理は、前述した式（２１）に相当する。
【００９９】
次に、ステップ４３に進み、偏差積分値の今回値ＤＳＭＳＩＧＭＡ（ｋ）を、ステップ３２で算出した前回値ＤＳＭＳＩＧＭＡ（ｋ−１）と、ステップ４２で算出した偏差信号値ＤＳＭＤＥＬＴＡとの和［ＤＳＭＳＩＧＭＡ（ｋ−１）＋ＤＳＭＤＥＬＴＡ］に設定する。この処理は、前述した式（２２）に相当する。
【０１００】
次に、ステップ４４〜４６において、ステップ４３で算出した偏差積分値の今回値ＤＳＭＳＩＧＭＡ（ｋ）が値０以上のときには、ＤＳＭ出力の今回値ＤＳＭＳＧＮＳ（ｋ）を値１に設定し、偏差積分値の今回値ＤＳＭＳＩＧＭＡ（ｋ）が値０よりも小さいときには、ＤＳＭ出力の今回値ＤＳＭＳＧＮＳ（ｋ）を値−１に設定する。以上のステップ４４〜４６の処理は、前述した式（２３）に相当する。
【０１０１】
次いで、ステップ４７において、排気ガスボリュームＡＢ＿ＳＶに応じて、図１８に示すテーブルを検索することにより、ＤＳＭ出力用のゲインＫＤＳＭ（＝Ｆd）を算出する。同図に示すように、このゲインＫＤＳＭは、排気ガスボリュームＡＢ＿ＳＶが小さいほど、より大きな値に設定されている。これは、排気ガスボリュームＡＢ＿ＳＶが小さいほど、すなわちエンジン３の負荷が小さい状態であるほど、Ｏ２センサ１５の出力Ｖｏｕｔの応答性が低下するので、それを補償するためである。このようにゲインＫＤＳＭを設定することにより、ΔΣ変調操作量ＤＫＣＭＤＤＳＭを、例えばオーバーゲイン状態などを回避しながら、エンジン３の運転状態に応じて適切に算出することができ、それにより、触媒後排気ガス特性（触媒装置８ａ，８ｂにより浄化された排気ガスの特性）を向上させることができる。
【０１０２】
なお、このゲインＫＤＳＭの算出に用いるテーブルは、ゲインＫＤＳＭが排気ガスボリュームＡＢ＿ＳＶに応じて設定されている上記テーブルに限らず、エンジン３の運転負荷状態を表すパラメータ（例えば基本燃料噴射時間Ｔｉｍ）に応じてゲインＫＤＳＭが予め設定されているものであればよい。また、触媒装置８ａ，８ｂの劣化判別器が設けられている場合には、この劣化判別器で判別された触媒装置８ａ，８ｂの劣化度合が大きいほど、ゲインＤＳＭをより小さい値に補正するようにしてもよい。さらに、ゲインＫＤＳＭを、オンボード同定器２３によって同定されたモデルパラメータに応じて決定してもよい。例えば、モデルパラメータｂ１の逆数（１／ｂ１）の値が大きいほど、言い換えればモデルパラメータｂ１の値が小さいほど、ゲインＫＤＳＭをより大きい値に設定してもよい。
【０１０３】
次に、ステップ４８に進み、ΔΣ変調操作量ＤＫＣＭＤＤＳＭを、ＤＳＭ出力用のゲインＫＤＳＭと、ＤＳＭ出力の今回値ＤＳＭＳＧＮＳ（ｋ）とを互いに乗算した値［ＫＤＳＭ・ＤＳＭＳＧＮＳ（ｋ）］に設定した後、本処理を終了する。この処理が、前述した式（２４）に相当する。
【０１０４】
図１６に戻り、ステップ３０の判別結果がＮＯで、エンジン３が適応目標空燃比ＫＣＭＤＳＬＤをＡＤＳＭ処理で算出すべき運転モードにないときには、ステップ４９に進み、ＤＳＭ出力の今回値ＤＳＭＳＧＮＳ（ｋ）および前回値ＤＳＭＳＧＮＳ（ｋ−１）をいずれも値１に設定する。
【０１０５】
次いで、ステップ５０に進み、偏差積分値の今回値ＤＳＭＳＩＧＭＡ（ｋ）および前回値ＤＳＭＳＩＧＭＡ（ｋ−１）をいずれも値０に設定する。次いで、図１７のステップ５１に進み、ΔΣ変調操作量ＤＫＣＭＤＤＳＭを値０に設定した後、本処理を終了する。
【０１０６】
次に、図１９および図２０を参照しながら、前述した非線形ゲインＫＲＤＳＭ（＝Ｇd）が、混合気の空燃比をリッチ側に変更する場合とリーン側に変更する場合とで、異なる値ＫＲＤＳＭＬ（＝Ｇd１），ＫＲＤＳＭＲ（＝Ｇd２＞Ｇd１）に設定される理由について説明する。図１９は、本実施形態の非線形ゲインＫＲＤＳＭを用いた制御装置１により空燃比を制御した場合の動作の一例を示しており、図２０は、比較のために非線形ゲインＫＲＤＳＭに代えて線形ゲイン（一定値のゲイン）を用いた場合の動作の比較例を示している。両図に示すデータは、理解の容易化のために、（ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ）の値を、値１．０（理論空燃比に相当する当量比の値）に設定した場合のものである。また、両図に示すＮＯｘのデータは、第２触媒装置８ｂの下流側における測定データである。
【０１０７】
両図のデータを比較すると、非線形ゲインＫＲＤＳＭを用いた場合、Ｏ２センサ１５の出力Ｖｏｕｔがリッチ側にある状態（Ｖｏｕｔ＞Ｖｏｐの状態）、およびリーン側にある状態（Ｖｏｕｔ＜Ｖｏｐの状態）のいずれにおいても、線形ゲインを用いた場合よりも、第１および第２触媒装置８ａ，８ｂによるＮＯｘの浄化率が向上することが分かる。これは、以下の理由による。
【０１０８】
すなわち、線形ゲインを用いると、図２０に示すように、Ｏ２センサ１５の出力Ｖｏｕｔがリッチ側にあることで、混合気を空燃比をリッチ側からリーン側に変化させる場合と、これと逆の場合とで、目標空燃比ＫＣＭＤの変化パターンは、値１．０のラインに対して線対称の傾向を示す。その結果、混合気を空燃比をリッチ側からリーン側に変化させる場合には、目標空燃比ＫＣＭＤがリッチ側の値に保持される時間よりも、リーン側の値に保持される時間が長くなるため、第１触媒装置８ａ内の触媒の上流側端部が過度にリーン化されることで、第１および第２触媒装置８ａ，８ｂによるＮＯｘ浄化率の低下を招く。一方、混合気を空燃比をリーン側からリッチ側に変化させる場合には、第１および第２触媒装置８ａ，８ｂ全体がリーン雰囲気に保持されるため、第１および第２触媒装置８ａ，８ｂによるＮＯｘ浄化率の低下を招く。
【０１０９】
これに対して、図１９に示すように、本実施形態の制御装置１では、混合気の空燃比をリッチ側からリーン側に変更する際には、非線形ゲインＫＲＤＳＭを、リッチ化用の値ＫＲＤＳＭＲよりも小さいリーン化用の値ＫＲＤＳＭＬに設定することで、目標空燃比ＫＣＭＤがリーン側の値に保持される時間（ｔ２０〜ｔ２１の間の時間）を短縮し、それにより、第１触媒装置８ａ内の触媒の上流側端部がリーン化されるのを防止することで、第１および第２触媒装置８ａ，８ｂによるＮＯｘ浄化率を向上させている。一方、混合気の空燃比をリーン側からリッチ側に変更する際には、非線形ゲインＫＲＤＳＭを、リーン化用の値ＫＲＤＳＭＬよりも大きいリッチ化用の値ＫＲＤＳＭＲに設定することで、目標空燃比ＫＣＭＤを、長時間（ｔ２２〜ｔ２３の間の時間）リッチ側の値に保持し、第１および第２触媒装置８ａ，８ｂのリーン雰囲気を迅速に解消させ、リッチ雰囲気に移行させる。それにより、第１および第２触媒装置８ａ，８ｂにおけるＮＯｘ浄化能力を迅速に回復させることによって、両者のＮＯｘ浄化率を向上させている。以上により、混合気の空燃比をリッチ側およびリーン側に変更する際、良好な触媒後排気ガス特性を確保することができる。
【０１１０】
以上のように、本実施形態に係る制御装置１によれば、参照入力ＶＯ２ＤＳＭの制限値が、その絶対値がΔΣ変調アルゴリズムからの出力の絶対値を超えないように算出されるので、従来と異なり、偏差積分値ＤＳＭＳＩＧＭＡの絶対値が増大化するのを回避でき、それにより、予測値ＰＲＥＶＯ２の符号が反転した際、ＤＳＭ出力ＤＳＭＳＧＮの符号を迅速に反転させることができ、ΔΣ変調アルゴリズムにおける入出力間でのむだ時間の発生を防止することができる。その結果、むだ時間や応答遅れの大きい特性を有する、内燃機関３の混合気を制御する制御系において、参照入力ＶＯ２ＤＳＭすなわち出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を、目標空燃比ＫＣＭＤすなわちＯ２センサ１５に供給される排気ガスに迅速に反映させることができ、Ｏ２センサ１５の出力Ｖｏｕｔの目標値Ｖｏｐへの収束性を向上させることができる。その結果、空燃比制御の制御性を向上させることができる。
【０１１１】
また、参照入力ＶＯ２ＤＳＭが、予測値ＰＲＥＶＯ２の正負に応じた非線形ゲインＫＲＤＳＭを予測値ＰＲＥＶＯ２に乗算することにより、算出されるとともに、非線形ゲインＫＲＤＳＭの値が前述したように設定されることにより、混合気の空燃比をリッチ側およびリーン側に変更する際、良好な触媒後排気ガス特性を確保することができる。
【０１１２】
次に、図２１〜図２３を参照しながら、本発明の第２実施形態に係る制御装置について説明する。以下の説明では、第１実施形態と異なる点についてのみ説明するとともに、第１実施形態と同じまたは同等の構成要素については、同一の参照番号を付し、その説明は省略する。図２１に示すように、本実施形態の制御装置１は、第１実施形態の制御装置１と比べて、ＤＳＭコントローラ２４のみが異なっている。
【０１１３】
このＤＳＭコントローラ２４では、予測値ＰＲＥＶＯ２(ｋ)が反転増幅器２４ａに入力されると、この反転増幅器２４ａにより、参照入力ｒ(ｋ)が、予測値ＰＲＥＶＯ２(ｋ)に値−１および非線形ゲインＧdを乗算した信号として生成される。次いで、差分器２４ｃにより、この参照入力ｒ(ｋ)と遅延素子２４ｄで遅延されたＤＳＭ出力ｕ(ｋ−１)との偏差として偏差信号δ(ｋ)が生成される。
【０１１４】
次いで、積分器２４ｊにより、偏差積分値σd(ｋ)が、偏差信号δ(ｋ)と遅延素子２４ｆで遅延された偏差積分値の制限値σdｌ(ｋ−１)との和の信号として生成される。次に、この偏差積分値σd(ｋ)がリミッタ２４ｋ（図２２参照、制限手段）に入力されることにより、偏差積分値の制限値σdｌ(ｋ)が生成され、そして、量子化器２４ｇ（符号関数）により、ＤＳＭ出力ｕ(ｋ)が、この制限値σdｌ(ｋ)を符号化した値として生成される。そして、ＤＳＭ出力ｕ(ｋ)に基づき、前述したように目標空燃比ＫＣＭＤ(ｋ)が生成される。
【０１１５】
以上のＤＳＭコントローラ２４の制御アルゴリズムは、以下の式（３４）〜（４０）で表される。
ｒ(ｋ)＝−１・Ｇd・ＰＲＥＶＯ２(ｋ)                  ……（３４）
δ(ｋ)＝ｒ(ｋ)−ｕ(ｋ−１)                           ……（３５）
σd(ｋ)＝σdｌ(ｋ−１)＋δ(ｋ)                        ……（３６）
σdｌ(ｋ)＝ｓａｔ（σd(ｋ)）                            ……（３７）
ｕ(ｋ)＝ｓｇｎ（σdｌ(ｋ)）                          ……（３８）
ｕ''(ｋ)＝Ｆd・ｕ(ｋ)                                  ……（３９）
ＫＣＭＤ(ｋ)＝ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ＋ｕ''(ｋ)   ……（４０）
ここで、非線形ゲインＧdの値は、ＰＲＥＶＯ２(ｋ)≧０のときには正の所定値Ｇd１（例えば値０．２）に、ＰＲＥＶＯ２(ｋ)＜０のときには所定値Ｇd１よりも大きい所定値Ｇd２（例えば値２）にそれぞれ設定される。また、ｓａｔ（σd(ｋ)）は、飽和関数であり、その値は、図２２に示すように、σd(ｋ)＜−２のときにはｓａｔ（σd(ｋ)）＝−２となり、−２≦σd(ｋ)≦２のときにはｓａｔ（σd(ｋ)）＝σd(ｋ)となり、σd(ｋ)＞２のときにはｓａｔ（σd(ｋ)）＝２となる。さらに、ｓｇｎ（σdｌ(ｋ)）は符号関数であり、その値は、σdｌ(ｋ)≧０のときにはｓｇｎ（σdｌ(ｋ)）＝１となり、σdｌ(ｋ)＜０のときにはｓｇｎ（σdｌ(ｋ)）＝−１となる（なお、σdｌ(ｋ)＝０のときに、ｓｇｎ（σdｌ(ｋ)）＝０と設定してもよい）。
【０１１６】
なお、以上のＤＳＭコントローラ２４の演算処理の具体的なプログラムは、図示しないが、第１実施形態の図１６，１７に示すものとほぼ同様に構成される。
【０１１７】
図２３は、以上のＤＳＭコントローラ２４の制御シミュレーション結果を示しており、同図に示すデータは、理解の容易化のために、（ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ）の値を、値１．０（理論空燃比に相当する当量比の値）に設定した場合のものである。
【０１１８】
同図を参照すると、本実施形態のＤＳＭコントローラ２４では、リミッタ２４ｋを用いることにより、積分器２４ｊにおける偏差積分値σd(ｋ)が、その絶対値が値２以下になるように抑制されており、それに伴い、予測値ＰＲＥＶＯ２(ｋ)の符号が反転した際、予測値ＰＲＥＶＯ２(ｋ)の符号反転から、目標空燃比ＫＣＭＤ(ｋ)がリッチ側とリーン側との間で変化するまでの間のむだ時間（時刻ｔ３０〜ｔ３１の間、ｔ３２〜ｔ３３の間）が、リミッタを省略した図１２の比較例におけるむだ時間（時刻ｔ１０〜ｔ１１の間、ｔ１２〜ｔ１３の間）よりも短縮され、改善されていることが分かる。
【０１１９】
以上のように、本実施形態の制御装置１によれば、積分器２４ｊにおける偏差積分値σd(ｋ)が、その絶対値が値２以下になるように抑制されることにより、従来と異なり、偏差積分値σd(ｋ)の絶対値が増大化するのを回避でき、それにより、予測値ＰＲＥＶＯ２の符号が反転した際、目標空燃比ＫＣＭＤ(ｋ)が反転するまでのむだ時間を従来よりも短縮できる。その結果、内燃機関３の混合気を制御する制御系において、参照入力ＶＯ２ＤＳＭすなわち出力偏差ＶＯ２の予測値ＰＲＥＶＯ２を、目標空燃比ＫＣＭＤすなわちＯ２センサ１５に供給される排気ガスに従来よりも短時間で反映させることができ、Ｏ２センサ１５の出力Ｖｏｕｔの目標値Ｖｏｐへの収束性を向上させることができる。その結果、空燃比制御の制御性を向上させることができる。
【０１２０】
また、参照入力ｒ(ｋ)が、予測値ＰＲＥＶＯ２(ｋ)に値−１および非線形ゲインＧdを乗算した値として算出されるので、第１実施形態と同様の作用効果を得ることができる。なお、リミッタ２４ｋの上下限値は、本実施形態の値２および値−２に限らず、任意に変更可能であることは言うまでもない。
【０１２１】
次に、図２４を参照しながら、本発明の第３実施形態に係る制御装置について説明する。同図に示すように、本実施形態の制御装置１は、第１実施形態の制御装置１のＤＳＭコントローラ２４に代えてＳＤＭコントローラ２９を用いる点のみが異なっている。このＳＤＭコントローラ２９（変調出力算出手段）は、ΣΔ変調アルゴリズムを適用した制御アルゴリズムにより、予測値ＰＲＥＶＯ２（ｋ）に基づいて、目標空燃比ＫＣＭＤ(ｋ)を算出するものである。
【０１２２】
このＳＤＭコントローラ２９では、予測値ＰＲＥＶＯ２(ｋ)が反転増幅器２９ａに入力されると、この反転増幅器２９ａにより、参照入力ｒ(ｋ)が、予測値ＰＲＥＶＯ２(ｋ)に値−１および非線形ゲインＧdを乗算した信号として生成され、この参照入力ｒ(ｋ)が前記リミッタ２４ｂと同様のリミッタ２９ｂ（制限値算出手段）に入力されることにより、参照入力ｒ(ｋ)の制限値ｒｌ(ｋ)が生成される。さらに、積分器２９ｃにより、制限値の積分値σdｒｌ(ｋ)が、遅延素子２９ｄで遅延された制限値の積分値σdｒｌ(ｋ−１)と制限値ｒｌ(ｋ)との和の信号として生成される。一方、積分器２９ｅにより、ＳＤＭ出力積分値σdｕ'(ｋ)が、遅延素子２９ｆで遅延されたＳＤＭ出力積分値σdｕ'(ｋ−１)と、遅延素子２９ｇで遅延されたＳＤＭ出力ｕ'(ｋ−１)との和の信号として生成される。そして、差分器２９ｈにより、制限値の積分値σdｒｌ(ｋ)とＳＤＭ出力積分値σdｕ'(ｋ)との偏差信号δ(ｋ)が生成される。
【０１２３】
次いで、量子化器２９ｉ（符号関数）により、変調出力としてのＳＤＭ出力ｕ'(ｋ)が、この偏差信号δ(ｋ)を符号化した値として生成される。そして、増幅器２９ｊにより、増幅ＳＤＭ出力ｕ'''(ｋ)がＳＤＭ出力ｕ'(ｋ)を所定のゲインＦdで増幅した値として生成され、次に、加算器２９ｋにより、この増幅ＳＤＭ出力ｕ'''(ｋ)に所定の基準値ＦＬＡＦＢＡＳＥおよび適応補正項ＦＬＡＦＡＤＰを加算した値として、目標空燃比ＫＣＭＤ（ｋ）が生成される。
【０１２４】
以上のＳＤＭコントローラ２９の制御アルゴリズムは、以下の式（４１）〜（４８）で表される。
ｒ(ｋ)＝−１・Ｇd・ＰＲＥＶＯ２(ｋ)                  ……（４１）
ｒｌ(ｋ)＝ｓａｔ（ｒ(ｋ)）                             ……（４２）
σdｒｌ(ｋ)＝σdｒl(ｋ−１)＋ｒｌ(ｋ)                     ……（４３）
σdｕ'(ｋ)＝σdｕ'(ｋ−１)＋ｕ'(ｋ−１)                  ……（４４）
δ(ｋ)＝σdｒｌ(ｋ)−σdｕ'(ｋ)                      ……（４５）
ｕ'(ｋ)＝ｓｇｎ（δ(ｋ)）                             ……（４６）
ｕ'''(ｋ)＝Ｆd・ｕ'(ｋ)                                 ……（４７）
ＫＣＭＤ(ｋ)＝ＦＬＡＦＢＡＳＥ＋ＦＬＡＦＡＤＰ＋ｕ'''(ｋ)  ……（４８）
ここで、非線形ゲインＧdの値は、ＰＲＥＶＯ２(ｋ)≧０のときには正の所定値Ｇd１（例えば値０．２）に、ＰＲＥＶＯ２(ｋ)＜０のときには所定値Ｇd１よりも大きい所定値Ｇd２（例えば値２）にそれぞれ設定される。また、ｓａｔ（ｒ(ｋ)）は、飽和関数であり、その値は、ｒ(ｋ)＜−１のときにはｓａｔ（ｒ(ｋ)）＝−１となり、−１≦ｒ(ｋ)≦１のときにはｓａｔ（ｒ(ｋ)）＝ｒ（ｋ）となり、ｒ(ｋ)＞１のときにはｓａｔ（ｒ(ｋ)）＝１となる。さらに、ｓｇｎ（δ(ｋ)）は符号関数であり、その値は、δ(ｋ)≧０のときにはｓｇｎ（δ(ｋ)）＝１となり、δ(ｋ)＜０のときにはｓｇｎ（δ(ｋ)）＝−１となる（なお、δ(ｋ)＝０のときに、ｓｇｎ（δ(ｋ)）＝０と設定してもよい）。
【０１２５】
なお、以上のＳＤＭコントローラ２９の演算処理の具体的なプログラムは、図示しないが、一部を除いて、第１実施形態の図１６，１７に示すものと同様に構成される。
【０１２６】
以上の本実施形態に係る制御装置１によれば、参照入力ｒ(ｋ)の制限値ｒｌ(ｋ)が、その絶対値がＳＤＭ出力ｕ'(ｋ)の絶対値を超えないように算出されるので、従来と異なり、制限値の積分値σdｒｌ(ｋ)とＳＤＭ出力の積分値σdｕ'(ｋ)と偏差δ(ｋ)の絶対値が増大するのを回避でき、それにより、予測値ＰＲＥＶＯ２(ｋ)の符号が反転した際、ＳＤＭ出力ｕ'(ｋ)の符号を迅速に反転させることができ、ΣΔ変調アルゴリズムにおける入出力間でのむだ時間の発生を防止することができる。その結果、前述した第１実施形態の制御装置１と同様の効果を得ることができる。
【０１２７】
なお、以上の各実施形態は、本発明の制御装置を内燃機関３の空燃比を制御するものとして構成した例であるが、本発明はこれに限らず、他の産業機器に適用可能であることは言うまでもない。
【０１２８】
また、各実施形態は、予測値ＰＲＥＶＯ２（ｋ）の正負に応じた非線形ゲインＧd，ＫＲＤＳＭを予測値ＰＲＥＶＯ２（ｋ）に乗算することにより、参照入力ｒ（ｋ），ＶＯ２ＤＳＭを算出した例であるが、参照入力ｒ（ｋ），ＶＯ２ＤＳＭを算出する手法はこれに限らず、予測値ＰＲＥＶＯ２（ｋ）に乗算する値を予測値ＰＲＥＶＯ２（ｋ）の正負に応じた異なる値として設定することにより、参照入力ｒ（ｋ），ＶＯ２ＤＳＭを算出する手法であればよい。例えば、ゲインスケジューラを用いることにより、参照入力ｒ（ｋ），ＶＯ２ＤＳＭを算出してもよい。
【０１２９】
さらに、各実施形態では、ＡＤＳＭコントローラ２０およびＤＳＭコントローラ２４をプログラムにより構成したが、ＡＤＳＭコントローラ２０およびＤＳＭコントローラ２４を、電気回路により構成してもよい。
【図面の簡単な説明】
【０１３０】
【図１】本発明の第１実施形態に係る制御装置およびこれを適用した内燃機関の概略構成を示す図である。
【図２】劣化状態および未劣化状態の第１触媒装置を用いた場合において、ＬＡＦセンサの出力ＫＡＣＴに対する、両第１触媒装置のＨＣおよびＮＯｘの浄化率と、Ｏ２センサ１５の出力Ｖｏｕｔとをそれぞれ測定した結果の一例を示す図である。
【図３】第１実施形態の制御装置のＡＤＳＭコントローラおよびＰＲＩＳＭコントローラの構成を示すブロック図である。
【図４】状態予測器の予測アルゴリズムの数式の一例を示す図である。
【図５】オンボード同定器の同定アルゴリズムの数式の一例を示す図である。
【図６】ΔΣ変調アルゴリズムが適用されたコントローラおよびこれを備えた制御系の構成を示すブロック図である。
【図７】図６の制御系の制御シミュレーション結果の一例を示すタイミングチャートである。
【図８】第１実施形態のＡＤＳＭコントローラによる適応予測型ΔΣ変調制御の原理を説明するためのタイミングチャートである。
【図９】ＡＤＳＭコントローラのうちのＤＳＭコントローラの構成を示すブロック図である。
【図１０】ＤＳＭコントローラのリミッタ（飽和関数）を説明するための説明図である。
【図１１】図９のＤＳＭコントローラの制御シミュレーション結果の一例を示すタイミングチャートである。
【図１２】図９のＤＳＭコントローラにおいてリミッタを省略した場合の制御シミュレーション結果の一例を示すタイミングチャートである。
【図１３】スライディングモードコントローラの制御アルゴリズムの数式を示す図である。
【図１４】内燃機関の燃料噴射制御処理を示すフローチャートである。
【図１５】適応空燃比制御処理を示すフローチャートである。
【図１６】図１５のステップ２５のΔΣ変調操作量ＤＫＣＭＤＤＳＭを算出する処理を示すフローチャートである。
【図１７】図１６の続きを示すフローチャートである。
【図１８】ゲインＫＤＳＭの算出に用いるテーブルの一例を示す図である。
【図１９】第１実施形態の制御装置による空燃比制御による動作例を示すタイミングチャートである。
【図２０】非線形ゲインに代えて線形ゲインを用いた場合の空燃比制御による動作の比較例を示すタイミングチャートである。
【図２１】第２実施形態に係る制御装置のＤＳＭコントローラの構成を示すブロック図である。
【図２２】図２１のＤＳＭコントローラのリミッタ（飽和関数）を説明するための説明図である。
【図２３】第２実施形態の制御装置による空燃比制御の動作例を示すタイミングチャートである。
【図２４】第３実施形態に係る制御装置のＳＤＭコントローラの構成を示すブロック図である。
【符号の説明】
【０１３１】
１    制御装置
２    ＥＣＵ２（参照入力算出手段、制限値算出手段、変調出力算出手段、制御入力
算出手段、制限手段、空燃比制御手段）
３    内燃機関
７    排気管（排気通路）
８ａ  第１触媒装置（触媒装置）
８ｂ  第２触媒装置（触媒装置）
１５    酸素濃度センサ（検出手段、空燃比センサ）
２４    ＤＳＭコントローラ（変調出力算出手段）
２４ｂ  リミッタ（制限値算出手段）
２４ｋ  リミッタ（制限手段）
２９    ＳＤＭコントローラ（変調出力算出手段）
２９ｂ  リミッタ（制限値算出手段）
ｒ（ｋ）  参照入力
ＤＳＭＶＯ２  参照入力
ｒｌ（ｋ）  制限値
ＤＳＭＶＯ２Ｌ  制限値
ｕ（ｋ）  ＤＳＭ出力（変調出力）
ＤＳＭＳＧＮＳ（ｋ）  ＤＳＭ出力（変調出力）
ｕ'（ｋ）  ＳＤＭ出力（変調出力）
ＫＣＭＤ  目標空燃比（制御入力）
Ｖｏｕｔ  酸素濃度センサの出力（制御対象の出力）
Ｖｏｐ  目標値
ＶＯ２ 出力偏差
ＰＲＥＶＯ２  出力偏差の予測値
Ｇd   非線形ゲイン（所定の値）
ＫＲＤＳＭ  非線形ゲイン（所定の値）
σd（ｋ）  偏差積分値（入力偏差の積分値）
σdｌ（ｋ）  偏差積分値の制限値（制限範囲内の値に制限された値）
【図１】
0004439508.tif 000002
【図２】
0004439508.tif 000003
【図３】
0004439508.tif 000004
【図４】
0004439508.tif 000005
【図５】
0004439508.tif 000006
【図６】
0004439508.tif 000007
【図７】
0004439508.tif 000008
【図８】
0004439508.tif 000009
【図９】
0004439508.tif 000010
【図１０】
0004439508.tif 000011
【図１１】
0004439508.tif 000012
【図１２】
0004439508.tif 000013
【図１３】
0004439508.tif 000014
【図１４】
0004439508.tif 000015
【図１５】
0004439508.tif 000016
【図１６】
0004439508.tif 000017
【図１７】
0004439508.tif 000018
【図１８】
0004439508.tif 000019
【図１９】
0004439508.tif 000020
【図２０】
0004439508.tif 000021
【図２１】
0004439508.tif 000022
【図２２】
0004439508.tif 000023
【図２３】
0004439508.tif 000024
【図２４】
0004439508.tif 000025