(57)【特許請求の範囲】
【請求項１】
内燃機関の気筒内に燃料を直接噴射する筒内噴射弁と、
前記内燃機関の吸気ポートに燃料を噴射するポート噴射弁と、
燃料を加圧する低圧ポンプと、
前記低圧ポンプにより加圧された燃料を複数の前記ポート噴射弁に供給する低圧燃料通路と、
前記内燃機関に連動して駆動され、前記低圧燃料通路から供給された燃料を更に加圧し、前記低圧燃料通路内に燃圧の脈動を発生させる高圧ポンプと、
前記低圧燃料通路から分岐し、前記高圧ポンプにより加圧された燃料を複数の前記筒内噴射弁に供給する高圧燃料通路と、
前記内燃機関のクランク角を検出するクランク角センサと、
前記低圧燃料通路内の燃圧を検出する燃圧センサと、
前記燃圧センサの検出値を一定のサンプリング時間間隔で取得する取得部と、
少なくとも、前記取得部により前回及び今回取得された前記検出値である前回値及び今回値に基づいて、前記脈動の中心燃圧値Ｐｃ［ｋＰａ］を算出する中心燃圧算出部と、
少なくとも、前記前回値及び前記今回値に基づいて、前記脈動の振幅Ａ［ｋＰａ］を算出する振幅算出部と、
前記前回値及び前記今回値の少なくとも一方に基づいて、前記脈動の初期位相Ｂ［ｄｅｇ］を算出する位相算出部と、
前記クランク角３６０度当たりの前記高圧ポンプによる燃料の吐出回数ｃが記憶されている記憶部と、
算出された前記中心燃圧値Ｐｃ、前記振幅Ａ、前記初期位相Ｂ、及び前記吐出回数ｃと、以下の式（１）とに基づいて、クランク角θ［ｄｅｇ］に対応した燃圧値Ｐ（θ）［ｋＰａ］を予測する予測部と、を備えた内燃機関の制御装置。
【数１】
0006281581.tif 000017
【請求項２】
前記振幅算出部は、前記前回値及び前記今回値と、前記サンプリング時間間隔に対応するクランク角とに基づいて、前記振幅Ａを算出する、請求項１の内燃機関の制御装置。
【請求項３】
前記位相算出部は、前記前回値及び前記今回値の前記一方と、前記前回値及び前記今回値の前記一方が取得された時点でのクランク角と、前記吐出回数ｃと、算出された前記振幅Ａと、算出された前記中心燃圧値Ｐｃとに基づいて、前記初期位相Ｂを算出する、請求項２の内燃機関の制御装置。
【請求項４】
前記中心燃圧算出部は、前記取得部により前々回取得された前記検出値である前々回値、前記前回値、及び前記今回値と、前記サンプリング時間間隔に対応するクランク角とに基づいて、前記中心燃圧値Ｐｃを算出する、請求項１乃至３の何れかの内燃機関の制御装置。
【請求項５】
前記中心燃圧算出部は、前記前回値及び前記今回値に基づいたなまし処理により得られたなまし値を前記中心燃圧値Ｐｃとして算出する、請求項１乃至３の何れかの内燃機関の制御装置。
【請求項６】
前記中心燃圧算出部は、前記低圧燃料通路内の燃圧の目標値と算出された前記中心燃圧値Ｐｃとの差が大きい場合には、小さい場合と比較して、なまし係数を小さく設定する、請求項５の内燃機関の制御装置。
【請求項７】
前記中心燃圧算出部は、前記前回値及び前記今回値を含む複数の前記検出値の平均値を前記中心燃圧値Ｐｃとして算出し、前記内燃機関の回転数が大きい場合には小さい場合と比較して、少ない数での前記検出値の平均値を前記中心燃圧値Ｐｃとして算出する、請求項１乃至３の何れかの内燃機関の制御装置。
【請求項８】
前記予測部は、前記式（１）の代わりに、前記燃圧センサが前記検出値に応じた出力信号を出力してから前記取得部が前記検出値を取得するまでの位相遅れτ［ｄｅｇ］を考慮した以下の式（２）に基づいて、前記燃圧値Ｐ（θ）を予測する、請求項１乃至７の何れかの内燃機関の制御装置。
【数２】
0006281581.tif 000018
【請求項９】
前記クランク角センサの出力に基づいて算出される前記内燃機関の回転数が、前記内燃機関の他の回転数域よりも前記脈動が増大する脈動増大域内に属するか否かを判定する脈動判定部を備え、
前記予測部は、前記内燃機関の回転数が前記脈動増大域内に属すると判定された場合に、前記燃圧値Ｐ（θ）を予測する、請求項１乃至８の何れかの内燃機関の制御装置。
【請求項１０】
予測された前記燃圧値Ｐ（θ）に基づいて前記ポート噴射弁の燃料噴射量を制御する噴射制御部と、
前記ポート噴射弁の燃料噴射の開始タイミングが、前記今回値の取得後であって次回の前記検出値の取得前にあるか否かを判定する噴射開始判定部と、を備え、
前記予測部は、前記ポート噴射弁の燃料噴射の開始タイミングが、前記今回値の取得後であって次回の前記検出値の取得前にある場合に、前記燃圧値Ｐ（θ）を予測する、請求項１乃至９の何れかの内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
筒内噴射弁とポート噴射弁とを備えた内燃機関が知られている。このような内燃機関では、低圧ポンプにより吸い上げられた燃料が低圧燃料通路を介してポート噴射弁に供給され、高圧ポンプにより更に加圧された燃料が高圧燃料通路を介して筒内噴射弁に供給される。このような構成においては、低圧燃料通路内での燃圧を検出する燃圧センサが設けられている場合がある。このような燃圧センサの検出値は、種々の制御対象、例えばポート噴射弁からの燃料噴射量の制御に用いられる場合がある。
【０００３】
上記の構成においては、主に高圧ポンプの駆動に起因して、低圧燃料通路内で燃圧が脈動する場合がある。脈動の発生中に燃圧センサの検出値に基づいてポート噴射弁の燃料噴射量を制御すると、燃料噴射量を適切に制御できない可能性がある。この理由は以下による。燃圧センサの検出値が取得されてから、この検出値に基づいてポート噴射が開始されるまでに、所定の期間を要する。このため脈動が発生していると、検出値が取得されてからポート噴射が開始されるまでの間に燃圧が大きく変動して、取得された検出値とポート噴射中での実際の燃圧値とが大きく異なっている場合があるからである。
【０００４】
これに対して例えば特許文献１では、脈動の発生中において、実際の燃圧値を用いるのではなく、内燃機関の回転数毎にポート噴射量の補正値が予め規定されたマップに基づいて、ポート噴射弁の燃料噴射量を制御する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２３７２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら実際の燃圧値は、内燃機関の回転数以外の要因である、内燃機関の負荷や温度、又は使用燃料の特性等によっても影響を受けると考えられる。このため、上記のようなマップに基づいて制御対象である燃料噴射量を制御しても、燃料噴射量を適切に制御できない可能性がある。また、内燃機関の回転数を含むそれ以外の複数の要因にそれぞれ対応付けされたマップを作成することは困難である。
【０００７】
従って脈動発生中であっても、実際の燃圧値を反映している燃圧センサの検出値に基づいて制御対象を制御することが望ましいが、上述したように燃圧センサの検出値と制御対象が制御されている最中での燃圧値とは大きく異なる場合があるため、制御対象を適切に制御できない可能性がある。
【０００８】
そこで本発明は、実際の燃圧値が反映された燃圧センサの検出値に基づいて燃圧値を精度よく予測できる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的は、内燃機関の気筒内に燃料を直接噴射する筒内噴射弁と、前記内燃機関の吸気ポートに燃料を噴射するポート噴射弁と、燃料を加圧する低圧ポンプと、前記低圧ポンプにより加圧された燃料を複数の前記ポート噴射弁に供給する低圧燃料通路と、前記内燃機関に連動して駆動され、前記低圧燃料通路から供給された燃料を更に加圧し、前記低圧燃料通路内に燃圧の脈動を発生させる高圧ポンプと、前記低圧燃料通路から分岐し、前記高圧ポンプにより加圧された燃料を複数の前記筒内噴射弁に供給する高圧燃料通路と、前記内燃機関のクランク角を検出するクランク角センサと、前記低圧燃料通路内の燃圧を検出する燃圧センサと、前記燃圧センサの検出値を一定のサンプリング時間間隔で取得する取得部と、少なくとも、前記取得部により前回及び今回取得された前記検出値である前回値及び今回値に基づいて、前記脈動の中心燃圧値Ｐｃ［ｋＰａ］を算出する中心燃圧算出部と、少なくとも、前記前回値、及び前記今回値に基づいて、前記脈動の振幅Ａ［ｋＰａ］を算出する振幅算出部と、前記前回値及び前記今回値の少なくとも一方に基づいて、前記脈動の初期位相Ｂ［ｄｅｇ］を算出する位相算出部と、前記クランク角３６０度当たりの前記高圧ポンプによる燃料の吐出回数ｃが記憶されている記憶部と、算出された前記中心燃圧値Ｐｃ、前記振幅Ａ、前記初期位相Ｂ、及び前記吐出回数ｃと、以下の式（１）とに基づいて、クランク角θ［ｄｅｇ］に対応した燃圧値Ｐ（θ）［ｋＰａ］を予測する予測部と、を備えた内燃機関の制御装置によって達成できる。
【数１】
0006281581.tif 000002
【００１０】
上記式（１）の各項の値は、実際の燃圧値が反映された燃圧センサの検出値に基づいて算出されるため、上記式（１）の各項を精度よく算出でき、上記式（１）に基づいて燃圧値を精度よく予測できる。
【００１１】
前記振幅算出部は、前記前回値及び前記今回値と、前記サンプリング時間間隔に対応するクランク角とに基づいて、前記振幅Ａを算出してもよい。
【００１２】
前記位相算出部は、前記前回値及び前記今回値の前記一方と、前記前回値及び前記今回値の前記一方が取得された時点でのクランク角と、前記吐出回数ｃと、算出された前記振幅Ａと、算出された前記中心燃圧値Ｐｃとに基づいて、前記初期位相Ｂを算出してもよい。
【００１３】
前記中心燃圧算出部は、前記取得部により前々回取得された前記検出値である前々回値、前記前回値、及び前記今回値と、前記サンプリング時間間隔に対応するクランク角とに基づいて、前記中心燃圧値Ｐｃを算出してもよい。
【００１４】
前記中心燃圧算出部は、前記前回値及び前記今回値に基づいたなまし処理により得られたなまし値を前記中心燃圧値Ｐｃとして算出してもよい。
【００１５】
前記中心燃圧算出部は、前記低圧燃料通路内の燃圧の目標値と算出された前記中心燃圧値Ｐｃとの差が大きい場合には、小さい場合と比較して、なまし係数を小さく設定してもよい。
【００１６】
前記中心燃圧算出部は、前記前回値及び前記今回値を含む複数の前記検出値の平均値を前記中心燃圧値Ｐｃとして算出し、前記内燃機関の回転数が大きい場合には小さい場合と比較して、少ない数での前記検出値の平均値を前記中心燃圧値Ｐｃとして算出してもよい。
【００１７】
前記予測部は、前記式（１）の代わりに、前記燃圧センサが前記検出値に応じた出力信号を出力してから前記取得部が前記検出値を取得するまでの位相遅れτ［ｄｅｇ］を考慮した以下の式（２）に基づいて、前記燃圧値Ｐ（θ）を予測してもよい。
【数２】
0006281581.tif 000003
【００１８】
前記クランク角センサの出力に基づいて算出される前記内燃機関の回転数が、前記内燃機関の他の回転数域よりも前記脈動が増大する脈動増大域内に属するか否かを判定する脈動判定部を備え、前記予測部は、前記内燃機関の回転数が前記脈動増大域内に属すると判定された場合に、前記燃圧値Ｐ（θ）を予測してもよい。
【００１９】
予測された前記燃圧値Ｐ（θ）に基づいて前記ポート噴射弁の燃料噴射量を制御する噴射制御部と、前記ポート噴射弁の燃料噴射の開始タイミングが、前記今回値の取得後であって次回の前記検出値の取得前にあるか否かを判定する噴射開始判定部と、を備え、前記予測部は、前記ポート噴射弁の燃料噴射の開始タイミングが、前記今回値の取得後であって次回の前記検出値の取得前にある場合に、前記燃圧値Ｐ（θ）を予測してもよい。
【発明の効果】
【００２０】
本発明によれば、実際の燃圧値が反映された燃圧センサの検出値に基づいて燃圧値を予測できる内燃機関の制御装置を提供できる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本実施例のエンジンシステムの概略構成図である。
【図２】図２は、燃圧の波形図である。
【図３】図３は、燃圧脈動の波形とポート噴射弁による噴射期間の一例を示したグラフである。
【図４】図４（Ａ）は、ＥＣＵが取得した複数の検出値を示したグラフであり、図４（Ｂ）は、モデル化された燃圧脈動を示したグラフである。
【図５】図５は、ポート噴射制御の一例を示すフローチャートである。
【図６】図６は、中心燃圧算出処理の第１例を示すフローチャートである。
【図７】図７は、中心燃圧算出処理の第２例を示すフローチャートである。
【図８】図８は、取得された検出値となまし値とを示したグラフである。
【図９】図９は、中心燃圧算出処理の第３例を示すフローチャートである。
【図１０】図１０（Ａ）は、中心燃圧値の算出に用いられる検出値のサンプル数とエンジン回転数との関係を示したグラフであり、図１０（Ｂ）及び図１０（Ｃ）は、燃圧脈動とサンプル数とを示したグラフである。
【図１１】図１１は、位相算出処理の一例を示したフローチャートである。
【図１２】図１２は、実際の燃圧に対してモデル燃圧が遅れる場合を示したグラフである。
【発明を実施するための形態】
【００２２】
以下、本発明の好ましい実施例について、図面を参照しつつ説明する。
【００２３】
図１は、本実施例のエンジンシステム１（以下、システムと称する）の概略構成図である。システム１は、エンジン１０と、エンジン１０を制御するＥＣＵ（Electronic Control Unit）４１とを含む。エンジン１０は、直列に配置された気筒１１１〜１１４を含む気筒群１１、筒内噴射弁群３７、及びポート噴射弁群２７を備えた火花点火式の直列４気筒エンジンである。エンジン１０は、内燃機関の一例であり、エンジンシステム１は、内燃機関の制御装置の一例である。
【００２４】
筒内噴射弁群３７は、気筒１１１〜１１４内にそれぞれ燃料を噴射する筒内噴射弁３７１〜３７４を含む。ポート噴射弁群２７は、気筒１１１〜１１４に連通した吸気ポート１３内にそれぞれ燃料を噴射するポート噴射弁２７１〜２７４を含む。筒内噴射弁群３７及びポート噴射弁群２７のそれぞれは、所定の通電期間で電磁コイルを通電して弁座から弁体を離隔させることにより燃料噴射量が調整される電磁駆動式の開閉弁である。
【００２５】
エンジン１０には、気筒群１１のそれぞれ対応する複数の吸気ポート１３を有する吸気通路１２と、不図示の複数の排気ポートを有する排気通路とが形成されている。気筒群１１のそれぞれでは、不図示のピストンが収納されて燃焼室が画定される。燃焼室は、吸気弁及び排気弁により開閉される。更にエンジン１０には、図示しない点火プラグを備えている。また、エンジン１０は、複数のピストンに連動したクランク軸１４と、クランク軸１４に連動し吸気弁又は排気弁を駆動するカム軸１５とを備えている。また、クランク軸１４の回転角を検出するクランク角センサ１４ａが設けられている。クランク角センサ１４ａによるクランク角検知の分解能は、例えば１度程度の高分解能であることが好ましいが、これに限定されない。
【００２６】
また、システム１は、燃料タンク２１、低圧ポンプ２２、プレッシャレギュレータ２３、低圧燃料配管２５、低圧デリバリパイプ２６、ポート噴射弁２７１〜２７４、及び燃圧センサ２８を含む。
【００２７】
燃料タンク２１には、燃料であるガソリンが貯留されている。低圧ポンプ２２は、燃料を加圧して低圧燃料配管２５内に吐出する。プレッシャレギュレータ２３は、低圧燃料配管２５内に吐出される燃料を予め設定された低圧側の供給圧に調圧する。
【００２８】
低圧燃料配管２５及び低圧デリバリパイプ２６は、低圧ポンプ２２から吐出された燃料をポート噴射弁群２７に供給する低圧燃料通路の一例である。低圧ポンプ２２により所定の圧力レベルまで加圧されプレッシャレギュレータ２３により低圧側の供給圧に調圧された燃料は、低圧燃料配管２５を介して低圧デリバリパイプ２６に導入される。
【００２９】
ポート噴射弁群２７は、低圧デリバリパイプ２６に接続されており、気筒群１１にそれぞれ対応した吸気ポート１３内に燃料を噴射する。燃圧センサ２８は、詳しくは後述するが、低圧デリバリパイプ２６内の燃圧値を検出する。燃圧センサ２８の検出値は、一定のサンプリング時間間隔でＥＣＵ４１に取得される。
【００３０】
またシステム１は、高圧ポンプ３１、高圧燃料配管３５、高圧デリバリパイプ３６、筒内噴射弁３７１〜３７４、及び燃圧センサ３８を含む。
【００３１】
高圧ポンプ３１は、低圧燃料配管２５から分岐した分岐配管２５ａから燃料を吸入して、低圧ポンプ２２からの供給圧レベルより高圧の高圧レベルに加圧する。分岐配管２５ａには、分岐配管２５ａ内の燃圧脈動を抑制するパルセーションダンパ２９が設けられている。
【００３２】
高圧ポンプ３１は、具体的には、ポンプハウジング３１ｈと、ポンプハウジング３１ｈ内を摺動可能なプランジャ３１ｐと、ポンプハウジング３１ｈ及びプランジャ３１ｐ間で画定される加圧室３１ａとを含む。加圧室３１ａの容積は、プランジャ３１ｐの変位に応じて変化する。加圧室３１ａには、後述する電磁弁３２が開いた状態で、低圧ポンプ２２により加圧された燃料が分岐配管２５ａを介して導入される。加圧室３１ａ内の燃料は、プランジャ３１ｐにより高圧に加圧されて高圧燃料配管３５内に吐出される。
【００３３】
エンジン１０のカム軸１５には、プランジャ３１ｐを駆動するカムＣＰが装着されている。カムＣＰの形状は、角が丸められた略正方形である。また、高圧ポンプ３１は、カムＣＰにより昇降されるフォロアリフタ３１ｆと、フォロアリフタ３１ｆをカムＣＰ側に付勢するスプリング３１ｇとを有している。フォロアリフタ３１ｆにプランジャ３１ｐが連動し、フォロアリフタ３１ｆと共にプランジャ３１ｐも昇降する。カム軸１５は、チェーン又はベルトを介してクランク軸１４に連動している。カム軸１５及びカムＣＰは、クランク軸１４の回転速度に対し１／２の回転速度で駆動される。
【００３４】
高圧ポンプ３１の加圧室３１ａの燃料導入口部には、電磁弁３２が設けられている。電磁弁３２は、弁体３２ｖと、弁体３２ｖを駆動するコイル３２ｃと、弁体３２ｖを常に開方向に付勢するスプリング３２ｋとを有している。コイル３２ｃへの通電は、ＥＣＵ４１によりドライバ回路４２を介して制御される。コイル３２ｃが通電されると、弁体３２ｖは、スプリング３２ｋの付勢力に抗して低圧燃料配管２５の分岐配管２５ａと加圧室３１ａとを遮断する。コイル３２ｃが非通電の状態では、弁体３２ｖは、スプリング３２ｋの付勢力により開状態が維持される。
【００３５】
高圧デリバリパイプ３６と加圧室３１ａの間の高圧燃料配管３５には、ばね付の逆止弁３４が設けられている。逆止弁３４は、加圧室３１ａ側の燃圧が高圧デリバリパイプ３６側の燃圧より所定の分だけ高くなったときに開く。
【００３６】
高圧ポンプ３１の吸入行程では、電磁弁３２が開きプランジャ３１ｐが下降して、燃料が低圧燃料配管２５の分岐配管２５ａから加圧室３１ａに充填される。加圧行程では、電磁弁３２が閉じプランジャ３１ｐの上昇に伴い加圧室３１ａの容積が減少し、加圧室３１ａ内の燃料が昇圧される。吐出行程では、加圧室３１ａ内の燃圧による力が逆止弁３４のばねの付勢力より大きくなったときに逆止弁３４が開き、昇圧された燃料が高圧燃料配管３５及び高圧デリバリパイプ３６へ供給される。上述したようにプランジャ３１ｐの昇降は、カムＣＰの回転により実現され、カムＣＰはカム軸１５を介してクランク軸１４に連動しているため、高圧ポンプ３１はクランク軸１４に連動して駆動される。
【００３７】
尚、ここでは電磁弁３２は非通電で開いた状態となるが、これに限定されない。例えば電磁弁３２は、コイル３２ｃ及びスプリング３２ｋの付勢方向をそれぞれ逆向きにして、非通電で閉じた状態となるものであってもよい。この場合、燃料の吸入行程でコイル３２ｃが通電され、加圧及び吐出行程で非通電になる。
【００３８】
高圧デリバリパイプ３６には、高圧ポンプ３１により加圧された高圧の燃料が高圧燃料配管３５を介して蓄圧されている。高圧燃料配管３５及び高圧デリバリパイプ３６は、高圧ポンプ３１から筒内噴射弁３７１〜３７４に高圧の燃料を供給する高圧燃料通路の一例である。
【００３９】
筒内噴射弁群３７は、高圧デリバリパイプ３６内から気筒１１１〜１１４のそれぞれの内部に所定の順序で高圧燃料を直接に噴射する。燃圧センサ３８は、高圧デリバリパイプ３６内の燃圧を検出し、燃圧センサ３８の検出値は、一定のサンプリング時間間隔でＥＣＵ４１により取得される。
【００４０】
ＥＣＵ４１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）を含む。ＥＣＵ４１は、ＲＯＭ内に予め格納された制御プログラムに従って、センサからの情報や予めＲＯＭに格納されている情報等に基づいて、後述する燃圧値を予測する制御を実行する。この制御は、ＣＰＵ、ＲＯＭ、及びＲＡＭにより機能的に実現される、中心燃圧算出部、振幅算出部、位相算出部、記憶部、予測部、取得部、候補算出部、仮燃圧値算出部、候補特定部、脈動判定部、及び噴射開始判定部により実行される。詳しくは後述する。
【００４１】
ＥＣＵ４１は、エンジン１０の運転状態や加速要求に応じた燃料の要求噴射量を算出する。具体的には、ＥＣＵ４１は、要求噴射量に対応するポート噴射弁群２７の各噴射期間を算出して、所定のクランク角間隔でポート噴射弁群２７のそれぞれが所定の順に、算出された噴射期間だけ燃料噴射を実行する。筒内噴射弁群３７も同様である。
【００４２】
これらの各燃料噴射弁の燃料噴射量は、開弁期間に比例する。開弁期間は、燃料噴射弁の電磁コイルへの通電期間に比例する。従って、ＥＣＵ４１は、燃圧センサ２８の検出値に基づいて、要求噴射量に応じたポート噴射弁群２７の各通電期間を算出する。同様に、ＥＣＵ４１は、燃圧センサ３８の検出値に基づいて、要求噴射量に応じた筒内噴射弁群３７の各通電期間を算出する。ＥＣＵ４１は、算出された通電期間に従って、ドライバ回路４２に指令を出す。ドライバ回路４２は、ＥＣＵ４１からの指令に従って、ポート噴射弁群２７及び筒内噴射弁群３７のそれぞれを算出された通電期間だけ通電する。このようにして、各燃料噴射弁の燃料噴射量が制御されている。
【００４３】
次に、高圧ポンプ３１に起因して発生する燃圧脈動について説明する。図２は、燃圧の波形図である。縦軸は燃圧、横軸はエンジン回転数を示す。図２に示すように、エンジン回転数域には、低圧燃料配管２５及び低圧デリバリパイプ２６内で燃圧脈動の振幅が他の域よりも増大する脈動増大域が含まれる。脈動増大域は、例えばエンジン回転数が１０００〜１２００ｒｐｍまでであるが、これに限定されない。
【００４４】
このように燃圧脈動の振幅が増大する理由は以下のようなものが考えられる。エンジン回転数の所定の領域では、筒内噴射弁群３７は用いられずポート噴射弁群２７による燃料噴射が実施される。その間では、筒内噴射弁群３７は用いられないため電磁弁３２が開状態に維持されつつ、プランジャ３１ｐはエンジン１０の動力により昇降を繰り返す。このため、低圧燃料配管２５及び加圧室３１ａ間で燃料の吸入及び吐出が繰り返され、これにより脈動の振幅が増大して、低圧デリバリパイプ２６にまで伝播するからである。また、このような燃圧脈動の振動数とパルセーションダンパ２９の固有振動数とが一致して共振すると、燃圧脈動の振幅が更に増大するからである。
【００４５】
図３は、燃圧脈動の波形とポート噴射弁による噴射期間の一例を示したグラフである。縦軸は燃圧、横軸は時間を示す。図３は、エンジン回転数が上述した脈動増大域に属した状態での脈動の波形を示している。ここで燃圧値ＰＡは、ポート噴射期間中での実際の燃圧値であり、検出値ＰＳは、ＥＣＵ４１が取得した燃圧センサ２８の検出値である。一般的に、ポート噴射の開始前に取得された検出値ＰＳに基づいて、ポート噴射の噴射期間が算出されてポート噴射量が制御される。この理由は、ＥＣＵ４１は、ポート噴射が開始タイミングに至る前に、取得した燃圧センサ２８の検出値に基づいてポート噴射期間の算出を完了しておく必要があるからである。また、ＥＣＵ４１は燃圧センサ２８の検出値を一定のサンプリング時間間隔でしか取得できないからである。しかしながら、エンジン回転数が上述した脈動増大域に属している場合には燃圧が短時間で変動するため、図３に示すように検出値ＰＳと燃圧値ＰＡとの差が大きくなる場合がある。このため、検出値ＰＳに基づいてポート噴射期間を算出すると、精度よくポート噴射量を制御できない可能性がある。
【００４６】
従って本実施例では、ＥＣＵ４１は、後述する脈動のモデル式に基づいて未来の燃圧値を予測する。尚、本実施例では、予測された燃圧値に基づいて制御される制御対象としては、ポート噴射量であるが、これに限定されない。また、以下の説明において、特段の断りがない限り、「検出値」は、燃圧センサ２８の検出値を意味する。
【００４７】
上述したように、ＥＣＵ４１は、一定のサンプリング時間間隔で検出値を取得する。図４Ａは、ＥＣＵ４１が取得した複数の検出値を示したグラフである。図４Ａでは、縦軸は燃圧であり横軸はクランク角である。図４Ａに示すように、従来は、現時点又は過去の時点での燃圧値しか把握することができない。図４Ｂは、以下で説明するモデル化された燃圧脈動を示したグラフである。図４Ｂも同様に、縦軸は燃圧であり横軸はクランク角である。本実施例では、図４Ｂに示すように燃圧脈動をモデル化することにより未来の燃圧値を予測できる。また、検出値のサンプリング時間間隔内での燃圧値も予測できる。
【００４８】
具体的にはＥＣＵ４１は、以下のモデル式（３）に基づいて燃圧値を予測する。
【数３】
0006281581.tif 000004
ここで、θ［ｄｅｇ］はクランク角である。Ｐ（θ）［ｋＰａ］は、クランク角θに対応した燃圧値である。Ａ［ｋＰａ］は、脈動の振幅である。Ｂ［ｄｅｇ］は、脈動の初期位相である。ｃは、クランク角３６０度当たりの高圧ポンプ３１の燃料の吐出回数であり、換言すれば、クランク角３６０度当たりの脈動の振動数である。Ｐｃ［ｋＰａ］は、脈動の中心燃圧値である。中心燃圧値Ｐｃは、振幅Ａの中心値である。初期位相Ｂは、クランク角θがゼロ度に最も近くて振幅Ａが極大値をとる際のクランク角である。尚、クランク角θがゼロ度になる時は、気筒１１１のピストンが圧縮行程の上死点に位置する時である。
【００４９】
このように燃圧脈動を、三角関数を用いた式でモデル化できる理由は、上述したように脈動は高圧ポンプ３１のカムＣＰの回転に起因して周期的に変化するものだからである。ここで、中心燃圧値Ｐｃ、振幅Ａ、及び初期位相Ｂについては、詳しくは後述するが、ＥＣＵ４１が算出する。
【００５０】
吐出回数ｃについては、ＥＣＵ４１のＲＯＭに予め記憶されている。ここで吐出回数ｃは、高圧ポンプ３１のカムＣＰの形状により定まる。本実施例の場合、カムＣＰの形状は角が丸められた略正方形である。このため、クランク角３６０度当たりにカムＣＰは１８０度回転して２回燃料を吐出する。従って本実施例では、吐出回数ｃは２である。尚、角が丸められた略正三角形のカムの場合は、クランク角３６０度当たりにカムは１８０度回転し、吐出回数ｃは１．５である。略楕円形のカムの場合は、クランク角３６０度当たりの吐出回数ｃは１である。
【００５１】
次に、モデル式（３）により予測された燃圧値に基づいて実行されるポート噴射制御について説明する。図５は、ポート噴射制御の一例を示すフローチャートである。尚、以降の説明において、「前々回値」、「前回値」、及び「今回値」とは、それぞれ、ＥＣＵ４１が前々回、前回、及び今回それぞれ取得した燃圧センサ２８の検出値を意味する。また、「次回値」とは、ＥＣＵ４１が次回に取得予定の燃圧センサ２８の検出値を意味する。
【００５２】
ＥＣＵ４１は、クランク角センサ１４ａに基づいて算出したエンジン回転数［ｒｐｍ］が所定の閾値未満であるか否かを判定する（ステップＳ１）。ここで閾値は、ポート噴射が要求され得るエンジン回転数の上限に規定されており、脈動増大域でのエンジン回転数よりも大きい値に設定されている。否定判定の場合には、ポート噴射は実行されないとして本制御は終了する。
【００５３】
ステップＳ１で肯定判定の場合、ＥＣＵ４１は所定数の検出値を取得してＲＡＭに記憶させる（ステップＳ２）。ＲＡＭに既に取得された所定数の検出値が記憶されている場合には、新たに取得された検出値から順に更新される。所定数とは、詳しくは後述するが、中心燃圧値Ｐｃの算出に必要となる検出値の数である。また、ステップＳ２の処理は、振幅Ａ及び初期位相Ｂの算出のためにも実行される。ステップＳ２で取得されて記憶される検出値には、少なくとも２つの直近の検出値である前回値及び今回値が含まれる。ステップＳ２の処理は、燃圧センサ２８の検出値を一定のサンプリング時間間隔で取得する取得部が実行する処理の一例である。
【００５４】
次に、ＥＣＵ４１は、ステップＳ２でＲＡＭに記憶された、少なくとも前回値及び今回値に基づいて脈動の中心燃圧値Ｐｃを算出する中心燃圧算出処理を実行する（ステップＳ３）。従って、エンジン回転数が上述した脈動増大域に属さない場合であっても、中心燃圧算出処理が実行される。エンジン回転数が脈動増大域に属した場合に、直ちにモデル式（３）により燃圧値を予測できるようにするためである。ステップＳ３の処理は、脈動の中心燃圧値Ｐｃを算出する中心燃圧算出部が実行する処理の一例である。詳しくは後述する。
【００５５】
次にＥＣＵ４１は、エンジン回転数が上述した脈動増大域に属するか否かを判定する（ステップＳ４）。脈動増大域は、予め実験により算出されＲＯＭに記憶されている。ステップＳ４の処理は、クランク角センサ１４ａの出力に基づいて算出されるエンジン回転数が、上述した脈動増大域内に属するか否かを判定する脈動判定部が実行する処理の一例である。
【００５６】
ステップＳ４で否定判定の場合には、燃圧値は大きく変動しないとして、ＥＣＵ４１は、通常ポート噴射処理を実行する（ステップＳ１５）。通常ポート噴射処理は、上述した燃圧値の予測は行わずに、ポート噴射弁群２７の各噴射開始タイミングの直前にＥＣＵ４１が取得した検出値に基づいて、各噴射期間を算出して、ポート噴射を実行する処理である。脈動の振幅が比較的小さい場合には、噴射開始タイミングの直前の検出値とポート噴射中での燃圧値との差も小さく、ポート噴射量も適切に制御できるからである。通常ポート噴射処理を実行後は、再度ステップＳ１以降の処理が実行される。
【００５７】
ステップＳ４で肯定判定の場合には、ＥＣＵ４１は、クランク角センサ１４ａからの出力値に基づいて、ステップＳ２で取得された今回値の取得時点でのクランク角をＲＡＭに記憶する（ステップＳ５）。エンジン回転数が脈動増大域に属する場合は、新たな検出値が取得されるたびに、今回値の取得時点でのクランク角が更新される。次にＥＣＵ４１は、直近のエンジン回転数に基づいて、ＲＯＭに予め記憶されているサンプリング時間間隔をクランク角に換算する（ステップＳ６）。エンジン回転数を考慮する理由は、サンプリング時間間隔は一定であるがエンジン回転数は変動するからである。次にＥＣＵ４１は、今回値の取得時点でのクランク角にサンプリング時間間隔に対応するクランク角を加算して、次回値の取得予定の時点でのクランク角として算出する（ステップＳ７）。
【００５８】
次にＥＣＵ４１は、次回値の取得予定の時点でのクランク角に基づいて、ポート噴射弁群２７の何れかの噴射開始タイミングが、次回値の取得前にあるか否かを判定する（ステップＳ８）。ここで、ポート噴射弁群２７の何れかの噴射開始タイミングは、予めクランク角に対応付けられてＲＡＭに記憶されているため、上記の判定が可能となる。尚、ステップＳ５〜Ｓ７の処理は、ステップＳ８の判定処理を実行するために必要な処理である。ステップＳ５〜Ｓ８の処理は、ポート噴射弁群２７の何れか燃料噴射の開始タイミングが、今回値の取得後であって次回値の取得前にあるか否かを判定する噴射開始判定部が実行する処理の一例である。ステップＳ８で否定判定の場合には、再度ステップＳ１以降の処理が実行されて、中心燃圧算出処理が継続される。
【００５９】
ステップＳ８で肯定判定の場合には、ＥＣＵ４１は、ステップＳ２でＲＡＭに記憶された、少なくとも前回値及び今回値に基づいて、脈動の振幅Ａを算出する振幅算出処理を実行する（ステップＳ９）。詳しくは後述する。次に、ＥＣＵ４１は、ステップＳ２でＲＡＭに記憶された、少なくとも前回値及び今回値の一方に基づいて、初期位相Ｂを算出する位相算出処理を実行する（ステップＳ１０）。詳しくは後述する。以上のように、ステップＳ３、Ｓ９、及びＳ１０の処理により、モデル式（３）の各項が算出される。
【００６０】
次にＥＣＵ４１は、次回噴射予定のポート噴射弁の噴射期間中でのクランク角に対応した燃圧値を予測する（ステップＳ１１）。具体的には、モデル式（３）の各項に、ステップＳ３、Ｓ９、及びＳ１０の処理により算出された値が代入されて、所定のクランク角での燃圧値が予測される。ここで、上述したようにモデル式（３）の各項の値は、実際の燃圧値が反映された燃圧センサの検出値に基づいて算出されている。このため、モデル式（３）の各項の値は精度よく算出され、モデル式（３）に基づいて未来の燃圧値を精度よく予測できる。尚、ステップＳ１１の処理は、中心燃圧値Ｐｃ、振幅Ａ、初期位相Ｂ、及び吐出回数ｃと、モデル式（３）とに基づいて、クランク角θ［ｄｅｇ］に対応した燃圧値Ｐ（θ）［ｋＰａ］を予測する予測部が実行する処理の一例である。また、ステップＳ１１の処理は、ポート噴射弁の燃料噴射の開始タイミングが、今回値の取得後であって次回の検出値の取得前にある場合に、燃圧値Ｐ（θ）を予測する予測部が実行する処理の一例である。
【００６１】
ＥＣＵ４１は、予測された燃圧値に基づいて、次回噴射予定のポート噴射弁の通電期間を算出する（ステップＳ１２）。具体的には、エンジン１０の運転要求に応じて設定される要求噴射量だけ燃料を噴射するように、予測された燃圧値に基づいて次回噴射予定のポート噴射弁の通電期間が算出される。詳細には、以下の式により通電期間τ［ｍｓ］が算出される。
【数４】
0006281581.tif 000005
Ｑ［ｍＬ］は要求噴射量である。ＱＩＮＪ［ｍＬ／ｍｉｎ］は、ポート噴射弁２７１〜２７４の各公称流量である。Ｐ０［ｋＰａ］は、ポート噴射弁２７１〜２７４の各公称流量に対応した検査圧力である。ＱＩＮＪ及びＰ０は、予め実験により算出されてＲＯＭに記憶されている。Ｐ（θ）［ｋＰａ］は、モデル式（３）により予測された燃圧値である。
【００６２】
次にＥＣＵ４１は、クランク角センサ１４ａの検出値に基づいて、現時点でのクランク角が次回のポート噴射弁の噴射の開始タイミングに至ったか否かを判定する（ステップＳ１３）。ステップＳ１３で否定判定の場合には、再度ステップＳ１３の処理が実行される。ステップＳ１３で肯定判定の場合には、ＥＣＵ４１は、噴射予定のポート噴射弁を算出された通電期間だけ通電してポート噴射を実行する（ステップＳ１４）。ステップＳ１２〜Ｓ１４の処理は、予測された燃圧値Ｐ（θ）に基づいてポート噴射弁の燃料噴射量を制御する噴射制御部が実行する処理の一例である。
【００６３】
以上のように、噴射予定のポート噴射弁の噴射開始タイミングに至る前に、モデル式（３）により、ポート噴射の実行予定期間内での燃圧値が予測され、予測された燃圧値に基づいてポート噴射弁の通電期間が算出される。このため、脈動の振幅が大きい場合であっても、ポート噴射弁の燃料噴射量を精度よく制御でき、空燃比を精度よく制御できる。また、ステップＳ８で肯定判定の場合にのみ振幅Ａ及び初期位相Ｂが算出されて燃圧値が予測されるため、必要な場合にのみ燃圧値が予測され、ＥＣＵ４１の処理負荷の増大が抑制されている。
【００６４】
尚、モデル式（３）により予測された未来の燃圧値は、ポート噴射弁の燃料噴射量以外の制御に用いてもよい。例えば、点火プラグの点火タイミング等を、予測された未来の燃圧値に基づいて制御しても良い。センサの検出値が取得されてから制御対象を制御するための演算処理が完了するまでに一定の期間を要する場合に、センサの検出値の代わりにこのような予測された未来の燃圧値を用いることが有効である。
【００６５】
また、エンジン回転数が上述した脈動増大域内に属さない場合であっても、モデル式（３）により予測された未来の燃圧値を予測してもよい。例えば、後述するが低圧ポンプ２２はフィードバック制御されているため、エンジン回転数が脈動増大域内に含まれない場合であっても低圧ポンプ２２の回転の変動に起因して燃圧が僅かに脈動する場合もあるからである。
【００６６】
次に、中心燃圧算出処理の複数の例について説明する。ＥＣＵ４１は、以下で説明する中心燃圧算出処理の複数の例のうち何れかを実行して中心燃圧値Ｐｃを算出する。
【００６７】
まず、中心燃圧算出処理の第１例について説明する。第１例では、ステップＳ２で取得された前々回値、前回値、及び今回値と、サンプリング時間間隔に対応するクランク角とに基づいて、中心燃圧値Ｐｃが算出される。図６は、中心燃圧算出処理の第１例を示すフローチャートである。ＥＣＵ４１は、サンプリング時間間隔をクランク角に換算する（ステップＳ２１）。尚、ステップＳ２１については、ステップＳ６と同様の手法を用いる。
【００６８】
ここで、サンプリング時間間隔に対応するクランク角ｔ［ｄｅｇ］とし、係数ａとすると、前々回値Ｐ１［ｋＰａ］、前回値Ｐ２［ｋＰａ］、及び今回値Ｐ３［ｋＰａ］のそれぞれは以下の式で表される。
（数５）
Ｐ１＝Ａｓｉｎ（ａ）＋Ｐｃ…（５）
（数６）
Ｐ２＝Ａｓｉｎ（ａ＋ｔ）＋Ｐｃ…（６）
（数７）
Ｐ３＝Ａｓｉｎ（ａ＋２ｔ）＋Ｐｃ…（７）
上記式（５）及び（６）を用いて、振幅Ａを消去すると、中心燃圧値Ｐｃは以下の式で表される。
【数８】
0006281581.tif 000006
ここで、係数Ｐ´＝（Ｐ２−Ｐ１）／（Ｐ３−Ｐ１）と定義すると、係数Ｐ´は式（５）〜（８）により、以下の式で表される。
【数９】
0006281581.tif 000007
上記式（９）の係数ａを解くと以下の式で表される。
【数１０】
0006281581.tif 000008
【００６９】
従ってＥＣＵ４１は、式（１０）を式（８）に代入することにより、中心燃圧値Ｐｃを算出する（ステップＳ２２）。以上のように、直近の３つの検出値である前々回値Ｐ１、前回値Ｐ２、及び今回値Ｐ３と、サンプリング時間間隔に対応するクランク角ｔとにより、短期間で中心燃圧値Ｐｃを算出できる。
【００７０】
式（１０）で係数ａを係数Ｐ´を用いて表している理由は、係数Ｐ´は、燃圧センサ２８の検出値である前々回値Ｐ１、前回値Ｐ２、及び今回値Ｐ３のみにより定まるため、係数Ｐ´を用いることにより係数ａの算出が容易になるからである。これにより、中心燃圧値Ｐｃの算出も容易になり、ＥＣＵ４１の処理負荷の増大や算出期間の長期化も抑制される。
【００７１】
尚、中心燃圧算出処理の第１例では、上述のように直近の３つの検出値に基づいて中心燃圧値Ｐｃが算出されるため、ステップＳ２の所定数は３以上であればよい。
【００７２】
次に、中心燃圧算出処理の第２例について説明する。第２例では、検出値のなまし値が中心燃圧値Ｐｃとして算出される。図７は、中心燃圧算出処理の第２例を示すフローチャートである。
【００７３】
ＥＣＵ４１は、ステップＳ２で取得された所定数の検出値に基づいて、以下の式によりなまし値Ｐ´ｎ［ｋＰａ］を中心燃圧値Ｐｃとして算出する（ステップＳ３１）。
【数１１】
0006281581.tif 000009
なまし値Ｐ´ｎは、今回算出されるなまし値である。なまし値Ｐ´ｎ−１［ｋＰａ］は、前回算出されたなまし値である。Ｐｎ［ｋＰａ］は、今回値である。ｋ［‐］は、なまし係数である。なまし係数ｋの初期値は、１６である。ここで、なまし値Ｐ´ｎの算出には、今回値Ｐｎとなまし値Ｐ´ｎ−１とに基づいて算出されるが、なまし値Ｐ´ｎ−１は前回算出されたなまし値であって前回値Ｐｎ−１に基づいて算出されたものである。このため、なまし値Ｐ´ｎを算出するためには、少なくとも直近の２つの検出値である前回値及び今回値が必要である。
【００７４】
図８は、取得された検出値となまし値Ｐ´ｎとを示したグラフである。図８の黒丸は、ＥＣＵ４１が取得した検出値を示している。図８では、なまし係数ｋが１６の場合のなまし値Ｐ´ｎを示しており、なまし値Ｐ´ｎは、中心燃圧値Ｐｃであり、検出値が取得される毎に算出されたなまし値Ｐ´ｎを連続的に示したものである。なまし値Ｐ´ｎの算出は、脈動発生中において検出値が取得されるたびに実行される。このように複数の検出値に基づいて中心燃圧値Ｐｃが算出されるため、精度よく中心燃圧値Ｐｃが算出される。尚、今回値で最初になまし処理が実行され、前回算出されたなまし値が存在しない場合には、前回値をなまし値Ｐ´ｎ−１として算出される。
【００７５】
次にＥＣＵ４１は、上述のなまし処理により算出された中心燃圧値Ｐｃと、目標燃圧値Ｐ０［ｋＰａ］との差の絶対値が、所定値Ｅ［ｋＰａ］以上であるか否かを判定する（ステップＳ３２）。ここで目標燃圧値Ｐ０とは、低圧デリバリパイプ２６内の燃圧の目標値であり、例えば燃料が減圧沸騰しない程度の低圧に設定されている。ＥＣＵ４１は、検出値のなまし値が目標燃圧値Ｐ０に収束するように、低圧ポンプ２２への印加電圧をフィードバック制御する。このため、脈動は主に高圧ポンプ３１に起因するが、脈動の中心燃圧値Ｐｃは、主に低圧ポンプ２２に起因する。
【００７６】
ステップＳ３２で肯定判定の場合、即ち、Ｅ≧｜Ｐｃ−Ｐ０｜が成立する場合には、ＥＣＵ４１は、なまし係数ｋを１６に設定する（ステップＳ３３）。この場合は、中心燃圧値Ｐｃと目標燃圧値Ｐ０との差が小さいことを意味し、なまし係数ｋを多く設定することにより、精度よく中心燃圧値Ｐｃを算出できる。これにより、ステップＳ３２で肯定判定がなされている限り、新たな検出値が取得されるたびになまし係数ｋが１６でなまし処理が行われる。
【００７７】
これに対して、ステップＳ３２で否定判定の場合、即ち、Ｅ≧｜Ｐｃ−Ｐ０｜が不成立の場合には、ＥＣＵ４１は、なまし係数ｋを８に設定する（ステップＳ３４）。ここでＥ≧｜Ｐｃ−Ｐ０｜が不成立の場合とは、中心燃圧値Ｐｃと目標燃圧値Ｐ０との差が大きいことを意味し、低圧デリバリパイプ２６内の燃圧が目標燃圧値Ｐ０に収束するように低圧ポンプ２２が制御されることを意味している。従って、この場合には、低圧デリバリパイプ２６内の燃圧、即ち実際の中心燃圧値が目標燃圧値Ｐ０に収束するように過渡的に変化する。このような場合には、なまし係数ｋが小さい場合の方が、大きい場合よりも、実際の燃圧の変化がなまし値Ｐ´ｎに反映されやすくなる。このため、なまし係数ｋを８に設定することにより、このような燃圧の過渡的な変化に追随して中心燃圧値Ｐｃを算出できる。
【００７８】
尚、中心燃圧算出処理の第２例では、上述のように直近の２つの検出値に基づいて中心燃圧値Ｐｃが算出されるため、ステップＳ２の所定数は２以上であればよい。
【００７９】
尚、なまし係数ｋの最小値は例えば６であるがこれに限定されず、目標燃圧値Ｐ０と中心燃圧値Ｐｃと差が大きい場合に、小さい場合と比較して、なまし係数ｋが小さければよい。従って、目標燃圧値Ｐ０と算出された中心燃圧値Ｐｃと差が大きいほど、なまし係数ｋが小さく設定されてもよい。なまし係数ｋの最小値は、例えば、サンプリング周期や、実験等により計測された共振発生時での燃圧の振幅や、中心燃圧値の最大変化速度等を考慮して設定される。尚、低圧ポンプ２２の制御に用いられる燃圧のなまし値と、中心燃圧値Ｐｃの算出に用いられるなまし値とは同じであってもよいし異なっていてもよい。
【００８０】
次に、中心燃圧算出処理の第３例について説明する。第３例では、ＥＣＵ４１は、取得した検出値の平均値を中心燃圧値Ｐｃとして算出する。図９は、中心燃圧算出処理の第３例を示すフローチャートである。
【００８１】
ＥＣＵ４１は、クランク角センサ１４ａからの出力信号に基づいてエンジン回転数を算出し（ステップＳ４１）、エンジン回転数に基づいて、中心燃圧値Ｐｃの算出に用いられる検出値のサンプル数Ｎを算出する（ステップＳ４２）。具体的には、エンジン回転数Ｎｅ［ｒｐｍ］、検出値の取得のサンプリング時間間隔Ｔｓ［ｍｓ］、吐出回数ｃと、Ｎ＝｛６００００／（Ｎｅ・Ｔｓ・ｃ）}＋１の式によりサンプル数Ｎが算出される。尚、算出されたサンプル数Ｎの小数点以下の値は四捨五入される。ここでサンプリング時間間隔Ｔｓは、ＥＣＵ４１のＲＯＭに予め記憶されている。
【００８２】
図１０（Ａ）は、中心燃圧値Ｐｃの算出に用いられる検出値のサンプル数Ｎとエンジン回転数との関係を示したグラフである。縦軸はサンプル数Ｎを示し、横軸はエンジン回転数を示す。
【００８３】
算出されるサンプル数Ｎは、脈動の略１周期分の期間に取得される検出値の数に対応している。ここで、脈動の周期は、エンジン回転数が増大するほど、即ち、高圧ポンプ３１のカムＣＰの回転速度が増大するほど、短くなる。一方、検出値が取得されるサンプリング時間間隔は、上述したように一定である。このため、エンジン回転数が増大するほど、脈動の１周期分の期間に取得される検出値の数は減少する。よって、図１０（Ａ）に示すように、エンジン回転数が増大するほど、サンプル数Ｎが減少する。
【００８４】
次にＥＣＵ４１は、算出されたサンプル数Ｎの検出値の平均値を中心燃圧値Ｐｃとして算出する（ステップＳ４３）。サンプルとして抽出される検出値は、今回値からそれ以前に連続的に検出されている検出値である。
【００８５】
図１０（Ｂ）及び図１０（Ｃ）は、燃圧脈動とサンプル数とを示したグラフである。図１０（Ｂ）は、エンジン回転数が小さい場合を示し、図１０（Ｃ）は、エンジン回転数が大きい場合を示している。図１０（Ｂ）では、サンプル数Ｎが９の場合を示し、図１０（Ｃ）では、サンプル数Ｎが５の場合を示している。
【００８６】
所定のサンプル数Ｎの検出値が取得されるたびにＥＣＵ４１は、検出値の平均値を中心燃圧値Ｐｃとして算出する。よって、ＥＣＵ４１は、エンジン回転数の変化に対応して、中心燃圧値Ｐｃを精度よく算出できる。また、簡易な手法により中心燃圧値Ｐｃを算出できるため、ＥＣＵ４１の処理負荷の増大や算出処理の長期化も抑制される。
【００８７】
尚、ＥＣＵ４１は、サンプル数Ｎを上述のような算出式に基づいて決定するのではなく、予めＲＯＭに記憶された図１０（Ａ）のようなマップに基づいて決定してもよい。
【００８８】
また、サンプリング時間間隔Ｔｓが比較的長く、エンジン回転数Ｎｅが比較的高い場合や、吐出回数ｃが比較的多い場合には、サンプル数が２となる場合も考えられる。このため、中心燃圧算出処理の第３例では、２つの直近の検出値に基づいて中心燃圧値Ｐｃを算出し得るため、ステップＳ２の所定数は少なくとも２以上である。
【００８９】
以上のように、中心燃圧算出処理の３つの例を説明したが、何れの場合も、少なくとも前回値及び今回値に基づいて、中心燃圧値Ｐｃを算出する。
【００９０】
次に、振幅算出処理について説明する。今回値Ｐｎ及び前回値Ｐｎ−１が取得された時点でのそれぞれのクランク角をθｎ及びθｎ−１とすると、以下の式（１２）及び（１３）で表すことができる。
【数１２】
0006281581.tif 000010
【数１３】
0006281581.tif 000011
式（１２）及び（１３）が中心燃圧値Ｐｃを含んでいない理由は、中心燃圧値Ｐｃをゼロとみなしても振幅Ａや初期位相Ｂの算出結果には影響がないからである。
【００９１】
ここで、サンプリング時間間隔に対応するクランク角θＡＤ［ｄｅｇ］に関して、θＡＤ＝θｎ−θｎ−１と表すことができる。従って、式（１２）及び（１３）に基づいて、振幅Ａは以下のように表すことができる。
【数１４】
0006281581.tif 000012
このように振幅Ａは、中心燃圧値Ｐｃを用いずに、今回値Ｐｎ及び前回値Ｐｎ−１と、サンプリング時間間隔に対応するクランク角θＡＤとにより、簡易な式で表される。このように簡易な式（１４）に基づいて振幅Ａが算出できるため、ＥＣＵ４１の処理負荷の増大や算出処理の期間の長期化が抑制される。
【００９２】
次に、位相算出処理について説明する。図１１は、位相算出処理の一例を示したフローチャートである。ＥＣＵ４１は、式（１２）に基づいて算出される以下の式（１５）に基づいて、初期位相Ｂの２つの候補Ｂ＋及びＢ−を算出する（ステップＳ５１）。
【数１５】
0006281581.tif 000013
ここで、Ｂ＋＝θｎ＋｛ｃｏｓ−１（Ｐｎ／Ａ）×（１／ｃ）｝、Ｂ−＝θｎ−｛ｃｏｓ−１（Ｐｎ／Ａ）×（１／ｃ）｝とする。このように、候補Ｂ＋及びＢ−は、今回値Ｐｎが取得された時点でのクランク角θｎ、今回値Ｐｎ、振幅Ａ、及び吐出回数ｃにより簡易に表すことができる。尚、式（１５）において、クランク角θｎ及び今回値Ｐｎの代わりに、クランク角θｎ−１及び前回値Ｐｎ−１を用いてもよい。この場合も、理論上は初期位相Ｂの値は同じ値になる。ステップＳ５１は、前回値Ｐｎ−１及び今回値Ｐｎの一方と、前回値Ｐｎ−１及び今回値Ｐｎの一方が取得された時点でのクランク角と、吐出回数ｃと、算出された振幅Ａとに基づいて、初期位相Ｂの２つの候補Ｂ＋及びＢ−を算出する候補算出部が実行する処理の一例である。
【００９３】
ここで、初期位相Ｂの真の解を特定するために、モデル式（３）に２つの候補Ｂ＋及びＢ−の何れかを代入して得られた仮燃圧値と、実際の検出値とが一致するか否かに基づいて特定することが考えられる。例えば、モデル式（３）に、算出された中心燃圧値Ｐｃ及び振幅Ａとクランク角θｎ−１と候補Ｂ＋とを代入して、仮燃圧値Ｐｎ−１＋を算出する。この候補Ｂ＋に基づいて算出された仮燃圧値Ｐｎ−１＋と、仮燃圧値Ｐｎ−１＋に対応する前回値Ｐｎ−１とが一致する場合、候補Ｂ＋が真の解であり、不一致の場合には候補Ｂ−が真の解である。しかしながら、中心燃圧値Ｐｃの算出誤差などにより、初期位相Ｂの真の解が候補Ｂ＋であっても、上述のように仮燃圧値Ｐｎ−１＋と前回値Ｐｎ−１とが一致しない可能性があり、初期位相Ｂが誤った値で算出される可能性がある。
【００９４】
従って、ＥＣＵ４１は、モデル式（３）に、算出された中心燃圧値Ｐｃ及び振幅Ａとクランク角θｎ−１と候補Ｂ＋と代入して、仮燃圧値Ｐｎ−１＋を算出する（ステップＳ５２）。
【００９５】
次に、ＥＣＵ４１は、前回値Ｐｎ−１と上述した仮燃圧値Ｐｎ−１＋との差の絶対値が、所定値未満か否かを判定する（ステップＳ５３）。具体的には、以下の式（１６）に基づいて判定される。
【数１６】
0006281581.tif 000014
式（１６）の左辺にある、Ａｃｏｓ｛ｃ（θｎ−１−Ｂ＋）｝＋Ｐｃは、上述した候補Ｂ＋に基づいて算出された仮燃圧値Ｐｎ−１＋を意味する。所定値ε［ｋＰａ］は、初期位相Ｂの真の解が候補Ｂ＋である場合における、仮燃圧値Ｐｎ−１＋と前回値Ｐｎ−１との取り得る最大の誤差よりも若干大きい値であり、予め実験により算出されＲＯＭに記憶されている。式（１６）が成立する場合には、ＥＣＵ４１は候補Ｂ＋が初期位相Ｂとして特定され（ステップＳ５４）、不成立の場合には候補Ｂ−が初期位相Ｂとして特定される（ステップＳ５５）。所定値εは、予めＲＯＭに記憶されているため、ＥＣＵ４１の処理負荷の増大が抑制されている。
【００９６】
以上のように、簡易な不等号の式（１６）に基づいて最終的な初期位相Ｂを算出できるため、ＥＣＵ４１の処理負荷の増大や算出処理の長期化を抑制しつつ、初期位相Ｂを精度よく算出できる。これにより、最終的にモデル式（３）により予測される未来の燃圧値について精度よく予測できる。
【００９７】
ステップＳ５２は、算出された振幅Ａ及び中心燃圧値Ｐｃと、２つの候補Ｂ＋及びＢ−の一方と、前回値Ｐｎ−１が取得された時点でのクランク角θｎ−１とを、式（３）に代入して仮燃圧値Ｐｎ−１＋を算出する仮燃圧値算出部が実行する処理の一例である。
【００９８】
ステップＳ５３〜Ｓ５５は、算出された仮燃圧値Ｐｎ−１＋と、仮燃圧値Ｐｎ−１＋に対応する前回値Ｐｎ−１との差の絶対値が所定値未満の場合には、候補Ｂ＋を初期位相Ｂとして特定し、差の絶対値が所定値を超えている場合には、候補Ｂ−の他方を初期位相Ｂとして特定する候補特定部の一例である。
【００９９】
尚、式（１６）において、不等号の向きを逆にしてもよい。この場合、式（１６）が成立する場合には候補Ｂ−が、不成立の場合には候補Ｂ＋が初期位相Ｂとして特定される。また、式（１６）において、候補Ｂ＋の代わりに候補Ｂ−を用いてもよく、この場合も、式（１６）が成立する場合には候補Ｂ−が、不成立の場合には候補Ｂ＋が初期位相Ｂとして特定される。
【０１００】
また、ＥＣＵ４１は、式（１６）の代わりに式（１７）を用いて、ステップＳ５２及びＳ５３の処理を実行してもよい。
【数１７】
0006281581.tif 000015
【０１０１】
式（１７）の右辺にある、Ａｃｏｓ｛ｃ（θｎ−１−Ｂ−）｝＋Ｐｃは、候補Ｂ−に基づいて算出された仮燃圧値Ｐｎ−１−を意味する。ここで式（１７）の右辺が「所定値」に相当し、所定値は、前回値Ｐｎ−１と仮燃圧値Ｐｎ−１−との差の絶対値である。
【０１０２】
式（１７）が成立する場合、即ち左辺の方が右辺よりも小さい場合、前回値Ｐｎ−１と仮燃圧値Ｐｎ−１＋とが近似しており、仮燃圧値Ｐｎ−１＋が実際の燃圧値に近いことを意味する。従ってこの場合、ＥＣＵ４１は候補Ｂ＋を初期位相Ｂとして特定する。式（１７）が不成立の場合、前回値Ｐｎ−１と仮燃圧値Ｐｎ−１＋との差が大きいことを意味し、前回値Ｐｎ−１と仮燃圧値Ｐｎ−１−とが近似していることを意味する。これにより、ＥＣＵ４１は候補Ｂ−を初期位相Ｂとして特定する。
【０１０３】
尚、式（１７）において、不等号の向きを逆にしてもよく、この場合、式（１７）が成立する場合には候補Ｂ−が、不成立の場合には候補Ｂ＋が初期位相Ｂとして特定される。
【０１０４】
また、式（１６）及び（１７）においては、前回値Ｐｎ−１及びクランク角θｎ−１の代わりに、今回値Ｐｎ及びクランク角θｎを用いてもよい。
【０１０５】
次に、燃圧センサ２８が検出値に応じた出力信号を出力してからＥＣＵ４１が検出値を取得するまでの遅れを考慮した、燃圧値Ｐ（θ）の予測について説明する。ここでＥＣＵ４１のＣＰＵは、ローパスフィルタにより燃圧センサ２８の出力信号がフィルタリングされた後の信号を検出値として取得している。ローパスフィルタは、燃圧センサ２８の出力信号のうち所定の周波数以上の高周波成分を減衰させることにより、燃圧センサ２８の出力信号に含まれるノイズ成分を除去している。このフィルタリングにより、燃圧センサ２８が検出値に応じた出力信号を出力してからＥＣＵ４１が検出値を取得するまでに遅れが生じる場合がある。例えば、図１２に示すように、上述したモデル式（３）により算出されたモデル燃圧は、実際の燃圧に対して所定の位相τだけ遅れが生じる。図１２は、実際の燃圧に対してモデル燃圧が遅れる場合を示したグラフである。ＥＣＵ４１は、モデル式（３）の代わりに、この位相τ［ｄｅｇ］として取り入れた以下のモデル式（１８）に基づいて、ＥＣＵ４１は燃圧値Ｐ（θ）を予測してもよい。
【数１８】
0006281581.tif 000016
尚、位相遅れτは、予め実験により算出されておりＥＣＵ４１のＲＯＭに記憶されている。モデル式（１８）により燃圧値Ｐ（θ）を算出することにより、燃圧値をより精度よく予測できる。
【０１０６】
以上、本発明の実施例について詳述したが、本発明はかかる特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１０７】
１  エンジンシステム（内燃機関の制御装置）
１０  エンジン（内燃機関）
１１  気筒群
１１１〜１１４  気筒
１４  クランク軸
１４ａ  クランク角センサ
１５  カム軸
２２  低圧ポンプ
２５  低圧燃料配管（低圧燃料通路）
２６  低圧デリバリパイプ（低圧燃料通路）
２７  ポート噴射弁群
２７１〜２７４  ポート噴射弁
２８  燃圧センサ
３１  高圧ポンプ
３５  高圧燃料配管（高圧燃料通路）
３６  高圧デリバリパイプ（高圧燃料通路）
３７  筒内噴射弁群
３７１〜３７４  筒内噴射弁
４１  ＥＣＵ（中心燃圧算出部、振幅算出部、位相算出部、記憶部、予測部、取得部、候補算出部、仮燃圧値算出部、候補特定部、脈動判定部、噴射開始判定部）
ＣＰ  カム
【図１】
0006281581.tif 000019
【図２】
0006281581.tif 000020
【図３】
0006281581.tif 000021
【図４】
0006281581.tif 000022
【図５】
0006281581.tif 000023
【図６】
0006281581.tif 000024
【図７】
0006281581.tif 000025
【図８】
0006281581.tif 000026
【図９】
0006281581.tif 000027
【図１０】
0006281581.tif 000028
【図１１】
0006281581.tif 000029
【図１２】
0006281581.tif 000030