(57)【要約】【課題】失火の検出精度への角度検出信号の誤差の影響を抑制できる失火検出装置を提供する。【解決手段】ＣＰＵ６２は、クランク信号Ｓｃｒに基づき、圧縮上死点が時系列的に前後する一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔における回転速度同士の差を定量化した回転変動値を算出し、同回転変動値からサイクル１次成分を除去した時系列データを抽出する。また、ＣＰＵ６２は、クランク信号ＳｃｒおよびＮＴ信号Ｓｔに基づき、クランク軸１２に対する入力軸３６のねじれに起因したクランク軸１２のトルク成分を除去した除去トルクを算出する。ＣＰＵ６２は、除去トルクのサイクル１次成分と、回転変動値からサイクル１次成分を除去した時系列データとを合成することにより、回転変動値を復元し、復元した回転変動値を用いて失火を検出する。【選択図】図１
2018159349.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有し、クランク軸に変速装置の回転軸が連結される内燃機関に適用され、クランク信号に現れる前記クランク軸の回転挙動に基づき、失火を検出する内燃機関の失火検出装置において、
前記回転軸と前記クランク軸とが連結されている状態である連結状態において、前記回転軸の角度検出信号および前記クランク信号に基づき、前記回転挙動から前記クランク軸と前記回転軸とのねじれに起因した成分を除去したものの所定の周波数成分の時系列データを算出する所定成分算出処理と、
前記連結状態において、前記回転挙動を示す時系列データから前記所定の周波数成分が除去された時系列データを生成する所定成分除去処理と、
前記所定成分算出処理の出力値と前記所定成分除去処理の出力値とに基づき、前記所定成分除去処理の出力値に前記所定の周波数成分が合成された前記回転挙動を示す時系列データを復元する復元処理と、
前記復元処理によって復元された前記回転挙動の時系列データに基づき、失火の有無を判定する失火判定処理と、を実行する内燃機関の失火検出装置。
【請求項２】
前記所定の周波数成分は、前記内燃機関および前記変速装置を含む駆動系の共振周波数帯の成分であり、
前記クランク軸の回転速度に基づき、１燃焼サイクルの整数倍の周波数が前記共振周波数帯に入ったか否かを判定する周波数判定処理を実行し、
前記周波数判定処理によって入ったと判定されることを条件に、前記復元処理を実行する請求項１記載の内燃機関の失火検出装置。
【請求項３】
前記連結状態において、前記失火判定処理の入力となる前記回転挙動を示す時系列データの前記所定の周波数成分の振幅を、前記回転挙動を示す時系列データの前記所定の周波数成分以外の成分の振幅に基づき算出する振幅算出処理と、
前記所定成分算出処理の出力値に応じた前記所定の周波数成分の位相と前記振幅算出処理によって算出された前記振幅とに基づき、前記失火判定処理の入力となる前記回転挙動を示す時系列データの前記所定の周波数成分を生成する波形整形処理と、を実行し、
前記復元処理は、前記波形整形処理の出力値と前記所定成分除去処理の出力値とを合成して前記失火判定処理の入力となる前記回転挙動を示す時系列データを復元する処理である請求項１または２記載の内燃機関の失火検出装置。
【請求項４】
前記失火判定処理の入力となる前記回転挙動を示す時系列データは、圧縮上死点が時系列的に前後して出現する一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔における回転速度同士の差または前記回転角度間隔における回転時間同士の差の時系列データであり、
前記所定成分算出処理は、前記クランク軸の回転速度またはトルクから前記ねじれに起因した成分を除去したものの前記所定の周波数成分の時系列データを算出する処理であり、
前記所定成分算出処理の出力値の位相を調整する位相調整処理を実行し、
前記波形整形処理は、前記位相調整処理によって調整された前記所定の周波数成分の位相に基づき、前記失火判定処理の入力となる前記回転挙動を示す時系列データの所定の周波数成分を生成する請求項３記載の内燃機関の失火検出装置。
【請求項５】
前記所定の周波数成分は、燃焼サイクルの１次の周波数成分、２次の周波数成分および３次の周波数成分の３つの周波数成分のうちの１つであり、
前記振幅算出処理は、前記３つの周波数成分のうちの残りの周波数成分の振幅に基づき、前記所定の周波数成分の振幅を算出する処理である請求項３または４記載の内燃機関の失火検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クランク軸に変速装置が連結される内燃機関に適用される内燃機関の失火検出装置に関する。
【背景技術】
【０００２】
たとえば特許文献１には、内燃機関のクランク軸に、ダンパを介して、クランク軸の回転速度と駆動輪の回転速度との比を変更可能な動力分配統合機構（変速装置）が連結されたものが記載されている。そして、同文献には、ダンパよりも変速装置側の回転速度とクランク軸の回転速度との差に基づき、クランク軸の回転速度のうちのダンパのねじれに起因した共振成分を算出し、クランク軸の回転速度からこの共振成分を除去する処理を実行する装置が記載されている。この装置は、共振成分が除去された回転速度から圧縮上死点が時系列的に前後する一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔における回転挙動同士の差を定量化した判定用値Ｊ３０（回転変動値）を算出し、回転変動値に基づき、失火の有無を判定している。これは、共振成分を含む回転速度を用いたのでは、失火を精度良く特定することができないことに鑑みたものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２４８８７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記装置は、共振成分の影響が除去された回転変動値を算出するために、クランク軸の回転速度に加えて、ダンパよりも変速装置側の回転軸の角度検出信号を用いている。このため、クランク軸の回転角度の誤差のみならず、角度検出信号の誤差が回転変動値の算出精度に影響することが避けられない。したがって、角度検出信号に誤差が生じる場合には、失火の検出精度に角度検出信号の誤差が影響を及ぼす。
【０００５】
本発明は、そうした実情に鑑みてなされたものであり、その目的は、失火の検出精度への角度検出信号の誤差の影響を抑制できるようにした内燃機関の失火検出装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．複数の気筒を有し、クランク軸に変速装置の回転軸が連結される内燃機関に適用され、クランク信号に現れる前記クランク軸の回転挙動に基づき、失火を検出する内燃機関の失火検出装置において、前記回転軸と前記クランク軸とが連結されている状態である連結状態において、前記回転軸の角度検出信号および前記クランク信号に基づき、前記回転挙動から前記クランク軸と前記回転軸とのねじれに起因した成分を除去したものの所定の周波数成分の時系列データを算出する所定成分算出処理と、前記連結状態において、前記回転挙動を示す時系列データから前記所定の周波数成分が除去された時系列データを生成する所定成分除去処理と、前記所定成分算出処理の出力値と前記所定成分除去処理の出力値とに基づき、前記所定成分除去処理の出力値に前記所定の周波数成分が合成された前記回転挙動を示す時系列データを復元する復元処理と、前記復元処理によって復元された前記回転挙動の時系列データに基づき、失火の有無を判定する失火判定処理と、を実行する。
【０００７】
上記構成では、復元処理によって復元された回転挙動を示す時系列データは、所定の周波数成分以外の周波数成分については、角度検出信号を用いることなく算出されたものとなっている。このため、所定の周波数成分以外の周波数成分についても角度検出信号を用いて算出する場合と比較すると、復元処理によって復元された回転挙動を示す時系列データに角度検出信号の誤差が及ぼす影響が小さい。そして、この回転挙動を示す時系列データを用いて失火の有無を判定することにより、失火の検出精度への角度検出信号の誤差の影響を抑制することができる。
【０００８】
２．上記１記載の内燃機関の失火検出装置において、前記所定の周波数成分は、前記内燃機関および前記変速装置を含む駆動系の共振周波数帯の成分であり、前記クランク軸の回転速度に基づき、１燃焼サイクルの整数倍の周波数が前記共振周波数帯に入ったか否かを判定する周波数判定処理を実行し、前記周波数判定処理によって入ったと判定されることを条件に、前記復元処理を実行する。
【０００９】
クランク軸と回転軸とのねじれがクランク軸の回転挙動に顕著に影響するのは、共振周波数帯においてである。一方、少なくとも１つの気筒において繰り返し失火が生じる場合、回転挙動を示す時系列データのうちの１燃焼サイクルの整数倍の周波数成分に失火の影響が顕著に現れる。このため、１燃焼サイクルの整数倍の周波数成分が共振周波数帯に入る場合には、クランク軸の回転挙動に共振の影響が顕著に現れ、ひいては失火の検出精度が低下するおそれがある。そこで上記構成では、周波数判定処理を実行することにより、共振周波数帯となるときに、復元処理によって復元された回転挙動を示す時系列データを生成する。
【００１０】
３．上記１または２記載の内燃機関の失火検出装置において、前記連結状態において、前記失火判定処理の入力となる前記回転挙動を示す時系列データの前記所定の周波数成分の振幅を、前記回転挙動を示す時系列データの前記所定の周波数成分以外の成分の振幅に基づき算出する振幅算出処理と、前記所定成分算出処理の出力値に応じた前記所定の周波数成分の位相と前記振幅算出処理によって算出された前記振幅とに基づき、前記失火判定処理の入力となる前記回転挙動を示す時系列データの前記所定の周波数成分を生成する波形整形処理と、を実行し、前記復元処理は、前記波形整形処理の出力値と前記所定成分除去処理の出力値とを合成して前記失火判定処理の入力となる前記回転挙動を示す時系列データを復元する処理である。
【００１１】
上記構成では、波形整形処理によって、回転挙動を示す時系列データの所定の周波数成分を生成する際、所定成分算出処理の出力値に応じて所定の周波数成分の位相を用いるものの、振幅については、所定成分算出処理の出力値を用いない。そして、上記構成では、所定の周波数成分以外の周波数成分の振幅と、所定の周波数成分の振幅との間には相関関係があることに鑑み、所定の周波数成分以外の周波数成分の振幅に基づき所定の周波数成分の振幅を算出する。これにより、失火の検出精度が角度検出信号の誤差に影響されることを抑制できる。
【００１２】
４．上記３記載の内燃機関の失火検出装置において、前記失火判定処理の入力となる前記回転挙動を示す時系列データは、圧縮上死点が時系列的に前後して出現する一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔における回転速度同士の差または前記回転角度間隔における回転時間同士の差の時系列データであり、前記所定成分算出処理は、前記クランク軸の回転速度またはトルクから前記ねじれに起因した成分を除去したものの前記所定の周波数成分の時系列データを算出する処理であり、前記所定成分算出処理の出力値の位相を調整する位相調整処理を実行し、前記波形整形処理は、前記位相調整処理によって調整された前記所定の周波数成分の位相に基づき、前記失火判定処理の入力となる前記回転挙動を示す時系列データの所定の周波数成分を生成する。
【００１３】
圧縮上死点が時系列的に前後して出現する一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔における回転速度同士の差等を算出する処理は一種のフィルタ処理であり、所定成分算出処理は、それとは相違するフィルタ処理であるため、互いの位相にずれが生じうる。そこで上記構成では、位相調整処理を実行することにより、所定成分算出処理の出力値に基づき、回転挙動の時系列データの所定の周波数成分の位相を算出する。
【００１４】
５．上記３または４記載の内燃機関の失火検出装置において、前記所定の周波数成分は、燃焼サイクルの１次の周波数成分、２次の周波数成分および３次の周波数成分の３つの周波数成分のうちの１つであり、前記振幅算出処理は、前記３つの周波数成分のうちの残りの周波数成分の振幅に基づき、前記所定の周波数成分の振幅を算出する処理である。
【００１５】
サイクル１次の周波数成分の振幅と、サイクル２次の周波数成分の振幅と、サイクル３次の周波数成分の振幅とは、互いに相関関係を有する傾向がある。このため、上記構成では、相関関係に着目することにより、所定の周波数成分の振幅を算出する。
【図面の簡単な説明】
【００１６】
【図１】失火検出装置の一実施形態および駆動系を示す図。
【図２】同実施形態にかかる共振時の失火検出に関する処理を示すブロック図。
【図３】（ａ）は、気筒別回転速度の算出処理を示し、（ｂ）および（ｃ）は、回転変動値の算出処理を示す。
【図４】（ａ）〜（ｄ）は、回転変動値およびその特定の周波数成分を示すタイムチャート。
【図５】同実施形態にかかるねじれ成分除去処理部の処理が前提とするモデルを示す図。
【図６】（ａ）および（ｂ）は、除去トルクおよびそのサイクル１次の周波数成分を示すタイムチャート。
【図７】（ａ）および（ｂ）は、調整トルクＴｒｑｃおよび所定成分ΔＮＥＦの時系列データを示すタイムチャート。
【図８】同実施形態にかかる失火判定処理を示すタイムチャート。
【図９】同実施形態にかかる失火検出の処理手順を示す流れ図。
【図１０】（ａ）および（ｂ）は、同実施形態の効果を示すタイムチャート。
【図１１】同実施形態の変形例にかかる共振時の失火検出に関する処理を示すブロック図。
【発明を実施するための形態】
【００１７】
以下、失火検出装置にかかる一実施形態について図面を参照しつつ説明する。
図１に示すように、内燃機関１０は、６気筒を有する４ストロークエンジンである。特に本実施形態では、ガソリン機関のように筒内充填空気量によってトルクを調整する内燃機関を想定している。なお、以下では、圧縮上死点の出現順序に従って、気筒＃１，＃２，＃３，＃４，＃５，＃６を定義している。すなわち、第１の気筒＃１の次に圧縮上死点が出現する気筒が第２の気筒＃２である。
【００１８】
内燃機関１０のクランク軸１２には、トルクコンバータ３０を介して変速装置３４の入力軸３６が連結可能となっている。トルクコンバータ３０は、ロックアップクラッチ３２を備えており、ロックアップクラッチ３２が締結状態となることにより、クランク軸１２と入力軸３６とが連結される。なお、変速装置３４の出力軸３８には、駆動輪５０が機械的に連結されている。
【００１９】
クランク軸１２には、クランク軸１２の複数の回転角度のそれぞれを示す歯部２２が設けられたクランクロータ２０が結合されている。クランクロータ２０には、基本的には、１０°ＣＡ間隔で歯部２２が設けられているものの、隣接する歯部２２間の間隔が３０°ＣＡとなる箇所である欠け歯部２４が１箇所設けられている。これは、クランク軸１２の基準となる回転角度を示すためのものである。
【００２０】
入力軸３６には、入力軸３６の複数の回転角度のそれぞれを示す歯部４２が設けられたＮＴロータ４０が結合されている。ＮＴロータ４０には、１２°間隔で歯部４２が設けられている。
【００２１】
制御装置６０は、内燃機関１０の制御量（トルク、排気成分）を制御するために、燃料噴射弁等の各種アクチュエータを操作する。制御装置６０は、制御量の制御や各種診断処理を実行する際に、クランクロータ２０の歯部２２の検出によってクランク軸１２の回転角度を検出するクランク角センサ７０のクランク信号Ｓｃｒや、入力軸３６の回転角度を検出する入力軸角度センサ７２のＮＴ信号Ｓｔ、エアフローメータ７４によって検出される吸入空気量Ｇａを参照する。制御装置６０は、ＣＰＵ６２や、ＲＯＭ６４、電気的に書き換え可能な不揮発性メモリ６６を備えており、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が実行することによって、上記制御量の制御や診断処理を実行する。
【００２２】
図２に、制御装置６０が実行する診断処理のうちの特に失火検出処理を示す。図２に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が実行することにより実現される。図２に示す処理は、内燃機関１０および変速装置３４を備える駆動系の共振周波数帯にサイクル１次の周波数成分が入る回転速度領域において実行される。なお、本実施形態では、クランク軸１２の回転速度がとりうる領域において、サイクル１次の周波数成分が共振周波数帯に入るものの、サイクル２次やサイクル３次の周波数成分については共振周波数帯に入らないことを想定している。
【００２３】
瞬時回転時間算出処理部Ｍ１０は、クランク信号Ｓｃｒに基づき、図１に示す３０°ＣＡの間隔の回転に要する時間である瞬時回転時間Ｔ３０を逐次算出する。気筒別速度算出処理部Ｍ１２は、瞬時回転時間Ｔ３０に基づき、気筒＃１〜＃６のそれぞれの燃焼の影響が現れる回転角度間隔における回転速度である気筒別回転速度ω１２０を算出する。
【００２４】
図３（ａ）に、本実施形態にかかる気筒別回転速度ω１２０の算出処理を示す。図３（ａ）に示すように、本実施形態では、各気筒の３０〜１５０ＡＴＤＣの角度間隔の回転に要する時間を気筒別回転時間Ｔ１２０とし、気筒別回転速度ω１２０を、「Ｋ／Ｔ１２０」とする。ここで、係数Ｋは、上記角度間隔に対応した量であり、角度の次元を有する。なお、図３では、変数ｎを用いることによって、気筒別回転時間Ｔ１２０の時系列データを表現している。すなわち、第３の気筒＃３に対応する気筒別回転時間Ｔ１２０（ｎ）は、第２の気筒＃２に対応した気筒別回転時間Ｔ１２０（ｎ−１）と時系列的に隣り合って且つ第２の気筒＃２に対応した気筒別回転時間Ｔ１２０（ｎ−１）の後に生成される。
【００２５】
図２に戻り、回転変動値算出処理部Ｍ１４は、気筒別回転速度ω１２０に基づき、回転変動値ΔＮＥ０を算出する。
図３（ｂ）に、本実施形態にかかる回転変動値ΔＮＥ０の算出処理を示す。図３（ｂ）に示すように、回転変動値ΔＮＥ０は、各気筒＃１〜＃６のそれぞれの圧縮上死点に対応して１つずつ算出される。たとえば第２の気筒＃２に対応する回転変動値ΔＮＥ（ｎ−１）は、第２の気筒＃２の３０〜１５０ＡＴＤＣまでの回転角度間隔における気筒別回転速度ω１２０（ｎ−１）から、第１の気筒＃１の３０〜１５０ＡＴＤＣまでの回転角度間隔における気筒別回転速度ω１２０（ｎ−２）を減算した値である。
【００２６】
図２に戻り、所定成分除去処理部Ｍ１６は、回転変動値ΔＮＥ０の時系列データから、所定の周波数成分を除去して除去成分Ｄｅｘ０を算出する処理を実行する。本実施形態では、所定の周波数を、内燃機関１０および変速装置３４を含む駆動系の共振周波数帯の周波数に設定する。詳しくは、共振周波数帯の周波数の中央値に設定する。具体的には所定成分除去処理部Ｍ１６は、バンドパスフィルタ処理となり、たとえばＦＩＲフィルタにて構成される。
【００２７】
２次フィルタＭ１８は、回転変動値ΔＮＥ０の時系列データから２次成分ΔＮＥＳを算出する。ここで、２次成分とは、所定の周波数成分を１次成分とする場合の２次成分である。具体的には、２次フィルタＭ１８は、バンドパスフィルタ処理となり、たとえばＦＩＲフィルタにて構成される。
【００２８】
３次フィルタＭ２０は、回転変動値ΔＮＥ０の時系列データから３次成分ΔＮＥＴを算出する。ここで、３次成分とは、所定の周波数成分を１次成分とする場合の３次成分である。具体的には、３次フィルタＭ２０は、バンドパスフィルタ処理となり、たとえばＦＩＲフィルタにて構成される。
【００２９】
図４（ａ）に、回転変動値ΔＮＥ０の時系列データを示し、図４（ｂ）に、除去成分Ｄｅｘ０の時系列データを示し、図４（ｃ）に、２次成分ΔＮＥＳの時系列データを示し、図４（ｄ）に、３次成分ΔＮＥＴの時系列データを示す。なお、図４に示す時系列データは、サイクル１次の周波数成分が上記共振周波数帯に入っているときのデータである。
【００３０】
図２に戻り、ＮＥ速度算出処理部Ｍ３０は、都度の瞬時回転時間Ｔ３０に基づき、クランク軸１２が３０°ＣＡ回転する期間における速度であるＮＥ速度ωＮＥを逐次算出する。ＮＴ回転時間算出処理部Ｍ３２は、ＮＴ信号Ｓｔに基づき、図１に示す２４°ＣＡの間隔の回転に要する時間である瞬時回転時間Ｔ２４を逐次算出する。ＮＴ速度算出処理部Ｍ３４は、都度の瞬時回転時間Ｔ２４に基づき、入力軸３６が２４°回転する期間における速度であるＮＴ速度ωＮＴを逐次算出する。
【００３１】
ねじれ成分除去処理部Ｍ４０は、ＮＥ速度ωＮＥおよびＮＴ速度ωＮＴに基づき、クランク軸１２の３０°ＣＡ当たりの回転挙動から把握されるトルクである瞬時トルクＴｒｑ０からクランク軸１２と入力軸３６との間のねじれに起因した成分が除去された除去トルクＴｒｑｉを算出する。ねじれ成分除去処理部Ｍ４０は、クランク軸１２の回転変動が上記共振周波数帯に入ることによりクランク軸１２と入力軸３６とのねじれによって顕著な影響を受ける場合に、その影響を除去するためのものである。ここでは、図５に示すように、内燃機関１０と変速装置３４とが単一のダンパ７６によって連結されているというモデルを用いて除去する処理を実行する。
【００３２】
図２に戻り、加速度算出処理部Ｍ４１では、ＮＥ速度ωＮＥを入力としその差分演算によってクランク軸１２の回転加速度ａＮＥを算出する。係数乗算処理部Ｍ４２では、回転加速度ａＮＥに係数Ｉを乗算することによって、クランク軸１２の瞬時トルクＴｒｑ０を算出する。ここで、係数Ｉは、上記駆動系の慣性モーメントに応じて定められている。ねじれ速度算出処理部Ｍ４３は、ＮＥ速度ωＮＥからＮＴ速度ωＮＴを減算することによって、ねじれ速度Δωを算出する。積分要素Ｍ４４は、ねじれ速度Δωを入力とし、ねじれ角Δθを算出する。係数乗算処理部Ｍ４５は、ねじれ角Δθに係数Ｋを乗算することによって、クランク軸１２と入力軸３６とのねじれに起因したトルクであるねじれトルクＴｒｑｔを算出する。ここで、係数Ｋは、図５に示したダンパの弾性定数である。除去処理部Ｍ４６は、瞬時トルクＴｒｑ０にねじれトルクＴｒｑｔを加算して除去トルクＴｒｑｉを算出する。
【００３３】
所定成分抽出処理部Ｍ５０は、除去トルクＴｒｑｉの時系列データから上記共振周波数の成分を抽出し、所定トルク成分Ｔｒｑｘを算出する。具体的には、所定成分抽出処理部Ｍ５０は、バンドパスフィルタ処理を行うものであり、バンドパスフィルタは、たとえばＦＩＲフィルタによって構成すればよい。
【００３４】
図６（ａ）に、除去トルクＴｒｑｉの時系列データを示し、図６（ｂ）に、所定トルク成分Ｔｒｑｘの時系列データを示す。
図２に戻り、位相調整処理部Ｍ５２は、３０°ＣＡ毎に更新される所定トルク成分Ｔｒｑｘの時系列データのうち所定の位相において１２０°ＣＡ毎に更新される値を抽出して調整トルクＴｒｑｃとする。これは、所定トルク成分Ｔｒｑｘから回転変動値ΔＮＥ０の時系列データの所定の周波数成分の位相に相当する情報を抽出する処理である。ここで、回転変動値ΔＮＥ０は、時系列的に隣り合う気筒別回転速度ω１２０同士の差であり、これは気筒別回転速度ω１２０に一種のフィルタ処理を施した値であるため、位相遅れを伴う。これに対し、所定トルク成分Ｔｒｑｘは、時系列的に隣り合う気筒別回転速度ω１２０同士の差を示すパラメータではないため、回転変動値ΔＮＥ０の時系列データの所定の周波数成分と所定トルク成分Ｔｒｑｘの時系列データとには位相ずれが生じる。このため、回転変動値ΔＮＥ０の時系列データの所定の周波数成分の位相と所定トルク成分Ｔｒｑｘの時系列データの位相との差を低減するために、所定トルク成分Ｔｒｑｘのうちの所定の位相の値を選択的に採用する。ここで、所定の位相は、回転変動値ΔＮＥ０を算出する具体的な処理に用いるパラメータ等に応じて適合されるものである。また、調整トルクＴｒｑｃは、所定トルク成分Ｔｒｑｘのうちの所定の位相の値を１２０°ＣＡの間キープする値である。
【００３５】
振幅算出処理部Ｍ５４は、２次成分ΔＮＥＳの振幅と３次成分ΔＮＥＴの振幅とに基づき、回転変動値ΔＮＥ０の時系列データの所定の周波数成分に関する共振の影響が排除された場合の振幅を算出する。これは、回転変動値ΔＮＥ０のサイクル１次成分に関する共振の影響が排除された場合の振幅が、２次成分ΔＮＥＳの振幅や３次成分ΔＮＥＴの振幅と相関を有することを利用したものである。上述したように、本実施形態においては、サイクル１次成分が共振周波数帯に入るときに図２に示す処理を実行するため、回転変動値ΔＮＥ０の所定の周波数成分は、サイクル１次成分となる。ここで、振幅とは、１燃焼サイクル内の時系列データのうちの最小値と最大値との差のことである。
【００３６】
詳しくは、２次成分ΔＮＥＳの振幅と３次成分ΔＮＥＴの振幅とのうち大きい方の値に基づき、回転変動値ΔＮＥ０の時系列データの所定の周波数成分に関する共振の影響が排除された場合の振幅を算出する。具体的には、入力変数としての２次成分ΔＮＥＳの振幅と、出力変数としての所定の周波数成分の振幅との関係を定めたマップや、入力変数としての３次成分ΔＮＥＴの振幅と、出力変数としての所定の周波数成分の振幅との関係を定めたマップをＲＯＭ６４に記憶しておく。そして、ＣＰＵ６２は、回転変動値ΔＮＥ０の時系列データの所定の周波数成分に関する共振の影響が排除された場合の振幅をマップ演算する。なお、マップとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップの入力変数の値のいずれかに一致する場合、対応する出力変数の値を演算結果とし、一致しない場合、組データに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００３７】
波形整形処理部Ｍ５６は、回転変動値ΔＮＥ０の時系列データの所定の周波数成分である所定成分ΔＮＥＦとして、振幅算出処理部Ｍ５４が算出した振幅と、位相調整処理部Ｍ５２の出力する位相とを有する時系列データを算出する。本実施形態では、この処理を、位相調整処理部Ｍ５２の出力する調整トルクＴｒｑｃの時系列データを、振幅算出処理部Ｍ５４が算出した振幅によってスケール変換することで行う。
【００３８】
図７（ａ）は、調整トルクＴｒｑｃの時系列データを示し、図７（ｂ）は、所定成分ΔＮＥＦの時系列データを示す。ここで、調整トルクＴｒｑｃの時系列データの１燃焼サイクルにおける最大値と最小値との差は、所定成分ΔＮＥＦにおいては、振幅算出処理部Ｍ５４が算出した振幅に変換されている。この処理は、調整トルクＴｒｑｃの時系列データの１燃焼サイクルにおける最大値から最小値を減算した値ΔＭＭと、振幅算出処理部Ｍ５４が算出した振幅Ａとを用いて、調整トルクＴｒｑｃの時系列データを、「Ａ／ΔＭＭ」倍する処理によって実現できる。
【００３９】
図２に戻り、復元処理部Ｍ５８は、除去成分Ｄｅｘ０と、所定成分ΔＮＥＦとを合成することによって、回転変動値ΔＮＥを算出する。所定成分ΔＮＥＦは、ねじれ成分除去処理部Ｍ４０の処理によって共振の影響が除去されたものであるため、回転変動値ΔＮＥは、回転変動値ΔＮＥ０から共振の影響を除去したものである。
【００４０】
失火判定処理部Ｍ６０は、回転変動値ΔＮＥの時系列データに基づき、失火の有無を検出する。すなわち、図８に示すように、回転変動値ΔＮＥと閾値Δｔｈとの大小比較に基づき、気筒＃１〜＃６の少なくとも１つの気筒において、繰り返し失火（連続的な失火）が生じているか否かを判定する。すなわち、失火判定処理部Ｍ６０は、回転変動値ΔＮＥの時系列データと閾値Δｔｈとの大小比較結果が、図８に示すように１燃焼サイクルに１度、回転変動値ΔＮＥが閾値Δｔｈを周期的に跨ぐ場合、１つの気筒において繰り返し失火が生じていると判定する。また、失火判定処理部Ｍ６０は、回転変動値ΔＮＥが閾値Δｔｈを周期的に跨ぐ位相に応じて、失火が生じている気筒を特定する。
【００４１】
図９に、本実施形態にかかる上記連続的な失火の検出に関する処理の手順を示す。図９に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が所定周期で繰り返し実行することにより実現される。
【００４２】
図９に示す一連の処理において、ＣＰＵ６２は、まずロックアップクラッチ３２の締結状態であるか否かを判定する（Ｓ１０）。そしてＣＰＵ６２は、締結状態であると判定する場合（Ｓ１０：ＹＥＳ）、クランク軸１２の回転速度ＮＥを算出する（Ｓ１２）。ここで、回転速度ＮＥは、気筒別回転速度ω１２０を規定する角度間隔よりも長い角度間隔における平均的な回転速度である。具体的には、たとえば、ＣＰＵ６２は、時系列的に隣り合う瞬時回転時間Ｔ３０を５個以上用いて回転速度ＮＥを算出する。
【００４３】
次に、ＣＰＵ６２は、回転速度ＮＥが共振下限値ＮＥｔｈＬ以上であることと共振上限値ＮＥｔｈＨ以下であることとの論理積が真であるか否かを判定する（Ｓ１４）。共振下限値ＮＥｔｈＬは、上記駆動系の共振周波数帯の下限値を示し、共振上限値ＮＥｔｈＨは、上記駆動系の共振周波数帯の上限値を示す。この処理は、回転速度ＮＥが共振周波数帯に入ることによって回転変動値ΔＮＥ０への共振の影響が顕著となり、回転変動値ΔＮＥ０によっては、失火を高精度に検出することが困難であるか否かを判定するものである。
【００４４】
ＣＰＵ６２は、論理積が真であると判定する場合（Ｓ１４：ＹＥＳ）、図２に示した処理によって回転変動値ΔＮＥの時系列データを算出する（Ｓ１８）。そして、ＣＰＵ６２は、回転変動値ΔＮＥの時系列データと閾値Δｔｈとの大小比較に基づき失火の有無を判定する上述の失火判定処理部Ｍ６０の処理を実行する（Ｓ２０）。本実施形態において、閾値Δｔｈは、図８に示したように負の値であり、回転変動値ΔＮＥが閾値Δｔｈよりも小さい場合に失火が生じていると判定する。ここで、ＣＰＵ６２は、回転速度ＮＥが高い場合に低い場合よりも閾値Δｔｈの絶対値を小さい値とする。これは、回転速度ＮＥが高い場合に低い場合よりも失火による回転速度の落ち込みが生じにくくなるためである。またＣＰＵ６２は、負荷ＫＬが高い場合に低い場合よりも閾値Δｔｈの絶対値を大きい値とする。これは、負荷ＫＬが高い場合には低い場合よりも失火による回転速度の落ち込みが大きくなるためである。ちなみに、負荷ＫＬは、筒内充填空気量と相関を有するパラメータであり、吸入空気量Ｇａおよび回転速度ＮＥに基づき算出される。
【００４５】
ＣＰＵ６２は、失火が生じていると判定する場合には、図１に示した警告灯８０を操作して、ユーザに異常が生じた旨を通知するとともに、不揮発性メモリ６６に異常の内容を記憶する。不揮発性メモリ６６に異常内容を記憶することにより、制御装置６０から情報を取り出す装置によって、異常内容を外部に取り出すことが可能となるため、異常内容の記憶処理は、外部への通知のための処理である。
【００４６】
これに対し、ＣＰＵ６２は、ロックアップクラッチが解除状態であると判定する場合（Ｓ１０：ＮＯ）や、上記論理積が偽であると判定する場合（Ｓ１４：ＮＯ）には、Ｓ１６の処理に移行する。ＣＰＵ６２は、Ｓ１６の処理において、図２に示した瞬時回転時間算出処理部Ｍ１０、気筒別速度算出処理部Ｍ１２および回転変動値算出処理部Ｍ１４の処理と同一の処理によって回転変動値ΔＮＥ０を算出し、回転変動値ΔＮＥ０に基づき失火の有無を判定する。なお、この処理は、回転変動値ΔＮＥ０と閾値Δｔｈとの大小を比較し、回転変動値ΔＮＥ０が閾値Δｔｈよりも小さい場合に失火が生じていると判定する処理となる。そして、ＣＰＵ６２は、失火が生じていると判定する場合には、図１に示した警告灯８０を操作して、ユーザに異常が生じた旨を通知するとともに、不揮発性メモリ６６に異常の内容を記憶する。
【００４７】
なお、ＣＰＵ６２は、Ｓ１６，Ｓ２０の処理が完了する場合には、図９に示した一連の処理を一旦終了する。
ここで、本実施形態の作用を説明する。
【００４８】
ＣＰＵ６２は、通常は、回転変動値ΔＮＥ０と閾値Δｔｈとの大小比較に基づき連続的な失火の有無を判定するものの、回転速度ＮＥが共振周波数帯に入る場合には、回転変動値ΔＮＥと閾値Δｔｈとの大小比較に基づき、連続的な失火の有無を判定する。ここで、１つの気筒に連続的な失火が生じているときに共振周波数帯に入る場合の回転変動値ΔＮＥ０は、図４（ａ）に例示したように、図８に例示したものとは大きく異なっている。そして、図４（ａ）に例示したものの場合、１燃焼サイクルに対応する６個の回転変動値ΔＮＥ０のうちの特定の１つのみが小さい値となるわけではないため、どの気筒において失火が生じたのかや、いくつの気筒で失火が生じているのかを正確に把握することが困難である。
【００４９】
これに対し、本実施形態では、共振周波数帯においてねじれ成分除去処理部Ｍ４０の処理を利用した回転変動値ΔＮＥを用いることにより、１つの気筒において繰り返し失火が生じている場合であっても、図８に示すように、閾値Δｔｈとの大小比較に基づき、失火の有無といずれの気筒において失火が生じているかとを判定することができる。
【００５０】
特に、本実施形態では、所定成分ΔＮＥＦと、除去成分Ｄｅｘ０との合成によって、回転変動値ΔＮＥを算出し、共振の影響を受けにくい除去成分Ｄｅｘ０については、ＮＴ信号Ｓｔを利用することなくクランク信号Ｓｃｒのみから算出されるものを用いた。これにより、共振の影響を排除しつつも、回転変動値ΔＮＥへのＮＴ信号Ｓｔの影響やねじれ成分除去処理部Ｍ４０のモデル誤差の影響を極力抑制することができる。このため、ＮＴ信号Ｓｔの誤差やねじれ成分除去処理部Ｍ４０のモデル誤差が、失火の検出精度に与える影響を抑制することができる。
【００５１】
ちなみに、本実施形態において共振現象が生じているときに検出可能であるのは１つの気筒で繰り返し失火が生じている場合のみではない。図１０に、気筒＃１および気筒＃３において繰り返し失火が生じている場合を示す。詳しくは、図１０（ａ）は、回転変動値ΔＮＥ０の時系列データを示し、図１０（ｂ）は、回転変動値ΔＮＥの時系列データを示す。図１０（ｂ）に示すように、回転変動値ΔＮＥは、１燃焼サイクルにおいて２度、回転変動値ΔＮＥが顕著に落ち込んだ値となっている。このため、この回転変動値ΔＮＥの時系列データを用いることにより、気筒＃１および気筒＃３における連続的な失火を判定することができる。
【００５２】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（１）ＣＰＵ６２は、回転速度ＮＥが共振周波数帯に入ったと判定することを条件に、回転変動値ΔＮＥを算出して、これに基づき失火の有無を判定した。これにより、共振周波数帯に入っていない場合におけるＣＰＵ６２の演算負荷を軽減することができる。
【００５３】
（２）回転変動値ΔＮＥ０の所定の周波数成分を復元するうえで、所定トルク成分Ｔｒｑｘからは位相のみを利用した。これにより、振幅を含めて全て所定トルク成分Ｔｒｑｘから抽出する場合と比較すると、入力軸角度センサ７２による角度の検出誤差や、ねじれ成分除去処理部Ｍ４０において利用した単一のダンパ７６のモデルの誤差が回転変動値ΔＮＥに影響する度合いを軽減することができる。
【００５４】
（３）所定トルク成分Ｔｒｑｘの位相を調整することにより、波形整形処理部Ｍ５６において位相が参照される調整トルクＴｒｑｃを算出した。これにより、除去トルクＴｒｑｉの時系列データに基づき、回転変動値ΔＮＥ０の算出処理と同様の処理を行うことなく、回転変動値ΔＮＥ０の所定の周波数成分の位相情報を得ることができる。このため、演算負荷を軽減することができる。
【００５５】
（４）ＣＰＵ６２は、燃焼サイクルの２次の周波数成分の振幅または３次の周波数成分の振幅に基づき、回転変動値ΔＮＥ０の所定の周波数成分の振幅を算出した。ここで、回転速度ＮＥが共振周波数帯に入る場合、所定の周波数成分は、燃焼サイクルの１次の周波数成分となる。このため、サイクル１次の周波数成分の振幅がサイクル２次の周波数成分の振幅やサイクル３次の周波数成分の振幅と相関を有する傾向に鑑みて、回転変動値ΔＮＥ０から共振の影響を除去したものの所定の周波数成分の振幅を算出することができる。
【００５６】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。
【００５７】
［１］回転軸は、入力軸３６に対応し、所定成分算出処理は、ねじれ成分除去処理部Ｍ４０の処理および所定成分抽出処理部Ｍ５０の処理に対応し、所定成分算出処理によって算出される時系列データは、所定トルク成分Ｔｒｑｘや所定速度成分ωｘに対応する。所定成分除去処理は、所定成分除去処理部Ｍ１６の処理に対応し、所定成分除去処理によって算出される時系列データは、除去成分Ｄｅｘ０の時系列データに対応する。復元処理は、復元処理部Ｍ５８の処理に対応し、失火判定処理は、失火判定処理部Ｍ６０の処理に対応する。失火検出装置は、制御装置６０に対応する。［２］周波数判定処理は、Ｓ１４の処理に対応する。［３］振幅算出処理は、振幅算出処理部Ｍ５４の処理に対応し、波形整形処理は、波形整形処理部Ｍ５６の処理に対応する。［４］位相調整処理は、位相調整処理部Ｍ５２の処理に対応する。
【００５８】
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
・「所定成分算出処理について」
ねじれ成分除去処理部Ｍ４０が除去トルクＴｒｑｉを算出することは必須ではない。たとえば、ＮＥ速度ωＮＥからねじれ成分が除去された除去速度ωｉであってもよい。図１１に、ねじれ成分除去処理部Ｍ４０が除去速度ωｉを算出する例を示す。なお、図１１において、図２に示した処理に対応する処理については、便宜上、同一の符号を付している。
【００５９】
図１１に示すように、ねじれ成分除去処理部Ｍ４０において、積分要素Ｍ４４の出力値には、係数乗算処理部Ｍ４５ａによって、図２の係数乗算処理部Ｍ４５の係数Ｋを図２の係数乗算処理部Ｍ４２の係数Ｉによって除算した「Ｋ／Ｉ」が乗算される。そして係数乗算処理部Ｍ４５ａの出力値は、積分要素Ｍ４７に入力される。この積分要素Ｍ４７の出力値は、ねじれに起因した回転速度成分である。このため、除去処理部Ｍ４６では、ＮＥ速度ωＮＥと積分要素Ｍ４７の出力値とを加算して、除去速度ωｉを算出する。ちなみに、この場合、所定成分抽出処理部Ｍ５０では、除去速度ωｉの所定の周波数成分を抽出して所定速度成分ωｘの時系列データとして出力し、位相調整処理部Ｍ５２は、その位相を調整して調整速度ωｃの時系列データを出力する。そして、波形整形処理部Ｍ５６では、調整速度ωｃの位相を有して且つ振幅算出処理部Ｍ５４が算出した振幅を有する所定成分ΔＮＥＦを算出する。
【００６０】
もっとも、ねじれ成分除去処理部Ｍ４０の出力値の次元がトルクまたは速度であることも必須ではない。たとえば、図１１に示す除去速度ωｉから３０°ＣＡの回転に要する時間を算出し、これを出力値とすることによって、出力値の次元を時間としてもよい。
【００６１】
ねじれ成分除去処理部Ｍ４０の出力値に所定成分抽出処理部Ｍ５０によって所定の周波数成分を抽出するためのバンドパスフィルタ処理を施すことも必須ではない。たとえば、ＮＥ速度ωＮＥおよびＮＴ速度ωＮＴのそれぞれに所定の周波数成分を抽出するためのバンドパスフィルタ処理を施し、それらフィルタ処理値を、ねじれ成分除去処理部Ｍ４０の入力パラメータとしてもよい。
【００６２】
上記実施形態では、ダンパ７６のモデルに起因した係数Ｋ，Ｉについて特に言及しなかったが、これを特許文献１に記載されているように、学習更新してもよい。これにより、モデルの誤差を低減することができることから、除去トルクＴｒｑｉ等をより高精度な値とすることができる。
【００６３】
・「周波数判定処理について」
下記の「所定の周波数成分について」の欄に記載したように、内燃機関１０の正常運転時において、回転速度ＮＥがとりうる回転周波数領域内に顕著な共振現象が生じる周波数帯が複数ある場合には、それら複数の周波数帯のいずれかに入るか否かを判定する処理と、複数の周波数帯のうちのいずれに入ったかを判定する処理とを実行する。なお、この場合、図２の所定成分除去処理部Ｍ１６による除去対象や、振幅算出処理部Ｍ５４に入力される周波数成分、所定成分抽出処理部Ｍ５０による抽出対象を、特定された周波数帯に応じて変更する。また、この場合、２次フィルタＭ１８や３次フィルタＭ２０に代えて、下記の「振幅算出処理について」の欄に例示した振幅を算出可能なフィルタを用いる。
【００６４】
なお、上記実施形態のように、内燃機関１０の正常運転時において、回転速度ＮＥがとりうる回転周波数領域内に顕著な共振現象が生じる周波数帯が１つの場合には、判定処理を実行しなくてもよい。ただし、上記実施形態において判定処理を削除する場合、２次フィルタＭ１８では、サイクル２次の周波数成分を抽出し、３次フィルタＭ２０では、サイクル３次の周波数成分を抽出し、所定成分除去処理部Ｍ１６では、サイクル１次の周波数成分を除去し、所定成分抽出処理部Ｍ５０では、サイクル１次の周波数成分を抽出する。これにより、回転速度ＮＥが共振周波数帯に入るときには、上記実施形態と同様の処理がなされ、同等の効果を奏する。一方、回転速度ＮＥが共振周波数帯に入らないときには、回転変動値ΔＮＥは回転変動値ΔＮＥ０と同等の値となるため、これに基づき連続的な失火を判定することができる。
【００６５】
・「所定成分除去処理について」
回転変動値ΔＮＥ０を入力とし、所定成分を除去するバンドパスフィルタ処理を実行することは必須ではない。たとえば、気筒別回転速度ω１２０に所定成分を除去するバンドパスフィルタ処理を施した後、フィルタ処理後の気筒別回転速度ω１２０のうちの時系列的に隣り合う一対の気筒別回転速度ω１２０同士の差を算出し、これを所定成分除去処理部Ｍ１６の出力値としてもよい。またたとえば、瞬時回転時間Ｔ３０に所定成分を除去するバンドパスフィルタ処理を施した後、フィルタ処理後の瞬時回転時間Ｔ３０から気筒別回転速度ω１２０の時系列データを算出し、それに基づき時系列的に隣り合う一対の気筒別回転速度ω１２０同士の差を、所定成分除去処理部Ｍ１６の出力値としてもよい。
【００６６】
・「所定の周波数成分について」
上記実施形態では、サイクル１次の周波数成分が共振周波数帯に入ることを例示したがこれに限らない。たとえば、サイクル２次の周波数成分やサイクル０．５次の周波数成分が共振周波数帯に入るものであってもよい。さらに、内燃機関１０の正常運転時において、回転速度ＮＥがとりうる回転周波数領域内に顕著な共振現象が生じる周波数帯が１つしかないことも必須ではない。
【００６７】
・「所定の周波数成分の位相の算出手法について」
上記実施形態では、位相調整処理部Ｍ５２において、所定成分抽出処理部Ｍ５０の出力値のうちの所定の位相の出力値を選択したが、これに限らない。たとえば、図１１に示した除去速度ωｉに基づき気筒別回転速度ω１２０を算出するとともに、これに基づき時系列的に隣り合う一対の気筒別回転速度ω１２０同士の差を算出し、さらに所定成分を透過させるバンドバスフィルタ処理をしたものの位相をそのまま用いてもよい。
【００６８】
・「振幅算出処理について」
たとえば、図２の処理において、３次フィルタＭ２０を削除し、２次成分ΔＮＥＳの振幅に基づき所定の周波数成分の振幅を算出してもよい。
【００６９】
また、サイクル２次の周波数成分の振幅とサイクル３次の周波数成分の振幅とのいずれかを用いて、サイクル１次の周波数成分の振幅を算出するものに限らない。たとえば「所定の周波数成分について」の欄に記載したように、サイクル２次の周波数が共振周波数帯に入る場合には、サイクル１次の周波数成分の振幅とサイクル３次の周波数成分の振幅とのいずれかを用いて、サイクル２次の周波数成分の振幅を算出してもよい。またたとえば、「内燃機関について」の欄に記載したように、８気筒の内燃機関の場合、サイクル１次の周波数成分の振幅を、サイクル２次の周波数成分の振幅とサイクル４次の周波数成分の振幅とのうちのいずれかを用いて算出してもよい。
【００７０】
・「復元処理について」
波形整形処理部Ｍ５６の出力する所定成分ΔＮＥＦと、除去成分Ｄｅｘ０とを合成する処理を行うものに限らない。たとえば、所定成分ΔＮＥＦに代えて、図１１に示した除去速度ωｉに基づき気筒別回転速度ω１２０の時系列データを算出するとともに、それらのうちの時系列的に隣り合う一対の気筒別回転速度ω１２０同士の差を算出し、さらに所定の周波数成分を透過させるバンドバスフィルタ処理をしたものを用いてもよい。この場合であっても、所定の周波数以外の成分については、ＮＴ信号Ｓｔを利用することなく算出されたものが用いられるため、復元された回転変動値の時系列データからＮＴ信号Ｓｔによる検出誤差の影響を抑制することができる。
【００７１】
・「失火判定処理について」
閾値Δｔｈを、回転速度ＮＥおよび負荷ＫＬによって可変設定することは必須ではない。たとえば、回転速度ＮＥのみによって可変設定したり、負荷ＫＬのみによって可変設定したり、固定値としたりしてもよい。
【００７２】
・「失火判定処理の入力となる回転挙動を示す時系列データについて」
回転変動値ΔＮＥを算出する上で用いる気筒別回転速度としては、３０〜１５０ＡＴＤＣの区間の回転速度に限らない。たとえば、下記「内燃機関について」の欄に記載したように、内燃機関の気筒数が４個である場合には、１８０°ＣＡの区間の回転速度としてもよい。もっとも、これは、Ｎ個の気筒を有する内燃機関においては、「７２０°ＣＡ／Ｎ」の区間の回転速度を気筒別回転速度とすることが必須であることを意味しない。たとえば、６気筒の内燃機関において、気筒別回転速度を６０〜１５０ＡＴＤＣの区間の回転速度としてもよい。また、たとえば気筒別回転速度を定める区間の位相を点火時期に応じて可変設定してもよい。
【００７３】
上記実施形態では、圧縮上死点が時系列的に隣り合う一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔における回転速度である気筒別回転速度同士の差を回転変動値ΔＮＥとしたが、これに限らない。たとえば、圧縮上死点が時系列的に隣り合う一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔の回転に要する時間同士の差を回転変動値ΔＮＥとしてもよい。具体的には、図３（ｃ）に示すように、たとえば時系列的に隣り合う気筒別回転時間Ｔ１２０同士の差を回転変動値ΔＮＥとすればよい。またたとえば、圧縮上死点が時系列的に前後する一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔におけるクランク軸１２のトルクである気筒別トルク同士の差であってもよい。ここで、気筒別トルクは、たとえば瞬時トルクＴｒｑ０の、対応する気筒における３０〜１５０ＡＴＤＣの期間の値の平均値とすればよい。
【００７４】
クランク信号に現れるクランク軸の回転挙動に応じて圧縮上死点が時系列的に前後する一対の気筒のそれぞれの燃焼の影響が現れる回転角度間隔における回転挙動同士の差を定量化する手法としては、気筒別回転速度同士の差や気筒別回転時間同士の差、気筒別トルク同士の差を用いるものに限らない。たとえば、各気筒の気筒別回転速度に相当する量を、９０〜１２０ＡＴＤＣの区間の瞬時速度から３０〜６０ＡＴＤＣの区間の瞬時速度を減算した値とし、時系列的に圧縮上死点が隣り合う気筒に関する上記相当する量同士の差を算出してもよい。
【００７５】
なお、回転変動値ΔＮＥとしては、時系列的に圧縮上死点が隣り合う気筒同士の気筒別回転速度や同速度に相当する量等の差に限らない。たとえば、時系列的に間に他の１つの気筒の圧縮上死点が介在する一対の気筒同士の気筒別回転速度ω１２０同士の差としてもよい。すなわち、たとえば第３の気筒＃３の気筒別回転速度ω１２０から第１の気筒＃１の気筒別回転速度ω１２０を減算した値等を回転変動値ΔＮＥとしてもよい。
【００７６】
・「失火の検出結果の外部への通知のための処理について」
上記実施形態では、失火の検出結果の外部への通知のための処理として、警告灯８０の操作処理と、不揮発性メモリ６６への異常の内容の記憶処理とを例示したが、これに限らない。たとえば、不揮発性メモリ６６への異常の内容の記憶処理のみを実行してもよく、またたとえば警告灯８０の操作処理のみを実行してもよい。さらに、異常がある旨の音声信号をスピーカから出力する処理であってもよく、外部に異常の内容等に関する無線信号を出力する処理であってもよい。すなわち、異常が生じたことを外部に通知するために電子機器を操作する処理における上記電子機器としては、警告灯８０や不揮発性メモリ６６に限らず、スピーカや無線送信機等であってもよい。
【００７７】
・「内燃機関について」
内燃機関１０としては、６気筒の内燃機関に限らない。たとえば、４気筒や８気筒のものであってもよい。なお、８気筒の場合、３次フィルタＭ２０に代えて、４次成分を抽出するフィルタを用いることが望ましい。
【００７８】
内燃機関としては、筒内充填空気量によってトルクを調整するものに限らず、たとえばディーゼル機関のように噴射量に応じてトルクを調整するものであってもよい。この場合、負荷ＫＬを、噴射量やアクセル操作量とすればよい。
【００７９】
・「失火検出装置について」
ＣＰＵ６２とＲＯＭ６４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、失火検出装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、１または複数のソフトウェア処理回路および１または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【００８０】
なお、専用のハードウェア回路を備える場合、所定成分除去処理部Ｍ１６の処理や、２次フィルタＭ１８の処理、３次フィルタＭ２０の処理、所定成分抽出処理部Ｍ５０の処理のうちの少なくとも１つの処理を、アナログフィルタにて実行してもよい。
【００８１】
・「そのほか」
クランク軸１２がトルクコンバータ３０および変速装置３４を介して駆動輪５０に連結可能とされる構成であることは必須ではない。たとえば、クランク軸１２に、モータジェネレータおよび駆動輪が機械的に連結された遊星歯車機構が機械的に連結された構成であってもよい。
【００８２】
クランクロータ２０の歯部２２間の間隔としては、１０°ＣＡに限らない。また、瞬時回転時間としては、３０°ＣＡの回転に要する時間に限らず、ＮＥ速度としては３０°ＣＡの間隔の回転速度に限らない。
【００８３】
ＮＴロータ４０の歯部４２間の間隔としては、１２°に限らない。また、ＮＴ速度としては、２４°の回転に要する時間に限らない。
上記実施形態では、２次フィルタＭ１８および３次フィルタＭ２０等のそれぞれの位相遅れに相違が生じない設計を前提としたが、これに限らない。各フィルタの位相遅れ同士に相違が生じる場合、その位相ずれを調整する処理を加えればよい。
【符号の説明】
【００８４】
１０…内燃機関、１２…クランク軸、２０…クランクロータ、２２…歯部、２４…欠け歯部、３０…トルクコンバータ、３２…ロックアップクラッチ、３４…変速装置、３６…入力軸、３８…出力軸、４０…ＮＴロータ、４２…歯部、５０…駆動輪、６０…制御装置、６２…ＣＰＵ、６４…ＲＯＭ、６６…不揮発性メモリ、７０…クランク角センサ、７２…入力軸角度センサ、７４…エアフローメータ、８０…警告灯。
【図１】
2018159349.tif 000003
【図２】
2018159349.tif 000004
【図３】
2018159349.tif 000005
【図４】
2018159349.tif 000006
【図５】
2018159349.tif 000007
【図６】
2018159349.tif 000008
【図７】
2018159349.tif 000009
【図８】
2018159349.tif 000010
【図９】
2018159349.tif 000011
【図１０】
2018159349.tif 000012
【図１１】
2018159349.tif 000013