次に図面を参照してこの発明の実施の形態を説明する。図1は、この発明の一実施形態に従う、エンジンおよびその制御装置の全体的な構成図である。
電子制御ユニット(以下、「ECU」)という)1は、中央演算処理装置(CPU)およびメモリを備えるコンピュータである。メモリには、車両の様々な制御を実現するためのコンピュータ・プログラムおよび該プログラムの実施に必要なデータを格納することができる。ECU1は、車両の各部から送られてくるデータを受け取って演算を行い、車両の各部を制御するための制御信号を生成する。
エンジン2は、この実施例では4サイクルのエンジンである。エンジン2は、吸気弁3を介して吸気管4に連結され、排気弁5を介して排気管6に連結されている。ECU1からの制御信号に従って燃料を噴射する燃料噴射弁7が、吸気管4に設けられている。
エンジン2は、吸気管4から吸入される空気と、燃料噴射弁7から噴射される燃料との混合気を、燃焼室8に吸入する。燃料室8には、ECU1からの点火時期信号に従って火花を飛ばす点火プラグ9が設けられている。点火プラグ9によって発せられた火花により、混合気は燃焼する。燃焼により混合気の体積は増大し、これによりピストン10を下方に押し下げる。ピストン10の往復運動は、クランク軸11の回転運動に変換される。
筒内圧センサ15は、例えば圧電素子からなるセンサであり、点火プラグ9のエンジンシリンダに接する部分に埋没されている。筒内圧センサ15は、燃焼室8内の圧力(筒内圧)の変化を示す信号を出力し、それをECU1に送る。ECU1は、該筒内圧変化を示す信号を積分して、筒内圧を示す信号Pを生成する。
エンジン2には、クランク角センサ17が設けられている。クランク角センサ17は、クランクシャフト11の回転に伴い、CRK信号およびTDC信号をECU1に出力する。
CRK信号は、所定のクランク角で出力されるパルス信号である。ECU1は、該CRK信号に応じ、エンジン2の回転数NEを算出する。TDC信号は、ピストン10のTDC位置に関連したクランク角度で出力されるパルス信号である。
エンジン2の吸気管4には、スロットル弁18が設けられている。スロットル弁18の開度は、ECU1からの制御信号により制御される。スロットル弁18に連結されたスロットル弁開度センサ(θTH)19は、スロットル弁18の開度に応じた電気信号を、ECU1に供給する。
吸気管圧力(Pb)センサ20は、スロットル弁18の下流側に設けられている。Pbセンサ20によって検出された吸気管圧力PbはECU1に送られる。
スロットル弁18の上流には、エアフローメータ(AFM)21が設けられている。エアフローメータ21は、スロットル弁18を通過する空気量を検出し、それをECU1に送る。
エンジンの仕事量を表す指標として、図示平均有効圧が用いられることがある。平均有効圧は、エンジンの1燃焼サイクルにおける仕事を行程体積で割ったものを示す。図示平均有効圧は、該平均有効圧から、冷却損失、不完全燃焼および機械的なフリクションなどを引いたものを示す。これらの指標は、エンジンの総行程体積(エンジン排気量)の異なる機種間の性能差を評価するのに用いられることがある。
図2を参照すると、1燃焼サイクルにおける、エンジンの燃焼室の体積Vと筒内圧Pとの関係(PV線図と呼ばれる)が示されている。点Pにおいて、吸気弁が開き、吸気行程が開始する。筒内圧は、ピストンが上死点TDCにある点Nを経て、最小値である点Uに至るまで減少する。その後、ピストンが下死点BDCにある点Kを経て、筒内圧は増加する。点Qにおいて圧縮行程が開始し、筒内圧は増加し続ける。点Rにおいて燃焼行程が開始する。混合気の燃焼により筒内圧は急激に増加し、点Sにおいて、筒内圧は最大になる。混合気の燃焼により、ピストンは押し下げられ、点Mで示されるBDCに向かって移動する。この移動により、筒内圧は減少する。点Tにおいて排気弁が開き、排気行程が開始する。排気行程では、筒内圧はさらに減少する。
図示平均有効圧は、図に示される曲線で囲まれる面積を、ピストンの行程体積で割ることにより求められる。
以下の実施例では、エンジンの仕事量の例として、図示平均有効圧を算出する手法を示す。しかしながら、エンジンの仕事量という用語には、本発明に従う手法によって算出される図示平均有効圧に基づいて算出されることのできる他の指標、たとえば、平均有効圧、正味平均有効圧、エンジントルク等が含まれる点に注意されたい。
図示平均有効圧Pmiは、図2に示されるようなPV線図を一周積分することで算出されることができ、該算出式は、式(1)のように表されることができる。積分区間は、1燃焼サイクルに相当する期間であるが、積分区間の開始は、任意の時点に設定することができる点に注意されたい。Vsは、エンジン2の行程体積を示し、dVは、エンジン2の燃焼室8の体積変化率を示す。Pは、前述したように、筒内圧センサ15(図1)からの出力に基づいて得られる、筒内圧を示す信号である。
式(1)に示すように、図示平均有効圧Pmiは、筒内圧信号Pと体積変化率dVの積に基づいて算出されるので、該筒内圧信号Pと体積変化率dVとの間の相関を表す関数(相関関数)と考えることができる。体積変化率dVを実質的に構成する周波数成分は限られているので(詳細は、後述される)、該周波数成分のみについて両者の相関関数を算出すれば、図示平均有効圧Pmiを算出することができる。
体積変化率dVを周波数分解するため、体積変化率dVを式(2)のようにフーリエ級数展開する。tは時間を示す。Tは、エンジンのクランク軸の回転の周期を示し(以下、クランク周期と呼ぶ)、ωはその角周波数を示す。4サイクルエンジンでは、1周期Tは、360度に対応する。kは、該エンジン回転の周波数成分の次数を示す。
式(2)を式(1)に適用すると、式(3)が導かれる。θ=ωtである。
一方、筒内圧信号Pをフーリエ級数展開すると、該筒内圧信号のフーリエ係数PakおよびPbkは、式(4)のように表されることができる。筒内圧信号の1周期Tcは、1燃焼サイクルの長さに相当する。4サイクルエンジンでは、1燃焼サイクルが720度のクランク角に対応するので、周期Tcは、クランク周期Tの2倍である。したがって、式(4)におけるθcは、4サイクルエンジンでは(θ/2)となる。kcは、筒内圧信号の周波数成分の次数を表す。
式(3)には、cosθ、cos2θ、、、sinθ、sin2θ、、、の成分が現れている。式(4)において、kc=2kとすることにより、これらの成分のフーリエ係数PakおよびPbkを得ることができる。すなわち、4サイクルエンジンでは、図示平均有効圧Pmiを算出するのに、体積変化率のフーリエ係数VakおよびVbkに関する周波数成分1次、2次、3次、、、(k=1,2,3...)に対し、筒内圧信号のフーリエ係数PakおよびPbkに関する周波数成分は、2次、4次、6次、、、(kc=2,4,6...)があればよい。kc=2kとすると、式(4)は、式(5)のように表される。
式(3)に式(5)を適用すると、式(6)が導かれる。ここで、式(3)の“Va
0”はほぼゼロである(この理由については、後述される)。
式(6)には、行程体積Vs、体積変化率dVに関するフーリエ係数VakおよびVbkが含まれている。したがって、行程体積Vsおよびクランク角に対する体積変化率dVの波形が変化するエンジン(たとえば、可変圧縮比機構を備えたエンジン)についても、図示平均有効圧Pmiをより正確に算出することができる。
式(6)は、4サイクルエンジンについての式であるが、2サイクルエンジンについても上記と同様の手法で算出されることができることは、当業者には明らかであろう。2サイクルエンジンでは、Tc=T、θc=θが成立する。
式(5)で表される、筒内圧のフーリエ係数PakおよびPbkは、連続時間系の式である。デジタル処理に適した離散系に変形すると、式(7)のように表される。ここで、Nは、クランク周期Tにおけるサンプリング数を示す。積分区間は1燃焼サイクルに相当する長さであり、該1燃焼サイクルでのサンプリング数は、2Nである。nは、サンプリング番号を示す。Pnは、n番目のサンプリングにおける筒内圧を示す。
式(8)〜(8−2)は、式(6)および式(7)をまとめたものである。
この実施例では、式(8―1)および(8−2)に示されるように、筒内圧のフーリエ係数PakおよびPbkは、検出された筒内圧のサンプルPnに応じて逐次的に算出される。
エンジンの特性に従い、エンジンの運転状態に対応する行程体積Vsおよび体積変化率dVの波形が決まる。したがって、エンジンの運転状態に対応する行程体積Vsおよび体積変化率dVをシミュレーション等によって予め求めることができる。この実施例では、エンジンの運転状態に対応する行程体積Vs、フーリエ係数VakおよびVbkを、メモリに予め記憶する。
ここで、フーリエ係数を観察する。式(5)に示すように、筒内圧についてのフーリエ係数のそれぞれは、体積変化率dVの周波数分解により得られる各周波数成分における筒内圧信号の振幅(大きさ)を表す。より具体的には、筒内圧についてのフーリエ係数のそれぞれは、筒内圧信号Pと、体積変化率dVの周波数分解により得られる各周波数成分で構成される信号(基準信号と呼ぶ)との積で表され、よって、両者の相関を表す値(相関関数と呼ぶ)と考えることができる。たとえば、フーリエ係数Pa1は、筒内圧信号Pと基準信号cosθとの相関関数といえる。
ここで図3を参照すると、クランク角に対する体積変化率dVの波形が一定である(言い換えると、行程体積Vsが一定であり、よって体積変化率dVの挙動の態様が一種類である)通常のエンジンにおける体積変化率dVの波形51と、該体積変化率dVの波形と同一の周期を持ったsin関数の波形52(振幅は、行程体積の大きさに依存する)とを示す。この例では、フーリエ係数の演算区間Aは、吸気行程のTDC(上死点)から開始する1燃焼サイクルであり、sin関数は、該演算区間Aの開始においてゼロの値を持つよう設定されている。
図から明らかなように、両者の波形は非常に類似している。これは、体積変化率dVをsin関数で表すことができる、ということを示す。体積変化率dVは、sin関数に対し、オフセットおよび位相差をほとんど持たない。したがって、体積変化率の周波数成分には、直流成分a0およびcos成分がほとんど現れないと予測することができる。
図4は、図3に示すようなエンジンの体積変化率dVをFFT解析した結果を示す。参照符号53は、エンジン回転の1次の周波数成分を示すラインであり、参照符号54は、エンジン回転の2次の周波数成分を示すラインである。この解析結果からわかるように、体積変化率dVは、主に、エンジン回転の1次および2次の周波数成分を持つにすぎない。
図5の(A)は、図3に示す演算区間Aについて、実際に算出した体積変化率dVのフーリエ係数の一例を示す。図5の(B)は、(A)における各成分についてのフーリエ係数の大きさをグラフで表したものである。直流成分Va0および位相がずれたcos成分Vak(k=1、2、...)が、ほぼゼロであることがわかる。また、3次以上の高調波成分(k≧3)も、ほぼゼロであることがわかる。
このように、体積変化率の波形が変化しないエンジンにおいては、体積変化率dVが、エンジン回転の1次および2次の周波数成分を主に含み、さらにそれらのsin成分から構成されていることがわかる。言い換えると、体積変化率dVのフーリエ係数のうち、1次および2次のsin成分以外は省略することができる。これを考慮すると、式(8)〜(8−2)は、式(9)および(9−1)のように表すことができる。
このように、体積変化率dVの波形が変化しないエンジンについては、体積変化率を実質的に構成する周波数成分が1次および2次のsin成分であるので、図示平均有効圧Pmiを算出するのに所望の周波数成分は、エンジン回転の1次および2次の周波数成分である。図示平均有効圧Pmiを算出するのに、体積変化率dVについてのフーリエ係数Vb1およびVb2、および筒内圧Pについてのフーリエ係数Pb1およびPb2があればよい。
上記式(8)および(9)のようにエンジンの仕事量を算出するに先立ち、筒内圧信号Pは、ノイズ除去、アンチエイリアシングおよびドリフト除去のためにフィルタリングされる。
図6は、このようなフィルタについて、従来採用されていたゲイン特性の一例を示す。ここで、上記所望の周波数成分が、エンジン回転の1次および2次周波数であると仮定する。周波数fn1およびfn2のラインが、それぞれ、エンジン回転の1次および2次周波数を示している。該フィルタのカットオフ周波数fc1は、ノイズ、ドリフトおよびエイリアシングに起因する周波数成分を確実に除去すると共に、該所望の周波数成分を確実に通過させるように設定されている。該フィルタは、カットオフ周波数fc1より低い周波数領域において、ゲインが0dBの値を取るよう構成されている。
図7は、本願発明の一実施例に従う、上記筒内圧信号P(筒内圧信号のサンプルPnでもよい)に用いられるフィルタのゲイン特性の一例を示す。横軸は、図6と同じ周波数スケールを持つ。図6と比較して明らかなように、カットオフ周波数fc2は、図6のカットオフ周波数fc1よりも低い値に設定されている。すなわち、カットオフ周波数fc2は、ノイズ、ドリフトおよびエイリアシング等を生じさせる不所望の周波数成分を確実に除去すると共に、上記所望の周波数成分をあえて減衰させるように設定されている。結果として、遮断される周波数領域が、図6よりも広がっている。図6と同様に、該フィルタは、カットオフ周波数fc2より低い周波数領域において、ゲインが0dBの値を取るよう構成されている。
図7のフィルタは、ローパスフィルタ(たとえば、アンチエイリアシングのために用いられる)の例であるので、所望の周波数成分より低い周波数に、カットオフ周波数が設定される。ハイパスフィルタの場合(たとえば、ドリフト除去で用いられる)には、所望の周波数成分より高い周波数にカットオフ周波数を設定して、該所望の周波数成分に減衰を生じさせることとなろう。バンドパスフィルタの場合には、たとえば低域および高域のカットオフ周波数が設定されるが、これらのカットオフ周波数も、所望の周波数成分を減衰させるよう設定される。
図7において、エンジン回転の2次周波数fn2について、フィルタにより減衰したゲインをd2で表し、減衰した結果としてのゲインをr2で表す。したがって、r2+d2は、フィルタリング前の減衰されていない筒内圧を表す。減衰率R2は、以下のように定義される。減衰率は、1より小さい値を持つ。
減衰率R2=r2/(r2+d2)
このように、減衰率Rは、一般に、フィルタへの入力信号値に対する出力信号値の割合を示すと言える。以下、Rkは、エンジン回転のk次の周波数における減衰率を示す。
上記所望の周波数成分、および、エイリアシングおよびドリフト等を防止するために遮断すべき周波数成分(不所望の周波数成分)は、エンジンの運転状態(典型的には、エンジン回転数)に従って変化する。したがって、従来は、図6に示すようなフィルタを、エンジン回転数(またはエンジン回転数の所定範囲)ごとに用意していた。それに対して、本願発明で使用するフィルタは、図7に示すように、不所望の周波数成分は確実に遮断するが、所望の周波数成分については減衰させるようにカットオフ周波数を設定する。したがって、フィルタ要件が図6に比較して緩和され、所定範囲のエンジン回転数に対して用意すべきフィルタの数を、図6に比べて減らすことができる。たとえば、或る範囲のエンジン回転数に対して図6のようなフィルタでは、m個のフィルタが必要なところ、本願発明のフィルタでは、m個より少ないフィルタでよい。
代替的に、所望および不所望の周波数成分は、エンジン負荷等の他の運転状態パラメータに従って変化することがある。このような場合、該他の運転状態パラメータに従って、カットオフ周波数を設定するようにしてもよい。
また、或る高い周波数でサンプリングされた筒内圧信号をフィルタリングし、該フィルタ済み筒内圧信号を、該サンプリング周波数より低い周波数でリサンプリングして、図示平均有効圧の演算に使用する場合がある。このような場合、ナイキストの定理から、該フィルタリングで使用するフィルタは、エイリアシングを防止するために、該リサンプリング周波数の2分の1以下に、カットオフ周波数を設定する必要がある。上記所望の周波数成分を確実に通過させようとすると、このような低いカットオフ周波数により、図6の参照符号61で示すような急峻な遮断特性を必要とすることがある。また、上記所望の周波数成分を確実に通過させると共に、ドリフトを引き起こす周波数を確実に除去しようとすると、やはり、このような急峻な遮断特性が必要とされることがある。
急峻な遮断特性により、フィルタが高次となる。高次のフィルタは、不安定になりやすく、演算負荷が高い。また、図6の参照符号62に示すように、通過周波数領域に、わずかなリップルが生じるおそれがある。
それに対し、本願発明で使用するフィルタによれば、図7に示すように、カットオフ周波数が、所望の周波数成分を減衰させるように設定される。所望の周波数領域から遮断し始める特性となるので、急峻な遮断特性とならず、よって、図6と比較してより少ない次数のフィルタでよい。これは、フィルタを安定にすると共に、演算負荷を軽減する。
このように、本願発明では、所望の周波数成分を減衰させるようカットオフ周波数が設定されたフィルタを用いるが、これにより、図7のd2に示すように、所望の周波数成分に減衰が生じる。本願発明は、この減衰したゲインd2を補償するための手法を提供する(この手法については、後述される)。これにより、図7のようなフィルタを用いることを可能にしつつ、エンジンの仕事量を、精度の低下なくして算出することができる。
フィルタは、一般に、ゲイン特性と位相特性により特徴づけられることができるが、本願発明で使用するフィルタの位相特性について、一例を図8に示す。
図9は、本願発明の一実施例に従う、図7に示すようなフィルタを用いた場合の、図示平均有効圧を算出する装置のブロック図を示す。示されるブロックの機能は、典型的には、図1のECU1に実現される。この実施例では、図示平均有効圧の算出に所望の周波数成分は、エンジンの体積変化率の周波数分解を介して、予め決まっていると仮定する。
運転状態検出部101は、エンジンの運転状態を検出する。この実施例では、エンジンの運転状態は、エンジン回転数NEを含む。前述したように、エンジン回転数NEは、クランク角センサ17(図1)からの検出信号に基づいて検出されることができる。
この実施例では、エンジン回転数NEに対応するフィルタおよび該フィルタのフィルタ特性(ゲイン特性および位相特性を含む)が、ECU1のメモリに予め記憶されている。たとえば、或る範囲のエンジン回転数に対しては、第1のフィルタが対応づけられており、該第1のフィルタのフィルタ特性が、メモリに記憶されている。他の範囲のエンジン回転数に対しては、第2のフィルタが対応づけられており、該第2のフィルタのフィルタ特性が、メモリに記憶されている。これらのフィルタはいずれも、図7を参照して説明したようなゲイン特性を持ち、たとえば図8に示すような位相特性を持つ。前述したように、図6のようなゲイン特性を持つフィルタに比べ、所定範囲のエンジン回転数に対して用意すべきフィルタの数が減ることに注意されたい。
フィルタ選択部102は、運転状態検出部101により検出されたエンジン回転数NEに基づいてメモリを参照し、該エンジン回転数に対応するフィルタを選択する。
筒内圧フィルタ部103は、フィルタ選択部102で選択されたフィルタを用いて、筒内圧センサ15を介して検出されサンプリングされた筒内圧信号Pnをフィルタリングし、フィルタ済み筒内圧信号FPnを生成する。
この装置は、さらに、cos波生成部104およびsin波生成部105を備える。cos波生成部104は、式(8)におけるcos波信号Ck(=cosk×(2π/N)×n)を生成する。次数kごとに、cos生成部が設けられる。すなわち、1次cos波生成部1041〜K次cos生成部104Kが設けられる。
sin波生成部105は、式(8)におけるsin波Sk(=sink×(2π/N)×n)を生成する。次数kごとに、sin生成部が設けられる。すなわち、1次sin波生成部1051〜K次sin生成部105Kが設けられる。
cos波フィルタ部106は、それぞれの次数のcos生成部104に対応するよう設けられる。それぞれのcos波フィルタ部106は、好ましくは、筒内圧フィルタ部103と同じフィルタ特性を有するフィルタ(すなわち、フィルタ選択部102により選択されたフィルタ)で、cos波信号Ckをフィルタリングする。こうして、フィルタ済みcos波信号FCk(=F(cosk×2π/N×n))が生成される。
sin波フィルタ部107は、それぞれの次数のsin生成部105に対応するよう設けられる。それぞれのsin波フィルタ部107は、好ましくは、筒内圧フィルタ部103と同じフィルタ特性を有するフィルタ(すなわち、フィルタ選択部102により選択されたフィルタ)で、sin波信号Skをフィルタリングする。こうして、フィルタ済みsin波信号FSk(=F(sink×2π/N×n))が生成される。
筒内圧用のフィルタと同じフィルタ特性を持つフィルタで、基準信号(cos波信号Ckおよびsin波信号Sk)をフィルタリングすることにより、筒内圧信号と基準信号との間に、フィルタリングに起因する位相ずれが生じることを防止することができる。
前述したように、行程体積Vsと、所望の周波数成分についての体積変化率のフーリエ係数VakおよびVbkは、予め算出されECU1のメモリに記憶されている。体積データ決定部108は、該メモリにアクセスし、行程体積Vs、体積変化率のフーリエ係数VakおよびVbkを取得する。
減衰率決定部109は、所望の周波数成分について、減衰率Rkを決定する。減衰率Rkを決定するいくつかの手法が考えられ、これについては後述される。
Pmi算出部110は、式(10−1)および(10−2)に示すように、フィルタ済み筒内圧FPn、フィルタ済みcos信号FCkおよびフィルタ済みsin信号FSkを用いて、筒内圧についてのフーリエ係数FPakおよびFPbk(フィルタ済みフーリエ係数と呼ぶ)を算出する。
Pmi算出部110の目的は、減衰が補償された図示平均有効圧を算出することである。すなわち、式(8)で表される図示平均有効圧Pmi(これは、減衰されていない図示平均有効圧である)を、フィルタを介して得られたフィルタ済みフーリエ係数FPakおよびFPbkを用いて算出することである。
式(8―1)および(8−2)におけるフーリエ係数PakおよびPbkと、式(10−1)および(10−2)により得られるフーリエ係数FPakおよびFPbkとの間には、次の式のような関係が成立する(この技術的根拠については、後述される)。
式(11−1)および(11−2)に示すように、式(8)〜(8−2)のフーリエ係数PakおよびPbkは、フィルタ済みフーリエ係数FPak、FPbkおよび減衰率Rkから算出されることができる。したがって、式(8)〜(8−2)は、式(12)〜(12−2)のように書き直されることができる。
式(12)に従って算出される図示平均有効圧Pmiは、減衰が補償された図示平均有効圧である。
Pmi算出部110は、所望の周波数成分に従って、上記式(12)を計算する。たとえば、所望の周波数成分が、エンジン回転の1次および2次周波数のsin波成分であれば、kは、1および2の値を取る。Pmi算出部110は、以下の式(13)に従って、減衰が補償された図示平均有効圧Pmiを算出する。
Pmi算出部110は、所望の周波数成分ではないcos波フィルタ部およびsin波フィルタの出力を無視するよう構成されることができる。代替的に、所望の周波数成分に対応するcos波生成部およびcos波フィルタ部、sin波生成部およびsin波フィルタ部のみを設けてもよい。式(13)の例では、1次および2次のsin波生成部1051および1052と、これらに対応するsin波フィルタ部1071および1072のみを設ければよい。
ここで、式(11−1)および(11−2)が成立する根拠について、説明する。
簡単のため、次数kが1であり、フィルタ済みフーリエ係数FPb1を例にとって説明する。次数k(k=0、1、2、・・・)についての該フィルタの減衰率および位相遅れを、それぞれRkおよびΦkとする。
式(14)に示すように、フィルタ済みフーリエ係数FPb1は、1次sin波フィルタ部107
1を通過した信号FS
1と、フィルタ済み筒内圧信号FPとの積を積分することにより表される。ここで、FS
1は、R
1sin(θ+Φ
1)で表される。
上記の式(14)のフィルタ済み筒内圧信号FPを、フーリエ級数展開すると、式(15)のようになる。
三角関数の直交性により、同一の周波数成分同士の積のみが残る。すなわち、R
1Pb
1sin(θ+Φ
1)と、sin(θ+Φ
1)の積のみが残り、結果として、式(16)のように表されることができる。
こうして、上記(11−1)が成立する。他のフーリエ係数についても同様であり、よって、上記の式(11−2)が成立する。
次に、減衰率決定部109による、減衰率Rkを決定するいくつかの手法について説明する。
一実施例では、前述したように、エンジン回転数に対応するフィルタおよびそのフィルタ特性が予めメモリに記憶される。図7を参照して述べたように、減衰率は、フィルタのゲイン特性により決まるので、該減衰率も予めメモリに記憶される。したがって、減衰率決定部109は、フィルタ選択部102により選択されたフィルタについて、メモリから、所望の周波数成分における減衰率を抽出する。たとえば、式(13)に従って図示平均有効圧を算出する場合には、所望の周波数成分が、エンジン回転の1次および2次周波数であり、抽出される減衰率は、R1およびR2である。こうして決定された減衰率は、Pmi算出部110に渡される。
他の実施例では、減衰率決定部109は、リアルタイムに減衰率を算出する。リアルタイム算出の一手法によると、減衰率決定部109は、k次のsin波フィルタ107kにより生成されたフィルタ済みsin波(正弦波)信号と、k次のcos波フィルタ106kにより生成されたフィルタ済みcos波(余弦波)信号とを受取り、式(17)に従って、減衰率Rkを2乗した値を算出する。この算出を図式的に表したのが、図10に示されている。kは、所望の周波数成分の次数を示す。たとえば、所望の周波数成分が1次および2次の周波数成分ならば、k=1および2のそれぞれについて、R
1およびR
2が算出される。式(17−1)により、減衰率Rkが算出される。
リアルタイム算出の他の手法では、±1の間で振幅するsin波信号およびcos波信号を用いる。sin波信号とcos波信号は90度の位相ずれを持つので、k次のフィルタ済みsin波信号の値がゼロの時のk次のフィルタ済みcos波信号の絶対値は、減衰率Rkを示す。または、k次のフィルタ済みcos波信号の値がゼロの時のk次のフィルタ済みsin波信号の絶対値は、減衰率Rkを示す。
図11の例で述べれば、±1の間で振幅するsin波信号およびcos波信号は、フィルタを通過することにより、±Rkの間で振幅する基準信号となる。減衰率決定部109は、k次のsin波フィルタ107kにより生成されたフィルタ済みsin波信号と、k次のcos波フィルタ106kにより生成されたフィルタ済みcos波信号とを受取る。減衰率決定部109は、フィルタ済みsin波信号(Rksin(kθ+Φk))がゼロの時のフィルタ済みcos波信号(Rkcos(kθ+Φk)の値を、減衰率Rkとして求める。または、フィルタ済みcos波信号(Rkcos(kθ+Φk))がゼロの時のフィルタ済みsin波信号(Rksin(kθ+Φk)の値を、減衰率Rkとして求める。ここで、位相遅れΦkは、図8に示されるように、負の値を取る。
リアルタイムの減衰率算出は、たとえばエンジンの運転状況に応じて最適なフィルタリングを適宜設計する場合、または、非線形フィルタを連続的に切り換えていく場合等には、有利な手法である。たとえば、図9のフィルタ選択部102は、検出されたエンジン回転数NEに応じて、不所望の周波数領域を求め、該周波数領域を確実に遮断するようカットオフ周波数をリアルタイムに決定することにより、動的にフィルタを構成することができる。たとえばドリフトが現れる周波数領域は、エンジン回転の1次周波数より低いことが判明しており、検出されたエンジン回転数から、該不所望の周波数領域を算出することができる。こうしてリアルタイムに構成されたフィルタについて、減衰率をリアルタイムに算出することができる。
また、フィルタをアナログフィルタで実現する場合には、減衰率をリアルタイムに算出するのが好ましい。アナログ回路の個体差および温度によりアナログフィルタの特性に変化が生じても、減衰率を正確に算出することが可能となる。
エンジンの熱効率向上のために、可変圧縮比機構を備えるエンジンが提案されている。この機構は、ECU1からの制御信号に従って、燃焼室8内の圧縮比を変更することができる。
可変圧縮比機構の中には、圧縮比に応じて、行程堆積Vsおよび体積変化率dVの波形を変化させるものがある。体積変化率dVの波形が変化すると、エンジンの仕事量を算出するのに所望の周波数成分が変化する。図3の例では、1次および2次のsin波が、体積変化率を実質的に構成する周波数成分であった。したがって、所望の周波数成分は、エンジン回転の1次および2次周波数成分のsin成分である。しかしながら、可変圧縮比機構が搭載されると、体積変化率を実質的に構成する周波数成分が、圧縮比に従って変化することがある。
図12の(A)は、可変圧縮比機構を搭載したエンジンの或る運転状態における体積変化率dVの波形の一例を示す。体積変化率dVの波形161と同一の周期を持つsin関数の波形162が示されている。
体積変化率dVの波形161は、sin関数の波形162よりも歪んでおり、sin成分だけでなくcos成分も含んでいることが予想される。図12の(B)は、演算区間Aについて算出された、(A)に示す体積変化率dVの各成分におけるフーリエ係数の値を示す。1次および2次のsin成分、および1次および2次のcos成分により、体積変化率dVを良好に表せることがわかる。したがって、図示平均有効圧Pmiは、式(18)のように表せる。行程体積Vsには、検出されたエンジンの運転状態(たとえば、圧縮比)に対応する値が代入される。
この例では、所望の周波数成分は、エンジン回転の1次および2次周波数成分のsinおよびcos成分である。
図13は、このような可変圧縮比機構が搭載された場合の、図示平均有効圧を算出するためのブロック図である。図9と異なる点のみ説明する。これらの機能ブロックは、典型的には、図1のECU1に実現される。
運転状態検出部201は、さらに、燃焼室8内の圧縮比Crを検出する。圧縮比Crは、任意の適切な手法で検出されることができる。たとえば、圧縮比センサを設けることができる。代替的に、燃焼室内の体積の変化を検出する所定のセンサを設け、該体積の変化から、圧縮比を算出してもよい。
ECU1のメモリには、圧縮比Crに応じた行程体積Vs、体積変化率のフーリエ係数VakおよびVbkが、予めシミュレーション等によって決定され記憶されている。図14に、メモリに記憶されることのできるマップの一例を示す。
体積データ決定部208は、検出された圧縮比Crに基づいて、図14の(B)のようなマップを参照し、体積変化率のフーリエ係数についての所望の周波数成分を判断する。図14の(B)の例では、マップに、フーリエ係数Vb1、Vb2、Va1およびVa2が規定されている。したがって、所望の周波数成分は、1次および2次のsin成分およびcos成分であると判断する。代替的に、図14の(B)とは異なるマップに、圧縮比に対応する所望の周波数成分の種類を規定しておいてもよい。
体積データ決定部208は、該マップから、検出された圧縮比に対応するフーリエ係数VakおよびVbkの値を抽出する。図14の(B)の例では、Va1、Va2、Vb1およびVb2の値が抽出される。
体積データ決定部208は、さらに、図14の(A)に示すようなマップを参照し、検出された圧縮比Crに対応する行程体積Vsを抽出する。
フィルタ選択部202は、図9のフィルタ選択部102と同様に動作する。前述したように、フィルタ選択部202を、体積データ決定部208により決定された所望の周波数成分に基づいて、リアルタイムにカットオフ周波数等のフィルタ特性を決定するよう構成してもよい。
筒内圧フィルタ部203、cos波生成部204、sin波生成部205、cos波フィルタ部206およびsin波フィルタ部207は、図9に示されるものと同様に動作する。
減衰率決定部209は、体積データ決定部208により決定された所望の周波数成分について、減衰率Rkを、前述したようないくつかの手法のいずれかで決定する。
Pmi算出部210は、体積データ決定部208により決定された所望の周波数成分のcos波フィルタおよび(または)sin波フィルタから、フィルタ済みcos波信号およびフィルタ済みsin波信号を受取る。Pmi算出部210は、他の周波数成分のcos波フィルタおよびsin波フィルタの出力を無視することができる。Pmi算出部210は、さらに、体積データ決定部208から、行程体積Vs、所望の周波数成分のフーリエ係数VakおよびVbkを受取り、減衰率決定部209から減衰率Rkを受取る。こうして、Pmi算出部210は、受取ったこれらのデータを用いて、式(12)を計算する。
たとえば、所望の周波数成分が1次および2次のsinおよびcos成分である場合には、Pmi算出部210は、体積データ決定部208からVs、Va1、Vb1、Va2およびVb2を受け取り、筒内圧フィルタFP、1次および2次のcos波フィルタの出力FC
1およびFC
2、および、1次および2次のsin波フィルタの出力FS
1およびFS
2を受け取り、減衰率決定部209からR
1およびR
2を受け取り、式(19)〜(19−2)に従って、図示平均有効圧Pmiを算出する。
この実施例では、体積データ決定部208が、所望の周波数成分を、検出された圧縮比から判断している。代替的に、所望成分決定部を設け、検出された圧縮比から、所望の周波数成分を決定して、この情報を体積データ決定部208、減衰率決定部209およびPmi算出部210に渡すようにしてもよい。
図15は、本願発明の一実施例に従う、図示平均有効圧を算出するプロセスのフローチャートである。このプロセスは、所定の時間間隔で、ECU1によって実行される。このプロセスは、図13に示される実施形態に基づいている。
ステップS1において、検出された圧縮比に基づいて、所望の周波数成分を決定する。前述したように、たとえば図14の(B)のようなマップを参照することにより、所望の周波数成分を決定することができる。図14の(B)の例では、所望の周波数成分は、エンジン回転の1次および2次周波数のsin成分およびcos成分である。
ステップS2において、サンプリングされた筒内圧信号Pを取得すると共に、基準信号(sin波および(または)cos波信号)を生成する。
ステップS3において、検出されたエンジン回転数NEに従って、使用すべきフィルタを選択し、筒内圧信号Pおよび基準信号をフィルタリングする。
ステップS4において、前述した手法のいずれかに従って、所望の周波数成分についての減衰率Rkを決定する。
ステップS5において、フィルタ済み筒内圧信号およびフィルタ済み基準信号を、リサンプリングする。これは、演算負荷をより低減するためである。フィルタリング処理は、筒内圧信号をサンプリングする周波数で実施されることができるが、図示平均有効圧の演算は、このような高い周波数で行う必要は必ずしもない。したがって、該サンプリング周波数よりも低い周波数で、リサンプリングする。しかしながら、この処理は、必ずしも必要とされない。
ステップS6において、検出された圧縮比Crに基づいて、図14の(A)および(B)のようなマップを参照し、行程体積Vs、体積変化率のフーリエ係数VakおよびVbk(図14の例では、Va1、Va2、Vb1およびVb2)を抽出する。ステップS6は、ステップS2〜S4と、並列に実行されることができる。
ステップS7において、上記の式(12)に従い、図示平均有効圧Pmiを算出する。図14の例では、Va1、Va2、Vb1およびVb2が抽出されるので、式(19)に従って図示平均有効圧Pmiが算出される。
図9および図13では、筒内圧信号および基準信号のそれぞれを、1つのフィルタでフィルタリングするように示されている。しかしながら、除去すべきノイズの種類に従って、複数のフィルタを用いることができる。たとえば、筒内圧信号に対し、エイリアシングを防止するために第1のフィルタでフィルタリングし、その後、ドリフトを除去するために第2のフィルタでフィルタリングすることができる。第1および第2のフィルタは、図7を参照して述べたような特性を持つ。すなわち、第1のフィルタは、エイリアシングを引き起こす周波数成分を遮断すると共に、所望の周波数成分を減衰させるようカットオフ周波数が設定される。第2のフィルタは、ドリフトを引き起こす周波数成分を遮断すると共に、所望の周波数成分を減衰させるようカットオフ周波数が設定される。
このように複数のフィルタを用いた場合、それぞれのフィルタにより減衰したゲインを補償する。すなわち、式(12)中のRkは、該2つのフィルタについての減衰率を示す。第1のフィルタの減衰率がR1kであり、第2のフィルタの減衰率が、R2kであるとすると、Rkは、R1k×R2kで表されることができる。
上で述べた実施形態では、体積変化率のフーリエ係数VakおよびVbkを、予めメモリに記憶していた。エンジンの特性に従い、圧縮比に応じた体積変化率dVの波形は決まる。したがって、検出された圧縮比に応じて、図3および図12に示すような波形を持つ体積変化率dVをメモリから抽出し、該体積変化率から、フーリエ係数をリアルタイムに算出してもよい。この算出式を、式(20)に示す。ここで、Vnは、n番目のサンプリングで得られた体積変化率を示し、これは、図3および図12に示すような波形から求められることができる。なお、体積変化率のフーリエ係数は、体積Vnと、所望の周波数成分から構成される基準関数との積で表されるので、両者の相関関数と考えることができる。
積分区間は、2クランク周期、すなわち1燃焼サイクルに相当する長さでもよい。この場合、式(21)のようにして、体積変化率のフーリエ係数を算出することができる。計算結果は、式(20)と同じである。
上の実施形態では、基準信号と筒内圧/体積変化率の相関関数を用いることによって、エンジンの仕事量を算出するのに用いる周波数成分を指定することを可能にしている。指定されなかった周波数成分についての演算が不要となるので、計算負荷が軽減される。
しかしながら、代替的に、周波数成分を指定しない形態にも、本願発明は適用可能である。たとえば、筒内圧信号Pは、図7に示すようなフィルタでフィルタリングされると、所望の周波数成分が減衰され、かつ不所望な周波数成分が遮断された筒内圧信号FPが出力される。ここで、所望の周波数成分は、上で述べた実施形態のように、体積変化率を周波数分解することにより決定されることができる。たとえば、所望の周波数成分が1つであり、該所望の周波数成分におけるフィルタの減衰率をRとすると、FP=R
2×Pが成立する。したがって、図示平均有効圧Pmiは、式(22)に従って算出することができる。ここで、nは、サンプリング番号を示し、1燃焼サイクルにおけるサンプル数は、2Nである。Vsは、エンジンの行程体積を示し、Vnは、n番目のサンプリングにおける体積変化率を示し、図3および図12に示すような波形から求めることができる。VsおよびVnは、前述したように、エンジンの運転状態に応じて予め算出され記憶されることができる。
上の実施形態で説明されたフィルタは、好ましくはデジタルフィルタである。デジタルフィルタを用いることにより、アナログフィルタを用いた場合のアナログ回路のバラツキや時定数のバラツキを回避することができる。しかしながら、アナログフィルタで実現してもよい。
また、上記の実施形態では、筒内圧センサ15により得られた筒内圧の変化を示す信号dPを積分することにより得た筒内圧Pをフィルタリングして、フィルタ済み筒内圧FPを算出していた。代替的に、該筒内圧変化信号dPをフィルタリングした後に積分を行うことにより、フィルタ済み筒内圧FPを算出してもよい。積分操作に伴う所望の周波数成分の値の変化は、容易に補償可能であるからである。
本発明は、汎用の(例えば、船外機等の)内燃機関に適用可能である。