(57)【特許請求の範囲】
【請求項１】
モータ（６）に出力される駆動信号の基本周波数に対する高調波の集合を、基底ベクトルとして生成し出力する基底ベクトル出力部（２，２２，３２，６２）と、
前記モータの駆動時に発生するノイズを検出するノイズセンサ（９，１１，１２）より得られる検出信号とステップサイズパラメータμとを用いた誤差最小化演算を行うことで、前記基底ベクトルにそれぞれ対応する係数を更新しながら生成する係数生成部（３，２３）と、
前記基底ベクトルと各基底ベクトルに対応する係数との積和演算を行う積和演算部（４，２４）とを備え、
前記演算の結果として得られた信号を前記駆動信号に加算するか又は前記駆動信号より減算することで、前記ノイズをキャンセルするモータノイズキャンセル装置。
【請求項２】
前記基底ベクトル出力部（３２）は、前記基底ベクトルとして、それぞれに対応する高調波を基本波とする矩形波信号を出力する請求項１記載のモータノイズキャンセル装置。
【請求項３】
前記駆動信号が正弦波状であるものに適用される請求項１又は２記載のモータノイズキャンセル装置。
【請求項４】
前記駆動信号が矩形波であるものに適用される請求項１又は２記載のモータノイズキャンセル装置。
【請求項５】
前記基底ベクトル出力部（２２）は、各基底ベクトルとして、周波数が等しく且つ位相が異なる少なくとも２種類のベクトルを生成する請求項１から４の何れか一項に記載のモータノイズキャンセル装置。
【請求項６】
前記２つのベクトルの位相差が９０°である請求項５記載のモータノイズキャンセル装置。
【請求項７】
前記検出信号に前記駆動信号を乗算した結果を、前記係数生成部に入力する乗算器（３３）を備える請求項１から６の何れか一項に記載のモータノイズキャンセル装置。
【請求項８】
前記駆動信号の周波数を、前記モータの極対数倍して前記乗算器に与える請求項７記載のモータノイズキャンセル装置。
【請求項９】
前記乗算を行うに当たり、前記検出信号と前記各基底ベクトルとの少なくとも一方を符号で示すことにより簡略化する請求項７記載のモータノイズキャンセル装置。
【請求項１０】
前記基底ベクトル出力部（６２）は、前記モータが３相構成である際に、前記基本周波数に対する３倍高調波に対応する基底ベクトルの出力を停止する請求項１から９の何れか一項に記載のモータノイズキャンセル装置。
【請求項１１】
前記係数生成部（３）は、前記モータが３相構成である際に、次数が３の倍数である基底ベクトルに対応する係数の上限を、その他の基底ベクトルに対応する係数よりも低く設定する請求項１から９の何れか一項に記載のモータノイズキャンセル装置。
【請求項１２】
前記係数生成部（３）は、前記モータが３相構成である際に、次数が３の倍数である基底ベクトルに対応するステップサイズパラメータμの値を、その他の基底ベクトルに対応する値よりもより小さく設定する請求項１から９の何れか一項に記載のモータノイズキャンセル装置。
【請求項１３】
前記ステップサイズパラメータμを、２のべき乗で表される値に設定する請求項１から１２の何れか一項に記載のモータノイズキャンセル装置。
【請求項１４】
前記ノイズセンサがマイク（１１）である請求項１から１３の何れか一項に記載のモータノイズキャンセル装置。
【請求項１５】
前記ノイズセンサが加速度センサ（１２）である請求項１から１３の何れか一項に記載のモータノイズキャンセル装置。
【請求項１６】
前記ノイズセンサが回転速度センサ（９）である際に、当該回転速度センサより得られる検出信号を微分する微分器（１４）を備え、
前記微分器による微分結果を前記係数生成部に入力する請求項１から１３の何れか一項に記載のモータノイズキャンセル装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの駆動時に発生するノイズを検出する装置に関する。
【背景技術】
【０００２】
モータは、一般的にコイルとコイル、又はコイルと鉄等の強磁性金属、若しくはコイルと永久磁石との間の磁気的な吸引力・反発力を用いて回転力を生成している。モータで回転力を生じさせる磁気的な吸引力・反発力は、回転力以外に機械的な変形力も生じさせため、
http://eprints.whiterose.ac.uk/891/1/zhuzq22.pdf
に示されるように、この機械的な変形力が機械的な共振を誘起し、大きなノイズを発生させる。
【０００３】
また、磁気的な吸引力・反発力が回転方向に対し一定で無いために、コギングやトルクリップルと呼ばれる回転子の回転方向に対する振動現象も発生し、これらも振動やノイズの発生原因となる。この対策として、非特許文献１に示されるように、機械的な共振の発生を抑制する構造の工夫がなされている。
【０００４】
また非特許文献２では、筐体の振動を低減するため、コイルの駆動信号として矩形波ではノイズが大きいが、その高調波を減らすことでノイズが低下することが示唆されている。同様に非特許文献３では、コギングを低減するため高調波を意図的に注入している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Nau, Sebastiao Lauro, and Hugo Gustavo Gomez Mello. "Acoustic noise in induction motors: causes and solutions." Petroleum and Chemical Industry Conference, 2000. Record of Conference Papers. Industry Applications Society 47th Annual. IEEE, 2000.
【非特許文献２】(論文A)Cameron, Derrick E., Jeffrey H. Lang, and Stephen D. Umans. "The origin and reduction of acoustic noise in doubly salient variable-reluctance motors." Industry Applications, IEEE Transactions on 28.6 (1992): 1250-1255.
【非特許文献３】Stephenson, J. M., A. Hughes, and R. Mann. "Torque ripple minimization in a switched reluctance motor by optimum harmonic current injection." Electric Power Applications, IEE Proceedings-. Vol. 148. No. 4. IET, 2001.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１のように構造的な対策を行うと、筐体設計の自由度を下げてしまう問題がある。また、非特許文献２では、高調波を低減するための具体的な手法が開示されていない。そして、非特許文献３では、注入する高調波の振幅及び位相をシミュレーションで決定しているので、高精度なシミュレーションモデルが無い限りノイズを十分に低減することは困難である。また個体差や温度変動，回転数依存等によりノイズが変動する際には、それらについても予めモデル化できていなければ対応できないという問題がある。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、モータの駆動時に発生するノイズを、より容易な手法で低減できるモータノイズキャンセル装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載のモータノイズキャンセル装置によれば、基底ベクトル出力部は、モータに出力される駆動信号の基本周波数に対する高調波の集合を、基底ベクトルとして生成し出力する。係数生成部は、モータの駆動時に発生するノイズを検出するノイズセンサより得られる検出信号とステップサイズパラメータμとを用いた誤差最小化演算を行うことで、各基底ベクトルにそれぞれ対応する係数を更新しながら生成する。ここで、「モータの駆動時に発生するノイズ」は「振動」等も含むものとする。また、「誤差最小化演算」とは、最小二乗法を用いたＬＭＳアルゴリズムや、その応用であるNormalized ＬＭＳアルゴリズム，sign-signＬＭＳアルゴリズム等も含むものとする。
【０００９】
そして、積和演算部が基底ベクトルと各基底ベクトルに対応する係数との積和演算を行うと、演算結果として得られた信号と前記駆動信号とを加算又は減算することで、モータの駆動時に発生するノイズをキャンセルする。すなわち、ノイズセンサより得られる検出信号は、モータの駆動系にノイズが含まれる結果として誤差信号となる。これに対して係数生成部が誤差最小化演算を行い、各基底ベクトルに対応する係数を更新することで、前記誤差信号がゼロレベルに近付くようになり、モータの駆動時に発生するノイズが低減される。したがって、事前に高精度なシミュレーションモデルを用意したり、そのモデルについて個別のノイズの変動要素等を予め考慮して変形等を加える必要が無く、モータの駆動時に発生するノイズをリアルタイム処理によって低減できる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態であり、ノイズキャンセル装置の構成を示す機能ブロック図
【図２】ノイズセンサの取り付け状態を例示する図
【図３】モータ回転速度の変動状態を示す図
【図４】微分回路の配置を示す図１の一部相当図
【図５】論文ＡのＦｉｇ．２に開示されている送信波と受信波との関係を示す図
【図６】論文ＡのＦｉｇ．３に開示されているエコーキャンセラを示す図
【図７】送信波と、その反射との関係を示す図
【図８】ＦＩＲフィルタを模擬して行う積和演算を説明する図
【図９】モータの回転周波数の時間波形及び周波数スペクトラムを示す図
【図１０】モータの回転周波数及びその高調波成分に、図８に示す積和演算を適用したものを示す図
【図１１】第２実施形態であり、ノイズキャンセル装置の構成を示す機能ブロック図
【図１２】図８に示す積和演算を適用したものを示す図
【図１３】シミュレーションに使用したモータ駆動信号及びノイズの波形を示す図（条件１）
【図１４】シミュレーションで生成した波形とノイズ波形とを示す図（条件１）
【図１５】シミュレーションで得られた係数を示す図（条件１）
【図１６】シミュレーションに使用したモータ駆動信号及びノイズの波形を示す図（条件２）
【図１７】シミュレーションで生成した波形とノイズ波形とを示す図（条件２）
【図１８】シミュレーションで得られた係数を示す図（条件２）
【図１９】第３実施形態であり、ノイズキャンセル装置の構成を示す機能ブロック図
【図２０】矩形波の基底ベクトルを用いた積和演算を示す図
【図２１】シミュレーションに使用したモータ駆動信号及びノイズの波形を示す図
【図２２】シミュレーションで生成した波形とノイズ波形とを示す図
【図２３】シミュレーションで得られた係数を示す図
【図２４】第４実施形態であり、ノイズキャンセル装置の構成の一部を示す機能ブロック図
【図２５】第５実施形態であり、ノイズキャンセル装置の構成を示す機能ブロック図
【図２６】第６実施形態であり、ノイズキャンセル装置の構成を示す機能ブロック図
【図２７】シミュレーションに使用したモータ駆動信号及びノイズの波形を示す図
【図２８】シミュレーションで生成した波形とノイズ波形とを示す図
【図２９】シミュレーションで得られた係数を示す図
【図３０】第７実施形態であり、ノイズキャンセル装置の構成の一部を示す機能ブロック図
【図３１】第８実施形態であり、３相モータを駆動する場合の駆動信号とその４倍高調波成分とを示す波形図
【図３２】同駆動信号とその３倍高調波成分とを示す波形図
【図３３】ノイズキャンセル装置の構成を示す機能ブロック図
【発明を実施するための形態】
【００１１】
（第１実施形態）
先ず、本実施形態の原理について説明する。一般に、デジタル信号処理によるノイズ低減技術として、例えば下記の論文Ａに示されているような、全２重通信で用いられるエコーキャンセラがある。
https://www.researchgate.net/profile/Hector_PerezMeana/publication/4186057_Adaptive_echo_canceller_using_a_modified_ＬＭＳ_algorithm/links/
54b74bb50cf24eb34f6e9ebf.pdf
【００１２】
図５に示すように、受信信号Rx signalとしてTx2 signalだけを受信したいが、そこに、送信信号Tx1 signalの反射成分であるTx1 signal*がノイズとして混在することがある。このノイズ成分をキャンセルするため、エコーキャンセラでは、図６に示すように、ＦＩＲ（Finite Impulse Response）フィルタにより構成されたEcho Cancellerブロックで補正信号ｙ（Ｔ）を生成する。このｙ（Ｔ）とノイズ成分であるｄ（Ｔ）との差分であるｅ（Ｔ）が０になるように、Echo Cancellerブロックの係数を調整する。
【００１３】
この係数の調整手法として、上記論文Ａには（１）式のようなＬＭＳ（Least Mean Square）アルゴリズムを用いることが開示されている。当該技術分野では、このようなＬＭＳアルゴリズムやその変形のアルゴリズムが一般的に用いられる。ＬＭＳアルゴリズムを用いると、Tx1 signalが入力された際に、そのエコーと同じ特性を有するＦＩＲフィルタの係数を決定できる（原理１）。
ｗ（Ｔ＋１）＝ｗ（Ｔ）＋μｘ（Ｔ）ｅ（Ｔ）  …（１）
ｗ（Ｔ＋１）：次回のフィルタ係数
ｗ（Ｔ）：現在のフィルタ係数
ｘ（Ｔ）：入力信号
ｅ（Ｔ）：フィルタ誤差信号
μ：ステップサイズパラメータ
【００１４】
以下、本技術を応用してモータの駆動時に発生するノイズをキャンセルする原理を説明する。図７に示すTx1 signal*はTx1 signalとは波形が異なるが、Tx1 signal*の波形はTx1 signalの遅延成分の和として示すことができる。図７（ａ）にTx1 signalとそのエコーであるTx1 signal*とを示す。両者は波形が異なるが、図７（ｂ）に示すように、波形を分解して１つの孤立pulseに対するエコーを見ると、遅延された信号と、ある割合で振幅の変動を受けた信号との加算であることが分かる。そして、図７（ａ）に示すように振幅がランダムに変化する波形は、このような孤立pulseが複数加算されたものとなっている。
【００１５】
図７（ｂ）から分かるように、この遅延させたpulseにある係数を掛けたものの和という特性はＦＩＲフィルタを用いて模擬することができる。ＦＩＲフィルタを適用することで、ランダムに変化する波形についてもエコーの再現が可能になる。このＦＩＲフィルタを模したエコーキャンセラでは、図８に示すように、様々な時間で遅延させた信号に対し、最適な振幅の変動（ｗ＿１〜ｗ＿ｎ）を求めれば良い。
【００１６】
ここで、図８に示す複数の入力信号は、相互に時間方向にシフトしているが、同一時刻同士では相関が無い、つまり時間方向では独立した基底ベクトルと見なせる。よって、それぞれの基底ベクトルの和となる様な係数を求めるのがＬＭＳアルゴリズムであると見なせる。換言すれば、ＬＭＳアルゴリズムでは、その和を取ると、エコーと同じ特性を有する基底ベクトルの係数を求める仕組みであると言える（原理２）。
【００１７】
モータにある回転周波数の駆動信号を印加して動作させると、上述のように、前記回転周波数の高次成分を有するノイズが発生する。そのノイズを模擬する信号は駆動信号の遅延波とはならないため、ＦＩＲフィルタによる遅延が作れない。したがって、原理１に基づく従来のエコーキャンセラと同じ方法は適用できない。しかし、原理２に基づいて独立な基底ベクトルを合成することでノイズ信号を再現するとすれば、ＬＭＳアルゴリズムにより振幅の係数を求めることが可能となる。
【００１８】
本実施形態では、基底ベクトルとして、遅延により生成された波形では無く、それぞれの周波数の波形を駆動信号と同様に生成する。その生成方法は数値計算によるものやテーブルを参照するもの等様々なものがある。図９において、回転周波数ｆ１の波形に対し、ノイズ周波数ｆ２を生成する場合を考える。図１０に示すように、それぞれの基底ベクトルに対し、ＬＭＳアルゴリズムを用いてノイズ波形を模擬するのに最適な係数（ｗ＿１〜ｗ＿ｎ）を生成する。これらの積和結果をｙ（Ｔ）とする。
【００１９】
基底ベクトルは、必ずしも全ての高次高調波について用意する必要は無く、事前の解析等によりノイズが発生し易い次数が分かっている場合は、その次数分のみ生成すれば良い。また、次数が非整数倍の高調波成分が含まれている場合でも、同様にその周波数に対応した基底ベクトルを加えれば良い。
【００２０】
図１に示すように、本実施形態のノイズキャンセル装置１は、基底ベクトル生成ブロック２，係数生成ブロック３及び積和ブロック４を備えており、例えばＤＳＰ（Digital Signal Processor）等で構成する。基底ベクトル生成ブロック２は、モータ駆動信号の基本周波数及びその基本周波数に対する高調波成分の集合である基底ベクトルｘ＿１〜ｘ＿ｎを生成し、積和ブロック４に出力する。尚、モータの駆動周波数ｆ１が変化するのに応じて、基底ベクトルｘ＿１〜ｘ＿ｎの各周波数も変化する。係数生成ブロック３には、モータに配置されているノイズセンサにより検出された信号が入力される。
【００２１】
図２に示すように、モータ６は、筐体７の内部に回転軸８と、その回転軸８に取り付けられている回転角測定装置９とを備えている。回転角測定装置９は、例えばロータリエンコーダやレゾルバ等である。上記のノイズセンサとして検出対象を音とする場合は、例えばモータ６の近傍において、モータ６には直接接続されていない壁などの固定部１０にマイク１１Ａを取り付けて、空気の振動波であるノイズとしての音を直接検出する。また、固定部１０が無い場合は、モータ固定治具１２にマイク１１Ｂを取り付ければマイク１１Ｂ側が振動するので、相対的に振動音を検出できる。同様に、モータ筐体７やモータ固定治具１２に加速度センサ１３を取り付けて、直接振動を検出することもできる。
【００２２】
係数生成ブロック３では、誤差最小化演算アルゴリズムであるＬＭＳアルゴリズムにより係数ｗ＿１〜ｗ＿ｎの更新を行い、これらを積和ブロック４に出力する。ここで、（１）式の右辺各項は、以下のように対応する。
ｗ（Ｔ）：現在の係数ｗ＿１〜ｗ＿ｎ
ｘ（Ｔ）：基底ベクトルｘ＿１〜ｘ＿ｎ
ｅ（Ｔ）：センサ検出信号
【００２３】
積和ブロック４は、各基底ベクトルｘ＿１〜ｘ＿ｎと、それぞれに対応する係数ｗ＿１〜ｗ＿ｎとの積和演算を行い、演算結果として生成された信号を減算器５に出力する。すると減算器５において、モータの駆動時に発生したノイズ信号より積和ブロック４より入力される信号が減算され、ノイズセンサはその減算結果を検出することになる。すなわち、係数生成ブロック３がＬＭＳアルゴリズムにより係数ｗ＿１〜ｗ＿ｎの更新を行なうことで、生成波形とノイズ波形の誤差が十分小さくなる。つまりノイズキャンセル装置１は、ノイズ波形と同様の波形を生成することになる。
【００２４】
ここで、減算器５は信号モデル的に示したもので、実際には、図中の「ノイズ発生過程」における作用に応じて減算するか、又は加算するかが決まる。すなわち、図１０で生成された積和結果ｙ（Ｔ）を重畳した信号｛ｘ＿１（Ｔ）＋ｙ（Ｔ）｝をモータ駆動に用いる。すると、ｙ（Ｔ）がノイズ発生過程においてｚ（Ｔ）となり、このｚ（Ｔ）が同過程においてノイズ波形から減算されると、ｚ（Ｔ）生成波形とノイズ波形の誤差が十分小さくなる。つまり、ノイズ波形と同様の波形が生成される。また、上記のノイズ発生過程ではｚ（Ｔ）はノイズ波形に加算される場合，すなわち、減算器５に替えて加算器５となる場合もあるので、この際にはｘ＿１（Ｔ）−ｙ（Ｔ）｝をモータ駆動信号とすれば良い。
【００２５】
尚、一般的にノイズは高調波成分からなるため、基本波成分ｘ＿１は積和ブロック４での波形生成には用いない。ただし、モータ駆動信号の生成には基本波が必要であるから、基底ベクトル生成ブロック２は駆動信号生成回路と容易一体化できる。また、本実施形態ではＬＭＳアルゴリズムについて説明したが、基底ベクトルとしてモータ回転数の高調波を用いることが特徴であり、係数を決定する誤差最小化演算アルゴリズムはこれに限定されない。例えば、
http://www.cs.tut.fi/~tabus/course/ASP/SGN2206LectureNew5.pdf
に述べられているように、ＬＭＳから派生したsign-sign ＬＭＳやNormalized ＬＭＳ等のアルゴリズムも適用可能である。
【００２６】
また、ＬＭＳアルゴリズムに使用するconvergence factor；ステップサイズパラメータμを２のべき乗で表現される値に設定することで、ＬＳＩ内部で行う乗算算をビットシフト演算に置き換えることができ、回路規模を削減できる。
【００２７】
また、図２に示すように回転角測定装置９を用いることで、モータ６の回転軸８を中心とする回転方向の揺れを検出できる。回転角度Φ[rad]と回転速度ω[rad/sec]の間には
ω＝ｄφ/ｄｔ
という関係がある。回転速度ωは、ある指示値に対し誤差なく一定であることが望ましいが、図３に示すように時間的に変動することがある。このような回転速度の変動は、振動等の原因になり望ましくないが、本実施形態を適用することで、回転速度の指示値からの変動分をキャンセルすることもできる。この場合、図４に示すように、回転角度を微分回路１４に入力すれば回転速度を得ることができる。
【００２８】
以上のように本実施形態によれば、基底ベクトル生成ブロック２は、モータ６に出力される駆動信号の基本周波数に対する高調波の集合を、基底ベクトルｘ＿１〜ｘ＿ｎとして生成し出力する。係数生成ブロック３は、モータ６の駆動時に発生するノイズを検出するノイズセンサ，例えばマイク１１や加速度センサ１３より得られる検出信号とステップサイズパラメータμとを用いた誤差最小化演算を行うことで、各基底ベクトルｘ＿１〜ｘ＿ｎにそれぞれ対応する係数ｗ＿１〜ｗ＿ｎを更新しながら生成する。ここで、「モータの駆動時に発生するノイズ」は「振動」等も含むものとする。
【００２９】
そして、積和ブロック４が基底ベクトルｘ＿１〜ｘ＿ｎと対応する係数ｗ＿１〜ｗ＿ｎとの積和演算を行うと、演算結果として得られた信号と駆動信号とを加算又は減算することで、モータ６の駆動時に発生するノイズをキャンセルする。すなわち、ノイズセンサより得られる検出信号は、モータ６の駆動系にノイズが含まれる結果として誤差信号となる。これに対して係数生成ブロック３が誤差最小化演算を行い係数ｗ＿１〜ｗ＿ｎを更新することで、前記誤差信号がゼロレベルに近付くようになり、モータ６の駆動時に発生するノイズが低減される。
【００３０】
したがって、事前に高精度なシミュレーションモデルを用意したり、そのモデルについて個別のノイズの変動要素等を予め考慮して変形等を加える必要が無く、モータ６の駆動時に発生するノイズをリアルタイム処理によって低減できる。また、駆動信号が正弦波状であるものに適用することで、モータ６を正弦波駆動する際に発生するノイズを低減できる。
【００３１】
（第２実施形態）
以下、第１実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。実際に発生するノイズは同じ周波数でもその位相が回転しており、駆動信号の位相と一致するとは限らず様々な位相をとり得る。よって、ノイズ除去のために生成する波形についても任意の位相を付与できることが望ましい。
【００３２】
そこで、図１１に示す第２実施形態のノイズキャンセル装置２１では、ある一つの周波数の高調波に対する基底ベクトルについて、直交する２つの位相を持つ基底ベクトルを用意し、それらの振幅を独立に調整可能とする。これら２つの基底ベクトルの合成により、各高調波に対する基底ベクトルに任意の位相を付与することができる。
【００３３】
基底ベクトル生成ブロック２２は、各基底ベクトルについて、それぞれ互いに位相が９０°異なる２つの基底ベクトルｘ＿１〜ｎ＿Ｉ（Ｔ）とｘ＿１〜ｎ＿Ｑ（Ｔ）とを積和ブロック２４に出力する。係数生成ブロック２３では、ＬＭＳアルゴリズムにより係数ｗ＿１〜ｎ＿Ｉ，ｗ＿１〜ｎ＿Ｑの更新を行い、積和ブロック２４に出力する。積和ブロック２４は、各基底ベクトルｘ＿１〜ｎ＿Ｉ（Ｔ），ｘ＿１〜ｎ＿Ｑ（Ｔ）と、それぞれに対応する係数ｗ＿１〜ｎ＿Ｉ，ｗ＿１〜ｎ＿Ｑとの積和演算を行い、演算結果として生成された信号を減算器５に出力する。
【００３４】
図１２に一例を示すように、同じ周波数ｆ２を有する２倍高調波について、互いに位相が９０°異なる２つの基底ベクトルｘ＿２＿Ｉ（Ｔ）とｘ＿２＿Ｑ（Ｔ）とがある。これらの振幅を独立して係数ｗ＿２＿Ｉとｗ＿２＿Ｑとにより調整することで、その合成波形は同じ周波数ｆ２で任意の位相となる。
【００３５】
尚、ｘ＿ｎ＿Ｉとｘ＿ｎ＿Ｑともまた直交しているので、それぞれが独立した基底ベクトルとなる。したがって、上図のように基底ベクトルの数は増えるが、それ以外の回路構成は全く同じとなる。なお、基本波であるｘ＿１＿Ｉ（Ｔ）,ｘ＿１＿Ｑ（Ｔ）は第１実施形態と同様にノイズ低減のためには生成しないが、モータ駆動信号のために必要であり、駆動信号生成回路と一体化することが容易である。
【００３６】
また、ｘ＿ｎ＿Ｉとｘ＿ｎ＿Ｑとの位相差を９０°としたが、９０°の場合が最も独立性が高いためである。位相差が０°や１８０°で無い限り、ベクトル加算により任意の位相の信号を生成することは可能である。よって、位相差は必ずしも９０°に限定するものではない。
【００３７】
次に、第２実施形態の効果をシミュレーションにより確認した結果を示す。シミュレーションの条件１は以下であり、図１３は条件１に対応した時間波形を示している。尚、μはＬＭＳアルゴリズムに使用されるステップサイズパラメータである。
＜条件１＞
駆動信号周波数：Ｆ１［Ｈｚ］
ノイズ成分周波数：３Ｆ１［Ｈｚ］
同位相：４５°
同振幅：駆動信号の２０％
μ：０．００３
制御周期Ｔに対するＬＭＳアルゴリズムの
更新周波数： Ｆ１／７２０［Ｈｚ］
【００３８】
図１４に示すように、時間の経過に伴い生成波形がノイズ波形と同一の波形に収束していくことが分かる。また、図１５に示す最終的に収束した係数値は、ノイズ成分周波数が３Ｆ１［Ｈｚ］であることに対応し、その成分が得られている。また、ノイズ成分の位相４５°に対応するようにｗ＿３＿Ｉとｗ＿３＿Ｑとの振幅が同一になり、それらのベクトル和により４５°の位相が生成されている。
＜条件２＞
駆動信号周波数：Ｆ１［Ｈｚ］
ノイズ成分周波数：５Ｆ１［Ｈｚ］
同位相：６０°
同振幅：駆動信号の１５％
μ：０．００３
ＬＭＳアルゴリズムの更新周波数： Ｆ１／７２０［Ｈｚ］
【００３９】
この場合も、図１７に示すように、生成波形はノイズ波形に収束していくことが分かる。また図１８に示す最終的に収束した係数から、ノイズ成分と同じ５ｘＦ１［Ｈｚ］係数が大きくなり、またノイズの位相６０°に対応してｗ＿５＿Ｉとｗ＿５＿Ｑとの振幅比が調整されている。
【００４０】
尚、ステップサイズパラメータμの値０．００３に替えて２のべき乗で表現できる近似値を用いるとすれば、０．００３９０６２５又は０．００１９５３１２５となる。これらの値を用いたシミュレーション結果は、μ＝０．００３の場合とほぼ変わらない。
【００４１】
以上のように第２次実施形態によれば、基底ベクトル生成ブロック２２は、各基底ベクトルとして、位相が９０°異なる２種類のベクトルｘ＿１〜ｎ＿Ｉ（Ｔ）とｘ＿１〜ｎ＿Ｑ（Ｔ）とを生成するようにした。これら２つの直交ベクトルを合成することで、任意の位相成分を有するノイズについても抑制することができる。
【００４２】
（第３実施形態）
第１，第２実施形態では、各基底ベクトルの波形を正弦波としている。しかし、正弦波を生成するための回路は規模が大きくなり、また候補となる高調波全てに対し生成する必要があることから、コストを増大させる要因となる。そこで、図１９及び図２０に示すように、ノイズキャンセル装置３１の基底ベクトル生成ブロック３２において、例えばｎ次高調波に対応する基底ベクトルとしてｘ＿ｎ（Ｔ）に替えて、基本周波数が等しい矩形波ｒ＿ｎ（Ｔ）を用いる。この場合、矩形波ｒ＿ｎ（Ｔ）はｘ＿ｎ（Ｔ）以外の高調波成分も含んでいるため、ｎ次高調波ノイズをｒ＿ｎ（Ｔ）で除去しても、ｒ＿ｎ（Ｔ）の余分な例えば３ｎ次高調波によるノイズが残る。
【００４３】
ところが、このｒ＿ｎ（Ｔ)の３ｎ次高調波は、この周波数を基本波とするｒ＿３ｎ（Ｔ）の基底ベクトルによって除去される。同様に、ｒ＿３ｎ（Ｔ）の更に高調波である９ｎ次高調波は、ｒ＿９ｎ（Ｔ）により除去される。以降、再帰的に高調波成分は振幅が小さく且つ高次の高調波に変換されて行き、最後は検出限界以下になるか可聴域より高い周波数となる。例えばフーリエ変換は、矩形波等を正弦波の集合として表現する技術であるが、第３実施形態は、正弦波を矩形波の集合として表す技術と言える。
【００４４】
このような第３実施形態によれば、回路規模が大きくなる正弦波を生成する必要が無く、＋１と−１のみ、つまり１ｂｉｔで表現可能な矩形波を生成すれば良く、回路規模を大幅に削減できる。第３実施形態を、第２実施形態のＩ，Ｑベクトルを加算する構成と組み合わせて実施することも容易である。
【００４５】
次に、第３実施形態を適用したシミュレーション結果を示す。尚、係数生成ブロックでは、sign-sign ＬＭＳアルゴリズムを用いる。
＜条件２＞
駆動信号周波数：Ｆ１［Ｈｚ］
ノイズ成分周波数：２Ｆ１［Ｈｚ］
同位相：１５°
同振幅：駆動信号の３０％
μ：０．０００２
アルゴリズムの  更新周波数： Ｆ１／７２０［Ｈｚ］
【００４６】
ここで、図２１に示すモータ駆動信号は、第１実施形態と同様の正弦波ｘ＿１（Ｔ）である。図１９に示す基底ベクトル生成ブロック３２は、矩形波の基底ベクトルｒ＿１（Ｔ）を出力しているが、これを正弦波に変換しても良いし、予め正弦波の基底ベクトルｘ＿１（Ｔ）を出力しても良い。
【００４７】
図２２に示すように、基底ベクトルとして用意できる周波数には上限があるため、残留するノイズ成分は第２実施形態よりも大きいが、少なくとも２次高調波成分はほぼ正しく合成できている。基底ベクトルを用意できない周波数領域は、そもそも可聴域を超える等で問題の無い周波数であるから、残留するノイズ成分も同様に問題とはならない。また、第２実施形態と異なる特徴として、図２３に破線で囲んだ部分に示すように、２次高調波以外にも６次, １０次及び１４次高調波成分が見られる。これは上述したように、これらの次数の矩形波を合成することで、２次高調波の正弦波を生成した結果である。
【００４８】
尚、ステップサイズパラメータμの値０．０００２に替えて２のべき乗で表現できる近似値を用いるとすれば、０．０００２４４１４０６２５又は０．０００１２２０７０３６２５となる。これらの値を用いたシミュレーション結果は、やはりμ＝０．０００２の場合とほぼ変わらない。
【００４９】
以上のように第３実施形態によれば、基底ベクトル生成ブロック３２は、基底ベクトルとして、それぞれに対応する高調波を基本波とする矩形波信号ｒ＿ｎ（１）〜ｒ＿ｎ（Ｔ）を出力するので、回路規模をより削減できる。尚、矩形波のモータ駆動信号ｒ＿１（Ｔ）を用いてモータ６を駆動しても良い。
【００５０】
（第４実施形態）
例えばブラシレスＤＣモータでは、ロータには永久磁石が設けられており、角速度ω１で回転しているロータからは角速度ω１の回転磁界が発生する。一方、ノイズを低減するためステータのコイルに角速度ω２の高調波信号を重畳すると、コイルにより生成される磁界は角速度ω２の変調を生じる。この場合、ロータの磁界とステータの磁界との積で決まる吸引力・反発力は、例えばある方向成分では、
（回転力）∝（回転磁界）×（ステータ磁界）
∝ｓｉｎ（ω１・t）×ｓｉｎ（ω２・ｔ＋θｃ）
∝ｃｏｓ｛（ω１＋ω２）・ｔ＋θｃ｝−ｃｏｓ｛（ω１−ω２）・ｔ−θｃ｝
…（２）
となる。但し、θｃは時刻０におけるロータとステータとの位相角度差である。
【００５１】
つまり、高調波ω２を注入しても角周波数ω２での回転力の変調は得られず、（ω１＋ω２）又は（ω１−ω２）での変調となる周波数変換が起きる。したがって、角周波数ωｎのノイズが発生している時は、高調波ωｎを重畳するのでは無く、周波数変換後に角周波数ωｎとなるような波形を重畳する必要がある。
【００５２】
尚、図２４において、乗算器３３により生成波形に乗じられる信号ｓｉｎ（ω１・ｔ）は周波数変換を意味しており、直接それに対応する乗算器が存在するわけでは無い。この場合、センサ検出信号も、生成波形に対しｓｉｎ（ω１・ｔ）が乗じられた状態となる。一方、ＬＭＳアルゴリズムでは、センサ検出信号に生成波形とノイズ波形の誤差のみを含んでいることを前提としている。したがって、信号ｓｉｎ（ω１・ｔ）が乗じられた状態のセンサ検出信号と生成波形の関係には、そのまま適用できない。そこで、センサ検出信号をｓｉｎ（ω１・ｔ）により除すことで、センサ検出信号についても生成波形との関係を元に戻すことが考えられる。
【００５３】
しかし、ｓｉｎ（ω１・ｔ）の値域は−１〜＋１の範囲であり、値が０になるとｓｉｎ（ωｎ・ｔ）／ｓｉｎ（ω１・ｔ）は無限大に発散してしまう。また、完全に０にならないまでもその近傍では、ｓｉｎ（ωｎ・ｔ）／sｉｎ（ω１・ｔ）の値が非常に大きくなるので計算が困難になる。そこで第４実施形態では、センサ検出信号についても、生成波形の関係として上述の除算は用いず、図２４に示すように乗算器３４を用いる。
【００５４】
これにより、生成波形ｓｉｎ（ω２・ｔ＋θｃ）についてノイズ波形を除いて考えると、変換後のセンサ検出波形は
ｓｉｎ（ω２・t＋θc）×ｓｉｎ（ω１・t）×ｓｉｎ（ω１・t）
＝ｓｉｎ（ω２・t＋θc）×１／２｛１−ｃｏｓ（２・ω１・t）｝
＝１／２ｓｉｎ（ω２・t＋θc）
−１／２ｓｉｎ（ω２・t＋θc）・ｃｏｓ（２・ω１・t）    …（３）
となる。つまり（３）式の右辺第１項は、１／２倍はされるが変換後のセンサ検出波形が生成波形と同一の周波数成分となる。したがって、従来のＬＭＳアルゴリズムをそのまま適用できる。
【００５５】
また、右辺第２項は、ノイズ周波数が別の周波数に変換されることを意味しているが、前述のように、その周波数は再帰的に別の高調波を用いてキャンセルされることを繰り返し、最終的には影響の無い周波数に変換される。尚、ω１はロータ回転数に対応する角周波数であり、ｘ＿１＿Ｉはステータへの印加信号であるが、モータが定常回転している時はｘ＿１＿Ｉの周波数とロータの回転周波数とは一致するので、上記の方式により所望の特性を得ることができる。
【００５６】
以上のように第４実施形態によれば、センサ検出信号に駆動信号ｓｉｎ（ω１・ｔ）を乗算した結果を係数生成ブロック３に入力する乗算器３４を備えるので、周波数変換後にノイズが除去された信号となるように、周波数変換前の印加高調波を生成できる。
【００５７】
（第５実施形態）
図２５に示すように、第５実施形態のノイズキャンセル装置４１は、第４実施形態の構成を第２実施形態のノイズキャンセル装置２１に適用したもので、係数生成ブロック２３の入力側で、乗算器３４によりセンサ検出信号とｘ＿１＿Ｉ（Ｔ）とを乗じている。ここで、係数生成ブロック２３において例えばsign-sign ＬＭＳアルゴリズムのみを用いる場合は、乗算器３４の乗算結果の符号のみを用いる。したがって、ｘ＿１＿Ｉ（Ｔ）を乗じることに替えて、次に説明する第６実施形態のように、矩形波の基底ベクトルｒ＿１＿Ｉ（Ｔ）を乗じても同じ結果が得られる。これにより、回路規模を削減することも可能である。
【００５８】
（第６実施形態）
図２６に示すように、第６実施形態のノイズキャンセル装置５１は、上述のように第４実施形態の構成を第２及び第３実施形態のノイズキャンセル装置に適用したものである。この場合、基底ベクトル生成ブロック２２Ｒは、矩形波の基底ベクトルｒ＿１〜ｒ＿ｎのそれぞれについて、Ｉ−Ｑの直交ベクトルを生成する。また、センサ検出信号に乗じるモータ駆動信号はｒ＿１＿Ｉ（Ｔ）に限定されず、ｘ＿１＿Ｉ（Ｔ）でも良い。この場合でも、元々モータ駆動にｘ＿１＿Ｉ（Ｔ）は用いられており、新たに生成する訳ではないため、回路規模を増加させることはない。
【００５９】
図２７及び図２８に示すシミュレーションの条件は、以下である。
駆動信号周波数：Ｆ１［Ｈｚ］
ノイズ成分周波数：８Ｆ１［Ｈｚ］
同位相：４５°
同振幅：駆動信号の２０％
μ：０．００１
アルゴリズムの更新周波数： Ｆ１／７２０［Ｈｚ］
【００６０】
周波数変換された後に、図２７や図２８（ｂ），（ｄ）等に示すノイズ波形に近い信号波形を得ることが目的となる。図２８（ｂ）に示すように、第６実施形態で生成した波形とモータ駆動信号との積がノイズ波形に漸近していることが分かる。第６実施形態では、図２９に示すように、周波数変換された後の波形が正弦波になる必要があり、第２実施形態のように駆動信号に重畳する波形は単一の正弦波ではなく、複数の正弦波の合成によって生成される。
尚、ステップサイズパラメータμの値０．００１に替えて２のべき乗で表現できる近似値を用いるとすれば、０．０００９７６５６２５となる。
【００６１】
（第７実施形態）
下記の文献でも述べられているように、
http://toshiba.semicon-storage.com/jp/designsupport/e-learning/brushless_motor/chap3/1274521.html
一般にモータを正弦波駆動する方が、矩形波駆動よりも低振動且つ低ノイズとなるが、その代償として回路規模が増大してしまう問題がある。
【００６２】
しかし、本発明の技術を適用することで、振動やノイズを自動的に低減することができるため、元の駆動信号は必ずしも正弦波である必要がなくなる。たとえ矩形波駆動であっても、最終的に最も検出ノイズの小さい状態（正弦波に近いが、正弦波よりも更に検出ノイズが低い状態）に収束するようになる。したがって、大幅な回路低減を達成しつつ、低ノイズ駆動を実現できる。
【００６３】
上記の各実施形態では、説明を簡単にするため、ロータの回転角速度がω１の時に発生する回転磁界の角周波数もω１とした。
http://toshiba.semicon-storage.com/jp/design-support/e-learning/brushless_motor/chap2/1274507.html
でも説明されているように、通常のブラシレスＤＣモータでは、ロータは複数の極を有し、ステータは複数のスロットを有している。この用語やその定義はメーカ等によって異なるが、ここでは上記文献に示す４極の場合を極対数ｐ＝２とする。
【００６４】
極対数ｐの場合、ロータの回転角周波数がω１であれば回転磁界はｐ・ω１となる。極対数ｐは動作状態により変化しない固定値であり、極対数ｐを導入する場合は、例えば図３０に示すように、第４実施形態におけるセンサ検出信号の周波数変換パラメータｓｉｎ（ω１・ｔ）をパラメータｓｉｎ（ｐ・ω１・ｔ）に置き換えれば良い。
以上のように第７実施形態によれば、モータ駆動信号の周波数を、モータ６の極対数ｐ倍して乗算器３４に与えることで、本発明を極対数ｐのモータ６についても適用できる。
【００６５】
（第８実施形態）
上記の各実施形態では、全ての高調波成分に対応する基底ベクトルを用意することを原則とした。しかし、ブラシレスＤＣモータにおいて最も用いられる３相駆動の場合は、３の倍数の高調波を印加しても３相のコイルに同じ波形が印加されるので、回転力に影響が及ばないか、及んだとしてもその寄与度は非常に低くなる。
【００６６】
図３１では、３相分のモータ駆動電圧Ｖｕ,Ｖｖ,Ｖｗに対して、その４倍高調波成分をＶ４ｕ,Ｖ４ｖ,Ｖ４ｗで示している。この場合、４倍高調波Ｖ４ｕ,Ｖ４ｖ,Ｖ４ｗはそれぞれ明らかに異なる波形である一方、図３２に示す３倍高調波Ｖ３ｕ,Ｖ３ｖ,Ｖ３ｗは、１つに重なっている。
【００６７】
一般にブラシレスＤＣモータには、スター結線を採用するものが多い。この場合、３倍高調波Ｖ３ｕ,Ｖ３ｖ,Ｖ３ｗとして同じ波形を与えても、中性点もその電位となるから、流れる電流には何も影響を及ぼさない。つまり、影響を及ぼさないが故に、動作としてこれらの成分が非常に大きくなる可能性がある。そこで、図３３に示すノイズキャンセル装置６１のように、基底ベクトル生成ブロック６２において、３倍数の次数に対応する高調波を基底ベクトルから削除しておくようにすれば、残された基底ベクトルによりノイズ低減に最適な状態に制御されるようになり、好適である。
【００６８】
また、実際には、モータにおける３相の物理的構造が完全に対称であることはなく、その非対称性により３倍高調波の印加が必要となる場合もある。その場合には、ノイズキャンセル装置６１のように対応する基底ベクトルを完全に削除しないまでも、値が非常に大きくなり過ぎて合成波の振幅が飽和しないように、３倍数の基底ベクトルの上限を設定したり、係数生成ブロック３において高次の３倍次数高調波に対応する係数値をより小さく設定したり、また他の基底ベクトルよりも変化が遅くなるようにステップサイズパラメータμの値をより小さく設定することも有効である。
【００６９】
以上のように第８実施形態によれば、基底ベクトル出力生成ブロック６２は、モータが３相構成である際に、基本周波数に対する３倍高調波に対応する基底ベクトルの出力を停止する。したがって、ノイズキャンセル動作を行った際に、３倍次数の高調波成分が過大になることを防止できる。
【００７０】
また、係数生成ブロック３において、次数が３の倍数である基底ベクトルに対応する係数の上限を、その他の基底ベクトルに対応する係数よりも低く設定したり、対応するステップサイズパラメータμの値を、その他の基底ベクトルに対応する値よりもより小さく設定すること等によっても同様の効果が得られる。
【００７１】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、要旨を逸脱しない範囲で適宜変形又は拡張が可能である。
【符号の説明】
【００７２】
１  ノイズキャンセル装置、２  基底ベクトル生成ブロック，３  係数生成ブロック，４  積和ブロック，５  減算器。
【図１】
0006409802.tif 000002
【図２】
0006409802.tif 000003
【図３】
0006409802.tif 000004
【図４】
0006409802.tif 000005
【図５】
0006409802.tif 000006
【図６】
0006409802.tif 000007
【図７】
0006409802.tif 000008
【図８】
0006409802.tif 000009
【図９】
0006409802.tif 000010
【図１０】
0006409802.tif 000011
【図１１】
0006409802.tif 000012
【図１２】
0006409802.tif 000013
【図１３】
0006409802.tif 000014
【図１４】
0006409802.tif 000015
【図１５】
0006409802.tif 000016
【図１６】
0006409802.tif 000017
【図１７】
0006409802.tif 000018
【図１８】
0006409802.tif 000019
【図１９】
0006409802.tif 000020
【図２０】
0006409802.tif 000021
【図２１】
0006409802.tif 000022
【図２２】
0006409802.tif 000023
【図２３】
0006409802.tif 000024
【図２４】
0006409802.tif 000025
【図２５】
0006409802.tif 000026
【図２６】
0006409802.tif 000027
【図２７】
0006409802.tif 000028
【図２８】
0006409802.tif 000029
【図２９】
0006409802.tif 000030
【図３０】
0006409802.tif 000031
【図３１】
0006409802.tif 000032
【図３２】
0006409802.tif 000033
【図３３】
0006409802.tif 000034