(57)【特許請求の範囲】
【請求項１】
内燃機関の排気系に設けられ、排気ガスの浄化を行う触媒手段と、排気ガス中の酸素濃度を検出する酸素濃度検出手段と、該酸素濃度検出手段の出力に応じて前記機関に供給する混合気の空燃比をフィードバック制御する空燃比制御手段と、該空燃比制御手段による空燃比制御時の前記酸素濃度検出手段の出力に基づいて前記触媒手段の劣化を判定する触媒劣化判定手段とを備えた内燃機関の触媒劣化判定装置において、
前記触媒劣化判定手段は、
所定の診断期間で前記酸素濃度検出手段の出力変化周期を代表する周期パラメータを計測する計測手段と、
該計測手段により異なる前記診断期間で計測された複数の前記周期パラメータの平均値を算出する平均値算出手段と、
前記複数の周期パラメータの標準偏差を算出する標準偏差算出手段と、
該算出された標準偏差に応じた監視域を前記平均値算出手段により算出された平均値が越える場合、劣化指標を更新する劣化指標更新手段とを備え、
該更新される劣化指標に基づいて前記劣化判定を行うことを特徴とする内燃機関の触媒劣化判定装置。
【請求項２】
前記劣化指標更新手段により更新される劣化指標に基づいて前記監視域を更新する監視域更新手段を備えたことを特徴とする請求項１記載の内燃機関の触媒劣化判定装置。
【請求項３】
前記劣化指標更新手段は、前記平均値算出手段により算出された平均値と前記劣化指標との差分に所定係数を乗算し、該乗算した値を加算することにより前記劣化指標を更新する際、前記所定係数を値１未満に設定することを特徴とする請求項１記載の内燃機関の触媒劣化判定装置。
【請求項４】
前記平均値は移動平均により算出されることを特徴とする請求項１記載の内燃機関の触媒劣化判定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の排気系に設けられ、排気ガスを浄化する触媒の劣化を判定する触媒劣化判定装置に関する。
【０００２】
【従来の技術】
内燃機関の排気ガスを浄化する触媒の劣化を判定する手法として、機関の排気通路に装着された触媒の下流側に設けた酸素濃度センサの出力に応じて機関に供給する混合気の空燃比をフィードバック制御し、そのときの酸素濃度センサ出力の反転周期を計測し、該計測した反転周期を用いて触媒の劣化判定を行う手法（例えば特開平５−１０６４９４号公報）が従来より知られている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の手法では、計測した反転周期をそのまま判定基準値と比較して劣化判定を行っているので、計測時の機関運転状態による計測の誤差が出てしまい、判定精度の点で改善の余地があった。
【０００４】
本発明はこの点に着目してなされたものであり、触媒の劣化状態をより高精度に判定することができる触媒劣化判定装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に記載の内燃機関の触媒劣化判定装置は、内燃機関の排気系に設けられ、排気ガスの浄化を行う触媒手段と、排気ガス中の酸素濃度を検出する酸素濃度検出手段と、該酸素濃度検出手段の出力に応じて前記機関に供給する混合気の空燃比をフィードバック制御する空燃比制御手段と、該空燃比制御手段による空燃比制御時の前記酸素濃度検出手段の出力に基づいて前記触媒手段の劣化を判定する触媒劣化判定手段とを備えた内燃機関の触媒劣化判定装置において、前記触媒劣化判定手段は、所定の診断期間で前記酸素濃度検出手段の出力変化周期を代表する周期パラメータを計測する計測手段と、該計測手段により異なる前記診断期間で計測された複数の前記周期パラメータの平均値を算出する平均値算出手段と、前記複数の周期パラメータの標準偏差を算出する標準偏差算出手段と、該算出された標準偏差に応じた監視域を前記平均値算出手段により算出された平均値が越える場合、劣化指標を更新する劣化指標更新手段とを備え、該更新される劣化指標に基づいて前記劣化判定を行うことを特徴とする。
【０００６】
請求項２に記載の内燃機関の触媒劣化判定装置は、請求項１記載の内燃機関の触媒劣化判定装置において前記劣化指標更新手段により更新される劣化指標に基づいて前記監視域を更新する監視域更新手段を備えたことを特徴とする。
【０００７】
請求項３に記載の内燃機関の触媒劣化判定装置では、請求項１記載の内燃機関の触媒劣化判定装置において前記劣化指標更新手段は、前記平均値算出手段により算出された平均値と前記劣化指標との差分に所定係数を乗算し、該乗算した値を加算することにより前記劣化指標を更新する際、前記所定係数を値１未満に設定することを特徴とする。
【０００８】
請求項４に記載の内燃機関の触媒劣化判定装置では、請求項１記載の内燃機関の触媒劣化判定装置において前記平均値は移動平均により算出されることを特徴とする。
【０００９】
本発明では、酸素濃度検出手段の出力変化周期を代表する周期パラメータが所定の診断領域において計測され、異なる診断期間において計測された周期パラメータを平均化することにより平均値が算出され、該算出された平均値が監視域を越える場合、劣化指標を更新し、更新される劣化指標に基づいて触媒の劣化判定が行われる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００１１】
（第１の実施形態）
図１は、本発明の一実施形態に係る内燃機関（以下「エンジン」という）及びその制御装置の全体構成図であり、例えば４気筒のエンジン１の吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（θＴＨ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力してエンジン制御用電子コントロールユニット（以下「ＥＣＵ」という）５に供給する。
【００１２】
燃料噴射弁６はエンジン１とスロットル弁３との間かつ吸気管２の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されて当該ＥＣＵ５からの信号により燃料噴射の開弁時間が制御される。
【００１３】
一方、スロットル弁３の直ぐ下流には吸気管内絶対圧（ＰＢＡ）センサ７が設けられており、この絶対圧センサ７により電気信号に変換された絶対圧信号は前記ＥＣＵ５に供給される。また、その下流には吸気温（ＴＡ）センサ８が取付けられており、吸気温ＴＡを検出して対応する電気信号を出力してＥＣＵ５に供給する。
【００１４】
エンジン１の本体に装着されたエンジン水温（ＴＷ）センサ９はサーミスタ等から成り、エンジン水温（冷却水温）ＴＷを検出して対応する温度信号を出力してＥＣＵ５に供給する。エンジン回転数（ＮＥ）センサ１０及びＣＲＫセンサ１１はエンジン１の図示しないカム軸周囲又はクランク軸周囲に取付けられている。エンジン回転数センサ１０はエンジン１のクランク軸の１８０度回転毎に所定のクランク角度位置でパルス（以下「ＴＤＣ信号パルス」という）を出力し、ＣＲＫセンサ１１は所定のクランク角毎、例えば４５度のクランク角度位置で信号パルス（以下「ＣＲＫ信号パルス」という）を出力するものであり、これらの各信号パルスはＥＣＵ５に供給される。
【００１５】
排気管１２には排気ガスを浄化する三元触媒（以下単に「触媒」という）１３が設けられ、触媒１３は、フロント触媒１３ａとリア触媒１３ｂとから成る。触媒１３の上流位置には、酸素濃度検出手段としての上流側Ｏ２センサ１４が装着されているとともに、フロント触媒１３ａとリア触媒１３ｂとの間には酸素濃度検出手段としての下流側Ｏ２センサ１５が装着され、それぞれ排気ガス中の酸素濃度を検出してその検出値に応じた電気信号（ＰＶＯ２，ＳＶＯ２）がＥＣＵ５に供給される。また触媒１３にはその温度を検出する触媒温度（ＴＣＡＴ）センサ１６が装着され、検出された触媒温度ＴＣＡＴに対応する電気信号がＥＣＵに供給される。
【００１６】
なお、下流側Ｏ２センサ１５は、リア触媒１３ｂの下流側に装着してもよい。
【００１７】
ＥＣＵ５にはさらに、エンジン１が搭載された車両の速度を検出する車速センサ（ＶＨ）１７、大気圧（ＰＡ）センサ１８が接続されており、これらのセンサの検出信号がＥＣＵ５に供給される。
【００１８】
吸気管２には、通路１９を介して燃料タンクで発生する蒸発燃料を吸着するキャニスタ（図示せず）が接続されており、通路１９の途中にパージ制御弁２０が配設されている。パージ制御弁２０は、ＥＣＵ５に接続されており、ＥＣＵ５によりその開閉が制御される。パージ制御弁２０は、エンジン１の所定運転状態において開弁され、キャニスタに貯蔵された蒸発燃料を吸気管２に供給する。
【００１９】
ＥＣＵ５は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路５ａ、中央演算処理回路（以下「ＣＰＵ」という）５ｂ、ＣＰＵ５ｂで実行される各種演算プログラム及び演算結果等を記憶する記憶手段５ｃ、前記燃料噴射弁６に駆動信号を供給する出力回路５ｄ等から構成される。
【００２０】
ＣＰＵ５ｂは、上述の各種エンジンパラメータ信号に基づいて、空燃比フィードバック制御領域や空燃比フィードバック制御を行わない複数の特定運転領域（以下「オープンループ制御領域」という）の種々のエンジン運転状態を判別するとともに、該判別されたエンジン運転状態に応じて、下記数式（１）に基づき、前記ＴＤＣ信号パルスに同期する燃料噴射弁６の燃料噴射時間ＴＯＵＴを演算する。
【００２１】
ＴＯＵＴ＝ＴＩＭ×ＫＯ２×Ｋ１＋Ｋ２    …（１）
ここに、ＴＩＭは基本燃料量、具体的には燃料噴射弁５の基本燃料噴射時間であり、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたＴＩマップを検索して決定される。ＴＩマップは、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに対応する運転状態において、エンジンに供給する混合気の空燃比がほぼ理論空燃比になるように設定されている。すなわち、基本燃料量ＴＩＭは、エンジンの吸入空気量（重量流量）にほぼ比例する値を有する。
【００２２】
ＫＯ２は空燃比補正係数（以下、単に「補正係数」という）であり、空燃比フィードバック制御時、Ｏ２センサ１４，１５により検出された排気ガス中の酸素濃度に応じて求められ、さらにオープンループ制御領域では各運転領域に応じた値に設定される。
【００２３】
Ｋ１及びＫ２は夫々各種エンジンパラメータ信号に応じて演算される他の補正係数および補正変数であり、エンジン運転状態に応じた燃費特性、エンジン加速特性等の諸特性の最適化が図れるような所定値に決定される。
【００２４】
ＣＰＵ５ｂは上述のようにして求めた燃料噴射時間ＴＯＵＴに基づいて燃料噴射弁６を開弁させる駆動信号を出力回路５ｄを介して燃料噴射弁６に供給するとともに、エンジン運転状態に応じたパージ制御弁２０の開閉制御を行う。
【００２５】
次に、触媒１３の劣化判定（劣化モニタ）について説明する。
【００２６】
この触媒１３の劣化モニタを行う場合のフィードバック制御は下流側Ｏ２センサ１５の出力ＳＶＯ２のみに基づいて行われる。そして出力ＳＶＯ２が所定の基準電圧ＳＶＲＥＦに対してリーン側からリッチ側へ反転した時点から出力ＳＶＯ２が逆方向に反転した時点までの時間ＴＬ、及び出力ＳＶＯ２が基準電圧ＲＶＲＥＦに対してリッチ側からリーン側へ反転した時点から出力ＳＶＯ２が逆方向に反転した時点までの時間ＴＲが計測され、これらの時間ＴＬ，ＴＲに基づいて触媒１３の劣化が判定される（図６参照）。
【００２７】
図２は、触媒劣化モニタ処理の全体構成を示すフローチャートであり、本処理はＣＰＵ５ｂで所定時間（例えば１０ｍｓｅｃ）毎に実行される。
【００２８】
ステップＳ１では、劣化モニタを実行するための前提条件（以下「前条件」という）が成立していることを「１」で示す前条件フラグＦＭＣＮＤが「１」か否かを判別し、ＦＭＣＮＤ＝０であるときは直ちに本処理を終了する。
【００２９】
ここで図３を参照して、前条件判定処理（前条件フラグＦＭＣＮＤの設定を行う処理）を説明する。
【００３０】
先ず、ステップＳ２１では、モニタ許可フラグＦＧＯ６７が「１」か否かを判別する。このモニタ許可フラグＦＧＯ６７は、触媒劣化モニタ以外の例えばＯ２センサ劣化モニタ、蒸発燃料排出抑止系故障モニタ、フュエル系異常モニタ等が実行中のとき「０」に設定され、他のモニタが実行されていないとき「１」に設定されるフラグである。モニタ許可フラグＦＧＯ６７が「０」であって、他のモニタが実行中のときは、タイマｔＣＡＴＭに所定時間ＴＣＡＴＭを設定してスタートさせ、前条件不成立（ＦＭＣＮＤ＝０）とする。
【００３１】
モニタ許可フラグＦＧＯ６７が「１」であって触媒劣化モニタが許可されているときは、キャニスタから吸気管２への蒸発燃料のパージをカットすべき運転状態のとき「１」に設定されるパージカットフラグＦＰＧＳＣＮＴが「１」か否かを判別し（ステップＳ２２）、ＦＰＧＳＣＮＴ＝１であってパージカットすべき運転状態のときは、前記ステップＳ３０、Ｓ３２に進み、前条件不成立とする。ＦＰＧＣＮＴ＝０のときは、リミットフラグＦＫＯ２ＬＭＴが「１」か否かを判別する。リミットフラグＦＫＯ２ＬＭＴは、補正係数ＫＯ２が所定上限値又は下限値に所定時間以上貼り付いている（ＫＯ２リミット貼り付き状態の）とき「１」に設定されるフラグである。
【００３２】
ＦＫＯ２ＬＭＴ＝１であってＫＯ２リミット貼り付き状態のときは、触媒劣化モニタの終了を「１」で示す終了フラグＦＤＯＮＥを「１」に設定して前記ステップＳ３０に進む。
【００３３】
ＦＫＯ２ＬＭＴ＝０であってＫＯ２リミット貼り付き状態でないときは、さらに吸気温ＴＡが所定上下限値ＴＡＣＡＴＣＨＫＨ（例えば１００℃）、ＴＡＣＡＴＣＨＫＬ（例えば−０．２℃）の範囲内にあるか否か、エンジン水温ＴＷが所定上下限値ＴＷＣＡＴＣＨＫＨ（例えば１００℃）、ＴＷＣＡＴＣＨＫＬ（例えば８０℃）の範囲内にあるか否か、エンジン回転数ＮＥが所定上下限値ＮＥＣＡＴＣＨＫＨ（例えば３５００ｒｐｍ）、ＮＥＣＡＴＣＨＫＬ（例えば１０００ｒｐｍ）の範囲内にあるか否か、吸気管内絶対圧ＰＢＡが所定上下限値ＰＢＣＡＴＣＨＫＨ（例えば５１０ｍｍＨｇ）、ＰＢＣＡＴＣＨＫＬ（例えば３００ｍｍＨｇ）の範囲内にあるか否か、車速Ｖが所定上下限値ＶＣＡＴＣＨＫＨ（例えば８０ｋｍ／ｈ）、ＶＣＡＴＣＨＫＬ（例えば３２ｋｍ／ｈ）の範囲内にあるか否かを判別し（ステップＳ２５）、これらの運転パラメータのすべてが所定上下限値の範囲内にあるときは、さらに触媒１３の温度ＴＣＡＴが所定範囲（例えば３５０℃〜８００℃）内にあるか否かを判別する（ステップＳ２６）。この触媒温度ＴＣＡＴは、センサの検出値を用いるが、エンジン運転状態に応じて推定した温度値を用いてもよい。
【００３４】
触媒温度ＴＣＡＴが所定範囲内にあるときはさらに、当該車両がクルーズ状態にあるか否かを判別する（ステップＳ２７）。この判別は、例えば車速Ｖの変動が０．８ｋｍ／ｓｅｃ以下の状態が所定時間（例えば２秒）継続したか否か判別することにより行う。そして車両がクルーズ状態にあるときは、吸気管内絶対圧ＰＢＡの変動量ΔＰＢＡ（例えば５ｍｓｅｃの間の変化量）が所定値ＰＢＣＡＴ（例えば１６ｍｍＨｇ）以下か否かを判別する（ステップＳ２８）。ここで変動量ΔＰＢＡが所定値ＰＢＣＡＴ以下のときは、さらに上流側Ｏ２センサ出力ＰＶＯ２に基づくフィードバック制御の実行中か否かを判別する（ステップＳ２９）。
【００３５】
そして、ステップＳ２５〜Ｓ２９のいずれかの答が否定（ＮＯ）のときは、前記ステップＳ３０に進む一方、すべての答が肯定（ＹＥＳ）のとき、即ち運転状態が所定の状態となったときは、ステップＳ３０でスタートしたタイマｔＣＡＴＭのカウント値が「０」か否かを判別する（ステップＳ３１）。最初はｔＣＡＴＭ＞０なので、前条件不成立となり（ステップＳ３２）、運転状態が所定の状態となってから所定時間ＴＣＡＴＭ（例えば５秒）経過したとき、前条件成立と判定され、前条件フラグＦＭＣＮＤを「１」に設定して（ステップＳ３３）、本処理を終了する。
【００３６】
図２に戻り、ＦＭＣＮＤ＝１であって前条件が成立しているときは、終了フラグＦＤＯＮＥが「１」か否かを判別し、ＦＤＯＮＥ＝１であるときは直ちに本処理を終了する。ＦＤＯＮＥ＝０であるときは、ＳＶＯ２周期計測処理を実行する（ステップＳ３）。
【００３７】
図５は、この周期計測処理のフローチャートであるが、ＦＭＣＮＤ＝１かつＦＤＯＮＥ＝０であるときは、下流側Ｏ２センサ１５の出力ＳＶＯ２に応じて空燃比補正係数ＫＯ２を算出し、空燃比フィードバック制御を実行するので、先ず図４を算出して、ＫＯ２算出処理を説明する。
【００３８】
図４のステップＳ４１では、出力ＳＶＯ２と基準電圧ＳＶＲＥＦとの大小関係が反転したか否かを判別し、反転したときは、出力ＳＶＯ２が基準電圧ＳＶＲＥＦより低いか否かを判別する（ステップＳ４２）。そして、ＳＶＯ２＜ＳＶＲＥＦであるときは、補正係数ＫＯ２の直前値にリッチ側スペシャルＰ項ＰＲＳＰを加算する一方、ＳＶＯ２≧ＳＶＲＥＦであるときは、補正係数ＫＯ２の直前値からリーン側スペシャルＰ項を減算する比例制御を行う（ステップＳ４３、Ｓ４４）。
【００３９】
ステップＳ４１の答が否定（ＮＯ）のときは、出力ＳＶＯ２が基準電圧ＳＶＲＥＦより低いか否かを判別し（ステップＳ４５）、ＳＶＯ２＜ＳＶＲＥＦであるときは、補正係数ＫＯ２の直前値にスペシャルＩ項ＩＲＳＰを加算する一方、ＳＶＯ２＞ＳＶＲＥＦであるときは、補正係数ＫＯ２の直前値からスペシャルＩ項ＩＬＳＰを減算する積分制御を行う（ステップＳ４６、Ｓ４７）。
【００４０】
図４の処理により、下流側Ｏ２センサ出力ＳＶＯ２及び補正係数ＫＯ２は図６に示すように周期的に変化する。以下センサ出力ＳＶＯ２の変化周期を「ＳＶＯ２周期」という。
【００４１】
次に図５を参照して、ＳＶＯ２周期計測処理を説明する。
【００４２】
ステップＳ５１では、本処理の最初の実行時であることを「０」で示す初期化フラグＦＣＡＴＭＳＴが「０」か否かを判別する。最初はＦＣＡＴＭＳＴ＝０であるので、ステップＳ５２に進み、このフラグＦＣＡＴＭＳＴを「１」に設定し、次いで各種パラメータの初期化を行う（ステップＳ５３）。すなわち、周期の計測回数をカウントするカウンタｎＴ、周期計測を開始したことを「１」で示す計測開始フラグＦＣＡＴＭＯＮ、時間ＴＬの積算値ＴＬＳＵＭ及び時間ＴＲの積算値ＴＲＳＵＭをいずれも「０」に設定する。続くステップＳ５４では、周期計測用アップカウントタイマｔｍＳＴＲＧをクリア（「０」に設定）し、ステップＳ５５に進む。
【００４３】
本処理の次回以降の実行時は、ＦＣＡＴＭＳＴ＝１であるので、ステップＳ５１から直ちにステップＳ５５に進む。
【００４４】
ステップＳ５５では、下流側Ｏ２センサ出力ＳＶＯ２と基準電圧ＳＶＲＥＦとの大小関係が反転したか否かを判別し、反転していないときは直ちに本処理を終了する。また反転したときは、計測開始フラグＦＣＡＴＭＯＮが「１」か否かを判別し（ステップＳ５６）、最初はＦＣＡＴＭＯＮ＝０であるので、このフラグＦＣＡＴＭＯＮを「１」に設定するとともに、計測管理フラグＦＣＡＴＭＥＡＳを「０」に設定して、ステップＳ６４に進む。計測管理フラグＦＣＡＴＭＥＡＳは、時間ＴＬまたはＴＲのどちらから計測を開始しても、偶数回の計測を実行する（すなわち、積算値ＴＲＳＵＭとＴＬＳＵＭの演算を同じ回数行う）ために設けたフラグである。ステップＳ６４では、タイマｔｍＳＴＲＧをクリアして本処理を終了する。
【００４５】
ステップＳ５６でＦＣＡＴＭＯＮ＝１であるときは、出力ＳＶＯ２が基準電圧ＳＶＲＥＦより高いか否かを判別し（ステップＳ５８）、ＳＶＯ２＞ＳＶＲＥＦでないときは、積算値ＴＲＳＵＭの直前値にタイマｔｍＳＴＲＧの値を加算することにより積算値ＴＲＳＵＭを算出し（ステップＳ５９）、ＳＶＯ２＞ＳＶＲＥＦであるときは、積算値ＴＬＳＵＭの直前値にタイマｔｍＳＴＲＧの値を加算することにより積算値ＴＬＳＵＭを算出して（ステップＳ６０）、ステップＳ６１に進む。出力ＳＶＯ２の反転直後のタイマｔｍＳＴＲＧの値は、図６に示すように、時間ＴＬ又はＴＲに相当するので、（ＴＲＳＵＭ＋ＴＬＳＵＭ）がＳＶＯ２周期（センサ出力の反転周期）の積算値となる。
【００４６】
ステップＳ６１では、計測管理フラグＦＣＡＴＭＥＡＳが「１」か否かを判別する。最初はＦＣＡＴＭＥＡＳ＝０であるので、このフラグＦＣＡＴＭＥＡＳを「１」に設定して（ステップＳ６３）、前記ステップＳ６４に進む。また、ＦＣＡＴＭＥＡＳ＝１であって、今回の計測が偶数回目のときは、カウンタｎＴを「１」だけインクリメントし、フラグＦＣＡＴＭＥＡＳを「０」に戻して（ステップＳ６２）、前記ステップＳ６４に進む。
【００４７】
図２に戻り、ステップＳ４ではカウンタｎＴの値、すなわち周期の計測回数が所定値ＮＴＬＭＴ（例えば３）以上か否かを判別し、ｎＴ＜ＮＴＬＭＴである間は直ちに本処理を終了する。このようにして、ＳＶＯ２周期計測処理が繰り返し実行され、ｎＴ＝ＮＴＬＭＴとなるとステップＳ５に進む。
【００４８】
ステップＳ５では下記数式（２）により、ＮＴＬＭＴ回計測したＳＶＯ２周期の平均値として判定時間ＴＣＨＫを算出する。なお、所定値ＮＴＬＭＴは「１」としてもよく、その場合には判定時間ＴＣＨＫは計測値そのものである。
【００４９】
本実施の形態においては、酸素濃度検出手段の出力変化周期を代表するパラメータとして判定時間ＴＣＨＫが用いられる。
【００５０】
ＴＣＨＫ＝（ＴＬＳＵＭ＋ＴＲＳＵＭ）／ｎＴ    …（２）
続くステップＳ６では、下記数式（３）により触媒１３の酸素蓄積能力を表す第１の判定パラメータＯＳＣＩＮＤＥＸ（本発明の周期パラメータに相当する）を算出し、バッテリでバックアップされた（イグニッションスイッチをオフしても記憶内容が消えない）リングバッファに格納する。
【００５１】
ＯＳＣＩＮＤＥＸ＝ＴＣＨＫ×ＧＡＩＲＳＵＭ    …（３）
ここで、ＧＡＩＲＳＵＭは、排気ガス流量を代表するパラメータの、ＳＶＯ２周期計測期間中の積算値（以下「流量積算値」という）であり、図７の処理により算出される。図７の処理はＴＤＣ信号パルスの発生毎に実行される。
【００５２】
同図のステップＳ７１では、終了フラグＦＤＯＮＥが「１」か否かを判別し、ＦＤＯＮＥ＝０であるときは、計測開始フラグＦＣＡＴＭＯＮが「１」か否かを判別する（ステップＳ７２）。そして、ＦＤＯＮＥ＝１であって触媒劣化モニタが終了しているとき又はＦＣＡＴＭＯＮ＝０であってＳＶＯ２周期の計測を開始していないときは、流量積算値ＧＡＩＲＳＵＭを「０」に設定して（ステップＳ７３）、本処理を終了する。
【００５３】
一方ＦＤＯＮＥ＝０かつＦＣＡＴＭＯＮ＝１であるときは、下記数式（４）により、流量積算値ＧＡＩＲＳＵＭを算出する（ステップＳ７４）。
【００５４】
ＧＡＩＲＳＵＭ＝ＧＡＩＲＳＵＭ＋ＴＩＭ    …（４）
ここで、右辺のＧＡＩＲＳＵＭは前回算出値、ＴＩＭは前記数式（１）の基本燃料量である。基本燃料量ＴＩＭは前述したように吸入空気量に比例する値を有し、吸入空気量は排気ガス流量とほぼ等しいので、排気ガス流量を代表するパラメータとして用いている。これにより、吸入空気量センサ又は排気ガス流量センサを設けることなく、排気ガス流量の積算値に相当するパラメータを得ることができる。
【００５５】
このようにして算出した流量積算値ＧＡＩＲＳＵＭを判定時間ＴＣＨＫに乗算することにより第１の判定パラメータＯＳＣＩＮＤＥＸを算出し、これを用いて触媒の劣化判定を行うことより、エンジン運転状態の影響を受け難くなり、エンジン運転状態の広い範囲に亘って正確な劣化判定を行うことが可能となる。すなわち、触媒の酸素蓄積能力が同一でも、排気ガス流量が大きいほど、上記判定時間ＴＣＨＫは短くなる傾向があり、従来の手法では判定時間ＴＣＨＫを所定基準値と比較して、触媒の劣化を判定してしていたため、劣化判定を行うエンジン運転状態を比較的狭い範囲に限定する必要があったが、本実施形態によれば、排気ガス流量の変化を加味して判定されるので、上記効果を得ることができる。
【００５６】
ここで、第１の判定パラメータＯＳＣＩＮＤＥＸにより触媒１３の酸素蓄積能力、すなわち最大酸素蓄積量を正確に把握することができる理由を以下に説明する。
【００５７】
図６においてセンサ出力ＳＶＯ２が基準電圧ＳＶＲＥＦより高い期間（ＴＬ）は、触媒に酸素が蓄積される期間であるが、このとき補正係数ＫＯ２は時間経過に対して直線的に減少するように制御されるので、排気ガス中の空気過剰率λは、時間に対してほぼ直線的に増加すると考えられる。したがって、排気ガス流量の積算値に対応する流量積算値ＧＡＩＲＳＵＭに判定時間ＴＣＨＫを乗算することにより算出される第１の判定パラメータＯＳＣＩＮＤＥＸは、判定時間ＴＣＨＫの期間中に触媒１３に蓄積される酸素量に比例するパラメータとなる。なお、厳密には判定時間ＴＣＨＫの約１／２が酸素を蓄積する期間であり、残りの約１／２が酸素を放出する期間であるが、第１の判定パラメータＯＳＣＩＮＤＥＸが触媒１３の酸素蓄積能力にほぼ比例するということにかわりはない。
【００５８】
図２に戻り、ステップＳ７では、第１の判定パラメータＯＳＣＩＮＤＥＸの算出回数をカウントするカウンタｎｄｅｔｅｃｔを「１」だけインクリメントする。このカウント値ｎｄｅｔｅｃｔは、第１の判定パラメータＯＳＣＩＮＤＥＸと同様に、バッテリでバックアップされたメモリに格納される。
【００５９】
続くステップＳ９では、ステップＳ６で算出した第１の判定パラメータＯＳＣＩＮＤＥＸが第１の判定基準値ＬＭＴＤＣ以上か否かを判別し、ＯＳＣＩＮＤＥＸ≧ＬＭＴＤＣであるときは、直ちにステップＳ１１に進む。またＯＳＣＩＮＤＥＸ＜ＬＭＴＤＣであるときは、触媒１３が劣化していると判定し、第１の判定（ステップＳ９）で劣化と判定したことを示すべく、第１のＯＫフラグＦＯＫＤＣを「０」に設定するとともに第１の劣化フラグＦＮＧＤＣを「１」に設定して（ステップＳ１０）、ステップＳ１１に進む。
【００６０】
ステップＳ１１では、カウント値ｎｄｅｔｅｃｔが所定値ｎＤＣ（例えば６）以上か否かを判別し、ｎｄｅｔｅｃｔ＜ｎＤＣであるときは直ちに、またｎｄｅｔｅｃｔ≧ｎＤＣであるときはｎｄｅｔｅｃｔ＝ｎＤＣとして（ステップＳ１２）、ステップＳ１３に進む。
【００６１】
ステップＳ１３では、下記数式（５）により、第１の判定パラメータＯＳＣＩＮＤＥＸの移動平均値ＯＳＣＭＡを算出する。
【００６２】
0003624586.tif 000002
ここで、（ｎ）は今回値を示し、（ｎ−１）は前回値、（ｎ−ｎｄｅｔｅｃｔ＋１）は、（ｎｄｅｔｅｃｔ−１）回前の算出値を示す。なお、第１の判定パラメータＯＳＣＩＮＤＥＸは、前述したようにバッテリでバックアップされたリングバッファに順次格納されている。また、ＯＳＣＩＮＤＥＸのリングバッファは、当初は「０」に初期化されており、算出値が格納されるとバッテリが取り外される等の事態が発生しない限り、過去の算出値が保持される。
【００６３】
ステップＳ１３Ａでは、移動平均値ＯＳＣＭＡの中心的傾向を示す第２の判定パラメータＭＲＯＳＣ（本発明の劣化指標に相当する）を算出する。図９は移動平均値ＯＳＣＭＡの中心的傾向を示す第２の判定パラメータＭＲＯＳＣを算出する処理手順を示すフローチャートである。まず、第１の判定パラメータＯＳＣＩＮＤＥＸの算出回数をカウントするカウンタｎｄｅｔｅｃｔが所定値ｎＤＣ（例えば、値６）以上であるか否かを判別する（ステップＳ８１）。カウンタｎｄｅｔｅｃｔが所定値ｎＤＣ未満である場合、そのまま処理を終了する。
【００６４】
一方、カウンタｎｄｅｔｅｃｔが所定値ｎＤＣ以上である場合、第１の判定パラメータＯＳＣＩＮＤＥＸの標準偏差ＭＡＳＴＤＥＶを下記数式（６）により算出する（ステップＳ８２）。
【００６５】
0003624586.tif 000003
ここで、本処理が最初に行われる場合、監視域の上限値ＥＶＬＭＴＨｉは初期値としてステップＳ１３で算出された移動平均値ＯＳＣＭＡに上記標準偏差ＭＡＳＴＤＥＶを加算した値に設定され、同様に監視域の下限値ＥＶＬＭＴＬｏは初期値として移動平均値ＯＳＣＭＡから標準偏差ＭＡＳＴＤＥＶを減算した値に設定される。
【００６６】
ステップＳ１３で算出された移動平均値ＯＳＣＭＡが監視域内に入っているか否かを判別する（ステップＳ８３）。移動平均値ＯＳＣＭＡが監視域内に入っている場合、そのまま処理を終了する。一方、移動平均値ＯＳＣＭＡが監視域内に入っていない場合、移動平均値ＯＳＣＭＡの中心的傾向を示す第２の判定パラメータＭＲＯＳＣを下記数式７により更新する（ステップＳ８４）。
【００６７】
0003624586.tif 000004
ここで、第２の判定パラメータＭＲＯＳＣは当初「０」に初期化されており、算出値が格納されるとバッテリが取り外される等の事態が発生しない限り、過去の算出値が保持される。ＭＲＯＳＣ（−１）はＭＲＯＳＣの前回値を示す。Ｋは偏差加重率を示し、値０．６〜０．８の範囲に設定されることが望ましい。
【００６８】
つづいて、ステップＳ８４で更新された第２の判定パラメータＭＲＯＳＣおよびステップＳ８２で算出された標準偏差ＭＡＳＴＤＥＶを用いて、監視域の上限値ＥＶＬＭＴＨｉおよび下限値ＥＶＬＭＴＬｏを下記数式８により更新する（ステップＳ８５）。
【００６９】
0003624586.tif 000005
ここで、σは標準偏差加重率であり、値１．０〜２．０の範囲に設定されることが望ましい。
【００７０】
図１０は第２の判定パラメータＭＲＯＳＣおよび監視域の上下限値ＥＶＬＭＴＨｉ，ＥＶＬＭＴＬｏの更新を示す図である。移動平均値ＯＳＣＭＡが下限値ＥＶＬＭＴＬｏより小さくなると（図中ａ）、第２の判定パラメータＭＲＯＳＣおよび上下限値ＥＶＬＭＴＨｉ，ＥＶＬＭＴＬｏはそれぞれ前回よりも小さな値（図中、Ｎｅｗ  ＭＲＯＳＣ，Ｎｅｗ  ＥＶＬＭＴＨｉ，Ｎｅｗ  ＥＶＬＭＴＬｏ）に更新される。
【００７１】
図１１は偏差加重率Ｋ＝１の場合の移動平均値ＯＳＣＭＡおよび第２の判定パラメータＭＲＯＳＣの変化を示すグラフである。同図は所定値ｎＤＣ＝６の少区間、つまり第１の判定パラメータＯＳＣＩＮＤＥＸの算出回数が「６」である区間で移動平均を行った場合を示す。少区間の移動平均値ＯＳＣＭＡは多区間（例えば、所定値ｎＤＣ＝２０）の移動平均値ＯＳＣＭＡと比べて変動が大きくなるが、その中心的傾向を示す第２の判定パラメータＭＲＯＳＣは区間の多寡に拘らずほぼ同じ推移を示すようになる。
【００７２】
図１２は偏差加重率Ｋ＝０．６の場合の移動平均値ＯＳＣＭＡおよび第２の判定パラメータＭＲＯＳＣの変化を示すグラフである。同図は所定値ｎＤＣ＝６の少区間で移動平均を行った場合を示す。偏差加重率Ｋ＝０．６の場合、移動平均値ＯＳＣＭＡの中心的傾向を示す第２の判定パラメータＭＲＯＳＣは偏差加重率Ｋ＝１の場合と同様に区間の多寡に拘らずほぼ同じように推移し、しかも、その変動は偏差加重率Ｋ＝１の場合より小さくなる。
【００７３】
続くステップＳ１４では、カウント値ｎｄｅｔｅｃｔに応じて図８に示すＬＭＴＭＡテーブルを検索し、第２の判定基準値ＬＭＴＭＡを得る。ＬＭＴＭＡテーブルは、ｎｄｅｔｅｃｔ値が増加するほど、減少するように（劣化と判定しにくくなる方向に）設定されている。なお、前記第１の判定基準値ＬＭＴＤＣは、ｎｄｅｔｅｃｔ＝１のときの第２の判定基準値ＬＭＴＭＡ（すなわち、第２の判定基準値ＬＭＴＭＡの中で最も劣化と判定し易い基準値）より小さな値（劣化と判定しにくい値）に設定されている。
【００７４】
次いでステップＳ１３Ａで算出した第２の判定パラメータＭＲＯＳＣが第２の判定基準値ＬＭＴＭＡ以上か否かを判別し（ステップＳ１５）、ＭＲＯＳＣ≧ＬＭＴＭＡであるときは、正常と判定して、第２のＯＫフラグＦＯＫＭＡを「１」に設定して（ステップＳ１６）、ステップＳ１８に進む。また、ＭＲＯＳＣ＜ＬＭＴＭＡであるときは、触媒１３が劣化していると判定し、第２のＯＫフラグＦＯＫＭＡを「０」に設定するとともに第２の劣化フラグＦＮＧＭＡを「１」に設定して（ステップＳ１７）、ステップＳ１８に進む。ステップＳ１８では、劣化モニタの終了を示すべく終了フラグＦＤＯＮＥ＝１に設定して、本処理を終了する。
【００７５】
図２の処理は、イグニッションスイッチがオンされると所定時間毎に実行されるが、エンジンが始動されてステップＳ５からＳ１８の処理が１回実行されると、以後はステップＳ５からＳ１８の処理は実行されなくなる。その後エンジンが停止され、再度始動されると、またステップＳ５からＳ１８の判定処理が１回実行される。すなわち、イグニッションスイッチがオンされてから、エンジンが始動され、停止するまでの期間を１運転期間とすると、１運転期間に１回劣化判定が実行される。そして、本実施形態では、図示しない処理により、第１の劣化フラグＦＮＧＤＣが２回連続して「１」となったとき、または第２の劣化フラグＦＮＧＭＡが２回連続して「１」となったとき、劣化判定を確定し、運転者に触媒の劣化を警告するランプを点灯させるようにしている。これ以外の場合は、警告ランプを点灯させない。
【００７６】
以上のように、本実施形態では、１運転期間に１回、第１の判定パラメータＯＳＣＩＮＤＥＸを算出し、その算出値の移動平均値ＯＳＣＭＡの中心的傾向を示す第２の判定パラメータＭＲＯＳＣを第２の判定基準値ＬＭＴＭＡと比較し、劣化判定を行うようにしたので、劣化判定の精度を向上させることができる。なお、移動平均をとるサンプル数が多いほど、判定精度が向上することは一般的な統計理論で証明されている。
【００７７】
また、第１の判定パラメータＯＳＣＩＮＤＥＸの算出回数（ＴＣＨＫの計測回数）が少ないときは、その算出回数ｎｄｅｔｅｃｔに応じて第２の判定基準値ＬＭＴＭＡを設定するようにしたので、平均化するデータが少ないときでも、確実に劣化を判定することができる。
【００７８】
また、ステップＳ９で、第１の判定パラメータＯＳＣＩＮＤＥＸの今回算出値による劣化判定を行うことにより、第２の判定パラメータＭＲＯＳＣによる判定ではすぐに検出されないおそれのある突然の劣化（例えば失火に起因する異常燃焼による劣化、質の悪い燃料に起因する被毒による劣化など）をも早急に検出することが可能となる。すなわち、第２の判定パラメータＭＲＯＳＣは、移動平均値ＯＳＣＭＡの中心的傾向を示すので、第１の判定パラメータＯＳＣＩＮＤＥＸの過去値が正常で、今回のみ劣化を示すような値に低下したときは、ＯＳＣＭＡ値はそれほど低下しないため、サンプルの回数が増えないとその突然の劣化を検出できない可能性があるが、ステップＳ９の判定により、そのような劣化も早急に検出することができる。
【００７９】
さらに、第２の判定パラメータＭＲＯＳＣは、少区間の移動平均でも多区間の移動平均でも同じように推移するので、移動平均を行う区間の多寡に拘らず移動平均値ＯＳＣＭＡの中心的傾向を正確に示すことができ、正確な劣化判定を行うことができる。特に、偏差加重率Ｋを値１未満に設定する場合、移動平均値ＯＳＣＭＡの変動を抑えてその中心的傾向をより正確に示すことができる。
【００８０】
尚、上記実施形態では、第２の判定基準値ＬＭＴＭＡはｎｄｅｔｅｃｔ値が増加するほど減少するように（劣化と判定しにくくなる方向に）設定されていたが、第２の判定パラメータＭＲＯＳＣは少区間の移動平均でも多区間の移動平均でもほぼ同じように推移するので、第２の判定基準値ＬＭＴＭＡをｎｄｅｔｅｃｔ値によらず一定値に設定してもよい。
【００８１】
（第２の実施形態）
第１の実施形態では、図４の処理により下流側Ｏ２センサ１５の出力ＳＶＯ２に応じた補正係数ＫＯ２の算出を行い、酸素濃度検出手段の出力変化周期を代表する周期パラメータとして判定時間ＴＣＨＫを算出する為に図５の処理でＳＶＯ２周期の計測、すなわち積算値ＴＲＳＵＭ及びＴＬＳＵＭの算出を行ったが、本実施形態では、これらの処理に代えて、図１３及び図１４の処理により、補正係数ＫＯ２の算出並びに積算値ＴＲＳＵＭ及びＴＬＳＵＭの算出を行う。これ以外は第１の実施形態と同一である。なお、本実施形態では、触媒劣化モニタ中は図１３の処理により算出されるＣＡＴＫＯ２を前記数式（１）のＫＯ２として用いて、フィードバック制御を行う。
【００８２】
図１３は、ＣＡＴＫＯ２算出処理のフローチャートである。また、図１５は下流側Ｏ２センサ出力ＳＶＯ２、各種フラグ等の推移を示す図であり、この図も併せて参照する。
【００８３】
先ずステップＳ１４１では、下流側Ｏ２センサ出力ＳＶＯ２が基準値ＳＶＲＥＦより低いか否かを判別し、ＳＶＯ２＜ＳＶＲＥＦであるときは、第１リッチフラグＦＡＦＲ１を「０」に、またＳＶＯ２≧ＳＶＲＥＦであるときは、同フラグＦＡＦＲ１を「１」に設定する（ステップＳ１４２、Ｓ１４３）。続くステップＳ１４４では、第１リッチフラグＦＡＦＲ１が反転したか否かを判別し、反転していなければ直ちにステップＳ１４８に進む一方、反転したときは、第１リッチフラグＦＡＦＲ１が「０」か否かを判別する（ステップＳ１４５）。そして、ＦＡＦＲ１＝０であって下流側Ｏ２センサ出力ＳＶＯ２がリッチ側からリーン側へ反転したときは（図１５、時刻ｔ１，ｔ５，ｔ９）、ダウンカウントディレイタイマＴＤＬＹＲにリーン側所定時間ＴＬＤをセットしてスタートさせ（ステップＳ１４６）、逆にＦＡＦＲ１＝１であってリーン側からリッチ側へ反転したときは（図１５、ｔ３，ｔ７，ｔ１１）、リッチ側所定時間ＴＲＤをセットしてスタートさせ（ステップＳ１４７）、ステップＳ１４８に進む。
【００８４】
ステップＳ１４８では、計測開始フラグＦＣＡＴＭＯＮが「１」か否かを判別する。モニタ実行開始当初はＦＣＡＴＭＯＮ＝０であるので、ステップＳ１４９に進んで各種タイマ、カウンタ、フラグ等の初期設定を行う。すなわち、ディレイタイマＴＤＬＹＲ、遅れ時間ＴＬ，ＴＲ計測用のアップカウントタイマＴＳＴＲＧ、遅れ時間ＴＬ，ＴＲの計測回数をカウントするカウンタＮＴＬ，ＮＴＲ、及び遅れ時間の積算値ＴＬＳＵＭ，ＴＲＳＵＭをすべて「０」に設定し、第２リッチフラグＦＡＦＲ２を第１リッチフラグＦＡＦＲ１と同一とし、劣化モニタ時用空燃比補正係数ＣＡＴＫＯ２を空燃比補正係数ＫＯ２（劣化モニタ開始直前のＫＯ２値）に設定し、計測開始フラグＦＣＡＴＭＯＮを「１」に設定する。
【００８５】
続くステップＳ１５８では、第２リッチフラグＦＡＦＲ２が「１」か否かを判別し、ＦＡＦＲ２＝０であるときは（図１５、ｔ２〜ｔ４，ｔ６〜ｔ８）、補正係数ＣＡＴＫＯ２の直前値にスペシャルＩ項ＩＬＳＰを加算する積分制御を行い（ステップＳ１５９）、ＦＡＦＲ２＝１であるときは（図１５、ｔ４〜ｔ６，ｔ８〜ｔ１０）、補正係数ＣＡＴＫＯ２の直前値からスペシャルＩ項ＩＬＳＰを減算する積分制御を行い（ステップＳ１６０）、本処理を終了する。
【００８６】
本処理の次回実行時にステップＳ１４８に至ると、前回ステップＳ１４９でＦＣＡＴＭＯＮ＝１とされているので、ステップＳ１５０に進み、第１リッチフラグＦＡＦＲ１と第２リッチフラグＦＡＦＲ２とが等しいか否かを判別する。そして、ＦＡＦＲ１＝ＦＡＦＲ２であるときは（図１５、ｔ２〜ｔ３，ｔ４〜ｔ５，ｔ６〜ｔ７，ｔ８〜ｔ９，ｔ１０〜ｔ１１）、前記ステップＳ１５８に進み、ＦＡＦＲ１≠ＦＡＦＲ２であるときは（図１５、ｔ１〜ｔ２，ｔ３〜ｔ４，ｔ５〜ｔ６，ｔ７〜ｔ８，ｔ９〜ｔ１０）、第１リッチフラグＦＡＦＲ１が「１」であるか否かを判別する（ステップＳ１５１）。
【００８７】
ステップＳ１５１でＦＡＦＲ１＝０であるときは（図１５、ｔ１〜ｔ２，ｔ５〜ｔ６，ｔ９〜ｔ１０）、ディレイタイマＴＤＬＹＲの値が「０」か否かを判別し（ステップＳ１５２）、ＴＤＬＹＲ＞０であるときは前記ステップＳ１５８に進む。そして、ＴＤＬＹＲ＝０となると（図１５、ｔ２，ｔ６，ｔ１０）、第２リッチフラグＦＡＦＲ２を第１リッチフラグＦＡＦＲ１と等しくし（ステップＳ１５４）、補正係数ＣＡＴＫＯ２の直前値にスペシャルＰ項ＰＲＳＰを加算して（ステップＳ１５５）、本処理を終了する。
【００８８】
ステップＳ１５１でＦＡＦＲ１＝１であるときは（図１５、ｔ３〜ｔ４，ｔ７〜ｔ８）、ディレイタイマＴＤＬＹＲの値が「０」か否かを判別し（ステップＳ１５３）、ＴＤＬＹＲ＞０であるときは前記ステップＳ１５８に進む。そして、ＴＤＬＹＲ＝０となると（図１５、ｔ４，ｔ８）、第２リッチフラグＦＡＦＲ２を第１リッチフラグＦＡＦＲ１と等しくし（ステップＳ１５６）、補正係数ＣＡＴＫＯ２の直前値からスペシャルＰ項ＰＲＳＰを減算して（ステップＳ１５７）、本処理を終了する。
【００８９】
以上のように図１３の処理によれば、下流側Ｏ２センサ出力ＳＶＯ２の反転時点（ｔ１，ｔ３，ｔ５，ｔ７，ｔ９）から所定時間（ＴＲＤ又はＴＬＤ）遅延して比例制御が実行され（ｔ２，ｔ４，ｔ６，ｔ８，ｔ１０）、第２リッチフラグＦＡＦＲ２＝０の期間中はＣＡＴＫＯ２値の増加方向の積分制御が実行され、ＦＡＦＲ２＝１の期間中はＣＡＴＫＯ２値の減少方向の積分制御が実行される。
【００９０】
図１４は、ＴＬ，ＴＲ算出処理のフローチャートである。なお、図１５も併せて参照する。
【００９１】
図１４において先ずステップＳ１７１では、第１リッチフラグＦＡＦＲ１（図１５（ｂ））が反転したか否かを判別し、反転したときは、遅れ時間計測期間であることを「１」で示す反転タイマフラグＦＴＳＴＲＧ（図１５（ｅ））が「１」か否かを判別する（ステップＳ１７２）。そしてステップＳ１７１又はＳ１７２の答が否定（ＮＯ）のとき、すなわち第１リッチフラグＦＡＦＲ１が反転していないとき又は反転タイマフラグＦＴＳＴＲＧが「０」であるときは、ステップＳ１８６に進み、ディレイタイマＴＤＬＹＲ（図１５（ｃ））の値が０か否かを判別し、ＴＤＬＹＲ＞０であるときは、遅れ時間計測用アップカウントタイマＴＳＴＲＧ（図１５（ｆ））を「０」にセットし（ステップＳ１８７）、下流側Ｏ２センサ出力ＳＶＯ２の変化が所定以上であることを「１」で示す出力範囲フラグＦＳＶＯ２ＣＡＴを「０」に設定して（ステップＳ１８８）、ステップＳ１９２に進む。
【００９２】
ステップＳ１８６で、ＴＤＬＹＲ＝０となるとステップＳ１８９に進み、下流側Ｏ２センサ出力ＳＶＯ２が所定上側レベルＳＶＯ２ＣＡＴＨ（例えば０．５８６Ｖ）より低いか否かを判別し、ＳＶＯ２＜ＳＶＯ２ＣＡＴＨであるときは、さらにＳＶＯ２値が所定下側レベルＳＶＯ２ＣＡＴＬ（例えば０．４３０Ｖ）より高いか否かを判別する（ステップＳ１９０）。その結果、ＳＶＯ２ＣＡＴＬ＜ＳＶＯ２＜ＳＶＯ２ＣＡＴＨであるときは直ちに、またＳＶＯ２≧ＳＶＯ２ＣＡＴＨ又はＳＶＯ２≦ＳＶＯ２ＣＡＴＬであるときは、出力範囲フラグＦＳＶＯ２ＣＡＴを「１」に設定して（ステップＳ１９１）、ステップＳ１９２に進む。すなわち、出力範囲フラグＦＳＶＯ２ＣＡＴは、第１リッチフラグＦＡＦＲ１（下流側Ｏ２センサ出力ＳＶＯ２）の反転から所定時間（ＴＬＤ又はＴＲＤ）経過後における、ＳＶＯ２値が基準値ＳＶＲＥＦ近傍にあるとき「０」に維持され、下流側Ｏ２センサ出力ＳＶＯ２の変化が小さいことを示す。
【００９３】
ステップＳ１９２では、第２リッチフラグＦＡＦＲ２（図１５（ｄ））が反転したか否かを判別し、反転していなければ直ちに、また反転したときは反転タイマフラグＦＴＳＴＲＧを「１」に設定して（ステップＳ１９３）、本処理を終了する。
【００９４】
一方ステップＳ１７１、Ｓ１７２の答が共に肯定（ＹＥＳ）、すなわち第１リッチフラグＦＡＦＲ１が反転し且つ反転タイマフラグＦＴＳＴＲＧが「１」であるときは、ステップＳ１７３に進み、反転タイマフラグＦＴＳＴＲＧを「０」に戻し、出力範囲フラグＦＳＶＯ２ＣＡＴが「１」か否かを判別する（ステップＳ１７４）。そして、ＦＳＶＯ２ＣＡＴ＝０であって下流側Ｏ２センサ出力ＳＶＯ２の変化が小さいときは、ホールドフラグＦＳＶＯ２ＨＬＤを「１」に設定し（ステップＳ１７５）、またＦＳＶＯ２ＣＡＴ＝１であるときは、該フラグＦＳＶＯ２ＣＡＴを「０」に戻して（ステップＳ１７６）、ステップＳ１７７に進む。
【００９５】
ステップＳ１７７では、第１リッチフラグＦＡＦＲ１が「１」か否かを判別し、ＦＡＦＲ１＝０であって下流側Ｏ２センサ出力ＳＶＯ２が基準値ＳＶＲＥＦに対してリーン側にあるときは（図１５、ｔ１，ｔ５，ｔ９）、下記式によりリーン側積算値ＴＬＳＵＭを算出する（ステップＳ１７８）。ここで加算されるタイマＴＳＴＲＧの値が、図１５の遅れ時間ＴＬに相当する。
【００９６】
ＴＬＳＵＭ＝ＴＬＳＵＭ＋ＴＳＴＲＧ
次いでリーン側カウンタＮＴＬを「１」だけインクリメントし（ステップＳ１７９）、アップカウントタイマＴＳＴＲＧの値を「０」に戻して（ステップＳ１８０）、前記ステップＳ１９２に進む。
【００９７】
ステップＳ１７７でＦＡＦＲ１＝１であって下流側Ｏ２センサ出力ＳＶＯ２が基準値ＳＶＲＥＦに対してリッチ側にあるときは（図１５、ｔ３，ｔ７，ｔ１１）、下記式によりリッチ側積算値ＴＲＳＵＭ（図１５（ｇ））を算出する（ステップＳ１８１）。ここで加算されるタイマＴＳＴＲＧの値が、図１５の遅れ時間ＴＲに相当する。
【００９８】
ＴＲＳＵＭ＝ＴＲＳＵＭ＋ＴＳＴＲＧ
次いでリッチ側カウンタＮＴＲ（図１５（ｈ））を「１」だけインクリメントし（ステップＳ１８２）、アップカウントタイマＴＳＴＲＧの値を「０」に戻して（ステップＳ１８３）、リーン側カウンタＮＴＬの値が「０」か否かを判別する（ステップＳ１８４）。そして、ＮＴＬ＞０であるときは直ちに、またＮＴＬ＝０であって劣化モニタ開始直後であるときはリッチ側積算値ＴＲＳＵＭ及びリッチ側カウンタＮＴＲを「０」に戻して（ステップＳ１８５）、前記ステップＳ１９２に進む。
【００９９】
ステップＳ１８４、Ｓ１８５は、遅れ時間の計測はＴＬの方から開始するために、最初にＴＲの計測を行ったときは、リッチ側積算値ＴＲＳＵＭ及びカウンタＮＴＲを「０」に戻すために設けたものである。
【０１００】
以上のように図１４の処理によれば、下流側Ｏ２センサ出力ＳＶＯ２が反転する毎に遅れ時間ＴＬ又はＴＲが積算され、積算値ＴＬＳＵＭ，ＴＲＳＵＭが算出される。なお、図１５ではリーン側積算値ＴＬＳＵＭ及びリーン側カウンタＮＴＬの推移は図示していないが、時刻ｔ１，ｔ５，ｔ９においてリッチ側積算値ＴＲＳＵＭ及びリッチ側カウンタＮＴＲと同様にインクリメントされる。
【０１０１】
以上のようにして算出した積算値ＴＲＳＵＭ及びＴＬＳＵＭを前記数式（２）に適用するとともに、リッチ側カウンタＮＴＲのカウント値を前記数式（２）のｎＴに適用して、判定時間ＴＣＨＫを算出する。
【０１０２】
このように判定時間ＴＣＨＫは、下流側Ｏ２センサ出力ＳＶＯ２の変化周期に限らず、その変化周期に相関するパラメータを用いてもよい。
【０１０３】
（その他の実施形態）
本発明は上述した第１及び第２の実施形態に限定されるものではなく、さらに種々の変形が可能である。
【０１０４】
上述した実施形態では、第１の判定パラメータＯＳＣＩＮＤＥＸを数式（３）により算出し、その移動平均値ＯＳＣＭＡに基づいて図２のステップＳ１５の判定を行うようにしたが、判定時間ＴＣＨＫ及び流量積算値ＧＡＩＲＳＵＭのそれぞれの移動平均値ＴＣＨＫＡＶＥ及びＧＡＩＲＳＵＭＡＶＥを下記数式（９）、（１０）により算出し、ＴＣＨＫＡＶＥ×ＧＡＩＲＳＵＭＡＶＥ＝ＯＳＣＭＡとしてもよい。
【０１０５】
0003624586.tif 000006
また、図２のステップＳ１５の判定に代えて、次にようにしてもよい。すなわち、移動平均値ＴＣＨＫＡＶＥ及びＧＡＩＲＳＵＭＡＶＥに応じて予め図１６に示すような判定マップを設定しておき、算出したＴＣＨＫＡＶＥ値及びＧＡＩＲＳＵＭＡＶＥ値がこのマップ上の劣化領域にあるか、正常領域にあるかを判定するようにしてもよい。
【０１０６】
また、上述した実施形態では第１の判定パラメータＯＳＣＩＮＤＥＸを平均化して移動平均値ＯＳＣＭＡを算出するようにしたが、判定時間ＴＣＨＫを平均化したものを移動平均値ＯＳＣＭＡとしてもよい。
【０１０７】
また、上述した実施形態では移動平均値を算出するようにしたが、下記数式（１１）のようないわゆるなまし式を用いて平均化を行うようにしてもよい。本明細書中における「平均化」は、このような演算処理も含むものとする。
【０１０８】
0003624586.tif 000007
ここでＣは、値１より小さい正の定数である。
【０１０９】
また上述した実施形態では、基本燃料量ＴＩＭを積算することにより、流量積算値ＧＡＩＲＳＵＭを算出したが、実際にセンサによって吸入空気量又は排気ガス流量を検出してもよく、さらにエンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて予め排気ガス流量を設定したマップを設けておき、検出したＮＥ値及びＰＢＡ値に応じてそのマップを検索して、排気ガス流量を求めて、それを積算することにより流量積算値ＧＡＩＲＳＵＭを算出してもよい。
【０１１０】
また上述した実施形態では、診断期間として１運転期間に１回の劣化モニタを行うようにしたが、２回以上行ってもよい。
【０１１１】
また上述した実施形態では、２回連続して劣化と判定された場合に、警告ランプを点灯するようにしたが、例えば３回の劣化モニタを行い、その内２回劣化と判定された場合に点灯するようにしてもよい。すなわち、劣化した判定する頻度が所定頻度以上のとき、劣化判定を確定し警告ランプを点灯することが望ましい。
【０１１２】
【発明の効果】
本発明の請求項１に記載の内燃機関の触媒劣化判定装置によれば、酸素濃度検出手段の出力変化周期を代表する周期パラメータが所定の診断領域において計測され、異なる診断期間において計測された周期パラメータを平均化することにより平均値が算出され、該算出された平均値が監視域を越える場合、劣化指標を更新し、更新される劣化指標に基づいて触媒の劣化判定が行われるので、劣化判定の精度を向上させることができる。特に、周期パラメータの計測回数が少なくて平均値の変動が大きい診断期間（少区間）でも、あるいは計測回数が多くて平均値の変動が少ない診断期間（多区間）でも、劣化指標を同じように推移させることができ、平均値を算出する区間の多寡に拘らず正確な劣化判定を行うことができる。
【０１１３】
請求項２に記載の内燃機関の触媒劣化判定装置によれば、前記劣化指標更新手段により更新される劣化指標に基づいて監視域更新手段により前記監視域を更新するので、劣化指標の更新と同時に適正な監視域を設定することができ、劣化判定の精度を向上できる。
【０１１４】
請求項３に記載の内燃機関の触媒劣化判定装置によれば、前記平均値算出手段により算出された平均値と前記劣化指標との差分に所定係数を乗算し、該乗算した値を加算することにより前記劣化指標を更新する際、前記所定係数を値１未満に設定するので、劣化指標の変動を抑えて平均値の中心的傾向をより正確に示すことができ、平均値を算出する区間の多寡に拘らず正確な劣化判定を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】触媒の劣化判定を行う処理のフローチャートである。
【図３】触媒の劣化判定を行うための前提条件を判定する処理のフローチャートである。
【図４】触媒の劣化判定処理中において空燃比補正係数（ＫＯ２）を算出する処理のフローチャートである。
【図５】触媒下流側にＯ２センサの出力の変化周期を計測する処理のフローチャートである。
【図６】空燃比補正係数及びＯ２センサ出力の推移を示す図である。
【図７】排気ガス流量を代表するパラメータの積算値（ＧＡＩＲＳＵＭ）を算出する処理のフローチャートである。
【図８】図２の処理で使用するテーブルを示す図である。
【図９】移動平均値ＯＳＣＭＡの中心的傾向を示す第２の判定パラメータＭＲＯＳＣを算出する処理手順を示すフローチャートである。
【図１０】第２の判定パラメータＭＲＯＳＣおよび監視域の上下限値ＥＶＬＭＴＨｉ，ＥＶＬＭＴＬｏの更新を示す図である。
【図１１】偏差加重率Ｋ＝１の場合の移動平均値ＯＳＣＭＡおよび第２の判定パラメータＭＲＯＳＣの変化を示すグラフである。
【図１２】偏差加重率Ｋ＝０．６の場合の移動平均値ＯＳＣＭＡおよび第２の判定パラメータＭＲＯＳＣの変化を示すグラフである。
【図１３】触媒の劣化判定処理中において空燃比補正係数（ＣＡＴＫＯ２）を算出する処理のフローチャートである。
【図１４】触媒下流側にＯ２センサの出力の変化周期を代表するパラメータを算出する処理のフローチャートである。
【図１５】図１３及び図１４の処理を説明するための図である。
【図１６】触媒劣化判定用のマップを示す図である。
【符号の説明】
１  内燃機関
５  電子コントロールユニット（ＥＣＵ）
６  燃料噴射弁
１２  排気管
１３  三元触媒
１５  下流側酸素濃度センサ
【図１】
0003624586.tif 000008
【図２】
0003624586.tif 000009
【図３】
0003624586.tif 000010
【図４】
0003624586.tif 000011
【図５】
0003624586.tif 000012
【図６】
0003624586.tif 000013
【図７】
0003624586.tif 000014
【図８】
0003624586.tif 000015
【図９】
0003624586.tif 000016
【図１０】
0003624586.tif 000017
【図１１】
0003624586.tif 000018
【図１２】
0003624586.tif 000019
【図１３】
0003624586.tif 000020
【図１４】
0003624586.tif 000021
【図１５】
0003624586.tif 000022
【図１６】
0003624586.tif 000023