(57)【特許請求の範囲】
【請求項１】
内燃機関の運転パラメータの検出値についての周波数成分分析を、前記機関の回転に同期して行う周波数成分分析装置において、
前記運転パラメータを所定時間間隔でサンプリングし、サンプル値をデジタル値に変換するサンプリング手段と、
前記検出値に含まれる複数の周波数成分の強度を高速フーリエ変換アルゴリズムを用いて算出するＦＦＴ演算手段と、
前記検出値に含まれる複数の周波数成分の強度を離散フーリエ変換アルゴリズムを用いて算出するＤＦＴ演算手段と、
前記機関の回転速度が設定閾値より低いときは、前記ＦＦＴ演算手段により前記複数の周波数成分の強度を算出し、前記機関回転速度が前記設定閾値以上であるときは、前記ＤＦＴ演算手段により前記複数の周波数成分の強度を算出する処理を前記機関の回転に同期して実行する演算制御手段とを備えることを特徴とする周波数成分分析装置。
【請求項２】
前記演算制御手段は、前記ＦＦＴ演算手段による演算と前記ＤＦＴ演算手段による演算との切換を、前記機関の所定クランク角度範囲において実行することを特徴とする請求項１に記載の周波数成分分析装置。
【請求項３】
前記ＤＦＴ演算手段は、前記複数の周波数成分に対応する、第１要素の強度及び前記第１要素に対して位相が９０度ずれた第２要素の強度を、所定数のサンプル値について算出する要素強度算出手段と、
前記第１要素強度及び前記第２要素強度を用いて前記複数の周波数成分の強度を算出する周波数成分強度算出手段とを備え、
前記周波数成分強度算出手段は、前記第１要素強度の積算値の一部及び前記第２要素強度の積算値の一部をそれぞれ前回算出値に置き換えて前記周波数成分の強度を算出することを特徴とする請求項１または２に記載の周波数成分分析装置。
【請求項４】
前記設定閾値は、前記周波数成分強度の算出に必要とされる単位時間当たりの処理ステップ数に応じて設定されることを特徴とする請求項３に記載の周波数成分分析装置。
【請求項５】
前記運転パラメータは、前記機関に装着されたノックセンサの検出信号であり、
前記ＦＦＴ演算手段またはＤＦＴ演算手段により算出される複数の周波数成分の強度に基づいて前記機関におけるノッキングを判定するノッキング判定手段をさらに備え、
前記ＦＦＴ演算手段は、複数の第１周波数群に対応する複数の第１周波数成分の強度を算出し、前記ＤＦＴ演算手段は、前記第１周波数群とは異なる第２周波数群に対応する複数の第２周波数成分の強度を算出し、
該ノッキング判定手段は、所定周波数範囲に含まれる前記第１または第２周波数成分の強度の代表値を選択する処理を、複数の所定周波数範囲について実行し、選択した複数の代表値を用いて前記ノッキングの判定を行うことを特徴する請求項１から４の何れか１項に記載の周波数成分分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の運転パラメータの検出値についての周波数成分分析を、機関回転に同期して行う周波数成分分析装置に関する。
【背景技術】
【０００２】
特許文献１には、離散フーリエ変換（Discrete Fourier Transform）アルゴリズム（以下「ＤＦＴアルゴリズム」という）と、高速フーリエ変換（Fast Fourier Transform）アルゴリズム（以下「ＦＦＴアルゴリズム」という）とを用いて、内燃機関に装着されたノックセンサの出力信号の周波数成分分析を行う信号処理装置が示されている。ＦＦＴアルゴリズムは演算速度を高めるために特殊なアルゴリズムが採用されるため、必要な周波数成分（具体的にはノックセンサ出力信号の中心周波数成分）の強度が得られない場合がある。そこで、上記信号処理装置では、ノックセンサ出力信号の中心周波数成分（強度が最大の成分）についてはＤＦＴアルゴリムを用いて強度が算出され、中心周波数成分以外の周波数成分についてはＦＦＴアルゴリズムを用いて強度が算出される。
【０００３】
特許文献２には、ＤＦＴアルゴリズムを用いて、機関回転速度が高い状態での演算速度を高める手法が示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−３０３６７３号公報
【特許文献２】特許４８７９３２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ノッキングセンサ出力信号の周波数成分分析は、基本的に機関の回転に同期して行う必要があるため、機関回転速度が高い状態では、周波数成分分析の演算時間をより短縮することが必要となるが、特許文献１に示された装置ではこの点が考慮されていないため、周波数成分分析によって得られる周波数成分強度を用いたノッキングの判別処理に確保できる時間が短くなり、正確な判定が困難となるおそれがある。
【０００６】
特許文献２に示された手法は、ＤＦＴアルゴリズムのみを使用して、機関回転速度が高い状態での演算速度を高めることができるものであるが、機関回転速度が低い状態では、ＦＦＴアルゴリズムを使用する方が演算速度が高くなる。一方、特許文献１に示された装置では、演算速度の観点でＤＦＴアルゴリズムまたはＦＦＴアルゴリズムの一方を選択するものでなく、何れの文献に示された手法も改善の余地があった。
【０００７】
本発明はこの点に着目してなされたものであり、検出パラメータの周波数成分分析を内燃機関の回転に同期して行う際に、周波数成分強度演算をより適切に実行し、機関回転速度の広い範囲で演算速度を高めることができる周波数成分分析装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため請求項１に記載の発明は、内燃機関の運転パラメータの検出値（ＶＫＮＫ）についての周波数成分分析を、前記機関の回転に同期して行う周波数成分分析装置において、前記運転パラメータを所定時間（ＴＳＭＰ）間隔でサンプリングし、サンプル値をデジタル値に変換するサンプリング手段と、前記検出値（ＶＫＮＫ）に含まれる複数の周波数成分の強度（ＳＴＦＴ１）を高速フーリエ変換アルゴリズムを用いて算出するＦＦＴ演算手段と、前記検出値（ＶＫＮＫ）に含まれる複数の周波数成分の強度（ＳＴＦＴ２）を離散フーリエ変換アルゴリズムを用いて算出するＤＦＴ演算手段と、前記機関の回転速度（ＮＥ）が設定閾値（ＮＥＴＨ）より低いときは、前記ＦＦＴ演算手段により前記複数の周波数成分の強度を算出し、前記機関回転速度（ＮＥ）が前記設定閾値（ＮＥＴＨ）以上であるときは、前記ＤＦＴ演算手段により前記複数の周波数成分の強度を算出する処理を前記機関の回転に同期して実行する演算制御手段とを備えることを特徴とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の周波数成分分析装置において、前記演算制御手段は、前記ＦＦＴ演算手段による演算と前記ＤＦＴ演算手段による演算との切換を、前記機関の所定クランク角度範囲（ＲＣＡＳＷ）において実行することを特徴とする。
【００１０】
請求項３に記載の発明は、請求項１または２に記載の周波数成分分析装置において、前記ＤＦＴ演算手段は、前記複数の周波数成分に対応する、第１要素の強度（ＤＭＦＴＳ）及び前記第１要素に対して位相が９０度ずれた第２要素の強度（ＤＭＦＴＣ）を、所定数（ＮＤ）のサンプル値について算出する要素強度算出手段と、前記第１要素強度（ＤＭＦＴＳ）及び前記第２要素強度（ＤＭＦＴＣ）を用いて前記複数の周波数成分の強度（ＳＴＦＴ２）を算出する周波数成分強度算出手段とを備え、前記周波数成分強度算出手段は、前記第１要素強度の積算値の一部及び前記第２要素強度の積算値の一部をそれぞれ前回算出値（ＴＲＭＳ１，ＴＲＭＣ１）に置き換えて前記周波数成分の強度（ＳＴＦＴ２）を算出することを特徴とする。
【００１１】
請求項４に記載の発明は、請求項３に記載の周波数成分分析装置において、前記設定閾値（ＮＥＴＨ）は、前記周波数成分強度（ＳＴＦＴ）の算出に必要とされる単位時間当たりの処理ステップ数（ＮＳ）に応じて設定されることを特徴とする。
【００１２】
請求項５に記載の発明は、請求項１から４の何れか１項に記載の周波数成分分析装置において、前記運転パラメータは、前記機関に装着されたノックセンサ（１１）の検出信号であり、前記ＦＦＴ演算手段またはＤＦＴ演算手段により算出される複数の周波数成分の強度（ＳＴＦＴ１，ＳＴＦＴ２）に基づいて前記機関におけるノッキングを判定するノッキング判定手段をさらに備え、前記ＦＦＴ演算手段は、複数の第１周波数群（ＦＧ１）に対応する複数の第１周波数成分の強度（ＳＴＦＴ１）を算出し、前記ＤＦＴ演算手段は、前記第１周波数群（ＦＧ１）とは異なる第２周波数群（ＦＧ２）に対応する複数の第２周波数成分の強度（ＳＴＦＴ２）を算出し、該ノッキング判定手段は、所定周波数範囲に含まれる前記第１または第２周波数成分の強度（ＳＴＦＴ１，ＳＴＦＴ２）の代表値（ＧＳＴＦＴ１，ＧＳＴＦＴ２）を選択する処理を、複数の所定周波数範囲について実行し、選択した複数の代表値（ＧＳＴＦＴ１，ＧＳＴＦＴ２）を用いて前記ノッキングの判定を行うことを特徴する。
【発明の効果】
【００１３】
請求項１に記載の発明によれば、内燃機関の運転パラメータが所定時間間隔でサンプリングされ、サンプル値がデジタル値に変換され、得られたデジタル値に基づいて複数の周波数成分の強度が算出される。機関の回転速度が設定閾値より低いときは、検出値に含まれる複数の周波数成分の強度が高速フーリエ変換アルゴリズム（ＦＦＴアルゴリズム）を用いて算出される一方、機関回転速度が設定閾値以上であるときは、検出値に含まれる複数の周波数成分の強度が離散フーリエ変換アルゴリズム（ＤＦＴアルゴリズム）を用いて算出され、周波数成分強度の算出処理は機関回転に同期して実行される。機関回転速度が設定閾値より低いときは、ＦＦＴアルゴリズムを使用することによってＤＦＴアルゴリズムを使用する場合より演算速度を高めることができる。また機関回転速度が設定閾値以上であるきは、ＤＦＴアルゴリズムを改良することによってＦＦＴアルゴリズムより演算速度を高めることができる。その結果、機関回転速度のより広い範囲で高い演算速度を実現することができる。
【００１４】
請求項２に記載の発明によれば、ＦＦＴアルゴリズムよる演算とＤＦＴアルゴリズムによる演算との切換が、機関の所定クランク角度範囲において実行される。周波数成分強度演算を実行している期間中に切り換えると、切換前の演算が完了していないため、得られる演算結果が不完全なものとなる可能性がある。したがって、演算が実行されないクランク角度範囲において切換を行うことにより、切換による演算中断を回避し、円滑な切換を行うことができる。
【００１５】
請求項３に記載の発明によれば、ＤＦＴアルゴリズムによる演算を行うときに、第１要素の強度及び第１要素に対して位相が９０度ずれた第２要素の強度が、所定数のサンプル値について算出され、第１要素強度及び第２要素強度を用いて、複数の周波数成分の強度が算出され、第１要素強度の積算値の一部及び第２要素強度の積算値の一部をそれぞれ前回算出値に置き換えて周波数成分強度が算出される。したがって、ＤＦＴアルゴリズムを用いて周波数成分強度を算出するときに、第１及び第２要素強度の積算演算の一部を再度行う必要がなくなり、演算速度を高めることができる。
【００１６】
請求項４記載の発明によれば、機関回転速度の設定閾値は、周波数成分強度の算出に必要とされる単位時間当たりの処理ステップ数に応じて設定される。ＤＦＴアルゴリズムによる周波数成分強度の算出に適用する第１及び第２要素の強度の前回算出値と今回算出値の一部が重複するので、その重複している強度について前回算出値を使用することが可能となると、ＤＦＴアルゴリズムの単位時間当たりの処理ステップ数ＮＳＤは、機関回転速度が増加しても一定となる一方、ＦＦＴアルゴリズムの単位時間当たりの処理ステップ数ＮＳＦは、機関回転速度の増加に比例して増加する。したがって、処理ステップ数ＮＳＦが処理ステップ数ＮＳＤと等しくなる機関回転速度を設定閾値とすることにより、適切な演算アルゴリズムの切換を行うことができる。
【００１７】
請求項５に記載の発明によれば、第１周波数群に対応する第１周波数成分の強度がＦＦＴアルゴリズムを使用して算出され、第１周波数群とは異なる第２周波数群に対応する第２周波数成分の強度がＤＦＴアルゴリズムを使用して算出される。所定周波数範囲に含まれる第１または第２周波数成分の強度の代表値を選択する処理が、複数の所定周波数範囲について実行され、選択した複数の代表値を用いてノッキングの判定が行われる。ＦＦＴアルゴリズムにより算出される第１周波数成分と、ＤＦＴアルゴリズムにより算出される第２周波数成分とは、対応する周波数が一致しないので、所定周波数範囲に含まれる第１または第２周波数成分の強度の代表値を使用することによって、ＦＦＴアルゴリズムとＤＦＴアルゴリズムとの切換を行っても、ノッキング判定処理を適切に行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】ノックセンサ出力のサンプリング及び周波数成分分析を説明するための図である。
【図３】ＦＦＴアルゴリズムによって周波数成分強度（ＳＴＦＴ１）を算出する手順及びタイミング関係を説明するためのタイムチャートである。
【図４】ＤＦＴアルゴリズムによって周波数成分強度（ＳＴＦＴ２）を算出する手順及びタイミング関係を説明するためのタイムチャートである。
【図５】周波数成分強度（ＳＴＦＴ）の算出期間（ＴＳ）と、ＣＲＫ割り込みの発生周期（ＣＲＭＥ）との関係を説明するためのタイムチャートである。
【図６】機関回転数（ＮＥ）と単位時間当たりの演算ステップ数との関係を示す図である。
【図７】周波数成分強度（ＳＴＦＴ）を算出する手順を説明するためのフローチャートである。
【図８】ＦＦＴアルゴリズムを用いて周波数成分強度を算出する手法を説明するため数式を示す図である。
【図９】使用するアルゴリズムの切換期間（ＲＣＡＳＷ）を示す図である。
【図１０】周波数成分分析による得られる強度データをスペクトル時系列マップとして示した図である。
【図１１】図１０に示すスペクトル時系列マップに基づいて作成される代表値スペクトル時系列マップと、ノッキング判定用の基準スペクトル時系列マップとを示す図である。
【図１２】ノッキング判定処理のフローチャートである。
【図１３】ノックセンサにより検出される振動の周波数成分強度を示す図である。
【発明を実施するための形態】
【００１９】
以下本発明の実施の形態を図面を参照して説明する。
図１は、本発明の一実施形態にかかる内燃機関（以下「エンジン」という）及びその制御装置の全体構成図であり、例えば４気筒のエンジン１の吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度ＴＨを検出するスロットル弁開度センサ４が連結されており、センサ４の検出信号は、電子制御ユニット（以下「ＥＣＵ」という）５に供給される。
【００２０】
燃料噴射弁６はエンジン１とスロットル弁３との間かつ吸気管２の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されて当該ＥＣＵ５からの信号により燃料噴射弁６の開弁時間が制御される。エンジン１の各気筒には、点火プラグ７が設けられており、点火プラグ７はＥＣＵ５に接続されている。ＥＣＵ５は、点火プラグ７に点火信号を供給する。
【００２１】
スロットル弁３の下流側には吸気圧ＰＢＡを検出する吸気圧センサ８、及び吸気温ＴＡを検出する吸気温センサ９が設けられている。エンジン１の本体には、エンジン冷却水温ＴＷを検出する冷却水温センサ１０及び非共振型のノックセンサ１１が装着されている。センサ８〜１１の検出信号は、ＥＣＵ５に供給される。ノックセンサ１１としては、例えば５ｋＨｚから２５ｋＨｚまでの周波数帯域の振動を検出可能なものが使用される。
【００２２】
吸気管２のスロットル弁３の上流側には、吸入空気流量ＧＡを検出する吸入空気流量センサ１３が設けられており、その検出信号はＥＣＵ５に供給される。
ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１２が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１２は、エンジン１の特定の気筒の所定クランク角度位置でパルス（以下「ＣＹＬパルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し所定クランク角度前のクランク角度位置で（４気筒エンジンではクランク角１８０度毎に）ＴＤＣパルスを出力するＴＤＣセンサ及びＴＤＣパルスより短い一定クランク角周期（例えば６度周期）で１パルス（以下「ＣＲＫパルス」という）を発生するＣＲＫセンサから成り、ＣＹＬパルス、ＴＤＣパルス及びＣＲＫパルスがＥＣＵ５に供給される。これらのパルスは、燃料噴射時期、点火時期等の各種タイミング制御、エンジン回転数（エンジン回転速度）ＮＥの検出に使用される。
【００２３】
エンジン１は、吸気弁（図示せず）の弁リフト量及び開角（開弁期間）を連続的に変更する第１弁作動特性可変機構と、吸気弁を駆動するカムの、クランク軸回転角度を基準とした作動位相を連続的に変更する第２弁作動特性可変機構とを有する弁作動特性可変装置２０を備えている。ＥＣＵ５は、弁作動特性可変装置２０にリフト量制御信号及び作動位相制御信号を供給し、吸気弁の作動制御を行う。第１及び第２弁作動特性可変機構の構成は、それぞれ例えば特開２００８−２５４１８号公報及び特開２０００−２２７０１３号公報に示されている。
【００２４】
ＥＣＵ５は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、該ＣＰＵで実行される各種演算プログラム及び演算結果等を記憶する記憶回路（メモリ）、燃料噴射弁６及び点火プラグ７に駆動信号を供給する出力回路等から構成される。
【００２５】
本実施形態では、ノックセンサ１１の出力信号の周波数成分分析を行い、その分析の結果得られる周波数成分強度に基づいてノッキング判定を行う。そこで先ず、周波数成分分析の概要を説明する。図２（ａ）は、ノックセンサ１１の出力信号波形を示し、図２（ｂ）は、同図（ａ）の期間ＴＳの波形を拡大して示す図である。本実施形態では、サンプリング周期ＴＳＭＰを２０マイクロ秒とし、連続して検出される６４個のデータを対象とした高速フーリエ変換（以下「ＦＦＴ」という）による周波数成分分析、または５０個のデータを対象とした離散フーリエ変換（以下「ＤＦＴ」という）による周波数成分分析を行う。その周波数成分分析の結果が図２（ｃ）に示されている。図２（ｃ）の縦軸はＤＦＴアルゴリズムによって算出された周波数成分強度ＳＴＦＴであり、本実施形態では、５ｋＨｚから２５ｋＨｚまでの周波数帯域における２１個の所定周波数（５，６，７，…，２４，２５ｋＨｚ）に対応する周波数成分強度ＳＴＦＴが、クランク角度６度毎に（エンジン１のクランク軸が６度回転する毎に）算出される。なお、以下の説明では、ＦＦＴアルゴリズムによって演算された周波数成分強度を「第１周波数成分強度ＳＴＦＴ１」といい、ＤＦＴアルゴリズムによって演算された周波数成分強度を「第２周波数成分強度ＳＴＦＴ２」といい、両者を含めるとき単に「周波数成分強度ＳＴＦＴ」という。第１周波数成分強度ＳＴＦＴ１に対応する複数の所定周波数は、ＤＦＴアルゴリズムの場合と異なり、５．４６７ｋＨｚから２４．２１１ｋＨｚまでの「０．７８１ｋＨｚ」間隔の周波数である。
【００２６】
図３はＦＦＴアルゴリズムによる周波数成分分析を説明するためのタイムチャートであり、図３（ａ）はノックセンサ１１の出力信号を２０マイクロ秒毎にサンプリングすることにより順次取得される検出データＶＫＮＫ（デジタル値）が順次格納されるメモリのアドレスに対応するアドレス番号（１から５０の範囲で繰り返す）を示す。図３（ｂ）は、クランク角度位置センサ１２から出力されるＣＲＫパルスを示し、本実施形態ではＣＲＫパルスの立ち下がり時期が演算実行時期の基準（以下「ＣＲＫ割り込み」という）として使用される。本実施形態では、ＣＲＫ割り込みが発生したタイミングを記憶しておき、そのタイミングを中心としたサンプリング期間ＴＳ中に得られる６４個の検出データを使用してＦＦＴ演算が実行される。ここで「ｊ１」は周波数を示すインデクスパラメータであり（以下「第１周波数インデクス」という）、ｊ１＝０，１，２，…，２４が周波数５．４６７，６．２４８，７．０２９，…，２４．２１１ｋＨｚ（第１周波数群ＦＧ１）に対応する。「ｉ」は、ＣＲＫ割り込みが発生するクランク角度ＣＡ（ピストンが上死点に位置するときの角度位置を０度とする）を示すインデクスパラメータであり（以下「クランク角インデクス」という）、ｉ＝０，１，３，…，１１が、クランク角度１２，１８，…，７２度に対応する。
【００２７】
図３に示す例では、図３（ｃ）に示すインデクスパラメータｍ（＝１〜６４）が、第１周波数成分強度ＳＴＦＴ１(j1,i)の算出に適用されるデータを示す。最初のＣＲＫ割り込みタイミングでは、アドレス番号「５」の検出データ（ｍ＝３２に対応する検出データ）を中心とした６４個のデータを用いて第１周波数成分強度ＳＴＦＴ１(j1,i)が算出され、次のＣＲＫ割り込みタイミングでは、アドレス番号「４５」の検出データ（ｍ＝３２に対応する検出データ）を中心とした６４個のデータを用いて第１周波数成分強度ＳＴＦＴ１(j1,i+1)が算出される。なお、周波数成分強度ＳＴＦＴは、相対強度を示す無次元量である。
【００２８】
第１周波数成分強度ＳＴＦＴ１の算出に適用されるデータを、ｍ＝３２に対応する検出データを中心とした６４個のデータ、換言すれば、ＣＲＫ割り込みの発生タイミングを中心としたサンプリング期間ＴＳ中に得られる６４個の検出データとすることにより、対象とするクランク角度を中心とした周波数成分解析を行うことができる。その結果、ＣＲＫ割り込みが発生した時点を始点とするサンプリング期間内またはＣＲＫ割り込みが発生した時点を終点とするサンプリング期間内でサンプリングされた検出データを用いる手法より、エンジン回転変動の影響を受け難くなるという効果が得られる。
【００２９】
図４は、ＤＦＴアルゴリズムによる周波数成分分析を説明するためのタイムチャートであり、図４（ａ）は図３（ａ）と同一である。図４（ｂ）は検出データＶＫＮＫを用いて算出されるサイン波成分強度ＤＭＦＴＳ及びコサイン波成分強度ＤＭＦＴＣが、検出データＶＫＮＫに対応してメモリに格納される状態を示している。アドレス番号は、図４（ａ）と同一であるが、１つの検出データＶＫＮＫのサンプル値に対応して、周波数５ｋＨｚから２５ｋＨｚまでの２１個の周波数に対応するサイン波成分強度ＤＭＦＴＳ及びコサイン波成分強度ＤＭＦＴＣが１ミリ秒毎に算出され、メモリに格納される。
【００３０】
図４（ｃ）は、図３（ｂ）と同一である。ＤＦＴアルゴリズムによる演算では、ＣＲＫ割り込みが発生したタイミングを中心としたサンプリング期間ＴＳ中に得られる５０個の検出データに対応するサイン波成分強度ＤＭＦＴＳ及びコサイン波成分強度ＤＭＦＴＣを用いて各周波数（５〜２５ｋＨｚ）に対応する成分強度、すなわち第２周波数成分強度ＳＴＦＴ２(j2,i)が算出される（図４（ｄ））。ここで「ｊ２」はＤＦＴ演算において使用される周波数インデクスであり、ｊ２＝０，１，２，…，２０が周波数５，６，７，…，２５ｋＨｚ（第２周波数群ＦＧ２）に対応する。クランク角インデクスｉは、ＦＦＴ演算と同一である。
【００３１】
図４に示す例では、図４（ｃ）に示すインデクスパラメータｍ（＝１〜５０）が、第２周波数成分強度ＳＴＦＴ２(j2,i)の算出に適用されるデータを示す。最初のＣＲＫ割り込みタイミングでは、アドレス番号「５」の検出データ（ｍ＝２５に対応する検出データ）を中心とした５０個のデータを用いて第２周波数成分強度ＳＴＦＴ２(j2,i)が算出され、次のＣＲＫ割り込みタイミングでは、アドレス番号「４５」の検出データ（ｍ＝２５に対応する検出データ）を中心とした５０個のデータを用いて第２周波数成分強度ＳＴＦＴ２(j2,i+1)が算出される。
【００３２】
図５は、ＣＲＫ割り込みの発生周期ＣＲＭＥと、周波数成分強度ＳＴＦＴの算出に適用される検出データのサンプリング期間（「ＳＴＦＴ算出」と表示）ＴＳとの関係を示す図である。図５（ａ）は、エンジン回転数ＮＥが１０００ｒｐｍの例を示し、サンプリング期間ＴＳと割り込み発生周期ＣＲＭＥとが一致している。したがって、エンジン回転数ＮＥが１０００ｒｐｍを超えると、サンプリング期間ＴＳが一部重複する。図５（ｂ）は、エンジン回転数ＮＥが２０００ｒｐｍより若干高い例を示し、サンプリング期間ＴＳの重複部分が長くなっている。
【００３３】
本実施形態では、図５（ａ）に示すようにサンプリング期間ＴＳが重複していないか、重複している期間が比較的短い状態において、ＦＦＴアルゴリズムを用いて第１周波数成分強度ＳＴＦＴ１を算出し、図５（ｂ）に示すようにサンプリング期間ＴＳの重複期間が比較的長い状態においては、ＤＦＴアルゴリズムを用いて第２周波数成分強度ＳＴＦＴ２を算出し、重複部分に関わるサイン波成分強度ＤＭＦＴＳの積算値及びコサイン波成分強度ＤＭＦＴＣの積算値として前回算出値を用いることにより、第２周波数成分強度ＳＴＦＴ２の算出に要する演算時間を短縮するようにしている。
【００３４】
図６の示す実線Ｌ１１は、本実施形態で使用するＣＰＵにおける、前回算出値を使用した場合の単位時間当たりの処理ステップ数ＮＳＤと、エンジン回転数ＮＥとの関係を示す図であり、回転数ＮＥＳＡＴに達するまでは、処理ステップ数ＮＳＤは増加し、ＮＥ≧ＮＥＳＡＴの範囲では一定値ＮＳＳＡＴとなる。また図６に示す破線Ｌ１２は、ＦＦＴアルゴリズムを使用した場合の、エンジン回転数ＮＥと単位時間当たりの処理ステップ数ＮＳＦとの関係を示す。図６から明らかなようにＦＦＴアルゴリズムを用いる場合には、エンジン回転数ＮＥの増加に対して処理ステップ数ＮＳＦが直線的に増加するが、エンジン回転数ＮＥが交差回転数ＮＥＣＲＳ以下の範囲では、処理ステップ数ＮＳＦがＤＦＴアルゴリズムの処理ステップ数ＮＳＤより小さくなる。そこで、本実施形態では、回転数閾値ＮＥＴＨを交差回転数ＮＥＣＲＳに設定し、エンジン回転数ＮＥが回転数閾値ＮＥＴＨより低いときは、ＦＦＴアルゴリズムを使用して第１周波数成分強度ＳＴＦＴ１を算出し、エンジン回転数ＮＥが回転数閾値ＮＥＴＨ以上であるときは、ＤＦＴアルゴリズムを使用して第２周波数成分強度ＳＴＦＴ２を算出するようにしている。これにより、エンジン回転数ＮＥに広い範囲で単位時間当たりの処理ステップ数の増加を抑制し、演算速度を高めることができる。
【００３５】
図７は周波数成分強度を算出する手順を示すフローチャートである。ステップＳ１では、検出データＶＫＮＫを取得し、ステップＳ２では、下記式（１）及び（２）によりサイン波成分強度ＤＭＦＴＳ(j2,k)及びコサイン波成分強度ＤＭＦＴＣ(j2,k)を算出する。ここでインデクスパラメータｋは、図４（ｂ）に示すアドレス番号であり、「１」からＮＤ（本実施形態では「５０」）までの値をとる。またΔｔは、（サンプリング周期×ＮＤ）に相当し、本実施形態では１ミリ秒である。
ＤＭＦＴＳ(j2,k)＝ＶＫＮＫ(k)×
ｓｉｎ{２π×（ｊ2＋５）×１０００×Δｔ×ｋ／ＮＤ}  （１）
ＤＭＦＴＣ(j2,k)＝ＶＫＮＫ(k)×
ｃｏｓ{２π×（ｊ2＋５）×１０００×Δｔ×ｋ／ＮＤ}  （２）
【００３６】
ステップＳ１及びＳ２の処理は、サンプリング周期（２０マイクロ秒）毎に実行される。
【００３７】
ステップＳ３では、ＣＲＫ割り込みが発生したか否かを判別し、発生していないときはステップＳ１に戻り、ＣＲＫ割り込みが発生したタイミングで、エンジン回転数ＮＥが回転数閾値ＮＥＴＨ以上であるか否かを判別する。ＮＥ＜ＮＥＴＨであるときは、ＦＦＴアルゴリズムによる第１周波数成分強度ＳＴＦＴ１の算出を実行し（ステップＳ６）、ＮＥ≧ＮＥＴＨであるときは、ＤＦＴアルゴリズムによる第２周波数成分強度ＳＴＦＴ２の算出を実行する（ステップＳ５）。
【００３８】
ステップＳ５では、具体的には下記式（３）により第２周波数成分強度ＳＴＦＴ(j2,i)を算出する。インデクスパラメータｍは、ＣＲＫ割り込みが発生したときのアドレス番号ｋが「２５」となるように設定される修正アドレス番号である（図４（ｄ）参照）。インデクスパラメータｍｐは、前回算出時に適用された修正アドレス番号であり、ｍｘは前回境界インデクスであり、ｍｙは今回境界インデクスであり、それぞれ下記式（４）及び（５）で与えられる。
【００３９】
【数１】
0005511913.tif 000002
ｍｘ＝ＮＤ−ＮＶ＋１                        （４）
ｍｙ＝ＮＶ＋１                              （５）
ここでＮＶは前回のＳＴＦＴ２算出に使用したデータのうち、今回のＳＴＦＴ２算出に使用できるデータの数であり、データ数ＮＶはエンジン回転数ＮＥが高くなるほど増加する。
【００４０】
式（３）の第１項ＴＲＭＳ１及び第３項ＴＲＭＣ１が、積算値の前回算出値に相当し、第２項ＴＲＭＳ２及び第３項ＴＲＭＣ２が新たに算出する積算値に相当する。
【００４１】
このようにサイン波成分強度ＤＭＦＴＳの積算値の一部及びコサイン波成分強度ＤＭＦＴＣの積算値一部を、それぞれ前回算出値（ＴＲＭＳ１，ＴＲＭＣ１）に置き換えて、周波数成分強度ＳＴＦＴ(j,i)の算出を行うことにより、第２周波数成分強度ＳＴＦＴ２を算出するときに、サイン波成分強度ＤＭＦＴＳ及びコサイン波成分強度ＤＭＦＴＣの積算演算の一部を再度行う必要がなくなり、演算速度を高めることができる。
【００４２】
次にＦＦＴアルゴリズムによる第１周波数成分強度ＳＴＦＴ１の算出手法を説明する。ＦＦＴアルゴリズムは公知の演算手法であり、かつ数式による簡潔な説明が困難であるため、以下の説明では本実施形態で実行される演算の概要を説明する。
図８は、６４個の検出データＶＫＮＫを用いて、コンピュータにより実行される演算の最初の３段階に対応する数式群を示す図である。これらの式における「Ｗ」は下記式（１１）で定義される回転子と呼ばれる複素数の三角関数である。式（１１）の「ｉ」は虚数を示す記号として使用している。
【数２】
0005511913.tif 000003
【００４３】
数式群ＥＧ１のｘ(n)（ｎ＝０〜６３）は、下記式（１２）に示すように検出データＶＫＮＫ(n)（ｎ＝０〜６３）に相当する検出パラメータであるが、インデクスパラメータｎについて、ビット反転の操作（*で示す）を行ったものである。
ｘ(n)＝ＶＫＮＫ(n*)                          （１２）
【００４４】
データ数が６４（＝２の６乗）であるので、例えばｎ＝１を６ビットの２進数で表すと「０００００１」となり、ビット反転すると「１０００００」となり、これを１０進数で示すと「３２」となる。すなわち、ｘ(1)＝ＶＫＮＫ(32)となる。
【００４５】
まず式（１２）により変換された検出パラメータｘ(n)を数式群ＥＧ１に適用することにより、周波数成分強度パラメータＸ0が算出され、周波数成分強度パラメータＸ0を数式群ＥＧ２に適用することにより、周波数成分強度パラメータＸ1が算出され、周波数成分強度パラメータＸ1を数式群ＥＧ３に適用することにより、周波数成分強度パラメータＸ2が算出され、同様の演算を繰り返すことにより、周波数成分強度パラメータＸ5(0,jx)（ｊｘ＝１〜３１）が得られ、これが求めるべき周波数成分ＦＦＴ(jx)に相当する。「ｊｘ」は、離散周波数であり、２０マイクロ秒のサンプリング周期（サンプリング周波数５０ｋＨｚ）で、データ数６４である場合において、（５０×ｊｘ／６４）［ｋＨｚ］に相当する。
【００４６】
したがって第１周波数成分強度ＳＴＦＴ１は、下記式（１３）で与えられる。式（１３）の「Ｒｅ」「Ｉｍ」は、それぞれ複素数の実部及び虚部を示す。なお、上記第１周波数インデクスｊ１は、インデクスパラメータｊｘから「７」を減算したものに相当する。よって、式（１３）を第１周波数インデクスｊ１を用いて表すと、式（１３ａ）が得られ、これによりＦＦＴアルゴリズムを用いた演算によって第１周波数成分強度ＳＴＦＴ１(j1)が算出される。ＤＦＴアルゴリズムによる演算と同様に、周波数５ｋＨｚから２５ｋＨｚの範囲の周波数成分強度を算出することとすると、インデクスパラメータｊｘは、「７」から「３１」までの２５個の値をとる。
【数３】
0005511913.tif 000004
【００４７】
図９は、図７のステップＳ４における判別結果が「ＹＥＳ」から「ＮＯ」へまたはその逆に変化し、演算アルゴリズムを切り換える際の切換時期を説明するためのタイムチャートであり、ＣＲＫ割込の発生タイミング（クランク角６度）が縦線で示されている。本実施形態では、圧縮上死点後１２度から７２度の期間＋α（その前後の（３２×２０マイクロ秒）または（２５×２０マイクロ秒））の期間で取得された検出データを用いてノッキング判定を行うので、ノッキング判定に用いるデータの取得期間ＴＤＲを避けて、圧縮上死点前９６度から圧縮上死点までの期間を切換期間ＲＣＡＳＷとしている。これにより、切換前後の周波数成分強度演算の中断を回避し、円滑な切換を行うことができる。
【００４８】
次に図１０及び図１１を参照して、周波数成分強度ＳＴＦＴ（ＳＴＦＴ１またはＳＴＦＴ２）を用いたノッキング判定手法の概要を説明する。
上述したように周波数成分強度ＳＴＦＴは、時系列データとして図１０（ａ）または図１０（ｂ）に示すように２次元マトリクス（以下「スペクトル時系列マップ」という）として算出される。スペクトル時系列マップは縦方向が周波数ｆであり、横方向がクランク角度（燃焼行程が開始する圧縮上死点後のクランク角度）ＣＡである。図１０（ａ）は、ＦＦＴアルゴリズムを使用して演算される第１スペクトル時系列マップを示し、縦方向及び横方向のインデクスとしてそれぞれ周波数インデクスｊ１（ｊ１＝０〜２４）及びクランク角インデクスｉ（ｉ＝０〜１０）を用い、各格子点のマップ値を第１周波数成分強度ＳＴＦＴ１(j1,i)と表示する。
【００４９】
図１０（ｂ）は、ＤＦＴアルゴリズムを使用して演算される第２スペクトル時系列マップを示し、縦方向及び横方向のインデクスとしてそれぞれ周波数インデクスｊ２（ｊ２＝０〜２０）及びクランク角インデクスｉ（ｉ＝０〜１０）を用い、各格子点のマップ値を第２周波数成分強度ＳＴＦＴ２(j2,i)と表示する。
【００５０】
本実施形態では、図１０（ａ）及び図１０（ｂ）に示すスペクトル時系列マップを、複数の所定周波数範囲Ｒｆ０〜Ｒｆ６までの７周波数範囲に分割し、各周波数範囲における周波数成分強度ＳＴＦＴの最大値を代表値として選択することにより、図１１（ａ）及び図１１（ｂ）に示す代表値スペクトル時系列マップを生成する。そして、代表値スペクトル時系列マップを、ノッキング発生時の代表値スペクトル時系列マップに相当する基準スペクトル時系列マップ（図１１（ｃ））と比較することにより、ノッキング判定を行う。すなわち、代表値スペクトル時系列マップのマップ値と、基準スペクトル時系列マップのマップ値との適合率を算出し、適合率が判定閾値を超えたときにノッキングが発生したと判定する。
【００５１】
本実施形態では、第１周波数範囲Ｒｆ０から第７周波数範囲Ｒｆ６は、以下のように定義されている。
Ｒｆ０  ５ｋＨｚ≦ｆ＜８ｋＨｚ
Ｒｆ１  ８ｋＨｚ≦ｆ＜１１ｋＨｚ
Ｒｆ２  １１ｋＨｚ≦ｆ＜１４ｋＨｚ
Ｒｆ３  １４ｋＨｚ≦ｆ＜１７ｋＨｚ
Ｒｆ４  １７ｋＨｚ≦ｆ＜２０ｋＨｚ
Ｒｆ５  ２０ｋＨｚ≦ｆ＜２３ｋＨｚ
Ｒｆ６  ２３ｋＨｚ≦ｆ＜２６ｋＨｚ
【００５２】
図１１（ａ）は、図１０（ａ）の第１スペクトル時系列マップから生成される第１代表値スペクトル時系列マップを示し、縦方向及び横方向のインデクスとしてそれぞれ周波数インデクスｊｇ（ｊｇ＝０〜７）及びクランク角インデクスｉ（ｉ＝０〜１０）を用い、各格子点のマップ値を第１代表周波数成分強度ＧＳＴＦＴ１(jg,i)と表示する。
【００５３】
図１１（ｂ）は、図１０（ｂ）の第２スペクトル時系列マップから生成される第２代表値スペクトル時系列マップを示し、縦方向及び横方向のインデクスは、図１１（ａ）と同一である。各格子点のマップ値は第２代表周波数成分強度ＧＳＴＦＴ２(jg,i)と表示される。
【００５４】
図１１（ｃ）は、ノッキング発生時の代表値スペクトルマップに相当する基準スペクトル時系列マップを示し、縦方向及び横方向のインデクスは、図１１（ａ）と同一である。各格子点のマップ値は基準周波数成分強度ＲＳＴＦＴ(jg,i)と表示される。
【００５５】
代表値スペクトル時系列マップを生成することにより、第１及び第２代表値スペクトル時系列マップの形態（行数）が統一され、２つのアルゴリズムを切り換えて使用する場合において、図１１（ｃ）に示す１つの基準スペクトル時系列マップとの比較によって、ノッキング判定を行うことが可能となり、しかも比較に必要な演算量を低減することができる。
【００５６】
なお実際には、図１２に示すようにノイズ除去処理及びマップ値の二値化処理を行い、該処理後の二値化代表値スペクトル時系列マップと、二値化基準スペクトル時系列マップとを比較することによってノッキング判定を行う。ノイズ除去処理、二値化処理、及び基準マップとの比較処理の詳細は、例えば上記特許文献２に示されている。
【００５７】
図１２は、上述した手法によりノッキング判定を行う処理のフローチャートであり、この処理はＥＣＵ５のＣＰＵでＴＤＣパルスの発生に同期して実行される。
【００５８】
ステップＳ１１では、図１０（ａ）または（ｂ）に示すスペクトル時系列マップを算出し、ステップＳ１２では、図１０（ａ）または（ｂ）に示すスペクトル時系列マップから代表値時系列マップを生成する。ステップＳ１３では、ノッキングが発生していないときの代表値時系列マップから学習処理（ステップＳ２０）により生成されるノイズマップを用いてノイズ除去処理を行う。ステップＳ１４ではノイズ除去された代表値時系列マップのマップ値を「０」または「１」に二値化する処理を行い二値化代表値時系列マップを生成する。
【００５９】
ステップＳ１５では、二値化代表値時系列マップのマップ値と、対応する基準時系列マップのマップ値との適合率算出処理を実行し、両者の適合率ＰＦＩＴを算出する。ステップＳ１６では、エンジン回転数ＮＥ及び吸気圧ＰＢＡに応じて判定閾値ＳＬＶＬを算出する。判定閾値ＳＬＶＬは、エンジン回転数ＮＥが高くなるほど増加し、吸気圧ＰＢＡが高くなるほど増加するように設定される。
【００６０】
ステップＳ１７では、ステップＳ１５で算出される適合率ＰＦＩＴが判定閾値ＳＬＶＬより大きいか否かを判別し、その答が肯定（ＹＥＳ）であるときは、ノッキングが発生したと判定し、ノッキングフラグＦＫＮＯＣＫを「１」に設定する（ステップＳ１８）。
【００６１】
ステップＳ１７でＰＦＩＴ≦ＳＬＶＬであるときは、ノッキングは発生していないと判定し、ノッキングフラグＦＫＮＯＣＫを「０」に設定する（ステップＳ１９）。次いでステップＳ１２で生成される代表値時系列マップに基づいてノイズ学習処理を実行し、ノイズマップの更新を行う（ステップＳ２０）。
【００６２】
ノイズマップには、例えば吸気弁の着座ノイズのように定常的に発生するノイズが反映されるので、ノイズマップを用いたノイズ除去処理を行うことにより、定常的なノイズの影響を除いて高精度の判定を行うことが可能となる。図１３には、着座ノイズの周波数スペクトル（実線）と、ノッキング発生時の周波数スペクトル（破線）が示されており、図１２の処理により、このようなノイズの影響を確実に除去することができる。
【００６３】
以上詳述したように本実施形態では、ノックセンサ１１の出力信号がサンプリング周期ＴＳＭＰでサンプリングされ、サンプル値がデジタル値に変換され、得られたデジタル値ＶＫＮＫに基づいて５ｋＨｚから２５ｋＨｚまでの周波数範囲内における複数の周波数成分の強度ＳＴＦＴが算出される。エンジン回転数ＮＥが回転数閾値ＮＥＴＨより低いときは、ＦＦＴアルゴリズムを用いて周波数成分強度ＳＴＦＴが算出される一方、エンジン回転数ＮＥが回転数閾値ＮＥＴＨ以上であるときは、周波数成分強度ＳＴＦＴがＤＦＴアルゴリズムを用いて算出され、周波数成分強度ＳＴＦＴの算出処理はエンジン回転に同期して実行される。エンジン回転数ＮＥが回転数閾値ＮＥＴＨより低いときは、ＦＦＴアルゴリズムを使用することによってＤＦＴアルゴリズムを使用する場合より演算速度を高めることができる。またエンジン回転数ＮＥが回転数閾値ＮＥＴＨ以上であるきは、ＤＦＴアルゴリズムを改良することによってＦＦＴアルゴリズムより演算速度を高めることができる。その結果、エンジン回転数ＮＥより広い範囲で高い演算速度を実現することができる。
【００６４】
またＦＦＴアルゴリズムよる演算とＤＦＴアルゴリズムによる演算との切換が、所定クランク角度範囲ＲＣＡＳＷにおいて実行される。周波数成分強度演算を実行している期間中に切り換えると、切換前の演算が完了していないため、得られる演算結果が不完全なものとなる可能性があるが、演算が実行されない所定クランク角度範囲ＲＣＡＳＷにおいて切換を行うことにより、切換による演算中断を回避し、円滑な切換を行うことができる。
【００６５】
またＤＦＴアルゴリズムを使用する場合においては、サイン波成分強度ＤＭＦＴＳの積算値の一部及びコサイン波成分強度ＤＭＦＴＣの積算値一部を、それぞれ前回算出値（ＴＲＭＳ１，ＴＲＭＣ１）に置き換えて、周波数成分強度ＳＴＦＴ(j,i)の算出が行われるので、第２周波数成分強度ＳＴＦＴ２を算出するときに、サイン波成分強度ＤＭＦＴＳ及びコサイン波成分強度ＤＭＦＴＣの積算演算の一部を再度行う必要がなくなり、ＤＦＴアルゴリズムを使用したときの演算速度を高めることができる。
【００６６】
また回転数閾値ＮＥＴＨは、周波数成分強度の算出に必要とされる単位時間当たりの処理ステップ数に応じて設定される。ＤＦＴアルゴリズムを使用した場合に、サイン波成分強度ＤＭＦＴＳの積算値の一部及びコサイン波成分強度ＤＭＦＴＣの積算値一部を、それぞれ前回算出値（ＴＲＭＳ１，ＴＲＭＣ１）に置き換えて演算を行うことにより、ＤＦＴアルゴリズムの単位時間当たりの処理ステップ数ＮＳＤは、エンジン回転数ＮＥが増加しても一定となる一方、ＦＦＴアルゴリズムの単位時間当たりの処理ステップ数ＮＳＦは、エンジン回転数ＮＥの増加に比例して増加する（図６）。したがって、処理ステップ数ＮＳＦが処理ステップ数ＮＳＤと等しくなるエンジン回転数ＮＥを回転数閾値ＮＥＴＨとすることにより、適切な演算アルゴリズムの切換を行うことができる。
【００６７】
また第１〜第７周波数範囲Ｒｆ０〜Ｒｆ６に含まれる第１周波数成分強度ＳＴＦＴ１または第２周波数成分強度ＳＴＦＴ２の代表値ＧＳＴＦＴ１またはＧＳＴＦＴ２を選択する処理を行って、代表値スペクトル時系列マップ（図１１（ａ）（ｂ））が生成され、代表値スペクトル時系列マップを用いてノッキングの判定が行われる。ＦＦＴアルゴリズムにより算出される第１周波数成分強度ＳＴＦＴ１と、ＤＦＴアルゴリズムにより算出される第２周波数成分強度ＳＴＦＴ２とは、対応する周波数が一致しないので、周波数範囲Ｒｆ０〜Ｒｆ６に含まれる第１周波数成分強度ＳＴＦＴ１または第２周波数成分強度ＳＴＦＴ２の代表値を使用することによって、ＦＦＴアルゴリズムとＤＦＴアルゴリズムとの切換を行っても、ノッキング判定処理を適切に行うことができる。
【００６８】
本実施形態では、ＥＣＵ５がサンプリング手段、ＦＦＴ演算手段、ＤＦＴ演算手段、演算制御手段、要素強度算出手段、周波数成分強度算出手段、及びノッキング判定手段を構成する。
【００６９】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、スペクトル時系列マップから代表値スペクトル時系列マップを生成し、代表値スペクトル時系列マップを用いてノッキング判定を行うようにしたが、スペクトル時系列マップそのものと、対応する基準スペクトル時系列マップとを比較することにより、ノッキング判定を行うようにしてもよい。その場合には、基準スペクトル時系列マップとして、第１スペクトル時系列マップに対応するものと、第２スペクトル時系列マップに対応するものと使用して、比較処理を行う。あるいは、ＤＦＴアルゴリズムを使用して周波数成分強度を算出する第２周波数群ＦＧ２を、第１周波数群ＦＧ１と同一とするようにしてもよい。その場合には、基準スペクトル時系列マップは１つで足りる。
【００７０】
また、ノックセンサ出力のサンプリング周期や周波数成分分析を行うクランク角度間隔は上述したもの（２０マイクロ秒、６度）に限るものではなく、本発明の目的が達成される範囲内において変更可能である。また、スペクトル時系列マップ（上述した実施形態では３１行×１１列または２１行×１１列のマトリクスで構成）も同様に変更可能である。
【００７１】
また上述した実施形態では、ノックセンサによる検出値の周波数分析を行う装置を示したが、本発明はこれに限らず、エンジン運転パラメータ検出値の周波数成分分析を、エンジン回転（ＣＲＫ割り込み）に同期して行う場合に適用可能である。例えば本発明は、ＣＲＫセンサから出力されされるＣＲＫパルス（割り込み）の発生周期ＣＲＭＥまたはその逆数として得られるエンジン１の瞬時回転速度の周波数成分分析などにも適用できる。
【符号の説明】
【００７２】
１  内燃機関
５  電子制御ユニット（サンプリング手段、ＦＦＴ演算手段、ＤＦＴ演算手段、演算制御手段、要素強度算出手段、周波数成分強度算出手段、ノッキング判定手段）
１１  ノックセンサ
【図１】
0005511913.tif 000005
【図２】
0005511913.tif 000006
【図３】
0005511913.tif 000007
【図４】
0005511913.tif 000008
【図５】
0005511913.tif 000009
【図６】
0005511913.tif 000010
【図７】
0005511913.tif 000011
【図８】
0005511913.tif 000012
【図９】
0005511913.tif 000013
【図１０】
0005511913.tif 000014
【図１１】
0005511913.tif 000015
【図１２】
0005511913.tif 000016
【図１３】
0005511913.tif 000017