(57)【要約】【課題】点火時期モデルの学習の速さを変更することにより点火時期モデルを適切に学習し、以って、過大なノッキングの発生を回避し得る点火時期制御装置を提供すること。【解決手段】フィードフォワード制御器Ａ２は点火時期モデルθ＾に負荷ＫＬ及び機関回転速度ＮＥにより定まる運転状態量を表す関数ベクトルφを適用して点火時期ＳＡ（ｋ）を決定する。補正量算出部Ａ４は、８°燃焼割合ＭＦＢ８を目標燃焼割合ＭＦＢ８ｔｇｔと一致させるための補正量ΔＳＡ（ｋ）を算出する。点火時期モデル学習部Ａ５は、補正量ΔＳＡ（ｋ）、共分散Ｒ及び共分散Ｑ等を用い、カルマンフィルタ理論に基づく更新則（θ＾（ｋ＋１）＝θ＾（ｋ）＋Ｋ（ｋ）ΔＳＡ（ｋ））に基づいて点火時期モデルθ＾を更新（学習）する。第２共分散計算部Ａ８は、ノッキングが発生していると判定されているとき共分散Ｑを増大させ、点火時期モデルθ＾の更新（学習）を迅速化させる。【選択図】図３
2009228472.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の点火時期制御装置であって、
前記機関の運転状態量を実運転状態量φとして取得する運転状態量取得手段と、
前記機関の運転状態量を変数として前記機関の点火時期を算出する関数により表された点火時期モデルθ＾に前記運転状態量取得手段により取得された実運転状態量φを適用することによりフィードフォワード点火時期ＳＡ（ｋ）を決定するフィードフォワード制御手段と、
前記機関の燃焼室内で発生した燃焼の状態を表す燃焼状態指標値を取得する指標値取得手段と、
前記指標値取得手段により取得された燃焼状態指標値と所定の目標燃焼状態を示す目標燃焼状態指標値との差に基いて同燃焼状態指標値を同目標燃焼状態指標値に近づけるための前記フィードフォワード点火時期ＳＡ（ｋ）の補正量ΔＳＡ（ｋ）を取得する補正量取得手段と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が、前記燃焼状態指標値を前記目標燃焼状態指標値に一致させる点火時期である理想点火時期に近づくように、前記点火時期モデルθ＾を前記補正量ΔＳＡ（ｋ）とカルマンフィルタ理論に基く更新則とによって修正する点火時期モデル学習手段と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）に応じた点火時期にて前記機関に供給される混合気を点火する点火実行手段と、
前記機関にノッキングが発生しているか否かを判定するノッキング判定手段と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が前記理想点火時期と一致する最適な点火時期モデルである点火時期モデルの真値θが一つの燃焼サイクルが経過する毎に所定変化分だけ変動すると仮定した場合の同所定変化分の共分散に対応する値Ｑであって前記カルマンフィルタ理論に基づく更新則において前記点火時期モデルθ＾の修正速度を変化させ得る値Ｑを、前記ノッキングが発生していると判定されている期間において増大させる共分散設定手段と、
を備える点火時期制御装置。
【請求項２】
内燃機関の点火時期制御装置であって、
前記機関の運転状態量を実運転状態量φとして取得する運転状態量取得手段と、
前記機関の運転状態量を変数として前記機関の点火時期を算出する関数により表された点火時期モデルθ＾に前記運転状態量取得手段により取得された実運転状態量φを適用することによりフィードフォワード点火時期ＳＡ（ｋ）を決定するフィードフォワード制御手段と、
前記機関の燃焼室内で発生した燃焼の状態を表す燃焼状態指標値を取得する指標値取得手段と、
前記指標値取得手段により取得された燃焼状態指標値と所定の目標燃焼状態を示す目標燃焼状態指標値との差に基いて同燃焼状態指標値を同目標燃焼状態指標値に近づけるための前記フィードフォワード点火時期ＳＡ（ｋ）の補正量ΔＳＡ（ｋ）を取得する補正量取得手段と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が、前記燃焼状態指標値を前記目標燃焼状態指標値に一致させる点火時期である理想点火時期に近づくように、前記点火時期モデルθ＾を前記補正量ΔＳＡ（ｋ）とカルマンフィルタ理論に基く更新則とによって修正する点火時期モデル学習手段と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）に応じた点火時期にて前記機関に供給される混合気を点火する点火実行手段と、
前記機関の運転状態が過渡運転状態にあるか否かを判定する過渡運転状態判定手段と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が前記理想点火時期と一致する最適な点火時期モデルである点火時期モデルの真値θが一つの燃焼サイクルが経過する毎に所定変化分だけ変動すると仮定した場合の同所定変化分の共分散に対応する値Ｑであって前記カルマンフィルタ理論に基づく更新則において前記点火時期モデルθ＾の修正速度を変化させ得る値Ｑを、前記機関の運転状態が過渡運転状態にあると判定されている場合と過渡運転状態にないと判定されている場合とで異なる値に設定する共分散設定手段と、
を備える点火時期制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の点火時期制御装置において、前記点火時期モデルθ＾は複数の係数を要素として有するベクトルによって表されるモデルであり、ｋ回目のサイクルにおける値を変数の後に付される（ｋ）により表し、転置を上付き添え字Ｔにより表すとき、
前記フィードフォワード制御手段は、前記フィードフォワード点火時期ＳＡ（ｋ）を次式により求めるように構成され、
ＳＡ（ｋ）＝φ（ｋ）Ｔθ＾（ｋ）
前記点火時期モデル学習手段は、Ｋをカルマンゲインとするとき、前記カルマンフィルタ理論に基く更新則として次式を用いて点火時期モデルθ＾を更新するように構成され、
θ＾（ｋ＋１）＝θ＾（ｋ）＋Ｋ（ｋ）ΔＳＡ（ｋ）
前記共分散に対応する値Ｑは、前記点火時期モデルθ＾と同次元のベクトルをＤとし、ｗ（ｋ）をスカラーの変数とするとき、次式により前記点火時期モデルの真値θが変動すると仮定し、
θ（ｋ＋１）＝θ（ｋ）＋Ｄｗ（ｋ）
且つ、前記変数ｗ（ｋ）がその平均値が０である正規分布を有すると仮定した場合の同変数ｗ（ｋ）の共分散である、
点火時期制御装置。
【請求項４】
請求項１乃至請求項３の何れか一項に記載の内燃機関の点火時期制御装置において、
前記指標値取得手段は、
前記機関の燃焼室内の圧力である筒内圧を取得する筒内圧取得手段と、
前記機関の燃焼室内で発生した燃焼の状態を表す燃焼状態指標値を前記取得された筒内圧に基いて取得する実指標値取得手段と、
を含む点火時期制御装置。
【請求項５】
請求項４に記載の点火時期制御装置において、
前記実指標値取得手段は、
前記燃焼状態指標値として圧縮上死点後の所定クランク角度Ａ度の燃焼割合ＭＦＢであるＡ°燃焼割合ＭＦＢを前記取得された筒内圧に基いて取得するように構成され、
前記補正量取得手段は、
前記取得されたＡ°燃焼割合ＭＦＢと前記目標燃焼状態指標値として定められた目標燃焼割合ＭＦＢｔｇｔの差ΔＭＦＢに基づいて前記補正量ΔＳＡ（ｋ）を取得するように構成された、
点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、点火時期モデルを修正（学習）する点火時期モデル学習手段を備え、修正（学習）された点火時期モデルを用いて点火時期を制御する内燃機関の点火時期制御装置に関する。
【背景技術】
【０００２】
従来より、筒内圧検出手段により検出される筒内圧（燃焼室内の圧力）に基づいて燃焼割合ＭＦＢ（Mass Fraction Burnt）を算出し、所定のクランク角度（例えば、圧縮上死点後のクランク角度８°）における燃焼割合ＭＦＢが目標燃焼割合（例えば、６０％）と一致するように点火時期を制御すれば、内燃機関の発生するトルクを最大にすることができることが知られている。このように点火時期を制御すれば、製造される同一機種の内燃機関の間に個体差がある場合でも、各機関に対して適切な点火時期が設定され得る。従って、燃焼効率が改善され、機関の出力トルクを増大させることができる。
【０００３】
燃焼割合ＭＦＢは燃焼室内で発生する燃焼の状態を示す燃焼状態指標値である。燃焼割合ＭＦＢは図示熱量の割合と実質的に等価な値である。図示熱量の割合は、一回の燃焼行程に関して、「燃焼室において燃焼した総ての燃料によって発生した熱のうちピストンに対する仕事に変換された熱の総量Ｑtotalに対する、所定のタイミングまでに同燃焼室において燃焼した燃料によって発生した熱のうちピストンに対する仕事に変換された熱の積算量Ｑsumの割合Ｑsum／Ｑtotal」と定義される。燃焼割合ＭＦＢは、「燃焼室において燃焼した総ての燃料のうちピストンに対する仕事に寄与した燃料の総量に対する、所定のタイミングまでに同燃焼室において燃焼した燃料のうちピストンに対する仕事に寄与した燃料の積算量の割合」と定義される。
【０００４】
かかる点火時期制御装置の一つは、所定のクランク角度における実際の燃焼割合を取得するとともに、その取得した燃焼割合と目標燃焼割合との差が小さくなるように点火時期をフィードバック制御するようになっている（例えば、特許文献１を参照）。
【特許文献１】特開平９−３１７５２２号公報
【発明の開示】
【０００５】
ところで、点火時期をフィードバック制御する場合、点火時期は、所定のクランク角度における実際の燃焼割合を取得するとともに、その取得した実際の燃焼割合と目標燃焼割合との間に差が生じた後でなければ修正されない。即ち、フィードバック制御は不可避的な制御遅れを伴う。そこで、内燃機関の運転状態を表す運転状態量（例えば、機関の負荷及び機関回転速度）と点火時期との関係を記述した関数である点火時期モデルを用いて点火時期を決定する手法が開発されて来ている。点火時期モデルは、種々の運転状態量に対して所定のクランク角度における燃焼割合が目標燃焼割合と一致するように予め適合される。これによれば、運転状態が急激に変化した場合であっても、点火時期は運転状態に応じて適切な点火時期へと迅速に変更され得る。
【０００６】
一方、個々の内燃機関の間には機体差（個体差）が存在する。更に、内燃機関の使用に伴って機関の特性は経時変化する。従って、予め適合された点火時期モデルにより、常に最適な点火時期を求めることはできない。そこで、所定のクランク角度における実際の燃焼割合が目標燃焼割合と一致するように（実際の燃焼状態指標値が目標燃焼状態指標値と一致するように）、点火時期モデルにより算出された点火時期を補正する補正量を求め、その補正量に基づいて点火時期モデルを学習によって修正する学習制御を実行することが考えられる。
【０００７】
このような学習制御を検討している本発明者は、上記補正量により補正された点火時期には正規分布に精度良く一致するバラツキが内在するとの知見を得た。そこで、本発明者は、上記補正量による補正後の点火時期に内在する上記バラツキを「カルマンフィルタ理論」に基く手法によりフィルタリングしながら点火時期モデルの修正（即ち、学習制御）を行うことを提案した。
【０００８】
しかしながら、本発明者は、点火時期モデルが理想的な点火時期モデルと乖離していて且つ学習制御による点火時期モデルの修正速度が十分に速くない場合、機関が急加速されるとき等の過渡運転状態において点火時期モデルに基づいて求められる点火時期が不適切な値となる場合があることを見いだした。このような場合、例えば、ノッキング又はトルク変動が発生する等の問題が生じる。これに対し、本発明者は、点火時期モデルの修正速度を必要以上に早く設定しておくと、学習制御により修正される点火時期モデルの変動が大きくなりすぎ、その結果、点火時期モデルに基づいて求められる点火時期が不適切な値となる場合があることも見いだした。
【０００９】
以上から、本発明の目的の一つは、点火時期モデルの学習制御による修正を適切な速度にて行うことにより、ノッキング等が発生し難い点火時期を設定できる点火時期制御装置を提供することにある。
【００１０】
上記目的を達成する本発明による内燃機関の点火時期制御装置は、
機関の運転状態量を実運転状態量φとして取得する運転状態量取得手段と、
点火時期モデルθ＾に前記運転状態量取得手段により取得された実運転状態量φを適用することによりフィードフォワード点火時期ＳＡ（ｋ）を決定するフィードフォワード制御手段と、を備える。点火時期モデルθ＾は、前記機関の運転状態量を変数として同機関の点火時期を算出する関数により表されるモデルである。
【００１１】
更に、この点火時期制御装置は、指標値取得手段と、補正量取得手段と、点火時期モデル学習手段と、点火実行手段と、を備える。
【００１２】
前記指標値取得手段は、前記機関の燃焼室内で発生した燃焼の状態を表す燃焼状態指標値を取得する。
前記補正量取得手段は、前記指標値取得手段により取得された燃焼状態指標値と所定の目標燃焼状態を示す目標燃焼状態指標値との差に基いて同燃焼状態指標値を同目標燃焼状態指標値に近づけるための前記フィードフォワード点火時期ＳＡ（ｋ）の補正量ΔＳＡ（ｋ）を取得する。
【００１３】
前記点火時期モデル学習手段は、前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が、「前記燃焼状態指標値を前記目標燃焼状態指標値に一致させる点火時期」である「理想点火時期」に近づくように、前記点火時期モデルθ＾を前記補正量ΔＳＡ（ｋ）とカルマンフィルタ理論に基く更新則とによって修正する。
前記点火実行手段は、前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）に応じた点火時期にて前記機関に供給される混合気を点火する。
【００１４】
加えて、この点火時期制御装置は、ノッキング判定手段と、共分散設定手段と、を備える。
【００１５】
前記ノッキング判定手段は、前記機関にノッキングが発生しているか否かを判定する。ノッキング判定手段は、前記機関の振動を検出する周知のノックセンサを含み、そのノックセンサからの出力に基づいてノッキングが発生しているか否かを判定するように構成され得る。代替として、ノッキング判定手段は、前記機関の燃焼室内の圧力である筒内圧を検出する筒内圧センサを含み、その筒内圧センサからの出力に基づいてノッキングが発生しているか否かを判定するように構成され得る。
【００１６】
前記共分散設定手段は、前記カルマンフィルタ理論に基づく更新則において前記点火時期モデルθ＾の修正速度を変化させ得る値Ｑを、前記ノッキングが発生していると判定されている期間において増大させる。この値Ｑは、「前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が前記理想点火時期と一致する」ような「最適な点火時期モデル（点火時期モデルの真値θ）」が、一つの燃焼サイクルが経過する毎に所定変化分だけ変動すると仮定した場合の同所定変化分の共分散に対応する値である。
【００１７】
これによれば、カルマンフィルタ理論に基く更新則により点火時期モデルθ＾を修正する際の速度（学習速度）を決定する因子である「共分散に対応する値Ｑ」が、ノッキングが発生している場合に増大させられる。即ち、この制御装置は、ノッキングが発生している場合には、ノッキングが発生していない場合より、前記補正量ΔＳＡ（ｋ）がより短時間のうちに「０」に近づくように、点火時期モデルθ＾を修正（学習）する。その結果、ノッキングを回避するように点火時期を設定することができる。
【００１８】
上記目的を達成する本発明による他の内燃機関の点火時期制御装置は、前記運転状態量取得手段と、前記フィードフォワード制御手段と、前記指標値取得手段と、前記補正量取得手段と、前記点火時期モデル学習手段と、前記点火実行手段と、を備える。
【００１９】
更に、この点火時期制御装置は、過渡運転状態判定手段と、共分散設定手段と、を備える。
【００２０】
この過渡運転状態判定手段は、前記機関の運転状態が過渡運転状態にあるか否かを判定する。例えば、機関の運転状態が、「アクセルペダル操作量、スロットル弁開度及び吸入空気量等」により表される機関の負荷が急増するような加速運転状態にある場合、過渡運転状態判定手段は、前記機関の運転状態が過渡運転状態にあると判定する。
【００２１】
また、共分散設定手段は、前述した値Ｑを、前記機関の運転状態が過渡運転状態にあると判定されている場合と過渡運転状態にないと判定されている場合とで異なる値に設定する。
【００２２】
このように構成された本発明による他の点火時期制御装置によれば、カルマンフィルタ理論に基く更新則により点火時期モデルθ＾を修正する際の速度（学習速度）を決定する因子である「共分散に対応する値Ｑ」が、過渡運転状態にある場合と定常運転状態（過渡運転状態以外の運転状態）にある場合とで異なる値に設定される。従って、この点火時期制御装置は、過渡運転状態において前記補正量ΔＳＡ（ｋ）がより短時間のうちに「０」に近づくように点火時期モデルθ＾を修正（学習）することができる。更に、この点火時期制御装置は、定常運転状態において点火時期モデルθ＾が振動的に修正（学習）されてしまうことを回避することができる。従って、各運転状態に応じて、点火時期モデルθ＾を適切に修正することができる。なお、共分散に対応する値Ｑは、過渡運転状態にあると判定された場合に過渡運転状態にないと判定されている場合よりも大きい値に設定されることが望ましい。
【００２３】
上述した何れかの点火時期制御装置が用いる前記点火時期モデルθ＾は、複数の係数を要素として有するベクトルによって表されるモデルであってもよい。以下、ｋ回目のサイクルにおける値（行列、ベクトル、スカラー）を「変数の後ろに付される（ｋ）」により表し、転置を上付き添え字Ｔにより表す。
【００２４】
この表現方法によると、前記フィードフォワード制御手段は、前記フィードフォワード点火時期ＳＡ（ｋ）を次式により求めるように構成されている。φ（ｋ）は取得された実運転状態量（機関回転速度及び機関負荷等）を変数とする関数ベクトルである。
ＳＡ（ｋ）＝φ（ｋ）Ｔθ＾（ｋ）
【００２５】
前記点火時期モデル学習手段は、Ｋをカルマンゲインとするとき、前記カルマンフィルタ理論に基く更新則として次式を用いることにより、点火時期モデルθ＾を更新するように構成されている。
θ＾（ｋ＋１）＝θ＾（ｋ）＋Ｋ（ｋ）ΔＳＡ（ｋ）
【００２６】
更に、前記共分散に対応する値Ｑは、
前記点火時期モデルθ＾と同次元のベクトルをＤとし、ｗ（ｋ）をスカラーの変数とするとき、次式により前記点火時期モデルの真値θが変動すると仮定し、
θ（ｋ＋１）＝θ（ｋ）＋Ｄｗ（ｋ）
且つ、前記変数ｗ（ｋ）がその平均値が０である正規分布を有すると仮定した場合の同変数ｗ（ｋ）の共分散である。
【００２７】
本発明による点火時期制御装置は、このようなカルマンフィルタ理論を用いた更新則の下で、共分散に対応する値Ｑをノッキングの有無又は過渡運転状態であるか否かに応じて変更する。その結果、ノッキング及びトルク変動等の発生を抑制することができる。
【００２８】
一方、前記指標値取得手段は、
前記機関の燃焼室内の圧力である筒内圧を取得する筒内圧取得手段と、
前記機関の燃焼室内で発生した燃焼の状態を表す燃焼状態指標値を前記取得された筒内圧に基いて取得する実指標値取得手段と、を含むことができる。
【００２９】
更に、
前記実指標値取得手段は、
前記燃焼状態指標値として圧縮上死点後の所定クランク角度Ａ度の燃焼割合ＭＦＢであるＡ°燃焼割合ＭＦＢを前記取得された筒内圧に基いて取得するように構成され、
前記補正量取得手段は、
前記取得されたＡ°燃焼割合ＭＦＢと前記目標燃焼状態指標値として定められた目標燃焼割合ＭＦＢｔｇｔの差ΔＭＦＢに基づいて前記補正量ΔＳＡ（ｋ）を取得するように構成されることができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施形態に係る内燃機関の点火時期制御装置について図面を参照しつつ説明する。
（構成）
図１は、本発明の実施形態に係る点火時期制御装置（以下、単に「制御装置」と称呼することもある。）をピストン往復動型の火花点火式多気筒（４気筒）４サイクル内燃機関１０に適用したシステムの概略構成を示している。なお、図１は、特定の気筒の断面のみを図示しているが、他の気筒も同様な構成を備えている。
【００３１】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００３２】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これによりクランク軸２４が回転するようになっている。シリンダ２１とピストン２２の上面は、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００３３】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を開閉駆動する吸気弁制御装置３３、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００３４】
吸気弁制御装置３３は、インテークカムシャフトとインテークカム（図示せず）との相対回転角度（位相角度）を油圧により調整・制御する周知の構成を備え、吸気弁３２の開弁時期（吸気弁開弁時期）を変更することができるようになっている。
【００３５】
吸気系統４０は、吸気ポート３１に連通し吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３及びスロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａを備えている。
【００３６】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ（排気管）５２、上流側の三元触媒５３及び下流側の三元触媒５４を備えている。上流側の三元触媒５３は、エキゾーストパイプ５２に配設されている。下流側の三元触媒５４は、上流側の三元触媒５３の下流においてエキゾーストパイプ５２に配設されている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００３７】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、各気筒に設けられた筒内圧センサ６５、シリンダブロックの壁面であって各気筒に隣接した位置に設けられたノックセンサ６６、第１触媒５３の上流の排気通路に配設された空燃比センサ６７、第１触媒５３の下流であって第２触媒５４の上流の排気通路に配設された空燃比センサ６８及びアクセル開度センサ６９を備えている。
【００３８】
熱線式エアフローメータ６１は、吸気管４１内を流れる吸入空気の単位時間あたりの質量流量を検出し、質量流量Ｇａを表す信号を出力するようになっている。スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが所定角度から９０度、次いで９０度、更に１８０度回転する毎に一つのパルスを出力するようになっている。この信号はＧ２信号とも称呼される。クランクポジションセンサ６４は、クランク軸２４が１０度回転する毎に幅狭のパルスを出力するとともに、クランク軸２４が３６０度回転する毎に幅広のパルスを出力するようになっている。クランクポジションセンサ６４から出力されるパルスはエンジン回転速度ＮＥを表す信号に変換されるようになっている。更に、カムポジションセンサ６３及びクランクポジションセンサ６４からの信号に基いて、機関１０のクランク角度（所定気筒の圧縮上死点からのクランク角度、即ち、絶対クランク角度）が求められるようになっている。
【００３９】
筒内圧センサ６５は、それが取り付けられた燃焼室２５内の圧力を検出し、筒内圧Ｐｃを表す信号を出力するようになっている。ノックセンサ６６は、その取り付け位置に対応する燃焼室２５内の燃焼によって発生するノッキングに基く振動Ｋｃを表す信号を出力するようになっている。
【００４０】
上流側空燃比センサ６７及び下流側空燃比センサ６８は、触媒５３の上下流の空燃比をそれぞれ検出し、その上下流の空燃比を表す信号をそれぞれ出力するようになっている。アクセル開度センサ６９は、運転者によって操作されるアクセルペダル８１の操作量を検出し、アクセルペダル８１の操作量Accpを表す信号を出力するようになっている。
【００４１】
電気制御装置７０は、互いにバスで接続された「ＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びに、ＡＤコンバータを含むインターフェース７５等」からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６９と接続され、ＣＰＵ７１にセンサ６１〜６９からの信号を供給するようになっている。インターフェース７５は、ＣＰＵ７１の指示に応じて吸気弁制御装置３３、インジェクタ３９及びスロットル弁アクチュエータ４３ａに駆動信号を送出するとともに、イグナイタ３８に点火信号を送出するようになっている。なお、ＣＰＵ７１は、アクセルペダル８１の操作量Accpが大きいほどスロットル弁４３の開度が大きくなるようにスロットル弁アクチュエータ４３ａに駆動信号を送出するようになっている。
【００４２】
（制御の概要）
次に、上記のように構成された内燃機関１０の点火時期制御装置（制御装置）により行われる点火時期制御の概要について説明する。この制御装置は、取得した燃焼割合ＭＦＢを用いて点火時期モデルを変更する。まず、燃焼割合ＭＦＢ及びその取得方法について述べ、次に、点火時期制御の内容について述べる。
【００４３】
＜実際の燃焼割合ＭＦＢの推定（取得）＞
上述のように定義された燃焼割合ＭＦＢは上述のように定義された図示熱量の割合Ｑsum／Ｑtotalを表す値として推定（取得）される。燃焼割合ＭＦＢ及び図示熱量の割合は、何れも機関１０の燃焼状態を示す燃焼状態指標値である。燃焼割合ＭＦＢを筒内圧センサ６５によって検出された筒内圧Ｐｃから求める手法の詳細は、例えば、特開２００６−１４４６４５号公報に開示されているので、以下、その概略について述べる。
【００４４】
本例において、燃焼割合ＭＦＢは所定のタイミングを表すクランク角度Ａ°に対応して求められる。クランク角度Ａ°における燃焼割合ＭＦＢをＡ°燃焼割合ＭＦＢＡと表す。このクランク角度Ａ°は圧縮上死点において０となり、圧縮上死点から吸気下死点点前（即ち、吸気下死点）に向って進角するほど絶対値が大きくなる負の値をとり、圧縮上死点から圧縮上死点後（即ち、膨張下死点）に向って遅角するほど絶対値が大きくなる正の値をとるように定義される。例えば、Ａ°＝−Ａ１°（Ａ１＞０）であることは、クランク角度がＢＴＤＣ  Ａ１°であることを示す。Ａ＝Ａ２°（Ａ２＞０）であることは、クランク角度がＡＴＤＣ  Ａ２°であることを示す。なお、本明細書において、ＢＴＤＣ  Ｘ°（Ｘ＞０）とは圧縮上死点前Ｘ°クランク角を意味し、ＡＴＤＣ  Ｘ°（Ｘ＞０）とは圧縮上死点後Ｘ°クランク角を意味する。
【００４５】
クランク角度Ａ°における燃焼割合Ａ°ＭＦＢＡは、下記の（１）式により推定される。（１）式において、クランク角度Ａｓ（Ａｓ＜０）は、対象とする燃焼行程（膨張行程）に向う圧縮行程において吸気弁３２及び排気弁３５の両方が閉じた状態にあり且つ点火時期よりも十分に進角した時期（例えば、Ａｓ＝−６０°、即ち、ＢＴＤＣ  ６０°）である。クランク角度Ａｅ（Ａｅ＞０）は、対象とする燃焼行程における燃焼が実質的に終了する最も遅い時期よりも遅い所定の時期且つ排気弁開弁時期よりも進角した時期（例えば、Ａｅ＝６０°、即ち、ＡＴＤＣ  ６０°）である。
【数１】
2009228472.tif 000003
【００４６】
この（１）式は、発生した熱のうちピストンに対する仕事に寄与した熱の積算量の変化パターンがＰｃ（Ａ）Ｖ（Ａ）κの変化パターンと概ね一致するという知見に基いている。Ｐｃ（Ａ）はクランク角度Ａ°における筒内圧、Ｖ（Ａ）はクランク角度Ａ°における燃焼室２５の容積、κは混合ガスの比熱比（例えば、１．３２）である。なお、（１）式の分母はＭＦＢの１００％に相当する値である。
【００４７】
＜点火時期制御の基本的内容＞
次に、本制御装置による点火時期制御の基本的内容について説明する。
図２は、点火時期ＳＡと、８°燃焼割合ＭＦＢ８と、機関１０の発生トルクＴＲＱと、の関係を示したグラフである。８°燃焼割合ＭＦＢ８とは、クランク角度θが圧縮上死点後８°（＝ＡＴＤＣ  ８°）にあるときの燃焼割合ＭＦＢである。図２から明らかなように、発生トルクＴＲＱが最大となる８°燃焼割合ＭＦＢ８は約６０％（図２の領域Ａを参照。）である。従って、制御装置は、８°燃焼割合ＭＦＢ８（燃焼状態指標値）が所定の目標値ＭＦＢ８ｔｇｔ（例えば、６０％近傍の値、目標燃焼状態指標値）となるように、点火時期モデルを使用しながら点火時期を制御する。これにより、製造された機関１０の間に個体差が存在している場合でも、各機関１０に対して適切な点火時期が設定され得る。従って、燃焼効率が改善され、機関１０の出力トルクを増大させることができる。なお、燃焼状態指標値は、８°燃焼割合ＭＦＢ８に限定されず、例えば、６°燃焼割合ＭＦＢ６、或いは、１０°燃焼割合ＭＦＢ１０等であってもよい。即ち、点火時期制御の指標となる燃焼状態指標値は、燃焼の途中（燃焼の中期〜後期）の所定クランク角度（通常、圧縮上死後所定クランク角）における燃焼割合ＭＦＢであればよい。また、目標値は６０％とは限らず、例えば、５０％〜７０％の中の値であってもよい。
【００４８】
＜点火時期制御の具体的内容＞
上述した点火時期制御を実行するための制御装置は、図３に示した複数の機能ブロック（機能達成部）を有する。各機能ブロックの機能は実際にはＣＰＵ７１が所定のプログラムを実行することにより達成される。以下、各機能ブロックの作動を順に説明する。本明細書において、変数の後に付与される（ｋ）又は下付き添え字ｋは、その変数がある特定の気筒において次に発生する燃焼行程（即ち、今回の燃焼行程）に対する変数（ｋ回目のサイクルにおける変数）であることを示す。従って、（ｋ−１）又は下付き添え字ｋ−１が付与された変数は、その特定の気筒における前回の燃焼行程（既に終了した直前の燃焼行程、即ち、前回のサイクルであるｋ−１回目のサイクル）に対する変数である。（ｋ＋１）又は下付き添え字ｋ＋１が付与された変数は、その特定の気筒における次回の燃焼行程（今回の燃焼行程の次の燃焼行程、即ち、ｋ＋１回目のサイクル）に対する変数である。また、点火時期ＳＡ（ＳＡ＞０）とは、点火がＢＴＤＣ  ＳＡ°（圧縮上死点前のクランク角度ＳＡ°）において行われることを意味する。以下に説明する制御は特定気筒に対して実行されるが、他の気筒に対しても同様な制御が実行される。
【００４９】
運転状態量取得部Ａ１は、機関１０の運転状態を表す量（運転状態量）を取得するようになっている。運転状態量は、燃焼状態に影響を及ぼす運転パラメータであり、本例において、機関１０の負荷ＫＬ（ｋ）及び機関回転速度ＮＥ（ｋ）である。負荷ＫＬ（ｋ）は燃焼室２５に吸入された空気の重量（筒内空気重量）に比例する値（充填効率）であり、エアフローメータ６１の検出する質量流量Ｇａ及び機関回転速度ＮＥにより求められる。具体的には、充填効率は、例えば、現時点において吸気行程の直前にある気筒に吸入される筒内吸入空気量（単位は（ｇ））を、空気密度ρ（単位は（ｇ／ｌ））及び機関の一気筒あたりの排気量Ｌ（単位は（ｌ））により除すことによって求められる。また、機関回転速度ＮＥ（ｋ）は現時点において検出される機関回転速度ＮＥである。ここでは、現時点から後述する点火時期ＳＡ（ｋ）までの間に、負荷ＫＬ（ｋ）及び機関回転速度ＮＥ（ｋ）は大きく変化しないものとして扱われている。運転状態量取得部Ａ１は、遅延部Ａ１ａを通して負荷ＫＬ（ｋ−１）及び機関回転速度ＮＥ（ｋ−１）を点火時期モデル学習部Ａ５に送出するようになっている。
【００５０】
なお、運転状態量取得部Ａ１は、負荷ＫＬを求めるための筒内吸入空気量を、空気の挙動を記述した周知の空気モデルにより取得するように構成されていてもよい。また、運転状態量取得部Ａ１は、負荷ＫＬを、アクセルペダル８１の操作量Accp及びスロットル弁開度ＴＡ等と機関回転速度ＮＥとに基いて取得するように構成されていてもよい。更に、運転状態量取得部Ａ１は、ＶＶＴ進角量ＶＶＴ（ｋ）等の他の運転状態量を取得するように構成されてもよい。
【００５１】
フィードフォワード制御器Ａ２は、機関１０の運転状態量（負荷ＫＬ（ｋ）及び機関回転速度ＮＥ（ｋ））に基き、点火時期モデルを用いて点火時期ＳＡ（ｋ）を算出するようになっている。本制御装置においては、フィードフォワード制御器Ａ２により算出された点火時期ＳＡ（ｋ）が今回のサイクルにおける実際の点火時期として使用される。即ち、本制御装置は、フィードフォワード制御器Ａ２により算出された点火時期ＳＡ（ｋ）に応じた点火時期にて機関１０に供給される混合気を点火する点火実行手段を備えている。
【００５２】
より具体的に述べると、フィードフォワード制御器Ａ２は機関１０のサイクル毎（即ち、７２０°クランク角が経過する毎であって、例えば、クランク角が特定気筒の圧縮上死点前  １８０°クランク角となったとき）に下記（２）式に従って点火時期ＳＡを算出するようになっている。
【数２】
2009228472.tif 000004
【００５３】
但し、上記（２）式中、φは負荷ＫＬ及び機関回転速度ＮＥにより定まる関数ベクトル（関数行列）である。即ち、φは、運転状態量取得部Ａ１によりもたらされる機関の運転状態量を表す実運転状態量φである。θ＾は点火時期モデルに相当する係数ベクトル（関数行列）である。以下、この係数ベクトルθ＾を点火時期モデルθ＾と称呼する。また、本明細書において上付き添え字「
Ｔ 」は、転置を意味する。
【００５４】
上記（２）式は、より詳細には下記（３）式のように表される。この（３）式において、値ａ、ｂ、ｃ及びｄは、それぞれ所定の定数である。
【数３】
2009228472.tif 000005
【００５５】
この（３）式に示した例において、点火時期モデルθ＾は、θ0,θ1,θ2,θ3の４つの要素（係数）からなる４次元ベクトルである。後述するように、点火時期モデルθ＾は、点火時期モデル学習部Ａ５によって機関１０のサイクル（一燃焼サイクル、７２０度クランク角）毎に更新される。
【００５６】
実燃焼割合計算部Ａ３は、筒内圧センサ６５により検出された筒内圧Ｐｃと、カムポジションセンサ６３及びクランクポジションセンサ６４から得られるクランク角と、を入力するとともに、上記（１）式に対応する下記（４）式に従って「前回の燃焼行程中のＡＴＤＣ８°における８°燃焼割合ＭＦＢ８（ｋ−１）」を算出するようになっている。（４）式における右辺の各値は、総て前回のサイクルにおいて得られた値である。なお、前述したように、８°とはＡＴＤＣ  ８°、−６０°とはＢＴＤＣ  ６０°、６０°とはＡＴＤＣ  ６０°をそれぞれ意味する。以下、このようにして取得される８°燃焼割合ＭＦＢ８（ｋ−１）を実燃焼割合ＭＦＢ８（ｋ−１）とも称呼する。なお、実燃焼割合計算部Ａ３は、機関１０の燃焼室２５内で発生した燃焼の状態を表す燃焼状態指標値（８°燃焼割合ＭＦＢ８（ｋ−１））を取得された筒内圧Ｐｃに基いて取得する実指標値取得手段を構成している。
【数４】
2009228472.tif 000006
【００５７】
補正量算出部Ａ４は、実燃焼割合計算部Ａ３により計算された実燃焼割合ＭＦＢ８（ｋ−１）と目標燃焼割合ＭＦＢ８ｔｇｔ（本例では６０％＝ＭＦＢｔｇｔ）との差ｄ（ｋ）（＝ΔＭＦＢ）を求めるようになっている。更に、補正量算出部Ａ４は、その求めた差ｄ（ｋ）に基づいてＰＩ制御（又はＰＩＤ制御）を実行し、補正量ΔＳＡ（ｋ）を算出するようになっている。補正量ΔＳＡ（ｋ）は、「フィードフォワード制御器Ａ２によって算出された点火時期ＳＡ（ｋ）」を「どれだけ補正するべきであるかを表す量」である。即ち、補正量ΔＳＡ（ｋ）は「点火時期モデルによって算出（予測）された点火時期」と「理想的な点火時期（即ち、８°燃焼割合ＭＦＢ８を目標燃焼割合ＭＦＢ８ｔｇｔに一致させることができるような点火時期）」との誤差を表している。従って、補正量ΔＳＡは「予測誤差」と考えることができる。
【００５８】
より具体的に述べると、補正量算出部Ａ４は、下記（５）式及び下記（６）式に基いて補正量ΔＳＡ（ｋ）を算出する。（５）式のＫｐは比例定数であり、Ｋｉは積分定数である。Ｓｄ（ｋ）は差ｄ（ｋ）の積分値であり、下記（６）式に基いて求められる。
【数５】
2009228472.tif 000007
【数６】
2009228472.tif 000008
【００５９】
ところで、フィードフォワード制御器Ａ２によって算出された点火時期ＳＡ（ｋ）を補正量ΔＳＡ（ｋ）によって補正することにより得られる点火時期を、今回の点火時期として使用することが考えられる。しかしながら、そのような場合、補正量ΔＳＡ（ｋ）は前回の点火時期ＳＡ（ｋ−１）に基づく燃焼の結果（即ち、８°燃焼割合ＭＦＢ８（ｋ−１））をフィードバックした値であるから、補正量ΔＳＡ（ｋ）自体は真の補正量ΔＳＡｔとは相違する。ここで、真の補正量ΔＳＡｔとは、点火時期ＳＡ（ｋ）を上記理想的な点火時期に補正するための補正量を意味する。
【００６０】
そこで、本制御装置は、点火時期モデル学習部Ａ５を備える。点火時期モデル学習部Ａ５は、補正量ΔＳＡ（ｋ）が小さくなるようにフィードフォワード制御器Ａ２の「点火時期モデルθ＾」を修正する「学習制御」を実行するようになっている。これにより、フィードフォワード制御器Ａ２から出力される点火時期ＳＡ（ｋ）が上述した「理想的な点火時期」に近づく。この結果、機関１０が過渡運転状態にあるような場合でも、点火時期を応答性良く適切に変化させることができる。
【００６１】
このような学習制御を行う場合、補正量ΔＳＡ（ｋ）に含まれるバラツキ（ノイズ、誤差）を考慮しなければならない。即ち、サイクル毎に得られる補正量ΔＳＡ（ｋ）が誤差を含んでいない正しい値であるとの前提に立って点火時期モデルθ＾を修正することは適切ではない。
【００６２】
そこで、点火時期モデル学習部Ａ５は、カルマンフィルタ理論を応用して点火時期モデルθ＾を修正（学習・更新）する。カルマンフィルタ理論は、一般に、システムの状態推定を行うために用いられるフィルタリング理論である。カルマンフィルタ理論によれば、システムや観測に加わる雑音（白色雑音）を適切にフィルタリングすることができるので、最適な状態推定を行うことができる。
【００６３】
本発明者は、このようなカルマンフィルタ理論を点火時期制御に応用することを検討した結果、補正量ΔＳＡ（ｋ）に生じるバラツキ（雑音）はカルマンフィルタ理論によってフィルタリングすることができる雑音と同種の雑音であるとの知見を得た。そこで、点火時期モデル学習部Ａ５は、補正量ΔＳＡ（ｋ）、前回の運転状態量（負荷ＫＬ（ｋ−１）及び機関回転速度ＮＥ（ｋ−１））、共分散Ｒ、並びに、共分散Ｑ等と、カルマンフィルタ理論と、に基づいて点火時期モデルθ＾を修正する。
【００６４】
より具体的に述べると、機関１０の運転状態が変化していない場合であっても、燃焼室２５内における混合気の燃焼状態はサイクル毎に変動する。このような燃焼状態の変動は、混合気の空燃比の変動、筒内に残留しているガスの量及び温度の変動、及び、燃焼室内の混合気の攪拌状態の変化等がサイクル毎に発生するためであると推定される。即ち、補正量ΔＳＡ（ｋ）のバラツキは、このような燃焼状態の変動に起因して発生すると考えられる。従って、補正量ΔＳＡ（ｋ）のバラツキは正規分布に略一致すると考えられる。このことから、カルマンフィルタ理論に従って構築された点火時期モデル学習部Ａ５は、補正量ΔＳＡ（ｋ）に含まれるバラツキを適切にフィルタリングしながら点火時期モデルを修正することができる。その結果、フィードフォワード制御器（点火時期モデル）Ａ２により算出される点火時期ＳＡ（ｋ）が最適な点火時期（理想的な点火時期）に近づく。
【００６５】
以下、点火時期モデル学習部Ａ５が採用している学習制御について説明を加える。
点火時期モデル学習部Ａ５は、下記の（７）式により表された「カルマンフィルタ理論を応用した点火時期モデルの更新則」に従って点火時期モデルθ＾を修正（更新・学習）する。この（７）式の値Ｋ（＝Ｋ（ｋ））は「カルマンゲイン」と称呼される。前述したように補正量ΔＳＡ（ｋ）は「予測誤差」と考えることができるので、（７）式は予測誤差ΔＳＡ（ｋ）にカルマンゲインＫ（ｋ）を乗じた値を今回のサイクルにおける点火時期モデルθ＾（ｋ）に加算することにより、今回の次のサイクル（次回のサイクル）における点火時期モデルθ＾（ｋ＋１）が算出されることを表している。
【数７】
2009228472.tif 000009
【００６６】
ここで、上記（７）式中のカルマンゲインＫ（ｋ）の導出過程について説明する。
いま、点火時期モデルθ＾の真値をθとする。点火時期モデルの真値θは、実際には知り得ない最適（理想的）な点火時期モデルである。点火時期モデルθ＾を点火時期モデルの真値θに一致させることができれば、フィードフォワード制御器Ａ２により決定されるフィードフォワード点火時期ＳＡ（ｋ）が前記理想点火時期と一致する。
【００６７】
この点火時期モデルの真値θは、内燃機関１０の経時変化及び運転環境の変化等に応じてサイクル毎に変化すると考えることができる。いま、Ｄｗ（ｋ）を、内燃機関１０の経時変化及び運転環境の変化等に起因して変化する「点火時期モデルの真値θのサイクル毎の変化」に相当する値であるとすると、下記の（８）式が成立する。なお、この変化Ｄｗ（ｋ）における「Ｄ」は点火時期モデルθ＾と同次元のベクトルであり（Ｄについては後述する（１９）式を参照。）、「ｗ（ｋ）」はスカラー（変数）である。
【数８】
2009228472.tif 000010
【００６８】
ところで、補正量ΔＳＡ（ｋ）は「実燃焼割合ＭＦＢ８を目標燃焼割合ＭＦＢ８ｔｇｔに一致させるためのフィードバック量であると言うこともできる。従って、下記の（９）式に従って定められる点火時期Ｓ（ｋ）を仮想フィードバック点火時期Ｓ（ｋ）と称呼する。
【数９】
2009228472.tif 000011
【００６９】
一方、点火時期モデルの真値θによって算出されるべき点火時期（実際には知り得ない最適な点火時期）φ（ｋ）Ｔθ（ｋ）と、仮想フィードバック点火時期Ｓ（ｋ）と、の間に存在する誤差をｎ（ｋ）とすると、下記の（１０）式が成立する。
【数１０】
2009228472.tif 000012
【００７０】
以上から、点火時期モデルの真値θと実際の点火時期モデルθ＾との誤差、即ち、「モデル誤差θ〜」は、下記の（１１）式のように表される。なお、（１１）式を導くにあたり、上記（７）〜（１０）式を使用した。
【数１１】
2009228472.tif 000013
【００７１】
本発明者は、種々の検討により、点火時期モデルの真値θの変化Ｄｗ（ｋ）は、ランダムウォーク（酔歩）であるとの知見を得た。更に、上記（１０）式における誤差ｎ（ｋ）は測定雑音等に起因するランダムな外乱であると考えられる。そこで、発明者は、ｗ（ｋ）は平均値が０で共分散Ｑの「正規分布」を有すると扱えるとの判断に至った。更に、発明者は、ｎ（ｋ）は平均値が０で共分散Ｒを有し、かつ、「ｗ（ｋ）とは独立した正規分布」を有するものとして扱えるとの判断に至った。即ち、発明者は、ｗ（ｋ）及びｎ（ｋ）を、下記の（１２）式及び（１３）式のように定義した。
【数１２】
2009228472.tif 000014
【数１３】
2009228472.tif 000015
なお、上記（１２）式及び（１３）式を含め、本明細書において記号「Ｅ[  ]」は、平均値（期待値）を表す。
【００７２】
カルマンフィルタ理論においては、モデル誤差θ〜の共分散行列（以下、「モデル誤差共分散行列」と称呼する。）Ｐ（ｋ）が最小となるようにカルマンゲインＫ（ｋ）を求める。モデル誤差共分散行列Ｐ（ｋ）は下記の（１４）式により表される。
【数１４】
2009228472.tif 000016
【００７３】
従って、上記（１１）式乃至（１４）式から、モデル誤差共分散行列Ｐ（ｋ＋１）は下記の（１５）式に示したように計算される。
【数１５】
2009228472.tif 000017
【００７４】
上記（１５）式より、モデル誤差共分散行列Ｐ（ｋ＋１）を最小とするには、カルマンゲインＫ（ｋ）を下記（１６）のように定めれば良いことが解る。
【数１６】
2009228472.tif 000018
【００７５】
カルマンゲインＫ（ｋ）を（１６）式のように定めた場合、モデル誤差共分散行列Ｐ（ｋ＋１）は、下記（１７）式により表される。
【数１７】
2009228472.tif 000019
【００７６】
いま、ｗ（ｋ）の共分散Ｑ及びｎ（ｋ）の共分散Ｒが定められれば、上記（１７）式からＰ（ｋ）を求めることができる。但し、Ｐ（ｋ）を求める際、（１７）式の左辺の（ｋ＋１）を（ｋ）に置換し、右辺の（ｋ）を（ｋ−１）に置換する。この結果、上記（１６）式からカルマンゲインＫ（ｋ）を求めることができる。そこで、以下において共分散Ｑ及び共分散Ｒについて述べる。
【００７７】
ｗ（ｋ）の共分散Ｑは、カルマンフィルタ理論を応用した上述の点火時期モデルの更新（学習）において、言わばフィードバック制御のゲインに相当する役割を担う。即ち、カルマンフィルタ理論を応用した上述の点火時期モデルの更新において、共分散Ｑを大きくすると点火時期モデルの一回の更新における変化量は大きくなり、共分散Ｑを小さくすると点火時期モデルの一回の更新における変化量は小さくなる。
【００７８】
このｗ（ｋ）の共分散Ｑは、上記（８）式から理解されるように、点火時期モデルの真値θのバラツキ度合いと相関関係を有する値である。カルマンフィルタ理論を応用した上述の点火時期モデルの更新の際、共分散Ｑを比較的小さい値に設定することは、点火時期モデルの真値θのバラツキ度合い（変動の程度）が比較的小さいと想定することに相当する。従って、共分散Ｑが比較的小さい値に設定された場合、点火時期モデルθ＾は変動が小さいと想定された点火時期モデルの真値θに追従する。その結果、点火時期モデルθ＾の一回の更新量は小さくなるが、点火時期モデルθ＾は複数回の学習を経て点火時期モデルの真値θに速やかに近づき且つ収束するように修正される。
【００７９】
これに対し、カルマンフィルタ理論を応用した上述の点火時期モデルの更新の際、共分散Ｑを比較的大きい値に設定することは、点火時期モデルの真値θのバラツキ度合い（変動の程度）が比較的大きいと想定することに相当する。従って、共分散Ｑが比較的大きい値に設定された場合、点火時期モデルθ＾は変動が大きいと想定された点火時期モデルの真値θに追従する。その結果、点火時期モデルθ＾の一回の更新量は大きくなるが、点火時期モデルθ＾は振動（変動）し易くなる。従って、点火時期モデルθ＾が収束するまでの時間は長くなる。
【００８０】
このように、共分散Ｑを変更することにより点火時期モデルθ＾の修正速度（変化速度）を変更することができる。そこで、後述するように、本制御装置は共分散Ｑをノッキングの有無（又は、ノッキングの程度）に応じて変更することにより、急加速時等のノッキングが発生している期間において点火時期モデルθ＾を言わば強制的に（点火時期モデルθ＾の学習による収束性は多少悪化しても一時的にノッキングを回避できるように）且つ迅速に変化させ、それにより点火時期ＳＡ（ｋ）を過大なノッキングが発生しない適切な点火時期に近づける。
【００８１】
ｎ（ｋ）の共分散Ｒは、上記（１０）式から理解されるように、仮想フィードバック点火時期Ｓ（ｋ）のバラツキを表す。本制御装置は、図３に示した第１共分散計算部Ａ６により、共分散Ｒを機関１０のサイクル毎に逐次計算する。なお、共分散Ｒは予め定められた一定値に設定されてもよい。
【００８２】
第１共分散計算部Ａ６は過去Ｎサイクル分の「仮想フィードバック点火時期Ｓ（ｋ）」の共分散Ｒを機関１０のサイクル毎に逐次算出し、その値（共分散Ｒ）を点火時期モデル学習部Ａ５に出力するようになっている。値Ｎは仮想フィードバック点火時期Ｓ（ｋ）の共分散Ｒを十分な精度にて算出することができるようなサイクル数となるように予め設定されている。以下、第１共分散計算部Ａ６の作動についてより具体的に説明する。
【００８３】
一般に、変数ｘｉの過去Ｎ個分についての共分散Ｖｋは、下記の（１８）式により算出することができる。
【数１８】
2009228472.tif 000020
【００８４】
従って、第１共分散計算部Ａ６は、上記（１８）式の変数ｘｉに「仮想フィードバック点火時期Ｓ（ｉ）」を代入し、得られた共分散Ｖｋを上記共分散Ｒとして使用する。
【００８５】
ノッキング判定部Ａ７は特定気筒に対して設けられているノックセンサ６６から振動Ｋｃを入力し、その振動Ｋｃの振幅が所定の閾値（ノック判定閾値）を超えたか否かを判定するようになっている。そして、ノッキング判定部Ａ７は、その振動Ｋｃの振幅が所定の閾値を超えたと判定した場合、特定気筒においてノッキングが発生している旨を表す信号を出力するようになっている。一方、ノッキング判定部Ａ７は、その振動Ｋｃの振幅が所定の閾値を超えないと判定した場合、特定気筒においてノッキングが発生していない旨を表す信号を出力するようになっている。
【００８６】
第２共分散計算部Ａ８は、ノッキング判定部Ａ７から「特定気筒においてノッキングが発生しているか否か」を示す信号と、スロットル弁開度ＴＡ（ｋ）を表す信号と、を入力するようになっている。そして、第２共分散計算部Ａ８は、図４に示したフローチャートに従って、上述した共分散Ｑを算出し、算出した共分散Ｑを点火時期モデル学習部Ａ５に出力するようになっている。
【００８７】
ここで、第２共分散計算部Ａ８の具体的作動について、図４を参照しながら説明する。第２共分散計算部Ａ８（実際には、電気制御装置７０のＣＰＵ７１）は、サイクル毎（７２０°クランク角が経過する毎）にステップ４００から処理を開始し、ステップ４０５に進んで現時点のスロットル弁開度ＴＡの単位時間あたりの変化量ΔＴＡが閾値（過渡判定閾値、加速判定閾値）ΔＴＡｔｈより大きいか否かを判定する。この変化量ΔＴＡは図示しないルーチンにより現時点のスロットル弁開度ＴＡから単位時間前のスロットル弁開度ＴＡoldを減じることにより求められている（ΔＴＡ＝ＴＡ−ＴＡold）。
【００８８】
このとき、変化量ΔＴＡが閾値ΔＴＡｔｈ以下であると、第２共分散計算部Ａ８はステップ４０５にて「Ｎｏ」と判定してステップ４１０に進み、共分散Ｑに定常時共分散Ｑｔｊを格納する。この定常時共分散Ｑｔｊは、定常時において点火時期モデルθ＾が安定的に修正（学習）される値に予め設定されている。この結果、変化量ΔＴＡが閾値ΔＴＡｔｈ以下である定常運転時において、点火時期モデルθ＾は穏やかに更新されて行く。その後、第２共分散計算部Ａ８はステップ４９５に進み、本ルーチンを一旦終了する。
【００８９】
一方、加速運転が行われることにより変化量ΔＴＡが閾値ΔＴＡｔｈより大きくなると、第２共分散計算部Ａ８はステップ４０５にて「Ｙｅｓ」と判定してステップ４１５に進み、所定時間前におけるスロットル弁開度の変化量ΔＴＡoldが閾値ΔＴＡｔｈ以下であるか否かを判定する。変化量ΔＴＡoldは、前述した単位時間あたりのスロットル弁開度の変化量ΔＴＡを算出するルーチンにおいてＲＡＭ７３内に格納されている。このステップ４１５の判定が「Ｙｅｓ」であることは、機関１０の運転状態が定常運転状態から過渡（加速）運転状態へと移行した直後であることを意味する。
【００９０】
いま、所定時間前におけるスロットル弁開度の変化量ΔＴＡoldが閾値ΔＴＡｔｈ以下であるとすると、第２共分散計算部Ａ８はステップ４１５にて「Ｙｅｓ」と判定してステップ４２０に進み、共分散Ｑに過渡時（加速時）共分散の初期値Ｑｋｔを格納する。この過渡時共分散Ｑｋｔは定常時共分散Ｑｔｊよりも大きい値に予め設定されている。この結果、過渡運転状態になると、点火時期モデルθ＾は定常運転時よりも素早く更新されて行く。
【００９１】
次に、第２共分散計算部Ａ８はステップ４２５に進み、ノッキング判定部Ａ７からの「特定気筒においてノッキングが発生しているか否か」を示す信号に基づいて、特定気筒にノッキングが発生しているか否かを判定する。
【００９２】
このとき、特定気筒にノッキングが発生していると、第２共分散計算部Ａ８はステップ４２５にて「Ｙｅｓ」と判定してステップ４３０に進み、現時点の共分散Ｑに正の所定値αを加えた値を新たな共分散Ｑとして設定する。即ち、第２共分散計算部Ａ８は、共分散Ｑを増大させる。次いで、第２共分散計算部Ａ８はステップ４３５に進み、ステップ４３０にて更新した共分散Ｑが所定の上限値γ以上とならないように共分散Ｑを上限値γにて制限する。その後、第２共分散計算部Ａ８はステップ４９５に進んで本ルーチンを一旦終了する。上限値γは過渡時（加速時）共分散の初期値Ｑｋｔより大きい値に設定されている。
【００９３】
このように、特定気筒にノッキングが発生していると共分散Ｑは増大させられる。従って、点火時期モデルθ＾は比較的速く変更される（即ち、点火時期モデルθ＾の感度が高くなる。）。
【００９４】
一方、第２共分散計算部Ａ８がステップ４２５に進んだとき、特定気筒にノッキングが発生していないと、第２共分散計算部Ａ８はステップ４２５にて「Ｎｏ」と判定してステップ４４５に進み、現時点の共分散Ｑから正の所定値βを減じた値を新たな共分散Ｑとして設定する。即ち、第２共分散計算部Ａ８は、共分散Ｑを減少させる。次いで、第２共分散計算部Ａ８はステップ４５０に進み、ステップ４４５にて更新した共分散Ｑが下限値ε以下とならないように共分散Ｑを下限値εにて制限する。下限値εは０以上の値である。その後、第２共分散計算部Ａ８はステップ４９５に進んで本ルーチンを一旦終了する。
【００９５】
このように、特定気筒にノッキングが発生していないとき共分散Ｑは減少されられる。従って、点火時期モデルθ＾は比較的穏やかに変更される（即ち、点火時期モデルθ＾の感度が鈍くなる。）。
【００９６】
＜点火時期モデルの学習・更新＞
次に、上述した点火時期モデル学習部Ａ５が点火時期モデルθ＾を学習・更新する際に行う実際の作動について図５にフローチャートにより示したルーチンを参照しながら説明する。
【００９７】
点火時期モデル学習部Ａ５（実際にはＣＰＵ７１）は、機関１０のサイクル毎（即ち、７２０°クランク角が経過する毎であって、例えば、クランク角が特定気筒のＢＴＤＣ１８０°に一致する毎）に、ステップ５００から処理を開始し、以下に述べるステップ５１０乃至ステップ５４０の処理を順に行い、ステップ５９５に進んで本ルーチンを一旦終了する。
【００９８】
ステップ５１０：点火時期モデル学習部Ａ５は、負荷ＫＬ（ｋ−１）及び機関回転速度ＮＥ（ｋ−１）に基づいて関数ベクトルφ（ｋ−１）を算出する。関数ベクトルφ（ｋ−１）の各要素は、上記（３）式に例示したとおりである。負荷ＫＬ（ｋ−１）及び機関回転速度ＮＥ（ｋ−１）は、それぞれ前回のサイクルの点火時期ＳＡ（ｋ−１）を求める最際に使用された負荷ＫＬ及び機関回転速度ＮＥである。
【００９９】
ステップ５２０：点火時期モデル学習部Ａ５は、上記（１７）式に従ってモデル誤差共分散行列Ｐ（ｋ−１）を更新することによりモデル誤差共分散行列Ｐ（ｋ）を算出する。このとき、点火時期モデル学習部Ａ５は、（１７）式の左辺の（ｋ＋１）を（ｋ）に、（１７）式の右辺の（ｋ）を（ｋ−１）に置換した式を用いる。関数ベクトルφ（ｋ−１）には上記ステップ５１０にて算出されたベクトルが代入される。共分散Ｒには上述した第１共分散計算部Ａ６が算出した値が代入される。共分散Ｑには前述した第２共分散計算部Ａ８が算出した値が代入される。
【０１００】
更に、（１７）式のベクトルＤには、下記（１９）式により定められるベクトルが代入される。
【数１９】
2009228472.tif 000021
【０１０１】
上記（１９）式中、maxθ＾（ｋ）は、点火時期モデルとしてのベクトルθ＾の各要素のうちの最大値（スカラー）を表す。例えば、θ＾が上記（３）式に例示するようなθ0,θ1,θ2,θ3の４つの要素からなる４次元ベクトルである場合、θ0,θ1,θ2及びθ3のうちの最大値がmaxθ＾（ｋ）に相当する。
【０１０２】
ステップ５３０：点火時期モデル学習部Ａ５は、カルマンゲインＫ（ｋ）を算出する。より具体的には、点火時期モデル学習部Ａ５は、上記（１６）式のφ（ｋ）に上記ステップ５１０にて求めたφ（ｋ−１）を代入し、共分散Ｒに第１共分散計算部Ａ６が算出した共分散Ｒを代入し、モデル誤差共分散行列Ｐ（ｋ）に上記ステップ５２０にて求めたモデル誤差共分散行列Ｐ（ｋ）を代入する。
【０１０３】
ステップ５４０：点火時期モデル学習部Ａ５は、上記（７）式に示された更新則に従って現時点の点火時期モデルθ＾（ｋ）を更新することにより次回の点火時期モデルθ＾（ｋ＋１）を求める。この（７）式の補正量ΔＳＡ（ｋ）には補正量算出部Ａ４が算出している値が代入され、カルマンゲインＫ（ｋ）には上記ステップ５３０にて求められたカルマンゲインＫ（ｋ）が代入される。
【０１０４】
以上、説明したように、本発明の実施形態に係る点火時期制御装置は、カルマンフィルタ理論を応用して点火時期モデルを学習・更新する。この際、共分散Ｑを「ノッキングの有無」に応じて変更する。
【０１０５】
図６は、上記本発明による効果を確認するためのグラフである。このグラフは、共分散Ｑが種々の値に設定された場合における、過渡運転状態（加速時）中の点火時期ＳＡの変化の様子を示している。図６から理解されるように、点火時期は、共分散Ｑを大きくするほど、初期値（点火時期モデルθ＾が学習される前の点火時期）から理想値（点火時期モデルθ＾が完全に学習させた後の点火時期）へと近づくことが理解される。
【０１０６】
この結果、本実施形態は、ノッキングやトルク変動の発生を回避するように点火時期モデルθ＾（従って、点火時期ＳＡ）を変更することができる。
【０１０７】
以上、説明したように、本発明の実施形態に係る点火時期制御装置は、
前記機関の運転状態量を実運転状態量φとして取得する運転状態量取得手段（運転状態量取得部Ａ１）と、
前記機関の運転状態量を変数として前記機関の点火時期を算出する関数により表された点火時期モデルθ＾に前記運転状態量取得手段により取得された実運転状態量φを適用することによりフィードフォワード点火時期ＳＡ（ｋ）を決定するフィードフォワード制御手段（フィードフォワード制御器Ａ２）と、
前記機関の燃焼室内で発生した燃焼の状態を表す燃焼状態指標値を取得する指標値取得手段（実燃焼割合計算部Ａ３）と、
前記指標値取得手段により取得された燃焼状態指標値（実燃焼割合ＭＦＢ８（ｋ−１））と所定の目標燃焼状態を示す目標燃焼状態指標値（ＭＦＢ８ｔｇｔ）との差ΔＭＦＢ（＝ｄ（ｋ））に基いて同燃焼状態指標値を同目標燃焼状態指標値に近づけるための前記フィードフォワード点火時期ＳＡ（ｋ）の補正量ΔＳＡ（ｋ）を取得する補正量取得手段（補正量算出部Ａ４）と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が、前記燃焼状態指標値を前記目標燃焼状態指標値に一致させる点火時期である理想点火時期に近づくように、前記点火時期モデルθ＾を前記補正量ΔＳＡ（ｋ）とカルマンフィルタ理論に基く更新則とによって修正する点火時期モデル学習手段（点火時期モデル学習部Ａ５）と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）に応じた点火時期にて前記機関に供給される混合気を点火する点火実行手段（ＣＰＵ７１、点火プラグ３７及びイグナイタ３８）と、
前記機関にノッキングが発生しているか否かを判定するノッキング判定手段（ノッキング判定部Ａ７）と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が前記理想点火時期と一致する最適な点火時期モデルである点火時期モデルの真値θが一つの燃焼サイクルが経過する毎に所定変化分だけ変動すると仮定した場合の同所定変化分の共分散に対応する値Ｑであって前記カルマンフィルタ理論に基づく更新則において前記点火時期モデルθ＾の修正速度を変化させ得る値Ｑを、前記ノッキングが発生していると判定されている期間において増大させる共分散設定手段（第２共分散計算部Ａ８）と、
を備える。
【０１０８】
これによれば、カルマンフィルタ理論に基く更新則により点火時期モデルθ＾を修正する際の速度（学習速度）を決定する因子である「共分散Ｑ」が、ノッキングが発生している場合に増大させられる。即ち、この制御装置は、ノッキングが発生している場合には、ノッキングが発生していない場合より、前記補正量ΔＳＡ（ｋ）がより短時間のうちに「０」に近づくように、点火時期モデルθ＾を修正（学習）する。その結果、ノッキングを回避するように点火時期を設定することができる。
【０１０９】
また、この点火時期制御装置は、
前記機関の運転状態が過渡運転状態にあるか否かを判定する過渡運転状態判定手段（図４のステップ４０５を参照。）と、
前記フィードフォワード制御手段により決定されるフィードフォワード点火時期ＳＡ（ｋ）が前記理想点火時期と一致する最適な点火時期モデルである点火時期モデルの真値θが一つの燃焼サイクルが経過する毎に所定変化分だけ変動すると仮定した場合の同所定変化分の共分散に対応する値Ｑであって前記カルマンフィルタ理論に基づく更新則において前記点火時期モデルθ＾の修正速度を変化させ得る値Ｑを、前記機関の運転状態が過渡運転状態にあると判定されている場合と過渡運転状態にないと判定されている場合とで異なる値に設定する共分散設定手段（図４のステップ４１０、ステップ４３０及びステップ４４５を参照。）と、
を備えると表現することもできる。
【０１１０】
従って、カルマンフィルタ理論に基く更新則により点火時期モデルθ＾を修正する際の速度（学習速度）を決定する因子である「共分散Ｑ」が、過渡運転状態にある場合と定常運転状態（過渡運転状態以外の運転状態）にある場合とで異なる値に設定される（例えば、過渡運転状態にある場合には共分散Ｑがノッキングが発生しないように変更される）。その結果、この点火時期制御装置は、過渡運転状態において前記補正量ΔＳＡ（ｋ）がより短時間のうちに「０」に近づくように点火時期モデルθ＾を修正（学習）することができ、定常運転状態において点火時期モデルθ＾が振動的に修正（学習）されてしまうことを回避することができる。従って、各運転状態に応じて、点火時期モデルθ＾を適切に修正することができる。
【０１１１】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。上記実施形態は、燃焼状態指標値である燃焼割合ＭＦＢを筒内圧に基いて取得していたが、燃焼割合ＭＦＢをWiebe関数と呼ばれる燃焼モデル（例えば、特開２００６−９７２０号公報を参照。）により求めるように構成することもできる。このWiebe関数は、Ａ°燃焼割合ＭＦＢＡを、
Ａ°ＭＦＢＡ＝１−exp{−ｅ・((Ａ＋αｉ)／αｂ)ｆ}
により近似する関数である。ここで、パラメータｅ及びパラメータｆは一定値であり、パラメータαｉは点火時期に基いて変化し、パラメータαｂは吸気弁と排気弁とが同時に開弁するオーバーラップ期間（ＶＶＴ（ｋ））に基いて変化するように構成されているとよい。更に、燃焼状態指標値は、所定のクランク角度における筒内圧、及び／又は、筒内圧の変化速度等であってもよい。
【０１１２】
また、上記実施形態において、ノックセンサ６６を廃止し、筒内圧センサ６５の出力（筒内圧Ｐｃ）の波形に基づいてノッキングが発生しているか否かを判定するように構成することもできる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施形態に係る点火時期制御装置を適用した内燃機関の概略図である。
【図２】点火時期と８°燃焼割合と機関の発生トルクとの関係を示したグラフである。
【図３】図１に示した点火時期制御装置の機能ブロック図である。
【図４】図１に示したＣＰＵが実行するルーチンを示したフローチャートである。
【図５】図１に示したＣＰＵが実行するルーチンを示したフローチャートである。
【図６】図１に示した点火時期制御装置の効果を説明するためのタイムチャートである。
【符号の説明】
【０１１４】
１０…内燃機関、２０…シリンダブロック部、２５…燃焼室、３７…点火プラグ、３８…イグナイタ、３９…インジェクタ、６５…筒内圧センサ、６６…ノックセンサ、７０…電気制御装置、７１…ＣＰＵ、Ａ１…運転状態量取得部、Ａ２…フィードフォワード制御器、Ａ３…実燃焼割合計算部、Ａ４…補正量算出部、Ａ５…点火時期モデル学習部、Ａ６…第１共分散計算部、Ａ７…ノッキング判定部、Ａ８…第２共分散計算部。
【図１】
2009228472.tif 000022
【図２】
2009228472.tif 000023
【図３】
2009228472.tif 000024
【図４】
2009228472.tif 000025
【図５】
2009228472.tif 000026
【図６】
2009228472.tif 000027