(57)【特許請求の範囲】
【請求項１】
基本波及び高調波を含む２次元座標データを入力し、前記２次元座標データの基本波のベクトルの偏角を演算する座標データ回転演算装置であって、
第１回目では前記２次元座標データのうちの基本波の座標データを選択し、第２回目以降では基本波回転座標データを選択する基本波セレクタと、
第１回目では前記２次元座標データのうちの高調波の座標データを選択し、第２回目以降では高調波回転座標データを選択する高調波セレクタと、
前記基本波セレクタにより選択された座標データ及び前記高調波セレクタにより選択された座標データを基に回転方向を決定する回転方向決定部と、
前記回転方向決定部により決定された回転方向に、前記基本波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波回転演算部と、
前記回転方向決定部により決定された回転方向に、前記高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記高調波回転座標データとして前記高調波セレクタに出力する高調波回転演算部と、
前記回転方向決定部により決定された回転方向を基に、前記基本波回転演算部により回転された回転角を累積加算することにより、前記２次元座標データの基本波のベクトルの偏角に収束させる回転角累積加算部と
を有することを特徴とする座標データ回転演算装置。
【請求項２】
さらに、前記基本波セレクタに入力される前記基本波回転座標データと前記高調波セレクタに入力される前記高調波回転座標データとのベクトルの絶対値の変化率を揃えるためのスケーリング補正を行うスケーリング補正部を有することを特徴とする請求項１記載の座標データ回転演算装置。
【請求項３】
さらに、２次元座標データと基本波振幅と高調波振幅を入力し、前記２次元座標データに前記基本波振幅を乗算し、前記基本波の座標データを前記基本波セレクタに出力し、前記２次元座標データに前記高調波振幅を乗算し、前記高調波の座標データを前記高調波セレクタに出力する座標変換生成部を有することを特徴とする請求項１又は２記載の座標データ回転演算装置。
【請求項４】
前記基本波回転演算部は、第ｉサイクル（ｉは０以上の整数）では、ｔａｎ-1（２-i）の回転角の回転を行い、
前記高調波回転演算部は、前記基本波回転演算部の回転角に対して前記高調波の次数倍の回転角の回転を行うことを特徴とする請求項１〜３のいずれか１項に記載の座標データ回転演算装置。
【請求項５】
前記高調波セレクタは、第１回目では前記２次元座標データのうちの３次高調波の座標データを選択し、第２回目以降では３次高調波回転座標データを選択する３次高調波セレクタを有し、
前記回転方向決定部は、前記基本波セレクタにより選択された座標データ及び前記３次高調波セレクタにより選択された座標データを基に回転方向を決定し、
前記高調波回転演算部は、前記回転方向決定部により決定された回転方向に、前記３次高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記３次高調波回転座標データとして前記３次高調波セレクタに出力する３次高調波回転演算部を有することを特徴とする請求項１記載の座標データ回転演算装置。
【請求項６】
前記基本波回転演算部は、第ｉサイクル（ｉは０以上の整数）では、ｔａｎ-1（２-i）の回転角の回転を行い、
前記３次高調波回転演算部は、第ｉサイクルでは、３×ｔａｎ-1（２-i）の回転角の回転を行うことを特徴とする請求項５記載の座標データ回転演算装置。
【請求項７】
さらに、第ｉサイクルでは、前記基本波回転演算部により回転された座標データに対して（１＋２-2i）を乗算して座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波スケーリング補正部を有することを特徴とする請求項６記載の座標データ回転演算装置。
【請求項８】
さらに、２次元座標データと基本波振幅と３次高調波振幅を入力し、前記２次元座標データに前記基本波振幅を乗算し、前記基本波の座標データを前記基本波セレクタに出力し、前記２次元座標データに前記３次高調波振幅を乗算し、前記３次高調波の座標データを前記３次高調波セレクタに出力する座標変換生成部を有することを特徴とする請求項５〜７のいずれか１項に記載の座標データ回転演算装置。
【請求項９】
前記高調波セレクタは、
第１回目では前記２次元座標データのうちの３次高調波の座標データを選択し、第２回目以降では３次高調波回転座標データを選択する３次高調波セレクタと、
第１回目では前記２次元座標データのうちの５次高調波の座標データを選択し、第２回目以降では５次高調波回転座標データを選択する５次高調波セレクタとを有し、
前記回転方向決定部は、前記基本波セレクタにより選択された座標データと前記３次高調波セレクタにより選択された座標データと前記５次高調波セレクタにより選択された座標データを基に回転方向を決定し、
前記高調波回転演算部は、
前記回転方向決定部により決定された回転方向に、前記３次高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記３次高調波回転座標データとして前記３次高調波セレクタに出力する３次高調波回転演算部と、
前記回転方向決定部により決定された回転方向に、前記５次高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記５次高調波回転座標データとして前記５次高調波セレクタに出力する５次高調波回転演算部とを有することを特徴とする請求項１記載の座標データ回転演算装置。
【請求項１０】
前記基本波回転演算部は、第ｉサイクル（ｉは０以上の整数）では、ｔａｎ-1（２-i）の回転角の回転を行い、
前記３次高調波回転演算部は、第ｉサイクルでは、３×ｔａｎ-1（２-i）の回転角の回転を行い、
前記５次高調波回転演算部は、第ｉサイクルでは、５×ｔａｎ-1（２-i）の回転角の回転を行うことを特徴とする請求項９記載の座標データ回転演算装置。
【請求項１１】
さらに、第ｉサイクルでは、前記基本波回転演算部により回転された座標データに対して（１＋２-2i）×（１＋２-2i）を乗算して座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波スケーリング補正部と、
第ｉサイクルでは、前記３次高調波回転演算部により回転された座標データに対して（１＋２-2i）を乗算して座標データを前記３次高調波回転座標データとして前記３次高調波セレクタに出力する３次高調波スケーリング補正部とを有することを特徴とする請求項１０記載の座標データ回転演算装置。
【請求項１２】
さらに、２次元座標データと基本波振幅と３次高調波振幅と５次高調波振幅を入力し、前記２次元座標データに前記基本波振幅を乗算し、前記基本波の座標データを前記基本波セレクタに出力し、前記２次元座標データに前記３次高調波振幅を乗算し、前記３次高調波の座標データを前記３次高調波セレクタに出力し、前記２次元座標データに前記５次高調波振幅を乗算し、前記５次高調波の座標データを前記５次高調波セレクタに出力する座標変換生成部を有することを特徴とする請求項９〜１１のいずれか１項に記載の座標データ回転演算装置。
【請求項１３】
前記高調波回転座標データには、前記高調波と前記基本波との初期位相差が含まれていることを特徴とする請求項１〜１２のいずれか１項に記載の座標データ回転演算装置。
【請求項１４】
基本波及び高調波を含む２次元座標データを入力し、前記２次元座標データの基本波のベクトルの偏角を演算する座標データ回転演算方法であって、
基本波セレクタにより、第１回目では前記２次元座標データのうちの基本波の座標データを選択し、第２回目以降では基本波回転座標データを選択する基本波セレクタステップと、
高調波セレクタにより、第１回目では前記２次元座標データのうちの高調波の座標データを選択し、第２回目以降では高調波回転座標データを選択する高調波セレクタステップと、
回転方向決定部により、前記基本波セレクタステップで選択された座標データ及び前記高調波セレクタステップで選択された座標データを基に回転方向を決定する回転方向決定ステップと、
基本波回転演算部により、前記回転方向決定ステップで決定された回転方向に、前記基本波セレクタステップで選択された座標データを回転させ、前記回転させた座標データを前記基本波回転座標データとして出力する基本波回転演算ステップと、
高調波回転演算部により、前記回転方向決定ステップで決定された回転方向に、前記高調波セレクタステップで選択された座標データを回転させ、前記回転させた座標データを前記高調波回転座標データとして出力する高調波回転演算ステップと、
回転角累積加算部により、前記回転方向決定ステップで決定された回転方向を基に、前記基本波回転演算ステップで回転された回転角を累積加算することにより、前記２次元座標データの基本波のベクトルの偏角に収束させる回転角累積加算ステップと
を有することを特徴とする座標データ回転演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標データ回転演算装置及び座標データ回転演算方法に関する。
【背景技術】
【０００２】
モータ等の回転体の角度、位置、移動量等を検出するために、光学式のロータリエンコーダが利用されている。この種のロータリエンコーダは、物理的なパターンを刻んだ回転信号板の一方の側から発光ダイオード等の発光素子で均一光を照射する。そして、フォトダイオード又はフォトトランジスタ等の受光素子により、信号パターンを透過した後の透過光、又は信号板からの反射光を受光し検知することにより電気信号パターンを形成する。そして、その電気信号パターンに基づいてエンコーダ出力信号を生成する。
【０００３】
エンコーダには、機能的区分けとして、インクリメンタル方式とアブソリュート方式が知られている。インクリメンタル方式のエンコーダでは、内挿処理（電気分割）により高精度な位置検出を実現する技術が知られている。これは、エンコーダ信号の振幅及びオフセットの値が揃っており、互いの位相が９０°異なる２相のアナログ正弦波と余弦波信号が出力されていることを前提条件としている。そのため、その前提条件に近づけるように、エンコーダからの出力信号を補正した後、内挿処理を行う場合もある。
【０００４】
具体的な内挿処理の方法として、特許文献１に開示されるような逆正接（ａｒｃｔａｎ）演算による方法が知られている。この逆正接演算の別の方法として、ＣＯＲＤＩＣ（ＣＯｏｒｄｉｎａｔｅ Ｒｏｔａｔｉｏｎ ＤＩｇｉｔａｌ Ｃｏｍｐｕｔｅｒ）と呼ばれる座標データ回転演算処理装置が非特許文献１に開示されている。ＣＯＲＤＩＣは、入力信号を２次元座標データとして扱い、この２次元座標データの座標回転を、ビットシフトと加減算という単純な演算の繰り返しのみで逆正接演算を実現することが可能である。非特許文献１には、ＣＯＲＤＩＣの基本形が示されている。ただし、実際のエンコーダ出力信号は、高調波成分が含まれており、理想的な正弦波信号ではない。そのため、エンコーダが出力する２相アナログ信号間の、振幅、オフセット及び位相を調整し補正しても、補正後の信号は厳密な正弦波・余弦波信号とはならず、その結果、内挿処理を行う際に検出誤差が発生する。
【０００５】
そこで、特許文献２では、このような検出誤差を補正するため、エンコーダの検出変位量（検出角度）を微分した値、つまり、変位速度が一定となるような補正値を生成し、その補正値を検出位置毎に持つことによって、検出位置を補正する方法が開示されている。また、特許文献３では、検出誤差の推移が周期的であるため、その検出誤差量を正弦波に近似することによって、検出誤差量を逐次演算し、検出位置を補正する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−５８７６９号公報
【特許文献２】特開２００９−３０３３５８号公報
【特許文献３】特開２００６−１７０８３７号公報
【非特許文献】
【０００７】
【非特許文献１】Ｊ. Ｅ. Ｖｏｌｄｅｒ. “Ｔｈｅ  ＣＯＲＤＩＣ  ｔｒｉｇｏｎｏｍｅｔｒｉｃ  ｃｏｍｐｕｔｉｎｇ  ｔｅｃｈｎｉｑｕｅ”，ＩＲＥ  Ｔｒａｎｓａｃｔｉｏｎ  Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｍｐｕｔｅｒｓ，ＥＣ−８：３３０−３３４，１９５９．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、例えば、特許文献２では、検出位置の分解能分だけ補正値が必要となるため、検出位置の高分解能化にともなって補正値を格納するメモリ領域が膨大になる課題がある。また、特許文献３では、補正値を演算するための演算時間が必要になる。それに加え、たとえ検出誤差が理想的な正弦波に近似できた場合であっても、検出誤差を演算するために用いている位置情報（参照位置）が、誤差を含む検出位置となってしまうために、原理的に検出誤差の演算精度が低い課題がある。
【０００９】
本発明の目的は、補正値演算や補正値演算用のメモリを必要とせず、基本波及び高調波を含む２次元座標データから基本波のベクトルの偏角を演算することができる座標データ回転演算装置及び座標データ回転演算方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明の座標データ回転演算装置は、基本波及び高調波を含む２次元座標データを入力し、前記２次元座標データの基本波のベクトルの偏角を演算する座標データ回転演算装置であって、第１回目では前記２次元座標データのうちの基本波の座標データを選択し、第２回目以降では基本波回転座標データを選択する基本波セレクタと、第１回目では前記２次元座標データのうちの高調波の座標データを選択し、第２回目以降では高調波回転座標データを選択する高調波セレクタと、前記基本波セレクタにより選択された座標データ及び前記高調波セレクタにより選択された座標データを基に回転方向を決定する回転方向決定部と、前記回転方向決定部により決定された回転方向に、前記基本波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波回転演算部と、前記回転方向決定部により決定された回転方向に、前記高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記高調波回転座標データとして前記高調波セレクタに出力する高調波回転演算部と、前記回転方向決定部により決定された回転方向を基に、前記基本波回転演算部により回転された回転角を累積加算することにより、前記２次元座標データの基本波のベクトルの偏角に収束させる回転角累積加算部とを有する。
【発明の効果】
【００１１】
本発明によれば、補正値演算や補正値演算用のメモリを必要とせず、基本波及び高調波を含む２次元座標データから基本波のベクトルの偏角を演算することができる。
【図面の簡単な説明】
【００１２】
【図１】光学式エンコーダが出力する２相の出力信号を表す図である。
【図２】ＣＯＲＤＩＣのベクタモードの動作の概念を説明する図である。
【図３】基準ベクトルを回転してベクタモード機能を実現する説明図である。
【図４】第１の実施形態のＣＯＲＤＩＣの構成例を示す図である。
【図５】第２の実施形態のＣＯＲＤＩＣの構成例を示す図である。
【図６】第３の実施形態のＣＯＲＤＩＣの構成例を示す図である。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態によるモータに取り付けられた光学式エンコーダが出力する２相のＡ相信号及びＢ相信号を表す図である。Ａ相信号及びＢ相信号は、相互に位相が９０°異なる余弦波と正弦波である。例えば、モータは、正弦波信号をパルスとしてカウントすることにより、モータの回転位置を正弦波の周期単位で計測することができる。また、モータは、正弦波と余弦波の位相を検出することによって、何周期目の何度位相の位置かを知ることができる。モータ回転位置の検出精度は、位相検出の精度によって決まるため、位相検出を正確に行う必要がある。しかし、実際のエンコーダの出力信号には、高調波が重畳しているため、理想的な正弦波と余弦波ではない。ただし、出力信号が生成されるメカニズム上、出力信号波形はほぼ対称波形とみなせる。出力信号波形が対称波形である場合、重畳する高調波は奇数次高調波に限られる。また、次数が高次になると、出力信号のパワーは急激に小さくなる。よって、まず望まれるのは、３次高調波を考慮した位相検出であり、その次に５次高調波まで考慮した位相検出である。それらについて、以下に説明する。
【００１４】
図２は、ＣＯＲＤＩＣのベクタモードの動作を説明するための図である。ＣＯＲＤＩＣは、座標データ回転演算装置である。ＣＯＲＤＩＣは、ベクタモードで、入力２次元ベクトルデータ（Ｘ，Ｙ）の偏角を、ＣＯＲＤＩＣ回転演算を利用して演算する。ＣＯＲＤＩＣは、２次元ベクトルデータ（Ｘ，Ｙ）を、予め決められた回転角シーケンスθｉ＝ｔａｎ-1（２-i）でｘ軸の方へ逐次回転し、最終的に回転後のベクトルをｘ軸にほぼ一致させ、その累積回転角θｎを偏角とする。ここで、ｉ＝０，１，２，・・・である。累積回転角θｎは、回転角シーケンスθｉを、各回転毎に決定される回転方向を加味して累積加算した値、すなわち、θｎ＝Σｓｉｇｎ（Ｙｉ）・θｉにて計算される。ここで、ｓｉｇｎ（Ｙｉ）は、θｉ回転する時の２次元ベクトルデータのｙ軸成分の正負符号を±１で表したものであり、＋１なら右方向、−１なら左方向に回転する。
【００１５】
図３は、基準ベクトルを回転してベクタモード機能を実現する説明図である。ＣＯＲＤＩＣは、上記のベクタモードとは異なり、ｘ軸上の基準ベクトル（１，０）をＣＯＲＤＩＣ回転演算で２次元ベクトルデータ（Ｘ，Ｙ）の方へ回転して向きを一致させた時の回転角として偏角を求めることも原理上は可能である。すなわち、その基準ベクトル（１，０）を左θ回転した後の座標は（ｃｏｓθ，ｓｉｎθ）となり、次の回転方向を判定する判別式は、次式（１）のようになる。
Ｙ／Ｘ≧ｓｉｎθ／ｃｏｓθ      ・・・（１）
【００１６】
次の回転方向は、判別式（１）が真なら左方向へ、偽なら右方向となる。しかし、一般的に、ＣＯＲＤＩＣによる偏角の計算で、このような式を用いることは有り得ないし、目にすることもない。何故なら、判別式（１）では除算が必要であり、判別式（１）の分母を移項したとしても乗算が残ってしまい、ＣＯＲＤＩＣの特徴である単純な演算、すなわち、ビットシフト演算と加減演算に置き換えられないからである。
【００１７】
しかし、本発明の実施形態では、判別式（１）は極めて重要である。本実施形態のＣＯＲＤＩＣの特徴は、この判別式（１）を高調波が重畳した信号へ拡張して、それをベクタモード用の判別式に変形したものを用いる点にあるからである。判別式（１）を高調波が重畳した信号へ拡張する前に、まず、判別式（１）をベクタモード用の判別式に変形すると、次式（２）のようになる。
−Ｘｓｉｎθ＋Ｙｃｏｓθ≧０      ・・・（２）
【００１８】
判定式（２）は、図２のように、ベクトル（Ｘ，Ｙ）を右方向へθ回転した時のｙ軸成分が０以上であるかどうか、すなわち、回転したベクトルがｘ軸を超えたかどうかを判定する式と解釈できる。この判別式（２）は、ＣＯＲＤＩＣのベクタモードにおける判別式そのものである。
【００１９】
ちなみに、判別式（１）では基準ベクトル（１，０）を回転するのに対し、判別式（２）では入力２次元ベクトル（Ｘ，Ｙ）を回転するため、同じ判別結果で、回転する方向は逆になる。このように、基準ベクトル回転用の判別式（１）からベクタモード用の判別式（２）が得られることが分かる。
【００２０】
ここで、判別式（１）を３次高調波が重畳した信号へ拡張する。基本波と３次高調波の振幅値のそれぞれをα、βの既知とすると、基本波に３次高調波が重畳する時の判別式は、次式（３）のようになる。
Ｙ／Ｘ≧（αｓｉｎθ＋βｓｉｎ３θ）／（αｃｏｓθ−βｃｏｓ３θ）  ・・・（３）
【００２１】
判別式（３）の両辺の分子は、３次高調波が重畳した信号の正弦波位相成分に対応し、両方の分母は、３次高調波が重畳した信号の余弦波位相成分に対応する。そして、式（３）の両辺が等しい時のθが求める偏角θｎである。右辺の分母のβの前の−符号は、基本波における余弦波の９０度位相差が３次高調波では２７０度位相差、すなわち−９０度位相差になるためである。このことから、３次高調波の見かけ上の回転方向は基本波とは逆方向になる。
【００２２】
判別式（３）による回転方向の判定は、次のようになる。判別式（３）が真の場合は、まだ回転が足りないため、基本波基準ベクトル（α，０）と３次高調波基準ベクトル（β，０)の各々を更に初期方向へ回転させる。また、判別式（３）が偽の場合は、回転しすぎのため、基本波基準ベクトル（α，０）と３次高調波基準ベクトル（β，０)の各々を逆方向へ回転させる。また、基本波基準ベクトル（α，０）を回転角シーケンスθｉで回転させる時、３次高調波基準ベクトル（β，０)をその３倍の３θｉで回転させる。これは判別式（３）に基づく仮想的な処理であり、実際には次のような処理を行う。
【００２３】
判別式（１）をベクタモード用の判別式（２）へ変形したように、判別式（３）をベクタモード用の判別式に変形すると、次式（４）のようになる。
Ｙ（αｃｏｓθ−βｃｏｓ３θ）≧Ｘ（αｓｉｎθ＋βｓｉｎ３θ）
αＹｃｏｓθ−βＹｃｏｓ３θ≧αＸｓｉｎθ＋βＸｓｉｎ３θ
（−αＸｓｉｎθ＋αＹｃｏｓθ）−（βＸｓｉｎ３θ＋βＹｃｏｓ３θ）≧０  ・・・（４）
【００２４】
判別式（４）の左辺における左側の第１括弧内の式は、入力２次元ベクトルデータの基本波成分の右θ回転に対応し、第２括弧内の式は、３次高調波成分の左３θ回転に対応する。入力２次元ベクトル（Ｘ，Ｙ）の各要素には、基本波成分と３次高調波成分が混在するため、判別式（４）の左辺の第１括弧内には３次高調波成分、第２括弧内には基本波成分が混在することになる。これらの混在成分は各々が不要な成分であるが、回転の最終段階すなわち入力２次元ベクトルを回転した先がｘ軸と合致した時、相殺されてゼロになるため無視することができる。該混在成分が相殺されることは計算で確認することができるが、その計算を示すことは省略する。何故なら、判別式（４）が別の判別式を変形して得られたことが、その不要な成分が相殺されることを保証していると言えるからである。
【００２５】
ちなみに、判別式（４）による回転方向の制御は、次のようになる。ＣＯＲＤＩＣは、判別式（４）が真の場合は、まだ回転が足りないため、基本波座標（αＸ，αＹ）と３次高調波座標（βＸ，βＹ）を更に初期方向へ回転させる。また、ＣＯＲＤＩＣは、判別式（４）が偽の場合は、基本波座標（αＸ，αＹ）と３次高調波座標（βＸ，βＹ）を逆方向へ回転させる。これまでの説明は、判別式（４）に基づく、ＣＯＲＤＩＣの原理を説明した。
【００２６】
図４（Ａ）は、本実施形態によるＣＯＲＤＩＣの構成例を示すブロック図であり、上記のＣＯＲＤＩＣの原理を実現する。ＣＯＲＤＩＣは、座標データ回転演算装置であり、座標変換生成部３０１、回転方向判別部３０２、基本波用ＣＯＲＤＩＣ回転演算部３０３、３次高調波用ＣＯＲＤＩＣ回転演算部３０４、回転角累積演算部３０５、及びセレクタ３１１，３１２を有する。座標変換生成部３０１は、入力２次元座標データ（Ｘ，Ｙ）と基本波振幅αと３次高調波振幅βを入力し、基本回転を適用する基本波座標データ（αＸ，αＹ）と３倍回転を適用する３次高調波座標データ（βＸ，βＹ）を生成する。基本波用ＣＯＲＤＩＣ回転演算部３０３は、基本波回転演算部であり、基本波座標データを基本回転させる。３次高調波用ＣＯＲＤＩＣ回転演算部３０４は、３次高調波回転演算部であり、３次高調波座標データを３倍回転させる。回転方向判別部３０２は、２つのＣＯＲＤＩＣ回転演算部３０３及び３０４の入力データを参照し、判別式（４）に基づいて、その入力データの回転方向を決定する。回転角累積演算部３０５は、回転角累積加算部であり、基本波用ＣＯＲＤＩＣ回転演算部３０３における回転角を累積加算する。
【００２７】
次に、ＣＯＲＤＩＣの座標データ回転演算方法を説明する。座標変換生成部３０１は、入力された２次元座標データ（Ｘ，Ｙ）に、事前に計測した基本波振幅値αを乗算し、基本波初期座標データ（αＸ，αＹ）をセレクタ３１１に出力する。また、座標変換生成部３０１は、入力された２次元座標データ（Ｘ，Ｙ）に、事前に計測した３次高調波振幅値βを乗算し、３次高調波初期座標データ（βＸ，βＹ）をセレクタ３１２に出力する。セレクタ３１１は、基本波セレクタであり、第１回目（ｉ＝０）では、基本波初期座標データ（αＸ，αＹ）を選択して基本波用ＣＯＲＤＩＣ回転演算部３０３に出力する。セレクタ３１２は、３次高調波セレクタであり、第１回目（ｉ＝０）では、３次高調波初期座標データ（βＸ，βＹ）を選択して３次高調波用ＣＯＲＤＩＣ回転演算部３０４に出力する。また、セレクタ３１１は、第２回目以降（ｉ＝１以降）では、基本波用ＣＯＲＤＩＣ回転演算部３０３が出力する基本波回転演算データを選択して基本波用ＣＯＲＤＩＣ回転演算部３０３に出力する。セレクタ３１２は、第２回目以降（ｉ＝１以降）では、３次高調波用ＣＯＲＤＩＣ回転演算部３０４が出力する３次高調波回転座標データを選択して３次高調波用ＣＯＲＤＩＣ回転演算部３０４に出力する。
【００２８】
回転方向判別部３０２は、回転方向決定部であり、セレクタ３１１及び３１２により選択された座標データを基に、判別式（４）を用いて、ＣＯＲＤＩＣ回転演算部３０３及び３０４の回転方向を決定する。基本波用ＣＯＲＤＩＣ回転演算部３０３は、回転方向判別部３０２により決定された回転方向に、セレクタ３１１が出力する座標データに対して、回転角シーケンスθｉの回転を行い、基本波回転座標データをセレクタ３１１に出力する。具体的には、基本波用ＣＯＲＤＩＣ回転演算部３０３は、第ｉサイクル（ｉは０以上の整数）では、ｔａｎ-1（２-i）の回転角の回転を行う。３次高調波用ＣＯＲＤＩＣ回転演算部３０４は、回転方向判別部３０２により決定された回転方向に、セレクタ３１２が出力する座標データに対して、回転角シーケンスθｉの３倍の３θｉの回転を行い、３次高調波回転座標データをセレクタ３１２に出力する。具体的には、３次高調波用ＣＯＲＤＩＣ回転演算部３０４は、第ｉサイクルでは、３×ｔａｎ-1（２-i）の回転角の回転を行う。すなわち、３次高調波用ＣＯＲＤＩＣ回転演算部３０４は、基本波用ＣＯＲＤＩＣ回転演算部３０３の回転角に対して高調波の次数倍（３倍）の回転角の回転を行う。
【００２９】
ＣＯＲＤＩＣ回転演算部３０３及び３０４が回転演算を繰り返すと、ＣＯＲＤＩＣ回転演算部３０３及び３０４が出力する回転座標データはやがてほぼｘ軸に合致する。回転座標データとｘ軸との残差は、回転演算の繰り返し回数と演算ビット数に依存し、回数演算の繰り返し回数と演算ビット数が多い程、残差は小さい。回転角累積演算部３０５は、回転方向判別部３０２により決定された回転方向を基に、ＣＯＲＤＩＣ回転演算部３０３により回転された回転角を累積加算することにより、２次元座標データの基本波のベクトルの偏角θｎに収束させる。以上のように、ＣＯＲＤＩＣは、基本波及び３次高調波を含む２次元座標データを入力し、２次元座標データの基本波のベクトルの偏角θｎを演算する。
【００３０】
次に、回転方向判別部３０２の回転方向の判別について説明する。ＣＯＲＤＩＣ回転演算部３０３及び３０４が回転角シーケンスθｉの最初のＣＯＲＤＩＣ回転演算を行う直前、回転方向判別部３０２は、座標変換生成部３０１が生成した２つのｙ軸成分データαＹとβＹを入力し、その差分αＹ−βＹを計算する。そして、回転方向判別部３０２は、の差分αＹ−βＹが０以上か否かによって、最初の回転方向を決定する。ＣＯＲＤＩＣ回転演算部３０３及び３０４は、回転方向判別部３０２が決定した回転方向に対して、それぞれ、θｉ（ｉ＝０）及び３θｉ（ｉ＝０）の回転を行い、回転座標データを出力する。セレクタ３１１及び３１２は、それぞれ、ＣＯＲＤＩＣ回転演算部３０３及び３０４が生成した回転座標データを選択して、ＣＯＲＤＩＣ回転演算部３０３及び３０４に出力する。次に、ＣＯＲＤＩＣ回転演算部３０３及び３０４は、２回目の回転を行う。回転方向判別部３０２は、次式（５）により計算されるｙ軸成分の差分が０以上か否かにより、２回目の回転方向を決定する。
【００３１】
【数１】
0006750857.tif 000002
【００３２】
式（５）の左辺の２つの回転演算は、各々がＣＯＲＤＩＣ回転演算部３０３及び３０４により行われる。右辺に示す２つの回転演算結果のｙ軸成分の差分は、判別式（４）の左辺と同じである。図４（Ａ）に示すＣＯＲＤＩＣの構成は、判別式（４）に対応したものであることが、これによって明確になった。
【００３３】
回転方向判別部３０２は、３回目以降の回転演算の回転方向については、式（５）におけるθｉを累積した回転角に置き換えたものとし、同様に、判別式（４）に基づいて、回転方向を決定する。
【００３４】
次に、基本波と３次高調波の正弦波と余弦波の振幅が違う場合の判別式について説明する。基本波の正弦波と余弦波の振幅をαとα’とし、３次高調波の正弦波と余弦波の振幅をβとβ’とすると、判別式（３）及び（４）は次式（６）及び（７）のようになる。
Ｙ／Ｘ≧（αｓｉｎθ＋βｓｉｎ３θ）／（α’ｃｏｓθ−β’ｃｏｓ３θ）  ・・・（６）
（−αＸｓｉｎθ＋α’Ｙｃｏｓθ）−（βＸｓｉｎ３θ＋β’Ｙｃｏｓ３θ）≧０  ・・・（７）
【００３５】
座標変換生成部３０１は、１次元のαとβを入力する代わりに、２次元の（α，α’）と（β，β’）を入力し、２次元座標（αＸ，α’Ｙ）及び（βＸ，β’Ｙ）を出力する。これ以降の処理は、上記と同じである。よって、座標変換生成部３０１を上記のように変更するだけで、基本波と３次高調波の正弦波と余弦波の振幅が異なる場合へも容易に適用できることが分かる。
【００３６】
図４（Ｂ）は、本実施形態によるＣＯＲＤＩＣの他の構成例を示す図であり、図４（Ａ）に対して、スケーリング補正部３２１を追加したものである。ＣＯＲＤＩＣ回転演算部３０３及び３０４は、簡易なビットシフトと加減算のみで座標回転を行うため、回転後のベクトルの絶対値が若干変化してしまう。基本波と３次高調波では回転角が異なるため、両者のベクトルの絶対値の変化率が異なり、両者の回転後の座標データを単純に加算することができなくなってしまう。そのため、両方もしくはどちらかの絶対値を補正して絶対値の変化率を揃える必要がある。
【００３７】
図４（Ａ）のＣＯＲＤＩＣでは、基本波をθｉ回転した後に（１＋２-2i）を乗算すると、基本波と３次高調波の絶対値の変化率を揃えることができる。この演算は、ビットシフトと加算のみで演算できる。これは１つの方法であり、他の方法でもよい。このようなベクトルの絶対値を補正する演算をスケーリング補正と呼ぶ。図４（Ｂ）では、スケーリング補正部３２１は、ＣＯＲＤＩＣ回転演算部３０３が出力する基本波回転座標データとＣＯＲＤＩＣ回転演算部３０４が出力する３次高調波回転座標データの各々のベクトルの絶対値の変化率を揃えるためのスケーリング補正を行う。スケーリング補正部３２１は、基本波スケーリング補正部であり、ビットシフト及び加算によるスケーリング補正を行う。スケーリング補正部３２１は、第ｉサイクルでは、ＣＯＲＤＩＣ回転演算部３０３が出力する回転座標データに対して（１＋２-2i）を乗算し、その乗算結果を基本波回転座標データとしてセレクタ３１１に出力する。セレクタ３１１は、ｉ＝１以降では、スケーリング補正部３２１の出力データを選択してＣＯＲＤＩＣ回転演算部３０３に出力する。
【００３８】
ところで、高調波が重畳していない基本波のみを回転するＣＯＲＤＩＣの場合、スケーリング補正部３２１のスケーリング補正を回転演算毎に行う必要がなく、全回転演算の前又は後にまとめて１回だけスケーリング補正を行えばよい。そのため、ＣＯＲＤＩＣの演算の前又は後で行う他の演算と一緒に行うことが多い。この場合、図４（Ａ）のように、スケーリング補正部３２１は明示的に示されない。よって、本発明の基本概念を表現するＣＯＲＤＩＣは、スケーリング補正部３２１を省略した図４（Ａ）で表される。これに対して、実際の処理に即したＣＯＲＤＩＣは、スケーリング補正部３２１を含む図４（Ｂ）で表される。
【００３９】
（第２の実施形態）
第１の実施形態では、重畳する高調波が３次高調波のみであったが、実際の機器では５次以上の高調波も重畳している。ただし、高調波のパワーは、高次になる程、急激に減衰するため、５次以上の高調波を無視できる場合もある。逆に、高精度な測定を要求される場合は、その精度に応じて、より高次の高調波も無視することなく、処理する必要がある。そこで、本発明の第２の実施形態では、より高次の高調波として５次の高調波まで処理する場合について説明する。
【００４０】
まず、上記の判別式（３）を５次高調波を含めた式に拡張する。５次高調波の振幅をγとした時、判別式は、次式（８）のようになる。
Ｙ／Ｘ≧（αｓｉｎθ＋βｓｉｎ３θ＋γｓｉn５θ）／（αｃｏｓθ−βｃｏｓ３θ＋γｃｏｓ５θ）  ・・・（８）
【００４１】
基本波における９０度位相差は、５次高調波で４５０度位相差となり、９０度位相差と同じになるため、右辺の分母のγの前の符号は＋になる。そして、５次高調波の回転方向は、基本波とは同じ方向になる。
【００４２】
次に、判別式（８）をベクタモード用の判別式に変形すると、次式（９）のようになる。
Ｙ（αｃｏｓθ−βｃｏｓ３θ＋γｃｏｓ５θ）≧Ｘ（αｓｉｎθ＋βｓｉｎ３θ＋γｓｉn５θ）
αＹｃｏｓθ−βＹｃｏｓ３θ＋γＹｃｏｓ５θ≧αＸｓｉｎθ＋βＸｓｉｎ３θ＋γＸｓｉn５θ
（−αＸｓｉｎθ＋αＹｃｏｓθ）−（βＸｓｉｎ３θ＋βＹｃｏｓ３θ）＋（−γＸｓｉｎ５θ＋γＹｃｏｓ５θ）≧０  ・・・（９）
【００４３】
判別式（９）の左辺の第３括弧の式は、５次高調波成分を右５θ回転する新たな項である。第１括弧ないし第３括弧の各々に不要な成分であるが、入力２次元ベクトルを回転した先がｘ軸と合致した時、相殺されてゼロになる。
【００４４】
図５（Ａ）は、本発明の第２の実施形態によるＣＯＲＤＩＣの構成例を示す図である。図５（Ａ）は、図４（Ａ）に対して、セレクタ４１３及び５次高調波ＣＯＲＤＩＣ回転演算部４０５を追加し、座標変換生成部３０１及び回転方向判別部３０２の代わりに、座標変換生成部４０１及び回転方向判別部４０２を設けたものである。５次高調波ＣＯＲＤＩＣ回転演算部４０５は、５次高調波回転演算部である。本実施形態のＣＯＲＤＩＣは、判別式（９）に基づく処理を行う。以下、本実施形態が第１の実施形態と異なる点を説明する。座標変換生成部４０１は、入力２次元座標データ（Ｘ，Ｙ）と基本波振幅αと３次高調波振幅βと５次高調波振幅γを入力し、基本波初期座標データ（αＸ，αＹ）と３次高調波初期座標データ（βＸ，βＹ）と５次高調波初期座標データ（γＸ，γＹ）を出力する。具体的には、座標変換生成部４０１は、２次元座標データ（Ｘ，Ｙ）に基本波振幅αを乗算し、基本波初期座標データ（αＸ，αＹ）をセレクタ３１１に出力する。また、座標変換生成部４０１は、２次元座標データ（Ｘ，Ｙ）に３次高調波振幅βを乗算し、３次高調波初期座標データ（βＸ，βＹ）をセレクタ３１２に出力する。また、座標変換生成部４０１は、２次元座標データ（Ｘ，Ｙ）に５次高調波振幅γを乗算し、５次高調波初期座標データ（γＸ，γＹ）をセレクタ４１３に出力する。セレクタ４１３は、５次高調波セレクタであり、第１回目（ｉ＝０）では、座標変換生成部４０１が出力する５次高調波初期座標データ（γＸ，γＹ）を選択してＣＯＲＤＩＣ回転演算部４０５に出力する。また、セレクタ４１３は、第２回目以降（ｉ＝１以降）では、ＣＯＲＤＩＣ回転演算部４０５が出力する５次高調波用回転データを選択してＣＯＲＤＩＣ回転演算部４０５に出力する。回転方向判別部４０２は、回転方向決定部であり、セレクタ３１１、３１２及び４１３により選択された座標データを基に、判別式（９）を用いて、回転方向を決定する。ＣＯＲＤＩＣ回転演算部４０５は、回転方向判別部４０２により決定された回転方向に、セレクタ４１３により選択された座標データに対して、回転角シーケンスθｉの５倍の５θｉの回転を行い、５次高調波回転座標データをセレクタ４１３に出力する。すなわち、ＣＯＲＤＩＣ回転演算部４０５は、第ｉサイクルでは、５×ｔａｎ-1（２-i）の回転角の回転を行う。なお、より高次の高調波へ対応して精度を向上させる場合には、７次高調波用、９次高調波用のＣＯＲＤＩＣ回転演算部を追加すればよい。
【００４５】
図５（Ｂ）は、本実施形態によるＣＯＲＤＩＣの他の構成例を示す図であり、図５（Ａ）に対してスケーリング補正部４２１及び４２２を追加したものである。スケーリング補正部４２１及び４２２は、図４（Ｂ）と同様に、複数のＣＯＲＤＩＣ回転演算部３０３，３０４，４０５の入出力絶対値の変化率を揃えるために、１つを基準に定め、他の２つの出力にスケーリング補正を行う。その一例として、スケーリング補正部４２１は、基本波スケーリング補正部である。スケーリング補正部４２１は、基本波用ＣＯＲＤＩＣ回転演算部３０３の出力データに対してスケーリング補正を行い、スケーリング補正部４２２は、３次高調波用ＣＯＲＤＩＣ回転演算部３０４の出力データに対してスケーリング補正を行う。
【００４６】
具体的には、スケーリング補正部４２１は、第ｉサイクルでは、基本波用ＣＯＲＤＩＣ回転演算部３０３の出力データに対して、（１＋２-2i）×（１＋２-2i）を乗算し、その乗算結果を基本波回転座標データとしてセレクタ３１１に出力する。スケーリング補正部４２２は、３次高調波スケーリング補正部であり、第ｉサイクルでは、３次高調波用ＣＯＲＤＩＣ回転演算部３０４の出力データに対して、（１＋２-2i）を乗算し、その乗算結果を３次高調波回転座標データとしてセレクタ３１２に出力する。スケーリング補正部４２２はビットシフトと加算からなる演算を１回行い、スケーリング補正部４２１はビットシフトと加算からなる演算を２回行う。セレクタ３１１は、ｉ＝１以降では、スケーリング補正部４２１の出力データを選択してＣＯＲＤＩＣ回転演算部３０３に出力する。セレクタ３１２は、ｉ＝１以降では、スケーリング補正部４２２の出力データを選択してＣＯＲＤＩＣ回転演算部３０４に出力する。
【００４７】
（第３の実施形態）
第１及び第２の実施形態では、重畳する高調波と基本波との初期位相差が無く、高調波と基本波の初期位相が同相の場合について説明した。実際の波形には、モータの構造的な要因により高調波毎に基本波への位相差が発生する。３次高調波の基本波に対する初期位相がφの時、前記判別式（３）は次式（１０）及び（１１）のようになる。
Ｙ／Ｘ≧（αｓｉｎθ＋βｓｉｎ（３θ＋φ））／（αｃｏｓθ−βｃｏｓ（３θ＋φ））  ・・・（１０）
（−αＸｓｉｎθ＋αＹｃｏｓθ）−（βＸｓｉｎ（３θ＋φ）＋βＹｃｏｓ（３θ＋φ））≧０  ・・・（１１）
【００４８】
この位相φは観測した波形を解析処理することによって収集することができ、モータの構造が変わらなければ変動するものではないため、基本的には一度収集すればよい。収集した位相φは、ＣＯＲＤＩＣ演算処理において、初期位相シフト処理として実現する必要がある。そこで、図６（Ａ）に示すように、３次高調波用ＣＯＲＤＩＣ回転演算部３０４の前段のセレクタ３１２に入力する初期座標（βＸ，βＹ）を、位相φだけ回転するための３次高調波座標回転部６０１を設ける。該３次高調波座標回転部６０１は、入力される座標（βＸ，βＹ）を回転して、（βＸｃｏｓφ−βＹｓｉｎφ，βＸｓｉｎφ＋βＹｃｏｓφ）を出力する。３次高調波として処理される信号は、該座標回転部６０１にて位相φの回転を受けた後、３次高調波用ＣＯＲＤＩＣ回転演算部３０４にて３θの回転を受けるため、トータルで３θ＋φの回転を受ける。よって上記判別式（１１）に対応した判別が行われる。
【００４９】
さらに、５次高調波が重畳し基本波に対する初期位相がψの時、前記判別式（９）は次式（１２）のようになる。
（−αＸｓｉｎθ＋αＹｃｏｓθ）−（βＸｓｉｎ（３θ＋φ）＋βＹｃｏｓ（３θ＋φ））＋（−γＸｓｉｎ（５θ＋ψ）＋γＹｃｏｓ（５θ＋ψ））≧０  ・・・（１２）
【００５０】
上記判別が可能な構成は、図５（Ｂ）の構成に、前記３次高調波の初期座標を回転する３次高調波座標回転部６０１と５次高調波の初期座標を回転する５次高調波座標回転部７０１を、対応するセレクタの前段に設けた図６（Ｂ）に示す構成になる。３次高調波座標回転部６０１は図６（Ａ）における６０１と同じ動作であり、５次高調波座標回転部７０１は、入力される座標（γＸ，γＹ）を回転して、（γＸｃｏｓψ＋γＹｓｉｎψ，−γＸｓｉｎψ＋γＹｃｏｓψ）を出力する。３次高調波と同様に、５次高調波として処理される信号は、該座標回転部７０１にて位相ψの回転を受けた後、５次高調波用ＣＯＲＤＩＣ回転演算部４０５にて５θの回転を受けるため、トータルで５θ＋ψの回転を受ける。よって上記判別式（１２）に対応した判別が可能となる。
【００５１】
第１、第２及び第３の実施形態によれば、高調波が重畳した正弦波・余弦波の瞬時値から、その瞬時における基本波の回転角の位相を高精度で検出することができ、高調波歪み補正用の補正値演算や補正値メモリが不要になる。また、第１及び第２の実施形態は、補正値演算が必要でないため、低遅延で位相を検出でき、モータの回転位置を高速に検出でき、モータ等の位置制御がし易くなる。
【００５２】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５３】
３０１，４０１  座標変換生成部、３０２，４０２  回転方向判別部、３０３  基本波用ＣＯＲＤＩＣ回転演算部、３０４  ３次高調波用ＣＯＲＤＩＣ回転演算部、４０５  ５次高調波用ＣＯＲＤＩＣ回転演算部、３０５  回転角累積演算部、３１１，３１２，４１３  セレクタ、３２１，４２１，４２２  スケーリング補正部、６０１，７０１  高調波座標回転部
【図１】
0006750857.tif 000003
【図２】
0006750857.tif 000004
【図３】
0006750857.tif 000005
【図４】
0006750857.tif 000006
【図５】
0006750857.tif 000007
【図６】
0006750857.tif 000008