(57)【要約】【課題】触媒から流出する排ガス中の特定成分の量を考慮することで、同触媒下流の排気通路に配置された酸素濃度センサの出力に基づく空燃比のフィードバック制御を一層適切に実行し得る内燃機関の排気浄化装置を提供すること。【解決手段】この排気浄化装置は、内燃機関の排気通路に介装された触媒の下流の空燃比センサ出力ｖｏｘｓを目標値ｖｏｘｓｒｅｆから減じた値である偏差Ｄｖｏｘｓに重み係数を乗じた値Ｄｖｏｘｓｗを求め、この値Ｄｖｏｘｓｗを比例・積分・微分処理して空燃比制御に使用するフィードバック制御量を求める。この重み係数は、触媒モデルを利用して算出される前記触媒から流出するエミッションの絶対量を精度良く表す値である酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値が所定の微小値以下であるとき（即ち、同エミッションの絶対量が微量であって前記第１触媒下流空燃比センサが不定状態にある可能性があるとき）、「１」以下の微小値に設定される。【選択図】  図９
2004270581.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配設された触媒と、
前記触媒よりも下流の前記排気通路に配設されるとともに同配設部位における同排気通路内の排ガスの空燃比に応じた値を出力する濃淡電池式の酸素濃度センサと、
前記酸素濃度センサの出力と同出力の所定の目標値との相違の程度を示す値に基づいてフィードバック制御量を算出するフィードバック制御量算出手段と、
前記酸素濃度センサの出力が前記所定の目標値となるように前記フィードバック制御量に基づいて前記触媒に流入するガスの空燃比を制御する空燃比制御手段と、を備えた内燃機関の排気浄化装置であって、
前記触媒から流出する排ガス中の同触媒にて浄化すべき特定成分の量に関する値を取得する特定成分量取得手段を備え、
前記フィードバック制御量算出手段は、前記特定成分の量に関する値が同特定成分の量が所定の微小量以下であることを示す値であるとき、前記酸素濃度センサの出力と前記所定の目標値との相違の程度を示す値の代わりに同値が示す相違の程度より小さい所定の相違の程度を示す値に基づいて前記フィードバック制御量を算出するように構成された内燃機関の排気浄化装置。
【請求項２】
請求項１に記載の内燃機関の排気浄化装置において、
前記フィードバック制御量算出手段は、
前記相違の程度を示す値としての前記酸素濃度センサの出力と前記所定の目標値との偏差に基づいて前記フィードバック制御量を算出するとともに、
前記特定成分の量に関する値が同特定成分の量が前記所定の微小量以下であることを示す値であるとき、前記偏差の代わりに同偏差の絶対値より小さい絶対値となる所定の値に基づいて前記フィードバック制御量を算出するように構成された内燃機関の排気浄化装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の排気浄化装置において、
前記フィードバック制御量算出手段は、
前記特定成分の量に関する値が同特定成分の量が前記所定の微小量を超えることを示す値であるとき、同特定成分の量に関する値に応じて前記酸素濃度センサの出力と前記所定の目標値との相違の程度を示す値に重み付けした値を求めるとともに、同相違の程度を示す値の代わりに同重み付けされた値に基づいて前記フィードバック制御量を算出するように構成された内燃機関の排気浄化装置。
【請求項４】
内燃機関の排気通路に配設された触媒と、
前記触媒よりも下流の前記排気通路に配設されるとともに同配設部位における同排気通路内の排ガスの空燃比に応じた値を出力する酸素濃度センサと、
前記酸素濃度センサの出力に影響を与える前記触媒から流出する排ガス中の特定成分の量に関する値を取得する特定成分量取得手段と、
前記特定成分の量に関する値に基づいて前記酸素濃度センサの出力を補正した値を算出する補正手段と、
前記補正された値が所定の目標値となるように同補正された値に基づいて前記触媒に流入するガスの空燃比を制御する空燃比制御手段と、
を備えた内燃機関の排気浄化装置。
【請求項５】
請求項４に記載の内燃機関の排気浄化装置において、
前記特定成分量取得手段は、前記触媒から流出する排ガス中の少なくとも一つの酸化剤の量に関する値と少なくとも一つの還元剤の量に関する値を前記ガス中の特定成分の量に関する値として取得するように構成され、
前記補正手段は、前記少なくとも一つの酸化剤の量に関する値に基づいて前記触媒から流出する排ガス中の酸化剤が前記酸素濃度センサの出力に影響を与える程度を示す酸化剤側影響度指標値と求めるとともに前記少なくとも一つの還元剤の量に関する値に基づいて同排ガス中の還元剤が同酸素濃度センサの出力に影響を与える程度を示す還元剤側影響度指標値と求め、同酸化剤側影響度指標値と同還元剤側影響度指標値との比較により同酸素濃度センサの出力が補正されるべき程度を示す補正指標値を求め、同補正指標値に基づいて同酸素濃度センサの出力を補正した値を算出するように構成された内燃機関の排気浄化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、触媒の下流の排気通路に配設された酸素濃度センサの出力に基づいて触媒に流入するガスの空燃比を制御する内燃機関の排気浄化装置に関する。
【０００２】
【従来の技術】
従来より、内燃機関の排ガスを浄化するための三元触媒（本明細書においては、単に「触媒」と云うこともある。）が同機関の排気通路に配設されている。この三元触媒は、同三元触媒に流入するガスの空燃比が理論空燃比であるときに、ＨＣ，ＣＯを酸化するとともにＮＯｘを還元し、これらの有害成分を高い効率で浄化する。また、三元触媒は、酸素を吸蔵・放出する機能（酸素吸蔵機能、酸素吸蔵・放出機能、Ｏ２ストレージ機能）を有し、この酸素吸蔵・放出機能により、空燃比が理論空燃比からある程度まで偏移したとしても、ＨＣ，ＣＯ、及びＮＯｘを浄化することができる。
【０００３】
即ち、機関に供給される混合気の空燃比がリーンとなって三元触媒に流入するガスにＮＯｘが多量に含まれると、三元触媒はＮＯｘから酸素分子を奪って同酸素分子を吸蔵するとともに同ＮＯｘを還元し、これによりＮＯｘを浄化する。また、機関に供給される混合気の空燃比がリッチになって三元触媒に流入するガスにＨＣ，ＣＯが多量に含まれると、三元触媒はこれらに吸蔵している酸素分子を与えて（放出して）酸化し、これによりＨＣ，ＣＯを浄化する。換言すれば、三元触媒に流入するガスの空燃比がリッチである場合には同三元触媒が吸蔵している酸素量（以下、「酸素吸蔵量」と称呼する。）が減少するとともに三元触媒に流入するガスの空燃比がリーンである場合には同三元触媒の酸素吸蔵量が増加する。
【０００４】
従って、触媒が連続的に流入するリッチ空燃比の排ガス中にある多量のＨＣ，ＣＯを効率的に浄化するためには、同触媒が酸素を多量に貯蔵していなければならず、逆に連続的に流入するリーン空燃比の排ガス中にある多量のＮＯｘを効率的に浄化するためには、同触媒が酸素を十分に貯蔵し得る状態になければならないことになる。以上のことから、ＨＣ，ＣＯやＮＯｘを効率よく浄化するため触媒の酸素吸蔵量が所定の量（例えば、同触媒に吸蔵され得る酸素の最大量（以下、「最大酸素吸蔵量」と称呼する。）の半分の量）になるように機関に供給される混合気の空燃比（従って、触媒に流入するガスの空燃比）が制御されることが好ましい。また、触媒の酸素吸蔵量が前記所定の量に維持され得るように制御するためには、触媒から流出する排ガスの空燃比（の平均値）が理論空燃比近傍になるように制御することが好適であると考えられる。
【０００５】
このため、特許文献１に記載の内燃機関の排気浄化装置（空燃比制御装置）は、内燃機関の排気通路に触媒を配設するとともに、同触媒の下流の排気通路に排ガスの空燃比を検出する空燃比センサを配設し、同空燃比センサの出力が理論空燃比に相当する目標値になるように（従って、同空燃比センサの出力と同目標値との偏差が「０」になるように）同空燃比センサの出力に基づいて機関に供給される混合気の空燃比をフィードバック制御するようになっている。
【０００６】
【特許文献１】
特開平７−１９７８３７号公報
【０００７】
【発明が解決しようとする課題】
一般に、触媒の下流に配設される空燃比センサとしては、安価であること、理論空燃比近傍において出力が急変することから排ガスの空燃比を理論空燃比近傍に制御するのに好適であること等の理由から、酸素濃淡電池の起電力に基づいて排ガスの空燃比に応じた出力を発生する濃淡電池式の酸素濃度センサが使用される。
【０００８】
即ち、かかる濃淡電池式の酸素濃度センサは、排ガス中の各ガス成分が完全に燃焼して化学平衡状態にあるとき、例えば、図３３に示すような出力特性（以下、「静特性」と云うこともある。）を有する。図３３に示したように、この酸素濃度センサは、理論空燃比において急変する電圧ｖｏｘｓを出力するようになっていて、排ガスの空燃比が理論空燃比よりもリーンのときは略０．１（Ｖ）、同排ガスの空燃比が理論空燃比よりもリッチのときは略０．９（Ｖ）、及び同排ガスの空燃比が理論空燃比のときは略０．５（Ｖ）の電圧（理論空燃比に相当する目標値ｖｏｘｓｒｅｆ）を出力するようになっている。
【０００９】
しかしながら、かかる濃淡電池式の酸素濃度センサは、一旦、明白なリーンを示す値（例えば、０．１（Ｖ））に出力が変化すると、その後の所定期間に渡り、或る程度の量のＨＣ，ＣＯを含むリッチ空燃比の排ガスが触媒から流出してこない限りにおいて同出力がリーンを示す値に維持され、一旦、明白なリッチを示す値（例えば、０．９（Ｖ））に出力が変化すると、その後の所定期間に渡り、或る程度の量のＮＯｘを含むリーン空燃比の排ガスが同触媒から流出してこない限りにおいて同出力がリッチを示す値に維持されるという特性（動特性）を有する。換言すれば、濃淡電池式の酸素濃度センサにおいては、触媒からＨＣ，ＣＯ、及びＮＯｘ等の浄化すべき有害成分（以下、「エミッション」と称呼する。）が殆ど流出してこないときであっても前記所定期間に渡りリーン又はリッチを示す値に出力が維持される状態（以下、「不定状態」と称呼する。）となる場合がある。従って、濃淡電池式の酸素濃度センサの出力と理論空燃比に相当する目標値との偏差が「０」になるように同センサの出力に基づいて機関に供給される混合気の空燃比を制御すると、同センサが一旦不定状態になった後、同空燃比が収束しにくく、その結果、制御の安定性が低くなるという問題がある。
【００１０】
以下、この点について図３４を参照しながらより具体的に説明する。図３４は、触媒下流に配置された前述の図３３に示す静特性を有する濃淡電池式の酸素濃度センサの出力ｖｏｘｓを目標値ｖｏｘｓｒｅｆ（０．５（Ｖ））から減じた値である偏差Ｄｖｏｘｓが「０」になるように、同偏差Ｄｖｏｘｓが正の値のとき（ｖｏｘｓがリーンを示す値（０．１（Ｖ））のとき）機関に供給される混合気の空燃比ａｂｙｆｓをリッチ側に補正し同偏差Ｄｖｏｘｓが負の値のとき（ｖｏｘｓがリッチを示す値（０．９（Ｖ））のとき）同混合気の空燃比ａｂｙｆｓをリーン側に補正するフィードバック制御を実行した場合における各種値の変化の一例を示したタイムチャートである。この例では、（ａ）に示すように、時刻ｔ０において、酸素濃度センサ出力ｖｏｘｓがリーンを示す値となっていて（即ち、（ｂ）に示すように偏差Ｄｖｏｘｓが正の値になっていて）、その結果、（ｃ）に示すように機関に供給される混合気の空燃比ａｂｙｆｓがリッチ側に補正されているものと仮定する。また、説明の便宜上、この例では、前記偏差Ｄｖｏｘｓに対する比例処理（Ｐ処理）のみにより前記空燃比を補正するためのフィードバック制御量を算出しているものとする。
【００１１】
前述のごとく、時刻ｔ０において空燃比ａｂｙｆｓがリッチ側に補正されていて触媒に流入する排ガス中にはＨＣ，ＣＯが多量に含まれているから、（ｄ）に示すように、時刻ｔ０以降、触媒の酸素吸蔵量ＯＳＡは減少していく。一方、時刻ｔ０では、酸素吸蔵量ＯＳＡは充分に残存していて触媒は流入してくる排ガス中のＨＣ，ＣＯを十分に浄化する能力を有するから、（ｅ）に示すように、触媒から流出する排ガス中の一酸化炭素ＣＯ濃度は略「０」になっている。また、触媒に流入する排ガスはＮＯｘを殆ど含んでいないから、（ｆ）に示すように、触媒から流出する排ガス中の一酸化窒素ＮＯ濃度も略「０」になっている。
【００１２】
時刻ｔ１になると、酸素吸蔵量ＯＳＡが「０」近傍に到達することで触媒はＨＣ，ＣＯを十分に浄化できなくなる。従って、（ｅ）に示すように、触媒から流出する排ガス中の一酸化炭素ＣＯ濃度が増加を開始し、これに応じて酸素濃度センサ出力ｖｏｘｓはリーンを示す値からリッチを示す値へと変化を開始するとともに時刻ｔ２になるとリッチを示す値に到達する。この結果、時刻ｔ１からｔ２の間において偏差Ｄｖｏｘｓが正の値から負の値へと転じた時点以降、空燃比ａｂｙｆｓはリッチ側からリーン側に補正されるようになる。
【００１３】
これに応じて、触媒に流入する排ガスはＮＯｘを多く含むようになる一方でＨＣ，ＣＯを殆ど含まなくなり、酸素吸蔵量ＯＳＡが減少から増加に転じるとともに、ＣＯ濃度は増加から減少に転じて時刻ｔ２以降再び略「０」に戻る。一方、この時点近傍では酸素吸蔵量ＯＳＡは略「０」となっていて触媒は流入してくる排ガス中のＮＯｘを十分に浄化する能力を有するから、触媒から流出する排ガス中の一酸化窒素ＮＯ濃度も略「０」に維持されたままである。
【００１４】
従って、時刻ｔ２以降、増加を続ける酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘの半分となる時刻ｔ３を経て最大酸素吸蔵量Ｃｍａｘ近傍に到達する時刻ｔ４になるまでの間、触媒からＮＯｘが多量に流出してこないから、酸素濃度センサ出力ｖｏｘｓはリッチを示す値を維持し続ける。換言すれば、触媒からＨＣ，ＣＯ、及びＮＯｘ等のエミッションが殆ど流出してこないにも拘わらずｖｏｘｓはリーンを示す値に維持され、酸素濃度センサは前記不定状態になる（（ａ）に示す一点鎖線で囲まれた部分を参照。）。
【００１５】
このように酸素濃度センサが不定状態にある時刻ｔ２〜ｔ４までの間、触媒からエミッションが殆ど流出してこないから混合気の空燃比を大きく補正する（フィードバック制御する）必要がないにも拘わらず、偏差Ｖｏｘｓが負の値に維持されることで混合気の空燃比ａｂｙｆｓがリーン側に不必要に大きく補正された状態が維持され続ける。
【００１６】
この結果、時刻ｔ４になると、酸素吸蔵量ＯＳＡがＣｍａｘ近傍に到達することで触媒はＮＯｘを十分に浄化できなくなる。従って、触媒から流出する排ガス中の一酸化窒素ＮＯ濃度が増加を開始し、これに応じて酸素濃度センサ出力ｖｏｘｓはリッチを示す値からリーンを示す値へと変化を開始するとともに時刻ｔ５になるとリーンを示す値に到達する。この結果、時刻ｔ４からｔ５の間において偏差Ｄｖｏｘｓが負の値から正の値へと転じた時点以降、空燃比ａｂｙｆｓはリーン側からリッチ側に補正されるようになる。
【００１７】
これに応じて、触媒に流入する排ガスはＨＣ，ＣＯを多く含むようになる一方でＮＯｘを殆ど含まなくなり、酸素吸蔵量ＯＳＡが増加から減少に転じるとともに、ＮＯ濃度は増加から減少に転じて時刻ｔ５以降再び略「０」に戻る。一方、この時点近傍では酸素吸蔵量ＯＳＡはＣｍａｘ近傍となっていて触媒は流入してくる排ガス中のＨＣ，ＣＯを十分に浄化する能力を有するから、触媒から流出する排ガス中の一酸化炭素ＣＯ濃度も略「０」に維持されたままである。
【００１８】
従って、時刻ｔ５以降、減少を続ける酸素吸蔵量ＯＳＡがＣｍａｘの半分となる時刻ｔ６を経てＣｍａｘ近傍に到達する時刻ｔ７になるまでの間、触媒からＨＣ，ＣＯが多量に流出してこないから、酸素濃度センサ出力ｖｏｘｓはリーンを示す値を維持し続ける。換言すれば、触媒からＨＣ，ＣＯ、及びＮＯｘ等のエミッションが殆ど流出してこないにも拘わらずｖｏｘｓはリーンを示す値に維持され、酸素濃度センサは再び不定状態になる。
【００１９】
よって、この時刻ｔ５〜ｔ７までの間も、触媒からエミッションが殆ど流出してこないにも拘わらず、偏差Ｖｏｘｓが正の値に維持されることで混合気の空燃比ａｂｙｆｓがリッチ側に不必要に大きく補正された状態が維持され続ける。この結果、時刻ｔ７以降、前述の時刻ｔ１以降と同様な変化が再び発生しすることで、時刻ｔ８以降、酸素濃度センサは再度不定状態となって、混合気の空燃比ａｂｙｆｓは再び、不必要にリーン側に大きく補正されるようになる。
【００２０】
以上、説明したように、濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行うと、同酸素濃度センサが一旦不定状態になった後、機関に供給される混合気の空燃比が収束しにくくなり、その結果、触媒の酸素吸蔵量が所定の量（例えば、最大酸素吸蔵量の半分の量）に収束しにくくなって制御の安定性が低くなるという問題（以下、「第１の問題」と称呼する。）が発生する。この第１の問題は、酸素濃度センサが不定状態にあって触媒からエミッションが殆ど流出してこない場合であっても、触媒からエミッションが多量に流出している場合であっても、同酸素濃度センサの出力が同一の値（リッチ又はリーンを示す値）となり得、この結果、どちらの場合においても機関に供給される混合気の空燃比を補正するためのフィードバック制御量が同様に計算されてしまうことに基づいて発生するものである。従って、かかる第１の問題は、触媒から流出する排ガス中のエミッションの量（特定成分の量）を推定できれば、同推定された特定成分の量が微量である場合とそうでない場合とで濃淡電池式の酸素濃度センサの出力に基づいて計算されるフィードバック制御量を異ならせることで解決され得る。
【００２１】
また、前述した濃淡電池式の酸素濃度センサ（排ガスの酸素濃度に依存する所謂限界電流を測定することで同排ガスの空燃比に応じた出力を発生する限界電流式の酸素濃度センサ等の酸素濃度センサも同様である。）の出力特性（静特性）は、排ガス中の各ガス成分の濃度の割合に応じて変化することが各種実験等を通じて判明している。即ち、例えば、前述したように排ガス中の各ガス成分が完全に燃焼して化学平衡状態にあるときに図３３に示す静特性を有する濃淡電池式の酸素濃度センサにおいて、同センサ（の検出部）を通過する排ガスの各ガス成分の濃度の割合が同排ガスが化学平衡状態にあるときの各ガス成分の濃度の割合と異なる場合、同センサは図３３に示す静特性とは異なる静特性を有するようになり、排ガスの空燃比が理論空燃比となっているときでも、図３３における理論空燃比に相当する値ｖｏｘｓｒｅｆとは異なる値を出力するようになる。
【００２２】
従って、例えば、この濃淡電池式の酸素濃度センサの出力ｖｏｘｓそのものが図３３における理論空燃比に相当する値ｖｏｘｓｒｅｆとなるように空燃比制御を行うように構成すると、同排ガス中の各ガス成分の濃度の割合によっては触媒下流の排ガスの空燃比が理論空燃比近傍に維持され得なくなる場合があるという問題（以下、「第２の問題」と称呼する。）が発生する。しかしながら、この第２の問題も、酸素濃度センサ出力に影響を与える触媒から流出する排ガス中の各特定成分の量（濃度）を推定できれば、同推定された各特定成分の濃度に基づいて同センサ出力を補正することで解決され得る。
【００２３】
以上、説明したように、上記第１の問題、及び上記第２の問題は共に、触媒から流出する排ガス中の特定成分の量を推定できれば解決され得る。そこで、発明者は、触媒から流出する排ガス中の特定成分の量（濃度）を推定する手法を開発するとともに、酸素濃度センサの出力に基づく空燃比のフィードバック制御においてこの推定値を考慮することにより、一層適切に同フィードバック制御を実行し得ることを見い出した。
【００２４】
【発明の概要】
本発明の目的は、触媒下流の排気通路に配置された酸素濃度センサの出力に基づいて空燃比のフィードバック制御を行う内燃機関の排気浄化装置において、触媒から流出する排ガス中の特定成分の量を考慮することで一層適切にフィードバック制御を実行し得るものを提供することにある。
【００２５】
かかる目的を達成するための（上記第１の問題を解決するための）本発明の第１の特徴は、内燃機関の排気通路に配設された触媒と、前記触媒よりも下流の前記排気通路に配設されるとともに同配設部位における同排気通路内の排ガスの空燃比に応じた値を出力する濃淡電池式の酸素濃度センサと、前記酸素濃度センサの出力と同出力の所定の目標値との相違の程度を示す値に基づいてフィードバック制御量を算出するフィードバック制御量算出手段と、前記酸素濃度センサの出力が前記所定の目標値となるように前記フィードバック制御量に基づいて前記触媒に流入するガスの空燃比を制御する空燃比制御手段と、を備えた内燃機関の排気浄化装置が、前記触媒から流出する排ガス中の同触媒にて浄化すべき特定成分の量に関する値を取得する特定成分量取得手段を備え、前記フィードバック制御量算出手段は、前記特定成分の量に関する値が同特定成分の量が所定の微小量以下であることを示す値であるとき、前記酸素濃度センサの出力と前記所定の目標値との相違の程度を示す値の代わりに同値が示す相違の程度より小さい所定の相違の程度を示す値に基づいて前記フィードバック制御量を算出するように構成されたことにある。
【００２６】
この場合、更に、前記フィードバック制御量算出手段は、前記相違の程度を示す値としての前記酸素濃度センサの出力と前記所定の目標値との偏差に基づいて前記フィードバック制御量を算出するとともに、前記特定成分の量に関する値が同特定成分の量が前記所定の微小量以下であることを示す値であるとき、前記偏差の代わりに同偏差の絶対値より小さい絶対値となる所定の値に基づいて前記フィードバック制御量を算出するように構成されることが好適である。
【００２７】
ここにおいて、前記触媒にて浄化すべき特定成分とは、例えば、一酸化炭素ＣＯ、炭化水素ＨＣ、窒素酸化物ＮＯｘ等であり、触媒から流出する排ガス中の同触媒にて浄化すべき前記特定成分の量に関する値は、例えば、同特定成分（ＣＯ等）の濃度、又は同特定成分の絶対量等、並びに、酸素Ｏ２（の過不足量）の濃度、又は同酸素Ｏ２（の過不足量）の絶対量等であって、これらに限定されない。
【００２８】
また、前記特定成分の量に関する値を取得する特定成分量取得手段は、触媒内の反応を考慮して構築された触媒モデルにより、同触媒に流入するガスの状態に基づいて同触媒の酸素吸蔵量を推定するとともに少なくとも同推定された酸素吸蔵量に基づいて前記特定成分の量に関する値を取得するように構成されることが好適である（後述する本発明の第２の特徴に係る排気浄化装置についても同様。）。
【００２９】
また、前記触媒に流入するガスの空燃比を制御する空燃比制御手段は、例えば、機関に供給される混合気の空燃比を制御する手段であってもよく、或いは、同機関に供給される混合気の空燃比の制御を行うとともに、同触媒の上流の排気通路に備えられたノズル等から空気や燃料を供給することで同触媒に流入するガスの空燃比を制御する手段であってもよい（後述する本発明の第２の特徴に係る排気浄化装置についても同様。）。なお、機関に供給される混合気の空燃比を制御すれば、触媒に流入するガスの空燃比を制御することができる。
【００３０】
これによれば、触媒からエミッションが或る程度流出していて特定成分量取得手段により取得される特定成分（エミッション）の量に関する値が同特定成分の量が所定の微小量を超えることを示す値となる場合、酸素濃度センサの出力と前記所定の目標値との相違の程度を示す値（例えば、前記偏差）そのものに応じて触媒に流入するガスの空燃比を制御（補正）するためのフィードバック制御量が適切な値に計算され得る。
【００３１】
一方、触媒からエミッションが殆ど流出せずに前記特定成分（エミッション）の量に関する値が同特定成分の量が所定の微小量以下であることを示す値となる場合、前記相違の程度を示す値（例えば、前記偏差）の代わりに同値が示す相違の程度より小さい所定の相違の程度を示す値（例えば、前記偏差の絶対値より小さい絶対値となる所定の値）に基づいてフィードバック制御量が算出される。従って、例えば、濃淡電池式の酸素濃度センサが前述した不定状態にある場合のように仮に前記偏差の絶対値が大きい値となっていても、フィードバック制御量（の絶対値）が小さく計算され得ることで触媒に流入するガスの空燃比が不必要に大きく補正されなくなる。
【００３２】
この結果、濃淡電池式の酸素濃度センサが一旦不定状態になった後においても、フィードバック制御される触媒に供給されるガスの空燃比が振動的になりにくくなることで触媒の酸素吸蔵量が所定の量（例えば、最大酸素吸蔵量の半分の量）に収束しやすくなるから、濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における前述した第１の問題が解決され得る。
【００３３】
前記内燃機関の排気浄化装置においては、前記フィードバック制御量算出手段は、前記特定成分の量に関する値が同特定成分の量が前記所定の微小量を超えることを示す値であるとき、同特定成分の量に関する値に応じて前記酸素濃度センサの出力と前記所定の目標値との相違の程度を示す値に重み付けした値を求めるとともに、同相違の程度を示す値の代わりに同重み付けされた値に基づいて前記フィードバック制御量を算出するように構成されることが好適である。
【００３４】
触媒からエミッションが或る程度流出していて前記特定成分の量に関する値が同特定成分の量が所定の微小量を超えることを示す値となる場合（即ち、濃淡電池式の酸素濃度センサが前記不定状態になく、同センサの出力と前記所定の目標値との相違の程度を示す値（例えば、前記偏差）そのものに応じてフィードバック制御量が計算される場合）、同フィードバック制御量（の絶対値）は、同触媒から流出する排ガス中の特定成分の（絶対）量の増加に応じて線形的に増加するように設定されることが好適であると考えられる。また、触媒から流出する排ガス中の特定成分の（絶対）量は同排ガスの空燃比の理論空燃比からの偏移量の増加に応じて増加する。
【００３５】
しかしながら、先に説明した図３３に示すように、濃淡電池式の酸素濃度センサの出力は、理論空燃比近傍で急変するとともに空燃比が理論空燃比近傍から外れると同空燃比の理論空燃比からの偏移量に拘わらず略一定の値となるから、同センサの出力と同出力の目標値との相違の程度を示す値（前記偏差）に基づいて計算されるフィードバック制御量（の絶対値）は前記特定成分の（絶対）量の増加に応じて線形的に増加する値とはなり得ない。
【００３６】
これに対し、上記のように、前記特定成分の量に関する値に応じて（特定成分の（絶対）量の増加に応じて）前記酸素濃度センサの出力と前記所定の目標値との相違の程度を示す値（例えば、前記偏差）に重み付けした値に基づいてフィードバック制御量を算出するように構成すれば、フィードバック制御量（の絶対値）が触媒から流出する排ガス中の特定成分の（絶対）量の増加に応じて線形的に増加する値に近づくように設定され得るから、触媒に流入するガスの空燃比が同特定成分の（絶対）量に応じて適切に制御（補正）され得る。
【００３７】
また、上記第２の問題を解決するための本発明の第２の特徴に係る排気浄化装置は、内燃機関の排気通路に配設された触媒よりも下流の前記排気通路に配設されるとともに同配設部位における同排気通路内の排ガスの空燃比に応じた値を出力する酸素濃度センサ（例えば、濃淡電池式の酸素濃度センサ、及び限界電流式の酸素濃度センサ等）と、前記酸素濃度センサの出力に影響を与える前記触媒から流出する排ガス中の特定成分の量に関する値を取得する特定成分量取得手段と、前記特定成分の量に関する値に基づいて前記酸素濃度センサの出力を補正した値を算出する補正手段と、前記補正された値が所定の目標値となるように同補正された値に基づいて前記触媒に流入するガスの空燃比を制御する空燃比制御手段とを備える。
【００３８】
ここにおいて、前記酸素濃度センサの出力に影響を与える特定成分とは、例えば、酸素Ｏ２、窒素酸化物ＮＯｘ、一酸化炭素ＣＯ、炭化水素ＨＣ、水素Ｈ２等であり、前記特定成分の量に関する値は、例えば、同特定成分（酸素Ｏ２等）の濃度、又は同特定成分の絶対量等であって、これらに限定されない。
【００３９】
先に説明したように、酸素濃度センサの空燃比に対する出力特性は、同センサを通過する排ガス中の各ガス成分の濃度の割合に応じて変化し、排ガスの実際の空燃比が前記所定の目標値に相当する空燃比（例えば、理論空燃比）となるときの同センサの出力は同排ガス中の各ガス成分の濃度の割合に応じて同所定の目標値から偏移する。この点に鑑み、上記のように、酸素濃度センサの出力に影響を与える触媒から流出する排ガス中の前記特定成分の量に関する値（濃度、各特定成分の濃度の割合）に基づいて同酸素濃度センサの出力を補正した値が所定の目標値となるように同補正された値に基づいて同触媒に流入するガスの空燃比を制御するように構成すれば、同排ガス中の各ガス成分の濃度の割合に拘わらず、排ガスの実際の空燃比が同所定の目標値に相当する空燃比となるときにおける同補正された値が同所定の目標値と等しくなるように（或いは、センサ出力よりも同所定の目標値に近い値になるように）計算され得るから、触媒下流の排ガスの空燃比が同所定の目標値に相当する空燃比（例えば、理論空燃比）近傍に維持され得る。従って、濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における前述した第２の問題が解決され得る。
【００４０】
この場合、前記特定成分量取得手段は、前記触媒から流出する排ガス中の少なくとも一つの酸化剤の量に関する値と少なくとも一つの還元剤の量に関する値を前記ガス中の特定成分の量に関する値として取得するように構成され、前記補正手段は、前記少なくとも一つの酸化剤の量に関する値に基づいて前記触媒から流出する排ガス中の酸化剤が前記酸素濃度センサの出力に影響を与える程度を示す酸化剤側影響度指標値と求めるとともに前記少なくとも一つの還元剤の量に関する値に基づいて同排ガス中の還元剤が同酸素濃度センサの出力に影響を与える程度を示す還元剤側影響度指標値と求め、同酸化剤側影響度指標値と同還元剤側影響度指標値との比較により同酸素濃度センサの出力が補正されるべき程度を示す補正指標値を求め、同補正指標値に基づいて同酸素濃度センサの出力を補正した値を算出するように構成されることが好適である。
【００４１】
酸素濃度センサの出力においては、同センサを通過する排ガス中の酸化剤の量（濃度）の増加に応じて同出力が変化する方向と同排ガス中の還元剤の量（濃度）の増加に応じて同出力が変化する方向とが互いに逆になる傾向がある。換言すれば、触媒から流出する排ガス中の酸化剤が酸素濃度センサの出力に影響を与える程度と同排ガス中の還元剤が同酸素濃度センサの出力に影響を与える程度とを比較することで同センサの出力を補正する程度（例えば、大きさと方向）を求めることができる。
【００４２】
従って、上記のように、前記少なくとも一つの酸化剤の量に関する値に基づいて求められるとともに前記触媒から流出する排ガス中の酸化剤が前記酸素濃度センサの出力に影響を与える程度を示す酸化剤側影響度指標値と前記少なくとも一つの還元剤の量に関する値に基づいて求められるとともに同排ガス中の還元剤が同酸素濃度センサの出力に影響を与える程度を示す還元剤側影響度指標値との比較により補正指標値を求め、同補正指標値に基づいて同酸素濃度センサの出力を補正した値を算出するように構成すれば、簡易な計算により、且つ正確に、排ガスの実際の空燃比が前記所定の目標値に相当する空燃比であるときの同補正した値が同排ガス中の各ガス成分の濃度の割合に拘わらず同所定の目標値と等しくなるように（に近づくように）計算され得る。
【００４３】
【発明の実施の形態】
＜第１実施形態＞
以下、本発明による排気浄化装置の各実施形態について図面を参照しつつ説明する。図１は、本発明の第１実施形態に係る排気浄化装置（空燃比制御装置）を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。なお、図１においては、一つの気筒の断面が示されているが、他の気筒も同様の構成を備えている。また、この第１実施形態の排気浄化装置は、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第１の問題」を解決するためのものである。
【００４４】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００４５】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００４６】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００４７】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、及び、スロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａを備えている。
【００４８】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ（排気管）５２、エキゾーストパイプ５２に配設（介装）された上流側の第１触媒（上流側三元触媒、又はスタート・コンバータとも云う。）５３、及び第１触媒５３の下流のエキゾーストパイプ５２に配設（介装）された第２触媒（下流側三元触媒、又は、車両のフロア下方に配設されるため、アンダ・フロア・コンバータとも云う。）５４を備えている。ここで、排気ポート３４、エキゾーストマニホールド５１、及びエキゾーストパイプ５２は、排気通路を構成している。
【００４９】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、第１触媒５３の上流の排気通路に配設された空燃比センサ６６（以下、「最上流空燃比センサ６６」と称呼する。）、第１触媒５３の下流であって第２触媒５４の上流の排気通路に配設された空燃比センサ６７（以下、「第１触媒下流空燃比センサ６７」と称呼する。）、及びアクセル開度センサ６８を備えている。
【００５０】
熱線式エアフローメータ６１は、吸気管４１内を流れる吸入空気の質量流量ＡＦＭ（＝Ｇａ）に応じた電圧を出力するようになっている。スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度ＮＥを表す。水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【００５１】
最上流空燃比センサ６６は、限界電流式の酸素濃度センサであって、図２に示したように、空燃比Ａ／Ｆに応じた電圧ｖａｂｙｆｓを出力するようになっている。図２から明らかなように、最上流空燃比センサ６６によれば、広範囲にわたる空燃比Ａ／Ｆを精度良く検出することができる。第１触媒下流空燃比センサ６７は、前述の図３３にその出力特性を示したものと同一の濃淡電池式の酸素濃度センサであって、排ガス中の各ガス成分が完全に燃焼して化学平衡状態にある場合、同排ガスの空燃比が理論空燃比よりもリーンのとき略０．１（Ｖ）、同排ガスの空燃比が理論空燃比よりもリッチのとき略０．９（Ｖ）、及び同排ガスの空燃比が理論空燃比のときは所定の目標値ｖｏｘｓｒｅｆである０．５（Ｖ）の電圧ｖｏｘｓを出力するようになっている。アクセル開度センサ６８は、運転者によって操作されるアクセルペダル８１の操作量を検出し、同アクセルペダル８１の操作量Ａｃｃｐを表す信号を出力するようになっている。
【００５２】
更に、このシステムは電気制御装置７０を備えている。電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）、及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びにＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、及びスロットル弁アクチュエータ４３ａに駆動信号を送出するようになっている。
【００５３】
（空燃比フィードバック制御の概要）
次に、上記のように構成された内燃機関の排気浄化装置（以下、「本第１実施形態の排気浄化装置」と云うこともある。）が行う空燃比フィードバック制御の概要について説明する。
【００５４】
第１触媒５３（第２触媒５４も同様である。）は、図３に外観を示したように、断面が楕円形（断面積がｄＡ一定）の柱状のモノリス触媒コンバータと称呼される三元触媒であり、軸に直交する平面で同第１触媒５３を切断した拡大断面図である図４に示したように、セラミックの一種であるコージェライトからなる担体５３ａにより、その内部が軸方向に延在する軸線方向空間に細分されている。各軸線方向空間は、軸線に垂直な平面で切断すると略正方形状を有していて、セルとも称呼される。担体５３ａは、アルミナのコート層５３ｂによりコーティングされていて、同コート層５３ｂは白金（Ｐｔ）等の貴金属からなる活性成分（触媒成分）及びセリア（ＣｅＯ２）等の成分を担持している。
【００５５】
かかる第１触媒５３は、白金等の貴金属を担持しているから、同第１触媒５３に流入する排ガスの空燃比が理論空燃比のときに未燃成分（ＨＣ，ＣＯ）を酸化し、同時に窒素酸化物（ＮＯｘ）を還元する触媒機能を有する。また、第１触媒５３は、上記セリア等の成分を担持することにより、同第１触媒５３に流入する排ガス中の酸素分子を吸蔵（貯蔵，吸着）及び放出する上述の酸素吸蔵機能を有していて、この酸素吸蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、ＨＣ，ＣＯ、及びＮＯｘを浄化することができる。
【００５６】
即ち、機関１０に供給される混合気の空燃比がリーンとなって第１触媒５３に流入するガスにＮＯｘが多量に含まれると、第１触媒５３はＮＯｘから酸素分子を奪って同酸素分子を吸蔵するとともに同ＮＯｘを還元し、これによりＮＯｘを浄化する。また、機関１０に供給される混合気の空燃比がリッチになって第１触媒５３に流入するガスにＨＣ，ＣＯが多量に含まれると、第１触媒５３はこれらに吸蔵している酸素分子を与えて（放出して）酸化し、これによりＨＣ，ＣＯを浄化する。
【００５７】
従って、第１触媒５３の酸素吸蔵量が最大酸素吸蔵量近傍に到達していると、第１触媒５３に流入するガスの空燃比がリーンとなったときに酸素を吸蔵することができないので、排ガス中のＮＯｘを十分に浄化できなくなる。一方、第１触媒５３の酸素吸蔵量が「０」近傍になっていると、第１触媒５３に流入するガスの空燃比がリッチとなったときに酸素を放出することができないので、排ガス中のＨＣやＣＯを十分に浄化できなくなる。このため、第１触媒５３に流入するガスの空燃比が過渡的に相当のリーン空燃比又はリッチ空燃比となった場合であっても、同ガス中の有害成分を効率よく浄化できるように、第１触媒５３の酸素吸蔵量が所定の量（例えば、最大酸素吸蔵量の半分の量）になるように機関１０に供給される混合気の空燃比（従って、第１触媒５３に流入するガスの空燃比）が制御されることが好ましい。
【００５８】
また、第１触媒５３の酸素吸蔵量が前記所定の量に維持され得るように制御するためには、第１触媒５３から流出する排ガスの空燃比（の平均値）が理論空燃比近傍になるように制御することが好適であると考えられる。そこで、本第１実施形態の排気浄化装置は、上述した従来の装置と同様、濃淡電池式の酸素濃度センサである第１触媒下流空燃比センサ６７の出力ｖｏｘｓが理論空燃比に相当する目標値ｖｏｘｓｒｅｆとなるように、同目標値ｖｏｘｓｒｅｆから同出力ｖｏｘｓを減じた偏差Ｄｖｏｘｓ（センサ出力と目標値との相違の程度を示す値）に基づいてフィードバック制御量（サブフィードバック制御量）ｖａｆｓｆｂを求め、同サブフィードバック制御量ｖａｆｓｆｂに基づいて機関１０に供給される混合気の空燃比（従って、第１触媒５３に流入するガスの空燃比）をフィードバック制御する。
【００５９】
しかしながら、先に説明したように、前記偏差Ｄｖｏｘｓそのものに基づいてサブフィードバック制御量ｖａｆｓｆｂを求めると、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第１の問題」が発生する。従って、本第１実施形態の排気浄化装置は、後に詳述する触媒モデルを第１触媒５３に適用することで第１触媒５３から流出する排ガス中の酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞を求め、後述するように、この酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の値に基づいて前記偏差Ｄｖｏｘｓを補正した（重み付けした）値Ｄｖｏｘｓｗに基づいてサブフィードバック制御量ｖａｆｓｆｂを求める。
【００６０】
ここで、第１触媒５３から流出する排ガス中の酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞について簡単に説明する。後述する触媒モデルにおいては、図５に示したように、円筒形の触媒を同円筒形の軸線に直交する平面にて同触媒の上流から等間隔で仮想的に分割して複数の概念上のブロックを形成する。そして、触媒モデルは、各ブロック毎に所定の計算を行い、同各ブロックから流出する特定成分（例えば、酸素、一酸化炭素、炭化水素等、窒素酸化物等）の濃度Ｃｇｏｕｔを求める。各ブロックは、触媒の最上流（排ガスが流入する側）から順に、１番目のブロック、２番目のブロック、…ｎ番目のブロックと定められている。
【００６１】
また、本実施形態の触媒モデルは、第１触媒５３をｒ個（ｒは２以上の整数）のブロックにそれぞれ分割して各種演算を行う。本明細書においては、特定成分をＸとするとともに、着目しているブロックを第１触媒５３のｋ番目のブロック（ブロックｋ）とすると、第１触媒５３のブロックｋから流出する排ガス中の特定成分Ｘ（Ｘは、酸素の場合Ｏ２、一酸化炭素の場合ＣＯ、水素の場合Ｈ２、炭化水素の場合ＨＣ、窒素酸化物の場合ＮＯ）の濃度はＣｇｏｕｔＳＣ，Ｘ＜ｋ＞と表記する。
【００６２】
以上から明らかなように、上記酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞は、第１触媒５３の最下流に位置するブロックｒ（従って、第１触媒５３）から流出する排ガス中の酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｉ＞である。ここで、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞は、「触媒から流出する排ガス中の同触媒で浄化すべき特定成分の量に関する値」ということになる。また、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞は、正の値であるときは酸素が過剰であってブロックｒ（従って、第１触媒５３）からＮＯｘが流出している状態であることを意味し、負の値であるときは酸素が不足して同ブロックｒから未燃ＣＯ，ＨＣが流出している状態であることを意味していている。従って、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞は、ブロックｒ（従って、第１触媒５３）から流出する排ガス中の酸素の過不足量に関する値とも云える。
【００６３】
（触媒モデル）
次に、前記酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞を求めるために使用される触媒モデルの具体的構成・内容について説明する。この触媒モデルは、第１触媒５３に適用されるものである。
【００６４】
先ず、触媒モデルにおいては、前述したように、第１触媒５３を排ガスの入口（流入側、最上流側）Ｆｒから出口（流出側、最下流側）Ｒｒに向う軸線に直交する面により複数の領域であるブロックに分割する（図５を参照）。即ち、第１触媒５３を排ガスの流れ方向に沿って複数のブロックに仮想的に分割する。分割された各ブロックの軸線方向の長さはＬ（微小の長さでありｄｘとも書く。）である。なお、第１触媒５３の軸方向に直交する平面で切断した断面の面積をｄＡとする。
【００６５】
次に、任意のブロック（以下、「特定領域」と称呼する。）に注目し、同特定領域を通過する特定の化学種（特定成分）の物質の収支を考える。化学種は、排ガス中に含まれる成分であり、例えば、酸素Ｏ２、水素Ｈ２、一酸化炭素ＣＯ、炭化水素ＨＣ、及び窒素酸化物ＮＯｘである。なお、化学種は、触媒に流入する排ガスの空燃比がリッチのときに同排ガス中に含まれる成分を総合したもの（リッチ成分）、或いは、触媒に流入する排ガスの空燃比がリーンのときに同排ガス中に含まれる成分を総合したもの（リーン成分）とすることもできる。触媒モデルにおいては、下記表１のように、種々の値が定義される。
【００６６】
【表１】
2004270581.tif 000003
【００６７】
いま、時刻ｔ〜ｔ＋Δｔの所与の期間における特定領域での化学種の収支を考えると、図６に示したように、特定領域の排ガス相（単に、「ガス相」とも称呼する。）における化学種の変化量ΔＭは、下記の（１）式に示したとおり、同特定領域に流入した同化学種の量Ｍｉｎから、同特定領域から流出した同化学種の量Ｍｏｕｔと同特定領域のコート層に奪われた同化学種の量Ｍｃｏａｔとを減算した量と等しい。このように、触媒モデルは各特定領域における特定成分の物質収支に基づいて構築される。
【００６８】
【数１】
2004270581.tif 000004
【００６９】
以下、（１）式の各項について個別に検討する。先ず、（１）式の左辺にある化学種の変化量ΔＭは、下記（２）式により求めることができる。（２）式は、上記所与の期間における化学種の濃度変化量（化学種の濃度Ｃｇの時間変化量を所与の期間に渡り積分した量）に微小体積σ・ｄＡ・ｄｘを乗じた値を着目しているブロック（特定領域）の全体に渡って軸方向に積分したものである。
【００７０】
【数２】
2004270581.tif 000005
【００７１】
（１）式の右辺第１項のＭｉｎは、単位時間あたりに特定領域に流入する排ガスの体積に相当する値である「特定領域に流入する排ガスの流速ｖｇｉｎと同特定領域の断面積ｄＡの積ｖｇｉｎ・ｄＡ（実際には、断面積ｄＡで開口率σの触媒内に流速ｖｇｉｎの排ガスが流れ込むので、触媒内部での排ガスの流速はｖｇｉｎ／σとなり、この実際の流速ｖｇｉｎ／σと触媒の実質的な断面積σ・ｄＡの積）」に同流入する排ガス中の化学種の濃度Ｃｇｉｎを乗じた値Ｃｇｉｎ・ｖｇｉｎ・ｄＡを所与の期間に渡り積分した値である。また、（１）式の右辺第２項のＭｏｕｔは、特定領域から流出する排ガスの流速ｖｇｏｕｔと同特定領域の断面積ｄＡの積ｖｇｏｕｔ・ｄＡ（実際には、排ガスの流速ｖｇｏｕｔ／σと実質的な断面積σ・ｄＡの積）に同流出する排ガス中の前記化学種の濃度Ｃｇｏｕｔを乗じた値Ｃｇｏｕｔ・ｖｇｏｕｔ・ｄＡを所与の期間に渡り積分した値である。即ち、上記（１）式の右辺第１項及び第２項は下記（３）式のように記述することができる。
【００７２】
【数３】
2004270581.tif 000006
【００７３】
ところで、特定領域に流入する排ガスの流速ｖｇｉｎと同特定領域から流出する排ガスの流速ｖｇｏｕｔとの間に大きな差異はないので、ｖｇ＝ｖｇｉｎ＝ｖｇｏｕｔとおくと、（３）式は、下記（４）式のように変形される。
【００７４】
【数４】
2004270581.tif 000007
【００７５】
次に、（１）式の右辺第３項のコート層に伝達される（移動する）化学種の量Ｍｃｏａｔについて検討する。幾何学的表面積Ｓｇｅｏは触媒の単位体積あたりの化学種の反応に寄与する表面積であるから、特定領域において化学種の反応に寄与する表面積はＳｇｅｏ・ｄＡ・ｄｘであり、同特定領域の単位長あたりに同反応に寄与する面積はＳｇｅｏ・ｄＡとなる。また、コート層に伝達される化学種の量は、フィックの法則から、排ガス相の化学種の濃度Ｃｇとコート層の化学種の濃度Ｃｗとの差に比例すると考えることができる。これらから、下記の（５）式が得られる。なお、ｈＤは比例定数であるが、上記の表１に示したように、物質伝達率と称呼される値である。
【００７６】
【数５】
2004270581.tif 000008
【００７７】
従って、上記（１），（２），（４）式、及び（５）式から、以下の（６）式が得られる。
【００７８】
【数６】
2004270581.tif 000009
【００７９】
この（６）式に準定常（ｑｕａｓｉ  ｓｔａｔｅ）近似を適用すると、（６）式の左辺は「０」（∂Ｃｇ／∂ｔ＝０）であると考えることができるから（即ち、濃度Ｃｇは瞬間的に定常値に至ると考えられるから）、下記の（７）式が得られる。
【００８０】
【数７】
2004270581.tif 000010
【００８１】
ここで、見かけの拡散速度（実質的な拡散速度）ＲＤを（８）式のようにおけば、（７）式は（９）式に書き直される。
【００８２】
【数８】
2004270581.tif 000011
【００８３】
【数９】
2004270581.tif 000012
【００８４】
次に、特定領域のコート層における化学種の収支（特定成分の物質収支）を上記と同様に考えると、下記（１０）式に示したように、コート層内における化学種の時間的変化量（単位時間あたりの変化量）ΔＭｃは、単位時間あたりに排ガス相からコート層へ伝達される同化学種の量Ｍｄから、同単位時間あたりにコート層にて反応により消費される同化学種の量Ｍｒを減じた量である。
【００８５】
【数１０】
2004270581.tif 000013
【００８６】
（１０）式の左辺（コート層内における化学種の時間的変化量）ΔＭｃは、下記（１１）式に示したように、化学種の濃度変化（∂Ｃｗ／∂ｔ）に体積（（１−σ）・ｄＡ・ｄｘ）を乗じることにより求められ、右辺第１項（単位時間あたりに排ガス相からコート層へ伝達される化学種の量Ｍｄ）は（５）式で説明した理由と同じ理由により、即ち、フィックの法則から考えると、下記（１２）式のように記述することができる。
【００８７】
【数１１】
2004270581.tif 000014
【００８８】
【数１２】
2004270581.tif 000015
【００８９】
また、（１０）式の右辺第２項（単位時間あたりにコート層にて反応により消費される化学種の量Ｍｒ）は、コート層での化学種の消費速度Ｒを用いた下記（１３）式により求められる。
【００９０】
【数１３】
2004270581.tif 000016
【００９１】
従って、（１０）〜（１３）式から、下記の（１４）式が得られる。
【００９２】
【数１４】
2004270581.tif 000017
【００９３】
この（１４）式に準定常（ｑｕａｓｉ  ｓｔａｔｅ）近似を適用すると（∂Ｃｗ／∂ｔ＝０）、下記の（１５）式が得られる。
【００９４】
【数１５】
2004270581.tif 000018
【００９５】
ここで、（１５）式に（８）式を適用すれば、下記の（１６）式が得られる。
【００９６】
【数１６】
2004270581.tif 000019
【００９７】
以上を要約すると、（９）式及び（１６）式が触媒モデルの基本式である。（９）式は、ある化学種の「特定領域への流入量」と「排ガス相からコート層への拡散量＋特定領域からの流出量」とが釣り合っていることを示し、（１６）式は、同化学種の「排ガス相からコート層への拡散量」と「コート層での消費量」とが釣り合っていることを示している。
【００９８】
次に、かかる触媒モデルを使用して特定領域から流出する特定の化学種ｉの濃度Ｃｇｏｕｔを実際に算出するための方法について説明する。先ず、（９）式を離散化すると、下記（１７）式が得られる。なお、以下においては上記ｄｘをＬとして表す。
【００９９】
【数１７】
2004270581.tif 000020
【０１００】
ここで、図７に概念的に示したように、特定領域Ｉから流出する化学種の濃度Ｃｇｏｕｔは同特定領域Ｉの化学種の濃度Ｃｇ（Ｉ）の影響を強く受けると考えられるので、下記の（１８）式のように置くことができる。かかる考え方は「風上法」と称呼される。換言すると、風上法とは、「特定領域Ｉに隣接する上流側の領域（Ｉ−１）における濃度Ｃｇ（Ｉ−１）の化学種が、特定領域Ｉに流入する。」という考え方であり、下記（１９）式のように記述することもできる。
【０１０１】
【数１８】
2004270581.tif 000021
【０１０２】
【数１９】
2004270581.tif 000022
【０１０３】
ところで、反応速度論に基けば、ある化学種のコート層での消費速度Ｒは、その化学種のコート層の平均濃度Ｃｗの関数ｆｃｗ（例えば、Ｃｗのｎ乗に比例する関数）となるので、この関数ｆｃｗを最も簡便となるようにＣｗに比例すると設定すれば、消費速度Ｒは（２０）式にて示したように置くことができる。なお、以下において、（２０）式中のＲ＊を便宜上「消費速度定数」と称呼する。
【０１０４】
【数２０】
2004270581.tif 000023
【０１０５】
この（２０）式を上記（１６）式（Ｒ＝ＲＤ・（Ｃｇ−Ｃｗ）…（１６））に適用すると下記（２１）式が得られ、同（２１）式を変形することにより下記（２２）式が得られる。
【０１０６】
【数２１】
2004270581.tif 000024
【０１０７】
【数２２】
2004270581.tif 000025
【０１０８】
また、上述した風上法によれば、Ｃｇ＝Ｃｇｏｕｔであるから、（２２）式は下記（２３）式に書き換えられる。
【０１０９】
【数２３】
2004270581.tif 000026
【０１１０】
そして、Ｃｇ＝Ｃｇｏｕｔなる関係を上記（１７）式に適用してＣｇを消去するとともに、同（１７）式と上記（２３）式とからＣｗを消去すると、下記（２４）式が得られる。
【０１１１】
【数２４】
2004270581.tif 000027
【０１１２】
そこで、値ＳＰを下記（２５）式のようにおけば、（２４）式は（２６）式のように書き直すことができる。値ＳＰは、見かけの拡散速度ＲＤと消費速度定数Ｒ＊のうちの小さい方の値に強い影響を受ける値であるから、Ｃｇｏｕｔの変化が物質の伝達（ＲＤ）又は化学的反応（Ｒ＊）の何れにより律速されているかを示す値となっており、従って、「反応律速因子」と呼ぶこともできる。
【０１１３】
【数２５】
2004270581.tif 000028
【０１１４】
【数２６】
2004270581.tif 000029
【０１１５】
以上のことから、消費速度定数Ｒ＊と見かけの拡散速度ＲＤとを決定できれば、特定領域に流入する化学種濃度Ｃｇｉｎを与えることにより、（２５）式と（２６）式とに基づいて同特定領域から流出する化学種の濃度Ｃｇｏｕｔを求めることができる。また、これにより、次の特定領域に流入する化学種濃度Ｃｇｉｎが定まるので、同次の特定領域の化学種の濃度Ｃｇｏｕｔを算出することが可能となる。以上が、化学種の濃度Ｃｇｏｕｔを算出する触媒モデルの基本的考え方である。
【０１１６】
次に、上記消費速度定数Ｒ＊と見かけの拡散速度ＲＤを決定するとともに、特定領域から流出する化学種濃度Ｃｇｏｕｔを求める際のより具体的な方法の一例について説明する。この例（触媒モデル）では、触媒での酸化・還元反応である三元反応は瞬時に且つ完全に終了するものと仮定し、その結果としての酸素の過不足に基く酸素の吸蔵・放出反応に着目することとする。なお、この仮定（触媒モデル）は、現実的であり且つ精度の良いものである。
【０１１７】
この場合、着目する化学種ｉは、例えば、酸素Ｏ２や窒素酸化物の一つである一酸化窒素ＮＯのように酸素を生成する（酸素をもたらす）化学種（ストレージ・エージェント）、及び、一酸化炭素ＣＯや炭化水素ＨＣのように酸素を消費する化学種（リダクション・エージェント）から選ばれた化学種である。
【０１１８】
また、以下において、ストレージ・エージェントの化学種ｉ（この場合、化学種ｉはＯ２又はＮＯ等）のＣｇｏｕｔをＣｇｏｕｔ，ｓｔｏｒ，ｉ、同化学種ｉのＣｗをＣｗ，ｓｔｏｒ，ｉ、同化学種ｉのＣｇｉｎをＣｇｉｎ，ｓｔｏｒ，ｉ、同化学種ｉの見かけの拡散速度ＲＤをＲＤ，ｉ、同化学種ｉの消費速度をＲｓｔｏｒ，ｉ、同化学種ｉの消費速度定数をＲ＊ｓｔｏｒ，ｉ、及び同化学種ｉの反応律速因子をＳＰｓｔｏｒ，ｉと表す。
【０１１９】
同様に、リダクション・エージェントの化学種ｉ（この場合、化学種ｉはＨ２、ＣＯ、ＨＣ等）のＣｇｏｕｔをＣｇｏｕｔ，ｒｅｄｕｃ，ｉ、同化学種ｉのＣｗをＣｗ，ｒｅｄｕｃ，ｉ、同化学種ｉのＣｇｉｎをＣｇｉｎ，ｒｅｄｕｃ，ｉ、同化学種ｉの見かけの拡散速度ＲＤをＲＤ，ｉ、同化学種ｉの消費速度をＲｒｅｄｕｃ，ｉ、同化学種ｉの消費速度定数をＲ＊ｒｅｄｕｃ，ｉ、及び同化学種ｉの反応律速因子ＳＰｒｅｄｕｃ，ｉと表す。このように各値を表すと、上記（２０），（２３），（２５），（２６）式から以下の（２７）〜（３４）式が得られる。
【０１２０】
【数２７】
2004270581.tif 000030
【０１２１】
【数２８】
2004270581.tif 000031
【０１２２】
【数２９】
2004270581.tif 000032
【０１２３】
【数３０】
2004270581.tif 000033
【０１２４】
【数３１】
2004270581.tif 000034
【０１２５】
【数３２】
2004270581.tif 000035
【０１２６】
【数３３】
2004270581.tif 000036
【０１２７】
【数３４】
2004270581.tif 000037
【０１２８】
これらの式に基づいて、Ｃｇｏｕｔ，ｓｏｔｒ，ｉ（具体的には、特定領域から流出する酸素の濃度Ｃｇｏｕｔ，Ｏ２、特定領域から流出する一酸化窒素の濃度Ｃｇｏｕｔ，ＮＯ）及びＣｇｏｕｔ，ｒｅｄｕｃ，ｉ（具体的には、特定領域から流出する水素の濃度Ｃｇｏｕｔ，Ｈ２、特定領域から流出する一酸化炭素の濃度Ｃｇｏｕｔ，ＣＯ、特定領域から流出する炭化水素の濃度Ｃｇｏｕｔ，ＨＣ）を求めるため、先ず、消費速度定数Ｒ＊ｓｔｏｒ，ｉ及び消費速度定数Ｒ＊ｒｅｄｕｃ，ｉを求める。
【０１２９】
ところで、反応速度論によれば、特定領域のコート層で酸素が吸蔵される速度（酸素の吸蔵速度）であるストレージ・エージェントの消費速度Ｒｓｔｏｒ，ｉは、同コート層のストレージ・エージェント（Ｏ２、ＮＯｘ等）の濃度Ｃｗ，ｓｔｏｒ，ｉ（例えば、Ｃｗ，Ｏ２、Ｃｗ，ＮＯ）の関数ｆ１（Ｃｗ，ｓｔｏｒ，ｉ）の値に比例するとともに、特定領域のコート層の最大酸素吸蔵密度と実際の酸素吸蔵密度との差（Ｏｓｔｍａｘ−Ｏｓｔ）の関数ｆ２（Ｏｓｔｍａｘ−Ｏｓｔ）の値とに比例すると考えられる。この最大酸素吸蔵密度と酸素吸蔵密度との差（Ｏｓｔｍａｘ−Ｏｓｔ）は、着目している特定領域における酸素吸蔵余裕量を表す。
【０１３０】
そこで、簡単のために関数ｆ１（ｘ）＝ｆ２（ｘ）＝ｘとすると、下記の（３５）式が得られる。下記（３５）式のｋｓｔｏｒ，ｉは酸素吸蔵速度係数（吸蔵側反応速度係数，ストレージ・エージェントの消費速度係数）であって、よく知られたアレニウスの式で表される温度に依存して変化する係数であり、別途検出又は推定される触媒温度Ｔｅｍｐと所定の関数（酸素吸蔵速度係数ｋｓｔｏｒ，ｉと触媒温度Ｔｅｍｐとの間の関係を規定したマップでも良い。）とに基づいて求めることができる。なお、酸素吸蔵速度係数ｋｓｔｏｒ，ｉは、触媒劣化程度に応じても変化するので、同触媒劣化程度に応じて求めてもよい。
【０１３１】
【数３５】
2004270581.tif 000038
【０１３２】
従って、（２７）式と（３５）式とから、消費速度定数Ｒ＊ｓｔｏｒ，ｉは下記（３６）式により求めることができる。
【０１３３】
【数３６】
2004270581.tif 000039
【０１３４】
また、酸素の吸蔵（吸着）と放出のみに着目しているこの触媒モデルにおいては、還元剤であるリダクション・エージェントはコート層に吸蔵されている酸素の放出のみに使用されるから、同リダクション・エージェントの消費速度Ｒｒｅｄｕｃ，ｉはコート層に吸蔵されている酸素が放出される速度（酸素の放出速度）Ｒｒｅｌ，ｉと等しい。
【０１３５】
そこで、酸素の放出速度Ｒｒｅｌ，ｉについて検討すると、同放出速度Ｒｒｅｌ，ｉは、酸素の吸蔵速度Ｒｓｔｏｒ，ｉと同様に反応速度論に基き、同コート層において酸素を消費する化学種（例えば、ＣＯ，ＨＣ）の濃度Ｃｗ，ｒｅｄｕｃ，ｉ（例えば、Ｃｗ，ＣＯ、Ｃｗ，ＨＣ）の関数ｇ１（Ｃｗ，ｒｅｄｕｃ，ｉ）の値に比例するとともに、酸素吸蔵密度Ｏｓｔの関数ｇ２（Ｏｓｔ）の値とに比例すると考えられる。
【０１３６】
そこで、簡単のために関数ｇ１（ｘ）＝ｇ２（ｘ）＝ｘとすると、下記の（３７）式が得られる。下記（３７）式のｋｒｅｌ，ｉは酸素放出速度係数（吸脱側反応速度係数）であって、酸素吸蔵速度係数ｋｓｔｏｒ，ｉと同様にアレニウスの式で表される温度に依存して変化する係数であり、別途検出又は推定される触媒温度Ｔｅｍｐに基づいて所定の関数（酸素放出速度係数ｋｒｅｌ，ｉと触媒温度Ｔｅｍｐとの間の関係を規定したマップでも良い。）に基づいて求めることができる。なお、酸素放出速度係数ｋｒｅｌ，ｉは、触媒劣化程度に応じても変化するので、同触媒劣化程度に応じて求めてもよい。
【０１３７】
【数３７】
2004270581.tif 000040
【０１３８】
この結果、上述したようにリダクション・エージェントの消費速度Ｒｒｅｄｃｕ，ｉはコート層の酸素の放出速度Ｒｒｅｌ，ｉと等しいから、消費速度定数Ｒ＊ｒｅｄｕｃ，ｉは（３１）式と（３７）式とを比較することにより得られる下記（３８）式に基づいて求めることができる。
【０１３９】
【数３８】
2004270581.tif 000041
【０１４０】
以上のことから、酸素吸蔵密度Ｏｓｔが求められれば（酸素吸蔵密度Ｏｓｔの求め方については、後述する。）、（３６）式から消費速度定数Ｒ＊ｓｔｏｒ，ｉ（例えば、Ｒ＊Ｏ２）を求めることができる。一方、見かけの拡散速度ＲＤ，ｉ（例えば、ＲＤ，Ｏ２）は（８）式のようにＳｇｅｏ・ｈＤ，ｉであるから、温度と流量の関数（触媒の温度と同触媒を通過する排ガスの流量の関数）として実験的に求めておくことができる。この結果、（２９）式からＳＰｓｔｏｒ，ｉ（例えば、ＳＰｓｔｏｒ，Ｏ２）が決定されるので、境界条件としてＣｇｉｎ，ｓｔｏｒ，ｉ（例えば、Ｃｇｉｎ，Ｏ２）が与えられるとき、（３０）式からＣｇｏｕｔ，ｓｔｏｒ，ｉ（例えば、Ｃｏｕｔ，Ｏ２）が求められる。そして、新たなＣｗ，ｓｔｏｒ，ｉ（例えば、Ｃｗ，Ｏ２）が（２８）式により求められる。
【０１４１】
同様に、酸素吸蔵密度Ｏｓｔが求められれば、（３８）式から消費速度定数Ｒ＊ｒｅｄｕｃ，ｉ（例えば、Ｒ＊ｒｅｄｕｃ，ＣＯ）を求めることができる。一方、見かけの拡散速度ＲＤ，ｉ（例えば、ＲＤ，ＣＯ）は（８）式のようにＳｇｅｏ・ｈＤ，ｉであるから、温度と流量の関数（触媒の温度と同触媒を通過する排ガスの流量の関数）として実験的に求めておくことができる。この結果、（３３）式からＳＰｒｅｄｕｃ，ｉ（例えば、ＳＰｒｅｄｕｃ，ＣＯ）が決定されるので、境界条件としてＣｇｉｎ，ｒｅｄｕｃ，ｉ（例えば、Ｃｇｉｎ，ＣＯ）が与えられるとき、（３４）式からＣｇｏｕｔ，ｒｅｄｕｃ，ｉ（例えば、Ｃｇｏｕｔ，ＣＯ）が求められる。そして、新たなＣｗ，ｒｅｄｕｃ，ｉ（例えば、Ｃｗ，ＣＯ）が（３２）式により求められる。
【０１４２】
次に、Ｃｇｏｕｔ，ｓｔｏｒ，ｉ、Ｃｇｏｕｔ，ｒｅｄｕｃ，ｉを求めるために必要となる酸素吸蔵密度Ｏｓｔの求め方について説明する。
【０１４３】
先ず、コート層での化学種としての酸素の収支について着目すると、同収支はコート層での酸素の吸蔵分と酸素の放出分の差であるから、下記（３９）式により記述される。（３９）式でｄＡ・Ｌは特定領域の体積ｄＶである。
【０１４４】
【数３９】
2004270581.tif 000042
【０１４５】
この（３９）式を変形すると、下記（４０）式が得られる。
【０１４６】
【数４０】
2004270581.tif 000043
【０１４７】
この（４０）式を、（３５）式と（３７）式とを用いながら離散化すると、下記の（４１）式が得られる。
【０１４８】
【数４１】
2004270581.tif 000044
【０１４９】
この（４１）式を変形すると、下記（４２）式〜（４４）式が得られ、これらから酸素吸蔵密度Ｏｓｔを求めること（更新して行くこと）ができる。
【０１５０】
【数４２】
2004270581.tif 000045
【０１５１】
【数４３】
2004270581.tif 000046
【０１５２】
【数４４】
2004270581.tif 000047
【０１５３】
このように、式（４２）〜（４４）式から酸素吸蔵密度Ｏｓｔが求められるので、上述したようにＣｇｏｕｔ，ｓｔｏｒ，ｉ、Ｃｇｏｕｔ，ｒｅｄｕｃ，ｉを求めることができる。以上のようにして、各ブロックから流出する排ガス中の酸素濃度を求める手段がガス空燃比関連値取得手段に相当する。また、酸素吸蔵密度Ｏｓｔが求められるから、下記（４５）式に基づいて特定領域の酸素吸蔵量ＯＳＡを求めることができる。
【数４５】
2004270581.tif 000048
【０１５４】
従って、触媒に流入する化学種濃度Ｃｇｉｎ，ｉが境界条件として与えられたとき、触媒上流のブロック（特定領域）から、順次、（３０）式又は（３４）式を用いて各ブロックから流出する化学種濃度Ｃｇｏｕｔ，ｉを求めることができるとともに（４５）式を用いて各ブロックの酸素吸蔵量ＯＳＡを求めることができる。また、各ブロックの酸素吸蔵量ＯＳＡを触媒全体について積算すれば、同触媒全体の酸素吸蔵量についても精度良く推定することができる。また、以上が、本第１実施形態の排気浄化装置が使用する触媒モデルである。このように触媒モデルを利用して第１触媒５３から流出する特定成分の量に関する値である排ガス中の酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞を求める手段が特定成分量取得手段に相当する。
【０１５５】
（サブフィードバック制御量の計算）
先に説明したように、本第１実施形態の排気浄化装置は、第１触媒下流空燃比センサ６７の出力ｖｏｘｓを目標値ｖｏｘｓｒｅｆから減じた値である偏差Ｄｖｏｘｓに基づいて、機関１０に供給される混合気の空燃比（従って、第１触媒５３に流入するガスの空燃比）をフィードバック制御するためのサブフィードバック制御量ｖａｆｓｆｂを求める。
【０１５６】
一方、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第１の問題」を解消するため、即ち、第１触媒下流空燃比センサ６７が前記不定状態にあるときに第１触媒５３に流入する排ガスの空燃比が不必要に大きく補正されなくするため、第１触媒５３からエミッションが殆ど流出していないとき（従って、第１触媒下流空燃比センサ６７が前記不定状態にある可能性があるとき）、前記偏差Ｄｖｏｘｓの絶対値が大きい値となっていてもサブフィードバック制御量ｖａｆｓｆｂ（の絶対値）が小さく計算される必要がある。
【０１５７】
また、第１触媒５３からエミッションが或る程度流出している場合（即ち、第１触媒下流空燃比センサ６７が前記不定状態にない場合）、サブフィードバック制御量ｖａｆｓｆｂ（の絶対値）は、第１触媒５３から流出するエミッションの（絶対）量の増加に応じて線形的に増加するように設定されることが好適であると考えられる。この第１触媒５３から流出するエミッションの（絶対）量は同第１触媒５３から流出する排ガスの空燃比の理論空燃比からの偏移量の増加に応じて増加する。しかしながら、先に説明した図３３に示すグラフから容易に理解できるように、第１触媒下流空燃比センサ６７の出力ｖｏｘｓを同出力の目標値ｖｏｘｓｒｅｆから減じた値である前記偏差Ｄｖｏｘｓに基づいて計算されるフィードバック制御量（の絶対値）は前記エミッションの（絶対）量の増加に応じて線形的に増加する値とはなり得ない。従って、第１触媒５３からエミッションが或る程度流出している場合、前記サブフィードバック制御量ｖａｆｓｆｂは、前記偏差Ｄｖｏｘｓの値そのものではなく、同偏差Ｄｖｏｘｓの値に前記エミッションの（絶対）量の増加に応じて重み付けした値に基づいて計算されることが好適である。
【０１５８】
他方、上述の触媒モデルを使用して計算される第１触媒５３から流出する排ガス中の前記酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞は、正の値であるときは酸素が過剰であって第１触媒５３から同酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の増加に応じて増加する量のＮＯｘが流出している状態であることを意味し、負の値であるときは酸素が不足して第１触媒５３から同酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値の増加に応じて増加する量の未燃ＣＯ，ＨＣが流出している状態であることを意味する。換言すれば、前記酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値は、第１触媒５３から流出するエミッションの（絶対）量を精度良く表す値となり得る。
【０１５９】
そこで、本第１実施形態の排気浄化装置は、前記酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値と、同酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値と重み係数Ｋｗｃｇとの関係を規定する図８に示したテーブルと、に基づいて同重み係数Ｋｗｃｇを算出するとともに、前記偏差Ｄｖｏｘｓに同重み係数Ｋｗｃｇを乗じた値Ｄｖｏｘｓｗを求め、この値Ｄｖｏｘｓｗを比例・積分・微分処理（ＰＩＤ処理）することでサブフィードバック制御量ｖａｆｓｆｂを求める。なお、図８における値Ｃｒｅｆは前記「所定の微小量」に対応する値である。
【０１６０】
図８に示したように、重み係数Ｋｗｃｇは、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値が値Ｃｒｅｆ以下であるとき、重み係数Ｋｗｃｇが「１」以下の値に設定されるから、値Ｄｖｏｘｓｗ（の絶対値）は前記偏差Ｄｖｏｘｓ（の絶対値）よりも小さい値となる。換言すれば、前記特定成分の量に関する値が同特定成分の量が所定の微小量以下であることを示す値であるとき、前記偏差Ｄｖｏｘｓの代わりに同偏差Ｄｖｏｘｓの絶対値より小さい絶対値となる所定の値Ｄｖｏｘｓｗに基づいてサブフィードバック制御量ｖａｆｓｆｂが算出される。従って、このとき、サブフィードバック制御量ｖａｆｓｆｂ（の絶対値）も小さく計算されるから、第１触媒下流空燃比センサ６７が前記不定状態にあるときに第１触媒５３に流入する排ガスの空燃比が不必要に大きく補正されなくなり、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第１の問題」が解消される。
【０１６１】
また、図８に示したように、重み係数Ｋｗｃｇは、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値が値Ｃｒｅｆより大きい値であるとき、重み係数Ｋｗｃｇが「１」以上であって、且つ、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値の増加に応じて増加する値に設定されるから、値Ｄｖｏｘｓｗ（の絶対値）は前記偏差Ｄｖｏｘｓ（の絶対値）に酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値の増加に応じて重み付けした値となる。換言すれば、前記特定成分の量に関する値が同特定成分の量が所定の微小量を超えることを示す値であるとき、前記偏差Ｄｖｏｘｓの代わりに同酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値に応じて同偏差Ｄｖｏｘｓに重み付けした値Ｄｖｏｘｓｗに基づいてサブフィードバック制御量ｖａｆｓｆｂが算出される。従って、このとき、フィードバック制御量ｖａｆｓｆｂ（の絶対値）が酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値の増加に応じて線形的に増加する値に近づくように設定され得る。以上のようにしてサブフィードバック制御量ｖａｆｓｆｂを求める手段がフィードバック制御量算出手段に相当する。
【０１６２】
そして、本第１実施形態の排気浄化装置は、このようにして求めたサブフィードバック制御量ｖａｆｓｆｂが正の値であるとき、同サブフィードバック制御量ｖａｆｓｆｂ分だけ最上流空燃比センサ６６の出力ｖａｂｙｆｓを補正し、これにより、機関に供給される混合気の空燃比が、同最上流空燃比センサ６６の検出空燃比よりも見かけ上リーン側であるように設定し、その補正した見かけ上の空燃比が目標空燃比（ここでは、理論空燃比）となるように同混合気の空燃比をフィードバック制御する（従って、リッチ側に補正する。）。
【０１６３】
同様に、サブフィードバック制御量ｖａｆｓｆｂが負の値であるとき、同サブフィードバック制御量ｖａｆｓｆｂ分だけ最上流空燃比センサ６６の出力ｖａｂｙｆｓを補正し、これにより、機関に供給される混合気の空燃比が、同最上流空燃比センサ６６の検出空燃比よりも見かけ上リッチ側であるように設定し、その補正した見かけ上の空燃比が目標空燃比（ここでは、理論空燃比）となるように同混合気の空燃比をフィードバック制御する（従って、リーン側に補正する。）。以上により、サブフィードバック制御量ｖａｆｓｆｂが「０」になるように（従って、前記偏差Ｄｖｏｘｓ（及び、前記値Ｄｖｏｘｓｗ）が「０」になるように）第１触媒５３に流入する排ガスの空燃比がフィードバック制御されることで、第１触媒５３下流の排ガスの空燃比が前記目標値ｖｏｘｓｒｅｆに相当する目標空燃比（理論空燃比）と一致せしめられる。このようにして第１触媒５３に流入するガスの空燃比を制御する手段が空燃比制御手段に相当する。
【０１６４】
図９は、図３４に示した前述した従来の排気浄化装置を適用した場合の各値の変化を表すタイムチャートをそのまま破線で示すとともに、同一の条件にて本第１実施形態の排気浄化装置を適用した場合の同各値の変化を実線で示すことで、従来の排気浄化装置を適用した場合と本第１実施形態の排気浄化装置を適用した場合とを比較しながら示したタイムチャートである。図３４における従来の排気浄化装置と同様、説明の便宜上、図９において、本第１実施形態の排気浄化装置は前記偏差ＤＶｏｘｓを重み付けした値ＤＶｏｘｓｗに対する比例処理（Ｐ処理）のみによりサブフィードバック制御量ｖａｆｓｆｂを算出しているものとする。
【０１６５】
先に説明したように、従来の装置を適用した場合、時刻ｔ２以降、第１触媒下流空燃比センサ６７が前記不定状態になると、（ｂ）に示すように、偏差Ｄｖｏｘｓが絶対値が大きい負の値に維持されることで機関に供給される混合気の空燃比ａｂｙｆｓがリーン側に不必要に大きく補正され続ける。この結果、その後の同混合気の空燃比が振動的になっていた。
【０１６６】
これに対し、本第１実施形態の排気浄化装置を適用した場合、時刻ｔ２以降、第１触媒下流空燃比センサ６７が前記不定状態になると、（ｅ）及び（ｆ）に示すように、第１触媒５３からエミッションが殆ど流出してこないことから酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値が前記Ｃｒｅｆよりも小さい略「０」になって（従って、一酸化炭素濃度ＣｇｏｕｔＳＣ，ＣＯ＜ｒ＞、一酸化窒素濃度ＣｇｏｕｔＳＣ，ＮＯ＜ｒ＞も略「０」になって）、図８に示した前記重み係数Ｋｗｃｇが「１」よりも非常に小さい値に設定される。従って、偏差Ｄｖｏｘｓに重み係数Ｋｗｃｇを乗じた値である値Ｄｖｏｘｓｗは、（ｂ）に示すように、絶対値が非常に小さい負の値に維持される。
【０１６７】
この結果、サブフィードバック制御量ｖａｆｓｆｂは絶対値が小さい負の値となって、（ｃ）に示すように、機関に供給される混合気の空燃比ａｂｙｆｓはリーン側に小さく補正され続けるようになる。従って、（ｄ）に示すように、第１触媒５３の酸素吸蔵量ＯＳＡＳＣ（ｒ）は、時刻ｔ２以降、「０」近傍から緩やかに増加するから、時刻ｔ４になっても最大酸素吸蔵量ＣｍａｘＳＣａｌｌ近傍に到達することはない。この結果、第１触媒５３から多量のＮＯｘ（及び、多量のＣＯ，ＨＣ）が流出してこないから、（ａ）に示すように、第１触媒下流空燃比センサ６７の出力ｖｏｘｓは、時刻ｔ４以降、暫らくの間リッチを示す値に維持された後（即ち、第１触媒下流空燃比センサ６７が暫らくの間、不定状態に維持された後）、第１触媒下流空燃比センサ６７が同不定状態から徐々に開放されることで同出力ｖｏｘｓが目標値ｖｏｘｓｒｅｆに徐々に近づくようになる。
【０１６８】
そして、時刻ｔ８になると、第１触媒下流空燃比センサ６７の出力ｖｏｘｓは目標値ｖｏｘｓｒｅｆに収束するとともに、第１触媒５３の酸素吸蔵量ＯＳＡＳＣ（ｒ）が目標酸素吸蔵量である最大酸素吸蔵量ＣｍａｘＳＣａｌｌの半分の量に収束する。このようにして、濃淡電池式の酸素濃度センサである第１触媒下流空燃比センサ６７が一旦、不定状態になっても、フィードバック制御量ｖａｆｓｆｂ（の絶対値）が小さく計算されることから第１触媒５３に流入するガスの空燃比が不必要に大きく補正されることが回避されて、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第１の問題」が解決される。
【０１６９】
（実際の作動）
次に、上記排気浄化装置の第１実施形態の実際の作動について、ＣＰＵ７１が実行するルーチンを示したフローチャートを参照しながら説明する。なお、本排気浄化装置の触媒モデルは、酸素及び一酸化窒素をストレージエージェントとして考慮し、一酸化炭素、炭化水素、及び水素をリダクションエージェントとして考慮している。これに対し、酸素のみでストレージエージェントを代表させてもよいし、一酸化炭素のみでリダクションエージェントを代表させてもよい。
【０１７０】
ＣＰＵ７１は、各気筒のクランク角が各吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、図１０に示したルーチンを繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、ＣＰＵ７１はステップ１０００から処理を開始してステップ１００５に進み、エアフローメータ６１により計測された吸入空気流量Ｇａと、エンジン回転速度ＮＥと、に基いて、機関に供給される混合気の空燃比を目標空燃比ａｂｙｆｒ（本例では理論空燃比）とするための基本燃料噴射量Ｆｂａｓｅをマップから求める。
【０１７１】
次いで、ＣＰＵ７１はステップ１０１０に進み、基本燃料噴射量Ｆｂａｓｅに係数Ｋを乗じた値に後述する空燃比フィードバック補正量（メインフィードバック制御量）ＤＦｉを加えた値を最終燃料噴射量Ｆｉとして設定する。この係数Ｋの値は、通常は「１．００」であり、後述するように、第１触媒５３最大酸素吸蔵量ＣｍａｘＳＣａｌｌを求めるために強制的に空燃比を変更するとき、「１．００」以外の所定値に設定される。
【０１７２】
ついで、ＣＰＵ７１はステップ１０１５に進み、最終燃料噴射量Ｆｉの燃料を噴射するための指示をインジェクタ３９に対して行う。その後、ＣＰＵ７１はステップ１０２０に進み、その時点の燃料噴射量合計量ｍｆｒに最終燃料噴射量Ｆｉを加えた値を新たな燃料噴射量積算値ｍｆｒに設定する。この燃料噴射量積算値ｍｆｒは、後述する酸素吸蔵量を算出する際に用いられる。その後、ＣＰＵ７１はステップ１０９５に進み、本ルーチンを一旦終了する。以上により、フィードバック補正された最終燃料噴射量Ｆｉの燃料が吸気行程を迎える気筒に対して噴射される。
【０１７３】
次に、上記メインフィードバック制御量ＤＦｉの算出について説明すると、ＣＰＵ７１は図１１にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ１１００から処理を開始し、ステップ１１０５に進んで空燃比フィードバック制御条件（メインフィードバック条件）が成立しているか否かを判定する。この空燃比フィードバック制御条件は、例えば、機関の冷却水温ＴＨＷが第１所定温度以上であり、機関の一回転当りの吸入空気量（負荷、筒内吸入空気量Ｍｃ）が所定値以下であり、最上流空燃比センサ６６が正常（活性状態であることを含む。）であり、且つ、後述する最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値が「０」のときに成立する。なお、最大酸素吸蔵量取得制御実行中フラグＸＨＡＮは、その値が「１」のとき第１触媒５３の最大酸素吸蔵量ＣｍａｘＳＣａｌｌの算出のために強制的に空燃比を変更する空燃比制御（アクティブ制御）を実行していることを示し、その値が「０」のとき同最大酸素吸蔵量ＣｍａｘＳＣａｌｌの算出のための空燃比制御を実行していないことを示す。
【０１７４】
いま、空燃比フィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ１１０５にて「Ｙｅｓ」と判定してステップ１１１０に進み、現時点の最上流空燃比センサ６６の出力ｖａｂｙｆｓと後述するサブフィードバック制御量ｖａｆｓｆｂとの和（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）を図２に示したマップに基づいて変換することにより、現時点における第１触媒５３のメインフィードバック制御用空燃比ａｂｙｆｓを求める。このメインフィードバック制御用空燃比ａｂｙｆｓが、最上流空燃比センサ６６の出力をサブフィードバック制御量ｖａｆｓｆｂにより補正した第１触媒５３の上流における上記「見かけ上の空燃比」である。
【０１７５】
次に、ＣＰＵ７１はステップ１１１５に進み、現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Ｍｃ（ｋ−Ｎ）を前記求めたメインフィードバック制御用空燃比ａｂｙｆｓで除することにより、現時点からＮストローク前の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求める。値Ｎは、内燃機関の排気量、燃焼室２５から最上流空燃比センサ６６までの距離等により異なる値である。
【０１７６】
このように、現時点からＮストローク前の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求めるために、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）をメインフィードバック制御用空燃比ａｂｙｆｓで除するのは、燃焼室２５内で燃焼された混合気が最上流空燃比センサ６６に到達するまでには、Ｎストロークに相当する時間を要しているからである。なお、筒内吸入空気量Ｍｃは、各気筒の吸気行程に対応されながらＲＡＭ７３内に記憶されるようになっている。
【０１７７】
次いで、ＣＰＵ７１はステップ１１２０に進み、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を現時点からＮストローク前の時点における目標空燃比ａｂｙｆｒ（ｋ−Ｎ）（この例では、理論空燃比）で除することにより、現時点からＮストローク前の目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）を求める。そして、ＣＰＵ７１はステップ１１２５に進んで目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）から筒内燃料供給量Ｆｃ（ｋ−Ｎ）を減じた値を筒内燃料供給量偏差ＤＦｃとして設定する。つまり、筒内燃料供給量偏差ＤＦｃは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、ＣＰＵ７１はステップ１１３０に進み、下記数４６に基づいてメインフィードバック制御量ＤＦｉを求める。
【０１７８】
【数４６】
ＤＦｉ＝（Ｇｐ・ＤＦｃ＋Ｇｉ・ＳＤＦｃ）・ＫＦＢ
【０１７９】
上記数４６において、Ｇｐは予め設定された比例ゲイン（比例定数）、Ｇｉは予め設定された積分ゲイン（積分定数）である。なお、数４６の係数ＫＦＢはエンジン回転速度ＮＥ、及び筒内吸入空気量Ｍｃ等により可変とすることが好適であるが、ここでは「１」としている。また、値ＳＤＦｃは筒内燃料供給量偏差ＤＦｃの積分値であり、次のステップ１１３５にて更新される。即ち、ＣＰＵ７１は、ステップ１１３５にてその時点における筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃに上記ステップ１１２５にて求めた筒内燃料供給量偏差ＤＦｃを加えて、新たな筒内燃料供給量偏差の積分値ＳＤＦｃを求め、ステップ１１９５にて本ルーチンを一旦終了する。
【０１８０】
以上により、メインフィードバック制御量ＤＦｉが比例積分制御により求められ、このメインフィードバック制御量ＤＦｉが前述した図１０のステップ１０１０により燃料噴射量に反映されるので、Ｎストローク前の燃料供給量の過不足が補償され、内燃機関に供給される混合気の空燃比の平均値が目標空燃比ａｂｙｆｒと略一致せしめられるようにフィードバック制御される。
【０１８１】
一方、ステップ１１０５の判定時において、空燃比フィードバック制御条件が不成立であると、ＣＰＵ７１は同ステップ１１０５にて「Ｎｏ」と判定してステップ１１４０に進み、メインフィードバック制御量ＤＦｉの値を「０」に設定し、その後ステップ１１９５に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるとき（最大酸素吸蔵量取得制御実行中を含む）は、メインフィードバック制御量ＤＦｉを「０」として空燃比（基本燃料噴射量Ｆｂａｓｅ）の補正を行わない。
【０１８２】
次に、上記サブフィードバック制御量ｖａｆｓｆｂに基づく空燃比フィードバック制御（サブフィードバック制御）について説明する。このサブフィードバック制御により、サブフィードバック制御量ｖａｆｓｆｂが算出される。
【０１８３】
ＣＰＵ７１は、サブフィードバック制御量ｖａｆｓｆｂを求めるための図１２に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ１２００から処理を開始し、ステップ１２０５に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ１１０５での空燃比フィードバック制御条件に加え、機関の冷却水温ＴＨＷが前記第１所定温度よりも高い第２所定温度以上のとき、及び第１触媒下流空燃比センサ６７が正常である（活性状態であることを含む。）ときに成立する。
【０１８４】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ１２０５にて「Ｙｅｓ」と判定してステップ１２１０に進み、目標値ｖｏｘｓｒｅｆから第１触媒下流空燃比センサ６７の出力ｖｏｘｓを減じた値である偏差Ｄｖｏｘｓを求める。
【０１８５】
次いで、ＣＰＵ７１はステップ１２１５に進み、後述するルーチンにより別途求められている最新の酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値と、前述した図８に示したテーブルと同一のテーブルであるステップ１２１５内に示したテーブルとに基づいて重み係数Ｋｗｃｇを決定する。続いて、ＣＰＵ７１はステップ１２２０に進み、前記偏差Ｄｖｏｘｓに前記重み係数Ｋｗｃｇを乗じることで前記偏差に重み付けした値Ｄｖｏｘｓｗを求める。
【０１８６】
次に、ＣＰＵ７１はステップ１２２５に進んで、下記数４７に基づいて値Ｄｖｏｘｓｗの微分値である偏差微分値ＤＤｖｏｘｓｗを求める。
【０１８７】
【数４７】
ＤＤｖｏｘｓｗ＝（Ｄｖｏｘｓｗ−Ｄｖｏｘｓｗ１）／Δｔ
【０１８８】
上記数４７において、ΔｔはＣＰＵ７１の演算周期であり、Ｄｖｏｘｓｗ１は前記偏差に重み付けした値Ｄｖｏｘｓｗの前回値であって前回の本ルーチン実行時における後述するステップ１２４０にて更新されている最新の値である。次いで、ＣＰＵ７１はステップ１２３０に進んで、下記数４８に基づいてサブフィードバック制御量ｖａｆｓｆｂを求める。
【０１８９】
【数４８】
ｖａｆｓｆｂ＝Ｋｐ・Ｄｖｏｘｓｗ＋Ｋｉ・ＳＤｖｏｘｓｗ＋Ｋｄ・ＤＤｖｏｘｓｗ
【０１９０】
上記数４８において、Ｋｐは予め設定された比例ゲイン（比例定数）、Ｋｉは予め設定された積分ゲイン（積分定数）、Ｋｄは予め設定された微分ゲイン（微分定数）である。また、ＳＤｖｏｘｓｗはの値Ｄｖｏｘｓｗの積分値である偏差積分値であり、次のステップ１２３５にて更新される。即ち、ＣＰＵ７１は、ステップ１２３５にてその時点における偏差積分値ＳＤｖｏｘｓｗに上記ステップ１２２０にて求めた値Ｄｖｏｘｓｗを加えて、新たな偏差積分値ＳＤｖｏｘｓｗを求める。そして、ＣＰＵ７１はステップ１２４０にて、前記ステップ１２２０にて求めた値Ｄｖｏｘｓｗの今回値を前回値Ｄｖｏｘｓｗ１に格納した後、ステップ１２９５にて本ルーチンを一旦終了する。以上のようにして、サブフィードバック制御量ｖａｆｓｆｂが求められる。
【０１９１】
一方、サブフィードバック制御条件が不成立であるとき、ＣＰＵ７１はステップ１２０５にて「Ｎｏ」と判定してステップ１２４５に進み、同ステップ１２４５にてサブフィードバック制御量ｖａｆｓｆｂを「０」に設定する。これにより、サブフィードバック制御量ｖａｆｓｆｂに基づくサブフィードバック制御が停止される。
【０１９２】
次に、最大酸素吸蔵量算出のために強制的に空燃比を変更する最大酸素吸蔵量取得制御について説明する。ＣＰＵ７１は図１３〜図１５のフローチャートにより示された各ルーチンを所定時間の経過毎に実行するようになっている。
【０１９３】
従って、所定のタイミングになると、ＣＰＵ７１は図１３のステップ１３００から処理を開始し、ステップ１３０５に進んで最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値が「０」であるか否かを判定する。いま、最大酸素吸蔵量算出のための最大酸素吸蔵量取得制御を行っておらず、且つ、最大酸素吸蔵量取得制御開始条件が成立していないとして説明を続けると、最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値は「０」となっている。従って、ＣＰＵ７１はステップ１３０５にて「Ｙｅｓ」と判定してステップ１３１０に進み、先に説明した図１０のステップ１０１０にて使用される係数Ｋの値を１．００に設定する。
【０１９４】
次いで、ＣＰＵ７１はステップ１３１５にて最大酸素吸蔵量取得制御の開始条件が成立しているか否かを判定する。この最大酸素吸蔵量取得制御の開始条件は、冷却水温ＴＨＷが所定温度以上であり、図示しない車速センサにより得られた車速が所定の高車速以上であり、スロットル弁開度ＴＡの単位時間あたりの変化量が所定量以下である等の機関が定常運転されている条件が成立し、第１触媒下流空燃比センサ出力ｖｏｘｓが理論空燃比よりもリッチな空燃比に相当する出力を発生し、且つ、前回の最大酸素吸蔵量取得制御実行時点から所定時間が経過している場合等に成立する。現段階では、上述したように、最大酸素吸蔵量取得制御の開始条件は成立していないから、ＣＰＵ７１はステップ１３１５にて「Ｎｏ」と判定してステップ１３９５に進み、本ルーチンを一旦終了する。
【０１９５】
次に、現時点では最大酸素吸蔵量取得制御を行っていないが、最大酸素吸蔵量取得制御の開始条件が成立したものとして説明を続けると、この場合、ＣＰＵ７１はステップ１３０５にて「Ｙｅｓ」と判定してステップ１３１０に進み、同ステップ１３１０にて係数Ｋの値を１．００に設定する。次いで、ＣＰＵ７１は、開始条件が成立しているので、ステップ１３１５にて「Ｙｅｓ」と判定してステップ１３２０に進み、同ステップ１３２０にて最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値を「１」に設定する。
【０１９６】
そして、ＣＰＵ７１はステップ１３２５に進み、第１モードに移行するためにＭｏｄｅの値を「１」に設定するとともに、続くステップ１３３０にて係数Ｋの値を０．９８に設定し、ステップ１３９５に進んで本ルーチンを一旦終了する。これにより、前述の空燃比フィードバック制御条件が成立しなくなるから、ＣＰＵ７１は図１１のステップ１１０５にて「Ｎｏ」と判定してステップ１１４０に進むようになり、空燃比フィードバック補正量ＤＦｉの値は「０」に設定される。この結果、図１０のステップ１０１０の実行により、基本燃料噴射量Ｆｂａｓｅが０．９８倍された値が最終燃料噴射量Ｆｉとして算出され、この最終燃料噴射量Ｆｉの燃料が噴射されるので、機関に供給される混合気の空燃比（従って、第１触媒５３に流入するガスの空燃比）は理論空燃比よりもリーンな所定のリーン空燃比に制御される。
【０１９７】
以降、ＣＰＵ７１は図１３のルーチンの処理をステップ１３００から繰り返し実行するが、最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値が「１」となっていることから、ステップ１３０５にて「Ｎｏ」と判定して直ちにステップ１３９５に進み、本ルーチンを一旦終了するようになる。
【０１９８】
一方、ＣＰＵ７１は図１４に示した第１モード制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングとなると、ＣＰＵ７１はステップ１４００から処理を開始してステップ１４０５に進み、同ステップ１４０５にてＭｏｄｅの値が「１」であるか否かを判定する。このとき、Ｍｏｄｅの値が「１」でなければ、ＣＰＵ７１は直ちにステップ１４９５に進んで本ルーチンを一旦終了する。以下、先の図１３のステップ１３２５の処理によりＭｏｄｅの値が「１」に変更された直後であるとして説明を続けると、この場合、ＣＰＵ７１はステップ１４０５にて「Ｙｅｓ」と判定してステップ１４１０に進み、第１触媒下流空燃比センサ出力ｖｏｘｓが理論空燃比よりもリーンな空燃比に相当する出力（酸素が過剰に存在する場合の出力）となったか否かを判定する。
【０１９９】
現時点では、機関に供給される混合気の空燃比を所定のリーン空燃比に変更した直後であるから、第１触媒下流空燃比センサ出力ｖｏｘｓが理論空燃比よりもリーンな空燃比に相当する出力とはなっていないので、ＣＰＵ７１はステップ１４１０にて「Ｎｏ」と判定し、ステップ１４９５にて本ルーチンを一旦終了する。
【０２００】
以降、ＣＰＵ７１は図１４のステップ１４００〜１４１０を繰り返し実行する。また、空燃比は所定のリーン空燃比に維持されているから、時間経過に伴って第１触媒５３の酸素吸蔵量が最大酸素吸蔵量に到達する。従って、これに応じて第１触媒下流空燃比センサ出力ｖｏｘｓが理論空燃比よりもリーンな空燃比に相当する出力に変化する。これにより、ＣＰＵ７１はステップ１４１０に進んだとき、同ステップ１４１０にて「Ｙｅｓ」と判定してステップ１４１５に進み、同ステップ１４１５にてＭｏｄｅの値を「２」に設定するとともに、続くステップ１４２０にて係数Ｋの値を１．０２に設定し、その後ステップ１４９５にて本ルーチンを一旦終了する。この結果、機関に供給される混合気の空燃比が理論空燃比よりリッチな所定のリッチ空燃比に制御される。
【０２０１】
また、ＣＰＵ７１は図１５にフローチャートにより示した第２モード制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、ＣＰＵ７１は、所定のタイミングになると、ステップ１５００から処理を開始し、ステップ１５０５にてＭｏｄｅの値が「２」であるか否かを判定し、Ｍｏｄｅの値が「２」でなければステップ１５０５からステップ１５９５に進んで本ルーチンを一旦終了するように作動している。
【０２０２】
一方、先のステップ１４１５の処理によりＭｏｄｅの値が「２」に変更されると、ＣＰＵ７１はステップ１５０５に進んだとき「Ｙｅｓ」と判定してステップ１５１０に進み、同ステップ１５１０にて第１触媒下流空燃比センサ６７の出力ｖｏｘｓが理論空燃比よりリーンな空燃比を示す値から同理論空燃比よりリッチな空燃比を示す値に変化したか否かを判定する。この時点では、空燃比が前記所定のリッチ空燃比に変更された直後であるから、ＣＰＵ７１はステップ１５１０にて「Ｎｏ」と判定し、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０２０３】
これ以降、機関に供給される混合気の空燃比は前記所定のリッチ空燃比に維持されるから、第１触媒５３に貯蔵されている酸素が消費されて行き、所定の時間が経過すると同第１触媒５３の酸素吸蔵量が「０」に至る。この結果、第１触媒５３から未燃ＨＣ，ＣＯが流出し始めるので、第１触媒下流空燃比センサ６７の出力ｖｏｘｓが理論空燃比よりリーンな空燃比を示す値から同理論空燃比よりリッチな空燃比を示す値に変化する。これにより、ＣＰＵ７１は、ステップ１５１０に進んだとき同ステップ１５１０にて「Ｙｅｓ」と判定してステップ１５１５に進み、同ステップ１５１５にてＭｏｄｅの値を「０」に再設定し、続くステップ１５２０にて最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値を「０」に設定し、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０２０４】
この状態となると、ＣＰＵ７１は図１３のルーチンを実行する際、ステップ１３０５にて「Ｙｅｓ」と判定してステップ１３１０に進むので、係数Ｋの値が１．００に戻される。また、空燃比フィードバック制御条件が成立していれば、ＣＰＵ７１は図１１のルーチンのステップ１１０５及び図１２のステップ１２０５にて「Ｙｅｓ」と判定するから、空燃比フィードバック制御（メインフィードバック制御及びサブフィードバック制御）が再開される。
【０２０５】
以上、説明したように、最大酸素吸蔵量取得制御の開始条件が成立すると、機関に供給される混合気の空燃比が所定のリーン空燃比、所定のリッチ空燃比の順に１回づつ強制的に制御される。
【０２０６】
次に、最大酸素吸蔵量取得のための酸素吸蔵量の算出における作動について説明する。ＣＰＵ７１は図１６のフローチャートにより示されたルーチンを所定時間（演算周期ｔｓａｍｐｌｅ）の経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１６００から処理を開始し、ステップ１６０５に進んで下記数４９により酸素吸蔵量変化量ΔＯ２を求める。
【０２０７】
【数４９】
ΔＯ２＝０．２３・ｍｆｒ・（ｓｔｏｉｃｈ  −  ａｂｙｆｓａｖｅ）
【０２０８】
上記数４９において、値「０．２３」は大気中に含まれる酸素の重量割合である。ｍｆｒは所定時間ｔｓａｍｐｌｅ内の燃料噴射量Ｆｉの合計量であり、ｓｔｏｉｃｈは理論空燃比（例えば、１４．７）である。ａｂｙｆｓａｖｅは所定時間ｔｓａｍｐｌｅにおいて最上流空燃比センサ６６により検出された空燃比Ａ／Ｆの平均値である。この数４９に示したように、所定時間ｔｓａｍｐｌｅ内の噴射量の合計量ｍｆｒに、検出された空燃比Ａ／Ｆの平均値の理論空燃比からの偏移（ｓｔｏｉｃｈ  −  ａｂｙｆｓａｖｅ）を乗じることで、同所定時間ｔｓａｍｐｌｅにおける空気の消費量（不足量）が求められる。この空気の消費量に酸素の重量割合を乗じることで同所定時間ｔｓａｍｐｌｅにおける酸素の消費量（酸素吸蔵量変化量ΔＯ２）が求められる。
【０２０９】
次いで、ＣＰＵ７１はステップ１６１０に進んでＭｏｄｅの値が「２」であるか否か（第２モードであるか否か）を判定し、Ｍｏｄｅの値が「２」であれば同ステップ１６１０にて「Ｙｅｓ」と判定してステップ１６１５に進み、その時点の酸素吸蔵量ＯＳＡ１に上記酸素吸蔵量変化量ΔＯ２を加えた値を新たな酸素吸蔵量ＯＳＡ１として設定し、その後ステップ１６２０に進む。
【０２１０】
このような処置（ステップ１６００〜１６１５）は、Ｍｏｄｅの値が「２」である限り繰り返し実行される。この結果、第１触媒５３の上流の空燃比が所定のリッチ空燃比とされる第２モード（Ｍｏｄｅ＝２）において、第１触媒５３の酸素吸蔵量ＯＳＡ１が算出されて行く。第２モードにおいては、第１触媒５３に貯蔵されている酸素が消費されて行くからである。なお、ステップ１６１０での判定において「Ｎｏ」と判定される場合、ＣＰＵ７１は同ステップ１６１０からステップ１６２０に直接進む。そして、ＣＰＵ７１は、ステップ１６２０に進むと、燃料噴射量Ｆｉの合計量ｍｆｒを「０」に設定し、その後ステップ１６９５に進んで本ルーチンを一旦終了する。
【０２１１】
次に、第１触媒５３最大酸素吸蔵量ＣｍａｘＳＣａｌｌ、及び第１触媒５３の各ブロックの最大酸素吸蔵量ＣｍａｘＳＣ＜ｎ＞を算出する際の作動について説明する。ＣＰＵ７１は図１７のフローチャートにより示されたルーチンを所定時間の経過毎に実行するようになっている。
【０２１２】
従って、所定のタイミングになると、ＣＰＵ７１は図１７のステップ１７００から処理を開始し、ステップ１７０５に進んで最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値が「１」から「０」に変化したか否かをモニタする。このとき、最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値が変化していなければ、ＣＰＵ７１はステップ１７０５からステップ１７９５に直接進んで本ルーチンを一旦終了する。
【０２１３】
一方、前述した第２モードが終了した直後であるとすると、図１５のステップ１５２０にて最大酸素吸蔵量取得制御実行中フラグＸＨＡＮの値が「１」から「０」に変更されるから、ＣＰＵ７１はステップ１７０５にて「Ｙｅｓ」と判定してステップ１７１０に進み、その時点の酸素吸蔵量ＯＳＡ１を、第１触媒５３全体の最大酸素吸蔵量ＣｍａｘＳＣａｌｌとして格納する。
【０２１４】
次いでＣＰＵ７１はステップ１７１５に進み、カウンタ値ｎの値を「０」に設定した後、ステップ１７２０に進んで第１触媒５３のブロック毎の最大酸素吸蔵量を算出する処理を開始する。まず、ＣＰＵ７１はステップ１７２０においてカウンタ値ｎの値を「１」だけ増大して「１」に設定した後、ステップ１７２５に進んで上記ステップ１７１０にて取得した第１触媒５３全体の最大酸素吸蔵量ＣｍａｘＳＣａｌｌの値と、カウンタ値ｎの値と、ステップ１７２５内に記載した式とに基いて第１触媒５３のブロックｎにおける最大酸素吸蔵量ＣｍａｘＳＣ＜ｎ＞を算出する。この時点ではカウンタ値ｎの値は「１」であるから、第１触媒５３のブロック１における最大酸素吸蔵量ＣｍａｘＳＣ（１）が算出される。
【０２１５】
ここで、ステップ１７２５内に記載した式について図１８を用いて簡単に説明する。図１８は、第１触媒５３のブロック毎の最大酸素吸蔵量ＣｍａｘＳＣ＜ｎ＞  （ｎ＝１，・・・，ｒ）を求める考え方を示した最大酸素吸蔵量分布マップであり、斜線で示された部分の面積は第１触媒５３全体の最大酸素吸蔵量ＣｍａｘＳＣａｌｌの値に対応している。
【０２１６】
このように、第１触媒５３のブロック毎の各最大酸素吸蔵量ＣｍａｘＳＣ＜ｎ＞は、同各最大酸素吸蔵量ＣｍａｘＳＣ＜ｎ＞の総和が第１触媒５３全体の最大酸素吸蔵量ＣｍａｘＳＣａｌｌの値となるように設定されるとともに、上流側のブロック１から下流側のブロックｒに推移するに従い、所定の勾配をもって線形的に増加するように設定される。これは、第１触媒５３の上流側部分の方が下流側部分に比して、内部に流入する排ガス中の鉛や硫黄等により被毒し易いので、同上流側部分の最大酸素吸蔵量が同下流側部分のものに比して低下し易くなるからである。
【０２１７】
かかる図１８に示した最大酸素吸蔵量分布マップに基いて第１触媒５３のブロック毎の各最大酸素吸蔵量ＣｍａｘＳＣ＜ｎ＞を求める式がステップ１７２５内に記載の式である。前記ステップ１７２５内に記載の式において、値Ａ１は正の定数であって、上記所定の勾配に相当する値である。なお、第１触媒５３のブロック毎の各最大酸素吸蔵量は、上流側のブロックから下流側のブロックに推移するに従い増加するように設定されていればよく、例えば、非線形的に増加するように設定されていてもよい。
【０２１８】
再び、図１７を参照すると、ＣＰＵ７１はステップ１７２５からステップ１７３０に進んでカウンタ値ｎの値が第１触媒５３のブロック数ｒと等しいか否かを判定する。現時点ではカウンタ値ｎの値は「１」であるから、ＣＰＵ７１はステップ１７３０にて「Ｎｏ」と判定し、再びステップ１７２０に戻ってカウンタ値ｎの値を「１」だけ増大した後ステップ１７２５及びステップ１７３０の処理を実行する。即ち、ステップ１７２０及びステップ１７２５の処理は、カウンタ値ｎの値が第１触媒５３のブロック数ｒと等しくなるまで繰り返し実行される。これにより、第１触媒５３の最上流のブロック１から最下流のブロックｒまでの各ブロックｎの最大酸素吸蔵量ＣｍａｘＳＣ＜ｎ＞の値が順次算出されていく。
【０２１９】
前述のステップ１７２０の処理が繰り返されることによりカウンタ値ｎの値が第１触媒５３のブロック数ｒと等しくなると、ＣＰＵ７１はステップ１７３０にて「Ｙｅｓ」と判定してステップ１７３５に進み、酸素吸蔵量ＯＳＡ１の値を「０」に設定した後、ステップ１７９５に進んで本ルーチンを一旦終了する。
【０２２０】
次に、触媒モデルにより第１触媒５３の各特定成分のＣｇｏｕｔＳＣを算出するためのルーチンについて説明する。このルーチンは図１９〜図２４の一連のフローチャートにより示されていて、ＣＰＵ７１はこれらのルーチンを所定時間の経過毎に繰り返し実行することで第１触媒５３の各ブロックｊ（ｊ＝１，・・・，ｒ）から流出する酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｊ＞、一酸化窒素濃度ＣｇｏｕｔＳＣ，ＮＯ＜ｊ＞、一酸化炭素濃度ＣｇｏｕｔＳＣ，ＣＯ＜ｊ＞、炭化水素濃度ＣｇｏｕｔＳＣ，ＨＣ＜ｊ＞、及び水素濃度ＣｇｏｕｔＳＣ，Ｈ２＜ｊ＞を逐次算出する。
【０２２１】
従って、所定のタイミングになると、ＣＰＵ７１はステップ１９００から処理を開始し、ステップ１９０５に進んで第１触媒５３用の酸素吸蔵速度係数ｋｓｔｏｒＳＣ，Ｏ２（ｋ）＜ｊ＞及びｋｓｔｏｒＳＣ，ＮＯ（ｋ）＜ｊ＞と、酸素放出速度係数ｋｒｅｌＳＣ，ＣＯ（ｋ）＜ｊ＞，ｋｒｅｌＳＣ，ＨＣ（ｋ）＜ｊ＞，及びｋｒｅｌＳＣ，Ｈ２（ｋ）＜ｊ＞とを、第１触媒５３の温度ＴｅｍｐＳＣと同第１触媒５３の劣化程度を表す劣化指標値ＲＥＫＫＡＳＣと図２５に示したようなマップ（ルックアップテーブル）とから決定する。なお、例えば、ｋｓｔｏｒＳＣ，Ｏ２（ｋ）＜ｊ＞のように、ＳＣが付与されている値は第１触媒用の値であることを意味し、＜ｊ＞が付与されている値はブロックｊ（ｊ番目のブロック）に対する値であることを意味する（以下、同じ。）。
【０２２２】
上記触媒温度ＴｅｍｐＳＣは、機関１０の運転状態（例えば、吸入空気流量Ｇａとエンジン回転速度ＮＥ）に応じて推定される。上記第１触媒５３の劣化指標値ＲＥＫＫＡＳＣは、前述の第１触媒５３の最大酸素吸蔵量ＣｍａｘＳＣａｌｌに応じてそれぞれ求められる。例えば、劣化指標値ＲＥＫＫＡＳＣは最大酸素吸蔵量ＣｍａｘＳＣａｌｌが減少するほど増大する値として求められる。
【０２２３】
次に、ＣＰＵ７１はステップ１９１０に進んで変数ｊの値を「０」に設定する。この変数ｊは、以下において何番目のブロックについての演算を行うのかを決定する変数である。次いで、ＣＰＵ７１は、ステップ１９１５にて変数ｊの値を「１」だけ増大するとともに、ステップ１９２０にて変数ｊの値がｒ＋１と等しくなったか否か、即ち、第１触媒５３の総べてのブロックについて各特定成分の算出が終了したか否かを判定する。
【０２２４】
現段階での変数ｊの値は「１」であるから、ＣＰＵ７１はステップ１９２０にて「Ｎｏ」と判定してステップ１９２５に進み、前回の本ルーチンの演算時において後述するステップ１９６０にて算出された第１触媒５３のｊ番目のブロック（ブロックｊ）のコート層の酸素濃度ＣｗＳＣ，Ｏ２（ｋ＋１）＜ｊ＞を今回のコート層の酸素濃度ＣｗＳＣ，Ｏ２（ｋ）＜ｊ＞に設定し、続くステップ１９３０にて前回の本ルーチンの演算時において後述する図２４のステップ２４１５にて算出された酸素吸蔵密度ＯｓｔＳＣ（ｋ＋１）＜ｊ＞を今回の酸素吸蔵密度Ｏｓｔの値ＯｓｔＳＣ（ｋ）＜ｊ＞に設定する。なお、今回の演算が機関１０の始動後初めてである場合、上記各値には適当な初期値が与えられる。
【０２２５】
次いで、ＣＰＵ７１は、ステップ１９３５にて同ステップ１９３５内に記載した式（上記（３６）式を参照。）に従って酸素の消費速度定数Ｒ＊ｓｔｏｒＳＣ，Ｏ２（ｋ）＜ｊ＞を求める。ステップ１９３５にて用いる最大酸素吸蔵密度ＯｓｔＳＣｍａｘ＜ｊ＞は、一定値としてもよいが、前記劣化指標値ＲＥＫＫＡＳＣ（又は、最大酸素吸蔵量ＣｍａｘＳＣａｌｌ）に応じて決定されることが望ましい（以下、同じ。）。その後、ＣＰＵ７１はステップ１９４０にて見かけの拡散速度ＲＤＳＣ，Ｏ２（ｋ）＜ｊ＞を触媒温度ＴｅｍｐＳＣとマップＭａｐＲＤＳＣＯ２とから決定する。
【０２２６】
続いて、ＣＰＵ７１はステップ１９４５にて酸素の反応律速因子ＳＰｓｔｏｒＳＣ，Ｏ２＜ｊ＞を同ステップ１９４５内に記載した式（上記（２９）式を参照。）により求め、ステップ１９５０にて第１触媒５３のブロックｊよりも前の（即ち、上流の）ブロックｊ−１から流出する酸素濃度ＣｇｏｕｔＳＣ，Ｏ２（ｋ）＜ｊ−１＞を同ブロックｊに流入する酸素濃度ＣｇｉｎＳＣ，Ｏ２（ｋ）＜ｊ＞として取り込む。
【０２２７】
この段階でｊの値は「１」であるから、ブロックｊは第１触媒５３の最も上流のブロックであって、それより前の（上流の）ブロックｊ−１は存在しない。従って、ステップ１９５０における前のブロックのＣｇｏｕｔＳＣ，Ｏ２（ｋ）＜ｊ−１＞は、同第１触媒５３に流入する排ガスの酸素濃度ＣｇｉｎＳＣ，Ｏ２である。この第１触媒５３に流入する排ガスの酸素濃度ＣｇｉｎＳＣ，Ｏ２（＝Ｃｇｉｎ，Ｏ２）は、同第１触媒５３に流入する排ガスの空燃比と同排ガスの流量とに基づく関数ｆＯ２により求められる。下記の（５０）式の右辺は、この関数ｆＯ２の具体例である。（５０）式で用いられる排ガスの空燃比ＡＦは、エアフローメータ６１が計測する単位時間あたりの吸入空気質量Ｇａを最終燃料噴射量Ｆｉとエンジン回転速度ＮＥとに基づいて求められる単位時間あたりの供給燃料質量Ｇｆで除することにより求められる。なお、この排ガスの空燃比ＡＦは、最上流空燃比センサ６６の出力ｖａｂｙｆｓと図２に示したマップとから求めても良い。
【０２２８】
【数５０】
2004270581.tif 000049
【０２２９】
上記（５０）式の導出過程を簡単に述べると、第１触媒５３に流入する排ガスの空燃比ＡＦはＧａ／Ｇｆであり、Ｇｆに対して理論空燃比を得るために必要な空気質量をＧａｓｔｏｉｃｈとすると、理論空燃比ＡＦｓｔｏｉｃｈはＧａｓｔｏｉｃｈ／Ｇｆとなる。一方、供給燃料質量がＧｆであるときに空燃比がＡＦとなったとき、理論空燃比ＡＦｓｔｏｉｃｈを得るために必要な空気質量に対する過剰な空気質量はＧａ−Ｇａｓｔｏｉｃｈであるから、酸素の質量をＭａｓｓＯ２とおくと、下記（５１）式が得られ、この（５１）式から上記（５０）式が得られる。
【０２３０】
【数５１】
2004270581.tif 000050
【０２３１】
次に、ＣＰＵ７１はステップ１９５５に進み、同ステップ１９５５に記述した式（上記（３０）式を参照。）に従ってＣｇｏｕｔＳＣ，Ｏ２（ｋ＋１）＜ｊ＞を求める。ｖｇの値はエアフローメータ６１が検出した吸入空気流量ＡＦＭ（＝Ｇａ）とする。このように、ステップ１９５５では、対象としているブロックｊから流出する酸素濃度ＣｇｏｕｔＳＣ，Ｏ２を新たに算出する。次いで、ＣＰＵ７１はステップ１９６０に進み、同ステップ１９６０に記述した式（上記（２８）式を参照。）に従ってＣｗＳＣ，Ｏ２（ｋ＋１）＜ｊ＞を求める。即ち、ＣＰＵ７１は、ステップ１９６０にて対象としている第１触媒５３のブロックｊのコート層の酸素濃度ＣｗＳＣ，Ｏ２を新たに算出し、ステップ１９６５を経由して図２０に示したステップ２０００に進む。このように、図１９により示したルーチンは、第１触媒５３のブロックｊ（特定領域ｊ）における排ガス相の酸素濃度推定手段、及びコート層の酸素濃度推定手段を構成している。
【０２３２】
図２０に示したルーチンは、一酸化窒素ＮＯについての演算を行うルーチンであり、酸素Ｏ２についての演算を行うための先に説明した図１９のルーチンと同様なルーチンである。簡単に説明すると、ＣＰＵ７１はステップ２０００からステップ２００５に進んで、前回の本ルーチンの演算時において後述するステップ２０３５にて算出された第１触媒５３のｊ番目のブロック（ブロックｊ）のコート層の一酸化窒素濃度ＣｗＳＣ，ＮＯ（ｋ＋１）＜ｊ＞を今回のコート層の一酸化窒素濃度ＣｗＳＣ，ＮＯ（ｋ）＜ｊ＞に設定する。なお、今回の演算が機関１０の始動後初めてである場合、上記ＣｗＳＣ，ＮＯ（ｋ）＜ｊ＞には適当な初期値が与えられる。
【０２３３】
次いで、ＣＰＵ７１は、ステップ２０１０にて同ステップ２０１０内に記載した式（上記（３６）式を参照。）に従って消費速度定数Ｒ＊ｓｔｏｒＳＣ，ＮＯ（ｋ）＜ｊ＞を求める。ここで、酸素吸蔵密度ＯｓｔＳＣ（ｋ）＜ｊ＞，及び最大酸素吸蔵密度ＯｓｔＳＣｍａｘ＜ｊ＞は、前述のステップ１９３５にて使用した値をそれぞれ用いる。その後、ＣＰＵ７１はステップ２０１５にて見かけの拡散速度ＲＤＳＣ，ＮＯ（ｋ）＜ｊ＞を触媒温度ＴｅｍｐＳＣとマップＭａｐＲＤＳＣＮＯとから決定する。
【０２３４】
続いて、ＣＰＵ７１はステップ２０２０にて一酸化窒素の反応律速因子ＳＰｓｔｏｒＳＣ，ＮＯ＜ｊ＞を同ステップ２０２０内に記載した式（上記（２９）式を参照。）により求め、ステップ２０２５にて第１触媒５３のブロックｊよりも前の（即ち、上流の）ブロックｊ−１から流出する一酸化窒素濃度ＣｇｏｕｔＳＣ，ＮＯ（ｋ）＜ｊ−１＞を同ブロックｊに流入する一酸化窒素濃度ＣｇｉｎＳＣ，ＮＯ（ｋ）＜ｊ＞として取り込む。
【０２３５】
この段階でｊの値は「１」であるから、対象としているブロックｊは第１触媒５３の最も上流のブロックであって、それより上流のブロックｊ−１は存在しない。従って、ステップ２０２５における前のブロックのＣｇｏｕｔＳＣ，ＮＯ（ｋ）＜ｊ−１＞は、同第１触媒５３に流入する排ガスの一酸化窒素濃度ＣｇｉｎＳＣ，ＮＯである。この場合、第１触媒５３に流入する排ガスの空燃比Ａ／Ｆ（「Ｇａ／Ｇｆ」として計算により求められる。）と一酸化窒素濃度ＣｇｉｎＳＣ，ＮＯとの関係は図２６のグラフに示したようであるから、この関係を予め実験により求めてマップとして記憶しておき、計算により求められる実際の排ガスの空燃比Ａ／Ｆと同マップとから一酸化窒素濃度ＣｇｉｎＳＣ，ＮＯを求める。
【０２３６】
次に、ＣＰＵ７１はステップ２０３０に進み、同ステップ２０３０に記述した式（上記（３０）式を参照。）に従ってＣｇｏｕｔＳＣ，ＮＯ（ｋ＋１）＜ｊ＞を求める。即ち、対象としているブロックｊから流出する一酸化窒素濃度ＣｇｏｕｔＳＣ，ＮＯを新たに算出する。次いで、ＣＰＵ７１はステップ２０３５に進み、同ステップ２０３５に記述した式（上記（２８）式を参照。）に従ってＣｗＳＣ，ＮＯ（ｋ＋１）＜ｊ＞を求める。即ち、ＣＰＵ７１は、ステップ２０３５にて対象としている第１触媒５３のブロックｊのコート層の一酸化窒素濃度ＣｗＳＣ，ＮＯを新たに算出し、ステップ２０９５を経由して図２１に示したステップ２１００に進む。このように、図２０により示したルーチンは、第１触媒５３のブロックｊ（特定領域ｊ）における排ガス相の一酸化窒素濃度推定手段、及びコート層の一酸化窒素濃度推定手段を構成している。
【０２３７】
図２１に示したルーチンは、一酸化炭素ＣＯについての演算を行うルーチンである。ＣＰＵ７１はステップ２１００からステップ２１０５に進んで、前回の本ルーチンの演算時において後述するステップ２１３５にて算出されたコート層の一酸化炭素濃度ＣｗＳＣ，ＣＯ（ｋ＋１）＜ｊ＞を今回のコート層の一酸化炭素濃度ＣｗＳＣ，ＣＯ＜ｊ＞（ｋ）に設定する。なお、今回の演算が機関１０の始動後初めてである場合、上記ＣｗＳＣ，ＣＯ＜ｊ＞（ｋ）には適当な初期値が与えられる。
【０２３８】
次に、ＣＰＵ７１は、ステップ２１１０にて同ステップ２１１０内に記載した式（上記（３８）式を参照。）に従って消費速度定数Ｒ＊ｒｅｄｕｃＳＣ，ＣＯ（ｋ）＜ｊ＞を求め、その後、ステップ２１１５にて見かけの拡散速度ＲＤＳＣ，ＣＯ（ｋ）＜ｊ＞を触媒温度ＴｅｍｐＳＣとマップＭａｐＲＤＳＣＣＯとから決定する。
【０２３９】
続いて、ＣＰＵ７１はステップ２１２０にて一酸化炭素の反応律速因子ＳＰｒｅｄｕｃＳＣ，ＣＯ＜ｊ＞を同ステップ２１２０内に記載した式（上記（３３）式を参照。）により求め、ステップ２１２５にて、第１触媒５３のブロックｊよりも前の（即ち、上流の）ブロックｊ−１から流出する一酸化炭素濃度ＣｇｏｕｔＳＣ，ＣＯ（ｋ）＜ｊ−１＞を、ブロックｊに流入する一酸化炭素濃度ＣｇｉｎＳＣ，ＣＯ（ｋ）＜ｊ＞として取り込む。
【０２４０】
この段階でｊの値は「１」であるから、対象としているブロックｊは第１触媒５３の最も上流のブロックであって、それより上流のブロックｊ−１は存在しない。従って、ステップ２１２５における前のブロックのＣｇｏｕｔＳＣ，ＣＯ（ｋ）＜ｊ−１＞は、同第１触媒５３に流入する排ガスの一酸化炭素濃度ＣｇｉｎＳＣ，ＣＯである。この場合、第１触媒５３に流入する排ガスの空燃比Ａ／Ｆ（「Ｇａ／Ｇｆ」として計算により求められる。）と一酸化炭素濃度ＣｇｉｎＳＣ，ＣＯとの関係は図２７のグラフに示したようであるから、この関係を予め実験により求めてマップとして記憶しておき、計算により求められる実際の排ガスの空燃比Ａ／Ｆと同マップとから一酸化炭素濃度ＣｇｉｎＳＣ，ＣＯを求める。
【０２４１】
次に、ＣＰＵ７１はステップ２１３０に進み、同ステップ２１３０に記述した式（上記（３４）式を参照。）に従ってＣｇｏｕｔＳＣ，ＣＯ（ｋ＋１）＜ｊ＞を求める。即ち、第１触媒５３のブロックｊから流出する一酸化炭素濃度ＣｇｏｕｔＳＣ，ＣＯを新たに算出する。次いで、ＣＰＵ７１はステップ２１３５に進み、同ステップ２１３５に記述した式（上記（３２）式を参照。）に従ってＣｗＳＣ，ＣＯ（ｋ＋１）＜ｊ＞を求める。即ち、ＣＰＵ７１は、ステップ２１３５にて対象としている第１触媒５３のブロックｊのコート層の一酸化炭素濃度ＣｗＳＣ，ＣＯを新たに算出し、ステップ２１９５を経由して図２２に示したステップ２２００に進む。このように、図２１により示したルーチンは、第１触媒５３のブロックｊにおける排ガス相の一酸化炭素濃度推定手段、及びコート層の一酸化炭素濃度推定手段を構成している。
【０２４２】
図２２に示したルーチンは、炭化水素ＨＣについての演算を行うルーチンであり、一酸化炭素ＣＯについての演算を行うための先に説明した図２１のルーチンと同様なルーチンである。簡単に説明すると、ＣＰＵ７１はステップ２２００からステップ２２０５に進んで、前回の本ルーチンの演算時において後述するステップ２２３５にて算出されたコート層の炭化水素濃度ＣｗＳＣ，ＨＣ（ｋ＋１）＜ｊ＞を今回のコート層の炭化水素濃度Ｃｗ，ＨＣの値であるＣｗＳＣ，ＨＣ（ｋ）＜ｊ＞に設定する。なお、今回の演算が機関１０の始動後初めてである場合、上記各値には適当な初期値が与えられる。
【０２４３】
次に、ＣＰＵ７１は、ステップ２２１０にて同ステップ２２１０内に記載した式（上記（３８）式を参照。）に従って消費速度定数Ｒ＊ｒｅｄｕｃＳＣ，ＨＣ（ｋ）＜ｊ＞を求め、その後、ステップ２２１５にて見かけの拡散速度ＲＤＳＣ，ＨＣ（ｋ）＜ｊ＞を触媒温度ＴｅｍｐＳＣとマップＭａｐＲＤＳＣＨＣとから決定する。
【０２４４】
続いて、ＣＰＵ７１はステップ２２２０にて炭化水素の反応律速因子ＳＰｒｅｄｕｃＳＣ，ＨＣ＜ｊ＞を同ステップ２２２０内に記載した式（上記（３３）式を参照。）により求め、ステップ２２２５にて、第１触媒５３のブロックｊよりも前の（即ち、上流の）ブロックｊ−１から流出する炭化水素濃度ＣｇｏｕｔＳＣ，ＨＣ（ｋ）＜ｊ−１＞をブロックｊに流入する炭化水素濃度ＣｇｉｎＳＣ，ＨＣ（ｋ）＜ｊ＞として取り込む。
【０２４５】
この段階でｊの値は「１」であるから、ブロックｊは第１触媒５３の最も上流のブロックであって、それより上流のブロックｊ−１は存在しない。従って、ステップ２２２５におけるＣｇｏｕｔ，ＨＣ（ｋ）＜ｊ−１＞は、同第１触媒５３に流入する排ガスの炭化水素濃度Ｃｇｉｎ，ＨＣである。この場合、第１触媒５３に流入する排ガスの空燃比Ａ／Ｆ（「Ｇａ／Ｇｆ」として計算により求められる。）と炭化水素濃度Ｃｇｉｎ，ＨＣとの関係は図２８のグラフに示したようであるから、この関係を予め実験により求めてマップとして記憶しておき、計算により求められる実際の排ガスの空燃比Ａ／Ｆと同マップとから炭化水素濃度Ｃｇｉｎ，ＨＣを求める。
【０２４６】
次に、ＣＰＵ７１はステップ２２３０に進み、同ステップ２２３０に記述した式（上記（３４）式を参照。）に従ってＣｇｏｕｔＳＣ，ＨＣ（ｋ＋１）＜ｊ＞を求める。即ち、第１触媒５３のブロックｊから流出する炭化水素濃度ＣｇｏｕｔＳＣ，ＨＣを新たに算出する。次いで、ＣＰＵ７１はステップ２２３５に進み、同ステップ２２３５に記述した式（上記（３２）式を参照。）に従ってＣｗＳＣ，ＨＣ（ｋ＋１）＜ｊ＞を求める。即ち、ＣＰＵ７１は、ステップ２２３５にて第１触媒５３のブロックｊのコート層の炭化水素濃度Ｃｗ，ＨＣを新たに算出し、ステップ２２９５を経由して図２３に示したステップ２３００に進む。このように、図２２により示したルーチンは、第１触媒５３のブロックｊ（特定領域ｊ）における排ガス相の炭化水素濃度推定手段、及びコート層の炭化水素濃度推定手段を構成している。
【０２４７】
図２３に示したルーチンは、水素Ｈ２についての演算を行うルーチンであり、一酸化炭素ＣＯについての演算を行うための先に説明した図２１のルーチンと同様なルーチンである。簡単に説明すると、ＣＰＵ７１はステップ２３００からステップ２３０５に進んで、前回の本ルーチンの演算時において後述するステップ２３３５にて算出されたコート層の水素濃度ＣｗＳＣ，Ｈ２（ｋ＋１）＜ｊ＞を今回のコート層の水素濃度Ｃｗ，Ｈ２の値であるＣｗＳＣ，Ｈ２（ｋ）＜ｊ＞に設定する。なお、今回の演算が機関１０の始動後初めてである場合、上記各値には適当な初期値が与えられる。
【０２４８】
次に、ＣＰＵ７１は、ステップ２３１０にて同ステップ２３１０内に記載した式（上記（３８）式を参照。）に従って消費速度定数Ｒ＊ｒｅｄｕｃＳＣ，Ｈ２（ｋ）＜ｊ＞を求め、その後、ステップ２３１５にて見かけの拡散速度ＲＤＳＣ，Ｈ２（ｋ）＜ｊ＞を触媒温度ＴｅｍｐＳＣとマップＭａｐＲＤＳＣＨ２とから決定する。
【０２４９】
続いて、ＣＰＵ７１はステップ２３２０にて水素の反応律速因子ＳＰｒｅｄｕｃＳＣ，Ｈ２＜ｊ＞を同ステップ２３２０内に記載した式（上記（３３）式を参照。）により求め、ステップ２３２５にて、第１触媒５３のブロックｊよりも前の（即ち、上流の）ブロックｊ−１から流出する水素濃度ＣｇｏｕｔＳＣ，Ｈ２（ｋ）＜ｊ−１＞をブロックｊに流入する水素濃度ＣｇｉｎＳＣ，Ｈ２（ｋ）＜ｊ＞として取り込む。
【０２５０】
この段階でｊの値は「１」であるから、ブロックｊは第１触媒５３の最も上流のブロックであって、それより上流のブロックｊ−１は存在しない。従って、ステップ２２２５におけるＣｇｏｕｔ，Ｈ２（ｋ）＜ｊ−１＞は、同第１触媒５３に流入する排ガスの水素濃度Ｃｇｉｎ，Ｈ２である。この場合、第１触媒５３に流入する排ガスの空燃比Ａ／Ｆ（「Ｇａ／Ｇｆ」として計算により求められる。）と水素濃度Ｃｇｉｎ，Ｈ２との関係は図２９のグラフに示したようであるから、この関係を予め実験により求めてマップとして記憶しておき、計算により求められる実際の排ガスの空燃比Ａ／Ｆと同マップとから水素濃度Ｃｇｉｎ，ＨＣを求める。
【０２５１】
次に、ＣＰＵ７１はステップ２３３０に進み、同ステップ２３３０に記述した式（上記（３４）式を参照。）に従ってＣｇｏｕｔＳＣ，Ｈ２（ｋ＋１）＜ｊ＞を求める。即ち、第１触媒５３のブロックｊから流出する水素濃度ＣｇｏｕｔＳＣ，Ｈ２を新たに算出する。次いで、ＣＰＵ７１はステップ２３３５に進み、同ステップ２３３５に記述した式（上記（３２）式を参照。）に従ってＣｗＳＣ，Ｈ２（ｋ＋１）＜ｊ＞を求める。即ち、ＣＰＵ７１は、ステップ２３３５にて第１触媒５３のブロックｊのコート層の水素濃度Ｃｗ，ＨＣを新たに算出し、ステップ２３９５を経由して図２４に示したステップ２４００に進む。このように、図２３により示したルーチンは、第１触媒５３のブロックｊ（特定領域ｊ）における排ガス相の水素濃度推定手段、及びコート層の水素濃度推定手段を構成している。
【０２５２】
図２４に示したルーチンは、酸素吸蔵密度Ｏｓｔについての演算を行うルーチンである。ＣＰＵ７１は、ステップ２４００からステップ２４０５に進むと、上記（４３）式に基づく同ステップ２４０５内に記述した式により係数Ｐ＜ｊ＞を求めるとともに、続くステップ２４１０にて上記（４４）式に基づく同ステップ２４１０に記述した式により係数Ｑ＜ｊ＞を求める。次いで、ＣＰＵ７１はステップ２４１５にて上記（４２）式に基づく同ステップ２４１５に記述した式により酸素吸蔵密度ＯｓｔＳＣ（ｋ＋１）＜ｊ＞を求め、次のステップ２４２０にて上記（４５）式に基づく同ステップ２４２０に記述した式によりこのブロックｊの酸素吸蔵量ＯｓｔＳＣ（ｋ＋１）＜ｊ＞・ｄＡ・Ｌをブロック１〜ブロックｊ−１までの酸素吸蔵量ＯＳＡＳＣ（ｊ−１）に加えることにより、ブロック１〜ブロックｊまでの酸素吸蔵量ＯＳＡＳＣ（ｊ）を求め、ステップ２４９５を経由して図１９のステップ１９１５に戻る。なお、酸素吸蔵量ＯＳＡＳＣ（０）の値は「０」に設定してある。このように、図２４に示したルーチンは、第１触媒５３のブロックｊの酸素吸蔵密度算出手段、及び第１触媒５３のブロック１〜ブロックｊまでの酸素吸蔵量算出手段を構成している。
【０２５３】
図１９のステップ１９１５に戻ったＣＰＵ７１は、変数ｊの値を「１」だけ増大するから、上述と同様にして第１触媒５３内の次に下流にあるブロックの各種値が順次演算されて行く。そして、ブロックｒの各種値が演算されていく段階で、ステップ１９５５にて第１触媒５３から流出する排ガス中の酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞が算出される。この値が前述の図１２のステップ１２１５にて使用される。
【０２５４】
ブロックｒまでの各種値が演算されると、変数ｊの値はステップ１９１５にてｒ＋１と等しくされるので、ＣＰＵ７１はステップ１９２０にて「Ｙｅｓ」と判定し、ステップ１９９５に進んで、第１触媒５３の各特定成分のＣｇｏｕｔＳＣを算出するための図１９〜図２４に示した一連のルーチンを一旦終了する。
【０２５５】
以上、説明したように、第１実施形態の排気浄化装置は、第１触媒下流空燃比センサ６７の出力ｖｏｘｓを目標値ｖｏｘｓｒｅｆから減じた値である偏差Ｄｖｏｘｓに重み係数Ｋｗｃｇを乗じた値Ｄｖｏｘｓｗを求め、この値Ｄｖｏｘｓｗを比例・積分・微分処理（ＰＩＤ処理）することでサブフィードバック制御量ｖａｆｓｆｂを求める。この重み係数Ｋｗｃｇは、触媒モデルを利用して算出される第１触媒５３から流出するエミッションの絶対量を精度良く表す値である酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値が値Ｃｒｅｆ以下であるとき（即ち、同エミッションの絶対量が微量であるとき）、「１」以下の値に設定されるから、値Ｄｖｏｘｓｗ（の絶対値）は前記偏差Ｄｖｏｘｓ（の絶対値）よりも小さい値となってサブフィードバック制御量ｖａｆｓｆｂ（の絶対値）も小さく計算される。従って、第１触媒５３から流出するエミッションの絶対量が微量であるとき、即ち、第１触媒下流空燃比センサ６７が前記不定状態にある可能性があるとき、第１触媒５３に流入する排ガスの空燃比が不必要に大きく補正されなくなり、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第１の問題」が解消された。
【０２５６】
また、重み係数Ｋｗｃｇは、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値が値Ｃｒｅｆより大きい値であるとき、重み係数Ｋｗｃｇが「１」以上であって、且つ、酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値の増加に応じて増加する値に設定されるから、値Ｄｖｏｘｓｗ（の絶対値）は前記偏差Ｄｖｏｘｓ（の絶対値）に酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値の増加に応じて重み付けした値となって、サブフィードバック制御量ｖａｆｓｆｂ（の絶対値）が酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値の増加に応じて線形的に増加する値に近づくように設定され得る。従って、第１触媒５３から或る程度の量以上のエミッションが流出しているとき、第１触媒５３に流入する排ガスの空燃比が酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞の絶対値に相当する同エミッションの絶対量に応じて適切に制御（補正）された。
【０２５７】
本発明は上記第１実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第１実施形態においては、第１触媒５３から流出するガス中の特定成分の量に関する値として酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞（の絶対値）を選択し、同酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞（の絶対値）に基づいて重み係数Ｋｗｃｇを決定しているが、第１触媒５３から流出するガス中のその他の化学種（酸化剤、還元剤）の濃度に基づいて重み係数Ｋｗｃｇを決定してもよい。この場合、例えば、一酸化窒素濃度ＣｇｏｕｔＳＣ，ＮＯ＜ｒ＞、一酸化炭素濃度ＣｇｏｕｔＳＣ，ＣＯ＜ｒ＞、炭素水素濃度ＣｇｏｕｔＳＣ，ＨＣ＜ｒ＞、及び水素濃度ＣｇｏｕｔＳＣ，Ｈ２＜ｒ＞のうちの最大値に基づいて重み係数Ｋｗｃｇを決定するように構成することが好適である。
【０２５８】
また、上記第１実施形態においては、図８に示すように、前記特定成分の量に関する値（酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞（の絶対値））が値Ｃｒｅｆ以下のとき、同酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞（の絶対値）の減少に応じて減少するように重み係数Ｋｗｃｇを決定しているが、同特定成分の量に関する値（酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞（の絶対値））が値Ｃｒｅｆ以下のとき、同重み係数Ｋｗｃｇを、同酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞（の絶対値）に拘わらず所定の微小値（一定値）に決定するように構成してもよい。また、特定成分の量に関する値（酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞（の絶対値））が値Ｃｒｅｆ以下のとき、値Ｄｖｏｘｓｗそのものを、偏差Ｄｖｏｘｓに重み係数Ｋｗｃｇを乗じた値ではなく所定の微小値（一定値）に決定するように構成してもよい。
【０２５９】
＜第２実施形態＞
次に、本発明による排気浄化装置の第２実施形態について説明すると、この排気浄化装置は、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第２の問題」を解決するためのものであって、サブフィードバック制御量ｖａｆｓｆｂを求める手法においてのみ、上記第１実施形態の排気浄化装置と異なっている。従って、以下、かかる相違点についてのみ説明する。
【０２６０】
（サブフィードバック制御量の計算）
本第２実施形態の排気浄化装置も、前述の第１実施形態と同様、第１触媒下流空燃比センサ６７の出力ｖｏｘｓとその目標値ｖｏｘｓｒｅｆとに基づいて、機関１０に供給される混合気の空燃比（従って、第１触媒５３に流入するガスの空燃比）をフィードバック制御するためのサブフィードバック制御量ｖａｆｓｆｂを求める。
【０２６１】
ところで、先に述べたように、濃淡電池式の酸素濃度センサである触媒下流空燃比センサ６７（限界電流式の酸素濃度センサである最上流空燃比センサ６６も同様である。）の出力ｖｏｘｓに基づいて空燃比フィードバック制御を行うと、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における第２の問題」が発生する。即ち、第１触媒下流空燃比センサ６７（の検出部）を通過する排ガスの各ガス成分の濃度の割合が同排ガスが化学平衡状態にあるときの各ガス成分の濃度の割合と異なる場合、同第１触媒下流空燃比センサ６７は図３３に示す静特性とは異なる静特性を有するようになり、同排ガスの空燃比が理論空燃比となっているときでも、図３３における理論空燃比に相当する値ｖｏｘｓｒｅｆとは異なる値を出力するようになる。
【０２６２】
ここで、この第１触媒下流空燃比センサ６７の出力ｖｏｘｓは、同第１触媒下流空燃比センサ６７を通過する（従って、第１触媒５３から流出する）排ガス中の各々の還元剤の濃度（例えば、ＣｇｏｕｔＳＣ，Ｈ２＜ｒ＞，ＣｇｏｕｔＳＣ，ＣＯ＜ｒ＞，ＣｇｏｕｔＳＣ，ＨＣ＜ｒ＞）の増加に応じて大きくなる一方で、同排ガス中の各々の酸化剤（例えば、ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞，ＣｇｏｕｔＳＣ，ＮＯ＜ｒ＞）の濃度の増加に応じて小さくなる傾向がある。また、前記排ガス中の成分の濃度の変化量に対する第１触媒下流空燃比センサ６７の出力ｖｏｘｓの変化量は同成分毎に異なる。
【０２６３】
以上のことから、先ず、下記数５２により前記排ガス中の酸化剤が第１触媒下流空燃比センサ６７の出力ｖｏｘｓを小さくする方向に同出力ｖｏｘｓに影響を与える程度を示す酸化剤側影響度指標値ＯＸＩ、及び、下記数５３により同排ガス中の還元剤が第１触媒下流空燃比センサ６７の出力ｖｏｘｓを大きくする方向に同出力ｖｏｘｓに影響を与える程度を示す還元剤側影響度指標値ＤＥＯＸＩをそれぞれ求めることができる。
【０２６４】
【数５２】
ＯＸＩ＝Ｋｏ２・ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞  ＋  Ｋｎｏ・ＣｇｏｕｔＳＣ，ＮＯ＜ｒ＞
【０２６５】
【数５３】
ＤＥＯＸＩ＝Ｋｈ２・ＣｇｏｕｔＳＣ，Ｈ２＜ｒ＞  ＋  Ｋｃｏ・ＣｇｏｕｔＳＣ，ＣＯ＜ｒ＞  ＋  Ｋｈｃ・ＣｇｏｕｔＳＣ，ＨＣ＜ｒ＞
【０２６６】
上記数５２において、Ｋｏ２は酸素の反応係数、Ｋｎｏは一酸化窒素の反応係数であって、Ｋｏ２  ＞  Ｋｎｏ  ＞  ０  なる関係がある。これは、第１触媒下流空燃比センサ６７の検出部近傍に存在する酸素が同センサ６７の出力ｖｏｘｓに影響を与えるまでに必要な化学反応の段数が同センサ６７の検出部近傍に存在する一酸化窒素が同出力ｖｏｘｓに影響を与えるまでに必要な化学反応の段数よりも少ないことから、酸素の方が一酸化窒素よりも同出力ｖｏｘｓに影響を与え易くなることに主に基づく。
【０２６７】
上記数５３において、Ｋｈ２は水素の反応係数、Ｋｃｏは一酸化炭素の反応係数、Ｋｈｃは炭化水素の反応係数であって、Ｋｈ２  ＞  Ｋｃｏ  ＞  Ｋｈｃ  ＞  ０  なる関係がある。これは、分子量が小さいものほど前記センサ６７の検出部（反応部）の表面に到達しやすいことから、炭化水素、一酸化炭素、水素の順に、前記出力ｖｏｘｓに影響を与え易くなることに主に基づく。
【０２６８】
このように、酸化剤側影響度指標値ＯＸＩは、第１触媒５３から流出する排ガス中に含まれる各酸化剤の濃度（酸化剤の量に関する値）に同各酸化剤に対応する反応係数を乗じた値の和として求められ、還元剤側影響度指標値ＤＥＯＸＩは、同排ガス中に含まれる各還元剤の濃度（還元剤の量に関する値）に同各還元剤に対応する反応係数を乗じた値の和として求められる。
【０２６９】
そして、前記還元剤側影響度指標値ＤＥＯＸＩから前記酸化剤側影響度指標値ＯＸＩを減じた値（両者の比較により得られる値）に基づく下記数５４により、第１触媒下流空燃比センサ６７の出力ｖｏｘｓを補正する程度（例えば、大きさと方向）を示す補正指標値ＯＸＳｂｓｅを求めることができる。下記数５４において、関数ｆｃｏｒは、例えば、所定の比例定数（一定値）である。なお、補正指標値ＯＸＳｂｓｅが「０」になるときが第１触媒下流空燃比センサ６７（の検出部）を通過する排ガスが化学平衡状態にあるときに対応している。
【０２７０】
【数５４】
ＯＸＳｂｓｅ＝ｆｃｏｒ（ＤＥＯＸＩ−ＯＸＩ）
【０２７１】
ここで、第１触媒５３から理論空燃比の排ガスが流出するときの第１触媒下流空燃比センサ６７の出力ｖｏｘｓと、上記数５４に基づいて得られる補正指標値ＯＸＳｂｓｅとの関係は図３０に示すようになる。図３０に示すように、第１触媒５３から理論空燃比の排ガスが流出するときの前記出力ｖｏｘｓは、補正指標値ＯＸＳｂｓｅが正の値のとき０．５（Ｖ）（＝目標値ｖｏｘｓｒｅｆ）より大きくなり、同補正指標値ＯＸＳｂｓｅが負の値のとき０．５（Ｖ）（＝目標値ｖｏｘｓｒｅｆ）よりも小さくなるとともに、補正指標値ＯＸＳｂｓｅが「０」のとき０．５（Ｖ）（＝目標値ｖｏｘｓｒｅｆ）に一致する。即ち、補正指標値ＯＸＳｂｓｅが正の値のとき前記出力ｖｏｘｓを小さめに補正するとともに、補正指標値ＯＸＳｂｓｅが負の値のとき前記出力ｖｏｘｓを大きめに補正することが好適である。
【０２７２】
そこで、本第２実施形態の排気浄化装置は、補正指標値ＯＸＳｂｓｅを利用して前記出力ｖｏｘｓを補正するための補正係数Ｋｃｏｒを求めるため、図３０に示す関係を同補正係数Ｋｃｏｒへと規格化することで、図３１に示す補正係数Ｋｃｏｒと補正指標値ＯＸＳｂｓｅとの関係を表すテーブルを求め、同テーブルと同補正指標値ＯＸＳｂｓｅとに基づいて補正係数Ｋｃｏｒを求める。
【０２７３】
そして、本第２実施形態の排気浄化装置は、第１触媒下流空燃比センサ６７の実際の出力ｖｏｘｓに前記求めた補正係数Ｋｃｏｒを乗じることで同出力を補正した値ｖｏｘｓ’を求めるとともに、同補正された値ｖｏｘｓ’を前記目標値ｖｏｘｓｒｅｆから減じた値である偏差Ｄｖｏｘｓを比例・積分・微分処理（ＰＩＤ処理）することでサブフィードバック制御量ｖａｆｓｆｂを求める。このようにして、第１触媒下流空燃比センサ６７の実際の出力ｖｏｘｓに前記求めた補正係数Ｋｃｏｒを乗じることで同出力を補正した値ｖｏｘｓ’を求める手段が補正手段に相当する。
【０２７４】
（実際の作動）
次に、上記第２実施形態の排気浄化装置の実際の作動について、ＣＰＵ７１が実行するルーチンを示したフローチャートを参照しながら説明する。本排気浄化装置のＣＰＵ７１は、図１２に代わる図３２にフローチャートにより示したルーチンを実行する点を除き、第１実施形態の排気浄化装置のＣＰＵ７１と同一のルーチンを実行する。以下、上記第２実施形態の排気浄化装置に特有のルーチンである図３２のルーチンについてのみ説明する。
【０２７５】
第２実施形態のＣＰＵ７１は、サブフィードバック制御量ｖａｆｓｆｂを求めるための図３２に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ３２００から処理を開始し、ステップ３２０５に進んで、図１２のステップ１２０５と同一のサブフィードバック制御条件が成立しているか否かを判定する。
【０２７６】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ３２０５にて「Ｙｅｓ」と判定してステップ３２１０に進み、図１９のステップ１９５５、図２０のステップ２０３０にてそれぞれ計算されている第１触媒５３から流出する排ガス中の酸素濃度ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞、一酸化窒素濃度ＣｇｏｕｔＳＣ，ＮＯ＜ｒ＞の各々の最新値と、上記数５２とに基づいて酸化剤側影響度指標値ＯＸＩを求める。
【０２７７】
次に、ＣＰＵ７１はステップ３２１５に進み、図２１のステップ２１３０、図２２のステップ２２３０、図２３のステップ２３３０にてそれぞれ計算されている第１触媒５３から流出する排ガス中の一酸化炭素濃度ＣｇｏｕｔＳＣ，ＣＯ＜ｒ＞、炭化水素濃度ＣｇｏｕｔＳＣ，ＨＣ＜ｒ＞、水素濃度ＣｇｏｕｔＳＣ，Ｈ２＜ｒ＞の各々の最新値と、上記数５３とに基づいて還元剤側影響度指標値ＯＸＩを求める。
【０２７８】
次いで、ＣＰＵ７１はステップ３２２０に進み、上記数５４に従って補正指標値ＯＸＳｂｓｅを求め、続くステップ３２２５にて、前記補正指標値ＯＸＳｂｓｅと、図３１に示すテーブルと同一のテーブルとに基づいて補正係数Ｋｃｏｒを決定する。続いて、ＣＰＵ７１はステップ３２３０に進んで、第１触媒下流空燃比センサ６７の出力ｖｏｘｓに前記補正係数Ｋｃｏｒを乗じることで前記出力を補正した値ｖｏｘｓ’を求める。
【０２７９】
次に、ＣＰＵ７１はステップ３２３５に進み、目標値ｖｏｘｓｒｅｆから前記出力を補正した値ｖｏｘｓ’を減じることで偏差Ｄｖｏｘｓを求め、続くステップ３２４０にて、上記数４７と同様のステップ３２４０内に記載の式に基づいて偏差Ｄｖｏｘｓの微分値である偏差微分値ＤＤｖｏｘｓを求める。ここにおいて、Ｄｖｏｘｓ１は前記偏差Ｄｖｏｘｓの前回値であって前回の本ルーチン実行時における後述するステップ３２５５にて更新されている最新の値である。次いで、ＣＰＵ７１はステップ３２４５に進んで、下記数５５に基づいてサブフィードバック制御量ｖａｆｓｆｂを求める。
【０２８０】
【数５５】
ｖａｆｓｆｂ＝Ｋｐ・Ｄｖｏｘｓ＋Ｋｉ・ＳＤｖｏｘｓ＋Ｋｄ・ＤＤｖｏｘｓ
【０２８１】
上記数５５において、Ｋｐは予め設定された比例ゲイン（比例定数）、Ｋｉは予め設定された積分ゲイン（積分定数）、Ｋｄは予め設定された微分ゲイン（微分定数）である。また、ＳＤｖｏｘｓはの偏差Ｄｖｏｘｓの積分値である偏差積分値であり、次のステップ３２５０にて更新される。即ち、ＣＰＵ７１は、ステップ３２５０にてその時点における偏差積分値ＳＤｖｏｘｓに上記ステップ３２３５にて求めた偏差Ｄｖｏｘｓを加えて、新たな偏差積分値ＳＤｖｏｘｓを求める。そして、ＣＰＵ７１はステップ３２５５にて、前記ステップ３２３５にて求めた偏差Ｄｖｏｘｓの今回値を前回値Ｄｖｏｘｓ１に格納した後、ステップ３２９５にて本ルーチンを一旦終了する。以上のようにして、サブフィードバック制御量ｖａｆｓｆｂが求められる。
【０２８２】
一方、サブフィードバック制御条件が不成立であるとき、ＣＰＵ７１はステップ３２０５にて「Ｎｏ」と判定してステップ３２６０に進み、同ステップ３２６０にてサブフィードバック制御量ｖａｆｓｆｂを「０」に設定する。これにより、サブフィードバック制御量ｖａｆｓｆｂに基づくサブフィードバック制御が停止される。
【０２８３】
以上、説明したように、第２実施形態に係る排気浄化装置は、第１触媒５３から流出する排ガス中に含まれる各酸化剤の濃度（ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞，ＣｇｏｕｔＳＣ，ＮＯ＜ｒ＞）に同各酸化剤に対応する反応係数（Ｋｏ２，Ｋｎｏ）を乗じた値の和として酸化剤側影響度指標値ＯＸＩを求めるとともに、同排ガス中に含まれる各還元剤の濃度（ＣｇｏｕｔＳＣ，Ｈ２＜ｒ＞，ＣｇｏｕｔＣＯ，ＮＯ＜ｒ＞，  ＣｇｏｕｔＣＯ，ＨＣ＜ｒ＞）に同各還元剤に対応する反応係数（Ｋｈ２，Ｋｃｏ，Ｋｈｃ）を乗じた値の和として還元剤側影響度指標値ＤＥＯＸＩを求め、還元剤側影響度指標値ＤＥＯＸＩから酸化剤側影響度指標値ＯＸＩを減じた値に基づいて第１触媒下流空燃比センサ６７の出力ｖｏｘｓが補正されるべき程度を示す補正指標値ＯＸＳｂｓｅを求める。そして、第２実施形態に係る排気浄化装置は、補正指標値ＯＸＳｂｓｅ（実際には、補正係数Ｋｃｏｒ）に基づいて前記出力ｖｏｘｓを補正した値ｖｏｘｓ’が目標値ｖｏｘｓｒｅｆになるように機関に供給される混合気の空燃比（従って、第１触媒５３に流入するガスの空燃比）をフィードバック制御する。
【０２８４】
従って、簡易な計算により、且つ正確に、第１触媒５３から流出する排ガスの実際の空燃比が目標値ｖｏｘｓｒｅｆに相当する空燃比（理論空燃比）であるときの前記補正した値ｖｏｘｓ’が同排ガス中の各ガス成分の濃度の割合に拘わらず同目標値ｖｏｘｓｒｅｆと等しくなるように（に近づくように）計算され得るから、第１触媒５３下流の排ガスの空燃比が同目標値ｖｏｘｓｒｅｆに相当する空燃比（理論空燃比）近傍に維持され得る。従って、前述した「濃淡電池式の酸素濃度センサの出力に基づいて空燃比制御を行う場合における前述した第２の問題」が解決された。
【０２８５】
本発明は上記第２実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第２実施形態においては、還元剤側影響度指標値ＤＥＯＸＩから酸化剤側影響度指標値ＯＸＩを減じた値（両者の差）に基づいて第１触媒下流空燃比センサ６７の出力ｖｏｘｓが補正されるべき程度を示す補正指標値ＯＸＳｂｓｅを算出しているが、還元剤側影響度指標値ＤＥＯＸＩを酸化剤側影響度指標値ＯＸＩで除した値（両者の比）に基づいて補正指標値ＯＸＳｂｓｅを算出するように構成してもよい。
【０２８６】
また、上記第２実施形態においては、第１触媒５３から流出する排ガス中に含まれる各成分の（絶対）濃度（ＣｇｏｕｔＳＣ，Ｏ２＜ｒ＞等）に同各成分に対応する反応係数（Ｋｏ２等）を乗じた値の和として酸化剤側影響度指標値ＯＸＩ及び還元剤側影響度指標値ＤＥＯＸＩを求めているが、或る所定条件下（排気ガス温度、排気ガス流量等がそれそれ所定の値にあるとき）において第１触媒下流空燃比センサ６７（の検出部）を通過する排ガスが化学平衡状態にあるときの同排ガス中に含まれる各成分の濃度と同各成分の前記（絶対）濃度との各偏差に同各成分に対応する反応係数（Ｋｏ２等）を乗じた値の和として酸化剤側影響度指標値ＯＸＩ及び還元剤側影響度指標値ＤＥＯＸＩを求めるように構成してもよい。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る排気浄化装置を搭載した内燃機関の概略図である。
【図２】図１に示した最上流空燃比センサの出力と空燃比との関係を示したグラフである。
【図３】図１に示した第１触媒の外観図である。
【図４】図３に示した第１触媒の部分断面図である。
【図５】触媒モデルを説明するための触媒の模式図である。
【図６】触媒モデルを説明するための模式図である。
【図７】触媒モデルで使用する風上法を説明するための模式図である。
【図８】図１に示したＣＰＵが参照する第１触媒から流出する排ガス中の酸素濃度（の絶対値）と重み係数との関係を規定したテーブルである。
【図９】図１に示した第１触媒下流空燃比センサが不定状態になったとき以降における各物理量の変化を、図１に示した排気浄化装置を適用した場合と従来の排気浄化装置を適用した場合とで比較しながら示したタイムチャートである。
【図１０】図１に示したＣＰＵが実行する燃料噴射量計算のためのルーチンを示したフローチャートである。
【図１１】図１に示したＣＰＵが実行するメインフィードバック制御量を計算するためのルーチンを示したフローチャートである。
【図１２】図１に示したＣＰＵが実行するサブフィードバック制御量を計算するためのルーチンを示したフローチャートである。
【図１３】図１に示したＣＰＵが実行する最大酸素吸蔵量取得制御を開始するか否かを決定するためのルーチンを示したフローチャートである。
【図１４】図１に示したＣＰＵが実行する第１モードのルーチンを示したフローチャートである。
【図１５】図１に示したＣＰＵが実行する第２モードのルーチンを示したフローチャートである。
【図１６】図１に示したＣＰＵが実行する酸素吸蔵量を算出するためのルーチンを示したフローチャートである。
【図１７】図１に示したＣＰＵが実行する最大酸素吸蔵量を算出するためのルーチンを示したフローチャートである。
【図１８】第１触媒全体の最大酸素吸蔵量から同第１触媒のブロック毎の最大酸素吸蔵量を求めるためのマップである。
【図１９】触媒モデルにしたがって第１触媒内部における酸素濃度を求めるためのルーチンを示したフローチャートである。
【図２０】触媒モデルにしたがって第１触媒内部における一酸化窒素濃度を求めるためのルーチンを示したフローチャートである。
【図２１】触媒モデルにしたがって第１触媒内部における一酸化炭素濃度を求めるためのルーチンを示したフローチャートである。
【図２２】触媒モデルにしたがって第１触媒内部における炭化水素濃度を求めるためのルーチンを示したフローチャートである。
【図２３】触媒モデルにしたがって第１触媒内部における水素濃度を求めるためのルーチンを示したフローチャートである。
【図２４】触媒モデルにしたがって第１触媒の酸素吸蔵密度と酸素吸蔵量を求めるためのルーチンを示したフローチャートである。
【図２５】触媒劣化度と触媒温度とから触媒モデルにて使用する各係数（各乗数）を求めるためのマップである。
【図２６】触媒に流入する一酸化窒素濃度を決定するために使用される排ガスの空燃比と同一酸化窒素濃度との関係を規定したマップである。
【図２７】触媒に流入する一酸化炭素濃度を決定するために使用される排ガスの空燃比と同一酸化炭素濃度との関係を規定したマップである。
【図２８】触媒に流入する炭化水素濃度を決定するために使用される排ガスの空燃比と同炭化水素濃度との関係を規定したマップである。
【図２９】触媒に流入する水素濃度を決定するために使用される排ガスの空燃比と同水素濃度との関係を規定したマップである。
【図３０】第１触媒から理論空燃比の排ガスが流出するときの第１触媒下流空燃比センサの出力と、補正指標値との関係を示したグラフである。
【図３１】第２実施形態に係る排気浄化装置のＣＰＵが参照する補正指標値と補正係数との関係を規定するテーブルである。
【図３２】第２実施形態に係る排気浄化装置のＣＰＵが実行するサブフィードバック制御量を計算するためのルーチンを示したフローチャートである。
【図３３】従来の排気浄化装置に適用されるとともに図１に示した排気浄化装置にも適用される第１触媒下流空燃比センサ出力と空燃比との関係を示したグラフである。
【図３４】従来の排気浄化装置に適用される図１に示した第１触媒下流空燃比センサが不定状態になったとき以降における各物理量の変化を示したタイムチャートである。
【符号の説明】
１０…内燃機関、５３…第１触媒、６６…最上流空燃比センサ、６７…第１触媒下流空燃比センサ、７０…電気制御装置、７１…ＣＰＵ
【図１】
2004270581.tif 000051
【図２】
2004270581.tif 000052
【図３】
2004270581.tif 000053
【図４】
2004270581.tif 000054
【図５】
2004270581.tif 000055
【図６】
2004270581.tif 000056
【図７】
2004270581.tif 000057
【図８】
2004270581.tif 000058
【図９】
2004270581.tif 000059
【図１０】
2004270581.tif 000060
【図１１】
2004270581.tif 000061
【図１２】
2004270581.tif 000062
【図１３】
2004270581.tif 000063
【図１４】
2004270581.tif 000064
【図１５】
2004270581.tif 000065
【図１６】
2004270581.tif 000066
【図１７】
2004270581.tif 000067
【図１８】
2004270581.tif 000068
【図１９】
2004270581.tif 000069
【図２０】
2004270581.tif 000070
【図２１】
2004270581.tif 000071
【図２２】
2004270581.tif 000072
【図２３】
2004270581.tif 000073
【図２４】
2004270581.tif 000074
【図２５】
2004270581.tif 000075
【図２６】
2004270581.tif 000076
【図２７】
2004270581.tif 000077
【図２８】
2004270581.tif 000078
【図２９】
2004270581.tif 000079
【図３０】
2004270581.tif 000080
【図３１】
2004270581.tif 000081
【図３２】
2004270581.tif 000082
【図３３】
2004270581.tif 000083
【図３４】
2004270581.tif 000084