JP2009053873A - 制御装置、車輌制御装置、処理方法、及び制御プログラム - Google Patents
制御装置、車輌制御装置、処理方法、及び制御プログラム Download PDFInfo
- Publication number
- JP2009053873A JP2009053873A JP2007219075A JP2007219075A JP2009053873A JP 2009053873 A JP2009053873 A JP 2009053873A JP 2007219075 A JP2007219075 A JP 2007219075A JP 2007219075 A JP2007219075 A JP 2007219075A JP 2009053873 A JP2009053873 A JP 2009053873A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- temperature data
- latest
- array
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 4
- 230000001174 ascending effect Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 47
- 238000003491 array Methods 0.000 claims description 15
- 239000000446 fuel Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 14
- 238000005259 measurement Methods 0.000 description 44
- 239000000498 cooling water Substances 0.000 description 21
- 238000005070 sampling Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000006185 dispersion Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】入力データを含めた全てのデータを一から並び替える処理を不要とし、計算量を削減した効率の良い処理が実行できる制御装置、車輌制御装置、処理方法、及び制御プログラムを提供する。
【解決手段】CPU11は、入力された新たな温度データを、リングバッファに記憶された複数の温度データの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行い、新たな温度データが比較対象の温度データより大きい場合は、比較対象の温度データの直近の大きいデータと大小比較を行い、新たな温度データが比較対象の温度データより小さい場合は、比較対象の温度データの直近の小さいデータと大小比較を行い、新たな温度データと複数の温度データの配列を昇順或は降順に並べた場合に新たな温度データが配列におけるどの位置になるのかを特定する。
【選択図】図3
【解決手段】CPU11は、入力された新たな温度データを、リングバッファに記憶された複数の温度データの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行い、新たな温度データが比較対象の温度データより大きい場合は、比較対象の温度データの直近の大きいデータと大小比較を行い、新たな温度データが比較対象の温度データより小さい場合は、比較対象の温度データの直近の小さいデータと大小比較を行い、新たな温度データと複数の温度データの配列を昇順或は降順に並べた場合に新たな温度データが配列におけるどの位置になるのかを特定する。
【選択図】図3
Description
本発明は、複数のデータにおける中央値の検出を行う制御装置、車輌制御装置、処理方法、及び制御プログラムに関する。
従来より、筒内圧検出手段の検出値からノイズを良好に除去して内燃機関の筒内圧力の高精度な測定を可能とする筒内圧力測定装置が知られている(例えば、特許文献1参照)。
この筒内圧力測定装置は、ある時刻kにおいて取得した筒内圧センサの検出値と、その前後の数点(前後同数)の検出値とを含むデータ列を昇べき順に並べ替えた上で、その中間値を、時刻kにおいて取得した筒内圧センサの検出値とするメディアン処理を実行する。
また、従来より、クランク角信号の周期を計算して、エンジン回転情報を各種のアクチュエータに提供するに際し、ノイズや信号抜けにより間違って計測された周期を排除するクランク角センサ信号周期計測装置が知られている(例えば、特許文献2参照)。
このクランク角センサ信号周期計測装置は、周期記憶手段と、中央値算出手段とを備えている。周期記憶手段は、タイマにより計測された周期を最新のものから過去n個分記憶する。中央値算出手段は、n個分の周期記憶値を大小順に並べたときの中央値を算出し、これをエンジン回転情報として各種のアクチュエータに提供する。
このように、複数のサンプリング値(即ち、上記筒内圧センサの検出値、上記周期記憶値)を昇順又は降順にソートして、中央値をサンプリング範囲の制御値とする処理をメディアンフィルタ処理という。
このメディアンフィルタ処理では、(1)サンプリング値の取得、(2)全てのサンプリング値のソート(並び替え)、(3)中央値の取り出し、の工程を(1)〜(3)の順番に従って繰り返し実行する。
特開2005−180256号公報
特開平9−217646号公報
しかしながら、上記メディアンフィルタ処理では、サンプリング値を取得するたびに、全てのサンプリング値のソート(並び替え)を実行しているため、効率の良い処理が実行できない。即ち、サンプリングのたびに最古のサンプリング値の破棄と最新のサンプリング値の取得を行う場合、最新のサンプリング値以外のサンプリング値は前回のソート処理で正しく整列されているが、上記メディアンフィルタ処理では、この点を考慮せずに、全てのサンプリング値をソートするため、無駄な処理を行っていた。
本発明の目的は、入力データを含めた全てのデータを一から並び替える処理を不要とし、計算量を削減した効率の良い処理が実行できる制御装置、車輌制御装置、処理方法、及び制御プログラムを提供することにある。
上記目的を達成するため、本発明では、記憶手段が入力手段により入力された複数のデータの配列と、各データに関連付けられた直近の大きいデータ情報と直近の小さいデータ情報からなる直近大小データ情報と、配列を昇順或は降順に並べた場合に中央に位置するデータに関連付けられた中央値情報とを記憶する。そして、制御手段が、入力手段により新たに入力された入力データがある場合に、入力データと中央値情報が関連づけられているデータから順に大小比較し、入力データが比較対象データより大きい場合は、比較対象データに関連づけられている直近大小データ情報に含まれる直近の大きいデータと大小比較を行い、入力データが比較対象データより小さい場合は、比較対象データに関連付けられている直近大小データ情報に含まれる直近の小さいデータと大小比較を行い、入力データと複数のデータの配列を昇順或は降順に並べた場合の入力データの直近大小データを特定し、これらからなる直近大小データ情報を入力データに関連づけて前記記憶手段に記憶する。
本発明によれば、入力データを含めた全てのデータを一から並び替える処理を不要とし、計算量を削減した効率の良い処理が実行できる。
以下、図面を参照しながら本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るデータ処理装置を含む車輌制御装置の構成を示すブロック図である。
同図において、車輌制御装置20は、エンジン1、エンジン1への燃料噴射の制御を行うインジェクタ2、装置全体を制御するECU3(データ処理装置)、空燃比の検出を行うA/Fセンサ4、不図示の吸入口から吸入された空気の吸入量を検出するエアフロメータ5、車両速度を測定する車速センサ6、冷却水の温度を測定する冷却水温センサ7、イグニッション(IG)スイッチ8、吸気温センサ9、排気温センサ10、不図示の燃料噴射装置に使用されるスロットルポジションセンサ15及びエンジン1の吸入空気量を圧力によって測定するバキュームセンサ16を備えている。
ECU3は、ECU全体を制御するCPU11(入力手段、組替手段、上書き手段、更新手段、算出手段、変更手段、除去手段、分散算出手段)、データ処理用のRAM12(記憶手段)、書き換え可能なデータを保持するEEPROM(不揮発性ROM)13(記憶手段)、及び制御プログラムが格納されたROM14を備えている。CPU11は、ROM14に格納された制御プログラムに基づいて、ECU13に接続されたセンサやメータ等を制御する。
また、RAM12は、リングバッファとして機能し、冷却水温センサ7で測定された冷却水の温度データを100ms毎に記憶する。例えば、RAM12は、冷却水温センサ7で測定された冷却水の温度データを5つ記憶し、最古の温度データを新たに測定された温度データで上書きすることにより、常に、冷却水の温度データを5つ記憶する。
以下、CPU11の制御によるRAM12のリングバッファへのデータ格納方法を説明する。
図2(A)は、温度データを格納する配列を温度データの大きさに従って昇順に並べた模式図である。
図2(A)において、複数の矢印で囲まれた5つの矩形は、温度データを格納する配列を示す。図中の丸印内の数値は、配列に付された配列番号を示す。各配列に含まれる矩形内の数値は、配列に格納された温度データ(数値)を示す。
発明の構成上、配列は中央データ(即ち「中央値」ポインタが関連付けされる配列に格納される温度データ)が1つとなる奇数に設計することが好ましいが、偶数の場合の中央データは配列の適当な箇所に設計する。たとえば、偶数の場合の中央データは、「配列の数×1/2−1」番目とするか、「配列の数×1/2+1」番目とする。
図2(A)の矢印Aは、直近の小データを抽象的に表現したものであり、図2(A)の矢印Bは、直近の大データを抽象的に表現したものである。矢印Aの先端の温度データは、矢印Aの後端の温度データに最も近く、当該温 度データよりも小さなデータを示し、矢印Bの先端の温度データは、矢印Bの後端の温度データに最も近く、当該温度データよりも大きなデータを示す。
さらに、図中の「中央値」ポインタは、5つの配列に格納される温度データの中央値を示す。CPU11は、5つの配列に格納される温度データを参照して、中央値を格納している配列に「中央値」ポインタを関連付けする。
また、図中の「前回値」ポインタは、前回の温度データ(即ち、最後に配列に格納された温度データ)を示す。「最古値」ポインタは、5つの温度データのなかで最も古い温度データ(即ち、最初に配列に格納された温度データ)を示す。CPU11は、温度データが各配列に格納された順番に基づいて、最も新しい温度データを格納した配列に「前回値」ポインタを、最も古い温度データを格納した配列に「最古値」ポインタを関連付けする。
図2(B)は、温度データを格納する配列を昇順に並べた模式図である。
リングバッファでは、温度データは、配列「1」→配列「2」→配列「3」→配列「4」→配列「5」→配列「1」(上書き)→…のように、配列番号の順番に従って、対応する配列に格納されるため、図2(B)に示すように、「前回値」ポインタの関連付けされた配列「4」の次の配列「5」に「最古値」ポインタが関連付けされる。また、図2(B)では、次に入力される温度データは、配列「5」の温度データ[18]に上書きされる。
尚、リングバッファでは、温度データが各配列に格納される際に、配列「1」〜「5」の並び替えや位置が変更されることはない。各配列に格納される温度データの大小関係は、図2(B)に示すように、各温度データに関連付けられた直近の大きいデータ情報(直近の大データ)と直近の小さいデータ情報(直近の小データ)からなる直近大小データ情報により規定されている。
例えば、図2(B)において、配列「1」〜「5」に含まれる温度データは、[6]、[9]、[10]、[12]、[18]なので、配列「1」の温度データ[9]の直近の大データは、温度データ[10]となり、直近の小データは、温度データ[6]となる。また、配列「3」の温度データ[6]の直近の大データは、温度データ[9]となるが、直近の小データは、温度データ[6]より低い値がないため、[なし]となる。
図2(C)は、図2(B)の状態で新たな温度データ[7]が入力された場合の配列を示す模式図である。
図2(B)に示すリングバッファに、例えば、温度データ[7]が入力されると、「最古値」ポインタが関連付けされた配列「5」に温度データ[7]が上書きされる。
CPU11は、入力された温度データ[7]が、「中央値」ポインタが関連付けされている配列に格納されている温度データ[10]よりも大きいか否かを判定する。この場合、入力された温度データ[7]は、「中央値」ポインタが関連付けされている配列に格納されている温度データ[10]よりも小さいので、温度データ[10]に関連付けられている直近の小データ(ここでは、温度データ[9])よりも大きいか否かを判定する。
この場合、入力された温度データ[7]は、温度データ[10]に関連付けられている直近の小データ(ここでは、温度データ[9])よりもさらに小さいので、温度データ[9]に関連付けられている直近の小データ(ここでは、温度データ[6])よりも大きいか否かを判定する。
この場合、入力された温度データ[7]は、温度データ[9]に関連づけられている直近の小データ(ここでは、温度データ[6])よりも大きいので、CPU11は、温度データ[9]に関連付けられている直近の小データ(ここでは、温度データ[6])を温度データ[7]と特定し、温度データ[6]に関連付けられている直近の大データ(ここでは、温度データ[9])を温度データ[7]と特定する。また、CPU11は、温度データ[7]に関連付けられる直近の大データを温度データ[9]と特定し、温度データ[7]に関連付けられる直近の小データを温度データ[6]と特定する。さらに、CPU11は、温度データ[12]に関連づけられる直近の大データ(ここでは、温度データ[18])はなくなったので、当該直近の大データを「なし」と特定する。
次いで、CPU11は、「前回値」ポインタ及び「最古値」ポインタの関連付け先を更新する、即ち、配列「5」に「前回値」ポインタを関連付けし、配列「1」に「最古値」ポインタを関連付けする(図2(C))。さらに、CPU11は、「中央値」ポインタの関連付け先を更新する。具体的には、CPU11は、5つの温度データの大小関係に基づいて、中央値の温度データを格納する配列に「中央値」ポインタを関連付けする。
最後に、CPU11は、特定された直近の大データと特定された直近の小データからなる直近大小データ情報を各温度データに関連づけてRAM12に記憶する。
図2(D)は、図2(B)の状態で新たな温度データ[11]が入力された場合の配列を示す模式図である。
図2(B)に示すリングバッファに、例えば、温度データ[11]が入力されると、「最古値」ポインタが関連付けされた配列「5」に温度データ[11]が上書きされる。
CPU11は、入力された温度データ[11]が、「中央値」ポインタが関連付けされている配列に格納されている温度データ[10]よりも大きいか否かを判定する。
この場合、入力された温度データ[7]は、「中央値」ポインタが関連付けされている配列に格納されている温度データ[10]よりも大きいので、温度データ[10]に関連付けられている直近の大データ(ここでは、温度データ[12])よりも大きいか否かを判定する。
この場合、入力された温度データ[11]は、温度データ[10]に関連付けられている直近の大データ(ここでは、温度データ[12])よりも小さいので、CPU11は、温度データ[12]に関連付けられている直近の小データ(ここでは、温度データ[10])を温度データ[11]と特定し、温度データ[10]に関連付けられている直近の大データ(ここでは、温度データ[12])を温度データ[11]と特定する。
また、CPU11は、温度データ[11]に関連付けられる直近の大データを温度データ[12]と特定し、温度データ[11]に関連付けられる直近の小データを温度データ[10]と特定する。さらに、CPU11は、温度データ[12]に関連づけられる直近の大データ(ここでは、温度データ[18])はなくなったので、当該直近の大データを「なし」と特定する。
次いで、CPU11は、「前回値」ポインタ及び「最古値」ポインタの関連付け先を更新する、即ち、配列「5」に「前回値」ポインタを関連付けし、配列「1」に「最古値」ポインタを関連付けする(図2(C))。さらに、CPU11は、「中央値」ポインタの関連付け先を更新する。具体的には、CPU11は、5つの温度データの大小関係に基づいて、中央値の温度データを格納する配列に「中央値」ポインタを関連付けする。
最後に、CPU11は、特定された直近の大データと特定された直近の小データからなる直近大小データ情報を各温度データに関連づけてRAM12に記憶する。
図3は、RAM12のリングバッファへのデータ格納方法を示すフローチャートである。尚、工場出荷時やシステムリセット時のようにデータが5つなく、かつシステム起動時にデータを5つ入力された場合は、従来のように5つのデータをソートした後、「中央値」ポインタと「前回値」ポインタ、「最古値」ポインタを対応する配列に関連付けする。
まず、CPU11は、リングバッファに、新たな温度データ(T1)が入力されると、「最古値」ポインタが関連付けされた配列に当該新たな温度データを上書きする(ステップS1)。
次いで、CPU11は、入力された新たな温度データを、「中央値」ポインタが関連付けされている配列に格納されている温度データ(以下、「中央値」ポインタの温度データ(T2)という)と大小比較する(ステップS2)。
CPU11は、ステップS2で、入力された新たな温度データ(T1)が「中央値」ポインタの温度データ(T2)よりも小さい場合には、入力された新たな温度データ(T1)を、直近大小データ情報に含まれる直近の小データ(T3)と大小比較する(ステップS3)。このとき、入力された新たな温度データは、最初に「中央値」ポインタの温度データに関連付けされている直近の大データと大小比較され、以降、入力された新たな温度データは、より小さな直近の小データと大小比較される。入力された新たな温度データ(T1)よりも小さな直近の小データ(T3)が有る場合には、CPU11は、当該直近の小データ(T3)を、入力された新たな温度データ(T1)に関連付けされる直近の小データとして特定し、当該直近の小データ(T3)の関連付け元の温度データを入力された新たな温度データ(T1)に関連付けされる直近の大データとして特定する(ステップS4)。
ステップS3で、入力された新たな温度データ(T1)よりも小さな直近の小データ(T3)がない場合には、CPU11は、入力された新たな温度データ(T1)に関連付けされる直近の小データを「なし」として特定し、最後に大小比較された直近の小データの関連付け元の温度データを入力された新たな温度データ(T1)に関連付けされる直近の大データとして特定する(ステップS5)。
CPU11は、ステップS2で、入力された新たな温度データ(T1)が「中央値」ポインタの温度データ(T2)以上の場合には、入力された新たな温度データ(T1)を、直近大小データ情報に含まれる直近の大データ(T4)と大小比較する(ステップS6)。このとき、入力された新たな温度データは、最初に「中央値」ポインタの温度データに関連付けされている直近の大データと大小比較され、以降、入力された新たな温度データは、より大きな直近の大データと大小比較される。入力された新たな温度データ(T1)よりも大きな直近の大データ(T4)が有る場合には、CPU11は、当該直近の大データ(T4)を、入力された新たな温度データ(T1)に関連付けされる直近の大データとして特定し、当該直近の大データ(T4)の関連付け元の温度データを入力された新たな温度データ(T1)に関連付けされる直近の小データとして特定する(ステップS7)。
ステップS3で、入力された新たな温度データ(T1)よりも大きな直近の大データ(T4)がない場合には、CPU11は、入力された新たな温度データ(T1)に関連付けされる直近の大データを「なし」として特定し、最後に大小比較された直近の大データの関連付け元の温度データを入力された新たな温度データ(T1)に関連付けされる直近の小データとして特定する(ステップS8)。
CPU11は、「中央値」ポインタ、「前回値」ポインタ及び「最古値」ポインタの関連付け先を更新し(ステップS9)、特定された直近の大データと特定された直近の小データからなる直近大小データ情報を入力された新たな温度データ(T1)に関連づけてRAM12に記憶して(ステップS10)、本処理を終了する。
このように、本処理では、入力された新たな温度データがある場合に、CPU11は、新たな温度データを「中央値」ポインタが関連づけられている温度データから順に大小比較し、新たな温度データが比較対象の温度データより大きい場合は、比較対象の温度データに関連づけられている直近大小データ情報に含まれる直近の大きいデータと大小比較を行い、新たな温度データが比較対象の温度データより小さい場合は、比較対象の温度データに関連付けられている直近大小データ情報に含まれる直近の小さいデータと大小比較を行い、新たな温度データと複数の温度データの配列を昇順或は降順に並べた場合の新たな温度データの直近大小データを特定し、これらからなる直近大小データ情報を新たな温度データに関連づけてRAM12に記憶する。よって、入力された新たな温度データを含めた全ての温度データを一から並び替える処理は不要となり、計算量を削減した効率の良い処理が実行できると共に全ての温度データを並び替える処理と同様の効果が得られる。
また、CPU11は、入力された新たな温度データを、リングバッファに記憶された複数の温度データの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行い、新たな温度データが比較対象の温度データより大きい場合は、比較対象の温度データの直近の大きいデータと大小比較を行い、新たな温度データが比較対象の温度データより小さい場合は、比較対象の温度データの直近の小さいデータと大小比較を行い、新たな温度データと複数の温度データの配列を昇順或は降順に並べた場合に新たな温度データが配列におけるどの位置になるのかを特定する。よって、入力された新たな温度データを含めた全ての温度データを一から並び替える処理は不要となり、計算量を削減した効率の良い処理が実行できると共に全ての温度データを並び替える処理と同様の効果が得られる。
次に、上記RAM12のリングバッファへのデータ格納方法を利用したメディアンフィルタ処理を用いてノイズの検出と除去を行う方法を説明する。
上記RAM12のリングバッファへのデータ格納方法を利用したメディアンフィルタ処理では、CPU11は、上記図3のステップS1〜S10の実行後に、更新された「中央値」ポインタが付加された配列に含まれる温度データをサンプリング範囲の制御値とする。
図1の冷却水温センサ7は、不図示のサーミスタ等を利用して、水温を電気抵抗に対応させて計測を行う。この計測結果の一例を図4に示す。尚、冷却水温センサ7の経年劣化やその他の環境要因等により、測定値にノイズが混入することがある。
図4のように、現在時刻tをTxとすると、CPU11は矢印Cの範囲(ここでは過去5回分)の冷却水温センサ7の測定値に対してメディアンフィルタ処理を実行する。また、現在時刻tをTx−1とすると、CPU11は矢印Dの範囲(ここでは過去5回分)の冷却水温センサ7の測定値に対してメディアンフィルタ処理を実行する。
メディアンフィルタ処理では、上記RAM12のリングバッファへのデータ格納方法を利用する。
メディアンフィルタ処理で測定値の大小関係を判定する際の、判定開始位置を決定する方法を以下に説明する。
図5は、測定値の大小関係を判定する際の、判定開始位置を決定する処理を示すフローチャートである。この処理は、例えば、イグニッション(IG)スイッチ8がオンになり、エンジン1の始動が開始されてから、所定時間経過後(例えば、10秒後)に実行される。
まず、CPU11は、中央値(即ち、更新された「中央値」ポインタが付加された配列に含まれる温度データ)と各測定値(例えば5つ分の測定値)の差分の2乗の総和を算出し、さらにその算出値の一定期間(当該5つ分の測定値を測定できる期間)の総和を算出する(ステップS11)。ここでは、いわゆる測定値の分散を算出している。
次いで、CPU11は、当該一定期間の総和が規定値以下であるか否かを判別する(ステップS12)。ステップS12でYESの場合には、CPU11は、メディアンフィルタ処理を開始し(ステップS13)、一定期間内の測定値と新たに入力される測定値(今回の測定値)との比較を開始して、今回の測定値の挿入位置を見つけるまでのステップ数、即ち、今回の測定値の直近大小データ情報を特定するまでの平均大小比較回数を算出する(ステップS14)。尚、ステップS14では、CPU11は、前回の測定値と新たに入力される測定値(今回の測定値)との比較から開始する。
次に、CPU11は、算出した平均大小比較回数が規定値未満であるか否かを判別する(ステップS15)。規定値は、一定期間内の測定値数(サンプル数)の半分の値であり、例えば、一定期間内の測定値数(サンプル数)が5つの場合には、2.5である。
ステップS15でYESの場合には、CPU11は、判定開始位置を前回の測定値が格納されている配列として(ステップS16)、本処理を終了する。一方、ステップS15でNOの場合には、CPU11は、判定開始位置を中央値が格納されている配列として(ステップS17)、本処理を終了する。
上記ステップS12でNOの場合には、CPU11は、メディアンフィルタ処理を無効にして(ステップS18)、本処理を終了する。
たとえば、水温冷却センサ7から16ms周期でサンプリングするデータが、30℃、38℃、40℃、48℃、及び50℃の場合の分散データは136である。16ms周期でサンプリングする冷却水温のデータがこのように分散することは殆どなく、この場合、冷却水温センサ7などが故障している可能性が高い。従って、該総和(分散データ)が100以上の場合は冷却水温センサ7などが故障していると判断して、メディアンフィルタ処理をすることなく他の冷却水温センサ7の異常検出処理を行うか、警告ランプを点灯させる、或は異常の記録をする、または所定のフェールセーフ制御(走行待避制御)を行う。つまり、冷却水温などのように数msの短いタイミングでそのデータをサンプリングすると、その変化はリニアになるはずのものにおいて、このような分散データが検出されると何らかの異常があるものと推測することができる。従って、上記分散データとは、その推定対象と測定する期間から考えて正常データでもなくノイズの影響でもない場合、つまり何らかの異常があるものと推測することができるデータである。
本処理では、予め今回の測定値を格納する配列の位置を見つけるまでの平均ステップ数、即ち今回の測定値の直近大小データ情報を特定するまでの平均大小比較回数が算出され、その算出結果に基づいて今回の測定値との大小関係を判定するための最初の比較対象先の測定値が前回の測定値又は中央値のいずれかに変更されるので、計算量を削減した効率の良い処理が実行できる。
また、測定値のばらつき(分散)が規定値以下の場合に、メディアンフィルタ処理を実行するので、高速に測定値の並び替えを実現できる。
さらに、ステップS16では、今回の測定値を格納する配列の位置を決定する際に、最初に、今回の測定値と、前回の測定値との大小関係が判定されるため、前回の測定値と今回の測定値との大小の差違が少ないときに、高速に測定値の並び替えを実現できる。
さらにまた、ステップS17では、今回の測定値を格納する配列の位置を決定する際に、最初に、今回の測定値と、中央値との大小関係が判定されるため、ノイズを含むような測定値が入力される場合にも、高速に測定値の並び替えを実現できる。
次に、メディアンフィルタ処理を利用して、冷却水温センサ7のノイズを含む測定値を除去する処理について説明する。
図6は、メディアンフィルタ処理を利用して、冷却水温センサ7のノイズを含む測定値を除去する処理を示すフローチャートである。この処理は、例えば、イグニッション(IG)スイッチ8がオンになり、エンジン1の始動が開始されてから、所定時間経過後(例えば、15秒後)に実行される。
まず、CPU11は、所定のサンプリング周期が経過したか否かを判別する(ステップS21)。ここでは、所定数の測定値(サンプル)が取得されたか否かを判別している。
ステップS21でNOの場合には、本処理を終了する。一方、ステップS21でYESの場合には、CPU11は、ノイズカウンタをクリアする(ステップS22)。ノイズカウンタは、ノイズを含む測定値をカウントするカウンタであり、CPU11は制御プログラムに従って、RAM12又はEEPROM13の領域でノイズカウンタを実現する。
その後、CPU11は、新たに入力される今回の測定値を取得し(ステップS23)、メディアンフィルタ処理が有効であるか否かを判別する(ステップS24)。ここでは、図5のステップS11,S12で示したように、中央値と各測定値の差分の2乗の総和を算出し、さらにその算出値の一定期間の総和が規定値以下である場合、即ち、測定値のばらつきが規定値以下である場合に、CPU11は、メディアンフィルタ処理が有効であると判別する。
ステップS24でNOの場合には、本処理を終了する。一方、ステップS24でYESの場合には、前回値又は中央値と今回の測定値の比較を行い、今回の測定値を格納すべき配列の位置の決定を行い、当該配列に今回の測定値を格納し、中央値を更新する(ステップS25)。
その後、CPU11は、今回の測定値と中央値との差分が規定値以下であるか否かを判別する(ステップS26)。ここでは、今回の測定値がノイズを含むか否かを判別している。規定値は、ノイズであることを判断するためのデータであり、測定対象や制御状態などから予め定められているものである。つまり、ある測定対象がある制御状態においては発生しないデータ(ノイズ)を判定する閾値データである。
ステップS26でYESの場合には、CPU11は、今回の測定値をサンプリング範囲の制御値として取得し(ステップS27)、本処理を終了する。
一方、ステップS26でNOの場合には、CPU11は、中央値をサンプリング範囲の制御値として取得し(ステップS28)、ノイズカウンタの値を1つ加算する(ステップS29)。
次いで、CPU11は、ノイズカウンタの合計が所定値(例えば5)以上であるか否かを判別する(ステップS30)。ステップS30でNOの場合には、本処理を終了する。一方、ステップS30でYESの場合には、CPU11は、メディアンフィルタ処理を無効にし(ステップS31)、ノイズカウンタをクリアして(ステップS32)、本処理を終了する。
このように、本処理では、今回の測定値と中央値との差分が規定値を超えている場合(ステップS26でNO)、即ち、今回の測定値がノイズを含む場合、CPU11は、今回の測定値をサンプリング範囲の制御値として取得せず(即ち、今回の測定値を除去する)、中央値をサンプリング範囲の制御値として取得する(ステップS28)、ノイズを含む測定値を除去することができる。
本実施の形態では、リングバッファへのデータ格納方法やこれを利用したメディアンフィルタ処理を用いてノイズの検出と除去を行う方法を、冷却水温センサ7で測定された温度データ(測定値)を用いて説明したが、これらの方法は、A/Fセンサ4、エアフロメータ5、車速センサ6、吸気温センサ9、排気温センサ10、スロットルポジションセンサ15及びバキュームセンサ16等で測定されたデータに対しても適用できる。
さらに、これらの方法は、車輌制御装置の技術分野に限定されるものではなく、コンピュータ、テレビ/ビデオ、携帯電話、冷蔵庫、洗濯機などのいわゆる家電全般の技術にも適用できる。この場合、データは大小関係を持つデータ(例えば数値、記号、又はこれらの組合わせ等)であればどのようなものでもよい。
尚、車輌制御装置の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、車輌制御装置に供給し、車輌制御装置のコンピュータ(即ち、ECU3)が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。
また、車輌制御装置のコンピュータ(即ち、ECU3)が、車輌制御装置の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
なお、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
1 エンジン
2 インジェクタ
3 ECU
4 A/Fセンサ
5 エアフロメータ
6 車速センサ
7 冷却水温センサ
8 イグニッション(IG)スイッチ
9 吸気温センサ
10 排気温センサ
11 CPU
12 RAM
13 EEPROM(不揮発性ROM)
14 ROM
15 スロットルポジションセンサ
16 バキュームセンサ
20 車輌制御装置
2 インジェクタ
3 ECU
4 A/Fセンサ
5 エアフロメータ
6 車速センサ
7 冷却水温センサ
8 イグニッション(IG)スイッチ
9 吸気温センサ
10 排気温センサ
11 CPU
12 RAM
13 EEPROM(不揮発性ROM)
14 ROM
15 スロットルポジションセンサ
16 バキュームセンサ
20 車輌制御装置
Claims (9)
- 入力手段により入力された複数のデータの配列と、各データに関連付けられた直近の大きいデータ情報と直近の小さいデータ情報からなる直近大小データ情報と、配列を昇順或は降順に並べた場合に中央に位置するデータに関連付けられた中央値情報とを記憶する記憶手段と、
入力手段により新たに入力された入力データがある場合に、入力データと中央値情報が関連づけられているデータから順に大小比較し、入力データが比較対象データより大きい場合は、比較対象データに関連づけられている直近大小データ情報に含まれる直近の大きいデータと大小比較を行い、入力データが比較対象データより小さい場合は、比較対象データに関連付けられている直近大小データ情報に含まれる直近の小さいデータと大小比較を行い、入力データと複数のデータの配列を昇順或は降順に並べた場合の入力データの直近大小データを特定し、これらからなる直近大小データ情報を入力データに関連づけて前記記憶手段に記憶する制御手段を備えていることを特徴とする制御装置。 - 入力手段により入力された入力データを、記憶手段に記憶された複数のデータの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行い、入力データが比較対象データより大きい場合は、比較対象データの直近の大きいデータと大小比較を行い、入力データが比較対象データより小さい場合は、比較対象データの直近の小さいデータと大小比較を行い、入力データと複数のデータの配列を昇順或は降順に並べた場合に入力データが配列におけるどの位置になるのかを特定する制御手段を備えていることを特徴とする制御装置。
- 前記制御手段は、前記配列のうち最も新しく入力された最新データと前記入力データとの大小比較を行い、前記入データの直近大小データを特定するまでの平均大小比較回数が前記配列における総データ数の1/2未満の場合に、前記入力手段により新たなデータが入力されてから、大小比較する対象を前記最新データとすることを特徴とする請求項1又は2に記載の制御装置。
- 前記制御手段は、前記最新データと前記入力データとの大小比較を行い、前記入力データの前記直近大小データを特定するまでの平均大小比較回数が前記配列における総データ数の1/2以上の場合に、前記入力手段により新たなデータが入力されてから、大小比較する対象を前記中央データとすることを特徴とする請求項1から請求項3のいずれかに記載の制御装置。
- 前記制御手段は、前記配列におけるデータ又は前記入力データを含んだ前記配列におけるデータの分散が所定データ以下の場合に、請求項1から請求項4のいずれかにおける制御を行うことを特徴とする請求項1から請求項4のいずれかに記載の制御装置。
- 水温センサ、車速センサ、空燃比センサ、吸気温センサ、排気温センサ、スロットルポジションセンサ又はバキュームセンサのうち少なくとも1つからのデータを入力する入力手段により入力された入力データを、記憶手段に記憶された複数のデータの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行い、入力データが比較対象データより大きい場合は、比較対象データの直近の大きいデータと大小比較を行い、入力データが比較対象データより小さい場合は、比較対象データの直近の小さいデータと大小比較を行い、入力データと複数のデータの配列を昇順或は降順に並べた場合に入力データが配列におけるどの位置になるのかを特定し、入力データと中央データとの差分が所定データ以上の場合、中央データを車輌制御における制御データとする制御手段を備えたことを特徴とする車輌制御装置。
- 水温センサ、車速センサ、空燃比センサ、吸気温センサ、排気温センサ、スロットルポジションセンサ又はバキュームセンサのうち少なくとも1つからのデータを入力する入力手段により入力された入力データを、記憶手段に記憶された複数のデータの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行い、入力データが比較対象データより大きい場合は、比較対象データの直近の大きいデータと大小比較を行い、入力データが比較対象データより小さい場合は、比較対象データの直近の小さいデータと大小比較を行い、入力データと複数のデータの配列を昇順或は降順に並べた場合に入力データが配列におけるどの位置になるのかを特定し、入力データと中央データとの差分が所定データ以下の場合、入力データを車輌制御における制御データとする制御手段を備えたことを特徴とする車輌制御装置。
- 入力手段により入力された入力データを、記憶手段に記憶された複数のデータの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行う工程と、
入力データが比較対象データより大きい場合は、比較対象データの直近の大きいデータと大小比較を行い、入力データが比較対象データより小さい場合は、比較対象データの直近の小さいデータと大小比較を行う工程と、
入力データと複数のデータの配列を昇順或は降順に並べた場合に入力データが配列におけるどの位置になるのかを特定する工程を含むことを特徴とする制御方法。 - コンピュータを
入力手段により入力された入力データを、記憶手段に記憶された複数のデータの配列であって、昇順或は降順に並べた場合の中央データから順に大小比較を行い、
入力データが比較対象データより大きい場合は、比較対象データの直近の大きいデータと大小比較を行い、入力データが比較対象データより小さい場合は、比較対象データの直近の小さいデータと大小比較を行い、
入力データと複数のデータの配列を昇順或は降順に並べた場合に入力データが配列におけるどの位置になるのかを特定する制御手段
として機能させることを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007219075A JP2009053873A (ja) | 2007-08-24 | 2007-08-24 | 制御装置、車輌制御装置、処理方法、及び制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007219075A JP2009053873A (ja) | 2007-08-24 | 2007-08-24 | 制御装置、車輌制御装置、処理方法、及び制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009053873A true JP2009053873A (ja) | 2009-03-12 |
Family
ID=40504913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007219075A Pending JP2009053873A (ja) | 2007-08-24 | 2007-08-24 | 制御装置、車輌制御装置、処理方法、及び制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009053873A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018112504A (ja) * | 2017-01-13 | 2018-07-19 | アズビル株式会社 | 時系列データ処理装置および処理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62227209A (ja) * | 1986-03-28 | 1987-10-06 | Toshiba Corp | デ−タ並べ換え装置 |
JPH0512437A (ja) * | 1991-07-03 | 1993-01-22 | Hitachi Medical Corp | 画像フイルタ方法 |
JPH07160726A (ja) * | 1993-12-03 | 1995-06-23 | Fujitsu Ltd | 中央値算出装置 |
JPH09217646A (ja) * | 1996-02-14 | 1997-08-19 | Unisia Jecs Corp | クランク角センサ信号周期計測装置 |
JP2005038338A (ja) * | 2003-07-18 | 2005-02-10 | Ntt Comware Corp | ソート回路、ソート方法、ソートプログラムおよび記録媒体 |
JP2005180256A (ja) * | 2003-12-17 | 2005-07-07 | Toyota Motor Corp | 筒内圧測定装置および筒内圧測定方法 |
JP2007179183A (ja) * | 2005-12-27 | 2007-07-12 | Fujifilm Corp | メディアンフィルタおよびメディアンフィルタプログラム |
-
2007
- 2007-08-24 JP JP2007219075A patent/JP2009053873A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62227209A (ja) * | 1986-03-28 | 1987-10-06 | Toshiba Corp | デ−タ並べ換え装置 |
JPH0512437A (ja) * | 1991-07-03 | 1993-01-22 | Hitachi Medical Corp | 画像フイルタ方法 |
JPH07160726A (ja) * | 1993-12-03 | 1995-06-23 | Fujitsu Ltd | 中央値算出装置 |
JPH09217646A (ja) * | 1996-02-14 | 1997-08-19 | Unisia Jecs Corp | クランク角センサ信号周期計測装置 |
JP2005038338A (ja) * | 2003-07-18 | 2005-02-10 | Ntt Comware Corp | ソート回路、ソート方法、ソートプログラムおよび記録媒体 |
JP2005180256A (ja) * | 2003-12-17 | 2005-07-07 | Toyota Motor Corp | 筒内圧測定装置および筒内圧測定方法 |
JP2007179183A (ja) * | 2005-12-27 | 2007-07-12 | Fujifilm Corp | メディアンフィルタおよびメディアンフィルタプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018112504A (ja) * | 2017-01-13 | 2018-07-19 | アズビル株式会社 | 時系列データ処理装置および処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6156307B2 (ja) | 内燃機関の燃料噴射制御装置 | |
US20070047616A1 (en) | Failure determination system and method for temperature sensors, as well as engine control unit | |
KR20150059541A (ko) | 차량의 엔진 회전수를 이용한 실화 검출 장치 및 그 방법 | |
FR3009021A1 (fr) | Procede d'estimation sur une courbe d'un point pertinent pour la detection d'anomalie d'un moteur et systeme de traitement de donnees pour sa mise en oeuvre | |
JP2009053873A (ja) | 制御装置、車輌制御装置、処理方法、及び制御プログラム | |
JPH07166951A (ja) | 内燃機関の失火検出装置 | |
JPH08105781A (ja) | 測定エラー補正方法 | |
JP2008232034A (ja) | クランク軸回転同期の処理装置およびエンジン制御装置 | |
JP2009511805A (ja) | 空燃比ターゲット及びイオン電流センサに基づく決定および内燃エンジン内への燃料の注入のための方法及び装置 | |
JP5659995B2 (ja) | 電子制御装置 | |
KR101752341B1 (ko) | 내연기관 엔진에서 배기계 온도 제어 장치 및 그 방법 | |
JP2020056331A (ja) | 制御装置、制御方法及び識別境界設定装置ならびに識別境界設定方法 | |
JP4623456B2 (ja) | 速度変化に基づくエンジン空気量予測方法 | |
JP2019173661A (ja) | 制御装置 | |
JP4186655B2 (ja) | ノックセンサの異常検出装置および異常検出方法 | |
JP2015001200A (ja) | 車両用電子制御装置および車両用電子制御方法 | |
KR102199901B1 (ko) | 엔진의 흡기계의 압력 센서 감지 방법 | |
JP2001323836A (ja) | クランク同期タスクの異常検出方法 | |
JP6636156B2 (ja) | 燃料噴射装置の制御装置 | |
JP2001227402A (ja) | 車載電子制御装置 | |
US9305409B2 (en) | Electronic control unit | |
CN114233492B (zh) | 发动机运行模式的控制方法、装置、存储介质和车辆 | |
JP5637076B2 (ja) | 車載装置 | |
KR101628515B1 (ko) | 연료탱크 압력센서 고장 진단방법 | |
JP2006125240A (ja) | エンジン制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100520 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101005 |