エンジンにより駆動される発電機を備えたハイブリッド車両に用いられるトルク制御装置において、前記ハイブリッド車両の走行状態に応じて設定された前記発電機の目標発電電力に基づいて、エンジントルク指令値及び前記発電機の回転数指令値を演算する指令値演算手段と、前記発電機の回転数を検出する回転数検出手段と、前記回転数検出手段により検出された回転数検出値と前記回転数指令値とに基づいて、発電機トルク指令値を演算する発電機トルク指令値演算手段と、前記発電機トルク指令値に基づき、前記発電機の電流指令値を演算する電流指令値演算手段と、前記発電機の入力電流を検出する電流検出手段と、前記電流検出手段により検出された電流検出値を前記電流指令値と一致させるよう前記発電機を制御する電流制御手段とを備え、前記電流制御手段は、前記エンジンの脈動による前記発電機の電圧脈動を抑制する電圧脈動抑止フィルタを有することを特徴とするトルク制御装置。第2の電圧指令値に基づいて、前記発電機を駆動させるインバータをさらに備え、前記電流制御手段は、前記電流指令値と前記電流検出値に基づいて、第1の電圧指令値を演算する電圧指令値演算手段を有し、前記電圧脈動抑止フィルタは、前記第2の電圧指令値を入力として、制御対象をモデル化した制御対象モデルGpsの出力電流を推定する制御対象モデル推定手段と、前記Gpsと、前記エンジンの間欠燃焼周波数を通過周波数とするバンドパスフィルタのモデルGBPFsとを用いたモデルGBPFs/Gpsを含むフィルタとを有し、前記制御対象モデル推定手段により推定された推定値と前記電流検出値との差から前記フィルタを用いて、前記電圧脈動の推定値である電圧脈動推定値を演算し、前記第1の電圧指令値と前記電圧脈動推定値との差から前記第2の電圧指令値を演算することを特徴とする請求項1記載のトルク制御装置。前記通過周波数は、前記回転数検出値に基づいて設定されることを特徴とする請求項2記載のトルク制御装置。前記バンドパスフィルタの通過周波数は、前記インバータへ前記第2の電圧指令値を入力してから前記インバータにより前記発電機の制御電圧を出力するまでの無駄時間、又は、前記電流検出手段の検出遅れによる無駄時間の少なくとも一方の無駄時間に基づいて設定された補正量により、補正されることを特徴とする請求項2又は3記載のトルク制御装置。前記電圧脈動抑止フィルタは、前記バンドパスフィルタの通過周波数を補正することで減少した前記電圧脈動推定値のゲインを調整するゲイン調整手段を有することを特徴とする請求項4記載のトルク制御装置。前記電圧脈動抑止フィルタは、前記インバータへ前記第2の電圧指令値を入力してから前記インバータにより前記発電機の制御電圧を出力するまでの無駄時間、又は、前記電流検出手段の検出遅れによる無駄時間の少なくとも一方の無駄時間に基づいて設定された補正量により、前記電圧脈動推定値の位相を補正するハイパスフィルタを有することを特徴とする請求項2または3に記載のトルク制御装置。前記電圧脈動抑止フィルタは、前記ハイパスフィルタにより前記電圧脈動推定値の位相を補正することで減少した前記電圧脈動推定値のゲインを調整するゲイン調整手段を有することを特徴とする請求項6記載のトルク制御装置。しかしながら、エンジンのトルク脈動により、発電機で発電される電力が変動する、という問題があった。本発明が解決しようとする課題は、発電機で発電される電力の変動を抑制するトルク制御装置を提供することである。本発明は、電流検出手段により検出された電流検出値を電流指令値と一致させるよう発電機を制御する電流制御手段に、エンジンの脈動による発電機の電圧脈動を抑制する電圧脈動抑止フィルタを設けることによって上記課題を解決する。本発明によれば、エンジンのトルク脈動に起因して、発電機の回転数が脈動した場合に、回転数の脈動により発電機で誘起される電圧の脈動が抑制されるため、その結果として、発電機の電力変動を抑制することができる。以下、本発明の実施形態を図面に基づいて説明する。《第1実施形態》図1は、発明の実施形態に係るトルク制御装置を含む車両の概要を示すブロック図である。以下、本例のトルク制御装置をシリーズ型のハイブリッド車両に提供した例を挙げて説明するが、本例のトルク制御装置は、例えばエンジン及びモータを駆動源とするパラレル型のハイブリッド車両にも適用可能である。図1に示すように、本例のトルク制御装置を含む車両は、エンジン1と、発電機2と、回転角センサ3と、発電機インバータ4と、バッテリ5と、駆動インバータ6と、駆動モータ7と、減速機8と、駆動輪9と、エンジンコントローラ21と、発電機コントローラ30と、バッテリコントローラ23と、駆動モータコントローラ24と、システムコントローラ100とを備えている。エンジン1は、ガソリン、軽油その他の燃料を燃焼させてエネルギを出力軸に出力し、エンジンコントローラ21からの制御信号に基づいて、スロットルバルブのバルブ開度や燃料噴射バルブの燃料噴射量等を制御して駆動する。発電機2は、モータであり、エンジン1の出力軸に連結され、エンジン1により駆動される。また発電機2はエンジン1の始動時にエンジン1をクランキングしたり、また発電機2の駆動力を利用してエンジン1を力行回転させることで電力を消費させたりする。回転角センサ3は、発電機2のロータの回転角を検出するレゾルバ等で構成され、発電機2の回転数を検出するセンサであり、検出値を発電機コントローラ30に出力する。発電機インバータ4は、IGBT等のスイッチング素子を複数備え、発電機コントローラ30からのスイッチング信号により当該スイッチング素子のオン及びオフを切り替えることで、発電機2から出力される交流電力を直流電力に変換し、または直流電力から交流電力に逆変換する変換回路である。発電機インバータ4は、バッテリ5及び駆動インバータ6に接続されている。また発電機インバータ4には、後述する電流センサ37が設けられて、電流センサ37の検出値は発電機コントローラ30に出力される。バッテリ5は、発電機インバータ4と駆動インバータ6との間に接続され、駆動インバータ6に電力を供給し、発電機インバータ4からの電力により充電される二次電池である。駆動インバータ6は、発電機インバータ4あるいはバッテリ5から出力される直流電力を交流電力に変換して、駆動モータ7に当該交流電力を出力する変換回路である。駆動インバータ6は、駆動モータコントローラ24の制御信号に基づき制御される。また駆動インバータ6には、図示しない電流センサが設けられて、電流センサなどの検出値は駆動モータコントローラ24に出力される。駆動モータ7は、駆動インバータ6からの交流電力により駆動し、車両を駆動する駆動源である。また駆動モータ7には、図示しない回転角センサが接続され、当該回転角センサの検出値は駆動モータコントローラ24に出力される。駆動モータ7の出力軸は、減速機8及び左右のドライブシャフトを介して、左右の駆動輪9に連結されている。また駆動モータ7は、駆動輪9の回転により、回生駆動力を発生させることで、エネルギを回生する。エンジンコントローラ21は、システムコントローラ100から送信されるエンジントルク指令値及びエンジン1に設けられた空燃比センサ図示しない、酸素センサ図示しないの検出値、温度センサ等に基づいて、スロットルバルブのバルブ開度や燃料噴射バルブの燃料噴射量、点火時期等を設定して、エンジン1を制御するためのコントローラである。発電機コントローラ30は、システムコントローラ100から送信される回転数指令値ωCMD、回転角センサ3の検出値及び発電機インバータ4に設けられている電流センサ37の検出値に基づいて、発電機インバータ4に含まれるスイッチング素子のスイッチング信号を設定して、発電機インバータ4を制御する。バッテリコントローラ23は、バッテリ5の電圧を検出する電圧センサ、バッテリ5の電流を検出する電流センサ等の検出値から、バッテリ5の充電状態SOC:StateofChargeを計測して、バッテリ5の出力可能な電力量及び充電可能な充電電力量を管理する。駆動モータコントローラ24は、システムコントローラ100からの制御信号及び駆動モータ7に設けられる電流センサ図示しないの検出値や回転数に基づいて、駆動インバータを制御する。システムコントローラ100は、発電制御部10を有し、車両全体を制御するコントローラであって、エンジンコントローラ21、発電機コントローラ30、バッテリコントローラ23及び駆動モータコントローラ24を制御する。システムコントローラ100は、エンジンコントローラ21を介してエンジンの状態を管理し、発電機コントローラ30を介して発電機インバータ4の制御状態を管理し、バッテリコントローラ23を介してバッテリ5の状態を管理し、駆動モータコントローラ24を介して駆動インバータ6及び駆動モータ7を管理する。システムコントローラ100は、図示しない車速センサにより検出される車速、図示しないアクセル開度センサにより検出されるアクセルペダル操作量、及び、傾斜センサにより検出される勾配から車両の走行状態を検出して、バッテリ5の入出力可能電力、発電機2の発電電力等に応じて、駆動モータ7に電力を供給するために発電機2で発電される発電電力の目標値を設定する。発電制御部10は、発電電力の目標値Pm以下、目標発電電力と称す。を実現するために、エンジントルク指令値及び発電トルク指令値TCMDを演算する。発電制御部10は、目標発電電力Pmを発電機2で発電させるために、エンジン1で最適なトルクになるよう、エンジントルク指令値及び発電機2の回転数指令値ωCMDを設定し、エンジンコントローラ21及び発電機コントローラ30にそれぞれ出力する。発電制御部10には、目標発電電力Pmに対してエンジン1の最適なトルク特性を示すマップが予め格納されており、発電制御部10は、目標発電電力Pmを入力として当該マップを参照することで、エンジントルク指令値及び発電機2の回転数指令値ωCMDを演算する。次に、図2を用いて、発電機コントローラ30の構成を説明する。図2は発電機コントローラ30、発電機モータ2及び回転角センサ3のブロック図である。発電機コントローラ30は、回転数制御器31、電流指令値演算器32、電流制御器33、非干渉化制御器34、三相二相電流変換器35、二相三相電圧変換器36とを備えている。回転数制御部31は、発電制御部10から送信される回転数指令値ωCMDと回転角センサ3の検出値に相当する、発電機2の回転数検出値ωGとに基づいて、回転数検出値ωGを回転数指令値ωCMDと一致させるための発電機2のトルク指令値TCMDを演算し、当該トルク指令値TCMDを電流指令値演算器32に出力する。なお、回転数制御部31の具体的な構成は後述する。電流指令値演算器32は、トルク指令値TCMD、回転数検出値ωG、及び、バッテリ5から発電機インバータ4に入力される電圧Vdcに基づいて、dp軸電流指令値id、iqを演算し、当該dp軸電流指令値id、iqを出力する。電圧Vdcは、バッテリ5と発電機インバータ4との間に接続されている電圧センサ図示しないにより検出される。電流指令値演算器32には、トルク指令値TCMD、回転数検出値ωG、電圧Vdcを指標として、dq軸電流指令値id、iqを出力するためのマップが格納されている。当該マップは、トルク指令値TCMD、回転数検出値ωG及び電圧Vdcの入力に対して、発電機インバータ4の損失及び発電機モータ2の損失を最小限に抑える最適な指令値を出力するよう対応づけられている。電流指令値演算器32は、当該マップを参照することにより、入力されたトルク指令値TCMD、回転数検出値ωG及び電圧Vdcに対応する、dq軸電流指令値id、iqを演算し、出力する。ここで、dq軸は、回転座標系の成分を示している。電流制御器33は、dq軸電流指令値id、iq、回転数検出値ωG及びdq軸電流id、iqを入力として、制御演算を行い、dq軸電圧指令値Vd、Vqを出力する。なお、電流制御器33の具体的構成は後述する。非干渉化制御器34は、dq軸電圧指令値Vd、Vqに含まれる干渉電圧を打ち消すための非干渉化電圧を算出する。ここで、発電機2として、IPMモータInteriorPermamentMagnetMotorを用いた場合に、発電機2の電圧方程式をdp座標で表現すると、以下の式1により表される。Ldはd軸インダクタンス、Lqはq軸インダクタンス、Raは巻線抵抗、ωreは電気角速度、φaは磁束密度、pは微分演算子である。式1を各成分に分けてラプラス変換して変形すると、次式で表される。ただし、制御対象モデルGpd、Gpqはそれぞれ次式で表される。式2に示されるように、d軸及びq軸に電流が流れると、d軸とq軸との間で干渉し合う速度起電力が発生するため、当該速度起電力を打ち消す非干渉化電圧Vddcpl、Vqdcplを、以下の式4により算出する。非干渉化制御器34は、式4を用いて、非干渉化電圧Vddcpl、Vqdcplを算出して、d軸の減算器341及びq軸の加算器342に出力する。そして、d軸の減算器341により、電流制御器33から出力されるd軸電圧指令値Vdからd軸非干渉化電圧Vddcplを減算し、q軸の加算器342により、電流制御器33から出力されるq軸電圧指令値Vqからq軸非干渉化電圧Vqdcplを加算することで、式2の干渉項が打ち消され、次式が導出される。これにより、d軸とq軸との間で干渉し合うことで発生した速度起電力が打ち消され、d軸の減算器341及びq軸の加算器342により算出されたdp軸電圧指令値V’d、V’qが二相三相電圧変換器36に出力される。電流センサ37は、U相及びV相にそれぞれ設けられ、相電流iu、ivを検出し、三相二相電流変換器35に出力する。三相二相電流変換器35は、入力された相電流iu、ivからw相の相電流iwを算出した上で、固定座標系の相電流iu、iv、iwを回転座標系のdp軸電流id、iqに変換し、当該dp軸電流id、iqを電流制御器33及び非干渉化制御器34に出力する。二相三相電圧変換器36は、回転座標系のdq軸電圧指令値V’d、V’qを固定座標系のu、v、w軸の電圧指令値Vu、Vv、Vwに変換し、発電機インバータ4に出力する。発電機インバータ4は、入力される電圧指令値Vu、Vv、Vwに基づき、発電機インバータ4に含まれるインバータ回路のスイッチング素子のスイッチング信号を生成し、当該スイッチング素子のPWM制御を行う。そして、当該スイッチング素子のスイッチング動作により、直流電圧を交流電圧Vu、Vv、Vwに変換し、電動機モータ2に出力する。次に、図3を用いて、回転数制御器31の具体的な構成を説明する。図3は回転数制御器31のブロック図である。回転数制御器31は、補償器311と、回転脈動除去フィルタ312とを備えている。補償器311はPID補償器で構成され、以下の式6を用いて、発電機トルク指令値TCMD出力する。ただし、KPは比例ゲイン、KIは積分ゲイン、KDは微分ゲイン、TDは近似微分の時定数、sはラプラス演算子である。また回転数指令値ωCMDは目標発電電力に応じて変化する。後述するように、回転数演算値ωpは発電機2の回転数を回転脈動除去フィルタ312に通し、フィードバック制御することで演算される値であり、補償器311は、式6を用いることで、回転数演算値ωpを回転数指令値ωCMDに一致させるように、発電機トルク指令値TCMDを演算する。回転脈動除去フィルタ312は、エンジン1のトルク脈動に起因する回転数の脈動成分を除去するためのフィルタであり、回転数検出値ωGから回転数脈動成分を除去した回転数演算値ωpを演算する。回転脈動除去フィルタ312は、制御対象モデルGp312a、減算器312b、312f、312hと、バンドパスフィルタ312cと、ハイパスフィルタ312d、312eと、加算器312gとを備えている。制御対象モデル312aは、本例における制御対象をモデル化線形化した伝達関数によって表され、以下の式2で表される。Jは発電機2、エンジンクランクシャフト系の合計イナーシャ、Dは潤滑油の粘性摩擦係数である。制御対象モデル312aは、発電機トルク指令値TCMDを入力として、式7を用いて、推定値GpTCMDを推定する。減算器312bは、回転角センサ3の検出値に相当する、発電機2の回転数検出値ωGから制御対象モデル312aの推定値を減算し、回転数ω1をバンドパスフィルタ312c及びハイパスフィルタ312dに出力する。すなわち、回転数ω1は以下の式8により演算される。バンドパスフィルタ312cは、エンジン1のトルク脈動に起因し、発電機2の回転数に含まれる脈動成分をフィルタリングするためのフィルタであり、少なくともエンジン1の間欠燃焼周波数を通過周波数とするフィルタにより構成され、回転数の脈動値成分を除去するためのフィードバック要素となる。バンドパスフィルタ312cの伝達特性GBPFは以下の式9により表される。ζmは減衰係数である。ωnは固有振動数であり、バンドパスフィルタ312cの通過周波数のうち、中心周波数に相当する。固有振動数ωnは、エンジン1の間欠燃焼周波数と一致するように調整される周波数である。エンジン1の間欠燃焼周波数は、多気筒のエンジン1の燃焼周期により設定される周波数である。固有振動数ωnは、エンジン1が4気筒のエンジンである場合に、回転数検出値ωGを用いて以下の式10により表される。なお、ωnの単位はrad/s、ωGまたはωCMDの単位はrad/sである。そして、減衰器312bの出力値である回転数ω1がバンドパスフィルタ312cを通過し、バンドパスフィルタ312cから出力される回転数ω2が出力される。回転数ω2は、式11により表される。回転数ω2は、回転数検出値ωGの脈動量に相当し、回転数脈動値ωsに相当する。ハイパスフィルタ312dは、回転数検出値ωGから、エンジン1のピストン及びクランク機構の往復動を起因としたトルク脈動によって生じる回転数の脈動成分及び高周波ノイズ成分をフィルタリングするためのフィルタであり、回転数ω1を入力として、伝達関数GHPFで示されるフィルタを通して、回転数ω3を出力する。ωHはハイパスフィルタ136のカットオフ周波数であり、エンジン1の間欠燃焼周波数より高い周波数に設定される。そして、ピストン及びクランク機構の往復動を起因としたトルク脈動に起因する回転数脈動及び高周波ノイズに相当する回転数ω3は以下の式13により算出される。ハイパスフィルタ312eは、回転数ω3に含まれ、エンジン1の間欠燃焼を起因としたエンジントルク脈動によって生じる回転数の脈動成分をフィルタリングするフィルタである。フィルタの伝達関数は、ハイパスフィルタ312dの伝達関数GHPFと同様である。当該脈動成分に相当する回転数ω4は以下の式14により算出される。減算器312fは回転数ω3から回転数ω4を減算し、加算器312gは回転数ω2に減算器312fの演算値を加算する。そして、減算器312hにより、回転数検出値ωGから、加算器312gの演算値を減算することで、回転数検出値ωGから、エンジン間欠燃焼に起因する回転数脈動と、ピストンクランク機構の往復慣性力に起因する回転数脈動や高周波ノイズ成分とが減算され、回転数演算値ωpが式15により算出される。次に、図4を用いて、電流制御器33の具体的な制御構成を説明する。図4は電流制御器33のブロック図であり、式5の等価モデルを示す。電流制御器33は、PI制御器331と電圧脈動抑止フィルタ332とを備えている。図4に示すように、電流制御器33で演算された電圧指令値Vd、Vqに、外部から入力された脈動外乱dを加算した指令値に基づいて、制御対象モデルGpsにより示される発電機2及びエンジン1が駆動され、駆動時の発電機2の電流が電流センサ37により検出される。そして、電流検出値id、iqが電流演算器33にフィードバックされる。PI制御器331は、dp軸電流指令値id、iqと、電流センサ37の検出値に相当するdp軸電流id、iqとに基づいて、次式16を用いて、dp軸電流id、iqをdp軸電流指令値id、iqに一致させるための第1の電圧指令値Vd、Vqを演算する。ただし、KPd、KPqは比例ゲイン、Kid、Kiqは積分ゲインである。PI制御器331により演算された第1の電圧指令値Vd、Vqは電圧脈動抑止フィルタ332に出力される。電圧脈動抑止フィルタ332は、減算器332b、332dと、制御対象モデル332aと、フィルタ332cとを有している。制御対象モデル332aは、式7で示される伝達関数Gpsを有し、後述する第2の電圧指令値Vd、Vqを入力として、制御対象モデルGpsからの出力電流を推定する。減算器332bは、電流検出値id、iqから制御対象モデル332aの推定値を減算し、演算値をフィルタ332cに出力する。フィルタ332cは、制御対象モデルGpsと、バンドパスフィルタの伝達関数GBPFsで示されるモデルとを用いたモデルGBPFs/Gpsをフィルタ特性にもつフィルタである。バンドパスフィルタGBPFsは次式の伝達特性を有する。ζmは減衰係数である。ωnは固有振動数であり、バンドパスフィルタの通過周波数のうち、中心周波数に相当する。固有振動数ωnは、エンジン1の間欠燃焼周波数と一致するように調整される周波数である。固有振動数ωnは、エンジン1が4気筒のエンジンである場合に、回転数検出値ωGを用いて以下の式18により表される。なお、ωnの単位はrad/s、ωGまたはωCMDの単位はrad/sである。すなわち、式18に示すように、フィルタ332cに含まれるバンドパスフィルタの通過周波数固有振動数ωnに相当は、回転数検出値ωGに基づいて設定される。そして、減算器332bの演算値を伝達関数GBPFs/Gpsで示されるフィルタ332cを通すことで、次式のように脈動外乱推定値を演算する。ただし、、は脈動外乱推定値である。脈動外乱推定値は、エンジンのトルク脈動に起因して、発電機2で誘起される電圧の脈動成分に相当する。そして、減算器332dにより、第1の電圧指令値Vd、Vqから脈動外乱推定値を減算することで、次式20で示されるように、第2の電圧指令値Vd、Vqを演算する。第2の電圧指令値Vd、Vqは、dq軸電流指令値Vd、Vqに相当し、二相三相電圧変換器36に出力され、発電機インバータ4を制御するための指令値となる。これにより、フィルタ332cによって、エンジンのトルク脈動に起因して、発電機2で誘起される電圧の脈動が抽出され、減算器332dによって電圧指令値Vd、Vqから電圧脈動を除去することで、電圧脈動が抑制される。次に、本例のトルク制御装置において、電圧脈動外乱dを印加した場合のdq軸電流id、iqの特性を、シミュレーション結果である図5を用いて説明する。図5はdq軸電流id、iqの時間特性を示すグラフである。図5のうち、グラフaは本例のトルク制御装置の特性を示し、グラフbは本例に対する比較例であり、電圧脈動抑止フィルタ332を用いたトルク制御を行わない場合の特性である。図5に示すように、比較例では、脈動外乱に伴ってdq軸電流が脈動している。一方、本例ではdq軸電流の脈動が抑制されている。上記のように、本例において、電流検出値id、iqを電流指令値id、iqと一致させるよう発電機2を制御する電流制御器33は、エンジン1の脈動による発電機2の電圧脈動を抑制する電圧脈動フィルタ332を有している。これにより、エンジントルク脈動に起因する電圧の脈動を抑制した上でトルクを制御するため、発電機2の発電電力の変動を抑制することができる。本例と異なり回転脈動除去フィルタ312を用いることなく、回転数指令値と回転数検出値とが一致するように、発電機2のトルクを制御した場合には、発電機トルクの応答遅れやセンサの検出遅れが存在するため、通常の発電領域では回転数の脈動を抑制することができない。そのため、回転数脈動により、発電機モータに発生する誘起電圧が脈動し、発電電力が変動してしまう。また本例とは異なる比較例として、トルク制御装置に、エンジンの脈動を起因とした回転数の脈動成分を除去するフィルタのみを設けた場合には、回転数の脈動が抑制されるため、発電機2のトルク脈動は発生しない。しかし、エンジンのトルク脈動に起因して、発電機モータで発生する誘起電圧が脈動するため、発電電力の脈動が発生してしまう。本例では、上記のように、エンジン1のトルク脈動により発電機2の誘起電圧が脈動したとしても、電圧脈動抑止フィルタ332により電圧脈動が抑制されるため、発電機2における発電電力の変動を防ぐことができる。また本例において、電圧脈動抑止フィルタ332は、伝達関数GBPFs/Gpsで表されるフィルタを有し、第2の電圧指令値Vd、Vqを入力として制御対象モデルGpsの出力電流の推定値を推定し、当該推定値と電流検出値id、iqとの差から当該フィルタを用いて、脈動外乱推定値を演算し、第1の電圧指令値Vd、Vqと脈動外乱推定値との差から第2の電圧指令値Vd、Vqを演算する。これにより、伝達関数GBPFsで表されるバンドパスフィルタは、エンジン1の間欠燃焼周波数を通過周波数としているため、フィルタGBPFs/Gpsにより、エンジン1のトルク脈動に起因する電圧脈動を推定することができる。そして、電圧指令値から推定した電圧脈動を減算することで、電圧脈動が除去され、電流脈動の発生を抑制することでき、その結果として、発電電力の変動を抑制することができる。また本例において、フィルタ332cに含まれるバンドパスフィルタの通過周波数固有振動数ωnに相当は、回転数検出値ωGに基づいて設定される。これにより、エンジン1の回転数に応じてエンジン1の間欠燃焼周波数が変化した場合でも、回転数検出値に応じてバンドパスフィルタの中心周波数が調整されるため、エンジン1の回転数に応じて電圧脈動を抑制することができ、発電電力の変動を抑制することができる。なお、本例は回転数制御器31に回転脈動除去フィルタ312を設けたが、必ず回転脈動除去フィルタ312を設ける必要はなく、少なくとも電流制御器33に電圧脈動抑止フィルタ332を設ければよい。上記発電制御部10が本発明に係る指令値演算手段に相当し、回転角センサ3が本発明の回転数検出手段に、回転数制御器31が本発明の発電機トルク指令値演算手段に、電流指令値演算器32が本発明の電流指令値演算手段に、電流センサ37が本発明の電流検出手段に、少なくとも電流制御器33を含む制御部分が本発明の電流制御手段に、PI制御器331が電圧指令値演算手段に、発電機インバータ4が本発明のインバータに、制御対象モデルGps332aが本発明の制御対象モデル推定手段に相当し、脈動外乱推定値が電圧脈動推定値に相当する。《第2実施形態》図6は、発明の他の実施形態に係るトルク制御装置に含まれる電流制御器33のブロック図を示す。本例では上述した第1実施形態に対して、バンドパスフィルタの通過周波数を補正する点が異なる。これ以外の構成は上述した第1実施形態と同じであるため、その記載を援用する。図6に示される遅れ時間e-st1は、発電機インバータ4に電圧指令値が入力されてから、発電機インバータ4が実際にモータ2を制御するための電圧指令値を出力するまでの応答時間による遅れ時間を示している。また遅れ時間e-st2は電流センサ37における検出遅れによる遅れ時間を示している。以下、発電機インバータ4における電圧出力応答の無駄時間をt1とし、電流センサ37の電流検出に伴う時間遅れをt2とし、エンジン1の間欠燃焼周波数をωnとし、位相補正後のバンドパスフィルタの中心周波数ωcを算出する。まずωnにおける無駄時間分の位相補正量φは式21により算出される。フィルタ332cに含まれるバンドパスフィルタGBPF’sは式22で表される。式22にs=jωを代入すると、式23のように整理される。そして、式24の二次方程式を解くと、位相補正後のバンドパスフィルタの中心周波数ωcは式25で表される。フィルタ322cにおいて、バンドパスフィルタの中心周波数を式25に基づいてシフトさせた場合に、バンドパスフィルタGBPF’sからの出力ゲインが、間欠燃焼周波数ωnにおいて減少する。そのため、本例では、フィルタ332cの出力側に、ゲイン調整器332fを設けている。ゲイン調整器332fに、ゲインK’を設定することで、バンドパスフィルタGBPF’sの中心周波数の補正によるゲイン減少を補正する。バンドパスフィルタGBPF’sの間欠燃焼周波数ωnにおけるゲインは、式23及び式25により、式26で表される。そして式26から、ゲイン調整部332fのゲインK’は式27により表される。次に、図7を用いて、バンドパスフィルタGBPF’sのゲイン特性及び位相特性を説明する。図7はバンドパスフィルタGBPF’sのボード線図であって、aはゲイン特性をbは位相特性を示す。またグラフGBPFは位相補正前の特性を、グラフGBPF’は位相補正後の特性を、グラフK’GBPF’はゲイン調整後の特性を示す。図7に示すように、バンドパスフィルタGBPFsの中心周波数ωnを、位相補正量φで補正して、中心周波数ωcとすると、バンドパスフィルタGBPF’sの特性はシフトされる。この時、バンドパスフィルタGBPF’sのゲイン特性について、周波数ωnに対応するゲインは、補正前と比較して減少している。そのため、ゲイン減少分に相当するゲインK’を、バンドパスフィルタGBPF’sのゲイン特性に乗算することで、周波数ωnに対応するゲインは、位相補正前のゲインと等しくなる。これにより、本例は、発電機インバータ4の応答時間による時間遅れ及び電流センサ37の電流検出による時間遅れによって、実際の電圧脈動の位相がずれた場合に、フィルタ332cに含まれるバンドパスフィルタGBPF’sの通過周波数を補正することで、電圧脈動の位相と、フィルタ332cから出力される脈動外乱推定値の位相とを一致させることができる。また、本例は、ゲイン調整部332fによりゲイン調整することで、上記の位相補正により、間欠燃焼周波数ωnのゲイン減少を補正する。上記のように、本例の電圧脈動抑止フィルタ332において、バンドパスフィルタの通過周波数は、発電機インバータ4へ電圧指令値を入力してから発電機インバータ4により発電機2の制御電圧Vu、Vv、Vwを出力するまでの無駄時間t1及び電流センサ37の検出遅れによる無駄時間t2に基づいて設定された補正量φにより補正されている。これにより、無駄時間t1、t2によって生じる位相遅れが補正されるため、脈動外乱推定値の位相と電圧脈動の位相を一致させることができ、発電電力の変動を抑制することができる。また、本例において、電圧脈動抑止フィルタ332は、バンドパスフィルタの通過周波数を補正することで減少した脈動外乱推定値のゲインを調整するゲイン調整器332fを有している。これにより、脈動外乱推定値の振幅と電圧脈動の振幅とを一致させることができ、発電電力の変動を抑制することができる。なお本例において、位相補正量φは、無駄時間t1及び無駄時間t2に基づいて設定されたが、無駄時間t1又は無駄時間t2の少なくともいずれか一方の無駄時間に基づいて設定すればよい。上記のゲイン調整器332fが本発明のゲイン調整手段に相当する。《第3実施形態》図8は、発明の他の実施形態に係るトルク制御装置に含まれる電流制御器33のブロック図を示す。本例では上述した第2実施形態に対して、電圧脈動抑止フィルタ332にハイパスフィルタ332h及びゲイン調整器332hを設ける点が異なる。これ以外の構成は上述した第1実施形態と同じであるため、第1又は第2実施形態の記載を適宜、援用する。ハイパスフィルタ332gはフィルタ332cの出力側に設けられ、ゲイン調整部332hはハイパスフィルタ332gの出力側に設けられる。そして、ゲイン調整部332hの出力値が減算器332dに出力される。無駄時間t1、t2によって、実際の電圧脈動の位相がずれた場合には、フィルタ332cから出力される脈動外乱推定値の位相と電圧脈動の位相とが不一致になってしまい、位相がずれた推定値に基づいてフィードバック制御を行ったとしても、脈動電圧が十分に抑制できない可能性がある。そのため、本例では、フィルタ332cの出力を、ハイパスフィルタ332に通すことで、位相補正を行う。ハイパスフィルタ332gのフィルタ特性GHPFsは式28で表される。ただし、ωHはハイパスフィルタ332gのカットオフ周波数である。式28にs=jωを代入すると、式29のように整理される。そして、式29に式30を代入し、ハイパスフィルタGHPFsの周波数ωHにおけるゲインは、式31により表される。式31で示されるように、フィルタ332cの出力側にハイパスフィルタ332gを設けることで位相補正を行った場合には、周波数ωHにおけるゲインが減少する。そのため、本例ではゲイン調整器332hを設けて、位相補正によるゲイン減少を補正する。ゲイン調整器332hのゲインKは式32により表される。次に、図9を用いて、フィルタ332c、ハイパスフィルタ332g及びゲイン調整器332hにより形成されるフィルタのゲイン特性及び位相特性を説明する。図9はフィルタ332c、ハイパスフィルタ332g及びゲイン調整器332hにより形成されるフィルタのボード線図であって、aはバンドパスフィルタ332cのゲイン特性及び位相特性を、bはハイパスフィルタ332gのゲイン特性及び位相特性を、cはフィルタ332c、ハイパスフィルタ332g及びゲイン調整器332hにより形成されるフィルタのゲイン特性及び位相特性を示す。また図7cにおいて、グラフGHPFGBPFはゲイン調整前の特性を、グラフKGHPFGBPFはゲイン調整後の特性を示す。図9bに示すように、バンドパスフィルタの中心周波数ωnにおいて、ハイパスフィルタ332gのゲインは、ゲインK分、減少している。そして、図9cに示すように、バンドパスフィルタのゲインとハイパスフィルタ332gのゲインとを積算したゲイン特性GHPFGBPFは、バンドパスフィルタの中心周波数ωnにおいて、0dBより小さくなっているが、ゲイン調整部332hによりゲイン調整したゲイン特性KGHPFGBPFでは、周波数ωnのゲインが0dBになっている。次に、本例のトルク制御装置において、電圧脈動外乱dを印加した場合のdq軸電流id、iqの特性を、シミュレーション結果である図10を用いて説明する。図10はdq軸電流id、iqの時間特性を示すグラフである。図5のうち、グラフaは本例のトルク制御装置の特性を示し、グラフbは本例に対する比較例であり、電圧脈動抑止フィルタ332を用いたトルク制御を行わない場合の特性である。図10に示すように、比較例では、脈動外乱に伴ってdq軸電流が脈動している。一方、本例ではdq軸電流の脈動が抑制されている。上記のように、本例において、脈動電圧抑止フィルタ332は、発電機インバータ4へ電圧指令値を入力してから発電機インバータ4により発電機2の制御電圧Vu、Vv、Vwを出力するまでの無駄時間t1及び電流センサ37の検出遅れによる無駄時間t2に基づいて設定された補正量φにより脈動外乱推定値の位相を補正するハイパスフィルタ332gを有する。これにより、無駄時間t1、t2によって生じる位相遅れが補正されるため、脈動外乱推定値の位相と電圧脈動の位相を一致させることができ、発電電力の変動を抑制することができる。また、第2の実施形態に係る脈動電圧抑止フィルタ332では、フィルタ332cに含まれるバンドパスフィルタの減衰係数を小さくした場合に、エンジン1の間欠燃焼周波数ωnにおけるゲインの減少幅が大きくなってしまう。一方、本例では、第2の実施形態に係るフィルタ332cと比較して、エンジン1の間欠燃焼周波数ωnにおけるゲインの減少幅を小さくすることができるため、バンドパスフィルタの減衰係数に依存することなく位相を補正することができる。本例において、電圧脈動抑止フィルタ332は、ハイパスフィルタ332gにより脈動外乱推定値の位相を補正することで減少したゲインを調整するゲイン調整器332hを有している。これにより、脈動外乱推定値の振幅と電圧脈動の振幅とを一致させることができ、発電電力の変動を抑制することができる。また、第2の実施形態に係る脈動電圧抑止フィルタ332では、位相補正後の中心周波数ωcにおけるバンドパスフィルタのゲインが0dBより高くなり、中心周波数ωcの信号が増幅される。かかる状態で、エンジン1の回転数が変化した場合には、回転角センサ3の検出遅れにより、回転数の変化に対してバンドパスフィルタの中心周波数の補正が遅れる可能性がある。そのため、バンドパスフィルタの中心周波数と電圧脈動周波数とがずれてしまい、電圧脈動を推定することができない可能性がある。一方、本例では、ゲイン調整器332hによるゲイン調整によって、エンジン間欠燃焼周波数ωn付近でゲインが0dBより大きくならないため、脈動外乱推定値が増幅せず、発電電力の変動を抑制することができる。なお本例において、位相補正量φは、無駄時間t1及び無駄時間t2に基づいて設定されたが、無駄時間t1又は無駄時間t2の少なくともいずれか一方の無駄時間に基づいて設定すればよい。上記のゲイン調整器332hが本発明のゲイン調整手段に相当する。