(57)【要約】【課題】この発明は、内燃機関の点火時期制御装置に関し、点火時期を制御するに際して、機関特性の経時変化や運転環境の変化などに適切に対応することができるとともに、制御の遅れを抑制することを目的とする。【解決手段】点火時期モデルに従って点火時期を算出するフィードフォワード制御器５６と、点火時期がＭＢＴに近くなるように補正するフィードバック制御器５８と、フィードバック補正後の点火時期を学習して、カルマンフィルタ理論を応用した計算手法に基づいて点火時期モデルパラメータベクトルを更新する点火時期モデル学習手段６２とを備える。共分散算出手段７２は点火時期モデルパラメータベクトルとその平均値との差分ベクトルの共分散行列を算出する。点火時期モデル学習手段６２は、その差分ベクトルの共分散行列を用いて点火時期モデルパラメータベクトルを更新する。劣化判定手段７４は差分ベクトルに基づいて内燃機関の劣化を判定する。【選択図】図２
2008144744.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の運転状態に応じた点火時期を点火時期モデルに従って算出する点火時期フィードフォワード制御手段と、
燃焼状態を検出する燃焼状態検出手段と、
前記内燃機関の燃焼状態を目標とする燃焼状態に近づけるべく、前記点火時期フィードフォワード制御手段によって算出された点火時期を、前記燃焼状態検出手段により検出された燃焼状態に基づいて補正する点火時期フィードバック制御手段と、
前記点火時期フィードバック制御手段による補正後の点火時期を学習することにより、前記点火時期モデルに従って算出される点火時期が、前記目標とする燃焼状態を実現する点火時期に近くなるように、カルマンフィルタ理論を応用した計算手法に基づいて前記点火時期モデルのパラメータベクトルを更新する点火時期モデル学習手段と、
前記点火時期モデルパラメータベクトルの平均値を算出する平均値算出手段と、
前記点火時期モデル学習手段により更新された点火時期モデルパラメータベクトルと、前記平均値算出手段により算出された点火時期モデルパラメータベクトル平均値との差分ベクトルの共分散行列を算出する共分散算出手段と、
を備え、
前記点火時期モデル学習手段は、前記共分散算出手段により算出された前記差分ベクトルの共分散行列を用いて、前記点火時期モデルパラメータベクトルを更新する計算を行うことを特徴とする内燃機関の制御装置。
【請求項２】
前記内燃機関の運転状態を変数とする関数ベクトルをφk、前記点火時期モデルパラメータベクトルをθ^kとし、各記号の下付きの添え字kを前記内燃機関のサイクル数を表すものとしたとき、前記点火時期モデルによって算出される点火時期は、φkTθ^kで表され、
前記点火時期フィードバック制御手段による補正後の点火時期をSAk、カルマンゲインをKk、Dをベクトル、QおよびRをスカラーとしたとき、前記点火時期モデル学習手段が用いる点火時期モデルパラメータベクトル更新式は、次式
θ^k+1＝θ^k＋Kk(SAk−φkTθ^k)
Kk＝Pkφk(R＋φkTPkφk)-1
Pk＝Pk-1＋DQDT−Pk-1φk-1(R＋φk-1TPk-1φk-1)-1φk-1TPk-1      ・・・（Ｉ）
で表され、
前記点火時期モデル学習手段は、前記共分散算出手段により算出された前記差分ベクトルの共分散行列を、上記（Ｉ）式中の行列DQDTとして用いることを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記差分ベクトルに基づいて、前記内燃機関の劣化または異常を判定する判定手段を更に備えることを特徴とする請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記平均値算出手段は、前記内燃機関が搭載された車両のトリップ毎に前記点火時期モデルパラメータベクトルを取得して、その平均値を算出することを特徴とする請求項１乃至３の何れか１項記載の内燃機関の制御装置。
【請求項５】
前記平均値算出手段は、忘却係数を用いて前記点火時期モデルパラメータベクトルの平均値を算出することを特徴とする請求項１乃至４の何れか１項記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関の燃費性能やエミッション性能を良好にしたり、ノッキングを防止したりする上では、点火時期の制御が重要である。そこで、従来では、機関運転状態に応じた最適な点火時期を予め調べて、マップとしてＥＣＵ(Electronic Control Unit)に記憶しておき、そのマップに従って点火時期をフィードフォワード的に制御することが一般に行われている。
【０００３】
しかしながら、内燃機関の経時劣化や、運転環境の変化などに応じて、最適な点火時期も変化する。上記のようなマップ制御では、そのような変化に対応することができない。
【０００４】
一方、特開平９−３１７５２２号公報には、所定クランク角における目標燃焼割合を運転状態に応じて設定し、所定クランク角における実際の燃焼割合がその目標燃焼割合となるように、点火時期をフィードバック制御する装置が開示されている。
【０００５】
【特許文献１】特開平９−３１７５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記公報に開示されたような点火時期フィードバック制御によれば、内燃機関の経時劣化や運転環境の変化などに起因する最適点火時期の変化に対応することが一応は可能である。しかしながら、点火時期フィードバック制御の場合には、目標とする燃焼状態と実際の燃焼状態との間にズレが生じた後でなければ、点火時期が修正されない。つまり、制御の遅れが避けられず、応答性が良くないという問題がある。
【０００７】
この発明は、上述のような課題を解決するためになされたもので、点火時期を制御するに際して、内燃機関の経時劣化や運転環境の変化などに適切に対応することができるとともに、制御の遅れを抑制することのできる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、上記の目的を達成するため、内燃機関の制御装置であって、
内燃機関の運転状態に応じた点火時期を点火時期モデルに従って算出する点火時期フィードフォワード制御手段と、
燃焼状態を検出する燃焼状態検出手段と、
前記内燃機関の燃焼状態を目標とする燃焼状態に近づけるべく、前記点火時期フィードフォワード制御手段によって算出された点火時期を、前記燃焼状態検出手段により検出された燃焼状態に基づいて補正する点火時期フィードバック制御手段と、
前記点火時期フィードバック制御手段による補正後の点火時期を学習することにより、前記点火時期モデルに従って算出される点火時期が、前記目標とする燃焼状態を実現する点火時期に近くなるように、カルマンフィルタ理論を応用した計算手法に基づいて前記点火時期モデルのパラメータベクトルを更新する点火時期モデル学習手段と、
前記点火時期モデルパラメータベクトルの平均値を算出する平均値算出手段と、
前記点火時期モデル学習手段により更新された点火時期モデルパラメータベクトルと、前記平均値算出手段により算出された点火時期モデルパラメータベクトル平均値との差分ベクトルの共分散行列を算出する共分散算出手段と、
を備え、
前記点火時期モデル学習手段は、前記共分散算出手段により算出された前記差分ベクトルの共分散行列を用いて、前記点火時期モデルパラメータベクトルを更新する計算を行うことを特徴とする。
【０００９】
また、第２の発明は、第１の発明において、
前記内燃機関の運転状態を変数とする関数ベクトルをφk、前記点火時期モデルパラメータベクトルをθ^kとし、各記号の下付きの添え字kを前記内燃機関のサイクル数を表すものとしたとき、前記点火時期モデルによって算出される点火時期は、φkTθ^kで表され、
前記点火時期フィードバック制御手段による補正後の点火時期をSAk、カルマンゲインをKk、Dをベクトル、QおよびRをスカラーとしたとき、前記点火時期モデル学習手段が用いる点火時期モデルパラメータベクトル更新式は、次式
θ^k+1＝θ^k＋Kk(SAk−φkTθ^k)
Kk＝Pkφk(R＋φkTPkφk)-1
Pk＝Pk-1＋DQDT−Pk-1φk-1(R＋φk-1TPk-1φk-1)-1φk-1TPk-1      ・・・（Ｉ）
で表され、
前記点火時期モデル学習手段は、前記共分散算出手段により算出された前記差分ベクトルの共分散行列を、上記（Ｉ）式中の行列DQDTとして用いることを特徴とする。
【００１０】
また、第３の発明は、第１または第２の発明において、
前記差分ベクトルに基づいて、前記内燃機関の劣化または異常を判定する判定手段を更に備えることを特徴とする。
【００１１】
また、第４の発明は、第１乃至第３の発明において、
前記平均値算出手段は、前記内燃機関が搭載された車両のトリップ毎に前記点火時期モデルパラメータベクトルを取得して、その平均値を算出することを特徴とする。
【００１２】
また、第５の発明は、第１乃至第４の発明において、
前記平均値算出手段は、忘却係数を用いて前記点火時期モデルパラメータベクトルの平均値を算出することを特徴とする。
【発明の効果】
【００１３】
第１の発明によれば、点火時期モデルに従って点火時期を算出する点火時期フィードフォワード制御手段と、燃焼状態が目標燃焼状態に近づくように点火時期を補正する点火時期フィードバック制御手段とを備えた点火時期制御装置において、フィードバック補正後の点火時期を学習することにより、点火時期モデルに従って算出される点火時期が、目標燃焼状態を実現する点火時期に近くなるように、点火時期モデルのパラメータベクトルを更新することができる。これにより、学習が進むにつれて、点火時期モデルが改善されていくので、点火時期モデルによって算出される点火時期が、目標燃焼状態を実現する点火時期に近くなっていく。つまり、フィードバック制御によらずとも、理想的な点火時期をフィードフォワード制御手段において算出することができるようになる。このため、第１の発明によれば、内燃機関の経時劣化や運転環境の変化に適応して、理想的な点火時期を実現することができるだけでなく、フィードバック制御に付き物の制御遅れを抑制することができる。よって、運転状態が変化した場合であっても、点火時期を理想的な点火時期に迅速に制御することができる。
【００１４】
また、第１の発明によれば、カルマンフィルタ理論を応用した計算手法によって点火時期モデルパラメータベクトルを更新することができる。本発明者らの知見によれば、フィードバック補正後の点火時期には、正規分布に精度良く一致するバラツキが内在する。第１の発明によれば、カルマンフィルタ理論を応用したことにより、フィードバック補正後の点火時期に内在する上記のバラツキを適切にフィルタリングした上で、フィードバック補正後の点火時期を学習することができる。このため、フィードバック補正後の点火時期に内在するバラツキに悪影響を受けることなく、点火時期モデルパラメータベクトルの更新を適切に行うことができる。このため、点火時期モデルパラメータベクトルを円滑かつ確実に最適化することができる。
【００１５】
更に、第１の発明によれば、点火時期モデルパラメータベクトルの平均値を算出し、更に、その平均値と、更新された点火時期モデルパラメータベクトルとの差分ベクトルの共分散行列を算出し、この差分ベクトルの共分散行列を用いて、点火時期モデルパラメータベクトルを更新する計算を行うことができる。つまり、点火時期モデルパラメータベクトルに実際に生じているバラツキ度合いを検出して、カルマンフィルタ理論を応用した点火時期モデルパラメータベクトルの更新処理に反映させることができる。このため、点火時期モデルパラメータベクトルをより適切に更新することができ、より円滑かつ確実に最適化することができる。また、点火時期モデルパラメータベクトルに生ずるバラツキ度合いを予め設定する必要がなくなるので、開発段階における適合工数を削減することができる。
【００１６】
第２の発明によれば、内燃機関の運転状態を変数とする関数ベクトルをφk、点火時期モデルパラメータベクトルをθ^k、フィードバック補正後の点火時期をSAk、カルマンゲインをKk、Dをベクトル、QおよびRをスカラーとし、点火時期モデルパラメータベクトル更新式が次式
θ^k+1＝θ^k＋Kk(SAk−φkTθ^k)
Kk＝Pkφk(R＋φkTPkφk)-1
Pk＝Pk-1＋DQDT−Pk-1φk-1(R＋φk-1TPk-1φk-1)-1φk-1TPk-1      ・・・（Ｉ）
で表されるとしたとき、上記差分ベクトルの共分散行列を、上記（Ｉ）式中の行列DQDTとして用いることができる。これにより、点火時期モデルパラメータベクトルθ^kをより適切に更新することができ、より円滑かつ確実に最適化することができる。また、上記（Ｉ）式中の行列DQDTを予め設定する必要がなくなるので、開発段階における適合工数を削減することができる。
【００１７】
第３の発明によれば、点火時期モデルパラメータベクトルと、その平均値との差分ベクトルに基づいて、内燃機関の劣化または異常を判定することができる。内燃機関の各部の経時変化、例えば点火プラグの劣化や、オイルスラッジの蓄積などに伴って、各部の特性が変化すると、燃焼状態が変化する。燃焼状態の変化は、カルマンフィルタ理論を応用した更新処理を介して、点火時期モデルパラメータベクトルに顕著に反映される。このようなことから、内燃機関に経時劣化や異常が生ずると、点火時期モデルパラメータベクトルが大きく変化するので、点火時期モデルパラメータベクトルと、その平均値との差分ベクトルが大きくなる。よって、上記差分ベクトルに基づいて、内燃機関に生ずる経時劣化や異常を高精度に判定することができる。
【００１８】
第４の発明によれば、点火時期モデルパラメータベクトルの平均値を算出するに際して、内燃機関が搭載された車両のトリップ毎に点火時期モデルパラメータベクトルを取得して、その平均値を算出することができる。これにより、ＥＣＵの演算負荷を軽減することができるとともに、比較的長期での視点による点火時期モデルパラメータベクトルの平均値を精度良く算出することができる。
【００１９】
第５の発明によれば、忘却係数を用いて点火時期モデルパラメータベクトルの平均値を算出することができる。これにより、新しい点火時期モデルパラメータベクトルほど重みが大きく、古い点火時期モデルパラメータベクトルほど重みが小さくなるように平均化することができるので、より適切な点火時期モデルパラメータベクトル平均値を算出することができる。
【発明を実施するための最良の形態】
【００２０】
実施の形態１．
［システム構成の説明］
図１は、本発明の実施の形態１のシステム構成を説明するための図である。図１に示すように、本実施形態のシステムは、火花点火式の内燃機関１０を備えている。内燃機関１０は、例えば車両の動力源として用いられるものとする。内燃機関１０の気筒数や気筒配置は、特に限定されるものではない。
【００２１】
内燃機関１０の気筒には、吸気通路１２および排気通路１４が連通している。吸気通路１２には、吸入空気量Gaを検出するエアフローメータ１６が配置されている。エアフローメータ１６の下流には、スロットル弁１８が配置されている。スロットル弁１８の開度は、スロットルモータ２０の作動によって調整される。スロットル弁１８の近傍には、スロットル開度を検出するためのスロットルポジションセンサ２２が配置されている。また、アクセルペダルの近傍には、アクセル開度を検出するアクセルポジションセンサ２４が設けられている。
【００２２】
内燃機関１０の気筒には、吸気ポート１１内に燃料を噴射するための燃料インジェクタ２６が配置されている。なお、内燃機関１０は、図示のようなポート噴射式のものに限らず、燃料を筒内に直接噴射する筒内直接噴射式のものであってもよく、また、ポート噴射と筒内噴射を併用するものであってもよい。内燃機関１０の気筒には、更に、吸気弁２８、点火プラグ３０、および排気弁３２が設けられている。
【００２３】
内燃機関１０のクランク軸３６の近傍には、クランク角センサ３８が取り付けられている。クランク角センサ３８の出力によれば、クランク角や、機関回転数NEを検出することができる。
【００２４】
また、内燃機関１０には、気筒内の圧力（燃焼圧）Pcを検出する筒内圧センサ４０が設置されている。
【００２５】
本実施形態のシステムは、ＥＣＵ(Electronic Control Unit)５０を更に備えている。ＥＣＵ５０には、上述した各種のセンサおよびアクチュエータが接続されている。ＥＣＵ５０は、各センサの出力等に基づいて、点火時期、燃料噴射量、スロットル開度等を制御する。
【００２６】
図２は、ＥＣＵ５０の機能の一部を示す機能ブロック図である。図２に示すように、ＥＣＵ５０は、内燃機関１０の点火時期をサイクル毎にリアルタイムに制御するリアルタイム制御部５２と、後述する点火時期モデルパラメータベクトルの、比較的長期的な視点での経時変化を検出する経時変化検出部５４としての機能を備えている。
【００２７】
（リアルタイム制御部５２）
以下、まず、リアルタイム制御部５２について説明する。図２に示すリアルタイム制御部５２は、点火時期がＭＢＴ（Minimum advance for the Best Torque）になるように制御するものである。ＭＢＴとは、トルクが最大になるような点火時期、つまり熱効率が最良となるような点火時期のことである。ＭＢＴは、機関回転数NEや機関負荷に応じて変化するだけでなく、内燃機関１０の経時変化や、運転環境の変化などに応じて変化する。
【００２８】
図２に示すように、リアルタイム制御部５２には、フィードフォワード制御器５６と、フィードバック制御器５８と、燃焼割合算出手段６０と、点火時期モデル学習手段６２と、共分散算出手段６４とが含まれている。
【００２９】
フィードフォワード制御器５６は、内燃機関１０の運転状態（機関回転数NEおよび充填効率KL）に応じて、内燃機関１０のサイクル毎に、次式で表される点火時期モデルに従って点火時期SA0を算出する。
SA0＝φTθ^      ・・・（１）
【００３０】
ただし、上記（１）式中、φは機関回転数NEおよび充填効率KLにより定まる関数ベクトルであり、θ^は点火時期モデルの特性を左右するパラメータからなるベクトルである。以下、このベクトルθ^を点火時期モデルパラメータベクトルと称する。また、上記（１）式を含め、本明細書において、上付きの添字Tは転置を意味する。
【００３１】
上記（１）式としては、具体的には例えば次式を用いることができる。この場合、関数ベクトルφおよび点火時期モデルパラメータベクトルθ^はそれぞれ下記のように表すことができる。
【数１】
2008144744.tif 000003
【００３２】
なお、上記（２）式中のa，b，cおよびdは、それぞれ、所定の定数である。また、充填効率KLは、内燃機関１０の負荷に相当する指標であり、エアフローメータ１６により検出される吸入空気量Gaと機関回転数NEとに基づいて、あるいは、吸気圧センサ（図示せず）で検出される吸気圧に基づいて、算出することができる。
【００３３】
上記（２）式に示す例では、点火時期モデルパラメータベクトルθ^は、θ0，θ1，θ2およびθ3の４つの要素（パラメータ）からなる４次元ベクトルである。後述するように、この点火時期モデルパラメータベクトルθ^は、点火時期モデル学習手段６２により、内燃機関１０のサイクル毎に更新される。
【００３４】
フィードバック制御器５８は、フィードフォワード制御器５６によって算出された点火時期SA0に対し、補正を施す。この補正後の点火時期を、以下「フィードバック補正後の点火時期」と称する。本システムでは、このフィードバック補正後の点火時期が、点火プラグ３０による実際の点火時期とされる。すなわち、フィードバック補正後の点火時期において、点火プラグ３０に電圧が印加される。
【００３５】
本実施形態のフィードバック制御器５８は、以下のような方法により、点火時期をＭＢＴに近づけるように補正する。
【００３６】
内燃機関１０では、クランク角度が上死点後８°（以下、「８°ATDC」と記す）のときの燃焼割合が５０％であるような燃焼状態が、最も効率の良い燃焼状態であることが経験的に知られている。よって、クランク角度が８°ATDCのときの燃焼割合（以下「８°ATDC燃焼割合」という）を５０％とするような点火時期がＭＢＴである、と判断することができる。そこで、内燃機関１０の運転中に８°ATDC燃焼割合を検出し、その８°ATDC燃焼割合が５０％に近づくように点火時期を補正すれば、点火時期をＭＢＴに近づけることができる。
【００３７】
上記のようなフィードバック制御を実現するため、燃焼割合算出手段６０は、筒内圧センサ４０の出力に基づいて、内燃機関１０のサイクル毎に、８°ATDC燃焼割合を算出する。以下、その算出方法について説明する。
【００３８】
燃焼割合算出手段６０は、まず、気筒内の熱発生率を算出する。気筒内の熱発生率は、熱力学的に、次式により算出することができる。
【数２】
2008144744.tif 000004
【００３９】
上記（３）式中、qは気筒内の発熱量であり、Pは筒内圧であり、Vは筒内容積であり、ψはクランク角度であり、κは比熱比である。筒内容積Vおよびその変化率dV/dψは、クランク角度ψの関数であり、その関数はボア、クランク半径、コンロッド長などに応じて幾何学的に定まるものである。比熱比κは、燃焼ガスの組成などに基づいて定まる値であるが、例えばκ＝１．３２と簡単化してもよい。
【００４０】
燃焼割合算出手段６０は、筒内圧センサ４０により検出される筒内圧Pcを所定クランク角度毎（例えば１°CA毎）にサンプリングする。次いで、そのサンプリングしたデータから求まるPおよびdP/dψを上記（３）式に代入することにより、熱発生率dq/dψをクランク角度毎に算出する。この熱発生率dq/dψを燃焼終了時まで積算することにより、総発熱量が算出される。また、熱発生率dq/dψを８°ATDCまで積算することにより、８°ATDCまでの発熱量が算出される。そして、その８°ATDCまでの発熱量を上記総発熱量で除することにより、８°ATDC燃焼割合を算出することができる。
【００４１】
燃焼割合算出手段６０では、上記の方法に代えて、特開２００５−３５１１４７号公報に記載された方法、すなわち次のような方法によって、８°ATDC燃焼割合を算出するようにしてもよい。
【００４２】
筒内圧Pと筒内容積Vのκ乗との積PVκと、発熱量qとは、相関することが知られている。このことを利用すると、クランク角度ψにおけるPをP(ψ)、クランク角度ψにおけるVκをVκ(ψ)、燃焼開始前の所定のクランク角度をψ1を、燃焼終了後の所定のクランク角度をψ2としたとき、クランク角度ψ0における燃焼割合（MFB）は、近似的に次式で算出することができる。
【数３】
2008144744.tif 000005
【００４３】
上記（４）式においてψ0を８°ATDCと置くことにより、８°ATDC燃焼割合を算出することができる。つまり、この場合には、ψ1，８°ATDC，およびψ2の３点のクランク角度において筒内圧Pcを検出するだけで、８°ATDC燃焼割合を算出することができる。よって、ＥＣＵ５０の演算負荷を大幅に軽減することができる。
【００４４】
フィードバック制御器５８は、上記のようにして検出された８°ATDC燃焼割合が５０％に近づくように、点火時期を補正する。つまり、フィードバック制御器５８は、８°ATDC燃焼割合の目標値である５０％（０．５）と、燃焼割合算出手段６０により算出された実際の８°ATDC燃焼割合との偏差に基づいて、フィードバック補正量dSAを算出する。そして、そのフィードバック補正量dSAが、フィードフォワード制御器５６によって算出された点火時期SA0に足し合わされることにより、点火時期が補正される。すなわち、検出された８°ATDC燃焼割合が５０％未満である場合には、点火時期が早くする方向に補正され、検出された８°ATDC燃焼割合が５０％を超えている場合には、点火時期が遅くなる方向に補正される。
【００４５】
このようなフィードバック制御器５８によれば、フィードフォワード制御器５６によって算出された点火時期SA0がＭＢＴからずれている場合であっても、実際の点火時期をＭＢＴに近づけていくことができる。
【００４６】
しかし、フィードバック制御には、当然ながら、遅れが存在する。つまり、ある運転状態から別の運転状態へ変化したことによってＭＢＴが変化した場合には、フィードバック制御器５８が点火時期を再びＭＢＴに近づけるまでには時間が掛かる。よって、その間は燃費が悪化する。このことに鑑みれば、ＭＢＴとなる点火時期をフィードフォワード制御器５６（点火時期モデル）によって運転状態から直接に算出できるようにすることが理想である。
【００４７】
点火時期モデル学習手段６２は、上記の理想を実現するべく、フィードバック補正後の点火時期、つまりＭＢＴに近くなるように補正された後の点火時期と、運転状態（機関回転数NEおよび充填効率KL）との関係を学習して、点火時期モデルパラメータベクトルθ^を更新する処理を行う。
【００４８】
ところで、周知のように、内燃機関１０には、サイクル毎の燃焼変動が存在する。すなわち、内燃機関１０の運転状態が変化していなくても、気筒内での混合気の燃焼の様子（火炎伝播）は、サイクル毎に変化する。この主な原因は、筒内の空燃比や、筒内に残留している前サイクルの燃え残りのガス量、筒内の混合気のかき混ざり具合（乱れ）などが、サイクル毎にランダムに変化するためである。
【００４９】
上記のような燃焼変動の存在により、点火時期を含めた運転状態が同じであっても、実際の８°ATDC燃焼割合は、サイクル毎に変動する。よって、サイクル毎に検出される８°ATDC燃焼割合を５０％に近づけるべく、フィードバック制御器５８が点火時期を補正すると、その補正後の点火時期は、サイクル毎に変動することとなる。
【００５０】
つまり、点火時期モデル学習手段６２にサイクル毎に入力されるフィードバック補正後の点火時期には、バラツキが存在しており、その平均値はＭＢＴに精度良く一致しているが、平均値から外れた入力は、ＭＢＴに精度良く一致しているとは言えない。このため、点火時期モデル学習手段６２にサイクル毎に入力されるフィードバック補正後の点火時期が何れも等しく正しいものであるとの立場で学習を行い、その結果に従って点火時期モデルパラメータベクトルθ^を更新してしまうことは、適切ではない。
【００５１】
そこで、本実施形態の点火時期モデル学習手段６２では、カルマンフィルタ理論を応用した、点火時期モデルパラメータベクトルθ^の更新を行うこととしている。
【００５２】
カルマンフィルタ理論とは、一般には、システムの状態推定を行うために用いられるフィルタリング理論である。カルマンフィルタ理論によれば、システムや観測に雑音（白色雑音）が加わる場合に、その雑音を適切にフィルタリングすることができるので、最適な状態推定を行うことができる。
【００５３】
本発明者らの知見によれば、フィードバック補正後の点火時期に生ずるバラツキ（雑音）は、カルマンフィルタ理論によってフィルタリングすることのできる雑音と同種のものである。すなわち、フィードバック補正後の点火時期のバラツキは、前述したように、ランダムな燃焼変動に起因するものであるため、そのバラツキは、ほぼ正規分布に一致する。このため、カルマンフィルタ理論が応用された点火時期モデル学習手段６２によれば、フィードバック補正後の点火時期を学習する上で、フィードバック補正後の点火時期に内在するバラツキを適切にフィルタリングすることができる。よって、フィードバック補正後の点火時期に内在するバラツキに悪影響を受けることなく、点火時期モデルパラメータベクトルθ^の更新を適切に行うことができる。
【００５４】
カルマンフィルタ理論を応用した点火時期モデルパラメータベクトルθ^の更新則は、次式で表される。
θ^k+1＝θ^k＋Kk(SAk−φkTθ^k)      ・・・（５）
【００５５】
上記（５）式を含め、本明細書で使用する記号において、下付きの添え字kは、内燃機関１０のkサイクル目の値であることを示す。また、上記（５）式中、Kkはカルマンゲインであり、SAkはフィードバック補正後の点火時期である。
【００５６】
上記（５）式中、(SAk−φkTθ^k)は、フィードバック補正後の点火時期SAkと、上記（１）式に従ってフィードフォワード制御器５６が算出する点火時期φkTθ^kとの誤差（以下「予測誤差」という）を表している。上記（５）式は、予測誤差にカルマンゲインKkを乗じたものを、現サイクルの点火時期モデルパラメータベクトルθ^kに足し合わせることにより、次サイクルの点火時期モデルパラメータベクトルθ^k+1が算出されることを表している。
【００５７】
以下、上記（５）式中のカルマンゲインKkの導出過程について説明する。
点火時期モデルパラメータベクトルθ^の真値（実際には知り得ない最適な点火時期モデルパラメータベクトル）をθとすると、この点火時期モデルパラメータベクトルの真値θは、内燃機関１０の特性の経時変化や、運転環境の変化などに応じて、サイクル毎に変化するものと考えることができる。このことを次式で表す。
θk+1＝θk＋Dwk      ・・・（６）
【００５８】
上記（６）式中、Dwkは、上述したような経時変化や環境変化などに起因する、点火時期モデルパラメータベクトルの真値θのサイクル毎の変化に相当する。このDwkのうち、Dはθ^と同次元のベクトルであり、wkは変数（スカラー）である。
【００５９】
また、点火時期モデルパラメータベクトルの真値θを用いた点火時期モデルによって算出されるべき点火時期（実際には知り得ない最適な点火時期）φkTθkと、フィードバック補正後の点火時期SAkとの間に存在する誤差をnkとすると、次式が定義される。
SAk＝φkTθk＋nk      ・・・（７）
【００６０】
以上より、点火時期モデルパラメータベクトルの真値θと、実際の点火時期モデルパラメータベクトルθ^との誤差（以下「モデル誤差」と称する）θ~は、以下のように表される。
θ~k+1＝θk+1−θ^k+1
＝θk＋Dwk−{θ^k＋Kk(SAk−φkTθ^k)}
＝θ~k＋Dwk−Kk(φkTθk＋nk−φkTθ^k)
＝(Ｉ−KkφkT)θ~k＋Dwk−Kknk      ・・・（８）
【００６１】
なお、上記（８）式中の式変形には、上記（５）、（６）および（７）式を用いた。
【００６２】
本発明者らの知見によれば、点火時期モデルパラメータベクトルの真値θの変化Dwkは、ランダムウォーク（酔歩）であると考えることができる。また、上記（７）式における誤差nkは、前述したような燃焼変動や、測定雑音などに起因するランダムな外乱であると考えられる。そこで、wk，nkは、平均値０、共分散Q，Rの独立な正規分布を持つものとする。つまり、次式のように定義する。
E[wkTwk]＝Q      ・・・（９）
E[nkTnk]＝R      ・・・（１０）
【００６３】
なお、上記（９）および（１０）式を含め、本明細書では、E[]は平均値（期待値）を表すものとする。
【００６４】
カルマンフィルタ理論においては、モデル誤差θ~kの共分散行列（以下「モデル誤差共分散行列」という）Pkが最小となるように、カルマンゲインKkを定める。モデル誤差共分散行列Pkは、次式で表される。
Pk＝E[θ~kθ~kT]      ・・・（１１）
【００６５】
上記（８）、（９）および（１０）式を用いると、モデル誤差共分散行列Pk+1は、以下のように計算することができる。
Pk+1＝E[θ~k+1θ~k+1T]
＝E[{θ~k＋Dwk−Kk(nk＋φkTθ~k)}{θ~k＋Dwk−Kk(nk＋φkTθ~k)}T]
＝E[θ~kθ~kT]＋DQDT−E[θ~kθ~kT]φkKkT−KkφkTE[θ~kθ~kT]
＋E[Kk(nk＋φkTθ~k)(nk＋θ~kTφk)KkT]
＝E[θ~kθ~kT]＋DQDT−E[θ~kθ~kT]φkKkT−KkφkTE[θ~kθ~kT]
−Kk(E[nknk]＋φkTE[θ~kθ~kT]φk)KkT
＝Pk＋DQDT−PkφkKkT−KkφkTPk−Kk(R＋φkTPkφk)KkT
＝Pk＋DQDT−Pkφk(R＋φkTPkφk)-1φkTPk
＋{Kk−Pkφk(R＋φkTPkφk)-1}(R＋φkTPkφk){KkT−(R＋φkTPkφk)-1φkTPk}
・・・（１２）
【００６６】
上記（１２）式より、モデル誤差共分散行列Pk+1を最小とするには、カルマンゲインKkは、次式のように定めればよいことが分かる。
Kk＝Pkφk(R＋φkTPkφk)-1      ・・・（１３）
【００６７】
そして、その場合、モデル誤差共分散行列Pk+1は、次式で表される。
Pk+1＝Pk＋DQDT−Pkφk(R＋φkTPkφk)-1φkTPk      ・・・（１４）
【００６８】
上記（１４）式は、次式のように変形することができる。
Pk＝Pk-1＋DQDT−Pk-1φk-1(R＋φk-1TPk-1φk-1)-1φk-1TPk-1      ・・・（１５）
上記（１５）式を用いて、上記（１３）式中のPkを算出することができる。
【００６９】
（共分散R）
上記（１３）式に示されるように、カルマンゲインKkを求めるには、nkの共分散Rの値を定める必要がある。nkの共分散Rは、上記（７）式の定義から分かるように、フィードバック補正後の点火時期SAkのバラツキ度合いを表す値である。この共分散Rの値は、経験的に得られる適当な値を予め設定しておいてもよく、あるいは、フィードバック補正後の点火時期SAkに実際に生じている共分散を求め、その値を共分散Rとして使用してカルマンゲインKkを求めてもよい。図２に示すシステムでは、共分散算出手段６４により、フィードバック補正後の点火時期SAkに実際に生じている共分散を求めることとしている。以下、共分散算出手段６４の具体的処理について簡単に説明する。
【００７０】
共分散算出手段６４は、内燃機関１０の過去Nサイクル分のフィードバック補正後の点火時期SAkの共分散を算出する。ここで、Nは、フィードバック補正後の点火時期SAkの共分散を十分な精度で算出することのできるようなサイクル数となるように、予め設定されている。
【００７１】
一般に、変数xkの過去N個分についての共分散Vkは、次式により算出することができる。
【数４】
2008144744.tif 000006
【００７２】
共分散算出手段６４は、過去Nサイクル分のフィードバック補正後の点火時期SAkを記憶しておき、それらの値を上記（１６）式のxkに代入することにより、共分散の値をサイクル毎に算出する。そして、そのようにして共分散算出手段６４により算出された共分散の値が点火時期モデル学習手段６２に入力され、上記共分散Rとして使用される。
【００７３】
なお、共分散算出手段６４では、上記（１６）式の演算をそのまま実行するのではなく、演算負荷を軽減するために、移動計算の手法を用いて、共分散を算出するようにしてもよい。
【００７４】
（行列DQDT）
また、上記（１３）式および（１５）式に示されるように、カルマンゲインKkを求めるには、モデル誤差共分散行列Pkを求めることが必要であり、このPkを求めるためには行列DQDTを定める必要がある。この行列DQDTは、次式に示すように、Dwkの共分散行列（自己相関行列）E[Dwk(Dwk)T]に等しい。
E[Dwk(Dwk)T]＝E[DwkTwkDT]
＝DE[wkTwkDT]DT
＝DQDT      ・・・（１７）
【００７５】
Dwkの共分散行列E[Dwk(Dwk)T]、すなわち行列DQDTは、点火時期モデルパラメータベクトルの真値θのバラツキ度合いを表すものである。本実施形態では、後述するように、点火時期モデルパラメータベクトルθ^kに実際に生じている共分散行列を求め、その共分散行列を上記DQDTとして使用して、カルマンゲインKkを求めることとしている。
【００７６】
以下、点火時期モデル学習手段６２が上記（５）式の更新則に従って点火時期モデルパラメータベクトルθ^を更新する際の具体的処理について説明する。図３は、本実施形態において点火時期モデル学習手段６２としてのＥＣＵ５０が実行するルーチンのフローチャートである。本ルーチンは、内燃機関１０のサイクル毎に実行される。
【００７７】
図３に示すルーチンによれば、まず、機関回転数NEおよび充填効率KLに基づいて、関数ベクトルφkが算出される（ステップ１２０）。関数ベクトルφの各要素は、上記（２）式中に例示されているように、所定の関数で構成されている。その関数の変数に機関回転数NEおよび充填効率KLの値を代入することにより、関数ベクトルφkが算出される。
【００７８】
続いて、上記（１５）式に基づいて、モデル誤差共分散行列Pkが算出される（ステップ１２２）。このステップ１２２において、上記（１５）式中のφk-1およびPk-1には、それぞれ、前サイクルで算出されたものが代入される。また、nkの共分散Rには、共分散算出手段６４によって算出された、過去Nサイクル分のフィードバック補正後の点火時期SAkの共分散の値が代入される。また、上記（１５）式中のDQDTの求め方については後述する。
【００７９】
上記ステップ１２２の処理に続いて、上記（１３）式に基づいて、カルマンゲインKkが算出される（ステップ１２４）。この場合、上記ステップ１２０で算出された関数ベクトルφkと、共分散算出手段６４によって算出された共分散Rと、上記ステップ１２２で算出されたモデル誤差共分散行列Pkとが、上記（１３）式にそれぞれ代入される。
【００８０】
最後に、上記（５）式の更新則に基づいて、現サイクルの点火時期モデルパラメータベクトルθ^kが、次のサイクルの点火時期モデルパラメータベクトルθ^k+1へと更新される（ステップ１２６）。この場合、現サイクルのフィードバック補正後の点火時期SAkと、現サイクルの点火時期モデルパラメータベクトルθ^kと、上記ステップ１２０で算出された関数ベクトルφkと、上記ステップ１２４で算出されたカルマンゲインKkとが、上記（５）式にそれぞれ代入される。
【００８１】
以上説明したように、図３に示すルーチンの処理によれば、フィードバック補正後の点火時期を学習して、点火時期モデルパラメータベクトルθ^を更新していくことができる。このため、学習が進むにつれて、点火時期モデルパラメータベクトルθ^が改善されていき、上記（１）式の点火時期モデルによって算出される点火時期が以前よりもＭＢＴに近くなっていく。よって、フィードバック制御器５８のフィードバック制御によらずとも、ＭＢＴに近い点火時期をフィードフォワード制御器５６において算出することができるようになる。その結果、フィードバック制御に付き物の制御遅れの問題を解消することができる。よって、内燃機関１０の経時劣化や運転環境の変化に伴うＭＢＴの変化に適切に対応できるだけでなく、運転状態の変化に伴うＭＢＴの変化に応じて、点火時期を迅速にＭＢＴに追従させることができる。その結果、優れた燃費性能が得られる。
【００８２】
また、本実施形態によれば、上述したように、カルマンフィルタ理論を応用した点火時期モデルパラメータベクトルθ^の更新を行うことができる。上述したように、本発明者らの知見によれば、フィードバック補正後の点火時期には、正規分布に精度良く一致するバラツキが内在する。本実施形態では、カルマンフィルタ理論を応用したことにより、フィードバック補正後の点火時期に内在するバラツキを適切にフィルタリングした上で、フィードバック補正後の点火時期を学習することができる。このため、フィードバック補正後の点火時期に内在するバラツキに悪影響を受けることなく、点火時期モデルパラメータベクトルθ^の更新を適切に行うことができる。その結果、点火時期モデルパラメータベクトルθ^をより円滑かつ確実に最適化することができる。
【００８３】
また、本実施形態によれば、点火時期モデル学習手段６２による学習を進めるに従い、点火時期モデルパラメータベクトルθ^を最適な形へと近づけていくことができる。このため、工場出荷時の点火時期モデルパラメータベクトルθ^には、それほど高い精度が必要とされない。よって、開発段階での適合工数を削減することができ、開発コストや開発期間を縮小することができる。
【００８４】
ところで、フィードバック補正後の点火時期SAkに生ずる共分散（バラツキ度合い）は、運転条件によって変化する。一方、本実施形態では、前述したように、過去Nサイクル分のフィードバック補正後の点火時期SAkに実際に生じた共分散を逐次算出し、その値を、カルマンフィルタ理論に基づく点火時期モデルパラメータベクトルθ^の更新処理に必要な共分散Rとして使用している。このため、フィードバック補正後の点火時期SAkに生ずる共分散が運転条件によって変化することを点火時期モデルパラメータベクトルθ^の更新処理に適切に反映させることができる。よって、点火時期モデルパラメータベクトルθ^の学習をより高い精度で行うことができる。
【００８５】
（経時変化検出部５４）
次に、図２に示す経時変化検出部５４について説明する。経時変化検出部５４は、比較的長期での視点による、点火時期モデルパラメータベクトルθ^の経時変化を検出するために設けられたものである。その目的を達成するため、経時変化検出部５４は、以下のようにして、比較的長期での視点による、点火時期モデルパラメータベクトルθ^の平均値θ^meanを算出する。
【００８６】
経時変化検出部５４には、点火時期モデル学習手段６２により更新された点火時期モデルパラメータベクトルθ^が、トリップ毎に、間欠的（定期的）に入力される。この場合の「トリップ毎」とは、時間的な所定の間隔（例えば、内燃機関１０の運転時間で１０時間おき、１００時間おき、あるいは暦で１週間おき、など）でも、車両の走行距離についての所定の間隔（例えば、走行１００ｋｍおき、２００ｋｍおき、など）でもよい。また、内燃機関１０の始動から停止までを１トリップとしてもよい。この場合、各回のトリップで最後に得られた点火時期モデルパラメータベクトルθ^が経時変化検出部５４に入力されるものとする。
【００８７】
以下、経時変化検出部５４にj回目に入力された点火時期モデルパラメータベクトルθ^を、記号θ^(j)で表す。そして、経時変化検出部５４では、このθ^(j)の入力があった場合に、前回算出された点火時期モデルパラメータベクトル平均値θ^mean(j-1)と、新たな入力θ^(j)とから、新たな平均値θ^mean(j)が算出される。この場合、本実施形態では、忘却係数αを用いて点火時期モデルパラメータベクトルθ^を平均化する。つまり、前回の平均値θ^mean(j-1)と、新たな入力θ^(j)と、新たな平均値θ^mean(j)との間には、次式の関係が成り立つ。
θ^mean(j)＝αθ^mean(j-1)＋(1−α)θ^(j)      ・・・（１８）
【００８８】
上記忘却係数αは、１より小さい所定の正の数である。上記（１８）式は、新たな平均値θ^mean(j)を算出するに際して、前回の平均値θ^mean(j-1)をこの忘却係数αという割合で忘却するとともに、新たな入力θ^(j)に残りの重み(1−α)を乗じたものを算入することを意味している。忘却係数αの値は、特に限定されないが、例えば０．９５〜０．９９程度とすることができる。
【００８９】
経時変化検出部５４では、上記（１８）式をそのまま用いるのではなく、次のようにして計算が行われる。まず、点火時期モデル学習手段６２から新しい点火時期モデルパラメータベクトルθ^(j)の入力があった場合には、図２に示すように、この新たな入力θ^(j)と、遅延演算器６６により保持されている前回の平均値θ^mean(j-1)との差分ベクトルdθ(j)が算出される。つまり、差分ベクトルdθ(j)は、次式で表される。
dθ(j)＝θ^(j)−θ^mean(j-1)      ・・・（１９）
【００９０】
上記（１９）式を用いると、上記（１８）式は次のように変形することができる。
θ^mean(j)＝αθ^mean(j-1)＋(1−α)θ^(j)
＝αθ^mean(j-1)＋(1−α)(θ^mean(j-1)＋dθ(j))
＝θ^mean(j-1)＋(1−α)dθ(j)              ・・・（２０）
【００９１】
経時変化検出部５４では、上記（２０）式に従って、点火時期モデルパラメータベクトル平均値θ^mean(j)を算出する。すなわち、上記（１９）式で算出された差分ベクトルdθ(j)は、図２に示すように、忘却演算器６８に入力される。忘却演算器６８では、入力されたdθに(1−α)を乗じて、(1−α)dθを算出する。そして、この(1−α)dθと、遅延演算器７０により保持されている前回の平均値θ^mean(j-1)とが足し合わせられることにより、上記（２０）式で示す新たな平均値θ^mean(j)が算出される。
【００９２】
経時変化検出部５４は、更に、上記差分ベクトルdθ(j)の共分散行列E[dθ(j)dθ(j)T]を算出する共分散算出手段７２を有している。差分ベクトルdθ(j)の共分散行列E[dθ(j)dθ(j)T]は、点火時期モデルパラメータベクトルθ^のバラツキ度合いを表していると言える。従って、この共分散行列E[dθ(j)dθ(j)T]は、点火時期モデルパラメータベクトルの真値θのバラツキ度合いを表すE[Dwk(Dwk)T]、すなわちDQDTとほぼ同等であると考えることができる。そこで、本実施形態では、点火時期モデル学習手段６２は、点火時期モデルパラメータベクトルθ^を更新する際、上記（１５）式中のDQDTに、上記共分散算出手段７２によって算出された共分散行列E[dθ(j)dθ(j)T]を代入して演算を行うこととしている。
【００９３】
上記のようにして、本実施形態では、点火時期モデルパラメータベクトルθ^に実際に生じているバラツキ度合いを共分散算出手段７２によって検出し、その値を、点火時期モデルパラメータベクトルθ^を更新する際の演算に反映させることができる。このため、点火時期モデルパラメータベクトルθ^をより適切に更新することができ、より円滑かつ確実に最適化することができる。また、ベクトルDや共分散Qの値を予め設定する必要がなくなるので、開発段階における適合工数を削減することができる。
【００９４】
さて、以上説明したような本実施形態のシステムでは、点火時期モデル学習手段６２による学習が進むに従い、点火時期モデルパラメータベクトルθ^は最適化される。そして、点火時期モデル学習手段６２による学習がある程度まで進んだ後は、内燃機関１０の特性に経時変化がなければ、点火時期モデルパラメータベクトルθ^は、サイクル毎の微小な変動はあるものの、比較的長期の視点では最適値の近傍で安定する。このため、この場合には、トリップ毎に経時変化検出部５４に入力されるθ^と、平均値θ^meanとの差、つまり差分ベクトルdθ(j)は、小さい。
【００９５】
逆に言えば、差分ベクトルdθ(j)が、ある値よりも小さければ、点火時期モデルパラメータベクトルθ^に大きな変化はない、つまり、内燃機関１０に経時変化（経時劣化）は生じていないと判断することができる。
【００９６】
また、内燃機関１０の各部の経時変化、例えば点火プラグ３０の劣化や、オイルスラッジの蓄積などに伴い、各部の特性が変化すると、燃焼状態が変化するので、それに応じて、点火時期モデルパラメータベクトルθ^も変化する。その場合、点火時期モデルパラメータベクトルθ^の経時変化が緩やかなものであれば、その変化は、内燃機関１０の正常な経時変化（経時劣化）に応じたものであると判断することができる。一方、点火時期モデルパラメータベクトルθ^の経時変化が急である場合には、内燃機関１０の特性が、正常な経時変化のレベルを超えて急変したと判断できる。つまり、内燃機関１０に異常が生じたと判断することができる。そして、点火時期モデルパラメータベクトルθ^の経時変化が緩やかである場合には、差分ベクトルdθ(j)は小さく、点火時期モデルパラメータベクトルθ^の経時変化が急である場合には、差分ベクトルdθ(j)は大きい。
【００９７】
上述したような考え方によれば、経時変化検出部５４によって算出される差分ベクトルdθ(j)の大きさを監視することにより、内燃機関１０の経時変化や経時劣化を判定することが可能である。そこで、本実施形態では、図２に示すように、差分ベクトルdθ(j)に基づいて内燃機関１０の経時劣化を判定する劣化判定手段７４を設けることとした。
【００９８】
以下、劣化判定手段７４が行う具体的処理について説明する。図４は、劣化判定手段７４としてのＥＣＵ５０が実行するルーチンのフローチャートである。本ルーチンは、差分ベクトルdθ(j)が算出されるたび毎に、つまり上記トリップ毎に実行される。
【００９９】
図４に示すルーチンによれば、まず、今回算出された差分ベクトルdθ(j)の大きさが所定の判定値αより大きいか否かが判別される（ステップ１３０）。その結果、差分ベクトルdθ(j)の大きさが判定値αより大きいと判別された場合には、内燃機関１０に、整備（修理、調整、部品交換など）を必要とする程度の劣化あるいは異常が発生していると判定される（ステップ１３２）。この場合には、例えば、運転席のインストルメントパネルに設けたインジケータランプ（図示せず）を点灯させることなどにより、運転者にその旨を報知し、整備工場への入庫を促す（ステップ１３４）。なお、劣化あるいは異常の程度が軽微である場合などは、運転者への報知は行わず、次回の整備工場入庫時に整備士が確認できるような記録を残すだけにしてもよい。
【０１００】
一方、上記ステップ１３０において、差分ベクトルdθ(j)の大きさが判定値αより小さいと判別された場合には、内燃機関１０には、整備を必要とするような経時劣化は生じていないと判定される（ステップ１３６）。
【０１０１】
なお、上記ステップ１３６の判定がなされた後、つまり、内燃機関１０に生じている経時変化が正常な範囲内の変化であると判定された後に内燃機関１０が停止された場合には、停止直前における点火時期モデルパラメータベクトル平均値θ^mean(j)を、内燃機関１０が次回始動するときの点火時期モデルパラメータベクトルθ^kの初期値θ^0として使用することが好ましい。これにより、次のような利点がある。
【０１０２】
機関始動時の点火時期モデルパラメータベクトルθ^kの初期値θ^0としては、通常は、前回の機関停止直前の点火時期モデルパラメータベクトルθ^kが用いられる。この場合において、前回の機関停止前に内燃機関１０の運転状態が偏った状態に長時間置かれていた場合を想定する。ここでは、一例として、前回の機関停止前に、長時間のアイドリング運転が行われていたと想定する。アイドリング運転が長時間継続されると、その間に、点火時期モデルパラメータベクトルθ^kは、アイドリング運転に特に適した形に学習される。このため、アイドリング運転を長時間続けた後にそのまま内燃機関１０が停止された場合には、点火時期モデルパラメータベクトルθ^kは、アイドリング運転に特に適した形、つまり、やや偏った形になっている。そのような偏った形の点火時期モデルパラメータベクトルθ^kは、通常の運転状態において最適な点火時期モデルパラメータベクトルθ^kとは、若干ずれていると考えられる。よって、このやや偏った形の点火時期モデルパラメータベクトルθ^kを次回始動時の初期値θ^0として使用すると、始動後、点火時期モデルパラメータベクトルθ^kが本当に最適な形に学習されるまでに、ある程度の時間を要し、その間は燃費が若干低下すると考えられる。
【０１０３】
これに対し、点火時期モデルパラメータベクトル平均値θ^mean(j)は、比較的長期での視点による平均値であるので、機関停止前の運転状態にはほとんど左右されない。このため、前回の機関停止直前の点火時期モデルパラメータベクトル平均値θ^mean(j)を、次回始動時の点火時期モデルパラメータベクトルθ^kの初期値θ^0として使用すれば、上記のような事態が生ずることを防止することができ、始動直後から、良好な燃費性能をより確実に発揮することができる。
【０１０４】
また、上述した図４に示すルーチンのステップ１３０では、各回の差分ベクトルdθ(j)そのものの大きさに基づいて内燃機関１０の劣化を判定しているが、本発明では、複数回分の差分ベクトルdθ(j)に対して統計的処理（平均、分散などの算出）を施した統計量に基づいて、劣化判定を行うようにしてもよい。
【０１０５】
また、上述した図４に示すルーチンのステップ１３０では、差分ベクトルdθ(j)に代えて、点火時期モデルパラメータベクトル平均値θ^mean(j)と、点火時期モデルパラメータベクトルθ^kの初期値θ^0とを比較し、その差が大きいか小さいかに基づいて劣化判定を行うようにしてもよい。
【０１０６】
また、内燃機関１０に異常な燃料（例えば、着火遅れが長すぎる、あるいは短すぎる燃料）が供給されると、点火時期モデルパラメータベクトルθ^kの値が急変する。このため、この場合にも、図４に示すルーチンの処理では、内燃機関１０に劣化（異常）が生じたものと判定される。つまり、本実施形態で検出可能な内燃機関１０の劣化（異常）には、内燃機関１０に供給されている燃料の異常も含まれる。
【０１０７】
ところで、上述した実施の形態１では、内燃機関１０の燃焼状態を、筒内圧センサ４０の出力に基づいて検出しているが、本発明は、これに限定されるものではない。すなわち、本発明では、例えば、内燃機関１０に生ずるノッキングや、筒内に生ずるイオン電流、あるいは筒内の燃焼輝度などを検出するセンサを設け、それらのセンサの出力に基づいて燃焼状態を検出するようにしてもよい。
【０１０８】
また、上述した実施の形態１では、フィードバック制御器５８が、点火時期がＭＢＴとなるような燃焼状態を目標燃焼状態として点火時期フィードバック制御を行う場合を例に説明したが、本発明は、これに限定されるものではない。すなわち、本発明では、例えば、内燃機関１０に生ずるノッキングを検出し、ノッキングが生じない範囲で点火時期を最も進角させた燃焼状態を目標燃焼状態として点火時期フィードバック制御を行ってもよい。
【０１０９】
また、上述した実施の形態１においては、フィードフォワード制御器５６が前記第１の発明における「点火時期フィードフォワード制御手段」に、燃焼割合算出手段６０が前記第１の発明における「燃焼状態検出手段」に、フィードバック制御器５８が前記第１の発明における「点火時期フィードバック制御手段」に、遅延演算器６６，７０および忘却演算器６８が前記第１の発明における「平均値算出手段」に、共分散算出手段７２が前記第１の発明における「共分散算出手段」に、劣化判定手段が前記第３の発明における「判定手段」に、それぞれ相当している。
【図面の簡単な説明】
【０１１０】
【図１】本発明の実施の形態１のシステム構成を説明するための図である。
【図２】本発明の実施の形態１においてＥＣＵが点火時期を制御する場合の機能ブロック図である。
【図３】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図４】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【符号の説明】
【０１１１】
１０  内燃機関
１２  吸気通路
１４  排気通路
１６  エアフローメータ
１８  スロットル弁
２６  燃料インジェクタ
３０  点火プラグ
４０  筒内圧センサ
５０  ＥＣＵ
５２  リアルタイム制御部
５４  経時変化検出部
５６  フィードフォワード制御器
５８  フィードバック制御器
６０  燃焼割合算出手段
６２  点火時期モデル学習手段
６４  共分散算出手段
６６  遅延演算器
６８  忘却演算器
７０  遅延演算器
７２  共分散算出手段
【図１】
2008144744.tif 000007
【図２】
2008144744.tif 000008
【図３】
2008144744.tif 000009
【図４】
2008144744.tif 000010