(57)【要約】【課題】記憶装置に記憶するデータ量を低減し、記憶装置の記憶容量を効率的に使用できるようにする。【解決手段】データ間引き手段１は、車両の状態を示すデータを、データの種類によって間引きする間隔を変え、間引く。例えば、水温は、車速、エンジン回転数に比べ、変化が小さいので、車速、エンジン回転数の間引きに対し、間引きする間隔を広くするようにして間引く。データ記憶手段２は、データ間引き手段１によって間引きされたデータを記憶装置３に記憶する。【選択図】図１
2007133455.tif 000002
【特許請求の範囲】
【請求項１】
車両の状態を検出する複数の検出手段からの各データを記憶する車両状態記憶装置において、
前記車両の状態を示すデータを、当該データの種類によって間引きする間隔を変えて間引くデータ間引き手段と、
前記データ間引き手段によって間引きされた前記データを記憶装置に記憶するデータ記憶手段と、
を有することを特徴とする車両状態記憶装置。
【請求項２】
前記データ間引き手段は、前記データの周波数変換を行い、前記データの種類によって前記データをフィルタリングするフィルタリング周波数を変え、前記データを間引くことを特徴とする請求項１記載の車両状態記憶装置。
【請求項３】
前記記憶装置に記憶された前記データが外部装置から読み出される際、逆周波数変換する逆周波数変換手段を有することを特徴とする請求項２記載の車両状態記憶装置。
【請求項４】
前記データ間引き手段は、前記データを取得する取得周期に応じて、前記周波数変換を行う時間を変更することを特徴とする請求項２記載の車両状態記憶装置。
【請求項５】
前記フィルタリング周波数は、予め各前記データの変動に応じて設定されることを特徴とする請求項２記載の車両状態記憶装置。
【請求項６】
フィルタリングされた前記データの逆周波数変換を行う逆周波数変換手段と、
前記逆周波数変換を行った前記データと前記周波数変換を行う前の前記データとを比較するデータ比較手段と、
をさらに有し、
前記データ間引き手段は、前記データ比較手段の比較結果に応じて前記フィルタリング周波数を可変することを特徴とする請求項２記載の車両状態記憶装置。
【請求項７】
前記データ間引き手段は、前記データの変動状況、前記車両の状態、前記車両の外部状況、または外部装置から無線で受信する情報に応じて前記フィルタリング周波数を可変することを特徴とする請求項２記載の車両状態記憶装置。
【請求項８】
前記データ記憶手段は、前回フィルタリングされた前記データと今回フィルタリングされた前記データとを前記記憶装置に記憶することを特徴とする請求項２記載の車両状態記憶装置。
【請求項９】
前記データ間引き手段は、前記周波数変換の処理をオーバラップさせながら複数行うことを特徴とする請求項２記載の車両状態記憶装置。
【請求項１０】
前記データ記憶手段は、前記車両の状態、前記車両の外部状況、または外部装置から無線で受信する情報に応じて、前記データの記憶を開始することを特徴とする請求項２記載の車両状態記憶装置。
【請求項１１】
前記データ間引き手段は、前記データの種類によって、前記データの傾きを算出する前記データの区間を変えて前記傾きを算出し、同じ前記傾きが続く傾き同一時間とその傾きとを出力し、
前記データ記憶手段は、前記傾き同一時間と前記傾きとを前記記憶装置に記憶することを特徴とする請求項１記載の車両状態記憶装置。
【請求項１２】
前記データ間引き手段は、前記傾きを算出する前記データの区間を前記データの変動状況に応じて可変することを特徴とする請求項１１記載の車両状態記憶装置。
【請求項１３】
前記記憶装置に記憶されている前記傾き同一時間と前記傾きとから現在の前記データに対応する再現データを再現し、前記再現データと現在の前記データとを比較するデータ比較手段と、をさらに有し、
前記データ間引き手段は、前記データ比較手段の比較結果に応じて、今回算出した前記傾きを修正することを特徴とする請求項１１記載の車両状態記憶装置。
【請求項１４】
前記データ記憶手段は、さらに前記データを記憶するとともに、前記記憶装置に記憶されている前記傾き同一時間と前記傾きと前記データとから現在の前記データに対応する再現データを再現し、前記再現データと現在の前記データとを比較するデータ比較手段と、をさらに有し、
前記データ間引き手段は、前記データ比較手段の比較結果に応じて、今回算出した前記傾きを修正することを特徴とする請求項１１記載の車両状態記憶装置。
【請求項１５】
前記データ間引き手段は、前記データがクランク角に同期して出力されるデータである場合、前記クランク角に同期して前記傾き同一時間と前記傾きとを出力することを特徴とする請求項１１記載の車両状態記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は車両状態記憶装置に関し、特に車両の状態を一定時間分常に保存し、事故発生時前や故障発生時前に車両がどのような状態だったかを調べるための車両状態記憶装置に関する。
【背景技術】
【０００２】
車両には、例えば、事故発生時や故障発生時に、車両がどのような状態だったかを調べられるよう、車両状態記憶装置、いわゆるドライブレコーダが搭載される（例えば、特許文献１参照）。ドライブレコーダは、例えば、車速、エンジン回転数、水温等のデータがある一定時間分常に保存されるようになっており、事故発生時前や故障発生時前のデータが取得できるようになっている。
【０００３】
ドライブレコーダは、例えば、ＥＦＩＥＣＵ（Electronic Fuel Injection Electronic Control Unit）によって実現される。ＥＦＩＥＣＵは、エンジン燃料噴射量を算出するために、車速センサ、エンジン回転数センサ、水温センサ等の複数種の車両状態検出手段から信号を受信して、車速、エンジン回転数、水温等のデータを一定周期で算出し、ＮＲＡＭ（Normal Random Access Memory）に一時保存する。これらのデータは、もともと車両制御の演算に用いられる。ＥＦＩＥＣＵは、一定周期でＮＲＡＭに保存するこれらのデータを、例えば、ＨＤＤ（Hard Disk Drive）等の記憶装置に記憶したりすることで、ドライブレコーダを実現する。
【０００４】
ところで、記憶装置に記憶するデータは、種類によって変化しやすいものとそうでないものがある。例えば、車速やエンジン回転数は、エンジンの水温より変化しやすい。従って、変化しにくいデータは、変化しやすいデータと同じ周期で記憶装置に記憶する必要がない。
【特許文献１】特開２００５−１７８４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来のドライブレコーダでは、保存対象の全てのデータを同じ周期で保存しているため、記憶装置の記憶容量を効率的に使用しているとは言えなかった。
本発明はこのような点に鑑みてなされたものであり、データの種類によって間引き間隔を変えてデータを間引き、記憶容量を効率的に使用することができるようにする車両状態記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明では上記問題を解決するために、車両の状態を検出する複数の検出手段からの各データを記憶する車両状態記憶装置において、前記車両の状態を示すデータを、当該データの種類によって間引きする間隔を変えて間引くデータ間引き手段と、前記データ間引き手段によって間引きされた前記データを記憶装置に記憶するデータ記憶手段と、を有することを特徴とする車両状態記憶装置が提供される。
【０００７】
このような車両状態記憶装置によれば、車両の状態を示すデータの種類によって間引き間隔を変え、データを間引く。そして、間引きしたデータを記憶装置に記憶する。これにより、記憶装置に記憶するデータ量を低減する。
【発明の効果】
【０００８】
本発明の車両状態記憶装置では、車両の状態を示すデータの種類によって間引き間隔を変え、データを間引く。そして、間引きしたデータを記憶装置に記憶するようにした。これによって、記憶装置に記憶するデータ量を低減でき、記憶装置の記憶容量を効率的に使用することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、車両状態記憶装置の概要を説明する図である。図の（Ａ）には、車両状態記憶装置の構成が示してある。車両状態記憶装置は、図の（Ａ）に示すようにデータ間引き手段１、データ記憶手段２、および記憶装置３を有している。
【００１０】
図の（Ｂ）には、車両の状態を示す車速、エンジン回転数、水温の複数のデータが示してある。図の（Ｂ）の上側に示す車速、エンジン回転数、水温のデータは、データ間引き手段１によって間引かれる前のデータを示している。図の（Ｂ）の下側に示す車速、エンジン回転数、水温のデータは、データ間引き手段１によって間引かれた後のデータを示している。
【００１１】
データ間引き手段１は、データの種類によって、間引きする間隔を変える。例えば、水温は、車速、エンジン回転数に比べ、変化が小さく、車速、エンジン回転数と同じ周期で、記憶装置３に記憶する必要がない。そこで、水温のデータは、図の（Ｂ）に示すように、車速、エンジン回転数に比べ、間引きするデータの間隔を広くするようにする（図の（Ｂ）において、車速のデータを間引く間隔は１であるが、水温のデータを間引く間隔は２と、データを間引く間隔を広くする）。
【００１２】
データ記憶手段２は、データ間引き手段１によって間引きされたデータを、記憶装置３に記憶する。
このように、車両状態記憶装置は、車両状態を示す複数の種類のデータを、データの種類によって間引きする間隔を変えて間引く。そして、間引きしたデータを記憶装置３に記憶するようにした。これによって、記憶装置３に記憶するデータ量を低減でき、記憶装置３の記憶容量を効率的に使用することができる。
【００１３】
次に、本発明の車両状態記憶装置をＥＦＩＥＣＵに適用した場合の第１の実施の形態を、図面を参照して詳細に説明する。
図２は、第１の実施の形態に係るＥＦＩＥＣＵを登載した車両の全体図である。図に示すように車両１０には、ＥＦＩＥＣＵ２０、車速センサ３１、エンジン回転数センサ３２、水温センサ３３、スロットルセンサ３４、アクセルペダルセンサ３５、ストップランプスイッチ３６、およびカーナビゲーションシステム４０が搭載されている。
【００１４】
ＥＦＩＥＣＵ２０は、各センサと接続されている。ＥＦＩＥＣＵ２０は、エンジン燃料噴射量を算出するため、各センサの信号に基づいて、車速やエンジン回転数、水温等のデータを算出する。また、ＥＦＩＥＣＵ２０は、車両状態記憶装置（ドライブレコーダ）としても機能し、エンジン燃料噴射量のために算出した各センサに対するデータを、一定時間分常にカーナビゲーションシステム４０の有するＨＤＤに記憶する。
【００１５】
次に、図２のＥＦＩＥＣＵ２０のハードウェア構成について説明する。
図３は、ＥＦＩＥＣＵのハードウェア構成例を示した図である。図３には図２のＥＦＩＥＣＵ２０、車速センサ３１、エンジン回転数センサ３２、水温センサ３３、およびカーナビゲーションシステム４０が示してある。なお、図２のスロットルセンサ３４、アクセルペダルセンサ３５、およびストップランプスイッチ３６は図示を省略している。
【００１６】
ＥＦＩＥＣＵ２０は、マイクロコンピュータ２０ａ、Ａ／Ｄ（Analog/Digital）変換器２０ｂ、およびＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）２０ｃを有している。マイクロコンピュータ２０ａは、ＣＰＵ（Central Processing Unit）２０ａａ、ＲＯＭ（Read Only Memory）２０ａｂ、Ｉ／Ｆ（Inter Face）２０ａｃ、ＳＲＡＭ（Standby Random Access Memory）２０ａｄ、ＮＲＡＭ２０ａｅ、およびバス２０ａｆを有している。カーナビゲーションシステム４０は、マイクロコンピュータ４０ａ、ＨＤＤ４０ｂを有している。また、噴射量が算出された結果、それに応じた信号がインジェクタ５０へ出力され、燃料が噴射される。
【００１７】
ＮＲＡＭ２０ａｅには、ＣＰＵ２０ａａに実行させるＯＳ（Operating System）のプログラムや、エンジン噴射量を算出するためのアプリケーションプログラム、各種センサから取得したデータをカーナビゲーションシステム４０のＨＤＤ４０ｂに記憶するアプリケーションプログラムが一時的に格納される。また、ＮＲＡＭ２０ａｅには、ＣＰＵ２０ａａによる処理に必要な各種データが一時的に保存される。ＯＳやアプリケーションプログラムは、ＲＯＭ２０ａｂおよびＥＥＰＲＯＭ２０ｃに格納される。
【００１８】
ＮＲＡＭ２０ａｅは、バックアップ電源が供給されないＲＡＭである。よって、車両１０のイグニッションキーをオフにすると、ＮＲＡＭ２０ａｅへの電源供給は停止され、ＮＲＡＭ２０ａｅに記憶されていたデータは、消去される。これに対し、ＳＲＡＭ２０ａｄは、車両１０のバッテリからバックアップ電源が供給される。よって、ＳＲＡＭ２０ａｄには、エンジン停止しても消去されてはいけないデータが記憶される。
【００１９】
Ｉ／Ｆ２０ａｃは、マイクロコンピュータ２０ａと外部とのデータのやり取りを制御する。例えば、Ｉ／Ｆ２０ａｃは、車速センサ３１やエンジン回転数センサ３２の信号を受信し、バス２０ａｆに出力する。また、Ａ／Ｄ変換器２０ｂによってアナログ−デジタル変換された水温センサのデータを、バス２０ａｆに出力する。
【００２０】
また、Ｉ／Ｆ２０ａｃは、ＥＥＰＲＯＭ２０ｃ、カーナビゲーションシステム４０からデータを受信し、バス２０ａｆに出力する。また、Ｉ／Ｆ２０ａｃは、ＣＰＵ２０ａａの命令に従って、所定のデータをＥＥＰＲＯＭ２０ｃ、カーナビゲーションシステム４０に出力する。なお、車両のデータ（各種センサによるデータ）は、カーナビゲーションシステム４０のＨＤＤ４０ｂに記憶されるとしたが、ＥＥＰＲＯＭ２０ｃに記憶するようにしてもよい。また、車両のデータを記憶する専用の記憶装置（例えば、ＨＤＤ）を、ＥＦＩＥＣＵ２０の内部または外部に設けるようにしてもよい。
【００２１】
カーナビゲーションシステム４０のマイクロコンピュータ４０ａは、マイクロコンピュータ２０ａと同様のハードウェア構成を有している。ＨＤＤ４０ｂには、カーナビゲーションを行うためのデータが格納され、また、ＥＦＩＥＣＵ２０により車両１０の状態を示すデータが格納されている。マイクロコンピュータ４０ａは、カーナビゲーションを行うとともに、ＥＦＩＥＣＵ２０から送信されてくるデータをＨＤＤ４０ｂに記憶する。
【００２２】
次に、図３のＥＦＩＥＣＵ２０で実現される機能について説明する。
図４は、ＥＦＩＥＣＵの機能ブロック図である。図に示すようにＥＦＩＥＣＵ２０は、マイクロコンピュータ２０ａのアプリケーションの実行によって、ＥＦＩ処理部２１、ＦＦＴ（Fast Fourier Transform）処理部２２、データ記憶部２３の機能を有する。ＣＰＵ２０ａａにこれらの処理機能が設けられている。なお、図には、図３で示したＮＲＡＭ２０ａｅが示してある。
【００２３】
ＥＦＩ処理部２１は、各種センサから信号を受信する。ＥＦＩ処理部２１は、受信した各種センサの信号を所定のデータに変換し、ＮＲＡＭ２０ａｅに一時記憶する。例えば、車速センサ３１、エンジン回転数センサ３２、水温センサ３３から受信した信号を、車速、エンジン回転数、水温を示すデータに変換し、ＮＲＡＭ２０ａｅに記憶する。ＥＦＩ処理部２１は、ＮＲＡＭ２０ａｅに一時記憶した各種データに基づいて、エンジン燃料噴射量を算出する。なお、ＥＦＩ処理部２１のＮＲＡＭ２０ａｅに各種データを記憶する周期は、例えば、８ｍｓである。
【００２４】
ＦＦＴ処理部２２は、ＮＲＡＭ２０ａｅに記憶されたデータの種類ごとにＦＦＴ処理を行って周波数成分を算出する。そして、算出したデータの周波数成分を、データの種類に応じて不要周波数帯をカットする。ＦＦＴ処理部２２は、不要周波数帯をカットした各種データの周波数成分をデータ記憶部２３に出力する。
【００２５】
カットする不要周波数帯は、データの種類ごとに異なっている。例えば、設計時において、各データの変動を予測し、変動の周期に合わせて、フィルタリングするカット周波数を設定する。例えば、水温の場合、１Ｈｚ以上の変動はカットされるようにカット周波数を設定する。車速の場合、１０Ｈｚ以上の変動はカットされるようにカット周波数を設定する。エンジン回転数の場合、１００Ｈｚ以上の変動はカットされるようにカット周波数を設定する。
【００２６】
なお、ＦＦＴ処理には、所定数のデータサンプルが必要である。従って、ＦＦＴ処理部２２は、ＥＦＩ処理部２１によって一時記憶されるデータを、必要なサンプル数分ＮＲＡＭ２０ａｅのある領域に保存してＦＦＴ処理を行う。ＦＦＴ処理部２２は、不要な周波数成分をカットするので、少なくともデータサンプル数より少なくなった周波数成分のデータをデータ記憶部２３に出力することになる。つまり、ＦＦＴ処理部２２は、ＥＦＩ処理部２１により算出されるデータ（８ｍｓで算出されるデータ）を、ＦＦＴ処理によって間引いてデータ記憶部２３に出力することになる。
【００２７】
データ記憶部２３は、ＦＦＴ処理部２２から出力されるデータの周波数成分を、車速、エンジン回転数、水温等のデータの種類ごとにカーナビゲーションシステム４０のＨＤＤ４０ｂに記憶する。データ記憶部２３は、ＦＦＴ処理部２２から、データの周波数成分が出力されるたびに、そのデータの記憶される領域を上書きしてＨＤＤ４０ｂに記憶する。
【００２８】
なお、上記では、マイクロコンピュータ２０ａのＣＰＵ２０ａａがアプリケーションプログラムに従ってＦＦＴ処理を実行することになる。しかし、ＦＦＴ処理を行う専用のＩＣ（Integrated Circuit）をマイクロコンピュータ２０ａの外部に接続し、この専用のＩＣでＦＦＴ処理を行うようにしてもよい。この場合、ＣＰＵ２０ａａは、ＦＦＴ処理に必要なデータを専用のＩＣに引渡し、専用のＩＣからＦＦＴ処理の結果を受けることとなる。
【００２９】
次に、図を用いてＦＦＴ処理を説明する。
図５は、ＦＦＴ処理を説明する図である。図にはＥＦＩ処理部２１によってＮＲＡＭ２０ａｅに記憶される、あるセンサのデータ（図中の×）が示してある。また、カーナビゲーションシステム４０のＨＤＤ４０ｂが示してある。
【００３０】
ＥＦＩ処理部２１によってＮＲＡＭ２０ａｅに記憶される、あるセンサのデータは、例えば、図に示すように８ｍｓ間隔で記憶される。ＦＦＴ処理部２２は、ＥＦＩ処理部２１により８ｍｓ間隔で記憶されるデータを、１０ｓ間分ＮＲＡＭ２０ａｅのある領域に記憶する。そして、１０ｓ間分におけるデータのＦＦＴ処理を行い、不要な周波数成分をカットする。例えば、図のデータが水温のデータの場合、１Ｈｚ以上の周波数成分をカットする。データ記憶部２３は、ＦＦＴ処理部２２によって算出された周波数成分のデータを、ＨＤＤ４０ｂに記憶する。これによって、ＨＤＤ４０ｂには、１０ｓ間分の周波数成分のデータ（ただし、１Ｈｚ以上の周波数の情報は削除されている）がＨＤＤ４０ｂに記憶されることになる。なお、ＨＤＤ４０ｂに記憶された１０ｓ間分のデータを逆ＦＦＴすれば、１０ｓ間分のデータを再現することが可能となる。
【００３１】
次に、ＥＦＩＥＣＵの動作を、フローチャートを用いて説明する。
図６は、ＥＦＩＥＣＵのＣＰＵの動作を示したフローチャートである。ＥＦＩＥＣＵ２０は、所定周期ごとに図のステップに従った処理を行う。
【００３２】
ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、各センサからデータを受信し、所定のデータに変換してＮＲＡＭ２０ａｅに記憶する（ステップＳ１）。ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、ＮＲＡＭ２０ａｅに記憶したデータに基づいて噴射量を演算し、噴射制御を行う（ステップＳ２）。ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、ＦＦＴ処理を行うため、ＮＲＡＭ２０ａｅに記憶したデータをＮＲＡＭ２０ａｅのある領域に記憶する（ステップＳ３）。
【００３３】
ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、ＮＲＡＭ２０ａｅのある領域に記憶したデータ量がＦＦＴ処理に必要なサンプル数に達したか判断する（ステップＳ４）。データ量がＦＦＴ処理に必要なサンプル数に達した場合、ステップＳ５へ進む。データ量がＦＦＴ処理に必要なサンプル数に達しない場合、処理を終了する。
【００３４】
ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、ＦＦＴ処理を実施する（ステップＳ５）。ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、データの種類に応じて、高域の周波数成分を遮断するカット周波数を選択する（ステップＳ６）。例えば、水温、油温、吸気温等の変動の小さいデータの場合は、１Ｈｚをカット周波数として選択する。車速、シフト位置、ストップランプスイッチ、Ａ／Ｆ（Air/Fuel）等のデータの場合は、１０Ｈｚをカット周波数として選択する。エンジン回転数、点火時期、燃料噴射量等のデータの場合は、１００Ｈｚをカット周波数として選択する。なお、油温、吸気温、シフト位置、Ａ／Ｆに対するセンサは、図２には示していないが、これらの信号を検出するセンサは車両１０に取り付けられているとする。
【００３５】
ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、選択したカット周波数によって、不要な周波数成分をカットする（ステップＳ７）。ＥＦＩＥＣＵ２０のＣＰＵ２０ａａは、不要な周波数成分をカットしたデータの周波数成分をカーナビゲーションシステム４０のＨＤＤ４０ｂに記憶する（ステップＳ８）。
【００３６】
このように、ＥＦＩＥＣＵ２０は、受信したデータの種類に応じてＦＦＴ処理のカット周波数を変え、ＨＤＤ４０ｂに記憶するようにした。これによって、ＨＤＤ４０ｂに記憶するデータ量を低減でき、ＨＤＤ４０ｂの記憶容量を効率的に使用することができる。
【００３７】
また、データの種類ごとに変動を予測し、カット周波数を決めてＦＦＴ処理をするので、データを再現する際、データの適正性を維持したまま再現することができ、適正なデータ解析を行うことができる。
【００３８】
なお、ＦＦＴ処理によって変換した周波数成分をそのままＨＤＤ４０ｂに記憶するとしたが、逆ＦＦＴを行ってから、ＨＤＤ４０ｂに記憶するようにしてもよい。また、ＨＤＤ４０ｂに記憶されたデータが外部装置から読み出される際、逆ＦＦＴ処理を行って、読み出すようにしてもよい。
【００３９】
また、各種データは、同じ周期（８ｍｓ）でＮＲＡＭ２０ａｅに記憶されるとしたが、データの種類ごとにＮＲＡＭ２０ａｅに記憶される周期が異なる場合がある。この場合、ＮＲＡＭ２０ａｅに記憶される周期の短いデータに対しては、ＦＦＴ処理のサンプリング時間を短くし、ＮＲＡＭ２０ａｅに記憶される周期の長いデータに対しては、ＦＦＴ処理のサンプリング時間を長くするようにする。つまり、ＮＲＡＭ２０ａｅに記憶されるデータの周期に応じて、ＦＦＴ処理のサンプリングに必要なデータが揃う時間が異なるので、その時間に合わせて、ＦＦＴ処理を行う時間を決めるようにする。このように、ＦＦＴ処理を実行するのに適正なサンプリング数を取得するようにして、ＦＦＴ処理を行うことにより、ＦＦＴ処理後のデータの精度を保つことができる。
【００４０】
また、同じ種類のデータでも変動状況が変わるものがある。この場合、その都度、カット周波数を変化させるようにする。例えば、水温は、始動直後から暖機まで上昇するが、一旦温まると、その後ほぼ一定となる。この場合、水温をモニタして、所定温度となるまでは、カット周波数を大きくし、所定温度を超えると、カット周波数を小さくするようにする。また、点火時期は、加速・減速中は、進角・遅角が行われるが、定速走行中は、変動が少ない。従って、定速走行中のカット周波数は、加速・減速中のカット周波数より小さくするようにする。これにより、データが大きく変動する場合には、精度の高いデータを保存することができる。なお、変動状況に応じたカット周波数は、例えば、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃに、各変動状況に対応して記憶されている。ＥＦＩＥＣＵ２０は、各変動状況に対応したカット周波数を、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃから取得し、ＦＦＴ処理を実行する。
【００４１】
また、特定の交差点等の事故が発生しやすい場所や、通勤時間、退社時間等の時間帯に基づいて、事故が発生しやすいと判断した場合には、カット周波数を大きくするようにする。これにより、事故が発生しやすい状況では、精度の高いデータを保存することができる。なお、事故が発生しやすい場所、通勤時間、退社時間等は、カーナビゲーションシステム４０から取得する。各状況に応じたカット周波数は、例えば、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃに記憶されており、ＥＦＩＥＣＵ２０は、各状況に対応したカット周波数を、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃから取得し、ＦＦＴ処理を実行する。
【００４２】
また、車速が大きいときは、事故時の速度変動が大きいため、カット周波数を大きくするようにする。例えば、所定の速度を超えた場合、カット周波数を大きくするようにする。これにより、事故等が発生した場合、精度の高いデータを得ることが可能となる。なお、速度に応じたカット周波数は、例えば、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃに記憶されている。ＥＦＩＥＣＵ２０は、各速度に対応したカット周波数を、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃから取得し、ＦＦＴ処理を実行する。
【００４３】
また、プリクラッシュシステムがレーザ等で事故を予知した場合には、ＥＦＩＥＣＵ２０は、カット周波数を大きくするようにする。これにより、事故が発生した場合、直前の精度の高いデータを得ることが可能となる。なお、事故が予知された場合のカット周波数は、例えば、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃに記憶されている。ＥＦＩＥＣＵ２０は、プリクラッシュシステムから事故予知を受信した場合、これに対応するカット周波数を、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃから取得し、ＦＦＴ処理を実行する。
【００４４】
また、ＥＦＩＥＣＵ２０は、センタとの無線通信によって、異常を起こしやすい部品の情報を取得した場合、その部品に対応したデータのカット周波数を変更するようにする。例えば、ＥＦＩＥＣＵ２０は、車両１０の車種の水温センサ３３は故障しやすいという情報を無線によってセンタから受信したとする。この場合、ＥＦＩＥＣＵ２０は、ＨＤＤ４０ｂの容量を消費してでも、情報を細かく残すようにする。すなわち、センタから無線によって所定の情報を受信した場合には、カット周波数を大きくして、精度の高いデータを残すようにする。なお、センタから無線通知された場合のカット周波数は、例えば、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃに記憶されている。ＥＦＩＥＣＵ２０は、センタから無線通知が行われた場合、それに対応するカット周波数を、ＲＯＭ２０ａｂやＥＥＰＲＯＭ２０ｃから取得し、ＦＦＴ処理を実行する。
【００４５】
また、データの算出（ＥＦＩ処理部２１によるＮＲＡＭ２０ａｅへのデータの記憶）自体は、小さな周期（例えば、８ｍｓ）で行っている場合でも、低い周波数のデータしか必要ない場合がある。例えば、水温のデータは、変動が小さく１Ｈｚ以上の周波数成分は不要である。この場合、ＦＦＴ処理部２２は、８ｍｓでデータのサンプリングを行う必要がない。従って、カット周波数が小さいデータに対しては、サンプリング周期を長くするようにして、ＣＰＵ２０ａａの処理を低減するようにする。
【００４６】
また、ＨＤＤ４０ｂに記憶したいデータの時間は、データの種類によって異なる。例えば、衝突を検知した場合、水温や気温等のデータは、直前の１点のみあればよい。これに対し、スロットル開度、アクセルペダル開度、車速のデータは、衝突の直前の３秒間を取得するようにする。すなわち、水温や気温等のデータに対しては、ＦＦＴ処理をすることなく、ＥＦＩ処理部２１によってＮＲＡＭ２０ａｅに記憶されるデータをそのままＨＤＤ４０ｂに記憶する。スロットル開度、アクセルペダル開度、車速のデータは、衝突直前の３秒前のデータを再現できるよう、ＥＦＩ処理部２１によりＮＲＡＭ２０ａｅに記憶されるデータを、３ｓ間分ＮＲＡＭ２０ａｅのある領域に記憶して、ＦＦＴ処理を行うようにする。なお、３ｓ間分のデータを記憶するのであれば、ＦＦＴ処理をせずにそのままデータをＨＤＤ４０ｂに記憶するようにしてもよい。これにより、ＨＤＤ４０ｂに記憶するデータをさらに低減することができる。
【００４７】
また、保存対象のデータをＨＤＤ４０ｂに記憶すると容量を消費するため、必要なセンサに対するデータのみを、車両１０の状況、車両１０の外部の状況、外部装置からの情報等に応じて記憶するようにする。例えば、ＥＦＩＥＣＵ２０は、スロットルセンサ３４の異常ダイアグを検出した場合、スロットルセンサ３４のデータ、アクセルペダルセンサ３５のデータ、車速センサ３１のデータのみをＦＦＴ処理し、ＨＤＤ４０ｂに記憶する。また、プリクラッシュシステムがレーザ等で事故を予知した場合は、ＥＦＩＥＣＵ２０は、車速センサ３１のデータ、スロットルセンサ３４のデータ、アクセルペダルセンサ３５のデータ、ストップランプスイッチ３６のデータ、ハンドル切れ角のセンサ（このセンサは図２には示していない）のデータのみをＦＦＴ処理し、ＨＤＤ４０ｂに記憶する。これにより、ＨＤＤ４０ｂの容量を有効に活用することができる。
【００４８】
また、ある車種の特定のロットで不具合が頻発した場合、自動車メーカは、それに関する情報を取得したい場合がある。この場合、自動車メーカは、センタからＥＦＩＥＣＵ２０に、保存対象となるセンサのデータの指示を送信する。ＥＦＩＥＣＵ２０は、センタからの指示を受けたセンサのデータのみをＦＦＴ処理して、ＨＤＤ４０ｂに記憶するようにする。これにより、ＨＤＤ４０ｂの容量を有効に活用することができる。
【００４９】
次に、本発明の第２の実施の形態を、図面を参照して詳細に説明する。第２の実施の形態では、ＦＦＴ処理したデータを逆ＦＦＴ処理してデータを再現し、再現したデータと、ＦＦＴ処理を実行しない生のデータとを比較する。そして、再現したデータと、生のデータとの差が所定値より大きければ、ＦＦＴ処理したデータは、適正に生データを再現することができないため、カット周波数を変更するようにする。
【００５０】
図７は、第２の実施の形態におけるカット周波数の変更を説明する図である。図の（Ａ）の波形Ｗ１は、ＦＦＴ処理を実行していない生のデータを示す。波形Ｗ２は、波形Ｗ１の生データをＦＦＴ処理し、カット周波数で不要周波数成分をカットして、逆ＦＦＴ処理した場合の波形を示す。
【００５１】
波形Ｗ２は、波形Ｗ１をカット周波数で不要周波数成分をカットしたことにより、波形Ｗ１に対して、高周波成分がカットされた波形となっている。これにより、図の（Ａ）斜線部分に示すように、ＦＦＴ処理を実行したデータと、生データとに所定の差が生じてしまう。この場合、カット周波数を大きくするように変更する。
【００５２】
図の（Ｂ）の波形Ｗ３は、波形Ｗ１と同じ生データの波形を示している。波形Ｗ４は、ＦＦＴ処理のカット周波数を大きく変更したときの波形を示している。カット周波数を大きく変更したことにより、波形Ｗ２は、波形Ｗ４に示すように高周波成分が多くなり、生データとの差が小さくなる。これにより、適正なデータを再現することができるようになる。
【００５３】
次に、フローチャートを用いて動作を説明する。なお、第２の実施の形態に係るハードウェア構成は、図３と同様である。また、機能ブロックは、図４と同様であるが、ＦＦＴ処理部２２の機能が一部異なる。つまり、ＦＦＴ処理部２２は、ＦＦＴ処理したデータを逆ＦＦＴ処理し、そのデータと生データとを比較して、所定値以上の差があれば、カット周波数を大きくするように変更する。
【００５４】
図８は、ＥＦＩＥＣＵの動作を示したフローチャートである。ＥＦＩＥＣＵ２０は、所定周期ごとに図の処理を行う。ＥＦＩＥＣＵ２０は、ＦＦＴ処理を実行する（ステップＳ１１）。ＥＦＩＥＣＵ２０は、初期値のカット周波数で、不要周波数帯をカットする（ステップＳ１２）。ＥＦＩＥＣＵ２０は、逆ＦＦＴ処理を実行する（ステップＳ１３）。
【００５５】
ＥＦＩＥＣＵ２０は、逆ＦＦＴ処理を行ったデータと生データとを比較する（ステップＳ１４）。逆ＦＦＴ処理を行ったデータと生データとの差が所定値より大きければ、ステップＳ１６へ進む。逆ＦＦＴ処理を行ったデータと生データとの差が所定値以下であれば、ステップＳ１５へ進む。
【００５６】
ＥＦＩＥＣＵ２０は、逆ＦＦＴ処理を行ったデータと生データとの差が所定値以下であれば、そのときのカット周波数に固定し（ステップＳ１５）処理を終了する。一方、逆ＦＦＴ処理を行ったデータと生データとの差が所定値より大きければ、例えば、現在のカット周波数より大きいカット周波数に変更し（ステップＳ１６）、ステップＳ１２の処理を実行する。これにより、新たなカット周波数で、ステップＳ１２以降の処理が実行される。これにより、適正なカット周波数が選択されることになる。
【００５７】
このように、ＦＦＴ処理したデータを逆ＦＦＴ処理してデータを再現し、生データと比較する。そして、再現したデータと生データとの差が所定値より大きければ、カット周波数を変更するようにした。これにより、実際のデータを歪めることなく、適正なデータをＨＤＤ４０ｂに記憶することができる。
【００５８】
次に、本発明の第３の実施の形態を、図面を参照して詳細に説明する。ＦＦＴ処理が行われるデータサンプルの前の方で異常または故障が発生した場合、異常または故障が発生した前の再現データ量が少なくなる。そのため、適正に異常または故障原因を解析することができなくなる。そこで、第３の実施の形態では、前回行われたＦＦＴ処理の結果をＨＤＤ４０ｂに残すようにし、再現データのデータ不足を回避するようにする。
【００５９】
図９は、第３の実施の形態におけるＦＦＴ処理を説明する図である。図の矢印Ａ１〜Ａ４は、ＦＦＴ処理の実行タイミングを示す。矢印Ａ５は、異常発生したタイミングを示す。Ｔ１〜Ｔ４は、各ＦＦＴ処理で用いられるデータのサンプリング期間を示している。例えば、矢印Ａ１のＦＦＴ処理は、Ｔ１のデータを用いてＦＦＴ処理を行うことを示している。
【００６０】
矢印Ａ５に示すタイミングで異常が発生したとする。この場合、矢印Ａ４で行われるＦＦＴ処理は、異常発生直前のデータが不足する。つまり、異常発生直前のデータは、矢印Ａ３と矢印Ａ５の間しか存在しない。そのため、矢印Ａ４のＦＦＴ処理の結果を逆ＦＦＴ処理しても、異常発生直前の十分なデータを得ることができない。そこで、前回のＦＦＴ処理の結果をＨＤＤ４０ｂに残すようにする。例えば、この例では、矢印Ａ３のＦＦＴ処理の結果をＨＤＤ４０ｂに残すようにする。これにより、Ｔ３，Ｔ４のデータを再現することが可能となり、異常発生前の十分なデータを得ることができる。
【００６１】
上記の機能は、図４で示したデータ記憶部２３が担う。第１の実施の形態では、データ記憶部２３は、ＦＦＴ処理の結果を上書きしてＨＤＤ４０ｂに記憶していたが、第３の実施の形態では、例えば、データの種類ごとにＦＦＴ処理の結果を記憶する領域を２つ設け、ＦＩＦＯ（First In First Out）で、前回のＦＦＴ処理の結果と今回のＦＦＴ処理の結果とをＨＤＤ４０ｂに記憶するようにする。
【００６２】
このように、前回のＦＦＴ処理の結果と今回のＦＦＴ処理の結果とをＨＤＤ４０ｂに記憶するようにすることにより、異常または故障前の十分なデータを得ることができるようになる。
【００６３】
次に、本発明の第４の実施の形態を、図面を参照して詳細に説明する。第３の実施の形態では、ＨＤＤ４０ｂにＦＦＴ処理結果を記憶する領域を２つ設け、前回のＦＦＴ処理結果と今回のＦＦＴ処理結果を記憶する。このため、ＨＤＤ４０ｂの記憶容量を多く使用してしまう。そこで、第４の実施の形態では、ＦＦＴ処理をオーバラップして行うようにし、ＦＦＴ処理結果を記憶する領域を１つだけにし、ＨＤＤ４０ｂの記憶容量を節約するようにする。
【００６４】
図１０は、第４の実施の形態におけるＦＦＴ処理を説明する図である。図の矢印Ａ１１〜Ａ１８は、ＦＦＴ処理の実行タイミングを示す。矢印Ａ１９は、異常発生したタイミングを示す。Ｔ１〜Ｔ８は、各ＦＦＴ処理で用いられるデータのサンプリング期間を示している。例えば、矢印Ａ１１のＦＦＴ処理は、Ｔ１のデータを用いてＦＦＴ処理を行うことを示している。
【００６５】
第４の実施の形態では、図のＴ１〜Ｔ８に示すようにＦＦＴ処理を行うデータをオーバラップさせ、ＦＦＴ処理を行う。そして、各ＦＦＴ処理の結果は、ＨＤＤ４０ｂに上書きするように記憶する。これにより、矢印Ａ１９において異常が発生しても、Ｔ８のデータの後半で異常が発生していることになる。従って、矢印Ａ１８のＦＦＴ処理によるデータを逆ＦＦＴすれば、異常発生前の十分なデータを再現することが可能となる。
【００６６】
上記の機能は、図４で示したＦＦＴ処理部２２が担う。第１の実施の形態では、ＦＦＴ処理部２２は、ＥＦＩ処理部２１によって一時記憶されるデータを、必要なサンプル数分ＮＲＡＭ２０ａｅのある領域に保存してＦＦＴ処理を行っていたが、第４の実施の形態では、ＥＦＩ処理部２１によって一時記憶されるデータを、図１０に示すようにオーバラップさせて記憶する。そして、ＦＦＴ処理部２２は、オーバラップさせて記憶した各サンプルデータにおいてＦＦＴ処理を実行するようにする。
【００６７】
これにより、異常または故障前の十分なデータを得ることができるとともに、ＨＤＤ４０ｂには、各ＦＦＴ処理の結果のみを記憶すればよく、ＨＤＤ４０ｂの記憶容量を節約することができる。
【００６８】
なお、特定のデータのみ、オーバラップさせてＦＦＴ処理を行うようにしてもよい。例えば、異常や故障に至る履歴を残したい点火時期、燃料噴射量、ＶＶＴ（Variable Valve Timing）制御、スロットル開度、アクセルペダル開度、車速等のデータは、オーバラップさせてＦＦＴ処理を行うようにする。これに対し、異常や故障時におけるデータのみあれば十分な水温、吸気温、油温等のデータは、オーバラップさせる必要はない。なお、点火時期、燃料噴射量、ＶＶＴ制御に対するセンサは、図２には示していないが、これらの信号を検出するセンサは車両１０に取り付けられているとする。
【００６９】
次に、本発明の第５の実施の形態を、図面を参照して詳細に説明する。第１の実施の形態では、常時ＦＦＴ処理の結果をＨＤＤ４０ｂに記憶していたが、第５の実施の形態では、ダイアグ検出等をトリガにＦＦＴ処理の結果をＨＤＤ４０ｂに記憶するようにする。
【００７０】
図１１は、第５の実施の形態におけるＥＦＩＥＣＵの動作を示したフローチャートである。ＥＦＩＥＣＵ２０は、所定周期ごとに図の処理を行う。ＥＦＩＥＣＵ２０は、間引き処理（ＦＦＴ処理）を行う（ステップＳ２１）。ＥＦＩＥＣＵ２０は、ダイアグを検出したか否か判断する（ステップＳ２２）。ダイアグを検出した場合、ステップＳ２３へ進む。ダイアグを検出しなかった場合、処理を終了する。ＥＦＩＥＣＵ２０は、間引き処理したデータをＨＤＤ４０ｂに記憶する（ステップＳ２３）。
【００７１】
上記の機能は、図４で示したデータ記憶部２３が担う。第１の実施の形態では、データ記憶部２３は、ＦＦＴ処理部２２によって算出されるＦＦＴの処理結果を常時ＨＤＤ４０ｂに記憶していたが、第５の実施の形態では、ダイアグ検出をトリガにＦＦＴ処理部２２の処理結果をＨＤＤ４０ｂに記憶するようにする。
【００７２】
なお、図１１では、ダイアグ検出をトリガにして、ＦＦＴ処理結果をＨＤＤ４０ｂに記憶するようにしたが、例えば、プリクラッシュシステムにより、衝突が事前に検知されたときに、ＦＦＴ処理結果をＨＤＤ４０ｂに記憶するようにしてもよい。また、ＡＢＳ（Antilock Brake System）が作動したときに、ＦＦＴ処理結果をＨＤＤ４０ｂに記憶するようにしてもよい。
【００７３】
また、カーナビゲーションシステムから、事故の起きやすい場所や時間の情報を受信したときに、ＦＦＴ処理結果をＨＤＤ４０ｂに記憶するようにしてもよい。
さらに、車両１０に異常が発生しやすい状況（高吸気温、高負荷、車速高等）の条件をセンタから無線受信し、その状況に当てはまったときに、ＦＦＴ処理結果をＨＤＤ４０ｂに記憶するようにしてもよい。
【００７４】
このように、所定の条件をトリガにＦＦＴ処理結果をＨＤＤ４０ｂに記憶するようにすることにより、ＣＰＵ２０ａａの処理負担を軽減することができる。
次に、本発明の第６の実施の形態を、図面を参照して詳細に説明する。第１の実施の形態では、各種センサによるデータをＦＦＴ処理によって間引き、ＨＤＤ４０ｂの記憶容量を効率的に使用できるようにしていた。第６の実施の形態では、所定時間ごとにデータの傾きを算出し、傾きに変化があれば、傾きが同じであった時間と、その傾きとをＨＤＤ４０ｂに記憶し、ＨＤＤ４０ｂの記憶容量を効率的に使用するようにする。なお、第６の実施の形態に係るハードウェア構成は、図３のハードウェア構成と同じであり、その説明を省略する。
【００７５】
図１２は、第６の実施の形態に係るＥＦＩＥＣＵの機能ブロック図である。図に示すＥＦＩＥＣＵ２０の機能ブロックは、図４の機能ブロックに対し、傾き算出部６１とデータ記憶部６２が異なっている。以下では、傾き算出部６１とデータ記憶部６２についてのみ説明する。
【００７６】
傾き算出部６１は、ＥＦＩ処理部２１によってＮＲＡＭ２０ａｅに記憶されるデータの傾きを、データの種類ごとに算出する。データの傾きの算出は、所定時間ごとに行う。この所定時間は、データの変動の大きさから判断し、前もって決定しておく。例えば、水温は、変動が遅いため、所定時間は、１ｓとする。スロットル開度は、水温等に比べ変動が早いため、所定時間は、１６ｍｓとする。傾き算出部６１は、所定時間ごとの傾きを算出し、傾きに変化が生じた場合、それまで傾きが一定であった時間と、その傾きとをデータ記憶部６２に出力する。データ記憶部６２は、傾き算出部６１から出力される傾きと時間とを対応付けてＨＤＤ４０ｂに記憶する。
【００７７】
図１３は、傾き算出部の動作を説明する図である。図には、車速データを示す波形Ｗ１１が示してある。傾き算出部６１は、車速データの傾きを、例えば、１６ｍｓごとに算出する。そして、傾きに変化が生じた場合、それまで傾きが一定であった時間と、その傾きとをデータ記憶部６２に出力する。例えば、図において、区間Ａ〜Ｆのそれぞれの区間においては、傾きが同じであったとする。この場合、区間Ａ〜Ｆのそれぞれの時間とそれぞれの区間Ａ〜Ｆにおける傾きとがＨＤＤ４０ｂに記憶されることになる。
【００７８】
図１４は、ＨＤＤに記憶される傾きと時間のデータ構成例を示した図である。例えば、図１３の各区間Ａ〜Ｆにおける傾きをａ〜ｆ、各区間Ａ〜Ｆの時間をＴ１〜Ｔ６とすると、ＨＤＤ４０ｂには、図の表７１に示すようなデータが記憶される。
【００７９】
次に、ＥＦＩＥＣＵの傾き算出動作を、フローチャートを用いて説明する。
図１５は、ＥＦＩＥＣＵの傾き算出動作を示した図である。ＥＦＩＥＣＵ２０は、所定周期ごとに図のステップに従った傾き算出処理を行う。ＥＦＩＥＣＵ２０は、所定時間ごとにデータの傾きを算出する（ステップＳ３１）。なお、データの種類ごとに、データの傾きを算出するタイミングが異なる。例えば、水温は、変動が遅いため１ｓごとに傾きが算出され、スロットル開度は、変動が早いため１６ｍｓごとに傾きが算出される。
【００８０】
ＥＦＩＥＣＵ２０は、データの種類ごとに前回の傾きと今回の傾きとが同じであるか判断する（ステップＳ３２）。傾きが同じであれば、傾き算出処理をそのまま終了する。傾きが異なれば、今まで傾きが同じであった時間と、その傾きとをＨＤＤ４０ｂに記憶する（ステップＳ３３）。
【００８１】
このように、傾きが同じである時間と、その傾きとをＨＤＤ４０ｂに記憶することにより、データの傾きが同じ間は、データをＨＤＤ４０ｂに記憶する必要がなくなり、ＨＤＤ４０ｂの記憶容量を効率的に使用することができる。
【００８２】
なお、傾きを計算する時間は、同じデータであっても、変動の状況が変わる場合、その都度変更するようにする。例えば、水温のデータの場合、始動直後は、水温が上昇するため、０．５ｓごとに傾きを計算するようにする。暖機後は、１ｓごとに傾きを計算するようにする。具体的には、ＥＦＩＥＣＵ２０は、水温センサ３３により、水温を監視し、水温が所定温度まで達すると、傾きを計算する時間を変更するようにする。また、アクセルペダルの開度に応じて、傾きを計算する時間を変更するようにする。例えば、アクセルペダルの開度が定常である場合は６５ｍｓごとに傾きを計算し、過渡時には、８ｍｓごとに傾きを計算するようにする。なお、ＥＦＩＥＣＵ２０は、アクセルペダルセンサ３５により、アクセルペダルの開度を取得し、アクセルペダルの開度が定常状態であるか過渡状態であるか判断し、傾きを算出する時間を変更するようにする。
【００８３】
また、前回の傾きと今回の傾きとの比較判断において、幅を持たせるようにする。例えば、前回の傾きと今回の傾きとの差が所定値内であれば、前回の傾きと今回の傾きは同じであると判断するようにする。精度よくデータを取りたい場合には、比較判断の幅を狭くし、誤差が許されるデータの場合は、範囲を広げることで、ＨＤＤ４０ｂへの記憶量を低減することができる。
【００８４】
さらに、エンジン回転数は、クランク軸の回転によって算出されるので、この場合は、クランク角に応じて、傾きを算出するようにする。例えば、クランク角が３０°ＣＡとなるたびに、エンジン回転数のデータの傾きを算出する。つまり、エンジン回転数のデータは、角度微分とする。
【００８５】
次に、本発明の第７の実施の形態を、図面を参照して詳細に説明する。第６の実施の形態において、傾きの誤差が累積していくと、ＨＤＤ４０ｂに記憶されるデータが本来のデータから外れていってしまう。そこで、第７の実施の形態では、ＨＤＤ４０ｂに記憶するデータが本来のデータから外れることを回避するため、定期的に傾きを修正する。
【００８６】
図１６は、第７の実施の形態における傾き修正の動作を説明する図である。図には、車速データを示す波形Ｗ２１が示してある。ＥＦＩＥＣＵ２０によって算出される傾きと、実際のデータの傾きとが異なると、図に示すように誤差が生じてしまう。そこで、ＥＦＩＥＣ２０は、ＨＤＤ４０ｂに記憶されている傾きと時間と、今回算出した傾きと時間とから、現在のデータ（図中の矢印Ａ２１）を再現し、実際のデータ（図中の矢印Ａ２２）と比較する。そして、再現したデータと実際のデータとの差が所定値以上であれば、現在の傾きが、現在のデータポイントを通過するように修正する（図中の１点鎖線）。そして、修正した傾きをＨＤＤ４０ｂに記憶するようにする。
【００８７】
ＥＦＩＥＣＵ２０の傾き修正の動作を、フローチャートを用いて説明する。
図１７は、ＥＦＩＥＣＵの傾き修正動作を示した図である。ＥＦＩＥＣＵ２０は、所定周期ごとに図のステップに従った傾き算出処理を行う。ＥＦＩＥＣＵ２０は、データの種類に応じて所定時間ごとに傾きを計算する（ステップＳ４１）。ＥＦＩＥＣＵ２０は、前回の傾きと今回の傾きとが同じであるか判断する（ステップＳ４２）。傾きが同じであれば、ＨＤＤ４０ｂにデータを格納することなく、処理を終了する。傾きが異なればステップＳ４３へ進む。
【００８８】
ＥＦＩＥＣＵ２０は、ＨＤＤ４０ｂに記憶されているデータと、今回算出した傾きと時間とから、現在のデータを再現する。そして、実際のデータと比較し、その誤差が所定値より大きいか判断する（ステップＳ４３）。誤差が所定値より大きければ、ステップＳ４４へ進む。誤差が所定値以下であれば、ステップＳ４５へ進む。
【００８９】
ＥＦＩＥＣＵ２０は、今回算出した傾きを修正する（ステップＳ４４）。ＥＦＩＥＣＵ２０は、今回算出した傾きが、現在のデータポイントを通過するように修正する。ＥＦＩＥＣＵ２０は、算出した傾きと傾きが同じであった時間とをＨＤＤ４０ｂに記憶する（ステップＳ４５）。
【００９０】
このように、定期的にデータを修正しながらＨＤＤ４０ｂに記憶することにより、適正なデータを再現することが可能となる。
なお、車速のように、最初（例えば、エンジン始動時）のデータが０の場合、最初の実際のデータをＨＤＤ４０ｂに記憶しなくても、傾きとその傾きが続く時間とからデータを再現することができる。しかし、水温等の最初のデータが固定でないものは、最初のデータを記憶しておく必要がある。つまり、最初のデータが固定でないものは、最初の実際のデータと、以後の傾きとその傾きが続く時間とからデータの再現が可能となる。
【００９１】
また、現在のデータを再現するには、ＨＤＤ４０ｂに記憶されている傾きと時間の全てを用いて計算する必要がある。そのため、ＣＰＵ２０ａａに負荷がかかる。そこで、傾きの修正タイミングが来た場合には、その時点の実際のデータ値も保存するようにする。そして、次回修正タイミングが来た場合には、前回記憶した生データ値と傾きと時間とから今回のデータを再現するようにする。これにより、ＨＤＤ４０ｂに記憶されている全ての傾きと時間とを用いて、現在のデータを再現しなくて済み、ＣＰＵ２０ａａの負荷を軽減することができる。
【００９２】
なお、以上説明したものは、ＥＦＩＥＣＵとして説明したが、Ｇセンサの値からエアバッグを制御するエアバッグＥＣＵ等、各センサから制御を行う電子制御装置であれば適用可能である。
【図面の簡単な説明】
【００９３】
【図１】車両状態記憶装置の概要を説明する図である。
【図２】第１の実施の形態に係るＥＦＩＥＣＵを登載した車両の全体図である。
【図３】ＥＦＩＥＣＵのハードウェア構成例を示した図である。
【図４】ＥＦＩＥＣＵの機能ブロック図である。
【図５】ＦＦＴ処理を説明する図である。
【図６】ＥＦＩＥＣＵのＣＰＵの動作を示したフローチャートである。
【図７】第２の実施の形態におけるカット周波数の変更を説明する図である。
【図８】ＥＦＩＥＣＵの動作を示したフローチャートである。
【図９】第３の実施の形態におけるＦＦＴ処理を説明する図である。
【図１０】第４の実施の形態におけるＦＦＴ処理を説明する図である。
【図１１】第５の実施の形態におけるＥＦＩＥＣＵの動作を示したフローチャートである。
【図１２】第６の実施の形態に係るＥＦＩＥＣＵの機能ブロック図である。
【図１３】傾き算出部の動作を説明する図である。
【図１４】ＨＤＤに記憶される傾きと時間のデータ構成例を示した図である。
【図１５】ＥＦＩＥＣＵの傾き算出動作を示した図である。
【図１６】第７の実施の形態における傾き修正の動作を説明する図である。
【図１７】ＥＦＩＥＣＵの傾き修正動作を示した図である。
【符号の説明】
【００９４】
１  データ間引き手段
２  データ記憶手段
３  記憶装置
【図１】
2007133455.tif 000003
【図２】
2007133455.tif 000004
【図３】
2007133455.tif 000005
【図４】
2007133455.tif 000006
【図５】
2007133455.tif 000007
【図６】
2007133455.tif 000008
【図７】
2007133455.tif 000009
【図８】
2007133455.tif 000010
【図９】
2007133455.tif 000011
【図１０】
2007133455.tif 000012
【図１１】
2007133455.tif 000013
【図１２】
2007133455.tif 000014
【図１３】
2007133455.tif 000015
【図１４】
2007133455.tif 000016
【図１５】
2007133455.tif 000017
【図１６】
2007133455.tif 000018
【図１７】
2007133455.tif 000019