"内燃機関の排気通路の上流側および下流側にそれぞれ設けられた上流触媒および下流触媒と、これら上流触媒および下流触媒の劣化度を表す指標値をそれぞれ計測する計測手段と、前記計測手段によって計測された前記上流触媒の指標値に基づき前記下流触媒の指標値を推定する指標値推定手段と、前記指標値推定手段によって推定された前記下流触媒の推定指標値と、前記計測手段によって計測された前記下流触媒の計測指標値とに基づき、使用燃料の硫黄濃度を推定する硫黄濃度推定手段と、を備えたことを特徴とする燃料性状判定装置。前記硫黄濃度推定手段は、前記下流触媒の推定指標値と計測指標値との差に基づき、使用燃料の硫黄濃度を推定することを特徴とする請求項1に記載の燃料性状判定装置。前記硫黄濃度推定手段は、前記差が所定のしきい値以上のとき、使用燃料の硫黄濃度が所定濃度以上であると推定することを特徴とする請求項2に記載の燃料性状判定装置。前記硫黄濃度推定手段は、前記上流触媒の計測指標値の値に応じて前記しきい値を可変設定することを特徴とする請求項3に記載の燃料性状判定装置。前記硫黄濃度推定手段は、前記上流触媒の計測指標値の値が大きいほど、前記しきい値を大きな値に設定することを特徴とする請求項4に記載の燃料性状判定装置。前記指標値は、酸素吸蔵容量からなることを特徴とする請求項1~5のいずれか一項に記載の燃料性状判定装置。前記指標値は、前記内燃機関の冷間始動時から所定時間経過した時点における触媒温度からなることを特徴とする請求項1~5のいずれか一項に記載の燃料性状判定装置。請求項1~7のいずれか一項に記載の燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を禁止することを特徴とする触媒異常診断装置。請求項1~7のいずれか一項に記載の燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を行う温度条件をより高温側に変更することを特徴とする触媒異常診断装置。変更された温度条件下で、前記計測手段により前記上流触媒および下流触媒の少なくとも一方の指標値を計測し、当該計測された指標値に基づき、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断することを特徴とする請求項9に記載の触媒異常診断装置。内燃機関の排気通路の上流側および下流側にそれぞれ設けられた上流触媒および下流触媒と、前記上流触媒の劣化度を表す指標値を計測する計測手段と、前記下流触媒の温度を検出する温度検出手段と、前記計測手段によって計測された前記上流触媒の指標値に基づき前記下流触媒の温度を推定する温度推定手段と、前記温度推定手段によって推定された前記下流触媒の推定温度と、前記温度検出手段によって検出された前記下流触媒の検出温度とに基づき、使用燃料の硫黄濃度を推定する硫黄濃度推定手段と、を備えたことを特徴とする燃料性状判定装置。前記硫黄濃度推定手段は、前記下流触媒の推定温度と検出温度との差に基づき、使用燃料の硫黄濃度を推定することを特徴とする請求項11に記載の燃料性状判定装置。前記硫黄濃度推定手段は、前記差が所定のしきい値以上のとき、使用燃料の硫黄濃度が所定濃度以上であると推定することを特徴とする請求項12に記載の燃料性状判定装置。前記硫黄濃度推定手段は、前記上流触媒の指標値の値に応じて前記しきい値を可変設定することを特徴とする請求項13に記載の燃料性状判定装置。前記硫黄濃度推定手段は、前記上流触媒の指標値の値が大きいほど、前記しきい値を大きな値に設定することを特徴とする請求項14に記載の燃料性状判定装置。前記指標値は酸素吸蔵容量からなることを特徴とする請求項11~15のいずれか一項に記載の燃料性状判定装置。前記下流触媒の温度は、前記上流触媒の指標値計測時における温度からなることを特徴とする請求項11~16のいずれか一項に記載の燃料性状判定装置。請求項11~17のいずれか一項に記載の燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を禁止することを特徴とする触媒異常診断装置。請求項11~17のいずれか一項に記載の燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を行う温度条件をより高温側に変更することを特徴とする触媒異常診断装置。変更された温度条件下で、前記計測手段により前記上流触媒および下流触媒の少なくとも一方の指標値を計測し、当該計測された指標値に基づき、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断することを特徴とする請求項19に記載の触媒異常診断装置。上記誤診断を防止するためには、燃料性状、特に燃料の硫黄濃度を推定ないし判定するのが好適である。かかる推定ないし判定を行えば、燃料が高硫黄濃度であると判定したときに必要な措置を執ることができ、誤診断を未然に防止できるからである。そこで本発明はこのような実情に鑑みてなされたもので、その目的は、燃料の硫黄濃度を好適に推定することができる燃料性状判定装置、及びこれを備えた触媒異常診断装置を提供することにある。本発明の第1の態様によれば、内燃機関の排気通路の上流側および下流側にそれぞれ設けられた上流触媒および下流触媒と、これら上流触媒および下流触媒の劣化度を表す指標値をそれぞれ計測する計測手段と、前記計測手段によって計測された前記上流触媒の指標値に基づき前記下流触媒の指標値を推定する指標値推定手段と、前記指標値推定手段によって推定された前記下流触媒の推定指標値と、前記計測手段によって計測された前記下流触媒の計測指標値とに基づき、使用燃料の硫黄濃度を推定する硫黄濃度推定手段と、を備えたことを特徴とする燃料性状判定装置が提供される。好ましくは、前記硫黄濃度推定手段は、前記下流触媒の推定指標値と計測指標値との差に基づき、使用燃料の硫黄濃度を推定する。好ましくは、前記硫黄濃度推定手段は、前記差が所定のしきい値以上のとき、使用燃料の硫黄濃度が所定濃度以上であると推定する。好ましくは、前記硫黄濃度推定手段は、前記上流触媒の計測指標値の値に応じて前記しきい値を可変設定する。好ましくは、前記硫黄濃度推定手段は、前記上流触媒の計測指標値の値が大きいほど、前記しきい値を大きな値に設定する。好ましくは、前記指標値は、酸素吸蔵容量からなる。好ましくは、前記指標値は、前記内燃機関の冷間始動時から所定時間経過した時点における触媒温度からなる。本発明の第2の態様によれば、第1の態様に係る燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を禁止することを特徴とする触媒異常診断装置が提供される。本発明の第3の態様によれば、第1の態様に係る燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を行う温度条件をより高温側に変更することを特徴とする触媒異常診断装置が提供される。好ましくは、前記触媒異常診断装置は、変更された温度条件下で、前記計測手段により前記上流触媒および下流触媒の少なくとも一方の指標値を計測し、当該計測された指標値に基づき、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する。本発明の第4の態様によれば、内燃機関の排気通路の上流側および下流側にそれぞれ設けられた上流触媒および下流触媒と、前記上流触媒の劣化度を表す指標値を計測する計測手段と、前記下流触媒の温度を検出する温度検出手段と、前記計測手段によって計測された前記上流触媒の指標値に基づき前記下流触媒の温度を推定する温度推定手段と、前記温度推定手段によって推定された前記下流触媒の推定温度と、前記温度検出手段によって検出された前記下流触媒の検出温度とに基づき、使用燃料の硫黄濃度を推定する硫黄濃度推定手段と、を備えたことを特徴とする燃料性状判定装置が提供される。好ましくは、前記硫黄濃度推定手段は、前記下流触媒の推定温度と検出温度との差に基づき、使用燃料の硫黄濃度を推定する。好ましくは、前記硫黄濃度推定手段は、前記差が所定のしきい値以上のとき、使用燃料の硫黄濃度が所定濃度以上であると推定する。好ましくは、前記硫黄濃度推定手段は、前記上流触媒の指標値の値に応じて前記しきい値を可変設定する。好ましくは、前記硫黄濃度推定手段は、前記上流触媒の指標値の値が大きいほど、前記しきい値を大きな値に設定する。好ましくは、前記指標値は酸素吸蔵容量からなる。好ましくは、前記下流触媒の温度は、前記上流触媒の指標値計測時における温度からなる。本発明の第5の態様によれば、第4の態様に係る燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を禁止することを特徴とする触媒異常診断装置が提供される。本発明の第6の態様によれば、第4の態様に係る燃料性状判定装置を備えると共に、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する触媒異常診断装置であって、前記硫黄濃度推定手段によって使用燃料の硫黄濃度が所定濃度以上であると推定されたとき、診断を行う温度条件をより高温側に変更することを特徴とする触媒異常診断装置が提供される。好ましくは、前記触媒異常診断装置は、変更された温度条件下で、前記計測手段により前記上流触媒および下流触媒の少なくとも一方の指標値を計測し、当該計測された指標値に基づき、前記上流触媒および下流触媒の少なくとも一方が正常か異常かを診断する。本発明によれば、燃料の硫黄濃度を好適に推定することができる燃料性状判定装置、及びこれを備えた触媒異常診断装置を提供することができるという、優れた効果が発揮される。以下、本発明の好適実施形態を添付図面に基づき説明する。[第1実施形態]図1は、第1実施形態の構成を示す概略図である。図示されるように、内燃機関たるエンジン1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、燃焼室3内でピストン4を往復移動させることにより動力を発生する。本実施形態のエンジン1は自動車用多気筒エンジン1気筒のみ図示であり、火花点火式内燃機関、より具体的にはガソリンエンジンである。エンジン1のシリンダヘッドには、吸気ポートを開閉する吸気弁Viと、排気ポートを開閉する排気弁Veとが気筒ごとに配設されている。各吸気弁Viおよび各排気弁Veは図示しないカムシャフトによって開閉させられる。また、シリンダヘッドの頂部には、燃焼室3内の混合気に点火するための点火プラグ7が気筒ごとに取り付けられている。各気筒の吸気ポートは吸気マニホールドを介して吸気集合室であるサージタンク8に接続されている。サージタンク8の上流側には吸気集合通路をなす吸気管13が接続されており、吸気管13の上流端にはエアクリーナ9が設けられている。そして吸気管13には、上流側から順に、エンジンに流入する空気量すなわち吸入空気量を検出するためのエアフローメータ5と、電子制御式スロットルバルブ10とが設けられている。なお吸気ポート、吸気マニホールド、サージタンク8及び吸気管13により吸気通路が形成される。吸気通路、特に吸気ポート内に燃料を噴射するインジェクタすなわち燃料噴射弁12が気筒ごとに配設される。インジェクタ12から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁Viの開弁時に燃焼室3に吸入され、ピストン4で圧縮され、点火プラグ7で点火燃焼させられる。一方、各気筒の排気ポートは、排気マニホールドを介して排気集合通路をなす排気管6に接続されている。これら排気ポート、排気マニホールド及び排気管6により排気通路が形成される。排気管6には、その上流側と下流側に、酸素吸蔵能を有する三元触媒からなる触媒、即ち上流触媒11及び下流触媒19が直列に設けられている。例えば、上流触媒11は排気マニホールドの直後に配置され、下流触媒19は車両の床下などに配置される。上流触媒11の上流側及び下流側前後に、それぞれ、酸素濃度に基づいて排気ガスの空燃比を検出する空燃比センサ、即ち触媒前センサ17及び触媒後センサ18が設けられている。図5に示すように、触媒前センサ17は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能で、その空燃比に比例した値の信号を出力する。他方、触媒後センサ18は所謂O2センサからなり、理論空燃比を境に出力値が急変する特性Z特性を持つ。また、下流触媒11の下流側後に、触媒後センサ18と同様の下流触媒後センサ23が設けられている。上述の点火プラグ7、スロットルバルブ10及びインジェクタ12等は、制御手段としての電子制御ユニット以下ECUと称す20に電気的に接続されている。ECU20は、何れも図示されないCPU、ROM、RAM、入出力ポート、および記憶装置等を含むものである。またECU20には、図示されるように、前述のエアフローメータ5、触媒前センサ17、触媒後センサ18、下流触媒後センサ23のほか、エンジン1のクランク角を検出するクランク角センサ14、アクセル開度を検出するアクセル開度センサ15、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU20は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、インジェクタ12、スロットルバルブ10等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。上流触媒11及び下流触媒19は、これに流入する排気ガスの空燃比A/Fが理論空燃比ストイキ、例えばA/Fs=14.6のときにNOx,HCおよびCOを同時に高効率で浄化する。よってこの特性に合わせて、ECU20は、エンジンの通常運転時、上流触媒11に流入する排気ガスの空燃比がストイキに一致するよう、燃焼室3に供給される混合気の空燃比具体的にはインジェクタ12からの燃料噴射量を触媒前センサ17および触媒後センサ18の出力に基づきフィードバック制御する。ここで、主に異常診断の対象となる上流触媒11についてより詳細に説明する。なお下流触媒19も上流触媒11と同様に構成されている。図2に示すように、触媒11においては、図示しない担体基材の表面上にコート材31が被覆され、このコート材31に微粒子状の触媒成分32が多数分散配置された状態で担持され、触媒11内部で露出されている。触媒成分32は主にPt,Pd等の貴金属からなり、NOx,HCおよびCOといった排ガス成分を反応させる際の活性点となる。他方、コート材31は、排気ガスと触媒成分32との界面における反応を促進させる助触媒の役割を担うと共に、雰囲気ガスの空燃比に応じて酸素を吸放出可能な酸素吸蔵成分を含む。酸素吸蔵成分は例えば二酸化セリウムCeO2やジルコニアからなる。なお、吸蔵と同義で吸収または吸着を用いることもある。例えば、触媒内の雰囲気ガスが理論空燃比よりリーンであると、触媒成分32の周囲に存在する酸素吸蔵成分が雰囲気ガスから酸素を吸収し、この結果NOxが還元され、浄化される。他方、触媒内の雰囲気ガスが理論空燃比よりリッチであると、酸素吸蔵成分に吸蔵されていた酸素が放出され、この放出された酸素によりHCおよびCOが酸化され、浄化される。この酸素吸放出作用により、通常のストイキ空燃比制御に際して実際の空燃比がストイキに対して多少ばらついたとしても、このばらつきを吸収することができる。ところで、新品状態の触媒11では前述したように多数の触媒成分32が均等に分散配置されており、排気ガスと触媒成分32との接触確率が高い状態に維持されている。しかしながら、触媒11が劣化してくると、一部の触媒成分32に消失が見られるほか、触媒成分32同士が排気熱で焼き固まって焼結状態になるものがある図の破線参照。こうなると排気ガスと触媒成分32との接触確率が低下し、浄化率を落としめる原因となる。そしてこのほかに、触媒成分32の周囲に存在するコート材31の量、即ち酸素吸蔵成分の量が減少し、酸素吸蔵能自体が低下する。このように、触媒11の劣化度と酸素吸蔵能との間には相関関係がある。そこで本実施形態では、特にエミッションへの影響が大きい上流触媒11の酸素吸蔵能を検出することにより、上流触媒11の劣化度を間接的に検出し、上流触媒11が正常か異常かを診断することとしている。ここで触媒11の酸素吸蔵能は、現状の触媒11が吸蔵し得る最大酸素量である酸素吸蔵容量OSC;O2StorageCapacity、単位はgの大きさによって表される。従って酸素吸蔵容量は触媒11の劣化度を表す指標値劣化指標値をなす。本実施形態の触媒異常診断は前述のCmax法によるものを基本とする。そして異常診断に際しては、ECU20によりアクティブ空燃比制御が実行される。すなわちECU20は、触媒11に供給される排気ガスの空燃比、具体的には燃焼室3内の混合気の空燃比を、中心空燃比であるストイキA/Fsを境にリッチ及びリーンに交互に且つアクティブに切り替える。また、アクティブ空燃比制御および診断は、所定の前提条件が満たされているときに限って実行される。この前提条件については後述する。本実施形態では、上流触媒11および下流触媒19の両方の酸素吸蔵容量を計測し、これら計測値に基づき両触媒を診断できるようになっている。しかしながらここでは、便宜上、図3及び図4を用いて、上流触媒11のみの酸素吸蔵容量を単独で計測する場合の方法基本方法というを説明する。図3Aにおいて、破線は目標空燃比A/Ft、実線は触媒前センサ17の出力但し触媒前空燃比A/Ffへの換算値を示す。また図3Bにおいて、実線は触媒後センサ18の出力但しその出力電圧Vrを示す。図示するように、時刻t1より前では、空燃比をリーンに切り替えるリーン制御が実行され、目標空燃比A/Ftはリーン空燃比A/Fl例えば15.1とされ、触媒11には、目標空燃比A/Ftと等しい空燃比のリーンガスが供給されている。このとき触媒11は酸素を吸蔵し続けているが、飽和状態即ち満杯まで酸素を吸蔵した時点でそれ以上酸素を吸蔵できなくなる。この結果、リーンガスが触媒11を通り抜けて触媒11の下流側に流れ出す。こうなると触媒後センサ18の出力がリーン側に変化し、出力電圧Vrが所定のリーン判定値VL例えば0.21Vに達した時点t1で、目標空燃比A/Ftがリッチ空燃比A/Fr例えば14.1に切り替えられる。これによりリッチ制御が開始され、目標空燃比A/Ftと等しい空燃比のリッチガスが供給されるようになる。リッチガスが供給されると、触媒11は吸蔵酸素を放出し続ける。やがて触媒11から吸蔵酸素が放出され尽くすとその時点で触媒11は酸素を放出できなくなり、リッチガスが触媒11を通り抜けて触媒11の下流側に流れ出す。こうなると触媒後センサ18の出力がリッチ側に変化し、出力電圧Vrが所定のリッチ判定値VR例えば0.59Vに達した時点t2で、目標空燃比A/Ftがリーン空燃比A/Fl例えば15.1に切り替えられる。これにより再びリーン制御が開始され、目標空燃比A/Ftと等しい空燃比のリーンガスが供給されるようになる。再び、触媒11が満杯まで酸素を吸蔵し、触媒後センサ18の出力電圧Vrがリーン判定値VLに達すると、その時点t3で、目標空燃比A/Ftがリッチ空燃比A/Frに切り替えられ、リッチ制御が開始される。こうして、触媒後センサ18の出力が反転する毎に、リーン制御とリッチ制御とが交互に繰り返し実行される。このアクティブ空燃比制御の実行中、次の方法で触媒11の酸素吸蔵容量OSCが計測される。触媒11の有する酸素吸蔵容量が大きいほど、酸素を吸蔵或いは放出し続けることのできる時間が長くなる。つまり、触媒が劣化していない場合は触媒後センサ出力Vrの反転周期例えばt1からt2までの時間が長くなり、触媒の劣化が進むほどその反転周期は短くなる。そこで、このことを利用して酸素吸蔵容量OSCが次のようにして計測される。図4に示すように、時刻t1で目標空燃比A/Ftがリッチ空燃比A/Frに切り替えられた直後、僅かに遅れて実際値としての触媒前空燃比A/Ffがリッチ空燃比A/Frに切り替わる。そして触媒前空燃比A/FfがストイキA/Fsに達した時点t11から、次に触媒後センサ出力Vrが反転する時点t2まで、次式1により、所定の演算周期毎の酸素吸蔵容量dOSCが逐次的に算出され、且つこの酸素吸蔵容量dOSCが時刻t11から時刻t2まで逐次的に積算される。こうして、リッチ制御時における最終積算値としての酸素吸蔵容量OSC、すなわち図4にOSCbで示す放出酸素量が計測される。Qは燃料噴射量であり、空燃比差ΔA/Fに燃料噴射量Qを乗じるとストイキに対し不足又は過剰分の空気量を算出できる。σは空気に含まれる酸素割合約0.23を表す定数である。リーン制御時にも同様に酸素吸蔵容量、すなわち図4にOSCaで示す吸蔵酸素量が計測される。そしてリッチ制御とリーン制御が交互に行われる度に、放出酸素量と吸蔵酸素量が交互に計測される。ここで分かるように、酸素吸蔵容量とは放出酸素量と吸蔵酸素量を総称する用語である。また放出酸素量とはリッチ制御中に触媒が放出する酸素量をいい、吸蔵酸素量とはリーン制御中に触媒が吸蔵する酸素量をいう。こうして複数ずつの放出酸素量と吸蔵酸素量との計測値が得られたならば、次の方法により触媒の正異常判定が行われる。まずECU20は、これら放出酸素量と吸蔵酸素量との複数の計測値の平均値を算出する。そしてこの平均値を所定の異常判定値α1と比較する。ECU20は、平均値が異常判定値α1より大きいときには上流触媒11を正常と判定し、平均値が異常判定値α1以下のときには上流触媒11を異常と判定する。なお上流触媒11を異常と判定した場合、その事実をユーザに知らせるため、チェックランプ等の警告装置図示せずを起動させるのが好ましい。ところで前述したように、本実施形態では、上流触媒11および下流触媒19の両方の酸素吸蔵容量を計測し、これら計測値に基づき両触媒を診断できるようになっている。この場合、目標空燃比A/Ftの切り替えタイミングが前記基本方法と異なる。例えばリッチ制御中、前記基本方法では、触媒後センサ18の出力がリッチに反転した時t2に目標空燃比A/Ftをリーンに切り替えた。しかしながら本実施形態では、このタイミングではなく、下流触媒後センサ23の出力がリッチに反転した時に目標空燃比A/Ftをリーンに切り替える。リッチ制御中、上流触媒11から吸蔵酸素が放出され尽くすとリッチガスが上流触媒11から流れ出し、触媒後センサ18の出力がリッチに反転する。そしてこのリッチガスは下流触媒19に供給され、下流触媒19から吸蔵酸素を放出させる。下流触媒19から吸蔵酸素が放出され尽くすとリッチガスが下流触媒19から流れ出し、下流触媒後センサ23の出力がリッチに反転する。この反転と同時にリッチ制御終了となり、目標空燃比A/Ftがリーンに切り替えられる。触媒後センサ18の出力がリッチに反転するまでの期間では前記基本方法と同じ要領で上流触媒11の放出酸素量が計測される。また、触媒後センサ18の出力がリッチに反転した時から、下流触媒後センサ23の出力がリッチに反転するまでの期間において、下流触媒19の放出酸素量が計測される。すなわち当該期間中、式1に基づく演算周期毎の酸素吸蔵容量dOSCが逐次的に積算される。リーン制御中にも同様の方法で、上流触媒11と下流触媒19の吸蔵酸素量が計測される。この場合、下流触媒後センサ23の出力がリーンに反転した時にリーン制御終了となり、目標空燃比A/Ftがリッチに切り替えられる。下流触媒19の正異常判定の方法は前記基本方法と同様である。すなわち、下流触媒19の放出酸素量と吸蔵酸素量との複数の計測値の平均値を算出し、この平均値を、下流触媒用の別の異常判定値α2と比較する。そして平均値が異常判定値α2より大きいときには下流触媒19を正常と判定し、平均値が異常判定値α2以下のときには下流触媒19を異常と判定する。異常判定時に警告装置を起動させるのが好ましいのも前記同様である。なお、上流触媒11と下流触媒19の酸素吸蔵容量計測値は必ずしも平均値でなくてもよい。次に、本実施形態における燃料性状判定、具体的には燃料の硫黄濃度の推定について説明する。ここで、予め使用が予定されている硫黄濃度が低い燃料、即ち硫黄濃度が所定濃度未満の燃料を低S燃料という。また硫黄濃度が高い燃料、即ち硫黄濃度が当該所定濃度以上の燃料を高S燃料という。一般に、触媒温度が低いほど触媒への硫黄影響は増加する。すなわち、燃料の硫黄濃度が一定であっても、触媒温度が低いほど触媒のS被毒度合いは大きくなり、また触媒の硫黄蓄積量は増加する。また、上流触媒11と下流触媒19を比較した場合、下流触媒19の方がより低温の排気ガスが供給されるので、より低温となる傾向がある。従って、燃料の硫黄濃度が一定の場合、上流触媒11の酸素吸蔵容量と下流触媒19の酸素吸蔵容量との間には一定の相関関係がある。これを図示したのが図6である。図6において、菱形および実線は低S燃料使用時のデータであり、四角および破線は高S燃料使用時のデータである。まず、燃料の硫黄濃度に拘わらず、下流触媒19の酸素吸蔵容量OSC2は常に上流触媒11の酸素吸蔵容量OSC1よりも小さい。その理由は下流触媒19が上流触媒11より低温だからである。そして燃料の硫黄濃度が一定の場合、すなわち低S燃料使用時と高S燃料使用時のいずれにおいても、下流触媒19の酸素吸蔵容量OSC2は上流触媒11の酸素吸蔵容量OSC1に対し比例関係にある。その理由は上流触媒11と下流触媒19の劣化が同程度に進むからである。さらに、上流触媒11の酸素吸蔵容量OSC1が一定の場合、高S燃料使用時の下流触媒19の酸素吸蔵容量OSC2は低S燃料使用時の下流触媒19の酸素吸蔵容量OSC2よりも小さい。その理由は、上流触媒11と比較してより低温な下流触媒19の方が、相対的に高S燃料の硫黄影響を強く受け、S被毒度合いが大きくなるからである。そこで本実施形態では、この特性を利用して燃料の硫黄濃度をECU20により推定する。すなわち、図6に示す如き低S燃料使用時の上流触媒11の酸素吸蔵容量OSC1と下流触媒19の酸素吸蔵容量OSC2との関係を予めマップ関数でもよい。以下同様の形でECU20に記憶しておく。図7には図6のデータを反映したより具体的なマップを示す。そして、実際に計測された上流触媒11の酸素吸蔵容量計測上流酸素吸蔵容量というOSC1aに対応した下流触媒19の酸素吸蔵容量OSC2を、当該マップから推定する。この推定された酸素吸蔵容量推定下流酸素吸蔵容量というOSC2eは、図6の実線上の値となる。次いで推定下流酸素吸蔵容量OSC2eと、実際に計測された下流触媒19の酸素吸蔵容量計測下流酸素吸蔵容量というOSC2aとに基づき、使用燃料の硫黄濃度を推定する。具体的には、推定下流酸素吸蔵容量OSC2eと計測下流酸素吸蔵容量OSC2aの差ΔOSC2=|OSC2e-OSC2a|が所定のしきい値β1以上のとき、使用燃料の硫黄濃度が所定濃度以上である、すなわち使用燃料が高S燃料であると推定する。他方、差ΔOSC2が所定のしきい値β1未満のときには、使用燃料の硫黄濃度が所定濃度未満である、すなわち使用燃料が低S燃料であると推定する。低S燃料使用時であれば、低S燃料を前提とした推定下流酸素吸蔵容量OSC2eと計測下流酸素吸蔵容量OSC2aの差ΔOSC2が小さい筈なので、この場合には使用燃料を低S燃料と推定できる。しかしながら、高S燃料使用時であれば、低S燃料を前提とした推定下流酸素吸蔵容量OSC2eと計測下流酸素吸蔵容量OSC2aの差ΔOSC2が大きくなる。よってこの場合には使用燃料を高S燃料と推定する。この推定方法には次の利点がある。まず、比較的高価な硫黄濃度センサを新たに設置する必要がないので装置全体を比較的低廉に抑えられるという利点がある。次に、上流触媒11および下流触媒19の一方のみの酸素吸蔵容量低下量に基づき燃料の硫黄濃度を推定することが考えられるが、これだと、触媒劣化に起因する低下なのか、あるいは硫黄影響に起因する低下なのかを区別することができない。しかし、本実施形態の推定方法によれば、上流触媒11および下流触媒19の両方の酸素吸蔵容量計測値ないし情報を利用する。よって触媒劣化原因を排除し、硫黄影響原因のみに基づいて硫黄濃度を推定できる。従って好適でしかも高精度な方法により燃料の硫黄濃度を推定することが可能である。ここで好ましくは、ECU20は、差ΔOSC2の比較対象であるしきい値β1を、計測上流酸素吸蔵容量OSC1aに応じて可変設定する。具体的には、計測上流酸素吸蔵容量OSC1aの値が大きいほど、しきい値β1を大きな値に設定する。この設定は予め定めたマップを利用して行うことができる。図6から理解されるように、推定下流酸素吸蔵容量OSC2eと計測下流酸素吸蔵容量OSC2aの差ΔOSC2は、高S燃料使用時においては、計測上流酸素吸蔵容量OSC1aが大きくなるほど大きくなる傾向がある。よってこの傾向に合わせて、計測上流酸素吸蔵容量OSC1aの値が大きいほど、しきい値β1を大きくすることにより、図6の特性をより反映し、推定精度を一層向上することが可能となる。なお、ここでの例では硫黄濃度を高低の二段階で推定したが、差ΔOSC2に応じて硫黄濃度を無段階で推定してもよい。また差ΔOSC2に代わって、推定下流酸素吸蔵容量OSC2eと計測下流酸素吸蔵容量OSC2aの比R=OSC2e/OSC2aを用いてもよい。この場合比Rが大きいほど高い硫黄濃度を推定することになる。ところで、使用燃料が高S燃料であることを推定した場合、硫黄影響を考慮して触媒の異常診断を実施するのが好ましい。そこで以下にはそのような異常診断の好適例を示す。図8に異常診断処理のルーチンを示す。このルーチンはECU20により所定の演算周期例えば16msec毎に繰り返し実行される。まずステップS101において、診断に適した前提条件が成立しているか否かが判断される。例えば、1エンジンが暖機状態にあり、2上流触媒11および下流触媒19が暖機状態にあり、3触媒前センサ17、触媒後センサ18および下流触媒後センサ23が活性状態にあり、4エンジンが定常運転状態にある場合に、前提条件が成立する。条件1の成否は図示しない水温センサの検出値に基づき判断され、例えば当該検出値が75°C以上だと条件成立となる。条件2の成否は別途推定または検出される各触媒の温度に基づき判断される。条件3の成否は各センサの素子インピーダンスに基づく素子温度の検出値に基づき判断される。条件4の成否は、例えば吸入空気量Ga及びエンジン回転速度Neの所定期間内における変動幅が所定範囲内に収まっているか否かによって判断される。なお吸入空気量Gaはエアフローメータ5により検出され、エンジン回転速度Neはクランク角センサ14の出力から計算される。なお前提条件についてはこれ以外の例も可能である。前提条件が成立していない場合には処理が終了され、他方、前提条件が成立している場合にはステップS102に進む。ステップS102では、アクティブ空燃比制御が実行される。そしてステップS103では、アクティブ空燃比制御の実行中に、上流触媒11の酸素吸蔵容量OSC1と下流触媒19の酸素吸蔵容量OSC2とが計測される。次いでステップS104では、上流触媒11の酸素吸蔵容量OSC1と下流触媒19の酸素吸蔵容量OSC2との計測が完了したか否かが判断される。複数である所定数ずつの酸素吸蔵容量OSC1,OSC2のデータが取得されたとき判断結果はイエスとなり、そうでなければ判断結果はノーとなり、処理が終了される。判断結果がイエスのとき、ステップS105に進んで、推定下流酸素吸蔵容量OSC2eと計測下流酸素吸蔵容量OSC2aの差ΔOSC2=|OSC2e-OSC2a|が算出される。このステップではまず、それぞれ計測された上流触媒11と下流触媒19の酸素吸蔵容量OSC1,OSC2の平均値が求められ、これらが最終的な計測値すなわち計測上流酸素吸蔵容量OSC1aおよび計測下流酸素吸蔵容量OSC2aとされる。そして、図6および図7に示したようなマップから、計測上流酸素吸蔵容量OSC1aに対応した推定下流酸素吸蔵容量OSC2eが算出される。さらに式:ΔOSC2=|OSC2e-OSC2a|に従い、差ΔOSC2が算出される。この差ΔOSC2が、使用燃料が高S燃料であるか否かを判定するための高S燃料判定指標値となる。次に、ステップS106において、差ΔOSC2がしきい値β1と比較される。差ΔOSC2がしきい値β1未満のときには、使用燃料が低S燃料であると推定され、通常通り、ステップS109において正常異常判定が実行される。すなわち、計測上流酸素吸蔵容量OSC1aおよび計測下流酸素吸蔵容量OSC2aがそれぞれ異常判定値α1およびα2と比較され、上流触媒11および下流触媒19が正常か異常かが判定される。これにより処理が終了される。他方、差ΔOSC2がしきい値β1以上のときには、使用燃料が高S燃料であると推定される。この場合、ステップS107に進んで、今回計測された計測上流酸素吸蔵容量OSC1aおよび計測下流酸素吸蔵容量OSC2aに基づく正常異常判定が保留される。上流触媒11および下流触媒19がS被毒しており、誤診断する可能性があるからである。またこのステップS107では計測値データを破棄するなどの所定のクリア処理が行われる。次いでステップS108において、ステップS101の前提条件のうちの触媒温度条件、すなわち前記条件2が、より高温側に変更される。すなわち前記条件2が、上流触媒温度が所定の第1温度Ts1以上且つ下流触媒温度が所定の第2温度Ts2以上であるとすると、触媒温度条件の変更後には、変更前の第1温度Ts1および第2温度Ts2がより高温側の値Ts1’およびTs2’に変更される。これら変更後の値Ts1’およびTs2’は、上流触媒11および下流触媒19のS被毒が解消するような十分高温な値であるのが好ましい。こうして触媒温度条件が変更されたら処理が終了される。次回以降の再診断は、本ルーチンに従い、より高温な触媒温度条件が成立した場合に限って実行される。すなわち、ステップS101の前提条件成立時に上流触媒11と下流触媒19の酸素吸蔵容量OSC1,OSC2が計測され、これら計測値に基づき差ΔOSC2が算出される。このとき上流触媒11および下流触媒19の硫黄影響すなわちS被毒は解消している可能性が高い。よってこの場合には差ΔOSC2がしきい値β1未満となり、通常通り正常異常判定が実行される。こうして、変更された触媒温度条件下で、計測された酸素吸蔵容量OSC1,OSC2に基づき、上流触媒11および下流触媒19が正常か異常かが診断される。上記診断処理によれば、使用燃料が高S燃料であると推定された場合、正常異常判定が保留され、診断は実質的に禁止される。よって、上流触媒11および下流触媒19がS被毒した状態で診断を行うことを禁止し、誤診断を未然に防止することができる。特に、本来異常でない触媒を誤って異常と診断してしまうことを防止できる。なお、低S燃料使用時には通常通り診断を行うことができるので、診断頻度確保との両立も図れる。また、この場合により高温な触媒温度条件下で再度診断を実行するので、上流触媒11および下流触媒19の硫黄影響を除去した上で診断を実行でき、誤診断の防止と診断頻度確保とが図れる。なお、上記異常診断処理においては正常異常判定が保留ないし禁止された場合に触媒温度条件を変更した。しかしながら、これらは独立して一方のみ行うことが可能である。また、上記異常診断処理においては上流触媒11と下流触媒19の両方を診断した。しかしながら、これらのうちいずれか一方のみを診断するようにしてもよい。すなわち硫黄濃度推定に際しては両方の酸素吸蔵容量OSC1,OSC2を計測するが、触媒異常診断はこれらのうちの一方の計測値のみを用いて一方の触媒についてのみ実行することができる。[第2実施形態]次に、本発明の第2実施形態を説明する。なお前記第1実施形態と同様の部分については説明を省略し、以下相違点を中心に説明する。本実施形態の主な相違点は、上流触媒11及び下流触媒19の劣化指標値として、酸素吸蔵容量の代わりに、触媒温度、特にエンジンの冷間始動時から所定時間経過時点における触媒温度を用いる点である。図9には本実施形態のエンジン1の構成を示す。図示されるように、上流触媒11及び下流触媒19には、これらの温度をそれぞれ計測ないし検出するための上流温度センサ21および下流温度センサ22が設けられている。これら上流温度センサ21および下流温度センサ22はECU20に図示されないA/D変換器等を介して電気的に接続されている。第1実施形態において設けられていた下流触媒後センサ23は省略されている。ECU20は、エンジンが冷間始動された時から所定時間経過した時点における上流触媒11及び下流触媒19の温度を上流温度センサ21および下流温度センサ22により検出する。ECU20は、図示しない水温センサの検出値が常温程度の所定範囲内にあるときにエンジンが始動された場合、エンジンが冷間始動されたと判断する。そしてこの冷間始動時から吸入空気量または燃料噴射量を逐次的に積算し、積算値が所定値に達した時に所定時間が経過したと判断する。所定時間は任意に定め得るが、例えば、正常な触媒が未活性から活性に変化するタイミングでの時間第1の時間としてもよいし、正常な触媒が活性化した後、暖機状態となってから、診断が行われるタイミングでの時間第2の時間としてもよい。触媒の劣化度が大きいほど、触媒反応が緩慢になるので、所定時間経過時点における触媒温度は低くなる。このように触媒の劣化度と触媒温度との間には相関関係がある。そこで本実施形態では、所定時間経過時点における上流触媒11及び下流触媒19の触媒温度を計測ないし検出することにより、各触媒の劣化度を間接的に検出し、各触媒が正常か異常かを診断する。第1の時間を採用する場合、この第1の時間が経過した時点における上流触媒11及び下流触媒19の触媒温度が、それぞれ所定の異常判定値と比較される。触媒温度が異常判定値より大きい場合、触媒は正常と判定され、触媒温度上昇量が異常判定値以下の場合、触媒は異常と判定される。第2の時間を採用する場合、この第2の時間が経過した時点における上流触媒11及び下流触媒19の触媒温度が、それぞれ所定の異常判定値と比較される。異常判定値は、積算吸入空気量または積算燃料噴射量に基づき、所定のマップから算出される。そして触媒温度が異常判定値より大きい場合、触媒は正常と判定され、触媒温度が異常判定値以下の場合、触媒は異常と判定される。次に、本実施形態における燃料性状判定、具体的には燃料の硫黄濃度の推定について説明する。前述したように、下流触媒19の方が上流触媒11より低温となる傾向がある。また触媒温度が低いほど触媒への硫黄影響は増加し、触媒のS被毒度合いは大きくなり、触媒の硫黄蓄積量は増加する。よって燃料の硫黄濃度が一定の場合、上流触媒11の温度と下流触媒19の温度との間には一定の相関関係がある。これを図示したのが図10である。図10において、菱形および実線は低S燃料使用時のデータであり、四角および破線は高S燃料使用時のデータである。ここでは第2の時間を採用した場合、すなわち各触媒が活性化した後の暖機状態での値を示す。まず燃料の硫黄濃度に拘わらず、下流触媒温度T2は常に上流触媒温度T1よりも低い。そして燃料の硫黄濃度が一定の場合、すなわち低S燃料使用時と高S燃料使用時のいずれにおいても、下流触媒温度T2は上流触媒温度T1に対し比例関係にある。さらに、上流触媒温度T1が一定の場合、高S燃料使用時の下流触媒温度T2は低S燃料使用時の下流触媒温度T2よりも低い。その理由は、上流触媒11よりも低温な下流触媒19において、高S燃料による硫黄影響が大きくなり、S被毒度合いが大きくなり、触媒の反応熱が少なくなるからである。そこで本実施形態では、この特性を利用して燃料の硫黄濃度をECU20により推定する。すなわち、図示の如き低S燃料使用時の上流触媒温度と下流触媒温度の関係を予めマップの形でECU20に記憶しておく。そして、上流温度センサ21によって検出された実際の上流触媒温度検出上流触媒温度というT1aに対応した下流触媒温度を、当該マップから推定する。この推定された下流触媒温度推定下流触媒温度というT2eは、図10の実線上の値となる。次いで推定下流触媒温度T2eと、下流温度センサ22によって検出された実際の下流触媒温度検出下流触媒温度というT2aとに基づき、使用燃料の硫黄濃度を推定する。具体的には、第2の時間経過時点における推定下流触媒温度T2eと検出下流触媒温度T2aの差ΔT2=|T2e-T2a|が所定のしきい値β2以上のとき、使用燃料の硫黄濃度が所定濃度以上である、すなわち使用燃料が高S燃料であると推定する。他方、差ΔT2がしきい値β2未満のときには、使用燃料の硫黄濃度が所定濃度未満である、すなわち使用燃料が低S燃料であると推定する。この推定方法にも第1実施形態と同様の利点がある。好ましくは、ECU20は、差ΔT2の比較対象であるしきい値β2を、検出上流触媒温度T1aに応じて可変設定する。具体的には、検出上流触媒温度T1aが高いほどしきい値β2を大きな値に設定する。この設定は予め定めたマップを利用して行うことができる。図10から理解されるように、推定下流触媒温度T2eと検出下流触媒温度T2aとの差ΔT2は、高S燃料使用時においては、上流触媒温度T1が高くなるほど大きくなる傾向がある。よってこの傾向に合わせて、検出上流触媒温度T1aが高いほどしきい値を大きくすることにより、図10の特性をより反映し、推定精度を一層向上することが可能となる。なお、硫黄濃度を無段階で推定してもよい点、差ΔT2に代わって比R=T2e/T2aを用いてもよい点は前記同様である。図11に本実施形態に係る異常診断処理のルーチンを示す。このルーチンはECU20により所定の演算周期例えば16msec毎に繰り返し実行される。ステップS201は前記ステップS101と同様である。ステップS202では、上流触媒11及び下流触媒19の触媒温度T1,T2がそれぞれ検出される。ステップS203では、推定下流触媒温度T2eと検出下流触媒温度T2aとの差ΔT2が算出される。まず図10に示したようなマップから検出上流触媒温度T1aに対応した推定下流触媒温度T2eが算出される。次いで式:ΔT2=|T2e-T2a|に従い、差ΔT2が算出される。この差ΔT2が、使用燃料が高S燃料であるか否かを判定するための高S燃料判定指標値となる。次に、ステップS204において、差ΔT2がしきい値β2と比較される。差ΔT2がしきい値β2未満のときには、使用燃料が低S燃料であると推定され、通常通り、ステップS207において検出上流触媒温度T1aおよび検出下流触媒温度T2aに基づく上流触媒11および下流触媒19の正常異常判定が実行される。他方、差ΔT2がしきい値β2以上のときには、使用燃料が高S燃料であると推定され、前記実施形態同様、ステップS205において正常異常判定が保留され、ステップS206において触媒温度条件がより高温側に変更される。[第3実施形態]次に、本発明の第3実施形態を説明する。なお前記実施形態と同様の部分については説明を省略し、以下相違点を中心に説明する。本実施形態の主な相違点は、上流触媒の劣化度を表す劣化指標値に基づき下流触媒の温度を推定し、この下流触媒の推定温度と、別途検出された下流触媒の検出温度とに基づき、使用燃料の硫黄濃度を推定する点にある。図12には本実施形態のエンジン1の構成を示す。図示されるように、下流触媒19には、その温度を検出するための温度検出手段たる下流温度センサ22が設けられている。下流温度センサ22はECU20に図示されないA/D変換器等を介して電気的に接続されている。第1実施形態において設けられていた下流触媒後センサ23と、第2実施形態において設けられていた上流温度センサ21とは省略されている。そして第1実施形態またはその基本方法と同様の方法で、上流触媒11の劣化度を表す劣化指標値たる酸素吸蔵容量OSC1が計測される。なお併せて下流触媒19の酸素吸蔵容量OSC2を計測してもよい。この計測された上流触媒11の酸素吸蔵容量OSC1、すなわち計測上流酸素吸蔵容量OSC1aに基づき、下流触媒19の温度が推定される。前述したように、下流触媒19の方が上流触媒11より低温となる傾向がある。また触媒温度が低いほど触媒への硫黄影響は増加する。さらに上流触媒11の劣化度が定まると、同程度に劣化した下流触媒19の温度が自ずと定まる。よって燃料の硫黄濃度が一定の場合、上流触媒11の酸素吸蔵容量OSC1と下流触媒19の温度との間には一定の相関関係がある。これを図示したのが図13である。図13に示すように、燃料の硫黄濃度に拘わらず、下流触媒温度T2は上流触媒の酸素吸蔵容量OSC1と比例関係にある。そして上流触媒の酸素吸蔵容量OSC1が一定の場合、高S燃料使用時の下流触媒温度T2は低S燃料使用時の下流触媒温度T2よりも低い。その理由は、上流触媒11よりも低温な下流触媒19において、高S燃料による硫黄影響が相対的に大きくなり、触媒の反応熱が少なくなるからである。そこで本実施形態では、この特性を利用して燃料の硫黄濃度をECU20により推定する。すなわち、図13に示す如き低S燃料使用時の上流触媒11の酸素吸蔵容量OSC1と下流触媒温度T2の関係を予めマップの形でECU20に記憶しておく。図14には図13のデータを反映したより具体的なマップを示す。そして、実際に計測された上流触媒11の酸素吸蔵容量OSC1すなわち計測上流酸素吸蔵容量OSC1aに対応した下流触媒温度T2を、当該マップから推定する。この推定された下流触媒の温度すなわち推定下流触媒温度T2eは、図13の実線上の値となる。次いで推定下流触媒温度T2eと、下流温度センサ22によって検出された下流触媒温度すなわち検出下流触媒温度T2aとに基づき、使用燃料の硫黄濃度を推定する。具体的には、推定下流触媒温度T2eと検出下流触媒温度T2aの差ΔT2=|T2e-T2a|が所定のしきい値β3以上のとき、使用燃料が高S燃料であると推定する。他方、差ΔT2がしきい値β3未満のとき、使用燃料が低S燃料であると推定する。この推定方法にも第1および第2実施形態と同様の利点がある。ここで好ましくは、ECU20は、しきい値β3を、計測上流酸素吸蔵容量OSC1aの値に応じて可変設定する。具体的には、計測上流酸素吸蔵容量OSC1aの値が大きいほどしきい値β3を大きな値に設定する。この設定は予め定めたマップを利用して行うことができる。図13から理解されるように、推定下流触媒温度T2eと検出下流触媒温度T2aとの差ΔT2は、高S燃料使用時においては、計測上流酸素吸蔵容量OSC1aの値が高くなるほど大きくなる傾向がある。よってこの傾向に合わせて、計測上流酸素吸蔵容量OSC1aの値が大きいほど、しきい値β3を大きくすることにより、図13の特性をより反映し、推定精度を一層向上することが可能となる。なお、硫黄濃度を無段階で推定してもよい点、差ΔT2に代わって比R=T2e/T2aを用いてもよい点は前記同様である。図15に本実施形態に係る異常診断処理のルーチンを示す。このルーチンはECU20により所定の演算周期例えば16msec毎に繰り返し実行される。ステップS301,S302は前記ステップS101,S102と同様である。ステップS303では、アクティブ空燃比制御実行中に上流触媒11の酸素吸蔵容量OSC1が計測されると共に、検出下流触媒温度T2aの値が積算される。なお併せて下流触媒19の酸素吸蔵容量OSC2を計測してもよい。ステップS304では、上流触媒11の酸素吸蔵容量OSC1の計測が完了したか否かが判断される。完了してなければ処理が終了され、完了していればステップS305に進む。この完了と同時に検出下流触媒温度T2aの積算も終了される。ステップS305では、推定下流触媒温度T2eと検出下流触媒温度T2aとの差Δが算出される。まず、計測された複数の上流触媒11の酸素吸蔵容量OSC1の平均値が求められ、これが最終的な計測値すなわち計測上流酸素吸蔵容量OSC1aとされる。そして、図13および図14に示したようなマップから、計測上流酸素吸蔵容量OSC1aに対応した推定下流触媒温度T2eが算出される。他方、検出下流触媒温度T2aの積算値がサンプル数で除され、検出下流触媒温度T2aの平均値が算出される。この平均値が最終的な検出下流触媒温度T2aの値とされる。すなわち、検出下流触媒温度T2aは、上流触媒11の酸素吸蔵容量OSC1の計測時における下流触媒温度T2の検出値であり、より具体的には、上流触媒11の酸素吸蔵容量OSC1の計測中に検出された下流触媒温度T2の平均値である。なお必ずしも平均値とする必要はなく、OSC1計測中の任意の時点における下流触媒温度T2を検出下流触媒温度T2aとすることができる。次いで式:ΔT2=|T2e-T2a|に従い、差ΔT2が算出される。この差ΔT2が、使用燃料が高S燃料であるか否かを判定するための高S燃料判定指標値となる。次に、ステップS306において、差ΔT2がしきい値β3と比較される。差ΔT2がしきい値β3未満のときには、使用燃料が低S燃料であると推定され、通常通り、ステップS309において計測上流酸素吸蔵容量OSC1aに基づき上流触媒11の正常異常判定が実行される。なお下流触媒19の酸素吸蔵容量OSC2を併せて計測した場合には、下流触媒19の正常異常判定を併せて実行してもよい。他方、差ΔT2がしきい値β3以上のときには、使用燃料が高S燃料であると推定され、前記実施形態同様、ステップS307において正常異常判定が保留され、ステップS308において触媒温度条件がより高温側に変更される。以上、本発明の実施形態について詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば内燃機関の用途や形式等は任意であり、自動車用以外であってもよいし、直噴式等であってもよい。上流触媒11および下流触媒19の劣化指標値は上記以外の値を用いることが可能であり、例えば空燃比センサ出力の軌跡長を用いることが可能である。公知のように、空燃比センサ出力の軌跡長とは、空燃比センサ出力の1演算周期間の差微分値を逐次的に積算した値である。例えば上流触媒11について述べると、アクティブ空燃比制御中、触媒劣化度が大きいほど触媒前センサ出力軌跡長に対して相対的に触媒後センサ出力軌跡長が大きくなる傾向にあるので、この特性を利用して上流触媒11の正常異常を診断可能である。本発明には、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"