(57)【要約】【課題】走行時における気筒別空燃比、もしくは気筒別排気割合を高精度に推定可能とする。【解決手段】エンジンの気筒別の排気割合を、砂時計型のニューラルネットワークを用いて推定する。砂時計型のニューラルネットワークによれば、排気集合部に設けた空燃比センサの検出値ＣＰＡＦ１４と、入力用空燃比ＡＦ１、ＡＦ４と、クランク角度ＣＡを入力とし、最終段の出力が空燃比センサの検出値ＣＰＡＦ１４となるように学習を行なうことで、出力として第１気筒と第４気筒との間の排気割合Ｒｔ１４を得ることができる。このために、学習（教師信号）に排気割合の実測値を必要としない。【選択図】        図３
2004239233.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する内燃機関と、
前記複数の気筒からの排気を１または複数の集合部で集めて排出する排気手段と、
前記排気手段の集合部に設けられた空燃比センサと、
前記空燃比センサの検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が前記空燃比センサの検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する排気割合推定手段と、
該推定された排気割合に基づいて、前記気筒別の空燃比を演算する空燃比演算手段と
を備える内燃機関の気筒別空燃比推定装置。
【請求項２】
請求項１に記載の内燃機関の気筒別空燃比推定装置であって、
前記空燃比演算手段は、
前記気筒別の空燃比の演算を、前記排気割合推定手段により推定された排気割合に加えて前記空燃比センサの検出値を用いて行なう構成である内燃機関の気筒別空燃比推定装置。
【請求項３】
請求項１または２に記載の内燃機関の気筒別空燃比推定装置であって、
前記内燃機関の吸入空気量を検出する吸入空気量検出手段と、
該検出された吸入空気量と、前記燃料噴射弁からの気筒毎の燃料噴射量とに基づいて、気筒別の入力用空燃比を、前記運転パラメータの一つとして演算する入力用空燃比演算手段と
を備える内燃機関の気筒別空燃比推定装置。
【請求項４】
請求項１ないし３のいずれかに記載の内燃機関の気筒別空燃比推定装置であって、
内燃機関に連結されるクランク軸のクランク角度を、前記運転パラメータの一つとして検出するクランク角検出手段を備える内燃機関の気筒別空燃比推定装置。
【請求項５】
複数の気筒を有する内燃機関と、
前記複数の気筒からの排気を１または複数の集合部で集めて排出する排気手段と、
前記排気手段の集合部に設けられた空燃比センサと、
前記空燃比センサの検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が前記空燃比センサの検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する排気割合推定手段と
を備える内燃機関の気筒排気割合推定装置。
【請求項６】
複数の気筒を有し、前記複数の気筒からの排気を１または複数の集合部で集めて排出する内燃機関システムにあって、気筒別の空燃比を推定する内燃機関の気筒別空燃比推定方法において、
（ａ）前記排気手段の集合部における空燃比を検出する工程と、
（ｂ）前記工程（ａ）による検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が工程（ａ）による検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する工程と、
（ｃ）該推定された排気割合に基づいて、前記気筒別の空燃比を演算する工程と
を備えることを特徴とする内燃機関の気筒別空燃比推定方法。
【請求項７】
複数の気筒を有し、前記複数の気筒からの排気を１または複数の集合部で集めて排出する内燃機関システムにあって、前記集合部での排気割合を推定する内燃機関の気筒排気割合推定方法において、
（ａ）前記排気手段の集合部における空燃比を検出する工程と、
（ｂ）前記工程（ａ）による検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が工程（ａ）による検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する工程と、
を備えることを特徴とする内燃機関の気筒排気割合推定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の気筒を有する内燃機関における気筒別の空燃比を推定する技術と、各気筒の排気割合を推定する技術に関する。
【０００２】
【従来の技術】
従来より、複数気筒を有する内燃機関において、複数の気筒からの排気を１または複数の集合部で集めて排出する排気系を備えるものがある。この集合部に空燃比センサを設けることで、気筒数より少ない数の空燃比センサで済ませることができるが、この場合には一つの空燃比センサの検出値から、気筒別の空燃比を推定する必要がある。この要求を満たすものとして、空燃比センサの検出値を入力とするニューラルネットワークを用いて、複数気筒の気筒別空燃比を推定する装置が提案されている（例えば、特許文献１を参照）。
【０００３】
【特許文献１】
特開平１０−２５２５３６号
【０００４】
ニューラルネットワークでは、学習（教師信号）に、各気筒の排気割合の実測値が必要である。ここでいう排気割合とは、空燃比センサが設けられている上記集合部において、各気筒からの排気量がどのような比率になっているかを示すものである。排気割合が絶えず変化するのは、気筒毎に点火のタイミングがずらしてあるためであり、これが空燃比センサの実測値にかかわる。そこで、特許文献１では、実車装着前に、各気筒の排気ポートに空燃比センサを取り付けて空燃比を実際に検出して、学習を行なうことにより、ネットワークの適切な結合強度を決めていた。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術では、実車に装着した状態では、学習を行なうことができないことから、様々な走りや経年変化に対応できず、推定精度が低いという問題があった。
【０００６】
本発明は、上述した問題に鑑みてなされたもので、走行時における気筒別空燃比を高精度に推定可能とすることを目的とする。
【０００７】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも少なくとも一部を解決するための手段としては、以下に示す構成をとった。
【０００８】
本発明の内燃機関の気筒別空燃比推定装置は、
複数の気筒を有する内燃機関と、
前記複数の気筒からの排気を１または複数の集合部で集めて排出する排気手段と、
前記排気手段の集合部に設けられた空燃比センサと、
前記空燃比センサの検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が前記空燃比センサの検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する排気割合推定手段と、
該推定された排気割合に基づいて、前記気筒別の空燃比を演算する空燃比演算手段と
を備えることを要旨としている。
【０００９】
上記構成の内燃機関の気筒別空燃比推定装置では、学習（教師信号）に排気割合の実測値を必要としない。必要な入力信号は、排気の集合部に設けた空燃比センサの実測値と、その他の内燃機関の運転パラメータであることから、実車に装着した状態で学習を行なうことができる。このために、様々な走りや経年変化に対応することができることから、気筒別の空燃比の推定精度が高いという効果を奏する。
【００１０】
前記空燃比演算手段は、前記気筒別の空燃比の演算を、前記排気割合推定手段により推定された排気割合に加えて前記空燃比センサの検出値を用いて行なう構成としてもよい。この構成によれば、気筒別の空燃比を容易に演算することができる。
【００１１】
上記構成の内燃機関の気筒別空燃比推定装置において、前記内燃機関の吸入空気量を検出する吸入空気量検出手段と、該検出された吸入空気量と、前記燃料噴射弁からの気筒毎の燃料噴射量とに基づいて、気筒別の入力用空燃比を、前記運転パラメータの一つとして演算する入力用空燃比演算手段とを備える構成としてもよい。
【００１２】
この構成によれば、吸入空気量と気筒毎の燃料噴射量とから求まる入力用空燃比を考慮に入れた、砂時計型のニューラルネットワークによる学習を行なうことができる。
【００１３】
上記構成の内燃機関の気筒別空燃比推定装置において、内燃機関に連結されるクランク軸のクランク角度を、前記運転パラメータの一つとして検出するクランク角検出手段を備える構成としてもよい。
【００１４】
気筒毎の排気割合は、それぞれの気筒の排気上死点のタイミングが大きく関わる。例えば、第１気筒の排気上死点以降、排気集合部ではしばらくの間、第１気筒の排気が支配的となるとなるように、クランク角度によって排気割合が大きく変化する。上記構成ではクランク角度を考慮に入れた、砂時計型のニューラルネットワークによる学習を行なうことができることから、推定精度をより高めることができる。
【００１５】
本発明の内燃機関の気筒別空燃比推定方法は、
複数の気筒を有し、前記複数の気筒からの排気を１または複数の集合部で集めて排出する内燃機関システムにあって、気筒別の空燃比を推定する内燃機関の気筒別空燃比推定方法において、
（ａ）前記排気手段の集合部における空燃比を検出する工程と、
（ｂ）前記工程（ａ）による検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が工程（ａ）による検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する工程と、
（ｃ）該推定された排気割合に基づいて、前記気筒別の空燃比を演算する工程とを備えることを要旨としている。
【００１６】
上記構成の内燃機関の気筒別空燃比推定方法は、本発明の内燃機関の気筒別空燃比推定装置と同様な作用・効果を有しており、様々な走りや経年変化に対応することができ、気筒別の空燃比の推定精度が高い。
【００１７】
本発明の内燃機関の気筒排気割合推定装置は、
複数の気筒を有する内燃機関と、
前記複数の気筒からの排気を１または複数の集合部で集めて排出する排気手段と、
前記排気手段の集合部に設けられた空燃比センサと、
前記空燃比センサの検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が前記空燃比センサの検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する排気割合推定手段と、
を備えることを要旨としている。
【００１８】
上記構成の内燃機関の気筒排気割合推定装置では、学習（教師信号）に排気割合の実測値を必要としない。必要な入力信号は、排気の集合部に設けた空燃比センサの実測値と、その他の内燃機関の運転パラメータであることから、実車に装着した状態で学習を行なうことができる。このために、様々な走りや経年変化に対応することができることから、排気割合の推定精度が高いという効果を奏する。
【００１９】
本発明の内燃機関の気筒排気割合推定方法は、
複数の気筒を有し、前記複数の気筒からの排気を１または複数の集合部で集めて排出する内燃機関システムにあって、前記集合部での排気割合を推定する内燃機関の気筒排気割合推定方法において、
（ａ）前記排気手段の集合部における空燃比を検出する工程と、
（ｂ）前記工程（ａ）による検出値を少なくとも含む内燃機関の運転パラメータを入力とし、最終層の出力が工程（ａ）による検出値と同じ値となるように学習を行なうことで、中間層に前記空燃比センサの検出値の特徴である前記集合部での排気割合が出現する砂時計型ニューラルネットワークを用いて、前記排気割合を推定する工程と、
を備えることを要旨としている。
【００２０】
上記構成の内燃機関の気筒排気割合推定方法は、本発明の内燃機関の気筒排気割合推定装置と同様な作用・効果を有しており、様々な走りや経年変化に対応することができ、排気割合の推定精度が高い。
【００２１】
【発明の実施の形態】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．全体の構成：
Ｂ．砂時計型ニューラルネットワーク：
Ｃ．制御処理：
Ｄ．作用・効果：
Ｅ．他の実施形態：
【００２２】
Ａ．全体の構成：
図１は、本発明の一実施例における気筒別空燃比の推定装置を搭載するエンジンシステムの要部構成図である。このエンジンシステムの主要部であるエンジン１０は、４気筒のガソリンエンジンである。図示するように、エンジン１０の吸気側には、吸気マニホールド２０が接続されている、吸気マニホールド２０には、吸気通路２２が連通されている。吸気通路２２を介して吸入される吸入空気は、吸気マニホールド２０の枝分かれした各パイプ部分にそれぞれ設けられた燃料噴射弁３０から噴射される燃料と混合されて、エンジン１０の各気筒の燃焼室内に吸入される。この燃料混合気は、燃焼室内で点火プラグ（図示せず）によって火花点火され、エンジン１０を駆動させる。燃焼室内で燃焼したガス（排ガス）は、排気マニホールド（排気管）４０、排気通路４２を介して排出される。
【００２３】
排気マニホールド４０は、いわゆるデュアル型のもので、エンジン１０の第１気筒と第４気筒の組と、第２気筒と第３気筒の組との間を仕切り版で分離して、吸気の干渉が起こりにくい構成となっている。第１気筒と第２気筒の組の集合部には、第１の空燃比センサ５０が、第２気筒と第３気筒の組の集合部には、第２の空燃比センサ５２が設けられている。
【００２４】
上記燃料噴射弁３０からの燃料噴射量（燃料噴射時間）や、点火プラグによる点火時期は、電子制御ユニット（以下、ＥＣＵと呼ぶ）６０によって制御される。また、ＥＣＵ６０には、エンジン１０の運転状態を示す運転パラメータを検出する各種のセンサが接続されている。図示したセンサとしては、吸気通路２２への吸入空気量を検出するエアフロメータ５４と、エンジン１０に連結されるクランク軸のクランク角度を検出するクランク角センサ５６と、上記２つの空燃比センサ５０，５２がある。第１または第２の空燃比センサ５０，５２は、排ガス中の空燃比を検出する空燃比センサである。
【００２５】
ＥＣＵ６０は、上記の各種センサの検出信号を基に、燃料噴射制御や点火時期制御等を行なう。なお、ＥＣＵ６０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備える所謂マイクロコンピュータによって構成される。上記各種の制御は、ＲＯＭに格納されたコンピュータプログラムに従って、ＣＰＵによって実行される。
【００２６】
ＥＣＵ６０は、上述したように燃料噴射制御を行なうが、この燃料噴射制御を行なうに当たり空燃比補正係数ＦＡＦを演算しなければならない。この空燃比補正係数ＦＡＦは、エンジン１０に供給される燃料混合気の気筒別の空燃比に基づいて定まるが、この気筒別の空燃比は、このエンジンシステムでは各気筒に対応する空燃比センサを持っていないから、排気マニホールド４０の集合部に設けられた２つの空燃比センサ５０，５２から推定する必要がある。この推定を行なうのが、ＥＣＵ６０により実現される気筒別空燃比推定部６２である。
【００２７】
実際には、ＥＣＵ６０は、ＣＰＵによって、ＲＯＭに格納されたコンピュータプログラム（以下、気筒別空燃比推定プログラムと呼ぶ）を実行することにより、気筒別空燃比推定部６２を機能的に実現している。気筒別空燃比推定部６２は、排気割合推定部６２ａと空燃比演算部６２ｂとを備える。排気割合推定部６２ａは、第１の空燃比センサ５０、エアフロメータ５４、クランク角センサ５６の各検出値を入力とし、最終層の出力が第１の空燃比センサ５０の検出値と同じ値となるように学習を行なう砂時計型ニューラルネットワークを用いて、排気割合Ｒｔ１４を推定する。ここでは、排気割合Ｒｔ１４とは、前記第１の空燃比センサ５０が設けられた排気マニホールド４０の集合部において、第１気筒、第４気筒からの排気量がどのような比率になっているかを示すものである。
【００２８】
この排気割合推定部６２ａは、２つの砂時計型のニューラルネットワークを用いており、一方側は上述したもので、他方側は、第２の空燃比センサ５２、エアフロメータ５４、クランク角センサ５６の各検出値を入力とし、最終層の出力が第２の空燃比センサ５２の検出値と同じ値となるように学習を行ない、排気割合Ｒｔ２３を推定するものである。ここでは、排気割合Ｒｔ２３とは、第２の空燃比センサ５２が設けられた排気マニホールド４０の集合部において、第２気筒、第３気筒からの排気量がどのような比率になっているかを示すものである。
【００２９】
空燃比演算部６２ｂは、排気割合推定部６２ａにより推定された排気割合と第１または第２の空燃比センサ５０，５２に基づいて、気筒別の空燃比を演算する。
【００３０】
Ｂ．砂時計型ニューラルネットワーク：
図２は、排気割合推定部６２ａで用いられる砂時計型ニューラルネットワークの基本的な構成を示す説明図である。この砂時計型ニューラルネットワーク（以下、砂時計型ＮＮと呼ぶ）は、排気割合Ｒｔ１４を推定する側のものである。図示するように、入力及び出力の双方に第１の空燃比センサ５０の検出信号ＣＰＡＦ１４が供給される。また、入力として、第１気筒と第４気筒の入力用空燃比ＡＦ１，ＡＦ４が供給される。第１気筒の入力用空燃比ＡＦ１は、エアフロメータ５４で検出された吸入空気量Ｇａを、第１気筒への燃料噴射量Ｔａｕ１で割った値であり、第４気筒の入力用空燃比ＡＦ４は、上記吸入空気量Ｇａを、第４気筒への燃料噴射量Ｔａｕ４で割った値である。第３層にも、第１気筒の入力用空燃比ＡＦ１と第４気筒の入力用空燃比ＡＦ１が入力されている。
【００３１】
砂時計型ＮＮでは、上記ＣＰＡＦ１４，ＡＦ１，ＡＦ４を入力として、最終層（第５層）の出力値が第１の空燃比センサ５０の検出信号ＣＰＡＦ１４と同じ値となるように教師信号を与え、誤差逆伝搬法による学習を行なう。この学習が終了したとき、中間層（第３層）の１番目のユニット内に、入力情報である第１の空燃比センサ５０の検出信号ＣＰＡＦ１４の特徴が出現する。ＣＰＡＦ１４は、空燃比センサ５０に送られてくる第１気筒からの排気量と第４気筒からの排気量との比率によって変わることから、上記特徴としてその比率を示す排気割合Ｒｔ１４が出現する。すなわち、ニューラルネットワークの内部表現として排気割合Ｒｔ１４を表わさせるために中間層に属するニューロン数が他の中間層より少ないいわゆる砂時計型のニューラルネットワークが構築されている。
【００３２】
砂時計型ＮＮについて、理解を深めるためにさらに説明する。砂時計型ＮＮは、従来、通信の分野において情報の圧縮・復元等に応用されており、また、近年人間の感覚を研究する際にも応用がなされている。例えば、「福村直博、宇野洋二、鈴木良次、川人光男：“把持対象の形状を認識し、手の形を決定する神経回路モデル”、信学技報、ＮＣ９０−１０４（１９９１−０３）」、「宇野洋二、岩田  伸、半場  滋、鈴木良次：“把持対象の重さの内部表現を獲得する神経回路モデル”、信学論（Ｄ−２）、Ｊ７６−Ｄ−２、３、ｐｐ、６６３−６７１（１９９３−０３）」等に、砂時計型ＮＮについての記載がある。また、本願発明者が、特許公報第３３１０４９８号にも記載している。
【００３３】
図２から理解されるように、この砂時計型ＮＮは、三層構造の情報圧縮ＮＮと、情報復元ＮＮとを対称形に結合した構成をなしている。そして、入力・出力は共に第１の空燃比センサ５０の検出信号ＣＰＡＦ１４である。この砂時計型ＮＮの学習は、このＮＮの出力信号と、教師信号の誤差の２乗和を最小にするように、この誤差信号を出力から入力側に逆伝搬（バックプロパゲーション）させて、ＮＮの第１層と第２層との間、及び第２層と第３層との間、さらには第３層及び第４層、第４層と第５層との間のシナプス結合の結合荷重（ウエイト）を変化させることによって行われる。
【００３４】
この砂時計型ＮＮにおいて特徴的なことは、このＮＮの学習に用いられる入力信号と教師信号とが共に第１の空燃比センサ５０の検出信号ＣＰＡＦ１４であることである。このように、教師信号と、入力信号とに共に検出信号ＣＰＡＦ１４を与えて学習させることにより、中間層に、第１の空燃比センサ５０の検出信号ＣＰＡＦ１４の特徴である排気割合Ｒｔ１４に対応したニューロンが形成されるのである。すなわち、このＮＮの中間層に排気割合Ｒｔ１４に対応する内部表現の獲得がなされる。
【００３５】
排気割合推定部６２ａで用いられる他方側、すなわち、排気割合Ｒｔ２３を推定する側の砂時計型ＮＮは、上記第２図の構成を、第１気筒に関わるものは第２気筒に、第４気筒に関わるもの第３気筒に変えたもので、考え方は同様のものである。すなわち、第２の空燃比センサ５２の検出信号ＣＰＡＦ２３が入力及び出力の双方に供給される。また、入力として、第２気筒と第３気筒の入力用空燃比ＡＦ２，ＡＦ３が供給される。そうして、最終層の出力値が第２の空燃比センサ５２の検出信号ＣＰＡＦ２３となるように誤差逆伝搬法による学習を行なう。この学習が終了したとき、中間層（第３層）の１番目のユニット内に、入力情報である第２の空燃比センサ５２の検出信号ＣＰＡＦ２３の特徴である上記排気割合Ｒｔ２３が出現する。すなわち、ニューラルネットワークの内部表現として排気割合Ｒｔ２３を表わさせるために中間層に属するニューロン数が他の中間層より少ないいわゆる砂時計型のニューラルネットワークが構築されている。
【００３６】
図２で示した砂時計型ＮＮは、前述したように基本的な構成であり、実際は次の通りである。図３は、排気割合推定部６２ａで用いられる砂時計型ニューラルネットワークの実用的な構成を示す説明図である。各気筒からの排気割合は、それぞれの気筒の排気上死点のタイミングが大きく関わる。例えば、第１気筒の排気上死点以降、第１の空燃比センサ５０の取り付け部である排気集合部ではしばらくの間、第１気筒の排気が支配的となるとなるように、クランク角によって排気割合が大きく変化する。
【００３７】
このために、図３に示した砂時計型ＮＮでは、入力として、図２に示した第１気筒と第４気筒の入力用空燃比ＡＦ１、ＡＦ４に加えて、クランク角センサ５６の検出値ＣＡも供給する構成としている。なお、図示するように、第３層にも、クランク角センサ５６の検出値ＣＡが入力されている。
【００３８】
なお、他方側、すなわち、第２気筒と第３気筒との間の排気割合を推定する側の砂時計型ＮＮについても、同様に、入力として、クランク角センサ５６の検出値ＣＡも供給する構成となっている。両砂時計型ＮＮは、ソフトウェアモジュールの形で、ＲＯＭに予め格納されている。
【００３９】
Ｃ．制御処理：
ＥＣＵ６０にて実行される気筒別空燃比推定プログラムについて、次に説明する。図４〜図５は、ＥＣＵ６０のＣＰＵにて実行される気筒別空燃比推定プログラムの処理ルーチンを示すフローチャートである。ここに示しているのは、第１の空燃比センサ５０の検出値ＣＰＡＦ１４を利用して第１気筒と第４気筒の気筒別の空燃比ＡＦ１＊，ＡＦ４＊を求めるルーチンであり、第２気筒と第３気筒の気筒別の空燃比ＡＦ２＊，ＡＦ３＊を求めるルーチンについては、第１気筒と第４気筒の気筒別の空燃比ＡＦ１＊，ＡＦ４＊を求めるルーチンと似通っているので説明を省略する。この処理ルーチンは所定時間毎に繰り返し実行される。
【００４０】
図示するように、ＥＣＵ６０のＣＰＵは、処理が開始されると、まず、第１の空燃比センサ５０の検出信号（検出値）ＣＰＡＦ１４を取り込み（ステップＳ１００）、エアフロメータ５４で検出された吸入空気量Ｇａを取り込み（ステップＳ１１０）、クランク角センサ５６で検出されたクランク角度ＣＡを取り込む（ステップＳ１２０）。次いで、ＣＰＵは、第１気筒と第４気筒の入力用空燃比ＡＦ１，ＡＦ４を算出する処理を行なう（ステップＳ１３０）。詳細には、別ルーチンである燃料噴射量演算ルーチンから第１気筒と第４気筒用の燃料噴射量Ｔａｕ１，Ｔａｕ４を読み出して、ステップＳ１１０で取り込んだ吸入空気量Ｇａを、第１気筒への燃料噴射量Ｔａｕ１で除算して、第１気筒の入力用空燃比ＡＦ１を求め、また、吸入空気量Ｇａを、第４気筒への燃料噴射量Ｔａｕ４で除算して、第２気筒の入力用空燃比ＡＦ２を求める。
【００４１】
続いて、ＣＰＵは、砂時計型ニューラルネットワークを用いて第１気筒と第４気筒との間の排気割合Ｒｔ１４を推定する処理を行なう（ステップＳ１４０）。詳細には、ＥＣＵ６０のＲＯＭに予め格納された前述した砂時計型ＮＮ（図３で示されたもの）を構成するソフトウェアモジュールに、ステップＳ１００ないしＳ１２０で得られた検出信号（排気集合部の空燃比）ＣＰＡＦ１４、クランク角度ＣＡと、入力用空燃比ＡＦ１，ＡＦ４とを入力して、その後、ソフトウェアモジュールから出力される排気割合Ｒｔ１４を得る。この排気割合Ｒｔ１４としては、具体的には、例えば０．６２という０から１までの値が出力される。０．６２の場合には、第１気筒からの排気量が６２％であり、第４気筒からの排気量が３８％である。なお、前回このステップＳ１３０を実行したときに得られた排気割合Ｒｔ１４は、ＸＲｔ１４として一旦保存しておく。このステップＳ１４０の処理が、排気割合推定部６２ａ（図１）に対応する。
【００４２】
その後、ＣＰＵは、ステップＳ１００で取り込んだ集合部の空燃比ＣＰＡＦ１４とステップＳ１４０で求まった排気割合Ｒｔ１４とに基づいて、第１気筒の推定空燃比ＡＦ１＊と第４気筒の推定空燃比ＡＦ４＊とを算出する（ステップＳ１５０）。例えば、排気割合Ｒｔ１４から第１気筒の排気割合が６２％、第４気筒の排気割合が３８％と定まったとき、次式（１）の関係が成り立つ。ＣＰＡＦ１４は実測値であることから、式（１）は単純な２次方程式となり、ステップＳ１５０を前回行なったときに得られた式と今回行なった式とから、推定空燃比ＡＦ１＊，ＡＦ４＊とを求めることができる。このステップＳ１５０の処理が、空燃比演算部６２ｂ（図１）に対応する。
【００４３】
０．６２  ×  ＡＦ１＊  ＋  ０．３８  ×  ＡＦ４＊  ＝  ＣＰＡＦ１４  …（１）
【００４４】
ステップＳ１５０の実行後、ＣＰＵは、ステップＳ１５０で算出された推定空燃比ＡＦ１＊，ＡＦ４＊が、目標空燃比（例えば、ストイキ）からかけ離れていないかを判別する（ステップＳ１６０）。詳細には、第１気筒の推定空燃比ＡＦ１＊と目標空燃比との差が所定の範囲内に収まっており、かつ第４気筒の推定空燃比ＡＦ４＊と目標空燃比との差が所定の範囲内に収まっているかを判別する。ここで肯定判別された場合には、ステップＳ１７０に処理を進める。一方、ステップＳ１６０で否定判別、すなわち。少なくとも一方の差が所定の範囲内を越えた場合には、ステップＳ１００に処理を戻して、砂時計型ＮＮの再学習を行なう。
【００４５】
ステップＳ１７０では、ＣＰＵは、ステップＳ１５０で算出された推定空燃比ＡＦ１＊，ＡＦ４＊を、燃料噴射制御ルーチンに提供して、燃料噴射制御ルーチンによる各気筒の燃料噴射量の修整を行なう。その後、ＣＰＵは、所定期間待機して実際に第１気筒、第４気筒への燃料噴射が行なわれるのを待って、第１の空燃比センサ５０の検出値ＣＰＡＦ１４を取り込む（ステップＳ１８０）。
【００４６】
続いて、ＣＰＵは、ステップＳ１８０で取り込んだ検出値ＣＰＡＦ１４が、前回取り込んだ検出値（ステップＳ１００で取り込んだ検出値）よりも目標空燃比（例えば、ストイキ）の側に移行しているか否かを判別する（ステップＳ１９０）。ここで、移行していると判別された場合には、「リターン」に抜けてこの処理ルーチンを一旦終了する。
【００４７】
一方、ステップＳ１９０で、検出値ＣＰＡＦ１４が目標空燃比側に移行していないと判別された場合には、ステップＳ１４０で推定した排気割合Ｒｔ１４に誤りがあるとして、処理をステップＳ２００に進める。ステップＳ１７０で推定空燃比ＡＦ４＊，ＡＦ４＊に基づく燃料噴射量の修正を行なったにも拘わらず、空燃比の検出値ＣＰＡＦ１４が目標空燃比側に移行しないということは、推定空燃比ＡＦ４＊，ＡＦ４＊、ひいてはステップＳ１４０で推定した排気割合Ｒｔ１４に誤りがあると考えられるからである。
【００４８】
ステップＳ２００では、ステップＳ１４０で推定した排気割合Ｒｔ１４を、一旦保存した前回の排気割合のＸＲｔ１４に置き換える。その後、ステップＳ１５０に処理を戻して、前回の排気割合に基づいて推定空燃比ＡＦ１＊，ＡＦ４＊とを算出し、その後の処理を繰り返し実行する。
【００４９】
Ｃ．作用・効果：
以上のように構成されたエンジンシステムでは、エンジン１０の排気集合部での排気割合を、砂時計型のニューラルネットワークを用いて推定する。砂時計型のニューラルネットワークによれば、排気集合部に設けた空燃比センサ５０の検出値ＣＰＡＦ１４と、入力用空燃比ＡＦ１、ＡＦ４と、クランク角度ＣＡを入力とし、最終層の出力が空燃比センサ５０の検出値ＣＰＡＦ１４と同じ値となるように学習を行なうことで、中間層に検出値ＣＰＡＦ１４の特徴である前記排気集合部での排気割合Ｒｔ１４を得ることができる。このために、学習（教師信号）に排気割合の実測値を必要としない。必要な入力信号は、排気の集合部に設けた空燃比センサ５０の実測値と、その他の内燃機関の運転パラメータであることから、実車に装着した状態で学習を行なうことができる。したがって、様々な走りや経年変化に対応することができることから、気筒別の空燃比の推定精度が高いという効果を奏する。
【００５０】
Ｄ．他の実施形態：
なお、本発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００５１】
（１）上述した実施例では、砂時計型ニューラルネットワークを用いて推定した排気割合Ｒｔ１４と、排気集合部に設けた空燃比センサ５０の検出値ＣＰＡＦ１４とに基づいて、気筒別の推定空燃比ＡＦ１＊，ＡＦ４＊を算出していたが、これに替えて、排気割合Ｒｔ１４と、エアフロメータ５４で検出された吸入空気量Ｇａと、第１気筒、第４気筒への燃料噴射量Ｔａｕ１、Ｔａｕ４に基づいて、気筒別の推定空燃比ＡＦ１＊，ＡＦ４＊を算出する構成としてもよい。
【００５２】
（２）上述した実施例では、砂時計型ニューラルネットワークにおいて、排気集合部に設けた空燃比センサ５０の検出値ＣＰＡＦ１４と、入力用空燃比ＡＦ１、ＡＦ４と、クランク角度ＣＡを入力としていたが、これに替えて、クランク角度ＣＡの入力を除いた構成とすることもできる。すなわち、図２で説明した基本的な構成とすることもできる。
【００５３】
（３）上述した実施例では、砂時計型ニューラルネットワークにおいて、排気集合部に設けた空燃比センサ５０の検出値ＣＰＡＦ１４に加えて、入力用空燃比ＡＦ１、ＡＦ４を入力としていたが、この入力用空燃比ＡＦ１、ＡＦ４に替えて、吸入空気量Ｇａ、第１気筒、第４気筒への燃料噴射量Ｔａｕ１、Ｔａｕ４等を入力とした構成とすることもできる。
【００５４】
（４）排気割合Ｒｔ１４は、実際にはエンジン１０の運転状態により多少なりとも変化する。このために、特定の運転状態（例えばアイドリング時）のときには、上述した実施例が極めて有効に働く。しかしながら、全ての運転状態に有効に働かそうとした場合には、さらに多くの種類の運転パラメータを用いた方が推定精度が高くなる。図６は、他の実施形態の一例としての砂時計型ニューラルネットワークを示す説明図である。図示するように、上述した実施例で入力としたＣＰＡＦ１４、ＡＦ１、ＡＦ４ＣＡに加えて、回転速度センサにより検出されたエンジン回転速度Ｎｅと、エンジン負荷Ｐｍ（またはバキュームセンサで検出された吸入空気圧）と、水温センサにより検出された機関温度Ｔｈｗとを入力とした砂時計型ニューラルネットワークの構成とすることができる。
【００５５】
この場合、排気割合Ｒｔ１４は、クランク角度ＣＡのみならずＮｅ、Ｐｍなどの角運転パラメータの関数となるため、中間層のＲｔ１４部の内部表現を獲得するニューロン数（図６では第３層第１番目の１個のみ）は複数個になる可能性が大きい。複数個で結合させることで、気筒数が６気筒、８気筒とより多くなったときにも対応が容易となる。
【００５６】
（５）上述した実施例のエンジンシステムは、エアフロメータ５４によって吸入空気量を直接計測する、所謂ＥＦＩ−Ｌ方式のものであるが、これに換えて、エンジンの吸気管圧力をバキュームセンサで計測して、この吸気管圧力とエンジン回転速度で間接的に吸入空気量を検出する、所謂ＥＦＩ−Ｄ方式に採用する構成とすることもできる。
【００５７】
（６）上述した実施例では、４気筒のエンジンからの排気を２気筒ずつ集約した構成であったが、これに換えて、４気筒のエンジンからの排気を４気筒まとめて１つに集約した構成として、この構成に砂時計型のニューラルネットワークを適用させて、排気集合部での排気割合、ひいては気筒別の空燃比を推定する構成としてもよい。
【図面の簡単な説明】
【図１】本発明の一実施例における気筒別空燃比の推定装置を搭載するエンジンシステムの要部構成図である。
【図２】砂時計型ニューラルネットワークの基本的な構成を示す説明図である。
【図３】砂時計型ニューラルネットワークの実用的な構成を示す説明図である。
【図４】気筒別空燃比推定プログラムの処理ルーチンの前半部分を示すフローチャートである。
【図５】気筒別空燃比推定プログラムの処理ルーチンの後半部分を示すフローチャートである。
【図６】他の実施形態の一例としての砂時計型ニューラルネットワークを示す説明図である。
【符号の説明】
１０…エンジン
２０…吸気マニホールド
２２…吸気通路
３０…燃料噴射弁
４０…排気マニホールド
４２…排気通路
５０…第１の空燃比センサ
５２…第２の空燃比センサ
５４…エアフロメータ
５６…クランク角センサ
６０…電子制御ユニット（ＥＣＵ）
６２…気筒別空燃比推定部
６２ａ…排気割合推定部
６２ｂ…空燃比演算部
ＡＦ１，ＡＦ４…入力用空燃比
ＣＡ…クランク角度
ＣＰＡＦ１４…空燃比センサの検出信号
Ｇａ…吸入空気量
Ｒｔ１４…排気割合
Ｔａｕ１…燃料噴射量
Ｔａｕ４…燃料噴射量
【図１】
2004239233.tif 000003
【図２】
2004239233.tif 000004
【図３】
2004239233.tif 000005
【図４】
2004239233.tif 000006
【図５】
2004239233.tif 000007
【図６】
2004239233.tif 000008