(57)【特許請求の範囲】
【請求項１】
車両に搭載された内燃機関に適用されて、気筒間の燃焼状態のばらつきを伴う同内燃機関の既定の運転状態を検出するシステムであって、
各気筒の燃焼トルクの発生期間における前記内燃機関のクランク軸の回転速度の気筒間差に関する情報を含む変数である回転波形変数、前記内燃機関と駆動輪との動力伝達経路に配置された回転要素である駆動系回転要素の回転速度の情報を表す変数である駆動系回転速度変数、及び気筒間の燃焼状態のばらつき度合いに関する変数である燃焼状態変数の３つの変数について、前記回転波形変数及び前記駆動系回転速度変数を入力とするとともに前記燃焼状態変数を出力とする写像であって、機械学習によって学習されたパラメータに基づく前記回転波形変数及び前記駆動系回転速度変数の結合演算により前記燃焼状態変数の値を出力する写像を検出用写像としたとき、
前記検出用写像を規定するデータである写像データを記憶する記憶装置と、
前記クランク軸の回転挙動を検出するセンサの出力に基づき前記回転波形変数の値を取得するとともに前記駆動系回転要素の回転挙動を検出するセンサの出力に基づき前記駆動系回転速度変数の値を取得する取得処理、及び前記取得処理で取得した前記回転波形変数及び前記駆動系回転速度変数のそれぞれの値を入力とした前記検出用写像の出力値に基づいて前記内燃機関が前記既定の運転状態にあるか否かを判定する判定処理を実行する実行装置と、
を備える内燃機関の状態検出システム。
【請求項２】
前記既定の運転状態は、失火が発生した状態である請求項１に記載の内燃機関の状態検出システム。
【請求項３】
前記既定の運転状態は、気筒間の空燃比のばらつきが生じた状態である請求項１に記載の内燃機関の状態検出システム。
【請求項４】
前記駆動系回転要素は、変速機入力軸である請求項１〜請求項３のいずれか１項に記載の内燃機関の状態検出システム。
【請求項５】
前記駆動系回転速度変数は、前記駆動系回転要素の回転速度の時系列データを示す変数である請求項１〜請求項４のいずれか１項に記載の内燃機関の状態検出システム。
【請求項６】
前記実行装置は、前記判定処理により前記内燃機関が前記既定の運転状態にあると判定されたときに、規定のハードウェアを操作して同既定の運転状態に対処するための対処処理を実行する請求項１〜５のいずれか１項に記載の内燃機関の状態検出システム。
【請求項７】
前記判定処理は、前記取得処理にて取得した前記回転波形変数及び前記駆動系回転速度変数の値を入力とする前記検出用写像の出力値を算出する出力値算出処理を含み、
前記実行装置は、車両に搭載された第１実行装置と前記車両の外部に配置された第２実行装置とを含み、
前記第１実行装置は、前記取得処理と、前記出力値算出処理の算出結果に基づく信号を受信する車両側受信処理と、を実行し、
かつ前記第２実行装置は、前記出力値算出処理と、前記出力値算出処理の算出結果に基づく信号を前記車両に送信する外部側送信処理と、を実行する
請求項１〜請求項６のいずれか１項に記載の内燃機関の状態検出システム。
【請求項８】
請求項７に記載の前記第２実行装置及び前記記憶装置を備えるデータ解析装置。
【請求項９】
請求項７に記載の前記第１実行装置を備える車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された内燃機関における気筒間の燃焼状態のばらつきを伴う運転状態を検出するためのシステム、及び同システムを構成するデータ解析装置及び車両に関する。
【背景技術】
【０００２】
内燃機関では、失火や空燃比のばらつき等により、気筒間の燃焼状態のばらつきが生じるとクランク軸の回転変動が大きくなる。そのため、クランク軸の回転変動パターンに基づいて、失火や空燃比のばらつき等を検出することが可能である。例えば特許文献１には、既定周期毎にサンプリングした内燃機関のクランク軸の回転速度の時系列データを入力層に入力し、失火が生じた気筒の情報を出力層から出力するように構成した階層型神経回路モデルを用いて失火を検出する失火検出システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−９１３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、車両に搭載された内燃機関では、駆動輪に動力を伝える駆動系がクランク軸の回転挙動に影響を与える。そしてその影響で、上記のようなクランク軸の回転変動パターンに基づく失火等の検出精度が低下する虞がある。
【課題を解決するための手段】
【０００５】
上記課題を解決する内燃機関の状態検出システムは、車両に搭載された内燃機関に適用されて、気筒間の燃焼状態のばらつきを伴う同内燃機関の既定の運転状態を検出する。ここで、各気筒の燃焼トルクの発生期間における内燃機関のクランク軸の回転速度の気筒間差に関する情報を含む変数を回転波形変数とし、内燃機関と駆動輪との動力伝達経路に配置された回転要素である駆動系回転要素の回転速度の情報を表す変数を駆動系回転速度変数とする。また、気筒間の燃焼状態のばらつき度合いに関する変数を燃焼状態変数とする。そして、上記回転波形変数及び駆動系回転速度変数を入力とするとともに上記燃焼状態変数を出力とする写像であって、機械学習によって学習されたパラメータに基づく回転波形変数及び駆動系回転速度変数の結合演算により燃焼状態変数の値を出力する写像を検出用写像とする。
【０００６】
このとき、上記状態検出システムは、検出用写像を規定するデータである写像データを記憶する記憶装置と、クランク軸の回転挙動を検出するセンサの出力に基づき回転波形変数の値を取得するとともに駆動系回転要素の回転挙動を検出するセンサの出力に基づき駆動系回転速度変数の値を取得する取得処理、及びその取得処理で取得した回転波形変数及び駆動系回転速度変数のそれぞれの値を入力とした検出用写像の出力値に基づいて内燃機関が上記既定の運転状態にあるか否かを判定する判定処理を実行する実行装置と、を備えている。
【０００７】
各気筒の燃焼状態にばらつきが生じると、各気筒の燃焼トルクに差異が生じるため、各気筒の燃焼トルクの発生期間におけるクランク軸の回転速度に気筒間差が生じる。こうしたクランク軸の回転速度の気筒間差に関する情報は、クランク軸の回転挙動を検出するセンサの出力から取得できる。燃焼トルクの発生期間におけるクランク軸の回転速度の気筒間差が単純に各気筒の燃焼状態のばらつきのみに起因して生じるのであれば、同回転速度の気筒間差に関する情報から、失火や気筒間空燃比インバランスのような気筒間の燃焼状態のばらつきを伴う内燃機関の運転状態を精度良く検出できることになる。これに対して上記構成では、気筒間の燃焼状態のばらつきが燃焼トルクの発生期間のクランク軸の回転速度の気筒間差を生じさせることに鑑み、同回転速度の気筒間差の情報を含む回転波形変数を検出用写像への入力に含めている。
【０００８】
一方、車両に搭載された内燃機関では、同内燃機関の動力を駆動輪に伝える駆動系がクランク軸の回転挙動に影響する。これに対して上記構成では、内燃機関と駆動輪との動力伝達経路に配置された回転要素である駆動系回転要素の回転速度の情報を表す駆動系回転速度変数も、検出用写像の入力に含めている。そして、上記構成では、機械学習により学習されたパラメータに基づく回転波形変数及び駆動系回転速度変数の結合演算により算出した燃焼状態変数の値に基づき、上記既定の運転状態の発生の有無を判定している。ここでのパラメータは、上記のような回転波形変数及び駆動系回転速度変数のそれぞれが様々な値を取るときの上記既定の運転状態の発生の有無に基づき学習できる。そのため、駆動系がクランク軸の回転挙動に与える影響を踏まえたかたちで上記状態検出を実施できる。したがって、車両に搭載された内燃機関における上記既定の運転状態の検出精度を向上できる。
【０００９】
上記構成の状態検出システムは、失火が発生した状態や気筒間の空燃比のばらつきが生じた状態の検出を行うシステムとして構成できる。また、上記構成における駆動系回転要素の回転速度としては、変速機入力軸の回転速度を用いることができる。ちなみに、回転速度を取得可能な駆動系回転要素としては、変速機入力軸の他にも変速機出力軸や駆動輪軸が考えられる。
【００１０】
さらに上記構成における駆動系回転速度変数としては、上記駆動系回転要素の回転速度の時系列データを示す変数を用いることが望ましい。こうした場合、駆動系回転要素の回転速度の変化がクランク軸の回転挙動に影響するまでの遅れを反映したかたちで回転変動検出を行うことができるようになる。
【００１１】
なお、上記状態検出システムにおける実行装置は、判定処理により内燃機関が既定の運転状態にあると判定されたときに、規定のハードウェアを操作して同既定の運転状態に対処するための対処処理を実行することが望ましい。対処処理には、例えば、内燃機関が既定の運転状態にあることを乗員に報知する処理や、既定の運転状態の解消や軽減を図る処理が含まれる。
【００１２】
さらに上記状態検出システムは、次のように構成することも可能である。すなわち、取得処理にて取得した回転波形変数及び駆動系回転速度変数の値を入力とする検出用写像の出力値を算出する出力値算出処理を含む処理として判定処理を行い、かつ車両に搭載された第１実行装置と同車両の外部に配置された第２実行装置とを含むものとして実行装置を構成する。そして、取得処理と出力値算出処理の算出結果に基づく信号を受信する車両側受信処理とを車両に搭載された第１実行装置が実行し、上記出力値算出処理とその出力値算出処理の算出結果に基づく信号を車両に送信する外部側送信処理とを車両の外部に配置された第２実行装置が実行するものとする。こうした場合、演算負荷が高い出力値算出処理が車両の外部で行われることになる。そのため、車両側の演算負荷を軽減できる。なお、こうした場合の状態検出システムを構成するものとして、上記第２実行装置及び上記記憶装置を備えるデータ解析装置や第１実行装置を備える車両が考えられる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係る状態検出システム及びその適用対象となる内燃機関を搭載する車両の駆動系の構成を模式的に示す図。
【図２】第１実施形態の状態検出システムに設けられた制御装置が実行する失火用プログラムに規定された処理のフローチャート。
【図３】同実施形態における写像の入力変数の設定態様を示す図。
【図４】第２実施形態に係る状態検出システムに設けられた制御装置が実行する失火用プログラムに規定された処理の一部のフローチャート。
【図５】第３実施形態に係る状態検出システムの構成を模式的に示す図。
【図６】同状態検出システムにおける車両側の処理のフローチャート。
【図７】同状態検出システムにおけるセンター側の処理のフローチャート。
【図８】第４実施形態の状態検出システムに設けられた制御装置が実行する検出用プログラムに規定された処理のフローチャート。
【図９】同制御装置が実行する対処プログラムに規定された処理のフローチャート。
【発明を実施するための形態】
【００１４】
（第１実施形態）
以下、内燃機関の状態検出システムの第１実施形態を、図１〜図３を参照して詳細に説明する。
【００１５】
図１に示す車両ＶＣに搭載された内燃機関１０において、吸気通路１２には、スロットルバルブ１４が設けられている。吸気通路１２から吸入された空気は、吸気バルブ１６が開弁することによって各気筒＃１〜＃４の燃焼室１８に流入する。燃焼室１８には、燃料噴射弁２０によって燃料が噴射される。燃焼室１８において、空気と燃料との混合気は、点火装置２２による火花放電によって燃焼に供され、燃焼によって生じたエネルギは、クランク軸２４の回転エネルギとして取り出される。燃焼に供された混合気は、排気バルブ２６の開弁に伴って、排気として、排気通路２８に排出される。
【００１６】
クランク軸２４には、クランク軸２４の回転角度を示す複数個（ここでは、３４個）の歯部３２が設けられたクランクロータ３０が結合されている。クランクロータ３０には、基本的には、１０°ＣＡ間隔で歯部３２が設けられているものの、隣接する歯部３２間の間隔が３０°ＣＡとなる箇所である欠け歯部３４が１箇所設けられている。これは、クランク軸２４の基準となる回転角度を示すためのものである。クランクロータ３０の近傍には、クランク角センサ７２が設置されている。クランク角センサ７２は、歯部３２の近接、離間に応じた磁束の変化を短形波のパルス信号に変換して出力する。以下の説明では、こうしたクランク角センサ７２の出力信号をクランク信号Ｓｃｒと記載する。本実施形態では、このクランク角センサ７２が、クランク軸２４の回転挙動を検出するセンサに対応する。
【００１７】
内燃機関１０のクランク軸２４から車両ＶＣの駆動輪５０への動力伝達経路には、変速装置４４が設けられている。変速装置４４は、クランク軸２４側からの動力の入力軸である変速機入力軸４５と駆動輪５０側への動力の出力軸である変速機出力軸４６とを有している。そして、変速装置４４は、油圧回路４８による油圧制御を通じて、変速機入力軸４５に対する変速機出力軸４６の回転速度の比である変速比を変更する。なお、変速装置４４には、変速機入力軸４５の回転速度である入力軸回転速度ＮＴを検出する入力軸速度センサ７６と、変速機出力軸４６の回転速度である出力軸回転速度Ｎｏｕｔを検出する出力軸速度センサ７７とが設けられている。ちなみに、変速装置４４は、離散的に変速比を切り替える有段変速装置、連続的に変速比を切り替える無段変速機のいずれであってもよい。
【００１８】
上記動力伝達経路におけるクランク軸２４と変速機入力軸４５との間の部分には、トルクコンバータ４０が設けられている。トルクコンバータ４０は、内部に充填されたオイルを介してクランク軸２４と変速機入力軸４５との間のトルク伝達を行う。また、トルクコンバータ４０には、ロックアップクラッチ４２が設けられている。ロックアップクラッチ４２は、締結状態となることで、オイルを介さずに直接、クランク軸２４から変速機入力軸４５にトルクを伝達する。ロックアップクラッチ４２の締結状態の制御は、油圧回路４８によるロックアップ油圧Ｐｌｃの調整により行われる。
【００１９】
さらに車両ＶＣには、制御装置６０が設けられている。制御装置６０は、ＣＰＵ６２、ＲＯＭ６４、電気的に書換え可能な不揮発性メモリである記憶装置６６、及び周辺回路６７を備え、それらがバス６８を通じて通信可能とされたものである。なお、周辺回路６７は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００２０】
制御装置６０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御するために、スロットルバルブ１４や、燃料噴射弁２０、点火装置２２等の内燃機関１０の操作部を操作する。また、制御装置６０は、変速装置４４を制御対象とし、その制御量である変速比を制御するために油圧回路４８を操作する。さらに、制御装置６０は、ロックアップクラッチ４２を制御対象とし、その制御量であるロックアップ油圧Ｐｌｃを制御するために油圧回路４８を操作する。なお、制御装置６０による内燃機関１０、変速装置４４、ロックアップクラッチ４２の制御は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が実行することによって行われている。なお、図１には、スロットルバルブ１４、燃料噴射弁２０、点火装置２２、油圧回路４８のそれぞれの操作信号ＭＳ１〜ＭＳ４を記載している。
【００２１】
制御装置６０は、上記のような制御量の制御に際して、エアフローメータ７０によって検出される吸入空気量Ｇａや、クランク角センサ７２のクランク信号Ｓｃｒ、アクセルセンサ７４によって検出されるアクセルペダルの踏み込み量であるアクセル操作量ＡＣＣＰ、シフト位置センサ７５によって検出されるシフトレバーの操作位置Ｓｆｔを参照する。また、制御装置６０は、油圧回路４８に設けられた油圧センサ７３によって検出されるロックアップ油圧Ｐｌｃ、入力軸速度センサ７６及び出力軸速度センサ７７によって検出される入力軸回転速度ＮＴ及び出力軸回転速度Ｎｏｕｔ、車輪速センサ７９によって検出される駆動輪５０の回転速度である車輪速Ｖ等を参照する。なお、排気通路２８には空燃比センサ７１が設置されており、制御量の制御に際して制御装置６０はその空燃比センサ７１の検出値も参照している。ちなみに、空燃比センサ７１は、排気浄化用の触媒により浄化される前の排気の成分に応じた検出信号を出力し、その検出値は各気筒＃１〜＃４の燃焼室１８で燃焼された混合気の空燃比に対応する。以下の説明では、こうした空燃比センサ７１の検出値を上流側検出値Ａｆｕと記載する。
【００２２】
なお、制御装置６０は、上記制御量の制御に際して、クランク軸２４の回転速度ＮＥも参照する。クランク軸２４の回転速度ＮＥは、ＣＰＵ６２が上述のクランク信号Ｓｃｒに基づき算出している。ちなみに、回転速度ＮＥは、クランク軸２４の１回転以上の回転角度だけクランク軸２４が回転する際の回転速度の平均値とすることが望ましい。なお、ここでの平均値は、単純平均に限らず、例えば指数移動平均処理でもよく、その場合、１回転以上の回転角度だけクランク軸２４が回転する際のクランク信号Ｓｃｒの時系列データに基づき算出されるものとする。
【００２３】
制御装置６０は、さらに、内燃機関１０の稼働時において、失火の有無を判定する。なお、本実施形態では、こうした失火の有無の検出を行う制御装置６０が状態検出システムに対応する。
【００２４】
図２に、失火の検出に関する処理の手順を示す。図２に示す処理は、ＣＰＵ６２がＲＯＭ６４に記憶された失火用プログラム６４ａを規定の制御周期毎に繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を表現する。
【００２５】
図２に示す一連の処理において、ＣＰＵ６２は、まず、微小回転時間Ｔ３０を取得する（Ｓ１０）。微小回転時間Ｔ３０は、ＣＰＵ６２により、クランク角センサ７２のクランク信号Ｓｃｒに基づき、クランク軸２４が３０°ＣＡ回転するのに要する時間を計時することによって算出される。次にＣＰＵ６２は、Ｓ１０の処理において取得した最新の微小回転時間Ｔ３０を、微小回転時間Ｔ３０（０）とし、より過去の値ほど、微小回転時間Ｔ３０（ｍ）の変数「ｍ」を大きい値とする（Ｓ１２）。すなわち、「ｍ＝１，２，３，…」として、Ｓ１２の処理がなされる直前における微小回転時間Ｔ３０（ｍ−１）を微小回転時間Ｔ３０（ｍ）とする。これにより、例えば図２の処理が前回実行されたときにＳ１０の処理により取得された微小回転時間Ｔ３０は、微小回転時間Ｔ３０（１）となる。
【００２６】
次に、ＣＰＵ６２は、Ｓ１０の処理において取得された微小回転時間Ｔ３０が、気筒＃１〜＃４のいずれかの圧縮上死点前３０°ＣＡから圧縮上死点までの角度間隔の回転に要する時間であるか否かを判定する（Ｓ１４）。そしてＣＰＵ６２は、圧縮上死点までの角度間隔の回転に要する時間であると判定する場合（Ｓ１４：ＹＥＳ）、３６０°ＣＡだけ前に圧縮上死点となった気筒の失火の有無を判定すべく、まず、失火の有無の判定処理の入力とする回転波形変数の値を算出する。
【００２７】
すなわち、ＣＰＵ６２は、まず、圧縮上死点前３０°ＣＡから圧縮上死点までの角度間隔に関する微小回転時間Ｔ３０の互いに１８０°だけ離間した値同士の差を気筒間変数ΔＴａとして算出する（Ｓ１６）。詳しくは、ＣＰＵ６２は、「ｍ＝１，２，３，…」として、気筒間変数ΔＴａ（ｍ−１）を、「Ｔ３０（６ｍ−６）−Ｔ３０（６ｍ）」とする。
【００２８】
図３に、気筒間変数ΔＴａを例示する。なお、本実施形態では、気筒＃１、気筒＃３、気筒＃４、気筒＃２の順に圧縮上死点が出現し、その順で燃焼行程となるものを例示している。図３には、Ｓ１０の処理において気筒＃４の圧縮上死点前３０°ＣＡから圧縮上死点までの角度間隔の微小回転時間Ｔ３０（０）を取得することにより、失火の有無の検出対象が気筒＃１である例を示している。この場合、気筒間変数ΔＴａ（０）は、気筒＃４の圧縮上死点と、１つ前に圧縮上死点となった気筒＃３の圧縮上死点とのそれぞれに対応する微小回転時間Ｔ３０同士の差となる。図３には、気筒間変数ΔＴａ（２）が、失火の検出対象となる気筒＃１の圧縮上死点に対応する微小回転時間Ｔ３０（１２）と、気筒＃２の圧縮上死点に対応する微小回転時間Ｔ３０（１８）との差であることを記載している。
【００２９】
図２に戻り、ＣＰＵ６２は、気筒間変数ΔＴａ（０），ΔＴａ（１），ΔＴａ（２），…のうちの互いに７２０°ＣＡだけ離間した値同士の差である気筒間変数ΔＴｂを算出する（Ｓ１８）。詳しくは、ＣＰＵ６２は、「ｍ＝１，２，３，…」として、気筒間変数ΔＴｂ（ｍ−１）を、「ΔＴａ（ｍ−１）−ΔＴａ（ｍ＋３）」とする。
【００３０】
図３に、気筒間変数ΔＴｂを例示する。図３には、気筒間変数ΔＴｂ（２）が、「ΔＴａ（２）−Ｔａ（６）」であることが記載されている。
次に、ＣＰＵ６２は、失火の検出対象となる気筒に対応する気筒間変数ΔＴｂと、それ以外の気筒に対応する気筒間変数ΔＴｂとの相対的な大きさの関係を示す変動パターン変数ＦＬを算出する（Ｓ２０）。本実施形態では、変動パターン変数ＦＬ［０２］，ＦＬ［１２］，ＦＬ［３２］を算出する。
【００３１】
ここで、変動パターン変数ＦＬ［０２］は、「ΔＴｂ（０）／ΔＴｂ（２）」によって定義される。すなわち、変動パターン変数ＦＬ［０２］は、図３の例を用いると、失火の検出対象となる気筒＃１に対応する気筒間変数ΔＴｂ（２）で、その次の次に圧縮上死点となる気筒＃４に対応する気筒間変数ΔＴｂ（０）を除算した値である。また、変動パターン変数ＦＬ［１２］は、「ΔＴｂ（１）／ΔＴｂ（２）」によって定義される。すなわち、変動パターン変数ＦＬ［１２］は、図３の例を用いると、失火の検出対象となる気筒＃１に対応する気筒間変数ΔＴｂ（２）で、その次に圧縮上死点となる気筒＃３に対応する気筒間変数ΔＴｂ（１）を除算した値である。また、変動パターン変数ＦＬ［３２］は、「ΔＴｂ（３）／ΔＴｂ（２）」によって定義される。すなわち、変動パターン変数ＦＬ［３２］は、図３の例を用いると、失火の検出対象となる気筒＃１に対応する気筒間変数ΔＴｂ（２）で、その１つ前に圧縮上死点となっていた気筒＃２に対応する気筒間変数ΔＴｂ（３）を除算した値である。
【００３２】
本実施形態では、こうして算出された気筒間変数ΔＴｂ（２）、及び変動パターン変数ＦＬ［０２］、ＦＬ［１２］、ＦＬ［３２］の値は、各気筒の燃焼トルクの発生期間におけるクランク軸２４の回転速度の気筒間差に関する情報として用いられている。
【００３３】
次に、ＣＰＵ６２は、回転速度ＮＥ、充填効率η、ロックアップ油圧Ｐｌｃ、及び入力軸回転速度ＮＴのそれぞれの値を取得する（Ｓ２２）。
続いて、ＣＰＵ６２は、検出対象となる気筒において失火が生じた確率に関する変数である燃焼状態変数ＰＲを出力する写像の入力変数ｘ（１）〜ｘ（８）に、Ｓ１８，Ｓ２０の処理によって取得した回転波形変数の値と、Ｓ２２の処理によって取得した変数の値とを代入する（Ｓ２４）。具体的には、Ｓ２４の処理においてＣＰＵ６２は、入力変数ｘ（１）に気筒間変数ΔＴｂ（２）の値を、入力変数ｘ（２）に変動パターン変数ＦＬ［０２］の値を、入力変数ｘ（３）に変動パターン変数ＦＬ［１２］の値を、入力変数ｘ（４）に変動パターン変数ＦＬ［３２］の値を、それぞれ代入する。また、ＣＰＵ６２は、入力変数ｘ（５）に回転速度ＮＥの値を、入力変数ｘ（６）に充填効率ηの値を、入力変数ｘ（７）にロックアップ油圧Ｐｌｃの値を、入力変数ｘ（８）に入力軸回転速度ＮＴの値を、それぞれ代入する。
【００３４】
次にＣＰＵ６２は、図１に示す記憶装置６６に記憶された写像データ６６ａによって規定される写像に入力変数ｘ（１）〜ｘ（８）の値を入力することによって、同写像の出力値である燃焼状態変数ＰＲの値を算出する（Ｓ２６）。
【００３５】
本実施形態において、この写像は、中間層が１層のニューラルネットワークによって構成されている。上記ニューラルネットワークは、入力側係数ｗＦｊｋ（ｊ＝０〜ｎ，ｋ＝０〜８）と、入力側係数ｗＦｊｋによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数ｈ（ｘ）を含む。本実施形態では、活性化関数ｈ（ｘ）として、ＲｅＬＵを例示する。なお、ＲｅＬＵは、入力と「０」とのうちの小さく無い方を出力する関数である。ちなみに、ｗＦｊ０等は、バイアスパラメータであり、入力変数ｘ（０）は、「１」と定義されている。なお、以下の説明では、同写像を検出用写像と記載する。
【００３６】
また、上記ニューラルネットワークは、出力側係数ｗＳｉｊ（ｉ＝１〜２，ｊ＝０〜ｎ）と、出力側係数ｗＳｉｊによって規定される線形写像である出力側線形写像の出力である原型変数ｙＲ（１），ｙＲ（２）のそれぞれを入力として、燃焼状態変数ＰＲを出力するソフトマックス関数を含む。これにより、本実施形態において、燃焼状態変数ＰＲは、実際に失火が生じたことのもっともらしさの大小を「０」よりも大きく「１」よりも小さい所定領域内で連続的な値として定量化したものとなる。
【００３７】
次に、ＣＰＵ６２は、燃焼状態変数ＰＲの値が判定値ＰＲｔｈ以上であるか否かを判定する（Ｓ２８）。そしてＣＰＵ６２は、判定値ＰＲｔｈ以上であると判定する場合（Ｓ２８：ＹＥＳ）、カウンタＣＲをインクリメントする（Ｓ３０）。そして、ＣＰＵ６２は、Ｓ２８の処理が最初に実行された時点、又は後述のＳ３６の処理がなされた時点から所定期間が経過したか否かを判定する（Ｓ３２）。ここで所定期間は、１燃焼サイクルの期間よりも長く、望ましくは、１燃焼サイクルの１０倍以上の長さを有することが望ましい。
【００３８】
ＣＰＵ６２は、所定期間が経過したと判定する場合（Ｓ３２：ＹＥＳ）、カウンタＣＲが閾値ＣＲｔｈ以上であるか否かを判定する（Ｓ３４）。この処理は、許容範囲を超える頻度で失火が生じたか否かを判定する処理である。ＣＰＵ６２は、閾値ＣＲｔｈ未満であると判定する場合（Ｓ３４：ＮＯ）、カウンタＣＲを初期化する（Ｓ３６）。これに対し、ＣＰＵ６２は、閾値ＣＲｔｈ以上であると判定する場合（Ｓ３４：ＹＥＳ）、異常に対処することをユーザに促すべく、図１に示す警告灯７８を操作する報知処理を実行する（Ｓ３８）。
【００３９】
なお、ＣＰＵ６２は、Ｓ３６，Ｓ３８の処理が完了する場合や、Ｓ１４，Ｓ２８，Ｓ３２の処理において否定判定する場合には、図２に示す一連の処理を一旦終了する。
ちなみに、上記写像データ６６ａは、例えば次のようにして生成されたものである。すなわち、トルクコンバータ４０を連結した内燃機関１０を、トルクコンバータ４０の出力軸にダイナモメータを接続した状態でテストベンチに設置する。そして、そのテストベンチ上で内燃機関１０を稼働させ、気筒＃１〜＃４のそれぞれにおいて要求される燃料を噴射すべきタイミングのうちランダムに選択したタイミングでは燃料噴射を停止させる。そして燃料の噴射を停止させた気筒においては燃焼状態変数ＰＲの値を「１」としたデータを教師データとし、燃料の噴射を停止させていない気筒においては、燃焼状態変数ＰＲの値を「０」としたデータを教師データに含める。そして、都度の回転波形変数やＳ２２の処理によって取得する変数の値を用いて、Ｓ２４，Ｓ２６の処理と同様の処理によって、燃焼状態変数ＰＲの値を算出する。こうして算出された燃焼状態変数ＰＲの値と教師データとの差を縮めるように、上記入力側係数ｗＦｊｋや出力側係数ｗＳｉｊの値を学習する。具体的には、例えば公差エントロピーを最小化するように、入力側係数ｗＦｊｋや出力側係数ｗＳｉｊの値を学習すればよい。なお、入力軸回転速度ＮＴは、ダイナモメータの回転速度によって模擬できる。
【００４０】
ここで、本実施形態の作用及び効果について説明する。
内燃機関１０で失火が生じると、各気筒の燃焼トルクに差異が生じて、微小回転時間Ｔ３０の変動が大きくなる。一方、クランク軸２４には、同クランク軸２４から駆動輪５０への動力伝達経路を構成する車両ＶＣの駆動系が連結されており、そうした駆動系がクランク軸２４の回転挙動に影響を与える。これに対して、本実施形態の状態検出システムでは、気筒間の燃焼状態のばらつきが燃焼トルクの発生期間のクランク軸２４の回転速度ＮＥの気筒間差を生じさせることに鑑み、同回転速度ＮＥの気筒間差の情報を含む回転波形変数を検出用写像への入力に含めている。
【００４１】
一方、車両ＶＣに搭載された内燃機関１０では、内燃機関１０の動力を駆動輪５０に伝える駆動系がクランク軸２４の回転挙動に影響する。これに対して本実施形態では、駆動系の状態量であるロックアップ油圧Ｐｌｃと入力軸回転速度ＮＴとを検出用写像の入力変数に含めている。
【００４２】
そして、本実施形態では、機械学習により学習された写像データ６６ａに基づく回転波形変数、ロックアップ油圧Ｐｌｃ及び入力軸回転速度ＮＴの結合演算により算出した燃焼状態変数ＰＲの値に基づき失火の有無を判定している。ここでの写像データ６６ａは、回転波形変数、ロックアップ油圧Ｐｌｃ及び入力軸回転速度ＮＴのそれぞれが様々な値を取るときの失火の有無に基づき学習できる。そのため、駆動系がクランク軸２４の回転挙動に与える影響を踏まえたかたちで失火検出を実施できる。したがって、車両ＶＣに搭載された内燃機関１０における失火の検出精度を向上できる。
【００４３】
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
（１）内燃機関１０の動作点を規定する動作点変数としての回転速度ＮＥ及び充填効率ηを検出用写像の入力とした。燃料噴射弁２０や点火装置２２等の内燃機関１０の操作部の操作量は、内燃機関１０の動作点に基づき定められる傾向がある。そのため、動作点変数は、各操作部の操作量に関する情報を含む変数である。したがって、動作点変数を検出用写像の入力とすることにより、各操作部の操作量に関する情報に基づき燃焼状態変数ＰＲの値を算出することができ、ひいては操作量によるクランク軸２４の回転挙動の変化を反映して燃焼状態変数ＰＲの値をより高精度に算出することができる。
【００４４】
また、動作点変数を入力変数とすることにより、回転波形変数と動作点変数との、機械学習によって学習されたパラメータである入力側係数ｗＦｊｋによる結合演算によって燃焼状態変数ＰＲの値が算出される。このため、動作点変数毎に適合値を適合する必要が生じない。これに対し、例えば気筒間変数ΔＴｂと判定値との大小比較をする場合には、判定値を動作点変数毎に適合する必要が生じることから、適合工数が大きくなる。
【００４５】
（２）ロックアップ油圧Ｐｌｃ及び入力軸回転速度ＮＴを、検出用写像の入力変数に含めた。これにより、車両ＶＣの駆動系がクランク軸２４の回転変動に与える影響を反映した値として燃焼状態変数ＰＲの値を算出することが、ひいては同影響を反映しての高精度の失火検出が可能となる。
【００４６】
（３）入力変数ｘとなる回転波形変数を、微小回転時間Ｔ３０のうちの圧縮上死点付近の値を選択的に用いて生成した。失火の有無で相違が最も生じるのは、微小回転時間Ｔ３０のうちの圧縮上死点付近の値である。そのため、微小回転時間Ｔ３０のうちの圧縮上死点付近の値を選択的に用いることにより、入力変数ｘの次元が大きくなることを抑制しつつも、失火の有無の判定に必要な情報を極力取り込むことができる。
【００４７】
（４）回転波形変数に、気筒間変数ΔＴｂ（２）を含めた。気筒間変数ΔＴｂ（２）は、失火の検出対象となる気筒とこれに隣接する気筒との圧縮上死点付近の微小回転時間Ｔ３０同士の差を予め１次元で定量化したものである。そのため、小さい次元数の変数で失火の有無の判定に必要な情報を効率的に取り込むことができる。
【００４８】
（５）回転波形変数に、気筒間変数ΔＴｂ（２）のみならず、変動パターン変数ＦＬを含めた。クランク軸２４には、路面からの振動等が重畳することから、回転波形変数を気筒間変数ΔＴｂ（２）のみとする場合には、誤判定が生じる懸念がある。これに対し、本実施形態では、気筒間変数ΔＴｂ（２）に加えて、変動パターン変数ＦＬを用いて燃焼状態変数ＰＲの値を算出することにより、気筒間変数ΔＴｂ（２）のみから算出する場合と比較して、燃焼状態変数ＰＲの値を、失火が生じたもっともらしさの度合い（確率）をより高精度に示す値とすることができる。
【００４９】
しかも、本実施形態では、機械学習によって学習されたパラメータである入力側係数ｗＦｊｋによる気筒間変数ΔＴｂ（２）と変動パターン変数ＦＬとの結合演算によって燃焼状態変数ＰＲの値を算出する。そのため、気筒間変数ΔＴｂ（２）と判定値との比較と、変動パターン変数ＦＬと判定値との比較とに基づき失火の有無を判定する場合と比較して、気筒間変数ΔＴｂ（２）及び変動パターン変数ＦＬと失火とのより詳細な関係に基づき失火の有無を判定することができる。
【００５０】
（第２実施形態）
以下、内燃機関の状態検出システムの第２実施形態について、第１実施形態との相違点を中心に図面を参照しつつ説明する。本実施形態の状態検出システムは、ＲＯＭ６４に記憶された失火用プログラム６４ａ、及び記憶装置６６に記憶された写像データ６６ａの内容以外は、第１実施形態のものと同じ構成とされている。
【００５１】
本実施形態の状態検出システムにおけるＣＰＵ６２は、図２に示す処理の一部を変更したものを失火の検出に関する処理として実施する。図４には、そうした処理の変更部分が示されている。すなわち、本実施形態では、図２のＳ２０の処理の次に図４のＳ２２’の処理が実施される。そして、その後、図４のＳ２４’及びＳ２６’の処理が実施された後、図２のＳ２８以降の処理が実施される。
【００５２】
図４のＳ２２’の処理においてＣＰＵ６２は、回転速度ＮＥ、充填効率η、ロックアップ油圧Ｐｌｃ、及び駆動系回転速度変数ＮＴ（１）〜ＮＴ（２４）の値をそれぞれ取得する。なお、駆動系回転速度変数ＮＴ（１）〜ＮＴ（２４）にはそれぞれ下記の値が格納されている。なお、以下の説明における「Ｎ」は、２から２４までの任意の自然数を示している。すなわち、ＣＰＵ６２は、規定のサンプリング周期毎に、入力軸速度センサ７６の出力から入力軸回転速度ＮＴを取得して、その値を駆動系回転速度変数ＮＴ（１）に代入する。また、このときのＣＰＵ６２は、それまでの駆動系回転速度変数ＮＴ（Ｎ−１）の値を駆動系回転速度変数ＮＴ（Ｎ）に代入する。これにより、駆動系回転速度変数ＮＴ（１）〜ＮＴ（２４）には、上記サンプリング周期毎の入力軸回転速度ＮＴの時系列データが格納されることになる。
【００５３】
続くＳ２４’の処理においてＣＰＵ６２は、記憶装置６６に記憶された写像データ６６ａにより規定される検出用写像の入力変数ｘ（１）〜ｘ（３１）に、図２のＳ１８，Ｓ２０の処理により取得した回転波形変数の値と、Ｓ２２’の処理によって取得した各変数の値と、を代入する。具体的には、Ｓ２４’の処理においてＣＰＵ６２は、入力変数ｘ（１）に気筒間変数ΔＴｂ（２）の値を、入力変数ｘ（２）に変動パターン変数ＦＬ［０２］の値を、入力変数ｘ（３）に変動パターン変数ＦＬ［１２］の値を、入力変数ｘ（４）に変動パターン変数ＦＬ［３２］の値を、それぞれ代入する。また、ＣＰＵ６２は、入力変数ｘ（５）に回転速度ＮＥの値を、入力変数ｘ（６）に充填効率ηの値を、入力変数ｘ（７）にロックアップ油圧Ｐｌｃの値を、それぞれ代入する。さらにＣＰＵ６２は、入力変数ｘ（８）〜ｘ（３１）に、駆動系回転速度変数ＮＴ（１）〜ＮＴ（２４）の値をそれぞれ代入する。
【００５４】
次にＣＰＵ６２は、写像データ６６ａによって規定される検出用写像に入力変数ｘ（１）〜ｘ（３１）の値を入力することによって、同検出用写像の出力値である燃焼状態変数ＰＲの値を算出する（Ｓ２６’）。
【００５５】
こうした本実施形態での検出用写像は、中間層が１層のニューラルネットワークによって構成されている。上記ニューラルネットワークは、入力側係数ｗＦｊｋ（ｊ＝０〜ｎ，ｋ＝０〜３１）と、入力側係数ｗＦｊｋによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数ｈ（ｘ）を含む。また、上記ニューラルネットワークは、出力側係数ｗＳｉｊ（ｉ＝１〜２，ｊ＝０〜ｎ）と、出力側係数ｗＳｉｊによって規定される線形写像である出力側線形写像の出力である原型変数ｙＲ（１），ｙＲ（２）のそれぞれを入力として、燃焼状態変数ＰＲを出力するソフトマックス関数を含む。
【００５６】
このように本実施形態では、入力軸回転速度ＮＴの時系列データを検出用写像の入力変数に含めている。そのため、変速機入力軸４５の回転速度の変化の影響がクランク軸２４の回転挙動に現れるまでの遅れを反映したかたちで失火を検出できる。
【００５７】
（第３実施形態）
以下、第３実施形態について、第１実施形態との相違点を中心に図面を参照しつつ説明する。
【００５８】
本実施形態では、燃焼状態変数ＰＲの算出処理を車両の外部で行う。
図５に本実施形態に係る状態検出システムを示す。なお、図５において、図１に示した部材に対応する部材については、便宜上同一の符号を付している。
【００５９】
図５に示す車両ＶＣ内の制御装置６０は、通信機６９を備えている。通信機６９は車両ＶＣの外部のネットワーク８０を介してセンター９０と通信するための機器である。
センター９０は、複数の車両ＶＣから送信されるデータを解析する。センター９０は、ＣＰＵ９２、ＲＯＭ９４、記憶装置９６、周辺回路９７及び通信機９９を備えており、それらがバス９８を通じて通信可能とされるものである。記憶装置９６には、写像データ９６ａが記憶されている。本実施形態では、こうしたセンター９０と、車両ＶＣの制御装置６０と、により状態検出システムが構成されている。
【００６０】
図６及び図７に、本実施形態に係る失火の検出に関する処理の手順を示す。図６に示す処理は、図５に示すＲＯＭ６４に記憶されている失火用サブプログラム６４ｂをＣＰＵ６２が実行することにより実現される。また、図７に示す処理は、ＲＯＭ９４に記憶されている失火用メインプログラム９４ａをＣＰＵ９２が実行することにより実現される。なお、図６及び図７において図２に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、失火検出処理の時系列に沿って、図６及び図７に示す処理を説明する。
【００６１】
すなわち、車両ＶＣにおいてＣＰＵ６２は、図６に示すＳ１４の処理において肯定判定する場合、微小回転時間Ｔ３０（０），Ｔ３０（６），Ｔ３０（１２），Ｔ３０（１８），Ｔ３０（２４），Ｔ３０（３０），Ｔ３０（３６），Ｔ３０（４２），Ｔ３０（４８）を取得する（Ｓ５０）。これら微小回転時間Ｔ３０は、互いに異なる角度間隔のそれぞれにおける微小回転時間Ｔ３０同士の相違に関する情報を含む変数である回転波形変数を構成する。特に、上記微小回転時間Ｔ３０は、圧縮上死点前３０°ＣＡから圧縮上死点までの角度間隔の回転に要する時間であり、しかも、圧縮上死点の出現タイミングの９回分の値である。そのため、それら微小回転時間Ｔ３０の組データは、互いに異なる圧縮上死点のそれぞれに対応した微小回転時間Ｔ３０同士の相違に関する情報を示す変数となっている。なお、上記の９個の微小回転時間Ｔ３０は、気筒間変数ΔＴｂ（２）、及び変動パターン変数ＦＬ［０２］，ＦＬ［１２］，ＦＬ［３２］を算出するときに用いた微小回転時間Ｔ３０の全てである。
【００６２】
次に、ＣＰＵ６２は、Ｓ２２の処理を実行した後、通信機６９を操作することによって、それらＳ５０，Ｓ２２の処理において取得したデータを、車両ＶＣの識別情報とともにセンター９０に送信する（Ｓ５２）。なお、以下の説明では、車両ＶＣの識別情報を車両ＩＤと記載する。
【００６３】
これに対し、センター９０のＣＰＵ９２は、図７に示すように、送信されたデータを受信する（Ｓ６０）。そして、ＣＰＵ９２は、Ｓ６０の処理によって取得した変数の値を入力変数ｘ（１）〜ｘ（１３）に代入する（Ｓ６２）。すなわち、ＣＰＵ６２は、微小回転時間Ｔ３０（０），Ｔ３０（６），Ｔ３０（１２），Ｔ３０（１８），Ｔ３０（２４），Ｔ３０（３０），Ｔ３０（３６），Ｔ３０（４２），Ｔ３０（４８）の各値を、入力変数ｘ（１）〜ｘ（９）にそれぞれ代入する。またＣＰＵ９２は、入力変数ｘ（１０）に回転速度ＮＥの値を、入力変数ｘ（１１）に充填効率ηの値を、入力変数ｘ（１２）にロックアップ油圧Ｐｌｃの値を、入力変数ｘ（１３）に入力軸回転速度ＮＴの値を、それぞれ代入する。
【００６４】
次にＣＰＵ９２は、図５に示す記憶装置９６に記憶された写像データ９６ａによって規定される検出用写像に入力変数ｘ（１）〜ｘ（１３）を入力することによって、検出用写像の出力値である燃焼状態変数ＰＲの値を算出する（Ｓ６４）。
【００６５】
本実施形態において、この検出用写像は、中間層が「α」個であり、各中間層の活性化関数ｈ１〜ｈαがＲｅＬＵであり、かつ出力層の活性化関数がソフトマックス関数であるニューラルネットワークによって構成されている。例えば第１中間層の各ノードの値は、係数ｗ（１）ｊｉ（ｊ＝０〜ｎ１，ｉ＝０〜１３）によって規定される線形写像に上記入力変数ｘ（１）〜ｘ（１３）を入力した際の出力を活性化関数ｈ１に入力することによって生成される。すなわち、ｍ＝１，２，…，αとすると、第ｍ中間層の各ノードの値は、係数ｗ（ｍ）によって規定される線形写像の出力を活性化関数ｈｍに入力することによって生成される。図７において、ｎ１，ｎ２，…，ｎαは、それぞれ、第１、第２、…、第αの各中間層のノード数である。ちなみに、ｗ（１）ｊ０等は、バイアスパラメータであり、入力変数ｘ（０）は、「１」と定義されている。
【００６６】
次に、ＣＰＵ９２は、通信機９９を操作することによって、Ｓ６０の処理によって受信したデータが送信された車両ＶＣに、燃焼状態変数ＰＲの値を示す信号を送信し（Ｓ６６）、図７に示す一連の処理を一旦終了する。これに対し、図６に示すように、ＣＰＵ６２は、燃焼状態変数ＰＲの値を受信し（Ｓ５４）、Ｓ２８〜Ｓ３８の処理を実行する。
【００６７】
このように、本実施形態では、センター９０においてＳ６４の処理を実行するため、ＣＰＵ６２の演算負荷を軽減できる。
（第４実施形態）
以下、第４実施形態について、上述の実施形態との相違点を中心に図面を参照しつつ説明する。
【００６８】
上述の各実施形態の状態検出システムは、内燃機関１０で失火が生じた状態を、クランク軸２４の回転変動に基づき検出するシステムとして構成されていた。空燃比に気筒間のばらつきが生じた、気筒間空燃比インバランスが発生した場合にも、気筒間の燃焼状態のばらつきが生じてクランク軸２４の回転変動が大きくなる。本実施形態の状態検出システムは、こうした気筒間空燃比インバランスを検出するシステムとして構成されている。なお、本実施形態の状態検出システムの構成は、図１に示した構成と基本的に同じである。ただし、本実施形態の状態検出システムのＲＯＭ６４には、図１に示す失火用プログラム６４ａの代わりに、気筒間空燃比インバランスの検出用プログラムが格納されている。
【００６９】
図８に、気筒間空燃比インバランスの検出に関する処理の手順を示す。図８に示す処理は、ＲＯＭ６４に記憶された上述の検出用プログラムをＣＰＵ６２が既定の制御周期毎に繰り返し実行することにより実現される。
【００７０】
図８に示す一連の処理において、ＣＰＵ６２は、まず、インバランスの検出処理の実行条件が成立するか否かを判定する（Ｓ８０）。実行条件には、内燃機関１０の吸気に対する燃料蒸気のパージや排気の再循環が実施されていないことが含まれる。
【００７１】
次に、ＣＰＵ６２は、微小回転時間Ｔ３０（１），Ｔ３０（２），…，Ｔ３０（２４）、上流側平均値Ａｆｕａｖｅ（１），Ａｆｕａｖｅ（２），…，Ａｆｕａｖｅ（２４）、回転速度ＮＥ、充填効率η、０．５次振幅Ａｍｐｆ／２、ロックアップ油圧Ｐｌｃ、及び入力軸回転速度ＮＴのそれぞれの値を取得する（Ｓ８２）。なお、ｍ＝１〜２４とすると、上流側平均値Ａｆｕａｖｅ（ｍ）は、各微小回転時間Ｔ３０（ｍ）と同一の３０°ＣＡの角度間隔における上流側検出値Ａｆｕの平均値である。また、０．５次振幅Ａｍｐｆ／２はクランク軸２４の回転周波数の０．５次成分の強度であり、ＣＰＵ６２により、微小回転時間Ｔ３０の上記時系列データのフーリエ変換によって算出される。
【００７２】
次にＣＰＵ６２は、インバランス率Ｒｉｖを出力する検出用写像の入力変数ｘ（１）〜ｘ（５３）に、Ｓ１２の処理によって取得した値を代入する（Ｓ８４）。詳しくは、ＣＰＵ６２は、「ｍ＝１〜２４」として、入力変数ｘ（ｍ）に微小回転時間Ｔ３０（ｍ）の値を、入力変数ｘ（２４＋ｍ）に上流側平均値Ａｆｕａｖｅ（ｍ）の値を、入力変数ｘ（４９）に回転速度ＮＥの値を、入力変数ｘ（５０）に充填効率ηの値を、入力変数ｘ（５１）に０．５次振幅Ａｍｐｆ／２の値を、それぞれ代入する。また、ＣＰＵ６２は、入力変数ｘ（５２）にロックアップ油圧Ｐｌｃの値を、入力変数ｘ（５３）に入力軸回転速度ＮＴの値を、それぞれ代入する。
【００７３】
本実施形態において、インバランス率Ｒｉｖは、狙いとする噴射量の燃料が噴射されている気筒において「０」とし、狙いとする噴射量よりも実際の噴射量が多い場合に正の値となり、少ない場合に負の値となる。
【００７４】
次にＣＰＵ６２は、図１に示す記憶装置６６に記憶された写像データ６６ａによって規定される検出用写像に入力変数ｘ（１）〜ｘ（５３）の値を入力することによって、気筒＃ｉ（ｉ＝１〜４）のそれぞれのインバランス率Ｒｉｖ（１）〜Ｒｉｖ（４）の値を算出する（Ｓ８６）。
【００７５】
本実施形態において、この検出用写像は、中間層が１層のニューラルネットワークによって構成されている。上記ニューラルネットワークは、入力側係数ｗＦｊｋ（ｊ＝０〜ｎ，ｋ＝０〜５３）と、入力側係数ｗＦｊｋによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数ｈ（ｘ）を含む。本実施形態では、活性化関数ｈ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。また、上記ニューラルネットワークは、出力側係数ｗＳｉｊ（ｉ＝１〜４，ｊ＝０〜ｎ）と、出力側係数ｗＳｉｊによって規定される線形写像である出力側線形写像の出力のそれぞれを非線形変換する出力側非線形写像としての活性化関数ｆ（ｘ）を含む。本実施形態では、活性化関数ｆ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。なお、値ｎは、中間層の次元を示すものである。
【００７６】
なお、ＣＰＵ６２は、Ｓ８６の処理が完了する場合や、Ｓ８０の処理において否定判定する場合には、図８に示す一連の処理を一旦終了する。
図９に、上記インバランス率Ｒｉｖ（ｉ）を利用する処理の手順を示す。図９に示す処理は、図１に示すＲＯＭ６４に記憶された対処プログラムをＣＰＵ６２が、例えばインバランス率Ｒｉｖ（ｉ）が算出される都度、繰り返し実行することにより実現される。
【００７７】
図９に示す一連の処理において、ＣＰＵ６２は、まず、図８の処理によって新たに算出されたインバランス率Ｒｉｖ（ｉ）の値を入力とする指数移動平均処理によって、インバランス学習値Ｌｉｖ（ｉ）を更新する（Ｓ９０）。具体的には、ＣＰＵ６２は、記憶装置６６に記憶されているインバランス学習値Ｌｉｖ（ｉ）に係数αを乗算した値と、インバランス率Ｒｉｖ（ｉ）に「１−α」を乗算した値との和によって、インバランス学習値Ｌｉｖを更新する（Ｓ９０）。なお、「０＜α＜１」である。
【００７８】
次にＣＰＵ６２は、インバランス学習値Ｌｉｖ（ｉ）が、リーン側許容限界値ＬＬ以上であって、かつリッチ側許容限界値ＬＨ以下であるか否かを判定する（Ｓ９２）。ＣＰＵ６２は、インバランス学習値Ｌｉｖ（ｉ）が、リーン側許容限界値ＬＬ未満であると判定する場合やリッチ側許容限界値よりも大きいと判定する場合には（Ｓ９２：ＮＯ）、ユーザに修理を促すべく、警告灯７８を操作して報知処理を実行する（Ｓ９４）。
【００７９】
一方、ＣＰＵ６２は、リーン側許容限界値ＬＬ以上であって、かつリッチ側許容限界値ＬＨ以下であると判定する場合（Ｓ９２：ＹＥＳ）や、Ｓ９４の処理が完了する場合には、各気筒の要求噴射量Ｑｄ（＃ｉ）を補正する（Ｓ９６）。すなわち、ＣＰＵ６２は、各気筒の要求噴射量Ｑｄ（＃ｉ）に、インバランス学習値Ｌｉｖ（ｉ）に応じた補正量ΔＱｄ（Ｌｉｖ（ｉ））を加算することによって要求噴射量Ｑｄ（＃ｉ）を補正する。ここで、補正量ΔＱｄ（Ｌｉｖ（ｉ））は、インバランス学習値Ｌｉｖ（ｉ）がゼロよりも大きい場合には、負の値となり、ゼロよりも小さい場合には、正の値となる。なお、インバランス学習値Ｌｉｖ（ｉ）がゼロの場合、補正量ΔＱｄ（Ｌｉｖ（ｉ））もゼロとされる。
【００８０】
なお、ＣＰＵ６２は、Ｓ９６の処理を完了する場合、図９に示す一連の処理を一旦終了する。ちなみに、本実施形態では、Ｓ８０の処理において肯定判定されてＳ８２の処理を実行する場合には、Ｓ９６の処理を一旦停止することとする。
【００８１】
ちなみに、本実施形態における上記写像データ６６ａは、例えば次のようにして生成されたものである。
まず、予め単体での計測によって、インバランス率Ｒｉｖがゼロとは異なる様々な値を取る複数の燃料噴射弁２０と、インバランス率がゼロである３個の燃料噴射弁２０とを用意する。そして、トルクコンバータ４０を連結し、かつインバランス率がゼロの燃料噴射弁２０を３個、インバランス率がゼロとは異なる燃料噴射弁２０を１個搭載した内燃機関１０を、テストベンチにてトルクコンバータ４０の出力軸にダイナモメータを接続した状態で稼働させる。なお、搭載された燃料噴射弁２０のそれぞれのインバランス率Ｒｉｖｔが、教師データとなっている。
【００８２】
そして、都度の回転波形変数やＳ８２の処理によって取得する変数の値を用いて、Ｓ８４，Ｓ８６の処理と同様の処理によって、インバランス率Ｒｉｖｔの値を算出する。こうして算出されたインバランス率Ｒｉｖｔの値と教師データとの差を縮めるように、上記入力側係数ｗＦｊｋや出力側係数ｗＳｉｊの値を学習する。具体的には、例えば公差エントロピーを最小化するように、入力側係数ｗＦｊｋや出力側係数ｗＳｉｊの値を学習すればよい。なお、変速機入力軸４５の回転速度は、ダイナモメータの回転速度により模擬できる。
【００８３】
本実施形態では、ロックアップ油圧Ｐｌｃ及び入力軸回転速度ＮＴを、検出用写像への入力に含めている。そのため、車両ＶＣの駆動系がクランク軸２４の回転挙動に与える影響を反映した値としてインバランス率Ｒｉｖｔを算出できる。したがって、車両ＶＣに搭載された内燃機関１０における気筒間空燃比インバランスの検出精度を向上できる。
【００８４】
（対応関係）
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。記憶装置は、記憶装置６６に対応する。回転波形変数は、気筒間変数ΔＴｂ（２）、及び変動パターン変数ＦＬ［０２］，ＦＬ［１２］，ＦＬ［３２］に対応する。第１実行装置は、ＣＰＵ６２及びＲＯＭ６４に対応する。第２実行装置は、ＣＰＵ９２及びＲＯＭ９４に対応する。取得処理はＳ５０，Ｓ２２，Ｓ２２’，Ｓ８２の処理に、車両側受信処理はＳ５４の処理に、それぞれ対応する。外部側受信処理はＳ６０の処理に、出力値算出処理はＳ６２，Ｓ６４，Ｓ８６の処理に、外部側送信処理はＳ６６の処理に、判定処理はＳ２８，Ｓ３０，Ｓ３４，Ｓ９２の処理に、それぞれ対応する。データ解析装置は、センター９０に対応する。内燃機関１０と駆動輪５０との動力伝達経路に配置された回転要素である駆動系回転要素の回転速度は入力軸回転速度ＮＴに対応しており、同駆動系回転要素は変速機入力軸４５に対応している。なお、第１、第３及び第４実施形態では入力軸回転速度ＮＴが駆動系回転速度変数に対応している。
【００８５】
また、第１、第２及び第３実施形態では失火が生じた状態が、第４実施形態では気筒間の空燃比のばらつきが生じた状態が、既定の運転状態にそれぞれ対応する。さらに、第４実施形態では、インバランス率Ｒｉｖｔが燃焼状態変数に対応する。
【００８６】
（その他の実施形態）
なお、本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【００８７】
・「気筒間変数について」
気筒間変数ΔＴｂとしては、互いに圧縮上死点の出現タイミングが隣接する一対の気筒のそれぞれの圧縮上死点に対応する微小回転時間Ｔ３０同士の差の７２０°ＣＡだけ離間した値同士の差に限らない。例えば互いに圧縮上死点の出現タイミングが３６０°ＣＡだけ離間した気筒のそれぞれの圧縮上死点に対応する微小回転時間Ｔ３０同士の差の７２０°ＣＡだけ離間した値同士の差であってもよい。この場合、気筒間変数ΔＴｂ（２）は、「Ｔ３０（１２）−Ｔ３０（２４）−｛Ｔ３０（３６）−Ｔ３０（４８）｝」となる。
【００８８】
また、一対の気筒のそれぞれの圧縮上死点に対応する微小回転時間Ｔ３０同士の差の７２０°ＣＡだけ離間した値同士の差に限らず、失火の検出対象となる気筒と、それ以外の気筒とのそれぞれの圧縮上死点に対応する微小回転時間Ｔ３０同士の差であってもよい。
【００８９】
また、例えば気筒間変数を、一対の気筒のそれぞれの圧縮上死点に対応する微小回転時間Ｔ３０同士の比としてもよい。
なお、気筒間変数ΔＴｂを定義する際の微小回転時間としては、３０°ＣＡの回転に要する時間に限らず、例えば４５°ＣＡの回転に要する時間等であってもよい。この際、微小回転時間は、圧縮上死点の出現間隔以下の角度間隔の回転に要する時間であることが望ましい。
【００９０】
さらに、上記において、微小回転時間に代えて、所定の角度間隔の回転に要する時間によって所定の角度間隔を除算した瞬時回転速度を用いてもよい。
・「変動パターン変数について」
変動パターン変数の定義としては、上記実施形態において例示したものに限らない。例えば気筒間変数ΔＴｂを、「気筒間変数について」の欄において例示したもの等に変更することによって、変動パターン変数の定義を変更してもよい。
【００９１】
さらに、互いに異なる圧縮上死点の出現タイミングに対応した気筒間変数ΔＴｂ同士の比として変動パターン変数を定義することも必須では無く、比の代わりに差をとってもよい。この場合であっても、内燃機関１０の動作点変数を入力に含めることにより、変動パターン変数の大きさが、動作点に応じて変化することを反映して燃焼状態変数ＰＲの値を算出できる。
【００９２】
・「駆動系回転速度変数について」
第３実施形態及び第４実施形態における検出用写像として、第２実施形態と同様の入力軸回転速度ＮＴの時系列データを示す変数を入力変数に含む写像を用いるようにしてもよい。また、入力軸回転速度ＮＴの代わりに、内燃機関１０と駆動輪５０との動力伝達経路に配置された変速機入力軸４５以外の駆動系回転要素の回転速度、例えば変速機出力軸４６の回転速度である出力軸回転速度Ｎｏｕｔや駆動輪５０の回転速度である車輪速Ｖを用いるようにしてもよい。なお、変速機入力軸４５、駆動輪５０とクランク軸２４との間のトルクの伝達態様は、それらの間に介在する変速装置４４の変速比の設定に応じて変化する。そのため、クランク軸２４との間に変速装置４４が介在する駆動系回転要素の回転速度の情報を表す変数を検出用写像の入力変数に含める場合には、変速装置４４の変速比に関する情報も検出用写像の入力変数に含めることが望ましい。
【００９３】
・「ロックアップ油圧について」
上記実施形態では、油圧回路４８に設けられた油圧センサ７３の出力からロックアップ油圧Ｐｌｃを取得していたが、ロックアップ油圧Ｐｌｃを油圧回路４８の操作信号ＭＳ４より取得するようにしてもよい。こうした場合には、油圧センサ７３は割愛してもよい。
【００９４】
また、上記実施形態では、ロックアップ油圧Ｐｌｃを検出用写像の入力変数に含めていた。こうしたロックアップ油圧Ｐｌｃに代えて、ロックアップクラッチ４２の作動状態を示す他の変数を検出用写像の入力変数に含めるようにしてもよい。例えばロックアップクラッチ４２の作動状態が、締結された状態、締結が解除された状態の二値的に切替えられるものである場合には、ロックアップクラッチ４２がいずれの作動状態にあるかを示す変数が、ロックアップ油圧Ｐｌｃの代わりの変数となり得る。ちなみに、ロックアップクラッチ４２が設けられていない車両の場合には当然ながら、ロックアップクラッチ４２の作動状態を示す変数を検出用写像の入力変数に含めないことになる。
【００９５】
・「回転波形変数について」
Ｓ２６の処理では、気筒間変数ΔＴｂ（２）及び変動パターン変数ＦＬ［０２］，ＦＬ［１２］，ＦＬ［３２］によって回転波形変数を構成したが、これに限らない。例えば回転波形変数を構成する変動パターン変数を、変動パターン変数ＦＬ［０２］，ＦＬ［１２］，ＦＬ［３２］のいずれか１つ、又は２つとしてもよい。また、例えば変動パターン変数ＦＬ［０２］，ＦＬ［１２］，ＦＬ［３２］，ＦＬ［４２］等、４つ以上の変動パターン変数を含めてもよい。
【００９６】
Ｓ６４の処理では、互いに圧縮上死点の出現タイミングが異なる９個のタイミングのそれぞれに対応した微小回転時間Ｔ３０によって回転波形変数を構成したが、これに限らない。例えば失火の検出対象となる気筒の圧縮上死点を中央として、圧縮上死点の出現する角度間隔の２倍以上の区間を３０°ＣＡの間隔で分割したそれぞれにおける微小回転時間Ｔ３０によって回転波形変数を構成してもよい。また上記において、失火の検出対象となる気筒の圧縮上死点を中央とすることは必須では無い。さらに、ここでの微小回転時間としては、３０°ＣＡの間隔の回転に要する時間に限らない。また、微小回転時間に代えて、所定の角度間隔の回転に要する時間によって所定の角度間隔を除算した瞬時回転速度を用いてもよい。
【００９７】
・「動作点変数について」
動作点変数としては、回転速度ＮＥ及び充填効率ηに限らない。例えば吸入空気量Ｇａと回転速度ＮＥとであってもよい。また、例えば下記「内燃機関について」の欄に記載したように、圧縮着火式内燃機関を用いる場合、噴射量と回転速度ＮＥとであってもよい。なお、動作点変数を検出用写像の入力とすることは必須では無い。例えば下記「車両について」の欄に記載したシリーズハイブリッド車に搭載される内燃機関に適用される場合において、内燃機関が特定の動作点に限って運転される場合等には、動作点変数を入力変数に含めなくても、燃焼状態変数ＰＲの値を高精度に算出できる。
【００９８】
・「外部側送信処理について」
Ｓ６６の処理では、燃焼状態変数ＰＲの値を送信したが、これに限らない。例えば出力活性化関数としてのソフトマックス関数の入力となる原型変数ｙＲ（１），ｙＲ（２）の値を送信してもよい。また、例えばセンター９０においてＳ２８〜Ｓ３６の処理を実行することとし、異常があるか否かの判定結果を送信してもよい。
【００９９】
・「対処処理について」
上記実施形態では、警告灯７８を操作することによって、視覚情報を通じて失火が生じた旨を報知したが、これに限らない。例えばスピーカを操作することによって、聴覚情報を通じて失火が生じた旨を報知してもよい。また、例えば図１に示す制御装置６０が通信機６９を備えることとし、通信機６９を操作してユーザの携帯端末に失火が生じた旨の信号を送信する処理としてもよい。これは、ユーザの携帯端末に、報知処理を実行するアプリケーションプログラムをインストールしておくことにより実現できる。
【０１００】
対処処理としては、報知処理に限らない。例えば内燃機関１０の燃焼室１８内の混合気の燃焼を制御するための操作部を失火が生じた旨の情報に応じて操作する操作処理であってもよい。具体的には、例えば操作部を点火装置２２として失火が生じた気筒の点火時期を進角させてもよい。また、例えば操作部を燃料噴射弁２０として、失火が生じた気筒の燃料噴射量を増量させてもよい。
【０１０１】
・「検出用写像への入力について」
ニューラルネットワークへの入力や、下記「機械学習のアルゴリズムについて」の欄に記載した回帰式への入力等としては、各次元が単一の物理量や変動パターン変数ＦＬからなるものに限らない。例えば上記実施形態等において検出用写像への入力とした複数種類の物理量や変動パターン変数ＦＬの一部については、ニューラルネットワークや回帰式への直接の入力とする代わりに、それらの主成分分析によるいくつかの主成分を、ニューラルネットワークや回帰式への直接の入力としてもよい。もっとも、主成分をニューラルネットワークや回帰式の入力とする場合に、ニューラルネットワークや回帰式への入力の一部のみが主成分となることは必須では無く、全部を主成分としてもよい。なお、主成分を検出用写像への入力とする場合、写像データ６６ａ，９６ａには、主成分を定める検出用写像を規定するデータが含まれることとなる。
【０１０２】
・「写像データについて」
車両において実行される演算に用いられる写像を規定する写像データを、Ｓ６４の処理において例示した写像を規定するデータとしてもよい。
【０１０３】
例えば図７の記載によれば、ニューラルネットワークの中間層の層数は、２層よりも多い表現となっているが、これに限らない。
上記実施形態では、活性化関数ｈ，ｈ１，ｈ２，…ｈαを、ＲｅＬＵとし、出力の活性化関数をソフトマックス関数としたが、これに限らない。例えば活性化関数ｈ，ｈ１，ｈ２，…ｈαを、ハイパボリックタンジェントとしてもよい。また、例えば活性化関数ｈ，ｈ１，ｈ２，…ｈαをロジスティックジグモイド関数としてもよい。
【０１０４】
また、例えば出力の活性化関数を、ロジスティックジグモイド関数としてもよい。この場合、例えば出力層のノード数を１個とし、出力変数を燃焼状態変数ＰＲとすればよい。その場合、出力変数の値が所定値以上である場合に異常と判定することによって、異常の有無を判定できる。
【０１０５】
・「機械学習のアルゴリズムについて」
機械学習のアルゴリズムとしては、ニューラルネットワークを用いるものに限らない。例えば回帰式を用いてもよい。これは、上記ニューラルネットワークにおいて中間層を備えないものに相当する。また、例えばサポートベクトルマシンを用いてもよい。この場合、出力の値の大きさ自体には意味が無く、その値が正であるか否かに応じて、失火が生じたか否かを表現する。換言すれば、燃焼状態変数の値が３値以上の値を有してそれらの値の大小が失火の確率の大小を表現するものとは相違する。
【０１０６】
・「学習工程について」
上記実施形態では、ランダムに失火が生じる状況において学習を実行したが、これに限らない。例えば特定の気筒で連続的に失火が生じる状況において学習を実行してもよい。ただし、その場合、写像への入力となる気筒間変数や変動パターン変数に用いる気筒間変数ΔＴｂを、「気筒間変数について」の欄に記載したように、失火の検出対象となる気筒と、それ以外の気筒とのそれぞれの圧縮上死点に対応する微小回転時間Ｔ３０同士の差等とすることが望ましい。
【０１０７】
クランク軸２４のダイナモメータを接続し内燃機関１０を稼働した際のクランク軸２４の回転挙動に基づき学習を行うものに限らない。例えば内燃機関１０を車両に搭載し、車両を走行させた際のクランク軸２４の回転挙動に基づき学習を行ってもよい。これによれば、車両が走行する路面の状態によるクランク軸２４の回転挙動の影響を学習に反映させることができる。
【０１０８】
・「データ解析装置について」
例えばＳ６２，Ｓ６４の処理に代えて、Ｓ２４，Ｓ２６の処理等をセンター９０によって実行してもよい。
【０１０９】
図７の処理を、例えばユーザが所持する携帯端末によって実行してもよい。これは、携帯端末に図７の処理を実行するアプリケーションプログラムをインストールしておくことにより実現できる。なお、この際、例えばＳ５２の処理におけるデータの送信が有効な距離が車両の長さ程度である設定とする等して、車両ＩＤの送受信処理を削除してもよい。
【０１１０】
・「実行装置について」
実行装置としては、ＣＰＵ６２（９２）とＲＯＭ６４（９４）とを備えて、ソフトウェア処理を実行するものに限らない。例えば上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、実行装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置及びプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置及びプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【０１１１】
・「記憶装置について」
上記実施形態では、写像データ６６ａ，９６ａが記憶される記憶装置と、失火用プログラム６４ａや失火用メインプログラム９４ａが記憶される記憶装置（ＲＯＭ６４，９４）とを別の記憶装置としたが、これに限らない。
【０１１２】
・「コンピュータについて」
コンピュータとしては、車両に搭載されたＣＰＵ６２及びＲＯＭ６４等の実行装置と、センター９０が備えるＣＰＵ９２及びＲＯＭ９４等の実行装置とから構成されるものに限らない。例えば車両に搭載された実行装置とセンター９０が備える実行装置と、ユーザの携帯端末内のＣＰＵ及びＲＯＭ等の実行装置とによって、構成してもよい。これは、例えば図７のＳ６６の処理を、ユーザの携帯端末に送信する処理とし、Ｓ５４，Ｓ２８〜Ｓ３６の処理を携帯端末において実行することで実現できる。
【０１１３】
・「既定の運転状態について」
気筒間の燃焼状態のばらつきを伴う内燃機関１０の運転状態であれば、失火や気筒間空燃比インバランス以外の運転状態を状態検出システムの検出態様としてもよい。例えば吸気バルブや排気バルブの開弁固着により気筒内での吸気の圧縮が不十分な状態となる、いわゆる圧縮抜けが特定の気筒で発生した場合にも、気筒間の燃焼状態にばらつきが生じてクランク軸２４の回転変動が大きくなる。そのため、こうした圧縮抜けの検出を、上述の回転波形変数及び駆動系回転速度変数を入力とした検出用写像を用いて行うようにすれば、モータジェネレータの駆動状態がクランク軸２４の回転挙動に与える影響を反映したかたちで圧縮抜けを高精度に検出できる。
【０１１４】
・「内燃機関について」
上記実施形態では、燃料噴射弁として、燃焼室１８内に燃料を噴射する筒内噴射弁を例示したがこれに限らない。例えば吸気通路１２に燃料を噴射するポート噴射弁であってもよい。また、例えばポート噴射弁と筒内噴射弁との双方を備えてもよい。
【０１１５】
内燃機関としては、火花点火式内燃機関に限らず、例えば燃料として軽油等を用いる圧縮着火式内燃機関等であってもよい。
・「車両について」
上記実施形態の車両ＶＣは、駆動系にロックアップクラッチ４２、トルクコンバータ４０、及び変速装置４４を有した構成であったが、駆動系の構成の異なる車両であってもよい。
【符号の説明】
【０１１６】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…吸気バルブ、１８…燃焼室、２０…燃料噴射弁、２２…点火装置、２４…クランク軸、２６…排気バルブ、２８…排気通路、４０…トルクコンバータ、４２…ロックアップクラッチ、４４…変速装置、４５…変速機入力軸、４６…変速機出力軸、４８…油圧回路、５０…駆動輪、６０…制御装置、６２…ＣＰＵ、６４…ＲＯＭ、６４ｂ…失火用サブプログラム、６６…記憶装置、６６ａ…写像データ、６７…周辺回路、６８…バス、６９…通信機、７０…エアフローメータ、７１…空燃比センサ、７２…クランク角センサ、７３…油圧センサ、７４…アクセルセンサ、７５…シフト位置センサ、７６…入力軸速度センサ、７７…出力軸速度センサ、７８…警告灯、７９…車輪速センサ、８０…ネットワーク、９０…センター、９２…ＣＰＵ、９４…ＲＯＭ、９４ａ…失火用メインプログラム、９６…記憶装置、９６ａ…写像データ、９７…周辺回路、９８…バス、９９…通信機。
【要約】
【課題】失火や気筒間の空燃比のばらつき等の検出精度を向上する。
【解決手段】ＣＰＵ６２は、燃焼トルクの発生期間のクランク軸２４の回転速度の気筒間差に関する情報を含む変数である回転波形変数と、変速機入力軸４５の回転速度である入力軸回転速度ＮＴと、を入力とするとともに、気筒間の燃焼状態のばらつき度合いに関する変数である燃焼状態変数を出力とするニューラルネットワークの出力値に基づき、失火の有無を判定する。
【選択図】図１【図１】
0006665961.tif 000002
【図２】
0006665961.tif 000003
【図３】
0006665961.tif 000004
【図４】
0006665961.tif 000005
【図５】
0006665961.tif 000006
【図６】
0006665961.tif 000007
【図７】
0006665961.tif 000008
【図８】
0006665961.tif 000009
【図９】
0006665961.tif 000010