JP4764485B2 - 周波数成分分析装置 - Google Patents
周波数成分分析装置 Download PDFInfo
- Publication number
- JP4764485B2 JP4764485B2 JP2009026087A JP2009026087A JP4764485B2 JP 4764485 B2 JP4764485 B2 JP 4764485B2 JP 2009026087 A JP2009026087 A JP 2009026087A JP 2009026087 A JP2009026087 A JP 2009026087A JP 4764485 B2 JP4764485 B2 JP 4764485B2
- Authority
- JP
- Japan
- Prior art keywords
- frequency component
- intensity
- parameter
- frequency
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
本発明は、内燃機関の運転パラメータの検出値についての周波数成分分析を、機関回転に同期して行う周波数成分分析装置に関する。
特許文献1には、内燃機関に装着されたノックセンサの周波数成分強度を、アダマール変換を用いて近似的に算出し、算出された周波数成分強度に基づいてノッキング判定を行うノッキング検出装置が示されている。
また特許文献2には、離散フーリエ変換(Discrete Fourier Transform)アルゴリズム(以下「DFTアルゴリズム」という)と、高速フーリエ変換(Fast Fourier Transform)アルゴリズム(以下「FFTアルゴリズム」という)とを用いて、ノックセンサの出力信号の周波数成分分析を行う信号処理装置が示されている。FFTアルゴリズムは演算速度を高めるために特殊なアルゴリズムが採用されるため、必要な周波数成分(具体的にはノックセンサ出力信号の中心周波数成分)の強度が得られない場合がある。そこで、上記信号処理装置では、ノックセンサ出力信号の中心周波数成分(強度が最大の成分)についてはDFTアルゴリズムを用いて強度が算出され、中心周波数成分以外の周波数成分についてはFFTアルゴリズムを用いて強度が算出される。
特許文献2に示された装置によれば、周波数成分強度の算出に必要な演算量を低減することは可能であるが、算出された周波数成分強度を用いる後処理の時間を確保するために、演算量をより低減することが望まれている。一方、特許文献1に示された装置によれば、周波数成分強度の算出に必要な演算量を低減することができるが、周波数成分強度の算出精度の点で改善の余地があった。
本発明はこの点に着目してなされたものであり、検出パラメータの周波数成分分析を内燃機関の回転に同期して行う際に、周波数成分強度演算をより適切に実行し、算出精度を確保しつつ必要な演算量を低減することができる周波数成分分析装置を提供することを目的とする。
上記目的を達成するため請求項1に記載の発明は、内燃機関の運転パラメータの検出値(VKNK)についての周波数成分分析を、前記機関の回転に同期して行う周波数成分分析装置において、前記運転パラメータを所定時間(TSMP)間隔でサンプリングし、サンプル値をデジタル値に変換するサンプリング手段と、前記検出値(VKNK)に含まれる複数の周波数成分に対応する、第1要素の強度(DMFTS)及び前記第1要素に対して位相が90度ずれた第2要素の強度(DMFTC)を、所定数(ND)のサンプル値について算出する要素強度算出手段と、前記第1要素強度(DMFTS)及び前記第2要素強度(DMFTC)を用いて前記複数周波数の周波数成分強度(STFT)を前記機関の回転に同期して算出する周波数成分強度算出手段とを備え、前記要素強度算出手段は、前記第1及び第2要素に対応する正弦波信号をそれぞれN値化(Nは3または5)し、N値化正弦波信号を算出する量子化手段を有し、前記要素強度算出手段は、前記運転パラメータの検出値と、前記N値化正弦波信号とを用いて前記第1及び第2要素の強度を算出することを特徴とする。
請求項2に記載の発明は、請求項1に記載の周波数成分分析装置において、前記量子化手段は、前記N値化する際に適用する閾値を前記正弦波信号の周波数に応じて変更することを特徴とする。
請求項3に記載の発明は、請求項1または2に記載の周波数成分分析装置において、前記量子化手段は、前記機関の回転数が所定回転数以下であるときに5値化を行い、前記機関の回転数が前記所定回転数より高いときに3値化を行うことを特徴とする。
請求項1に記載の発明によれば、内燃機関の運転パラメータが所定時間間隔でサンプリングされ、サンプル値がデジタル値に変換される。得られたデジタル値に基づいて複数の周波数成分に対応する、第1要素の強度及び第1要素に対して位相が90度ずれた第2要素の強度が、所定数のサンプル値について算出され、第1要素強度及び第2要素強度を用いて、複数周波数の周波数成分強度が機関の回転に同期して算出される。第1及び第2要素に対応する正弦波信号をそれぞれN値化することにより、対応するN値化正弦波信号が算出され、機関運転パラメータの検出値と、N値化正弦波信号とを用いて第1及び第2要素の強度が算出される。量子化された正弦波信号を用いることにより演算量を低減し、算出された周波数成分強度を用いた後処理の時間を十分に確保することが可能となる。また正弦波信号は、3値化または5値化されるので、必要とされる周波数成分強度の精度を確保することができる。
請求項2に記載の発明によれば、N値化する際に適用する閾値が正弦波の周波数に応じて変更される。量子化に伴う誤差を最小にする閾値は周波数に依存して変化するので、閾値を周波数に応じて最適に設定することにより、量子化に伴う誤差を最小限に抑制することができる。
請求項3に記載の発明によれば、機関の回転数が所定回転数以下であるときに5値化が行われ、機関の回転数が所定回転数より高いときに3値化が行われるので、機関回転数が高いときの周波数成分分析に要する演算時間をより短縮し、高回転領域において後処理のための時間を十分に確保できる。
以下本発明の実施の形態を図面を参照して説明する。
図1は、本発明の一実施形態にかかる内燃機関(以下「エンジン」という)及びその制御装置の全体構成図であり、例えば4気筒のエンジン1の吸気管2の途中にはスロットル弁3が配されている。スロットル弁3にはスロットル弁開度THを検出するスロットル弁開度センサ4が連結されており、センサ4の検出信号は、電子制御ユニット(以下「ECU」という)5に供給される。
図1は、本発明の一実施形態にかかる内燃機関(以下「エンジン」という)及びその制御装置の全体構成図であり、例えば4気筒のエンジン1の吸気管2の途中にはスロットル弁3が配されている。スロットル弁3にはスロットル弁開度THを検出するスロットル弁開度センサ4が連結されており、センサ4の検出信号は、電子制御ユニット(以下「ECU」という)5に供給される。
燃料噴射弁6はエンジン1とスロットル弁3との間かつ吸気管2の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にECU5に電気的に接続されて当該ECU5からの信号により燃料噴射弁6の開弁時間が制御される。エンジン1の各気筒には、点火プラグ7が設けられており、点火プラグ7はECU5に接続されている。ECU5は、点火プラグ7に点火信号を供給する。
スロットル弁3の下流側には吸気圧PBAを検出する吸気圧センサ8、及び吸気温TAを検出する吸気温センサ9が設けられている。エンジン1の本体には、エンジン冷却水温TWを検出する冷却水温センサ10及び非共振型のノックセンサ11が装着されている。センサ8〜11の検出信号は、ECU5に供給される。ノックセンサ11としては、例えば5kHzから25kHzまでの周波数帯域の振動を検出可能なものが使用される。
吸気管2のスロットル弁3の上流側には、吸入空気流量GAを検出する吸入空気流量センサ13が設けられており、その検出信号はECU5に供給される。
ECU5には、エンジン1のクランク軸(図示せず)の回転角度を検出するクランク角度位置センサ12が接続されており、クランク軸の回転角度に応じた信号がECU5に供給される。クランク角度位置センサ12は、エンジン1の特定の気筒の所定クランク角度位置でパルス(以下「CYLパルス」という)を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点(TDC)に関し所定クランク角度前のクランク角度位置で(4気筒エンジンではクランク角180度毎に)TDCパルスを出力するTDCセンサ及びTDCパルスより短い一定クランク角周期(例えば6度周期)で1パルス(以下「CRKパルス」という)を発生するCRKセンサから成り、CYLパルス、TDCパルス及びCRKパルスがECU5に供給される。これらのパルスは、燃料噴射時期、点火時期等の各種タイミング制御、エンジン回転数(エンジン回転速度)NEの検出に使用される。
ECU5には、エンジン1のクランク軸(図示せず)の回転角度を検出するクランク角度位置センサ12が接続されており、クランク軸の回転角度に応じた信号がECU5に供給される。クランク角度位置センサ12は、エンジン1の特定の気筒の所定クランク角度位置でパルス(以下「CYLパルス」という)を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点(TDC)に関し所定クランク角度前のクランク角度位置で(4気筒エンジンではクランク角180度毎に)TDCパルスを出力するTDCセンサ及びTDCパルスより短い一定クランク角周期(例えば6度周期)で1パルス(以下「CRKパルス」という)を発生するCRKセンサから成り、CYLパルス、TDCパルス及びCRKパルスがECU5に供給される。これらのパルスは、燃料噴射時期、点火時期等の各種タイミング制御、エンジン回転数(エンジン回転速度)NEの検出に使用される。
エンジン1は、吸気弁(図示せず)の弁リフト量及び開角(開弁期間)を連続的に変更する第1弁作動特性可変機構と、吸気弁を駆動するカムの、クランク軸回転角度を基準とした作動位相を連続的に変更する第2弁作動特性可変機構とを有する弁作動特性可変装置20を備えている。ECU5は、弁作動特性可変装置20にリフト量制御信号及び作動位相制御信号を供給し、吸気弁の作動制御を行う。第1及び第2弁作動特性可変機構の構成は、それぞれ例えば特開2008−25418号公報及び特開2000−227013号公報に示されている。
ECU5は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット(以下「CPU」という)、該CPUで実行される各種演算プログラム及び演算結果等を記憶する記憶回路(メモリ)、燃料噴射弁6及び点火プラグ7に駆動信号を供給する出力回路等から構成される。
本実施形態では、ノックセンサ11の出力信号の周波数成分分析を行い、その分析の結果得られる周波数成分強度に基づいてノッキング判定を行う。そこで先ず、周波数成分分析の概要を説明する。図2(a)は、ノックセンサ11の出力信号波形を示し、図2(b)は、同図(a)の期間TSの波形を拡大して示す図である。本実施形態では、サンプリング周期TSMPを20マイクロ秒とし、連続して検出される50個のデータを対象として、離散フーリエ変換(DFT)による周波数成分分析を行う。その周波数成分分析の結果が図2(c)に示されている。図2(c)の縦軸は周波数成分強度STFTであり、本実施形態では、5kHzから25kHzまでの周波数帯域における1kHz毎の周波数(5,6,7,…,24,25kHz)に対応する周波数成分強度STFTが、クランク角度6度毎に(エンジン1のクランク軸が6度回転する毎に)算出される。
図3は上記周波数成分分析を説明するためのタイムチャートであり、図3(a)はノックセンサ11の出力信号を20マイクロ秒毎にサンプリングすることにより得られる50個の検出データVKNK(デジタル値)が順次格納されるメモリのアドレスに対応するアドレス番号を示しており、同図(b)は検出データVKNKを用いて算出されるサイン波成分強度DMFTS及びコサイン波成分強度DMFTCが、検出データVKNKに対応してメモリに格納される状態を示している。アドレス番号は、同図(a)と同一であるが、1つの検出データVKNKのサンプル値に対応して、周波数5kHzから25kHzまでの21個の周波数に対応するサイン波成分強度DMFTS及びコサイン波成分強度DMFTCが1ミリ秒毎に算出され、メモリに格納される。
図3(c)は、クランク角度位置センサ12から出力されるCRKパルスを示し、本実施形態ではCRKパルスの立ち下がり時期が演算実行時期の基準(以下「CRK割り込み」という)として使用される。本実施形態では、CRK割り込みが発生したタイミングを記憶しておき、そのタイミングを中心としたサンプリング期間TS中に得られる50個の検出データに対応するサイン波成分強度DMFTS及びコサイン波成分強度DMFTCを用いて各周波数(5〜25kHz)の周波数成分強度STFT(j,i)が算出される(図3(d))。ここで「j」は周波数を示すインデクスパラメータであり(以下「周波数インデクス」という)、j=0,1,2,…,20が周波数5,6,7,…,25kHzに対応する。「i」は、CRK割り込みが発生するクランク角度CA(ピストンが上死点に位置するときの角度位置を0度とする)を示すインデクスパラメータであり(以下「クランク角インデクス」という)、i=0,1,3,…,14が、クランク角度6,12,18,…,90度に対応する。
図3に示す例では、インデクスパラメータm(=1〜50)が、周波数成分強度STFT(j,i)の算出に適用されるデータを示す。最初のCRK割り込みタイミングでは、アドレス番号「5」の検出データ(m=25に対応する検出データ)を中心とした50個のデータを用いて周波数成分強度STFT(j,i)が算出され、次のCRK割り込みタイミングでは、アドレス番号「45」の検出データ(m=25に対応する検出データ)を中心とした50個のデータを用いて周波数成分強度STFT(j,i+1)が算出される。なお、周波数成分強度STFT(j,i)は、相対強度を示す無次元量である。
周波数成分強度STFT(j,i)の算出に適用されるデータを、m=25に対応する検出データを中心とした50個のデータ、換言すれば、CRK割り込みの発生タイミングを中心としたサンプリング期間TS中に得られる50個の検出データとすることにより、対象とするクランク角度を中心とした周波数成分解析を行うことができる。その結果、CRK割り込みが発生した時点を始点とするサンプリング期間内またはCRK割り込みが発生した時点を終点とするサンプリング期間内でサンプリングされた検出データを用いる手法より、エンジン回転変動の影響を受け難くなるという効果が得られる。
図4は、CRK割り込みの発生周期CRMEと、周波数成分強度STFTの算出に適用される検出データのサンプリング期間(「STFT算出」と表示)TSとの関係を示す図である。図4(a)は、エンジン回転数NEが1000rpmの例を示し、サンプリング期間TSと割り込み発生周期CRMEとが一致している。したがって、エンジン回転数NEが1000rpmを超えると、サンプリング期間TSが一部重複する。図4(b)は、エンジン回転数NEが2000rpmより若干高い例を示し、サンプリング期間TSの重複部分が長くなっている。
本実施形態では、このようにサンプリング期間TSが重複した状態においては、重複部分に関わるサイン波成分強度DMFTSの積算値及びコサイン波成分強度DMFTCの積算値として前回算出値を用いることにより、周波数成分強度STFTの算出に要する演算時間を短縮するようにしている。
ただし、前回算出値を使用する演算は、使用可能な重複データ数の比率が小さいときは、演算装置の特性に依存して単位時間当たりの処理ステップ数が増加する。図5の示す実線L11は、本実施形態で使用するCPUにおける、前回算出値を使用した場合の単位時間当たりの処理ステップ数NSと、エンジン回転数NEとの関係を示す図であり、回転数NESAT(以下「ステップ数飽和回転数NESAT」という)に達するまでは、処理ステップ数NSは増加し、NE≧NESATの範囲では一定値NSSATとなる。よって本実施形態では、回転数閾値NETHをステップ数飽和回転数NESATに設定し、エンジン回転数NEが回転数閾値NETH以上であるときは、前回算出値を使用する演算を行うようにしている。
図5に示す破線L12は、FFT(高速フーリエ変換)アルゴリズムを使用した場合の、エンジン回転数NEと処理ステップ数NSとの関係を示す。図5から明らかなようにFFTアルゴリズムを用いる場合には、エンジン回転数NEの増加に対して処理ステップ数NSが直線的に増加するのに対し、DFTアルゴリズムを使用し、かつエンジン回転数NEの高い領域(NE>NESAT)で前回算出値を用いる演算を行うことにより、処理ステップ数NSの増加を抑制することが可能となる。
本実施形態では、さらにサイン波成分強度DMFTS及びコサイン波成分強度DMFTCの算出に適用する正弦波信号を3値化し、CPUの演算負荷をさらに低減するようにしている。以下にこの点を詳細に説明する。なお本明細書では、「正弦波信号」は、以下に説明するサイン波信号とコサイン波信号とを含む用語として用いている。
図6は、サイン波信号の3値化を説明するための図であり、3値化閾値TH3PS及びTH3MS(=−TH3PS)を用いて、サイン波信号を「1」「0」「−1」の3値に量子化する。すなわち、もとのサイン波信号をsinθとし、量子化サイン波信号をQSIN(θ)とすると、以下のように3値化が行われる。
1)sinθ>TH3PSであるとき、QSIN(θ)=1
2)TH3PS≧sinθ≧TH3MSであるとき、QSIN(θ)=0
3)sinθ<TH3MSであるとき、QSIN(θ)=−1
1)sinθ>TH3PSであるとき、QSIN(θ)=1
2)TH3PS≧sinθ≧TH3MSであるとき、QSIN(θ)=0
3)sinθ<TH3MSであるとき、QSIN(θ)=−1
またコサイン波信号cosθについても同様にして、量子化コサイン波信号QCOS(θ)が得られる。コサイン波の量子化に適用する3値化閾値をTH3PC,TH3MC(=−TH3PC)とする。
1)cosθ>TH3PCであるとき、QCOS(θ)=1
2)TH3PC≧cosθ≧TH3MCであるとき、QCOS(θ)=0
3)cosθ<TH3MCであるとき、QCOS(θ)=−1
1)cosθ>TH3PCであるとき、QCOS(θ)=1
2)TH3PC≧cosθ≧TH3MCであるとき、QCOS(θ)=0
3)cosθ<TH3MCであるとき、QCOS(θ)=−1
したがって、本実施形態では、下記式(1)及び(2)により、サイン波成分強度DMFTS(j,k)及びコサイン波成分強度DMFTC(j,k)が算出される。ここでインデクスパラメータkは、図3(b)に示すアドレス番号であり、「1」からND(本実施形態では「50」)までの値をとる。またΔtは、(サンプリング周期×ND)に相当し、本実施形態では1ミリ秒である。
DMFTS(j,k)=VKNK(k)×
QSIN{2π×(j+5)×1000×Δt×k/ND} (1)
DMFTC(j,k)=VKNK(k)×
QCOS{2π×(j+5)×1000×Δt×k/ND} (2)
DMFTS(j,k)=VKNK(k)×
QSIN{2π×(j+5)×1000×Δt×k/ND} (1)
DMFTC(j,k)=VKNK(k)×
QCOS{2π×(j+5)×1000×Δt×k/ND} (2)
上記式(1)及び(2)の量子化サイン波信号QSIN及び量子化コサイン波信号QCOSは予め算出され、図7及び図8に示すにQSINテーブル及びQCCOSテーブルとして記憶回路に格納されている。なお、図7及び図8には周波数20kHzまでの値しか示されていないが、実際には21〜25kHzの値も設定されている。
周波数成分強度STFT(j,i)は、通常は下記式(A)により算出される。ここでインデクスパラメータmは、CRK割り込みが発生したときのアドレス番号kが「25」となるように設定される修正アドレス番号である(図3(d)参照)。
式(A)の算出には、サイン波成分強度DMFTS及びコサイン波成分強度DMFTCの積算値SUMDS及びSUMDCを算出する必要がある。例えば周波数5kHzの積算値SUMDS(5kHz)は、図7に示すテーブルを用いて下記式(3)により算出される。式(3)では、量子化サイン波信号QSINの値が「0」となる項は省かれている。また積算値SUMDC(5kHz)は、図8に示すテーブルを用いて下記式(4)により算出される。式(4)では、量子化コサイン波信号QCOSの値が「0」となる項は省かれている。
SUMDS(5kHz)=VKNK(2)+VKNK(3)+VKNK(4)+VKNK(5)
−VKNK(7)−VKNK(8)+……
−VKNK(49)−VKNK(50) (3)
SUMDC(5kHz)=VKNK(1)+VKNK(2)−VKNK(5)−VKNK(6)
−VKNK(7)+VKNK(10)+……
−VKNK(47)+VKNK(50) (4)
SUMDS(5kHz)=VKNK(2)+VKNK(3)+VKNK(4)+VKNK(5)
−VKNK(7)−VKNK(8)+……
−VKNK(49)−VKNK(50) (3)
SUMDC(5kHz)=VKNK(1)+VKNK(2)−VKNK(5)−VKNK(6)
−VKNK(7)+VKNK(10)+……
−VKNK(47)+VKNK(50) (4)
他の周波数に対応する積算値SUMDS,SUMDCも同様に算出することができる。このように量子化サイン波信号QSIN及び量子化コサイン波信号QCOSを用いることにより、積算値SUMDS,SUMDCの算出に乗算演算が不要となり、周波数成分強度STFTの算出に必要な演算量を大幅に低減することができる。その結果、CPUにおける演算ステップ数を量子化を行わない場合に比べて66%程度低減することができ、算出された周波数成分強度STFTを用いた後処理の時間を十分に確保することが可能となる。また3値化正弦波信号を用いることにより、アダマール変換を適用する場合に比べて周波数成分強度STFTの精度を高めることができる。
次に3値化に適用する閾値TH3PS,TH3PCの設定について説明する。なお、上述したようにマイナス側の閾値TH3MS,TH3MCは、プラス側の閾値TH3PS,TH3PCに負号を付したものである。図9は、閾値TH3PSと、量子化誤差の大きさを示す誤差率RERRSとの関係を示す図であり、同図(a)が周波数6kHzに対応し、同図(b)が周波数7kHzに対応する。誤差率RERRSが最小となる閾値TH3PSの値は、6kHzでは「0.589」であり、7kHzでは「0.481」となり、サイン波信号の周波数に依存して変化する。
これは、一定のサンプリング周期TSMP(20μs)でサンプリングすると、図10に示すようにサイン波信号の周波数に依存してサンプリング位相が変化するためである。本実施形態では、閾値TH3PS,TH3PCは、誤差率RERRS,RERRCが最小となる値に設定され、信号周波数に応じて図11に示すように設定されている。このように閾値TH3PS,TH3PC(TH3MS,TH3MC)を設定することにより、量子化誤差の影響を最小限に抑制することができる。
なお、上記誤差率RERRS,RERRCは、下記式(5)〜(10)を用いて算出される。下記式において「NF」は、周波数成分強度を算出する周波数の数(本実施形態では「21」)であり、「f」は、誤差率を算出する対象周波数(kHz)である。
図12は周波数成分強度STFT算出の手順を示すフローチャートである。ステップS1では、検出データVKNKを取得し、ステップS2では、前記式(1)及び(2)によりサイン波成分強度DMFTS(j,k)及びコサイン波成分強度DMFTC(j,k)を算出する。その際上述したように図7及び図8に示すQSINテーブル及びQCOSテーブルを使用する。
ステップS1及びS2の処理は、サンプリング周期(20マイクロ秒)毎に実行される。
ステップS3では、CRK割り込みが発生したか否かを判別し、発生していないときはステップS1に戻り、CRK割り込みが発生したタイミングで、エンジン回転数NEが回転数閾値NETH以上であるか否かを判別する。NE<NETHであるときは、前回使用データを使用しない前記式(A)により周波数成分強度STFTを算出する一方、NE≧NETHであるときは、前回使用データを使用する下記式(B)により周波数成分強度STFT(j,i)を算出する。インデクスパラメータmpは、前回算出時に適用された修正アドレス番号であり、mxは前回境界インデクスであり、myは今回境界インデクスであり、それぞれ下記式(11)及び(12)で与えられる。式(B)の演算においても図7及び図8に示すテーブルが使用され、演算量が低減される。
my=NV+1 (12)
ここでNVは前回のSTFT算出に使用したデータのうち、今回のSTFT算出に使用できるデータの数であり、データ数NVはエンジン回転数NEが高くなるほど増加する。
式(B)の第1項TRMS1及び第3項TRMC1が、積算値の前回算出値に相当し、第2項TRMS2及び第4項TRMC2が新たに算出する積算値に相当する。
このようにサイン波成分強度の積算値の一部及びコサイン波成分強度の積算値一部を、それぞれ前回算出値(TRMS1,TRMC1)に置き換えて、周波数成分強度STFT(j,i)の算出を行うことにより、周波数成分強度STFTを算出するときに、サイン波成分強度DMFTS及びコサイン波成分強度DMFTCの積算演算の一部を再度行う必要がなくなり、演算速度を高めることができる。
次に図13〜図17を参照して、周波数成分強度STFTを用いたノッキング判定手法の概要を説明する。
上述したように周波数成分強度STFTは、時系列データとして図13(a)に示すように2次元マトリクス(以下「スペクトル時系列マップ」という)として算出される。スペクトル時系列マップは縦方向が周波数f[kHz]であり、横方向がクランク角度(燃焼行程が開始する上死点後のクランク角度)CA[deg]である。ここで、縦方向及び横方向のインデクスとしてそれぞれ周波数インデクスj(j=0〜20)及びクランク角インデクスi(i=0〜14)を用い、スペクトル時系列マップの要素を強度パラメータKMAP(j,i)と表示する(強度パラメータKMAPは、本実施形態では周波数成分強度STFT(j,i)と同じパラメータであり、スペクトル時系列マップ上の値であることからKMAPというラベルを使用する)。例えば強度パラメータKMAP(0,0)は、左下端の「34」、強度パラメータKMAP(0,14)は右下端の「31」、強度パラメータKMAP(20,0)は左上端の「56」、強度パラメータKMAP(20,14)は右上端の「30」に相当する。
上述したように周波数成分強度STFTは、時系列データとして図13(a)に示すように2次元マトリクス(以下「スペクトル時系列マップ」という)として算出される。スペクトル時系列マップは縦方向が周波数f[kHz]であり、横方向がクランク角度(燃焼行程が開始する上死点後のクランク角度)CA[deg]である。ここで、縦方向及び横方向のインデクスとしてそれぞれ周波数インデクスj(j=0〜20)及びクランク角インデクスi(i=0〜14)を用い、スペクトル時系列マップの要素を強度パラメータKMAP(j,i)と表示する(強度パラメータKMAPは、本実施形態では周波数成分強度STFT(j,i)と同じパラメータであり、スペクトル時系列マップ上の値であることからKMAPというラベルを使用する)。例えば強度パラメータKMAP(0,0)は、左下端の「34」、強度パラメータKMAP(0,14)は右下端の「31」、強度パラメータKMAP(20,0)は左上端の「56」、強度パラメータKMAP(20,14)は右上端の「30」に相当する。
図13(a)のスペクトル時系列マップを二値化すると図13(b)の二値化スペクトル時系列マップが得られる。図13(b)のマップの要素である二値化強度パラメータNKMAP(j,i)は、強度パラメータKMAP(j,i)が「50」以上であるとき「1」、「50」未満であるとき「0」をとる。
図13(b)に示す二値化スペクトル時系列マップは、図28に破線で示すノッキングが発生したときに得られる周波数成分強度に対応するマップである。一方図28に実線で示す吸気弁の着座ノイズ(エンジン1の吸気弁が全閉位置に到達したときに発生する振動に起因するノイズ)に対応する二値化スペクトル時系列マップは、図14に示すようになり、図13(b)に示すノッキング発生時のマップと明確に相違するため、着座ノイズをノッキング発生と誤判定することがなく、正確なノッキング判定を行うことができる。
本実施形態ではさらに、ノッキングが発生していないと判定されたときの二値化スペクトル時系列マップに基づいて、ノイズに対応する二値化スペクトル時系列マップ(以下単に「ノイズマップ」という)を学習演算により生成し、ノイズマップ上のノイズ学習値を、検出データから算出される二値化スペクトル時系列マップ上の対応する値から差し引くことにより、ノイズの影響を除去するようにしている。
図15(a)は、学習演算により得られたノイズマップの一例を示す図であり、クランク角度6度のタイミングで6〜25kHzの帯域でノイズ成分が表れている。図15(b)は、図13(b)に示す二値化スペクトル時系列マップから図15(a)に示すノイズ成分を減算することによりノイズ除去処理を行った後の二値化スペクトル時系列マップを示す。このようにノイズ除去処理を行うことにより、ノイズの影響を除き、より正確な判定が可能となる。
また本実施形態では、検出データから得られる二値化スペクトル時系列マップを、図16(a)に示すマスタパターンマップと比較することにより、ノッキングが発生したか否かを判定するようにしている。マスタパターンマップは、ノッキングが発生したときに得られる典型的な二値化スペクトル時系列マップに相当するものである。
上記比較は具体的には以下のように行われる。二値化スペクトル時系列マップ上の二値化強度パラメータNKMAP(j,i)と、マスタパターンマップ上のマスタパラメータMMAP(j,i)との積を積算することにより、強度積算値SUMKを算出し、マスタパラメータMMAP(j,i)そのものの積算値である基準積算値SUMMを算出し、基準積算値SUMMに対する強度積算値SUMKの比率として適合率PFIT(=SUMK/SUMM)を算出する。そして、適合率PFITが判定閾値SLVLを超えるとノッキングが発生したと判定する。
図16(b)は、図15(b)に示す二値化強度パラメータNKMAP(j,i)と、図16(a)に示すマスタパターンマップ上のマスタパラメータMMAP(j,i)との積(NKMAP(j,i)×MMAP(j,i))のマップを示す。この例では、図16(b)の積マップは、図15(b)に示すもとのマップと全く同一となり、適合率PFITは、「0.863」となる。
なお、後述する実際のノッキング判定処理においては、上記強度積算値SUMK及び基準積算値SUMMを算出する際にエンジン運転状態に応じた重み付けを行うようにしている。この重み付けを行うための重み付けパラメータWMAP(j,i)が設定されている重み付けマップの一例を図17に示す。図17に示す重み付けマップは、周波数6kHzの成分についてクランク角12度から72度までのパラメータ値、周波数10kHzの成分についてクランク角36度から66度までのパラメータ値、並びに周波数11kHz、13kHz、15kHz、及び20kHzの成分についてクランク角12度から30度までのパラメータ値に対して重みが付けられるように設定されている。
図17に示すような重み付けマップによる重み付けは、エンジン運転状態に依存して二値化スペクトル時系列マップの周波数に対する特性が変化することを補償するために行われるものである。エンジン運転状態に応じて重み付けを行うことにより、エンジン運転状態の変化に拘わらず正確な判定を行うことが可能となる。
図18は、上述した手法によりノッキング判定を行う処理のフローチャートであり、この処理はECU5のCPUでTDCパルスの発生に同期して実行される。
ステップS11では、図20に示す二値化データマップ算出処理を実行し、上述した二値化スペクトル時系列マップの算出を行う。ステップS12では、図23に示すノイズ除去処理を実行し、図15(a)に例示するようなノイズマップを用いてノイズ成分を除去する処理を行う。
ステップS13では、図24に示す適合率算出処理を実行し、ノイズ成分が除去された二値化スペクトル時系列マップと、マスタパターンマップとを用いて適合率PFITを算出する。
ステップS14では、エンジン回転数NE及び吸気圧PBAに応じて例えば図19に示すように設定されたSLVLマップを検索し、判定閾値SLVLを算出する。SLVLマップに設定されている格子点以外のエンジン回転数NE及び吸気圧PBAについては、補間演算により判定閾値SLVLを算出する。
ステップS15では、ステップS13で算出される適合率PFITが判定閾値SLVLより大きいか否かを判別し、その答が肯定(YES)であるときは、ノッキングが発生したと判定し、ノッキングフラグFKNOCKを「1」に設定する(ステップS16)。
ステップS15でPFIT≦SLVLであるときは、ノッキングは発生していないと判定し、ノッキングフラグFKNOCKを「0」に設定する(ステップS17)。次いで図26に示すノイズ学習処理を実行し、ノイズマップ(図15(a)参照)の更新を行う。
図20は、図18のステップS11で実行される二値化データマップ算出処理のフローチャートである。
ステップS21では、クランク角インデクスi及び周波数インデクスjをいずれも「0」に初期化する。ステップS22では、周波数インデクスjが周波数データ数JN(本実施形態では21)から「1」を減算した値より大きいか否かを判別する。最初はこの答は否定(NO)であるので、ステップS24に進み、クランク角インデクスiがクランク角データ数IN(本実施形態では15)から「1」を減算した値より大きいか否かを判別する。
ステップS21では、クランク角インデクスi及び周波数インデクスjをいずれも「0」に初期化する。ステップS22では、周波数インデクスjが周波数データ数JN(本実施形態では21)から「1」を減算した値より大きいか否かを判別する。最初はこの答は否定(NO)であるので、ステップS24に進み、クランク角インデクスiがクランク角データ数IN(本実施形態では15)から「1」を減算した値より大きいか否かを判別する。
最初はステップS24の答も否定(NO)であるので、強度パラメータKMAP(j,i)を、メモリに格納されている周波数成分強度STFT(j,i)に設定し(ステップS25)、次いで図21に示す二値化処理を実行する(ステップS26)。ステップS27では、クランク角インデクスiを「1」だけインクリメントする。
図21のステップS31では、エンジン回転数NE及び吸気圧PBAに応じて図22に示すBLVLマップを検索し、二値化閾値BLVLを算出する。BLVLマップは、エンジン回転数NEが増加するほど二値化閾値BLVLが増加し、かつ吸気圧PBAが増加するほど二値化閾値BLVLが増加するように設定されている。ラインL1で示される設定値は、第1所定吸気圧PBA1(例えば53kPa(400mmHg))から第2所定吸気圧PBA2(例えば80kPa(600mmHg))の範囲で適用される。ラインL2及びL3は、それぞれ第3所定吸気圧PBA3(例えば93kPa(700mmHg))及び第4所定吸気圧PBA4(例えば107kPa(800mmHg))に対応する。
ステップS32では、強度パラメータKMAP(j,i)が二値化閾値BLVLより大きいか否かを判別し、その答が肯定(YES)であるときは、二値化強度パラメータNKMAP(j,i)を「1」に設定する(ステップS33)。一方、ステップS32でKMAP(j,i)≦BLVLであるときは、二値化強度パラメータNKMAP(j,i)を「0」に設定する(ステップS34)。
図20に戻り、ステップS24の答が否定(NO)である間はステップS24〜S27を繰り返し実行し、クランク角インデクスiが(IN−1)を超えると、ステップS28に進み、クランク角インデクスiを「0」に戻すとともに、周波数インデクスjを「1」だけインクリメントし、ステップS22に戻る。
ステップS22の答が否定(NO)である間は、ステップS24〜S28を繰り返し実行し、周波数インデクスjが(JN−1)を超えると、本処理を終了する。
図20の処理により、図13(a)に示すスペクトル時系列マップ上の値を示す強度パラメータKMAP(j,i)が、メモリに格納されている、周波数成分分析の結果として得られた周波数成分強度STFT(j,i)に設定さるとともに、強度パラメータKMAP(j,i)の二値化が行われ、二値化強度パラメータNKMAP(j,i)が算出される。すなわち、図13(b)に示す二値化スペクトル時系列マップが生成される。
図23は、図18のステップS12で実行されるノイズ除去処理のフローチャートである。
ステップS41では、クランク角インデクスi及び周波数インデクスjをともに「0」に初期化する。ステップS42では、周波数インデクスjが周波数データ数JNから「1」を減算した値より大きいか否かを判別する。最初はこの答は否定(NO)であるので、ステップS43に進み、クランク角インデクスiがクランク角データ数INから「1」を減算した値より大きいか否かを判別する。
ステップS41では、クランク角インデクスi及び周波数インデクスjをともに「0」に初期化する。ステップS42では、周波数インデクスjが周波数データ数JNから「1」を減算した値より大きいか否かを判別する。最初はこの答は否定(NO)であるので、ステップS43に進み、クランク角インデクスiがクランク角データ数INから「1」を減算した値より大きいか否かを判別する。
最初はステップS43の答も否定(NO)であるので、下記式(16)により二値化強度パラメータNKMAP(j,i)を補正し、補正二値化強度パラメータJKMAP(j,i)を算出する。式(16)のNNMAP(j,i)は、学習処理により更新されるノイズマップ上の二値化ノイズパラメータである。
JKMAP(j,i)=NKMAP(j,i)−NNMAP(j,i) (16)
JKMAP(j,i)=NKMAP(j,i)−NNMAP(j,i) (16)
ステップS45では、補正二値化強度パラメータJKMAP(j,i)が負の値であるか否かを判別し、その答が否定(NO)であるときは直ちにステップS47に進む。JKMAP(j,i)<0であるときは、JKMAP(j,i)を「0」に設定し(ステップS46)、ステップS47に進む。
ステップS47ではクランク角インデクスiを「1」だけインクリメントし、ステップS43に戻る。ステップS43の答が否定(NO)である間はステップS44〜S47を繰り返し実行し、クランク角インデクスiが(IN−1)を超えると、ステップS48に進み、クランク角インデクスiを「0」に戻すとともに、周波数インデクスjを「1」だけインクリメントし、ステップS42に戻る。ステップS42の答が否定(NO)である間は、ステップS43〜S48を繰り返し実行し、周波数インデクスjが(JN−1)を超えると、本処理を終了する。
図23の処理により、ノイズが除去された補正二値化強度パラメータJKMAP(j,i)が得られる(図15(b)参照)。
図24は、図18のステップS13で実行される適合率算出処理のフローチャートである。
ステップS51では、エンジン回転数NE及び吸気圧PBAに応じてマスタパターンマップを選択し、ステップS52では、エンジン回転数NE及び吸気圧PBAに応じて重み付けマップを選択する。重み付けマップは、エンジン運転状態に依存して二値化スペクトル時系列マップの周波数に対する特性が変化することを補償するために設けられている。エンジン回転数NEまたは吸気圧PBA(エンジン負荷)が変化すると、燃焼室内の温度が変化し、二値化スペクトル時系列マップが変化する。したがって、エンジン回転数NE及び吸気圧PBAに応じてマスタパターンマップ及び重み付けマップを選択することにより、エンジン運転状態の変化に拘わらず正確な判定を行うことが可能となる。
ステップS51では、エンジン回転数NE及び吸気圧PBAに応じてマスタパターンマップを選択し、ステップS52では、エンジン回転数NE及び吸気圧PBAに応じて重み付けマップを選択する。重み付けマップは、エンジン運転状態に依存して二値化スペクトル時系列マップの周波数に対する特性が変化することを補償するために設けられている。エンジン回転数NEまたは吸気圧PBA(エンジン負荷)が変化すると、燃焼室内の温度が変化し、二値化スペクトル時系列マップが変化する。したがって、エンジン回転数NE及び吸気圧PBAに応じてマスタパターンマップ及び重み付けマップを選択することにより、エンジン運転状態の変化に拘わらず正確な判定を行うことが可能となる。
本実施形態では、図25に示すようにエンジン回転数NE及び吸気圧PBAにより定義される9個のエンジン運転領域に対応して、9個のマスタパターンマップ及び9個の重み付けマップが予め設定されており、ステップS51では9個のマスタパターンマップうちの1つが選択され、ステップS52では、9個の重み付けマップのうちの1つが選択される。図25において低回転領域は例えばエンジン回転数NEが2000rpm以下の領域とされ、中回転領域は2000rpmから4000rpmまでの領域とされ、高回転領域は4000rpmを超える領域とされる。また低負荷領域は例えば吸気圧PBAが67kPa(500mmHg)以下の領域とされ、中負荷領域は67kPaから93kPa(700mmHg)までの領域とされ、高負荷領域は93kPaを超える領域とされる。
ステップS53では、クランク角インデクスi及び周波数インデクスjをともに「0」に初期化するとともに、強度積算値SUMK及び基準積算値SUMMを「0」に初期化する。強度積算値SUMK及び基準積算値SUMMは、後述するステップS57で更新され、ステップS60で適合率PFITの算出に適用される。
ステップS54では、周波数インデクスjが周波数データ数JNから「1」を減算した値より大きいか否かを判別する。最初はこの答は否定(NO)であるので、ステップS55に進み、クランク角インデクスiがクランク角データ数INから「1」を減算した値より大きいか否かを判別する。
最初はステップS55の答も否定(NO)であるので、ステップS56に進み、下記式(17)及び(18)により、重み付けマスタパラメータMMW及び重み付け積パラメータKMWを算出する。下記式のWMAP(j,i)は、重み付けマップに設定されている重み付けパラメータである。重み付け積パラメータKMWは、マスタパラメータMMAP(j,i)と補正二値化強度パラメータJKMAP(j,i)との積を、重み付けパラメータWMAP(j,i)によって重み付けしたものである。
MMW=MMAP(j,i)×WMAP(j,i) (17)
KMW=MMAP(j,i)×JKMAP(j,i)×WMAP(j,i) (18)
MMW=MMAP(j,i)×WMAP(j,i) (17)
KMW=MMAP(j,i)×JKMAP(j,i)×WMAP(j,i) (18)
ステップS57では、下記式(19)及び(20)により、重み付けマスタパラメータMMW及び重み付け積パラメータKMWを積算し、基準積算値SUMM及び強度積算値SUMKを算出する。
SUMM=SUMM+MMW (19)
SUMK=SUMK+KMW (20)
SUMM=SUMM+MMW (19)
SUMK=SUMK+KMW (20)
ステップS58では、クランク角インデクスiを「1」だけインクリメントし、ステップS55に戻る。ステップS55の答が否定(NO)である間はステップS56〜S58を繰り返し実行し、クランク角インデクスiが(IN−1)を超えると、ステップS59に進み、クランク角インデクスiを「0」に戻すとともに、周波数インデクスjを「1」だけインクリメントし、ステップS54に戻る。ステップS54の答が否定(NO)である間は、ステップS55〜S59を繰り返し実行し、周波数インデクスjが(JN−1)を超えると、ステップS60に進み、下記式(21)により適合率PFITを算出する。
PFIT=SUMK/SUMM (21)
PFIT=SUMK/SUMM (21)
図26は、図18のステップS18で実行されるノイズ学習処理のフローチャートである。
ステップS71では、クランク角インデクスi、周波数インデクスj、加算学習パラメータLK、及び減算学習パラメータLMをいずれも「0」に初期化する。ステップS72では、周波数インデクスjが周波数データ数JNから「1」を減算した値より大きいか否かを判別する。最初はこの答は否定(NO)であるので、ステップS73に進み、クランク角インデクスiがクランク角データ数INから「1」を減算した値より大きいか否かを判別する。
最初はステップS73の答も否定(NO)であるので、ステップS74に進み、二値化強度パラメータNKMAP(j,i)が二値化ノイズパラメータNNMAP(j,i)と等しいか否かを判別する。この答が肯定(YES)であるときは、直ちにステップS80に進む。
ステップS74の答が否定(NO)であって、二値化強度パラメータNKMAP(j,i)が二値化ノイズパラメータNNMAP(j,i)と異なるときは、二値化強度パラメータNKMAP(j,i)が二値化ノイズパラメータNNMAP(j,i)より大きいか否かを判別する(ステップS75)。この答が肯定(YES)であるときは、加算学習パラメータLKを「1」に設定し、減算学習パラメータLMを「0」に設定する(ステップS76)。一方、NKMAP(j,i)<NNMAP(j,i)であるときは、加算学習パラメータLKを「0」に設定し、減算学習パラメータLMを「1」に設定する(ステップS77)。
ステップS78では、下記式(22)及び(23)により、加算学習パラメータLK及び減算学習パラメータLMを修正する。式(22)、(23)のDSNOISEは、例えば0.1に設定されるノイズ学習係数である。
LK=DSNOISE×LK (22)
LM=DSNOISE×LM (23)
LK=DSNOISE×LK (22)
LM=DSNOISE×LM (23)
ステップS79では、下記式(24)に加算学習パラメータLK及び減算学習パラメータLMを適用し、ノイズパラメータNMAP(j,i)を更新する。次に説明する図27の処理で、ノイズパラメータNMAP(j,i)を二値化することにより、二値化ノイズパラメータNNMAP(j,i)が算出される。
NMAP(j,i)=NMAP(j,i)+LK−LM (24)
NMAP(j,i)=NMAP(j,i)+LK−LM (24)
ステップS80ではクランク角インデクスiを「1」だけインクリメントし、ステップS73に戻る。ステップS73の答が否定(NO)である間はステップS74〜S80を繰り返し実行し、クランク角インデクスiが(IN−1)を超えると、ステップS81に進み、クランク角インデクスiを「0」に戻すとともに、周波数インデクスjを「1」だけインクリメントし、ステップS72に戻る。ステップS72の答が否定(NO)である間は、ステップS73〜S81を繰り返し実行し、周波数インデクスjが(JN−1)を超えると、ステップS82に進み、図27に示すノイズマップ更新処理を実行する。
図27のステップS91では、クランク角インデクスi及び周波数インデクスjをともに「0」に初期化する。ステップS92では、周波数インデクスjが周波数データ数JNから「1」を減算した値より大きいか否かを判別する。最初はこの答は否定(NO)であるので、ステップS93に進み、クランク角インデクスiがクランク角データ数INから「1」を減算した値より大きいか否かを判別する。
最初はステップS93の答も否定(NO)であるので、ステップS94に進み、ノイズパラメータNMAP(j,i)がノイズ二値化閾値NLVL(例えば0.8)より大きいか否かを判別する。この答が肯定(YES)であるときは、二値化ノイズパラメータNNMAP(j,i)を「1」に設定する(ステップS95)。一方、NMAP(j,i)≦NLVLであるときは、二値化ノイズパラメータNNMAP(j,i)を「0」に設定する(ステップS96)。
ステップS97ではクランク角インデクスiを「1」だけインクリメントし、ステップS93に戻る。ステップS93の答が否定(NO)である間はステップS94〜S97を繰り返し実行し、クランク角インデクスiが(IN−1)を超えると、ステップS98に進み、クランク角インデクスiを「0」に戻すとともに、周波数インデクスjを「1」だけインクリメントし、ステップS92に戻る。ステップS92の答が否定(NO)である間は、ステップS93〜S98を繰り返し実行し、周波数インデクスjが(JN−1)を超えると、本処理を終了する。
図26のステップS75でNKMAP(j,i)>NNMAP(j,i)であるときは、ステップS78でLK=0.1,LM=0となり、式(24)により、ノイズパラメータNMAP(j,i)が「0.1」だけインクリメントされる。一方、ステップS75でNKMAP(j,i)<NNMAP(j,i)であるときは、ステップS78でLK=0,LM=0.1となり、式(24)により、ノイズパラメータNMAP(j,i)が「0.1」だけデクリメントされる。そして、図27の処理でノイズパラメータNMAP(j,i)がノイズ二値化閾値NLVLより大きいとき、二値化ノイズパラメータNNMAP(j,i)が「1」に設定される一方、ノイズパラメータNMAP(j,i)がノイズ二値化閾値NLVL以下であるときは、二値化ノイズパラメータNNMAP(j,i)が「0」に設定される。
図26及び図27の処理により、ノッキングが発生していないと判定されたときの二値化強度パラメータNKMAP(j,i)に応じてノイズマップが更新され、例えば吸気弁の着座ノイズのように定常的に発生するノイズがノイズマップに反映される。その結果、ノイズの影響を除いて高精度の判定を行うことが可能となる。
なお、ノイズ除去処理(図18,ステップS12)を行わずに、二値化強度パラメータNKMAPをそのまま用いて適合率PFITの算出を行うようにしてよい。ノイズ除去処理を行わない場合には、ノイズの影響を受ける可能性が高くなるが、図25を参照して説明したようにノイズと区別してノッキングの判定を行うことができるからである。
以上詳述したように本実施形態では、クランク角6度間隔でノックセンサ11の出力信号の周波数成分分析が行われ、その結果得られる、5kHz〜25kHzの周波数成分強度の時系列データであるスペクトル時系列マップが生成される。すなわち、スペクトル時系列マップの要素が二次元配列データである強度パラメータKMAP(j,i)としてメモリに格納される。そして、強度パラメータKMAP(j,i)を二値化することにより、二値化強度パラメータNKMAP(j,i)が算出され、該二値化強度パラメータNKMAP(j,i)に基づいてノッキングが発生したか否かが判定される。二値化強度パラメータNKMAP(j,i)には、エンジンの回転に伴う周波数成分分布の変化が反映されるので、二値化強度パラメータNKMAP(j,i)と、ノッキング発生時に特有の変化パターンに対応するマスタパターンマップ上のマスタパラメータMMAP(j,i)とを比較することにより、ノッキングの発生を正確に判定することができる。また周波数成分分析の結果得られる強度パラメータKMAP(j,i)を二値化することにより、データ量が減少するとともに時系列データの変化パターンが単純化されるので、メモリ容量を低減するとともに演算速度を高めることができる。
また二値化強度パラメータNKMAP(j,i)(JKMAP(j,i))が、マスタパラメータMMAP(j,i)に近い変化パターンを示すときに、ノッキングが発生している可能性が高いので、二値化強度パラメータNKMAP(j,i)(JKMAP(j,i))とマスタパラメータMMAP(j,i)との類似性(相関性)を示すパラメータを算出することにより、正確な判定を行うことができる。
本実施形態ではこの類似性(相関性)を示すパラメータとして適合率PFITを用い、適合率PFITが判定閾値SLVLを超えたときにノッキングが発生したと判定される。適合率PFITを用いることにより、二値化強度パラメータNKMAP(j,i)(JKMAP(j,i))とマスタパラメータMMAP(j,i)との類似性(相関性)を比較的簡単な演算で的確に評価し、正確な判定を行うことができる。
また二値化強度パラメータNKMAP(j,i)に基づいて、ノイズ成分の時系列データNNMAP(j,i)が算出され、二値化強度パラメータNKMAP(j,i)がノイズ成分の時系列データであるノイズパラメータNNMAP(j,i)により補正され、補正二値化強度パラメータJKMAP(j,i)に基づいてノッキング判定が行われる。したがって、上述した着座ノイズのように定常的に表れるノイズ成分を除去してより正確な判定を行うことが可能となる。
また二値化強度パラメータNKMAP(j,i)(JNKMAP(j,i))及びマスタパラメータMMAP(j,i)に対して、周波数に応じて設定された重み付けパラメータWMAP(j,i)を乗算して、適合率PFITが算出される。ノッキングが発生したときに大きくなる周波数成分は予め判明しているので、その周波数の近傍の周波数に対応するパラメータに大きな重みを付けることにより、判定精度を高めることができる。
本実施形態では、ECU5がサンプリング手段、要素強度算出手段、量子化手段、及び周波数成分強度算出手段を構成する。
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、サイン波強度DMFTS及びコサイン波強度DMFTCの算出に適用される量子化サイン波信号QSIN及び量子化コサイン波信号QCOSは、サイン波信号及びコサイン波信号を3値化することにより、算出したが、図29に示すように3値化に代えて5値化によって、量子化サイン波信号QSIN及び量子化コサイン波信号QCOSを算出するようにしてもよい。図29に示すTH5PBS,TH5PAS,TH5MAS(=−TH5PAS,及びTH5MBS(=−TH5PBS)は、5値化用の閾値である。
5値化を行う場合には、検出データVKNKに「0.5」を乗算する演算が必要となるが、CPUにおける2値化データの演算では1ビットシフトで実現できるので、演算ステップの増加を抑制することができる。5値化することにより、量子化を行わない場合に比べて演算ステップ数を53%程度低減することができる。
5値化を行う場合に閾値TH5PAS,TH5PBS(サイン波信号用)と、閾値TH5PAC,TH5PBC(コサイン波用)とは、信号周波数に応じて図30(a)及び図30(b)に示すように設定される。また図7及び図8に対応するQSINテーブル及びQCOSテーブルは、図31及び図32に示すものが適用される。
またエンジン回転数NEが所定回転数NETH2(例えば2000〜2500rpm)以下であるときに5値化に対応するQSINテーブル及びQCOSテーブルを適用し、エンジン回転数NEが所定回転数NETH2より高いときに3値化に対応するQSINテーブル及びQCOSテーブルを適用するようにしてもよい。これにより、エンジン回転数NEが高いときの周波数成分分析に要する演算時間を短縮し、高回転領域において後処理のための時間を十分に確保できる。
またノックセンサ出力のサンプリング周期や周波数成分分析を行うクランク角度間隔は上述したもの(20マイクロ秒、6度)に限るものではなく、本発明の目的が達成される範囲内において変更可能である。また、二値化スペクトル時系列マップ(上述した実施形態では21行×15列のマトリクスで構成)も同様に変更可能である。
また上述した実施形態では、ノックセンサによる検出値の周波数分析を行う装置を示したが、本発明はこれに限らず、エンジン運転パラメータ検出値の周波数成分分析を、エンジン回転(CRK割り込み)に同期して行う場合に適用可能である。例えば本発明は、CRKセンサから出力されるCRKパルス(割り込み)の発生周期CRMEまたはその逆数として得られるエンジン1の瞬時回転速度の周波数成分分析などにも適用できる。
また上述した実施形態では、エンジン回転数NEの回転数閾値NETHを、単位時間当たりの演算ステップ数が飽和するステップ数飽和回転数NESATに設定したが、周波数成分強度の算出に使用するデータのサンプリング期間TSが、CRK割り込み発生周期CRMEより短くなる回転数NETS、または回転数NETSより若干高い(例えば100rpm程度高い)回転数を回転数閾値NETHに設定するようにしてもよい。上述した実施形態では、回転数NETSは、1000rpmである。
また上述した実施形態では、二値化強度パラメータNKMAP(j,i)及びマスタパラメータMMAP(j,i)に重み付けパラメータWMAP(j,i)を乗算して、適合率PFITを算出したが、重み付けパラメータWMAP(j,i)を乗算せずに、すなわち重み付けを行わずに算出するようにしてもよい。
また上述した実施形態では、判定閾値SLVL、二値化閾値BLVL、マスタパターンマップ、及び重み付けマップをエンジン回転数NE及び吸気圧PBAに応じて、算出または選択するようにしたが、予め設定された値または1つのマップに固定しておいてもよい。
1 内燃機関
5 電子制御ユニット(サンプリング手段、要素強度算出手段、量子化手段、周波数成分強度算出手段)
11 ノックセンサ
5 電子制御ユニット(サンプリング手段、要素強度算出手段、量子化手段、周波数成分強度算出手段)
11 ノックセンサ
Claims (3)
- 内燃機関の運転パラメータの検出値についての周波数成分分析を、前記機関の回転に同期して行う周波数成分分析装置において、
前記運転パラメータを所定時間間隔でサンプリングし、サンプル値をデジタル値に変換するサンプリング手段と、
前記検出値に含まれる複数の周波数成分に対応する、第1要素の強度及び前記第1要素に対して位相が90度ずれた第2要素の強度を、所定数のサンプル値について算出する要素強度算出手段と、
前記第1要素強度及び前記第2要素強度を用いて前記複数周波数の周波数成分強度を、前記機関の回転に同期して算出する周波数成分強度算出手段とを備え、
前記要素強度算出手段は、前記第1及び第2要素に対応する正弦波信号をそれぞれN値化(Nは3または5)し、N値化正弦波信号を算出する量子化手段を有し、
前記要素強度算出手段は、前記運転パラメータの検出値と、前記N値化正弦波信号とを用いて前記第1及び第2要素の強度を算出することを特徴とする周波数成分分析装置。 - 前記量子化手段は、前記N値化する際に適用する閾値を前記正弦波信号の周波数に応じて変更することを特徴とする請求項1に記載の周波数成分分析装置。
- 前記量子化手段は、前記機関の回転数が所定回転数以下であるときに5値化を行い、前記機関の回転数が前記所定回転数より高いときに3値化を行うことを特徴とする請求項1または2に記載の周波数成分分析装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009026087A JP4764485B2 (ja) | 2009-02-06 | 2009-02-06 | 周波数成分分析装置 |
CN201080006205.0A CN102301120B (zh) | 2009-02-06 | 2010-01-27 | 频率成分分析装置 |
PCT/JP2010/051059 WO2010090113A1 (ja) | 2009-02-06 | 2010-01-27 | 周波数成分分析装置 |
US13/144,981 US8731856B2 (en) | 2009-02-06 | 2010-01-27 | Frequency spectrum analyzing apparatus |
EP10738448.9A EP2372134B1 (en) | 2009-02-06 | 2010-01-27 | Frequency component analyzing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009026087A JP4764485B2 (ja) | 2009-02-06 | 2009-02-06 | 周波数成分分析装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010180808A JP2010180808A (ja) | 2010-08-19 |
JP4764485B2 true JP4764485B2 (ja) | 2011-09-07 |
Family
ID=42762509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009026087A Expired - Fee Related JP4764485B2 (ja) | 2009-02-06 | 2009-02-06 | 周波数成分分析装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4764485B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7133527B2 (ja) * | 2019-09-30 | 2022-09-08 | 本田技研工業株式会社 | スペクトル算出装置及びスペクトル算出方法 |
CN115442883B (zh) * | 2022-11-07 | 2023-02-03 | 长沙驰芯半导体科技有限公司 | 一种用于超宽带基带的融合频偏校正方法及装置 |
-
2009
- 2009-02-06 JP JP2009026087A patent/JP4764485B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010180808A (ja) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4879329B2 (ja) | 周波数成分分析装置 | |
WO2010090113A1 (ja) | 周波数成分分析装置 | |
JP4827936B2 (ja) | 内燃機関のノッキング検出装置 | |
US6456927B1 (en) | Spectral knock detection method and system therefor | |
JP4327582B2 (ja) | ノッキング検知装置 | |
JP2021050634A (ja) | 内燃機関の点火時期制御装置 | |
JP4764485B2 (ja) | 周波数成分分析装置 | |
JP4841637B2 (ja) | 周波数成分分析装置 | |
JP4869366B2 (ja) | 内燃機関のノッキング検出装置 | |
JP4939591B2 (ja) | 内燃機関の燃焼状態監視装置 | |
JPH05248937A (ja) | 内燃機関のノッキング検出装置 | |
JP5511913B2 (ja) | 周波数成分分析装置 | |
JP2011032993A (ja) | 内燃機関の制御装置 | |
JP6203896B1 (ja) | 内燃機関のノッキング検出装置 | |
JP2013204496A (ja) | ノック検出方法および装置 | |
JP3319850B2 (ja) | 内燃機関のノッキング判定方法および装置 | |
JPH05142030A (ja) | 内燃機関のノツキング検出装置 | |
Heyne Minehart | DATA DRIVEN SENSOR FUSION FOR CYCLE-CYCLE IMEP ESTIMATION | |
JP2021050728A (ja) | 内燃機関の点火時期制御装置 | |
JP2007127008A (ja) | 内燃機関の点火時期制御装置 | |
JP2017190767A (ja) | 内燃機関のノッキング検出装置 | |
JPH06200859A (ja) | ノッキング制御方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110607 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110610 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140617 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |