(57)【特許請求の範囲】
【請求項１】
内燃機関の燃焼状態に応じた信号を出力する燃焼状態検出センサの出力信号からノックの固有周波数成分を抽出し、抽出した前記ノックの固有周波数成分に基づいてノック信号を算出するノック信号算出部と、
前記ノック信号に基づいてバックグラウンドレベルを算出するＢＧＬ算出部と、
前記バックグラウンドレベルに基づいてノック判定閾値を算出するノック判定閾値算出部と、
前記ノック信号及び前記ノック判定閾値に基づいてノックの発生強度を算出するノック強度算出部と、
前記ノックの発生強度に応じて、ノックの発生が抑制されるように前記内燃機関の制御パラメータを変化させるノック制御部と、を備え、
前記ＢＧＬ算出部は、前記ノック信号に対してローパスフィルタの処理を行って前記バックグラウンドレベルを算出し、前記ノック信号が前記ローパスフィルタの出力値より小さい場合の前記ローパスフィルタのカットオフ周波数であるローサイド周波数を、前記ノック信号が前記ローパスフィルタの出力値より大きい場合の前記ローパスフィルタのカットオフ周波数であるハイサイド周波数よりも高くするローサイド周波数増加を行う内燃機関の制御装置。
【請求項２】
前記燃焼状態検出センサは、前記内燃機関の振動を検出するノックセンサであり、
前記ノック信号算出部は、ノック検出期間の前記ノックセンサの出力信号に対して、離散フーリエ変換又は短時間フーリエ変換を行って、予め設定された時間毎の前記ノックの固有周波数成分のスペクトル列を算出し、前記ノック検出期間の前記スペクトル列のピーク値又は平均値を前記ノック信号として算出する請求項１に記載の内燃機関の制御装置。
【請求項３】
前記ＢＧＬ算出部は、前記ローサイド周波数増加において、前記ノック信号が前記ローパスフィルタの出力値より小さい場合は、前記ローサイド周波数を無限大の周波数に設定し、前記ローパスフィルタの出力値を前記ノック信号に一致させる請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
前記ＢＧＬ算出部は、前記ローパスフィルタとして離散化された一次遅れフィルタを用い、前記一次遅れフィルタは、フィルタゲインに前回の演算周期の前記一次遅れフィルタの出力値を乗算した値と、１から前記フィルタゲインを減算した値を今回の演算周期の前記一次遅れフィルタの入力値に乗算した値との合計値を、今回の演算周期の前記一次遅れフィルタの出力値として算出する処理であり、前記ローサイド周波数増加において、前記一次遅れフィルタの入力値が前記前回の演算周期の一次遅れフィルタの出力値より小さい場合は、前記ローサイド周波数としての前記フィルタゲインを０にし、前記一次遅れフィルタの入力値が前記前回の演算周期の一次遅れフィルタの出力値より大きい場合は、前記ハイサイド周波数としての前記フィルタゲインを０より大きく且つ１より小さい値にする請求項１から３のいずれか一項に記載の内燃機関の制御装置。
【請求項５】
前記ＢＧＬ算出部は、前記ノック信号に対して二段以上の前記ローパスフィルタの処理を行って前記バックグラウンドレベルを算出し、少なくとも第一段の前記ローパスフィルタについて前記ローサイド周波数増加を行う請求項１から４のいずれか一項に記載の内燃機関の制御装置。
【請求項６】
前記ＢＧＬ算出部は、三段以上の前記ローパスフィルタの処理を行い、前記第一段から連続する二段以上の前記ローパスフィルタについて前記ローサイド周波数増加を行う請求項５に記載の内燃機関の制御装置。
【請求項７】
前記ＢＧＬ算出部は、少なくとも最終段の前記ローパスフィルタについて、前記ハイサイド周波数を前記ローサイド周波数よりも高くするハイサイド周波数増加を行う請求項５又は６に記載の内燃機関の制御装置。
【請求項８】
前記ＢＧＬ算出部において、前記ノック信号の正側のステップ変化に対する前記バックグラウンドレベルの変化の時定数と、前記ノック信号の負側のステップ変化に対する前記バックグラウンドレベルの変化の時定数と、が同等になるように、前記ローパスフィルタそれぞれの前記ローサイド周波数及び前記ハイサイド周波数が設定されている請求項７に記載の内燃機関の制御装置。
【請求項９】
前記燃焼状態検出センサは、前記内燃機関の振動を検出するノックセンサ、又は前記内燃機関のシリンダ内の圧力を検出する筒内圧センサである請求項１から８のいずれか一項に記載の内燃機関の制御装置。
【請求項１０】
前記制御パラメータは、点火時期、吸気可変バルブタイミング機構の位相、吸入空気量、及び燃料噴射のリッチ化量のいずれか一つ以上である請求項１から９のいずれか一項に記載の内燃機関の制御装置。
【請求項１１】
内燃機関の燃焼状態に応じた信号を出力する燃焼状態検出センサの出力信号からノックの固有周波数成分を抽出し、抽出した前記ノックの固有周波数成分に基づいてノック信号を算出するノック信号算出ステップと、
前記ノック信号に基づいてバックグラウンドレベルを算出するＢＧＬ算出ステップと、
前記バックグラウンドレベルに基づいてノック判定閾値を算出するノック判定閾値算出ステップと、
前記ノック信号及び前記ノック判定閾値に基づいてノックの発生強度を算出するノック強度算出ステップと、
前記ノックの発生強度に応じて、ノックの発生が抑制されるように前記内燃機関の制御パラメータを変化させるノック制御ステップと、を実行し、
前記ＢＧＬ算出ステップでは、前記ノック信号に対してローパスフィルタの処理を行って前記バックグラウンドレベルを算出し、前記ノック信号が前記ローパスフィルタの出力値より小さい場合の前記ローパスフィルタのカットオフ周波数であるローサイド周波数を、前記ノック信号が前記ローパスフィルタの出力値より大きい場合の前記ローパスフィルタのカットオフ周波数であるハイサイド周波数よりも高くするローサイド周波数増加を行う内燃機関の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関に発生するノックを制御するための制御装置及びその制御方法に関するものである。
【背景技術】
【０００２】
従来から、内燃機関に発生するノック現象を、内燃機関のシリンダブロックに直接取り付けられた振動センサ（以下、ノックセンサと称する）により検出する制御装置が知られている。内燃機関の運転中にノックが発生すると、内燃機関のボア径やノックの振動モードに応じて固有の周波数帯の振動が発生するため、制御装置は、この固有周波数の振動強度を測定することでノックの検出を行なう。
【０００３】
また、内燃機関の特性として、点火時期を進角させると内燃機関の出力トルクは上昇するがノックは発生し易くなる。そのため、制御装置は、ノックを検出すると、点火時期を遅角側へ補正することでノックを抑制し、ノックを検出しなければ、点火時期を進角側に復帰させることにより、内燃機関の出力トルクの低下を抑制するノック制御を行う。ノック制御により、点火時期は、ノックが発生する直前の最も進角側の点火時期であるノック限界点火時期に制御される。
【０００４】
このようなノック制御を行う技術として、例えば、下記の特許文献１及び特許文献２に記載された技術が既に知られている。特許文献１の技術では、ノック信号に対してローパスフィルタの処理を行って算出したノック信号の平均値をバックグラウンドレベルに設定し、バックグラウンドレベルに対してゲインの乗算及びオフセットの加算を行ってノック判定閾値を算出し、ノック判定閾値とノック信号とを比較してノックの発生を判定するように構成されている。
【０００５】
特許文献２の技術では、対数変換されたノック信号の中央値とノック信号の標準偏差を算出し、ノック信号の中央値から、標準偏差に定数を乗算した値を減算してバックグラウンドレベルを算出し、ノック信号をバックグラウンドレベルで除算してノックの発生強度を算出するように構成されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２５４２１１６号公報
【特許文献２】特開２００７−１５４７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術では、ノックの発生状態によっては、ノック信号の頻度分布が歪み、ローパスフィルタにより算出されるノック信号の平均値（バックグラウンドレベル）が、期待される値よりも上側にずれる場合がある。その結果、ノック判定閾値も望ましい値よりも上側にずれ、ノックが発生しているにもかかわらず、ノックの発生を適切に検出できず、点火時期を適切に遅角できない問題があった。
【０００８】
特許文献２の技術では、ノック信号の中央値から、標準偏差の定数倍値を減算してバックグラウンドレベルを算出しているので、ノック信号の頻度分布が歪んだ場合に、その歪みに応じてノック信号の中央値及び標準偏差が変動する。その結果、バックグラウンドレベルがノック信号の分布範囲よりも下側に逸脱したり、バックグラウンドレベルがノック信号の中央値に近づいたりし、ノック信号の頻度分布の歪みによって、ノック信号の分布範囲に対するバックグラウンドレベルの設定位置が変動する。また、特許文献２の技術では、標準偏差の演算に２乗演算及び平方根演算が必要となり、演算処理装置の処理負荷が増大する。
【０００９】
そこで、ノックの発生常態によって、ノック信号の頻度分布が歪んでも、ノックの発生を適切に検出できる内燃機関の制御装置及びその制御方法が求められる。
【課題を解決するための手段】
【００１０】
本発明に係る内燃機関の制御装置は、内燃機関の燃焼状態に応じた信号を出力する燃焼状態検出センサの出力信号からノックの固有周波数成分を抽出し、抽出した前記ノックの固有周波数成分に基づいてノック信号を算出するノック信号算出部と、前記ノック信号に基づいてバックグラウンドレベルを算出するＢＧＬ算出部と、前記バックグラウンドレベルに基づいてノック判定閾値を算出するノック判定閾値算出部と、前記ノック信号及び前記ノック判定閾値に基づいてノックの発生強度を算出するノック強度算出部と、前記ノックの発生強度に応じて、ノックの発生が抑制されるように前記内燃機関の制御パラメータを変化させるノック制御部と、を備え、前記ＢＧＬ算出部は、前記ノック信号に対してローパスフィルタの処理を行って前記バックグラウンドレベルを算出し、前記ノック信号が前記ローパスフィルタの出力値より小さい場合の前記ローパスフィルタのカットオフ周波数であるローサイド周波数を、前記ノック信号が前記ローパスフィルタの出力値より大きい場合の前記ローパスフィルタのカットオフ周波数であるハイサイド周波数よりも高くするローサイド周波数増加を行うものである。
【００１２】
また、本発明に係る内燃機関の制御方法は、内燃機関の燃焼状態に応じた信号を出力する燃焼状態検出センサの出力信号からノックの固有周波数成分を抽出し、抽出した前記ノックの固有周波数成分に基づいてノックの特徴成分を表すノック信号を算出するノック信号算出ステップと、前記ノック信号に基づいてバックグラウンドレベルを算出するＢＧＬ算出ステップと、前記バックグラウンドレベルに基づいてノック判定閾値を算出するノック判定閾値算出ステップと、前記ノック信号及び前記ノック判定閾値に基づいてノックの発生強度を算出するノック強度算出ステップと、前記ノックの発生強度に応じて、ノックの発生が抑制されるように前記内燃機関の制御パラメータを変化させるノック制御ステップと、を実行し、前記ＢＧＬ算出ステップでは、前記ノック信号に対してローパスフィルタの処理を行って前記バックグラウンドレベルを算出し、前記ノック信号が前記ローパスフィルタの出力値より小さい場合の前記ローパスフィルタのカットオフ周波数であるローサイド周波数を、前記ノック信号が前記ローパスフィルタの出力値より大きい場合の前記ローパスフィルタのカットオフ周波数であるハイサイド周波数よりも高くするローサイド周波数増加を行うものである。
【発明の効果】
【００１４】
本発明に係る内燃機関の制御装置及びその制御方法によれば、バックグラウンドレベルは、ノック信号の頻度分布の範囲内で、頻度分布の最小値側に寄って設定されるため、ノックの発生状態によるノック信号の頻度分布の歪みの影響を受け難くなる。よって、ノック信号の頻度分布の歪みにかかわらず、ノック判定閾値を適切に設定することができ、ノックの発生を適切に検出し、ノックの発生を抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係る内燃機関の概略構成図である。
【図２】本発明の実施の形態１に係る制御装置のブロック図である。
【図３】本発明の実施の形態１に係る制御装置のハードウェア構成図である。
【図４】比較例に係るバックグラウンドレベルの算出を説明する図である。
【図５】本発明の実施の形態１に係る二段構成の場合のバックグラウンドレベルの算出を説明する図である。
【図６】本発明の実施の形態１に係る二段構成の場合のＢＧＬ算出部のブロック図である。
【図７】本発明の実施の形態１に係る二段構成の場合のバックグラウンドレベルの算出を説明するタイムチャートである。
【図８】本発明の実施の形態１に係る二段構成の場合の過渡時のバックグラウンドレベルの挙動を説明するタイムチャートである。
【図９】本発明の実施の形態１に係る二段構成の場合の過渡時のバックグラウンドレベルの挙動を説明するタイムチャートである。
【図１０】本発明の実施の形態１に係る三段構成の場合のＢＧＬ算出部のブロック図である。
【図１１】本発明の実施の形態１に係る三段構成の場合のバックグラウンドレベルの算出を説明するタイムチャートである。
【図１２】本発明の実施の形態１に係る三段構成の場合のバックグラウンドレベルの算出を説明する図である。
【図１３】本発明の実施の形態１に係る三段構成の場合の過渡時のバックグラウンドレベルの挙動を説明するタイムチャートである。
【図１４】本発明の実施の形態１に係る三段構成の場合の過渡時のバックグラウンドレベルの挙動を説明するタイムチャートである。
【図１５】本発明の実施の形態１に係る制御装置の処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
実施の形態１．
実施の形態１に係る内燃機関１の制御装置５０（以下、単に制御装置５０と称す）について図面を参照して説明する。図１は、本実施の形態に係る内燃機関１の概略構成図である。なお、本実施の形態に係る内燃機関１は、複数のシリンダ２５及びピストン５を備えているが、図１には便宜上、１つのシリンダ２５及びピストン５のみを示している。内燃機関１及び制御装置５０は、車両に搭載され、内燃機関１は、車両（車輪）の駆動力源となる。
【００１７】
１．内燃機関１の構成
まず、内燃機関１の構成について説明する。内燃機関１は、空気と燃料の混合気を燃焼するシリンダ２５を有している。内燃機関１は、シリンダ２５に空気を供給する吸気路２３と、シリンダ２５で燃焼した排気ガスを排出する排気路１７とを備えている。内燃機関１は、吸気路２３を開閉するスロットルバルブ６を備えている。スロットルバルブ６は、制御装置５０により制御される電気モータにより開閉駆動される電子制御式スロットルバルブとされている。スロットルバルブ６には、スロットルバルブ６の開度に応じた電気信号を出力するスロットル開度センサ７が設けられている。
【００１８】
吸気路２３の最上流部には、吸気路２３に吸入された空気を浄化するエアクリーナ２４が設けられている。スロットルバルブ６の上流側の吸気路２３には、吸気路２３に吸入される吸入空気流量に応じた電気信号を出力するエアフローセンサ３が設けられている。スロットルバルブ６の下流側の吸気路２３の部分は、吸気マニホールド１１とされており、複数のシリンダ２５に連結されている。吸気マニホールド１１の上流側の部分は、吸気脈動を抑制するサージタンクとされている。
【００１９】
吸気マニホールド１１には、吸気マニホールド１１内の気体の圧力であるマニホールド圧に応じた電気信号を出力するマニホールド圧センサ８が設けられている。なお、エアフローセンサ３及びマニホールド圧センサ８の何れか一方のみが設けられてもよい。吸気マニホールド１１の下流側の部分には、燃料を噴射するインジェクタ１３が設けられている。なお、インジェクタ１３は、シリンダ２５内に直接燃料を噴射するように設けられてもよい。
【００２０】
シリンダ２５の頂部には、空気と燃料の混合気に点火する点火プラグ１８と、点火プラグ１８に点火エネルギーを供給する点火コイル１６と、が設けられている。また、シリンダ２５の頂部には、吸気路２３からシリンダ２５内に吸入される吸入空気量を調節する吸気バルブ１４と、シリンダ内から排気路１７に排出される排気ガス量を調節する排気バルブ１５と、が設けられている。吸気バルブ１４には、そのバルブ開閉タイミングを可変にする吸気可変バルブタイミング機構が設けられている。吸気可変バルブタイミング機構１４は、吸気バルブの開閉タイミングを変化させる電動アクチュエータを有している。
【００２１】
内燃機関１のクランク軸には、外周に予め定められた角度間隔で複数の歯が設けられた信号プレートが設けられている。クランク角センサ９は、クランク軸の信号プレートの歯に対向してシリンダブロックに固定されており、歯の通過に同期したパルス信号を出力する。図示は省略するが、内燃機関１のカム軸には、外周に予め定められた角度間隔で複数の歯が設けられた信号プレートが設けられている。カム角センサ１０は、カム軸の信号プレートの歯に対向して固定されており、歯の通過に同期したパルス信号を出力する。
【００２２】
制御装置５０は、クランク角センサ９及びカム角センサ１０の２種類の出力信号に基づいて、各ピストン５の上死点を基準としたクランク角度を検出すると共に、各シリンダ２５の行程を判別する。
【００２３】
シリンダブロックにはノックセンサ１２が固定されている。ノックセンサ１２は、内燃機関１の振動に応じた信号（振動波形信号）を出力する。ノックセンサ１２は、圧電素子等により構成される。
【００２４】
２．制御装置５０の構成
次に、制御装置５０について説明する。
制御装置５０は、内燃機関１を制御対象とする制御装置である。図２のブロック図に示すように、制御装置５０は、ノック信号算出部５１、ＢＧＬ算出部５２、ノック判定閾値
算出部５３、ノック強度算出部５４、及びノック制御部５５等の制御部を備えている。制御装置５０の各制御部５１〜５５等は、制御装置５０が備えた処理回路により実現される。具体的には、制御装置５０は、図３に示すように、処理回路として、ＣＰＵ（Central Processing Unit）等の演算処理装置９０（コンピュータ）、演算処理装置９０とデータのやり取りをする記憶装置９１、演算処理装置９０に外部の信号を入力する入力回路９２、及び演算処理装置９０から外部に信号を出力する出力回路９３等を備えている。
【００２５】
記憶装置９１として、演算処理装置９０からデータを読み出し及び書き込みが可能に構成されたＲＡＭ（Random Access Memory）や、演算処理装置９０からデータを読み出し可能に構成されたＲＯＭ（Read Only Memory）等が備えられている。入力回路９２は、各種のセンサやスイッチが接続され、これらセンサやスイッチの出力信号を演算処理装置９０に入力するＡ／Ｄ変換器等を備えている。出力回路９３は、電気負荷が接続され、これら電気負荷に演算処理装置９０から制御信号を出力する駆動回路等を備えている。
【００２６】
そして、制御装置５０が備える各制御部５１〜５５等の各機能は、演算処理装置９０が、ＲＯＭ等の記憶装置９１に記憶されたソフトウェア（プログラム）を実行し、記憶装置９１、入力回路９２、出力回路９３、及び通信回路９４等の制御装置５０の他のハードウェアと協働することにより実現される。なお、各制御部５１〜５５等が用いるフィルタゲイン等の設定データは、ソフトウェア（プログラム）の一部として、ＲＯＭ等の記憶装置９１に記憶されている。
【００２７】
本実施の形態では、入力回路９２には、エアフローセンサ３、スロットル開度センサ７、マニホールド圧センサ８、クランク角センサ９、カム角センサ１０、ノックセンサ１２、及びアクセルポジションセンサ２６等が接続されている。出力回路９３には、スロットルバルブ６（電気モータ）、インジェクタ１３、吸気可変バルブタイミング機構１４、及び点火コイル１６等が接続されている。なお、制御装置５０には、図示していない各種のセンサ、スイッチ、及びアクチュエータ等が接続されている。
【００２８】
制御装置５０は、エアフローセンサ３又はマニホールド圧センサ８の出力信号等に基づいて吸入空気量を検出し、スロットル開度センサ７の出力信号に基づいてスロットル開度を検出し、アクセルポジションセンサ２６の出力信号に基づいてアクセル開度を検出する。制御装置５０は、クランク角センサ９及びカム角センサ１０の出力信号に基づいてクランク軸の角度及び回転速度、並びに吸気バルブ１４の開閉タイミングを検出する。
【００２９】
制御装置５０は、基本的な制御として、入力された各種センサの出力信号等に基づいて、燃料噴射量、点火時期等を算出し、インジェクタ１３及び点火コイル１６等を駆動制御する。制御装置５０は、アクセル開度等に基づいて、運転者が要求している内燃機関１の出力トルクを算出し、当該要求出力トルクを実現する吸入空気量となるように、スロットルバルブ６等を制御する。具体的には、制御装置５０は、目標スロットル開度を算出し、スロットル開度が目標スロットル開度に近づくように、スロットルバルブ６の電気モータを駆動制御する。また、制御装置５０は、クランク軸（内燃機関１）の回転速度及び吸入空気量等に基づいて吸気バルブ１４の目標開閉タイミングを算出し、吸気バルブ１４の開閉タイミングが目標開閉タイミングに近づくように、吸気可変バルブタイミング機構１４の電動アクチュエータを駆動制御する。
【００３０】
＜ノック信号算出部５１＞
ノック信号算出部５１は、内燃機関１の燃焼状態に応じた信号を出力する燃焼状態検出センサの出力信号に基づいてノックの特徴成分を表すノック信号ＫＮＫを算出する。本実施の形態では、燃焼状態検出センサは、ノックセンサ１２とされている。ノック信号算出部５１は、図２に示すように、ノックセンサ１２の出力信号から高周波のノイズ成分を除去するためのノイズ除去ローパスフィルタ６０と、ノイズ除去ローパスフィルタ６０の出力値を演算処理装置９０に入力するためのＡ／Ｄ変換器６１と、演算処理装置９０においてＡ／Ｄ変換値に対してデジタル信号処理を行うデジタル信号処理部６２と、を備えている。ノイズ除去ローパスフィルタ６０及びＡ／Ｄ変換器６１は、入力回路９２を構成する。
【００３１】
ノイズ除去ローパスフィルタ６０は、前述したように、ノックセンサ１２から出力された内燃機関１の振動波形信号を受け、その振動波形信号から高周波ノイズ成分を除去する。ノイズ除去ローパスフィルタ６０は、フィルタ前又は後の信号に対して、２．５［Ｖ］のバイアス電圧を加えるように構成されており、フィルタの出力信号が、２．５［Ｖ］を中心に０［Ｖ］〜５［Ｖ］の範囲で振動し、全振幅が、Ａ／Ｄ変換器６１により変換されるようにしている。また、ノイズ除去ローパスフィルタ６０には、信号の振幅が小さい場合は、信号を２．５［Ｖ］を中心に増幅し、信号の振幅が大きい場合には、信号を２．５［Ｖ］を中心に減少させるゲイン変換機能も有している。
【００３２】
Ａ／Ｄ変換器６１は、ノイズ除去ローパスフィルタ６０から出力されたアナログ信号をデジタル信号にＡ／Ｄ変換する。このＡ／Ｄ変換は、一定の時間間隔、例えば、１０［μｓ］又は２０［μｓ］等毎に実行される。
【００３３】
なお、Ａ／Ｄ変換器６１は、常時、Ａ／Ｄ変換を行い、Ａ／Ｄ変換後のデータの内、ノックの発生期間に対応したノック検出期間（例えば、ピストンの上死点（ＴＤＣ：Top Death Center）から上死点後（ＡＴＤＣ：After Top Death Center）５０°ＣＡ）のデータのみをデジタル信号処理部６２に伝達する。或いは、Ａ／Ｄ変換器６１は、ノック検出期間のみＡ／Ｄ変換を行い、Ａ／Ｄ変換後のデータをデジタル信号処理部６２に伝達するようにしてもよい。
【００３４】
デジタル信号処理部６２は、Ａ／Ｄ変換器６１から入力されたデジタル信号に対して、時間・周波数解析を行なう。例えば、デジタル信号処理部６２は、離散フーリエ変換（ＤＦＴ）、又は短時間フーリエ変換（ＳＴＦＴ）等の処理により、所定時間毎のノック固有周波数成分のスペクトル列を算出する。或いは、デジタル信号処理部６２は、無限インパルス応答（ＩＩＲ）フィルタ、又は有限インパルス応答（ＦＩＲ）フィルタ等を用いてノック固有周波数成分を抽出してもよい。デジタル信号処理部６２は、スペクトル列のピーク値をノック信号ＫＮＫとして算出する。なお、デジタル信号処理部６２は、スペクトル列の平均値をノック信号ＫＮＫとして算出してもよい。
【００３５】
ノック信号ＫＮＫを用いるＢＧＬ算出部５２、ノック判定閾値算出部５３、ノック強度算出部５４、及びノック制御部５５の処理は、予め設定されたクランク角度に同期する割り込み処理（例えば、上死点前（ＢＴＤＣ：Before Top Death）７５°ＣＡの割り込み処理）で実施される。そのため、デジタル信号処理部６２は、ＢＧＬ算出部５２等の割り込み処理の開始までに処理を終了する。なお、以下に記載されている「（ｎ）」は、今回の割り込み処理で算出される値を示し、「（ｎ−１）」は、前回の割り込み処理で算出された値を示す。
【００３６】
＜ノック判定閾値算出部５３＞
ノック判定閾値算出部５３は、後述するＢＧＬ算出部５２が算出したバックグラウンドレベルＢＧＬに基づいてノック判定閾値ＴＨを算出する。本実施の形態では、ノック判定閾値算出部５３は、次式に示すように、バックグラウンドレベルＢＧＬに、閾値算出係数Ｋｔｈを乗算した値を、ノック判定閾値ＴＨとして算出する。
ＴＨ（ｎ）＝Ｋｔｈ×ＢＧＬ（ｎ）      ・・・（１）
閾値算出係数Ｋｔｈは、ノックの発生強度の判定結果が適切になるように適合される値であり、例えば、「３」程度の値が設定される。
【００３７】
＜ノック強度算出部５４＞
ノック強度算出部５４は、ノック信号ＫＮＫ及びノック判定閾値ＴＨに基づいてノックの発生強度ＩＫＮＫを判定する。本実施の形態では、ノック強度算出部５４は、次式に示すように、ノック信号ＫＮＫからノック判定閾値ＴＨを減算した値を、バックグラウンドレベルＢＧＬで除算した値を、ノックの発生強度ＩＫＮＫとして算出する。このように、減算値がバックグラウンドレベルＢＧＬにより除算され、正規化されている。なお、本実施の形態に係るバックグラウンドレベルＢＧＬは、後述するように、ノック信号ＫＮＫの歪みの影響を受け難くなるため、正規化後のノックの発生強度ＩＫＮＫも歪みの影響を受け難くなる。
ＩＫＮＫ（ｎ）＝（ＫＮＫ−ＴＨ（ｎ））／ＢＧＬ（ｎ）      ・・・（２）
ノック信号ＫＮＫがノック判定閾値ＴＨを超過し、ノックの発生強度ＩＫＮＫが正の値になるとノックが発生したことを表し、ノック信号ＫＮＫがノック判定閾値ＴＨを超過した超過量に比例してノックの発生強度ＩＫＮＫが大きくなる。
【００３８】
＜ノック制御部５５＞
ノック制御部５５は、ノックの発生強度ＩＫＮＫに応じて、ノックの発生が抑制されるように内燃機関１の制御パラメータを変化させる。本実施の形態では、ノック制御部５５は、内燃機関１の制御パラメータとして、点火時期を変化させるように構成されている。ノック制御部５５は、次式に示すように、ノックの発生強度ＩＫＮＫが正であり、ノックが発生していると判定する場合は、ノックの発生強度ＩＫＮＫに、予め設定された遅角量算出係数Ｋｇ及び−１を乗算した値を、予め設定された最大遅角量ΔθＲｍｉｎで下限制限した値を、遅角更新量ΔθＲとして算出する。遅角更新量ΔθＲは負の値になる。一方、ノック制御部５５は、ノックの発生強度ＩＫＮＫが負であり（本例では０以下）、ノックが発生していないと判定する場合は、遅角更新量ΔθＲに０を設定する。ここで、ｍａｘ｛Ａ，Ｂ｝は、ＡとＢとの最大値を出力する関数である。
１）ＩＫＮＫ＞０
ΔθＲ（ｎ）＝ｍａｘ｛−Ｋｇ×ＩＫＮＫ（ｎ），ΔθＲｍｉｎ｝
２）ＩＫＮＫ≦０                                        ・・・（３）
ΔθＲ（ｎ）＝０
【００３９】
そして、ノック制御部５５は、次式に示すように、割り込み処理毎に、遅角更新量ΔθＲを積算して、遅角補正量θＲを算出する。
θＲ（ｎ）＝ｍｉｎ｛θＲ（ｎ−１）＋ΔθＲ（ｎ）＋Ｋａ，θＲｍａｘ｝
・・・（４）
ここで、Ｋａは、予め設定された進角側の復帰量であり、ノックの発生強度ＩＫＮＫが負であり、ノックが発生していないと判定されている場合（ΔθＲ（ｎ）＝０）に、遅角補正量θＲを進角側に次第に復帰させる。θＲｍａｘは、予め設定された進角側の最大値であり、遅角補正量θＲの上限制限値である。ｍｉｎ｛Ａ，Ｂ｝は、ＡとＢとの最小値を出力する関数である。
【００４０】
ノック制御部５５は、次式に示すように、基本点火時期θＢに遅角補正量θＲを加算した値を、最終点火時期θＩＧに設定する。
θＩＧ（ｎ）＝θＢ（ｎ）＋θＲ（ｎ）                ・・・（５）
基本点火時期θＢは、内燃機関１の回転速度、充填効率、及び排気ガス再循環量等の内燃機関１の運転条件に基づいて算出された基本の点火時期であり、通常、トルクが最大になる点火時期とされる。制御装置５０は、最終点火時期θＩＧ及びクランク角度に基づいて、点火コイル１６への通電制御を行う。
【００４１】
＜ＢＧＬ算出部５２＞
ＢＧＬ算出部５２は、ノック信号ＫＮＫに基づいてバックグラウンドレベルＢＧＬを算出する。ＢＧＬ算出部５２は、ノック信号ＫＮＫに対してローパスフィルタの処理を行ってバックグラウンドレベルＢＧＬを算出する。
【００４２】
ここで、本実施の形態とは異なる比較例の問題点を説明する。図４にノック信号ＫＮＫの頻度分布を示すように、比較例では、バックグラウンドレベルＢＧＬとして、ノック信号ＫＮＫに対して、カットオフ周波数の変更を行わない、通常のローパスフィルタの処理を行ってノック信号ＫＮＫの平均値を算出し、ノック信号ＫＮＫの平均値（ＢＧＬ）に閾値算出係数Ｋｔｈを乗算してノック判定閾値ＴＨを算出するように構成されている。図４の上段グラフに示すように、ノックが発生していない場合は、ノック信号ＫＮＫの頻度分布は正規分布に近く、ノック信号ＫＮＫの平均値（ＢＧＬ）は、頻度分布のピーク値付近に算出される。そして、ノック判定閾値ＴＨが頻度分布の上端付近に設定されるように、閾値算出係数Ｋｔｈが調整されており、ノックの発生強度ＩＫＮＫが小さくなる。
【００４３】
一方、ノックが発生すると、ノック信号ＫＮＫの頻度分布が広がる。そのため、通常は、ノック判定閾値ＴＨよりも大きくなるノック信号ＫＮＫが増加し、ノックの発生強度ＩＫＮＫが大きくなる。しかし、図４の下段グラフに示すように、ノックの発生状態によっては、ノック信号ＫＮＫの頻度分布が歪み、ノック信号ＫＮＫの平均値（ＢＧＬ）が、頻度分布のピーク値から上側にずれる場合がある。その結果、ノック判定閾値ＴＨも望ましい値よりも上側にずれ、ノックが発生しているにもかかわらず、ノックの発生強度ＩＫＮＫが小さくなり、点火時期を適切に遅角できない問題があった。
【００４４】
そこで、本実施の形態では、ＢＧＬ算出部５２は、ノック信号ＫＮＫがローパスフィルタの出力値より小さい場合のローパスフィルタのカットオフ周波数であるローサイド周波数を、ノック信号ＫＮＫがローパスフィルタの出力値より大きい場合のローパスフィルタのカットオフ周波数であるハイサイド周波数よりも高くするローサイド周波数増加を行う。
【００４５】
このようなローサイド周波数増加を行うと、相対的に、ローパスフィルタの出力値よりも小さいノック信号ＫＮＫはローパスフィルタを通過し易くなり、ローパスフィルタの出力値よりも大きいノック信号ＫＮＫはローパスフィルタを通過し難くなる。そのため、図５の頻度分布に示すように、ノック信号ＫＮＫの頻度分布の範囲内で、ローパスフィルタの出力値（ＢＧＬ）が、ノック信号ＫＮＫの平均値よりも小さい側にシフトする。よって、ノックの発生時に、ノック信号ＫＮＫの頻度分布が歪んだとしても、バックグラウンドレベルＢＧＬは、ノック信号ＫＮＫの頻度分布の範囲内で、ノック信号ＫＮＫの頻度分布の最小値側に寄って設定されるため、頻度分布の歪みの影響を受け難くなる。そして、バックグラウンドレベルＢＧＬを基準にノック判定閾値ＴＨが設定されるため、頻度分布の歪みにかかわらず、ノック判定閾値ＴＨが増加し過ぎることを抑制できる。よって、ノック信号ＫＮＫがノック判定閾値ＴＨを上回り、ノックの発生強度ＩＫＮＫが適切に増加し、点火時期を適切に遅角させることができる。
【００４６】
本実施の形態では、ＢＧＬ算出部５２は、ローサイド周波数増加において、ノック信号ＫＮＫがローパスフィルタの出力値より小さい場合は、ローサイド周波数を無限大の周波数に設定し、ローパスフィルタの出力値をノック信号ＫＮＫに一致させるように構成されている。
【００４７】
カットオフ周波数が無限大の周波数になると、ノック信号ＫＮＫはローパスフィルタをそのまま通過し、ローパスフィルタの出力値がノック信号ＫＮＫに一致する。逆に言えば、ローパスフィルタの出力値がノック信号ＫＮＫに一致する場合は、カットオフ周波数が無限大の周波数に設定されていることになる。上記の構成によれば、ローパスフィルタの出力値よりも小さいノック信号ＫＮＫはローパスフィルタをそのまま通過し、ローパスフィルタの出力値よりも大きいノック信号ＫＮＫはローパスフィルタを通過し難くなる。よって、ローパスフィルタの出力値を、頻度分布の最小値により近づけることができ、バックグラウンドレベルＢＧＬを、ノック信号ＫＮＫの頻度分布の最小値により近づけることができる。
【００４８】
本実施の形態では、ＢＧＬ算出部５２は、ローパスフィルタとして離散化された一次遅れフィルタを用いている。具体的には、一次遅れフィルタは、次式に示すように、フィルタゲインＫＦに前回の演算周期（本例では前回の割り込み処理）の一次遅れフィルタの出力値Ｙｆ（ｎ−１）を乗算した値と、１からフィルタゲインＫＦを減算した値を今回の演算周期（本例では今回の割り込み処理）の一次遅れフィルタの入力値Ｕｆ（ｎ）に乗算した値との合計値を、今回の演算周期の一次遅れフィルタの出力値Ｙｆ（ｎ）として算出する処理とされている。このような一次遅れフィルタを用いることにより、演算処理負荷を低減することができる。
Ｙｆ（ｎ）＝ＫＦ×Ｙｆ（ｎ−１）＋（１−ＫＦ）×Ｕｆ（ｎ）    ・・・（６）
【００４９】
そして、ＢＧＬ算出部５２は、次式に示すように、ローサイド周波数増加において、今回の演算周期の一次遅れフィルタの入力値Ｕｆ（ｎ）が前回の演算周期の一次遅れフィルタの出力値Ｙｆ（ｎ−１）より小さい場合は、ローサイド周波数としてのフィルタゲインＫＦを０にし、今回の演算周期の一次遅れフィルタの入力値Ｕｆ（ｎ）が前回の演算周期の一次遅れフィルタの出力値Ｙｆ（ｎ−１）より大きい場合（本例では以上の場合）は、ハイサイド周波数としてのフィルタゲインＫＦを０より大きく且つ１より小さい値にする。
１）Ｕｆ（ｎ）＜Ｙｆ（ｎ−１）
ＫＦ＝０
２）Ｕｆ（ｎ）≧Ｙｆ（ｎ−１）            ・・・（７）
ＫＦ＝ＫＦＨ
（０＜ＫＦＨ＜１）
【００５０】
なお、フィルタゲインＫＦが０から１に近づくに従って、カットオフ周波数が次第に低くなる。フィルタゲインＫＦが１から０に近づくに従って、カットオフ周波数が次第に高くなり、フィルタゲインＫＦが０の場合に、カットオフ周波数が無限大になる。
【００５１】
ＢＧＬ算出部５２は、ノック信号ＫＮＫに対して二段以上のローパスフィルタの処理を行ってバックグラウンドレベルＢＧＬを算出するように構成されている。ＢＧＬ算出部５２は、少なくとも第一段のローパスフィルタについてローサイド周波数増加を行うように構成されている。
【００５２】
この構成によれば、生のノック信号ＫＮＫに対して、ノイズ除去ローパスフィルタ処理等の他のフィルタ処理が行われず、ローサイド周波数増加を行うローパスフィルタの処理が行われるので、ノック信号ＫＮＫの頻度分布の最小値にバックグラウンドレベルＢＧＬを近づけることができる。
【００５３】
ＢＧＬ算出部５２は、少なくとも最終段のローパスフィルタについて、ハイサイド周波数をローサイド周波数よりも高くするハイサイド周波数増加を行うように構成されている。
【００５４】
ローサイド周波数増加を行うローパスフィルタにより、ノック信号ＫＮＫの負側の変化に対するローパスフィルタの出力値の応答遅れが相対的に小さくなり、ノック信号ＫＮＫの正側の変化に対するローパスフィルタの出力値の応答遅れが相対的に大きくなる。上記の構成によれば、少なくとも最終段のローパスフィルタについて、ハイサイド周波数増加が行われるので、ノック信号ＫＮＫの負側の変化に対するバックグラウンドレベルＢＧＬの応答遅れを相対的に増加させ、ノック信号ＫＮＫの正側の変化に対するバックグラウンドレベルＢＧＬの応答遅れを相対的に減少させることができる。よって、ノック信号ＫＮＫの負側の変化に対するバックグラウンドレベルＢＧＬの変化の応答性と、ノック信号ＫＮＫの正側の変化に対するバックグラウンドレベルＢＧＬの変化の応答性と、を近づけることができる。よって、ノック信号ＫＮＫの変化方向に関わらず、安定したバックグラウンドレベルＢＧＬの追従応答を得ることができる。
【００５５】
また、ハイサイド周波数増加を行うローパスフィルタの処理により、ローサイド周波数増加を行うローパスフィルタの出力値が正側にシフトするが、ローサイド周波数増加を行うローパスフィルタの出力値を平均化させ、バックグラウンドレベルＢＧＬを安定化させることができる。
【００５６】
ＢＧＬ算出部５２において、ノック信号ＫＮＫの正側のステップ変化に対するバックグラウンドレベルＢＧＬの変化の時定数ＴＣＨ（以下、ハイサイド時定数ＴＣＨと称す）と、ノック信号ＫＮＫの負側のステップ変化に対するバックグラウンドレベルＢＧＬの変化の時定数ＴＣＬ（以下、ローサイド時定数ＴＣＬと称す）と、が同等になるように、ローパスフィルタそれぞれのローサイド周波数及びハイサイド周波数が設定されている。
【００５７】
この構成によれば、内燃機関１の加速又は減速等により、ノック信号ＫＮＫが正側に変化する場合のバックグラウンドレベルＢＧＬの追従応答性と、負側に変化する場合のバックグラウンドレベルＢＧＬの追従応答性とを合せることができる。よって、ノック信号ＫＮＫの変化方向に関わらず、同等のバックグラウンドレベルＢＧＬの追従応答を得ることができる。
【００５８】
ここで、ハイサイド時定数ＴＣＨ及びローサイド時定数ＴＣＬは、ノック信号ＫＮＫがステップ変化してから、バックグラウンドレベルＢＧＬが最終値の６３．２％に到達するまでの時間となる。また、ハイサイド時定数ＴＣＨとローサイド時定数ＴＣＬとが同等になるとは、ハイサイド時定数ＴＣＨとローサイド時定数ＴＣＬとが互いに±１０％の範囲内になるものとする。
【００５９】
＜二段構成の場合＞
まず、図６に示すように、ローパスフィルタが二段構成の場合について説明する。この場合は、第一段のローパスフィルタＦＬＴ１においてローサイド周波数増加が行われ、最終段となる第二段のローパスフィルタＦＬＴ２においてハイサイド周波数増加が行われる。
【００６０】
第一段のローパスフィルタＦＬＴ１は、一次遅れフィルタにより次式のように構成される。ここで、Ｙｆ１は、第一段の一次遅れフィルタＦＬＴ１の出力値である。ＫＦ１は、第一段の一次遅れフィルタＦＬＴ１のフィルタゲインであり、ノック信号ＫＮＫ（ｎ）が前回の一次遅れフィルタの出力値Ｙｆ１（ｎ−１）より小さい場合は、０に設定された第一段のローサイドゲインＫＦ１Ｌに設定され、ノック信号ＫＮＫ（ｎ）が前回の一次遅れフィルタの出力値Ｙｆ１（ｎ−１）より大きい場合（本例では以上の場合）は、０より大きく１より小さい値に設定された第一段のハイサイドゲインＫＦ１Ｈに設定される。これにより、第一段のローサイド周波数が、無限大になって、第一段のハイサイド周波数よりも高くなるため、ローサイド周波数増加が行われる。
Ｙｆ１（ｎ）＝ＫＦ１×Ｙｆ１（ｎ−１）＋（１−ＫＦ１）×ＫＮＫ（ｎ）
１）ＫＮＫ（ｎ）＜Ｙｆ１（ｎ−１）
ＫＦ１＝ＫＦ１Ｌ＝０
２）ＫＮＫ（ｎ）≧Ｙｆ１（ｎ−１）                ・・・（８）
ＫＦ１＝ＫＦ１Ｈ
（０＜ＫＦ１Ｈ＜１）
【００６１】
第二段のローパスフィルタＦＬＴ２は、一次遅れフィルタにより次式のように構成される。ここで、Ｙｆ２は、第二段の一次遅れフィルタＦＬＴ２の出力値である。ＫＦ２は、第二段の一次遅れフィルタＦＬＴ２のフィルタゲインであり、今回の第一段の一次遅れフィルタの出力値Ｙｆ１（ｎ）が前回の第二段の一次遅れフィルタの出力値Ｙｆ２（ｎ−１）より小さい場合は、第二段のローサイドゲインＫＦ２Ｌに設定され、今回の第一段の一次遅れフィルタの出力値Ｙｆ１（ｎ）が前回の第二段の一次遅れフィルタの出力値Ｙｆ２（ｎ−１）より大きい場合（本例では以上の場合）は、第二段のハイサイドゲインＫＦ２Ｈに設定される。第二段のローサイドゲインＫＦ２Ｌは、０より大きく１より小さい値であって、第二段のハイサイドゲインＫＦ２Ｈより大きい値に予め設定されている。第二段のハイサイドゲインＫＦ２Ｈは、０より大きく１より小さい値であって、第二段のローサイドゲインＫＦ２Ｌより小さい値に予め設定されている。これにより、第二段のハイサイド周波数が、第二段のローサイド周波数よりも高くなるため、ハイサイド周波数増加が行われる。
Ｙｆ２（ｎ）＝ＫＦ２×Ｙｆ２（ｎ−１）＋（１−ＫＦ２）×Ｙｆ１（ｎ）
ＢＧＬ（ｎ）＝Ｙｆ２（ｎ）
１）Ｙｆ１（ｎ）＜Ｙｆ２（ｎ−１）
ＫＦ２＝ＫＦ２Ｌ
２）Ｙｆ１（ｎ）≧Ｙｆ２（ｎ−１）                ・・・（９）
ＫＦ２＝ＫＦ２Ｈ
（０＜ＫＦ２Ｈ＜ＫＦ２Ｌ＜１）
【００６２】
各一次遅れフィルタの時定数ＴＣ（６３．２％到達時間）は、次式に示すように、一次遅れフィルタの演算周期ΔＴを、一次遅れフィルタのフィルタゲインＫＦの自然対数で除算し、−１を乗算した値となる。
ＴＣ＝−ΔＴ／ＬＮ（ＫＦ）              ・・・（１０）
【００６３】
複数段の一次遅れフィルタ全体での時定数（６３．２％到達時間）は、各段の対応する一次遅れフィルタの時定数の合計値により算出できる。次式に示すように、ハイサイド時定数ＴＣＨは、第一段のハイサイドゲインＫＦ１Ｈに対応する第一段のハイサイド時定数と、第二段のハイサイドゲインＫＦ２Ｈに対応する第二段のハイサイド時定数との合計値となる。ローサイド時定数ＴＣＬは、第一段のローサイドゲインＫＦ１Ｌに第一段のローサイド時定数と、第二段のローサイドゲインＫＦ２Ｌに対応する第二段のローサイド時定数との合計値となる。そして、ハイサイド時定数ＴＣＨとローサイド時定数ＴＣＬとが等しくなるように、各段のハイサイドゲインＫＦ１Ｈ、ＫＦ２Ｈ、及び各段のローサイドゲインＫＦ１Ｌ、ＫＦ２Ｌが設定されている。
ＴＣＨ＝−ΔＴ／ＬＮ（ＫＦ１Ｈ）−ΔＴ／ＬＮ（ＫＦ２Ｈ）
ＴＣＬ＝−ΔＴ／ＬＮ（ＫＦ１Ｌ）−ΔＴ／ＬＮ（ＫＦ２Ｌ）    ・・・（１１）
ＴＣＨ＝ＴＣＬ
【００６４】
例えば、次式に示すように、演算周期ΔＴが０．１［ｓｅｃ］であり、第一段及び第二段のハイサイドゲインＫＦ１Ｈ、ＫＦ２Ｈが０．８１８７に設定されている場合は、ハイサイド時定数ＴＣＨが１．０［ｓｅｃ］となる。この場合に、ローサイド時定数ＴＣＬとハイサイド時定数ＴＣＨとを等しくするために、第二段のローサイドゲインＫＦ２Ｌが０．９０４８に設定されている。
ΔＴ＝０．１
ＫＦ１Ｈ＝ＫＦ２Ｈ＝０．８１８７                    ・・・（１２）
ＫＦ１Ｌ＝０、ＫＦ２Ｌ＝０．９０４８
ＴＣＨ＝ＴＣＬ＝１．０
【００６５】
第一段及び第二段の一次遅れフィルタＦＬＴ１、ＦＬＴ２の挙動を図７に示す。ノック信号ＫＮＫは、ノックの発生状態、並びに運転条件に応じて変化する振幅で周期変動している。演算周期が荒いが、ローサイド周波数増加を行う第一段の一次遅れフィルタの出力値Ｙｆ１は、ノック信号ＫＮＫが出力値Ｙｆ１より小さくなる場合にノック信号ＫＮＫに一致しているが、ノック信号ＫＮＫが出力値Ｙｆ１より大きくなる場合にノック信号ＫＮＫに向かって一次遅れ変化している。そのため、第一段の一次遅れフィルタの出力値Ｙｆ１は、ノック信号ＫＮＫの周期変動に連動して、ノック信号ＫＮＫの最小値と、最小値よりも所定値だけ高い値との間を周期変動している。ハイサイド周波数増加を行う第二段の一次遅れフィルタＦＬＴ２により、第一段の一次遅れフィルタの出力値Ｙｆ１を平均化させ、バックグラウンドレベルＢＧＬを安定化させることができている。
【００６６】
第一段のハイサイドゲインＫＦ１Ｈを１により近づけ、第一段のハイサイド周波数をより低くすれば、第一段の一次遅れフィルタの出力値Ｙｆ１の振動最大値を、ノック信号ＫＮＫの最小値により近づけることができ、バックグラウンドレベルＢＧＬを、ノック信号ＫＮＫの最小値により近づけることができる。一方、ノック信号ＫＮＫの振動挙動が変化した後の過渡時のバックグラウンドレベルＢＧＬの追従性が悪化するため、第一段のハイサイド周波数をあまり低くできない。しかし、二段のフィルタ構成でも、バックグラウンドレベルＢＧＬをノック信号ＫＮＫの最小値に近づけることができている。なお、上述した図５は、この二段構成の場合の図である。
【００６７】
図８に、内燃機関１の加速又は減速等により、ノック信号ＫＮＫの振幅が正側にステップ的に変動した場合のバックグラウンドレベルＢＧＬの過渡応答を示し、図９に、ノック信号ＫＮＫの振幅が負側にステップ的に変動した場合のバックグラウンドレベルＢＧＬの過渡応答を示す。ローサイド時定数ＴＣＬとハイサイド時定数ＴＣＨとが等しくされているので、正側のノック信号ＫＮＫの変動に対するバックグラウンドレベルＢＧＬの追従応答性と、負側のノック信号ＫＮＫの変動に対するバックグラウンドレベルＢＧＬの追従応答性と、を合せることができている。よって、ノック信号ＫＮＫの振幅の変動方向に関わらず、安定したバックグラウンドレベルＢＧＬの追従応答を得ることができる。
【００６８】
＜三段構成の場合＞
次に、図１０に示すように、ローパスフィルタが三段構成の場合について説明する。この場合は、第一段のローパスフィルタＦＬＴ１、及び第二段のローパスフィルタＦＬＴ２についてローサイド周波数増加が行われ、最終段となる第三段のローパスフィルタＦＬＴ３についてハイサイド周波数増加が行われる。
【００６９】
第一段のローパスフィルタＦＬＴ１は、二段構成の場合と同様に、一次遅れフィルタにより次式のように構成される。ここで、Ｙｆ１は、第一段の一次遅れフィルタＦＬＴ１の出力値である。ＫＦ１は、第一段の一次遅れフィルタＦＬＴ１のフィルタゲインであり、ノック信号ＫＮＫ（ｎ）が前回の一次遅れフィルタの出力値Ｙｆ１（ｎ−１）より小さい場合は、０に設定された第一段のローサイドゲインＫＦ１Ｌに設定され、ノック信号ＫＮＫ（ｎ）が前回の一次遅れフィルタの出力値Ｙｆ１（ｎ−１）より大きい場合（本例では以上の場合）は、０より大きく１より小さい値に設定された第一段のハイサイドゲインＫＦ１Ｈに設定される。これにより、第一段のローサイド周波数が、無限大になって、第一段のハイサイド周波数よりも高くなるため、ローサイド周波数増加が行われる。
Ｙｆ１（ｎ）＝ＫＦ１×Ｙｆ１（ｎ−１）＋（１−ＫＦ１）×ＫＮＫ（ｎ）
１）ＫＮＫ（ｎ）＜Ｙｆ１（ｎ−１）
ＫＦ１＝ＫＦ１Ｌ＝０
２）ＫＮＫ（ｎ）≧Ｙｆ１（ｎ−１）                ・・・（１３）
ＫＦ１＝ＫＦ１Ｈ
（０＜ＫＦ１Ｈ＜１）
【００７０】
第二段のローパスフィルタＦＬＴ２は、第一段と同様に、一次遅れフィルタにより次式のように構成される。ここで、Ｙｆ２は、第二段の一次遅れフィルタＦＬＴ２の出力値である。ＫＦ２は、第二段の一次遅れフィルタＦＬＴ２のフィルタゲインであり、第一段の一次遅れフィルタの出力値Ｙｆ１（ｎ）が前回の第二段の一次遅れフィルタの出力値Ｙｆ２（ｎ−１）より小さい場合は、０に設定された第二段のローサイドゲインＫＦ２Ｌに設定され、第一段の一次遅れフィルタの出力値Ｙｆ１（ｎ）が前回の第二段の一次遅れフィルタの出力値Ｙｆ２（ｎ−１）より大きい場合（本例では以上の場合）は、０より大きく１より小さい値に設定された第二段のハイサイドゲインＫＦ２Ｈに設定される。これにより、第二段のローサイド周波数が、無限大になって、第二段のハイサイド周波数よりも高くなるため、ローサイド周波数増加が行われる。
Ｙｆ２（ｎ）＝ＫＦ２×Ｙｆ２（ｎ−１）＋（１−ＫＦ２）×Ｙｆ１（ｎ）
１）Ｙｆ１（ｎ）＜Ｙｆ２（ｎ−１）
ＫＦ２＝ＫＦ２Ｌ＝０
２）Ｙｆ１（ｎ）≧Ｙｆ２（ｎ−１）                ・・・（１４）
ＫＦ２＝ＫＦ２Ｈ
（０＜ＫＦ２Ｈ＜１）
【００７１】
第三段のローパスフィルタＦＬＴ３は、二段構成の場合の第二段と同様に、一次遅れフィルタにより次式のように構成される。ここで、Ｙｆ３は、第二段の一次遅れフィルタＦＬＴ２の出力値である。ＫＦ３は、第三段の一次遅れフィルタＦＬＴ３のフィルタゲインであり、今回の第二段の一次遅れフィルタの出力値Ｙｆ２（ｎ）が前回の第三段の一次遅れフィルタの出力値Ｙｆ３（ｎ−１）より小さい場合は、第三段のローサイドゲインＫＦ３Ｌに設定され、今回の第二段の一次遅れフィルタの出力値Ｙｆ２（ｎ）が前回の第三段の一次遅れフィルタの出力値Ｙｆ３（ｎ−１）より大きい場合（本例では以上の場合）は、第三段のハイサイドゲインＫＦ３Ｈに設定される。第三段のローサイドゲインＫＦ３Ｌは、０より大きく１より小さい値であって、第３段のハイサイドゲインＫＦ３Ｈより大きい値に予め設定されている。第三段のハイサイドゲインＫＦ３Ｈは、０より大きく１より小さい値であって、第三段のローサイドゲインＫＦ３Ｌより小さい値に予め設定されている。これにより、第三段のハイサイド周波数が、第三段のローサイド周波数よりも高くなるため、ハイサイド周波数増加が行われる。
Ｙｆ３（ｎ）＝ＫＦ３×Ｙｆ３（ｎ−１）＋（１−ＫＦ３）×Ｙｆ２（ｎ）
ＢＧＬ（ｎ）＝Ｙｆ３（ｎ）
１）Ｙｆ２（ｎ）＜Ｙｆ３（ｎ−１）
ＫＦ３＝ＫＦ３Ｌ
２）Ｙｆ２（ｎ）≧Ｙｆ３（ｎ−１）                ・・・（１５）
ＫＦ３＝ＫＦ３Ｈ
（０＜ＫＦ３Ｈ＜ＫＦ３Ｌ＜１）
【００７２】
次式に示すように、ハイサイド時定数ＴＣＨとローサイド時定数ＴＣＬとが等しくなるように、各段のハイサイドゲインＫＦ１Ｈ、ＫＦ２Ｈ、ＫＦ３Ｈ、及び各段のローサイドゲインＫＦ１Ｌ、ＫＦ２Ｌ、ＫＦ３Ｌが設定されている。
ΔＴ＝０．１
ＫＦ１Ｈ＝ＫＦ２Ｈ＝ＫＦ３Ｈ＝０．７４０８              ・・・（１６）
ＫＦ１Ｌ＝ＫＦ２Ｌ＝０、ＫＦ３Ｈ＝０．９０４８
ＴＣＨ＝ＴＣＬ＝１．０
【００７３】
第一段、第二段、及び第三段の一次遅れフィルタＦＬＴ１、ＦＬＴ２、ＦＬＴ３の挙動を図１１に示す。第二段の一次遅れフィルタの出力値Ｙｆ２の振幅は、第一段の出力値Ｙｆ１の振幅よりも小さくなっており、第二段の出力値Ｙｆ２の振動最大値は、第一段の出力値Ｙｆ１の振動最大値よりもノック信号ＫＮＫの最小値に近づいている。よって、二段構成の場合よりも、バックグラウンドレベルＢＧＬを、ノック信号ＫＮＫの最小値に更に近づけることができる。
【００７４】
この三段構成の場合の、ノック信号ＫＮＫの頻度分布と、バックグラウンドレベルＢＧＬ、及びノック判定閾値ＴＨの算出値を図１２に示す。この図に示すように、三段構成にすることにより、図５の二段構成の場合よりも、バックグラウンドレベルＢＧＬをノック信号ＫＮＫの最小値により近づけることができ、ノック判定閾値ＴＨの設定が、ノック信号ＫＮＫの頻度分布の歪みによる影響をより受け難くなる。
【００７５】
図１３に、内燃機関１の加速又は減速等により、ノック信号ＫＮＫの振幅が正側にステップ的に変動した場合のバックグラウンドレベルＢＧＬの過渡応答を示し、図１４に、ノック信号ＫＮＫの振幅が負側にステップ的に変動した場合のバックグラウンドレベルＢＧＬの過渡応答を示す。ローサイド時定数ＴＣＬとハイサイド時定数ＴＣＨとが等しくされているので、正側のノック信号ＫＮＫの変動に対するバックグラウンドレベルＢＧＬの追従応答性と、負側のノック信号ＫＮＫの変動に対するバックグラウンドレベルＢＧＬの追従応答性と、を合せることができている。よって、ノック信号ＫＮＫの振幅の変動方向に関わらず、安定したバックグラウンドレベルＢＧＬの追従応答を得ることができる。
【００７６】
＜最小値検出処理＞
以上のように、ローサイド周波数増加を行うローパスフィルタは、ノック信号ＫＮＫの頻度分布の最小値に近い値を検出するために行われている。すなわち、ＢＧＬ算出部５２は、ノック信号ＫＮＫに対して最小値検出処理を行ってバックグラウンドレベルＢＧＬを算出するように構成されている。その最小値検出処理の具体的方法が、本実施の形態では、ローサイド周波数増加を行うローパスフィルタとされている。最小値検出処理は、少なくとも、ノック信号ＫＮＫの振動が安定している定常状態で、ノック信号ＫＮＫの振幅における最小値と、当該最小値にノック信号ＫＮＫの振幅の２０％を加算した値と、の間の値を算出可能な処理である。
【００７７】
＜フローチャート＞
本実施の形態に係る制御装置５０の概略的な処理の手順（内燃機関１の制御方法）について、図１５に示すフローチャートに基づいて説明する。図１５のフローチャートの処理は、演算処理装置９０が記憶装置９１に記憶されたソフトウェア（プログラム）を実行することにより、所定の演算周期毎に繰り返し実行される。
【００７８】
ステップＳ０１で、ノック信号算出部５１は、上記のように、内燃機関１の燃焼状態に応じた信号を出力する燃焼状態検出センサ（本例では、ノックセンサ１２）の出力信号に基づいてノックの特徴成分を表すノック信号ＫＮＫを算出するノック信号算出処理（ノック信号算出ステップ）を実行する。
【００７９】
次に、ステップＳ０２で、ＢＧＬ算出部５２は、上記のように、ノック信号ＫＮＫに基づいてバックグラウンドレベルＢＧＬを算出するＢＧＬ算出処理（ＢＧＬ算出ステップ）を実行する。ＢＧＬ算出部５２は、ノック信号ＫＮＫに対してローパスフィルタの処理を行ってバックグラウンドレベルＢＧＬを算出する。この際、ＢＧＬ算出部５２は、ノック信号ＫＮＫがローパスフィルタの出力値より小さい場合のローパスフィルタのカットオフ周波数であるローサイド周波数を、ノック信号ＫＮＫがローパスフィルタの出力値より大きい場合のローパスフィルタのカットオフ周波数であるハイサイド周波数よりも高くするローサイド周波数増加を行う。
【００８０】
そして、ステップＳ０３で、ノック強度算出部５４は、上記のように、ノック信号ＫＮＫ及びノック判定閾値ＴＨに基づいてノックの発生強度ＩＫＮＫを算出するノック強度算出処理（ノック強度算出ステップ）を実行する。
【００８１】
ステップＳ０４で、ノック制御部５５は、上記のように、ノックの発生強度ＩＫＮＫに応じて、ノックの発生が抑制されるように内燃機関１の制御パラメータ（本例では、点火時期）を変化させるノック制御処理（ノック制御ステップ）を実行する。
【００８２】
〔その他の実施の形態〕
最後に、本発明のその他の実施の形態について説明する。なお、以下に説明する各実施の形態の構成は、それぞれ単独で適用されるものに限られず、矛盾が生じない限り、他の実施の形態の構成と組み合わせて適用することも可能である。
【００８３】
（１）上記の実施の形態１においては、燃焼状態検出センサとしてノックセンサ１２が用いられている場合を例に説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、燃焼状態検出センサは、内燃機関１の燃焼状態に応じた信号を出力するセンサであれば、どのようなセンサであってもよく、例えば、シリンダ２５内の圧力を検出する筒内圧センサであってもよい。ノックが発生した場合は、シリンダ２５内の圧力には振動成分が重畳するため、ノック信号算出部５１は、筒内圧センサの出力信号に対して、上記の実施の形態１と同様に、時間・周波数解析を行うことにより、ノック信号ＫＮＫを算出することができる。
【００８４】
（２）上記の実施の形態１においては、ノック制御部５５は、ノックの発生強度ＩＫＮＫに応じて、制御パラメータとして点火時期を変化させる場合を例に説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、ノック制御部５５は、ノックの発生を抑制できる内燃機関１の制御パラメータであれば、どのような制御パラメータを変化させてもよい。例えば、制御パラメータは、点火時期、吸気可変バルブタイミング機構のバルブ開閉タイミング、吸入空気量、及び燃料噴射のリッチ化量のいずれか一つ以上とされてもよい。
【００８５】
具体的には、ノック制御部５５は、ノックの発生強度ＩＫＮＫが高い場合は、吸気バルブの開閉タイミングを進角側に変化させ、ノックの発生強度ＩＫＮＫが低い場合は、吸気バルブの開閉タイミングを遅角側に変化させる。ノック制御部５５は、ノックの発生強度ＩＫＮＫが高い場合は、スロットル開度を減少させる等して、シリンダ２５に吸入される吸入空気量を減少させ、ノックの発生強度ＩＫＮＫが低い場合は、スロットル開度を増加させる等して、シリンダ２５に吸入される吸入空気量を増加させる。ノック制御部５５は、ノックの発生強度ＩＫＮＫが高い場合は、燃料噴射の理論空燃比からのリッチ化量を増加させ、ノックの発生強度ＩＫＮＫが低い場合は、燃料噴射の理論空燃比からのリッチ化量を減少させる。
【００８６】
（３）上記の実施の形態１においては、ＢＧＬ算出部５２は、ローサイド周波数増加において、ノック信号ＫＮＫがローパスフィルタの出力値より小さい場合は、ローサイド周波数を無限大の周波数に設定し（ローサイドのフィルタゲインＫＦを０に設定し）、ローパスフィルタの出力値をノック信号ＫＮＫに一致させるように構成されている場合を例に説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、ローサイド周波数増加において、ローサイド周波数は、ハイサイド周波数よりも高く設定されていれば、任意の周波数とされてもよい。また、ローサイドのフィルタゲインＫＦは、０とハイサイ
ドのフィルタゲインＫＦとの間の値に設定されてもよい。
【００８７】
（４）上記の実施の形態１においては、ＢＧＬ算出部５２のローパスフィルタとして一次遅れフィルタが用いられている場合を例に説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、ＢＧＬ算出部５２のローパスフィルタとして、２次以上の高次のローパスフィルタが用いられてもよい。
【００８８】
（５）上記の実施の形態１においては、ＢＧＬ算出部５２は、ノック信号ＫＮＫに対して、二段又は三段のローパスフィルタを行う場合を例として説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、ＢＧＬ算出部５２は、ノック信号ＫＮＫに対して、一段、又は三段以上のローパスフィルタの処理を行って、バックグラウンドレベルＢＧＬを算出するように構成されてもよい。一段構成の場合は、第一段のローパスフィルタについてローサイド周波数増加が行われる。三段以上の構成の場合は、第一段から連続する一段以上のローパスフィルタについてローサイド周波数増加が行われる。
【００８９】
（６）上記の実施の形態１においては、三段構成の場合において、ＢＧＬ算出部５２は、第一段から連続する二段、すなわち、第一段及び第二段のローパスフィルタについて、ローサイド周波数増加を行い、第三段（最終段）のローパスフィルタについて、ハイサイド周波数増加を行う場合を例として説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、ＢＧＬ算出部５２は、二段以上のローパスフィルタを行う場合において、少なくとも第一段のローパスフィルタについてローサイド周波数増加を行うように構成されればよく、例えば三段構成の場合に、第一段のローパスフィルタについてローサイド周波数増加を行い、第二段及び第三のローパスフィルタについてハイサイド周波数増加を行うように構成されてもよい。
【００９０】
また、ＢＧＬ算出部５２は、三段以上のローパスフィルタを行う場合において、第一段から連続する二段以上のローパスフィルタについてローサイド周波数増加を行うように構成されてもよい。例えば、ＢＧＬ算出部５２は、四段のローパスフィルタを行う場合において、第一段から連続する三段、すなわち、第一段、第二段、及び第三段のローパスフィルタについて、ローサイド周波数増加を行い、第四段（最終段）のローパスフィルタについて、ハイサイド周波数増加を行うように構成されてもよい。
【００９１】
（７）上記の実施の形態１においては、最終段のローパスフィルタについてハイサイド周波数増加を行う場合を例として説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、最終段のローパスフィルタとして、ハイサイド周波数とローサイド周波数とが等しい、周波数変更を行わない通常のローパスフィルタが用いられてもよい。この場合でも、バックグラウンドレベルＢＧＬを安定化させることができる。
【００９２】
（８）上記の実施の形態１においては、ＢＧＬ算出部５２において、ローサイド時定数ＴＣＬとハイサイド時定数ＴＣＨとが同等にされている場合を例として説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、ローサイド時定数ＴＣＬとハイサイド時定数ＴＣＨとが同等でなくてもよい。
【００９３】
（９）上記の実施の形態１においては、二段構成の場合において、式（１２）に示したように第一段及び第二段のハイサイドゲインＫＦ１Ｈ、ＫＦ２Ｈが同じ値に設定され、三段構成の場合において、式（１６）に示したように第一段、第二段、及び第三段のハイサイドゲインＫＦ１Ｈ、ＫＦ２Ｈ、ＫＦ３Ｈが同じ値に設定されている場合を例として説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、各段のハイサイドゲインは、互いに異なる値に設定されていてもよい。
【００９４】
（１０）上記の実施の形態１においては、ＢＧＬ算出部５２は、ノック信号ＫＮＫの頻度分布の最小値に近い値を検出するために、ローサイド周波数増加を行うローパスフィルタを行う場合を例に説明した。しかし、本発明の実施の形態はこれに限定されない。すなわち、ＢＧＬ算出部５２は、最小値検出処理であれば、どのような処理方法を用いてもよい。例えば、ＢＧＬ算出部５２は、最小値検出処理として、ローサイド周波数増加を行うローパスフィルタの代わりに、予め設定された処理回数分の現在及び過去の割り込み処理において算出された複数のノック信号ＫＮＫから最小値を抽出する処理を行ってもよい。
【００９５】
なお、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略したりすることが可能である。
【産業上の利用可能性】
【００９６】
この発明は、内燃機関に発生するノックを制御するための制御装置及びその制御方法に好適に利用することができる。
【符号の説明】
【００９７】
１  内燃機関、１２  ノックセンサ（燃焼状態検出センサ）、１４  吸気可変バルブタイミング機構、２５  シリンダ、５０  内燃機関の制御装置、５１  ノック信号算出部、５２  ＢＧＬ算出部、５３  ノック判定閾値算出部、５４  ノック強度算出部、５５  ノック制御部、６０  ノイズ除去ローパスフィルタ、６１  Ａ／Ｄ変換器、６２  デジタル信号処理部、ＢＧＬ  バックグラウンドレベル、ＦＬＴ１  第一段のローパスフィルタ、ＦＬＴ２  第二段のローパスフィルタ、ＦＬＴ３  第三のローパスフィルタ、ＩＫＮＫ  ノックの発生強度、ＫＦ  フィルタゲイン、ＫＦ１  第一段のフィルタゲイン、ＫＦ２  第二段のフィルタゲイン、ＫＦ３  第三段のフィルタゲイン、ＫＮＫ  ノック信号、ＴＨ  ノック判定閾値、Ｕｆ  ローパスフィルタの入力値、Ｙｆ  ローパスフィルタの出力値、Ｙｆ１  第一段のローパスフィルタの出力値、Ｙｆ２  第二段のローパスフィルタの出力値
【図１】
0006289543.tif 000002
【図２】
0006289543.tif 000003
【図３】
0006289543.tif 000004
【図４】
0006289543.tif 000005
【図５】
0006289543.tif 000006
【図６】
0006289543.tif 000007
【図７】
0006289543.tif 000008
【図８】
0006289543.tif 000009
【図９】
0006289543.tif 000010
【図１０】
0006289543.tif 000011
【図１１】
0006289543.tif 000012
【図１２】
0006289543.tif 000013
【図１３】
0006289543.tif 000014
【図１４】
0006289543.tif 000015
【図１５】
0006289543.tif 000016