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