"ドライバによるハンドル操作データの周波数特性に基づいてドライバの覚醒度を推定する覚醒度推定装置であって、現在から過去の所定区間のハンドル操作データを用いて現在から未来の所定区間のハンドル操作データを生成し、これらの区間のデータを対象とする周波数変換により周波数パワーを求める周波数変換処理部と、設定範囲の前記周波数パワーの積分値に基づいて短期的な覚醒度を推定する短期覚醒度推定部と、前記設定範囲で前記周波数パワーを時間的に平均化処理し、この平均化処理した周波数パワーの積分値に基づいて中期的な覚醒度を推定する中期覚醒度推定部と、前記短期覚醒度推定部の推定結果と前記中期覚醒度推定部の推定結果とを統合してドライバの覚醒度を推定する覚醒度推定部とを備えたことを特徴とする覚醒度推定装置。更に、前記所定区間におけるアクセル操作データの分散値とブレーキ操作データの分散値とに基づいて、覚醒度の推定結果を補正する補正量を設定する覚醒度補正量設定部を備えることを特徴とする請求項1記載の覚醒度推定装置。前記覚醒度推定部は、前記短期覚醒度推定部の推定結果を重み付けして前記中期覚醒度に掛け合わせることにより、統合した覚醒度に前記短期覚醒度推定部の推定結果を反映させることを特徴とする請求項1又は2記載の覚醒度推定装置。しかしながら、特許文献1に開示の技術では、ハンドル角の変動が存在する低覚醒状態まで検出するのは困難である。また、特許文献2に開示の技術では、過去の所定期間の操作データを用いて周波数特性を取得していることから、推定する覚醒度に時間遅れが生じてしまい、短期間での覚醒度の低下を見逃す虞がある。本発明は上記事情に鑑みてなされたもので、ドライバによるハンドル操作データの周波数特性を取得する際の時間遅れを低減し、短期間の覚醒度低下をも確実に検出することのできる覚醒度推定装置を提供することを目的としている。本発明による覚醒度推定装置は、ドライバによるハンドル操作データの周波数特性に基づいてドライバの覚醒度を推定する覚醒度推定装置であって、現在から過去の所定区間のハンドル操作データを用いて現在から未来の所定区間のハンドル操作データを生成し、これらの区間のデータを対象とする周波数変換により周波数パワーを求める周波数変換処理部と、設定範囲の前記周波数パワーの積分値に基づいて短期的な覚醒度を推定する短期覚醒度推定部と、前記設定範囲で前記周波数パワーを時間的に平均化処理し、この平均化処理した周波数パワーの積分値に基づいて中期的な覚醒度を推定する中期覚醒度推定部と、前記短期覚醒度推定部の推定結果と前記中期覚醒度推定部の推定結果とを統合してドライバの覚醒度を推定する覚醒度推定部とを備えたものである。本発明によれば、ドライバによるハンドル操作データの周波数特性を取得する際の時間遅れを低減し、短期間の覚醒度低下をも確実に検出することができる。以下、図面を参照して本発明の実施の形態を説明する。本実施の形態における覚醒度推定装置は、ドライバのハンドル操作データの周波数特性からドライバの覚醒度を推定する装置であり、図1に示すように、CANControllerAreaNetwork;コントローラエリアネットワーク等からなる車内ネットワーク100に接続されるマイクロコンピュータからなる電子制御装置ECU10によって構成され、専用の装置、或いは車両制御装置の一部として構成される。このECU10による覚醒度推定装置は、特徴的には、車両走行中の短期的な覚醒度変化を遅れなく検出する機能と、中期的な覚醒度の推移を安定的に検出する機能とを有している。このため、ECU10は、覚醒度推定装置の機能として、運転操作データ入力部11、FFT入力データ生成タイプ判定部12、FFT演算部13、短期覚醒度推定部14、中期覚醒度推定部15、覚醒度補正量設定部16、覚醒度推定部17を備えている。概略的には、ECU10は、車内ネットワーク100を通じて取得したハンドル角データの周波数特性をFFTFastFourieTransform高速フーリエ変換によって解析し、パワースペクトルの分布からドライバの覚醒度を推定する。すなわち、図2に示すように、ハンドル角データの周波数特性は、同図中に破線で示すドライバが覚醒状態にあるときの特性に対して、ドライバの覚醒度が低下すると、同図中に実線で示すように、特定の低周波数域でのパワー成分振幅が突出して大きくなることが実験的に確認されている。従って、ハンドル角データの特定周波数域での周波数パワーを調べることにより、ドライバの覚醒度を推定することができる。本実施の形態においては、現在のハンドル角データから0.1Hz付近の周波数パワーを調べて短期的な覚醒度を時間遅れなく検出すると共に、短期的な覚醒度の推定結果を中期的な覚醒度の推定結果と統合することで、ノイズの影響を除去しつつ瞬間的な覚醒度の低下を検出可能としている。詳細には、運転操作データ入力部11は、車内ネットワーク100を介して取得するドライバの運転操作データとして、ハンドル角を所定のサンプリング間隔で入力し、その他、ブレーキ圧力、アクセル開度データを入力する。ブレーキ圧力とアクセル開度の各データは、後述するように、ハンドル角には現れない高覚醒時のドライバ操作の特徴を検出し、ハンドル角の周波数特性から推定した覚醒度を補正するために用いられる。FFT入力データ生成タイプ判定部12は、FFT演算部13と共に周波数変換処理部を構成し、FFT演算の前処理として、運転操作データ入力部11から入力されたハンドル角データをFFT演算に使用するデータFFT入力データに変換すると共に、FFT入力データのタイプを判定してタイプ情報を付加する。具体的には、取得したハンドル角データに所定の窓関数を乗じて所定区間のFFT入力データを作成する。窓関数は、周知のようにFFTの前提である連続性を維持しながら有限区間でのデータ切取りを可能とするものであり、例えば、図3に示すようなハミング窓を用いる。本実施の形態においては、間隔0.1秒でサンプリングした512個のハンドル角データを用いてFFT演算を行うようにしている。その際、通常のFFTのように現在から過去の512個のデータの範囲過去の51.2秒間のデータ範囲でFFT演算を行うのではなく、過去のデータを用いて擬似的に未来のデータを作成し、現在のデータに一番の重みをかけたFFT演算を行うようにしている。すなわち、通常のFFT演算では、図4aに示すように、図中に細線で示すハンドル角データに対して、現在から過去51.2秒間のデータ範囲窓関数の区間で図中に太線で示すFFTの入力データを作成し、この入力データを用いてFFT演算を行っている。従って、FFT演算を終了した時点で覚醒度の推定処理を行うものとすると、窓関数の中心付近のデータ、すなわち現在から略26秒前の過去のデータを重視した覚醒度の推定を行うことになり、時間遅れが生じることになる。このため、本実施の形態においては、過去の25.6秒間のデータを用いて擬似的に未来の25.6秒間のデータを作成する。例えば、FFTに入力するデータ列を、Fn01...1023とすると、n<512では、Fに現時刻のハンドル角,Fに0.1秒前のデータ,...,Fに25.6秒前のデータを入力する。そして、n≧512では、F=Fとなるようにデータを入力する。つまり、図4bに示すように、図中に細線で示すハンドル角データに対して、現在から過去の25.6秒間のデータを折り返して未来の25.6秒間のデータを作成し、この過去の25.6秒の範囲と未来の25.6秒の範囲とを窓関数の区間として、図中に太線で示すFFT入力データを用いてFFT演算を行う。これにより、FFT演算を終了した時点で、窓関数の中心付近のデータすなわち現在付近のデータを重視した覚醒度の推定を行うことができ、過去のデータから周波数成分を算出する従来の手法に比べ、時間遅れの影響を軽減することが可能となる。その際、FFT入力データには、データタイプを判別したタイプ情報が付加される。ここでは、FFT入力データの作成に用いた過去25.6秒間のハンドル角データを用いて平均及び分散を算出し、平均及び分散が予め設定した条件例えば、平均が±5度以内、分散は10以内に当てはまっている場合は0、そうでない場合は1のタイプ情報を、生成したFFT入力データに付加する。これは、カーブ走行時等の道路環境に応じたハンドル操作を識別し、覚醒度推定の精度悪化を引き起こす可能性があるデータデータタイプ1かどうかを判別していることになる。次に、FFT演算部13は、FFT入力データ生成タイプ判定部12で作成したFFT入力データを用いてFFT演算を行い、周波数パワー振幅Pを計算する。更に、周波数をx、時刻tで得られた周波数パワーをPとすると、以下の1式による変換を行い、周波数パワーPを平準化する。P←Pxn...1尚、1式におけるべき数nは、本出願人による特許第4197381号に開示されているように、2.0≦n≦3.0であり、本実施の形態においては、n=2.5としている。これは、ハンドル角のふらつきによる車両のふらつきは、自然界に多く存在する揺らぎの一つであると考えた場合、その振幅は1/fであり、パワーは1/f2となることから、1式におけるべき数nは理論的には2.0でよいが、実験結果よりn=2.5が最も好ましいことが判明しているからである。FFT演算部13で算出された周波数データは、短期覚醒度推定部14と中期覚醒度推定部15とに入力され、それぞれにおいて、短期的な覚醒度を表現する短期覚醒度Ds、中期的な覚醒度を表現する中期覚醒度Dmが算出される。短期覚醒度Ds、中期覚醒度Dm、及び後述する覚醒度Dは、覚醒度が低いほど大きな値をとる。短期覚醒度Dsは、FFT演算によって得られたハンドル角の周波数データを用いて、以下の2式に示すように、設定範囲の周波数領域内の周波数パワーの積分値Prangeと設定範囲外の周波数領域の周波数パワーの積分値Poutとの比で算出される。但し、FFTに使用したデータタイプが1の場合は、推定の信頼度が低いとして、Ds=0とする。また、設定範囲の周波数領域は、低覚醒時のハンドル角のふらつきが顕著となる領域、本実施の形態においては0.1Hz前後の0.05~0.25Hzの範囲の領域としている。Ds=Prange/Pout...22式による短期覚醒度Dsは、現在のハンドル角データを中心として時間遅れを生じることなく覚醒度を推定することができるが、本来、存在しない未来のハンドル角を擬似的に生成して用いているため、周波数計算時に通常よりノイズが乗りやすい。そこで、より安定した覚醒度推定を行うため、短期覚醒度Dsに加えて中期的な覚醒度Dmも算出する。この中期覚醒度Dmは、短期覚醒度Dsを時系列に平均したものではなく、FFT演算によって得られたハンドル角の周波数領域のデータを時間的に平均化処理して算出される。具体的には、以下の3式に示すように、中期覚醒度Dmは、設定周波数領域内の平均周波数パワーの積分値Prangeaveと設定周波数領域外の平均周波数パワーの積分値Poutaveとの比で算出される。Dm=Prangeave/Poutave...3ここで、時刻tでの平均周波数パワーをPaveとすると、平均周波数パワーPaveは、FFT入力データのデータタイプに応じて、以下の4式或いは5式により算出される。但し、初回はPを代入することとする初期化。また、4式におけるwは、数分間の推定結果が反映できるように設定された重みであり、例えば、覚醒度計算を1秒毎に行う場合、w=0.01とする。Pave=PavewP:データタイプ0...4Pave=Pave:データタイプ1...5以上の短期覚醒度Ds、中期覚醒度Dmは、主として低覚醒時に現れるハンドル操作の特徴を検出するものであり、ドライバがアクセルやブレーキの頻繁な操作を行っている場合には、ドライバが周囲の環境を認知して運転操作を行っていると考えられるため、ドライバは高覚醒状態であると考えられる。従って、覚醒度補正量設定部16において、ブレーキやアクセルの操作データを用いてハンドル角には現れない高覚醒時のドライバ操作の特徴を検出し、推定した覚醒度の補正量を設定する。すなわち、時刻tでのアクセル操作による補正量アクセル補正量をAh、時刻tでのブレーキ操作による補正量ブレーキ補正量をBhとすると、先ず、FFT計算用のデータを取得する区間本実施の形態においては、現在から25.6秒前までのデータ区間におけるアクセル開度データの分散Vaとブレーキ圧力データの分散Vbとを求め、これらの分散Va,Vbを用いて、アクセル補正量Ah,ブレーキ補正量Bhを設定する。アクセル開度データの分散Vaとアクセル補正量Ahとの関係、ブレーキ圧力データの分散Vbとブレーキ補正量Bhとの関係は、それぞれ、図5,図6に示され、予め実験等により求められた最適値のマップとしてシステム内に保存されている。図5の例では、アクセル操作による補正は、アクセル開度データの分散Vaが閾値ThrA以下の場合、Ah=1~0.5に設定され、分散Vaが閾値ThrAを超えている場合には、Ah=0.5の一定の値に設定される。また、ブレーキ操作による補正は、アクセル操作の場合より明らかに覚醒度が高いと考えられるため、図6の例では、ブレーキ圧力データの分散Vbが閾値ThrB以下の場合、Bh=1~0.2に設定され、Vbが閾値ThrBを超えている場合には、Bh=0.2の一定の値に設定され、アクセル補正量Ahに比較して補正の度合いを大きくしている。そして、最終的に、覚醒度推定部17では、時刻tにおける推定覚醒度Dを、短期覚醒度Ds、中期覚醒度Dm、アクセル補正量Ah,ブレーキ補正量Bhを用いて、以下の6式に従って算出する。D=DmAhBh...6ここで、6式における係数Kは、例えばK=0.5として、短期推定結果の項1KDsを1以上の値に重み付けして中期推定結果に掛けることにより、最終的に算出される覚醒度Dに短期推定結果を反映している。これにより、中期推定による推定結果の安定性確保と、短期推定結果の反映による推定の時間遅れ低減が可能となる。以上の処理は、具体的には、図7~図10のフローチャートで示すプログラム処理によって実施される。次に、これらのプログラム処理の流れについて説明する。尚、ここでは、覚醒度の推定処理を1秒毎に行うものとする。図7は、ドライバのハンドル操作、アクセル操作、ブレーキ操作による運転操作データの入力処理を示す。このデータ入力処理では、先ず、最初のステップS1において、ハンドル角、アクセル開度、ブレーキ圧力の各データを入力する。次に、ステップS2へ進み、過去の26秒25.6秒間のデータを保持し、本処理を抜ける。この過去26秒間のハンドル角データは、図8に示すFFT演算処理にて周波数データに変換される。図8のFFT演算処理では、最初のステップS11において、過去26秒間のハンドル角データを入力する。次いで、ステップS12へ進んでハンドル角データの平均及び分散を計算し、平均及び分散が設定条件に当てはまるか否かを調べてデータタイプを判定する。次に、ステップS13では、過去の26秒-26秒間のハンドル角データから未来の26秒26秒間のハンドル角データを生成し、ステップS14でハミング関数窓関数を乗算してFFT入力データとする。尚、このFFT入力データには、ステップS12で判定したデータタイプのタイプ情報が付加される。そして、ステップS15においてFFT演算を行い、周波数x,時刻tにおける周波数パワーPを算出し、ステップS16で前述の1式によるパワー変換を行って本処理を抜ける。FFT演算で得られたハンドル角データの周波数成分は、図9に示す短期覚醒度及び中期覚醒度推定処理で用いられ、短期覚醒度及び中期覚醒度が推定される。この処理では、最初のステップS21においてFFT演算処理で得られた周波数パワーPのデータを入力し、ステップS22でデータタイプを判定する。その結果、データタイプが1であり、覚醒度の推定精度を悪化させる可能性のあるデータである場合には、ステップS25で短期覚醒度Dsを0としてステップS26へ進む。一方、データタイプが0である場合には、ステップS22からステップS23へ進み、前述の2式に基づいて、設定範囲の周波数領域内の周波数パワーの積分値Prangeと設定範囲外の周波数領域の周波数パワーの積分値Poutとの比から短期覚醒度Dsを算出し、ステップS24で平均周波数パワーPaveを更新してステップS26へ進む。ステップS26では、前述の3式に基づいて、設定周波数領域内の平均周波数パワーの積分値Prangeaveと設定周波数領域外の平均周波数パワーの積分値Poutaveとの比から中期覚醒度Dmを算出し、本処理を抜ける。ここで算出された短期覚醒度Dsと中期覚醒度Dmは、図10に示す覚醒度推定処理にて統合され、最終的な覚醒度がDが算出される。図10の覚醒度推定処理では、最初のステップS31において過去26秒間のアクセル開度及びブレーキ圧力のデータを入力する。次に、ステップS32で各データの分散Va,Vbを算出し、ステップS33で、これらの分散Va,Vbを用いて、マップ参照等により、アクセル補正量Ah,ブレーキ補正量Bhを算出する。そして、ステップS34で、前述の6式に基づいて、時刻tにおける推定覚醒度Dを、短期覚醒度Ds,中期覚醒度Dm,アクセル補正量Ah,ブレーキ補正量Bhを用いて算出し、本処理を抜ける。図11,図12は、それぞれ、短期覚醒度及び中期覚醒度の推定結果、短期覚醒度及び中期覚醒度を統合した推定結果を示している。各データは、オーバル型のテストコースにおいて一定車速で単調走行を行ったときのものであり、時間経過による覚醒度の変化が捉えられている。具体的には、1000秒付近で一回眠りに落ちそうになり、すぐに覚醒努力をしていることがわかる。また、1300秒付近では覚醒努力もしなくなり、非常に眠気が高い状態となっていることがわかる。すなわち、中期的な覚醒度推定により、時間が経過するにつれ眠気が増していることを捕えており、1000秒付近の瞬間的な覚醒度の変化は、短期推定により捉えられていることがわかる。尚、1700秒付近では、同乗者に注意喚起を受けるというイベントが起こっている。"