(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けられ、当該排気通路を流れる排ガス中のＮＯｘを尿素およびアンモニアの一方である還元剤の存在下で浄化する選択還元触媒と、
前記還元剤を前記選択還元触媒に供給する還元剤供給装置と、
前記排気通路の前記選択還元触媒よりも下流側に設けられ、排ガス中のＮＯｘおよびアンモニアの濃度を表す検出信号を出力するとともに、ＮＯｘ濃度の増減に対する当該検出信号値の変化方向と、アンモニア濃度の増減に対する当該検出信号値の変化方向とが同じになる特性を有する排ガス濃度検出手段と、
前記選択還元触媒におけるＮＯｘ浄化特性およびアンモニア貯蔵特性をそれぞれモデリングしたＮＯｘ浄化特性モデルおよびアンモニア貯蔵特性モデルを用いて、前記排気通路の前記選択還元触媒よりも下流側の排ガス中のアンモニア濃度の推定値と、前記検出信号値の推定値である推定信号値とを算出する推定値算出手段と、
前記算出されたアンモニア濃度の推定値を所定の目標値に保持するように、前記還元剤供給装置による前記選択還元触媒への前記還元剤の供給量を決定する供給量決定手段と、
を備え、
前記推定値算出手段は、
前記算出された推定信号値の前回値と前記検出信号値の前回値とを用いて、前記ＮＯｘ浄化特性モデルの誤差を表すＮＯｘ浄化誤差パラメータを算出するＮＯｘ浄化誤差パラメータ算出手段と、
前記選択還元触媒に貯蔵されたアンモニア量が限界値に達していないときには、前記算出されたＮＯｘ浄化誤差パラメータを用いて、当該ＮＯｘ浄化誤差パラメータが表す誤差が減少するように、前記ＮＯｘ浄化特性モデルを修正するとともに、前記選択還元触媒に貯蔵された前記アンモニア量が前記限界値に達しているときには、当該ＮＯｘ浄化特性モデルを維持するＮＯｘ浄化特性モデル修正手段と、
前記算出された推定信号値の前回値と前記検出信号値の前回値とを用いて、前記アンモニア貯蔵特性モデルの誤差を表すアンモニア貯蔵誤差パラメータを算出するアンモニア貯蔵誤差パラメータ算出手段と、
前記選択還元触媒に貯蔵された前記アンモニア量が前記限界値に達しているときには、前記算出されたアンモニア貯蔵誤差パラメータを用いて、当該アンモニア貯蔵誤差パラメータが表す誤差が減少するように、前記アンモニア貯蔵特性モデルを修正するアンモニア貯蔵特性モデル修正手段と、
を有し、
前記選択還元触媒に貯蔵された前記アンモニア量が前記限界値に達していないときには、前記修正されたＮＯｘ浄化特性モデルを用いて、前記アンモニア濃度の推定値の今回値および前記推定信号値の今回値を算出し、前記選択還元触媒に貯蔵された前記アンモニア量が前記限界値に達しているときには、前記維持されたＮＯｘ浄化特性モデルおよび前記修正されたアンモニア貯蔵特性モデルを用いて、前記アンモニア濃度の推定値の今回値および前記推定信号値の今回値を算出することを特徴とする内燃機関の排ガス浄化装置。
【請求項２】
前記推定値算出手段は、
前記選択還元触媒に貯蔵された前記アンモニア量が前記限界値に達しているときには前記修正されたアンモニア貯蔵特性モデルを用いて、当該選択還元触媒で貯蔵可能なアンモニア量の最大値である最大アンモニア貯蔵量を算出する最大アンモニア貯蔵量算出手段と、
前記選択還元触媒で貯蔵されている前記アンモニア量としてアンモニア貯蔵量を算出するアンモニア貯蔵量算出手段と、
をさらに有し、
前記算出されたアンモニア貯蔵量と前記算出された最大アンモニア貯蔵量との比が所定値よりも大きいときに、前記選択還元触媒に貯蔵された前記アンモニア量が前記限界値に達していると判定することを特徴とする請求項１に記載の内燃機関の排ガス浄化装置。
【請求項３】
前記推定値算出手段は、
前記選択還元触媒に貯蔵された前記アンモニア量が前記限界値に達しているときには前記修正されたアンモニア貯蔵特性モデルを用いて、当該選択還元触媒で貯蔵可能なアンモニア量の最大値である最大アンモニア貯蔵量を算出する最大アンモニア貯蔵量算出手段と、
前記選択還元触媒で貯蔵されているアンモニア量としてアンモニア貯蔵量を算出するアンモニア貯蔵量算出手段と、をさらに有し、
前記供給量決定手段は、前記アンモニア濃度の推定値を前記所定の目標値に保持しかつ前記算出されたアンモニア貯蔵量が前記算出された最大アンモニア貯蔵量になるように、前記還元剤の前記供給量を決定することを特徴とする請求項１に記載の内燃機関の排ガス浄化装置。
【請求項４】
前記推定値算出手段は、前記排ガス濃度検出手段のゲイン特性を修正するためのゲイン修正値を算出するゲイン修正値算出手段をさらに有し、
前記ＮＯｘ浄化誤差パラメータ算出手段は、当該算出されたゲイン修正値で修正された前記検出信号値と前記推定信号値とを用いて、前記ＮＯｘ浄化誤差パラメータを算出し、  前記アンモニア貯蔵誤差パラメータ算出手段は、前記算出されたゲイン修正値で修正された前記検出信号値の前記前回値と前記推定信号値の前記前回値とを用いて、前記アンモニア貯蔵誤差パラメータを算出することを特徴とする請求項１ないし３のいずれかに記載の内燃機関の排ガス浄化装置。
【請求項５】
前記ＮＯｘ浄化特性モデル修正手段は、
前記検出信号値以外の、前記選択還元触媒の特性に対して相関性を有する相関性パラメータを用いて、前記ＮＯｘ浄化誤差パラメータを重み付けするための複数のＮＯｘ浄化重み関数を算出するＮＯｘ浄化重み関数算出手段と、
当該算出された複数のＮＯｘ浄化重み関数で重み付けされた前記ＮＯｘ浄化誤差パラメータを用いて、当該ＮＯｘ浄化誤差パラメータが表す誤差が減少するように、ＮＯｘ浄化修正値を算出するＮＯｘ浄化修正値算出手段と、を有し、
当該算出されたＮＯｘ浄化修正値で前記ＮＯｘ浄化触媒モデルを修正し、
前記アンモニア貯蔵特性モデル修正手段は、
前記検出信号値以外の、前記選択還元触媒の特性に対して相関性を有する相関性パラメータを用いて、前記アンモニア貯蔵誤差パラメータを重み付けするための複数のアンモニア貯蔵重み関数を算出するアンモニア貯蔵重み関数算出手段と、
当該算出された複数のアンモニア貯蔵重み関数で重み付けされた前記アンモニア貯蔵誤差パラメータを用いて、当該アンモニア貯蔵誤差パラメータが表す誤差が減少するように、アンモニア貯蔵修正値を算出するアンモニア貯蔵修正値算出手段と、を有し、
当該算出されたアンモニア貯蔵修正値で前記アンモニア貯蔵触媒モデルを修正することを特徴とする請求項１ないし４のいずれかに記載の内燃機関の排ガス浄化装置。
【請求項６】
前記排ガス濃度検出手段よりも下流側に設けられ、排ガス中のＮＯｘを浄化する下流側触媒と、
当該下流側触媒におけるアンモニア貯蔵量として下流側アンモニア貯蔵量を算出する下流側アンモニア貯蔵量算出手段と、
当該算出された下流側アンモニア貯蔵量が所定しきい値以下になるように、前記所定の目標値を設定する目標値設定手段と、
をさらに備えることを特徴とする請求項１ないし５のいずれかに記載の内燃機関の排ガス浄化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路を流れる排ガス中のＮＯｘを、還元剤の存在下で選択還元触媒によって浄化する内燃機関の排ガス浄化装置に関する。
【背景技術】
【０００２】
本出願人は、この種の内燃機関の排ガス浄化装置として、特許文献１に記載されたものをすでに提案している。この内燃機関は、リーンバーン運転方式のものであり、その排気通路には、上流側から順に、ユリア噴射弁および選択還元触媒が設けられている。このユリア噴射弁は、尿素水を還元剤として噴射し、それにより、排ガス中のＮＯｘは、尿素の存在下で選択還元触媒によって選択的に還元される。さらに、排ガス浄化装置は、ユリア噴射弁による尿素水の噴射量（以下「ユリア噴射量」という）Ｇｕｒｅａを制御するＥＣＵと、選択還元触媒の下流側における排ガス中のＮＯｘ濃度およびアンモニア濃度を検出する排ガス濃度センサなどを備えている。
【０００３】
この排ガス浄化装置では、ＦＢ噴射量Ｇｕｒｅａ＿ｆｂが、排ガス濃度センサの検出信号値がその極小値になるように算出され、ＦＦ噴射量Ｇｕｒｅａ＿ｆｆが、選択還元触媒におけるＮＯｘ浄化量の推定値に応じて算出される。そして、ＦＢ噴射量Ｇｕｒｅａ＿ｆｂをＦＦ噴射量Ｇｕｒｅａ＿ｆｆに加算することにより、ユリア噴射量Ｇｕｒｅａが算出され、これに応じて、ユリア噴射弁が制御される。以上のように、ユリア噴射量Ｇｕｒｅａが算出されるので、これに含まれるＦＢ噴射量Ｇｕｒｅａ＿ｆｂの作用によって、排ガス濃度センサの検出信号値がその極小値になるように制御される。このように制御するのは以下の理由による。
【０００４】
すなわち、この排ガス浄化装置の場合、排ガス濃度センサが、排ガス中のＮＯｘ濃度およびアンモニア濃度の双方に対して検出感度を有しかつ双方の変化に対する検出信号値の変化方向が同じである特性を有していることに加えて、排ガス濃度センサが選択還元触媒の下流側に設けられていることに起因して、ユリア噴射弁によるユリア噴射量Ｇｕｒｅａと排ガス濃度センサの検出信号値（図２（ｃ）ではＥＸＳ＿ａｃｔと表示）との関係は、図２（ｃ）に示すものとなる。すなわち、検出信号値が極小値を示しているときのユリア噴射量の値Ｇｕｒｅａ＿ｏｐｔが、選択還元触媒よりも下流側の排ガス中のアンモニア濃度およびＮＯｘ濃度の双方をバランスよく低減できる値となる。以上の理由により、この排ガス浄化装置では、排ガス濃度センサの検出信号値をその極小値に保持するように、ユリア噴射量Ｇｕｒｅａが算出される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３０３８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、尿素を還元剤とする選択還元触媒の場合、尿素が変化したアンモニアを内部に貯蔵するとともに、そのアンモニア貯蔵量が大きいほど、ＮＯｘ浄化率が高くなるという特性を有しており、特に、アンモニア貯蔵量がその限界値（以下「最大貯蔵量」という）に達しているときすなわちアンモニア貯蔵率が１００％に達しているときに、ＮＯｘ浄化率が最高値（１００％付近の値）となることが知られている（図３参照）。これに対して、特許文献１の排ガス浄化装置のように、排ガス濃度センサの検出信号値をその極小値に保持するようにユリア噴射量を制御した場合、選択還元触媒に貯蔵されるアンモニア量はその最大貯蔵量の１５〜３０％程度になるということが、本出願人の実験によって確認された（図３参照）。したがって、特許文献１の手法では、選択還元触媒におけるＮＯｘ浄化率が、その最高値よりも低下してしまうという問題がある。
【０００７】
本発明は、上記課題を解決するためになされたもので、選択還元触媒におけるＮＯｘ浄化率を向上させることができる内燃機関の排ガス浄化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１に係る内燃機関３の排ガス浄化装置１は、内燃機関３の排気通路４に設けられ、排気通路４を流れる排ガス中のＮＯｘを尿素およびアンモニアの一方である還元剤の存在下で浄化する選択還元触媒５と、還元剤を選択還元触媒５に供給する還元剤供給装置（ユリア噴射装置１０）と、排気通路４の選択還元触媒５よりも下流側に設けられ、排ガス中のＮＯｘおよびアンモニアの濃度を表す検出信号を出力するとともに、ＮＯｘ濃度の増減に対する検出信号値ＥＸＳ＿ａｃｔの変化方向と、アンモニア濃度の増減に対する検出信号値ＥＸＳ＿ａｃｔの変化方向とが同じになる特性を有する排ガス濃度検出手段（ＥＣＵ２、排ガス濃度センサ２２）と、選択還元触媒５におけるＮＯｘ浄化特性およびアンモニア貯蔵特性をそれぞれモデリングしたＮＯｘ浄化特性モデル（図８，２４）およびアンモニア貯蔵特性モデル（図１０）を用いて、排気通路４の選択還元触媒５よりも下流側の排ガス中のアンモニア濃度の推定値（推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔ）と、検出信号値ＥＸＳ＿ａｃｔの推定値である推定信号値ＥＸＳ＿ｈａｔとを算出する推定値算出手段（ＥＣＵ２、推定値算出部２１０）と、算出されたアンモニア濃度の推定値（推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔ）を所定の目標値（目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔ）に保持するように、還元剤供給装置による選択還元触媒５への還元剤の供給量（ユリア噴射量Ｇｕｒｅａ）を決定する供給量決定手段（ＥＣＵ２、ユリア噴射コントローラ２００）と、を備え、推定値算出手段は、算出された推定信号値の前回値ＥＸＳ＿ｈａｔ（ｋ−１）と検出信号値の前回値ＥＸＳ＿ａｃｔ（ｋ−１）とを用いて、ＮＯｘ浄化特性モデルの誤差を表すＮＯｘ浄化誤差パラメータ（浄化率用誤差ＥＶＮＳ＿ｉｔａ）を算出するＮＯｘ浄化誤差パラメータ算出手段（ＥＣＵ２、推定値算出部２１０）と、選択還元触媒５に貯蔵されたアンモニア量が限界値に達していないときには、算出されたＮＯｘ浄化誤差パラメータを用いて、ＮＯｘ浄化誤差パラメータが表す誤差が減少するように、ＮＯｘ浄化特性モデルを修正するとともに、選択還元触媒５に貯蔵されたアンモニア量が限界値に達しているときには、ＮＯｘ浄化特性モデルを維持するＮＯｘ浄化特性モデル修正手段（ＥＣＵ２、推定値算出部２１０）と、算出された推定信号値の前回値ＥＸＳ＿ｈａｔ（ｋ−１）と検出信号値の前回値ＥＸＳ＿ａｃｔ（ｋ−１）とを用いて、アンモニア貯蔵特性モデルの誤差を表すアンモニア貯蔵誤差パラメータ（貯蔵量用誤差ＥＶＮＳ＿ｓｔ）を算出するアンモニア貯蔵誤差パラメータ算出手段（ＥＣＵ２、推定値算出部２１０）と、選択還元触媒５に貯蔵されたアンモニア量が限界値に達しているときには、算出されたアンモニア貯蔵誤差パラメータを用いて、アンモニア貯蔵誤差パラメータが表す誤差が減少するように、アンモニア貯蔵特性モデルを修正するアンモニア貯蔵特性モデル修正手段（ＥＣＵ２、推定値算出部２１０）と、を有し、選択還元触媒に貯蔵されたアンモニア量が限界値に達していないときには、修正されたＮＯｘ浄化特性モデルを用いて、アンモニア濃度の推定値の今回値（推定ＮＨ３スリップ濃度の今回値Ｃｎｈ３＿ｓｃｒ＿ｈａｔ（ｋ））および推定信号値の今回値ＥＸＳ＿ｈａｔ（ｋ）を算出し、選択還元触媒に貯蔵されたアンモニア量が限界値に達しているときには、維持されたＮＯｘ浄化特性モデルおよび修正されたアンモニア貯蔵特性モデルを用いて、アンモニア濃度の推定値の今回値（推定ＮＨ３スリップ濃度の今回値Ｃｎｈ３＿ｓｃｒ＿ｈａｔ（ｋ））および推定信号値の今回値ＥＸＳ＿ｈａｔ（ｋ）を算出することを特徴とする。
【０００９】
この内燃機関の排ガス浄化装置によれば、選択還元触媒におけるＮＯｘ浄化特性およびアンモニア貯蔵特性をそれぞれモデリングしたＮＯｘ浄化特性モデルおよびアンモニア貯蔵特性モデルを用いて、排気通路の選択還元触媒よりも下流側の排ガス中のアンモニア濃度の推定値と、検出信号値の推定値である推定信号値とが算出され、算出されたアンモニア濃度の推定値を所定の目標値に保持するように、選択還元触媒への還元剤の供給量が決定される。それにより、この所定の目標値を、選択還元触媒内のアンモニア貯蔵量がその最大値になるような値に設定することによって、特許文献１の手法と異なり、選択還元触媒におけるＮＯｘ浄化率を最高値に近づけることができる。すなわち、特許文献１の手法よりも、ＮＯｘ浄化率を向上させることができる。これに加えて、算出された推定信号値の前回値と検出信号値の前回値とを用いて、ＮＯｘ浄化特性モデルの誤差を表すＮＯｘ浄化誤差パラメータが算出され、選択還元触媒に貯蔵されたアンモニア量が限界値に達していないときには、算出されたＮＯｘ浄化誤差パラメータを用いて、ＮＯｘ浄化誤差パラメータが表す誤差が減少するように、ＮＯｘ浄化特性モデルが修正されるとともに、選択還元触媒に貯蔵されたアンモニア量が限界値に達しているときには、ＮＯｘ浄化特性モデルが維持される。さらに、算出された推定信号値の前回値と検出信号値の前回値とを用いて、アンモニア貯蔵特性モデルの誤差を表すアンモニア貯蔵誤差パラメータが算出され、選択還元触媒に貯蔵されたアンモニア量が限界値に達しているときには、算出されたアンモニア貯蔵誤差パラメータを用いて、アンモニア貯蔵誤差パラメータが表す誤差が減少するように、アンモニア貯蔵特性モデルが修正される。そして、選択還元触媒に貯蔵されたアンモニア量が限界値に達していないときには、修正されたＮＯｘ浄化特性モデルを用いて、アンモニア濃度の推定値の今回値および推定信号値の今回値が算出され、選択還元触媒に貯蔵されたアンモニア量が限界値に達しているときには、維持されたＮＯｘ浄化特性モデルおよび修正されたアンモニア貯蔵特性モデルを用いて、アンモニア濃度の推定値の今回値および推定信号値の今回値が算出される。それにより、経年変化などに起因して、選択還元触媒の実際のＮＯｘ浄化特性やアンモニア貯蔵特性が変化したときでも、ＮＯｘ浄化特性モデルのＮＯｘ浄化特性やアンモニア貯蔵特性モデルのアンモニア貯蔵特性を選択還元触媒の実際の特性に合致させるように、ＮＯｘ浄化特性モデルおよびアンモニア貯蔵特性モデルを修正することができ、推定値の算出精度を向上させることができる。その結果、還元剤の供給量の決定精度をさらに向上させることができ、ＮＯｘ浄化率をさらに向上させることができる。
【００１０】
請求項２に係る発明は、請求項１に記載の内燃機関３の排ガス浄化装置１において、推定値算出手段は、選択還元触媒５に貯蔵されたアンモニア量が限界値に達しているときには修正されたアンモニア貯蔵特性モデルを用いて、選択還元触媒５で貯蔵可能なアンモニア量の最大値である最大アンモニア貯蔵量（最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ）を算出する最大アンモニア貯蔵量算出手段（ＥＣＵ２、推定値算出部２１０）と、選択還元触媒５で貯蔵されているアンモニア量としてアンモニア貯蔵量（推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ）を算出するアンモニア貯蔵量算出手段（ＥＣＵ２、推定値算出部２１０）と、をさらに有し、算出されたアンモニア貯蔵量と算出された最大アンモニア貯蔵量との比が所定値よりも大きいときに、選択還元触媒５に貯蔵されたアンモニア量が限界値に達していると判定することを特徴とする。
【００２０】
請求項３に係る発明は、請求項１に記載の内燃機関３の排ガス浄化装置１において、推定値算出手段は、選択還元触媒５に貯蔵されたアンモニア量が限界値に達しているときには修正されたアンモニア貯蔵特性モデルを用いて、選択還元触媒５で貯蔵可能なアンモニア量の最大値である最大アンモニア貯蔵量（最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ）を算出する最大アンモニア貯蔵量算出手段（ＥＣＵ２、推定値算出部２１０）と、選択還元触媒５で貯蔵されているアンモニア量としてアンモニア貯蔵量（推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ）を算出するアンモニア貯蔵量算出手段（ＥＣＵ２、推定値算出部２１０）と、をさらに有し、供給量決定手段は、アンモニア濃度の推定値（推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔ）を所定の目標値（目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔ）に保持しかつ算出されたアンモニア貯蔵量（推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ）が算出された最大アンモニア貯蔵量（最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ）になるように、還元剤の供給量（ユリア噴射量Ｇｕｒｅａ）を決定することを特徴とする。
【００２１】
この内燃機関の排ガス浄化装置によれば、選択還元触媒５に貯蔵されたアンモニア量が限界値に達しているときには修正されたアンモニア貯蔵特性モデルを用いて、選択還元触媒で貯蔵可能なアンモニア量の最大値である最大アンモニア貯蔵量が算出され、選択還元触媒で貯蔵されているアンモニア量としてアンモニア貯蔵量が算出される。そして、アンモニア濃度の推定値を所定の目標値に保持しかつ算出されたアンモニア貯蔵量が算出された最大アンモニア貯蔵量になるように、還元剤の供給量が決定されるので、選択還元触媒におけるＮＯｘ浄化率を、その最高値に近づけることができ、ＮＯｘ浄化率を従来よりも向上させることができる。
【００２６】
請求項４に係る発明は、請求項１ないし３のいずれかに記載の内燃機関３の排ガス浄化装置１において、推定値算出手段は、排ガス濃度検出手段のゲイン特性を修正するためのゲイン修正値（ゲイン修正係数ＫＶＮＳ＿ｇａｉｎ）を算出するゲイン修正値算出手段（ＥＣＵ２、推定値算出部２１０）をさらに有し、ＮＯｘ浄化誤差パラメータ算出手段は、算出されたゲイン修正値で修正された検出信号値（修正後信号値ＥＸＳ＿ｍｏｄ）と推定信号値ＥＸＳ＿ｈａｔとを用いて、ＮＯｘ浄化誤差パラメータ（浄化率用誤差ＥＶＮＳ＿ｉｔａ）を算出し、アンモニア貯蔵誤差パラメータ算出手段は、算出されたゲイン修正値で修正された検出信号値の前回値（修正後信号値の前回値ＥＸＳ＿ｍｏｄ（ｋ−１））と推定信号値の前回値ＥＸＳ＿ｈａｔ（ｋ−１）とを用いて、アンモニア貯蔵誤差パラメータ（貯蔵量用誤差ＥＶＮＳ＿ｓｔ）を算出することを特徴とする。
【００２７】
この内燃機関の排ガス浄化装置によれば、算出されたゲイン修正値で修正された検出信号値の前回値と推定信号値の前回値とを用いて、ＮＯｘ浄化誤差パラメータおよびアンモニア貯蔵誤差パラメータが算出されるので、経年変化や個体間のばらつきなどに起因して、排ガス濃度検出手段のゲイン特性が変化したときでも、ＮＯｘ浄化誤差パラメータおよびアンモニア貯蔵誤差パラメータの算出精度の低下を回避することができ、それにより、良好なＮＯｘ浄化率を確保することができる。
【００２８】
請求項５に係る発明は、請求項１ないし４のいずれかに記載の内燃機関３の排ガス浄化装置１において、ＮＯｘ浄化特性モデル修正手段は、検出信号値ＥＸＳ＿ａｃｔ以外の、選択還元触媒５の特性に対して相関性を有する相関性パラメータ（触媒温Ｔｓｃｒ、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａ）を用いて、ＮＯｘ浄化誤差パラメータ（浄化率用誤差ＥＶＮＳ＿ｉｔａ）を重み付けするための複数のＮＯｘ浄化重み関数（触媒温重み関数Ｗｔｉ、ＮＨ３貯蔵率重み関数Ｗｒｊ）を算出するＮＯｘ浄化重み関数算出手段（ＥＣＵ２、推定値算出部２１０）と、算出された複数のＮＯｘ浄化重み関数で重み付けされたＮＯｘ浄化誤差パラメータを用いて、ＮＯｘ浄化誤差パラメータが表す誤差が減少するように、ＮＯｘ浄化修正値（ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａ）を算出するＮＯｘ浄化修正値算出手段（ＥＣＵ２、推定値算出部２１０）と、を有し、算出されたＮＯｘ浄化修正値でＮＯｘ浄化触媒モデルを修正し、アンモニア貯蔵特性モデル修正手段は、検出信号値ＥＸＳ＿ａｃｔ以外の、選択還元触媒５の特性に対して相関性を有する相関性パラメータ（触媒温Ｔｓｃｒ、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａ）を用いて、アンモニア貯蔵誤差パラメータを重み付けするための複数のアンモニア貯蔵重み関数（触媒温重み関数Ｗｔｉ）を算出するアンモニア貯蔵重み関数算出手段（ＥＣＵ２、推定値算出部２１０）と、算出された複数のアンモニア貯蔵重み関数で重み付けされたアンモニア貯蔵誤差パラメータを用いて、アンモニア貯蔵誤差パラメータが表す誤差が減少するように、アンモニア貯蔵修正値（最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔ）を算出するアンモニア貯蔵修正値算出手段（ＥＣＵ２、推定値算出部２１０）と、を有し、算出されたアンモニア貯蔵修正値でアンモニア貯蔵触媒モデルを修正することを特徴とする。
【００２９】
この内燃機関の排ガス浄化装置によれば、検出信号値以外の、選択還元触媒の特性に対して相関性を有する相関性パラメータを用いて、ＮＯｘ浄化誤差パラメータを重み付けするための複数のＮＯｘ浄化重み関数が算出され、算出された複数のＮＯｘ浄化重み関数で重み付けされたＮＯｘ浄化誤差パラメータを用いて、ＮＯｘ浄化誤差パラメータが表す誤差が減少するように、ＮＯｘ浄化修正値が算出されるとともに、算出されたＮＯｘ浄化修正値でＮＯｘ浄化触媒モデルが修正される。さらに、検出信号値以外の、選択還元触媒の特性に対して相関性を有する相関性パラメータを用いて、アンモニア貯蔵誤差パラメータを重み付けするための複数のアンモニア貯蔵重み関数が算出され、算出された複数のアンモニア貯蔵重み関数で重み付けされたアンモニア貯蔵誤差パラメータを用いて、アンモニア貯蔵誤差パラメータが表す誤差が減少するように、アンモニア貯蔵修正値が算出されるとともに、算出されたアンモニア貯蔵修正値でアンモニア貯蔵触媒モデルが修正される。それにより、経年変化や個体間のばらつきなどに起因して、選択還元触媒の実際の特性が変化したときでも、ＮＯｘ浄化触媒モデルおよびアンモニア貯蔵触媒モデルの特性を選択還元触媒の実際の特性に合致させるように、ＮＯｘ浄化触媒モデルおよびアンモニア貯蔵触媒モデルを適切に修正することができる。それにより、還元剤の供給量の決定精度をより一層、向上させることができ、ＮＯｘ浄化率をより一層、向上させることができる。
【００３０】
請求項６に係る発明は、請求項１ないし５のいずれかに記載の内燃機関３の排ガス浄化装置１において、排ガス濃度検出手段（排ガス濃度センサ２２）よりも下流側に設けられ、排ガス中のＮＯｘを浄化する下流側触媒６と、下流側触媒におけるアンモニア貯蔵量として下流側アンモニア貯蔵量（下流側推定ＮＨ３貯蔵量２ｎｄ＿ＳＴ＿ＮＨ３）を算出する下流側アンモニア貯蔵量算出手段（ＥＣＵ２、目標ＮＨ３スリップ濃度算出部２７０）と、算出された下流側アンモニア貯蔵量が所定しきい値２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷ以下になるように、所定の目標値（目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔ）を設定する目標値設定手段（ＥＣＵ２、目標ＮＨ３スリップ濃度算出部２７０）と、をさらに備えることを特徴とする。
【００３１】
この内燃機関の排ガス浄化装置によれば、排ガス中のＮＯｘを浄化する下流側触媒が、排ガス濃度検出手段よりも下流側に設けられ、下流側触媒におけるアンモニア貯蔵量として下流側アンモニア貯蔵量が算出され、算出された下流側アンモニア貯蔵量が所定しきい値以下になるように、所定の目標値が設定される。そして、アンモニア濃度の推定値または下流側アンモニア濃度を、このように設定された所定の目標値に保持するように、還元剤の供給量が決定されるので、所定しきい値を適切に設定することによって、選択還元触媒を通り抜けた排ガス中のアンモニアを下流側触媒で確実に貯蔵することができ、アンモニアが下流側触媒の下流側に通り抜けるのを回避することができる。その結果、良好な排ガス特性を確保することができる。
【図面の簡単な説明】
【００３２】
【図１】本実施形態の排ガス浄化装置およびこれを適用した内燃機関の概略的な構成を示す図である。
【図２】排ガス濃度センサの検出特性を説明するための図である。
【図３】選択還元触媒におけるアンモニア貯蔵率とＮＯｘ浄化率との関係を示す図である。
【図４】ユリア噴射コントローラの構成を示すブロック図である。
【図５】推定値算出部の構成を示すブロック図である。
【図６】触媒推定器の構成を示すブロック図である。
【図７】ＮＨ３推定器の構成を示すブロック図である。
【図８】基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳの算出に用いるマップの一例を示す図である。
【図９】ＮＨ３貯蔵率補正係数Ｋｉｔａ＿ｓｔの算出に用いるマップの一例を示す図である。
【図１０】基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳの算出に用いるマップの一例を示す図である。
【図１１】触媒温重み関数Ｗｔｉの算出に用いるマップの一例を示す図である。
【図１２】ＮＨ３貯蔵率重み関数Ｗｒｊの算出に用いるマップの一例を示す図である。
【図１３】ＮＨ３濃度重み関数Ｗｃｊの算出に用いるマップの一例を示す図である。
【図１４】ＳＣＲ制御処理を示すフローチャートである。
【図１５】ユリア噴射量Ｇｕｒｅａの算出処理の内容を示すフローチャートである。
【図１６】触媒劣化判定処理の内容を示すフローチャートである。
【図１７】推定機関ＮＯｘ排出量のマップ値Ｇｎｏｘ＿ｅｎｇ＿ｂｓの算出に用いるマップの一例を示す図である。
【図１８】ＥＧＲ補正係数Ｋｎｏｘ＿ｅｎｇの算出に用いるマップの一例を示す図である。
【図１９】選択還元触媒が新品でモデル化誤差が存在しないときのＳＣＲ制御のシミュレーション結果の一例を示すタイミングチャートである。
【図２０】選択還元触媒が劣化し、モデル化誤差が生じているときのＳＣＲ制御のシミュレーション結果の一例を示すタイミングチャートである。
【図２１】比較のために、モデル修正器を省略した場合において、選択還元触媒が新品でモデル化誤差が存在しないときの、ＳＣＲ制御のシミュレーション結果の一例を示すタイミングチャートである。
【図２２】比較のために、モデル修正器を省略した場合において、選択還元触媒が劣化し、モデル化誤差が生じているときの、ＳＣＲ制御のシミュレーション結果の一例を示すタイミングチャートである。
【図２３】触媒推定器の変形例を示すブロック図である。
【図２４】図２３の基準ＮＯｘ浄化率算出部で用いる階層型ニューラルネットワークの概略的な構成を示す図である。
【図２５】ユリア噴射コントローラの変形例を示すブロック図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照しながら、本発明の一実施形態に係る内燃機関の排ガス浄化装置について説明する。図１は、本実施形態の排ガス浄化装置１およびこれを適用した内燃機関（以下「エンジン」という）３の概略構成を示している。このエンジン３は、リーンバーン運転方式のもの（ガソリンエンジンまたはディーゼルエンジン）であり、図示しない車両に搭載されている。
【００３４】
同図に示すように、この排ガス浄化装置１は、ＥＣＵ２と、エンジン３の排気通路４に上流側から順に設けられた選択還元触媒５および下流側触媒６と、選択還元触媒５の上流側の排気通路４内に尿素水を噴射するユリア噴射装置１０などを備えている。
【００３５】
このユリア噴射装置１０（還元剤供給装置）は、ユリア噴射弁１１およびユリアタンク１２を備えている。このユリアタンク１２は、尿素水を貯蔵するものであり、ユリア供給路１３およびユリアポンプ（図示せず）を介して、ユリア噴射弁１１に接続されている。
【００３６】
ユリア噴射弁１１は、ＥＣＵ２に電気的に接続されており、ＥＣＵ２からの制御入力信号によって開弁状態に駆動されると、ユリアタンク１２からの尿素水を排気通路４内に噴射する。すなわち、ユリア噴射制御が実行される。この場合、ユリア噴射弁１１から噴射された尿素水の尿素は、その一部が、排ガスの熱および選択還元触媒５との接触によって、アンモニアに変化する。
【００３７】
また、ユリアタンク１２には、ユリアレベルセンサ２０が取り付けられており、このユリアレベルセンサ２０は、ユリアタンク１２内の尿素水のレベルを検出して、それを表す検出信号をＥＣＵ２に出力する。ＥＣＵ２は、このユリアレベルセンサ２０の検出信号に基づいて、ユリアタンク１２内の尿素水の残量（以下「ユリア残量」という）Ｑｕｒｅａを算出する。
【００３８】
一方、選択還元触媒５は、還元剤としての尿素（Ｕｒｅａ）が存在する雰囲気下で、排ガス中の窒素酸化物（ＮＯｘ）を選択的に還元するものである。この選択還元触媒５では、そのＮＯｘの還元作用において、尿素水の噴射時に尿素から変化したアンモニアも、尿素と一緒に消費されるとともに、消費されなかった分のアンモニアは、選択還元触媒５内に貯蔵される。
【００３９】
この選択還元触媒５には、触媒温センサ２１が取り付けられている。この触媒温センサ２１は、選択還元触媒５の温度（以下「触媒温」という）Ｔｓｃｒを検出して、それを表す検出信号をＥＣＵ２に出力する。ＥＣＵ２は、この触媒温センサ２１の検出信号に基づき、触媒温Ｔｓｃｒを算出する。
【００４０】
また、下流側触媒６も、選択還元触媒５と同様に、還元剤としての尿素が存在する雰囲気下で、排ガス中のＮＯｘを選択的に還元する選択還元触媒タイプのもので構成されている。
【００４１】
さらに、排気通路４の選択還元触媒５の下流側には、排ガス濃度センサ２２が設けられている。この排ガス濃度センサ２２は、ＥＣＵ２に電気的に接続され、排ガス中のＮＯｘおよびアンモニアの双方に対して感度を有しているとともに、検出信号の値が、排ガス中のＮＯｘ濃度またはアンモニア濃度が高いほど、より大きくなるという特性を有しているている。ＥＣＵ２は、この排ガス濃度センサ２２の検出信号の値をＮＯｘおよびアンモニアの濃度に換算した値として、検出信号値ＥＸＳ＿ａｃｔを算出する。
【００４２】
さらに、ＥＣＵ２には、クランク角センサ２３、吸気圧センサ２４、アクセル開度センサ２５、警告ブザー２６および警告ランプ２７がそれぞれ接続されている。このクランク角センサ２３は、マグネットロータおよびＭＲＥピックアップで構成されており、クランクシャフト（図示せず）の回転に伴い、いずれもパルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２に出力する。
【００４３】
このＣＲＫ信号は、所定クランク角（例えば１゜）毎に１パルスが出力され、ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の機関回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＴＤＣ信号は、各気筒のピストン（いずれも図示せず）が吸気行程のＴＤＣ位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に１パルスが出力される。
【００４４】
また、吸気圧センサ２４は、例えば半導体圧力センサなどで構成され、図示しない吸気通路内の圧力（以下「吸気圧」という）ＰＢを検出して、それを表す検出信号をＥＣＵ２に出力する。この吸気圧ＰＢは、絶対圧として検出される。さらに、アクセル開度センサ２５は、車両の図示しないアクセルペダルの踏み込み量（以下「アクセル開度」という）ＡＰを検出して、それを表す検出信号をＥＣＵ２に出力する。
【００４５】
一方、警告ブザー２６および警告ランプ２７はいずれも、車両のメータパネルに配置されており、警告ブザー２６は、選択還元触媒５が劣化したときに、それを表すためにＥＣＵ２によって起動され、警告音を発生する。また、警告ランプ２７は、ユリアタンク１２内の尿素水の残量が少なくなったときに、それを表すためにＥＣＵ２によって点灯される。
【００４６】
一方、ＥＣＵ２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、Ｉ／Ｏインターフェースおよび駆動回路（いずれも図示せず）などからなるマイクロコンピュータで構成されており、前述した各種のセンサ２０〜２７の検出信号などに応じて、エンジン３の運転状態を判別するとともに、後述するＳＣＲ制御処理などの各種の制御処理を実行する。
【００４７】
なお、本実施形態では、ＥＣＵ２が、排ガス濃度検出手段、推定値算出手段、供給量決定手段、ＮＯｘ浄化誤差パラメータ算出手段、ＮＯｘ浄化特性モデル修正手段、アンモニア貯蔵誤差パラメータ算出手段、アンモニア貯蔵特性モデル修正手段、最大アンモニア貯蔵量算出手段、アンモニア貯蔵量算出手段、ゲイン修正値算出手段、ＮＯｘ浄化重み関数算出手段、ＮＯｘ浄化修正値算出手段、アンモニア貯蔵重み関数算出手段、アンモニア貯蔵修正値算出手段、下流側アンモニア貯蔵量算出手段、および目標値設定手段に相当する。
【００４８】
次に、本実施形態の排ガス浄化装置１における排ガス浄化手法について説明する。この排ガス浄化装置１は、ユリア噴射弁１１を介して尿素水を排気通路４の選択還元触媒５の上流側に噴射し、それにより、排ガス中のＮＯｘを還元剤としての尿素の存在下で選択還元触媒５によって浄化するものである。以下、ユリア噴射弁１１から噴射される尿素水の量（以下「ユリア噴射量」という）Ｇｕｒｅａを算出する手法およびその原理について説明する。
【００４９】
本実施形態の場合、排ガス濃度センサ２２が選択還元触媒５の下流側に設けられていることと、排ガス濃度センサ２２の前述した特性とに起因して、ユリア噴射弁１１によるユリア噴射量Ｇｕｒｅａと前述した検出信号値ＥＸＳ＿ａｃｔとの関係は、図２に示すようになる。図２（ａ），（ｂ）はそれぞれ、ユリア噴射量Ｇｕｒｅａを変化させた場合における、選択還元触媒５の下流側における排ガス中のＮＯｘ濃度およびアンモニア濃度の測定結果の一例を示しており、図２（ｃ）は、ユリア噴射量Ｇｕｒｅａを変化させた場合における検出信号値ＥＸＳ＿ａｃｔの測定結果の一例を表している。
【００５０】
同図に示すように、ユリア噴射量Ｇｕｒｅａが所定値Ｇｕｒｅａ＿ｏｐｔにあるときに、検出信号値ＥＸＳ＿ａｃｔが極小値を示すとともに、ユリア噴射量Ｇｕｒｅａが所定値Ｇｕｒｅａ＿ｏｐｔよりも大きくなるほど、選択還元触媒５の下流側における排ガス中のアンモニア濃度が高くなる一方、ユリア噴射量Ｇｕｒｅａが所定値Ｇｕｒｅａ＿ｏｐｔよりも小さくなるほど、排ガス中のＮＯｘ濃度が高くなる。この事象に着目して、特許文献１の排ガス浄化装置の場合、排ガス中のＮＯｘ濃度およびアンモニア濃度をバランスよく低減すべく、検出信号値ＥＸＳ＿ａｃｔが極小値になるように、ユリア噴射量Ｇｕｒｅａを制御している。
【００５１】
ここで、選択還元触媒５におけるアンモニア貯蔵量（以下「ＮＨ３貯蔵量」という）とその最大貯蔵量との比率（％）をアンモニア貯蔵率とした場合、アンモニア貯蔵率と、選択還元触媒５におけるＮＯｘ浄化率（％）との関係は、図３に示すものとなる。すなわち、同図に示すように、選択還元触媒５は、アンモニア貯蔵率が高いほど、ＮＯｘ浄化率がより高くなるとともに、アンモニア貯蔵率が１００％にあるときに、ＮＯｘ浄化率が最高値（１００％に近い値）になるという特性を備えている。これに対して、特許文献１の排ガス浄化装置のように、ユリア噴射量Ｇｕｒｅａを、検出信号値ＥＸＳ＿ａｃｔが極小値になるように制御した場合、エンジン３の運転負荷変動の影響によって、検出信号値ＥＸＳ＿ａｃｔは、実際には極小値となる値からしばしば離間することになる。そのため、ユリア噴射量Ｇｕｒｅａを、所定値Ｇｕｒｅａ＿ｏｐｔの前後に変動させながら、検出信号値ＥＸＳ＿ａｃｔを極小値付近に維持するように制御する必要がある。そのように制御した場合、アンダードージング状態（還元剤量がＮＯｘ量に対して不足している状態）が頻繁に発生し、その結果、選択還元触媒５のアンモニア貯蔵率が、１５〜３０％の範囲（同図のハッチングで示す範囲）内の値になってしまうことが実験により確認された。
【００５２】
したがって、良好なＮＯｘ浄化率を確保するには、選択還元触媒５におけるアンモニア貯蔵率が１００％になるように、ユリア噴射量Ｇｕｒｅａを所定値Ｇｕｒｅａ＿ｏｐｔ以上の範囲に制御する必要がある。その場合、選択還元触媒５よりも下流側のアンモニア濃度が高くなりすぎると、下流側触媒６のＮＨ３貯蔵量がその限界を超えてしまい、アンモニアが下流側触媒６に貯蔵されることなく、通り抜けてしまうおそれがあるので、ユリア噴射量Ｇｕｒｅａを、そのような事象が発生しないような値に制御する必要がある。以上の条件を満たすユリア噴射量Ｇｕｒｅａの値を最適値Ｇｕｒｅａ＿ｓｌｐとし、そのときの検出信号値ＥＸＳ＿ａｃｔを値ＥＸＳ＿ｔｒｇｔとした場合、図２（ｃ）に示すように、Ｇｕｒｅａ＝Ｇｕｒｅａ＿ｓｌｐのときに加えて、Ｇｕｒｅａ＝Ｇｕｒｅａ＿ｕｎｄのときにも、ＥＸＳ＿ａｃｔ＝ＥＸＳ＿ｔｒｇｔが成立するとともに、Ｇｕｒｅａ＝Ｇｕｒｅａ＿ｕｎｄのときには、ＮＯｘ浄化率がＧｕｒｅａ＝Ｇｕｒｅａ＿ｓｌｐのときよりもかなり低下してしまう。
【００５３】
以上の理由により、検出信号値ＥＸＳ＿ａｃｔすなわち排ガス濃度センサ２２の検出信号の値を目標値になるように制御する手法では、ユリア噴射量Ｇｕｒｅａを最適値Ｇｕｒｅａ＿ｓｌｐに制御するのは困難であり、結果的に、良好なＮＯｘ浄化率を確保するのは困難である。したがって、本実施形態では、良好なＮＯｘ浄化率を確保するために、以下に述べる制御手法により、選択還元触媒５におけるアンモニア貯蔵率やＮＯｘ浄化率などを推定し、その推定結果に基づいて、ユリア噴射量Ｇｕｒｅａが算出される。なお、以下の説明では、アンモニアが触媒に貯蔵されることなく、触媒を通り抜けてしまう事象を「ＮＨ３スリップ」という。
【００５４】
次に、図４を参照しながら、本実施形態の排ガス浄化装置１の構成について説明する。同図に示すように、排ガス浄化装置１は、ユリア噴射コントローラ２００を備えている。このユリア噴射コントローラ２００は、ユリア噴射量Ｇｕｒｅａ（還元剤の供給量）を算出するものであり、具体的にはＥＣＵ２によって構成されている。
【００５５】
ユリア噴射コントローラ２００は、同図に示すように、推定値算出部２１０、ＮＨ３ストレージコントローラ２６０、目標ＮＨ３スリップ濃度算出部２７０、ＮＨ３スリップコントローラ２８０および加算器２９０を備えている。
【００５６】
まず、推定値算出部２１０では、後述する手法により、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦ、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ、最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔおよび推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔが算出される。
【００５７】
また、ＮＨ３ストレージコントローラ２６０では、後述する手法により、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴが算出され、目標ＮＨ３スリップ濃度算出部２７０では、後述する手法により、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔが算出されるとともに、ＮＨ３スリップコントローラ２８０では、後述する手法により、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢが算出される。
【００５８】
そして、最終的に、加算器２９０で、下式（１）により、ユリア噴射量Ｇｕｒｅａが算出される。
【数１】
0005250589.tif 000002
【００５９】
上式（１）において、記号（ｋ）付きの各離散データは、所定の制御周期ΔＴ（本実施形態では５０ｍｓｅｃ）に同期して算出（またはサンプリング）されたデータであることを示しており、記号ｋ（ｋは正の整数）は各離散データの算出サイクルの順番を表している。例えば、記号ｋは今回の制御タイミングでサンプリングまたは算出された値（以下「今回値」という）であることを、記号ｋ−１は前回の制御タイミングでサンプリングまたは算出された値（以下「前回値」という）であることをそれぞれ示している。この点は、以下の離散データにおいても同様である。なお、以下の説明では、各離散データにおける記号（ｋ）を適宜省略する。
【００６０】
次に、図５を参照しながら、前述した推定値算出部２１０について説明する。同図に示すように、推定値算出部２１０は、触媒推定器２２０、除算器２５０，２５１、加算器２５２、修正後信号値算出部２５３およびモデル修正器２５４を備えている。
【００６１】
まず、触媒推定器２２０は、選択還元触媒５に関連する各種のパラメータを算出するものであり、図６に示すように、基準ＮＯｘ浄化率算出部２２１、遅延要素２２２、補正係数算出部２２３、乗算器２２４，２２６，２２７、減算器２２５、増幅器２２８およびＮＨ３推定器２３０を備えている。
【００６２】
この基準ＮＯｘ浄化率算出部２２１では、触媒温Ｔｓｃｒに応じて、図８に示すマップを検索することにより、基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳが算出される。この基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳは、選択還元触媒５におけるＮＯｘ浄化率の推定値に相当するものであり、同図において、Ｔｓｃｒ１〜Ｔｓｃｒ３は、触媒温Ｔｓｃｒの所定値であり、Ｔｓｃｒ１＜Ｔｓｃｒ２＜Ｔｓｃｒ３が成立するように設定される。
【００６３】
同図に示すように、基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳは、Ｔｓｃｒ＜Ｔｓｃｒ１の領域では、値０に設定されており、これは触媒温Ｔｓｃｒがそのような温度域にあるときには、選択還元触媒５が活性化しないことによる。また、基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳは、Ｔｓｃｒ１≦Ｔｓｃｒ＜Ｔｓｃｒ２の領域では、触媒温Ｔｓｃｒが高いほど、より大きい値に設定され、Ｔｓｃｒ２＜Ｔｓｃｒ≦Ｔｓｃｒ３の領域では、触媒温Ｔｓｃｒが高いほど、より小さい値に設定されているとともに、Ｔｓｃｒ＝Ｔｓｃｒ２のときにその最大値になるように設定されている。これは、選択還元触媒５がＴｓｃｒ１≦Ｔｓｃｒ＜Ｔｓｃｒ２の領域で、触媒温Ｔｓｃｒに対して以上のようなＮＯｘ浄化特性を示すことによる。
【００６４】
また、遅延要素２２２では、後述するＮＨ３推定器２３０で算出された推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａを１制御サイクル分遅延させることにより、推定ＮＨ３貯蔵率の前回値ＲＴ＿ｓｔ＿ｕｒｅａ（ｋ−１）が算出される。
【００６５】
次に、補正係数算出部２２３では、推定ＮＨ３貯蔵率の前回値ＲＴ＿ｓｔ＿ｕｒｅａ（ｋ−１）に応じて、図９に示すマップを検索することにより、ＮＨ３貯蔵率補正係数Ｋｉｔａ＿ｓｔが算出される。同図に示すように、ＮＨ３貯蔵率補正係数Ｋｉｔａ＿ｓｔは、推定ＮＨ３貯蔵率の前回値ＲＴ＿ｓｔ＿ｕｒｅａ（ｋ−１）が値１に近いほど、値１により近い値に設定されている。これは、選択還元触媒５に貯蔵されているアンモニア量が貯蔵可能な限界値に近いほど、選択還元触媒５におけるＮＯｘ浄化率がより上昇することによる。
【００６６】
また、乗算器２２４では、下式（２）により、推定ＮＯｘ浄化率ＩｔａＮｏｘが算出される。
【数２】
0005250589.tif 000003
【００６７】
上式（２）のＫＶＮＳ＿ｉｔａは、ＮＯｘ浄化率修正係数であり、後述するように、モデル修正器２５４で算出される。
【００６８】
さらに、減算器２２５では、値１と推定ＮＯｘ浄化率ＩｔａＮｏｘとの差分１−ＩｔａＮｏｘが算出され、乗算器２２６では、下式（３）に示すように、この差分１−ＩｔａＮｏｘに推定機関ＮＯｘ排出量Ｇｎｏｘ＿ｅｎｇ＿ｈａｔを乗算することにより、推定ＮＯｘスリップ量Ｇｎｏｘ＿ｓｃｒ＿ｈａｔが算出される。
【数３】
0005250589.tif 000004
【００６９】
この推定ＮＯｘスリップ量Ｇｎｏｘ＿ｓｃｒ＿ｈａｔは、選択還元触媒５を通り抜けた排ガス中のＮＯｘ量の推定値である。また、推定機関ＮＯｘ排出量Ｇｎｏｘ＿ｅｎｇ＿ｈａｔは、エンジン３から排出されるＮＯｘ量の推定値であり、後述する手法により算出される。
【００７０】
また、乗算器２２７では、ＮＯｘ浄化率と推定機関ＮＯｘ排出量との積ＩｔａＮｏｘ・Ｇｎｏｘ＿ｅｎｇ＿ｈａｔが算出され、増幅器２２８では、下式（４）に示すように、この積ＩｔａＮｏｘ・Ｇｎｏｘ＿ｅｎｇ＿ｈａｔに換算係数Ｋｎｏｘ＿ｇｕｒｅａを乗算することにより、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦが算出される。
【数４】
0005250589.tif 000005
【００７１】
この換算係数Ｋｎｏｘ＿ｇｕｒｅａは、ＮＯｘ量をユリア噴射量（すなわちユリア量）に換算するための乗算係数である。上式（４）に示すように、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦは、エンジン３から排出されるＮＯｘ量のうちの選択還元触媒５で還元可能なＮＯｘ量を推定し、推定したＮＯｘ量を還元するのに必要なユリア量として算出される。
【００７２】
一方、ＮＨ３推定器２３０は、図７に示すように、遅延要素２３１，２３２，２３４、減算器２３３、加算器２３５、基準最大ＮＨ３貯蔵量算出部２３６、乗算器２３７、リミッタ２３８、除算器２３９および推定ＮＨ３スリップ量算出部２４０を備えている。
【００７３】
まず、遅延要素２３１では、ユリア噴射量Ｇｕｒｅａを１制御サイクル分遅延させることにより、ユリア噴射量の前回値Ｇｕｒｅａ（ｋ−１）が算出され、遅延要素２３２では、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦを１制御サイクル分遅延させることにより、ＦＦ噴射量の前回値Ｇｕｒｅａ＿ＦＦ（ｋ−１）が算出される。
【００７４】
また、減算器２３３では、ユリア噴射量の前回値とＦＦ噴射量の前回値との偏差［Ｇｕｒｅａ（ｋ−１）−Ｇｕｒｅａ＿ＦＦ（ｋ−１）］が算出され、遅延要素２３４では、ＮＨ３貯蔵量演算値ＳＴ＿Ｕｒｅａ＿ｔｅｍｐを１制御サイクル分遅延させることにより、ＮＨ３貯蔵量演算値の前回値ＳＴ＿Ｕｒｅａ＿ｔｅｍｐ（ｋ−１）が算出される。
【００７５】
そして、加算器２３５では、下式（５）により、ＮＨ３貯蔵量演算値ＳＴ＿Ｕｒｅａ＿ｔｅｍｐが算出される。このＮＨ３貯蔵量演算値ＳＴ＿Ｕｒｅａ＿ｔｅｍｐは、選択還元触媒５におけるアンモニア貯蔵量の推定値をユリア噴射量に換算したものである。
【数５】
0005250589.tif 000006
【００７６】
一方、基準最大ＮＨ３貯蔵量算出部２３６では、触媒温Ｔｓｃｒに応じて、図１０に示すマップを検索することにより、基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳが算出される。この基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳは、選択還元触媒５で貯蔵可能なアンモニア量の限界値をユリア噴射量に換算したものである。言い換えれば、選択還元触媒５において、アンモニアを限界値まで貯蔵させるのに必要なユリア噴射量に相当する。同図に示すように、このマップでは、基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳは、触媒温Ｔｓｃｒが高いほど、より小さい値に設定されている。これは、触媒温Ｔｓｃｒが高いほど、選択還元触媒５のアンモニア貯蔵能力が低下することによる。
【００７７】
また、乗算器２３７では、下式（６）により、最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ（最大アンモニア貯蔵量）が算出される。
【数６】
0005250589.tif 000007
【００７８】
上式（６）のＫＶＮＳ＿ｓｔは、最大ＮＨ３貯蔵量修正係数であり、後述するように、モデル修正器２５４で算出される。上式（６）に示すように、最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸは、基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳを最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔで修正（補正）することにより算出される。これは、図１０のモデル（マップ）を修正することに相当する。
【００７９】
さらに、リミッタ２３８では、下式（７）〜（９）に示すリミット処理によって、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ（アンモニア貯蔵量）が算出される。
【数７】
0005250589.tif 000008
【数８】
0005250589.tif 000009
【数９】
0005250589.tif 000010
【００８０】
一方、除算器２３９では、下式（１０）により、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａが算出される。
【数１０】
0005250589.tif 000011
【００８１】
上式（１０）に示すように、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａは、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａと最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸとの比として算出されるので、これが値１に近いほど、選択還元触媒５で貯蔵されているアンモニア量がその限界値に近いことになる。なお、以下の説明では、選択還元触媒５におけるＮＨ３貯蔵量がその限界値に達したことを「ＮＨ３貯蔵量が飽和した」という。
【００８２】
さらに、推定ＮＨ３スリップ量算出部２４０では、下式（１１），（１２）により、推定ＮＨ３スリップ量Ｇｎｈ３＿ｓｃｒ＿ｈａｔが算出される。この推定ＮＨ３スリップ量Ｇｎｈ３＿ｓｃｒ＿ｈａｔは、選択還元触媒５に貯蔵されることなく、これを通り抜けたアンモニア量の推定値である。
【数１１】
0005250589.tif 000012
【数１２】
0005250589.tif 000013
【００８３】
上式（１１）のＫｕｒｅａ＿ｎｈ３は、ユリア量をアンモニア量に換算するための換算係数である。
【００８４】
以上のように、ＮＨ３推定器２３０では、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ、最大ＮＨ３貯蔵量ＳＴ＿ｕｒｅａ＿ＭＡＸ、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａおよび推定ＮＨ３スリップ量Ｇｎｈ３＿ｓｃｒ＿ｈａｔが算出される。
【００８５】
図５に戻り、前述した除算器２５０では、下式（１３）により、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが算出される。この推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔは、選択還元触媒５を通り抜けた排ガス中のアンモニア濃度の推定値である。
【数１３】
0005250589.tif 000014
【００８６】
上式（１３）のＧｅｘ＿ｈａｔは、推定排ガス量であり、後述するように、エンジン回転数ＮＥおよび吸気圧ＰＢに応じたマップ検索により算出される。
【００８７】
また、前述した除算器２５１では、下式（１４）により、推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔが算出される。この推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔは、選択還元触媒５を通り抜けた排ガス中のＮＯｘ濃度の推定値である。
【数１４】
0005250589.tif 000015
【００８８】
さらに、前述した加算器２５２では、下式（１５）により、推定信号値ＥＸＳ＿ｈａｔが算出される。この推定信号値ＥＸＳ＿ｈａｔは、前述した検出信号値ＥＸＳ＿ａｃｔの推定値に相当する。
【数１５】
0005250589.tif 000016
【００８９】
一方、前述した修正後信号値算出部２５３では、下式（１６）により、修正後信号値ＥＸＳ＿ｍｏｄが算出される。
【数１６】
0005250589.tif 000017
【００９０】
上式（１６）において、ＫＶＮＳ＿ｇａｉｎは、ゲイン修正係数であり、モデル修正器２５４で、後述するように算出される。上式（１６）に示すように、修正後信号値ＥＸＳ＿ｍｏｄは、検出信号値ＥＸＳ＿ａｃｔをゲイン修正係数ＫＶＮＳ＿ｇａｉｎで修正することによって算出される。
【００９１】
次に、前述したモデル修正器２５４について説明する。このモデル修正器２５４では、以下に述べる手法によって、前述した３つの修正係数ＫＶＮＳ＿ｉｔａ，ＫＶＮＳ＿ｓｔ，ＫＶＮＳ＿ｇａｉｎが算出される。
【００９２】
最初に、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａの算出手法について説明する。この算出手法の場合、まず、下式（１７），（１８）により、浄化率用誤差ＥＶＮＳ＿ｉｔａ（誤差パラメータ）を算出する。
【数１７】
0005250589.tif 000018
【数１８】
0005250589.tif 000019
【００９３】
上式（１７），（１８）のＴＨ＿ＲＴ＿ＩＴＡＮＯＸは、所定のしきい値であり、値１に近い値に設定されている。すなわち、浄化率用誤差ＥＶＮＳ＿ｉｔａは、選択還元触媒５で貯蔵されているアンモニア量がその限界値に達し、ＮＨ３貯蔵量が飽和しているときには値０として算出され、ＮＨ３貯蔵量が飽和していないときには、推定信号値の前回値ＥＸＳ＿ｈａｔ（ｋ−１）と修正後信号値の前回値ＥＸＳ＿ｍｏｄ（ｋ−１）との偏差として算出される。これは以下の理由による。
【００９４】
すなわち、選択還元触媒５でＮＨ３貯蔵量が飽和していない場合、選択還元触媒５においてＮＨ３スリップが発生しないことによって、排ガス濃度センサ２２は、排ガス中のＮＯｘ濃度のみを検出している状態となる。そのため、選択還元触媒５でＮＨ３貯蔵量が飽和していない条件下での、検出信号値ＥＸＳ＿ａｃｔと推定信号値ＥＸＳ＿ｈａｔとの偏差は、選択還元触媒５における実際のＮＯｘ浄化率と、触媒推定器２２０で算出された推定ＮＯｘ浄化率ＩｔａＮｏｘとの間の誤差に起因して生じているものと見なすことができる。すなわち、検出信号値ＥＸＳ＿ａｃｔと推定信号値ＥＸＳ＿ｈａｔとの偏差は、触媒推定器２２０で用いている推定モデル（図８のマップや各種の演算式など）のモデル化誤差を表すものと見なすことができる。本実施形態の場合、検出信号値ＥＸＳ＿ａｃｔを修正した修正後信号値ＥＸＳ＿ｍｏｄを用いていることに加えて、後述するように、推定信号値ＥＸＳ＿ｈａｔおよび修正後信号値ＥＸＳ＿ｍｏｄの演算処理がＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａの演算処理の後に実行される関係上、上記の式（１７），（１８）を用いて、推定モデルのモデル化誤差を表す値として、浄化率用誤差ＥＶＮＳ＿ｉｔａが算出される。
【００９５】
次に、触媒温Ｔｓｃｒに応じて、図１１に示すマップを検索することにより、触媒温重み関数Ｗｔｉ（ｉ＝１〜３）を算出する。この触媒温重み関数Ｗｔｉは、３つの値Ｗｔ１，Ｗｔ２，Ｗｔ３を要素とするベクトルとして算出される。同図において、Ｔｓｃｒ＿ｘ１，Ｔｓｃｒ＿ｘ２は、Ｔｓｃｒ＿ｘ１＜Ｔｓｃｒ＿ｘ２が成立するように設定される触媒温Ｔｓｃｒの所定値であり、所定値Ｔｓｃｒ＿ｘ２は、触媒温Ｔｓｃｒがエンジン３の運転中に変化し得る値の最大値、または最大値近傍の、最大値よりも大きな値に設定されている。
【００９６】
同図に示すように、３つの触媒温重み関数Ｗｔｉはそれぞれ、触媒温Ｔｓｃｒが変化し得る領域を０≦Ｔｓｃｒ＜Ｔｓｃｒ＿ｘ１，Ｔｓｃｒ＿ｘ１≦Ｔｓｃｒ≦Ｔｓｃｒ＿ｘ２の２つの領域に区分した場合において、以下に述べるように設定されている。まず、１番目の触媒温重み関数Ｗｔ１は、０≦Ｔｓｃｒ＜Ｔｓｃｒ＿ｘ１の領域では、Ｔｓｃｒ＝０のときの値１を最大値として、触媒温Ｔｓｃｒが大きいほど、より小さい正の値に設定されているとともに、Ｔｓｃｒ＿ｘ１≦Ｔｓｃｒ≦Ｔｓｃｒ＿ｘ２の領域では、値０に設定されている。
【００９７】
また、２番目の触媒温重み関数Ｗｔ２は、０≦Ｔｓｃｒ＜Ｔｓｃｒ＿ｘ１の領域では、触媒温Ｔｓｃｒが大きいほど、より大きい正の値に設定されているとともに、Ｔｓｃｒ＿ｘ１≦Ｔｓｃｒ≦Ｔｓｃｒ＿ｘ２の領域では、Ｔｓｃｒ＝Ｔｓｃｒ＿ｘ１のときの値１を最大値として、触媒温Ｔｓｃｒが大きいほど、より小さい正の値に設定されている。さらに、３番目の触媒温重み関数Ｗｔ３は、０≦Ｔｓｃｒ＜Ｔｓｃｒ＿ｘ１の領域では、値０に設定されているとともに、Ｔｓｃｒ＿ｘ１≦Ｔｓｃｒ≦Ｔｓｃｒ＿ｘ２の領域では、Ｔｓｃｒ＝Ｔｓｃｒ＿ｘ２のときの値１を最大値として、触媒温Ｔｓｃｒが大きいほど、より大きい正の値に設定されている。
【００９８】
さらに、１番目および２番目の触媒温重み関数Ｗｔ１，Ｗｔ２は、０≦Ｔｓｃｒ＜Ｔｓｃｒ＿ｘ１の領域において互いに重なり合うとともに、両者の和は、各触媒温重み関数Ｗｔｉにおける最大値１と等しくなるように設定されている。これと同様に、２番目および３番目の触媒温重み関数Ｗｔ２，Ｗｔ３は、Ｔｓｃｒ＿ｘ１≦Ｔｓｃｒ≦Ｔｓｃｒ＿ｘ２の領域において互いに重なり合うとともに、両者の和は、各触媒温重み関数Ｗｔｉにおける最大値１と等しくなるように設定されている。
【００９９】
次いで、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａに応じて、図１２に示すマップを検索することにより、ＮＨ３貯蔵率重み関数Ｗｒｊ（ｊ＝１〜３）を算出する。このＮＨ３貯蔵率重み関数Ｗｒｊは、３つの値Ｗｒ１，Ｗｒ２，Ｗｒ３を要素とするベクトルとして算出される。同図において、ＲＴ＿１，ＲＴ＿２は、ＲＴ＿１＜ＲＴ＿２が成立するように設定される推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａの所定値であり、所定値ＲＴ＿２は、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａがエンジン３の運転中に変化し得る値の最大値（すなわち値１）に設定されている。
【０１００】
同図に示すように、３つのＮＨ３貯蔵率重み関数Ｗｒｊはそれぞれ、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａが変化し得る領域を０≦ＲＴ＿ｓｔ＿ｕｒｅａ＜ＲＴ＿１，ＲＴ＿１≦ＲＴ＿ｓｔ＿ｕｒｅａ≦ＲＴ＿２の２つの領域に区分した場合において、以下に述べるように設定されている。まず、１番目のＮＨ３貯蔵率重み関数Ｗｒ１は、０≦ＲＴ＿ｓｔ＿ｕｒｅａ＜ＲＴ＿１の領域では、ＲＴ＿ｓｔ＿ｕｒｅａ＝０のときの値１を最大値として、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａが大きいほど、より小さい正の値に設定されているとともに、ＲＴ＿１≦ＲＴ＿ｓｔ＿ｕｒｅａ≦ＲＴ＿２の領域では、値０に設定されている。
【０１０１】
また、２番目のＮＨ３貯蔵率重み関数Ｗｒ２は、０≦ＲＴ＿ｓｔ＿ｕｒｅａ＜ＲＴ＿１の領域では、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａが大きいほど、より大きい正の値に設定されているとともに、ＲＴ＿１≦ＲＴ＿ｓｔ＿ｕｒｅａ≦ＲＴ＿２の領域では、ＲＴ＿ｓｔ＿ｕｒｅａ＝ＲＴ＿１のときの値１を最大値として、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａが大きいほど、より小さい正の値に設定されている。さらに、３番目のＮＨ３貯蔵率重み関数Ｗｒ３は、０≦ＲＴ＿ｓｔ＿ｕｒｅａ＜ＲＴ＿１の領域では、値０に設定されているとともに、ＲＴ＿１≦ＲＴ＿ｓｔ＿ｕｒｅａ≦ＲＴ＿２の領域では、ＲＴ＿ｓｔ＿ｕｒｅａ＝ＲＴ＿２のときの値１を最大値として、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａが大きいほど、より大きい正の値に設定されている。
【０１０２】
さらに、１番目および２番目のＮＨ３貯蔵率重み関数Ｗｒ１，Ｗｒ２は、０≦ＲＴ＿ｓｔ＿ｕｒｅａ＜ＲＴ＿１の領域において互いに重なり合うとともに、両者の和は、各ＮＨ３貯蔵率重み関数Ｗｒｊにおける最大値１と等しくなるように設定されている。これと同様に、２番目および３番目のＮＨ３貯蔵率重み関数Ｗｒ２，Ｗｒ３は、ＲＴ＿１≦ＲＴ＿ｓｔ＿ｕｒｅａ≦ＲＴ＿２の領域において互いに重なり合うとともに、両者の和は、各ＮＨ３貯蔵率重み関数Ｗｒｊにおける最大値１と等しくなるように設定されている。
【０１０３】
次に、下式（１９）により、修正誤差ＷＥＶＮＳ＿ｉｔａ＿ｉｊを算出する。
【数１９】
0005250589.tif 000020
【０１０４】
この修正誤差ＷＥＶＮＳ＿ｉｔａ＿ｉｊは、９つの値を要素とする行列として算出されるとともに、２種類の重み関数Ｗｔｉ，Ｗｒｊを浄化率用誤差ＥＶＮＳ＿ｉｔａに乗算することにより算出されるので、これらの値Ｗｔｉ，Ｗｒｊにより、触媒温Ｔｓｃｒの２つの領域と、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａの２つの領域とを組み合わせた４つの領域に対して、浄化率用誤差ＥＶＮＳ＿ｉｔａを分配して重み付けした値として算出される。
【０１０５】
次いで、下式（２０）により、局所補正値ＤＫＶＮＳ＿ｉｔａ＿ｉｊを算出する。
【数２０】
0005250589.tif 000021
【０１０６】
上式（２０）のＫＡＤＰ＿ｉｔａは、適応ゲインである。上式（２０）に示すように、局所補正値ＤＫＶＮＳ＿ｉｔａ＿ｉｊは、適応ゲインＫＡＤＰ＿ｉｔａと修正誤差ＷＥＶＮＳ＿ｉｔａ＿ｉｊとの積を積分した積分項として算出される。すなわち、局所補正値ＤＫＶＮＳ＿ｉｔａ＿ｉｊは、修正誤差ＷＥＶＮＳ＿ｉｔａ＿ｉｊを値０に収束させるように、積分項のみのフィードバック制御アルゴリズムによって算出される。これは以下の理由による。
【０１０７】
すなわち、前述したように、浄化率用誤差ＥＶＮＳ＿ｉｔａは、選択還元触媒５でＮＨ３貯蔵量が飽和していないときに算出され、ＮＨ３貯蔵量が飽和しているときには値０に設定される関係上、積分項に加えて比例項を含むフィードバック制御アルゴリズムを用いたとしても、アンモニア貯蔵率が１００％に達している条件下では、比例項の演算結果は必ず値０になってしまう。すなわち、比例項の効果がない状態となってしまう。これに対して、積分項の場合には、浄化率用誤差ＥＶＮＳ＿ｉｔａが値０に設定されたとしても、それまでの演算結果が記憶された状態となるので、アンモニア貯蔵率が１００％に達している状態から達していない状態に切り換わり、浄化率用誤差ＥＶＮＳ＿ｉｔａの算出が開始された時点において、その記憶された演算結果に基づいて、積分項の演算を開始することができ、その効果を得ることができる。以上の理由により、モデル修正器２５４では、積分項のみを含む制御アルゴリズムを用いて、局所補正値ＤＫＶＮＳ＿ｉｔａ＿ｉｊが算出される。
【０１０８】
そして、最終的に、下式（２１）により、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａが算出される。
【数２１】
0005250589.tif 000022
【０１０９】
次に、前述した最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔの算出手法について説明する。この算出手法の場合、まず、下式（２２）〜（２４）により、ＮＨ３貯蔵量修正モードフラグＦ＿ＳＴＭＯＤ＿ＭＯＤＥの値を設定する。
【数２２】
0005250589.tif 000023
【数２３】
0005250589.tif 000024
【数２４】
0005250589.tif 000025
【０１１０】
上式（２２）の演算実行条件におけるＴＨ＿ＲＴ＿ＳＴＭＯＤ＿ＲＥＳＥＴは、飽和判定用のしきい値であり、ＲＴ＿ｓｔ＿ｕｒｅａ（ｋ−１）＜ＴＨ＿ＲＴ＿ＳＴＭＯＤ＿ＲＥＳＥＴが成立していることは、前回の制御タイミングで選択還元触媒５のＮＨ３貯蔵量が飽和していなかったこと、言い換えればＮＨ３スリップが発生していなかったことを表している。また、上式（２３）の演算実行条件におけるＴＨ＿ＳＴＭＯＤ＿ＮＨ３＿ＳＬＩＰは、ＮＨ３スリップ判定用のしきい値であり、Ｃｎｈ３＿ｓｃｒ＿ｈａｔ（ｋ−１）≧ＴＨ＿ＲＴ＿ＳＴＭＯＤ＿ＲＥＳＥＴが成立していることは、前回の制御タイミングで選択還元触媒５のＮＨ３スリップが発生していたことを表している。
【０１１１】
以上の式（２２）〜（２４）を参照すると明らかなように、ＮＨ３貯蔵量修正モードフラグＦ＿ＳＴＭＯＤ＿ＭＯＤＥは、前回の制御タイミングで選択還元触媒５のＮＨ３貯蔵量が飽和していなかったときには「０」に設定され、前々回の制御タイミングでＮＨ３スリップが発生しておらず、かつ前回の制御タイミングで選択還元触媒５のＮＨ３スリップが発生したときには「１」に設定されるとともに、それ以外のときには前回値に保持される。
【０１１２】
次に、下式（２５）〜（２７）により、貯蔵量用誤差ＥＶＮＳ＿ｓｔ（誤差パラメータ）を算出する。
【数２５】
0005250589.tif 000026
【数２６】
0005250589.tif 000027
【数２７】
0005250589.tif 000028
【０１１３】
以上の式（２５）〜（２７）の演算実行条件において、Ｆ＿ＳＴＭＯＤ＿ＭＯＤＥ（ｋ−１）＝０ ＆ Ｆ＿ＳＴＭＯＤ＿ＭＯＤＥ（ｋ）＝１は、前々回の制御タイミングでＮＨ３スリップが発生しておらず、かつ前回の制御タイミングで選択還元触媒５のＮＨ３スリップが発生したことを表している。すなわち、前々回の制御タイミングでＮＨ３スリップが発生しておらず、かつ前回の制御タイミングで選択還元触媒５のＮＨ３スリップが発生した場合においてのみ、貯蔵量用誤差ＥＶＮＳ＿ｓｔの算出が実行される。
【０１１４】
また、推定信号値の前回値ＥＸＳ＿ｈａｔ（ｋ−１）と修正後信号値の前回値ＥＸＳ＿ｍｏｄ（ｋ−１）との比較結果は、触媒推定器２２０で用いている推定モデル（すなわち図１０や式（５）など）におけるＮＨ３スリップの発生タイミングと実際のＮＨ３スリップの発生タイミングとのずれを表している。したがって、式（２５）〜（２７）に示すように、推定モデルにおけるＮＨ３スリップの発生タイミングが実際のＮＨ３スリップの発生タイミングよりも早いとき、すなわち推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａが実際のＮＨ３貯蔵量よりも小さいときには、ＥＶＮＳ＿ｓｔ＝−１に設定され、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａが実際のＮＨ３貯蔵量と等しいときには、ＥＶＮＳ＿ｓｔ＝０に設定される。さらに、推定モデルにおけるＮＨ３スリップの発生タイミングが実際のＮＨ３スリップの発生タイミングよりも遅いとき、すなわち、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａが実際のＮＨ３貯蔵量よりも大きいときには、ＥＶＮＳ＿ｓｔ＝１に設定される。以上のように、貯蔵量用誤差ＥＶＮＳ＿ｓｔは、触媒推定器２２０で用いている推定モデルのモデル化誤差を表すものとして算出される。
【０１１５】
さらに、前述したように、触媒温Ｔｓｃｒに応じて、図１１のマップを検索することにより、触媒温重み関数Ｗｔｉ（ｉ＝１〜３）を算出する。
【０１１６】
次いで、下式（２８）により、修正誤差ＷＥＶＮＳ＿ｓｔ＿ｉを算出する。
【数２８】
0005250589.tif 000029
【０１１７】
この修正誤差ＷＥＶＮＳ＿ｓｔ＿ｉは、３つの値を要素とするベクトルとして算出されるとともに、触媒温重み関数Ｗｔｉを貯蔵量用誤差ＥＶＮＳ＿ｓｔに乗算することにより算出されるので、触媒温重み関数Ｗｔｉにより、触媒温Ｔｓｃｒの２つの領域に対して、貯蔵量用誤差ＥＶＮＳ＿ｓｔを分配して重み付けした値として算出される。
【０１１８】
次いで、下式（２９）により、局所補正値ＤＫＶＮＳ＿ｓｔ＿ｉを算出する。
【数２９】
0005250589.tif 000030
【０１１９】
上式（２９）のＫＡＤＰ＿ｓｔは、適応ゲインである。上式（２９）に示すように、局所補正値ＤＫＶＮＳ＿ｓｔ＿ｉは、適応ゲインＫＡＤＰ＿ｓｔと修正誤差ＷＥＶＮＳ＿ｓｔ＿ｉとの積を積分した積分項として算出される。すなわち、局所補正値ＤＫＶＮＳ＿ｓｔ＿ｉは、修正誤差ＷＥＶＮＳ＿ｓｔ＿ｉを値０に収束させるように、積分項のみのフィードバック制御アルゴリズムによって算出される。これは、局所補正値ＤＫＶＮＳ＿ｉｔａ＿ｉｊの算出手法の説明で述べたのと同じ理由による。
【０１２０】
そして、最終的に、下式（３０）により、最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔが算出される。
【数３０】
0005250589.tif 000031
【０１２１】
次に、ゲイン修正係数ＫＶＮＳ＿ｇａｉｎの算出手法について説明する。この算出手法の場合、まず、下式（３１）〜（３４）により、ゲイン用誤差ＥＶＮＳ＿ｇａｉｎを算出する。
【数３１】
0005250589.tif 000032
【数３２】
0005250589.tif 000033
【数３３】
0005250589.tif 000034
【数３４】
0005250589.tif 000035
【０１２２】
上式（３１）のＣｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔは、センサベース推定ＮＨ３スリップ濃度であり、上式（３２）のＥＶＮＳ＿ｇａｉｎ＿ｔｅｍｐは、基準ゲイン用誤差である。上式（３１）〜（３４）に示すように、センサベース推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔ（下流側アンモニア濃度）は、修正後信号値ＥＸＳ＿ｍｏｄから推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔを減算することにより算出され、基準ゲイン用誤差ＥＶＮＳ＿ｇａｉｎ＿ｔｅｍｐは、推定ＮＨ３スリップ濃度の前回値Ｃｎｈ３＿ｓｃｒ＿ｈａｔ（ｋ−１）からセンサベース推定ＮＨ３スリップ濃度の前回値Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔ（ｋ−１）を減算することにより算出される。さらに、ゲイン用誤差ＥＶＮＳ＿ｇａｉｎは、前回の制御タイミングにおいて、ＮＨ３貯蔵量が飽和しかつＮＨ３スリップが発生していたときに、基準ゲイン用誤差ＥＶＮＳ＿ｇａｉｎ＿ｔｅｍｐに設定され、それ以外のときには値０に設定される。これは以下の理由による。
【０１２３】
すなわち、ＮＨ３貯蔵量が飽和し、かつＮＨ３スリップが発生している条件下では、排ガス濃度センサ２２の検出信号は、ＮＯｘ濃度とアンモニア濃度の和を表すものとなる。一方、ＮＨ３貯蔵量が飽和しておらず、ＮＨ３スリップが発生していない条件下では、前述したＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａの効果により、推定値算出部２１０で算出された推定ＮＯｘ浄化率ＩｔａＮｏｘは、選択還元触媒５における実際のＮＯｘ浄化率に合致していると考えられる。したがって、ＮＨ３貯蔵量が飽和している場合、検出信号値ＥＸＳ＿ａｃｔから、推定ＮＯｘ浄化率ＩｔａＮｏｘを用いて算出した推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔを減算することにより、アンモニア濃度の推定値を精度よく算出できることになる。これに加えて、本実施形態では、排ガス濃度センサ２２のゲイン特性の変化すなわちモデル化誤差を補償するために、検出信号値ＥＸＳ＿ａｃｔをゲイン修正係数ＫＶＮＳ＿ｇａｉｎで修正することによって、修正後信号値ＥＸＳ＿ｍｏｄを算出している。
【０１２４】
以上の理由により、上式（３１）に示すように、センサベース推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔは、ＮＨ３貯蔵量が飽和し、かつＮＨ３スリップが発生している条件下での選択還元触媒５を通過した排ガス中のアンモニア濃度の推定値として、修正後信号値ＥＸＳ＿ｍｏｄから推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔを減算することにより算出される。また、上式（３２）に示すように、基準ゲイン用誤差ＥＶＮＳ＿ｇａｉｎ＿ｔｅｍｐは、排ガス濃度センサ２２のモデル化誤差として、推定ＮＨ３スリップ濃度の前回値Ｃｎｈ３＿ｓｃｒ＿ｈａｔ（ｋ−１）からセンサベース推定ＮＨ３スリップ濃度の前回値Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔ（ｋ−１）を減算することにより算出される。そして、最終的に、上式（３３），（３４）に示すように、ゲイン用誤差ＥＶＮＳ＿ｇａｉｎは、ＮＨ３貯蔵量が飽和し、かつＮＨ３スリップが発生しているときの排ガス濃度センサ２２のモデル化誤差として算出される。
【０１２５】
次に、前述したように、触媒温Ｔｓｃｒに応じて、図１１のマップを検索することにより、触媒温重み関数Ｗｔｉ（ｉ＝１〜３）を算出する。
【０１２６】
また、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔに応じて、図１３に示すマップを検索することにより、ＮＨ３濃度重み関数Ｗｃｊ（ｊ＝１〜３）を算出する。このＮＨ３濃度重み関数Ｗｃｊは、３つの値Ｗｃ１，Ｗｃ２，Ｗｃ３を要素とするベクトルとして算出される。同図において、Ｃｎｈ３＿１，Ｃｎｈ３＿２は、Ｃｎｈ３＿１＜Ｃｎｈ３＿２が成立するように設定される推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔの所定値であり、所定値Ｃｎｈ３＿２は、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔがエンジン３の運転中に変化し得る値の最大値、または最大値近傍の、最大値よりも大きな値に設定されている。
【０１２７】
同図に示すように、３つのＮＨ３濃度重み関数Ｗｃｊはそれぞれ、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが変化し得る領域を０≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＜Ｃｎｈ３＿１，Ｃｎｈ３＿１≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ≦Ｃｎｈ３＿２の２つの領域に区分した場合において、以下に述べるように設定されている。まず、１番目のＮＨ３濃度重み関数Ｗｃ１は、０≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＜Ｃｎｈ３＿１の領域では、Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＝０のときの値１を最大値として、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが大きいほど、より小さい正の値に設定されているとともに、Ｃｎｈ３＿１≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ≦Ｃｎｈ３＿２の領域では、値０に設定されている。
【０１２８】
また、２番目のＮＨ３濃度重み関数Ｗｃ２は、０≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＜Ｃｎｈ３＿１の領域では、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが大きいほど、より大きい正の値に設定されているとともに、Ｃｎｈ３＿１≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ≦Ｃｎｈ３＿２の領域では、Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＝Ｃｎｈ３＿１のときの値１を最大値として、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが大きいほど、より小さい正の値に設定されている。さらに、３番目のＮＨ３濃度重み関数Ｗｃ３は、０≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＜Ｃｎｈ３＿１の領域では、値０に設定されているとともに、Ｃｎｈ３＿１≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ≦Ｃｎｈ３＿２の領域では、Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＝Ｃｎｈ３＿２のときの値１を最大値として、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが大きいほど、より大きい正の値に設定されている。
【０１２９】
さらに、１番目および２番目のＮＨ３濃度重み関数Ｗｃ１，Ｗｃ２は、０≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＜Ｃｎｈ３＿１の領域において互いに重なり合うとともに、両者の和は、各ＮＨ３濃度重み関数Ｗｃｊにおける最大値１と等しくなるように設定されている。これと同様に、２番目および３番目のＮＨ３濃度重み関数Ｗｃ２，Ｗｃ３は、Ｃｎｈ３＿１≦Ｃｎｈ３＿ｓｃｒ＿ｈａｔ≦Ｃｎｈ３＿２の領域において互いに重なり合うとともに、両者の和は、各ＮＨ３濃度重み関数Ｗｃｊにおける最大値１と等しくなるように設定されている。
【０１３０】
次に、下式（３５）により、修正誤差ＷＥＶＮＳ＿ｇａｉｎ＿ｉｊを算出する。
【数３５】
0005250589.tif 000036
【０１３１】
この修正誤差ＷＥＶＮＳ＿ｇａｉｎ＿ｉｊは、９つの値を要素とする行列として算出されるとともに、２種類の重み関数Ｗｔｉ，Ｗｃｊをゲイン用誤差ＥＶＮＳ＿ｇａｉｎに乗算することにより算出されるので、これらの値Ｗｔｉ，Ｗｃｊにより、触媒温Ｔｓｃｒの２つの領域と、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔの２つの領域とを組み合わせた４つの領域に対して、ゲイン用誤差ＥＶＮＳ＿ｇａｉｎを分配して重み付けした値として算出される。
【０１３２】
次いで、下式（３６）により、局所補正値ＤＫＶＮＳ＿ｇａｉｎ＿ｉｊを算出する。
【数３６】
0005250589.tif 000037
【０１３３】
上式（３６）のＫＡＤＰ＿ｇａｉｎは、適応ゲインである。上式（３６）に示すように、局所補正値ＤＫＶＮＳ＿ｇａｉｎ＿ｉｊは、適応ゲインＫＡＤＰ＿ｇａｉｎと修正誤差ＷＥＶＮＳ＿ｇａｉｎ＿ｉｊとの積を積分した積分項として算出される。すなわち、局所補正値ＤＫＶＮＳ＿ｇａｉｎ＿ｉｊは、修正誤差ＷＥＶＮＳ＿ｇａｉｎ＿ｉｊを値０に収束させるように、積分項のみのフィードバック制御アルゴリズムによって算出される。これは、局所補正値ＤＫＶＮＳ＿ｉｔａ＿ｉｊの算出手法の説明で述べたのと同じ理由による。
【０１３４】
そして、最終的に、下式（３７）により、ゲイン修正係数ＫＶＮＳ＿ｇａｉｎが算出される。
【数３７】
0005250589.tif 000038
【０１３５】
以上のように、モデル修正器２５４では、３つの修正係数ＫＶＮＳ＿ｉｔａ，ＫＶＮＳ＿ｓｔ，ＫＶＮＳ＿ｇａｉｎが算出される。なお、本実施形態では、触媒温Ｔｓｃｒ、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａおよび推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが相関性パラメータに相当する。
【０１３６】
次に、前述したＮＨ３ストレージコントローラ２６０について説明する。このＮＨ３ストレージコントローラ２６０では、下式（３８），（３９）により、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴが算出される。
【数３８】
0005250589.tif 000039
【数３９】
0005250589.tif 000040
【０１３７】
上式（３８）のＥ＿ＳＴ＿Ｕｒｅａは、ＮＨ３貯蔵量偏差であり、上式（３９）のＫｉ，Ｋｐは、所定のフィードバックゲインである。上式（３９）に示すように、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴは、ＮＨ３貯蔵量偏差Ｅ＿ＳＴ＿Ｕｒｅａが値０になるように、１次元高次元のＩ−Ｐ制御アルゴリズムによって算出される。すなわち、このＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴは、選択還元触媒５内のＮＨ３貯蔵量を迅速に飽和させるための値として算出される。
【０１３８】
ここで、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴの算出アルゴリズムとして、上式（３９）を用いたのは以下の理由による。すなわち、選択還元触媒５におけるアンモニア貯蔵量の動特性は積分特性であるので、積分項を含む制御アルゴリズムを用いた場合、二重積分状態になってしまい、それに起因して、オーバーシュートや振動的な挙動を生じやすくなる。これを回避するために、ＮＨ３ストレージコントローラ２６０では、積分項を含まない上式（３９）の制御アルゴリズムを用いて、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴが算出される。
【０１３９】
次に、前述した目標ＮＨ３スリップ濃度算出部２７０について説明する。この目標ＮＨ３スリップ濃度算出部２７０では、以下に述べるように、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔ（所定の目標値）が算出される。まず、下式（４０）により、下流側推定ＮＨ３貯蔵量の演算値２ｎｄ＿ＳＴ＿ＮＨ３＿ｔｅｍｐを算出する。この下流側推定ＮＨ３貯蔵量の演算値２ｎｄ＿ＳＴ＿ＮＨ３＿ｔｅｍｐは、下流側触媒６に貯蔵されているアンモニア量の推定値に相当する。
【数４０】
0005250589.tif 000041
【０１４０】
上式（４０）のＫｎｏｘｃｖは、推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔを、下流側触媒６においてＮＯｘを浄化するのに必要なアンモニアの濃度に変換するための変換係数である。
【０１４１】
次いで、下式（４１）〜（４３）に示すように、値０を下限値とし、値２ｎｄ＿ＳＴ＿ＮＨ３＿ＭＡＸを上限値とするリミット処理を、下流側推定ＮＨ３貯蔵量の演算値２ｎｄ＿ＳＴ＿ＮＨ３＿ｔｅｍｐに施すことにより、下流側推定ＮＨ３貯蔵量２ｎｄ＿ＳＴ＿ＮＨ３（下流側アンモニア貯蔵量）を算出する。
【数４１】
0005250589.tif 000042
【数４２】
0005250589.tif 000043
【数４３】
0005250589.tif 000044
【０１４２】
そして、最終的に、下式（４４），（４５）により、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔが算出される。
【数４４】
0005250589.tif 000045
【数４５】
0005250589.tif 000046
【０１４３】
上式（４４）のＣｎｈ３＿ｔｒｇｔ＿ＮＭは、目標ＮＨ３スリップ濃度の通常制御用値であり、上式（４５）のＣｎｈ３＿ｔｒｇｔ＿ＲＤは、目標ＮＨ３スリップ濃度の低減用値である。この目標ＮＨ３スリップ濃度の低減制御用値Ｃｎｈ３＿ｔｒｇｔ＿ＲＤは、下流側触媒６のアンモニア貯蔵量を、通常制御時よりも小さい値に制御するための値であり、そのため、Ｃｎｈ３＿ｔｒｇｔ＿ＲＤ＜Ｃｎｈ３＿ｔｒｇｔ＿ＮＭが成立するように設定されている。また、演算実行条件における２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷは、所定しきい値であり、下流側推定ＮＨ３貯蔵量２ｎｄ＿ＳＴ＿ＮＨ３をＮＨ３スリップが発生しないような値に保持するためのものである。
【０１４４】
以上のように、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔは、下流側推定ＮＨ３貯蔵量２ｎｄ＿ＳＴ＿ＮＨ３がしきい値２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷ以下で、下流側触媒６内のＮＨ３貯蔵量を低減する必要がないときには、通常制御用値Ｃｎｈ３＿ｔｒｇｔ＿ＮＭに設定される。一方、下流側推定ＮＨ３貯蔵量２ｎｄ＿ＳＴ＿ＮＨ３がしきい値２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷよりも大きく、下流側触媒６内のＮＨ３貯蔵量を低減する必要があるときには、低減制御用値Ｃｎｈ３＿ｔｒｇｔ＿ＲＤに設定される。その結果、下流側推定ＮＨ３貯蔵量２ｎｄ＿ＳＴ＿ＮＨ３は、所定しきい値２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷ以下になるように制御されることで、下流側触媒６におけるＮＨ３スリップの発生が抑制される。
【０１４５】
次に、前述したＮＨ３スリップコントローラ２８０について説明する。このＮＨ３スリップコントローラ２８０では、下式（４６）〜（５１）に示すスライディングモード制御アルゴリズムを適用したアルゴリズムを用いて、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢが算出される。
【０１４６】
【数４６】
0005250589.tif 000047
【数４７】
0005250589.tif 000048
【数４８】
0005250589.tif 000049
【数４９】
0005250589.tif 000050
【数５０】
0005250589.tif 000051
【数５１】
0005250589.tif 000052
【０１４７】
上式（４６）のＥ＿ＮＨ３＿ＳＬＩＰは追従誤差である。また、上式（４７）において、σ＿ｆｂは切換関数であり、ＰＯＬＥ＿ｆｂは、−１＜ＰＯＬＥ＿ｆｂ＜０が成立するように設定される切換関数設定パラメータである。さらに、上式（４８）において、Ｇｕｒｅａ＿ＦＢ＿ｒｎは入力和であり、Ｋｒｃｈ＿ｆｂ，Ｋｎｌ＿ｆｂは所定のフィードバックゲインであり、ｓｇｎ（σ＿ｆｂ（ｋ））は符号関数である。これに加えて、式（４８）の右辺第１項は到達則入力であり、右辺第２項は非線形入力である。すなわち、入力和Ｇｕｒｅａ＿ＦＢ＿ｒｎは、到達則入力および非線形入力の和として算出される。また、符号関数ｓｇｎ（σ＿ｆｂ（ｋ））の値は、σ＿ｆｂ（ｋ）≧０のときにはｓｇｎ（σ＿ｆｂ（ｋ））＝１となり、σ＿ｆｂ（ｋ）＜０のときにはｓｇｎ（σ＿ｆｂ（ｋ））＝−１となるように設定される。なお、この符号関数ｓｇｎ（σ＿ｆｂ（ｋ））の値を、σ＿ｆｂ（ｋ）＝０のときにｓｇｎ（σ＿ｆｂ（ｋ））＝０と設定してもよい。さらに、上式（４９）において、Ｇｕｒｅａ＿ＦＢ＿ａｄｐは適応則入力であり、Ｋａｄｐ＿ｆｂは所定のフィードバックゲインである。
【０１４８】
以上の式（４６）〜（５１）により、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢは、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔを目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔに収束させるための値として算出される。また、上式（４９），（５０）に示すように、適応則入力Ｇｕｒｅａ＿ＦＢ＿ａｄｐは、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔが正値のときには、フィードバックゲインＫａｄｐ＿ｆｂと切換関数σ＿ｆｂの乗算値を積分することによって算出され、Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＝０のときには、値０として算出される。これは、以下の理由による。ＮＨ３貯蔵量が飽和する前、すなわち、ＮＨ３スリップが発生する前に、積分項である適応則入力Ｇｕｒｅａ＿ＦＢ＿ａｄｐが過大な状態となった場合、過剰なオーバードージング状態（還元剤がＮＯｘ量に対して多すぎる状態）が発生するおそれがある。したがって、それを回避するために、上式（５０）に示すように、Ｃｎｈ３＿ｓｃｒ＿ｈａｔ＝０のときには、適応則入力Ｇｕｒｅａ＿ＦＢ＿ａｄｐが値０にリセットされる。
【０１４９】
なお、ＮＨ３スリップコントローラ２８０では、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢを、スライディングモード制御アルゴリズムを適用したアルゴリズムを用いて算出したが、これに代えて、バックステッピング制御アルゴリズム、モデル予測制御アルゴリズムおよびＰＩＤ制御アルゴリズムなどの、フィードバック制御アルゴリズムを用いて、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢを算出するように構成してもよい。  
【０１５０】
次に、図１４を参照しながら、ＥＣＵ２により実行されるＳＣＲ制御処理について説明する。この制御処理は、ユリア噴射量Ｇｕｒｅａの算出処理や選択還元触媒５の劣化判定処理などを実行するものであり、前述した所定の制御周期ΔＴで実行される。
【０１５１】
まず、ステップ１（図では「Ｓ１」と略す。以下同じ）で、ユリア故障フラグＦ＿ＵＲＥＡＮＧが「１」であるか否かを判別する。このユリア故障フラグＦ＿ＵＲＥＡＮＧは、図示しない判定処理において、ユリア噴射装置１０が故障したと判定されたときに「１」に設定され、それ以外のときには「０」に設定される。
【０１５２】
このステップ１の判別結果がＹＥＳで、ユリア噴射装置１０が故障しているときには、ユリア噴射装置１０によるユリア噴射を停止すべきであると判定して、ステップ１１に進み、ユリア噴射量Ｇｕｒｅａを値０に設定した後、本処理を終了する。
【０１５３】
一方、ステップ１の判別結果がＮＯで、ユリア噴射装置１０が正常であるときには、ステップ２に進み、触媒劣化フラグＦ＿ＳＣＲＮＧが「１」であるか否かを判別する。この判別結果がＹＥＳで、選択還元触媒５が劣化しているときには、前述したステップ１１で、ユリア噴射量Ｇｕｒｅａを値０に設定した後、本処理を終了する。
【０１５４】
一方、ステップ２の判別結果がＮＯで、ユリア選択還元触媒７が劣化していないときには、ステップ３に進み、ユリア残量Ｑｕｒｅａが所定値Ｑｒｅｆ未満であるか否かを判別する。この判別結果がＹＥＳで、ユリア残量Ｑｕｒｅａが少ないときには、ステップ１０に進み、それをドライバに報知するために、警告ブザーを起動し、警告音を発生させる。
【０１５５】
次いで、ユリア噴射を停止するために、前述したステップ１１で、ユリア噴射量Ｇｕｒｅａを値０に設定した後、本処理を終了する。なお、ステップ１０で、警告ブザーの起動に加えて、ユリア残量Ｑｕｒｅａが少ないことをドライバに報知するための警告ランプを点灯するように構成してもよい。
【０１５６】
一方、ステップ３の判別結果がＮＯで、ユリア残量Ｑｕｒｅａが多いときには、ステップ４に進み、触媒暖機タイマ値Ｔｍａｓｔが所定値Ｔｍｌｍｔよりも大きいか否かを判別する。この触媒暖機タイマ値Ｔｍａｓｔは、エンジン始動後の触媒暖機時間を計時するものである。
【０１５７】
ステップ４の判別結果がＮＯのときには、下流側触媒６がまだ活性化されておらず、ユリア噴射を停止すべきであると判定して、前述したステップ１１で、ユリア噴射量Ｇｕｒｅａを値０に設定した後、本処理を終了する。
【０１５８】
一方、ステップ４の判別結果がＹＥＳのときには、下流側触媒６が活性状態にあると判定して、ステップ５に進み、センサ正常判定フラグＦ＿ＳＮＳＯＫが「１」であるか否かを判別する。このセンサ正常判定フラグＦ＿ＳＮＳＯＫは、図示しない判定処理において、触媒温センサ２１および排ガス濃度センサ２２がいずれも正常であると判定されたときに「１」に設定され、それ以外のときには「０」に設定される。
【０１５９】
このステップ５の判別結果がＮＯで、触媒温センサ２１および排ガス濃度センサ２２の少なくとも一方が故障しているときには、ユリア噴射を停止すべきであると判定して、前述したステップ１１で、ユリア噴射量Ｇｕｒｅａを値０に設定した後、本処理を終了する。
【０１６０】
一方、ステップ５の判別結果がＹＥＳで、触媒温センサ２１および排ガス濃度センサ２２がいずれも正常であるときには、ステップ６に進み、排ガス濃度センサ活性化フラグＦ＿ＥＸＳＮＳＡＣＴが「１」であるか否かを判別する。この排ガス濃度センサ活性化フラグＦ＿ＥＸＳＮＳＡＣＴは、図示しない判定処理において、排ガス濃度センサ２２が活性化していると判定されたときに「１」に設定され、それ以外のときには「０」に設定される。
【０１６１】
このステップ６の判別結果がＮＯで、排ガス濃度センサ２２が活性化していないときには、ユリア噴射を停止すべきであると判定して、前述したステップ１１で、ユリア噴射量Ｇｕｒｅａを値０に設定した後、本処理を終了する。
【０１６２】
一方、ステップ６の判別結果がＹＥＳで、排ガス濃度センサ２２が活性化しているときには、ステップ７に進み、触媒温Ｔｓｃｒが所定の活性化判定値Ｔｓｃｒ＿ａｃｔよりも高いか否かを判別する。この判別結果がＮＯのときには、選択還元触媒５がまだ活性化されておらず、ユリア噴射を停止すべきであると判定して、前述したステップ１１で、ユリア噴射量Ｇｕｒｅａを値０に設定した後、本処理を終了する。
【０１６３】
一方、ステップ７の判別結果がＹＥＳのときには、選択還元触媒５が活性状態にあると判定して、ステップ８に進み、後述するように、ユリア噴射量Ｇｕｒｅａを算出する。次に、ステップ９で、後述するように、選択還元触媒５の劣化判定処理を実行した後、本処理を終了する。
【０１６４】
次に、図１５を参照しながら、上記ステップ８のユリア噴射量Ｇｕｒｅａの算出処理について説明する。同図に示すように、まず、ステップ２０で、前述した式（１７）〜（２１）と図１１，１２の検索結果を用いる手法により、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａを算出する。
【０１６５】
次いで、ステップ２１に進み、前述した式（２２）〜（３０）と図１１の検索結果を用いる手法により、最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔを算出する。次に、ステップ２２で、前述した式（３１）〜（３７）と図１１，１３の検索結果を用いる手法により、ゲイン修正係数ＫＶＮＳ＿ｇａｉｎを算出する。
【０１６６】
ステップ２２に続くステップ２３で、以下に述べる手法により、推定機関ＮＯｘ排出量Ｇｎｏｘ＿ｅｎｇ＿ｈａｔを算出する。まず、推定機関ＮＯｘ排出量のマップ値Ｇｎｏｘ＿ｅｎｇ＿ｂｓを算出するためのマップを、エンジン３の運転状態を表すパラメータ（エンジン回転数ＮＥ，アクセル開度ＡＰ，車速など）に応じて選択する。例えば、エンジン３が通常運転状態のときには、図１７のマップが選択される。同図において、ＮＥ１〜ＮＥ３は、エンジン回転数ＮＥの所定値であり、ＮＥ１＜ＮＥ２＜ＮＥ３が成立するように設定される。このマップでは、マップ値Ｇｎｏｘ＿ｅｎｇ＿ｂｓは、要求トルクＴＲＱＤＲＶが大きいほど、またはエンジン回転数ＮＥが高いほど、より大きい値に設定されている。これは、エンジン３の負荷が大きいほど、混合気の燃焼温度が上昇することで、ＮＯｘ排出量が増大するためと、エンジン回転数ＮＥが高いほど、単位時間当たりのＮＯｘ排出量が増大するためである。
【０１６７】
次いで、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図示しないマップを検索することにより、要求トルクＴＲＱＤＲＶを算出する。その後、上記選択されたマップを、エンジン回転数ＮＥおよび要求トルクＴＲＱＤＲＶに応じて検索することにより、推定機関ＮＯｘ排出量のマップ値Ｇｎｏｘ＿ｅｎｇ＿ｂｓを算出する。
【０１６８】
さらに、ＥＧＲ率Ｒｅｇｒに応じて、図１８に示すマップを検索することにより、ＥＧＲ補正係数Ｋｎｏｘ＿ｅｎｇを算出する。このマップでは、ＥＧＲ補正係数Ｋｎｏｘ＿ｅｎｇは、Ｒｅｇｒ＝０のときに値１に設定されているとともに、ＥＧＲ率Ｒｅｇｒが大きいほど、より小さい値に設定されている。これは、ＥＧＲ率Ｒｅｇｒが大きい場合、混合気の燃焼温度が低下することで、ＮＯｘ排出量が減少するためである。なお、ＥＧＲ率Ｒｅｇｒは図示しないＥＧＲ制御処理において算出される。
【０１６９】
そして、最終的に、下式（５２）により、推定機関ＮＯｘ排出量Ｇｎｏｘ＿ｅｎｇ＿ｈａｔを算出する。
【数５２】
0005250589.tif 000053
【０１７０】
ステップ２３で以上のように推定機関ＮＯｘ排出量Ｇｎｏｘ＿ｅｎｇ＿ｈａｔを算出した後、ステップ２４に進み、前述したように、推定ＮＨ３貯蔵率の前回値ＲＴ＿ｓｔ＿ｕｒｅａ（ｋ−１）に応じて、図９のマップを検索することにより、ＮＨ３貯蔵率補正係数Ｋｉｔａ＿ｓｔを算出する。
【０１７１】
次いで、ステップ２５に進み、前述したように、触媒温Ｔｓｃｒに応じて、図８のマップを検索することにより、基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳを算出する。
【０１７２】
次に、ステップ２６で、前述した式（２）により、推定ＮＯｘ浄化率ＩｔａＮｏｘを算出する。その後、ステップ２７に進み、前述した式（３）により、推定ＮＯｘスリップ量Ｇｎｏｘ＿ｓｃｒ＿ｈａｔを算出する。
【０１７３】
ステップ２７に続くステップ２８で、前述した式（４）により、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦを算出する。次いで、ステップ２９に進み、前述した式（５）により、ＮＨ３貯蔵量演算値ＳＴ＿Ｕｒｅａ＿ｔｅｍｐを算出する。
【０１７４】
次に、ステップ３０で、前述したように、触媒温Ｔｓｃｒに応じて、図１０のマップを検索することにより、基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳを算出する。ステップ３０に続くステップ３１で、前述した式（６）により、最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸを算出する。
【０１７５】
次いで、ステップ３２に進み、前述した式（７）〜（９）により、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａを算出する。次に、ステップ３３に進み、前述した式（１０）により、推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａを算出する。
【０１７６】
ステップ３３に続くステップ３４で、前述した式（１１），（１２）により、推定ＮＨ３スリップ量Ｇｎｈ３＿ｓｃｒ＿ｈａｔを算出する。その後、ステップ３５に進み、エンジン回転数ＮＥおよび吸気圧ＰＢに応じて、図示しないマップを検索することにより、推定排ガス量Ｇｅｘ＿ｈａｔを算出する。
【０１７７】
次いで、ステップ３６に進み、前述した式（１３）により、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔを算出する。次に、ステップ３７で、前述した式（１４）により、推定ＮＯｘスリップ濃度Ｃｎｏｘ＿ｓｃｒ＿ｈａｔを算出する。
【０１７８】
ステップ３７に続くステップ３８で、前述した式（１５）により、推定信号値ＥＸＳ＿ｈａｔを算出する。次いで、ステップ３９に進み、前述した式（１６）により、修正後信号値ＥＸＳ＿ｍｏｄを算出する。
【０１７９】
次に、ステップ４０で、前述した式（３８），（３９）により、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴを算出する。ステップ４０に続くステップ４１で、前述した式（４０）〜（４５）により、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔを算出する。
【０１８０】
次いで、ステップ４２に進み、前述した式（４６）〜（４９）により、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢを算出する。次に、前述した式（１）により、ユリア噴射量Ｇｕｒｅａを算出した後、本処理を終了する。
【０１８１】
次に、図１６を参照しながら、前述したステップ９の触媒劣化判定処理について説明する。同図に示すように、まず、ステップ５０で、Ｔｓｃｒ＿ｄ１＜Ｔｓｃｒ＜Ｔｓｃｒ＿ｄ２が成立しているか否かを判別する。この値Ｔｓｃｒ＿ｄ１は所定の判定用下限値であり、Ｔｓｃｒ＿ｄ２は所定の判定用上限値である。
【０１８２】
このステップ５０の判別結果がＮＯのときには、触媒温Ｔｓｃｒが選択還元触媒５の劣化判定に適した温度域になく、選択還元触媒５の劣化判定を実行すべきでないと判定して、そのまま本処理を終了する。
【０１８３】
一方、ステップ５０の判別結果がＹＥＳのときには、触媒温Ｔｓｃｒが選択還元触媒５の劣化判定に適した温度域にあり、選択還元触媒５の劣化判定を実行すべきであると判定して、ステップ５１に進み、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａが所定の劣化判定値ＫＶＮＳ＿ｉｔａ＿ＡＧＥＤよりも小さいか否かを判別する。この判別結果がＹＥＳのとき、すなわち、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａによる図８のモデルの修正度合が大きくなっており、モデル化誤差が大きい状態にあるときには、選択還元触媒５が劣化したと判定して、それを表すために、ステップ５２で、警告ランプ２７を点灯させ、ステップ５３で、触媒劣化判定フラグＦ＿ＳＣＲＮＧを「１」に設定する。その後、本処理を終了する。
【０１８４】
一方、ステップ５１の判別結果がＮＯのときには、ステップ５４に進み、最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔが、所定の劣化判定値ＫＶＮＳ＿ｓｔ＿ＡＧＥＤよりも小さいか否かを判別する。この判別結果がＹＥＳのとき、すなわち、最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔによる図１０のモデルの修正度合が大きくなっており、モデル化誤差が大きい状態にあるときには、選択還元触媒５が劣化したと判定して、前述したように、ステップ５２，５３を実行した後、本処理を終了する。
【０１８５】
一方、ステップ５４の判別結果がＮＯのときには、選択還元触媒５が劣化していないと判定して、それを表すために、ステップ５５で、触媒劣化判定フラグＦ＿ＳＣＲＮＧを「０」に設定する。その後、本処理を終了する。
【０１８６】
次に、図１９〜２２を参照しながら、本実施形態の排ガス浄化装置１によるＳＣＲ制御のシミュレーション結果（以下「制御結果」という）について説明する。まず、図１９および図２１は、本実施形態の排ガス浄化装置１の制御結果例を示しており、特に、図１９は、選択還元触媒５が新品であり、図８，１０のマップにおいてモデル化誤差が存在しないときの制御結果例を示しており、図２１は、選択還元触媒５が劣化し、モデル化誤差が生じたときの制御結果例を示している。
【０１８７】
一方、図２０および図２２はそれぞれ、比較のために、排ガス浄化装置１のモデル修正器２５４のみを省略した場合、すなわち３つの修正係数ＫＶＮＳ＿ｉｔａ，ＫＶＮＳ＿ｓｔ，ＫＶＮＳ＿ｇａｉｎをいずれも値１に設定した場合において、モデル化誤差が存在しないときおよびモデル化誤差が存在するときの制御結果例（以下「比較例」という）を示している。また、以上の４つの制御結果例はいずれも、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔを一定値に保持した場合のものである。さらに、図１９〜２２において、ΔＥＸＳは、推定信号値ＥＸＳ＿ｈａｔと修正後信号値ＥＸＳ＿ｍｏｄとの偏差（ＥＸＳ＿ｈａｔ−ＥＸＳ＿ｍｏｄ）であり、Ｃｎｈ３＿ａｃｔは、実際のＮＨ３スリップ濃度、すなわち選択還元触媒５を通過した排ガス中の実際のアンモニア濃度を表している。
【０１８８】
まず、図１９および図２０を参照すると明らかなように、モデル化誤差が存在しない条件下では、本実施形態の制御結果例および比較例の双方において、モデル化誤差が存在しないことに起因して、ΔＥＸＳ＝０となり、３つの修正係数ＫＶＮＳ＿ｉｔａ，ＫＶＮＳ＿ｓｔ，ＫＶＮＳ＿ｇａｉｎがいずれも値１に保持されている。これに加えて、両制御結果例において、実際のＮＨ３スリップ濃度Ｃｎｈ３＿ａｃｔは、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔに対して、一時的なオーバーシュートやアンダーシュートを生じてはいるものの、全体として目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇに一致するように制御されていることが判る。
【０１８９】
一方、モデル化誤差が存在する条件下では、図２２の比較例の場合、偏差ΔＥＸＳの一時的な急増状態が継続しており、制御精度が低いことが判る。これに加えて、実際のＮＨ３スリップ濃度Ｃｎｈ３＿ａｃｔは、一時的なオーバーシュートやアンダーシュートの部分を除いたとしても、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔに対して、全体として離間した状態が継続しており、制御精度が低いことが判る。これに対して、図２１の本実施形態の制御結果例の場合、制御の進行に伴って、偏差ΔＥＸＳの一時的な急増状態が解消しており、３つの修正係数ＫＶＮＳ＿ｉｔａ，ＫＶＮＳ＿ｓｔ，ＫＶＮＳ＿ｇａｉｎの効果により、制御精度が比較例よりも向上していることが判る。これに加えて、実際のＮＨ３スリップ濃度Ｃｎｈ３＿ａｃｔは、制御の進行に伴って、一時的なオーバーシュートやアンダーシュートの部分を除けば、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔに対して近づくように変化しており、３つの修正係数ＫＶＮＳ＿ｉｔａ，ＫＶＮＳ＿ｓｔ，ＫＶＮＳ＿ｇａｉｎの効果により、制御精度が比較例よりも向上していることが判る。
【０１９０】
以上のように、本実施形態の排ガス浄化装置１によれば、ユリア噴射量Ｇｕｒｅａが、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦ、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴおよびＦＢ噴射量Ｇｕｒｅａ＿ＦＢの和として算出される。このＦＦ噴射量Ｇｕｒｅａ＿ＦＦは、推定ＮＯｘ浄化率ＩｔａＮｏｘを用いて算出され、推定ＮＯｘ浄化率ＩｔａＮｏｘは、図８のマップを用いて算出した基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳを、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａで修正することにより算出される。したがって、図８のマップにおける触媒温Ｔｓｃｒと基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳとの関係が、選択還元触媒５における触媒温ＴｓｃｒとＮＯｘ浄化率との実際の関係に対してずれてしまい、モデル化誤差を生じたときでも、両者の関係が合致するように、モデル化誤差を補償しながら、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦを算出することができる。
【０１９１】
また、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴは、推定ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａおよび最大アンモニア貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸを用いて算出され、最大アンモニア貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸは、図１０のマップを用いて算出した基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳを、最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔで修正することによって算出される。したがって、図１０のマップにおける触媒温Ｔｓｃｒと基準最大ＮＨ３貯蔵量ＳＴ＿Ｕｒｅａ＿ＭＡＸ＿ＢＳとの関係が、選択還元触媒５における触媒温Ｔｓｃｒと最大アンモニア貯蔵量との実際の関係に対してずれてしまい、モデル化誤差を生じたときでも、両者の関係が合致するように、モデル化誤差を補償しながら、ＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴを算出することができる。それにより、選択還元触媒５において、ＮＨ３貯蔵量を適切に飽和状態に保持することができ、ＮＯｘ浄化率をその最高値に近づけることができる。
【０１９２】
さらに、排ガス濃度センサ２２の検出信号値ＥＸＳ＿ａｃｔをゲイン修正係数ＫＶＮＳ＿ｇａｉｎで修正することにより修正後信号値ＥＸＳ＿ｍｏｄが算出され、これを用いて、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦおよびＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴが算出されるので、排ガス濃度センサ２２のゲイン特性が変化したときでも、それを補償しながら、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦおよびＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴを算出することができる。以上により、ＦＦ噴射量Ｇｕｒｅａ＿ＦＦおよびＮＨ３飽和噴射量Ｇｕｒｅａ＿ＳＴの算出精度を向上させることができ、それにより、選択還元触媒５におけるＮＯｘ浄化率を向上させることができる。
【０１９３】
また、２種類の重み関数Ｗｔｉ，Ｗｒｊが触媒温Ｔｓｃｒおよび推定ＮＨ３貯蔵率ＲＴ＿ｓｔ＿ｕｒｅａに応じてそれぞれ算出され、浄化率用誤差ＥＶＮＳ＿ｉｔａを２種類の重み関数Ｗｔｉ，Ｗｒｊで重み付けすることにより、修正誤差ＷＥＶＮＳ＿ｉｔａ＿ｉｊが算出されるとともに、この修正誤差ＷＥＶＮＳ＿ｉｔａ＿ｉｊが値０になるように、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａが算出される。この場合、前述したように、浄化率用誤差ＥＶＮＳ＿ｉｔａは、触媒推定器２２０で用いている推定モデルのモデル化誤差を表すものであるので、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａは、推定モデルのモデル化誤差が値０になるように算出されることになる。したがって、そのように算出されたＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａによって、触媒推定器２２０で用いている推定モデルのモデル化誤差を精度よく補償することができる。
【０１９４】
さらに、貯蔵量用誤差ＥＶＮＳ＿ｓｔを重み関数Ｗｔｉで重み付けすることにより修正誤差ＷＥＶＮＳ＿ｓｔ＿ｉが算出され、この修正誤差ＷＥＶＮＳ＿ｓｔ＿ｉが値０になるように、最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔが算出される。この場合、前述したように、貯蔵量用誤差ＥＶＮＳ＿ｓｔは、触媒推定器２２０で用いている推定モデルのモデル化誤差を表すものであるので、最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔは、推定モデルのモデル化誤差が値０になるように算出されることになる。したがって、そのように算出された最大ＮＨ３貯蔵量修正係数ＫＶＮＳ＿ｓｔによって、触媒推定器２２０で用いている推定モデルのモデル化誤差を精度よく補償することができる。
【０１９５】
これに加えて、２種類の重み関数Ｗｔｉ，Ｗｃｊが触媒温Ｔｓｃｒおよび推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔに応じてそれぞれ算出され、２種類の重み関数Ｗｔｉ，Ｗｃｊで重み付けされた修正誤差ＷＥＶＮＳ＿ｇａｉｎ＿ｉｊが値０になるように、ゲイン修正係数ＫＶＮＳ＿ｇａｉｎが算出されるので、そのように算出されたゲイン修正係数ＫＶＮＳ＿ｇａｉｎによって、排ガス濃度センサ２２の検出信号値におけるゲイン特性の変化を精度よく補償することができる。以上により、選択還元触媒５におけるＮＯｘ浄化率をさらに向上させることができる。
【０１９６】
また、目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔは、２ｎｄ＿ＳＴ＿ＮＨ３≦２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷが成立し、下流側触媒６内のＮＨ３貯蔵量を低減する必要がないときには、通常制御用値Ｃｎｈ３＿ｔｒｇｔ＿ＮＭに設定される一方、２ｎｄ＿ＳＴ＿ＮＨ３＞２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷが成立し、下流側触媒６内のＮＨ３貯蔵量を低減する必要があるときには、低減制御用値Ｃｎｈ３＿ｔｒｇｔ＿ＲＤに設定される。それにより、下流側推定ＮＨ３貯蔵量２ｎｄ＿ＳＴ＿ＮＨ３が、しきい値２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷ以下になるように制御されるので、選択還元触媒５を通り抜けた排ガス中のアンモニアを下流側触媒６で確実に貯蔵することができ、アンモニアが下流側触媒６の下流側に通り抜けるのを回避することができる。その結果、良好な排ガス特性を確保することができる。
【０１９７】
なお、第１実施形態は、下流側触媒６として、選択還元触媒タイプのものを用いた例であるが、本発明の下流側触媒はこれに限らず、アンモニアを貯蔵できるものであればよい。例えば、下流側触媒として、酸化触媒タイプのものを用いてもよい。
【０１９８】
また、第１実施形態の前述した図６の触媒推定器２２０に代えて、図２３に示す触媒推定器３２０を用いてもよい。同図に示すように、この触媒推定器３２０の場合、触媒推定器２２０と比較すると、基準ＮＯｘ浄化率算出部３２１および乗算器３２２を除けば、触媒推定器２２０と同じように構成されているので、以下、触媒推定器２２０と同じ構成に関しては同じ符号を付し、その説明を省略するとともに、基準ＮＯｘ浄化率算出部３２１および乗算器３２２についてのみ説明する。
【０１９９】
この基準ＮＯｘ浄化率算出部３２１は、ニューラルネットワークモデルを用いて、基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳを算出するものである。この基準ＮＯｘ浄化率算出部３２１で用いるニューラルネットワークモデルは、図２４に示すように、入力層、中間層および出力層を有する階層型ニューラルネットワークモデルＮＮ’であり、入力層はｍ（ｍは２以上の整数）個のニューロン（３つのみ図示）を、中間層は４×（ｎ−１）［ｎは２以上の整数］個のニューロン（６つのみ図示）を、出力層はｍ＋１個のニューロンをそれぞれ備えている。
【０２００】
この階層型ニューラルネットワークモデルＮＮ’において、入力Ｕ’を下式（５３）に示すように４つの値を要素とするベクトルと定義すると、ｍ＝４となり、ｊ＝１〜４とすると、入力層では、下式（５４）〜（５６）に示すアルゴリズムによって、値Ｖ’１ｊが算出される。
【数５３】
0005250589.tif 000054
【数５４】
0005250589.tif 000055
【数５５】
0005250589.tif 000056
【数５６】
0005250589.tif 000057
【０２０１】
上式（５５）のｆ’は、シグモイド関数であり、上式（５６）のように定義される。上式（５６）において、β’はシグモイド関数の傾きゲインを、ε’はシグモイド関数のオフセット値をそれぞれ表している。これらの傾きゲインβ’およびオフセット値ε’は、遺伝的アルゴリズムなどの最適化アルゴリズムによって決定される。
【０２０２】
以上のように入力層で算出された値Ｖ’１ｊは、中間層に入力される。そして、中間層では、ｉ＝２〜ｎとして、下式（５７），（５８）に示すアルゴリズムによって、値Ｖ’ｉｊが算出される。
【数５７】
0005250589.tif 000058
【数５８】
0005250589.tif 000059
【０２０３】
上式（５７）のω’は重み係数であり、誤差伝播法などの学習アルゴリズムや、遺伝的アルゴリズムなどの最適化アルゴリズムによって決定される。以上のように中間層で算出された値Ｖ’ｉｊは、出力層に入力される。そして、出力層では、下式（５９）〜（６１）に示すアルゴリズムによって、出力Ｙ’が算出される。
【数５９】
0005250589.tif 000060
【数６０】
0005250589.tif 000061
【数６１】
0005250589.tif 000062
【０２０４】
上式（６０）のｇ’はシグモイド関数であり、上式（６１）のように定義される。上式（６１）において、α’はシグモイド関数の出力ゲインを、γ’はシグモイド関数の傾きゲインを、δ’はシグモイド関数のオフセット値をそれぞれ表している。これらの出力ゲインα’、傾きゲインγ’およびオフセット値δ’は、遺伝的アルゴリズムなどの最適化アルゴリズムによって決定される。
【０２０５】
そして、最終的に、下式（６２）により、基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳが算出される。
【数６２】
0005250589.tif 000063
【０２０６】
また、乗算器３２２では、下式（６３）により、推定ＮＯｘ浄化率ＩｔａＮｏｘが算出される。
【数６３】
0005250589.tif 000064
【０２０７】
この触媒推定器３２０では、以上のように、基準ＮＯｘ浄化率ＩｔａＮｏｘ＿ＢＳをＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａで修正することにより、推定ＮＯｘ浄化率ＩｔａＮｏｘが算出される。これは、ＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａで修正したニューラルネットワークモデルを用いて、推定ＮＯｘ浄化率ＩｔａＮｏｘを算出することに相当する。
【０２０８】
以上のように構成された触媒推定器３２０の場合、ニューラルネットワークモデルＮＮ’を用いて、推定ＮＯｘ浄化率ＩｔａＮｏｘが算出されるので、選択還元触媒５における実際のＮＯｘ浄化特性が非線形かつ複雑に変化したときでも、推定ＮＯｘ浄化率ＩｔａＮｏｘを、選択還元触媒５の実際のＮＯｘ浄化率により精度よく合致させることができる。これに加えて、ニューラルネットワークモデルＮＮ’でモデル化誤差が発生した場合でも、そのようなモデル化誤差をＮＯｘ浄化率修正係数ＫＶＮＳ＿ｉｔａによって補償することができる。以上により、排ガス浄化装置におけるＮＯｘ浄化率を向上させることができる。
【０２０９】
また、第１実施形態のユリア噴射コントローラ２００に代えて、図２５に示すユリア噴射コントローラ４００を用いてもよい。このユリア噴射コントローラ４００の場合、ユリア噴射コントローラ２００と比較すると、ＮＨ３スリップコントローラ２８０に代えて、ＮＨ３スリップコントローラ４８０を備えている点のみが異なっているので、以下、ユリア噴射コントローラ２００と同じ構成に関しては同じ符号を付し、その説明を省略するとともに、ＮＨ３スリップコントローラ４８０についてのみ説明する。
【０２１０】
このＮＨ３スリップコントローラ４８０では、まず、前述した式（３１）と同じ下式（６４）により、センサベース推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔが算出される。
【数６４】
0005250589.tif 000065
【０２１１】
次いで、下式（６５）〜（７０）に示すスライディングモード制御アルゴリズムを適用したアルゴリズムより、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢが算出される。
【数６５】
0005250589.tif 000066
【数６６】
0005250589.tif 000067
【数６７】
0005250589.tif 000068
【数６８】
0005250589.tif 000069
【数６９】
0005250589.tif 000070
【数７０】
0005250589.tif 000071
【０２１２】
上式（６５）のＥ＿ＮＨ３＿ＳＬＩＰ’は追従誤差であり、上式（６６）のσ＿ｆｂ’は切換関数である。また、式（６７）のＧｕｒｅａ＿ＦＢ＿ｒｎ’は、到達則入力および非線形入力の和である入力和であり、式（６８）のＧｕｒｅａ＿ＦＢ＿ａｄｐ’は、適応則入力である。以上の式（６５）〜（７０）と、前述したＮＨ３スリップコントローラ２８０の演算式（４６）〜（５１）を比較すると、前述したＮＨ３スリップコントローラ２８０の場合、追従誤差Ｅ＿ＮＨ３＿ＳＬＩＰとして、推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｈａｔと目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔとの偏差を用いているのに対して、このＮＨ３スリップコントローラ４８０の場合、追従誤差Ｅ＿ＮＨ３＿ＳＬＩＰ’として、センサベース推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔと目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔとの偏差を用いている点が異なっている。また、式（６９）において、Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔ≦０のときに、適応則入力Ｇｕｒｅａ＿ＦＢ＿ａｄｐ’を値０にリセットしているのは、前述した式（５０）の説明で述べた理由と同じである。
【０２１３】
以上のように構成されたＮＨ３スリップコントローラ４８０では、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢは、センサベース推定ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｂｓ＿ａｃｔを目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔに収束させるための値として算出される。それにより、このＮＨ３スリップコントローラ４８０を用いた場合でも、前述したＮＨ３スリップコントローラ２８０を用いた場合と同様に、選択還元触媒５における実際のＮＨ３スリップ濃度を目標ＮＨ３スリップ濃度Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔに近づけることができる。その結果、ユリア噴射コントローラ４００において、ユリア噴射コントローラ２００と同じ作用効果を得ることができる。
【０２１４】
なお、ＮＨ３スリップコントローラ４８０では、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢを、スライディングモード制御アルゴリズムを適用したアルゴリズムを用いて算出したが、これに代えて、バックステッピング制御アルゴリズム、モデル予測制御アルゴリズムおよびＰＩＤ制御アルゴリズムなどの、フィードバック制御アルゴリズムを用いて、ＦＢ噴射量Ｇｕｒｅａ＿ＦＢを算出するように構成してもよい。  
【符号の説明】
【０２１５】
１  排ガス浄化装置
２  ＥＣＵ（排ガス濃度検出手段、推定値算出手段、供給量決定手段、ＮＯｘ浄化          誤差パラメータ算出手段、ＮＯｘ浄化特性モデル修正手段、アンモニア貯蔵誤 差パラメータ算出手段、アンモニア貯蔵特性モデル修正手段、最大アンモニア          貯蔵量算出手段、アンモニア貯蔵量算出手段、ゲイン修正値算出手段、ＮＯｘ 浄化重み関数算出手段、ＮＯｘ浄化修正値算出手段、アンモニア貯蔵重み関数 算出手段、アンモニア貯蔵修正値算出手段、下流側アンモニア貯蔵量算出手段          、目標値設定手段）
３  内燃機関
４  排気通路
５  選択還元触媒
６  下流側触媒
１０  ユリア噴射装置（還元剤供給装置）
２２  排ガス濃度センサ（排ガス濃度検出手段）
２００  ユリア噴射コントローラ（供給量決定手段）
２１０  推定値算出部（推定値算出手段、ＮＯｘ浄化誤差パラメータ算出手段、ＮＯｘ 浄化特性モデル修正手段、アンモニア貯蔵誤差パラメータ算出手段、アンモニ ア貯蔵特性モデル修正手段、最大アンモニア貯蔵量算出手段、アンモニア貯蔵          量算出手段、ゲイン修正値算出手段、ＮＯｘ浄化重み関数算出手段、ＮＯｘ浄 化修正値算出手段、アンモニア貯蔵重み関数算出手段、アンモニア貯蔵修正値 算出手段）
２７０  目標ＮＨ３スリップ濃度算出部（下流側アンモニア貯蔵量算出手段、目標値設          定手段）
４００  ユリア噴射コントローラ（供給量決定手段）
ＥＸＳ＿ａｃｔ  検出信号値
ＥＸＳ＿ｍｏｄ  修正後信号値（修正された検出信号値）
ＥＸＳ＿ｈａｔ  推定信号値
Ｃｎｏｘ＿ｓｃｒ＿ｈａｔ  推定ＮＯｘスリップ濃度（ＮＯｘ濃度の推定値）
Ｃｎｈ３＿ｓｃｒ＿ｈａｔ  推定ＮＨ３スリップ濃度（アンモニア濃度の推定値）
Ｃｎｈ３＿ｓｃｒ＿ｔｒｇｔ  目標ＮＨ３スリップ濃度（所定の目標値）
ＥＶＮＳ＿ｉｔａ  浄化率用誤差（ＮＯｘ浄化誤差パラメータ）
Ｗｔｉ 触媒温重み関数（ＮＯｘ浄化重み関数、アンモニア貯 蔵重み関数）
Ｗｒｊ ＮＨ３貯蔵率重み関数（ＮＯｘ浄化重み関数）
ＫＶＮＳ＿ｉｔａ ＮＯｘ浄化率修正係数（ＮＯｘ浄化修正値）
Ｇｕｒｅａ  ユリア噴射量（還元剤の供給量）
ＥＶＮＳ＿ｓｔ  貯蔵量用誤差（アンモニア貯蔵誤差パラメータ）
ＫＶＮＳ＿ｓｔ 最大ＮＨ３貯蔵量修正係数（アンモニア貯蔵修正値）
ＫＶＮＳ＿ｇａｉｎ ゲイン修正係数（ゲイン修正値）
ＮＮ’  ニューラルネットワークモデル
ＳＴ＿Ｕｒｅａ＿ＭＡＸ  最大ＮＨ３貯蔵量（最大アンモニア貯蔵量）
ＳＴ＿Ｕｒｅａ  推定ＮＨ３貯蔵量（アンモニア貯蔵量）
Ｔｓｃｒ  触媒温（相関性パラメータ）
ＲＴ＿ｓｔ＿ｕｒｅａ  推定ＮＨ３貯蔵率（比、相関性パラメータ）
ＴＨ＿ＲＴ＿ＩＴＡＮＯＸ 所定のしきい値（所定値）
２ｎｄ＿ＳＴ＿ＮＨ３  下流側推定ＮＨ３貯蔵量（下流側アンモニア貯蔵量）
２ｎｄ＿ＳＴ＿ＮＨ３＿ＳＷ  所定しきい値
【図１】
0005250589.tif 000072
【図２】
0005250589.tif 000073
【図３】
0005250589.tif 000074
【図４】
0005250589.tif 000075
【図５】
0005250589.tif 000076
【図６】
0005250589.tif 000077
【図７】
0005250589.tif 000078
【図８】
0005250589.tif 000079
【図９】
0005250589.tif 000080
【図１０】
0005250589.tif 000081
【図１１】
0005250589.tif 000082
【図１２】
0005250589.tif 000083
【図１３】
0005250589.tif 000084
【図１４】
0005250589.tif 000085
【図１５】
0005250589.tif 000086
【図１６】
0005250589.tif 000087
【図１７】
0005250589.tif 000088
【図１８】
0005250589.tif 000089
【図１９】
0005250589.tif 000090
【図２０】
0005250589.tif 000091
【図２１】
0005250589.tif 000092
【図２２】
0005250589.tif 000093
【図２３】
0005250589.tif 000094
【図２４】
0005250589.tif 000095
【図２５】
0005250589.tif 000096