(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けられた触媒の上流側に燃料を間欠噴射するインジェクタと、当該インジェクタよりも下流側の排気の空燃比に応じた信号を発生する空燃比センサと、を備えた内燃機関の排気浄化システムであって、
前記空燃比センサの出力値を所定のサンプリング周期で取得するサンプリング手段と、
当該サンプリング手段によって取得された出力値の所定の移動平均区間にわたる平均値を算出する移動平均値算出手段と、
前記平均値に基づいて前記インジェクタの燃料噴射量を算出する噴射量算出手段と、
前記サンプリング周期の整数倍に設定された噴射周期及び前記算出された燃料噴射量に応じて前記インジェクタを駆動する間欠噴射実行手段と、
前記サンプリング周期に所定の整数である噴射周期パラメータを乗じたものを前記間欠噴射の噴射周期として算出する噴射周期算出手段と、
前記内燃機関を搭載した車両の状態に応じて前記噴射周期パラメータをステップ状に変化させる噴射周期パラメータ設定手段と、を備えることを特徴とする内燃機関の排気浄化システム。
【請求項２】
前記移動平均値算出手段は、前記噴射周期パラメータを前記移動平均区間に対応するタップ数として平均値を算出することを特徴とする請求項１に記載の内燃機関の排気浄化システム。
【請求項３】
前記触媒のＨＣ酸化能力を推定する推定手段と、
前記噴射周期パラメータ設定手段は、前記推定手段による推定結果に応じて前記噴射周期パラメータをステップ状に変化させることを特徴とする請求項２に記載の内燃機関の排気浄化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気浄化システムに関する。より詳しくは、排気管内に設けられた排気浄化触媒と、排気浄化触媒の上流側に燃料を噴射する排気燃料インジェクタとを備えた、所謂排気燃料噴射式の排気浄化システムに関する。
【背景技術】
【０００２】
図３３は、排気燃料噴射式の排気浄化システム１００の構成を示す図である。排気浄化システム１００は、排気管１０１内に燃料を噴射する排気燃料インジェクタ１０２と、リーン運転中に排気に含まれるＮＯｘを吸蔵し、インジェクタ１０２から燃料が噴射されると、これを還元剤としてＮＯｘを還元する排気浄化触媒（以下、ＬＮＴ（Lean  NOx  Trap）という）１０４と、ＬＮＴ１０４の下流側の排気の空燃比を検出するＬＡＦセンサ１０５と、を備える。
【０００３】
近年では、インジェクタ１０２から燃料を５Ｈｚ以上の周期で間欠的に噴射すると、ＬＮＴ１０４では炭化水素由来の中間生成物が生成され、この中間生成物によって高い浄化率でＮＯｘを連続的に浄化できることが知られている（例えば、特許文献１、２参照）。
【０００４】
図３４は、排気燃料噴射量（上記間欠噴射によってインジェクタ１０２から単位時間当たりに噴射される燃料量）と、ＬＮＴ１０４によるＮＯｘ浄化率、ＬＮＴ１０４からのＨＣスリップ量、及びＬＮＴ１０４における中間生成物の生成量との関係を示す図である。図３４に示すように、排気燃料噴射量を増やすとＮＯｘ浄化率も上昇する。しかしながら、ＬＮＴ１０４における中間生成物の生成量には限りがあることから、排気燃料噴射量が、生成量の増加が鈍化し始める量を超えると、ＮＯｘの浄化に寄与する中間生成物になれなかった燃料がＨＣとしてＬＮＴ１０４の下流側へ排出される。このため、ＮＯｘ浄化率をできるだけ高くしながら、かつＨＣスリップ量をできるだけ抑制するためには、排気燃料噴射量は、ＨＣスリップが開始するＧ２で示す量か又はＧ２よりもやや多い量に制御することが好ましい。
【０００５】
図３４において、Ｇ２又はＧ２よりもやや大きな領域に排気燃料噴射量を制御するためには、誤って過大なＨＣスリップが発生するのを防止するため、ＨＣスリップを検出できるセンサが必要となるが、現存する車載センサには排気中のＨＣを検出できるものは存在しない。このため従来は、排気燃料噴射量をＧ２又はＧ２よりもやや大きな領域へ積極的に制御することはできず、過大なＨＣスリップの発生を確実に防止できるようにＧ２よりも少ないＧ１程度まで抑制せざるを得なかった。
【０００６】
図３５は、ＬＮＴの酸化能力と、ＮＯｘ浄化率及び中間生成物の生成量との関係を示す図である。なお図３５の例では、排気燃料噴射量を一定に保ちながらＬＮＴの酸化能力のみを変化させた場合を示す。図３５に示すように、中間生成物の生成量とＮＯｘ浄化率とはほぼ同じ変化を示す。すなわち、ＬＮＴにおけるＮＯｘ浄化率は、中間生成物の生成量が増加するほど高くなる。
【０００７】
ＬＮＴの酸化能力が図３５のハッチングで示す領域Ox_opより弱くなると、ＬＮＴにおける中間生成物の生成量は減少する。また、ＬＮＴの酸化能力が同じ領域Ox_opより強くなった場合も、ＬＮＴにおける中間生成物の生成量は減少する。これは、酸化能力が強くなると、供給された燃料がＬＮＴにおいてＣＯ２とＨ２Ｏに直接酸化されてしまうからである。このため、排気燃料噴射量を一定に保ちながら酸化能力のみを変化させると、中間生成物の生成量は図３５に示すように上に凸の特性を示す。
【０００８】
また、中間生成物の生成量が最大近傍となる領域Ox_opの位置は、排気燃料噴射量に応じて変化する。このため、ＮＯｘ浄化率が高い状態を維持するためには、ＬＮＴの酸化能力を、排気燃料噴射量に応じて定まる最適な領域Ox_op内に制御する必要があるが、ＬＮＴの酸化能力はその劣化度合いや担体温度等によって変化するため、困難である。
【０００９】
また、中間生成物の生成量が最大近傍となる領域Ox_opは、上述のようにＬＮＴの酸化性能と排気燃料噴射量との関係で定まることから、ＨＣスリップが開始する排気燃料噴射量Ｇ２（上述の図３４参照）は、ＬＮＴの酸化性能に応じて変化することを意味する。このため、ＬＮＴの下流側に設けられたＬＡＦセンサの出力を用いたフィードバック制御によって、ＬＮＴの酸化能力を考慮しながら、排気燃料噴射量をＨＣスリップが開始するＧ２又はＧ２よりもやや多い量に制御することが考えられる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１３−１５１１７号公報
【特許文献２】特開２０１２−６２８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところが、インジェクタから排気中に燃料を数Ｈｚ程度の噴射周期で間欠噴射する場合、以下のような課題がある。
図３６は、間欠噴射を行った場合におけるＬＡＦセンサの出力値の変化を示す図である。図３６の最上段に示すような態様でインジェクタから燃料を間欠噴射すると、図３６の上から２段目に示すように、このインジェクタより下流側に設けられるＬＡＦセンサの出力値も大きく変化してしまう。このため、ＬＡＦセンサの出力を用いたフィードバック制御を構築する場合、フィルタを用いることによってＬＡＦセンサの出力値から間欠噴射に起因する余計な出力変動を抑制する必要がある。
【００１２】
図３６の上から３段目及び４段目は、それぞれバンドパスフィルタ及びローパスフィルタを通して得られたＬＡＦセンサの出力を示す図である。間欠噴射の噴射周波数が阻止帯域に含まれるようにバンドパスフィルタ及びローパスフィルタを調整しても、図３６に示すように、間欠噴射による変動成分を取り除くことはできない。これは、燃料を間欠的に噴射した結果、ＬＡＦセンサの出力値は噴射周波数に応じた正弦波というよりものこぎり波に近くなってしまうためであると考えられる。
【００１３】
本発明は、燃料が間欠噴射されるインジェクタの下流側に設けられた空燃比センサの出力値から、間欠噴射に起因する変動成分を除去し、安定した出力の下でフィードバック制御を行うことができる内燃機関の排気浄化システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
（１）本発明の内燃機関（例えば、後述のエンジン１）の排気浄化システム（例えば、後述の排気浄化システム２，２Ｂ）は、内燃機関の排気通路（例えば、後述の排気通路１１）に設けられた触媒（例えば、後述のＬＮＴ）の上流側に燃料を間欠噴射するインジェクタ（例えば、後述の排気燃料インジェクタ４５２）と、当該インジェクタよりも下流側の排気の空燃比に応じた信号を発生する空燃比センサ（例えば、後述の触媒後ＬＡＦセンサ５２）と、前記空燃比センサの出力値を所定のサンプリング周期（例えば、後述の制御周期ΔTex）で取得するサンプリング手段（例えば、後述のＥＣＵ３，３Ｂ）と、当該サンプリング手段によって取得された出力値（AFact_ds）の所定の移動平均区間にわたる平均値を算出する移動平均値算出手段（例えば、後述のＥＣＵ３，３Ｂ）と、前記平均値（AFact_mav_ds）に基づいて前記インジェクタの燃料噴射量を算出する噴射量算出手段（例えば、後述のＥＣＵ３，３Ｂ）と、前記サンプリング周期の整数倍に設定された噴射周期（Tfuel_ex）及び前記算出された燃料噴射量（Gfuel_ex）に応じて前記インジェクタを駆動する間欠噴射実行手段（例えば、後述のＥＣＵ３，３Ｂ）と、を備える。
【００１５】
（２）この場合、前記排気浄化システムは、前記サンプリング周期（ΔTex）に所定の整数である噴射周期パラメータ（Nex）を乗じたものを前記間欠噴射の噴射周期として算出する噴射周期算出手段（例えば、後述のＥＣＵ３，３Ｂ）と、前記機関を搭載した車両の状態（例えば、触媒の温度、排気ボリューム、触媒の劣化度合い、及びエンジンの負荷等）に応じて前記噴射周期パラメータをステップ状に変化させる噴射周期パラメータ設定手段（例えば、後述のＥＣＵ３，３Ｂ）をさらに備え、前記移動平均値算出手段は、前記噴射周期パラメータを前記移動平均区間に対応するタップ数として平均値を算出することが好ましい。
【００１６】
（３）この場合、前記排気浄化システムは、前記触媒のＨＣ酸化能力を推定する推定手段（例えば、後述のＥＣＵ３，３Ｂ）と、前記噴射周期パラメータ設定手段は、前記推定手段による推定結果（例えば、後述の酸化能力パラメータ）に応じて前記噴射周期パラメータをステップ状に変化させることが好ましい。
【発明の効果】
【００１７】
（１）インジェクタから燃料を所定の噴射周波数（又は噴射周期）で間欠噴射すると、その下流側に設けられた空燃比センサの生の出力は、噴射周波数の単純な正弦波というよりも、矩形波やのこぎり波に近くなる（上述の図３６参照）。すなわち、間欠噴射下における空燃比センサの生の出力は、噴射周波数成分だけでなく、様々な周波数成分を含んだものとなっている。本発明では、空燃比センサの出力値を所定のサンプリング周期で取得し、取得した値の所定の移動平均区間にわたる平均値を算出し、この平均値を用いてインジェクタの燃料噴射量を算出する。これに加えて本発明では、上記サンプリング周期の整数倍を間欠噴射の噴射周期とする。すなわち本発明では、空燃比センサの移動平均フィルタに関する制御パラメータとインジェクタの間欠噴射に関する制御パラメータとを、組み合わせて設定することにより、空燃比センサの出力に含まれている余分な変動成分を除去できる。またこのような変動成分が除去された平均値を用いることにより、触媒におけるＮＯｘ浄化率及び下流側へのＨＣ排出量が最適化されるように安定して燃料噴射量を算出することができる。
【００１８】
（２）本発明では、サンプリング周期に噴射周期パラメータを乗じたものを間欠噴射の噴射周期とし、さらにこの噴射周期の長さを指定する噴射周期パラメータと移動平均を算出するためのタップ数とする。このように、噴射周期とタップ数とを整数の噴射周期パラメータで関連付けることにより、空燃比センサの余分な変動成分を除去できる。また本発明では、車両の状態に応じて噴射周期パラメータをステップ状に変化させる。これにより、噴射周期を車両の状態に応じた長さに可変させながら、同時に空燃比センサの余分な変動成分を除去できる。
【００１９】
（３）本発明では、触媒のＨＣ酸化能力に応じて噴射周期パラメータをステップ状に変化させる。これにより、触媒のＨＣ酸化能力の変化に応じて、間欠噴射の噴射周期と移動平均区間とを同時にステップ状に変化させることができる。これにより、間欠噴射の噴射周期及び燃料噴射量を、触媒のＨＣ酸化能力の変化に応じて適切に制御でき、ひいては触媒におけるＮＯｘ浄化率及び下流側へのＨＣ排出量を最適化できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態に係るエンジン及びその排気浄化システムの構成を示す図である。
【図２】本発明のフィルタリング方法によって得られるＬＡＦセンサのフィルタ値の変化を示す図である。
【図３】排気燃料噴射システムによってＮＯｘを浄化している時における排気燃料噴射量と、ＬＮＴのＮＯｘ浄化率と、ＬＮＴからのＨＣスリップ量と、ＬＮＴにおける中間生成物の生成量との関係を示す図である。
【図４】触媒後ＬＡＦセンサの出力値（縦軸）と、その真値（横軸）との関係を示す図である。
【図５】ＮＯｘ浄化パラメータを利用したフィードバック制御の概念を説明するための図である。
【図６】各気筒の燃料噴射弁による燃料噴射態様を決定する筒内燃料噴射制御の具体的な手順を示すメインフローチャートである。
【図７】ストイキ運転条件判断処理の具体的な手順を示すフローチャートである。
【図８】ストイキモードフラグを更新するためのマップ（三元浄化モード時用）の一例である。
【図９】ストイキモードフラグを更新するためのマップ（併用モード時用）の一例である。
【図１０】付加噴射燃料量算出処理の具体的な手順を示すフローチャートである。
【図１１】付加噴射燃料量を決定するマップの一例である。
【図１２】付加噴射比率を決定するマップの一例である。
【図１３】目標触媒前空燃比算出処理の具体的な手順を示すフローチャートである。
【図１４】排気燃料噴射浄化運転中における目標触媒前空燃比を決定するマップの一例である。
【図１５】空燃比補正係数を決定する触媒前空燃比フィードバック演算の具体的な手順を示すフローチャートである。
【図１６】目標触媒後空燃比を決定する触媒後空燃比フィードバック演算の具体的な手順を示すフローチャートである。
【図１７】弱リッチモードの下で目標触媒後空燃比を決定するマップの一例である。
【図１８】三元浄化目標空燃比を決定するマップの一例である。
【図１９】還元処理完了フラグを更新する弱リッチモード終了判定処理の具体的な手順を示すフローチャートである。
【図２０】弱リッチモード終了判定処理の具体例を示すタイムチャートである。
【図２１】排気燃料インジェクタによる排気燃料の噴射態様を決定する排気燃料噴射制御の具体的な手順を示すメインフローチャートを示す図である。
【図２２】図２１のフローチャートの続きである。
【図２３】基準排気燃料噴射量を決定するマップの一例である。
【図２４】間欠噴射パラメータ設定処理の具体的な手順を示すフローチャートである。
【図２５】噴射周期パラメータを決定するマップの一例である。
【図２６】適応係数算出処理（ＨＣスリップフィードバック制御時用）の具体的な手順を示すフローチャートである。
【図２７】ＮＯｘ量用重み関数値（上段）及びＬＮＴ温度用重み関数値（下段）を算出するためのマップの一例である。
【図２８】適応係数算出処理（ＨＣスリップ抑制モード時用）の具体的な手順を示すフローチャートである。
【図２９】排気燃料噴射システムの故障判定処理の具体的な手順を示すフローチャートである。
【図３０】間欠噴射制御の具体的な手順を示すフローチャートである。
【図３１】間欠噴射制御の具体例を示すタイムチャートである。
【図３２】本発明の第２実施形態に係るエンジン及びその排気浄化システムの構成を示す図である。
【図３３】従来の排気燃料噴射式の排気浄化システムの構成を示す図である。
【図３４】排気燃料噴射量と、ＮＯｘ浄化率、ＨＣスリップ量、及び中間生成物の生成量との関係を示す図である。
【図３５】ＬＮＴの酸化能力と、ＮＯｘ浄化率及び中間生成物の生成量との関係を示す図である。
【図３６】間欠噴射を行った場合におけるＬＡＦセンサの出力値の変化を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の第１実施形態を、図面を参照しながら説明する。
図１は、本実施形態に係る内燃機関（以下、「エンジン」という）１及びその排気浄化システム２の構成を示す図である。エンジン１は、燃焼空燃比をストイキよりもリーンとする所謂リーン燃焼を基本としたもの、より具体的にはディーゼルエンジンやリーンバーンガソリンエンジンなどである。
【００２２】
排気浄化システム２は、エンジン１の排気通路１１に設けられたリーンＮＯｘ触媒（以下、「ＬＮＴ」という）４１及び排気浄化フィルタ４３と、排気通路１１中に燃料を噴射する排気燃料噴射装置４５と、エンジン１及び排気燃料噴射装置４５を制御する電子制御ユニット（以下、「ＥＣＵ」という）３と、を含んで構成される。
【００２３】
エンジン１には、各シリンダに燃料を噴射する燃料噴射弁１３が設けられている。これら燃料噴射弁１３は、図示しない駆動装置を介してＥＣＵ３に接続される。ＥＣＵ３は、後に図６〜２０を参照して説明する筒内燃料噴射制御によって燃料噴射弁１３からの燃料噴射量及び燃料噴射時期等を決定し、駆動装置は、決定された燃料噴射態様が実現されるように燃料噴射弁１３を駆動する。
【００２４】
ＬＮＴ４１は、酸化機能と、ＤｅＮＯｘ機能と、三元浄化機能との少なくとも３つの機能を備える。ここで酸化機能とは、燃焼空燃比をストイキよりリーンとするリーン運転中において、排気に含まれるＨＣ及びＣＯを酸化する機能をいう。ＤｅＮＯｘ機能とは、排気の空燃比がストイキよりリーンであるときに排気に含まれるＮＯｘを吸蔵し、排気燃料噴射装置４５からの排気燃料噴射や燃料噴射弁１３からのポスト噴射等によって排気中に燃料が供給されると、これを還元剤としてＮＯｘを還元する機能をいう。また三元浄化機能とは、燃焼空燃比をストイキにするストイキ運転中に、排気に含まれるＨＣ、ＣＯ及びＮＯｘを合わせて浄化する機能をいう。
【００２５】
以上のように、排気中のＮＯｘは、リーン運転中はＬＮＴ４１のＤｅＮＯｘ機能を利用して浄化でき、ストイキ運転中はＬＮＴ４１の三元浄化機能を利用して浄化できる。ここで、ＤｅＮＯｘ機能を利用してＮＯｘを浄化した場合と、三元浄化機能を利用してＮＯｘを浄化した場合とを比較すると、三元浄化機能を利用した場合の方が効率的にＮＯｘを浄化できる。そこで、例えば高負荷運転時であってエンジン１から排出されるＮＯｘ量が多くなる場合や、ＬＮＴ４１が活性に達しておらず十分にＤｅＮＯｘ機能を発揮できない場合等には、三元浄化機能を利用して排気を浄化すべく、リーン運転からストイキ運転に切り替えられる（例えば、後述の図７等参照）。
【００２６】
排気浄化フィルタ４３は、排気がフィルタ壁の微細な孔を通過する際、排気中の炭素を主成分とするＰＭを、フィルタ壁の表面及びフィルタ壁中の孔に堆積させることによって捕集する。フィルタ壁の構成材料としては、例えば、チタン酸アルミニウムやコージェライトなどを材料とした多孔質体が使用される。また、ＬＮＴ４１からスリップしたＨＣが排気浄化システム２の外へ排出されるのを防止するため、排気浄化フィルタ４３のフィルタ壁には、排気中のＨＣを酸化するＨＣ酸化触媒を設けられる。以下では、このような触媒が担持された排気浄化フィルタ４３について、「ＣＳＦ」との略称を用いる。
【００２７】
ところで、排気通路１１は、図示しないエンジンルーム内に位置する区間（エンジン直下区間）と、図示しない車両の床下に位置する区間（床下区間）とに分けられる。直下区間は、床下区間よりもエンジン１に近い。したがって、直下区間は、床下区間よりも平均温度が高くまたエンジン１の始動後の温度上昇も速やかである。そこで、上記酸化機能、三元浄化機能、及びＤｅＮＯｘ機能をできるだけ有利に発揮させるため、ＬＮＴ４１は、排気通路１１のうち直下区間内に設けられる。
【００２８】
ＣＳＦ４３の捕集能力の限界までＰＭを捕集すると、圧損が大きくなる。このため、捕集したＰＭを燃焼除去し、ＣＳＦ４３のフィルタ機能を再生する強制再生処理が適宜実行される。この強制再生処理では、例えばポスト噴射や排気燃料噴射装置４５からの燃料噴射を実行し、ＣＳＦ４３に流入する排気を昇温することにより、堆積していたＰＭを短時間で燃焼除去する。
【００２９】
排気燃料噴射装置４５は、燃料が貯蔵される燃料タンク４５１と、排気通路１１のうちＬＮＴ１１の上流側に設けられた排気燃料インジェクタ４５２と、燃料タンク４５１内の燃料をインジェクタ４５２に圧送する加圧ポンプ４５３と、を備える。この排気燃料インジェクタ４５２は、図示しない駆動装置を介して、ＥＣＵ３に電磁的に接続されている。ＥＣＵ３は、ＬＮＴ４１のＤｅＮＯｘ機能を利用して排気を浄化する場合には、例えば後述の図２１，２２に示す排気燃料噴射制御によって排気燃料インジェクタ４５２からの単位時間当たりの燃料噴射量及び噴射周期等の排気燃料噴射態様を決定し、駆動装置は、決定された排気燃料噴射態様が実現するように排気燃料インジェクタ４５２を駆動する。
【００３０】
ところで、近年では、排気燃料インジェクタ４５２から燃料を噴射し、ＬＮＴ４１のＤｅＮＯｘ機能を利用してＮＯｘを還元する際、排気燃料インジェクタ４５２からの排気燃料噴射量を、後述の図３１に示すように５Ｈｚ以上の周期で所定の範囲内で増減し、ＬＮＴ４１に流入する排気の炭化水素濃度を振動させると、ＬＮＴ上では炭化水素由来の中間生成物が生成され、この中間生成物によって高い浄化率で排気中のＮＯｘを連続的に浄化できることが知られている。ただし、ＬＮＴ４１の担体温度が約３５０℃以下である状態で上述のような態様で燃料を噴射すると、ＮＯｘの浄化に寄与しない不必要な成分（例えば、Ｎ２Ｏ）が生成され、ＬＮＴ４１の下流側へ排出してしまう場合がある。そこで、排気燃料噴射制御では、ＬＮＴ４１の担体温度が約３５０℃以上であって、６３０〜７００℃程度の上限温度以下である場合にのみ、上述のように燃料を間欠噴射する。
【００３１】
なお以下では、排気燃料噴射装置４５とＬＮＴ４１とを合わせたものを総称して排気燃料噴射システムという。また、上述のように排気燃料インジェクタ４５２から燃料を間欠的に噴射することによって、ＬＮＴ４１において中間生成物を生成させながら、ＬＮＴ４１に流入する排気中のＮＯｘを連続的に浄化することを排気燃料噴射浄化運転という。
【００３２】
ＥＣＵ３には、排気通路１１内の状態やエンジン１の状態を検出するためのセンサとして、触媒前ＬＡＦセンサ５１、触媒後ＬＡＦセンサ５２、触媒前温度センサ５３、触媒後温度センサ５４、クランク角度位置センサ５５、アクセル開度センサ５６、エアフローセンサ５７、及び大気温度センサ５８等が接続されている。
【００３３】
触媒前ＬＡＦセンサ５１は、排気通路１１のうちＬＮＴ４１及び排気燃料インジェクタ４５２より上流側に設けられる。触媒前ＬＡＦセンサ５１は、ＬＮＴ４１の上流側であって、排気燃料インジェクタ４５２から燃料が噴射される前の排気の空燃比（排気中の酸素に対する燃料成分の比）を検出し、検出値に略比例した信号をＥＣＵ３に送信する。触媒後ＬＡＦセンサ５２は、排気通路１１のうちＬＮＴ４１とＣＳＦ４３との間に設けられる。触媒後ＬＡＦセンサ５２は、ＬＮＴ４１とＣＳＦ４３の間の排気の空燃比を検出し、検出値に略比例した信号をＥＣＵ３に送信する。なおこれらＬＡＦセンサ５１，５２から出力される信号は、リッチな領域からリーンな領域までの間でリニアな特性を有する。
【００３４】
これらＬＡＦセンサ５１，５２の検出素子５１ａ，５２ａには、素子５１ａ，５２ａを加熱するヒータ（図示せず）が内蔵されている。ＥＣＵ３は、後述の排気燃料噴射制御（図２１参照）によって触媒前ＬＡＦセンサ５１の目標温度（Tcmd_laf_up）及び触媒後ＬＡＦセンサ５２の目標温度（Tcmd_laf_ds）をそれぞれ独立して設定するとともに、図示しない温度制御処理によって上記設定された目標温度が実現するように各々のヒータ電流値を制御する。また、これら検出素子５１ａ，５２ａの表層には、排気中のＨＣ酸化機能を有する白金等の酸化材が設けられている。
【００３５】
触媒前温度センサ５３は、排気通路１１のうちＬＮＴ４１より上流側に設けられ、触媒後温度センサ５４は、排気通路１１のうちＬＮＴ４１より下流側に設けられる。これら温度センサ５３，５４は、それぞれＬＮＴ４１に流入する排気及びＬＮＴ４１から流出する排気の温度を検出し、検出値に略比例した信号をＥＣＵ３に送信する。両センサ５４，５４の間に設けられるＬＮＴ４１の担体温度の推定値は、ＥＣＵ３によって、例えばこれら温度センサ５３，５４の出力の重み付き平均値として算出される。
【００３６】
クランク角度位置センサ５５は、エンジン１のクランク軸の回転角度を検出するとともに、所定のクランク角ごとにパルスを発生し、そのパルス信号をＥＣＵ３に送信する。エンジン１の回転数は、このパルス信号に基づいてＥＣＵ３により算出される。アクセル開度センサ５６は、車両の図示しないアクセルペダルの踏み込み量（以下、「アクセル開度」という）を検出し、検出値に略比例した検出信号をＥＣＵ３に送信する。ＥＣＵ３は、これらアクセル開度及びエンジン回転数等に応じて、ドライバ要求トルクを算出する。エアフローメータ５７は、吸気通路１２に設けられる。エアフローメータ５７は、吸気通路１２を流通する吸入空気量を検出し、検出値に略比例した信号をＥＣＵ３に送信する。ＥＣＵ３は、この吸入空気量に応じて排気ボリュームを算出する。
【００３７】
次に、上述のような間欠噴射を行う排気燃料噴射システムに固有の課題と、この課題を解決する方法について、図３６及び図２を参照して説明する。
図３６は、排気燃料インジェクタによって５Ｈｚ以上の噴射周期で間欠噴射を行った場合における触媒後ＬＡＦセンサの出力値の変動を示す図である。図３６の最上段は、単位時間当たりに排気燃料インジェクタから噴射される燃料量である排気燃料噴射量[mg/sec]を示し、上から２段目以下はＬＮＴの下流側の空燃比[A/F]に相当する触媒後ＬＡＦセンサの出力値を示す。上から２段目はフィルタ無しの出力(AFact_ds)、上から３段目及び最下段は後述のフィルタを通した出力(AFact_flt_ds)を示す。なお図３６には、触媒後ＬＡＦセンサの出力値を実線で示し、混合気の空燃比を破線で示す。また図３６に示す例では、混合気の空燃比を一定に保ったまま、時刻ｔ１において噴射時間（１噴射周期に噴射される燃料量）を増加させ、さらに時刻ｔ２，ｔ３において噴射周期を短くした場合を示す。
【００３８】
ＬＮＴにおいてＮＯｘの浄化に寄与する中間生成物が生成されるように、５Ｈｚ程度の低い周波数で燃料を間欠的に噴射すると、排気燃料インジェクタより下流側の排気中には燃料の濃い部分と薄い部分とが交互に表れる。そしてこの間欠噴射に起因する燃料の濃淡は、ＬＮＴを通過した後の排気中にも表れ、結果として図３６において上から２段目に示すような空燃比の変動として触媒後ＬＡＦセンサによって検出される。ＬＮＴにおいて中間生成物を生成しながら排気中のＮＯｘを連続的に還元するためには、このような大きな空燃比変動を伴う間欠噴射を行う必要がある。
【００３９】
ところが、ＬＡＦセンサの出力値に間欠噴射に起因する変動成分が残ったままであると、ＬＡＦセンサの出力値に基づいて後述のＨＣフィードバック制御を精度良く行うことができず、結果として十分な効率でＮＯｘを浄化することができなくなってしまう。そこで、このＨＣフィードバック制御を行う場合には、ＬＡＦセンサの出力から間欠噴射に起因する空燃比変動を除去し、図３６において一点鎖線で示すような安定した出力を得る必要がある。なお、図３６中の一点鎖線は、間欠的に噴射された燃料が排気管内及びＬＮＴ上で十分に混合したと仮定した場合におけるＬＮＴの下流側の排気の空燃比であり、後述の理想排気空燃比に相当する。
【００４０】
このようなＬＡＦセンサの出力の変動を抑制する手段として、間欠噴射の噴射周波数(Ffuel_ex)近傍の成分を遮断するバンドパスフィルタや、噴射周波数以上の成分を遮断するローパスフィルタを用いることが考えられる。これらフィルタは、ＬＡＦセンサの出力AFact_dsに下記式（１）に示す演算を施すことによって実現できる。下記式（１）において、AFact_flt_dsはフィルタ値であり、a1,a2,b1,b2は所望のフィルタ特性を得るために調整されるフィルタ係数であり、mは排気燃料噴射システムの制御時刻である。なお、排気燃料噴射システムの制御周期、すなわちＥＣＵによるＬＡＦセンサの出力値のサンプリング周期ΔTexは、例えば10〜50[msec]であり、噴射周期よりも短い。
【数１】
0005902727.tif 000002
【００４１】
図３６の上から３段目及び最下段は、上記式（１）によって得られるフィルタ値を示す。図３６に示すように、バンドパスフィルタを用いても、ＬＡＦセンサの出力から周期的な変動成分を除去することはできない。これは、図３６の上から２段目に示すように、ＬＡＦセンサの出力AFact_dsが、噴射周波数の単純な正弦波というよりも、様々な周波数成分を含んだのこぎり波となっているためであると考えられる。
【００４２】
また、ローパスフィルタを用いた場合、バンドパスフィルタを用いた場合よりも高周波数成分を除去できる。しかしながら、このフィルタ値をフィードバック制御に用いるためには大きな位相遅れが生じないようにしなければならないが、この点を考慮するとカットオフ周波数を過剰に下げることはできず、結果として図３６に示すように噴射周波数程度の変動成分を十分に除去することはできない。
【００４３】
次に、このような課題を解決する本発明のフィルタリング方法について説明する。
第１に、本発明のフィルタリング方法では、２つの独立したパラメータであるサンプリング周期ΔTexと排気燃料噴射周期Tfuel_ex(m)又は排気燃料噴射周波数Ffuel_ex(m)(=1/Tfuel_ex(m))とを、１より大きな正の整数である噴射周期パラメータNex(m)によって関連付ける。換言すれば、排気燃料噴射システムにおいて触媒後ＬＡＦセンサの出力値を取得する周期ΔTexに、整数Nex(m)を乗じたものを間欠噴射の噴射周期Tfuel_ex(m)として設定する。
【数２】
0005902727.tif 000003
【００４４】
例えば、制御周期ΔTexを10[msec]とし噴射周期パラメータNexを20とした場合、噴射周期Tfuel_exは200[msec]となり噴射周波数Ffuel_exは5[Hz]となる。また、制御周期ΔTexを10[msec]とし噴射周期パラメータNexを18とした場合、噴射周期Tfuel_exは180[msec]となり噴射周波数Ffuel_exは5.555...[Hz]となる。
【００４５】
第２に、本発明のフィルタリング方法では、排気燃料噴射周期Tfuel_ex(m)を設定するために導入される噴射周期パラメータNex(m)をタップ数とした移動平均フィルタによって、ＬＡＦセンサの出力値AFact_ds(m)のフィルタ値AFact_mav_ds(m)を算出する（下記式（３））参照。
【数３】
0005902727.tif 000004
【００４６】
第３に、本発明のフィルタリング方法では、正の整数である噴射周期パラメータNexをステップ状に変化させることによって、噴射周期Tfuel_exもステップ状に変化させる。これによって、常に上記式（２）が成立するように噴射周期パラメータNex及び噴射周期Tfuel_exを変化させる。
【００４７】
図２は、本発明のフィルタリング方法によって得られるＬＡＦセンサのフィルタ値AFact_mav_dsの変化を示す図である。なお、排気燃料噴射量は図３６に示す例と同じように変化させた。図２に示すように、本発明のフィルタリング方法によれば、間欠噴射に起因する変動成分は完全に除去され、破線で示す理想排気空燃比とほぼ一致する。特に、時刻ｔ１、ｔ２では理想排気空燃比が変化し、時刻ｔ２、ｔ３では噴射周波数が変化するが、フィルタ値AFact_mav_dsはこれらの変化に対し大きく遅れることなく追従する。以上のようなフィルタリング方法によって得られるＬＡＦセンサの出力を用いたフィードバック制御の具体例については、後に図２１，２２等を参照して説明する。
【００４８】
次に、図３〜図５を参照して本発明の排気燃料噴射制御の概念について説明する。
図３は、排気燃料噴射浄化運転によってＮＯｘを浄化している時における排気燃料噴射量と、ＬＮＴのＮＯｘ浄化率と、ＬＮＴからのＨＣスリップ量と、ＬＮＴにおける中間生成物の生成量との関係を示す図である。
【００４９】
図３４を参照して説明したように、従来ではＬＮＴの下流へのＨＣスリップ量を検出又は推定する手段が存在しなかったため、排気燃料噴射量をＨＣスリップが発生し始める量Ｇ２又はこのＧ２よりも大きな量へ積極的に制御することができなかった。本発明の排気燃料噴射制御では、ＬＮＴの下流側へのＨＣスリップ量に対して０よりも僅かに大きな目標値を設定するとともに（図３中、破線参照）、後に図４及び５を参照して説明する方法によってＬＮＴの下流側へのＨＣスリップ量を推定し、当該推定したＨＣスリップ量が上記目標値に維持されるように排気燃料噴射量を制御する。換言すれば、本発明の排気燃料噴射制御では、排気燃料噴射量を、量Ｇ２よりも大きくかつＨＣスリップ量の目標値に対応する量Ｇ４へ制御する。
【００５０】
ここで、ＨＣスリップ量を０よりも僅かに大きな目標値に維持することの効果について説明する。図３５を参照して説明したように、ＨＣスリップが発生し始める噴射量Ｇ２やＧ４は、その時のＬＮＴの酸化性能に応じて変化する。しかしながら、ＬＮＴから僅かにＨＣがスリップした状態では、ＬＮＴにおける中間生成物の生成量がほぼ最大化され、その時のＬＮＴのＮＯｘ浄化率がほぼ最大化されることは、ＬＮＴの酸化性能が変化しても変わらないと考えられる。したがって、ＨＣスリップ量を目標値に維持するように排気燃料噴射量を制御することにより、ＬＮＴの温度や劣化度合いによって変化するＬＮＴの酸化能力に応じた排気燃料噴射量の最適量の演算を経ることなく、常にＮＯｘ浄化率が最大化された状態を維持することができる。
【００５１】
次に、本発明におけるＨＣスリップ量を推定する手段について説明する。
図４は、触媒後ＬＡＦセンサの出力値（縦軸）と、その真値（横軸）すなわち当該触媒後ＬＡＦセンサの検出箇所における実際の排気の空燃比との関係を示す図である。図４には、排気の空燃比を一定にしたまま、排気中のＨＣ濃度が変化した場合における触媒後ＬＡＦセンサの出力値の変化を示す。
【００５２】
排気中には混合気の燃焼過程で燃え残った燃料成分としてＨＣが含まれる。ＬＡＦセンサは、検出素子の周囲のＨＣを酸化し、残った酸素の量に略比例した信号を排気の空燃比として出力する。一般的なＬＡＦセンサは、ＨＣの酸化を促進するため、検出素子の表層に酸化材を設け、さらにヒータによって検出素子を昇温する。このため、図４の左側に示すように、ＬＡＦセンサの酸化性能が十分に高い場合には、排気中のＨＣ濃度が変化してもその出力値はほとんど変化しない。
【００５３】
これに対し、図４の右側に示すように、ＬＡＦセンサの酸化性能が低い場合には、検出素子の周囲には酸化されなかったＨＣが存在するため、ＬＡＦセンサの検出値はその分だけリーン方向へシフトする。ＬＡＦセンサによって酸化できなかったＨＣが多く存在するほど、その分だけ酸素が余剰となるからである。また排気中のＨＣ濃度に対するＬＡＦセンサの出力値のオフセットの大きさは、ＬＡＦセンサの酸化性能が低くなるほど大きくなる。なお、以上のように排気中にＨＣが存在することによってＬＡＦセンサの出力値にずれが生じる現象は、例えば特開２００７−４０１３０号公報や、特開２０１１−５８４４０号公報に記載されているように公知である。
【００５４】
このように、ＬＮＴの下流側に設けられたＬＡＦセンサの出力値とその真値との差には、排気中のＨＣ濃度と相関があるから、ＬＮＴの下流側の空燃比の真値に相当する値が得られれば、ＬＮＴのＨＣ濃度（すなわち、ＨＣスリップ量）を推定できる。また、このようなＬＡＦセンサの出力値のオフセット現象を利用してＨＣスリップ量を推定する場合において、下流側のＬＡＦセンサの酸化性能を低くする手段、及びＬＮＴの下流側の排気の空燃比の真値に相当する値を推定する手段には、それぞれ幾つかの態様が考えられる。
【００５５】
ＬＡＦセンサの酸化性能を低くする手段としては、具体的には例えば以下のＴＹＰＥ−Ａ，Ｂの２つが挙げられる。
ＴＹＰＥ−Ａでは、センサヒータを利用して、下流側のＬＡＦセンサの検出素子を、上流側のＬＡＦセンサの検出素子の温度より低い温度に制御する。
ＴＹＰＥ−Ｂでは、下流側のＬＡＦセンサの検出素子の素子表層の酸化材の単位面積当たりの量を、上流側のＬＡＦセンサの検出素子の素子表層の酸化材の単位面積当たりの量よりも少なくする。又は、酸化材は、上流側のＬＡＦセンサの検出素子のみに担持させ、下流側のＬＡＦセンサの検出素子に担持させない。
【００５６】
以下では、ＴＹＰＥ−Ａによって下流側のＬＡＦセンサの酸化性能を意図的に低くする場合について説明するが、本発明はこれに限らない。ＴＹＰＥ−Ｂ又はＴＹＰＥ−Ａ，Ｂの組み合わせによって酸化性能を低くしてもよい。
【００５７】
また、ＬＮＴの下流側の排気の空燃比を推定する手段としては、大きく分けて以下のＴＹＰＥ１と２の２つが挙げられる。
【００５８】
ＴＹＰＥ１では、ＬＮＴの上流側に設けられた触媒前ＬＡＦセンサの出力値AFact_upと各種演算値を利用して、ＬＮＴの下流側の排気空燃比を推定する。より具体的には、離散化した制御時刻m-1からmまでの間に筒内へ噴射された燃料をGfuel_tm(m)とし、時刻mにおける触媒前ＬＡＦセンサの出力値をAFact_up(m)とすると、この触媒前ＬＡＦセンサの出力をベースとした新気量Gair_ex(m)は、下記式（４−１）によって表される。なお式（４−１）における時間dc_iは、気筒内で燃焼した混合気が排気燃料インジェクタに到達するまでの時間に相当する。この気筒−インジェクタ到達時間dc_iは、予め定められた固定値、又は排気ボリューム、エンジン負荷パラメータ、及びエンジン回転数等によって可変設定された値でもよい。また、このＬＡＦセンサベースの新気量Gair_exと、排気燃料噴射量Gfuel_exとを用いると、理論上は、時刻mにおけるＬＮＴの上流側（排気燃料インジェクタ近傍）の排気空燃比AF_exh_id_up(m)は、下記式（４−２）によって表される。ここで、燃料量Gfuel_tm及び排気燃料噴射量Gfuel_exは、後述の筒内燃料噴射制御及び排気燃料噴射制御における演算値を用いて算出される。
【００５９】
なお式（４−２）のように、供給した燃料量及び新気量から算出した計算上の排気の空燃比を総称して、以下では理想排気空燃比という。また、ＬＮＴへの燃料の付着や酸素の吸蔵等の誤差を除けば、ＬＮＴの上流側の理想排気空燃比AF_exh_id_upと下流側の理想排気空燃比AF_exh_id_dsとは等しい。従って、排気が排気燃料インジェクタからＬＮＴの下流側へ到達するまでの時間をdLNTとすると、時刻mにおけるＬＮＴの下流側の理想排気空燃比AF_exh_id_ds(m)は、下記式（４−３）で表される。なお、式（４−３）における時間dLNTは、上記時間dc_iと同様に固定値又は可変設定値としてもよい。ＴＹＰＥ１では、式（４−１）〜（４−３）によって算出される理想排気空燃比AF_exh_id_dsを、ＬＮＴの下流側の排気空燃比の推定値、すなわちＬＮＴの下流側に設けられた触媒後ＬＡＦセンサの出力値AFact_ds（又はそのフィルタ値AFact_mav_ds）に対する真値として利用する。
【数４】
0005902727.tif 000005
【００６０】
ＴＹＰＥ２では、上記ＴＹＰＥ１と異なり、触媒前ＬＡＦセンサの出力値AFact_upを利用せずに他のセンサの出力値及び各種演算値に基づいてＬＮＴの下流側の排気の空燃比を推定する。より具体的には、ＴＹＰＥ２では、時刻m-1からmまでの間に筒内へ噴射された燃料量をGfuel_tm(m)とし、時刻m-1からmまでの間に排気燃料インジェクタから噴射された燃料量をGfuel_ex(m)とし、時刻m-1からmまでの間に筒内に吸入された新気量の推定値をGair_cyl_hat_tm(m)として、下記式（５−１）によって時刻mにおけるＬＮＴの上流側の理想排気空燃比AF_ex_id_up(m)を算出する。ここで、新気量の推定値Gair_cyl_hat_tmは、例えばエアフローメータの出力に基づいて算出される。従って、排気が排気燃料インジェクタからＬＮＴの下流側へ到達するまでの時間をdLNTとすると、時刻mにおけるＬＮＴの下流側の理想排気空燃比AF_exh_id_ds(m)は、下記式（５−２）で表される。ＴＹＰＥ２では、式（５−１）〜（５−２）によって算出される理想排気空燃比AF_exh_id_dsを、ＬＮＴの下流側の排気空燃比の推定値として利用する。
【数５】
0005902727.tif 000006
【００６１】
なお、ＴＹＰＥ１では、新気量を排気通路に設けられた触媒前ＬＡＦセンサを利用して算出するのに対し、ＴＹＰＥ２では、新気量を吸気通路に設けられたエアフローメータを利用して算出する。このため、ＴＹＰＥ１とＴＹＰＥ２とを比較すれば、触媒前ＬＡＦセンサよりも上流側の各種装置の誤差が除かれる分だけ、ＴＹＰＥ１の方が推定精度は高いといえる。なお以下では、触媒前ＬＡＦセンサを利用するＴＹＰＥ１によって下流側の空燃比を推定する場合について説明するが、本発明はこれに限らない。触媒前ＬＡＦセンサを備えない場合であっても、上記ＴＹＰＥ２によって下流側の空燃比を推定できる。
【００６２】
図４に戻って、本発明では、上記ＴＹＰＥ１，２の何れかの手段で触媒後ＬＡＦセンサの酸化性能を意図的に低下させることによって、その出力値AFact_dsを図４の右側に示すように真値からＨＣ濃度に応じたずれを生じさせる。さらに本発明では、上記ＴＹＰＥ１，２の何れかの手段でＬＮＴの下流側の排気の理想排気空燃比AF_exh_id_dsを算出し、これを真値として用いることによって、ＬＮＴの下流側のＨＣスリップ量に相当するＬＮＴのＮＯｘ浄化パラメータP_LNTを算出する。より具体的には、この浄化パラメータP_LNTは、ＨＣ濃度に応じて出力がオフセットする触媒後ＬＡＦセンサの出力値AFact_dsから、式（４−３）又は（５−２）によって算出される理想排気空燃比AF_exh_id_dsを減算して得られる空燃比差として定義される（下記式（６）参照）。
【数６】
0005902727.tif 000007
【００６３】
なお、実際の触媒後ＬＡＦセンサの出力値AFact_dsは間欠噴射の影響によってのこぎり状となることから、浄化パラメータP_LNTは、図２を参照して説明したフィルタリング方法を利用して得られる下記式（７）で定義されるものを用いることが好ましい。ここで、触媒前ＬＡＦセンサは排気燃料インジェクタより上流側に設けられることから、下記式（７）に示すように、必ずしもＬＮＴの上流側の排気空燃比AF_exh_id_up(m)に本発明のフィルタリング方法を適用する必要はない。しかしながら、触媒後ＬＡＦセンサの出力に移動平均フィルタを設けることによって生じる位相遅れを補償するためには、下記式（７−３）に示すように排気空燃比AF_exh_id_up(m)に対しても同等の移動平均フィルタを設ける方が好ましい。
【数７】
0005902727.tif 000008
【００６４】
図５は、ＮＯｘ浄化パラメータP_LNTを利用した本発明のフィードバック制御の概念を説明するための図である。
図５に示すように、ＮＯｘ浄化パラメータP_LNTは、ＬＮＴの下流側のＨＣ濃度（すなわち、ＨＣスリップ量）にほぼ比例する特性がある。したがって、ＮＯｘ浄化パラメータP_LNTを０でない所定の目標値P_LNT_cmdに制御することは、直接検出できないＨＣスリップ量を仮想的な目標値HC_SLP_CMDに維持することと等価である。本発明では、ＮＯｘ浄化パラメータP_LNTを目標値P_LNT_cmdに制御することによって、ＨＣスリップ量をＬＮＴの下流側のＣＳＦで処理可能な量を上回らない程度の量に抑制しながら、ＬＮＴのＮＯｘ浄化率がほぼ最大化された状態（すなわち、中間生成物の生成量がほぼ最大化された状態）を実現する。なお以下では、ＬＮＴの下流側へ僅かながらも積極的なＨＣのスリップを伴う、パラメータP_LNTを利用したフィードバック制御のことを、ＨＣスリップフィードバック制御という。
【００６５】
次に、筒内燃料噴射制御及び排気燃料噴射制御を実現する具体的な手順について、図６〜３１を参照しながら説明する。
図６は、各シリンダの燃料噴射弁による燃料噴射態様を決定する筒内燃料噴射制御の具体的な手順を示すメインフローチャートである。図６に示す処理は、ＥＣＵにおいて１燃焼サイクルごとに各気筒のＴＤＣタイミングと同期して実行される。なお以下では、ＥＣＵにおいてＴＤＣ同期で更新又はサンプリングされる値については、括弧書きで符号”k”を付す。
【００６６】
図６等を参照して具体的な手順を説明する前に、筒内燃料噴射制御及び排気燃料噴射制御において定義されている３種類の主な運転モードについて説明する。運転モードは、リーン運転モードと、ストイキ運転モードと、排気燃料噴射浄化運転モードとに分けられる。以下では、これら３つの運転モードのうち、どの運転モードが実行されているか又はどの運転モードの実行が要求された状態であるかを明示するため、排気燃料噴射浄化運転モードフラグF_ExINJ_modeと、ストイキモードフラグF_Stoic_modeとの２種類のフラグを定義する。なお、フラグF_ExINJ_modeは、後述の図２１〜２２に示す排気燃料噴射制御によって更新され、フラグF_Stoic_modeは、後述の図７に示す処理によって更新される。
【００６７】
リーン運転モードとは、混合気の空燃比をストイキよりリーンにする運転モードである。なお、リーン運転モードが要求されている場合又はリーン運転モードを実行している場合には、２つのフラグF_ExINJ_mode及びF_Stoic_modeは両方とも”0”に設定される。なおリーン運転モード中は、所定の周期で定期的にポスト噴射や排気燃料インジェクタからの燃料噴射を行い一時的にＬＮＴ上の排気を還元雰囲気にすることにより、ＬＮＴに吸着又は吸蔵された酸素やＮＯｘを還元する。
【００６８】
ストイキ運転モードとは、触媒前ＬＡＦセンサ及び触媒後ＬＡＦセンサの出力を利用したフィードバック制御を実行することによって、ＬＮＴの三元浄化機能を利用して排気を浄化する運転モードである。なお、ストイキ運転モードが実行されている場合又はストイキ運転モードの実行が要求されている場合には、フラグF_Stoic_modeは”1”に設定される。
【００６９】
排気燃料噴射浄化運転モードとは、図３〜図５を参照して説明したＨＣスリップフィードバック制御によって排気燃料噴射量を決定し、当該決定された量の燃料を上述のように排気燃料インジェクタから間欠的に噴射することによって、ＬＮＴにおける中間生成物の生成量を最大化しながら、ＬＮＴに流入する排気中のＮＯｘを連続的に浄化する運転モードである。なお、排気燃料噴射浄化運転モードが要求されている場合又は排気燃料噴射浄化運転モードが実行されている場合には、フラグF_ExINJ_modeは”1”に設定される。
【００７０】
Ｓ１では、エンジンの運転状態に応じて予め定められたマップ（図示せず）を検索することによって、基本燃料噴射量Gfuel_bs(k)を決定し、Ｓ２に移る。この基本燃料噴射量とは、例えばリーン運転時における筒内燃料噴射量に相当する（後述のＳ１３参照）。後に詳述するようにストイキ運転時及び排気燃料噴射浄化運転時は、基本燃料噴射量には、触媒前ＬＡＦセンサ及び触媒後ＬＡＦセンサの出力に基づいて算出される空燃比補正係数KAF(k)が乗算される（後述のＳ１０参照）。また、エンジンの運転状態を示すものであって、基本燃料噴射量を決定するために用いられる入力パラメータとしては、例えば、ドライバ要求トルク及びエンジン回転数等が挙げられる。
【００７１】
Ｓ２では、筒内燃料噴射制御及び排気燃料噴射制御に関わる装置が正常であるか否かを判別する。Ｓ２における判別に係る装置とは、例えばインテークスロットル及びＥＧＲバルブや（図示せず）、ストイキ運転を行うために必要となる触媒前ＬＡＦセンサ、触媒後ＬＡＦセンサ、及び温度センサ等である。Ｓ２の判別がＹＥＳである場合（装置は正常である場合）にはＳ３に移り、ＮＯである場合（装置は正常でない場合）にはＳ１３に移り、２つのフラグの状態によらずリーン運転を実行する。
【００７２】
Ｓ３では、ＬＮＴは活性状態であるか否かを判別する。より具体的には、Ｓ３では、ＬＮＴの担体温度の推定値を算出し、当該推定値が所定の活性温度（例えば２００℃）以上である場合には活性状態であると判断し、それ以外の場合には、活性状態でないと判断する。Ｓ３の判別がＹＥＳである場合にはＳ５に移り、ＮＯである場合には、Ｓ１３に移り、リーン運転を実行する。
【００７３】
Ｓ５では、ストイキ運転の実行の可否を判断するストイキ運転条件判断処理を実行し、Ｓ６に移る。このストイキ運転条件判断処理では、エンジンの運転状態や排気通路内のＬＮＴの状態等に応じてストイキ運転を行うのに適した状態であるか否かが判断される（後述の図７参照）。この処理の結果、ストイキ運転を行うのに適した状態であると判断された場合には、ストイキモードフラグF_Stoic_mode(k)は”1”に設定され、それ以外の場合にはフラグF_Stoic_mode(k)は”0”に設定される。
【００７４】
Ｓ６では、２つのフラグF_Stoic_mode(k)及びF_ExINJ_mode(k)の何れかが”1”であるか否かを判別する。Ｓ６の判別がＹＥＳである場合には、Ｓ７に移り、ＮＯである場合には、Ｓ１３に移り、リーン運転を実行する。
【００７５】
Ｓ７では、後述の付加噴射燃料量算出処理を実行し、Ｓ８に移る。ここで、付加噴射とは、アフター噴射と排気燃料噴射との総称をいう。後に図１０を参照して詳細に説明するように、この付加噴射燃料量算出処理では、ストイキ運転時又は排気燃料噴射浄化運転時におけるアフター噴射量Gfuel_aft(k)及び排気燃料噴射量Gfuel_ex_add(k)を決定する。
【００７６】
Ｓ８では、パイロット噴射によって供給する燃料量Gfuel_pi(k)（以下、「パイロット噴射量」という）を算出し、Ｓ９に移る。なおこのパイロット噴射量Gfuel_pi(k)は、エンジン回転数及び負荷パラメータ（例えば、ＢＭＥＰ。その他、要求トルク、燃料噴射量、エンジントルク推定値、及び排気ボリュームなどのエンジンの負荷に比例して大きくなるパラメータが用いられる）等を入力として、マップ検索等の既知の方法によって算出される。
【００７７】
Ｓ９では、後述の目標触媒前空燃比演算を実行し、Ｓ１０に移る。この目標触媒前空燃比演算では、触媒前ＬＡＦセンサの出力値AFcmd_up(k)に対する目標値AFcmd(k)及び筒内燃料噴射量の暫定値Gfuel_cyl(k)を決定する（後述の図１３参照）。ここで「筒内燃料噴射量」とは、１燃焼サイクルの間に気筒内における燃焼に供される燃料の総量であり、パイロット噴射、メイン噴射、及びアフター噴射によって噴射される燃料を全て合わせたものに相当する。すなわち、この筒内燃料噴射量に、排気燃料インジェクタから噴射される燃料量は含まれていない。
【００７８】
Ｓ１０では、後述の触媒前空燃比フィードバック演算を実行し、Ｓ１１に移る。この触媒前空燃比フィードバック演算では、触媒前ＬＡＦセンサの出力値AFcmd_up(k)をＳ７で算出された目標値AFcmd(k)に制御するための空燃比補正係数KAF(k)を算出する。
【００７９】
Ｓ１１では、空燃比補正係数KAF(k)をＳ１０で算出された筒内燃料噴射量の暫定値Gfuel_cyl(k)に乗算することによって、最終的な筒内燃料噴射量Gfuel(k)を決定し（下記式（８）参照）、Ｓ１２に移る。
【数８】
0005902727.tif 000009
【００８０】
Ｓ１２では、筒内燃料噴射量Gfuel(k)から、上記Ｓ７で決定されたアフター噴射量Gfuel(k)及びＳ８で決定されたパイロット噴射量Gfuel_pi(k)を減算することによって、メイン噴射によって供給する燃料量Gfuel_main(k)（以下、「メイン噴射量」という）を算出し（下記式（９）参照）、この処理を終了する。
【数９】
0005902727.tif 000010
【００８１】
Ｓ１３では、Ｓ１で得られた基本燃料噴射量Gfuel_bs(k)をリーン運転時における最終的な筒内燃料噴射量Gfuel(k)として決定し、Ｓ１４に移る。Ｓ１４では、リーン運転モード時用に定められた所定のアルゴリズム（図示せず）に従って燃料噴射態様を決定し、この処理を終了する。
【００８２】
図７は、ストイキモードフラグF_Stoic_modeを更新するストイキ運転条件判断処理の具体的な手順を示すフローチャートである。換言すれば、図７は、ストイキ運転を行うかリーン運転を行うかを決定するフローチャートである。図７に示す処理は、図６に示すメイン処理のサブルーチンとして、同じ周期（ＴＤＣ同期）で実行される。
【００８３】
Ｓ２１では、ＬＮＴを熱から保護するために設定された所定のＬＮＴ保護条件を満たすか否かを判別する。ストイキ運転を実行すると、排気温度が上昇し、排気通路内の触媒の担体温度も上昇する。ＬＮＴはエンジンに近いため、ストイキ運転実行時の温度上昇も大きい。ＬＮＴ保護条件とは、温度上昇によってＬＮＴが劣化するのを防止するために設定される条件である。より具体的には、Ｓ２１では、ＬＮＴの担体温度の推定値を算出し、当該推定値が、例えば６３０〜７００℃程度に設定された所定のＬＮＴ保護温度未満である場合には保護条件を満たすと判断し、それ以外の場合には保護条件を満たさないと判断する。Ｓ２１の判別がＮＯである場合には、Ｓ２２に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図６のＳ６に戻る。Ｓ２１の判別がＹＥＳである場合には、Ｓ２３に移る。
【００８４】
Ｓ２３では、ＬＮＴが活性状態に達したか否かを判別する。より具体的には、Ｓ２３では、ＬＮＴの担体温度の推定値が、例えば２００℃程度に設定された所定の活性温度以上であるか否かを判別する。Ｓ２３の判別がＮＯである場合には、Ｓ２２に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図６のＳ６に戻る。Ｓ２３の判別がＹＥＳである場合には、Ｓ２４に移る。
【００８５】
Ｓ２４では、排気燃料噴射浄化運転モードフラグF_ExINJ_modeは”1”であるか否かを判別する。Ｓ２３の判別がＹＥＳである場合には、Ｓ２２に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図６のＳ６に戻る。Ｓ２４の判別がＮＯである場合には、Ｓ２５に移る。
【００８６】
Ｓ２５では、排気燃料噴射システムによるＮＯｘ浄化可能条件を満たすか否かを判別する。このＮＯｘ浄化可能条件とは、排気燃料噴射システムによって、ＬＮＴから不必要な成分（例えば、Ｎ２Ｏ等）を排出することなく、かつ適切な浄化効率で排気中のＮＯｘを浄化できる状態であるか否かを判別するための条件である。より具体的には、Ｓ２５では、ＬＮＴの担体温度の推定値が、例えば３５０〜４００℃程度に設定された浄化可能温度以上である場合には、ＮＯｘ浄化可能条件を満たすと判断する。なお、Ｓ２５の判別がＮＯである場合とは、例えばエンジン始動開始直後の暖機過程中である場合や、市街地走行中であってＬＮＴが低温化した場合等が想定される。
【００８７】
Ｓ２５の判別がＮＯである場合には、Ｓ２６に移り、排気燃料噴射システムによるＮＯｘ浄化よりも、ＬＮＴの三元浄化機能を利用した排気浄化に重点を置いた三元浄化モード時用のマップを用いてストイキモードフラグF_Stoic_mode(k)を更新する。より具体的には、エンジン回転数及びエンジンの負荷パラメータ（例えば、ＢＭＥＰ等）を取得し、これらを入力パラメータとして図８に示すような三元浄化モード時用のマップを検索することによって、フラグF_Stoic_mode(k)の値を決定する。図８において破線で示すように、エンジンの運転状態を大まかに４つの領域に分けると、エンジンから排出され、ＬＮＴに流入するＮＯｘ量が多い低回転−高負荷領域、高回転−低負荷領域、及び高回転−高負荷領域の３つの領域ではストイキ運転が選択され(F_Stoic_mode←1)、ＬＮＴに流入するＮＯｘ量が少ない低回転−低負荷領域ではリーン運転が選択される(F_Stoic_mode←0)。
【００８８】
Ｓ２５の判別がＹＥＳである場合には、Ｓ２７に移り、排気燃料噴射システムによるＮＯｘ浄化とＬＮＴの三元浄化機能を利用した排気浄化との併用モード時用のマップを用いてストイキモードフラグF_Stoic_mode(k)を更新する。より具体的には、エンジン回転数及び負荷パラメータを取得し、これら入力パラメータとして図９に示すような併用モード時用のマップを検索することによって、フラグF_Stoic_mode(k)の値を決定する。なお図８の三元浄化モード時用のマップと図９の併用モード時用マップとを比較すると、ストイキ運転が選択される領域（F_Stoic_mode←1）は、図９の併用モード時用マップの方が狭い。これは、Ｓ２５の判別がＹＥＳである場合は、ＮＯである場合よりも排気燃料噴射システムによって浄化できるＮＯｘ量が多いからである。
【００８９】
図１０は、付加噴射燃料量算出処理の具体的な手順を示すフローチャートである。図１０に示す処理は、図６に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期（ＴＤＣ同期）で実行される。この付加噴射燃料量算出処理では、アフター噴射によって供給する燃料量であるアフター噴射量Gfuel_aft(k)と、アフター噴射の代替として排気燃料インジェクタから噴射する燃料量に相当する追加排気燃料噴射量Gfuel_ex_add(k)とを決定する。
【００９０】
Ｓ３１では、アフター噴射量と追加排気燃料噴射量とを合わせた量である付加噴射燃料量Gaddを算出し、Ｓ３２に移る。より具体的には、Ｓ３１では、エンジン回転数及び負荷パラメータ等を入力として、マップ検索等の既知の方法によって算出する。
【００９１】
図１１は、付加噴射燃料量Gadd(k)を決定するマップの一例である。図１１に示すように、付加噴射燃料量Gaddは、エンジン回転数が高くなるほど、又はエンジン負荷が大きくなるほど大きな値に設定される。
【００９２】
Ｓ３２では、排気燃料噴射システムが故障した状態であることを示す故障フラグF_ExINJ_NGが”0”であるか否かを判別する。この故障フラグF_ExINJ_NGは、後述の図２９に示す処理によって更新される。排気燃料噴射システムが正常である場合にはF_ExINJ_NG=0であり、故障した場合にはF_ExINJ_NG=1のである。Ｓ３２の判別がＮＯであり、排気燃料インジェクタから燃料を噴射できない状態である場合には、Ｓ３３に移る。Ｓ３３では、下記式（１０）に示すように、Ｓ３１で決定した付加噴射燃料量Gadd(k)の全てをアフター噴射に振り分ける。
【数１０】
0005902727.tif 000011
【００９３】
Ｓ３２の判別がＹＥＳであり、排気燃料インジェクタから燃料を噴射できる状態である場合には、Ｓ３４に移る、Ｓ３４では、ＬＮＴの担体温度の推定値Tcc_hat(k)を算出し、この推定値Tcc_hat(k)に基づいてアフター噴射量と追加排気燃料噴射量との比である付加噴射比率Radd(k)を算出し、Ｓ３５に移る。
【００９４】
図１２は、付加噴射比率Radd(k)を決定するマップの一例である。ＬＮＴの担体温度が低い状態で排気燃料インジェクタから燃料を噴射すると、ＬＮＴでは不必要な中間生成物であるＮ２Ｏが生成されやすい。このため、図１２に示すように、ＬＮＴの担体温度の推定値が約４００℃より低い場合には、比率Radd(k)を０とし、排気燃料インジェクタからは必要以上に燃料を噴射しないようにする。また、ＬＮＴの担体温度の推定値が約４００℃以上である場合には、担体温度が高くなるほど比率Radd(k)を徐々に大きくする。
【００９５】
図１０に戻って、Ｓ３５では、下記式（１１）に示すように、Ｓ３４で決定した比率Radd(k)に応じて付加噴射燃料量Gadd(k)をアフター噴射と排気燃料噴射とに振り分け、この処理を終了する。
【数１１】
0005902727.tif 000012
【００９６】
図１３は、目標触媒前空燃比演算の具体的な手順を示すフローチャートである。図１３に示す処理は、図６に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期（ＴＤＣ同期）で実行される。この目標触媒前空燃比演算では、ストイキ運転中又は排気燃料噴射浄化運転中における触媒前ＬＡＦセンサの出力に対する目標値に相当する目標触媒前空燃比AFcmd(k)と、筒内燃料噴射量Gfuel_cyl(k)とを決定する。
【００９７】
Ｓ４１では、排気燃料噴射浄化運転モードフラグF_ExINJ_modeが”1”であるか否かを判別する。Ｓ４１の判別がＹＥＳである場合（排気燃料噴射浄化運転中である場合）には、Ｓ４２に移り、エンジン回転数及び負荷パラメータ等を入力として、マップ検索等の既知の方法によって目標触媒前空燃比AFcmd(k)を決定し、Ｓ４３に移る。
【００９８】
図１４は、排気燃料噴射浄化運転中における目標触媒前空燃比AFcmdを決定するマップの一例を示す図である。ＬＮＴに流入する排気の酸素濃度が低くなるほど、ＬＮＴではＨＣが直接酸化し水と二酸化炭素が生成される確率が低くなるので、ＮＯｘの浄化に寄与する中間生成物の生成効率は高くなる。よって、排気ボリュームやＬＮＴに流入する排気のＮＯｘ濃度が高くなり、ＬＮＴでは効率的なＮＯｘ浄化が要求されるような運転状態（高回転域又は高負荷域）では、ＬＮＴに流入する排気の酸素濃度を低くする方が好ましい。本発明ではこれを実現するため、図１４に示すように、目標触媒前空燃比AFcmdを高回転又は高負荷になるほどリッチになるように設定する。
【００９９】
図１３に戻って、Ｓ４３では、下記式（１２）に従い、図６のＳ１で決定した基本燃料噴射量Gfuel_bs(k)及び目標触媒前空燃比AFcmd(k)に基づいて筒内燃料噴射量の暫定値Gfuel_cyl(k)を算出し、図６のＳ１０に戻る。ここで、下記式（１２）におけるαstは、理論空燃比であり使用する燃料に応じた値（例えば、１４．５）に設定される。
【数１２】
0005902727.tif 000013
【０１００】
Ｓ４１の判別がＮＯである場合（ストイキ運転中である場合）には、Ｓ４５に移り、下記式（１３）に従い、図６のＳ１で決定した基本燃料噴射量Gfuel_bs(k)と、後述の図１６の処理に従って１０〜５０ｍｓｅｃ周期で更新される目標触媒後空燃比AFcmd_dsをリサンプリングして得られる目標値AFcmd_ds_tdc(k)とに基づいて要求燃料量Gfuel_rq(k)を算出し、Ｓ４６に移る。この目標値AFcmd_ds_tdc(k)は、排気燃料インジェクタより下流側のＬＮＴにおける排気空燃比に対する目標に相当する。従って、下記式（１３）で得られる要求燃料量Gfuel_rq(k)は、筒内に噴射する燃料と排気燃料インジェクタから噴射する燃料とを合わせた総燃料量に対する要求値に相当する。
【数１３】
0005902727.tif 000014
【０１０１】
Ｓ４６では、要求燃料量Gfuel_rq(k)から排気燃料噴射量Gfuel_ex(k)を減算することにより、筒内燃料噴射量の暫定値Gfuel_cyl(k)を算出し（下記式（１４）参照）、Ｓ４７に移る。
【数１４】
0005902727.tif 000015
【０１０２】
Ｓ４７では、図示しない処理によって算出された気筒内の新気量の推定値Gair_cyl_hatを筒内燃料噴射量の暫定値Gfuel_cyl(k)で除算することにより、目標触媒前空燃比AFcmd(k)を算出し（下記式（１５）参照）、図６のＳ１０に戻る。
【数１５】
0005902727.tif 000016
【０１０３】
図１５は、空燃比補正係数KAFを決定する触媒前空燃比フィードバック演算の具体的な手順を示すフローチャートである。図１５に示す処理は、図６に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期（ＴＤＣ同期）で実行される。
【０１０４】
Ｓ５１では、触媒前ＬＡＦセンサが活性に達したか否かを判別する。Ｓ５１の判別がＮＯである場合には、以下のフィードバック演算を行うことなく補正係数KAF(k)=1とし（Ｓ５２）、図６のＳ１１に戻る。
【０１０５】
Ｓ５１の判別がＹＥＳである場合には、触媒前ＬＡＦセンサの出力値AFact_up(k)と、図１３の処理によって決定された目標値AFcmd(k)との偏差E_af(k)（下記式（１６−１）参照）が０になるように既知のフィードバックアルゴリズムを利用して補正係数KAF(k)を決定し（Ｓ５３）、図６のＳ１１に戻る。Ｓ５３における演算の一例として、下記式（１６−１）〜（１６−３）には、スライディングモードアルゴリズムを利用して補正係数KAF(k)を決定する場合の演算式を示す。式（１６−２）において、”Pole_af”は、切換関数設定パラメータであり、-1より大きく0より小さな値（例えば、-0.65）に設定される。また、式（１６−３）において２つのフィードバックゲイン”Krch_af”及び”Kadp_af”は、負の値に設定される。なお、Ｓ５３における触媒前フィードバックの偏差の補償速度は、後述の図１６における触媒後フィードバックの速度よりも速く設定することが好ましい。
【数１６】
0005902727.tif 000017
【０１０６】
図１６は、目標触媒後空燃比AFcmd_dsを決定する触媒後空燃比フィードバック演算の具体的な手順を示すフローチャートである。図１６に示す処理は、ＥＣＵにおいて排気燃料噴射システムの制御周期ΔTex(10〜50msec)で実行される。なお以下では、周期ΔTexで更新又はサンプリングされる値については、括弧書きで符号”m”を付す。なお、図１３の処理で説明したように、図１６の処理で算出される目標触媒後空燃比AFcmd_dsは、排気燃料インジェクタの下流側のＬＮＴにおける排気空燃比の目標値として用いられる。
【０１０７】
Ｓ６１では、触媒前ＬＡＦセンサが活性に達したか否かを判別する。Ｓ６１の判別がＮＯである場合には、以下のフィードバック演算を行うことなく、目標値AFcmd_ds(m)を所定の基準値AFcmd_bs（固定値であり、例えば１４．５）とし(Ｓ６２)、この処理を終了する。Ｓ６１の判別がＹＥＳである場合には、Ｓ６３に移る。
【０１０８】
Ｓ６３では、ストイキモードフラグF_Stoic_mode(m)が１であるか否かを判別する。Ｓ６３の判別がＹＥＳである場合には、Ｓ６４に移り、ＮＯである場合には、Ｓ６２に移り、上述のようにAFcmd_ds(m)=AFcmd_bsとする。
【０１０９】
Ｓ６４では、後述の還元処理完了フラグF_CRD_Done(m)が”1”であるか否かを判別する。上述のように、リーン運転中にストイキモードフラグF_Stoic_mode(m)が”0”から”1”となることに伴って、ストイキ運転が開始する。ただし、これまでリーン運転を行っていたことにより、ＬＮＴには酸素が多く吸蔵されており、ストイキ運転を開始しても直ちにＬＮＴの三元浄化機能を発揮できない。このため、フラグF_Stoic_mode(m)が”0”から”1”になった直後は、所定の期間にわたって空燃比をストイキよりもややリッチ側（所謂、弱リッチ）に偏らせることにより、ＬＮＴに吸蔵されていた酸素を短時間で放出させる還元処理を実行する。この還元処理完了フラグF_CRD_Done(m)は、ストイキ運転の開始直後の還元処理が終了したことを示すフラグであり、後述の図１９に示す弱リッチモード終了判定処理によって更新される。以下では、ストイキ運転開始直後に直下触媒の還元を促進する運転モードを「弱リッチモード」という。また、ストイキ運転中に、触媒後ＬＡＦセンサの出力に基づいて目標触媒後空燃比AFcmd_ds(m)を決定する運転モードを「触媒後空燃比フィードバックモード」という。
【０１１０】
Ｓ６４の判別がＮＯの場合にはＳ６５に移り、弱リッチモードの下で目標触媒後空燃比AFcmd_ds(m)を決定する。より具体的には、Ｓ６５では、ＬＮＴの担体温度の推定値Tcc_hat(m)及び排気ボリュームの推定値Gex_hat(m)を取得し、これら２つの推定値Tcc_hat(m)及びGex_hat(m)に基づいて、予め定められたマップを検索することによって目標触媒後空燃比AFcmd_ds(m)を決定し、この処理を終了する。
【０１１１】
図１７は、弱リッチモードの下で目標触媒後空燃比AFcmd_dsを決定するマップの一例である。図１７に示すように、弱リッチモードでは、目標触媒後空燃比AFcmd_dsは、弱リッチの領域(約14.5〜13.5程度)内で、担体温度の推定値Tcc_hat及び排気ボリュームの推定値Gex_hatに応じた値に設定される。より具体的には、目標触媒後空燃比AFcmd_dsは、ＬＮＴの担体温度が高くなるほど又は排気ボリュームが小さくなるほど、弱リッチの領域内でリッチ側に設定される。
【０１１２】
図１６に戻ってＳ６４の判別がＹＥＳの場合には、Ｓ６６に移り、触媒後ストイキフィードバックモードの下で目標触媒後空燃比AFcmd_ds(m)を決定する。Ｓ６６では、ＬＮＴの担体温度の推定値Tcc_hat(m)及び排気ボリュームの推定値Gex_hat(m)を取得し、これら２つの推定値Tcc_hat(m)及びGex_hat(m)に基づいて、予め定められたマップを検索することによって、三元浄化目標空燃比AFcmd_ds_twc(m)を決定し、Ｓ６７に移る。
【０１１３】
図１８は、三元浄化目標空燃比AFcmd_ds_twc(m)を決定するマップの一例である。図１８に示すように、三元浄化目標空燃比AFcmd_ds_twc(m)は、理論空燃比14.5の近傍に設定される。この三元浄化目標空燃比AFcmd_ds_twc(m)は、ＬＮＴの担体温度が高くなるほどリッチ側に補正される。また排気ボリュームが大きくなるほど（換言すれば、負荷が高くなるほど）、エンジンから排出されるＮＯｘ量が増加するとともに、ＬＮＴにおける排気通過速度が増加するため、結果としてＬＮＴにおけるＮＯｘ浄化率が低下する。このようなＮＯｘ浄化率の低下を補償すべく、三元浄化目標空燃比AFcmd_ds_twc(m)は、図１８に示すように排気ボリュームが大きくなるほどリッチ側に補正し、ＬＮＴ上でのＣＯ、Ｈ２、ＮＨ３等の還元剤の生成量を増加させる。
【０１１４】
図１６に戻ってＳ６７では、触媒後ＬＡＦセンサの出力値AFact_ds(m)と、その三元浄化目標空燃比AFcmd_ds_twc(m)との偏差E_ds(m)（下記式（１７−１）参照）が０になるように、既知のフィードバックアルゴリズムを利用して目標触媒後空燃比AFcmd_ds(m)を決定し、この処理を終了する。Ｓ６７におけるフィードバック演算の一例として、下記式（１７−１）〜（１７−３）には、スライディングモードアルゴリズムを利用して目標触媒後空燃比AFcmd_ds(m)を決定する場合の演算式を示す。式（１７−２）において、”Pole_ds”は、切換関数設定パラメータであり、-1より大きく0より小さな値（例えば、-0.85）に設定される。また、式（１７−３）において２つのフィードバックゲイン”Krch_ds”及び”Kadp_ds”は、負の値に設定される。
【数１７】
0005902727.tif 000018
【０１１５】
図１９は、還元処理完了フラグF_CRD_Doneを更新する弱リッチモード終了判定処理の具体的な手順を示すフローチャートである。図１９に示す処理は、ＥＣＵにおいて図１６の触媒後空燃比フィードバック演算と同じ制御周期ΔTex(10〜50msec)で実行される。図１９の弱リッチモード終了判定処理では、触媒後ＬＡＦセンサの出力に基づいて還元処理完了フラグF_CRD_Doneを更新する。
【０１１６】
Ｓ７１では、ストイキモードフラグF_Stoic_mode(m)が”0”でありかつ排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)が”0”であるか否かを判別する。Ｓ７１の判別がＹＥＳである場合、すなわちストイキ運転中でも排気燃料噴射浄化運転中でもない場合には、Ｓ７２に移り、還元処理完了フラグF_CRD_Done(m)=0とし、この処理を終了する。
【０１１７】
Ｓ７１の判別がＮＯである場合、すなわちストイキ運転中であるか又は排気燃料噴射浄化運転中である場合には、Ｓ７３に移り、触媒後ＬＡＦセンサの出力値AFact_ds(m)が、所定の反転判定閾値AF_lnより大きいか否かを判別する。図１６〜１８を参照して説明したように、ストイキ運転の開始直後は、空燃比は弱リッチに設定され、ＬＮＴに吸蔵されていた酸素が放出されるとともに、弱リッチ化により供給された還元剤の酸化に使用される。したがって、この還元処理が終了したか否かは、触媒後ＬＡＦセンサの出力値AFact_ds(m)が反転判定閾値AF_lnを超えたか否かによって判別できる。なお、この反転判定閾値AF_lnは、理論空燃比αstよりもやや大きな値（例えば、１４．６）に設定される。
【０１１８】
Ｓ７３の判別がＮＯである場合には、フラグF_CRD_Doneを更新することなくこの処理を終了する。Ｓ７３の判別がＹＥＳである場合には、Ｓ７４に移り、還元処理が完了したことを明示すべくフラグF_CRD_mode(m)=1とし、この処理を終了する。
【０１１９】
図２０は、図１６〜１９の処理の具体例を示すタイムチャートである。図２０には、上段から順に、ストイキモードフラグF_Stoic_mode、還元処理完了フラグF_CRD_Done、目標触媒後空燃比AFcmd_ds、ＬＮＴに供給される還元剤量の積算値、及び触媒後ＬＡＦセンサの出力値AFact_dsを示す。図２０には、時刻ｔ１においてストイキモードフラグF_Stoic_modeが”0”から”1”になった場合を示す。
【０１２０】
図１６を参照して説明したように、ストイキ運転開始直後（図２０中、時刻ｔ１）は、目標触媒後空燃比AFcmd_dsは弱リッチに設定される（図１６のＳ６５参照）。従って時刻ｔ１以降、ＬＮＴには余分な燃料が還元剤として供給され、これによってＬＮＴに吸蔵されていた酸素が放出される。
【０１２１】
その後、ＬＮＴに吸蔵されていた酸素が放出され切ったことに応じて、時刻ｔ２では、触媒後ＬＡＦセンサの出力値AFact_dsが反転判定閾値AF_lnを超える（図１９のＳ７３参照）。これによって、還元処理完了フラグF_CRD_Doneは０から１に切り替わり、弱リッチモードが終了し、触媒後空燃比フィードバックモードが開始する（図１６のＳ６４参照）。また、この触媒後空燃比フィードバックモードでは、触媒後ＬＡＦセンサの出力値AFact_dsが、マップによって算出された三元浄化目標空燃比AFcmd_ds_twcになるように、目標触媒後空燃比AFcmd_dsが決定される（図１６のＳ６７参照）。
【０１２２】
図２１及び２２は、排気燃料インジェクタによる排気燃料の噴射態様を決定する排気燃料噴射制御の具体的な手順を示すフローチャートである。図２１及び２２に示す処理は、ＥＣＵにおいて図１６の触媒後空燃比フィードバック演算と同じ制御周期tm(10〜50msec)で実行される。図２１及び２２に示すように、排気燃料噴射制御は、２つのＬＡＦセンサの目標温度を設定するステップ（Ｓ９２，Ｓ９８，Ｓ１００）と、間欠噴射に必要なパラメータを決定するステップ（Ｓ１１５）と、排気燃料噴射量を決定するステップ（Ｓ９３，Ｓ９９，Ｓ１０７，Ｓ１１１）と、システムの劣化を検知するステップ（Ｓ１０８）と、排気燃料噴射浄化運転モードフラグF_ExINJ_modeを更新するステップ（Ｓ９４，Ｓ１０９）と、を含む。
【０１２３】
Ｓ９１では、排気燃料噴射システムが正常であるか否か（後述の故障フラグF_ExINJ_NG=0であるか否か）を判別する。Ｓ９１の判別がＹＥＳである場合には、Ｓ９５に移る。Ｓ９１の判別がＮＯであり、排気燃料インジェクタから燃料を噴射できない状態である場合には、Ｓ９２に移る。Ｓ９２では、触媒前ＬＡＦセンサ及び触媒後ＬＡＦセンサのＨＣずれの大きさが等しくかつできるだけ小さくなるように、触媒前ＬＡＦセンサの検出素子の目標温度Tcmd_laf_up(m)と触媒後ＬＡＦセンサの検出素子の目標温度Tcmd_laf_ds(m)とを、共に所定の高温側目標値Tcmd_laf_highに設定し(Tcmd_laf_up(m)＝Tcmd_laf_ds(m)＝Tcmd_laf_high)、Ｓ９３に移る。このように、排気燃料噴射システムが正常でない場合には、ＬＡＦセンサの温度を触媒前と触媒後で等しくすることにより、ＨＣずれのない正確なＬＡＦセンサの出力の下でストイキ運転を行うことができる。またＳ９３では、排気燃料インジェクタから燃料を噴射できない状態であると判断されたことに応じて排気燃料噴射量Gfuel_ex(m)=0とし、Ｓ９４では排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)=0とし、この処理を終了する。
【０１２４】
Ｓ９５では、ＬＮＴを熱から保護するために設定されたＬＮＴ保護条件を満たすか否かを判別する。なお、このＬＮＴ保護条件の具体的な内容及び具体的な判別方法は、図７のＳ２１と同じであるので、詳細な説明を省略する。Ｓ９５の判別がＹＥＳであり、ＬＮＴ保護条件を満たす場合には、Ｓ９６に移る。Ｓ９６では、排気燃料噴射システムの所定のＮＯｘ浄化可能条件を満たすか否かを判別する。なお、このＮＯｘ浄化可能条件の具体的な内容及び具体的な判別方法は、図７のＳ２５と同じであるので、詳細な説明を省略する。Ｓ９６の判別がＹＥＳであり、排気燃料噴射システムのＮＯｘ浄化可能条件を満たす場合には、Ｓ９７に移る。
【０１２５】
Ｓ９７では、弱リッチモード完了フラグF_CRD_Doneが”1”であるか否かを判別する。弱リッチモード完了フラグF_CRD_Doneが”1”でない状態とは、図１６を参照して説明したＬＮＴの還元処理が完了していない状態である。ＬＮＴの還元処理が完了していない状態では、排気燃料インジェクタから燃料を噴射しても、十分な効率でＮＯｘを浄化することができない。したがって、Ｓ９７の判別がＹＥＳである場合にのみＳ１１５に移り、排気燃料噴射浄化運転モードの下で排気燃料噴射量を決定する。
【０１２６】
Ｓ９５〜Ｓ９７の判別のうち何れかがＮＯである場合には、Ｓ９８に移る。ここで、Ｓ９５〜Ｓ９７の判別のうち何れかがＮＯである場合とは、排気燃料インジェクタから燃料を噴射できる状態であるが、排気燃料噴射システムを利用して排気を浄化できない状態に相当する。この場合、図１０を参照して説明したように、ストイキ運転中にアフター噴射の代替として燃料噴射インジェクタからの燃料噴射が要求される場合がある。Ｓ９８では、Ｓ９２と同様に、触媒前ＬＡＦセンサ及び触媒後ＬＡＦセンサの目標温度を所定の高温側目標値に設定し、Ｓ９９に移る。Ｓ９９では、図１０の処理によってＴＤＣ周期で算出される追加排気燃料噴射量をリサンプリングし（Gfuel_ex_add(k)→Gfuel_ex_add(m)）、リサンプリングによって得られた値を排気燃料噴射量とし（Gfuel_ex(m)＝Gfuel_ex_add(m)）、Ｓ９４に移る。Ｓ９４では、排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)=0とし、この処理を終了する。
【０１２７】
Ｓ１１５では、間欠噴射の実行に必要な噴射周期Tfuel_ex(m)及び噴射周期パラメータNex(m)を設定する間欠噴射パラメータ設定処理を実行し、Ｓ１００に移る。この間欠噴射パラメータ設定の具体的な手順については、後に図２４を参照して説明する。
【０１２８】
Ｓ１００では、触媒前ＬＡＦセンサ及び触媒後ＬＡＦセンサを利用して、ＬＮＴの下流へのＨＣスリップを検出可能な状態にすべく、触媒後ＬＡＦセンサの検出素子の温度を触媒前ＬＡＦセンサの検出素子の温度よりも低くし、Ｓ１０１に移る。より具体的には、触媒前ＬＡＦセンサの検出素子の目標温度Tcmd_laf_up(m)を高温側目標値Tcmd_laf_highに設定し(Tcmd_laf_up(m)=Tcmd_laf_high)、触媒後ＬＡＦセンサの検出素子の目標温度Tcmd_laf_ds(m)を上記高温側目標値Tcmd_laf_highより小さな所定の低温側目標値Tcmd_laf_lowに設定する(Tcmd_laf_ds(m)=Tcmd_laf_low)。
【０１２９】
Ｓ１０１では、ＬＮＴに流入するＮＯｘ量の推定値Gnox_hat(m)及びＬＮＴの担体温度の推定値Tcc_hat(m)を取得し、これら２つの推定値Gnox_hat(m)及びTcc_hat(m)に基づいて、排気燃料噴射量の基準値となる基準排気燃料噴射量Gfuel_ex_bs(m)を決定し、Ｓ１０２に移る。ここで、ＬＮＴに流入するＮＯｘ量の推定値Gnox_hat(m)は、例えば、エンジン回転数及び負荷パラメータに基づいて所定のマップ（図示せず）を検索することによって算出できる。この他、ＬＮＴの上流側にＮＯｘセンサを設け、このＮＯｘセンサの出力に基づいて算出したり、エンジン回転数、及び負荷パラメータ等を入力としたニューラルネットワークの出力に基づいて算出したりしてもよい。
【０１３０】
図２３は、基準排気燃料噴射量Gfuel_ex_bsを決定するマップの一例である。図２３に示すように、噴射量Gfuel_ex_bsは、ＬＮＴに流入するＮＯｘ量が多くなるほど大きな値に設定される。また、噴射量Gfuel_ex_bsは、ＬＮＴの担体温度が高くなるほど大きな値に設定される。
【０１３１】
図２２に戻ってＳ１０２では、所定のＨＣスリップフィードバック制御実行条件を満たすか否かを判別する。ここでＨＣスリップフィードバック制御実行条件の内容について説明する。先ず、図５を参照して説明したように、ＨＣスリップフィードバック制御は、ＬＮＴの下流側へ僅かであっても積極的なＨＣのスリップを伴う。すなわち、ＨＣスリップフィードバック中は、ＨＣのスリップが０となるように定められた噴射量（図５におけるＧ２）と比較すれば、ＨＣのスリップを伴う分だけ余分に燃料を噴射する必要がある。
【０１３２】
例えばＬＮＴの担体温度が比較的低温の領域（例えば、３５０〜４００℃未満の領域）では、ＬＮＴでは噴射した燃料からＮ２Ｏが生成されやすくなっている。Ｎ２ＯはＮＯｘの浄化に寄与する中間生成物ではないので、その生成はできるだけ少なくする方が好ましい。したがって、このような低温域では、Ｎ２Ｏの生成リスクが高くなっているため、ＨＣがスリップするほど余分な燃料を噴射するのは好ましくない。
【０１３３】
また、ＬＮＴの担体温度が比較的高温の領域（例えば、５５０℃以上の領域）では、噴射した燃料の多くが直接酸化されてしまい、ＮＯｘの浄化に寄与する中間生成物の生成効率が低下する。したがって、このような高温域では、ＬＮＴに供給した燃料のＮＯｘ浄化率の向上に寄与する度合いが小さくなっているため、ＨＣがスリップするほど余分な燃料を噴射するのは好ましくない。
【０１３４】
以上のように、低温域及び高温域におけるＨＣスリップフィードバック制御は、燃料の無駄が多い。したがって、これら低温域及び高温域では、ＨＣスリップフィードバック制御を実行することによって排気燃料噴射量をＨＣスリップが発生するような量（図５中、Ｇ４参照）にするよりも、あえてＨＣスリップが発生しない程度の量（図５中、Ｇ２よりもやや少ない量）まで抑制する方が好ましい。以下では、このようにＨＣスリップが発生しない程度の量まで排気燃料噴射量を意図的に抑制する制御を、ＨＣスリップ抑制モードという。
【０１３５】
Ｓ１０２におけるＨＣスリップフィードバック制御実行条件とは、以上のようなＨＣスリップフィードバック制御を実行するのに好ましい状態であるか否かを判別するための条件である。より具体的には、ＨＣスリップフィードバック制御実行条件とは、例えば、ＬＮＴの担体温度の推定値が４００〜５５０℃の範囲内であること、である。Ｓ１０２の判別がＹＥＳである場合には、ＨＣスリップフィードバック制御を実行すべく、Ｓ１０３に移る。Ｓ１０２の判別がＮＯである場合には、ＨＣスリップ抑制モードを実行すべく、Ｓ１１０に移る。
【０１３６】
次に、ＨＣスリップフィードバック制御の具体的な手順（Ｓ１０３〜Ｓ１０８）について説明する。ＨＣスリップフィードバック制御中において、最終的な排気燃料噴射量Gfuel_ex(m)は、Ｓ１０１で算出した基準排気燃料噴射量Gfuel_ex_bs(m)に比例する基本項（右辺第１項）と、触媒後ＬＡＦセンサの出力値AFact_ds(m)に基づいて算出される補正値DGfuel_ex(m)に比例するフィードバック補正項（右辺第２項）とを合算することによって算出される（下記式（１８）、及び後述のＳ１０７参照）。また、この基本項は、マップ（図２３参照）を用いて算出される基準排気燃料噴射量Gfuel_ex_bs(m)に、後述の適応補正マップに従って算出される適応係数Kff_ex(m)を乗算したもので定義される。
【数１８】
0005902727.tif 000019
【０１３７】
ＨＣスリップフィードバック制御は、補正値DGfuel_ex(m)を算出するステップ（Ｓ１０３〜Ｓ１０５）と、適応係数Kff_ex(m)を算出するステップ（Ｓ１０６）と、式（１８）によって最終的な排気燃料噴射量Gfuel_ex(m)を決定するステップ（Ｓ１０７）と、排気燃料噴射システムの故障を判定するステップ（Ｓ１０８）と、で構成される。
【０１３８】
始めにＳ１０３では、Ｓ１１５で設定された噴射周期パラメータNex(m)をタップ数とした移動平均フィルタを用いて、触媒後ＬＡＦセンサの出力のフィルタ値AFact_mav_ds(m)と理想排気空燃比AF_exh_id_mav_up(m)とを算出し、ＨＣスリップ量に比例したＮＯｘ浄化パラメータP_LNT(m)を算出する（下記式（１９）参照）。
【数１９】
0005902727.tif 000020
【０１３９】
Ｓ１０４では、ＮＯｘ浄化パラメータP_LNT(m)と、その目標値P_LNT_cmd(m)との偏差E_LNT(m)を算出し（下記式（２０）参照）、Ｓ１０５に移る。ＨＣスリップフィードバック制御中は、ＮＯｘ浄化パラメータの目標値P_LNT_cmd(m)に比例した量のＨＣがＬＮＴの下流側へ定常的にスリップする。また、図１に示す排気浄化システムでは、ＬＮＴからスリップしたＨＣは、その下流側に設けられたＣＳＦに設けられた酸化触媒よって酸化処理される。したがって、この目標値P_LNT_cmd(m)は、０よりも僅かに大きな値、又はＨＣ酸化触媒としてのＣＳＦのＨＣ酸化処理能力に応じて設定される上限値より小さな値に設定される。またこの目標値P_LNT_cmd(m)は、上述のような制限の下で、例えばエンジン回転数、負荷パラメータ、排気ボリューム、エンジンから排出されるＮＯｘ量、及びＬＮＴの担体温度等に応じて可変させてもよい。
【数２０】
0005902727.tif 000021
【０１４０】
Ｓ１０５では、偏差E_LNT(m)が”0”になるように既知のフィードバックアルゴリズムを利用して排気燃料噴射量の補正値DGfuel_ex(m)を算出する。Ｓ１０５における演算の一例として、下記式（２１−１）及び（２１−２）には、スライディングモードアルゴリズムを利用して補正値DGfuel_exを決定する場合の演算式を示す。下記式（２１−１）において、”Pole_LNT”は、切換関数設定パラメータであり、-1より大きく0より小さな値（例えば、-0.85）に設定される。また、式（２１−２）において２つのフィードバックゲイン”Krch_LNT”及び”Kadp_LNT”は、負の値に設定される。
【数２１】
0005902727.tif 000022
【０１４１】
Ｓ１０６では、ＨＣスリップフィードバック制御時用の適応係数算出処理を実行し、Ｓ１０７に移る。後に図２６を参照して説明するように、この適応係数算出処理では、後述の適応補正マップによって適応係数Kff_ex(m)を算出するとともに、式（１８）のフィードバック補正項が０になるように当該適応補正マップを学習する。Ｓ１０７では、基準排気燃料噴射量Gfuel_ex_bs(m)に適応係数Kff_ex(m)を乗算することによって算出される基本項と、補正値DGfuel_ex(m)とを合算することによって、排気燃料噴射量Gfuel_ex(m)を算出し（上記式（１８）参照）、Ｓ１０８に移る。Ｓ１０８では、後に図２９を参照して説明する排気燃料噴射システムの故障判定処理を実行し、Ｓ１０９に移る。Ｓ１０９では、排気燃料噴射浄化運転中であることを明示すべくフラグF_ExINJ_mode(m)=1とし、この処理を終了する。
【０１４２】
次に、ＨＣスリップ抑制制御の具体的な手順（Ｓ１１０〜Ｓ１１１）について説明する。ＨＣスリップ抑制制御の目的は、燃料の無駄な消費をできるだけ避けるため、排気燃料噴射量をＨＣスリップが発生しない程度まで抑制することである。しかしながら排気燃料噴射量を過剰に抑制すると、ＮＯｘ浄化率も大幅に低下してしまう。したがって、ＨＣスリップ抑制制御における排気燃料噴射量の目標は、図５でいえば、Ｇ２よりやや少ない量である。しかしながら、ＨＣスリップが発生しない領域ではＮＯｘ浄化パラメータP_LNTは、一律で０となる。このため、上述のＨＣスリップフィードバック制御と同様にして、浄化パラメータP_LNTに基づいて、排気燃料噴射量を上述のような目標に制御することはできない。
【０１４３】
一方、ＨＣスリップフィードバック制御中は、Ｓ１０６に示す処理によって、式（１８）の右辺第２項のフィードバック補正項が０になるように、基本項の適応係数Kff_exの算出アルゴリズムを学習する。このため、ＨＣスリップフィードバック制御を繰り返し実行すれば、浄化パラメータP_LNTやフィードバック補正項の演算を経ることなく、ＨＣスリップフィードバック制御時と同等の排気燃料噴射量（例えば、図５中、Ｇ４に相当）を、基本項のみによって再現できる。浄化パラメータP_LNTを用いることができないＨＣスリップ抑制制御中は、このように学習を経た基本項によって算出される排気燃料噴射量に、１より小さな減量係数を乗算することによって、ＨＣスリップフィードバック制御時よりも適度に抑制された排気燃料噴射量（例えば、図５中、Ｇ２よりもやや少ない量）を算出する。
【０１４４】
Ｓ１１０では、後に図２８を参照して説明するＨＣスリップ抑制制御時用の適応係数算出処理を実行することによって、適応係数Kff_ex(m)を算出し、Ｓ１１１に移る。Ｓ１１１では、下記式（２２）に示すように、減量係数を０．９として、この減量係数を式（１８）の基本項に乗算することによって、排気燃料噴射量Gfuel_ex(m)を算出し、Ｓ１０９に移る。Ｓ１０９では、排気燃料噴射浄化運転中であることを明示すべく、フラグF_ExINJ_mode(m)=1とし、この処理を終了する。
【数２２】
0005902727.tif 000023
【０１４５】
図２４は、間欠噴射パラメータ設定処理の具体的な手順を示すフローチャートである。図２４に示す処理は、図２１のメイン処理のサブルーチンとして制御周期ΔTexで実行される。
【０１４６】
Ｓ１５１では、ＬＮＴのＨＣ酸化能力を示す酸化能力パラメータを取得し、Ｓ１５２に移る。この酸化能力パラメータとしては、例えば、ＬＮＴの担体温度の推定値Tcc_hat(m)及び負荷パラメータ（例えば、ＢＭＥＰ。その他、要求トルク、燃料噴射量、エンジントルク推定値、及び排気ボリュームなどのエンジンの負荷に比例して大きくなるパラメータが用いられる）の組み合わせが用いられるが、本発明はこれに限らない。ＬＮＴのＨＣ酸化能力は、温度及び負荷パラメータの組み合わせによって特定されるＬＮＴの環境の他、ＬＮＴの劣化度合いや個体ばらつき等によっても変化する。したがって、この酸化能力パラメータは、このような劣化度合いや個体ばらつき等も考慮して数値化したものを用いてもよい。
【０１４７】
Ｓ１５２では、Ｓ１５１で取得した酸化能力パラメータを入力として、マップ検索等の既知の方法によって１より大きな整数である噴射周期パラメータNex(m)を算出し、Ｓ１５３に移る。
【０１４８】
図２５は、噴射周期パラメータNexを決定するマップの一例である。間欠噴射によって供給された燃料が、ＮＯｘの浄化に寄与せずにＬＮＴにおいて直接酸化しないようにするためには、ＬＮＴの酸化能力が高くなるほど噴射周期を長くし、一周期中に噴射される燃料の量を多くする方が好ましい。従って噴射周期パラメータNexは、ＬＮＴのＨＣ酸化能力が高くなるほど大きな値に設定される。また、上述のように噴射周期パラメータNexは、１より大きな整数である。従って、噴射周期パラメータNexは、図２５に示すようにＬＮＴの酸化能力に応じてステップ状に変化させることが好ましい。
【０１４９】
図２４に戻って、Ｓ１５３では、制御周期ΔTexに整数である噴射周期パラメータNex(m)を乗じたものを間欠噴射の噴射周期Tfuel_ex(m)として算出し（下記式（２３）参照）、この処理を終了する。
【数２３】
0005902727.tif 000024
【０１５０】
図２６は、ＨＣスリップフィードバック制御時用の適応係数算出処理の具体的な手順を示すフローチャートである。図２６に示す処理は、図２２のメイン処理のサブルーチンとして、ＨＣスリップフィードバック制御の実行中に制御周期ΔTexで実行される。
【０１５１】
図２６を参照して適応係数算出処理の具体的な手順を説明する前に、適応係数Kff_exを算出する算出アルゴリズムと、当該算出アルゴリズムの学習手順の内容を説明する。適応係数算出処理では、下記式（２４）に示すように、ＬＮＴに流入するＮＯｘ量の推定値Gnox_hat(m)及びＬＮＴの担体温度の推定値Tcc_hat(m)を入力として、適応補正マップ（後述の式（２５）等）によって算出されるマップ値M_tcc_nox(m)と、適応係数Kff_exの初期値である”1”と、を合算することによって、適応係数Kff_ex(m)を算出する。
【数２４】
0005902727.tif 000025
【０１５２】
下記式（２５）は、適応補正マップの具体的な構成を示す式、すなわちマップ値M_tcc_nox(m)の具体的な演算式である。下記式（２５）において、値Wex_nox_i(m)(i=1,2,3)は、ＮＯｘ量の推定値Gnox_hat(m)を入力として、図２７の上段に示すような重み関数マップによって算出される３種類のＮＯｘ量用重み関数の値である。値Wex_tlnt_j(m)(j=1,2,3)は、担体温度の推定値Tcc_hat(m)を入力として、図２７の下段に示すような重み関数マップによって算出される３種類のＬＮＴ温度用重み関数の値である。また、９つの係数Dkff_ij(m)(i又はj=1,2,3)は、９種類の重み関数の組み合わせに付随して定められる領域適応更新値である。これら９つの領域適応更新値Dkff_ij(m)は、重み関数の組み合わせの寄与度、換言すれば当該重み関数の組み合わせの高さを指定する値である。すなわち、領域適応更新値Dkff_ij(m)の値を変化させることは、直感的には、マップ値M_tcc_nox(m)を算出するための適応補正マップの形状を変化させることに相当する。図２６の適応係数算出処理では、式（１８）のフィードバック補正項（DGfuel_ex(m)）の絶対値が小さくなるように領域適応更新値Dkff_ij(m)を変化させる。
【数２５】
0005902727.tif 000026
【０１５３】
なお、３つの重み関数Wex_nox_1〜Wex_nox_3は、ＮＯｘ量の推定値Gnox_hatに対して定義され、３つの重み関数Wex_tlnt_1〜Wex_tlnt_3は、担体温度の推定値Tcc_hatに対して定義される。またこれら重み関数は、図２７に示すように全重み関数値の総和がどのような温度又はＮＯｘ量に対しても１になるように正規化される。
【０１５４】
図２６に戻って、Ｓ１２１では、ＮＯｘ量の推定値Gnox_hat(m)及び担体温度の推定値Tcc_hat(m)を取得し、これら推定値に基づいて図２７に示すようなマップを検索することによって、３つのＮＯｘ量用重み関数値Wex_nox_i(m)及び３つのＬＮＴ温度用重み関数値Wex_tlnt_j(m)を算出し、Ｓ１２２に移る。
【０１５５】
Ｓ１２２では、図２２のＳ１０５で算出された補正値DGfuel_ex(m)に”-1”を乗算することにより適応誤差信号Eadp_ex(m)を算出し（下記式（２６−１）参照）、Ｓ１２３に移る。Ｓ１２３では、下記式（２６−２）に従って９つの重み付適応誤差信号WEadp_ex_ij(m)(i又はj=1,2,3)を算出し、Ｓ１２４に移る。Ｓ１２４では、各重み付適応誤差信号WEadp_ex_ij(m)に負のゲインKadp_ffを乗じたものを積分することによって、各領域適応更新値Dkff_ij(m)を算出し（下記式（２６−３）参照）、Ｓ１２５に移る。すなわち、以上のＳ１２１〜Ｓ１２４の処理によって、補正値DGfuel_ex(m)の絶対値が小さくなるように領域適応更新値Dkff_ij(m)が算出される。したがって、Ｓ１２１〜Ｓ１２４の処理が適応補正マップを補正する基本項補正手段を構成する。Ｓ１２５では、以上のようにして算出された複数の重み関数値及び領域適応更新値を式（２５）の適応補正マップに入力することによってマップ値M_tcc_nox(m)を算出し、さらに式（２４）によって適応係数Kff_ex(m)を算出し、図２２のＳ１０７に戻る。
【数２６】
0005902727.tif 000027
【０１５６】
図２８は、ＨＣスリップ抑制制御時用の適応係数算出処理の具体的な手順を示すフローチャートである。図２８に示す処理は、図２２のメイン処理のサブルーチンとして、ＨＣスリップ抑制制御中に制御周期ΔTexで実行される。
【０１５７】
Ｓ１３１では、ＮＯｘ量の推定値Gnox_hat(m)及び担体温度の推定値Tcc_hat(m)を取得し、これら推定値に基づいて図２７に示すようなマップを検索することによって、各ＮＯｘ量用重み関数値Wex_nox_i(m)及び各ＬＮＴ温度用重み関数値Wex_tlnt_j(m)を算出し、Ｓ１３２に移る。Ｓ１３２では、以上のようにして算出された複数の重み関数値と、ＨＣスリップフィードバック制御中に式（２６−１）〜（２６−３）の学習処理によって算出された領域適応更新値Dkff_ij(m)を用いて、上記式（２４）及び（２５）に従って適応係数Kff_ex(m)を算出し、図２２のＳ１０９に戻る。
【０１５８】
図２９は、排気燃料噴射システムの故障判定処理の具体的な手順を示すフローチャートである。図２９に示す処理は、図２２のメイン処理のサブルーチンとして、ＨＣスリップフィードバック制御中に制御周期ΔTexで実行される。この故障判定処理では、ＨＣスリップフィードバック制御中に算出される補正値DGfuel_ex(m)及び領域適応更新値Dkff_ij(m)と各々に対して設定された閾値との比較によって、排気燃料噴射システムが故障しているか否かを判定する。
【０１５９】
Ｓ１４１では、補正値DGfuel_ex(m)が所定の下限故障閾値DG_Low_NGより小さいか否かを判別する。Ｓ１４１の判別がＮＯである場合にはＳ１４２に移る。Ｓ１４２では、９つの領域適応更新値Dkff_ij(m)のうち何れかが所定の下限故障閾値DKFF_Low_NGより小さいか否かを判別する。Ｓ１４２の判別がＮＯである場合にはＳ１４５に移る。また、Ｓ１４１及びＳ１４２の何れかの判別がＹＥＳである場合には、排気燃料噴射システムは故障したと判断し、Ｓ１４３に移り、故障フラグF_ExINJ_NG(m)=1とし、さらに図示しない警告灯を点灯し（Ｓ１４４）、図２２のＳ１０９に移る。
【０１６０】
ここで、Ｓ１４１及びＳ１４２の処理によって排気燃料噴射システムの故障を判定できる理由を説明する。ＨＣスリップフィードバック制御中の排気燃料噴射量は、ＨＣスリップが発生するように定められる。Ｓ１４１の判別で用いる補正値DGfuel_ex(m)が小さくなるほど、最終的な排気燃料噴射量Gfuel_ex(m)は小さな値に補正される（式（１８）参照）。また、Ｓ１４２の判別で用いる領域適応更新値Dkff_ij(m)が小さくなるほど、適応係数Kff_ex(m)は小さくなり（式（２４）、（２５）参照）、最終的な排気燃料噴射量Gfuel_ex(m)は小さな値に補正される（式（１８）参照）。したがって、これら補正値又は領域適応更新値が各々の閾値より小さくなった状態とは、ＨＣスリップを発生させるために必要な排気燃料噴射量が正常時よりも少なくなった状態であるといえる。
【０１６１】
Ｓ１４１又はＳ１４２の判別によれば、ＬＮＴの酸化能力が正常時よりも低下する故障を特定することができる。ＬＮＴの酸化能力が低下すると、中間生成物が生成されにくくなってしまい、排気燃料インジェクタから供給した燃料の多くがＬＮＴ上での中間生成物の生成に寄与せず、ＨＣとして下流側に排出されるからである。また、Ｓ１４１又はＳ１４２の判別がＹＥＳである場合は、中間生成物の生成量が本来の量よりも少ないので、ＮＯｘ浄化率も本来よりも低下している。なお、このようなＬＮＴの酸化能力の低下は、例えばＬＮＴの劣化によって生じ得る。
【０１６２】
Ｓ１４５では、補正値DGfuel_ex(m)が所定の上限故障閾値DG_High_NGより大きいか否かを判別する。Ｓ１４５の判別がＮＯである場合にはＳ１４６に移る。Ｓ１４６では、９つの領域適応更新値Dkff_ij(m)のうち何れかが所定の上限故障閾値DKFF_Low_NGより大きいか否かを判別する。Ｓ１４６の判別がＹＥＳである場合には、排気燃料噴射システムは正常であると判断し、故障フラグF_ExINJ_NG(m)=0とし（Ｓ１４７）、図２２のＳ１０９に移る。またＳ１４５及びＳ１４６のうちの何れかの判別がＹＥＳである場合には、排気燃料噴射システムは故障したと判断し、故障フラグF_ExINJ_NG(m)=1とし（Ｓ１４３）、さらに警告灯を点灯し（Ｓ１４４）、図２２のＳ１０９に移る。これら補正値又は領域適応更新値が各々の閾値より大きくなった状態とは、上述のＳ１４１及びＳ１４２の場合とは逆に、ＨＣスリップを発生させるために必要な排気燃料噴射量が正常時よりも多くなった状態であるといえる。
【０１６３】
Ｓ１４５又はＳ１４６の判別によれば、ＬＮＴの酸化能力が正常時よりも上昇する故障を特定することができる。ＬＮＴの酸化能力が高くなると、排気燃料インジェクタから供給した燃料の多くは、ＬＮＴ上で中間生成物の生成に寄与することなく、直接酸化してしまうからである。また、Ｓ１４５又はＳ１４６の判別がＹＥＳである場合も、中間生成物の生成量が本来よりも少ないので、ＮＯｘ浄化率も本来よりも低下している。なお、このようなＬＮＴの酸化能力の上昇は、燃料に金属系（例えば、Ｐｔ）の添加剤が加えられた場合や、排気燃料インジェクタから噴射される燃料の粒径が、正常な状態よりも小さくなった場合等に生じ得る。
【０１６４】
図３０は、図２１及び２２の処理によって設定された排気燃料噴射量Gfuel_ex及び噴射周期Tfuel_exの下で行う間欠噴射制御の具体的な手順を示すフローチャートである。図３１は、図３０のフローチャートによって実現される間欠噴射制御の具体例を示すタイムチャートである。図３０に示す処理は、排気燃料噴射浄化運転モードフラグF_ExINJ_modeが”1”であり排気燃料インジェクタからの燃料の間欠噴射が要求されている時に、制御周期ΔTexよりも十分に短い周期ΔTinj（例えば、数μ秒〜数十μ秒）で実行される。なお以下では、周期ΔTinjで更新又はサンプリングされる値については、括弧書きで符号”j”を付す。
【０１６５】
Ｓ１６１では、図２４の処理によって周期ΔTexで更新される噴射周期をオーバーサンプリングし（Tfuel_ex(m)→Tfuel_ex(j)）、噴射制御タイマTM_INJ(j)は噴射周期Tfuel_ex(j)より大きいか否かを判別する。この噴射制御タイマTM_INJ(j)は、制御周期ΔTinj毎に経過した時間が加算され（後述のＳ１６８参照）、噴射周期Tfuel_ex(j)毎にリセットされる（後述のＳ１６２参照）。Ｓ１６１の判別がＹＥＳである場合には、噴射制御タイマTM_INJ(j)を”0”にリセットした後（Ｓ１６２）、Ｓ１６３に移る。Ｓ１６１の判別がＮＯである場合には、タイマをリセットせずにＳ１６３に移る。
【０１６６】
Ｓ１６３では、図２２の処理によって周期ΔTexで更新される排気燃料噴射量をオーバーサンプリングし（Gfuel_ex(m)→Gfuel_ex(j)）、この単位時間当たりの噴射量Gfuel_ex(j)を、一噴射周期の間に排気燃料インジェクタで燃料噴射を実行する時間（すなわち、開弁時間）に相当する排気燃料噴射時間Tfuel_inj(j)に換算し、Ｓ１６４に移る。この噴射量から時間への換算は、例えば、下記式（２７）によって実現される。下記式において、Ginjは、周期ΔTinjの間に排気燃料インジェクタから噴射される燃料量に相当する。
【数２７】
0005902727.tif 000028
【０１６７】
Ｓ１６４及びＳ１６５では、噴射制御タイマTM_INJ(j)が、所定の噴射可能期間Tfuel_max(j)及び噴射時間Tfuel_inj(j)の何れかを超えたか否かを判別する。この噴射可能期間Tfuel_max(j)は、図３１に示すように確実に間欠噴射が実行されるように定められる噴射制御タイマTM_INJ(j)に対する上限であり、噴射周期Tfuel_ex(j)より小さな値（例えば、Tfuel_max(j)=Tfuel_ex(j)/2）に設定される。
【０１６８】
Ｓ１６４及びＳ１６５の判別の両方がＮＯである場合には、排気燃料噴射を実行（排気燃料インジェクタを開弁駆動）し（Ｓ１６６参照）、Ｓ１６８に移る。Ｓ１６４及びＳ１６５の判別の何れかがＹＥＳである場合には、排気燃料噴射を停止（排気燃料インジェクタを閉弁駆動）し（Ｓ１６７参照）、Ｓ１６８に移る。Ｓ１６８では、噴射制御タイマTM_INJ(j)を更新し（TM_INJ(j)←TM_INJ(j)+ΔTinj）、この処理を終了する。
【０１６９】
なお、Ｓ１６４の判別がＹＥＳである場合、実質的な噴射時間Tfuel_inj(j)は、噴射可能期間Tfuel_max(j)に制限されてしまうため、実際に排気燃料インジェクタから単位時間当たりに噴射される燃料量は、図２２の処理で定めた量から所定量ΔGだけ減少する（Gfuel_ex→Gfuel_ex-ΔG）。したがってこの点を考慮して、Ｓ１６４の判別がＹＥＳとなった場合には、例えば、図２２の処理において式（４−２）又は（５−１）によって算出される理想排気空燃比AF_ex_id_upは、それぞれ下記式（２８−１）又は（２８−２）で置き換えてもよい。
【数２８】
0005902727.tif 000029
【０１７０】
次に、本発明の第２実施形態を、図面を参照しながら説明する。
図３２は、本実施形態に係るエンジン１及びその排気浄化システム２Ｂの構成を示す図である。図３２の排気浄化システム２Ｂは、図１に示す第１実施形態の排気浄化システム２と、触媒前ＬＡＦセンサ５１Ｂを設ける位置と、筒内燃料噴射制御及び排気燃料噴射制御を実行するＥＣＵ３Ｂの構成が異なる。
【０１７１】
触媒前ＬＡＦセンサ５１Ｂは、排気通路１１のうちＬＮＴ４１と排気燃料インジェクタ４５２との間に設けられる。この場合、図１のシステム２と異なり、ＬＡＦセンサ５１Ｂの出力値AFact_up’は、排気燃料インジェクタ４５２からの間欠噴射の影響を直接受けることとなるが、以下に示す処理を変更すれば、図６〜３１に示す筒内燃料噴射制御及び排気燃料噴射制御を排気浄化システム２Ｂでも実行できる。
【０１７２】
第１に、触媒前ＬＡＦセンサ５１Ｂを排気燃料インジェクタ４５２の下流側に設けることにより、この触媒前ＬＡＦセンサ５１Ｂの出力値AFact_up’(m)を、そのままＬＮＴの上流側の理想排気空燃比AF_exh_id_up(m)として利用できる。すなわち、排気浄化システム２Ｂでは、式（４−１）〜（４−２）は下記式（２９）に置き換えられる。
【数２９】
0005902727.tif 000030
【０１７３】
しかしながら、図２及び図３６を参照して説明したように、排気燃料インジェクタで間欠噴射を行うと、触媒後ＬＡＦセンサ５２の出力値AFact_dsと同様に触媒前ＬＡＦセンサ５１Ｂの出力値AFact_up’ものこぎり波状となってしまう。したがって、図３２の排気浄化システム２Ｂでは、間欠噴射を行っている間は、触媒前ＬＡＦセンサ５１Ｂの出力値AFact_up’に対しても式（３）と同様の移動平均フィルタを適用する必要がある。より具体的には、例えば、理想排気空燃比AF_exh_id_upの演算式（２９）は下記式（３０）に置き換えられる。
【数３０】
0005902727.tif 000031
【０１７４】
また、式（３０）で算出される理想排気空燃比AF_exh_id_upは、既に移動平均による位相遅れを含んだものとなっていることから、浄化パラメータP_LNTの演算式（７）は、下記式（３１）に置き換えられる。
【数３１】
0005902727.tif 000032
【０１７５】
第２に、図１３の目標触媒前空燃比演算のＳ４５〜Ｓ４７の処理は、以下のように変更される。図１の排気浄化システム２では、触媒前ＬＡＦセンサ５１を排気燃料インジェクタ４５２の上流側に設けられることから、図１６の処理に従って算出される目標値AFcmd_ds_tdc(k)から、排気燃料噴射量Gfuel_ex(k)の影響を除いた上で、触媒前ＬＡＦセンサ５１の出力値AFact_up(k)に対する目標値AFcmd(k)を算出した（式（１２）〜（１５）参照）。これに対し図３２の排気浄化システム２Ｂでは、触媒前ＬＡＦセンサ５１Ｂは排気燃料インジェクタ４５２の下流側に設けられることから、触媒ＬＡＦセンサ５１Ｂの出力値AFact_up’(k)の目標値AFcmd’(k)を算出するにあたり、排気燃料噴射量Gfuel_ex(k)の影響を除く必要がない。すなわち、排気浄化システム２Ｂでは、式（１４）は、下記式（３２）に置き換えられる。図３２の排気浄化システム２Ｂによれば、以上の置き換えによって図１の排気浄化システム２とほぼ同じ効果を奏する。
【数３２】
0005902727.tif 000033
【０１７６】
以上、本発明の一実施形態について説明したが、本発明はこれに限らない。本発明は、排気中の燃料成分全体の濃度が一定にもかかわらず、空燃比センサの出力値と真値との差がＨＣ濃度によって変化する現象を利用したものである。そして上記実施形態では、このような本発明を具現化したものとして、図４を参照して説明したように排気中のＨＣ濃度が高くなるほどその出力値が真値に対してリーン側にシフトする特性を有する空燃比センサを触媒の下流側の触媒後空燃比センサ５２（図１参照）に用いた場合について詳細に説明したが、本発明はこれに限らない。例えば、排気中のＨＣ濃度の増加に応じてその出力値と真値との差がリッチ側に変化する特性を有する空燃比センサがあれば、このような空燃比センサを触媒後空燃比センサ５２に用いても、上記実施形態に係る発明と同じ目的及び効果を達成することができる。なおこのように図４とは逆の方向へ出力値がシフトする空燃比センサを用いた場合、上記式（６）又は（７）によって定義されるＮＯｘ浄化パラメータP_LNTの符号が逆になり、ひいてはこのＮＯｘ浄化パラメータP_LNTに対する目標値P_LNT_cmdの符号も逆になる点に注意すべきである。このようにＮＯｘ浄化パラメータP_LNTの符号が逆になることを考慮すれば、図６〜３１を参照して説明した具体的な制御手順は、出力値のシフト方向が図４とは逆の空燃比センサを触媒後空燃比センサ５２に用いた排気浄化システムにも適用することができる。
【符号の説明】
【０１７７】
１…エンジン（内燃機関）
１１…排気通路
２，２Ｂ…排気浄化システム
３，３Ｂ…ＥＣＵ（サンプリング手段、移動平均値算出手段、噴射量算出手段、間欠噴射実行手段、噴射周期算出手段、推定手段、噴射周期パラメータ設定手段）
４１…ＬＮＴ（触媒）
４５２…排気燃料インジェクタ（インジェクタ）
５２…触媒後ＬＡＦセンサ（空燃比センサ）
【図１】
0005902727.tif 000034
【図２】
0005902727.tif 000035
【図３】
0005902727.tif 000036
【図４】
0005902727.tif 000037
【図５】
0005902727.tif 000038
【図６】
0005902727.tif 000039
【図７】
0005902727.tif 000040
【図８】
0005902727.tif 000041
【図９】
0005902727.tif 000042
【図１０】
0005902727.tif 000043
【図１１】
0005902727.tif 000044
【図１２】
0005902727.tif 000045
【図１３】
0005902727.tif 000046
【図１４】
0005902727.tif 000047
【図１５】
0005902727.tif 000048
【図１６】
0005902727.tif 000049
【図１７】
0005902727.tif 000050
【図１８】
0005902727.tif 000051
【図１９】
0005902727.tif 000052
【図２０】
0005902727.tif 000053
【図２１】
0005902727.tif 000054
【図２２】
0005902727.tif 000055
【図２３】
0005902727.tif 000056
【図２４】
0005902727.tif 000057
【図２５】
0005902727.tif 000058
【図２６】
0005902727.tif 000059
【図２７】
0005902727.tif 000060
【図２８】
0005902727.tif 000061
【図２９】
0005902727.tif 000062
【図３０】
0005902727.tif 000063
【図３１】
0005902727.tif 000064
【図３２】
0005902727.tif 000065
【図３３】
0005902727.tif 000066
【図３４】
0005902727.tif 000067
【図３５】
0005902727.tif 000068
【図３６】
0005902727.tif 000069