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