(57)【特許請求の範囲】
【請求項１】
内燃機関のノッキング状態に関する物理量からノッキングの特徴を表わす複数の特徴成分と前記特徴成分に対応したバックグランドレベルとなる比較成分を抽出し、前記複数の特徴成分と前記比較成分との比較によりノッキングを検出すると共に、前記特徴成分に対応した比較成分のうち少なくともいずれかの比較成分が予め定める限界比例成分以下のときには、限界比例成分以下の比較比例成分を、対応する限界比較成分の値とすることを特徴とする内燃機関のノッキング検出方法。
【請求項２】
内燃機関のノッキング状態に関する物理量からノッキングの特徴を表わす複数の特徴成分と前記特徴成分に対応したバックグランドレベルとなる比較成分を抽出し、前記複数の特徴成分と前記比較成分との比較によりノッキングを検出すると共に、前記特徴成分のうち少なくともいずれかの特徴成分が予め定める限界特徴成分以下のときには、限界特徴成分以下に対応する特徴成分を、対応する限界特徴成分の値とすることを特徴とする内燃機関のノッキング検出方法。
【請求項３】
請求項１または２のいずれかに記載の内燃機関のノッキング検出方法において、前記複数の特徴成分と前記比較成分との比較によりノッキングの検出は、前記特徴成分として抽出された複数の選択周波数のうち、前記比較による結果の所定順位までのものを用いることを特徴とする内燃機関のノッキング検出方法。
【請求項４】
請求項１から３のいずれかに記載の内燃機関のノッキング検出方法において、前記限界比例成分は、運転領域毎、内燃機関の気筒毎又は共鳴周波数ごとの少なくともいずれかに基づいて設定されることを特徴とする内燃機関のノッキング検出方法。
【請求項５】
請求項１に記載の内燃機関のノッキング検出方法において、ノッキングの発生が無いとの判断されると共に、前記特徴成分に対応した比較成分のうち少なくともいずれかの比較成分が予め定める限界比例成分以下のときには、限界比例成分以下の比較比例成分を、対応する限界比較成分の値とすることを特徴とする内燃機関のノッキング検出方法。
【請求項６】
請求項２に記載の内燃機関のノッキング検出方法において、ノッキングの発生が無いと判断される共に、前記特徴成分のうち少なくともいずれかの特徴成分が予め定める限界特徴成分以下のときには、限界特徴成分以下に対応する特徴成分を、対応する限界特徴成分の値とすることを特徴とする内燃機関のノッキング検出方法。
【請求項７】
請求項１，４，５のいずれかに記載の内燃機関のノッキング検出方法において、前記限界比例成分は、特徴成分に対応した選択周波数毎の平均比較成分の所定定数にて徐した値であることを特徴とする内燃機関のノッキング検出方法。
【請求項８】
請求項７に記載の内燃機関のノッキング検出方法において、前記所定定数は３として、前記平均比較成分の１／３であることを特徴とする内燃機関のノッキング検出方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は内燃機関のノッキングを検出するための検出方法及びこれを用いた点火時期制御方法に関するものである。
【０００２】
【従来の技術】
周知のようにノッキングは燃焼室内の端末部の未燃ガスの自己発火により燃焼室内のガスが振動を起こし、この振動が機関本体に伝われる現象である。
【０００３】
そして、このノッキングは機関の発生エネルギの損失（出力低下）や機関各部への衝撃、さらには燃費の低下等を招来するため、できるだけ回避するのが望ましく、そのためにはノッキングの発生を正確に検出することが不可欠である。
【０００４】
このような要請のもと、例えば特開昭58−45520 号公報に記載のように、振動検出センサの出力信号の中から５〜１２ｋＨｚの範囲の単一の共鳴周波数成分だけをバンドパスフィルタを用いて分離し、その出力の積分値がバックグランドレベルより大きくなったか否でノッキングの発生を検出するものが知られている。ところが、このように単一の共鳴周波数成分だけを用いてノッキングの発生を検出するものでは、バックグランドレベルが高速回転時には大きくなり正確なノッキング発生の検出ができないとか、機関の諸元が変わるとノッキングの共鳴周波数も変化して正確なノッキング発生の検出ができないといった問題をかかえていた。
【０００５】
そこで、本出願人はこのような問題を解決するため、例えば特開平3−47449号公報にあるように、複数の共鳴周波数成分を取り出してノッキングの検出を行う方法を提案した。
【０００６】
この方法はノッキングの正確な検出という点では画期的なもので高く評価されている。
【０００７】
【発明が解決しようとする課題】
ところで、最近は更なる燃費の向上，排気浄化性能の向上等の要求で機関の圧縮比を上げる試みがなされているが、この圧縮比を上げることによって更にノッキングが発生し易くなり、更にノッキングの検出精度を向上することが求められている。
【０００８】
そして、上述したように複数の共鳴周波数成分を取り出してノッキングの検出を行う方法において更にノッキングの検出精度を高める場合、以下に述べるような問題を解決する必要があることがわかった。
【０００９】
すなわち、周波数特性に劣った機関の場合、振動センサの能力やその取付位置等の影響によってバックグランドレベルが一時的あるいは継続的に変動、例えば小さくなる運転状態や周波数帯が存在することである。
【００１０】
したがって、例えば、ノッキングの発生を検出するための１つのパラメータとして用いられるバックグランドレベルが異常に小さくなると、ノッキングが発生していないにもかかわらず複数の共鳴周波数のうちの１つあるいはそれ以上の周波数帯でノッキングが発生しているという誤った信号が形成される。
【００１１】
このため、複数の共鳴周波数を用いてノッキングを検出しているにもかかわらず、そのうちの１つあるいはそれ以上の周波数帯でノッキングが発生しているという誤った信号が形成されると、それが全体の共鳴周波数のノッキング判定に悪影響を及ぼし、結果的にノッキングの検出精度を向上するうえで障害となっていた。
【００１２】
【課題を解決するための手段】
上記課題は、内燃機関のノッキング状態に関する物理量からノッキングの特徴を表わす複数の特徴成分と前記特徴成分に対応したバックグランドレベルとなる比較成分を抽出し、前記複数の特徴成分と前記比較成分との比較によりノッキングを検出すると共に、前記特徴成分に対応した比較成分のうち少なくともいずれかの比較成分が予め定める限界比例成分以下のときには、限界比例成分以下の比較比例成分を、対応する限界比較成分の値とすることを特徴とする内燃機関のノッキング検出方法により達成される。
また、上記課題は、内燃機関のノッキング状態に関する物理量からノッキングの特徴を表わす複数の特徴成分と前記特徴成分に対応したバックグランドレベルとなる比較成分を抽出し、前記複数の特徴成分と前記比較成分との比較によりノッキングを検出すると共に、前記特徴成分のうち少なくともいずれかの特徴成分が予め定める限界特徴成分以下のときには、限界特徴成分以下に対応する特徴成分を、対応する限界特徴成分の値とすることを特徴とする内燃機関のノッキング検出方法によっても達成される。
内燃機関のノッキング状態に関する物理量のノッキングの特徴を表わす複数の特徴成分と前記物理量に基づいて定められる比較成分とを抽出し、前記複数の特徴成分と前記比較成分の関係からノッキングに関する情報を抽出すると共に、前記複数の特徴成分又は前記比較成分のうち少なくともいずれか一方に限界値の制限を設けることを特徴とする内燃機関のノッキング検出方法により達成される。
【００１３】
また、本発明の他の特徴は限界比較成分を特徴成分に対応して用いるようにしたところにある。
【００１４】
更に、本発明の他の特徴は限界比較成分は特徴成分に対して共通して用いるようにしたところにある。
【００１６】
【実施例】
以下図面に従い、本発明の一実施例を詳細に説明する。
【００１７】
まず始めに、本発明におけるノッキングの発生の有無の判定の原理について説明する。エンジンの振動には多くの振動成分が含まれている。例えば、ピストンの摩擦，クランク軸の回転，弁の作動などによる振動成分などである。さらに、これらの振動成分はエンジン状態によって変化する。
【００１８】
エンジンにノッキングが発生すると、ノッキングに特有な振動が発生する。ノッキングの発生の有無の判定は、振動センサが検出するエンジンの全体の振動からノッキングに特有な振動を分離することによってなされる。
【００１９】
図２はノッキングが発生していない時の振動センサの出力の周波数成分の解析結果を表わした図である。一方、図３はノッキングが発生した時の振動センサの出力の周波数成分の解析結果を表わした図である。
【００２０】
そして図２と図３を比較すれば分かるように、ノッキングが発生している場合は、ノッキングが発生していない場合に比して、各々の共鳴周波数成分が大きくなっていることが理解できる。
【００２１】
次に図４，図５を用いて、ノッキング判定指標を用いたノッキング発生の有無の判定について説明する。なお、原理動作の説明のために、共鳴周波数ｆ10(6.3ＫＨｚ）とｆ01（１３.０ＫＨｚ ）の周波数成分を用いて説明する。しかしながら、これに拘束されるものではなく、任意の２以上の共鳴周波数成分を用いてノッキング発生の有無の判定ができる。
【００２２】
振動センサはノッキング発生による振動とバックグランド振動を含んだ振動を合成して検出する。したがって、ノッキング判定指標Ｉは、ノッキングが発生していないときはバックグランド振動で定められる指標Ｉb となり、ノッキングが発生したときはバックグラウンド振動Ｉb とノッキングの発生による振動Ｉk を含んで定められる指標Ｉとなる。
【００２３】
上記ノッキング判定指標Ｉを主要な共鳴周波数成分を用いて数式化すると下式となる。
【００２４】
【数１】
0003668497.tif 000002
【００２５】
ここで、ωはエンジン回転数で定まる実数値をとる。また、１か０かの２値をとることもできる。Ｐは各共鳴周波数成分の振動強度（パワースペクトル）である。
【００２６】
図４に示すようにバックグラウンド振動の共鳴周波数成分によって示されるノック判定指標Ｉb とノッキングの発生による振動の共鳴周波数成分によって示される指標Ｉk は方向と大きさを異にしている。これは人間による聴覚試験でも明らかなように、ノック無の場合のエンジン音に対しノック有の場合は例えばカリカリ等という音で聴き分けられるものであり、ノッキ有り無しによって音色が異なるためである。
【００２７】
バックグランド振動にノッキングの発生による振動が加わってくると、振動センサに含まれるｆ01，ｆ10成分によるノック判定指標Ｉは図４の場合ではノック判定閾値Ｉ01を下回る領域に入り、また図５で閾値Ｉ02の外側に出ることによりノッキング発生の有りを判定することができる。
【００２８】
なお、本明細書において、（１）式の右辺の５つの項に限らず、振動センサの出力に含まれる複数の共鳴周波数成分を複合的に用いたものをすべてノッキング判定指標と定義する。
【００２９】
このように、ノッキング判定指標を用いるとバッググランド振動に対してノッキングの発生による特有な周波数成分の構成が考慮されるので、バックグラウンド振動が大きくなってもノッキング発生の有無が判定できる。
【００３０】
ところで、先に説明したように、振動センサの能力やその取付位置等の影響によってバックグラウンドレベルが一時的あるいは継続的に小さくなる運転状態や周波数帯が存在し、このためノッキングが発生していないノッキングが発生しているという誤った信号が形成される。
【００３１】
例えば、信号／ノイズ（バックグラウンドレベル）比（Ｓ／Ｎ比）でノッキングの共鳴周波数のエネルギを求めようとする場合、共鳴周波数の１つのバックグラウンドレベルが異常に低下するとこの時のＳ／Ｎ比は異常に大きくなり、最終的に複数の共鳴周波数による判定に影響を大きく及ぼし、しいてはノッキングの検出精度向上を阻害するようになる。
【００３２】
このため、本発明は共鳴周波数の１つあるいはそれ以上の周波数帯に対してバックグラウンドレベルが異常に低下した時には、そのバックグラウンドレベルを使用せずに、予め定めた限界値、たとえばバックグラウンド下限リミッタを使用して上述の問題を解決するようにしたものである。
【００３３】
以下、本発明の中心となるノッキングの検出方法について詳細に説明する。
【００３４】
図６は周波数毎の振動強度（パワースペクトル）を表わしており、ノッキングが発生している場合を実線で示し、ノッキングが発生していない場合を破線で示してあり、ノッキングの発生によって各共鳴周波数帯での振動強度が大きくなっていることがわかる。
【００３５】
ところが、例えばｆ1 とかｆ9 に示されるような振動強度の小さい特異周波数が存在する場合とか、図７のＡに示すように機関の素質によるノイズ成分が多い場合には図８のＢに示すようにバックグラウンドレベルが異常に落ち込む現象が生じる。
【００３６】
このため、Ｓ／Ｎ比が異常に大きくなり図９に示すように最終的なノッキング判定のための指数が狂って誤判定をしてしまうという問題が生じた。
【００３７】
そこで本発明では、図８に示されるバックグラウンドレベルに対して破線で示す下限リミッタを設定するようにしてノッキングの誤判定をなくすようにしたものである。
【００３８】
まず、ＣＰＵによるノッキング発生の有無の判定処理の動作を図１を用いて説明する。
【００３９】
図１において、このフローチャートは爆発サイクル毎に実行されるもので、  ＣＰＵに割込みをかけて起動される。
【００４０】
ステップ１０１では振動センサからの出力信号がＡ／Ｄ変換器で変換されたＡ／Ｄ変換値が取り込まれる。
【００４１】
次にステップ１０２ではＡ／Ｄ変換された振動センサの信号を周波数分析する。この周波数分析は高速フィーリェ変換やウォルシュフィーリェ変換といった手法で行われる。
【００４２】
この後、ステップ１０３で周波数分析された信号のうち、共鳴周波数を含む周波数帯を複数個選択する。本実施例では８個の共鳴周波数が選択される。
【００４３】
ステップ１０３で周波数が選択されると、次にステップ１０４で振動強度を表わすＳ／Ｎ比を選択周波数毎に求める。
【００４４】
つまり、複数の選択周波数（ｆ1 ……ｆi ）、本実施例ではｆ1 ……ｆ8 と、これに対応した周波数のバックグラウンドレベル（ＢＧＬ1 ……ＢＧＬi ）、本実施例ではＢＧＬ1 ……ＢＧＬ8 を求め、各周波数毎のＳ／Ｎ比ＳＬi ＝ｆi ／ＢＧＬi を求める。
【００４５】
したがって本実施例ではＳＬ1＝ｆ1／ＢＧＬ1，……，ＳＬ8＝ｆ8／ＢＧＬ8が求められる。
【００４６】
次に、ステップ１０５でこれら選択された周波数のうちＳ／Ｎ比が大きい順にｍ個、本実施例では５個を抽出してノック強度を求める。このノック強度を求める式は例えば、
【００４７】
【数２】
0003668497.tif 000003
【００４８】
で表わされるようにＳ／Ｎ比を加算して求められる。
【００４９】
ノック強度が求まると、ステップ１０６でノック判定のための所定値とステップ１０５で求められたノック強度が比較され、ステップ１０５で求められたノック強度が大きいと判断されるとノッキングが生じたとしてステップ１０７でノッキングが検出される。
【００５０】
その後ステップ１０８でノッキング発生を示すノックフラグに“１”をセットする。このノックフラグは別に起動される点火制御タスクで用いられる。
【００５１】
一方、ステップ１０６でノック強度が所定値より小さいと判断されるとノッキングが生じていないとしてステップ１０９で各バックグラウンドレベルＢＧＬi が予め定めた限界値、ここでは下限リミッタＢＧＬＭＴi より大きいかどうかが判断される。本実施例ではＢＧＬ1 ……ＢＧＬ8 に対してＢＧＬＭＴ1 ……    ＢＧＬＭＴ8 が比較される。
【００５２】
ステップ１０９でバックグラウンドレベルが下限リミッタＢＧＬＭＴi より大きいと判断、つまり正常のバックグラウンドレベルと判断されるとステップ110 でバックグラウンドレベルＢＧＬi の更新が行われる。
【００５３】
このバックグラウンドレベルＢＧＬi の更新は選択された周波数の振動強度をフィルタ処理して求められる。具体的には各々の選択された周波数毎にＢＧＬi ＝ＢＧＬi×（１−α）＋ｆi×αで求められる。
【００５４】
逆に、ステップ１０９でバックグラウンドレベルＢＧＬi が下限リミッタ    ＢＧＬＭＴi より小さいと判断し、つまり、異常にバックグラウンドレベルBGLiが低下したと判断されるとステップ１１１で下限リミッタＢＧＬＭＴi をセットして次回のステップ１０４のＢＧＬi として用いる。
【００５５】
次にステップ１１２ではノックフラグを“０”にセットする。
【００５６】
以上の処理でノック検出ルーチンが終了するが、このルーチンでセットされたノックフラグが点火制御タスクで使用されることになる。尚、下限リミッタはバックグラウンドレベル判断のためのしきい値と共用されているが、別々に設けても良い。
【００５７】
次に下限リミッタＢＧＬＭＴi について説明する。
【００５８】
下限リミッタＢＧＬＭＴi は種々の変形例が考えられるが、代表的なやり方は、マップに記憶させておくやり方と演算によるやり方があり、その具体的な方法について以下説明する。
【００５９】
図１０はマップによる下限リミッタＢＧＬＭＴi の設定を示したもので、これは運転領域（実施例では１０００rpm ，２０００rpm ，３０００rpm ……のように回転数毎）で設定すると共に、気筒番号毎（実施例では１気筒から６気筒）及び共鳴周波数毎（ｆ0 ……ｆi ）に設定されている。
【００６０】
このようなマップを用いるときわめて精度の良いＢＧＬＭＴi を設定することが可能である。
【００６１】
尚、この３つのパラメータ，運転領域，気筒番号，周波数は特定されるのではなく、これら１つ以上のパラメータでＢＧＬＭＴi を設定することも可能であることは言うまでもないが、好ましくは少なくとも周波数毎にＢＧＬＭＴi を設定すると良い結果が得られた。もちろん、このマップに記憶されたＢＧＬＭＴi は図１１に示されるようなステップ１１３で、回転数，気筒番号，周波数から図  １０に示すマップよりＢＧＬＭＴi を検索することができる。この図１１に示すステップ１１３は図１のステップ１０６とステップ１０９の間に挿入することで実行される。
【００６２】
一方、ＢＧＬＭＴi を演算により求めるやり方を図１２，図１３に基づいて説明する。
【００６３】
図１２はその考え方を示したものであり、各周波数毎に最大値と最小限を求めて平均値ＢＧＬmeanを導びき、更にこの平均値ＢＧＬmeanを１／ｎ（ｎ＝整数）して、下限リミッタＢＧＬＭＴi とする。
【００６４】
この平均値ＢＧＬmeanと下限リミッタＢＧＬＭＴi の具体的な求め方は図１３にあるようにステップ１１４で各周波数毎にバックグラウンドレベルの最大値  ＢＧＬUPと最小値ＢＧＬBPを加算して１／２し、そのｍ回分（例えば１６回分）を加算してｍが除算してＢＧＬmeanを求め、次にステップ１１５でＢＧＬmeanを１／ｎして下限リミッタＢＧＬＭＴi を求めることができる。当然のことながら、気筒番号，運転領域によってそれぞれＢＧＬＭＴi を求めることが可能である。
【００６５】
この図１３にあるステップ１１４，１１５は図１のステップ１０６とステップ１０９の間に挿入することで実行される。
【００６６】
尚、平均値ＢＧＬmeanから下限リミッタＢＧＬＭＴi を求めるための定数１／ｎは実際には１／３が最も良いＢＧＬＭＴi を得ることができた。
【００６７】
以上のようにして得られたノック発生の信号は以下に述べる点火制御タスクで使用されるのでその説明を行う。
【００６８】
図１４は点火装置のシステム構成図である。空気はエアクリーナ１の入口部より入り、ダクト３，絞弁を有するスロットルボディ５，吸気筒６を通りエンジン７のシリンダ内に吸入される。吸入空気量はダクト３に設けられた熱線式空気流量計２によって検出され、検出信号はコントロールユニット９に入力される。
【００６９】
一方、燃料は図示していない燃料タンクからインジェクタ１６を経て噴射され、吸入通路内で吸入空気と混合されエンジン７のシリンダ内に供給される。混合気はエンジン７で圧縮され、点火プラグ１５により着火された爆発後に排気管８から排出される。排気管８には排気センサ１１が設けられており、検出信号はコントロールユニット９に入力される。
【００７０】
点火コイル１３で発生した高電圧は分配器１４によって各気筒に分配され、点火プラグ１５に供給される。エンジンの回転状態はクランク角センサ１２によって検出され、クランク角センサ１２は１回転毎の絶対位置を示すＲｅｆ信号および当該絶対位置からの所定角度移動した位置を示すＰOS信号を出力する。Ｒｅｆ信号及びＰOS信号はコントロールユニット９に入力される。エンジン７には振動を検出する振動センサ１５１が取りつけてあり、検出信号はコントロールユニット９に入力される。
【００７１】
コントロールユニット９は各センサからの信号に基づいて燃料供給量及び点火時期等を演算し、インジェクタ１６及び点火コイル１３に制御信号を出力する。
図１５は、コントロールユニット９の詳細を示す図である。コントロールユニット９はＣＰＵ２０,Ａ／Ｄ変換器２１,ＲＯＭ２２,入力Ｉ／Ｏ２３,ＲＡＭ２４，DPRAM25 ，出力Ｉ／Ｏの２６およびバス３７で構成される制御用ブロック３４と、ＣＰＵ２９,ポート２７,タイミング回路２８,Ａ／Ｄ変換器３０,ＲＯＭ３１，ＲＡＭ３２，クロック３３，オペレーショナル回路３８、およびバス３６で構成されるノッキング検出用ブロック３５に分けられる。ここで、ＣＰＵ２０，  ＣＰＵ２９のデータの交換はデュアルポートＲＡＭであるDPRAM25 を通じてなされる。
【００７２】
熱線式流量計２によって検出された吸入空気量Ｑa はＡ／Ｄ変換器２１によってディジタル値に変換され、ＣＰＵ２０に取りこまれる。またクランク角センサ１２によって検出されるＲｅｆ信号及びＰOS信号は入力Ｉ／Ｏ２３を通じて    ＣＰＵ２０に取り込まれる。ＣＰＵ２０はＲＯＭ２２に保持しているプログラムに従って演算処理し、演算結果は出力Ｉ／Ｏ２６かに燃料噴射量を意味する燃料噴射時間信号Ｔi ，点火時期信号θign としての各々のアクチュエータに伝えられる。演算処理中の必要なデータ保持はＲＡＭ２４によってなされる。
【００７３】
一方、タイミング回路２８は、オペレーション回路３５が上死点（Top Dead  Center）を示すＴＤＣ信号を発生すると、ＣＰＵ２０がポート２７に入力した内容に従って、クロック３３の発生する周期信号を分周してサンプリング信号を発生する。サンプリング信号が発生すると、Ａ／Ｄ変換器３０は振動センサ１５の出力信号をディジタル値に変換する。
【００７４】
ノッキングを検出するための振動センサは、従来のものは１３ＫＨｚ付近で共振するが、本実施例では少なくとも１８〜２０ＫＨｚまでの共鳴周波数成分を得るために、１８ＫＨｚ以上で共振するものを用いている。
【００７５】
ＣＰＵ２９はＲＯＭ３１に保持しているプログラムに従いサンプリングされたディジタル値をＲＡＭ３２に格納すると共に、図１に示したようなフローチャートをもとに格納したデータに基づいて周波数分析し、ノッキングの発生の有無の判定をする。ノッキングの発生の有無の判定結果はDPRAM25 を介してＣＰＵ２０に伝えられる。
【００７６】
次にＣＰＵ２０による点火時期の演算動作を図１６のフローチャートを用いて説明する。このフローチャートの動作は一定時間周期、例えば１０ｍsec 毎に起動される。ステップ２０１で、ＲＡＭ２４内に設定された所定のレジスタからエンジン回転数Ｎ及び吸入空気量Ｑを読みこむ。ステップ２０２で、単位回転数あたりの吸入空気量Ｑ／Ｎを演算しさらにＱ／Ｎから燃料噴射時間幅Ｔi をもとめ、燃料供給のためにＲＯＭ２２内に保持している基本点火時期マップから基本点火時期θbaseを求める。ステップ２０３で図１に示すフローチャートにより判定したノックフラグ（knockflag ）の内容によってノッキングの発生の有無の判定をする。ノッキングが発生していれば、ステップ２１３で点火時期θadv から所定の遅角量Δθret を減算する。なお、この減算によって点火時期が遅角（リタード）される。ステップ２１４で、ノッキング発生により、遅角させた点火時期を所定の回転例えば５０と比較すること（ステップ２０５）でリカバーするベースを決定する。カウントデータＡを初期化してステップ２０８に進む。
【００７７】
一方、ステップ２０３でノッキングが発生していなければ、ステップ２０４で、カウントデータＡを１つカウントアップする。カウントデータＡはノッキング発生により遅角された点火時期θadv を進角量Δθadv だけリカバーする時間になったかを判定するために用いられる。ステップ２０５で、カウントデータＡが所定値５０に等しくなったかを判断する。この図１６に示すフローは１０ｍsec 毎に起動されるので、カウントデータＡが５０に等しくなるときは、カウントデータＡが初期化されてから０.５秒が経過したときであり、０.５秒経過毎にリカバーされる。ステップ２０５で、カウントデータＡが５０に等しくなっていなければステップ２０６に進む。ステップ２０６で、遅角値θadv に所定の進角量  Δθadv 加算する。この加算により点火時期がリカバーされることになる。
【００７８】
次に、ステップ２０８で基本点火時期θbaseに上記のごとく求めた点火時期  θadvを加えることにより点火時期θignを演算する。ステップ２０９で、エンジン回転数Ｎび単位回転数あたりの吸入空気量Ｑ／Ｎに応じて、最大進角値θres を求める。最大進角値θres はＲＯＭ３１内に格納されている最大進角値マップから読みだすことによってなされる。ステップ２１０で点火時期θign が最大進角値θres を超えたかを判断する。超えていなければステップ２１１に進む。最大進角値θres を超えていると、進角しすぎているので、ステップ２１１で最大進角値θresを点火時期θignとする。
【００７９】
最後に点火時期θign が設定された後に、ステップ２１２でエンジン状態に応じて、ディレイ時間ｔd ，サンプリング点数ｎs ，分周比ｔs をポート２７に出力する。
【００８０】
なお、分周比ｔs によって振動センサの出力のディジタル値のサンプリング周期が決まり、サンプリング点数ｎs によってサンプリング点数が決まる。
【００８１】
このようにして複数の共鳴周波数成分からノッキングを検出して点火時期を制御することで、機関のノッキングを回避することが可能となる。
【００８２】
以上、説明した点火制御タスクで使用されるノック発生信号は図１，図１０，図１２にあるように基本的には各周波数毎に下限リミッタＢＧＬＭＴi を設定しているが、予めバックグラウンドレベルが異常低下する共鳴周波数帯がわかっていれば、その対応周波数についてのみ下限リミッタを設定することもできる。例えば図６の共鳴周波数ｆ1 とｆ9 についてバックグラウンドレベルが低下することがわかっていれば、この共鳴周波数ｆ1 とｆ9 について下限リミッタBGLMT1とＢＧＬＭＴ9 を設定すれば良い。
【００８３】
更に、計算量，マップ容量の関係から下限リミッタＢＧＬＭＴi が図１０のように準備できない場合には以下のような手法を採用することが可能である。
【００８４】
すなわち、代表的な共鳴周波数について、あるいは代表的な気筒について、あるいは代表的な運転領域について下限リミッタＢＧＬＭＴを設定して共用するものである。
【００８５】
まず、図１７は代表的な周波数について下限リミッタＢＧＬＭＴを設定するものを説明する。
【００８６】
図１７は気筒毎および回転数毎にマップを作成したもので、これは特定共鳴周波数ｆi＝６.３ＫＨｚについて設定されている。
【００８７】
したがって、気筒番号と回転数によって決まる位置の下限リミッタＢＧＬＭＴは選択された各共鳴周波数のバックグラウンドレベルＢＧＬi と比較されるものである。
【００８８】
つまり、図１８に示すようにステップ１１６で回転数と気筒番号から図１７に示すマップより対応の下限リミッタＢＧＬＭＴを検索し、ステップ１１７で各共鳴周波数ＢＧＬi 毎に共用の下限リミッタＢＧＬＭＴと比較するもので、これらのステップは図１のステップ１０６と１０９の間に挿入される。もちろんステップ１１７はステップ１０９に置き換えられるものである。また、ステップ１１１のＢＧＬＭＴi は共用の下限リミッタＢＧＬＭＴであることは言うまでもない。図１９は回転数と各共鳴周波数についてマップを作成したもので、これは特定気筒３気筒について設定されている。
【００８９】
したがって各周波数と回転数によって決まる位置の下限リミッタＢＧＬＭＴは選択された各共鳴周波数のバックグラウンドレベルＢＧＬi と比較されるものである。
【００９０】
つまり、図２０に示すようにステップ１１８で回転数と周波数から図１９に示すマップより対応の下限リミッタＢＧＬＭＴを検索し、ステップ１１９で各共鳴周波数毎に対応の下限リミッタＢＧＬＭＴを比較するものである。したがって気筒毎の下限リミッタについて共用されるもので、これらのステップは図１のステップ１０６と１０９の間に挿入される。もちろん、ステップ１２０はステップ  １０９に置きかえられるものである。
【００９１】
図２１は各共鳴周波数と気筒毎についてマップを作成したもので、これは特定運転領域について設定されている。すなわち運転領域が共用されているものである。
【００９２】
したがって各周波数と気筒番号によって決まる位置の下限リミッタＢＧＬＭＴは選択された各共鳴周波数のバックグラウンドレベルＢＧＬi と比較されるものである。
【００９３】
つまり、図２２に示すようにステップ１２０で周波数と気筒番号から図２１に示すマップより対応の下限リミッタＢＧＬＭＴを検索し、ステップ１２１で各共鳴周波数毎に対応に下限リミッタＢＧＬＭＴを比較するものである。したがって回転数の下限リミッタについて共用されるもので、これらのステップは図１のステップ１０６と１０９の間に挿入される。もちろん、ステップ１２０はステップ１０９に置きかえられるものである。
【００９４】
更に計算量，マップ容量の低減を図る必要がある場合には共鳴周波数，気筒番号，運転領域についても最も良い条件を求めて下限リミットＢＧＬＭＴを設定することができる。
【００９５】
つまり、下限リミットＢＧＬＭＴは各共鳴周波，気筒番号，運転領域にかかわらず唯１個だけ設定するものである。したがって、この下限リミッタはＲＯＭエリアに１個だけ記憶される。
【００９６】
この実施例を図２３に基づき説明するが、基本的には図１と同じ構成であるので要点だけ説明する。
【００９７】
図２３において、ステップ１２２はステップ１０６でノックが発生していないと判断されると実行され、このステップでは上述したように各共鳴周波数，気筒番号，運転領域にかかわらず設定された１個の下限リミッタＢＧＬＭＴが各共鳴周波毎のバックグラウンドレベルＢＧＬi と比較される。この比較の結果バックグラウンドレベルＢＧＬi が下限リミッタＢＧＬＭＴより小さいと判断されるとステップ１２３で下限リミッタＢＧＬＭＴが設定され、次のステップ１０４で  ＢＧＬi がＢＧＬＭＴに置きかえられて周波数毎のＳ／Ｎ比が求められるものである。
【００９８】
尚、図１７から図２３の考え方は演算による方法によっても適用可能であって、その具体的やり方図１３に示す計算と同様に実施できる。
【００９９】
更に、上述した種々の実施例において、バックグラウンドレベルＢＧＬi の求め方は信号強度ｆi をフィルタ処理する式である
0003668497.tif 000004
で求められているが、通常の積分によるバックグラウンドレベル測定による方法でも良い。
【０１００】
また、振動強度ＳＬi はＳ／Ｎ比で求めているが、バックグラウンドレベル  ＢＧＬi との差ＳＬi ＝ｆi −ＢＧＬi で求めるようにし、この差の加算でノック強度Ｓを求めるようにしても良い。
【０１０１】
また、ノック判定は複数の周波数の振動強度を加算し、これが所定値より大きいと判断されるとノッキング発生が生じたとしているが、複数の周波数の振動強度を加算せずにそれぞれの周波数の振動強度の１つが所定値を越えた時ノッキングが発生したとするロジックを組んでも良い。
【０１０２】
次に、バックグラウンドレベルＢＧＬi をフィルタ処理して求める時に生じる副作用を補償する方法について説明する。
【０１０３】
図１に示す実施例ではバックグラウンドレベルＢＧＬi は遅れフィルタ処理によって作成されているため、加速運転等の過渡状態ではバックグラウンドレベルＢＧＬi の追従が遅れて見かけ上のＳ／Ｎ比が増大してしまう問題がある。
【０１０４】
そして、このＢＧＬi の追従遅れに対しても本発明になる下限リミッタBGLMTiは有効であるが、加速時と定常時の下限リミッタＢＧＬＭＴi は変えてやることが更に有効である。
【０１０５】
図２４は過渡時と定常時の下限リミッタＢＧＬＭＴi を示しており、過渡時の方を大きく設定している。
【０１０６】
図２５は過渡時のスロットル弁開度，エンジン回転数，バックグラウンドレベルＢＧＬi および下限リミッタＢＧＬＭＴi の変化を示しており、スロットル弁の単位時間当りの開き度合から急加速が緩加速か定常かを判断し、急加速および緩加速に応じて下限リミッタＢＧＬＭＴi の大きさを調整する。この調整は定常時の下限リミッタＢＧＬＭＴi に定数をかけるか加算して求められる。
【０１０７】
図２６でそのフローチャートを説明すると、ステップ１２４でスロットル弁の開き度合がどの程度のレベル（急加速，中加速，緩加速等）か判別し、ステップ１２５で急加速と判断されれば係数１.５ を定常時の下限リミッタＢＧＬＭＴi にかけ、ステップ１２６で中加速と判断されれば係数１.３ を定常時の下限リミッタＢＧＬＭＴi にかけ、ステップ１２７で緩加速と判断されれば係数１.１ を定常時の下限リミッタＢＧＬＭＴi にかけ、定常であればそのまま下限リミッタＢＧＬＭＴi をステップ１２８でセットする。これらのステップは図１のステップ１０６とステップ１０９の間に挿入される。
【０１０８】
このようにすれば、運転状態によっても最適な下限リミッタＢＧＬＭＴi を得ることができる。
【０１０９】
尚、上述した実施例においてはバックグラウンドレベルが異常に低下した場合を説明したが、場合によってはバックグラウンドレベルが異常に高まる現象も考えられる。
【０１１０】
この場合においても上述の実施例と同様にステップ１０９で下限リミッタの代りに上限リミッタを設定することによって対策が可能である。
【０１１１】
もちろん、この場合も下限リミッタと同様に上限リミッタの値は種々の変形をとりえることは言うまでもない。
【０１１２】
また、この他以下に述べるような不具合も考えられるので、これを防止する対策を施すとより有利である。
【０１１３】
すなわち、バックグランドレベルの増幅度であるゲインはハ−ドウェアで所定のタイミングで例えば１／２に切り換えられており、これに併せて各周波数の強度もソフトウェアで１／２に切り換えられている。
【０１１４】
ところが、各周波数の強度が異常に低下した時、バックグランドのゲインはハ−ドウェアで確実に切り換えられるのに対し、各周波数の強度は量子化誤差で切り換えられないことがあり、この結果Ｓ／Ｎ比が異常に大きくなりノック誤検出を生じるという問題がある。
【０１１５】
そこで本発明は図２７に示すようにステップ１０３とステップ１０５の間に以下のステップを追加したものである。
【０１１６】
まず、ステップ１０３の後ステップ１２９で各周波数ｆi 毎にその強度が所定の下限リミッタｆＬＭＴi より大きいあるいは等しいかどうかを判別する。この判断で大きいあるいは等しいと判断されるとステップ１０４に進み通常のＳ／Ｎ比計算を実行する。
【０１１７】
一方、ステップ１２９で各周波数ｆi 毎にその強度が所定の下限リミッタ
ｆＬＭＴiより小さいと判断されるとステップ１３０に進み、周波数ｆiの強度とバックグランドレベルのＳ／Ｎ比を１にする。すなわち対応の周波数に対してノックが発生していないとする処理を実行する。
【０１１８】
次にステップ１３１で対応の周波数の強度を所定の下限リミッタｆＬＭＴi に置き換え、ステップ１０５に進みノック強度の計算を実行する。
【０１１９】
このように、周波数強度に下限リミッタを設定することにより、各周波数の強度が異常に低下した時に生じる量子化誤差によるＳ／Ｎ比異常増大と言う問題を解決することが可能となった。
【０１２０】
また、この場合においても上述のバックグランドの下限リミッタの実施例と同様に各周波数の下限リミッタの値は種々の変形をとりえることは言うまでもない。
【０１２１】
【発明の効果】
以上述べたように発明によれば、バックグラウンドレベルが異常に変化しても、バックグラウンドレベルが限界の値に変更されるようになるため、ノッキングを表わす情報として有効なものとなる。
【０１２２】
このため、複数の共鳴周波数を用いてノッキングを検出しているにもかかわらず、そのうちの１つあるいはそれ以上の周波数帯でノッキングが発生しているという誤った信号が形成されると、それが全体の共鳴周波数のノッキング判定に悪影響を及ぼすといった問題が解決でき、この種装置の信頼性を大幅に向上することが可能となるものである。
【図面の簡単な説明】
【図１】本発明の一実施例になるノッキング検出方法のフローチャート。
【図２】ノックが発生していない時の振動波形図。
【図３】ノックが発生した時の振動波形図。
【図４】ノックのスペクトル強度に関する図。
【図５】ノックのスペクトル強度に関する図。
【図６】ノック発生時と発生していない時の振動強度を示す図。
【図７】振動波形図。
【図８】バックグラウンドレベル波形図。
【図９】ノック判定を示す図。
【図１０】下限リミッタのマップを示す図。
【図１１】下限リミッタを読み出すフローチャート。
【図１２】下限リミッタを演算方法を示す図。
【図１３】下限リミッタの演算を示すフローチャート。
【図１４】システム構成図。
【図１５】制御装置の構成図。
【図１６】点火演算を示すフローチャート。
【図１７】下限リミッタのマップを示す図。
【図１８】下限リミッタを読み出すフローチャート。
【図１９】下限リミッタのマップを示す図。
【図２０】下限リミッタを読み出すフローチャート。
【図２１】下限リミッタのマップを示す図。
【図２２】下限リミッタを読み出すフローチャート。
【図２３】本発明の他の実施例を示すフローチャート。
【図２４】下限リミッタの切換を示す図。
【図２５】加速に関する説明をするためのチャート。
【図２６】本発明の他の実施例を示す図。
【図２７】本発明の他の実施例を示す図。
【符号の説明】
１０３…特徴成分を検出するステップ、１０４…特徴成分とバックグラウンドレベルを比較するステップ、１０６…ノックを判定するステップ、１０９…バックグラウンドレベルと下限リミッタを比較するステップ、１１１…下限リミッタを設定するステップ、１５１…ノックセンサ。
【図１】
0003668497.tif 000005
【図２】
0003668497.tif 000006
【図３】
0003668497.tif 000007
【図４】
0003668497.tif 000008
【図５】
0003668497.tif 000009
【図６】
0003668497.tif 000010
【図７】
0003668497.tif 000011
【図８】
0003668497.tif 000012
【図９】
0003668497.tif 000013
【図１０】
0003668497.tif 000014
【図１１】
0003668497.tif 000015
【図１２】
0003668497.tif 000016
【図１３】
0003668497.tif 000017
【図１４】
0003668497.tif 000018
【図１５】
0003668497.tif 000019
【図１６】
0003668497.tif 000020
【図１７】
0003668497.tif 000021
【図１８】
0003668497.tif 000022
【図１９】
0003668497.tif 000023
【図２０】
0003668497.tif 000024
【図２１】
0003668497.tif 000025
【図２２】
0003668497.tif 000026
【図２３】
0003668497.tif 000027
【図２４】
0003668497.tif 000028
【図２５】
0003668497.tif 000029
【図２６】
0003668497.tif 000030
【図２７】
0003668497.tif 000031