(57)【特許請求の範囲】
【請求項１】
多気筒内燃機関の複数の気筒に共通の排気通路に設置された空燃比センサと、
前記空燃比センサの出力変動度合いに相関する出力変動パラメータを算出し、該算出された出力変動パラメータに基づいて気筒間空燃比ばらつき異常を検出するように構成された制御装置と、を備え、
前記制御装置は、
（ａ）前記内燃機関の少なくとも１サイクル中における前記空燃比センサの出力波形において、前記空燃比センサの出力がリーン側に変化するときの傾きの大きさを表す正傾き値と、前記空燃比センサの出力がリッチ側に変化するときの傾きの大きさを表す負傾き値とを算出するステップと、
（ｂ）前記正傾き値および前記負傾き値の差または比を、前記空燃比センサの出力波形の最大振幅の大きさに相関する振幅指標値で除して判別指標値を算出するステップと、
（ｃ）前記判別指標値に基づき、最も大きい空燃比ずれを起こしている１つの気筒の空燃比ずれがリーンずれかリッチずれかを判別するステップと、
を実行するように構成されたことを特徴とする気筒間空燃比ばらつき異常検出装置。
【請求項２】
前記振幅指標値が、前記正傾き値および前記負傾き値の和からなる
ことを特徴とする請求項１に記載の気筒間空燃比ばらつき異常検出装置。
【請求項３】
前記制御装置は、前記ステップ（ｃ）において、前記判別指標値を所定のしきい値と比較してリーンずれかリッチずれかを判別する
ことを特徴とする請求項１または２に記載の気筒間空燃比ばらつき異常検出装置。
【請求項４】
前記制御装置は、前記ステップ（ｂ）において、前記正傾き値から前記負傾き値を減じてなる差を前記振幅指標値で除して前記判別指標値を算出し、
前記しきい値が負の値である
ことを特徴とする請求項３に記載の気筒間空燃比ばらつき異常検出装置。
【請求項５】
前記制御装置は、前記ステップ（ｃ）において、前記内燃機関の運転状態に応じて前記判別指標値または前記しきい値を補正する
ことを特徴とする請求項３または４に記載の気筒間空燃比ばらつき異常検出装置。
【請求項６】
前記制御装置は、前記ステップ（ａ）の前に、
（ｄ）前記内燃機関の少なくとも１サイクル中における前記空燃比センサの出力波形に基づき、空燃比のリーンずれを起こしていると推定される１つの気筒と、空燃比のリッチずれを起こしていると推定される１つの気筒との合計２つの気筒を特定するステップ、
を実行し、前記ステップ（ｃ）の後に、
（ｅ）前記ステップ（ｃ）の判別結果に基づき、最も大きい空燃比ずれを起こしている１つの気筒を、前記ステップ（ｄ）で特定された前記２つの気筒の中から特定するステップ、
を実行するように構成されたことを特徴とする請求項１〜５のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項７】
前記制御装置は、前記ステップ（ｄ）において、前記空燃比センサの出力波形のリーン側ピーク位相とリッチ側ピーク位相に基づき、前記２つの気筒を特定する
ことを特徴とする請求項６に記載の気筒間空燃比ばらつき異常検出装置。
【請求項８】
前記制御装置は、ばらつき異常検出を実行するとき、
（ｆ）前記出力変動パラメータを算出するステップと、
（ｇ）算出された前記出力変動パラメータが、所定の一次判定上限値および一次判定下限値の間の値であるか否かを判定するステップと、
（ｈ）算出された前記出力変動パラメータが前記一次判定上限値および前記一次判定下限値の間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような強制アクティブ制御を実行するステップと、
（ｉ）前記強制アクティブ制御の実行中に前記出力変動パラメータを算出するステップと、
（ｊ）前記強制アクティブ制御の実行中に算出された前記出力変動パラメータを、所定の二次判定値と比較して、ばらつき異常の有無を判定するステップと、
を実行するように構成され、
前記制御装置は、前記ステップ（ｈ）において最も大きい空燃比ずれを起こしている１気筒を特定するとき、前記ステップ（ａ）〜（ｅ）を実行する
ことを特徴とする請求項６または７に記載の気筒間空燃比ばらつき異常検出装置。
【請求項９】
前記空燃比センサの出力波形は、前記内燃機関の１サイクルに等しい周期を有する周期的波形である
ことを特徴とする請求項１〜８のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置に係り、特に、一部の気筒の空燃比が残部気筒の空燃比に対し比較的大きくずれる異常（インバランス異常）を検出するための装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に一致させるようフィードバック制御を実施している。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対し同一の制御量を用いて空燃比制御を行うため、空燃比制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションにそれ程影響を与えず、特に問題とならない。
【０００４】
しかし、例えば一部の気筒の燃料噴射系の故障が原因で、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションが悪化した車両の走行を未然に防止するため、気筒間空燃比ばらつき異常を車載状態（オンボード）で検出することが要請されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５１１５６５７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、気筒間空燃比ばらつき異常を検出する場合、空燃比センサの出力変動度合いに相関するパラメータを算出し、この算出されたパラメータに基づいてばらつき異常を検出することが考えられる。
【０００７】
また、空燃比ばらつきが発生している場合、その原因として、一部気筒の空燃比がリーン側にずれている場合とリッチ側にずれている場合とがあり、これらの場合を区別して判別できるのが望ましい。
【０００８】
これに関し、特許文献１には、空燃比センサの出力波形における正の傾きと負の傾きを取得し、両者の大きさの大小を比較することにより、リーンずれが発生しているかリッチずれが発生しているかを判定することが開示されている。
【０００９】
しかし、本発明者らの研究結果によれば、必ずしも両者の大きさの大小比較のみではリーンずれとリッチずれを正確に判別できない場合があることが判明した。
【００１０】
そこで本発明は、上記事情に鑑みて創案され、その目的は、リーンずれとリッチずれを正確に判別可能な気筒間空燃比ばらつき異常検出装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一の態様によれば、
多気筒内燃機関の複数の気筒に共通の排気通路に設置された空燃比センサと、
前記空燃比センサの出力変動度合いに相関する出力変動パラメータを算出し、該算出された出力変動パラメータに基づいて気筒間空燃比ばらつき異常を検出するように構成された制御装置と、を備え、
前記制御装置は、
（ａ）前記内燃機関の少なくとも１サイクル中における前記空燃比センサの出力波形において、前記空燃比センサの出力がリーン側に変化するときの傾きの大きさを表す正傾き値と、前記空燃比センサの出力がリッチ側に変化するときの傾きの大きさを表す負傾き値とを算出するステップと、
（ｂ）前記正傾き値および前記負傾き値の差または比を、前記空燃比センサの出力波形の最大振幅の大きさに相関する振幅指標値で除して判別指標値を算出するステップと、
（ｃ）前記判別指標値に基づき、最も大きい空燃比ずれを起こしている１つの気筒の空燃比ずれがリーンずれかリッチずれかを判別するステップと、
を実行するように構成されたことを特徴とする気筒間空燃比ばらつき異常検出装置が提供される。
【００１２】
好ましくは、前記振幅指標値が、前記正傾き値および前記負傾き値の和からなる。
【００１３】
好ましくは、前記制御装置は、前記ステップ（ｃ）において、前記判別指標値を所定のしきい値と比較してリーンずれかリッチずれかを判別する。
【００１４】
好ましくは、前記制御装置は、前記ステップ（ｂ）において、前記正傾き値から前記負傾き値を減じてなる差を前記振幅指標値で除して前記判別指標値を算出し、
前記しきい値が負の値である。
【００１５】
好ましくは、前記制御装置は、前記ステップ（ｃ）において、前記内燃機関の運転状態に応じて前記判別指標値または前記しきい値を補正する。
【００１６】
好ましくは、前記制御装置は、前記ステップ（ａ）の前に、
（ｄ）前記内燃機関の少なくとも１サイクル中における前記空燃比センサの出力波形に基づき、空燃比のリーンずれを起こしていると推定される１つの気筒と、空燃比のリッチずれを起こしていると推定される１つの気筒との合計２つの気筒を特定するステップ、
を実行し、前記ステップ（ｃ）の後に、
（ｅ）前記ステップ（ｃ）の判別結果に基づき、最も大きい空燃比ずれを起こしている１つの気筒を、前記ステップ（ｄ）で特定された前記２つの気筒の中から特定するステップ、
を実行するように構成されている。
【００１７】
好ましくは、前記制御装置は、前記ステップ（ｄ）において、前記空燃比センサの出力波形のリーン側ピーク位相とリッチ側ピーク位相に基づき、前記２つの気筒を特定する。
【００１８】
好ましくは、前記制御装置は、ばらつき異常検出を実行するとき、
（ｆ）前記出力変動パラメータを算出するステップと、
（ｇ）算出された前記出力変動パラメータが、所定の一次判定上限値および一次判定下限値の間の値であるか否かを判定するステップと、
（ｈ）算出された前記出力変動パラメータが前記一次判定上限値および前記一次判定下限値の間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような強制アクティブ制御を実行するステップと、
（ｉ）前記強制アクティブ制御の実行中に前記出力変動パラメータを算出するステップと、
（ｊ）前記強制アクティブ制御の実行中に算出された前記出力変動パラメータを、所定の二次判定値と比較して、ばらつき異常の有無を判定するステップと、
を実行するように構成され、
前記制御装置は、前記ステップ（ｈ）において最も大きい空燃比ずれを起こしている１気筒を特定するとき、前記ステップ（ａ）〜（ｅ）を実行する。
【００１９】
好ましくは、前記空燃比センサの出力波形は、前記内燃機関の１サイクルに等しい周期を有する周期的波形である。
【発明の効果】
【００２０】
本発明によれば、リーンずれとリッチずれを正確に判別できるという、優れた効果が発揮される。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】気筒間空燃比ばらつき度合いに応じた排気空燃比の変動を示すグラフである。
【図４】触媒前センサの出力波形を示すグラフである。
【図５】インバランス率と出力変動パラメータの関係を示すグラフである。
【図６】理想状態におけるリッチずれ発生時とリーンずれ発生時の触媒前センサ出力波形を示すグラフである。
【図７】実際状態におけるリッチずれ発生時とリーンずれ発生時の触媒前センサ出力波形を示すグラフである。
【図８】傾き差とインバランス率の関係を示すグラフである。
【図９】判別指標値とインバランス率の関係を示すグラフである。
【図１０】ずれ方向判別処理のフローチャートである。
【図１１】吸入空気量と補正係数の関係を示すマップである。
【図１２】傾き差を用いた場合の検証結果を示すグラフである
【図１３】判別指標値を用いた場合の検証結果を示すグラフである
【図１４】Ｖ型６気筒エンジンの構成を示す概略図である。
【図１５】Ｖ型６気筒エンジンにおける触媒前センサの出力波形を示すグラフである。
【図１６】異常気筒特定処理のフローチャートである。
【図１７】インバランス率の要求値について説明するためのグラフである。
【図１８】比較例において、触媒前センサが公差上限品および公差下限品であるときの特性線を示すグラフである。
【図１９】比較例において、検出要求インバランス率Ｂｚが６０（％）の場合を示すグラフである。
【図２０】比較例において、検出要求インバランス率Ｂｚが４０（％）の場合を示すグラフである。
【図２１】図２０の場合の対策を説明するためのグラフである。
【図２２】本実施形態において、一次判定上限値、一次判定下限値および二次判定値の設定方法を説明するためのグラフである。
【図２３】強制アクティブ制御を実行していないときと実行したときとでインバランス率を比較するための表である。
【図２４】ばらつき異常検出処理のフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を添付図面に基づき説明する。
【００２３】
Ｉ．基本構成
図１は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関（エンジン）１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関１は自動車に搭載された多気筒内燃機関であり、より具体的には直列４気筒火花点火式内燃機関（ガソリンエンジン）である。内燃機関１は＃１〜＃４気筒を備える。但し内燃機関１の気筒数、形式等は特に限定されない。
【００２４】
図示しないが、内燃機関１のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒毎に配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室３内の混合気に点火するための点火プラグ７が気筒毎に取り付けられている。
【００２５】
各気筒の吸気ポートは気筒毎の枝管４を介して吸気集合室であるサージタンク８に接続されている。サージタンク８の上流側には吸気管１３が接続されており、吸気管１３の上流端にはエアクリーナ９が設けられている。そして吸気管１３には、上流側から順に、吸入空気量を検出するためのエアフローメータ５（吸入空気量検出装置）と、電子制御式のスロットルバルブ１０とが組み込まれている。吸気ポート、枝管４、サージタンク８及び吸気管１３により吸気通路が形成される。
【００２６】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ（燃料噴射弁）１２が気筒毎に配設されている。インジェクタ１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室３に吸入され、ピストンで圧縮され、点火プラグ７で点火燃焼させられる。なおインジェクタは燃焼室３内に燃料を直接噴射するものであってもよい。
【００２７】
一方、各気筒の排気ポートは排気マニフォールド１４に接続される。排気マニフォールド１４は、その上流部をなす気筒毎の枝管１４ａと、その下流部をなす排気集合部１４ｂとからなる。排気集合部１４ｂの下流側には排気管６が接続されている。排気ポート、排気マニフォールド１４及び排気管６により排気通路が形成される。
【００２８】
また、排気マニフォールド１４の排気集合部１４ｂから下流側の排気通路は、複数の気筒である＃１〜＃４気筒に共通の排気通路を形成する。
【００２９】
排気管６の上流側と下流側にはそれぞれ三元触媒からなる触媒、すなわち上流触媒１１と下流触媒１９が直列に取り付けられている。これら触媒１１，１９は酸素吸蔵能（Ｏ２ストレージ能）を有する。すなわち、触媒１１，１９は、排気ガスの空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．５）より大きい（リーンな）ときに排気ガス中の過剰酸素を吸蔵し、ＮＯｘを還元する。また触媒１１，１９は、排気ガスの空燃比がストイキより小さい（リッチな）ときに吸蔵酸素を放出し、排気ガス中のＨＣ，ＣＯを酸化する。
【００３０】
上流触媒１１の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第１及び第２の空燃比センサ、即ち触媒前センサ１７及び触媒後センサ１８が設置されている。これら触媒前センサ１７及び触媒後センサ１８は、上流触媒１１の直前及び直後の位置に設置され、排気中の酸素濃度に基づいて空燃比を検出する。触媒前センサ１７が本発明にいう「空燃比センサ」に該当する。
【００３１】
上述の点火プラグ７、スロットルバルブ１０及びインジェクタ１２等は、制御装置または制御ユニットとしての電子制御ユニット（以下ＥＣＵと称す）２０に電気的に接続されている。ＥＣＵ２０は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。またＥＣＵ２０には、図示されるように、前述のエアフローメータ５、触媒前センサ１７、触媒後センサ１８のほか、内燃機関１のクランク角を検出するクランク角センサ１６、アクセル開度を検出するアクセル開度センサ１５、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ２０は、各種センサの検出値等に基づいて、所望のエンジン出力が得られるように、ＲＯＭに格納された各種プログラムに従い、点火プラグ７、スロットルバルブ１０、インジェクタ１２等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。
【００３２】
スロットルバルブ１０にはスロットル開度センサ（図示せず）が設けられ、スロットル開度センサからの信号がＥＣＵ２０に送られる。ＥＣＵ２０は、通常、アクセル開度に応じて定まる目標スロットル開度に、実際のスロットル開度が一致するよう、スロットル開度をフィードバック制御する。
【００３３】
ＥＣＵ２０は、エアフローメータ５からの信号に基づき、単位時間当たりの吸入空気の量である吸入空気量すなわち吸気流量を検出する。そしてＥＣＵ２０は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン１の負荷を検出する。
【００３４】
ＥＣＵ２０は、クランク角センサ１６からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では１分間当たりの回転数ｒｐｍのことをいう。
【００３５】
触媒前センサ１７は所謂広域Ａ／Ｆセンサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ１７の出力特性を示す。図示するように、触媒前センサ１７は、排気空燃比に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキであるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００３６】
他方、触媒後センサ１８は所謂Ｏ2センサもしくは酸素センサからなり、ストイキを境に出力値が急変するＺ特性を持つ。図２に触媒後センサ１８の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ１８の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより高くなる。
【００３７】
上流触媒１１及び下流触媒１９は、それぞれに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ，ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３８】
そこで通常運転時、燃焼室３から排出され上流触媒１１に供給される排気ガスの空燃比がストイキ近傍に制御されるように、空燃比フィードバック制御がＥＣＵ２０により実行される。この空燃比フィードバック制御は、触媒前センサ１７によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるように混合気の空燃比、具体的には燃料噴射量を制御する空燃比メインフィードバック制御と、触媒後センサ１８によって検出された排気空燃比をストイキに一致させるように混合気の空燃比、具体的には燃料噴射量を制御する空燃比サブフィードバック制御とからなる。
【００３９】
このような目標空燃比をストイキとする空燃比フィードバック制御をストイキ制御という。ストイキは基準空燃比をなす。
【００４０】
ＩＩ．ばらつき異常検出の概要
さて、例えば全気筒のうちの一部の気筒、特に１気筒に故障が発生し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生する場合がある。例えば、＃１気筒のインジェクタ１２が故障し、＃１気筒の燃料噴射量が残部の＃２〜＃４気筒の燃料噴射量よりも多くなり、＃１気筒の空燃比が＃２〜＃４気筒の空燃比より大きくリッチ側にずれる場合等である。このときでも前述のストイキ制御により比較的大きな補正量を与えれば、触媒前センサ１７に供給されるトータルガスの空燃比、すなわち各気筒の空燃比の平均値をストイキに制御できる場合がある。しかし、気筒別に見ると、＃１気筒がストイキより大きくリッチ、＃２、＃３及び＃４気筒がストイキより若干リーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。
【００４１】
以下、本実施形態におけるばらつき異常検出の一態様を説明する。
【００４２】
図３に示すように、気筒間空燃比ばらつきが発生すると、排気空燃比の変動が大きくなる。（Ｂ）の空燃比線図ａ，ｂ，ｃはそれぞればらつき無し、１気筒のみ２０％のインバランス率でリッチずれ、及び１気筒のみ５０％のインバランス率でリッチずれの場合の、触媒前センサ１７による検出空燃比すなわち触媒前センサ出力Ａ／Ｆを示す。見られるように、ばらつき度合いが大きくなるほど空燃比変動の振幅が大きくなる。
【００４３】
ここでインバランス率とは、気筒間空燃比のばらつき度合いに相関する一つのパラメータである。即ち、インバランス率とは、全気筒のうちある１気筒のみが残部気筒に対し空燃比ずれを起こしている場合に、その空燃比ずれを起こしている気筒（インバランス気筒）の空燃比がどれくらいの割合で、空燃比ずれを起こしていない気筒（バランス気筒）の空燃比からずれているかを示す値である。本実施形態の場合、インバランス率Ｂは次式（１）で表される。インバランス率Ｂが１から離れるほど、インバランス気筒のバランス気筒に対する空燃比ずれが大きく、空燃比ばらつき度合いは大きい。
【００４４】
【数１】
0006020474.tif 000002
【００４５】
Ａ／Ｆｂはバランス気筒の空燃比、Ａ／Ｆｉｂはインバランス気筒の空燃比である。インバランス率は一般的にはパーセンテージで表示され、この場合、インバランス率Ｂ（％）は次式（１）’で表される。インバランス率Ｂ（％）の絶対値が大きいほど、インバランス気筒のバランス気筒に対する空燃比ずれが大きく、空燃比ばらつき度合いは大きい。以下、特に言及しない限り、パーセンテージ表示のインバランス率を用いる。
【００４６】
【数２】
0006020474.tif 000003
【００４７】
図３から理解されるように、インバランス率Ｂ（％）の絶対値が大きいほど、すなわち空燃比ばらつき度合いが大きいほど、触媒前センサ１７の出力変動が大きくなる。
【００４８】
よってこの特性を利用し、本実施形態では、触媒前センサ１７の出力変動度合いに相関するパラメータである出力変動パラメータＸを算出もしくは検出し、この算出された出力変動パラメータＸに基づいてばらつき異常を検出する。
【００４９】
以下に出力変動パラメータＸの算出方法を説明する。図４には、触媒前センサ出力のクランク角に対する推移を示す。なおクランク角をクランク位相または単に位相ともいう。触媒前センサ出力としては、触媒前センサ１７の出力電圧Ｖｆを空燃比Ａ／Ｆに換算した値を用いる。但し触媒前センサ１７の出力電圧Ｖｆを直接用いることも可能である。
【００５０】
図示するように、触媒前センサ出力Ａ／Ｆは、エンジンの１サイクル（＝７２０°ＣＡ、１エンジンサイクルともいう）を１周期として周期的に変動する。すなわち触媒前センサ１７の出力波形は、エンジンの１サイクルに等しい周期を有する周期的波形である。またストイキ制御の実行中であることから、触媒前センサ１７の出力波形は、ストイキにほぼ等しい中心空燃比Ａ／Ｆｃを中心に変動する波形である。
【００５１】
図４に示すように、ＥＣＵ２０は、１エンジンサイクル内において、所定のサンプル周期τ毎に、触媒前センサ出力値Ａ／Ｆを取得する。そして今回（ｎ）のタイミングで取得した値Ａ／Ｆｎと、前回（ｎ−１）のタイミングで取得した値Ａ／Ｆｎ−１との差の絶対値（出力差という）ΔＡ／Ｆｎを次式（２）により求める。この出力差ΔＡ／Ｆｎは今回のタイミングにおける微分値あるいは傾きの絶対値と言い換えることができる。
【００５２】
【数３】
0006020474.tif 000004
【００５３】
最も単純には、この出力差ΔＡ／Ｆｎが触媒前センサ出力の変動の大きさを表す。変動度合いが大きくなるほど空燃比線図の傾きが大きくなり、出力差ΔＡ／Ｆｎが大きくなるからである。そこで所定の１タイミングにおける出力差ΔＡ／Ｆｎの値を出力変動パラメータとすることができる。
【００５４】
但し、本実施形態では精度向上のため、複数の出力差ΔＡ／Ｆｎの平均値を出力変動パラメータとする。本実施形態では、Ｍエンジンサイクルの間（Ｍは２以上の整数。例えばＭ＝１００）、出力差ΔＡ／Ｆｎをサンプル周期τ毎に積算し、最終積算値をサンプル数で除して出力変動パラメータＸを求める。触媒前センサ出力の変動度合いが大きくなるほど出力変動パラメータＸは大きくなる。
【００５５】
なお、触媒前センサ出力の変動度合いに相関する如何なる値をも出力変動パラメータとすることができる。例えば、１エンジンサイクル内における触媒前センサ出力のリーン側（最大）ピークとリッチ側（最小）ピークの差（所謂ピークトゥピーク; peak to peak）、または２階微分値の最大ピークまたは最小ピークの絶対値に基づいて、出力変動パラメータを算出することもできる。触媒前センサ出力の変動度合いが大きいほど、触媒前センサ出力のリーン側およびリッチ側ピークの差は大きくなり、また２階微分値の最大ピークまたは最小ピークの絶対値も大きくなるからである。
【００５６】
図５には、インバランス率Ｂ（％）と出力変動パラメータＸの関係を示す。図示されるように、インバランス率ＩＢと出力変動パラメータＸの間には強い相関関係があり、インバランス率Ｂの絶対値が増加するほど出力変動パラメータＸも増加する傾向にある。
【００５７】
算出された出力変動パラメータＸを、所定の判定値αと比較して、ばらつき異常の有無を判定することが可能である。例えば、算出された出力変動パラメータＸが判定値α以上であればばらつき異常あり（異常）、算出された出力変動パラメータＸが判定値αより小さければばらつき異常なし（正常）と判定することができる。なお後に説明するように、判定値αは排気エミッションに関するＯＢＤ（On-Board Diagnosis）規制値を考慮して設定される。
【００５８】
ＩＩＩ．ずれ方向判別 
ところで、空燃比ばらつきが発生している場合、その原因として、一部気筒（特に１気筒）の空燃比がストイキに対しリーン側にずれている場合とリッチ側にずれている場合とがあり、これらの場合を区別して判別できるのが望ましい。このような判別を「ずれ方向判別」という。
【００５９】
これに関し、特許文献１には、空燃比センサの出力波形における正の傾きと負の傾きを取得し、両者の大きさの大小を比較することにより、リーンずれが発生しているかリッチずれが発生しているかを判定することが開示されている。
【００６０】
しかし、本発明者らの研究結果によれば、必ずしも両者の大きさの大小比較のみではリーンずれとリッチずれを正確に判別できない場合があることが判明した。以下、この点について詳述する。
【００６１】
まず、本実施形態のずれ方向判別について説明する前に、かかる判別の基礎となるパラメータである「正傾き値」と「負傾き値」について述べる。
【００６２】
図４に示すように、１エンジンサイクル中における触媒前センサ１７の出力波形において、触媒前センサ１７の出力がリーン側（増大側）に変化するときの傾きγ＋の大きさを表す値が正傾き値Ｓ＋であり、触媒前センサ１７の出力がリッチ側（減少側）に変化するときの傾きγ−の大きさを表す値が負傾き値Ｓ−である。
【００６３】
好ましくは、正傾き値Ｓ＋は、正の値を有するサンプル周期τ間の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）＋を１エンジンサイクル内で積算した値、もしくはその値のＭエンジンサイクル間の平均値である。同様に、負傾き値Ｓ−は、負の値を有するサンプル周期τ間の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）−を１エンジンサイクル内で積算した値の絶対値、もしくはその絶対値のＭエンジンサイクル間の平均値である。本実施形態ではＭエンジンサイクル間の平均値を用い、この場合、正傾き値Ｓ＋と負傾き値Ｓ−は次式で表される。
【００６４】
【数４】
0006020474.tif 000005
【００６５】
【数５】
0006020474.tif 000006
【００６６】
なお、（３）式において、右辺分母は、正の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）＋のＭエンジンサイクル間での最終積算値もしくは合計値を表す。同様に、（４）式において、右辺分母は、負の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）−のＭエンジンサイクル間での最終積算値もしくは合計値の絶対値を表す。負傾き値Ｓ−が、傾きγ−の大きさを表す値であるため、絶対値で表現されている（つまり正の値として取り扱われている）点に注意されたい。
【００６７】
代替的に、正傾き値Ｓ＋は、正の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）＋を１エンジンサイクル内で積算した値をサンプル数で除したサイクル内平均値、もしくはそのＭエンジンサイクル間の平均値であってもよい。同様に、負傾き値Ｓ−は、負の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）−を１エンジンサイクル内で積算した値をサンプル数で除したサイクル内平均値の絶対値、もしくはそのＭエンジンサイクル間の平均値であってもよい。
【００６８】
あるいは、正傾き値Ｓ＋は、正の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）＋の１エンジンサイクル内における最大値、もしくはそのＭエンジンサイクル間の平均値であってもよい。同様に、負傾き値Ｓ−は、負の触媒前センサ出力差（Ａ／Ｆｎ−Ａ／Ｆｎ−１）−の１エンジンサイクル内における最小値の絶対値、もしくはそのＭエンジンサイクル間の平均値であってもよい。この場合、サンプル周期τは比較的長くするのが好ましい。触媒前センサ出力の微視的な振動成分が最大値もしくは最小値に反映されないようにするためである。
【００６９】
さて、ずれ方向判別について、単純に正傾き値Ｓ＋と負傾き値Ｓ−の大小を比較することにより、リーンずれが発生しているかリッチずれが発生しているかを判別することが考えられる。この判別方法を便宜上「通常方法」という。例えば、正傾き値Ｓ＋が負傾き値Ｓ−より大きければリーンずれが発生していると判定し、負傾き値Ｓ−が正傾き値Ｓ＋がより大きければリッチずれが発生していると判定する。しかし、この通常方法では必ずしも正確なずれ方向判別を行えない。その理由を以下に述べる。
【００７０】
図６には、リッチずれ発生時とリーンずれ発生時における理想的な触媒前センサ出力波形を示す。この図６に示すような状態を「理想状態」という。（Ａ）はリッチずれ発生時、（Ｂ）はリーンずれ発生時を示す。
【００７１】
図示するように、リッチずれ発生時の波形とリーンずれ発生時の波形とは上下に対称であり、言い換えれば、後者は前者を上下反転したような波形を有する。リッチずれ発生時には、リッチずれが発生している１気筒からのリッチガスに起因して、負傾き値Ｓ−が正傾き値Ｓ＋より大きくなる。逆に、リーンずれ発生時には、リーンずれが発生している１気筒からのリーンガスに起因して、正傾き値Ｓ＋が負傾き値Ｓ−がより大きくなる。例えば、リッチずれ発生時には負傾き値Ｓ−が６、正傾き値Ｓ＋が４という値を有し、リーンずれ発生時には正傾き値Ｓ＋が６、負傾き値Ｓ−が４という値を有する。
【００７２】
しかし、実際には、両波形が理想状態のようにならず、図７に示すような状態となることがある。この状態を「実際状態」という。
【００７３】
図示するように、リッチずれ発生時の波形とリーンずれ発生時の波形とは上下に対称とならず、上下反転したような格好ともならない。むしろ、理想状態と比較して、負傾き値Ｓ−はより大きくなり、正傾き値Ｓ＋はより小さくなる傾向にある。例えば、リッチずれ発生時には負傾き値Ｓ−が７、正傾き値Ｓ＋が３という値を有し、リーンずれ発生時には正傾き値Ｓ＋が５、負傾き値Ｓ−が５という値を有する。
【００７４】
こうなる理由は、触媒前センサ１７の特性上、その出力がリッチ側に変化するときの方がリーン側に変化するときより応答性が早いからである。また別の理由として、エンジン運転状態（例えば回転数、負荷、温度等）のばらつきが考えられる。
【００７５】
実際状態において、リッチずれ発生時には特に問題が生じない。なぜなら、負傾き値Ｓ−が正傾き値Ｓ＋より大きいという特性が強調されるだけだからである。しかし、リーンずれ発生時には問題が生じる。なぜなら、正傾き値Ｓ＋が負傾き値Ｓ−より大きいという特性が弱められるからである。現に上記例では、リーンずれ発生時の正傾き値Ｓ＋と負傾き値Ｓ−の差（Ｓ＋−Ｓ−）が、理想状態では２（＝６−４）であったものが、実際状態では０（＝５−５）に減少されている。
【００７６】
従って、エンジン運転状態のばらつき等を考慮すると、リーンずれ発生時であるにも拘わらず正傾き値Ｓ＋が負傾き値Ｓ−より小さくなり、リッチずれ発生と誤判定してしまう可能性がある。
【００７７】
そこで本実施形態では、正確なずれ方向判別を行ってかかる誤判定を抑制すべく、以下に述べるようなパラメータに基づいてずれ方向判別を行うこととしている。
【００７８】
まず、本実施形態のパラメータは、正傾き値Ｓ＋と負傾き値Ｓ−の差である傾き差ΔＳ、特に正傾き値Ｓ＋から負傾き値Ｓ−を減じてなる傾き差ΔＳ＝Ｓ＋−Ｓ−を用いる。この傾き差ΔＳとインバランス率Ｂ（％）との関係は図８に特性線ａで示す通りである。
【００７９】
図示するように、インバランス率Ｂが０のとき空燃比ばらつきは発生しておらず、よってある１気筒の空燃比ずれも発生していない。インバランス率Ｂが０から大きくなるほど、ある１気筒のリッチずれ量が大きくなり、インバランス率Ｂが０から小さくなるほど、ある１気筒のリーンずれ量が大きくなる。
【００８０】
インバランス率Ｂが増加するにつれ、傾き差ΔＳは小さくなる傾向にある。着目すべきは、Ｂ＝０（空燃比ずれなし）のとき、特性線ａがΔＳ＝０の点ではなく、ΔＳ＝ΔＳ１（＜０）の点を通過することである。つまり、空燃比ずれが発生していなくても、傾き差ΔＳは負のΔＳ１の値を取り、この点を起点としてリッチずれ量が大きくなればΔＳ１は減少し、リーンずれ量が大きくなればΔＳ１は増大する。
【００８１】
従って、リッチずれおよびリーンずれのいずれかが発生していると判定するための傾き差ΔＳに関するしきい値ΔＳｓは、０ではなく、ΔＳ１に等しく設定するのが好ましい。こうすることにより、ずれ方向判別をより精度良く行うことが可能である。
【００８２】
但し、本実施形態ではずれ方向判別に上記しきい値ΔＳｓを用いない。ここでは参考までに上記しきい値ΔＳｓの性格について説明しているだけである。もっとも、傾き差ΔＳがしきい値ΔＳｓより大きいときにはリーンずれが発生しており、傾き差ΔＳがしきい値ΔＳｓより小さいときにリッチずれが発生していると判定することは可能である。
【００８３】
ここで、仮に上記の理想状態を仮定すると、理想状態における傾き差ΔＳとインバランス率Ｂ（％）との関係は特性線ｂで示す通りとなる。この場合、特性線ｂは特性線ａをΔＳ大側に平行移動した格好となり、特性線ｂはＢ＝０、ΔＳ＝０の点（原点）を通過する。よって傾き差ΔＳが０より大きい正の値のとき、リーンずれが発生しており、傾き差ΔＳが０より小さい負の値のとき、リッチずれが発生していると判定される。傾き差ΔＳに関するしきい値は０である。傾き差ΔＳを０と比較することと、正傾き値Ｓ＋および負傾き値Ｓ−の大小を比較することとは同じである。このような判別方法が必ずしも最適ではないことは前述したとおりである。
【００８４】
これから分かるように、本実施形態は、傾き差ΔＳに関するしきい値ΔＳｓを０ではなく、それより小さい負の値ΔＳ１に設定する点に特徴がある。傾き差ΔＳにおける０からΔＳ１までの範囲ｃは、通常方法において、実際にはリーンずれが発生しているにも拘わらず、正傾き値Ｓ＋が負傾き値Ｓ−より小さくなり、リッチずれ発生と誤判定してしまう領域に相当する。
【００８５】
なお、図中におけるＢ＝０をほぼ中心としたインバランス率の所定範囲ΔＢは、後述するばらつき異常検出の例において、空燃比ばらつき度合いが小さいためずれ方向判別を実行しない範囲を表す。実質的には、この範囲を除いた部分の特性線ａが、ずれ方向判別に使用されることとなる。なお、範囲ΔＢ内の特性線ａの傾きは範囲ΔＢ外の特性線ａの傾きよりも小さくなる傾向にある。
【００８６】
特に、範囲ΔＢ外であっても、特性線ａのうちリーンずれ側の一部ｄは、範囲ｃ内に存する。従ってこの一部ｄにおいて上記の誤判定が発生する可能性がある。
【００８７】
変形例に関して、傾き差ΔＳを、負傾き値Ｓ−から正傾き値Ｓ＋を減じてなる差（ΔＳ＝Ｓ−−Ｓ＋）としてもよい。また傾き差ΔＳの代わりに、正傾き値Ｓ＋と負傾き値Ｓ−の比すなわち傾き比Ｓｒを用いてもよい。傾き比ＳｒはＳ＋／Ｓ−としても、Ｓ−／Ｓ＋としてもよい。これらの変形を行った場合に、図８に示した特性がどのように変化するかは当業者にとって明らかであろう。例えば傾き比Ｓｒ＝Ｓ＋／Ｓ−を用いた場合、前述の負のしきい値ΔＳｓ＝ΔＳ１は、０より大きく１より小さいしきい値Ｓｒｓに変更され、傾き比Ｓｒがしきい値Ｓｒｓより小さいときリッチずれ発生、傾き比Ｓｒがしきい値Ｓｒｓより大きいときリーンずれ発生と判定される。
【００８８】
次に、本実施形態のパラメータは、上記の傾き差ΔＳを、触媒前センサ１７の出力波形の最大振幅の大きさを表す振幅指標値で除した値からなる。この値を「判別指標値」と称し、符号Ｗで表す。判別指標値Ｗはまさに本実施形態のずれ方向判別において直接的に用いられるパラメータである。
【００８９】
傾き差ΔＳを振幅指標値で除する理由は、傾き差ΔＳを正規化するためである。すなわち、インバランス率Ｂが増加するほど、触媒前センサ１７の出力波形の最大振幅が大きくなり（図３参照）、正傾き値Ｓ＋および負傾き値Ｓ−のいずれも増加し、併せて傾き差ΔＳも増加する。
【００９０】
例えば、あるインバランス率Ｂのとき正傾き値Ｓ＋が６、負傾き値Ｓ−が４であったとする。そしてインバランス率Ｂの増加により、正傾き値Ｓ＋および負傾き値Ｓ−のいずれもが５０％増加し、正傾き値Ｓ＋が９、負傾き値Ｓ−が６に変化したとする。すると、前者の傾き差ΔＳは６−４＝２であり、後者の傾き差ΔＳは９−６＝３であり、傾き差ΔＳも５０％増加する。
【００９１】
こうしたインバランス率Ｂの変化に対する傾き差ΔＳの変化をできるだけ補償もしくはキャンセルするため、正規化を行う。これにより、詳しくは後述するが、ずれ方向判別の精度を一層向上し、より正確にずれ方向判別を行うことが可能となる。
【００９２】
ここで「振幅指標値」について説明する。図４に示すように、振幅指標値は、少なくとも１エンジンサイクル中における触媒前センサ１７の出力波形において、その中心空燃比Ａ／Ｆｃに対する最大振幅の大きさに相関する値である。振幅指標値を符号Ａで表す。ここでいう最大振幅の大きさとは、中心空燃比Ａ／Ｆｃに対するリーン側ピークＰＬまたはリッチ側ピークＰＬの変位量もしくは距離をいい、例えば、リーン側ピークＰＬの空燃比Ａ／ＦＰＬと中心空燃比Ａ／Ｆｃの差（Ａ／ＦＰＬ−Ａ／Ｆｃ）、またはリッチ側ピークＰＲの空燃比Ａ／ＦＰＲと中心空燃比Ａ／Ｆｃの差（Ａ／Ｆｃ−Ａ／ＦＰＲ）をいう。中心空燃比Ａ／Ｆｃは、センサ出力波形の移動平均値とすることができ、あるいは、ストイキ制御中に中心空燃比Ａ／Ｆｃがストイキ付近の値となることから、ストイキに等しい一定値もしくは固定値とすることができる。
【００９３】
好ましくは、振幅指標値Ａは、正傾き値Ｓ＋と負傾き値Ｓ−の和からなる。センサ出力波形の最大振幅が大きくなるほど、正傾き値Ｓ＋と負傾き値Ｓ−も大きくなるため、本実施形態では当該和を振幅指標値Ａとして用いる。なお当該和は、前式（３）、（４）から分かるようにＭエンジンサイクル間の平均値であるが、１エンジンサイクル内の値としてもよい。本実施形態の振幅指標値Ａは次式で表される。
【００９４】
【数６】
0006020474.tif 000007
【００９５】
従って、本実施形態の判別指標値Ｗは次式で表される。
【００９６】
【数７】
0006020474.tif 000008
【００９７】
代替的に、振幅指標値Ａは、１エンジンサイクル内におけるリーン側ピークＰＬの空燃比Ａ／ＦＰＬとリッチ側ピークＰＲの空燃比Ａ／ＦＰＲの差ΔＡ／ＦＰＬＲ＝Ａ／ＦＰＬ−Ａ／ＦＰＲ（所謂ピークトゥピーク）、もしくはそのＭエンジンサイクル間の平均値からなってもよい。センサ出力波形の最大振幅が大きくなるほど差ΔＡ／ＦＰＬＲも大きくなるからである。
【００９８】
あるいは、振幅指標値Ａは、１エンジンサイクル内において中心空燃比Ａ／Ｆｃよりリーン側の波形が中心空燃比Ａ／Ｆｃとの間で囲む面積Ｍ１と、中心空燃比Ａ／Ｆｃよりリッチ側の波形が中心空燃比Ａ／Ｆｃとの間で囲む面積Ｍ２との和Ｍ＝Ｍ１＋Ｍ２、もしくはそのＭエンジンサイクル間の平均値からなってもよい。センサ出力波形の最大振幅が大きくなるほど和Ｍも大きくなるからである。なお和Ｍは、触媒前センサ出力Ａ／Ｆｎと中心空燃比Ａ／Ｆｃの差ΔＡ／Ｆｃ＝Ａ／Ｆｎ−Ａ／Ｆｃの絶対値をサンプル周期τ毎に積算することにより算出することができる。
【００９９】
このほか、振幅指標値Ａは、正傾き値Ｓ＋と負傾き値Ｓ−の単純平均値（Ｓ＋＋Ｓ−）／２もしくは２乗平均値√（Ｓ＋２＋Ｓ−２）、またはこれらのＭエンジンサイクル間の平均値からなってもよい。
【０１００】
あるいは振幅指標値Ａは次のような値もしくはそのＭエンジンサイクル間の平均値からなってもよい。すなわち、図４に示すように、中心空燃比Ａ／Ｆｃに対しリーン側およびリッチ側に若干ずれたリーン側設定空燃比Ａ／Ｆ１およびリッチ側設定空燃比Ａ／Ｆ２を予め設定する。これら設定空燃比Ａ／Ｆ１，Ａ／Ｆ２は中心空燃比Ａ／Ｆｃに比較的近い値である。そして出力波形がリーン側設定空燃比Ａ／Ｆ１よりリーン側となっている期間θ１、および出力波形がリッチ側設定空燃比Ａ／Ｆ２よりリッチ側となっている期間θ２の少なくとも一方を算出する。この少なくとも一方に基づき振幅指標値Ａを規定することができる。
【０１０１】
例えばリーン側についてだけ述べると、図４に実線で示される最大振幅の大きい波形は期間θ１１を有するが、図４に仮想線で示される最大振幅の小さい波形は期間θ１２を有し、θ１１＞θ１２である。よって当該期間θ１もセンサ出力波形の最大振幅の大きさに相関し、単独で振幅指標値Ａとして用いることができる。
【０１０２】
同様に、期間θ２を単独で振幅指標値Ａとして用いることもできる。期間θ１と期間θ２を両方用いる場合、例えば、期間θ１と期間θ２の和、単純平均値もしくは２乗平均値を振幅指標値Ａとして用いることができる。
【０１０３】
さて、傾き差ΔＳを振幅指標値Ａで除して正規化した判別指標値Ｗと、インバランス率Ｂ（％）との関係は図９に特性線ａ，ｂで示す通りである。
【０１０４】
図示例において、特性線ａ，ｂは不連続である。これは、上述の範囲ΔＢにおけるデータを省略したからである。もっとも、当該範囲ΔＢ内のデータを含めて特性線を規定してもよい。
【０１０５】
範囲ΔＢよりもインバランス率Ｂが大きい領域、つまりリッチずれ側の領域では、特性線ａで示すように、判別指標値Ｗは一定値となる傾向がある。また範囲ΔＢよりもインバランス率Ｂが小さい領域、つまりリーンずれ側の領域では、特性線ｂで示すように、インバランス率Ｂが減少するにつれ判別指標値Ｗは曲線的に増加する傾向がある。特性線ａと特性線ｂは縦軸方向にできるだけ離れている方が判別精度向上に有利である。
【０１０６】
判別指標値Ｗに関する負の値Ｗ１は、図８に示した傾き差ΔＳに関する負の値ΔＳ１に対応する。つまり、判別指標値Ｗにおける０からＷ１までの範囲ｃは、通常方法において、実際にはリーンずれが発生しているにも拘わらず、リッチずれ発生と誤判定してしまう領域に相当する。
【０１０７】
しかし、図９に示す特性線ａ，ｂは、いずれも当該範囲ｃ内に存さず、むしろ図８に示した特性線ａに比べ、当該範囲ｃから離れるように位置されている。特に、図８に示した特性線ａの一部ｄは同図の範囲ｃ内に存していたが、図９に示す特性線ｂはいずれの部分においても同図の範囲ｃ内に存しない。従って、ずれ方向判別の精度を一層向上し、上記のような誤判定を未然に回避することが可能である。
【０１０８】
本実施形態では、判別指標値Ｗに基づき、最も大きい空燃比ずれを起こしている１つの気筒の空燃比ずれがリーンずれかリッチずれかを判別する（すなわちずれ方向判別を行う）。具体的には、判別指標値Ｗを所定のしきい値Ｗｓと比較し、判別指標値Ｗがしきい値Ｗｓより小さいときにはリッチずれが発生していると判定し、判別指標値Ｗがしきい値Ｗｓより大きいときにはリーンずれが発生していると判定する。
【０１０９】
かかる判別を精度良く行うため、しきい値Ｗｓは、リッチ側特性線ａ上の最大値とリーン側特性線ｂ上の最小値との間の中間値に設定するのが好ましい。言い換えればしきい値Ｗｓは、リッチ側特性線ａとリーン側特性線ｂの双方から最も離れた判別指標値Ｗの値に設定するのが好ましい。このため、図示するような特性に鑑み、本実施形態では範囲ｃを規定する負の値Ｗ１に等しくしきい値Ｗｓを設定する。但し異なる値に設定することも可能である。
【０１１０】
参考までに、正規化していない傾き差ΔＳの特性線ｄ，ｅを仮想線で示す。この特性線ｄ，ｅは図８に示した特性線ａに対応する（但しスケールは必ずしも合っていない）。
【０１１１】
なお、以上ではリーンずれ発生時にリッチずれ発生と誤判定する例を挙げたが、逆の場合、すなわちリッチずれ発生時にリーンずれ発生と誤判定する場合も考えられる。その理由は、触媒前センサ１７が上記と逆の特性（理想状態より正傾き値Ｓ＋が大きくなり、負傾き値Ｓ−が小さくなる特性）を有することがあるかもしれないし、あるいはエンジン運転状態のばらつきによっては上記と逆の傾向が発生するかもしれないし、あるいは空燃比ずれ量が少ないときには上記と逆の傾向が発生するかもしれないからである。本実施形態は、このような場合にも対応可能であり、ずれ方向判別を正確に行って誤判定を抑制できる。
【０１１２】
次に、本実施形態のより具体的なずれ方向判別処理を説明する。当該判別処理はＥＣＵ２０により、図１０のフローチャートに表されるようなアルゴリズムに従って実行される。なお当該判別処理は、後述するばらつき異常検出処理の前提条件（図２４のステップＳ３０１）が成立している場合に限って実行されるのが好ましい。
【０１１３】
まずステップＳ１０１において、正傾き値Ｓ＋と負傾き値Ｓ−が前式（３）、（４）により算出される。次いでステップＳ１０２において、判別指標値Ｗが前式（６）により算出される。
【０１１４】
次にステップＳ１０３において、判別指標値Ｗがしきい値Ｗｓと比較される。判別指標値Ｗがしきい値Ｗｓより大きいときにはステップＳ１０４に進んで、最も大きい空燃比ずれを起こしている１つの気筒の空燃比ずれがリーンずれであると判定される。他方、判別指標値Ｗがしきい値Ｗｓ以下のときには、ステップＳ１０５に進んで、当該空燃比ずれがリッチずれであると判定される。なおここでは便宜上、Ｗ＝Ｗｓのときリッチずれと判定しているが、このときにはインバランス率Ｂが実質的に０であり、ずれ方向判別が行われることは実際上希であるため、特に問題とはならない。
【０１１５】
ところで、本実施形態では判別指標値Ｗを算出するに当たり、傾き差ΔＳを振幅指標値Ａで除して正規化しているものの、エンジン運転状態のばらつき等により、必ずしも判別指標値Ｗが、予め定められた一定値としてのしきい値Ｗｓと最適に適合しないことがある。よって、エンジン運転状態に応じて判別指標値Ｗまたはしきい値Ｗｓを補正するのが好ましい。この補正は当然ながらＥＣＵ２０により行われる。
【０１１６】
例えば、吸入空気量Ｇａに応じてしきい値Ｗｓを補正する場合、図１１に示すような所定のマップ（関数でもよい。以下同様）から、吸入空気量Ｇａ（検出値）に対応した補正係数Ｋが求められ、この補正係数Ｋが基準しきい値Ｗｓに乗じられて補正後のしきい値Ｗｓ’＝Ｋ×Ｗｓが求められる。そしてステップＳ１０３において、補正後のしきい値Ｗｓ’が判別指標値Ｗと比較される。
【０１１７】
マップにおいて、吸入空気量Ｇａが増大すると補正係数Ｋは減少する傾向にある。吸入空気量Ｇａが増大すると傾き差ΔＳが減少する傾向があるからである。そして所定の基準吸入空気量Ｇａ１のとき、補正係数Ｋは１である。よってしきい値Ｗｓは、吸入空気量Ｇａが増大するほど減少するように補正される。もっともこの補正の仕方は実機の傾向に合わせて最適に定めるのが好ましい。
【０１１８】
このような補正を行うことにより、エンジン運転状態のばらつき等に対するロバスト性を向上し、判別精度を一層高めることができる。
【０１１９】
なお、判別指標値Ｗを補正する場合には、同様の方法で、吸入空気量Ｇａが増大するほど判別指標値Ｗが増大するように、判別指標値Ｗを補正することができる。またエンジン運転状態を表すパラメータは吸入空気量Ｇａ以外であってもよく、例えばエンジン回転数、エンジン水温等であってもよい。
【０１２０】
図１２および図１３に検証結果を示す。図１２は正規化前のパラメータである傾き差ΔＳを用いた場合、図１３は正規化後のパラメータである判別指標値Ｗを用いた場合を示す。なお図中、インバランス率Ｂ（％）が負のときに見られる各データのプロットａは、データのばらつき範囲の平均値を表し、横線ｂはデータのばらつき範囲の下限値を表す。上限値は省略する。ずれ方向判別を実行しないインバランス率Ｂの範囲ΔＢは−８％＜Ｂ＜＋６％の範囲である。
【０１２１】
図１２に示すように傾き差ΔＳを用いた場合、インバランス率Ｂのマイナス側で最もプラス側に近いデータｃの平均値と下限値の間のばらつき量は１である。またデータｃの平均値と、インバランス率Ｂのプラス側で最もマイナス側に近いデータｄの平均値との間の差は８である。従って、当該差に対するばらつき影響を示す値は１／８＝０．１２５＝１２．５％である。
【０１２２】
一方、図１３に示すように判別指標値Ｗを用いた場合、インバランス率Ｂのマイナス側で最もプラス側に近いデータｃ’の平均値と下限値の間のばらつき量は０．０６６６である。またデータｃ’の平均値と、インバランス率Ｂのプラス側で最もマイナス側に近いデータｄ’の平均値との間の差は０．６２５である。従って、当該差に対するばらつき影響を示す値は０．０６６６／０．６２５＝０．１０５＝１０．５％である。
【０１２３】
このように、判別指標値Ｗを用いた場合（正規化後）には、傾き差ΔＳを用いた場合（正規化前）よりも、ばらつき影響を２％削減でき、ロバスト性を向上すると共に判別精度を高められることが確認できた。
【０１２４】
ＩＶ．異常気筒特定
ところで、上記のずれ方向判別は、最も大きい空燃比ずれを起こしている１つの気筒（以下、便宜上「異常気筒」という）がどの気筒であるかを特定するのに非常に有効である。そこで以下においては、上記のずれ方向判別を利用した異常気筒特定方法を説明する。
【０１２５】
ばらつき異常検出装置において、ばらつき異常の原因となり得るような異常気筒を特定できるのが望ましい。例えば、異常気筒の情報をその後の修理等に利用できるし、あるいは、異常気筒に対して何等かの制御を行うことによりエミッション抑制等を図れるからである。
【０１２６】
この異常気筒の特定に関して、図４に示したような触媒前センサ出力波形のピークに対応したクランク角（「ピーク位相」という）に基づいて、異常気筒を特定する方法が考えられる。
【０１２７】
しかし、ピーク位相に基づく方法だと、ピーク位相にリーン側ピーク位相とリッチ側ピーク位相の２つがあるため、２つの気筒を特定せざるを得ず、１つの異常気筒を特定するのが困難である。
【０１２８】
そこで本実施形態では、１つの異常気筒を特定するため、ピーク位相に基づく方法に改良を加える。以下に本実施形態の特定方法を説明するが、その前にまず、理解容易のため、ピーク位相に基づく比較例の特定方法を説明する。
【０１２９】
図４に示すように、エンジンは０°ＣＡから７２０°ＣＡまでの１サイクルを有する。本実施形態の場合、０°ＣＡの時に＃１気筒の圧縮上死点（圧縮ＴＤＣ）、１８０°ＣＡの時に＃３気筒の圧縮上死点、３６０°ＣＡの時に＃４気筒の圧縮上死点、５４０°ＣＡの時に＃２気筒の圧縮上死点となっている。つまり点火順序は＃１，＃３，＃４，＃２気筒の順である。
【０１３０】
この場合、０〜１８０°ＣＡの間が＃２気筒の排気行程、１８０〜３６０°ＣＡの間が＃１気筒の排気行程、３６０〜５４０°ＣＡの間が＃３気筒の排気行程、５４０〜７２０°ＣＡの間が＃４気筒の排気行程となる。
【０１３１】
燃焼室３から排出された排ガスが触媒前センサ１７に実際に検出されるようになるまでに、輸送遅れや応答遅れ等に起因する時間的な遅れが存在する。この遅れ時間をＴｄとする。図示例では便宜上、Ｔｄ＝３６０°ＣＡとしているが、遅れ時間Ｔｄの長さはエンジン個体やエンジン運転状態等に応じて様々に変化する。
【０１３２】
Ｔｄ＝３６０°ＣＡの場合、各クランク角において触媒前センサ１７に検出されている排ガスの出所気筒は図示の通りとなる。例えば０〜１８０°ＣＡのクランク角期間では、出所気筒は＃３であり、＃３気筒から排出された排ガスが触媒前センサ１７によって検出されている。
【０１３３】
ところで、図示例の触媒前センサ出力波形において、リーン側ピーク位相θＰＬでの出所気筒は＃２であり、リッチ側ピーク位相θＰＲでの出所気筒は＃３である。リーン側ピーク位相θＰＬとリッチ側ピーク位相θＰＲの間隔は概ね１／２エンジンサイクル（＝３６０°ＣＡ）である。従って比較例の方法では、＃２および＃３気筒の２つの気筒が、空燃比ずれを起こしていると推定される２つの気筒として特定される。以下、これら２つの気筒を便宜上「推定異常気筒」という。特に、＃２気筒が空燃比のリーンずれを起こしているか、または＃３気筒が空燃比のリッチずれを起こしている可能性が高い。よって＃２気筒が、空燃比のリーンずれを起こしていると推定されるリーン推定異常気筒として特定され、＃３気筒が、空燃比のリッチずれを起こしていると推定されるリッチ推定異常気筒として特定される。このように、ここではセンサ出力波形の２つのピークに対応させて２つの気筒が推定異常気筒として特定される。
【０１３４】
しかし、この比較例の方法だと次のような問題がある。すなわち、リーン推定異常気筒とリッチ推定異常気筒という、異常気筒の候補となる２つの推定異常気筒が特定されるものの、それ以上の特定、限定もしくは絞り込みは困難である。前述したように、触媒前センサ１７の出力波形はエンジンの１サイクルに等しい周期を有することから、一方のリーン推定異常気筒と他方のリッチ推定異常気筒とは、エンジンの１／２サイクル（＝３６０°ＣＡ）だけ燃焼間隔もしくは圧縮上死点間隔が離れた対向気筒をなす傾向にある。すると、上述したように、リーン推定異常気筒としての＃２気筒（以下、「＃２リーン」などとも称する）と、リッチ推定異常気筒としての＃３気筒（＃３リッチ）との区別が行えず、これらのうちいずれが異常気筒であるかを特定することが困難である。このほか、特定困難な推定異常気筒の組み合わせとして、＃１リッチと＃４リーンの組み合わせ、＃２リッチと＃３リーンの組み合わせ、および＃１リーンと＃４リッチの組み合わせがある。これら４パターンのうちいずれか１パターンまでは特定することができるが、その１パターンの中からいずれか一方の気筒を特定するのは困難である。
【０１３５】
しかし、上述した本実施形態のずれ方向判別を利用すると、１パターンの中からいずれか一方の気筒を特定することが可能となる。すなわち、ずれ方向判別により、異常気筒の空燃比ずれがリーンずれかリッチずれかが分かるので、この結果を利用してリーン推定異常気筒とリッチ推定異常気筒の一方に絞り込むことができる。ずれ方向判別の結果がリーンずれのときには、リーン推定異常気筒を異常気筒と特定し、ずれ方向判別の結果がリッチずれのときには、リッチ推定異常気筒を異常気筒と特定する。このように、ずれ方向判別を利用して異常気筒を好適に特定することが可能である。
【０１３６】
なお、一方の推定異常気筒が異常気筒と特定された場合、他方の推定異常気筒は異常気筒でないことが間接的に特定されることとなる。
【０１３７】
異常気筒における空燃比ずれには、比較的重度の空燃比ずれの他、比較的軽度の空燃比ずれも含まれる。比較的重度の空燃比ずれが起きている場合には、ばらつき異常検出においてばらつき異常ありと判定するのが望ましい。一方、比較的軽度の空燃比ずれしか起きていない場合には、ＯＢＤ規制値との関係で、必ずしもばらつき異常ありと判定する必要はない場合がある。この場合、異常気筒は必ずしも異常でないが、「異常気筒」という用語がここで便宜上用いられている用語である点に留意されたい。
【０１３８】
ここで、本実施形態の異常気筒特定方法をＶ型６気筒エンジンに適用した変形例を説明する。エンジンの構成は図１４に示す通りである。エンジン１は第１バンク（例えば右バンク）Ｂ１と第２バンク（例えば左バンク）Ｂ２を有し、第１バンクＢ１には＃１，＃３，＃５気筒が設けられ、第２バンクＢ２には＃２，＃４，＃６気筒が設けられている。各バンク毎に排気マニフォールド１４、排気管６、上流触媒１１、触媒前センサ１７および触媒後センサ１８が設けられ、各バンクの排気管６は図外の下流側で集合され、この集合位置の下流側に各バンクに共通の下流触媒１９が設けられている。図示省略するが、その他の構成は図１に示した直列４気筒エンジンと同じであり、詳細な説明は割愛する。このＶ６エンジン１では、第１バンクＢ１側において、＃１，＃３，＃５の３つの気筒に共通の排気通路に空燃比センサすなわち触媒前センサ１７が設置され、同様に、第２バンクＢ２側において、＃２，＃４，＃６の３つの気筒に共通の排気通路に空燃比センサすなわち触媒前センサ１７が設置されている。
【０１３９】
このエンジンでは、各バンク毎に独立して、前述の空燃比制御、ばらつき異常検出および異常気筒特定処理が行われる。すなわち、各バンク毎に、前述の４気筒エンジンと同様の制御や処理が行われる。従って、例えば第１バンクＢ１側について言えば、＃１，＃３，＃５の３つの気筒があたかも１つの３気筒エンジンを構成するように扱われ、この３気筒エンジンに対し、前述の４気筒エンジンと同様の制御や処理が行われる。第２バンクＢ２側についても同様である。
【０１４０】
この場合、例えば第１バンクＢ１側について、点火順序は＃１，＃３，＃５気筒の順であり、＃１，＃３，＃５気筒の燃焼間隔もしくは圧縮上死点間隔は２４０°ＣＡである。よってこれら＃１，＃３，＃５気筒は、どのような組み合わせにおいても対向気筒を構成しない。
【０１４１】
また、触媒前センサ１７の出力波形は図１５に示す通りである。出力波形は前記同様、１エンジンサイクルに等しい周期を有する周期的波形であるが、そのリーン側ピーク位相とリッチ側ピーク位相の間隔は概ね３６０°ＣＡではなく、概ね２４０°ＣＡまたは４８０°ＣＡである。つまり出力波形はあるクランク角を境に対称とならない。図示するように、下記の６パターンの出力波形のうちいずれか１つが出現し得る。
（１）＃１出所気筒の位相区間にリッチ側ピーク位相θｐＲ１が存在し、＃３出所気筒の位相区間にリーン側ピーク位相θｐＬ３が存在する波形ａ（＃１リッチと＃３リーンのパターン）。
（２）＃１出所気筒の位相区間にリッチ側ピーク位相θｐＲ１が存在し、＃５出所気筒の位相区間にリーン側ピーク位相θｐＬ５が存在する波形ｂ（＃１リッチと＃５リーンのパターン）。
（３）＃３出所気筒の位相区間にリッチ側ピーク位相θｐＲ３が存在し、＃１出所気筒の位相区間にリーン側ピーク位相θｐＬ１が存在する波形ｃ（＃３リッチと＃１リーンのパターン）。
（４）＃３出所気筒の位相区間にリッチ側ピーク位相θｐＲ３が存在し、＃５出所気筒の位相区間にリーン側ピーク位相θｐＬ５が存在する波形ｄ（＃３リッチと＃５リーンのパターン）。
（５）＃５出所気筒の位相区間にリッチ側ピーク位相θｐＲ５が存在し、＃１出所気筒の位相区間にリーン側ピーク位相θｐＬ１が存在する波形ｅ（＃５リッチと＃１リーンのパターン）。
（６）＃５出所気筒の位相区間にリッチ側ピーク位相θｐＲ５が存在し、＃３出所気筒の位相区間にリーン側ピーク位相θｐＬ３が存在する波形ｆ（＃５リッチと＃３リーンのパターン）。
【０１４２】
この場合、比較例の方法により２つの推定異常気筒を特定することが可能である。例えば、波形ａが出現し、リッチ推定異常気筒として＃１気筒（＃１リッチ）が特定され、リーン推定異常気筒として＃３気筒（＃３リーン）が特定されたとする。
【０１４３】
この後、ずれ方向判別が行われ、リーンずれかリッチずれかが判定される。リーンずれと判定されたときには＃３気筒が異常気筒と特定され、リッチずれと判定されたときには＃１気筒が異常気筒と特定される。
【０１４４】
次に、本実施形態のより具体的な異常気筒特定処理を説明する。当該特定処理はＥＣＵ２０により、図１６のフローチャートに表されるようなアルゴリズムに従って実行される。なお当該特定処理は、後述するばらつき異常検出処理の前提条件（図２４のステップＳ３０１）が成立している場合に限って実行されるのが好ましい。理解容易のため、図４も適宜参照されたい。
【０１４５】
まずステップＳ２０１において、図４に示したような少なくとも１エンジンサイクル中の触媒前センサ１７の出力波形（センサ出力波形という）に基づき、２つの推定異常気筒＃ｉ，＃ｊが特定される（ｉ，ｊ＝１，２，３，４、ｉ≠ｊ）。
【０１４６】
具体的には、ＥＣＵ２０は、図４に示すようなクランク角と出所気筒の関係、すなわちあるクランク角の時に触媒前センサ１７に検出されている排ガスがどの気筒に由来するものであるかを、常時演算している。この際、エンジン運転状態（例えば回転数と負荷）に基づいて遅れ時間Ｔｄを算出し、この遅れ時間Ｔｄに基づいてあるクランク角の時点での出所気筒を決定してもよい。例えば現時点より遅れ時間Ｔｄだけ前の時点で排気行程にある気筒を出所気筒と決定してもよい。あるいは代替的に、４つの出所気筒にそれぞれ対応する１エンジンサイクル内の４つの位相区間を、エンジン運転状態に基づいて、エンジンサイクル毎に定めてもよい。例えば図４に示されるような、＃３出所気筒に対応する０〜１８０°ＣＡの位相区間は、そのような４つの位相区間のうちの一つである。この場合、あるクランク角の時点がどの位相区間に属するかによって出所気筒を決定することができる。
【０１４７】
そしてＥＣＵ２０は、センサ出力波形からリーン側ピーク位相θｐＬとリッチ側ピーク位相θｐＲを求め、リーン側ピーク位相θｐＬに対応した出所気筒をリーン推定異常気筒＃ｉとして特定し、リッチ側ピーク位相θｐＲに対応した出所気筒をリッチ推定異常気筒＃ｊとして特定する。
【０１４８】
次に、ステップＳ２０２において、図１０のフローチャートに示されるような手順に従って、ずれ方向判別が実行される。これによりリーンずれが発生しているか、リッチずれが発生しているかが判定されることになる。
【０１４９】
最後に、ステップＳ２０３において、ずれ方向判別の結果に基づき異常気筒が特定される。すなわち、ＥＣＵ２０は、ずれ方向判別においてリーンずれ発生と判定したときには、リーン推定異常気筒＃ｉを異常気筒と特定し、ずれ方向判別においてリッチずれ発生と判定したときには、リッチ推定異常気筒＃ｊを異常気筒と特定する。この異常気筒に関する情報（異常気筒番号とずれ方向に関する情報）はＥＣＵ２０のメモリ（ＲＡＭ等）に保存され、後の修理等に利用される。
【０１５０】
上記の例では推定異常気筒特定、ずれ方向判別の順で処理を行ったが、この順序は逆でも構わない。
【０１５１】
本実施形態の異常気筒特定処理および方法は、ばらつき異常検出において様々な用途、段階および方法で使用もしくは適用されることができる。最も一般的には、出力変動パラメータＸと判定値αとの比較によりばらつき異常が検出されたとき（ばらつき異常ありと判定されたとき）、ばらつき異常の原因となっている異常気筒を特定するために使用される。この他、下記のような好適な適用例もある。
【０１５２】
Ｖ．ばらつき異常検出の好適例
一般に、エンジンに実際に設置されている空燃比センサの出力特性（ゲイン、応答性等）は、その製造ばらつき等に起因して、公差上限品と公差下限品との間でばらつく。よって、同一の空燃比ばらつき度合い、すなわちインバランス率Ｂに対応する出力変動パラメータＸの算出値も、触媒前センサ１７に応じてばらつく。
【０１５３】
一方、異常と検出しなければならないインバランス率Ｂの要求値が法規上定められている場合があり、この場合、当該要求値を考慮して前記判定値αが定められる。
【０１５４】
ところが、触媒前センサ１７のばらつきに起因して、必ずしも全ての触媒前センサ１７で前記要求値を満足できる訳ではないことが判明した。すなわち、公差上限品では、出力変動パラメータＸが要求値相当未満のときに異常と検出できるものの、公差下限品では出力変動パラメータＸが要求値相当を超えないと異常と検出できないことがあることが判明した。以下、この点についてより具体的に説明する。
【０１５５】
図１７は、インバランス率Ｂの要求値について説明するためのグラフである。横軸はインバランス率Ｂ（％）を示し、縦軸は特定のエミッション成分、ここではＮＯｘの排出量Ｍを示す。Ｍ１はＮＯｘ排出量に関して法規上定められたエミッション規制値であり、Ｍ２は法規上定められたＯＢＤ規制値である。ＯＢＤ規制値Ｍ２は例えばエミッション規制値Ｍ１の１．５倍に定められる。
【０１５６】
図示するように、インバランス率Ｂ（％）が０に対し増加するほど、すなわちリッチ側の空燃比ずれ（リッチ側インバランス）を起こしている１気筒の空燃比ずれ量が増加するほど、ＮＯｘ排出量Ｍは増加する。そしてＯＢＤ規制値Ｍ２に対応するインバランス率Ｂｚ（％）が前記要求値である。この要求値を検出要求インバランス率と称する。
【０１５７】
実際のインバランス率Ｂ（％）が検出要求インバランス率Ｂｚ（％）を超えているときには、必ず異常と検出しなければならない。そうしなければＮＯｘ排出量ＭがＯＢＤ規制値Ｍ２を超えてしまうからである。言い換えれば、検出要求インバランス率Ｂｚ（％）は、異常と検出しなければならないインバランス率Ｂ（％）の下限値を意味する。
【０１５８】
検出要求インバランス率Ｂｚ（％）の値は、車種やエンジン１によって異なるが、例えば４０〜６０（％）の範囲内の値をとる。
【０１５９】
図１８は、触媒前センサ１７が公差上限品および公差下限品であるときの、インバランス率Ｂ（％）と出力変動パラメータＸの間の関係を表す特性もしくは特性線をそれぞれ示す。図中、ＬＸＨは公差上限品であるときの特性もしくは特性線、ＬＸＬは公差下限品であるときの特性もしくは特性線を示す。周知のように、公差上限品とは公差範囲内で応答が最も早いものをいい、公差下限品とは公差範囲内で応答が最も遅いものをいう。なお本実施形態は、実際にエンジン１に設置されている触媒前センサ１７は公差範囲内の正常なセンサであることを前提とする。
【０１６０】
図１８に示すように、インバランス率Ｂ（％）と出力変動パラメータＸとの間には線形且つ一次比例的な関係もしくは特性が存在する。但しこの関係は触媒前センサ１７の出力特性（以下、単にセンサ出力特性ともいう）に応じて変化し、例えば公差上限品の特性線ＬＸＨの傾きは公差下限品の特性線ＬＸＬの傾きより大きくなる。実際に設置されているセンサに応じて、特性線の傾きがＬＸＨとＬＸＬとの間で変化することとなる。
【０１６１】
ここで、比較例としての判定値αの設定方法もしくは適合方法を述べる。図１８に示すように、まず、センサ出力特性に因らず異常と検出するのが不適切な（異常と検出したくない）インバランス率Ｂ（％）の範囲ａを決定する。図示例ではこれを１０（％）以下とする。この範囲ａは、確実な正常状態におけるインバランス率Ｂ（％）のばらつき範囲に相当する。この範囲ａの上限値を規定するインバランス率ＢＬ（-＝１０（％））を下限目標インバランス率と称す。なおこの範囲ａが図９等に示したずれ方向判別を実行しない範囲ΔＢに相当する。
【０１６２】
次に、公差上限品の特性線ＬＸＨ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを判定値αとして決定する。公差上限品の特性線ＬＸＨ上における値とする理由は、公差上限品が最も異常側の出力変動パラメータＸの値をもたらすからである。
【０１６３】
一方、公差下限品の特性線ＬＸＬ上において、判定値αに対応するインバランス率は５０（％）である。つまりこの異常検出装置は、実際のインバランス率が５０（％）を超えなければ、センサ出力特性に因らず正確に異常と検出することができない。言い換えれば、実際に設置された触媒前センサ１７が公差下限品であるときに、実際のインバランス率が５０（％）を超えていなければ、正確に異常と検出することができない。公差下限品のときに正確に異常と検出できるインバランス率の実力は５０（％）である。このような正確に異常と検出できるインバランス率の範囲をｃで示す。また公差下限品の特性線ＬＸＬ上において判定値αに対応するインバランス率Ｂｙ（＝５０（％））を下限品検出可能インバランス率と称す。
【０１６４】
範囲ａと範囲ｃの間の範囲ｂは、実際に設置されている触媒前センサ１７が公差上限品であるときには異常と検出してもよい範囲である。
【０１６５】
図１９は、図１８に示した比較例において、検出要求インバランス率Ｂｚ（％）が６０（％）の場合を示す。この場合、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より大きいので、比較例による異常検出装置でも問題なく、システム上成立する。
【０１６６】
一方、図２０は、図１８に示した比較例において、検出要求インバランス率Ｂｚ（％）が４０（％）の場合を示す。この場合だと、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より小さいので、実際に設置されている触媒前センサ１７が公差下限品であるときに正確に異常と検出できないことがある。すなわち、Ｂｚ（％）からＢｙ（％）までの範囲ｄでは、本来異常と検出しなければならないのに、実際の出力変動パラメータＸの値が判定値αを超えないために正常と誤検出してしまう。よって比較例による異常検出装置では問題があり、システム上も成立しない。
【０１６７】
この図２０の場合に次のような対策が考えられる。すなわち、図２１に示すように、まず検出要求インバランス率Ｂｚ＝４０（％）に対し所定のマージンだけ小さい上限目標インバランス率ＢＨ（％）を定める。図示例ではこれを３５（％）とし、マージンを５（％）としている。
【０１６８】
そして、公差下限品の特性線ＬＸＬ上において、上限目標インバランス率ＢＨ（％）に対応する出力変動パラメータＸの値を求め、これを判定値α’とする。つまり公差下限品の特性線ＬＸＬに基づいて判定値をより小さい値α’に変更する。こうすれば、実際に設置されている触媒前センサ１７が公差下限品のとき、実際のインバランス率が検出要求インバランス率Ｂｚ（％）に達する前に確実に異常と検出できる。また上記のような誤検出を未然に防止できる。
【０１６９】
しかし、こうすると、実際に設置されている触媒前センサ１７が公差上限品のとき、実際のインバランス率が下限目標インバランス率ＢＬ（＝１０（％））より小さいのに異常と検出してしまうことがある。図示例では、６〜１０（％）の間の範囲ｅにおいて異常と検出してしまう。つまり下限目標インバランス率ＢＬが実質的に低下してしまう。すると、本来異常と検出するのが不適切な範囲ａ内で異常と検出してしまい、上記の前提に反する。
【０１７０】
このように、公差上限品の特性線ＬＸＨと公差下限品の特性線ＬＸＬとの二本の特性線のみに基づいて単一の判定値を定めようとしても、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より小さい場合には、それを適切に定めるのが困難である。
【０１７１】
そこで、本実施形態では、これら特性線以外の別の特性線に基づいて別の判定値を付加的に定め、これら判定値に基づいてばらつき異常を検出する。そしてこれにより、センサ出力特性に因らず、特に公差下限品の触媒前センサ１７が実際に設置されている場合でも、好適且つ的確にばらつき異常を検出することを可能としている。
【０１７２】
以下に、本実施形態におけるばらつき異常検出方法を詳細に説明する。まず本実施形態のばらつき異常検出は、概してＥＣＵ２０が次のステップ（Ａ）〜（Ｅ）を実行することにより実行される。
【０１７３】
（Ａ）出力変動パラメータＸを算出するステップ。
【０１７４】
（Ｂ）算出された出力変動パラメータＸが、所定の一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否かを判定するステップ。
【０１７５】
（Ｃ）算出された出力変動パラメータＸが一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒（前述の異常気筒）に対し、その空燃比ずれを減少するような強制アクティブ制御を実行するステップ。
【０１７６】
（Ｄ）強制アクティブ制御の実行中に出力変動パラメータＸを算出するステップ。
【０１７７】
（Ｅ）強制アクティブ制御の実行中に算出された出力変動パラメータＸを、所定の二次判定値α２と比較して、ばらつき異常の有無を判定するステップ。
【０１７８】
ここで、一次判定上限値α１Ｈ、一次判定下限値α１Ｌおよび二次判定値α２の設定方法を図２２を参照して説明する。この設定は適合段階においてなされ、設定された各判定値はＥＣＵ２０に予め記憶される。
【０１７９】
図２２は、インバランス率Ｂ（％）と出力変動パラメータＸの間の関係を表す各特性もしくは特性線を示す。特に横軸のインバランス率Ｂ（％）は、成行状態、すなわち通常制御としてのストイキ制御が実行されている状態でのインバランス率Ｂ（％）をいい、強制アクティブ制御が実行されていないときのインバランス率Ｂ（％）をいう。なお強制アクティブ制御が実行されているときには、ベースとなるストイキ制御が実行されている上でさらに強制アクティブ制御が実行される。
【０１８０】
前記同様、ＬＸＨは触媒前センサ１７が公差上限品であるときの特性線、ＬＸＬは触媒前センサ１７が公差下限品であるときの特性線であり、これらはいずれも強制アクティブ制御が実行されてないときの特性線である。
【０１８１】
ＬＸＨＡは、触媒前センサ１７が公差上限品であり、且つ強制アクティブ制御が実行されているときの特性線である。またＬＸＬＡは、触媒前センサ１７が公差下限品であり、且つ強制アクティブ制御が実行されているときの特性線である。なお詳しくは後述するが、図示例は、所定の強制アクティブ制御量Ｂｆで強制アクティブ制御が実行されたときの特性線を示す。
【０１８２】
図から理解されるように、強制アクティブ制御が実行されると各特性線ＬＸＨ，ＬＸＬは出力変動パラメータＸの減少側（ばらつき小側）にシフトし、また両特性線ＬＸＨ，ＬＸＬの特性差は小さくなる。強制アクティブ制御は、最も大きい空燃比ずれを起こしている１気筒の空燃比ずれを減少するような制御だからである。
【０１８３】
（１）まず前記同様、センサ出力特性に因らず異常と検出するのが不適切な（異常と検出したくない）インバランス率Ｂ（％）の範囲ａを決定する。図示例ではこれを２０（％）以下とする。すなわち、この範囲ａの上限値を規定する下限目標インバランス率ＢＬは２０（％）である。
【０１８４】
（２）次に、公差上限品の特性線ＬＸＨ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを一次判定上限値α１Ｈとして決定する。図示例ではα１Ｈ＝約０．１９である。
【０１８５】
（３）次に、公差上限品且つ強制アクティブ制御実行時の特性線ＬＸＨＡ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを二次判定値α２として決定する。図示例ではα２＝約０．１である。
【０１８６】
（４）次に、公差下限品且つ強制アクティブ制御実行時の特性線ＬＸＬＡ上において、二次判定値α２に対応するインバランス率の値Ｂ１（％）を求める。そしてこの値Ｂ１（％）が、検出要求インバランス率Ｂｚ（％）以下か否かを確認する。図示例ではＢ１＝約３５（％）、Ｂｚ＝４０（％）なので、Ｂ１（％）がＢｚ（％）より小さい。よってこのＢ１（％）を上限目標インバランス率ＢＨ（％）として決定する。
【０１８７】
（５）最後に、公差下限品の特性線ＬＸＬ上において、上限目標インバランス率ＢＨ（％）に対応する出力変動パラメータＸの値を求め、これを一次判定下限値α１Ｌとして決定する。図示例ではα１Ｌ＝約０．１４である。
【０１８８】
図示例において、検出要求インバランス率Ｂｚ（＝４０％）が下限品検出可能インバランス率Ｂｙ（＝約４８％）より小さいので、前述したように、一次判定上限値α１Ｈだけだと、実際に公差下限品が設置されているときに範囲ｄ内で正常と誤検出してしまう。
【０１８９】
しかし、本実施形態では、まず、実際に算出された出力変動パラメータＸが一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否か、すなわち、実際に公差下限品が設置されているときに正常と誤検出する可能性があるグレーゾーンにあるか否かを判定する。そして判定がイエスの場合、強制アクティブ制御を実行し、その実行中に算出された出力変動パラメータＸを二次判定値α２と比較してばらつき異常の有無を判定する。つまり、実際に算出された出力変動パラメータＸがグレーゾーンにある場合、強制アクティブ制御を実行して特性線をより特性差の小さいＬＸＨＡ，ＬＸＬＡに変更し、検出要求インバランス率Ｂｚより小さい上限目標インバランス率ＢＨを確保した上で、ばらつき異常の有無を判定する。
【０１９０】
結果的に、強制アクティブ制御の実行によって範囲ｄ内の値は範囲ｄ’内の値にシフトし、これが二次判定値α２より大きいことから、ばらつき異常有りと判定することができる。これによって誤検出を回避し、公差下限品の触媒前センサ１７が実際に設置されている場合においても、好適且つ的確にばらつき異常を検出することができる。
【０１９１】
また本実施形態によれば、成行状態においてＢｚ〜Ｂｙの範囲にまで至らないＢＨ〜Ｂｚの範囲内のばらつき異常も好適且つ的確に検出できる。従って、実際のインバランス率Ｂ（％）が検出要求インバランス率Ｂｚ（％）を超えているときには必ず異常と検出しなければならないという法規上の要件も十分満足することができる。
【０１９２】
上記において、Ｂ１（％）が検出要求インバランス率Ｂｚ（％）以下か否かを確認する理由は次の通りである。強制アクティブ制御実行時の特性線ＬＸＨＡ，ＬＸＬＡは、どの程度の量の強制アクティブ制御を実行するか、言い換えれば強制アクティブ制御量をどのような値に設定するかによって変化する。よって場合によってはＢ１（％）が検出要求インバランス率Ｂｚ（％）より大きくなることもあり得る。しかしこうなるとシステム上成立しない。よってＢ１（％）が検出要求インバランス率Ｂｚ（％）以下の場合に限って、Ｂ１（％）を上限目標インバランス率ＢＨ（％）として決定する。逆にＢ１（％）が検出要求インバランス率Ｂｚ（％）より大きければ、強制アクティブ制御量を変更する等、適合作業をやり直すことになる。
【０１９３】
なお、ここでは上限目標インバランス率ＢＨ（％）を検出要求インバランス率Ｂｚ（％）より小さい値に設定したが、検出要求インバランス率Ｂｚ（％）に等しい値に設定してもよい。
【０１９４】
なお、出力変動パラメータＸを「第１パラメータ」、インバランス率Ｂ（％）を「第２パラメータ」、特性線ＬＸＬＡを「第１特性線」、上限目標インバランス率ＢＨ（％）を「第２パラメータの上限目標値」、特性線ＬＸＬを「第２特性線」、特性線ＬＸＨを「第３特性線」、下限目標インバランス率ＢＬ（％）を「第２パラメータの下限目標値」と称することができる。
【０１９５】
次に、前記ステップ（Ｃ）で実行される強制アクティブ制御について説明する。強制アクティブ制御は、最も大きい空燃比ずれを起こしている１気筒（異常気筒）の空燃比ずれを減少するような制御、所謂逆アクティブ制御である。
【０１９６】
図２３は、強制アクティブ制御を実行していないとき（実行前）と実行したとき（実行後）とで、インバランス率を比較するための表である。ここで（Ａ）、（Ｂ）に示される燃料量と空燃比の値は全て、ストイキ制御の結果、トータルガスの空燃比がストイキ（１４．５）に収束した後の値である。
【０１９７】
図２３（Ａ）は、成行状態においてインバランスがあり且つ強制アクティブ制御実行前の状態を示す。図から分かるように、燃料量は全気筒共に１であるが、＃１気筒の空気系異常に起因して空気量に違いが生じており、＃１気筒のみ１３、他の気筒は１５となっている。よって空燃比も＃１気筒のみ１３、他の気筒は１５となっている。よってインバランス率は１５／１３＝１．１５＝１５％である。＃１気筒に空燃比のリッチずれが生じている。
【０１９８】
なおこの状態は、例えば＃１気筒において気筒別吸気通路（枝管４、吸気ポート）にデポジット等による詰まりが生じたり、吸気弁の開弁不良が生じたりしたときなどに起こり得る。
【０１９９】
図２３（Ｂ）は、図２３（Ａ）の状態から強制アクティブ制御を実行したときの状態を示す。このとき、＃１気筒のリッチずれを減少するよう、＃１気筒のみの燃料量が強制的に減量される。こうした減量とストイキ制御の結果、燃料量は＃１気筒のみ０．９１、他の気筒は１．０３となり、空燃比は＃１気筒のみ１４．２８、他の気筒は１４．５６となる。よってインバランス率は１４．５６／１４．２８＝１．０２＝２％となる。
【０２００】
燃料量に着目すると、燃料量のインバランス率は１．０３／０．９１＝１．１３＝１３％である。これに対し図２３（Ａ）に示した強制アクティブ制御実行前だと、燃料量のインバランス率は１／１＝１＝０％である。強制アクティブ制御の実行により、燃料量のインバランス率で１３％分だけ、リッチずれを起こしている＃１気筒の燃料量が強制的に減量されたこととなる。
【０２０１】
そこでこの燃料量のインバランス率＝１３％を、本実施形態における強制アクティブ制御による空燃比ずれの減少量、すなわち強制アクティブ制御量Ｂｆとする。つまりある１気筒にリッチずれが生じている場合、その１気筒のみに対し、燃料量のインバランス率で１３％分だけ、燃料量の強制減量がなされる。なお１３％という値は例示であり適宜変更可能である。
【０２０２】
かかる強制アクティブ制御量Ｂｆは一定値として予めＥＣＵ２０に記憶される。また、図２２に示した強制アクティブ制御実行時の特性線ＬＸＨＡ，ＬＸＬＡは、同一の強制アクティブ制御量Ｂｆで強制アクティブ制御を実行したときの特性線である。
【０２０３】
ところで、強制アクティブ制御を実行するには、全気筒のうち最も大きい空燃比ずれを起こしている１気筒、すなわち異常気筒を特定する必要がある。そこで上述した本実施形態の異常気筒特定処理および方法が、ここで好適に使用される。
【０２０４】
以下、本実施形態のばらつき異常検出処理について説明する。当該検出処理はＥＣＵ２０により、図２４のフローチャートに表されるようなアルゴリズムに従って実行される。
【０２０５】
まずステップＳ３０１において、ばらつき異常検出を実行するのに適した所定の前提条件が成立したか否かが判断される。例えば次の各条件が成立した場合に前提条件が成立する。
（１）エンジンの暖機が終了している。
（２）触媒前センサ１７および触媒後センサ１８が活性化している。
（３）上流触媒１１および下流触媒１９が活性化している。
（４）エンジンの回転数Ｎｅと負荷ＫＬが所定範囲内にある。例えば回転数Ｎｅが１２００〜２０００（ｒｐｍ）の範囲内にあり、且つ負荷ＫＬが４０〜６０（％）の範囲内にある。
（５）ストイキ制御中である。
【０２０６】
なお前提条件については他の例も可能である。例えば、（６）エンジンが定常運転中である、という条件を加えてもよい。
【０２０７】
前提条件が成立してなければ待機し、前提条件が成立したならばステップＳ３０２に進む。なおここでは、Ｓ３０２以降の各ステップは前提条件が成立している場合に限って実行されるものとする。
【０２０８】
ステップＳ３０２では、強制アクティブ制御を実行していないときの成行状態での出力変動パラメータＸ１の値が算出される。
【０２０９】
ステップＳ３０３においては、算出された出力変動パラメータＸ１の値が一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否か、すなわちα１Ｌ＜Ｘ１≦α１Ｈの範囲内にあるか否かが判断される。このような判断もしくは判定を一次判定という。
【０２１０】
α１Ｌ＜Ｘ１≦α１Ｈの範囲内にある場合、いずれかの１気筒で上記のグレーゾーンにあるような比較的軽度の空燃比ずれが起きていると予想される。従ってこの場合、ステップＳ３０４において、強制アクティブ制御の対象気筒である異常気筒が特定される。このとき、上述した本実施形態の異常気筒特定処理および方法が好適に適用される。異常気筒の特定は図１６に示したような特定処理に従って実行される。
【０２１１】
次に、ステップＳ３０５において、強制アクティブ制御が実行される。すなわち異常気筒に対して、その空燃比ずれを減少するよう、燃料噴射量が所定量減量または増量される。
【０２１２】
ステップＳ３０６において、強制アクティブ制御の実行中における出力変動パラメータＸ２の値が算出される。
【０２１３】
ステップＳ３０７においては、算出された出力変動パラメータＸ２の値が二次判定値α２と比較され、その大小が判断される。このような判断もしくは判定を二次判定という。
【０２１４】
出力変動パラメータＸ２の値が二次判定値α２以下の場合、ステップＳ３０８においてばらつき異常なし、すなわち正常と判定される。ステップＳ３０４で特定された異常気筒は、最終的に異常でないことが確定する。
【０２１５】
他方、出力変動パラメータＸ２の値が二次判定値α２より大きい場合、ステップＳ３０９においてばらつき異常あり、すなわち異常と判定される。ステップＳ３０４で特定された異常気筒は、最終的に異常であることが確定する。このときにはチェックランプ等の警告装置が起動され、異常の事実がユーザに知らされ、ユーザに対し修理が促される。また異常気筒に関する情報がＥＣＵ２０に記憶される。
【０２１６】
ところで、ステップＳ３０３において、成行状態の出力変動パラメータＸ１の値がα１Ｌ＜Ｘ１≦α１Ｈの範囲内にない場合、明らかな正常状態または異常状態であることが予想される。従ってこの場合、ステップＳ３１０において、出力変動パラメータＸ１の値が一次判定下限値α１Ｌと比較され、正常または異常が直接判定される。
【０２１７】
すなわち、出力変動パラメータＸ１の値が一次判定下限値α１Ｌ以下の場合、ステップＳ３１０においてばらつき異常なし、すなわち正常と判定される。
【０２１８】
他方、出力変動パラメータＸ１の値が一次判定下限値α１Ｌより大きい場合、これは、出力変動パラメータＸ１の値が一次判定上限値α１Ｈより大きいことを意味するから、ステップＳ３１２においてばらつき異常あり、すなわち異常と判定される。この場合、いずれかの１気筒で比較的重度の空燃比ずれが起きていると予想される。
【０２１９】
なお、正常または異常を直接判定する際の判定方法は、ここで述べたような一次判定下限値α１Ｌのみと比較する方法のほか、一次判定上限値α１Ｈのみと比較する方法、一次判定下限値α１Ｌおよび一次判定上限値α１Ｈの両方と比較する方法等が可能である。
【０２２０】
このように本実施形態では、ＥＣＵ２０が次のステップ（Ｆ）をも実行する。
（Ｆ）ステップ（Ｂ）において出力変動パラメータＸ１が一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値でないと判定されたとき、当該出力変動パラメータＸ１を一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの少なくとも一方と比較して、ばらつき異常の有無を判定するステップ。
【０２２１】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば上記の数値は例示であり、種々の変更が可能である。また上記の説明において、リッチ側とリーン側の一方についてしか説明していない箇所がある場合、一方への説明が他方へも適用可能であることが、当業者によって容易に理解されるであろう。
【０２２２】
センサ出力波形から２つの推定異常気筒を特定するとき、必ずしも、２つのピーク位相θｐＬ，θｐＲに基づいて特定しなくてもよい。他にも様々な特定方法が考えられる。リーン側とリッチ側で同様の処理を行う場合、その順番は任意である。
【０２２３】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【０２２４】
１  内燃機関（エンジン）
６  排気管
１１  上流触媒
１２  インジェクタ
１４  排気マニフォールド
１７  触媒前センサ
１８  触媒後センサ
１９  下流触媒
２０  電子制御ユニット（制御装置）
【図１】
0006020474.tif 000009
【図２】
0006020474.tif 000010
【図３】
0006020474.tif 000011
【図４】
0006020474.tif 000012
【図５】
0006020474.tif 000013
【図６】
0006020474.tif 000014
【図７】
0006020474.tif 000015
【図８】
0006020474.tif 000016
【図９】
0006020474.tif 000017
【図１０】
0006020474.tif 000018
【図１１】
0006020474.tif 000019
【図１２】
0006020474.tif 000020
【図１３】
0006020474.tif 000021
【図１４】
0006020474.tif 000022
【図１５】
0006020474.tif 000023
【図１６】
0006020474.tif 000024
【図１７】
0006020474.tif 000025
【図１８】
0006020474.tif 000026
【図１９】
0006020474.tif 000027
【図２０】
0006020474.tif 000028
【図２１】
0006020474.tif 000029
【図２２】
0006020474.tif 000030
【図２３】
0006020474.tif 000031
【図２４】
0006020474.tif 000032