バッテリの充放電電流値を検出する充放電電流検出手段と、前記バッテリの端子電圧値を検出する端子電圧検出手段と、前記充放電電流検出手段から入力された前記充放電電流値を積算して第1の充電率を推定する第1の充電率推定手段と、前記充放電電流検出手段から入力された前記充放電電流値と前記端子電圧検出手段から入力された前記端子電圧値とに基づき前記バッテリの開放電圧値を推定し、該開放電圧値から第2の充電率を推定する第2の充電率推定手段と、前記第1の充電率推定手段で得た第1の充電率が入力されるハイパスフィルタと、前記第2の充電率推定手段で得た第2の充電率が入力されるローパスフィルタと、前記ハイパスフィルタからの出力値と前記ローパスフィルタからの出力値とに基づき、前記バッテリの充電率を算出する充電率算出手段と、を備えた、ことを特徴とするバッテリの充電率推定装置。請求項1に記載のバッテリの充電率推定装置において、前記ハイパスフィルタと前記ローパスフィルタは、これらの伝達関数の加算値が1となるように設定されている、ことを特徴とするバッテリの充電率推定装置。請求項1又は2に記載のバッテリの充電率推定装置において、前記充電率算出手段は、前記ハイパスフィルタからの出力値と前記ローパスフィルタからの出力値を加算して得た加算値とを前記バッテリの充電率とする、ことを特徴とするバッテリの充電率推定装置。請求項1乃至3のいずれか1項に記載のバッテリの充電率推定装置において、前記充電率算出手段は、前記ハイパスフィルタからの出力値に1より大きな値を掛けて得た乗算値と前記ローパスフィルタからの出力値とを加算して得た加算値を前記バッテリの充電率とする、ことを特徴とするバッテリの充電率推定装置。しかしながら、上記従来のバッテリの充電率推定装置にあっては、電流に検出誤差がある場合には、第1の残存容量の誤差は経過時間に比例して増加してしまう。このような場合に、電流の変化が激しいということで第1の残存容量のウェイトを大きくすると、最終的に第1の残存容量と第2の残存容量をウェイトを用いて重み付け合成して得られる最終のバッテリの残存容量も大きな誤差を免れなくなってしまうといった問題がある。本発明は、上記不具合に鑑みなされたもので、その目的は、電流検出誤差等があっても、精度良くバッテリの充電率を推定できるようにしたバッテリの充電率推定装置を提供することにある。この目的のため本発明の請求項1のバッテリの充電率推定装置は、バッテリの充放電電流値を検出する充放電電流検出手段と、バッテリの端子電圧値を検出する端子電圧検出手段と、充放電電流検出手段から入力された充放電電流値を積算して第1の充電率を推定する第1の充電率推定手段と、充放電電流検出手段から入力された充放電電流値と端子電圧検出手段から入力された端子電圧値とに基づきバッテリの開放電圧値を推定し、この開放電圧値から第2の充電率を推定する第2の充電率推定手段と、第1の充電率推定手段で得た第1の充電率が入力されるハイパスフィルタと、第2の充電率推定手段で得た第2の充電率が入力されるローパスフィルタと、ハイパスフィルタからの出力値とローパスフィルタからの出力値とに基づき、バッテリの充電率を算出する充電率算出手段と、を備えたことを特徴とする。本発明の請求項2に記載のバッテリの充電率推定装置は、上記請求項1に記載の装置にあって、ハイパスフィルタとローパスフィルタは、これらの伝達関数の加算値が1となるように設定されている、ことを特徴とする。本発明の請求項3に記載のバッテリの充電率推定装置は、上記請求項1又は2に記載の装置にあって、充電率算出手段は、ハイパスフィルタからの出力値とローパスフィルタからの出力値を加算して得た加算値とを前記バッテリの充電率とする、ことを特徴とする。本発明の請求項3に記載のバッテリの充電率推定装置は、上記請求項1乃至3のいずれか1項に記載の装置にあって、充電率算出手段は、ハイパスフィルタからの出力値に1より大きな値を掛けて得た乗算値とローパスフィルタからの出力値とを加算して得た加算値をバッテリの充電率とする、ことを特徴とする。請求項1の本発明のバッテリの充電率推定装置にあっては、電流積算法で推定した第1の充電率はハイパスフィルタを通してその高周波成分のみ通過させ、開放電圧法で推定した第2の充電率はローパスフィルタで低周波成分のみ通過させて、それぞれ信頼性が劣る周波数部分をカットすることで、信頼性が高い周波数成分のみに基づき、充電率算出手段でバッテリの充電率を推定するようにしたので、電流検出誤差等があっても、精度良くバッテリの充電率を推定できる。請求項2の本発明のバッテリの充電率推定装置にあっては、ハイパスフィルタとローパスフィルタの伝達関数の加算値が1となるようにしたので、第1の充電率と第2の充電率とを精度よく推定できる場合に、これらに基づいて充電率推定手段で算出したバッテリの充電率が真値からずれるのを抑制することができる。請求項3の本発明のバッテリの充電率推定装置にあっては、充電率算出手段で、ハイパスフィルタとローパスフィルタをそれぞれ通過した第1、第2の充電率のそれぞれの周波数成分を加算してバッテリの充電率を得るようにしたので、容易に精度よく充電率を算出することができる。請求項4の本発明のバッテリの充電率推定装置にあっては、充電率算出手段が、第1の充電率のハイパスフィルタを通過した高周波成分に1より大きい掛けた乗算値に、第2の充電率のローパスフィルタを通過した低周波成分を加えた値をバッテリの充電率とするようにしたので、充電率の真値に対し、推定した充電率の変動を故意に大きくしてバッテリの充電率が大きく算出されるようになり、この結果、過充電や過放電に対する安全性を向上させることができる。以下、本発明の実施の形態を、図面に示す実施例に基づき詳細に説明する。実施例1のバッテリの充電率推定装置は、バッテリBに接続され、充放電電流検出部1と、端子電圧検出部2と、第1の充電率算出部3と、第2の充電率算出部4と、ハイパスフィルタ5と、ローパスフィルタ6と、充電率算出部7と、を備えている。充放電電流検出部1は、バッテリBから図示しない電気モータ等へ電力を供給する場合の放電電流の大きさ、および制動時に電気モータを発電機として機能して制動エネルギの一部を回収したり地上の電源設備から充電したりする場合の充電電流の大きさを検出するもので、たとえば、シャント抵抗等を使ってバッテリBに流れる充放電電流値Iを検出する。検出した充放電電流値Iは、入力信号として第1の充電率推定部3と第2の電率推定法4との双方へ入力される。なお、電流検出部1は、種々の構造形式を有するものを適宜採用でき、本発明の充放電電流検出手段に相当する。端子電圧検出部2は、バッテリBの端子間の電圧を検出するものであり、ここで検出した端子電圧値Vは第2の充電率推定法4へ入力される。なお、電圧検出部2は、種々の構造形式を有するものを適宜採用でき、本発明の端子電圧検出手段に相当する。第1の充電率算出部3は、充放電電流検出部1で検出された充放電電流値Iが入力されて、この充放電電流値Iを積算して電流積算値を算出することでバッテリBに出入りした電荷量を求め、これから第1の充電率SOC1を算出するものである。なお、第1の充電率推定部3は、本発明の第1の充電率推定手段に相当する。第1の充電率算出部3の具体的構成を図2に示す。第1の充電率算出部3は、乗算器9、加算器10、遅延器11を有する積分器8と、係数倍器12と、を備えている。積分器は、充放電電流検出部1から入力された充放電電流値Iを積分してバッテリBへ出入りした電荷量の変化分を演算するものである。具体的には、乗算器9では、充放電電流検出部1から入力された充放電電流値Iにその演算周期TSを掛けていき、この値と遅延器11からの出力値を加算する。この加算値は、遅延器11と係数倍器12とに入力される。遅延器11は、加算器10の出力値を元に現在より1つ前の電化量の変化分を出力値として、加算器10へ出力する。係数倍器12は、加算器10からの出力値に1FCCを掛けて第1の充電率SOC1を得る。ここで、FCCは、満充電容量である。第2の充電率算出部4は、充放電電流検検出部1得られた充放電電流値Iと端子電圧検出部2から得られて端子電圧値Vとから、たとえばバッテリ等価モデルを用いたカルマンフィルタを利用して、バッテリBの開放電圧値VOCVを得、この開放電圧値VOCVに基づき、開放電圧値と第2の充電率との関係データテーブル27図5参照から第2の充電率SOC2を求めるものである。カルマンフィルタは、バッテリBのバッテリ等価回路モデルに、実際のバッテリBと同じ入力充放電電流、端子電流、バッテリ温度などを入力し、これらの出力端子電圧を比較し、両者に差があれば、この差にカルマンゲインを掛けてフィードバックし、誤差が最小になるようにバッテリ等価回路モデルを修正していく。これを逐次繰り返して、真の内部状態量である開放電圧値VOCVなどを推定する。なお、第2の充電率推定部4は、本発明の第2の充電率推定手段に相当する。ハイパスフィルタ5は、第1の充電率算出部3から入力された第1の充電率SOC1のうち、高周波成分のみを通過し、その低周波成分をカットするものである。ハイパスフィルタ5の具体的構成を図3に示す。ハイパスフィルタ5は、減算器13と、係数倍器14と、積分器15と、加算器19と、を備えている。積分器15は、乗算器16と、加算器17と、遅延器18と、を有する。減算器13は、第1の充電率算出部3から入力された現在の第1の充電率SOC1から遅延器18の出力値を減算する。係数倍器14は、減算器13からの出力値に1τ1を掛けてこの出力値を積分器15へ入力する。ここで、τ1はローパスフィルタ5の時定数である。積分器15の乗算器16は、係数倍器14の出力値に演算周期TSを掛けてその乗算値を加算器17へ出力する。加算器17は、乗算器16の出力値と遅延器18の出力値を加算してその加算値を加算器19と遅延器18とに出力する。遅延器18は、加算器17で算出した現在の出力値が入力され、この1つ前の値を得て、この値を加算器17と減算器13とに出力する。加算器19は、第1の充電率算出部3から入力された現在の第1の充電率SOC1と、加算器17で得た出力値とを加算して、この加算値を出力する。ローパスフィルタ6は、第2の充電率算出部4から入力された第2の充電率SOC2のうち、低周波成分を通過し、その高周波成分をカットする。ローパスフィルタ6の具体的構成を図4に示す。ローパスフィルタ6は、減算器20と、係数倍器21と、積分器22と、を備えている。積分器22は、乗算器23と、加算器24と、遅延器25と、を有する。減算器20は、第2充電率算出部4から入力された第2の充電率SOC2から、遅延器25の出力値を減算する。係数倍器21は、減算器20の出力値に1τ2を掛けてその乗算値を積分器22へ出力する。ここで、積分器22の乗算器23は、係数倍器21から入力された出力値に演算周期TSを掛けてその乗算値を加算器24へ出力する。加算器24は、乗算器23の出力値と遅延器25の出力値とを加算して、この加算値をローパスフィルタ6の出力値として出力するとともに、遅延器25へも出力する。遅延器25は、加算器23で算出した現在の出力値の1つ前の値を得、この値を加算器24と減算器20とに出力する。充電率算出部7は、ハイパスフィルタ5を通過した第1の充電率SOC1の高周波成分と、ローパスフィルタ6を通過した第2の充電率SOC2の低周波成分とを、に加算してバッテリBの充電率SOCを得る。なお、充電率算出部7は、本発明の充電率算出手段に相当する。ここで、上記フィルタにあって、ハイパスフィルタ5の伝達関数をG、ローパスフィルタ6の伝達関数をHとすると、充電率推定値は、充電率推定値=GSOC1HSOC2で表される。ハイパスフィルタ5の伝達関数Gと、ローパスフィルタ6の伝達関数Hの関係は、たとえばシミュレーション結果など、必要に応じて適宜設定する。一方、第1の充電率SOC1と第2の充電率SOC2とが仮に真値SOCに等しいとすると、上記式は、充電率推定値=GHSOCと書き換えることができる。したがって、このような場合、GH=1としておかないと、第1の充電率SOC1と第2の充電率SOC2とが完璧な推定値であっても、最終的な充電率推定値が真値SOCに一致しないことになる。すなわち、第1の充電率SOC1と第2の充電率SOC2とが完璧な推定値に近いほど、GH=1としておく必要があるが、そうでない場合は、この式を満たす必要はないことになく、それぞれの状況に応じて設定することになる。なお、フィルタの時定数τ1、τ2を等しく設定すると、上記式を満たすことになり、また同じ値とすることで第1の充電率算出部3と第2の充電率推定部4のチューニングが簡単になる。次に、本実施例の充電率推定装置の作用につき、以下に説明する。充放電電流検出部1で検出した充放電電流値Iは、第1の充電率算出部3と第2の充電率算出部4とに入力される。また、端子電圧検出部2で検出した端子電圧値Vは、第2の充電率算出部4に入力される。第1の充電率算出部3では、充放電電流値Iを時間積分した電気容量の変動分を満充電量FCCで割る電流積算法を用いて第1の充電率SOC1を得る。一方、第2の充電率算出部4では、充放電電流値Iと端子電圧値Vとが入力されて、カルマンフィルタを用いてバッテリBの開放電圧値VOCVを推定し、この開放電圧値VOCVから予め実験で得た開放電圧値VOCVと第2の充電率SOC2の関係データテーブル27を利用して第2の充電率SOC2を得る。第1の充電率推定部3で算出した第1の充電率SOC1は、ハイパスフィルタ5に入力され、ここでその直流成分から低周波成分がカットされて、その高周波成分のみが通過し、充電率算出部7に入力される。すなわち、第1の充電率SOC1は、短時間の変化の信頼性は高いものの、時間が経つにつれ誤差が増加していき、ゆっくりした変化は信用性が低い。そこで、第1の充電率SOC1のうち信頼性の低い周波数成分は、ハイパスフィルタ5でカットする。一方、第2の充電率算出部4で算出した第2の充電率SOC2は、ローパスフィルタ6に入力され、ここでその高周波成分がカットされて、その低周波成分のみが通過し、充電率算出部7に入力される。すなわち、第2の充電率SOC2は、電流検出誤差がある場合でも、充電率の誤差が経過時間に応じて増加することがなく、ゆっくりとした変化の傾向を比較的正確に捉えることができる。そこで、第2の充電率SOC2のうち信頼性の低い高周波成分は、ローパスフィルタ6でカットする。図5に、第1の充電率SOC1、第2の充電率SOC2、第1の充電率SOC1のハイパスフィルタ5を通過させた値、第2の充電率SOC2のローパスフィルタ6を通過させた値の時間経過例を示す。充電率算出部7は、第1の充電率SOC1のうちハイパスフィルタ5を通過した推定信頼性が高い高周波成分値と、第2の充電率SOC2のうちローパスフィルタ6を通過した推定信頼性が高い低周波成分値と、を加算して、バッテリBの充電率SOCを得る。ここで、ハイパスフィルタ5でカットされるノイズにつき、より詳しく説明する。ハイパスフィルタ5は、充放電電流検出部1の電流検出誤差、満充電容量の算出誤差健全度SOHの推定誤差、積分器のリセット誤差を取り除く。また、充電率真値の直流成分~低周波成分も取り除かれるが、これらはローパスフィルタ6の出力として抽出されるので、充電率算出部7での充電率SOCの算出に支障はない。図2の第1の充電率算出部3では、この積分器8のリセット部分を省略して図示、説明したが、積分器のリセットするための構成を図7に示す。なお、積分器8のリセットは、たとえば駐車場にイグニッションOFFで一日放置した後、イグニッションをONにすると、図5に示すように、そのときの端子電圧値Vを開放電圧値VOCVとみなし、この開放電圧値VOCVを元に充電率SOCを算出し、積分器8をリセットすることで実行される。この目的で、同図において、充放電電流値Iには乗算器9で演算周期TSが掛けられ、加算器10で切替器26の出力値と加算される。この加算値は、係数倍器12で、係数1FCCを掛けて第1の充電率SOC1を得る。一方、加算器10の出力は遅延器11に入力されて1つ前の値が得られて切替器26に入力される。端子電圧検出部2で検出した端子電圧Vは、開放電圧VOCVとみなされ、開放電圧値~第2の充電率SOCの関係データテーブル27から、第2の充電率SOC2が得られ、この値に係数倍器31で係数FCCが乗算されて切替部26に入力される。切替部26は、イグニッションON時に、その前のイグニッションOFFからの経過時間が所定時間を越えているか否かを判定し、超えている場合は係数倍器28の出力値を選択し、超えていない場合は遅延器11の出力値を選択して、切替部26の出力値とする。上記積分器8のリセット誤差の発生要因としては、端子電圧値Vの検出誤差、開放電圧値~第2の充電率SOC2の関係データの誤差、判断の閾値上記判定に用いる所定時間が小さく、端子電圧値Vが開放電圧値に収束していないこと、が挙げられる。一方、ローパスフィルタ6は、第2の充電率算出手段4での推定誤差が取り除かれる。さらに、充電率真値の高周波成分も取り除かれるが、この成分ハイパスフィルタ6の出力値として抽出されるので、充電率算出部7での充電率SOCの算出に支障はない。したがって、ローパスフィルタ6では、充電率真値の直流値~低周波成分値が抽出される。続いて、ハイパスフィルタ5とローパスフィルタ6の時定数の設定方法について説明する。まず、第1段階では、充電率真値、第1の充電率SOC1の推定誤差、第2の充電率SOC2の推定誤差のそれぞれの周波数帯域を調べて、図6の上半分に示すような図を描く。続く第2段階では、第1の充電率SOC1の推定誤差をカットするようにカットオフ周波数を設定する。この段階では、充電率真値の低周波数域もカットされてしまうことになる。続く第3段階では、第2の充電率SOC2の推定誤差をカットするようにカットオフ周波数を設定する。同図に示す例では、充電率真値の一部の帯域もカットされるが、実際上は大きな問題にはならず、図7で説明するシミュレーション結果と同じような効果を得ることができる。なお、図6において、第1の充電率SOC1の推定誤差の周波数帯域と第2の充電率SOC2の推定誤差の周波数帯域とが重ならない場合には、GH=1とすることができる。実施例1の充電率推定装置のシミュレーション結果を図7に示す。なお、ここでは、τ1=08msec、τ2=8secとして、フィルタの時定数を異ならせてある。また、充放電電流検出部1には、5Aのオフセット誤差を加え、バッテリBの満充電容量FCC=356Ah=128クーロンで計算した。電流積算法を用いた第1の充電率算出部3で算出した第1の充電率SOC1と充電率真値とを比較した結果を、図7に示す。この図から分かるように、これら間の誤差は経過時間が増えいくにしたがって増大していくことが分かる。このシミュレーションでは、第1の充電率SOC1は、約500秒で20の誤差、そして60分×356A5A=42分で100の誤差が生じる。開放電圧法を用いた第2の充電率算出部4で算出した第2の充電率SOC2と真値とを比較した結果を、図7に示す。この図から分かるように、これら間の誤差は、経過時間とともに増加していくことはないものの、短い時間で急激な値の大きな変化があることが分かる。実施例1の第2の充電率算出部4で算出した充電率SOCと真値とを比較した結果を、図7に示す。この図から分かるように、これら間の誤差は、経過時間とともに増加していくことはない上、急激に大きく値が変化することもない。したがって、精度よく充電率を推定できることが分かる。以上のように、実施例1のバッテリの充電率推定装置にあっては、以下の効果を得ることができる。1実施例1のバッテリの充電率推定装置は、電流積算法で演算した第1の充電率SOC1をハイパスフィルタ5に通すことで、信頼性の劣るその直流成分から低周波成分をカットするとともに、開放電圧法で演算した第2の充電率SOC2をローパスフィルタ6に通すことで、信頼性の劣るその高周波成分をカットする。そして、充電算出部7で、それぞれ信頼性の高い、ハイパスフィルタ5を通過した第1の充電率SOC1の高周波成分値とローパスフィルタ6を通過した第2の充電率SOC2の低周波数値とを加算することでバッテリBの充電率SOCを得るようにしたので、電流検出誤差等がある場合であっても、より高い精度で充電率SOCを得ることができる。2ハイパスフィルタ5の伝達関数Gとローパスフィルタ6の伝達関数Hとの加算値が1となるようにこれらの伝達関数を設定したので、ハイパスフィルタ5を通過した第1の充電率SOC1の高周波成分値とローパスフィルタ6を通過した第2の充電率SOC2の低周波数値が高い精度で検出されているときは、充電率算出部7で算出する充電率SOCの精度を悪化させることはない。3充電率算出部7では、ハイパスフィルタ5を通過した第1の充電率SOC1の高周波成分値とローパスフィルタ6を通過した第2の充電率SOC2の低周波数値とを加算してバッテリBの充電率SOCを算出するようにしたので、簡単な演算で受電率SOCを得ることができる。4第2の充電率算出部4にはカルマンフィルタを用いているので、容易かつ精度よく第2の充電率SOC2を算出することができる。次に、本発明に係る実施例2のバッテリの充電率推定装置について説明する。なお、実施例2において実施例1と実質的に同じ部品、部分については、実施例1のものと同じ番号を付し、それらの説明を省略する。実施例2のバッテリの充電率推定装置の要部を、図9に示す。充電率推定装置は、充電率算出部29が実施例1のものと異なっており、係数倍器30および加算器31を備えている。係数倍器30は、ハイパスフィルタ5を通過した第1の充電率SOC1の高周波成分値が入力され、この値に係数11を掛けてその乗算値を加算器31へ出力する。加算器31は、係数倍器30の出力値と、ローパスフィルタ6を通過した第2充電率SOC2の低周波成分値とが入力され、これらの値が加算されてバッテリの充電率SOCを出力する。実施例2の充電率推定装置にあっても、実施例1と同様の効果を得ることができる。さらに、ハイパスフィルタ5を通過した第1の充電率SOC1の高周波成分値が11倍されることで、その分、第1の充電率SOC1が大きく評価されてバッテリの充電率SOCが算出されるので、過充電や過放電に対する安全性を向上することができる。以上、本発明を上記各実施例に基づき説明してきたが、本発明はこれらの実施例に限られず、本発明の要旨を逸脱しない範囲で設計変更等があった場合でも、本発明に含まれる。実施例の第2の充電算出装置4ではカルマンフィルタを用いたが、これ以外の適応ディジタルフィルタ等などを用いてもよい。要は、第2の充電算出装置は、開放電圧値VOCVを推定し、この推定開放電圧値VOCVを用いて第2の充電率を算出するものであれば良い。実施例2ではハイパスフィルタ5を通過した第1の充電率SOC1の高周波成分値に掛ける係数を11としたが、この値に限られず、他の値に設定してもよい。また、実施例では、フィルタ5、6伝達関数を、GH=1となるように設定したものの、たとえば、本装置のシミュレーション結果に基づき、この式を満たさない関係に設定してもよい。