(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けた触媒装置の下流側に配置された酸素濃度センサと、該酸素濃度センサの出力を内燃機関の運転状態に応じて設定された所定の目標値に収束させるように該内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段と、該空燃比操作手段の処理の実行中における前記酸素濃度センサの出力のデータからあらかじめ定めた所定のアルゴリズムにより前記触媒装置の劣化状態を評価するための劣化評価用パラメータを生成するパラメータ生成手段とを備えた内燃機関の空燃比制御装置において、
前記劣化評価用パラメータは、前記酸素濃度センサの出力の時系列データを変数成分として表した所定の劣化評価用線形関数の値のばらつき度合いを表すデータであり、
前記劣化評価用パラメータを前記所定の目標値又は前記酸素濃度センサの出力の平均値に応じて補正し、その補正後の劣化評価用パラメータの値に基づき前記触媒装置の劣化状態を評価する劣化状態評価手段を備えたことを特徴とする内燃機関の空燃比制御装置。
【請求項２】
内燃機関の排気通路に設けた触媒装置の下流側に配置された酸素濃度センサと、該酸素濃度センサの出力を内燃機関の運転状態に応じて設定された所定の目標値に収束させるように該内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段と、該空燃比操作手段の処理の実行中における前記酸素濃度センサの出力のデータからあらかじめ定めた所定のアルゴリズムにより前記触媒装置の劣化状態を評価するための劣化評価用パラメータを生成するパラメータ生成手段と、該劣化評価用パラメータの値を所定の判定値と比較することにより前記触媒装置の劣化状態を評価する劣化状態評価手段とを備えた内燃機関の空燃比制御装置において、
前記劣化評価用パラメータは、前記酸素濃度センサの出力の時系列データを変数成分として表した所定の劣化評価用線形関数の値のばらつき度合いを表すデータであり、
前記劣化状態評価手段は、前記判定値を前記所定の目標値又は前記酸素濃度センサの出力の平均値に応じて設定する手段を備え、その設定した判定値と前記劣化評価用パラメータの値を比較することにより前記触媒装置の劣化状態を評価することを特徴とする内燃機関の空燃比制御装置。
【請求項３】
前記パラメータ生成手段は、前記劣化評価用線形関数の値の時系列データの各データ値と該劣化評価用線形関数の値の中心値としてあらかじめ定めた所定値との偏差の二乗値又は絶対値にローパス特性のフィルタリング処理を施すことにより前記劣化評価用パラメータを求めることを特徴とする請求項１又は２記載の内燃機関の空燃比制御装置。
【請求項４】
前記空燃比操作手段は、前記酸素濃度センサの出力を前記目標値に収束させるようにスライディングモード制御の処理により前記空燃比を操作するための操作量を逐次生成しつつ、該操作量に応じて前記空燃比を操作する手段であり、
前記劣化評価用線形関数は、前記スライディングモード制御の処理に用いる切換関数に応じて定められた線形関数であることを特徴とする請求項１〜３のいずれか１項に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の空燃比制御装置に関し、より詳しくは排ガス浄化用の触媒装置の劣化状態を評価することができる空燃比制御装置に関する。
【０００２】
【従来の技術】
内燃機関の排気通路に設けられた三元触媒等の排ガス浄化用の触媒装置の適正な浄化性能を確保するために、内燃機関で燃焼させる混合気の空燃比を制御する技術が従来より知られている。例えば本願出願人が、特開平９−３２４６８１号公報や特開平１１−１５３０５１号公報に提案した技術が知られている。この技術では、触媒装置の下流側にＯ2センサ（酸素濃度センサ）を配置し、そのＯ2センサの出力をあらかじめ定めた所定の目標値（一定値）に収束させるように、フィードバック制御（具体的にはスライディングモード制御）の処理により混合気の空燃比を操作するものである。
【０００３】
一方、前記触媒装置は、内燃機関の累積的な運転に伴い次第に劣化し、排ガスの浄化能力が低下していくので、その劣化がある程度進行した段階で新品の触媒装置に交換する等の処置を採る必要がある。このため、触媒装置の劣化状態を適正に評価し得る技術が望まれ、この種の技術としては、例えば特許公報第２５２６６４０号や、特開平７−１９０３３号公報に見られる技術が従来より知られている。これらの従来技術では、内燃機関で燃焼させる混合気の空燃比を積極的にリーン側からリッチ側、あるいはリッチ側からリーン側に変化させ、このとき、触媒装置の下流側に設けたＯ2センサの出力が反転するまでの時間や、該Ｏ2センサの出力の反転周期を計測する。そして、該従来技術は、その計測値に基づいて触媒装置の劣化状態を評価するものである。
【０００４】
しかし、これらの従来技術は、触媒装置の劣化状態を評価するために積極的に空燃比を変化させる必要があることから、該劣化状態の評価の際には、触媒装置の適正な浄化性能を確保することが困難である。換言すれば、触媒装置の適正な浄化性能を確保しながら、触媒装置の劣化状態を評価することが困難なものである。
【０００５】
そこで、本願出願人は、前述のように触媒装置の下流側のＯ2センサの出力を所定の目標値に収束させるように空燃比を操作しつつ、換言すれば、触媒装置の良好な浄化性能を確保しつつ、触媒装置の劣化状態を評価することが可能な装置の開発を試みている（例えば本願出願人による特願2000-139860号）。この技術は、上記のような空燃比制御を実行している際における触媒装置の下流側のＯ2センサの出力のデータから、ある適当なパラメータを求めたとき、該パラメータの値が触媒装置の劣化の進行に伴い特徴的な特性を持つことに着目し、そのパラメータの値に基づき触媒装置の劣化状態を評価するものである。このような技術によれば、触媒装置の良好な浄化性能を確保しつつ、触媒装置の劣化状態を評価することが可能となる。
【０００６】
ところで、前述のように触媒装置の下流側のＯ2センサの出力を所定の目標値に収束させるように空燃比を操作する技術（特許公報第２５２６６４０号や特開平７−１９０３３号公報等）では、下流側のＯ2センサの出力の目標値を基本的には所定の一定値としているが、触媒装置の種類等によっては、該触媒装置の好適な浄化性能を確保する上で、内燃機関の運転状態に応じてＯ2センサの出力の目標値を可変的に設定することが好ましいと考えられる場合もある。
【０００７】
そして、このように触媒装置の下流側のＯ2センサの出力の目標値を可変的に設定して空燃比制御を行なうものでは、その空燃比制御と並行して触媒装置の劣化状態の評価を行なうようにしたとき、その劣化状態の評価の信頼性に関して次のような不都合を生じる虞れがある。
【０００８】
すなわち、酸素濃度に対するＯ2センサの出力は非線形性を有するため（図２の実線ａを参照）、Ｏ2センサの出力の目標値が異なると、該Ｏ2センサの出力を目標値に収束制御している際の該Ｏ2センサの出力の変化の形態が異なるものになると考えられる。この結果、該Ｏ2センサの出力のデータから一義的に求めた前記パラメータの値が、触媒装置の劣化状態以外の要因の影響を受けるようになり、該パラメータの値に基づく触媒装置の劣化状態の評価の信頼性が低下する虞れがある。
【０００９】
【発明が解決しようとする課題】
本発明はかかる背景に鑑みてなされたものであり、触媒装置の下流側のＯ2センサの出力の目標値を内燃機関の運転状態に応じて可変的に設定して、該Ｏ2センサの出力をその目標値に収束させるように空燃比を操作するものにおいて、該目標値の可変化の影響を補償しつつ、触媒装置の劣化状態の評価を適正に行うことができる内燃機関の空燃比制御装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の内燃機関の空燃比制御装置はかかる目的を達成するために、二つの態様があり、その第１の態様は、内燃機関の排気通路に設けた触媒装置の下流側に配置された酸素濃度センサと、該酸素濃度センサの出力を内燃機関の運転状態に応じて設定された所定の目標値に収束させるように該内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段と、該空燃比操作手段の処理の実行中における前記酸素濃度センサの出力のデータからあらかじめ定めた所定のアルゴリズムにより前記触媒装置の劣化状態を評価するための劣化評価用パラメータを生成するパラメータ生成手段とを備えた内燃機関の空燃比制御装置において、前記劣化評価用パラメータは、前記酸素濃度センサの出力の時系列データを変数成分として表した所定の劣化評価用線形関数の値のばらつき度合いを表すデータであり、前記劣化評価用パラメータを前記所定の目標値又は前記酸素濃度センサの出力の平均値に応じて補正し、その補正後の劣化評価用パラメータの値に基づき前記触媒装置の劣化状態を評価する劣化状態評価手段を備えたことを特徴とするものである。
【００１１】
また、第２の態様は、内燃機関の排気通路に設けた触媒装置の下流側に配置された酸素濃度センサと、該酸素濃度センサの出力を内燃機関の運転状態に応じて設定された所定の目標値に収束させるように該内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段と、該空燃比操作手段の処理の実行中における前記酸素濃度センサの出力のデータからあらかじめ定めた所定のアルゴリズムにより前記触媒装置の劣化状態を評価するための劣化評価用パラメータを生成するパラメータ生成手段と、該劣化評価用パラメータの値を所定の判定値と比較することにより前記触媒装置の劣化状態を評価する劣化状態評価手段とを備えた内燃機関の空燃比制御装置において、前記劣化評価用パラメータは、前記酸素濃度センサの出力の時系列データを変数成分として表した所定の劣化評価用線形関数の値のばらつき度合いを表すデータであり、前記劣化状態評価手段は、前記判定値を前記所定の目標値又は前記酸素濃度センサの出力の平均値に応じて設定する手段を備え、その設定した判定値と前記劣化評価用パラメータの値を比較することにより前記触媒装置の劣化状態を評価することを特徴とするものである。
【００１２】
かかる本発明によれば、前記酸素濃度センサの出力の目標値又は該酸素濃度センサの出力の平均値に応じて、換言すれば、前記空燃比操作手段の処理によって酸素濃度センサの出力がどのようなレベル値に制御されるかに応じて、前記酸素濃度センサの出力データから生成される劣化評価用パラメータを補正し（第１の態様）、あるいは、該劣化評価用パラメータと比較する前記判定値を設定する（第２の態様）ので、酸素濃度センサの出力の目標値を内燃機関の運転状態に応じて可変的に設定しても、その目標値によらずに、触媒装置の劣化状態を適正に評価することが可能となる。
【００１３】
すなわち、本発明の第１の態様では、劣化評価用パラメータを前記目標値又は酸素濃度センサの出力の平均値に応じて補正することで、その補正後の劣化評価用パラメータの値を、酸素濃度センサの出力の目標値によらずに触媒装置の劣化状態のみに応じて変化するようなものにすることができ、その結果、該補正後の劣化評価用パラメータの値に基づいて、触媒装置の劣化状態の評価を適正に行なうことができる。また、本発明の第２の態様では、劣化評価用パラメータの値は、酸素濃度センサの出力の目標値の影響を受けるものの、該劣化評価用パラメータの値と比較する判定値を前記目標値又は酸素濃度センサの出力の平均値に応じて設定することにより、前記第１の態様と同等の効果を奏することができる。そして、本発明では、前記空燃比操作手段の処理の実行中、すなわち、前記酸素濃度センサの出力の前記目標値への収束制御を行なっている状態における酸素濃度センサの出力のデータから前記劣化評価用パラメータを生成するので、触媒装置の良好な浄化性能を確保しながら触媒装置の劣化状態を評価することができる。
【００１４】
さらに本発明では、前記劣化評価用パラメータは、前記酸素濃度センサの出力の時系列データを変数成分として表した所定の劣化評価用線形関数の値のばらつき度合いを表すデータである。
【００１５】
すなわち、酸素濃度センサの出力の前記目標値への収束制御を行っている状態において、該酸素濃度センサの時系列データから、その時系列データを変数成分とする、ある適当な所定の線形関数（酸素濃度センサの出力の時系列データの線形結合の形に表現されるような関数）の値を求めたとき、その線形関数の値は、触媒装置の劣化の進行度合いとの間に特徴的な相関性を呈する傾向がある。例えば、触媒装置がほぼ新品状態であるときには、前記線形関数の値は、ある所定値の近傍に集積するが、触媒装置の劣化が進行していくと、前記線形関数の値は、上記所定値から離間した値を採り易くなる傾向がある。つまり、触媒装置の劣化の進行に伴い該線形関数の値のばらつき度合いが大きくなる。
【００１６】
従って、前記線形関数の値のばらつき度合いを表すデータを劣化評価用パラメータとして生成することで、該劣化評価用パラメータの値と触媒装置の劣化状態との相関性を高めることができ、ひいては、触媒装置の劣化状態の評価の信頼性を高めることができる。
【００１７】
この場合、前記劣化評価用パラメータは、例えば前記劣化評価用線形関数の値と所定値との偏差の二乗値や該偏差の絶対値等であってもよいが、好ましくは、前記パラメータ生成手段は、前記劣化評価用線形関数の値の時系列データの各データ値と該劣化評価用線形関数の値の中心値としてあらかじめ定めた所定値との偏差の二乗値又は絶対値にローパス特性のフィルタリング処理を施すことにより前記劣化評価用パラメータを求める。
【００１８】
このように前記偏差の二乗値又は絶対値にローパス特性のフィルタリング処理を施して劣化評価用パラメータを求めたとき、その劣化評価用パラメータの値は、劣化評価用線形関数の値のばらつき度合いを表すものとして適正なものとなると共に、触媒装置の劣化の進行に伴い単調的に増加していくようになり、該触媒装置の劣化状態との相関性が明白になる。従って、この劣化評価用パラメータの値に基づいて、触媒装置の劣化状態の評価を高い信頼性で確実に行うことが可能となる。
【００１９】
また、前述のように劣化評価用パラメータを求めるために前記劣化評価用線形関数を用いる本発明では、前記空燃比操作手段は、前記酸素濃度センサの出力を前記目標値に収束させるようにスライディングモード制御の処理により前記空燃比を操作するための操作量を逐次生成しつつ、該操作量に応じて前記空燃比を操作する手段であり、前記劣化評価用線形関数は、前記スライディングモード制御の処理に用いる切換関数に応じて定められた線形関数であることが好適である。
【００２０】
すなわち、前記劣化評価用線形関数の値の前述のような触媒装置の劣化状態に応じた傾向は、前記空燃比操作手段により空燃比を操作するための前記操作量（例えば目標空燃比等）をフィードバック制御の一手法であるスライディングモード制御の処理により生成した場合に、好適に顕著なものとなりやすい。そして、このようにスライディングモード制御の処理を用いて空燃比を操作する場合には、特に、触媒装置の劣化状態との相関性が高い劣化評価用線形関数は該スライディングモード制御の処理に用いる切換関数に密接に関連しており、該切換関数に応じて定まる線形関数を劣化評価用線形関数とすることが好適である。
【００２１】
この場合、より具体的には、前記スライディングモード制御の処理では、例えば前記酸素濃度センサの出力と前記目標値との偏差の時系列データを変数成分として表した線形関数を前記切換関数として用いる。そして、このような切換関数をスライディングモード制御の処理に用いる場合には、前記劣化評価用線形関数は、その変数成分に係る係数値を前記切換関数の変数成分に係る係数値と同一とした線形関数とすることが好適である。尚、この線形関数は、スライディングモード制御用の前記切換関数そのものであってもよい。
【００２２】
このようにスライディングモード制御用の切換関数に応じて定まる線形関数を前記劣化評価用線形関数とすることで、該劣化評価用線形関数の値と触媒装置の劣化状態との相関性が顕著なものとなり、該劣化評価用線形関数の値に基づく触媒装置の劣化状態の評価を適正に行うことができる。
【００２３】
【発明の実施の形態】
本発明の第１実施形態を図１〜図２０を参照して説明する。
【００２４】
図１は本実施形態の装置の全体的なシステム構成を示すブロック図である。図中、１は、例えば自動車やハイブリッド車にその車両の推進源として搭載された４気筒のエンジン（内燃機関）である。このエンジン１の各気筒毎に燃料及び空気の混合気の燃焼により生成される排ガスは、エンジン１の近傍で共通の排気管２（排気通路）に集合され、該排気管２を介して大気中に放出される。排気管２には、排ガスを浄化するために、例えば三元触媒により構成された二つの触媒装置３，４が上流側から順に介装されている。
【００２５】
尚、本実施形態で劣化状態を評価する触媒装置は、上流側の触媒装置３であり、下流側の触媒装置４は省略してもよい。
【００２６】
本実施形態の装置では、基本的には、触媒装置３の最適な浄化性能を確保するようにエンジン１で燃焼させる混合気の空燃比を操作する。また、この空燃比制御を行いながら、触媒装置３の劣化状態を評価する。
【００２７】
そして、このような処理を行うために、触媒装置３の上流側（より詳しくはエンジン１の各気筒毎の排ガスの集合箇所）で排気管２に設けられた空燃比センサ５と、触媒装置３の下流側（触媒装置４の上流側）で排気管２に設けられたＯ2センサ（酸素濃度センサ）６と、これらのセンサ５，６の出力等に基づき後述の制御処理や触媒装置３の劣化状態の評価を行う制御ユニット７とを備えている。
【００２８】
尚、制御ユニット７には、前記空燃比センサ５やＯ2センサ６の出力の他に、エンジン１の運転状態を検出するための図示しない回転数センサや吸気圧センサ、冷却水温センサ等、各種のセンサの出力が与えられる。
【００２９】
Ｏ2センサ６は、触媒装置３を通過した排ガス中の酸素濃度に応じたレベルの出力VO2/OUT（酸素濃度の検出値を示す出力）を生成する通常的なＯ2センサである。ここで、排ガス中の酸素濃度は、その排ガスを燃焼により生成した混合気の空燃比に応じたものとなる。そして、このＯ2センサ６の出力VO2/OUTは、図２に実線ａで示す如く、排ガス中の酸素濃度に対応する空燃比が理論空燃比近傍の範囲Δに存するような状態で、該排ガス中の酸素濃度に対して高感度な変化を生じるものとなる。また、その範囲Δを逸脱した空燃比に対応する酸素濃度では、Ｏ2センサ６の出力VO2/OUTは飽和して、ほぼ一定のレベルとなる。この場合、上記範囲Δにおいて、酸素濃度に対するＯ2センサ６の出力VO2/OUTの感度（酸素濃度の変化に対する出力VO2/OUTの変化率）は、該出力VO2/OUTの上限レベル及び下限レベルの間の中央レベルVO2/OUT1の近傍で最大となり、この中央レベルVO2/OUTよりも上側あるいは下側のレベル（例えば図２のVO2/OUT2や、VO2/OUT3のレベル）では、該感度は若干低下する。
【００３０】
空燃比センサ５は、触媒装置３に進入する排ガスの酸素濃度により把握される空燃比（以下、この空燃比を単にエンジン１の空燃比ということがある）の検出値を表す出力KACTを生成するものである。この空燃比センサ５は、例えば本願出願人が特開平４−３６９４７１号公報にて詳細に説明した広域空燃比センサにより構成されたものであり、図２に実線ｂで示す如く、Ｏ2センサ６よりも排ガス中の酸素濃度の広範囲にわたってそれに比例したレベルの出力を生成するものである。換言すれば、該空燃比センサ５（以下、ＬＡＦセンサ５という）は、排ガス中の酸素濃度に対応した空燃比の広範囲にわたってそれに比例したレベルの出力KACTを生成するものである。
【００３１】
制御ユニット７は、エンジン１の空燃比を規定する操作量としての目標空燃比KCMD（ＬＡＦセンサ５で検出される空燃比の目標値）を算出するための処理、並びに触媒装置３の劣化状態を評価するための処理を担う制御ユニット７ａ（以下、排気側制御ユニット７ａという）と、上記目標空燃比KCMDに応じてエンジン１の燃料噴射量（燃料供給量）を調整することでエンジン１で燃焼させる混合気の空燃比を操作する処理を担う制御ユニット７ｂ（以下、機関側制御ユニット７ｂという）とから構成されている。
【００３２】
これらの制御ユニット７ａ，７ｂはマイクロコンピュータを用いて構成されたものであり、それぞれの処理を所定の制御サイクルで実行する。ここで、本実施形態では、排気側制御ユニット７ａがその処理（目標空燃比KCMDの生成処理や触媒装置３の劣化状態の評価処理）を実行する制御サイクルは、触媒装置３に起因した後述の無駄時間や演算負荷等を考慮して、あらかじめ定めた一定周期（例えば３０〜１００ｍｓ）としている。
【００３３】
また、機関側制御ユニット７ｂが実行する処理（燃料噴射量の調整処理）は、エンジン１の回転数（詳しくはエンジン１の燃焼サイクル）に同期させて行う必要がある。このため、機関側制御ユニット７ｂがその処理を実行する制御サイクルは、エンジン１のクランク角周期（所謂ＴＤＣ）に同期した周期としている。
【００３４】
尚、排気側制御ユニット７ａの制御サイクルの一定周期は、前記クランク角周期（ＴＤＣ）よりも長いものとされている。
【００３５】
前記機関側制御ユニット７ｂを図１を参照してさらに説明する。機関側制御ユニット７ｂは、その機能的構成として、エンジン１への基本燃料噴射量Ｔimを求める基本燃料噴射量算出部８と、基本燃料噴射量Ｔimを補正するための第１補正係数KTOTAL及び第２補正係数KCMDMをそれぞれ求める第１補正係数算出部９及び第２補正係数算出部１０とを具備する。
【００３６】
前記基本燃料噴射量算出部８は、エンジン１の回転数NEと吸気圧PBとから、それらにより規定されるエンジン１の基準の燃料噴射量（燃料供給量）をあらかじめ設定されたマップを用いて求め、その基準の燃料噴射量をエンジン１の図示しないスロットル弁の有効開口面積に応じて補正することで基本燃料噴射量Ｔimを算出するものである。
【００３７】
また、第１補正係数算出部９が求める第１補正係数KTOTALは、エンジン１の排気還流率（エンジン１の吸入空気中に含まれる排ガスの割合）や、エンジン１の図示しないキャニスタのパージ時にエンジン１に供給される燃料のパージ量、エンジン１の冷却水温、吸気温等を考慮して前記基本燃料噴射量Ｔimを補正するためのものである。
【００３８】
また、第２補正係数算出部１０が求める第２補正係数KCMDMは、排気側制御ユニット７ａが後述の如く算出する目標空燃比KCMDに対応してエンジン１へ流入する燃料の冷却効果による吸入空気の充填効率を考慮して基本燃料噴射量Ｔimを補正するためのものである。
【００３９】
これらの第１補正係数KTOTAL及び第２補正係数KCMDMによる基本燃料噴射量Ｔimの補正は、第１補正係数KTOTAL及び第２補正係数KCMDMを基本燃料噴射量Ｔimに乗算することで行われ、この補正によりエンジン１の要求燃料噴射量Ｔcylが得られる。
【００４０】
尚、前記基本燃料噴射量Ｔimや、第１補正係数KTOTAL、第２補正係数KCMDMのより具体的な算出手法は、特開平５−７９３７４号公報等に本願出願人が開示しているので、ここでは詳細な説明を省略する。
【００４１】
機関側制御ユニット７ｂは、上記の機能的構成の他、さらに、排気側制御ユニット７ａが算出する目標空燃比KCMDにＬＡＦセンサ５の出力KACT（エンジン１の空燃比の検出値）を収束させるようにフィードバック制御によりエンジン１の燃料噴射量を調整することでエンジン１で燃焼させる混合気の空燃比を操作するフィードバック制御部１４を備えている。
【００４２】
このフィードバック制御部１４は、本実施形態では、エンジン１の各気筒の全体的な空燃比をフィードバック制御する大局的フィードバック制御部１５と、エンジン１の各気筒毎の空燃比をフィードバック制御する局所的フィードバック制御部１６とに分別される。
【００４３】
前記大局的フィードバック制御部１５は、ＬＡＦセンサ５の出力KACTが前記目標空燃比KCMDに収束するように、前記要求燃料噴射量Ｔcylを補正する（要求燃料噴射量Ｔcylに乗算する）フィードバック補正係数KFBを逐次求めるものである。
【００４４】
この大局的フィードバック制御部１５は、ＬＡＦセンサ５の出力KACTと目標空燃比KCMDとの偏差に応じて周知のＰＩＤ制御を用いて前記フィードバック補正係数KFBとしてのフィードバック操作量KLAFを生成するＰＩＤ制御器１７と、ＬＡＦセンサ５の出力KACTと目標空燃比KCMDとからエンジン１の運転状態の変化や特性変化等を考慮して前記フィードバック補正係数K FBを規定するフィードバック操作量KSTRを適応的に求める適応制御器１８（図ではＳＴＲと称している）とをそれぞれ独立的に具備している。
【００４５】
ここで、本実施形態では、前記ＰＩＤ制御器１７が生成するフィードバック操作量KLAFは、ＬＡＦセンサ５の出力KACT（空燃比の検出値）が目標空燃比KCMDに一致している状態で「１」となり、該操作量KLAFをそのまま前記フィードバック補正係数KFBとして使用できるようになっている。一方、適応制御器１８が生成するフィードバック操作量KSTRはＬＡＦセンサ５の出力KACTが目標空燃比KCMDに一致する状態で「目標空燃比KCMD」となるものである。このため、該フィードバック操作量KSTRを除算処理部１９で目標空燃比KCMDにより除算してなるフィードバック操作量kstr（＝KSTR／KCMD）が前記フィードバック補正係数KFBとして使用できるようになっている。
【００４６】
大局的フィードバック制御部１５は、ＰＩＤ制御器１７により生成されるフィードバック操作量KLAFと、適応制御器１８が生成するフィードバック操作量KSTRを目標空燃比KCMDにより除算してなるフィードバック操作量kstrとを切換部２０で適宜、択一的に選択する。そして、いずれか一方のフィードバック操作量KLAF又はkstrを前記フィードバック補正係数KFBとして使用し、該補正係数KFBを前記要求燃料噴射量Ｔcylに乗算することにより該要求燃料噴射量Ｔcylを補正する。尚、かかる大局的フィードバック制御部１５（特に適応制御器１８）については後にさらに詳細に説明する。
【００４７】
前記局所的フィードバック制御部１６は、ＬＡＦセンサ５の出力KACTから各気筒毎の実空燃比#nA/F(ｎ＝1，2，3，4)を推定するオブザーバ２１と、このオブザーバ２１により推定された各気筒毎の実空燃比#nA/Fから各気筒毎の空燃比のばらつきを解消するよう、ＰＩＤ制御を用いて各気筒毎の燃料噴射量のフィードバック補正係数#nKLAFをそれぞれ求める複数（気筒数個）のＰＩＤ制御器２２とを具備する。
【００４８】
ここで、オブザーバ２１は、それを簡単に説明すると、各気筒毎の実空燃比#nA/Fの推定を次のように行うものである。すなわち、エンジン１からＬＡＦセンサ５の箇所（各気筒毎の排ガスの集合部）にかけての系を、エンジン１の各気筒毎の実空燃比#nA/FからＬＡＦセンサ５で検出される空燃比を生成する系と考える。そして、この系を、ＬＡＦセンサ５の検出応答遅れ（例えば一次遅れ）や、ＬＡＦセンサ５で検出される空燃比に対するエンジン１の各気筒毎の空燃比の時間的寄与度を考慮してモデル化する。そして、そのモデルの基で、ＬＡＦセンサ５の出力KACTから、逆算的に各気筒毎の実空燃比#nA/Fを推定する。
【００４９】
尚、このようなオブザーバ２１は、本願出願人が例えば特開平７−８３０９４号公報に詳細に開示しているので、ここでは、さらなる説明を省略する。
【００５０】
また、局所的フィードバック制御部１６の各ＰＩＤ制御器２２は、ＬＡＦセンサ５の出力KACTを、前回の制御サイクルで各ＰＩＤ制御器２２により求められたフィードバック補正係数#nKLAFの全気筒についての平均値により除算してなる値を各気筒の空燃比の目標値とする。さらに、その目標値とオブザーバ２１により求められた各気筒毎の実空燃比#nA/Fの推定値との偏差が解消するように、今回の制御サイクルにおける各気筒毎のフィードバック補正係数#nKLAFを求める。
【００５１】
そして、局所的フィードバック制御部１６は、前記要求燃料噴射量Ｔcylに大局的フィードバック制御部１５のフィードバック補正係数KFBを乗算してなる値に、各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒の出力燃料噴射量#nＴout(ｎ＝1，2，3，4)を求める。
【００５２】
このようにして求められる各気筒の出力燃料噴射量#nＴoutは、機関側制御ユニット７ｂに備えた各気筒毎の付着補正部２３により、吸気管での燃料の壁面付着を考慮した補正が各気筒毎になされた後、エンジン１の図示しない燃料噴射装置に与えられる。そして、その付着補正がなされた出力燃料噴射量#nＴoutに従って、エンジン１の各気筒への燃料噴射が行われるようになっている。
【００５３】
尚、上記付着補正については、本願出願人が例えば特開平８−２１２７３号公報に詳細に開示しているので、ここではさらなる説明を省略する。また、図１において、参照符号２４を付したセンサ出力選択処理部は、前記オブザーバ２１による各気筒毎の実空燃比#nA/Fの推定に適したＬＡＦセンサ５の出力KACTをエンジン１の運転状態に応じて選択するもので、これについては、本願出願人が特開平７−２５９５８８号公報にて詳細に開示しているので、ここではさらなる説明を省略する。
【００５４】
一方、前記排気側制御ユニット７ａは、ＬＡＦセンサ５の出力K ACTと所定の基準値FLAF/BASEとの偏差kact（＝KACT−FLAF/BASE）を求める減算処理部１１と、Ｏ2センサ６の出力VO2/OUTとその目標値VO2/TARGETとの偏差VO2（＝VO2/OUT−VO2/TARGET）を求める減算処理部１２とを備えている。
【００５５】
ここで、Ｏ2センサ６の出力VO2/OUTに対する上記目標値VO2/TARGETは、触媒装置３の最適な浄化性能が得られるようなＯ2センサ６の出力値として排気側制御ユニット７ａがエンジン１の運転状態に応じて逐次決定するものである。そして、この場合、本実施形態では、排気側制御ユニット７ａは、エンジン１の回転数NE及び吸気圧PBからあらかじめ設定されたマップを用いてＯ2センサ６の目標値VO2/TARGETを制御サイクル毎に決定するようにしている。該目標値VO2/TARGETは、例えば図２の出力値VO2/OUT2，VO2/OUT3の間の値である。
【００５６】
尚、ＬＡＦセンサ５の出力KACTに対する前記基準値FLAF/BASEは、本実施形態では、「理論空燃比」に設定されている。また、以下の説明において、前記減算処理部１１，１２がそれぞれ求める偏差kact，V O2をそれぞれＬＡＦセンサ５の偏差出力kact及びＯ2センサ６の偏差出力VO2と称する。
【００５７】
排気側制御ユニット７ａはさらに、上記の偏差出力kact，VO2のデータがそれぞれＬＡＦセンサ５の出力及びＯ2センサ６の出力のデータとして与えられる排気側主演算処理部１３を備えている。
【００５８】
この排気側主演算処理部１３は、その機能として、図３に示すように、前記偏差出力kact，VO2のデータに基づいてエンジン１の目標空燃比KCMDを逐次算出する目標空燃比算出手段１３ａと、Ｏ2センサ６の偏差出力VO2のデータに基づいて触媒装置３の劣化状態を評価する劣化状態評価手段１３ｂとを有する。
【００５９】
この場合、より詳しくは目標空燃比算出手段１３ａは、排気管２のＬＡＦセンサ５の箇所からＯ2センサ６の箇所にかけての触媒装置３を含む排気系（図１で参照符号Ｅを付した部分）を制御対象とする。そして、この対象排気系Ｅが有する無駄時間や、前記エンジン１及び機関側制御ユニット７ｂが有する無駄時間、対象排気系Ｅの挙動変化等を考慮しつつ、スライディングモード制御（詳しくは適応スライディングモード制御）を用いてＯ2センサ６の出力VO2/OUTをその目標値VO2/TARGETに収束させるようにエンジン１の目標空燃比KCMDを逐次算出するものである。
【００６０】
また、劣化状態評価手段１３ｂは、Ｏ2センサ６の偏差出力VO2の時系列データから定まる後述の劣化評価用線形関数の値に基づいて触媒装置３の劣化状態を評価すると共に、その評価結果に応じて本実施形態の装置に備えた劣化報知器２９（図１参照）の動作を制御するものである。該劣化報知器２９は、ランプの点灯もしくは点滅、あるいはブザーの鳴動、あるいは文字もしくは図形の表示等により触媒装置３の劣化状態を外部に報知するものである。
【００６１】
尚、前記目標空燃比算出手段１３ａは、前記機関側制御ユニット７ｂと併せて本発明における空燃比操作手段に相当するものである。また、本実施形態における前記劣化状態評価手段１３ｂは、本発明におけるパラメータ生成手段としての機能を含むものである。
【００６２】
前記目標空燃比算出手段１３ａ及び劣化状態評価手段１３ｂをさらに説明する。
【００６３】
まず、目標空燃比算出手段１３ａに関し、本実施形態では、該手段１３ａの処理を行うために、前記対象排気系Ｅを、前記ＬＡＦセンサ５の出力KACT（エンジン１の空燃比の検出値）から無駄時間要素及び応答遅れ要素を介してＯ2センサ６の出力VO2/OUT（触媒装置３を通過した排ガス中の酸素濃度の検出値）を生成する系と見なし、その挙動をあらかじめ離散時間系でモデル化している。
【００６４】
さらに、前記エンジン１及び機関側制御ユニット７ｂから成る系を、目標空燃比KCMDから無駄時間要素を介してＬＡＦセンサ５の出力KACTを生成する系（以下、この系を空燃比操作系と称する）と見なし、その挙動をあらかじめ離散時間系でモデル化している。
【００６５】
この場合、本実施形態では、対象排気系Ｅの挙動を離散時間系で表現するモデル（以下、排気系モデルという）は、ＬＡＦセンサ５の出力KACT及びＯ2センサ６の出力VO2/OUTの代わりに、ＬＡＦセンサ５の前記偏差出力kact（＝KACT−FLAF/BASE）とＯ2センサ６の前記偏差出力VO2（＝VO2/OUT−VO2/TARGET）とを用いて、次式（１）により表現する。
【００６６】
【数１】
0004437626.tif 000002
【００６７】
この式（１）は、対象排気系ＥがＬＡＦセンサ５の偏差出力kactから、無駄時間要素及び応答遅れ要素を介してＯ2センサ６の偏差出力VO2を生成する系であると見なして、該対象排気系Ｅの挙動を離散時間系のモデル（より詳しくは対象排気系Ｅの入力量としての偏差出力kactに無駄時間を有する自己回帰モデル）で表現したものである。
【００６８】
ここで、上式（１）において、「ｋ」は前記排気側制御ユニット７ａの離散時間的な制御サイクルの番数を示し（以下、同様）、「d1」は対象排気系Ｅに存する無駄時間（詳しくはＬＡＦセンサ５が検出する各時点の空燃比がＯ2センサ６の出力VO2/OUTに反映されるようになるまでに要する無駄時間）を制御サイクル数で表したものである。この場合、対象排気系Ｅの無駄時間は、排気側制御ユニット７ａの制御サイクルの周期（これは本実施形態では一定である）を３０〜１００ｍｓとしたとき、一般的には、３〜１０制御サイクル分の時間（d1＝３〜１０）である。そして、本実施形態では、式（１）により表した排気系モデルにおける無駄時間d1の値として、対象排気系Ｅの実際の無駄時間と等しいか、もしくはそれよりも若干長いものにあらかじめ設定した所定の一定値（本実施形態では例えばd1＝７）を設定している。
【００６９】
また、式（１）の右辺第１項及び第２項はそれぞれ対象排気系Ｅの応答遅れ要素に対応するもので、第１項は１次目の自己回帰項、第２項は２次目の自己回帰項である。そして、「a1」、「a2」はそれぞれ１次目の自己回帰項のゲイン係数、２次目の自己回帰項のゲイン係数である。これらのゲイン係数a1，a2は別の言い方をすれば、対象排気系Ｅの出力量としてのＯ2センサ６の偏差出力VO2に係る係数である。
【００７０】
さらに、式（１）の右辺第３項は対象排気系Ｅの入力量としてのＬＡＦセンサ５の偏差出力kactに対象排気系Ｅの無駄時間d1を含めて表現したものであり、「b1」はその入力量（＝ＬＡＦセンサ５の偏差出力kact）に係るゲイン係数である。これらのゲイン係数a1，a2，b1は排気系モデルの挙動を規定するパラメータであり、本実施形態では後述の同定器によって逐次同定するものである。
【００７１】
一方、エンジン１及び機関側制御ユニット７ｂからなる前記空燃比操作系の離散時間系のモデル（以下、空燃比操作系モデルという）は、本実施形態では、排気系モデルの場合と同様にＬＡＦセンサ５の出力KACTの代わりにＬＡＦセンサ５の前記偏差出力kact（＝KACT−FLAF/BASE）を用いると共に、これに対応させて目標空燃比KCMDの代わりに該目標空燃比KCMDの前記基準値FLAF/BASEに対する偏差kcmd（＝KCMD−FLAF/BASE。これはＬＡＦセンサ５の偏差出力kactの目標値に相当する。以下、これを目標偏差空燃比kcmdという）とを用い、次式（２）により表す。
【００７２】
【数２】
0004437626.tif 000003
【００７３】
この式（２）は空燃比操作系が前記目標偏差空燃比kcmdから無駄時間要素を介してＬＡＦセンサ５の偏差出力kactを生成する系（各制御サイクルにおける偏差出力kactが無駄時間前の目標偏差空燃比kcmdに一致するような系）であると見なして、該空燃比操作系を離散時間系のモデルで表現したものである。
【００７４】
ここで、式（２）において、「d2」が空燃比操作系の無駄時間（詳しくは各時点の目標空燃比KCMDがＬＡＦセンサ５の出力KACTに反映されるようになるまでに要する無駄時間）を排気側制御ユニット７ａの制御サイクル数で表したものである。この場合、空燃比操作系の無駄時間は、エンジン１の回転数NEによって変化し、エンジン１の回転数が低くなる程、長くなる。そして、本実施形態では、式（２）により表した空燃比操作系モデルにおける無駄時間d2の値としては、上記のような空燃比操作系の無駄時間の特性を考慮し、例えばエンジン１の低速回転域の回転数であるアイドリング回転数において実際の空燃比操作系が有する無駄時間（これは、エンジン１の任意の回転数において空燃比操作系が採り得る最大側の無駄時間である）と等しいか、もしくはそれよりも若干長いものにあらかじめ設定した所定の一定値（本実施形態では例えばd2＝３）を用いる。
【００７５】
尚、前記空燃比操作系には、実際には、無駄時間要素の他、エンジン１に起因した応答遅れ要素も含まれる。しかるに、目標空燃比KCMDに対するＬＡＦセンサ５の出力KACTの応答遅れは、基本的には前記機関側制御ユニット７ｂのフィードバック制御部１４（特に適応制御器１８）によって補償されるため、排気側制御ユニット７ａから見た空燃比操作系では、エンジン１に起因する応答遅れ要素を考慮せずとも支障はない。
【００７６】
前記排気側主演算処理部１３の目標空燃比算出手段１３ａは、式（１）及び式（２）によりそれぞれ表現した排気系モデル及び空燃比操作系モデルに基づく目標空燃比KCMDの算出処理を排気側制御ユニット７ａの制御サイクルで実行するものである。そして、この処理を行うために、図３に示すような機能的構成を具備している。
【００７７】
すなわち、目標空燃比算出手段１３ａは、前記排気系モデル（式（１））の設定すべきパラメータである前記ゲイン係数a1，a2，b1の同定値a1ハット，a2ハット，b1ハット（以下、同定ゲイン係数a1ハット，a2ハット，b1ハットという）を制御サイクル毎に逐次求める同定器２５と、対象排気系Ｅの無駄時間d1及び空燃比操作系の無駄時間d2を合わせた合計無駄時間ｄ（＝d1＋d2）後のＯ2センサ６の偏差出力VO2の推定値VO2バー（以下、推定偏差出力VO2バーという）を制御サイクル毎に逐次求める推定器２６と、適応スライディングモード制御の処理により前記目標空燃比KCMDを制御サイクル毎に逐次算出するスライディングモード制御器２７とを具備する。
【００７８】
これらの同定器２５、推定器２６及びスライディングモード制御器２７による演算処理のアルゴリズムは以下のように構築されている。
【００７９】
まず、前記同定器２５は、前記式（１）により表現した排気系モデルの実際の対象排気系Ｅに対するモデル化誤差を極力小さくするように前記ゲイン係数a1，a2，b1の値をリアルタイムで逐次同定するものであり、その同定処理を次のように行う。
【００８０】
すなわち、同定器２５は、排気側制御ユニット７ａの制御サイクル毎に、まず、今現在設定されている排気系モデルの同定ゲイン係数a1ハット，a2ハット，b1ハット、すなわち前回の制御サイクルで決定した同定ゲイン係数a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットの値と、ＬＡＦセンサ５の偏差出力kact及びＯ2センサ６の偏差出力VO2の過去値のデータkact(k-d1-1)，VO2(k-1)，VO2(k-2)とを用いて、次式（３）により排気系モデル上でのＯ2センサ６の偏差出力VO2（排気系モデルの出力）の値VO2(k)ハット（以下、同定偏差出力VO2(k)ハットという）を求める。
【００８１】
【数３】
0004437626.tif 000004
【００８２】
この式（３）は、排気系モデルを表す前記式（１）を１制御サイクル分、過去側にシフトし、ゲイン係数a1，a2，b1として同定ゲイン係数a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットを用いたものである。また、式（３）の第３項で用いる対象排気系Ｅの無駄時間d1の値は、前述の如く設定した一定値（本実施形態ではd1＝７）を用いる。
【００８３】
ここで、次式（４），（５）で定義されるベクトルΘ及びξを導入すると（式（４），（５）中の添え字「Ｔ」は転置を意味する。以下同様。）、
【００８４】
【数４】
0004437626.tif 000005
【００８５】
【数５】
0004437626.tif 000006
【００８６】
前記式（３）は、次式（６）により表される。
【００８７】
【数６】
0004437626.tif 000007
【００８８】
さらに同定器２５は、前記式（３）あるいは式（６）により求められるＯ2センサ６の同定偏差出力VO2(k)ハットと今現在のＯ2センサ６の偏差出力VO2(k)との偏差id/e(k)を排気系モデルの実際の対象排気系Ｅに対するモデル化誤差を表すものとして次式（７）により求める（以下、偏差id/eを同定誤差id/eという）。
【００８９】
【数７】
0004437626.tif 000008
【００９０】
そして、同定器２５は、上記同定誤差id/eを最小にするように新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハット、換言すれば、これらの同定ゲイン係数を要素とする新たな前記ベクトルΘ(k)（以下、このベクトルを同定ゲイン係数ベクトルΘという）を求めるものであり、その算出を、次式（８）により行う。すなわち、同定器２５は、前回の制御サイクルで決定した同定ゲイン係数a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットを、同定誤差id/e(k)に比例させた量だけ変化させることで新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを求める。
【００９１】
【数８】
0004437626.tif 000009
【００９２】
ここで、式（８）中の「Ｋθ」は次式（９）により決定される三次のベクトル（各同定ゲイン係数a1ハット，a 2ハット，b1ハットの同定誤差id/eに応じた変化度合いを規定するゲイン係数ベクトル）である。
【００９３】
【数９】
0004437626.tif 000010
【００９４】
また、上式（９）中の「Ｐ」は次式（１０）の漸化式により決定される三次の正方行列である。
【００９５】
【数１０】
0004437626.tif 000011
【００９６】
尚、式（１０）中の「λ1」、「λ2」は０＜λ1≦１及び０≦λ2＜２の条件を満たすように設定され、また、「Ｐ」の初期値Ｐ(0)は、その各対角成分を正の数とする対角行列である。
【００９７】
この場合、式（１０）中の「λ1」、「λ2」の設定の仕方によって、固定ゲイン法、漸減ゲイン法、重み付き最小二乗法、最小二乗法、固定トレース法等、各種の具体的な同定アルゴリズムが構成され、本実施形態では、例えば最小二乗法（この場合、λ1＝λ2＝１）を採用している。
【００９８】
本実施形態における同定器２５は基本的には前述のようなアルゴリズム（演算処理）によって、前記同定誤差id/eを最小化するように排気系モデルの前記同定ゲイン係数a1ハット，a2ハット，b1ハットを制御サイクル毎に逐次求めるものである。このような処理によって、実際の対象排気系Ｅに適合した同定ゲイン係数a1ハット，a2ハット，b1ハットが逐次得られる。
【００９９】
以上説明したアルゴリズムが同定器２５が実行する基本的なアルゴリズムである。
【０１００】
次に、前記推定器２６は、後に詳細を説明するスライディングモード制御器２７による目標空燃比KCMDの算出処理に際しての対象排気系Ｅの無駄時間d1及び前記空燃比操作系の無駄時間d2の影響を補償するために、前記合計無駄時間ｄ（＝d1＋d2）後のＯ2センサ６の偏差出力VO2の推定値である前記推定偏差出力VO2バーを制御サイクル毎に逐次求めるものである。その推定処理のアルゴリズムは次のように構築されている。
【０１０１】
まず、排気系モデルを表す前記式（１）に、空燃比操作系モデルを表す式（２）を適用すると、次式（１１）が得られる。
【０１０２】
【数１１】
0004437626.tif 000012
【０１０３】
この式（１１）は、対象排気系Ｅ及び空燃比操作系を合わせた系を、目標偏差空燃比kcmdから対象排気系Ｅ及び空燃比操作系の両者の無駄時間要素と対象排気系Ｅの応答遅れ要素とを介してＯ2センサ６の偏差出力VO2を生成する系であるとして、該系の挙動を離散時間系のモデルで表現したものである。
【０１０４】
そして、この式（１１）を用いることで、各制御サイクルにおける前記合計無駄時間ｄ後のＯ2センサ６の偏差出力VO2(k+d)の推定値である前記推定偏差出力VO2 (k+d)バーは、Ｏ2センサ６の偏差出力VO2の現在値及び過去値の時系列データVO2(k)及びVO2(k-1)と、スライディングモード制御器２７が求める目標空燃比KCMD（具体的な求め方は後述する）に相当する目標偏差空燃比kcmd（＝KCMD−FLAF/BASE）の過去値の時系列データkcmd(k-j)（ｊ＝1，2，…，d）とを用いて次式（１２）により表される。
【０１０５】
【数１２】
0004437626.tif 000013
【０１０６】
ここで、式（１２）において、α1，α2は、それぞれ同式（１２）中のただし書きで定義した行列Ａの巾乗Ａd（ｄ：合計無駄時間）の第１行第１列成分、第１行第２列成分である。また、βj（ｊ＝1，2，…，d）は、それぞれ行列Ａの巾乗Ａj-1（ｊ＝1，2，…，d）と同式（１２）中のただし書きで定義したベクトルＢとの積Ａj-1・Ｂの第１行成分である。
【０１０７】
さらに、式（１２）中の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)（ｊ＝1，2，…，d）のうち、現在から空燃比操作系の無駄時間d2以前の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-d2)，kcmd(k-d2-1)，…，kcmd(k-d)は前記式（２）によって、それぞれ、ＬＡＦセンサ５の偏差出力kactの現在以前に得られるデータkact(k)，kact(k-1)，…，kact(k-d+d2)に置き換えることができる。そして、この置き換えを行うことで、次式（１３）が得られる。
【０１０８】
【数１３】
0004437626.tif 000014
【０１０９】
この式（１３）が本実施形態において、推定器２６が前記推定偏差出力VO2(k+d)バーを算出するための基本式である。つまり、本実施形態では、推定器２６は、制御サイクル毎に、Ｏ2センサ６の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、スライディングモード制御器２７が過去に求めた目標空燃比KCMDを表す目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)（ｊ＝1，…，d2-1）と、ＬＡＦセンサ５の偏差出力kactの現在値及び過去値の時系列データkact(k-i)（ｉ＝０，…，d1）とを用いて式（１３）の演算を行うことによって、Ｏ2センサ６の推定偏差出力VO2(k+d)バーを求める。
【０１１０】
この場合、本実施形態では、式（１３）により推定偏差出力VO2(k+d)バーを算出するために必要となる係数α1，α2及びβj（ｊ＝1，2，…，d）の値は、基本的には、前記ゲイン係数a1，a2，b1（これらは式（１２）のただし書きで定義した行列Ａ及びベクトルＢの成分である）の同定値である前記同定ゲイン係数a1ハット，a2ハット，b1ハットを用いて算出する。また、式（１３）の演算で必要となる無駄時間d1，d2の値は、前述の如く設定した値を用いる。
【０１１１】
尚、推定偏差出力VO2(k+d)バーは、ＬＡＦセンサ５の偏差出力kactのデータを使用せずに、式（１２）の演算により求めるようにしてもよいが、推定偏差出力VO2(k+d)バーの信頼性を高める上では、エンジン１等の実際の挙動が反映されるＬＡＦセンサ５の偏差出力kactのデータを用いた式（１３）の演算により推定偏差出力VO2(k+d)バーを求めることが好ましい。また、空燃比操作系の無駄時間d2を「１」に設定できるような場合には、式（１２）中の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)（ｊ＝1，2，…，d）の全てをそれぞれ、ＬＡＦセンサ５の偏差出力kactの現在以前に得られる時系列データkact(k)，kact(k-1)，…，kact(k-d+d2)に置き換えることができる。このため、この場合には、推定偏差出力VO2(k+d)バーは、目標偏差空燃比kcmdのデータを含まない次式（１４）により求めることができる。
【０１１２】
【数１４】
0004437626.tif 000015
【０１１３】
次に、前記スライディングモード制御器２７を説明する。
【０１１４】
本実施形態のスライディングモード制御器２７は、通常的なスライディングモード制御に、外乱等の影響を極力排除するための適応則（適応アルゴリズム）を加味した適応スライディングモード制御によりＯ2センサ６の出力VO2/OUTをその目標値VO2/TARGETに整定させるように（Ｏ2センサ６の偏差出力VO2を「０」に収束させるように）、制御対象である前記対象排気系Ｅに与えるべき入力量（詳しくは、ＬＡＦセンサ５の出力KACT（空燃比の検出値）と前記基準値FLAF/BASEとの偏差の目標値で、これは前記目標偏差空燃比kcmdに等しい。以下、この入力量をＳＬＤ操作入力Uslと称する）を決定し、その決定したＳＬＤ操作入力Uslから前記目標空燃比KCMDを決定するものである。そして、その処理のためのアルゴリズムは次のように構築されている。
【０１１５】
まず、スライディングモード制御器２７が実行する適応スライディングモード制御のアルゴリズムに必要な切換関数と、この切換関数により定義される超平面（これはすべり面とも言われる）とについて説明する。
【０１１６】
本実施形態におけるスライディングモード制御の基本的な考え方としては、制御すべき状態量（制御量）として、例えば各制御サイクルで得られたＯ2センサ６の偏差出力VO2(k)と、その１制御サイクル前に得られた偏差出力VO2(k-1)とを用い、スライディングモード制御用の切換関数σを、次式（１５）のように、これらの偏差出力VO2(k)，VO2(k-1)を変数成分とする線形関数として定義する。尚、前記偏差出力VO2(k)，VO2(k-1)を成分とするベクトルとして式（１５）中の但し書きで定義したベクトルＸを以下、状態量Ｘという。
【０１１７】
【数１５】
0004437626.tif 000016
【０１１８】
この場合、切換関数σの係数s1，s2は、次式（１６）の条件を満たすように設定する。
【０１１９】
【数１６】
0004437626.tif 000017
【０１２０】
尚、本実施形態では、簡略化のために係数s1＝１とし（この場合、s2／s1＝s2である）、−１＜s2＜１の条件を満たすように係数s2の値を設定している。
【０１２１】
このような切換関数σに対して、スライディングモード制御用の超平面はσ＝０なる式によって定義されるものである。この場合、状態量Ｘは二次系であるので超平面σ＝０は図４に示すように直線となる。該超平面は、位相空間の次数によって、切換線又は切換面とも言われる。
【０１２２】
尚、本実施形態では、スライディングモード制御用の切換関数の変数成分である状態量として、実際には前記推定器２６により求められる前記推定偏差出力VO2バーの時系列データを用いるのであるが、これについては後述する。
【０１２３】
本実施形態で用いる適応スライディングモード制御は、状態量Ｘ＝（VO2(k)，VO2(k-1)）を上記の如く設定した超平面σ＝０に収束させるための制御則である到達則と、その超平面σ＝０への収束に際して外乱等の影響を補償するための制御則である適応則（適応アルゴリズム）とにより該状態量Ｘを超平面σ＝０に収束させる（図４のモード１）。そして、該状態量Ｘを所謂、等価制御入力によって超平面σ＝０に拘束しつつ、該状態量Ｘを超平面σ＝０上の平衡点であるVO2(k)＝VO2(k-1)＝０となる点、すなわち、Ｏ2センサ６の出力VO2/OUTの時系列データVO2/OUT(k)，VO2/OUT(k-1)が目標値VO2/TARGETに一致するような点に収束させる（図４のモード２）。
【０１２４】
上記のように状態量Ｘを超平面σ＝０の平衡点に収束させるためにスライディングモード制御器２７が生成する前記ＳＬＤ操作入力Usl（＝目標偏差空燃比kcmd）は、状態量Ｘを超平面σ＝０上に拘束するための制御則に従って対象排気系Ｅに与えるべき入力成分である等価制御入力Ueqと、前記到達則に従って対象排気系Ｅに与えるべき入力成分Urch（以下、到達則入力Urchという）と、前記適応則に従って対象排気系Ｅに与えるべき入力成分Uadp（以下、適応則入力Uadpという）との総和により表される（次式（１７））。
【０１２５】
【数１７】
0004437626.tif 000018
【０１２６】
そして、これらの等価制御入力Ueq、到達則入力Urch及び適応則入力Uad pは、本実施形態では、前記式（１１）により表される離散時間系のモデル（式（１）中のＬＡＦセンサ５の偏差出力kact(k-d1)を合計無駄時間ｄを用いた目標偏差空燃比kcmd(k-d)で置き換えたモデル）に基づいて、次のように決定する。
【０１２７】
まず、状態量Ｘを超平面σ＝０に拘束するために対象排気系Ｅに与えるべき入力成分である前記等価制御入力Ueqは、σ(k+1)＝σ(k)＝０なる条件を満たす目標偏差空燃比kcmdである。そして、このような条件を満たす等価制御入力Ueqは、式（１１）と式（１５）とを用いて次式（１８）により与えられる。
【０１２８】
【数１８】
0004437626.tif 000019
【０１２９】
この式（１８）が本実施形態において、制御サイクル毎に等価制御入力Ueq(k)を求めるための基本式である。
【０１３０】
次に、前記到達則入力Urchは、本実施形態では、基本的には次式（１９）により決定するものとする。
【０１３１】
【数１９】
0004437626.tif 000020
【０１３２】
すなわち、到達則入力Urchは、前記合計無駄時間ｄを考慮し、合計無駄時間ｄ後の切換関数σの値σ(k+d)に比例させるように決定する。
【０１３３】
この場合、式（１９）中の係数Ｆ（これは到達則のゲインを規定する）は、次式（２０）の条件を満たすように設定する。
【０１３４】
【数２０】
0004437626.tif 000021
【０１３５】
尚、切換関数σの値の挙動に関しては、該切換関数σの値が超平面σ＝０に対して振動的な変化（所謂チャタリング）を生じる虞れがあり、このチャタリングを抑制するためには、到達則入力Urchに係わる係数Ｆは、さらに次式（２１）の条件を満たすように設定することが好ましい。
【０１３６】
【数２１】
0004437626.tif 000022
【０１３７】
次に、前記適応則入力Uadpは、本実施形態では、基本的には次式（２２）により決定するものとする（式（２２）中のΔＴは排気側制御ユニット７ａの制御サイクルの周期である）。
【０１３８】
【数２２】
0004437626.tif 000023
【０１３９】
すなわち、適応則入力Uadpは、合計無駄時間ｄを考慮し、該合計無駄時間ｄ後までの切換関数σの値と排気側制御ユニット７ａの周期ΔＴとの積の制御サイクル毎の積算値（これは切換関数σの値の積分値に相当する）に比例させるように決定する。
【０１４０】
この場合、式（２２）中の係数Ｇ（これは適応則のゲインを規定する）は、次式（２３）の条件を満たすように設定する。
【０１４１】
【数２３】
0004437626.tif 000024
【０１４２】
尚、前記式（１６）、（２０）、（２１）、（２３）の設定条件のより具体的な導出の仕方については、本願出願人が既に特開平１１−９３７４１号公報等にて詳細に説明しているので、ここでは詳細な説明を省略する。
【０１４３】
本実施形態におけるスライディングモード制御器２７は、基本的には前記式（１８）、（１９）、（２２）により決定される等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpの総和（Ueq＋Urch＋Uadp）を対象排気系Ｅに与えるべきＳＬＤ操作入力Uslとして決定するのであるが、前記式（１８）、（１９）、（２２）で使用するＯ2センサ６の偏差出力VO2(k+d)，VO2(k+d-1)や、切換関数σの値σ(k+d)等は未来値であるので直接的には得られない。
【０１４４】
そこで、本実施形態では、スライディングモード制御器２７は、実際には、前記式（１８）により前記等価制御入力Ueqを決定するためのＯ2センサ６の偏差出力VO2(k+d)，VO2(k+d-1)の代わりに、前記推定器２６で求められる推定偏差出力VO2(k+d)バー，VO2(k+d-1)バーを用い、次式（２４）により制御サイクル毎の等価制御入力Ueqを算出する。
【０１４５】
【数２４】
0004437626.tif 000025
【０１４６】
また、本実施形態では、実際には、推定器２６により前述の如く逐次求められた推定偏差出力VO2バーの時系列データを制御すべき状態量とし、前記式（１５）により設定された切換関数σに代えて、次式（２５）によりスライディングモード制御用の切換関数σバーを定義する（この切換関数σバーは、前記式（１５）の偏差出力VO2の時系列データを推定偏差出力VO2バーの時系列データで置き換えたものに相当する）。
【０１４７】
【数２５】
0004437626.tif 000026
【０１４８】
そして、スライディングモード制御器２７は、前記式（１９）により前記到達則入力Urchを決定するための切換関数σの値の代わりに、前記式（２５）により表される切換関数σバーの値を用いて次式（２６）により制御サイクル毎の到達則入力Urchを算出する。
【０１４９】
【数２６】
0004437626.tif 000027
【０１５０】
同様に、スライディングモード制御器２７は、前記式（２２）により前記適応則入力Uadpを決定するための切換関数σの値の代わりに、前記式（２５）により表される切換関数σバーの値を用いて次式（２７）により制御サイクル毎の適応則入力Uadpを算出する。
【０１５１】
【数２７】
0004437626.tif 000028
【０１５２】
尚、前記式（２４），（２６），（２７）により等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを算出する際に必要となる前記ゲイン係数a1，a2，b1としては、本実施形態では基本的には前記同定器２５により求められた最新の同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを用いる。
【０１５３】
そして、スライディングモード制御器２７は、前記式（２４），（２６），（２７）によりそれぞれ求められる等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpの総和を対象排気系Ｅに与えるべき前記ＳＬＤ操作入力Uslとして求める（前記式（１７）を参照）。尚、この場合において、前記式（２４）、（２６）、（２７）中で用いる前記係数s1，s2，Ｆ，Ｇの設定条件は前述の通りである。
【０１５４】
これが、本実施形態において、スライディングモード制御器２７により、対象排気系Ｅに与えるべきＳＬＤ操作入力Usl（＝目標偏差空燃比kcmd）を制御サイクル毎に決定するための基本的な演算処理（アルゴリズム）である。このようにしてＳＬＤ操作入力Uslを決定することで、該ＳＬＤ操作入力Uslは、Ｏ2センサ６の推定偏差出力VO2バーを「０」に収束させるように（結果的にはＯ2センサ６の出力VO2/OUTを目標値VO2/TARGETに収束させるように）決定される。
【０１５５】
ところで、本実施形態におけるスライディングモード制御器２７は最終的には前記目標空燃比KCMDを制御サイクル毎に逐次求めるものあるが、前述のように求められるＳＬＤ操作入力U slは、ＬＡＦセンサ５で検出される空燃比と前記基準値FLAF/BASEとの偏差の目標値、すなわち前記目標偏差空燃比kcmdである。このため、スライディングモード制御器２７は、最終的には、次式（２８）に示すように、制御サイクル毎に、前述の如く求めたＳＬＤ操作入力Uslに前記基準値FLAF/BASEを加算することで、目標空燃比KCMDを決定する。
【０１５６】
【数２８】
0004437626.tif 000029
【０１５７】
以上が本実施形態でスライディングモード制御器２７により目標空燃比KCMDを決定するための基本的アルゴリズムである。
【０１５８】
尚、本実施形態では、スライディングモード制御器２７による適応スライディングモード制御の処理の安定性を判別して、前記ＳＬＤ操作入力Uslの値を制限したりするのであるが、これについては後述する。
【０１５９】
次に、前記劣化状態評価手段１３ｂの処理を説明する。
【０１６０】
前述のようにスライディングモード制御器２７により目標空燃比KCMDを逐次求め、この目標空燃比KCMDにＬＡＦセンサ５の出力KACT（エンジン１の空燃比の検出値）を収束させるように前記機関側制御ユニット７ｂによりエンジン１の燃料噴射量を調整したとき、Ｏ2センサ６の出力VO2/OUTの時系列データは、例えば前記超平面σ＝０に対して、触媒装置３の劣化状態に応じた特徴的な変化を呈する。
【０１６１】
この様子を図５〜図７を参照して説明する。これらの図５〜図７は、それぞれ新品の触媒装置３、比較的小さな劣化度合いの触媒装置３、比較的大きな劣化度合いの触媒装置３について上記のようにエンジン１の燃料噴射量を目標空燃比KCMDに応じて調整した場合に、排気側制御ユニット７ａの制御サイクル毎に得られるＯ2センサ６の偏差出力VO2の時系列データVO2(k)，VO2(k-1)の組、すなわち前記状態量Ｘのサンプリングデータを点描で示したものである。また、これらの図５〜図７に併記した直線は、前記超平面σ＝０である。尚、これらの図５〜図７では、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETは一定値としている。
【０１６２】
これらの図５〜図７のうち、図５に見られるように、状態量Ｘは、触媒装置３の新品状態では、超平面σ＝０の近傍に集積する傾向がある。そして、触媒装置３の劣化が進行すると、図６や図７に見られるように、状態量Ｘは、超平面σ＝０から離間する側に分散する（超平面σ＝０のまわりのばらつきが大きくなる）傾向がある。しかも、その分散化は、触媒装置３の劣化度合いが大きい程（劣化が進行している程）、高まる傾向がある。換言すれば、前記式（１５）により定めた切換関数σの値が、触媒装置３の劣化の進行に伴い「０」から離間した値を採りやすくなり、切換関数σの値の「０」に対するばらつきが大きくなる。これは、触媒装置３の劣化の進行に伴い、前記式（１）の排気系モデルの誤差が生じやすくなるため、状態量Ｘの超平面σ＝０への収束性が低下するためであると考えられる。
【０１６３】
尚、上記のような傾向は、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETは一定値とした場合、推定器２６により求められる推定偏差出力VO2バーを変数成分として前記式（２５）により定めた切換関数σバー（本実施形態でスライディングモード制御用の切換関数として実際に用いる切換関数）の値についても同様に見られる傾向である。但し、切換関数σバーは、Ｏ2センサ６の偏差出力VO2の推定値を用いるものであるのに対し、式（１５）の切換関数はＯ2センサ６の実際の偏差出力VO2を用いるものであるため、触媒装置３の実際の劣化状態がよりよく反映されるものと考えられる。
【０１６４】
このようなことから、本実施形態では、前記式（１５）により定めた切換関数σの値を用いて、触媒装置３の劣化状態を評価するための劣化評価用パラメータを後述のように生成し、その劣化評価用パラメータの値に基づいて触媒装置３の劣化状態を評価する。尚、本実施形態では、スライディングモード制御用の実際の切換関数は、前述の如く、推定器２６が求める推定偏差出力VO2バーを変数成分として前記式（２５）により定義した切換関数σバーである。つまり、厳密に言えば、式（１５）により定めた切換関数σは、本実施形態でのスライディングモード制御用の切換関数ではない。そこで、以下の説明では、式（１５）により定めた関数σを、劣化評価用線形関数σという。
【０１６５】
前記劣化状態評価手段１３ｂが上記劣化評価用線形関数σを用いて触媒装置３の劣化状態の評価を行うための基本的アルゴリズムは、本実施形態では次のように構築されている。
【０１６６】
すなわち、触媒装置３の劣化の進行に伴う前述のような劣化評価用線形関数σの値の変化の傾向を考慮し、劣化状態評価手段１３ｂは、該劣化評価用線形関数σの値の二乗値σ2を制御サイクル毎に逐次求める。
【０１６７】
そして、この二乗値σ2にローパス特性のフィルタリング処理を施すことにより該二乗値σ2の中心値（以下、これに参照符号LSσ2を付する）を基本的な劣化評価用パラメータとして求める。
【０１６８】
この場合、劣化評価用パラメータLSσ2を求めるための上記フィルタリング処理は、逐次型の統計処理アルゴリズムにより構成され、次式（２９）により与えられる。
【０１６９】
【数２９】
0004437626.tif 000030
【０１７０】
すなわち、劣化評価用パラメータLSσ2は、排気側制御ユニット７ａの制御サイクル毎に、該劣化評価用パラメータLSσ2の前回値LSσ2(k-1)と、前記二乗値σ2の現在値σ2(k)と、次式（３０）の漸化式により制御サイクル毎に更新されるゲインパラメータBPとから逐次更新されつつ求められる。
【０１７１】
【数３０】
0004437626.tif 000031
【０１７２】
ここで、式（３０）中の「η1」、「η2」は０＜η1≦１及び０≦η2＜２の条件を満たすように設定され、その設定の仕方によって、固定ゲイン法、漸減ゲイン法、重み付き最小二乗法、最小二乗法、固定トレース法等、各種の具体的なアルゴリズムが構成される。本実施形態では、例えばη1を「１」よりも小さな正の所定値に設定する（０＜η1＜１）と共に、η2＝１とし、重み付最小二乗法のアルゴリズムを採用している。
【０１７３】
このようにして、劣化評価用線形関数σの二乗値σ2の中心値（本実施形態では最小二乗中心値）としての劣化評価用パラメータLSσ2を求めたとき、該劣化評価用パラメータLSσ2の値は、触媒装置３の劣化状態に対して、図８に示すような傾向を呈する（但し、ここではＯ2センサ６の出力VO2/OUTの目標値VO2/TARGETは一定であるとする）。図８は前記図５〜図７の触媒装置３の各劣化状態において、前述のように求められる劣化評価用パラメータLSσ2と触媒装置３を流れる排ガスの流量（以下、排ガスボリュームという）との関係を示すものである。
【０１７４】
図８に見られるように、劣化評価用パラメータLSσ2は、触媒装置３の各劣化状態において前記排ガスボリュームによらずにほぼ一定となると共に、触媒装置３の劣化の進行に伴い、値が大きくなる。従って、劣化評価用パラメータLSσ2の値が触媒装置３の劣化度合いを表すものとなる。
【０１７５】
また、本実施形態では、例えば触媒装置３の交換を要するかもしくはその交換時期が近い程度に該触媒装置３が劣化した状態（以下、劣化進行状態という）と、それほどには劣化していない状態（以下、未劣化状態という）とに分けて触媒装置３の劣化状態を把握することとし、上記「劣化進行状態」において、その旨を前記劣化報知器２９により報知する。
【０１７６】
そこで、本実施形態では、図８の破線で示すように、劣化評価用パラメータLSσ2に対する閾値CATAGELMTをあらかじめ設定しておく。そして、本実施形態の基本的な考え方では、劣化評価用パラメータLSσ2が上記閾値CATAGELMT以上となったときに、触媒装置３の劣化状態が「劣化進行状態」であると判断し、劣化評価用パラメータLSσ2が上記閾値CATAGELMTに満たない場合は、触媒装置３の劣化状態が「未劣化状態」であると判断する。
【０１７７】
ところで、上述した劣化状態評価手段１３ｂのアルゴリズムの説明では、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETは一定であるとして説明したが、本実施形態では、該目標値VO2/TARGETは、エンジン１の運転状態（具体的には回転数NE及び吸気圧PB）に応じて逐次可変的に決定される。そして、この場合、Ｏ2センサ６の出力特性は非線形であるため（図２参照）、Ｏ2センサ６の出力VO2/OUTを目標値VO2/TARGETに収束させる制御を行なっている状態における前記劣化評価用線形関数σの値の「０」に対するばらつき度合いは、触媒装置３の劣化状態だけでなく、目標値VO2/TARGETの影響も受ける。例えば、該目標値VO2/TARGETが、図２のVO2/OUT1である状態とVO2/OUT2である状態とを比較すると、前者の状態での目標値VO2/TARGET＝VO2/OUT1の近傍におけるＯ2センサ６の出力の感度が高いため、Ｏ2センサ６の出力が目標値VO2/TARGETに対して変動を生じ易い。この結果、VO2/TARGET＝VO2/OUT1である状態と、VO2/TARGET＝VO2/OUT2である状態とでは、触媒装置３の劣化状態が同じであっても、前者の状態の方が後者の状態よりも、前記劣化評価用線形関数σの値のばらつき度合いが大きくなり易く、ひいては劣化評価用パラメータLSσ2の値が大きくなり易い。
【０１７８】
そこで、本実施形態では、劣化状態評価手段１３ｂは、前記式（２９）により劣化評価用パラメータLSσ2を算出するのと並行して、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEを逐次更新しつつ算出する。そして、劣化状態評価手段１３ｂは、触媒装置３の劣化状態を判断するに際しては、実際には、前記式（２９）により最終的に得られる劣化評価用パラメータLSσ2を、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVE（最新値）に応じて補正し、その補正後の劣化評価用パラメータを前記閾値CATAGELMTと比較することで、触媒装置３の劣化状態が「未劣化状態」であるか「劣化進行状態」であるかを判断する（以下の説明では、補正前の劣化評価用パラメータLSσ2を基本劣化評価用パラメータLSσ2と称し、補正後の劣化評価パラメータを補正後劣化評価用パラメータCLSσ2と称する）。
【０１７９】
この場合、前記基本劣化評価用パラメータLSσ2の補正は例えば次のように行なわれる。すなわち、劣化状態評価手段１３ｂは、図９に示すようにあらかじめ定められたデータテーブルに基づいて基本劣化評価用パラメータLSσ2を補正する）ための補正係数KRESS（＞０）を求め、この求めた補正係数KRESSを基本劣化評価用パラメータLSσ2に乗算することにより補正後劣化評価用パラメータCLSσ2を求める。ここで、図９のデータテーブルでは、補正係数KRESSの値は、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEがＯ2センサ６の出力VO2/OUTの感度がほぼ最大となる値、すなわち図２のVO2/OUT1であるとき（これは、目標値VO2/TARGETの平均値がVO2/OUT1の近傍の値であることと同等である）、最小値となり、平均値VO2/OUTAVEのVO2/OUT1からの差｜VO2/OUTAVE−VO2/OUT1｜が大きくなるに伴って補正係数KRESSの値が大きくなるように定められている。
【０１８０】
このような補正係数KRESSを基本劣化評価用パラメータLSσ2を乗算してなる補正後劣化評価用パラメータCLSσ2は、基本的には、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETによらずに触媒装置３の劣化状態のみに応じて変化するものとなる。
【０１８１】
以上説明したアルゴリズムが、劣化状態評価手段１３ｂによる触媒装置３の劣化状態の評価の基本的なアルゴリズムである。尚、劣化状態評価手段１３ｂは、触媒装置３の劣化状態の評価に際して排ガスボリュームの変化状態の把握等、付加的な処理も行うのであるが、これについては後述する。
【０１８２】
次に、前記機関側制御ユニット７ｂの大局的フィードバック制御部１５、特に前記適応制御器１８をさらに説明する。
【０１８３】
前記図１を参照して、大局的フィードバック制御部１５は、前述のようにＬＡＦセンサ５の出力KACT（空燃比の検出値）を目標空燃比KCMDに収束させるようにフィードバック制御を行うものであるが、このとき、このようなフィードバック制御を周知のＰＩＤ制御だけで行うようにすると、エンジン１の運転状態の変化や経年的特性変化等、動的な挙動変化に対して、安定した制御性を確保することが困難である。
【０１８４】
前記適応制御器１８は、上記のようなエンジン１の動的な挙動変化を補償したフィードバック制御を可能とする漸化式形式の制御器であり、Ｉ．Ｄ．ランダウ等により提唱されているパラメータ調整則を用いて、図１０に示すように、複数の適応パラメータを設定するパラメータ調整部３０と、設定された適応パラメータを用いて前記フィードバック操作量KSTRを算出する操作量算出部３１とにより構成されている。
【０１８５】
ここで、パラメータ調整部３０について説明すると、ランダウ等の調整則では、離散系の制御対象の伝達関数Ｂ（Ｚ-1）／Ａ（Ｚ-1）の分母分子の多項式を一般的に下記の式（３１），（３２）のようにおいたとき、パラメータ調整部３０が設定する適応パラメータθハット(j)（ｊは制御サイクルの番数を示す）は、式（３３）のようにベクトル（転置ベクトル）で表される。また、パラメータ調整部３０への入力ζ(j)は、式（３４）のように表される。この場合、本実施形態では、大局的フィードバック制御部１５の制御対象であるエンジン１が一次系で３制御サイクル分の無駄時間ｄp（エンジン１の燃焼サイクルの３サイクル分の時間）を持つプラントと考え、式（３１）〜式（３４）でｍ＝ｎ＝１，ｄp＝３とし、設定する適応パラメータはｓ0，ｒ1，ｒ2，ｒ3，ｂ0の５個とした（図１０参照）。尚、式（３４）の上段式及び中段式におけるｕs，ｙsは、それぞれ、制御対象への入力（操作量）及び制御対象の出力（制御量）を一般的に表したものであるが、本実施形態では、上記入力をフィードバック操作量KSTR、制御対象（エンジン１）の出力を前記ＬＡＦセンサ５の出力KACT（空燃比の検出値）とし、パラメータ調整部３０への入力ζ(j)を、式（３４）の下段式により表す（図１０参照）。
【０１８６】
【数３１】
0004437626.tif 000032
【０１８７】
【数３２】
0004437626.tif 000033
【０１８８】
【数３３】
0004437626.tif 000034
【０１８９】
【数３４】
0004437626.tif 000035
【０１９０】
ここで、前記式（３３）に示される適応パラメータθハットは、適応制御器１８のゲインを決定するスカラ量要素ｂ0ハット（ｊ）、操作量を用いて表現される制御要素ＢRハット（Ｚ-1，ｊ）、及び制御量を用いて表現される制御要素Ｓハット（Ｚ- 1，ｊ）からなり、それぞれ、次式（３５）〜（３７）により表現される（図１０の操作量算出部３１のブロック図を参照）。
【０１９１】
【数３５】
0004437626.tif 000036
【０１９２】
【数３６】
0004437626.tif 000037
【０１９３】
【数３７】
0004437626.tif 000038
【０１９４】
パラメータ調整部３０は、これらのスカラ量要素や制御要素の各係数を設定して、それを式（３３）に示す適応パラメータθハットとして操作量算出部３１に与えるもので、現在から過去に渡るフィードバック操作量KSTRの時系列データとＬＡＦセンサ５の出力KACTとを用いて、該出力KACTが前記目標空燃比KCMDに一致するように、適応パラメータθハットを算出する。
【０１９５】
この場合、具体的には、適応パラメータθハットは、次式（３８）により算出する。
【０１９６】
【数３８】
0004437626.tif 000039
【０１９７】
同式（３８）において、Γ(j)は、適応パラメータθハットの設定速度を決定するゲイン行列（この行列の次数はｍ＋ｎ＋ｄp）、ｅアスタリスク(j)は、適応パラメータθハットの推定誤差を示すもので、それぞれ式（３９），（４０）のような漸化式で表される。
【０１９８】
【数３９】
0004437626.tif 000040
【０１９９】
【数４０】
0004437626.tif 000041
【０２００】
ここで、式（４０）中の「Ｄ（Ｚ-1）」は、収束性を調整するための、漸近安定な多項式であり、本実施形態ではＤ（Ｚ-1）＝１としている。
【０２０１】
尚、式（３９）のλ1(j)，λ2(j)の選び方により、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定トレースアルゴリズム、固定ゲインアルゴリズム等の種々の具体的なアルゴリズムが得られる。エンジン１の燃料噴射あるいは空燃比等の時変プラントでは、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定ゲインアルゴリズム、および固定トレースアルゴリズムのいずれもが適している。
【０２０２】
前述のようにパラメータ調整部３０により設定される適応パラメータθハット（ｓ0，ｒ1，ｒ2，ｒ3，ｂ0）と、前記排気側主演算処理部１３の目標空燃比算出手段１３ａにより決定される目標空燃比KCMDとを用いて、操作量算出部３１は、次式（４１）の漸化式により、フィードバック操作量KSTRを求める。図１０の操作量算出部３１は、同式（４１）の演算をブロック図で表したものである。
【０２０３】
【数４１】
0004437626.tif 000042
【０２０４】
尚、式（４１）により求められるフィードバック操作量KSTRは、ＬＡＦセンサ５の出力KACTが目標空燃比KCMDに一致する状態において、「目標空燃比KCMD」となる。このために、前述の如く、フィードバック操作量KSTRを除算処理部１９によって目標空燃比KCMDで除算することで、前記フィードバック補正係数KFBとして使用できるフィードバック操作量kstrを求めるようにしている。
【０２０５】
このように構築された適応制御器１８は、前述したことから明らかなように、制御対象であるエンジン１の動的な挙動変化を考慮した漸化式形式の制御器であり、換言すれば、エンジン１の動的な挙動変化を補償するために、漸化式形式で記述された制御器である。そして、より詳しくは、漸化式形式の適応パラメータ調整機構を備えた制御器と定義することができる。
【０２０６】
尚、この種の漸化式形式の制御器は、所謂、最適レギュレータを用いて構築する場合もあるが、この場合には、一般にはパラメータ調整機構は備えられておらず、エンジン１の動的な挙動変化を補償する上では、前述のように構成された適応制御器１８が好適である。
【０２０７】
以上が、本実施形態で採用した適応制御器１８の詳細である。
【０２０８】
尚、適応制御器１８と共に、大局的フィードバック制御部１５に具備したＰＩＤ制御器１７は、一般のＰＩＤ制御と同様に、ＬＡＦセンサ５の出力KACTと、その目標空燃比KCMDとの偏差から、比例項（Ｐ項）、積分項（Ｉ項）及び微分項（Ｄ項）を算出し、それらの各項の総和をフィードバック操作量KLA Fとして算出する。この場合、本実施形態では、積分項（Ｉ項）の初期値を“１”とすることで、ＬＡＦセンサ５の出力KACTが目標空燃比KCMDに一致する状態において、フィードバック操作量KLAFが“１”になるようにし、該フィードバック操作量KLAFをそのまま燃料噴射量を補正するための前記フィードバック補正係数KFBとして使用することができるようしている。また、比例項、積分項及び微分項のゲインは、エンジン１の回転数NEと吸気圧PBとから、あらかじめ定められたマップを用いて決定される。
【０２０９】
また、大局的フィードバック制御部１５の前記切換部２０は、エンジン１の冷却水温の低温時や、高速回転運転時、吸気圧の低圧時等、エンジン１の燃焼が不安定なものとなりやすい場合、あるいは、目標空燃比KCMDの変化が大きい時や、空燃比のフィードバック制御の開始直後等、これに応じたＬＡＦセンサ５の出力KACTが、そのＬＡＦセンサ５の応答遅れ等によって、信頼性に欠ける場合、あるいは、エンジン１のアイドル運転時のようエンジン１の運転状態が極めて安定していて、適応制御器１８による高ゲイン制御を必要としない場合には、ＰＩＤ制御器１７により求められるフィードバック操作量KLAFを燃料噴射量を補正するためのフィードバック補正量数KFBとして出力する。そして、上記のような場合以外の状態で、適応制御器１８により求められるフィードバック操作量KSTRを目標空燃比KCMDで除算してなるフィードバック操作量kstrを燃料噴射量を補正するためのフィードバック補正係数KFBとして出力する。これは、適応制御器１８が、高ゲイン制御で、ＬＡＦセンサ５の出力KACTを急速に目標空燃比KCMDに収束させるように機能するため、上記のようにエンジン１の燃焼が不安定となったり、ＬＡＦセンサ５の出力KACTの信頼性に欠ける等の場合に、適応制御器１８のフィードバック操作量KSTRを用いると、かえって空燃比の制御が不安定なものとなる虞れがあるからである。
【０２１０】
このような切換部２０の作動は、例えば特開平８−１０５３４５号公報に本願出願人が詳細に開示しているので、ここでは、さらなる説明を省略する。
【０２１１】
次に本実施形態の装置の作動の詳細を説明する。
【０２１２】
まず、図１１のフローチャートを参照して、前記機関側制御ユニット７ｂによるエンジン１の空燃比の制御のためのエンジン１の各気筒毎の出力燃料噴射量#nＴout（ｎ＝1，2，3，4）の算出処理について説明する。機関側制御ユニット７ｂは、各気筒毎の出力燃料噴射量#nＴoutの算出処理をエンジン１のクランク角周期（ＴＤＣ）と同期した制御サイクルで次のように行う。
【０２１３】
機関側制御ユニット７ｂは、まず、前記ＬＡＦセンサ５及びＯ2センサ６を含む各種センサの出力を読み込む（ＳＴＥＰａ）。この場合、ＬＡＦセンサ５の出力KACT及びＯ2センサ６の出力VO2/OUTはそれぞれ過去に得られたものを含めて時系列的に図示しないメモリに記憶保持される。
【０２１４】
次いで、基本燃料噴射量算出部８によって、前述の如くエンジン１の回転数NE及び吸気圧PBに対応する燃料噴射量をスロットル弁の有効開口面積に応じて補正してなる基本燃料噴射量Ｔimが求められる（ＳＴＥＰｂ）。さらに、第１補正係数算出部９によって、エンジン１の冷却水温やキャニスタのパージ量等に応じた第１補正係数KTOTALが算出される（ＳＴＥＰｃ）。
【０２１５】
次いで、機関側制御ユニット７ｂは、エンジン１の運転モードが排気側主演算処理部１３の目標空燃比算出手段１３ａが生成する目標空燃比KCMDを使用して燃料噴射量の調整を行う運転モード（以下、通常運転モード）であるか否かの判別処理を行って、該運転モードが通常運転モードであるか否かをそれぞれ値「１」，「０」で表すフラグf/prism/onの値を設定する（ＳＴＥＰｄ）。
【０２１６】
上記の判別処理では、図１２に示すように、Ｏ2センサ６及びＬＡＦセンサ５が活性化しているか否かの判別が行われる（ＳＴＥＰｄ−１，ｄ−２）。このとき、いずれかが活性化していない場合には、排気側主演算処理部１３の処理に使用するＯ2センサ６やＬＡＦセンサ５の検出データを精度よく得ることができない。従って、エンジン１の運転モードは通常運転モードではなく、フラグf /prism/onの値を「０」にセットする（ＳＴＥＰｄ−１０）。
【０２１７】
また、エンジン１のリーン運転中（希薄燃焼運転中）であるか否か（ＳＴＥＰｄ−３）、エンジン１の始動直後の触媒装置３の早期活性化を図るためにエンジン１の点火時期が遅角側に制御されているか否か（ＳＴＥＰｄ−４）、エンジン１のスロットル弁が略全開であるか否か（ＳＴＥＰｄ−５）、及びエンジン１への燃料供給の停止中（フュエルカット中）であるか否か（ＳＴＥＰｄ−６）の判別が行われる。これらのいずれかの条件が成立している場合には、排気側主演算処理部１３が生成する目標空燃比KCMDを使用してエンジン１の燃料供給を制御することは好ましくないか、もしくは制御することができない。従って、エンジン１の運転モードは通常運転モードではなく、フラグf/prism/onの値を「０」にセットする（ＳＴＥＰｄ−１０）。
【０２１８】
さらに、エンジン１の回転数NE及び吸気圧PBがそれぞれ所定範囲内（正常な範囲内）にあるか否かの判別が行われる（ＳＴＥＰｄ−７，ｄ−８）。このとき、いずれかが所定範囲内にない場合には、排気側主演算処理部１３が生成する目標空燃比KCMDを使用してエンジン１の燃料供給を制御することは好ましくない。従って、エンジン１の運転モードは通常運転モードではなく、フラグf/prism/onの値を「０」にセットする（ＳＴＥＰｄ−１０）。
【０２１９】
そして、ＳＴＥＰｄ−１，ｄ−２，ｄ−７，ｄ−８の条件が満たされ、且つ、ＳＴＥＰｄ−３，ｄ−４，ｄ−５，ｄ−６の条件が成立していない場合（これは、エンジン１の通常的な運転状態である）に、エンジン１の運転モードが通常運転モードであるとして、フラグf/prism/onの値を「１」にセットする（ＳＴＥＰｄ−９）。
【０２２０】
図１１の説明に戻って、上記のようにフラグf/prism/onの値を設定した後、機関側制御ユニット７ｂは、フラグf/prism/onの値を判断し（ＳＴＥＰｅ）、f/prism/on＝１である場合には、排気側主演算処理部１３で生成された最新の目標空燃比KCMDを読み込む（ＳＴＥＰｆ）。また、f/prism/on＝０である場合には、目標空燃比KCMDを所定値に設定する（ＳＴＥＰｇ）。この場合、目標空燃比KCMDとして設定する所定値は、例えばエンジン１の回転数NEや吸気圧PBからあらかじめ定めたマップ等を用いて決定する。
【０２２１】
次いで、機関側制御ユニット７ｂは、前記局所的フィードバック制御部１６において、前述の如くオブザーバ２１によりＬＡＦセンサ５の出力KACTから推定した各気筒毎の実空燃比#nA/F（ｎ＝1，2，3，4）に基づき、ＰＩＤ制御器２２により、各気筒毎のばらつきを解消するようにフィードバック補正係数#nKLAFを算出する（ＳＴＥＰｈ）。さらに、大局的フィードバック制御部１５により、フィードバック補正係数KFBを算出する（ＳＴＥＰｉ）。
【０２２２】
この場合、大局的フィードバック制御部１５は、前述の如く、ＰＩＤ制御器１７により求められるフィードバック操作量KL AFと、適応制御器１８により求められるフィードバック操作量KSTRを目標空燃比KCMDで除算してなるフィードバック操作量kstrとから、切換部２０によってエンジン１の運転状態等に応じていずれか一方のフィードバック操作量KLAF又はkstrを選択する（通常的には適応制御器１８側のフィードバック操作量kstrを選択する）。そして、選択したフィードバック操作量KLAF又はkstrを燃料噴射量を補正するためのフィードバック補正量数KFBとして出力する。
【０２２３】
尚、フィードバック補正係数KFBを、ＰＩＤ制御器１７側のフィードバック操作量KLAFから適応制御器１８側のフィードバック操作量kstrに切り換える際には、該補正係数KFBの急変を回避するために、適応制御器１８は、その切換えの際の制御サイクルに限り、補正係数KFBを前回の補正係数KFB（＝KLAF）に保持するように、フィードバック操作量KSTRを求める。同様に、補正係数KFBを、適応制御器１８側のフィードバック操作量kstrからＰＩＤ制御器１７側のフィードバック操作量KLAFに切り換える際には、ＰＩＤ制御器１７は、自身が前回の制御サイクルで求めたフィードバック操作量K LAFが、前回の補正係数KFB（＝kstr）であったものとして、今回の補正係数KLAFを算出する。
【０２２４】
上記のようにしてフィードバック補正係数KFBが算出された後、さらに、前記ＳＴＥＰｆあるいはＳＴＥＰｇで決定された目標空燃比KCMDに応じた第２補正係数KCMDMが第２補正係数算出部１０により算出される（ＳＴＥＰｊ）。
【０２２５】
次いで、機関側制御ユニット７ｂは、前述のように求められた基本燃料噴射量Ｔimに、第１補正係数KTOTAL、第２補正係数KCMDM、フィードバック補正係数KFB、及び各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒毎の出力燃料噴射量#nＴoutを求める（ＳＴＥＰｋ）。そして、この各気筒毎の出力燃料噴射量#nＴoutが、付着補正部２３によって、エンジン１の吸気管における燃料の壁面付着を考慮した補正を施された後（ＳＴＥＰｍ）、エンジン１の図示しない燃料噴射装置に出力される（ＳＴＥＰｎ）。
【０２２６】
そして、エンジン１にあっては、各気筒毎の出力燃料噴射量#nＴoutに従って、各気筒への燃料噴射が行われる。
【０２２７】
以上のような各気筒毎の出力燃料噴射量#nＴoutの算出及びそれに応じたエンジン１への燃料噴射がエンジン１のクランク角周期に同期したサイクルタイムで逐次行われ、これによりＬＡＦセンサ５の出力KACT（空燃比の検出値）が、目標空燃比KCMDに収束するように、エンジン１の空燃比が制御される。この場合、特に、フィードバック補正係数KFBとして、適応制御器１８側のフィードバック操作量kstrを使用している状態では、エンジン１の運転状態の変化や特性変化等の挙動変化に対して、高い安定性を有して、ＬＡＦセンサ５の出力KACTが迅速に目標空燃比KCMDに収束制御される。また、エンジン１が有する応答遅れの影響も適正に補償される。
【０２２８】
一方、前述のようなエンジン１の燃料供給の制御と並行して、前記排気側制御ユニット７ａは、一定周期の制御サイクルで図１３のフローチャートに示すメインルーチン処理を実行する。
【０２２９】
すなわち、図１２を参照して、排気側制御ユニット７ａは、まず、前記排気側主演算処理部１３における演算処理を実行するか否かの判別処理を行って、その実行の可否を規定するフラグf/prism/calの値を設定する（ＳＴＥＰ１）。尚、フラグf/prism/calの値は、それが「０」のとき、排気側主演算処理部１３における演算処理を行わないことを意味し、「１」のとき、排気側主演算処理部１３における演算処理を行うことを意味する。
【０２３０】
上記の判別処理は、図１４のフローチャートに示すように行われる。
【０２３１】
すなわち、Ｏ2センサ６及びＬＡＦセンサ５が活性化しているか否かの判別が行われる（ＳＴＥＰ１−１，１−２）。このとき、いずれかが活性化していない場合には、排気側主演算処理部１３の処理に使用するＯ2センサ６及びＬＡＦセンサ５の検出データを精度よく得ることができないため、フラグf/prism/calの値を「０」にセットする（ＳＴＥＰ１−６）。さらにこのとき、同定器２５の後述する初期化を行うために、その初期化を行うか否かを規定するフラグf/id/resetの値を「１」にセットする（ＳＴＥＰ１−７）。ここで、フラグf/id/resetの値は、それが「１」であるとき、同定器２５の初期化を行うことを意味し、「０」であるとき、初期化を行わないことを意味する。
【０２３２】
また、エンジン１のリーン運転中（希薄燃焼運転中）であるか否か（ＳＴＥＰ１−３）、及びエンジン１の始動直後の触媒装置３の早期活性化を図るためにエンジン１の点火時期が遅角側に制御されているか否か（ＳＴＥＰ１−４）の判別が行われる。これらのいずれかの条件が成立している場合には、Ｏ2センサ６の出力VO2/OUTを目標値VO2/TARGETに整定させるような目標空燃比KCMDを算出しても、それをエンジン１の燃料供給の制御に使用することはないので、フラグf/prism/calの値を「０」にセットする（ＳＴＥＰ１−６）。さらにこのとき、同定器２５の初期化を行うために、フラグf/id/resetの値を「１」にセットする（ＳＴＥＰ１−７）。
【０２３３】
図１３の説明に戻って、上記のような判別処理を行った後、排気側制御ユニット７ａは、さらに、同定器２５による前記ゲイン係数a1，a2，b1の同定（更新）処理を実行するか否かの判別処理を行って、その実行の可否を規定するフラグf/id/calの値を設定する（ＳＴＥＰ２）。尚、フラグf/id/calの値は、それが「０」のとき、同定器２５による前記ゲイン係数a1，a2，b1の同定（更新）処理を行わないことを意味し、「１」のとき、同定（更新）処理を行うことを意味する。
【０２３４】
このＳＴＥＰ２の判別処理では、エンジン１のスロットル弁が略全開であるか否か、及びエンジン１への燃料供給の停止中（フュエルカット中）であるか否かの判別が行われる。これらのいずれかの条件が成立している場合には、前記ゲイン係数a1，a2，b1を適正に同定することが困難であるため、フラグf/id/calの値を「０」にセットする。そして、上記のいずれの条件も成立していない場合には、同定器２５による前記ゲイン係数a1，a2，b1の同定（更新）処理を実行すべくフラグf/id/calの値を「１」にセットする。
【０２３５】
次いで、排気側制御ユニット７ａは、エンジン１の現在の回転数NEと吸気圧PBとからあらかじめ定めたマップによりＯ2センサ６の出力VO2/OUTの目標値VO2/TARGETの今回値を求めた後（ＳＴＥＰ３）、前記減算処理部１１，１２によりそれぞれ最新の前記偏差出力kact(k)（＝KACT(k)−FLAF/BASE）及びVO2(k)（＝VO2/OUT(k)−VO2/TARGET）を算出する（ＳＴＥＰ４）。この場合、減算処理部１１，１２は、前記図１１のＳＴＥＰａにおいて取り込まれて図示しないメモリに記憶されたＬＡＦセンサ５の出力KACT及びＯ2センサ６の出力VO2/OUTの時系列データの中から、最新のものを選択して前記偏差出力kact(k)及びVO 2(k)を算出する。また、特に、偏差出力VO2(k)の算出においては、今回の制御サイクルにおいてＳＴＥＰ４で求めた目標値VO2/TARGETが用いられる。そしてこの偏差出力kact(k)及びVO2(k)は、排気側制御ユニット７ａにおいて、過去に算出したものを含めて時系列的に図示しないメモリに記憶保持される。
【０２３６】
次いで、排気側制御ユニット７ａは、前記ＳＴＥＰ１で設定されたフラグf/prism/calの値を判断する（ＳＴＥＰ５）。このとき、f/prism/cal＝０である場合、すなわち、排気側主演算処理部１３の演算処理を行わない場合には、スライディングモード制御器２７で求めるべき前記ＳＬＤ操作入力Usl（目標偏差空燃比kcmd）を強制的に所定値に設定する（ＳＴＥＰ１４）。この場合、該所定値は、例えばあらかじめ定めた固定値（例えば「０」）あるいは前回の制御サイクルで決定したＳＬＤ操作入力Uslの値である。
【０２３７】
尚、このようにＳＬＤ操作入力Uslを所定値とした場合において、排気側制御ユニット７ａは、その所定値のＳＬＤ操作入力Uslに前記基準値FLAF/BASE を加算することで、今回の制御サイクルにおける目標空燃比KC MDを決定し（ＳＴＥＰ１５）、今回の制御サイクルの処理を終了する。
【０２３８】
一方、ＳＴＥＰ４の判断で、f/prism/cal＝１である場合、すなわち、排気側主演算処理部１３の演算処理を行う場合には、排気側制御ユニット７ａは、まず、前記目標空燃比算出手段１３ａの同定器２５による演算処理を行う（ＳＴＥＰ６）。
【０２３９】
この同定器２５による演算処理は図１５のフローチャートに示すように行われる。
【０２４０】
すなわち、同定器２５は、まず、前記ＳＴＥＰ２で設定されたフラグf/id/calの値を判断する（ＳＴＥＰ６−１）。このときf/id/cal＝０であれば、同定器２５によるゲイン係数a1，a2，b1の同定処理を行わないので、直ちに図１３のメインルーチンに復帰する。
【０２４１】
一方、f/id/cal＝１であれば、同定器２５は、さらに該同定器２５の初期化に係わる前記フラグf/id/resetの値（これは、前記ＳＴＥＰ１でその値が設定される）を判断し（ＳＴＥＰ６−２）、f/id/reset＝１である場合には、同定器２５の初期化を行う（ＳＴＥＰ６−３）。この初期化では、前記同定ゲイン係数a1ハット，a2ハット，b1ハットの各値があらかじめ定めた初期値に設定され（式（４）の同定ゲイン係数ベクトルΘの初期化）、また、前記式（９）で用いる行列Ｐ（対角行列）の各成分があらかじめ定めた初期値に設定される。さらに、フラグf/id/resetの値は「０」にリセットされる。
【０２４２】
次いで、同定器２５は、現在の同定ゲイン係数a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットの値と、前記ＳＴＥＰ３で制御サイクル毎に算出される偏差出力VO2及びkactの過去値のデータVO2(k-1)，VO2(k-2)，kact(k-d-1)とを用いて、前記式（３）により前記同定偏差出力VO2(k)ハットを算出する（ＳＴＥＰ６−４）。
【０２４３】
さらに同定器２５は、新たな同定ゲイン係数a1ハット，a2ハット，b1ハットを決定する際に使用する前記ベクトルＫθ(k)を式（９）により算出した後（ＳＴＥＰ６−５）、前記同定誤差id/e(k)（前記同定偏差出力VO2ハットと、実際の偏差出力VO2との偏差。式（７）参照）を算出する（ＳＴＥＰ６−６）。
【０２４４】
ここで、前記同定誤差id/e(k)は、基本的には、前記式（７）に従って算出すればよいのであるが、本実施形態では、前記図１３のＳＴＥＰ４で制御サイクル毎に算出する偏差出力VO2と、前記ＳＴＥＰ６−４で制御サイクル毎に算出する同定偏差出力VO2ハットとから式（７）の演算により得られた値（＝VO2(k)−VO2(k)ハット）に、さらにローパス特性のフィルタリングを施すことで同定誤差id/e(k)を求める。
【０２４５】
これは、触媒装置３を含む対象排気系Ｅの挙動は一般にローパス特性を有するため、前記排気系モデルのゲイン係数a1，a2，b1を適正に同定する上では、対象排気系Ｅの低周波数側の挙動を重視することが好ましいからである。
【０２４６】
尚、このようなフィルタリングは、結果的に、偏差出力VO2及び同定偏差出力VO2ハットの両者に同じローパス特性のフィルタリングが施されていればよく、例えば偏差出力VO2及び同定偏差出力VO2ハットにそれぞれ各別にフィルタリングを施した後に式（７）の演算を行って同定誤差id/e(k)を求めるようにしてもよい。また、前記のフィルタリングは、例えばディジタルフィルタの一手法である移動平均処理によって行われる。
【０２４７】
次いで、同定器２５は、ＳＴＥＰ６−６で求めた同定誤差id/e(k)と、前記ＳＴＥＰ６−５で算出したＫθ(k)とを用いて前記式（８）により新たな同定ゲイン係数ベクトルΘ(k)、すなわち、新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを算出する（ＳＴＥＰ６−７）。
【０２４８】
このようにして新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを算出した後、同定器２５は、該同定ゲイン係数a1ハット，a2ハット，b1ハット（同定ゲイン係数ベクトルΘの要素）の値を、所定の条件を満たすように制限する処理を行う（ＳＴＥＰ６−８）。そして、同定器２５は次回の制御サイクルの処理のために前記行列Ｐ(k)を前記式（１０）により更新した後（ＳＴＥＰ６−９）、図１３のメインルーチンの処理に復帰する。
【０２４９】
この場合、上記ＳＴＥＰ６−８において同定ゲイン係数a1ハット，a2ハット，b1ハットの値を制限する処理は、同定ゲイン係数a1ハット，a2ハットの値の組み合わせを所定の組み合わせに制限する処理（同定ゲイン係数a1ハット，a2ハットを成分とする座標平面上の所定の領域内に点（a1ハット，a2ハット）を制限する処理）と、同定ゲイン係数b1ハットの値を所定の範囲内に制限する処理とからなる。前者の処理では、ＳＴＥＰ６−７で算出した同定ゲイン係数a1(k)ハット，a 2(k)ハットにより定まる上記座標平面上の点（a1(k)ハット，a2(k)ハット）が該座標平面上にあらかじめ定めた所定の領域から逸脱している場合に同定ゲイン係数a1(k)ハット，a2(k)ハットの値を強制的に上記所定の領域内の点の値に制限する。また、後者の処理では、前記ＳＴＥＰ６−７で算出した同定ゲイン係数b1(k)ハットの値が所定の範囲の上限値あるいは下限値を超えている場合に、該同定ゲイン係数b1(k)ハットの値を強制的にその上限値あるいは下限値に制限する。
【０２５０】
このような同定ゲイン係数a1ハット，a2ハット，b1ハットの制限処理は、スライディングモード制御器２７が算出するＳＬＤ操作入力Usl（目標偏差空燃比kcmd）、ひいては目標空燃比KCMDの安定性を確保するためのものである。
【０２５１】
尚、このような同定ゲイン係数a1ハット，a2ハット，b1ハットの制限処理のより具体的な手法については、本願出願人が例えば特開平１１−１５３０５１号公報にて詳細に説明しているので、ここでは詳細な説明を省略する。
【０２５２】
また、図１５のＳＴＥＰ６−７で新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを求めるために使用する同定ゲイン係数の前回値a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットは、前回の制御サイクルにおけるＳＴＥＰ６−８の制限処理を行った後の同定ゲイン係数の値である。
【０２５３】
以上が図１３のＳＴＥＰ６における同定器２５の演算処理の詳細である。
【０２５４】
図１３の説明に戻って、上記のように同定器２５の演算処理を行った後、排気側制御ユニット７ａは、ゲイン係数a1，a2，b1の値を決定する（ＳＴＥＰ７）。この処理では、前記ＳＴＥＰ２で設定されたフラグf/id/calの値が「１」である場合、すなわち、同定器２５によるゲイン係数a1，a2，b1の同定処理を行った場合には、ゲイン係数a1，a2，b1の値として、それぞれ前記ＳＴＥＰ５で前述の通り同定器２５により求められた最新の同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハット（ＳＴＥＰ６−８の制限処理を施したもの）を設定する。また、f/id/cal＝０である場合、すなわち、同定器２５によるゲイン係数a1，a2，b1の同定処理を行わなかった場合には、ゲイン係数a1，a2，b1の値をそれぞれあらかじめ定めた所定値とする。
【０２５５】
次いで、排気側制御ユニット７ａは、前記推定器２６による演算処理（推定偏差出力VO2バーの算出処理）を行う（ＳＴＥＰ８）。
【０２５６】
すなわち、推定器２６は、まず、前記ＳＴＥＰ７で決定されたゲイン係数a1，a2，b1（これらの値は基本的には、前記同定ゲイン係数a1ハット，a2ハット，b1ハットである）を用いて、前記式（１３）で使用する係数値α1，α2，βj（ｊ＝1，…，ｄ）を、式（１２）の但し書きの定義に従って算出する。
【０２５７】
次いで、推定器２６は、前記ＳＴＥＰ４で制御サイクル毎に算出されるＯ2センサ６の偏差出力VO2の現在の制御サイクル以前の時系列データVO2(k)，VO2(k-1)、並びにＬＡＦセンサ５の偏差出力kactの現在の制御サイクル以前の時系列データkact(k-j)（ｊ＝０，…，d1）と、スライディングモード制御器２７から制御サイクル毎に与えられる前記目標偏差空燃比kcmd（＝ＳＬＤ操作入力Usl）の前回の制御サイクル以前の時系列データkcmd(k-j)（＝Usl(k-j)。ｊ＝１，…，d2−１）と、上記の如く算出した係数値α1，α2，βjとを用いて前記式（１３）により、推定偏差出力VO2(k+d)バー（今回の制御サイクルの時点から前記合計無駄時間ｄ後の偏差出力VO2の推定値）を算出する。
【０２５８】
排気側制御ユニット７ａは、次に、スライディングモード制御器２７によって、前記ＳＬＤ操作入力Usl（＝目標偏差空燃比kcmd）を算出する（ＳＴＥＰ９）。
【０２５９】
すなわち、スライディングモード制御器２７は、まず、前記ＳＴＥＰ８で推定器２６により求められた推定偏差出力VO2バーの時系列データVO2(k+d)バー，VO2(k+d-1)バーを用いて、前記式（２５）により定義された切換関数σバーの今回の制御サイクルから前記合計無駄時間ｄ後の値σ(k+d)バー（これは、式（１５）で定義された線形関数σの合計無駄時間ｄ後の推定値に相当する）を算出する。
【０２６０】
尚、この場合、切換関数σバーの値があらかじめ定めた所定の許容範囲内に収まるようにし、上記の如く求められるσ(k+d)バーがその許容範囲の上限値又は下限値を超えた場合には、それぞれσバーの値σ(k+d)バーを強制的に該上限値又は下限値に制限する。これは、切換関数σバーの値が過大になると、前記到達則入力Urchが過大になると共に、前記適応則入力Uadpの急変を生じるために、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETへの収束制御の安定性が損なわれる虞れがあるからである。
【０２６１】
さらに、スライディングモード制御器２７は、上記切換関数σバーの値σ(k+d)バーに、排気側制御ユニット７ａの制御サイクルの周期ΔＴ（一定周期）を乗算したものσ(k+d)バー・ΔＴを累積的に加算していく、すなわち、前回の制御サイクルで求められた加算結果に今回の制御サイクルで算出されたσ(k+d)バーと周期ΔＴとの積σ(k+d)バー・ΔＴを加算することで、前記式（２７）のΣ（σバー・ΔＴ）の項の演算結果であるσバーの積算値（以下、この積算値をΣσバーにより表す）を算出する。
【０２６２】
尚、この場合、本実施形態では、上記積算値Σσバーがあらかじめ定めた所定の許容範囲内に収まるようにし、該積算値Σσバーがその許容範囲の上限値又は下限値を超えた場合には、それぞれ該積算値Σσバーを強制的に該上限値又は下限値に制限する。これは、積算値Σσバーが過大になると、前記式（２７）により求められる適応則入力Uadpが過大となって、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETへの収束制御の安定性が損なわれる虞れがあるからである。
【０２６３】
次いで、スライディングモード制御器２７は、前記ＳＴＥＰ８で推定器２６により求められた推定偏差出力VO2バーの現在値及び過去値の時系列データVO2(k+d)バー，VO2(k+d-1)バーと、上記の如く求めた切換関数σバーの値σ(k+d)バー及びその積算値Σσバーと、ＳＴＥＰ６で決定したゲイン係数a1，a2，b1（これらの値は基本的には、最新の同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットである）とを用いて、前記式（２４），（２６），（２７）に従って、それぞれ等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを算出する。
【０２６４】
そして、スライディングモード制御器２７は、この等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを加算することで、前記ＳＬＤ操作入力Usl、すなわち、Ｏ2センサ６の出力VO2/OUTを目標値VO2/TARGETに収束させるために必要な対象排気系Ｅへの入力量（＝目標偏差空燃比kcmd）を算出する。
【０２６５】
上記のようにＳＬＤ操作入力Uslを算出した後、排気側制御ユニット７ａは、スライディングモード制御器２７による適応スライディングモード制御の安定性（より詳しくは、適応スライディングモード制御に基づくＯ2センサ６の出力VO2/OUTの制御状態（以下、ＳＬＤ制御状態という）の安定性）を判別する処理を行って、該ＳＬＤ制御状態が安定であるか否かをそれぞれ値「１」、「０」で表すフラグf/sld/stbの値を設定する（ＳＴＥＰ１０）。
【０２６６】
この安定性の判別処理は図１６のフローチャートに示すように行われる。
【０２６７】
すなわち、排気側制御ユニット７ａは、まず、前記ＳＴＥＰ８で算出される切換関数σバーの今回値σ(k+d)バーと前回値σ(k+d-1)バーとの偏差Δσバー（これは切換関数σバーの変化速度に相当する）を算出する（ＳＴＥＰ１０−１）。
【０２６８】
次いで、排気側制御ユニット７ａは、上記偏差Δσバーと切換関数σバーの今回値σ(k+d)バーとの積Δσバー・σ(k+d)バー（これはσバーに関するリアプノフ関数σバー2／２の時間微分関数に相当する）があらかじめ定めた所定値ε（≧０）以下であるか否かを判断する（ＳＴＥＰ１０−２）。
【０２６９】
ここで、上記積Δσバー・σ(k+d)バー（以下、これを安定判別パラメータＰstbという）について説明すると、この安定判別パラメータＰstbの値がＰstb＞０となる状態は、基本的には、切換関数σバーの値が「０」から離間しつつある状態である。また、安定判別パラメータＰstbの値がＰstb≦０となる状態は、基本的には、切換関数σバーの値が「０」に収束しているか、もしくは収束しつつある状態である。そして、一般に、スライディングモード制御ではその制御量を目標値に安定に収束させるためには、切換関数の値が安定に「０」に収束する必要がある。従って、基本的には、前記安定判別パラメータＰstbの値が「０」以下であるか否かによって、それぞれ前記ＳＬＤ制御状態が安定、不安定であると判断することができる。
【０２７０】
但し、安定判別パラメータＰstbの値を「０」と比較することでＳＬＤ制御状態の安定性を判断すると、切換関数σバーの値に僅かなノイズが含まれただけで、安定性の判別結果に影響を及ぼしてしまう。このため、本実施形態では、前記ＳＴＥＰ１０−２で安定判別パラメータＰstbと比較する所定値εは、「０」よりも若干大きな正の値としている。
【０２７１】
そして、ＳＴＥＰ１０−２の判断で、Ｐstb＞εである場合には、ＳＬＤ制御状態が不安定であるとし、前記ＳＴＥＰ９で算出されるＳＬＤ操作入力Uslを用いた目標空燃比KCMDの決定を所定時間、禁止するためにタイマカウンタｔm（カウントダウンタイマ）の値を所定の初期値ＴMにセットする（タイマカウンタｔmの起動。ＳＴＥＰ１０−４）。さらに、前記フラグf/sld/stbの値を「０」に設定した後（ＳＴＥＰ１０−５）、図１３のメインルーチンの処理に復帰する。
【０２７２】
一方、前記ＳＴＥＰ１０−２の判断で、Ｐstb≦εである場合には、排気側制御ユニット７ａは、切換関数σバーの今回値σ(k+d)バーがあらかじめ定めた所定範囲内にあるか否かを判断する（ＳＴＥＰ１０−３）。
【０２７３】
この場合、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い状態は、該今回値σ(k+d)バーが「０」から大きく離間している状態であるので、ＳＬＤ制御状態が不安定であると考えられる。このため、ＳＴＥＰ１０−３の判断で、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い場合には、ＳＬＤ制御状態が不安定であるとして、前述の場合と同様に、ＳＴＥＰ１０−４及び１０−５の処理を行って、タイマカウンタｔmを起動すると共に、フラグf/sld/stbの値を「０」に設定する。
【０２７４】
尚、本実施形態では、前述のＳＴＥＰ９の処理において、切換関数σバーの値を所定の許容範囲内に制限するので、ＳＴＥＰ１０−３の判断処理は省略してもよい。
【０２７５】
また、ＳＴＥＰ１０−３の判断で、切換関数σバーの今回値σ(k+d)バーが、所定範囲内にある場合には、排気側制御ユニット７ａは、前記タイマカウンタｔmを所定時間Δｔm分、カウントダウンする（ＳＴＥＰ１０−６）。そして、このタイマカウンタｔmの値が「０」以下であるか否か、すなわち、タイマカウンタｔmを起動してから前記初期値ＴM分の所定時間が経過したか否かを判断する（ＳＴＥＰ１０−７）。
【０２７６】
このとき、ｔm＞０である場合、すなわち、タイマカウンタｔmが計時動作中でまだタイムアップしていない場合は、ＳＴＥＰ１０−２あるいはＳＴＥＰ１０−３の判断でＳＬＤ制御状態が不安定であると判断されてから、さほど時間を経過していないので、ＳＬＤ制御状態が不安定なものとなりやすい。このため、ＳＴＥＰ１０−７でｔm＞０である場合には、前記ＳＴＥＰ１０−５の処理を行って前記フラグf/sld/stbの値を「０」に設定する。
【０２７７】
そして、ＳＴＥＰ１０−７の判断でｔm≦０である場合、すなわち、タイマカウンタｔmがタイムアップしている場合には、ＳＬＤ制御状態が安定であるとして、フラグf/sld/stbの値を「１」に設定する（ＳＴＥＰ１０−８）。
【０２７８】
以上のような処理によって、ＳＬＤ制御状態の安定性が判断され、不安定であると判断した場合には、フラグf/sld/stbの値が「０」に設定され、安定であると判断した場合には、フラグf/sld/stbの値が「１」に設定される。
【０２７９】
尚、以上説明したＳＬＤ制御状態の安定性の判断の手法は例示的なもので、この他の手法によって安定性の判断を行うようにすることも可能である。例えば制御サイクルよりも長い所定期間毎に、各所定期間内における前記安定判別パラメータＰstbの値が前記所定値εよりも大きくなる頻度を計数する。そして、その頻度があらかじめ定めた所定値を超えるような場合にＳＬＤ制御状態が不安定であると判断し、逆の場合に、ＳＬＤ制御状態が安定であると判断するようにしてもよい。
【０２８０】
図１３の説明に戻って、上記のようにＳＬＤ制御状態の安定性を示すフラグf/sld/stbの値を設定した後、排気側制御ユニット７ａは、フラグf/sld/stbの値を判断する（ＳＴＥＰ１１）。このとき、f/sld/stb＝１である場合、すなわち、ＳＬＤ制御状態が安定であると判断された場合には、スライディングモード制御器２７が前記ＳＴＥＰ９で算出したＳＬＤ操作入力Uslのリミット処理を行う（ＳＴＥＰ１２）。このリミット処理では、ＳＴＥＰ９で算出されたＳＬＤ操作入力Uslの今回値Usl(k)が所定の許容範囲内にあるか否かが判断され、該今回値Usl(k)がその許容範囲の上限値又は下限値を超えている場合には、それぞれ、ＳＬＤ操作入力Uslの今回値Usl(k)が強制的に該上限値又は下限値に制限される。
【０２８１】
尚、ＳＴＥＰ１２のリミット処理を経たＳＬＤ操作入力Usl（＝目標偏差空燃比kcmd）は、図示しないメモリに時系列的に記憶保持され、それが、推定器２６の前述の演算処理のために使用される。
【０２８２】
次いで、排気側制御ユニット７ａは、触媒装置３の劣化状態を評価する処理（詳細は後述する）を排気側主演算処理部１３の劣化状態評価手段１３ｂによって実行した後（ＳＴＥＰ１３）、スライディングモード制御器２７によって、ＳＴＥＰ１２のリミット処理を経たＳＬＤ操作入力Uslに前記基準値FLAF/BASEを加算することで、前記目標空燃比KCMDを算出し（ＳＴＥＰ１５）、今回の制御サイクルの処理を終了する。
【０２８３】
また、前記ＳＴＥＰ１１の判断でf/sld/stb＝０である場合、すなわち、ＳＬＤ制御状態が不安定であると判断された場合には、排気側制御ユニット７ａは、今回の制御サイクルにおけるＳＬＤ操作入力Uslの値を強制的に所定値（固定値あるいはＳＬＤ操作入力Uslの前回値）に設定した後（ＳＴＥＰ１４）、前記式（２８）に従って前記目標空燃比KCMDを算出し（ＳＴＥＰ１５）、今回の制御サイクルの処理終了する。
【０２８４】
尚、ＳＴＥＰ１５で最終的に決定される目標空燃比KCMDは、制御サイクル毎に図示しないメモリに時系列的に記憶保持される。そして、前記大局的フィードバック制御器１５等が、排気側制御ユニット７ａで決定された目標空燃比KCMDを用いるに際しては（図１１のＳＴＥＰｆを参照）、上記のように時系列的に記憶保持された目標空燃比KCMDの中から最新のものが選択される。
【０２８５】
前記ＳＴＥＰ１３における触媒装置３の劣化状態の評価処理を次に説明する。
【０２８６】
この評価処理は、排気側制御ユニット７ａの劣化状態評価手段１３ｂによって図１７のフローチャートに示すように行われる。
【０２８７】
すなわち、劣化状態評価手段１３ｂは、まず、前記式（１５）により定めた劣化評価用線形関数σの値を、前記図１３のＳＴＥＰ４で算出されるＯ2センサ６の偏差出力VO2の時系列データVO2(k)，VO2(k-1)（偏差出力VO2の現在値と１制御サイクル前の過去値）から算出する（ＳＴＥＰ１３−１）。
【０２８８】
尚、この場合に使用する係数s1，s2の値は、前記ＳＴＥＰ９でスライディングモード制御器２７が切換関数σバーの値を求めるために用いる係数s1，s2の値と同一である。
【０２８９】
次いで、劣化状態評価手段１３ｂは、フラグF/DONEの値を判断する（ＳＴＥＰ１３−２）。ここで、このフラグF/DONEは、エンジン１の現在の運転中に、触媒装置３の劣化状態の評価を完了したか否かをそれぞれ値「１」、「０」で表すフラグであり、後述のＳＴＥＰ１３−５の処理においてその値が「１」に設定されるものである。そして、該フラグF/DONEは、エンジン１の始動時にその値が「０」に初期化されるものである。
【０２９０】
このとき、F/DONE＝０である場合（触媒装置３の劣化状態の評価が未完了の場合）には、劣化状態評価手段１３ｂは、排ガスボリューム（排気管２を流れる排ガスの流量）の変動状態を判断する処理を行う（ＳＴＥＰ１３−３）。この処理は、より詳しくは、排ガスボリュームがほぼ一定に維持されている状態（以下、クルーズ状態という）であるか否かを判断し、該クルーズ状態であるか否かをそれぞれ値「１」、「０」で表すフラグF/CRSの値を設定する処理である。この場合、本実施形態では、この処理は、排気側制御ユニット７ａの制御サイクルの周期（３０〜１００ms）よりも長い周期（例えば１秒。以下、ここでは排ガスボリューム変動判断周期という）で、図１８のフローチャートに示すように行われる。
【０２９１】
すなわち、まず、エンジン１の現在の回転数NE及び吸気圧PBの検出データから、次式（４２）によって、現在の排ガスボリュームの推定値A BSV（以下、推定排ガスボリュームという）を算出する（ＳＴＥＰ１３−３−１）。
【０２９２】
【数４２】
0004437626.tif 000043
【０２９３】
ここで、本実施形態では、エンジン１の回転数が１５００ｒｐｍであるときの排ガスボリュームを基準としているため、上記式（４２）では、回転数NE（検出値）を「１５００」で除算している。また、式（４２）において、SVPRAは、エンジン１の排気量等に応じてあらかじめ定めた定数である。
【０２９４】
尚、排ガスボリュームは、上記のように推定する他、例えばエンジン１の燃料供給量や吸入空気量から推定したり、あるいはフローセンサを用いて直接的に検出するようにしてもよい。
【０２９５】
次いで、前記排ガスボリューム変動判断周期毎にＳＴＥＰ１３−３−１で算出される推定排ガスボリュームABSVに所定のフィルタリング処理を施すことによって、排ガスボリュームの変動状態を表す排ガスボリューム変動パラメータSVMAを求める（ＳＴＥＰ１３−３−２）。
【０２９６】
この場合、上記フィルタリング処理は、次式（４３）により与えられる。
【０２９７】
【数４３】
0004437626.tif 000044
【０２９８】
すなわち、排ガスボリューム変動判断周期毎の推定排ガスボリュームABSVの変化量の複数周期分（本実施形態では３周期分）の移動平均を求めることにより、排ガスボリューム変動パラメータSVMAを算出する。尚、式（４３）中の「ｎ」は、排ガスボリューム変動判断周期のサイクル番数を表すものである。
【０２９９】
このようにして排ガスボリューム変動パラメータSVMAを算出したとき、該変動パラメータSVMAは、推定排ガスボリュームABSVの変化速度を表すものとなる。従って、排ガスボリューム変動パラメータSVMAは、その値が「０」に近い程、推定排ガスボリュームABSVの経時的変化が小さい状態（推定排ガスボリュームABSVがほぼ一定である状態）であることを意味する。
【０３００】
劣化状態評価手段１３ｂは次に、上記排ガスボリューム変動パラメータSVMAの値を二乗したもの、すなわち、該変動パラメータSVMAの二乗値SVMA2をあらかじめ定めた所定値δと比較する（ＳＴＥＰ１３−３−３）。ここで、該所定値δは、「０」近傍の正の値である。
【０３０１】
このとき、SVMA2≧δである場合（現在の排ガスボリュームの変動が比較的大きい場合）には、タイマカウンタ（カウントダウンタイマ）TMCRSJUDの値をあらかじめ定めた初期値X/TMCRSJSTに設定する（ＳＴＥＰ１３−３−４）。さらに、排ガスボリュームの変動状態が前記クルーズ状態（略一定に維持されている状態）でないとして、前記フラグF/CRSの値を「０」に設定した後（ＳＴＥＰ１３−３−５）、図１７のルーチン処理に復帰する。
【０３０２】
一方、ＳＴＥＰ１３−３−３の判断処理において、SVMA2＜δである場合（現在の排ガスボリュームの変動が比較的小さい場合）には、この状態が継続する限り前記タイマカウンタTMCRSJUDの値を排ガスボリューム変動判断周期毎に所定値ずつカウントダウンする（ＳＴＥＰ１３−３−６）。そして、このタイマカウンタTMCRSJUDの値が「０」以下になったか否か、すなわち、該タイマカウンタTMCRSJUDがタイムアップしたか否かを判断する（ＳＴＥＰ１３−３−７）。
【０３０３】
このとき、TMCRSJUD≦０で、タイマカウンタTMCRSJUDがタイムアップしている場合には、排ガスボリュームの変動状態が前記クルーズ状態であると判断して、タイマカウンタTMCRSJUDの値を「０」に保持すると共に（ＳＴＥＰ１３−３−８）、前記フラグF/CRSの値を「１」に設定する（ＳＴＥＰ１３−３−９）。そして、図１７のルーチン処理に復帰する。
【０３０４】
また、ＳＴＥＰ１３−３−７の判断処理で、TMCRSJUD＞０で、タイマカウンタTMCRSJUDがタイムアップしていない場合には、前記ＳＴＥＰ１３−３−５でフラグF/CRSの値を「０」に設定した後、図１７のルーチン処理に復帰する。
【０３０５】
以上説明した処理が図１７のＳＴＥＰ１３−３の処理である。このような処理によって、前記排ガスボリューム変動パラメータSVMAの二乗値SVMA2がSVMA2＜δとなる状態、すなわち、排ガスボリュームの変動が小さい状態が前記タイマカウンタTMCRSJUDの初期値X/TMCRSJSTに相当する時間（例えば１０〜１５秒）、継続した場合に、前記クルーズ状態であるとして、フラグF/CRSの値が「１」に設定される。そして、これ以外の場合には、排ガスボリュームの変動状態はクルーズ状態ではないとしてフラグF/CRSの値が「０」に設定される。
【０３０６】
このようなＳＴＥＰ１３−３の処理により、排ガスボリュームがほぼ一定に維持されているような状態を適正に把握することができる。尚、前記排ガスボリューム変動判断周期の１周期内における前記排気側制御ユニット７ａの各制御サイクルでは、フラグF/CRSの値は一定に維持される。
【０３０７】
図１７の説明に戻って、前記劣化状態評価手段１３ｂは、次に、前記基本劣化評価用パラメータLSσ2とＯ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEとを算出する処理を実行する（ＳＴＥＰ１３−４）。この処理は、図１９のフローチャートに示すように行われる。
【０３０８】
すなわち、劣化状態評価手段１３ｂは、基本劣化評価用パラメータLSσ2を算出するための所定の条件が成立しているか否かを判断する（ＳＴＥＰ１３−４−１）。ここで判断する条件としては、前記ＳＴＥＰ１３−３で設定されるフラグF/CRSの値や、前記図１１のＳＴＥＰｄで機関側制御ユニッット７ｂが設定するフラグf/prism/onの値がある。
【０３０９】
この場合、F/CRS＝１である場合、すなわち排ガスボリュームの変動状態が前記クルーズ状態である場合には、基本劣化評価用パラメータLSσ2を算出するための条件（以下、劣化評価条件という）が成立していないとして、基本劣化評価用パラメータLSσ2や平均値VO2/OUTAVEの算出処理を行うことなく、直ちに図１７のルーチン処理に復帰する。
【０３１０】
このように前記クルーズ状態、すなわち排ガスボリュームがほぼ一定に維持されている状態で、基本劣化評価用パラメータLSσ2の算出を行わないのは、次の理由による。すなわち、前記クルーズ状態では、Ｏ2センサ６の出力VO2/OUTは目標値VO2/TARGETに安定して維持されやすいため、前記劣化評価用線形関数σの値は、触媒装置３の劣化が進行した状態であってもその変化が生じにくい。このため、前記クルーズ状態では、劣化評価用線形関数σの値は、前記図５〜図７を参照して説明したような触媒装置３の劣化状態に応じた傾向を生じにくい。そこで、本実施形態では、前記クルーズ状態では、基本劣化評価用パラメータLSσ2の算出は行わないこととし、また、これに伴い、平均値V O2/OUTAVEの算出も行なわない。
【０３１１】
また、ＳＴＥＰ１３−４−１でf/prism/on＝０である場合、すなわち排気側制御ユニット７ａのスライディングモード制御器２７が求める目標空燃比KCMDに応じてエンジン１の燃料供給の制御を行う通常運転モード以外の運転モードである場合にも、前記劣化評価条件が成立していないとして基本劣化評価用パラメータLSσ2や平均値VO2/OUTAVEの算出処理を行うことなく、直ちに図１７のルーチン処理に復帰する。これは、劣化評価用パラメータLSσ2による触媒装置３の劣化状態の評価を適正に行う上では、前記スライディングモード制御器２７が適応スラーディングモード制御により生成する目標空燃比KCMDに応じてエンジン１の空燃比を制御している状態で得られるＯ2センサ６の出力VO2/OUTのデータを用いて基本劣化評価用パラメータLSσ2を求めることが好ましいからである。
【０３１２】
尚、ＳＴＥＰ１３−４−１の条件判断では、フラグF/CRS及びフラグf/prism/onの値の他、例えばエンジン１を搭載している車両の車速が所定の範囲内にあるか否か、エンジン１の始動後、ある程度の時間が経過した状態であるか否か、触媒装置３が活性化しているか否か等の条件判断もなされ、これらの条件が満たされていない場合には前記劣化評価条件が成立していないとして基本劣化評価用パラメータLSσ2や平均値VO2/OUTAVEの算出処理を行うことなく、直ちに図１７のルーチン処理に復帰する。
【０３１３】
一方、ＳＴＥＰ１３−４−１で劣化評価条件が成立している場合（このときF/CRS＝０且つf/prism/on＝１である）には、劣化状態評価手段１３ｂは、前記図１７のＳＴＥＰ１３−１で排気側制御ユニット７ａの制御サイクル毎に求められる劣化評価用線形関数σの値の二乗値σ2を算出する（ＳＴＥＰ１３−４−２）。
【０３１４】
そして、この二乗値σ2の現在値σ2(k)と、基本劣化評価用パラメータLSσ2の現在値LSσ2(k-1)と、前記式（３０）の漸化式により定まるゲインパラメータBPの現在値BP(k-1)とから、前記式（２９）によって、新たな基本劣化評価用パラメータLSσ2(k)を算出する（ＳＴＥＰ１３−４−３）。
【０３１５】
さらに、ゲインパラメータBPの値を式（３０）により更新した後（ＳＴＥＰ１３−４−４）、基本劣化評価用パラメータLSσ2及びゲインパラメータBPの更新回数（これは基本劣化評価用パラメータLSσ2を求めるために使用した劣化評価用線形関数σの値の個数に相当する）をカウントするカウンタCB1Pの値を「１」だけ増加させる（ＳＴＥＰ１３−４−５）。尚、カウンタCB1Pの値は、エンジン１の始動時に「０」に初期化される。
【０３１６】
さらに、劣化状態評価手段１３ｂは、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEを算出（更新）した後（ＳＴＥＰ１３−４−６）、図１７のルーチン処理に復帰する。この場合、平均値VO2/OUTAVEを算出は、ＳＴＥＰ１３−４−６の処理を実行する毎にＯ2センサ６の出力VO2/OUTの現在値を累積加算し、その累積加算値をその累積加算の総回数で除算することにより算出される。従って、平均値VO2/OUTAVEは、基本劣化評価用パラメータLSσ2の算出に関与したＯ2センサ６の出力VO2/OUTの平均値である。
【０３１７】
尚、上述のようにＳＴＥＰ１３−４−３，１３−４−４でそれぞれ求める基本劣化評価用パラメータLSσ2、ゲインパラメータBP、並びに、ＳＴＥＰ１３−４−６で平均値VO2/OUTAVEを算出する際に用いるＯ2センサ６の出力VO2/OUTの累積加算値及びその累積加算の総回数の値は、エンジン１の運転停止中も失われることがないように、エンジン１の運転終了時に図示しないＥＥＰＲＯＭ等の不揮発性メモリに記憶される。そして、次回のエンジン１の運転時には、その記憶された基本劣化評価用パラメータLSσ2、ゲインパラメータBP、累積加算値及び累積加算の基本総回数の値がそれらの初期値として用いられる。また、エンジン１の最初の運転時における基本劣化評価用パラメータLSσ2及びゲインパラメータBPの初期値はそれぞれ「０」、「１」であり、Ｏ2センサ６の出力VO2/OUTの累積加算値及びその累積加算の総回数の値の初期値はそれぞれ「０」である。さらに前記カウンタCB1Pの値は、エンジン１の始動時に「０」に初期化される。
【０３１８】
図１７の説明に戻って、上記のように基本劣化評価用パラメータLSσ2の値や平均値VO2/OUTAVEを算出（更新）した後、劣化状態評価手段１３ｂは、基本劣化評価用パラメータLSσ2の補正と、その補正により得られる補正後劣化評価用パラメータCLSσ2に基づく触媒装置３の劣化状態の評価とを行う処理を実行する（ＳＴＥＰ１３−５）。この処理は図２０のフローチャートに示すように行われる。
【０３１９】
すなわち、劣化状態評価手段１３ｂは、前記ゲインパラメータBPの現在値BP(k)と前回値BP(k-1)とが略等しいか否か（ゲインパラメータBPがほぼ収束したか否か）の判断と、前記カウンタCB1Pの値が所定値CB1CAT以上になったか否か（劣化評価用パラメータLSσ2を求めるために使用した劣化評価用線形関数σの値の個数が所定値CB1CATに達したか否か）の判断とを行う（ＳＴＥＰ１３−５−１，１３−５−２）。
【０３２０】
尚、本実施形態では、エンジン１の始動前に図示しない車両のバッテリが一旦取り外された場合やエンジン１の初回の運転時等のように、エンジン１の始動時に前回の運転時の劣化評価用パラメータLSσ2及びゲインパラメータBPのデータが保持されていない場合（それらの値が「０」に初期化されている場合）には、前記ＳＴＥＰ１３−５−２で前記カウンタCB1Pの値と比較する所定値は、上記のパラメータLSσ2及びBPが保持されている場合よりも、大きな値に設定される。
【０３２１】
上記ＳＴＥＰ１３−５−１，１３−５−２の判断において、それらのいずれかの条件が満たされていない場合には、現在の制御サイクルにおいてＳＴＥＰ１３−４で求められた基本劣化評価用パラメータLSσ2は、劣化評価用線形関数σの値の二乗値σ2の中心値に未だ十分に収束していないと考えられるので、触媒装置３の劣化状態の評価を行うことなく、ＳＴＥＰ１３−５の処理を終了する。
【０３２２】
一方、ＳＴＥＰ１３−５−１，１３−５−２のいずれの条件も満たされている場合には、ＳＴＥＰ１３−４で求められた基本劣化評価用パラメータLSσ2の今回値は、劣化評価用線形関数σの値の二乗値σ2の中心値を表すものとなっている。そして、この場合には、劣化状態評価手段１３ｂは、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEの現在値（ＳＴＥＰ１３−４−６で算出した最新値）から、前記図９のデータテーブルに基づいて補正係数KRESSを求める（ＳＴＥＰ１３−５−３）。さらに劣化状態評価手段１３ｂは、この補正係数KRESSを基本劣化評価用パラメータLSσ2の現在値に乗算することで該基本劣化評価用パラメータLSσ2を補正し、補正後劣化評価用パラメータCLSσ2を求める（ＳＴＥＰ１３−５−４）。
【０３２３】
次いで、劣化状態評価手段１３ｂは、この補正後劣化評価用パラメータCLSσ2を前記図９に示した所定の閾値CATAGELMTと比較する（ＳＴＥＰ１３−５−５）。
【０３２４】
このときCLSσ2≧CATAGELMTである場合には、触媒装置３の劣化状態が前記「劣化進行状態」（触媒装置３の交換を要するかもしくはその交換時期が近い程度に触媒装置３が劣化した状態）であると判断して、その旨を前記劣化報知器２９に報知させる（ＳＴＥＰ１３−５−６）。そして、今回のエンジン１の運転中における触媒装置３の劣化状態の評価が終了したか否かをそれぞれ値「１」、「０」で表す前記フラグF/DONEの値を「１」に設定した後（ＳＴＥＰ１３−５−７）、ＳＴＥＰ１３−５の処理を終了する。
【０３２５】
また、ＳＴＥＰ１３−５−５で、CLSσ2＜CATAGELMTである場合には、触媒装置３の劣化状態は前記「未劣化状態」であるので、劣化報知器２９による報知を行うことなく、前記ＳＴＥＰ１３−５−７でフラグF/DONEの値を「１」に設定し、ＳＴＥＰ１３−５の処理を終了する。
【０３２６】
以上説明した処理が、図１３のＳＴＥＰ１３で劣化状態評価手段１３ｂが行う処理である。
【０３２７】
以上説明した本実施形態の装置によれば、排気側主演算処理部１３の目標空燃比算出手段１３ａによって、触媒装置３の下流側のＯ2センサ６の出力VO2/OUTを、エンジン１の運転状態（回転数NE、吸気圧PBの状態）に応じて設定された目標値VO2/TARGETに収束（整定）させるように、適応スライディングモード制御の処理を用いてエンジン１の目標空燃比（ＬＡＦセンサ５が検出する空燃比の目標値）が逐次決定される。さらに、この目標空燃比KCMDにＬＡＦセンサ５の出力KACTを収束させるようにエンジン１の燃料噴射量を調整することによって、エンジン１の空燃比が目標空燃比KCMDにフィードバック制御される。これにより、Ｏ2センサ６の出力VO2/OUTが目標値VO2/TARGETに収束制御され、ひいては触媒装置３の最適な排ガス浄化性能を確保することができる。
【０３２８】
また、このようなエンジン１の空燃比の制御と並行して、排気側主演算処理部１３の劣化状態評価手段１３ｂが、Ｏ2センサ６の偏差出力VO2の時系列データから劣化評価用線形関数σを逐次求める。さらにその劣化評価用線形関数σの二乗値σ2の中心値（本実施形態では最小二乗中心値）としての基本劣化評価用パラメータLSσ2を、逐次型の統計処理アルゴリズム（本実施形態では重み付最小二乗法のアルゴリズム）を用いて求める。また、この基本劣化評価用パラメータLSσ2の算出に用いられたＯ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEに応じて補正して、補正後劣化評価用パラメータCLSσ2を求め、この補正後劣化評価用パラメータCLSσ2をあらかじめ定めた閾値CATAGELMTと比較することによって、触媒装置３の劣化状態を評価する。
【０３２９】
これにより、エンジン１の運転状態に合わせて触媒装置３の最適な浄化性能を確保しながら触媒装置３の劣化状態を適正に評価することができることとなる。また、この評価のために用いる補正後劣化評価用パラメータCLSσ2は、劣化評価用線形関数σの二乗値σ2の中心値としての基本劣化評価用パラメータCLSσ2をＯ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEに応じて、換言すれば、Ｏ2センサ６の出力VO2/OUTが平均的にどのようなレベルの目標値VO2/TARGETを中心にして制御されたかに応じて補正したものであるので、Ｏ2センサ６の出力VO2/OUTを制御する目標値VO2/TARGETによらずに、触媒装置３の劣化状態との相関性が高いものとなる。この結果、該補正後劣化評価用パラメータCLSσ2に基づく触媒装置３の劣化状態の評価を適正に行うことができる。
【０３３０】
また、本実施形態では、排ガスボリュームがほぼ一定に維持されるようなクルーズ状態、すなわち、排ガスボリュームの変動が小さく、劣化評価用線形関数σの値の変化も生じにくいような状況では、基本劣化評価用パラメータLSσ2の算出やＯ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEの算出を行わない。そして、このような状況以外の状況で、基本劣化評価用パラメータLSσ2や平均値VO2/OUTAVEを算出し、それらの値により定まる補正後劣化評価用パラメータCLSσ2に基づいて触媒装置３の劣化状態を評価する。このため、触媒装置３の劣化状態を表すものとしての補正後劣化評価用パラメータCLSσ2の信頼性が高まり、触媒装置３の劣化状態の評価を正確に行うことができる。
【０３３１】
従って、本実施形態の装置によれば、触媒装置３の良好な浄化性能を確保しながら、該触媒装置３の劣化状態の評価を高い信頼性で良好に行うことができる。
【０３３２】
尚、以上説明した実施形態では、基本劣化評価用パラメータLSσ2を、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEに応じて補正するようにしたが、エンジン１の空燃比は、Ｏ2センサ６の出力VO2/OUTを目標値VO2/TARGETに収束させるように制御されるので、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEは、目標値VO2/TARGETの平均値とほぼ同等のものとなる。従って、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEの代りに、目標値VO2/TARGETの平均値に応じて基本劣化評価用パラメータLSσ2を補正するようにしてもよい。この場合の実施形態に関しては、前記第１実施形態におけるＳＴＥＰ１３−４−６（図１９参照）で、出力VO2/OUTの平均値VO2 /OUTAVEを求める代りに目標値VO2/TARGETの平均値を求めるようにすると共に、ＳＴＥＰ１３−５−３で、該目標値VO2/TARGETの平均値から前記図９と同様の形態のデータテーブルに基づいて補正係数KRESSを求めるようにすればよい。そして、その他の処理は前記第１実施形態と同一でよい。
【０３３３】
次に本発明の第２実施形態を図２１〜図２３を参照して説明する。尚、本実施形態は、触媒装置３の劣化状態の評価に係わる処理の一部のみが前記第１実施形態と相違するものであるので、第１実施形態と同一構成部分及び同一処理部分については第１実施形態と同一の図面及び同一の参照符号を用いて詳細な説明を省略する。
【０３３４】
本実施形態では、前記排気側主演算処理部１３の劣化状態評価手段１３ｂは、前記図１３のＳＴＥＰ１３における処理（触媒装置３の劣化状態の評価処理）を次のように行なう。
【０３３５】
すなわち、図２１のフローチャートを参照して、劣化状態評価手段１３ｂは、前記第１実施形態と全く同様にＳＴＥＰ１３−１〜１３−４の処理を行なった後、前記触媒装置３の劣化状態を判別するための閾値CATAGELMT2の設定処理と、該基本劣化評価用パラメータLSσ2に基づく触媒装置３の劣化状態の評価を行なう処理とを実行する（ＳＴＥＰ１３−５’）。この処理は図２２のフローチャートに示すように行われる。
【０３３６】
すなわち、劣化状態評価手段１３ｂは、前記第１実施形態と全く同様にＳＴＥＰ１３−５−１及びＳＴＥＰ１３−５−２の判断処理を行なった後、ＳＴＥＰ１３−４（図２１参照）で求めたＯ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEの現在値（最新値）から、図２３に示すようにあらかじめ定められたデータテーブルにより閾値CATAGELMT2を求める（ＳＴＥＰ１３−５−３’）。
【０３３７】
ここで、閾値CATAGELMT2は、触媒装置３の劣化状態が前記「未劣化状態」であるか「劣化進行状態」であるかを判断するために前記基本劣化評価用パラメータLSσ2と比較する閾値である。そして、この閾値CATAGELMT2を設定するための図２３のデータテーブルでは、前記基本劣化評価用パラメータLSσ2がＯ2センサ６の出力VO2/OUTの目標値VO2/TARGETの変化によって受ける影響を考慮し、閾値CATAGELMT2の値は、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEがＯ2センサ６の出力VO2/OUTの感度がほぼ最大となる値、すなわち図２のVO2/OUT1であるとき、最大値となり、平均値VO2/OUTAVEのVO2/OUT1からの差｜VO2/OUTAVE−VO2/OUT1｜が大きくなるに伴って閾値CATAGELMTの値が小さくなるように定められている。つまり、目標値VO2/TARGETが図２のVO2/OUT1に近い程、Ｏ2センサ６の出力VO2/OUTの変動、ひいては前記劣化評価用線形関数σの値のばらつきが生じ易く、基本劣化評価用パラメータLSσ2の値が大きくなりやすいという傾向を考慮し、この傾向に合わせて閾値CATAGELMT2の値を増減させるように該閾値CATAGELMT2を設定している。
【０３３８】
そして、本実施形態では、劣化評価手段１３ｂは、このように設定したCATAGELMT２を前記基本劣化評価用パラメータLSσ2とＳＴＥＰ１３−５−５’で比較し、LSσ2≧CATAGELMT２であるときには、触媒装置３の劣化状態が「劣化進行状態」であるとして、劣化報知器２９による報知を行わしめる（ＳＴＥＰ１３−５−６）。そして、第１実施形態と同様に、ＳＴＥＰ１３−５−７でフラグF/DONEの値を「１」に設定した後、前記図１３のルーチン処理に復帰する。また、LSσ2＜CATAGELMT２であるときには、触媒装置３の劣化状態が「未劣化状態」であるとして、劣化報知器２９による報知を行うことなく、ＳＴＥＰ１３−５−７の処理を実行した後、図１３のルーチン処理に復帰する。
【０３３９】
以上説明した以外の構成及び処理は前記第１実施形態と全く同一である。
【０３４０】
かかる本実施形態の装置によれば、基本劣化評価用パラメータLSσ2は、触媒装置３の劣化状態だけでなく、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETの変化の影響も受けるが、該目標値VO2/TARGETの変化の影響に合わせて閾値CATAGELMT２を設定することにより、前記第１実施形態と同様に、目標値VO2/TARGETの変化の影響によらずに適正に触媒装置３の劣化状態の評価を行なうことができる。従って、本実施形態においても、触媒装置３の良好な浄化性能を確保しながら、触媒装置３の劣化状態の評価を適正に精度よく行なうことができる。
【０３４１】
尚、本実施形態では、閾値CATAGELMT２を設定するために、Ｏ2センサ６の出力VO2/OUTの平均値VO2/OUTAVEを用いたが、該平均値VO2/OUTAVEの代りに、Ｏ2センサ６の出力VO2/OUTの目標値VO2/TARGETの平均値を用いてもよい。この場合には、図２１のＳＴＥＰ１３−４で、目標値VO2/TARGETの平均値を求めておき、図２２のＳＴＥＰ１３−５−３’では、該目標値VO2/TARGETの平均値から、図２３のデータテーブルと同様の形態のデータテーブルにより、閾値CATAGELMT2を求めるようにすればよい。
【０３４２】
また、本発明は前述した第１及び第２実施形態に限定されるものではなく、例えば次のような変形態様も可能である。
【０３４３】
前記第１及び第２実施形態では、劣化評価用線形関数σの二乗値σ2の最小二乗中心値を基本劣化評価用パラメータLSσ2としたが、例えば劣化評価用線形関数σの絶対値の最小二乗中心値を基本劣化評価用パラメータとして求めるようにしてもよい。この場合には、前記図１７あるいは図２１のＳＴＥＰ１２−４において劣化評価用線形関数σの二乗値σ2の代わりに該線形関数σの絶対値を求め、前記式（２９）中の「σ2」をその絶対値で置き換えた演算処理を行うことによって、触媒装置３の劣化状態に対して前記基本劣化評価用パラメータLSσ2と同様の傾向を呈する基本劣化評価用パラメータを得ることができる。そして、この基本劣化評価用パラメータをＯ2センサ６の出力VO2/OUTあるいは目標値VO2/TARGETの平均値に応じて補正したものをあらかじめ定めた所定の閾値と比較し、もしくは、該基本劣化評価用パラメータを、Ｏ2センサ６の出力VO2/OUTあるいは目標値VO2/TARGETの平均値に応じて設定した閾値と比較することで、前記第１又は第２実施形態と同様に、触媒装置３の劣化状態を評価することができる。
【０３４４】
さらには、劣化評価用線形関数σの二乗値σ2あるいは絶対値の最小二乗中心値に限らず、それらの二乗値σ2もしくは絶対値の平均値等の中心値を基本劣化評価用パラメータとしてもよい。あるいは、例えば劣化評価用線形関数σの値の分散（より正確には「０」に対する分散で、劣化評価用線形関数σの値の二乗値σ2の平均値）や、標準偏差（分散の平方根）を基本劣化評価用パラメータとして求めるようにしてもよい。このようにしても、該基本劣化評価用パラメータは、触媒装置３の劣化状態に対して、前記基本劣化評価用パラメータLSσ2と同様の傾向を呈する。
【０３４５】
また、前記第１及び第２実施形態では、劣化評価用線形関数σは、Ｏ2センサ６の偏差出力VO2の二つの時系列データを変数成分とする前記式（１５）により定めたが、さらに多くの偏差出力VO2の時系列データを変数成分とする線形関数により劣化評価用線形関数を定義してもよい。この場合、スライディングモード制御用の切換関数は劣化評価用線形関数に含まれる偏差出力VO2の時系列データを推定偏差出力VO2バーの時系列データで置き換えた線形関数により定義することが好適である。
【０３４６】
また、劣化評価用線形関数は、例えば式（１５）の偏差出力VO2(k)，VO2(k-1）をＯ2センサ６の出力VO2/OUT(k)，VO2/OUT(k-1)に置き換えた式によって定めてもよい。この場合には、この劣化評価用線形関数の値の中心値は、基本的には「（s1+s2）・VO2/TARGET」となる。そして、例えばこの中心値（s1+s2）・VO2/TARGETと劣化評価用線形関数の値との偏差の二乗値あるいは絶対値の最小二乗中心値等、該中心値（s1+s2）・VO2/TARGETに対する劣化評価用線形関数の値のばらつき度合いを表すパラメータを基本劣化評価用パラメータとして求めれば、前記第１又第２実施形態と同様に触媒装置３の劣化状態を評価することができる。
【０３４７】
さらには、例えば前記式（２５）の切換関数σバー、すなわち、Ｏ2センサ６の推定偏差出力VO2バーの時系列データを変数成分とする線形関数を劣化評価用線形関数として用いてもよい。但し、Ｏ2センサ６の偏差出力VO2の前記合計無駄時間ｄ後の推定値である推定偏差出力VO2バーを変数成分とする切換関数σバーよりも、Ｏ2センサ６の実際の偏差出力VO2を変数成分とする式（１５）の劣化評価用線形関数σを用いた方が、触媒装置３の実際の状態が該線形関数σにより良く反映されるので、評価結果の信頼性を高める上で好ましいと考えられる。
【０３４８】
また、前記第１実施形態では、触媒装置３の劣化状態を評価するために劣化評価用線形関数σの二乗値σ2を用いたが、例えば該線形関数σの値とその変化速度との積（これは前記ＳＬＤ制御状態の安定性の判別のために前記ＳＴＥＰ１０で用いた安定判別パラメータＰstbである）を用いて触媒装置３の劣化状態を評価するようにすることも可能である。この場合においても、例えば上記積の分散（より一般的には該積の値のばらつき度合いを表すもの）を劣化評価用パラメータとして求めれば、その劣化評価用パラメータの値に基づいて触媒装置３の劣化状態を評価することが可能である。
【０３４９】
また、前記第１実施形態では、触媒装置３の劣化状態を「劣化進行状態」と「未劣化状態」との二つに分けて評価するようにしたが、前記補正後劣化評価用パラメータCLSσ2と比較する閾値、あるいは、前記基本劣化評価用パラメータLSσ2と比較する閾値をさらに多くすれば、触媒装置３の劣化状態をさらに多くの劣化度合いに分別して評価するようにすることも可能である。そして、それぞれの劣化度合いに応じて各別の報知をするようにすることも可能である。
【０３５０】
また、前記第１及び第２実施形態では、目標空燃比KCMDを算出するために、適応スライディングモード制御の処理を用いたが、適応則（適応アルゴリズム）を用いないスライディングモード制御の処理を用いてもよい。この場合には、前記式（２８）から適応則入力Uadpの項を除去した式によって、目標空燃比KCMDを求めるようにすればよい。
【０３５１】
また、前記第１及び第２実施形態では、目標空燃比KCMDの算出に際しては、推定器２６により前記合計無駄時間ｄの影響を補償するようにしたが、前記空燃比操作系の無駄時間が無視できる程小さいような場合には、対象排気系Ｅの無駄時間d1の影響のみを補償するようにしてもよい。この場合には、推定器２６は、前記式（１２）の「kcmd」及び「ｄ」をそれぞれ「kact」及び「d1」に置き換えた次式（４４）を用いて、前記実施形態と同様にＯ2センサ６の偏差出力VO2の無駄時間d1後の推定値VO2(k+d1)を制御サイクル毎に逐次求める。
【０３５２】
【数４４】
0004437626.tif 000045
【０３５３】
さらに、この場合には、スライディングモード制御器２７は、前記式（２４）〜（２７）で「ｄ」を「d1」に置き換えた式によって、等価制御入力Usl、到達則入力Urch及び適応則入力Uadpを制御サイクル毎に求め、それらを加算することで、目標偏差空燃比kcmdを求める。このようにすることで、対象排気系Ｅの無駄時間d1の影響を補償した目標空燃比KCMDを求めることができる。
【０３５４】
尚、この場合における同定器２５や劣化状態評価手段１３ｂ、機関側制御ユニット７ｂの処理は、前述の第１又は第２実施形態のものと同一でよい。
【０３５５】
また、空燃比操作系の無駄時間d1だけでなく対象排気系Ｅの無駄時間d1も無視できるほど小さいような場合には、前記推定器２６を省略してもよい。この場合には、スライディングモード制御器２７や同定器２５の演算処理は、ｄ＝d1＝０として行えばよい。
【０３５６】
また、前記第１及び第２実施形態では、同定器２５を備えたが、前記排気系モデルのゲイン係数a1，a2，b1をあらかじめ定めた固定値としたり、エンジン１の回転数や吸気圧等からマップ等を用いて適宜、ゲイン係数a1，a2，b1の値を設定するようにしてもよい。
【０３５７】
また、前記第１及び第２実施形態では、Ｏ2センサ６の出力VO2/OUTを目標値VO2/TARGETに収束させるためのフィードバック制御手法としてスライディングモード制御の処理を用いたが、他のフィードバック制御手法の処理によってＯ2センサ６の出力VO2/OUTを目標値VO2/TARGETに収束制御しつつ、触媒装置３の劣化状態の評価を行うことも可能である。
【図面の簡単な説明】
【図１】本発明の内燃機関の空燃比制御装置の第１実施形態の全体的システム構成を示すブロック図。
【図２】図１の装置で使用するＯ2センサ及び空燃比センサの出力特性図。
【図３】図１の装置の要部の基本構成を示すブロック図。
【図４】図１の装置で用いるスライディングモード制御を説明するための説明図。
【図５】図１の装置で用いる触媒装置の劣化状態の評価手法を説明するための図。
【図６】図１の装置で用いる触媒装置の劣化状態の評価手法を説明するための図。
【図７】図１の装置で用いる触媒装置の劣化状態の評価手法を説明するための図。
【図８】図１の装置で用いる触媒装置の劣化状態の評価手法を説明するための図。
【図９】図１の装置で用いる触媒装置の劣化状態の評価手法を説明するための図。
【図１０】図１の装置で用いる適応制御器を説明するためのブロック図。
【図１１】図１の装置の機関側制御ユニットの処理を示すフローチャート。
【図１２】図１１のフローチャートのサブルーチン処理を示すフローチャート。
【図１３】図１の装置の排気側制御ユニットの処理を示すフローチャート。
【図１４】図１３のフローチャートのサブルーチン処理を示すフローチャート。
【図１５】図１３のフローチャートのサブルーチン処理を示すフローチャート。
【図１６】図１３のフローチャートのサブルーチン処理を示すフローチャート。
【図１７】図１３のフローチャートのサブルーチン処理を示すフローチャート。
【図１８】図１７のフローチャートのサブルーチン処理を示すフローチャート。
【図１９】図１７のフローチャートのサブルーチン処理を示すフローチャート。
【図２０】図１７のフローチャートのサブルーチン処理を示すフローチャート。
【図２１】本発明の内燃機関の空燃比制御装置の第２実施形態の処理を示すフローチャート。
【図２２】図２１のフローチャートのサブルーチン処理を示すフローチャート。
【図２３】図２２のフローチャートの要部の処理を説明するための線図。
【符号の説明】
１…エンジン（内燃機関）、２…排気管（排気通路）、３…触媒装置、６…Ｏ2センサ、７ｂ…機関側制御ユニット（空燃比操作手段）、１３ａ…目標空燃比算出手段（空燃比操作手段）、１３ｂ…劣化状態評価手段（パラメータ生成手段）。
【図１】
0004437626.tif 000046
【図２】
0004437626.tif 000047
【図３】
0004437626.tif 000048
【図４】
0004437626.tif 000049
【図５】
0004437626.tif 000050
【図６】
0004437626.tif 000051
【図７】
0004437626.tif 000052
【図８】
0004437626.tif 000053
【図９】
0004437626.tif 000054
【図１０】
0004437626.tif 000055
【図１１】
0004437626.tif 000056
【図１２】
0004437626.tif 000057
【図１３】
0004437626.tif 000058
【図１４】
0004437626.tif 000059
【図１５】
0004437626.tif 000060
【図１６】
0004437626.tif 000061
【図１７】
0004437626.tif 000062
【図１８】
0004437626.tif 000063
【図１９】
0004437626.tif 000064
【図２０】
0004437626.tif 000065
【図２１】
0004437626.tif 000066
【図２２】
0004437626.tif 000067
【図２３】
0004437626.tif 000068