(57)【要約】【課題】正確にノックを検出する内燃機関のノック検出装置およびノック検出方法を提供する。【解決手段】ノック検出装置１は、エンジン５０において発生したノックを検出するノック検出装置であって、エンジン５０の筒内圧を検出する筒内圧センサ１４と、筒内圧センサ１４によって検出された筒内圧波形を用いてノックの発生有無を判定するＥＣＵ２０とを備え、ＥＣＵ２０は、筒内圧波形からノックフィルタによってノック波形を抽出し、筒内圧波形からノイズフィルタによってノイズ波形を抽出し、ノイズ波形を用いてノック判定値を更新し、ノックフィルタによって抽出したノック波形の強さがノック判定値を超えた場合にノックが発生したと判定する。【選択図】図６
2017207015.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関において発生したノックを検出するノック検出装置であって、
前記内燃機関の筒内圧を検出する筒内圧センサと、
前記筒内圧センサによって検出された筒内圧の信号波形を用いてノックの発生有無を判定するノック判定装置とを備え、
前記ノック判定装置は、
前記筒内圧の信号波形からノックフィルタによってノック周波数帯域の信号波形であるノック波形を抽出し、
前記筒内圧の信号波形からノイズフィルタによってノイズ周波数帯域の信号波形であるノイズ波形を抽出し、
前記ノイズフィルタによって抽出したノイズ波形を用いてノック判定値を更新し、
前記ノックフィルタによって抽出したノック波形の強さが前記ノック判定値を超えた場合にノックが発生したと判定する、内燃機関のノック検出装置。
【請求項２】
前記ノック判定装置は、前記ノイズフィルタによって抽出したノイズ波形から算出される平均値および標準偏差を用いて前記ノック判定値を更新する、請求項１に記載の内燃機関のノック検出装置。
【請求項３】
前記ノック判定装置は、
複数の前記ノイズフィルタによって互いに異なるノイズ周波数帯域のノイズ波形をそれぞれ抽出し、
複数の前記ノイズフィルタによって抽出したノイズ波形のそれぞれから、それぞれの当該ノイズ波形において共通時間帯に重畳しかつノイズ判定値を超える強さのスパイクノイズのノイズ波形を取り除き、
前記スパイクノイズのノイズ波形を取り除いた後のノイズ波形を用いて前記ノック判定値を更新する、請求項１または２に記載の内燃機関のノック検出装置。
【請求項４】
前記ノック判定装置は、前記ノックフィルタによって抽出したノック波形から前記スパイクノイズのノイズ波形を取り除いた後のノック波形を用いて、ノックの発生有無を判定する、請求項３に記載の内燃機関のノック検出装置。
【請求項５】
前記ノック判定装置は、
前記内燃機関の１サイクルの動作に対応する筒内圧の信号波形を取得し、
１サイクル毎の筒内圧の信号波形から前記ノイズフィルタによってノイズ波形を抽出し、
前記ノイズフィルタによって１サイクル毎に抽出したノイズ波形を用いて前記ノック判定値を更新する、請求項１〜請求項４のいずれかに記載の内燃機関のノック検出装置。
【請求項６】
内燃機関において発生したノックを検出するノック検出方法であって、
前記内燃機関の筒内圧を検出する筒内圧センサによって検出された筒内圧の信号波形からノックフィルタによってノック周波数帯域の信号波形であるノック波形を抽出するステップと、
前記筒内圧の信号波形からノイズフィルタによってノイズ周波数帯域の信号波形であるノイズ波形を抽出するステップと、
前記ノイズフィルタによって抽出したノイズ波形を用いてノック判定値を更新するステップと、
前記ノックフィルタによって抽出したノック波形の強さが前記ノック判定値を超えた場合にノックが発生したと判定するステップとを含む、内燃機関のノック検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関において発生したノックを検出するノック検出装置およびノック検出方法に関する。
【背景技術】
【０００２】
内燃機関においては、点火プラグによる点火時期が過度に早まると、燃焼室内の混合気が自発火するノッキング（以下、ノックとも称する）が発生する虞がある。このノックの発生を判定する従来の方法として、内燃機関にノックセンサを設けるとともに、ノックセンサの検出値が予め決められた固定値としてのノック判定値を超えた場合にノックが発生したと判定する技術が公知である。
【０００３】
しかし、ノックセンサの検出値に基づいてノックの発生有無の判定を行う場合に、ノックが発生したことを判定する閾値として予め決められた固定値としてのノック判定値を用いる従来の方法では、ノックセンサの検出値にノイズ成分が重畳していることで検出値がノック判定値を超えた場合にもノックが発生したと誤判定してしまう虞がある。そこで、特開２００７−７７９６８号公報（特許文献１）には、ノックセンサの検出値である振動強度に重畳しているノイズ成分を用いてノック判定値を更新するノック判定装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−７７９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されたノック判定装置は、振動強度とノック判定値とを繰り返し比較することでノックとノイズとを切り分け、切り分けられたノイズ成分を用いてノック判定値を更新していた。このため、ノックとノイズとを切り分けている期間中はノック判定値を更新することができなかった。その結果、結局は過去のノイズ履歴を用いることでしかノック判定値を更新することができず、ノックとノイズとが同時に発生している場合には正確にノックを検出することができなかった。
【０００６】
本発明は、上述した課題を解決するためになされたものであって、その目的は、正確にノックを検出する内燃機関のノック検出装置およびノック検出方法を提供することである。
【課題を解決するための手段】
【０００７】
この発明のある局面に係る内燃機関のノック検出装置は、内燃機関において発生したノックを検出するノック検出装置である。このノック検出装置は、内燃機関の筒内圧を検出する筒内圧センサと、筒内圧センサによって検出された筒内圧の信号波形を用いてノックの発生有無を判定するノック判定装置とを備える。ノック判定装置は、筒内圧の信号波形からノックフィルタによってノック周波数帯域の信号波形であるノック波形を抽出し、筒内圧の信号波形からノイズフィルタによってノイズ周波数帯域の信号波形であるノイズ波形を抽出し、ノイズフィルタによって抽出したノイズ波形を用いてノック判定値を更新し、ノックフィルタによって抽出したノック波形の強さがノック判定値を超えた場合にノックが発生したと判定する。
【０００８】
このようにすると、筒内圧の信号波形からノック波形とノイズ波形とがそれぞれ抽出され、ノイズ波形を用いてノック判定値が更新される。そして、ノック波形の強さが更新後のノック判定値を超えた場合にノックが発生したと判定される。これにより、筒内圧の信号波形を検出する毎にノック判定値を更新することができるため、正確にノックを検出することができる。
【０００９】
好ましくは、ノック判定装置は、ノイズフィルタによって抽出したノイズ波形から算出される平均値および標準偏差を用いてノック判定値を更新する。
【００１０】
このようにすると、ノイズフィルタによって抽出したノイズ波形から算出される平均値および標準偏差を用いてノック判定値を更新することができる。
【００１１】
好ましくは、ノック判定装置は、複数のノイズフィルタによって互いに異なるノイズ周波数帯域のノイズ波形をそれぞれ抽出し、複数のノイズフィルタによって抽出したノイズ波形のそれぞれから、それぞれの当該ノイズ波形において共通時間帯に重畳しかつノイズ判定値を超える強さのスパイクノイズのノイズ波形を取り除き、スパイクノイズのノイズ波形を取り除いた後のノイズ波形を用いてノック判定値を更新する。
【００１２】
このようにすると、複数のノイズフィルタを用いることにより、スパイクノイズのノイズ波形を取り除いた後のノイズ波形を用いてノイズ判定値を更新することができるため、より正確にノックを検出することができる。
【００１３】
好ましくは、ノック判定装置は、ノックフィルタによって抽出したノック波形からスパイクノイズのノイズ波形を取り除いた後のノック波形を用いて、ノックの発生有無を判定する。
【００１４】
このようにすると、スパイクノイズのノイズ波形を取り除いた後のノック波形を用いてノックの発生有無を判定することができるため、より正確にノックを検出することができる。
【００１５】
好ましくは、ノック判定装置は、内燃機関の１サイクルの動作に対応する筒内圧の信号波形を取得し、１サイクル毎の筒内圧の信号波形からノイズフィルタによってノイズ波形を抽出し、ノイズフィルタによって１サイクル毎に抽出したノイズ波形を用いてノック判定値を更新する。
【００１６】
このようにすると、内燃機関の１サイクル毎にノック判定値を更新することができるため、正確にノックを検出することができる。
【００１７】
この発明のある局面に係るノック検出方法は、内燃機関において発生したノックを検出するノック検出方法である。このノック検出方法は、内燃機関の筒内圧を検出する筒内圧センサによって検出された筒内圧の信号波形からノックフィルタによってノック周波数帯域の信号波形であるノック波形を抽出するステップと、筒内圧の信号波形からノイズフィルタによってノイズ周波数帯域の信号波形であるノイズ波形を抽出するステップと、ノイズフィルタによって抽出したノイズ波形を用いてノック判定値を更新するステップと、ノックフィルタによって抽出したノック波形の強さがノック判定値を超えた場合にノックが発生したと判定するステップとを含む。
【００１８】
このようにすると、筒内圧の信号波形からノック波形とノイズ波形とがそれぞれ抽出され、ノイズ波形を用いてノック判定値が更新される。そして、ノック波形の強さが更新後のノック判定値を超えた場合にノックが発生したと判定される。これにより、筒内圧の信号波形を検出する毎にノック判定値を更新することができるため、正確にノックを検出することができる。
【図面の簡単な説明】
【００１９】
【図１】ノック検出装置の概略構成を示す図である。
【図２】ノック波形およびノイズ波形の抽出について説明するための図である。
【図３】スパイクノイズが発生している場合のノック波形およびノイズ波形の抽出について説明するための図である。
【図４】スパイクノイズが発生していない場合のノック判定値の算出について説明するための図である。
【図５】スパイクノイズが発生している場合のノック判定値の算出について説明するための図である。
【図６】ＥＣＵが実行するノック判定値更新処理を示すフローチャートである。
【図７】ＥＣＵが実行するノック有無判定処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【００２１】
[ノック検出装置の構成]
図１は、ノック検出装置１の概略構成を示す図である。ノック検出装置１は、エンジン５０において発生したノックを検出する。
【００２２】
エンジン５０は、燃焼室（図示省略）に燃料を噴射する燃料噴射弁（図示省略）を有する内燃機関である。エンジン５０の一例としては、ガソリンエンジンおよびガスエンジンなどがある。エンジン５０においては、燃焼室内に充満した混合気が点火プラグ（図示省略）の点火によって燃焼する。点火プラグには、電源（図示省略）からの電圧が点火コイル１７などを含む昇圧装置によって昇圧されて引火される。点火コイル１７は、燃焼室および点火プラグの数に対応する分だけ設けられる。本実施の形態のエンジン５０は、直列４気筒であるため、４つの点火コイル１７が設けられる。
【００２３】
ノック検出装置１は、複数の点火プラグそれぞれの近辺に設けられた複数の筒内圧センサ１４と、複数の筒内圧センサ１４のそれぞれに接続されたチャージアンプ２５と、エンジン５０のクランクプーリ２１に接続されたエンコーダ２２と、エンコーダ２２およびチャージアンプ２５のそれぞれに接続されたＥＣＵ（Electronic  Control  Unit）２０とを備える。なお、ＥＣＵ２０は、「ノック判定装置」の一実施形態に対応する。
【００２４】
筒内圧センサ１４は、エンジン５０の燃焼室内の圧力（以下、筒内圧とも称する）を検出する。チャージアンプ２５は、筒内圧センサ１４によって検出された筒内圧を示す信号（以下、筒内圧信号とも称する）を増幅して、ＥＣＵ２０に出力する。エンコーダ２２は、エンジン５０が動作している間のクランクプーリ２１の回転を検出し、その回転角を示す信号（以下、クランク角信号とも称する）をＥＣＵ２０に出力する。
【００２５】
ＥＣＵ２０は、いずれも図示しないが、ＣＰＵ（Central  Processing  Unit）と、メモリと、入出力バッファなどとを含んで構成される。ＥＣＵ２０は、筒内圧センサ１４を含む各センサおよび機器からの信号、ならびにメモリに格納されたマップおよびプログラムに基づいて、各種機器を制御する。また、ＥＣＵ２０は、エンコーダ２２からのクランク角信号に基づき、エンジン５０の１気筒分の１サイクルの動作を把握する。なお、エンジン５０の１サイクルの動作とは、エンジン５０が４ストローク機関であれば、吸気、圧縮、燃焼、および排気といった４工程の動作になる。なお、エンジン５０は、４ストローク機関に限らず、２ストローク機関であってもよく、この場合、エンジン５０の１サイクルの動作は２工程の動作になる。
【００２６】
また、ＥＣＵ２０は、チャージアンプ２５からの筒内圧信号と、エンコーダ２２からのクランク角信号とに基づき、エンジン５０の１気筒分における１サイクル毎の筒内圧波形を取得する。そして、ＥＣＵ２０は、取得した筒内圧波形を用いてノックの発生有無を判定する。なお、筒内圧波形を取得する際のサンプリング周期としては、ノックの発生が検出可能な周期の１／２倍以下の周期が用いられる。
【００２７】
ここで、ノックの発生有無を判定する際には、ノック判定値が用いられる。ノック判定値は、エンジンの駆動状態が一定であれば固定の判定値を用いることができる。しかし、実際には、ノックの他にノイズも発生することがあるため、筒内圧波形に重畳しているノイズ成分の大きさがノック判定値を超えてしまうと、ノイズをノックと誤検出してしまう虞がある。そこで、ノック判定値は、ノイズ成分を用いて更新されるようになっている。
【００２８】
しかし、取得した筒内圧波形に含まれるノック成分とノイズ成分とを切り分けるために、筒内圧波形の値とノック判定値とを繰り返し比較した場合、ノック成分とノイズ成分とを切り分けている期間中はノック判定値を更新することができない。その結果、結局は前のサイクルにおける過去のノイズ履歴を用いることでしかノック判定値を更新することができず、正確にノックを検出することができない。
【００２９】
そこで、本実施の形態におけるノック検出装置１においては、ＥＣＵ２０によって、１サイクルの筒内圧波形からノック周波数帯域の信号波形（以下、ノック波形とも称する）とノイズ周波数帯域の信号波形（以下、ノイズ波形とも称する）とがそれぞれ抽出され、抽出されたノイズ波形を用いて１サイクル毎にノック判定値が更新される。以下、詳細に説明する。
【００３０】
[波形抽出]
図２を参照しながら、ＥＣＵ２０によるノック波形およびノイズ波形の抽出について説明する。図２は、ノック波形およびノイズ波形の抽出について説明するための図である。図２（ａ）に示すように、ＥＣＵ２０は、横軸を時間、縦軸を筒内圧として、筒内圧波形Ｐ_０を取得する。
【００３１】
エンジン５０が圧縮工程に入ると、筒内圧が上昇し続け、燃焼行程の前後でピークを迎える。その際、ノックが発生すると、ノックの影響を受けて筒内圧波形Ｐ_０は乱れる。一方、ノックが発生しなくても、ノイズの影響によって筒内圧波形Ｐ_０は乱れることもある。
【００３２】
そこで、ＥＣＵ２０は、筒内圧波形に含まれるノック成分とノイズ成分とを切り分けるために、バンドパスフィルタを用いて筒内圧波形Ｐ_０からノック波形とノイズ波形とをそれぞれ抽出する。
【００３３】
具体的には、図１に示すように、ＥＣＵ２０は、バンドパスフィルタとして、ノックフィルタＢＰＦ_Ｋと、２つのノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２とを備える。ノックフィルタＢＰＦ_Ｋは、筒内圧波形Ｐ_０からノック周波数帯域の信号波形（以下、ノック波形Ｐ_Ｋとも称する）を抽出するフィルタである。ノイズフィルタＢＰＦ_Ｎ１は、筒内圧波形Ｐ_０からノイズ周波数帯域の信号波形（以下、ノイズ波形Ｐ_Ｎ１とも称する）を抽出するフィルタである。ノイズフィルタＢＰＦ_Ｎ２は、筒内圧波形Ｐ_０からノイズフィルタＢＰＦ_Ｎ１におけるノイズ周波数帯域よりも高周波のノイズ周波数帯域の信号波形（以下、ノイズ波形Ｐ_Ｎ２とも称する）を抽出するフィルタである。
【００３４】
なお、ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２の周波数帯域は、ノックの影響および燃焼行程によるノイズの影響のいずれも受けない周波数帯域が好ましく、具体的にはノック波形Ｐ_Ｋの周波数帯域よりも高周波の帯域が好ましい。ノイズ波形Ｐ_Ｎ１の周波数帯域と、ノイズ波形Ｐ_Ｎ２の周波数帯域とは互いに異なる帯域であることが好ましく、本実施の形態においては、ノイズ波形Ｐ_Ｎ１の周波数帯域よりもノイズ波形Ｐ_Ｎ２の周波数帯域の方が高周波の帯域である。
【００３５】
ノック波形Ｐ_Ｋにおける周波数の帯域幅は、ノックの発生を検出できる帯域幅であればよく、ノックの影響を受けた場合に信号波形に現れる周波数の帯域幅よりも広い方が好ましい。ノック波形Ｐ_Ｋにおける周波数の帯域幅は、エンジンの種類、たとえば、シリンダ（図示省略）の径などに基づき決まるため、実験などによって予め決めておけばよい。
【００３６】
ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２における周波数の帯域幅は、ノック判定値の更新に用いることのできるノイズ波形を抽出できる帯域幅であればよく、実験などによって予め決めておけばよい。たとえば、本実施の形態においては、ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２における周波数の帯域幅は約５ｋＨｚである。なお、ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２における周波数の帯域幅は互いに異なっていてもよい。
【００３７】
具体的には、図２（ｂ）に示すように、筒内圧波形Ｐ_０をフーリエ変換すると、各時間帯の筒内圧を周波数毎の信号強度に変換した周波数スペクトルを取得することができる。この周波数スペクトルに基づき、ノック波形Ｐ_Ｋおよびノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２の周波数帯域が予め設定される。
【００３８】
図２（ｃ）に示すように、ＥＣＵ２０は、筒内圧波形Ｐ_０から、ノックフィルタＢＰＦ_Ｋによってノック波形Ｐ_Ｋを、ノイズフィルタＢＰＦ_Ｎ１によってノイズ波形Ｐ_Ｎ１を、ノイズフィルタＢＰＦ_Ｎ２によってノイズ波形Ｐ_Ｎ２をそれぞれ抽出する。ノック波形Ｐ_Ｋ、ノイズ波形Ｐ_Ｎ１、およびノイズ波形Ｐ_Ｎ２は、横軸を時間、縦軸を圧力とする波形で抽出される。
【００３９】
ノックが発生している場合、ノックの影響を受けてノック波形Ｐ_Ｋの圧力値は大きくなる。一方、ノックが発生している場合であっても、ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２に影響はない。
【００４０】
このように、ノックフィルタＢＰＦ_Ｋによってノック周波数帯域の信号波形（ノック波形）を抽出し、ノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２によってノイズ周波数帯域の信号波形（ノイズ波形）を抽出することで、筒内圧波形に含まれるノック成分とノイズ成分とを切り分けることができる。
【００４１】
ところで、エンジン５０においては、ノイズの一種として、スパイクノイズと呼ばれるノイズが発生することがある。スパイクノイズは、後述の図４（ａ）に示すノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２のような定常的なノイズとは異なり、各種センサ（図示省略）および装置などの動作による電気的なインパルスノイズなど、主に外的要因によるノイズである。
【００４２】
たとえば、図３は、スパイクノイズが発生している場合のノック波形およびノイズ波形の抽出について説明するための図である。図３（ａ）に示すように、スパイクノイズが発生すると、筒内圧波形Ｐ_０は、スパイクノイズの影響を受けて、瞬間的に筒内圧が上昇する。
【００４３】
図３（ｃ）に示すように、筒内圧波形Ｐ_０から抽出されたノック波形Ｐ_Ｋ、ノイズ波形Ｐ_Ｎ１、およびノイズ波形Ｐ_Ｎ２においては、スパイクノイズの波形（以下、スパイクノイズ波形とも称する）が現れて瞬間的に圧力値が大きくなる。
【００４４】
このように、スパイクノイズが発生している場合、全ての周波数帯域の信号波形においてスパイクノイズの影響が現れる傾向がある。
【００４５】
[ノック判定値の算出]
図４および図５を参照しながら、ＥＣＵ２０によるノック判定値の算出について説明する。
【００４６】
まず、図４を参照しながら、スパイクノイズが発生していない場合のノック判定値の算出について説明する。図４は、スパイクノイズが発生していない場合のノック判定値の算出について説明するための図である。
【００４７】
ＥＣＵ２０は、図４（ａ）に示すノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２のそれぞれを絶対値換算することで、図４（ｂ）に示すように、絶対値成分のノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|を取得する。なお、絶対値換算によってノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２のそれぞれの絶対値成分を取得するものに限らず、ヒルベルト変換などを用いてノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２のそれぞれの包絡線を取得するものであってもよい。
【００４８】
ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|を用いて、スパイクノイズの発生有無を判定するためのスパイクノイズ判定値を算出する。
【００４９】
ノイズ波形|Ｐ_Ｎ１|についてのスパイクノイズ判定値１は、以下の式を用いて算出される。
【００５０】
スパイクノイズ判定値１＝|Ｐ_Ｎ１|の平均値＋σ×|Ｐ_Ｎ１|の標準偏差
なお、σは、重み係数であり、本実施の形態においては、たとえばσ＝３である。
【００５１】
ノイズ波形|Ｐ_Ｎ２|についてのスパイクノイズ判定値２は、以下の式を用いて算出される。
【００５２】
スパイクノイズ判定値２＝|Ｐ_Ｎ２|の平均値＋σ×|Ｐ_Ｎ２|の標準偏差
なお、σは、重み係数であり、本実施の形態においては、たとえばσ＝３である。
【００５３】
ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|の圧力ピーク値とスパイクノイズ判定値１とを比較する。同様に、ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ２|の圧力ピーク値とスパイクノイズ判定値２とを比較する。ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|の圧力ピーク値がスパイクノイズ判定値１を超え、かつノイズ波形|Ｐ_Ｎ２|の圧力ピーク値がスパイクノイズ判定値２を超えると判定した場合、スパイクノイズが発生していると判断する。
【００５４】
図４の例では、スパイクノイズが発生していないため、ノイズ波形|Ｐ_Ｎ１|の圧力ピーク値がスパイクノイズ判定値１を超えず、また、ノイズ波形|Ｐ_Ｎ２|の圧力ピーク値がスパイクノイズ判定値２を超えない。このため、ＥＣＵ２０は、スパイクノイズが発生していないと判定する。なお、スパイクノイズは、全ての周波数帯域の信号波形に影響を与えるため、ノイズ波形|Ｐ_Ｎ１|の圧力ピーク値およびノイズ波形|Ｐ_Ｎ２|の圧力ピーク値のいずれかのみがスパイクノイズ判定値を超えた場合でも、ＥＣＵ２０は、スパイクノイズが発生していないと判定する。
【００５５】
図４（ｃ）に示すように、ＥＣＵ２０は、スパイクノイズが発生していないため、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|をそのまま用いてノック判定値を算出する。
【００５６】
ノック判定値は、以下の式を用いて算出される。
ノイズ波形平均値＝√(|Ｐ_Ｎ１|の平均値の２乗＋|Ｐ_Ｎ２|の平均値の２乗)
ノイズ波形標準偏差＝√(|Ｐ_Ｎ１|の標準偏差の２乗＋|Ｐ_Ｎ２|の標準偏差の２乗)
ノック判定値＝ノイズ波形平均値＋σ×ノイズ波形標準偏差
なお、√は、括弧内の式の平方根を意味し、σは、重み係数であり、本実施の形態においては、たとえばσ＝３である。
【００５７】
このように、ＥＣＵ２０は、スパイクノイズが発生していない場合、ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２のそれぞれから取得したノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|をそのまま用いてノック判定値を算出する。
【００５８】
次に、図５を参照しながら、スパイクノイズが発生している場合のノック判定値の算出について説明する。図５は、スパイクノイズが発生している場合のノック判定値の算出について説明するための図である。
【００５９】
図５（ａ）に示すように、スパイクノイズが発生している場合、ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２のいずれにおいてもスパイクノイズの影響を受ける。
【００６０】
図５（ｂ）に示すように、スパイクノイズが発生している場合、ノイズ波形|Ｐ_Ｎ１|の圧力ピーク値がスパイクノイズ判定値１を超え、かつノイズ波形|Ｐ_Ｎ２|の圧力ピーク値がスパイクノイズ判定値２を超える。
【００６１】
この場合、ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|のそれぞれについて、スパイクノイズ判定値を超えた時間帯のうち、互いに重複する時間帯のスパイクノイズ波形を取り除く。
【００６２】
たとえば、ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|の圧力ピーク値がスパイクノイズ判定値１を超える時間帯がｔ１であり、ノイズ波形|Ｐ_Ｎ２|の圧力ピーク値がスパイクノイズ判定値２を超える時間帯がｔ２である場合、ｔ１とｔ２とが重複する時間帯のスパイクノイズ波形を、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|のそれぞれから取り除く。
【００６３】
そして、図５（ｃ）に示すように、ＥＣＵ２０は、スパイクノイズ波形を取り除いた後のノイズ波形|Ｐ_Ｎ１|'およびノイズ波形|Ｐ_Ｎ２|'を取得する。
【００６４】
図５（ｄ）に示すように、ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|'およびノイズ波形|Ｐ_Ｎ２|'を用いてノック判定値を算出する。
【００６５】
ノック判定値は、以下の式を用いて算出される。
ノイズ波形平均値＝√(|Ｐ_Ｎ１|'の平均値の２乗＋|Ｐ_Ｎ２|'の平均値の２乗)
ノイズ波形標準偏差＝√(|Ｐ_Ｎ１|'の標準偏差の２乗＋|Ｐ_Ｎ２|'の標準偏差の２乗)
ノック判定値＝ノイズ波形平均値＋σ×ノイズ波形標準偏差
なお、√は、括弧内の式の平方根を意味し、σは、重み係数であり、本実施の形態においては、たとえばσ＝３である。
【００６６】
このように、ＥＣＵ２０は、スパイクノイズが発生している場合、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|のそれぞれから、スパイクノイズ波形を取り除き、スパイクノイズ波形を取り除いた後のノイズ波形|Ｐ_Ｎ１|’およびノイズ波形|Ｐ_Ｎ２|’を用いてノック判定値を算出する。
【００６７】
[ＥＣＵが実行するノック判定値更新処理]
図６を参照しながら、ＥＣＵ２０が実行するノック判定値更新処理の内容を説明する。図６は、ＥＣＵ２０が実行するノック判定値更新処理を示すフローチャートである。ＥＣＵ２０は、エンジン５０の１サイクル毎にノック判定値更新処理を実行する。なお、図６および後述の図７に示すフローチャートの各ステップ（以下、Ｓと略す）は、基本的にはＥＣＵ２０によるソフトウェア処理によって実現されるが、ＥＣＵ２０内に作製されたハードウェア（電子回路）による処理によって実現されてもよい。
【００６８】
図６に示すように、ＥＣＵ２０は、チャージアンプ２５からの筒内圧信号と、エンコーダ２２からのクランク角信号とに基づき、エンジン５０の１気筒分における１サイクル毎の筒内圧波形Ｐ_０を取得する（Ｓ１０）。
【００６９】
ＥＣＵ２０は、筒内圧波形Ｐ_０からノックフィルタＢＰＦ_Ｋによってノック波形Ｐ_Ｋを抽出する（Ｓ１１）。ＥＣＵ２０は、筒内圧波形Ｐ_０からノイズフィルタＢＰＦ_Ｎ１によってノイズ波形Ｐ_Ｎ１を抽出する（Ｓ１２）。ＥＣＵ２０は、筒内圧波形Ｐ_０からノイズフィルタＢＰＦ_Ｎ２によってノイズ波形Ｐ_Ｎ２を抽出する（Ｓ１３）。
【００７０】
ＥＣＵ２０は、ノイズ波形Ｐ_Ｎ１およびノイズ波形Ｐ_Ｎ２に基づき、ノイズ周波数帯域にスパイクノイズが発生しているか否かを判定する（Ｓ１４）。このとき、ＥＣＵ２０は、図４（ｂ）および図５（ｂ）において説明したように、スパイクノイズ判定値を用いてスパイクノイズの発生有無を判定する。
【００７１】
ＥＣＵ２０は、スパイクノイズが発生していない場合（Ｓ１４でＮＯ）、図４（ｃ）に示すように、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|をそのまま用いて、ノイズ波形平均値を算出するとともに（Ｓ１６）、ノイズ波形標準偏差を算出する（Ｓ１７）。そして、ＥＣＵ２０は、ノイズ波形平均値およびノイズ波形標準偏差を用いてノック判定値を算出する（Ｓ１８）。
【００７２】
一方、ＥＣＵ２０は、スパイクノイズが発生している場合（Ｓ１４でＹＥＳ）、図５（ｃ）に示すように、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|のそれぞれから、スパイクノイズ波形を取り除く（Ｓ１５）。
【００７３】
そして、ＥＣＵ２０は、図５（ｄ）に示すように、スパイクノイズ波形を取り除いた後のノイズ波形|Ｐ_Ｎ１|'およびノイズ波形|Ｐ_Ｎ２|'を用いて、ノイズ波形平均値を算出するとともに（Ｓ１６）、ノイズ波形標準偏差を算出する（Ｓ１７）。そして、ＥＣＵ２０は、ノイズ波形平均値およびノイズ波形標準偏差を用いてノック判定値を算出する（Ｓ１８）。
【００７４】
ＥＣＵ２０は、ＲＡＭ（Random  Access  Memory）などの記憶領域（図示は省略）に記憶していたノック判定値を、Ｓ１８の処理で算出したノック判定値に書き換えて、ノック判定値を更新する（Ｓ１９）。
【００７５】
その後、ＥＣＵ２０は、更新後のノック判定値を用いてノックの発生有無を判定するノック有無判定処理を実行し（Ｓ２０）、本ルーチンを終了する。
【００７６】
[ＥＣＵが実行するノック有無判定処理]
図７を参照しながら、ＥＣＵ２０が実行するノック有無判定処理の内容を説明する。図７は、ＥＣＵ２０が実行するノック有無判定処理を示すフローチャートである。ＥＣＵ２０は、エンジン５０の１サイクル毎にノック有無判定処理を実行する。
【００７７】
図７に示すように、ＥＣＵ２０は、ノックフィルタＢＰＦ_Ｋによって抽出したノック波形Ｐ_Ｋにおいて、ノックの有無を判定する区間（以下、ノック判定区間とも称する）を設定する（Ｓ２００）。ノック判定区間は、ノックが発生すると予想される時間帯であり、実験などによって予め決めておけばよい。
【００７８】
ＥＣＵ２０は、ノック判定区間におけるノック周波数帯域にスパイクノイズが発生しているか否かを判定する（Ｓ２０１）。上述したように、スパイクノイズが発生している場合、全ての周波数帯域の信号波形においてスパイクノイズの影響が現れる。このため、ＥＣＵ２０は、図６に示すＳ１４の処理においてノイズ周波数帯域にスパイクノイズが発生していると判定した場合にはノック周波数帯域にスパイクノイズが発生していると判定し、図６に示すＳ１４の処理においてノイズ周波数帯域にスパイクノイズが発生していないと判定した場合にはノック周波数帯域にスパイクノイズが発生していないと判定する。
【００７９】
ＥＣＵ２０は、ノイズ周波数帯域にスパイクノイズが発生している場合（Ｓ２０１でＹＥＳ）、ノック波形Ｐ_Ｋからスパイクノイズ波形を取り除き（Ｓ２０２）、Ｓ２０３の処理に移行する。一方、ＥＣＵ２０は、ノイズ周波数帯域にスパイクノイズが発生していない場合（Ｓ２０１でＮＯ）、Ｓ２０２の処理を経由することなく、Ｓ２０３の処理に移行する。
【００８０】
Ｓ２０３の処理において、ＥＣＵ２０は、ノック波形Ｐ_Ｋの圧力ピーク値がノック判定値を超えるか否かを判定する（Ｓ２０３）。このとき用いられるノック判定値は、図６に示すＳ１９の処理において更新された後のノック判定値が用いられる。つまり、１サイクル毎に更新されたノック判定値を用いてノックの発生有無が判定される。
【００８１】
ＥＣＵ２０は、ノック波形Ｐ_Ｋの圧力ピーク値がノック判定値を超えない場合（Ｓ２０３でＮＯ）、ノックが発生していないと判定し（Ｓ２０４）、本ルーチンを終了する。一方、ＥＣＵ２０は、ノック波形Ｐ_Ｋの圧力ピーク値がノック判定値を超える場合（Ｓ２０３でＹＥＳ）、ノックが発生している判定し（Ｓ２０５）、本ルーチンを終了する。
【００８２】
以上のように、本実施の形態のノック検出装置１においては、ＥＣＵ２０によって、筒内圧波形Ｐ_０からノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２を用いてノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２が抽出され、抽出されたノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２を用いてノック判定値が更新される。そして、ＥＣＵ２０によって、筒内圧波形Ｐ_０からノックフィルタＢＰＦ_Ｋを用いてノック波形Ｐ_Ｋが抽出され、抽出されたノック波形Ｐ_Ｋの強さがノック判定値を超えた場合にノックが発生したと判定される。これにより、筒内圧波形Ｐ_０が検出される毎にノック判定値を更新することができるため、正確にノックを検出することができる。
【００８３】
ノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２によって抽出されたノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２から算出される平均値および標準偏差を用いてノック判定値を更新することができる。
【００８４】
複数のノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２によって互いに異なるノイズ周波数帯域のノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２がそれぞれ抽出される。そして、抽出されたノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２のそれぞれから、スパイクノイズ波形が取り除かれ、スパイクノイズ波形が取り除かれた後のノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２を用いてノック判定値が更新される。このように、複数のノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２を用いることにより、スパイクノイズ波形を取り除いた後のノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２を用いてノイズ判定値を更新することができるため、より正確にノックを検出することができる。
【００８５】
ノックフィルタＢＰＦ_Ｋによって抽出されたノック波形Ｐ_Ｋからスパイクノイズ波形が取り除かれた後のノック波形Ｐ_Ｋを用いて、ノックの発生有無が判定される。これにより、スパイクノイズ波形が取り除かれた後のノック波形Ｐ_Ｋを用いてノックの発生有無を判定することができるため、より正確にノックを検出することができる。
【００８６】
エンジン５０の１サイクル毎の筒内圧波形Ｐ_０からノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２によってノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２が抽出され、ノイズ波形Ｐ_Ｎ１，Ｐ_Ｎ２を用いてノック判定値が更新される。これにより、エンジン５０の１サイクル毎にノック判定値を更新することができるため、正確にノックを検出することができる。
【００８７】
[変形例]
本実施の形態においては、ＥＣＵ２０は、２つのノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２を備えていたが、これに限らない。たとえば、ＥＣＵ２０は、１つのノイズフィルタのみを備えてもよい。このようにすると、筒内圧波形Ｐ_０からノイズ波形を抽出する処理を複数回実行することがないため、ノック判定値更新処理の簡素化を図ることができるとともに、ノック判定値更新処理の速度も上がる。また、ＥＣＵ２０は、３つ以上のノイズフィルタを備えてもよい。このようにすると、スパイクノイズの発生有無の判定において、判定対象となるノイズ波形が３つ以上になるため、スパイクノイズの発生有無の判定精度を高めることができる。さらに、ノック判定値の更新に用いるノイズ波形が３つ以上になるため、ノック判定値の更新精度を高めることができる。
【００８８】
また、ＥＣＵ２０は、所定数のノイズフィルタを用いてスパイクノイズの発生有無を判定する一方で、所定数未満のノイズフィルタを用いてノック判定値を更新してもよい。たとえば、ＥＣＵ２０は、２つのノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２を用いてスパイクノイズの発生有無を判定する一方で、１つのノイズフィルタＢＰＦ_Ｎ１を用いてノック判定値を更新してもよい。
【００８９】
本実施の形態においては、ＥＣＵ２０が、ノックフィルタＢＰＦ_ＫおよびノイズフィルタＢＰＦ_Ｎ１，ＢＰＦ_Ｎ２を備えているが、これら全てのフィルタ、あるいはいずれかのフィルタは、ＥＣＵ２０とは別の構成であってもよい。
【００９０】
本実施の形態においては、ＥＣＵ２０は、エンジン５０の１サイクル毎にスパイクノイズ判定値を算出しているが、これに限らない。たとえば、スパイクノイズ判定値は、実験などによって予め決められていてもよいし、前のサイクルにおいて用いたスパイクノイズ判定値を、今回のサイクルにおいて用いてもよい。
【００９１】
本実施の形態においては、ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|のそれぞれについて、スパイクノイズ判定値を超えた時間帯のうち、互いに重複する時間帯のスパイクノイズ波形を取り除いているが、これに限らない。たとえば、ＥＣＵ２０は、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|のそれぞれについて、スパイクノイズ判定値を超えた全ての時間帯のスパイクノイズ波形を取り除いてもよい。たとえば、図５（ｂ）に示す例の場合、ノイズ波形|Ｐ_Ｎ１|の圧力ピーク値がスパイクノイズ判定値１を超える時間帯がｔ１であり、ノイズ波形|Ｐ_Ｎ２|の圧力ピーク値がスパイクノイズ判定値２を超える時間帯がｔ２（＜ｔ１）である。この場合、ＥＣＵ２０は、ｔ１の時間帯のスパイクノイズ波形を、ノイズ波形|Ｐ_Ｎ１|およびノイズ波形|Ｐ_Ｎ２|のそれぞれから取り除いてもよい。あるいは、ＥＣＵ２０は、ｔ１の時間帯のスパイクノイズ波形をノイズ波形|Ｐ_Ｎ１|から取り除くとともに、ｔ２の時間帯のスパイクノイズ波形をノイズ波形|Ｐ_Ｎ２|から取り除いてもよい。
【００９２】
本実施の形態においては、ＥＣＵ２０は、図７のＳ２０３に示すように、エンジン５０の１サイクル毎にノックの発生有無を判定し、その判定結果に基づき１サイクル毎にノックの発生有無を判断していたが、これに限らない。たとえば、ＥＣＵ２０は、１サイクル毎にノックの発生有無を判定するが、所定期間中にノックが発生したと判定した回数が所定回数に達した場合にノックが発生したと判断してもよい。所定期間としては、たとえば、エンジン回転数／２／１２サイクルで算出される複数サイクルの実行期間（約５秒間）を採用してもよいし、その他、実験などによって予め決められていてもよい。また、所定回数としては、たとえば、１回でもよいし、任意の複数回でもよく、実験などによって予め決められていてもよい。
【００９３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９４】
１  ノック検出装置、１４  筒内圧センサ、１７  点火コイル、２０  ＥＣＵ、２１  クランクプーリ、２２  エンコーダ、２５  チャージアンプ、５０  エンジン。
【図１】
2017207015.tif 000003
【図２】
2017207015.tif 000004
【図３】
2017207015.tif 000005
【図４】
2017207015.tif 000006
【図５】
2017207015.tif 000007
【図６】
2017207015.tif 000008
【図７】
2017207015.tif 000009