(57)【要約】【課題】位相角度ＲＯＭの記憶容量を削減して回路規模の小型化を図る。【解決手段】０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度θ１を予め記憶した位相角度ＲＯＭ２と、０度〜３６０度内相当の二次元ベクトル値にベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換するベクトル回転部３と、このベクトル回転部３で変換した０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度θ１を位相角度ＲＯＭ２から出力する逆正接演算部４と、位相角度θ１を０度〜３６０度換算の位相角度θに変換する位相角度変換部５とを有している。【選択図】図１
2011014025.tif 000002
【特許請求の範囲】
【請求項１】
０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を予め記憶した位相角度記憶部と、
０度〜３６０度内相当の二次元ベクトル値にベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換するベクトル回転部と、
前記ベクトル回転部で変換した０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力する逆正接演算部と、
前記逆正接演算部にて出力した位相角度を０度〜３６０度換算の位相角度に変換出力する位相角度変換部と
を有することを特徴とする逆正接演算装置。
【請求項２】
前記ベクトル回転部は、
前記０度〜３６０度内相当の二次元ベクトル値に９０度ベクトル回転処理を施し、０度〜４５度内相当の二次元ベクトル値に変換する９０度ベクトル回転部と、
前記９０度ベクトル回転部で変換した０度〜４５度内相当の二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値であるか否かを判定する略２２．５度ベクトル判定部と、
前記略２２．５度ベクトル判定部にて二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値でない場合、当該二次元ベクトル値に略４５度ベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換する略４５度ベクトル回転部と
を有し、
前記略２２．５度ベクトル判定部にて前記二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値である場合、前記９０度ベクトル回転部からの０度〜略２２．５度内相当の二次元ベクトル値を変換出力することを特徴とする請求項１記載の逆正接演算装置。
【請求項３】
前記略４５度ベクトル回転部は、
前記二次元ベクトル値に４５度ベクトル回転処理を施した後、ベクトル座標軸の０度軸を中心に、当該二次元ベクトル値を反転することで、０度〜略２２．５度内相当の二次元ベクトル値に変換することを特徴とする請求項２記載の逆正接演算装置。
【請求項４】
前記略４５度ベクトル回転部で変換した０度〜略２２．５度内相当の二次元ベクトル値が、逆正接関数値ａｔａｎ（１／２）の値である第１角度の半分以内相当の二次元ベクトル値であるか否かを判定する角度ベクトル判定部と、
前記角度ベクトル判定部にて二次元ベクトル値が第１角度の半分以内相当の二次元ベクトル値でない場合、逆正接関数値ａｔａｎ（１／２）のｎ乗（ｎ＝整数）の値である第２角度で当該二次元ベクトル値にベクトル回転処理を施し、０度〜第１角度半分以内相当の二次元ベクトル値に変換する逆正接関数ベクトル回転部と
を有し、
前記位相角度記憶部は、
前記０度〜第１角度半分相当の二次元ベクトル値に対応する位相角度を予め記憶し、
前記逆正接演算部は、
前記ベクトル回転部で変換した０度〜第１角度半分内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力することを特徴とする請求項２又は３記載の逆正接演算装置。
【請求項５】
前記ベクトル回転部は、
前記０度〜３６０度内相当の二次元ベクトル値が、ベクトル座標上の０度軸、９０度軸、１８０度軸又は２７０度軸から略２２．５度以内相当の二次元ベクトル値であるか否かを判定する略２２．５度以内判定部と、
前記略２２．５度以内判定部にて前記二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値である場合、当該二次元ベクトル値に９０度ベクトル回転処理を施し、０度〜略２２．５度以内相当の二次元ベクトル値に変換する９０度ベクトル回転部と、
前記略２２．５度以内判定部にて前記二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値でない場合、当該二次元ベクトル値に略４５度ベクトル回転処理を施し、略２２．５度以内相当の二次元ベクトル値に変換して、この二次元ベクトル値を前記９０度ベクトル回転部に入力する略４５度ベクトル回転部と
を有することを特徴とする請求項１記載の逆正接演算装置。
【請求項６】
前記略２２．５度は、
２２．７度に相当することを特徴とする請求項１〜５の何れか一つに記載の逆正接演算装置。
【請求項７】
０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を位相角度記憶部に記憶した記憶手順と、
０度〜３６０度内相当の二次元ベクトル値にベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換するベクトル回転手順と、
前記ベクトル回転手順で変換した０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力する逆正接演算手順と、
前記逆正接演算手順にて出力した位相角度を０度〜３６０度換算の位相角度に変換出力する位相角度変換手順と
を含むプログラムをコンピュータ装置に実行させることを特徴とする逆正接演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元ベクトル値から位相角度を演算出力する逆正接演算装置及び逆正接演算プログラムに関する。
【背景技術】
【０００２】
近年、例えば、高速通信処理、ディジタル画像処理やファジー制御処理等の各種技術分野では、二次元ベクトル値から位相角度を高速に演算出力する逆正接演算装置が必要となっている。
【０００３】
しかしながら、従来の逆正接演算装置では、高速な演算出力が要求されていることから、その回路規模も大きくなる。
【０００４】
そこで、従来の逆正接演算装置では、例えば、ＣＯＲＤＩＣ（Ｃｏｏｒｄｉｎａｔｅ  Ｒｏｔａｔｉｏｎ  Ｄｉｇｉｔａｌ  Ｃｏｍｐｕｔｅｒ）演算の繰り返し演算を採用することで、その回路規模を抑制したものが知られている。
【０００５】
また、二次元ベクトル値に対応した位相角度を管理するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）テーブルを準備し、入力した二次元ベクトル値に応じて位相角度を出力する技術も知られている。
【０００６】
しかしながら、ＲＯＭテーブルを使用する方式では、ＲＯＭテーブルで管理すべきデータ量が膨大となって、ＲＯＭテーブルの記憶容量を大きくする必要があるため、その回路規模が大きくなる。
【０００７】
そこで、近年では、ＲＯＭテーブル内の二次元ベクトル値の対数を取る、又は、必要な値域以外の精度を下げることで、ＲＯＭテーブル内のデータ量を削減し、その回路規模を抑える技術が知られている。
【０００８】
また、従来の逆正接演算装置としては、逆正接関数ａｔａｎ（ｘ）ではなく、逆正接関数ａｔａｎ（ｘ）−ｘをテーブルとして備え、その結果に対して入力値ｘを加算して逆正接結果を得ることで、その回路規模を抑制した技術も知られている。
【０００９】
更に、ＣＯＲＤＩＣ演算及びＲＯＭテーブルの折衷案として加法定理を用いることで、小型テーブルで収束の速い演算方式を採用したものも知られている。
【００１０】
更に、従来の逆正接演算装置では、０度〜３６０度内相当の二次元ベクトル値を０度〜４５度内相当の二次元ベクトル値に変換し、逆正接演算部への入力値域を抑制する方法も知られている。
【００１１】
更に、従来の逆正接演算装置では、逆正接関数ａｔａｎ（α）を直線等に近似して計算する方法を採用し、二次元ベクトル値（ｘ、ｙ）に対してα＝ｙ÷ｘを計算し、その値αが所定範囲内の場合、特定の直線に近似したと判断する技術も知られている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開昭５４−１０４２４９号公報
【特許文献２】特表昭５８−５０００４４号公報
【特許文献３】特開平１０−３０８７１４号公報
【特許文献４】特開平４−１１１０１９号公報
【特許文献５】特開平２−２３２７２４号公報
【特許文献６】特開２０００−９９３１４号公報
【特許文献７】特開２００２−９８５６号公報
【特許文献８】特開２００３−９２６０７号公報
【特許文献９】特開平５−３４７６４３号公報
【特許文献１０】特開２０００−１５５６７２号公報
【特許文献１１】特開昭５８−１７８４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記従来の逆正接演算装置では、０度〜３６０度内相当の二次元ベクトル値を０度〜４５度相当の二次元ベクトル値に変換し、逆正接演算部が０度〜４５度内相当の二次元ベクトル値に対応した位相角度を位相角度ＲＯＭから出力する。
【００１４】
しかしながら、上記従来の逆正接演算装置では、０度〜４５度内相当の二次元ベクトル値に対応する位相角度を管理する位相角度ＲＯＭのデータ量も膨大であるため、位相角度ＲＯＭの記憶容量が大きくなって、その回路規模が大規模となっているのが実情である。
【００１５】
開示の技術は上記点に鑑みてなされたものであり、その目的とするところは、位相角度記憶部で管理するデータ量を抑制することで、複雑な演算処理構成を要することなく、その回路規模の小型化が図れる逆正接演算装置及び逆正接演算プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
本願の開示する逆正接演算装置は、一つの態様において、０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を予め記憶した位相角度記憶部と、０度〜３６０度内相当の二次元ベクトル値にベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換するベクトル回転部と、前記ベクトル回転部で変換した０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力する逆正接演算部と、前記逆正接演算部にて出力した位相角度を０度〜３６０度換算の位相角度に変換出力する位相角度変換部とを有するようにした。
【００１７】
また、本願の開示する逆正接演算プログラムは、一つの態様において、０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を位相角度記憶部に記憶した記憶手順と、０度〜３６０度内相当の二次元ベクトル値にベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換するベクトル回転手順と、前記ベクトル回転手順で変換した０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力する逆正接演算手順と、前記逆正接演算手順にて出力した位相角度を０度〜３６０度換算の位相角度に変換出力する位相角度変換手順とを含むプログラムをコンピュータ装置に実行させるようにした。
【発明の効果】
【００１８】
本願の開示する逆正接演算装置及び逆正接演算プログラムの一つの態様によれば、乗除算のような複雑な演算処理を要することなく、０度〜３６０度内相当の二次元ベクトル値を０度〜略２２．５度内相当の二次元ベクトル値に値域抑制して逆正接演算部に入力する。そして、位相角度記憶部では、０度〜略２２．５度内相当の二次元ベクトル値に対応した位相角度を記憶するだけで済むため、位相角度記憶部の記憶容量を従来に比して大幅に削減し、その回路規模の小型化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】図１は、実施例１の逆正接演算装置の内部構成を示すブロック図である。
【図２】図２は、二次元ベクトル値及び位相角度の関係を示す説明図である。
【図３】図３は、実施例２の逆正接演算装置の内部構成を示すブロック図である。
【図４】図４は、９０度ベクトル回転部の９０度ベクトル回転処理に関わる変換テーブルのテーブル内容を示す説明図である。
【図５】図５は、逆正接演算部の前処理に関わる動作を示す説明図である。
【図６】図６は、４５度ベクトル回転部の４５度ベクトル回転処理に関わる変換テーブルのテーブル内容を示す説明図である。
【図７】図７は、実施例３の逆正接演算装置の内部構成を示すブロック図である。
【図８】図８は、４５度ベクトル回転部の４５度ベクトル回転処理に関わる動作を示す説明図である。
【図９】図９は、実施例４の逆正接演算装置の内部構成を示すブロック図である。
【図１０】図１０は、一括変換テーブルのテーブル内容を示す説明図である。
【図１１】図１１は、位相角度ＲＯＭに関わる記憶容量の削減効果を示す説明図である。
【図１２】図１２は、実施例５の逆正接演算装置の内部構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、図面に基づき、本願の開示する逆正接演算装置及び逆正接演算プログラムの実施例につき詳細に説明する。
【実施例１】
【００２１】
図１は、実施例１の逆正接演算装置の内部構成を示すブロック図、図２は、二次元ベクトル値及び位相角度の関係を示す説明図である。
【００２２】
図１に示す逆正接演算装置１は、図２に示すように０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）に対応する位相角度θを演算出力するものである。
【００２３】
逆正接演算装置１は、０度〜略２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に対応する位相角度θ１を予め記憶した位相角度ＲＯＭ２を有している。尚、略２２．５度は、例えば、４５度の半分の角度である２２．５度に相当するものである。
【００２４】
逆正接演算装置１は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を検出すると、二次元ベクトル値（Ｘ，Ｙ）にベクトル回転処理を実行するベクトル回転部３を有している。
【００２５】
ベクトル回転部３は、二次元ベクトル値（Ｘ，Ｙ）にベクトル回転処理を施すことで、０度〜略２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に変換するものである。
【００２６】
また、逆正接演算装置１は、ベクトル回転部３で変換した０度〜略２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に対応する位相角度θ１を位相角度ＲＯＭ２から出力する逆正接演算部４を有している。
【００２７】
更に、逆正接演算装置１は、逆正接演算部４から０度〜略２２．５度換算の位相角度θ１を検出すると、この位相角度θ１を０度〜３６０度換算の位相角度θに変換する位相角度変換部５を有している。
【００２８】
実施例１では、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に値域抑制して逆正接演算部４に入力する。そして、位相角度ＲＯＭ２では、０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に対応した位相角度θ１を記憶するだけで済むため、位相角度ＲＯＭ２の記憶容量を従来に比して大幅に削減できる。その結果、実施例１では、逆正接演算装置１の回路規模の小型化を図ることができる。
【実施例２】
【００２９】
次に、実施例２の逆正接演算装置について説明する。図３は、実施例２の逆正接演算装置の内部構成を示すブロック図である。尚、実施例１の逆正接演算装置１と同一の構成については同一符号を付すことで、その重複する構成及び動作の説明を省略する。
【００３０】
図３に示す逆正接演算装置１Ａは、位相角度ＲＯＭ２、逆正接演算部４及び位相角度変換部５の他に、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）に対して９０度ベクトル回転処理を実行する９０度ベクトル回転部１１を有している。
【００３１】
９０度ベクトル回転部１１は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）に９０度ベクトル回転処理を施し、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）に変換するものである。
【００３２】
更に、逆正接演算装置１Ａは、９０度ベクトル回転処理で変換した二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値であるか否かを判定するベクトル回転判定部１２を有している。
【００３３】
また、逆正接演算部４は、二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値である場合、この二次元ベクトル値（Ｘ１，Ｙ１）に対応する位相角度θ１を位相角度ＲＯＭ２から出力するものである。
【００３４】
また、位相角度変換部５は、逆正接演算部４にて出力した０度〜２２．５度換算の位相角度θ１を検出すると、位相角度θ１を０度〜３６０度換算の位相角度θに変換するものである。
【００３５】
更に、逆正接演算装置１Ａは、二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値でない場合、二次元ベクトル値（Ｘ２，Ｙ２）に４５度ベクトル回転処理を実行する４５度ベクトル回転部１３を有している。
【００３６】
４５度ベクトル回転部１３は、二次元ベクトル値（Ｘ２，Ｙ２）に対して４５度ベクトル回転処理を施した後、その二次元ベクトル値を＋側のＸ座標軸（０度軸）を中心に１８０度反転するものである。その結果、二次元ベクトル値（Ｘ２，Ｙ２）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ３，Ｙ３）に変換するものである。尚、４５度ベクトル回転処理は、４５度ベクトル回転処理及び１８０度反転処理を含むものである。
【００３７】
４５度ベクトル回転部１３は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ３，Ｙ３）を、ベクトル回転判定部１２を通じて二次元ベクトル値（Ｘ１，Ｙ１）として逆正接演算部４に入力するものである。
【００３８】
また、ベクトル回転判定部１２は、二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値である場合、そのまま、二次元ベクトル値（Ｘ２，Ｙ２）を二次元ベクトル値（Ｘ１，Ｙ１）として逆正接演算部４に入力するものである。
【００３９】
図４は、９０度ベクトル回転部１１の９０度ベクトル回転処理に関わる変換テーブルのテーブル内容を示す説明図である。
【００４０】
図４に示す変換テーブル２０は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）に変換する入力側変換テーブル２１を有している。
【００４１】
入力側変換テーブル２１は、二次元ベクトル値（Ｘ，Ｙ）のＸ座標側符号を示すＸ符号２１Ａ及びＹ座標側符号を示すＹ符号２１Ｂと、二次元ベクトル値（Ｘ，Ｙ）のＸＹの絶対値を比較し、４５度以内であるか否かを判定する判定条件２１Ｃを管理している。
【００４２】
更に、入力側変換テーブル２１は、これらＸ符号２１Ａ、Ｙ符号２１Ｂ及び判定条件２１Ｃに応じた二次元ベクトル値（Ｘ，Ｙ）の角度範囲２１Ｄを管理している。
【００４３】
また、変換テーブル２０は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）から０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）に変換する逆変換テーブル２２を有している。
【００４４】
逆変換テーブル２２では、９０度ベクトル回転処理後の二次元ベクトル値（Ｘ２，Ｙ２）２２Ａと、符号方向Ｄ１と、θオフセット値Ａ１とを管理している。
【００４５】
図５は、逆正接演算部４の前処理に関わる動作を示す説明図である。  
【００４６】
ベクトル回転判定部１２は、図５（Ａ）及び（Ｂ）に示すように、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値である場合、そのまま、二次元ベクトル値（Ｘ２，Ｙ２）を逆正接演算部４に入力する。
【００４７】
そして、逆正接演算部４は、二次元ベクトル値（Ｘ２，Ｙ２）を二次元ベクトル値（Ｘ１，Ｙ１）として検出すると、この二次元ベクトル値（Ｘ１，Ｙ１）に対応した位相角度θ１を位相角度ＲＯＭ２から出力するものである。
【００４８】
また、ベクトル回転判定部１２は、図５（Ｃ）に示すように、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値でない場合、二次元ベクトル値（Ｘ２，Ｙ２）に対して４５度ベクトル回転処理を実行する。
【００４９】
４５度ベクトル回転部１３は、二次元ベクトル値（Ｘ２，Ｙ２）に対して４５度ベクトル回転処理を施すことで、図５（Ｄ）に示すように、二次元ベクトル値に変換するものである。
【００５０】
更に、４５度ベクトル回転部１３は、二次元ベクトル値（Ｘ２，Ｙ２）に対して４５度ベクトル回転処理を施した後、その二次元ベクトル値を、図５（Ｅ）に示すように、０度軸を中心に１８０度反転する。そして、４５度ベクトル回転部１３は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ３，Ｙ３）に変換するものである。
【００５１】
その結果、逆正接演算部４は、０度〜２２．５度の二次元ベクトル値（Ｘ３，Ｙ３）を二次元ベクトル値（Ｘ１，Ｙ１）として検出すると、この二次元ベクトル値（Ｘ１，Ｙ１）に対応した位相角度θ１を位相角度ＲＯＭ２から出力するものである。
【００５２】
図６は、４５度ベクトル回転部１３の４５度ベクトル回転処理に関わる変換テーブルのテーブル内容を示す説明図である。
【００５３】
図６に示す変換テーブル３０は、入力角度範囲３１と、４５度ベクトル回転処理とベクトル回転判定後の二次元ベクトル値（Ｘ１，Ｙ１）３２と、符号方向Ｄ２と、θオフセット値Ａ２とを対応付けて管理している。
【００５４】
更に、位相角度変換部５は、逆正接演算部４から０〜２２．５度換算の位相角度θ１を検出すると、図６に示す変換テーブル３０及び図４に示す変換テーブル２０を使用して、この位相角度θ１を０度〜３６０度換算の位相角度θに変換するものである。
【００５５】
位相角度変換部５は、逆正接演算部４から０〜２２．５度の位相角度θ１を検出すると、Ｄ１＊Ａ２＋Ｄ２＊θ１に基づき、４５度ベクトル回転部１３の４５度ベクトル回転処理前の位相角度θ２を算出する。
【００５６】
更に、位相角度変換部５は、位相角度θ２を算出すると、Ａ１＋Ｄ１＊θ２に基づき、９０度ベクトル回転部１１の９０度ベクトル回転処理前の０度〜３６０度の位相角度θを算出するものである。
【００５７】
つまり、位相角度変換部５は、θ＝（Ａ１＋Ａ２）＋（Ｄ１＊Ｄ２）＊θ１に基づき、０度〜２２．５度換算の位相角度θ１を０度〜３６０度換算の位相角度θに変換するものである。
【００５８】
次に、実施例２の逆正接演算装置１Ａの動作について説明する。
【００５９】
逆正接演算装置１Ａ内の９０度ベクトル回転部１１は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を検出すると、図４に示す変換テーブル２０を使用して、この二次元ベクトル値（Ｘ，Ｙ）に対する９０度ベクトル回転処理を実行する。
【００６０】
９０度ベクトル回転部１１は、二次元ベクトル値（Ｘ，Ｙ）に対して９０度ベクトル回転処理を施すことで、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）に変換する。
【００６１】
また、ベクトル回転判定部１２は、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値である場合、そのまま、二次元ベクトル値（Ｘ２，Ｙ２）を逆正接演算部４に入力する。
【００６２】
逆正接演算部４は、二次元ベクトル値（Ｘ２，Ｙ２）を二次元ベクトル値（Ｘ１，Ｙ１）として検出すると、二次元ベクトル値（Ｘ１，Ｙ１）に対応する位相角度θ１を位相角度ＲＯＭ２から出力し、この位相角度θ１を位相角度変換部５に入力する。
【００６３】
また、ベクトル回転判定部１２は、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度内相当の二次元ベクトル値でない場合、この二次元ベクトル値（Ｘ２，Ｙ２）を４５度ベクトル回転部１３に入力する。
【００６４】
４５度ベクトル回転部１３は、二次元ベクトル値（Ｘ２，Ｙ２）に対して４５度ベクトル回転処理を施した後、この二次元ベクトル値を０度軸を中心に１８０度反転する。その結果、４５度ベクトル回転部１３は、二次元ベクトル値（Ｘ２，Ｙ２）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ３，Ｙ３）に変換し、この二次元ベクトル値（Ｘ３，Ｙ３）をベクトル回転判定部１２に入力する。
【００６５】
ベクトル回転判定部１２は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ３，Ｙ３）を二次元ベクトル値（Ｘ１，Ｙ１）として逆正接演算部４に入力する。
【００６６】
そして、逆正接演算部４は、二次元ベクトル値（Ｘ１，Ｙ１）に対応する位相角度θ１を位相角度ＲＯＭ２から出力し、この位相角度θ１を位相角度変換部５に入力する。
【００６７】
そして、位相角度変換部５は、逆正接演算部４から０度〜２２．５度の位相角度θ１を検出すると、θ＝（Ａ１＋Ａ２）＋（Ｄ１＊Ｄ２）＊θ１に基づき、０度〜２２．５度換算の位相角度θ１を０度〜３６０度換算の位相角度θに変換する。
【００６８】
その結果、逆正接演算装置１Ａでは、位相角度変換部５で０度〜３６０度換算の位相角度θを取得できる。
【００６９】
実施例２では、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に値域抑制して逆正接演算部４に入力する。そして、位相角度ＲＯＭ２では、０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に対応した位相角度θ１を記憶するだけで済むため、位相角度ＲＯＭ２の記憶容量を従来に比して大幅に削減できる。その結果、実施例２では、逆正接演算装置１Ａの回路規模の小型化を図りながら、部品コスト及び消費電力の抑制を図ることができる。
【００７０】
また、実施例２では、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）に変換後、二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度以内相当の二次元ベクトル値の場合、この二次元ベクトル値に対応した位相角度θ１を位相角度ＲＯＭ２から出力できる。
【００７１】
更に、実施例２では、０度〜４５度内相当の二次元ベクトル値（Ｘ２，Ｙ２）に変換後、二次元ベクトル値（Ｘ２，Ｙ２）が０度〜２２．５度以内相当の二次元ベクトル値でない場合、この二次元ベクトル値に４５度ベクトル回転処理を実行する。そして、４５度ベクトル回転処理で０度〜２２．５度以内相当の二次元ベクトル値に変換することで、二次元ベクトル値に対応した位相角度θ１を位相角度ＲＯＭ２から出力できる。
【００７２】
また、実施例２では、４５度ベクトル回転部１３の変換出力である二次元ベクトル値（Ｘ３，Ｙ３）を正確に表すと、（Ｘ２＋Ｙ２，Ｘ２−Ｙ２）／√２となる。しかしながら、逆正接結果として必要なのは位相角度だけであるため、１／√２倍は削除できる。その結果、４５度ベクトル回転処理では、乗算器を要することなく、加算器１段で実現可能となるため、処理遅延を最小限に抑制できる。
【００７３】
尚、上記実施例２では、９０度ベクトル回転部１１及び逆正接演算部４間にベクトル回転判定部１２及び４５度ベクトル回転部１３を配置した。しかしながら、９０度ベクトル回転部１１の前段にベクトル回転判定部１２及び４５度ベクトル回転部１３を配置するようにしても良く、この場合の実施例につき、実施例３として説明する。
【実施例３】
【００７４】
図７は、実施例３の逆正接演算装置の内部構成を示すブロック図である。尚、実施例２の逆正接演算装置１Ａと同一の構成については同一符号を付すことで、その重複する構成及び動作の説明を省略する。
【００７５】
図７に示す逆正接演算装置１Ｂは、逆正接演算部４の入力段に９０度ベクトル回転部１１を配置し、９０度ベクトル回転部１１の入力段に第１ベクトル回転判定部１２Ａを配置するものである。更に、逆正接演算装置１Ｂは、第１ベクトル回転判定部１２Ａの入力段に４５度ベクトル回転部１３Ａを配置するものである。
【００７６】
図８は、４５度ベクトル回転部１３Ａの４５度ベクトル回転処理に関わる動作を示す説明図である。
【００７７】
第１ベクトル回転判定部１２Ａは、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を検出すると、二次元ベクトル値（Ｘ，Ｙ）が最も近い座標軸から２２．５度以内相当の二次元ベクトル値であるか否かを判定するものである。尚、第１ベクトル回転判定部１２Ａは、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を２２．５度単位の計１６個の角度範囲相当の二次元ベクトル値に識別判定するものである。座標軸は、０度軸、９０度軸、１８０度軸及び２７０度軸を有している。
【００７８】
二次元ベクトル値（Ｘ，Ｙ）が最も近い座標軸から２２．５度以内相当の二次元ベクトル値の場合とは、例えば、０度〜２２．５度等に相当するものである。具体的には、０度〜２２．５度の他に、０度〜３６０度の内、６７．５度〜９０度、９０度〜１１２．５度、１５７．５度〜１８０度、１８０度〜２０２．５度、２４７．５度〜２７０度、２７０度〜２９２．５度、３３７．５度〜３６０度の８種類の角度範囲に相当する。
【００７９】
つまり、二次元ベクトル値（Ｘ，Ｙ）が最も近い座標軸から２２．５度以内相当の二次元ベクトル値でない場合は、図８（Ｂ）に示すように、上記８種類以外の８種類の角度範囲Ｒ１〜Ｒ８に相当するものである。
【００８０】
また、第１ベクトル回転判定部１２Ａは、二次元ベクトル値（Ｘ，Ｙ）が最も近い座標軸から２２．５度以内相当の二次元ベクトル値でない場合、４５度ベクトル回転部１３Ａを通じて、二次元ベクトル値（Ｘ，Ｙ）に４５度ベクトル回転処理を実行する。
【００８１】
４５度ベクトル回転部１３Ａは、二次元ベクトル値（Ｘ，Ｙ）に対して４５度ベクトル回転処理を施した後、二次元ベクトル値を、その座標軸を中心に１８０度反転することで、二次元ベクトル値を図８（Ｃ）に示す二次元ベクトル値に変換するものである。
【００８２】
４５度ベクトル回転部１３Ａは、Ｒ３（図８（Ｂ）参照）相当の二次元ベクトル値に４５度ベクトル回転処理を施し、＋側のＹ座標軸（９０度軸）を中心に１８０度反転することで、Ｒ３（図８（Ｃ）参照）相当の二次元ベクトル値（Ｘ５，Ｙ５）に変換する。
【００８３】
その結果、４５度ベクトル回転部１３Ａは、２２．５度以内相当の二次元ベクトル値でなくても、この二次元ベクトル値を、図８（Ｄ）に示すように、２２．５度以内相当の二次元ベクトル値（Ｘ５，Ｙ５）に変換するものである。
【００８４】
第１ベクトル回転判定部１２Ａは、２２．５度以内相当の二次元ベクトル値（Ｘ，Ｙ）又は（Ｘ５，Ｙ５）を検出すると、２２．５度以内相当の二次元ベクトル値（Ｘ６，Ｙ６）を９０度ベクトル回転部１１に入力するものである。
【００８５】
９０度ベクトル回転部１１は、２２．５度以内相当の二次元ベクトル値（Ｘ６，Ｙ６）に９０度ベクトル回転処理を実行して、図８（Ｅ）に示すように、０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に変換するものである。そして、９０度ベクトル回転部１１は、当該二次元ベクトル値（Ｘ１，Ｙ１）を逆正接演算部４に入力するものである。
【００８６】
次に、実施例３の逆正接演算装置１Ｂの動作について説明する。
【００８７】
逆正接演算装置１Ｂ内の第１ベクトル回転判定部１２Ａは、二次元ベクトル値（Ｘ，Ｙ）が最も近い座標軸から２２．５度以内相当の二次元ベクトル値であるか否かを判定する。
【００８８】
第１ベクトル回転判定部１２Ａは、二次元ベクトル値（Ｘ，Ｙ）が２２．５度以内相当の二次元ベクトル値の場合（図８（Ａ）参照）、そのまま、二次元ベクトル値（Ｘ，Ｙ）を二次元ベクトル値（Ｘ６，Ｙ６）として９０度ベクトル回転部１１に入力する。
【００８９】
９０度ベクトル回転部１１は、二次元ベクトル値（Ｘ６，Ｙ６）を検出すると、この二次元ベクトル値（Ｘ６，Ｙ６）に９０度ベクトル回転処理を施し、図８（Ｅ）に示す０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に変換する。
【００９０】
更に、９０度ベクトル回転部１１は、二次元ベクトル値（Ｘ１，Ｙ１）を逆正接演算部４に入力する。
【００９１】
また、第１ベクトル回転判定部１２Ａは、二次元ベクトル値（Ｘ，Ｙ）が座標軸から２２．５度以内相当の二次元ベクトル値でない場合（図８（Ｂ）参照）、二次元ベクトル値（Ｘ，Ｙ）に対して４５度ベクトル回転処理を実行する。
【００９２】
４５度ベクトル回転部１３Ａは、二次元ベクトル値（Ｘ，Ｙ）に対して４５度ベクトル回転処理を施し、図８（Ｃ）及び（Ｄ）に示すように、２２．５度以内相当の二次元ベクトル値（Ｘ５，Ｙ５）に変換する。そして、４５度ベクトル回転部１３Ａは、２２．５度以内相当の二次元ベクトル値（Ｘ５，Ｙ５）を第１ベクトル回転判定部１２Ａに入力する。
【００９３】
第１ベクトル回転判定部１２Ａは、２２．５度以内相当の二次元ベクトル値（Ｘ５，Ｙ５）を検出すると、その２２．５度以内相当の二次元ベクトル値（Ｘ５，Ｙ５）を二次元ベクトル値（Ｘ６，Ｙ６）として９０度ベクトル回転部１１に入力する。
【００９４】
また、逆正接演算部４は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）を検出すると、この二次元ベクトル値（Ｘ１，Ｙ１）に対応する位相角度θ１を位相角度ＲＯＭ２から出力し、その位相角度θ１を位相角度変換部５に入力する。
【００９５】
位相角度変換部５は、逆正接演算部４から０度〜２２．５度換算の位相角度θ１を検出すると、θ＝（Ａ１＋Ａ２）＋（Ｄ１＊Ｄ２）＊θ１に基づき、０度〜２２．５度換算の位相角度θ１を０度〜３６０度換算の位相角度θに変換する。
【００９６】
その結果、逆正接演算装置１Ｂでは、位相角度変換部５で０度〜３６０度換算の位相角度θを取得できる。
【００９７】
実施例３では、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に値域抑制して逆正接演算部４に入力する。そして、位相角度ＲＯＭ２では、０度〜２２．５度内相当の二次元ベクトル値（Ｘ１，Ｙ１）に対応した位相角度θ１を記憶するだけで済むため、位相角度ＲＯＭ２の記憶容量を従来に比して大幅に削減できる。その結果、実施例３では、逆正接演算装置１Ｂの回路規模の小型化を図りながら、部品コスト及び消費電力の抑制を図ることができる。
【００９８】
また、実施例３では、二次元ベクトル値（Ｘ，Ｙ）が最も近い座標軸から２２．５度以内相当の二次元ベクトル値の場合、二次元ベクトル値に９０度ベクトル回転処理を実行する。そして、９０度ベクトル回転処理を実行して、０度〜２２．５度内相当の二次元ベクトル値に変換することで、二次元ベクトル値に対応した位相角度θ１を位相角度ＲＯＭ２から出力できる。
【００９９】
更に、実施例３では、二次元ベクトル値（Ｘ，Ｙ）が最も近い座標軸から２２．５度以内相当の二次元ベクトル値でない場合、二次元ベクトル値に４５度ベクトル回転処理を実行する。そして、４５度ベクトル回転処理を実行後、その二次元ベクトル値に９０度ベクトル回転処理を実行して、０度〜２２．５度内相当の二次元ベクトル値に変換することで、二次元ベクトル値に対応した位相角度θ１を位相角度ＲＯＭ２から出力できる。
【０１００】
尚、前述した実施例２では、逆正接演算部４の入力段にベクトル回転判定部１２を配置すると共に、そのベクトル回転判定部１２の入力段に９０度ベクトル回転部１１及び４５度ベクトル回転部１３を配置した。しかしながら、９０度ベクトル回転部１１の９０度ベクトル回転処理及び４５度ベクトル回転部１３の４５度ベクトル回転処理を同時に実行するようにしても良く、この場合の実施例につき、実施例４として説明する。
【実施例４】
【０１０１】
図９は、実施例４の逆正接演算装置の内部構成を示すブロック図である。尚、実施例２の逆正接演算装置１Ａと同一の構成については同一符号を付すことで、その重複する構成及び動作の説明を省略する。
【０１０２】
図９に示す逆正接演算装置１Ｃは、位相角度ＲＯＭ２、逆正接演算部４及び位相角度変換部５を有し、９０度ベクトル回転部１１、ベクトル回転判定部１２及び４５度ベクトル回転部１３の代わりに一括ベクトル回転部１４を配置した。
【０１０３】
一括ベクトル回転部１４は、逆正接演算部４の入力段に配置し、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に一括変換するものである。
【０１０４】
一括ベクトル回転部１４は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に一括変換する条件を管理する一括変換テーブル４０を備えている。
【０１０５】
位相角度ＲＯＭ２は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に対応する位相角度θ１を管理している。
【０１０６】
図１０は、一括変換テーブル４０のテーブル内容を示す説明図である。
【０１０７】
図１０に示す一括変換テーブル４０は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に変換する入力側変換テーブル４１を有している。
【０１０８】
入力側変換テーブル４１は、二次元ベクトル値（Ｘ，Ｙ）のＸ座標側符号を示すＸ符号４１Ａ及びＹ座標側符号を示すＹ符号４１Ｂと、二次元ベクトル値（Ｘ，Ｙ）のＸＹを比較し、判定条件４１Ｃとを管理している。
【０１０９】
尚、判定条件４１Ｃは、４５度以内であるか否かを判定する４５度判定条件として、「Ｘ＜Ｙ」を使用し、２２．５度以内であるか否かを判定する２２．５度判定条件として、「５．０Ｘ＜１２．０Ｙ」を使用する。尚、「５．０Ｘ＜１２．０Ｙ」は、約２２．７度以内であるか否かを判定する判定条件であるが、２２．５度と近似のため、説明の便宜上、２２．５度以内であるか否かを判定する判定条件として使用するものとする。
【０１１０】
また、入力側変換テーブル４１は、Ｘ符号４１Ａ、Ｙ符号４１Ｂ及び判定条件４１Ｃに応じた二次元ベクトル値（Ｘ，Ｙ）の角度範囲４１Ｄを管理している。
【０１１１】
また、一括変換テーブル４０は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）から０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に変換する逆変換テーブル４２を有している。
【０１１２】
更に、逆変換テーブル４２は、一括ベクトル変換処理後の二次元ベクトル値（Ｘ７，Ｙ７）４２Ａと、符号方向Ｄ３と、θオフセット値Ａ３とを管理している。
【０１１３】
一括ベクトル回転部１４は、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を検出すると、一括変換テーブル４０の判定条件４１Ｃに基づき、二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に変換するものである。
【０１１４】
逆正接演算部４は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）を検出すると、二次元ベクトル値（Ｘ７，Ｙ７）に対応する位相角度θ１を位相角度ＲＯＭ２から出力するものである。
【０１１５】
また、位相角度変換部５は、位相角度θ１を検出すると、図１０に示す一括変換テーブル４０を使用して、θ＝Ａ３＋Ｄ３＊θ１に基づき、０度〜２２．５度換算の位相角度θ１を０度〜３６０度換算の位相角度θに変換するものである。
【０１１６】
次に、実施例４の逆正接演算装置１Ｃの動作について説明する。
【０１１７】
図９に示す逆正接演算装置１Ｃ内の一括ベクトル回転部１４は、０度〜３６０度内相当の二次ベクトル値（Ｘ，Ｙ）を検出する。
【０１１８】
一括ベクトル回転部１４は、一括変換テーブル４０内のＸ符号４１Ａ、Ｙ符号４１Ｂ及び判定条件４１Ｃに基づき、二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に変換する。
【０１１９】
一括ベクトル回転部１４は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に変換すると、この二次元ベクトル値（Ｘ７，Ｙ７）を逆正接演算部４に入力する。
【０１２０】
逆正接演算部４は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）を検出すると、二次元ベクトル値（Ｘ７，Ｙ７）に対応する位相角度θ１を位相角度ＲＯＭ２から出力する。
【０１２１】
位相角度変換部５は、逆正接演算部４から０度〜２２．５度の位相角度θ１を検出すると、図１０に示す変換テーブル４０を使用してＡ３＋Ｄ３＊θ１に基づき、位相角度θ１を一括ベクトル回転処理前の０度〜３６０度の位相角度θに変換する。
【０１２２】
その結果、逆正接演算装置１Ｃでは、位相角度変換部５で０度〜３６０度換算の位相角度θを取得できる。
【０１２３】
実施例４では、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に値域抑制して逆正接演算部４に入力する。そして、位相角度ＲＯＭ２では、０度〜２２．５度内相当の二次元ベクトル値（Ｘ７，Ｙ７）に対応した位相角度θ１を記憶するだけで済むため、位相角度ＲＯＭ２の記憶容量を従来に比して大幅に削減できる。その結果、実施例４では、逆正接演算装置１Ｃの回路規模の小型化を図りながら、部品コスト及び消費電力の抑制を図ることができる。
【０１２４】
また、実施例４では、一括ベクトル回転部１４を通じて４５度ベクトル回転処理及び９０度ベクトル回転処理を同時に実行することになるため、その処理速度を大幅に向上できる。
【０１２５】
図１１は、位相角度ＲＯＭ２に関わる記憶容量の削減効果を示す説明図である。
【０１２６】
図１１では、０度〜４５度相当の二次元ベクトル値に対応する位相角度を単純なテーブル引きで実現する場合の位相角度ＲＯＭに比較して、一括変換テーブル４０を使用した場合、その位相角度ＲＯＭ２の記憶容量を半分程度削減できることを示している。
【０１２７】
尚、一括変換テーブル４０を使用した場合、図１１（Ｂ）に示すように、４５度ベクトル回転で絶対値が√２倍となるため、Ｘ座標軸（０度軸）の最大値が増加している。しかしながら、１／√２倍又は精度を犠牲にして、１／２倍や１／２＋１／８倍等の絶対値の削減処理を実行することで、図１１（Ｂ）に示す斜線部分の記憶容量を削減し、Ｘ座標軸側の最大値を図１１（Ａ）と同じにすることもできる。
【０１２８】
尚、前述した実施例２では、逆正接演算部４の入力段に４５度ベクトル回転部１３を配置した。しかしながら、４５度ベクトル回転部１３及び逆正接演算部４間に逆正接関数値（ａｔａｎ）を使用したベクトル回転部を配置するようにしても良く、この場合の実施例につき、実施例５として説明する。
【実施例５】
【０１２９】
図１２は、実施例５の逆正接演算装置の内部構成を示すブロック図である。尚、実施例２の逆正接演算装置１Ａと同一の構成については同一符号を付すことで、その重複する構成及び動作の説明を省略する。
【０１３０】
図１２に示す逆正接演算装置１Ｄは、９０度ベクトル回転部１１、ベクトル回転判定部１２、４５度ベクトル回転部１３及び逆正接演算部４を有している。
【０１３１】
更に、逆正接演算装置１Ｄは、ベクトル回転判定部１２及び逆正接演算部４間に、逆正接関数型ベクトル回転部１５及び逆正接関数型ベクトル回転判定部１６を配置している。
【０１３２】
また、逆正接関数型ベクトル回転判定部１６は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ８，Ｙ８）が逆正接関数ａｔａｎ（１／２）÷２の角度相当の二次元ベクトル値であるか否かを判定するものである。尚、逆正接関数ａｔａｎ（１／２）を２６．６度とした場合、逆正接関数ａｔａｎ（１／２）÷２では１３．３度ということになる。
【０１３３】
逆正接関数型ベクトル回転判定部１６は、二次元ベクトル値（Ｘ８，Ｙ８）が逆正接関数ａｔａｎ（１／２）÷２の角度以内相当の二次元ベクトル値である場合、そのまま、この二次元ベクトル値を逆正接演算部４に入力するものである。
【０１３４】
また、逆正接関数型ベクトル回転判定部１６は、二次元ベクトル値（Ｘ８，Ｙ８）が逆正接関数ａｔａｎ（１／２）÷２の角度以内相当の二次元ベクトル値でない場合、二次元ベクトル値を逆正接関数型ベクトル回転部１５に入力するものである。
【０１３５】
逆正接関数型ベクトル回転部１５は、０度〜２２．５度内相当の二次元ベクトル値（Ｘ８，Ｙ８）の逆正接関数ａｔａｎ（１／２）ｎ（ｎ＝整数）の値を回転角度とする。
【０１３６】
更に、逆正接関数型ベクトル回転部１５は、この回転角度で二次元ベクトル値（Ｘ８，Ｙ８）にベクトル回転処理を施し、二次元ベクトル値（Ｘ８，Ｙ８）をａｔａｎ（１／２）÷２の角度以内の二次元ベクトル値（Ｘ９，Ｙ９）に変換するものである。
【０１３７】
更に、逆正接関数型ベクトル回転部１５は、逆正接関数型ベクトル回転判定部１６を通じて二次元ベクトル値（Ｘ９，Ｙ９）を二次元ベクトル値（Ｘ１０，Ｙ１０）として逆正接演算部４に入力するものである。
【０１３８】
また、位相角度ＲＯＭ２Ａは、０度〜ａｔａｎ（１／２）÷２の角度内相当の二次元ベクトル値（Ｘ１０，Ｙ１０）に対応する位相角度θ１を管理するものである。
【０１３９】
つまり、位相角度ＲＯＭ２Ａは、実施例１乃至４の位相角度ＲＯＭ２では０度〜２２．５度内相当の二次元ベクトル値に対応する位相角度θ１を記憶している。これに対し、位相角度ＲＯＭ２Ａでは、０度〜１３．３度内相当の二次元ベクトル値（Ｘ１０，Ｙ１０）に対応する位相角度θ１を記憶しているため、その記憶容量を大幅に削減できるものである。
【０１４０】
次に、実施例５の逆正接演算装置１Ｄの動作について説明する。尚、説明の便宜上、ａｔａｎ（１／２）÷２で１３．３度とする。
【０１４１】
逆正接関数型ベクトル回転判定部１６は、ベクトル回転判定部１２を通じて０度〜２２．５度内相当の二次元ベクトル値（Ｘ８，Ｙ８）を検出すると、二次元ベクトル値（Ｘ８，Ｙ８）が１３．３度以内相当の二次元ベクトル値であるか否かを判定する。
【０１４２】
逆正接関数型ベクトル回転判定部１６は、二次元ベクトル値（Ｘ８，Ｙ８）が１３．３度以内相当の二次元ベクトル値である場合、０度〜１３．３度内相当の二次元ベクトル値と判断する。
【０１４３】
更に、逆正接関数型ベクトル回転判定部１６は、そのまま、二次元ベクトル値（Ｘ８，Ｙ８）を二次元ベクトル値（Ｘ１０，Ｙ１０）として逆正接演算部４に入力する。
【０１４４】
また、逆正接関数型ベクトル回転判定部１６は、二次元ベクトル値（Ｘ８，Ｙ８）が１３．３度以内相当の二次元ベクトル値でない場合、二次元ベクトル値（Ｘ８，Ｙ８）を０度〜１３．３度内相当の二次元ベクトル値に変換する。
【０１４５】
逆正接関数型ベクトル回転部１５は、例えば、逆正接関数ａｔａｎ（１／２）の値を回転角度とし、この回転角度で二次元ベクトル値（Ｘ８，Ｙ８）を０度〜１３．３度内相当の二次元ベクトル値（Ｘ９，Ｙ９）に変換する。
【０１４６】
更に、逆正接関数型ベクトル回転部１５は、二次元ベクトル値（Ｘ９，Ｙ９）を逆正接関数型ベクトル回転判定部１６に入力する。
【０１４７】
逆正接関数型ベクトル回転判定部１６は、二次元ベクトル値（Ｘ９，Ｙ９）を二次元ベクトル値（Ｘ１０，Ｙ１０）として逆正接演算部４に入力する。
【０１４８】
逆正接演算部４は、二次元ベクトル値（Ｘ１０，Ｙ１０）を検出すると、二次元ベクトル値（Ｘ１０，Ｙ１０）に対応する位相角度θ１を位相角度ＲＯＭ２Ａから出力し、この位相角度θ１を位相角度変換部５に入力する。
【０１４９】
位相角度変換部５は、逆正接演算部４から０度〜１３．３度の位相角度θ１を検出すると、（Ａ１＋Ａ２）＋（Ｄ１＊Ｄ２）＊θ１及びａｔａｎ（１／２）の逆変換用数値に基づき、０度〜１３．３度換算の位相角度θ１を０度〜３６０度換算の位相角度θに変換する。
【０１５０】
その結果、逆正接演算装置１Ｄでは、位相角度変換部５で０度〜３６０度換算の位相角度θを取得できる。
【０１５１】
実施例５では、０度〜３６０度内相当の二次元ベクトル値（Ｘ，Ｙ）を０度〜１３．３度内相当の二次元ベクトル値（Ｘ１０，Ｙ１０）に値域抑制して逆正接演算部４に入力する。そして、位相角度ＲＯＭ２Ａでは、０度〜１３．３度内相当の二次元ベクトル値（Ｘ１０，Ｙ１０）に対応した位相角度θ１を記憶するだけで済むため、位相角度ＲＯＭ２Ａの記憶容量を従来に比して大幅に削減できる。その結果、実施例５では、逆正接演算装置１Ｄの回路規模の小型化を図りながら、部品コスト及び消費電力の抑制を図ることができる。
【０１５２】
また、実施例５では、０度〜２２．５度内相当の二次元ベクトル値（Ｘ８，Ｙ８）に変換後、二次元ベクトル値（Ｘ８，Ｙ８）が０度〜１３．３度以内相当の二次元ベクトル値の場合、この二次元ベクトル値（Ｘ１０，Ｙ１０）に対応した位相角度θ１を位相角度ＲＯＭ２Ａから出力できる。
【０１５３】
更に、実施例５では、０度〜２２．５度内相当の二次元ベクトル値（Ｘ８，Ｙ８）に変換後、二次元ベクトル値が０度〜１３．３度以内相当の二次元ベクトル値でない場合、この二次元ベクトル値にａｔａｎ（１／２）の回転角度のベクトル回転処理を実行する。そして、ａｔａｎ（１／２）の回転角度のベクトル回転処理で０度〜１３．３度以内相当の二次元ベクトル値に変換することで、二次元ベクトル値に対応した位相角度θ１を位相角度ＲＯＭ２Ａから出力できる。
【０１５４】
また、実施例５では、逆正接関数型ベクトル回転部１５の変換出力である二次元ベクトル値（Ｘ９，Ｙ９）を正確に表すと、（２＊Ｘ８＋Ｙ８，−Ｘ８＋２＊Ｙ８）／√５となる。しかしながら、逆正接結果として必要なのは位相角度だけであるため、１／√５倍は削除できる。その結果、逆正接関数型ベクトル回転処理では、乗算器を要することなく、シフト及び加算だけの簡単な回路構成で回転処理を実現できる。同様に、回路規模及び演算遅延が適切な値になるまでベクトル回転による値域削減を繰り返すことができる。
【０１５５】
また、上記実施例５では、逆正接関数型ベクトル回転部１５のａｔａｎ（１／２）ｎの係数ｎを大きくすることで、回転角度を小さくすることができるため、その分、逆正接演算部４の入力値域を抑制できる。
【０１５６】
尚、上記実施例５では、逆正接関数型ベクトル回転部１５を一段としたが、逆正接関数型ベクトル回転部１５を多段にし、逆正接演算部４の入力値域をより一層抑制し、その結果、位相角度ＲＯＭ２Ａのデータ容量を削減するようにしても良い。
【０１５７】
また、上記実施例５では、ベクトル回転判定部１２の出力段に逆正接関数型ベクトル回転部１５及び逆正接関数型ベクトル回転判定部１６を配置した。しかしながら、例えば、ベクトル回転判定部１２及び４５度ベクトル回転部１３の入力段に逆正接関数型ベクトル回転部１５及び逆正接関数型ベクトル回転判定部１６を配置するようにしても、同様の効果が得られることは言うまでもない。
【０１５８】
上記実施例４では、説明の便宜上、５．０Ｘ１＜１２．０Ｙ１の判定条件を使用して２２．７度に近似した２２．５度を閾値判定するようにしたが、厳密に考えると、同判定条件を使用した場合、２２．７度を閾値判定することになる。従って、同判定条件を使用した場合、位相角度ＲＯＭ２も０度〜２２．７度内相当の二次元ベクトル値に設定するものである。
【０１５９】
また、本実施例では、例えば、０度〜２２．５度の範囲で小数点単位までの高精度な閾値判定を実現し、この閾値判定に基づき、逆正接演算部４の逆正接演算結果を出力した。しかしながら、小数点までの高精度な閾値判定を要することなく、精度１度単位にすると、０度〜２２．５度の場合、２２個の閾値判定で済む。この場合、Ｘ１＊ａ＞Ｙ１＊ｂ：（ａ＝１１４４，ｂ＝６５５３６）の条件を使用し、この条件が成立した場合、二次元ベクトル値で約１度以下と閾値判定できるものである。尚、係数ａ及びｂの数値を変えることで、２度以上にも順次対応できることは言うまでもない。
【０１６０】
また、上記実施例１乃至５では、位相変調処理に使用する逆正接演算装置について説明したが、例えば、高速通信処理、ディジタル画像処理やファジー制御処理に関わる逆正接演算処理に有用であることは言うまでもない。
【０１６１】
以上、上記実施例について説明したが、本実施例によって本願の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲を逸脱しない限り、各種様々な実施例が実施可能であることは言うまでもない。また、本実施例に記載した効果は、これに限定されるものではない。
【０１６２】
また、本実施例で説明した各種処理の内、自動的に行われるものとして説明した処理の全部又は一部を手動で行うことも可能であることは勿論のこと、その逆に、手動で行われるものとして説明した処理の全部又は一部を自動で行うことも可能であることは言うまでもない。また、本実施例で説明した処理手順、制御手順、具体的名称、各種データやパラメータを含む情報についても、特記した場合を除き、適宜変更可能であることは言うまでもない。
【０１６３】
また、図示した各装置の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、その各装置の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。
【０１６４】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、（又はＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）等のマイクロ・コンピュータ）上、又は同ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【０１６５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６６】
（付記１）０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を予め記憶した位相角度記憶部と、
０度〜３６０度内相当の二次元ベクトル値にベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換するベクトル回転部と、
前記ベクトル回転部で変換した０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力する逆正接演算部と、
前記逆正接演算部にて出力した位相角度を０度〜３６０度換算の位相角度に変換出力する位相角度変換部と
を有することを特徴とする逆正接演算装置。
【０１６７】
（付記２）前記ベクトル回転部は、
前記０度〜３６０度内相当の二次元ベクトル値に９０度ベクトル回転処理を施し、０度〜４５度内相当の二次元ベクトル値に変換する９０度ベクトル回転部と、
前記９０度ベクトル回転部で変換した０度〜４５度内相当の二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値であるか否かを判定する略２２．５度ベクトル判定部と、
前記略２２．５度ベクトル判定部にて二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値でない場合、当該二次元ベクトル値に略４５度ベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換する略４５度ベクトル回転部と
を有し、
前記略２２．５度ベクトル判定部にて前記二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値である場合、前記９０度ベクトル回転部からの０度〜略２２．５度内相当の二次元ベクトル値を変換出力することを特徴とする付記１記載の逆正接演算装置。
【０１６８】
（付記３）前記略４５度ベクトル回転部は、
前記二次元ベクトル値に４５度ベクトル回転処理を施した後、ベクトル座標軸の０度軸を中心に、当該二次元ベクトル値を反転することで、０度〜略２２．５度内相当の二次元ベクトル値に変換することを特徴とする付記２記載の逆正接演算装置。
【０１６９】
（付記４）前記略４５度ベクトル回転部で変換した０度〜略２２．５度内相当の二次元ベクトル値が、逆正接関数値ａｔａｎ（１／２）の値である第１角度の半分以内相当の二次元ベクトル値であるか否かを判定する角度ベクトル判定部と、
前記角度ベクトル判定部にて二次元ベクトル値が第１角度の半分以内相当の二次元ベクトル値でない場合、逆正接関数値ａｔａｎ（１／２）のｎ乗（ｎ＝整数）の値である第２角度で当該二次元ベクトル値にベクトル回転処理を施し、０度〜第１角度半分以内相当の二次元ベクトル値に変換する逆正接関数ベクトル回転部と
を有し、
前記位相角度記憶部は、
前記０度〜第１角度半分相当の二次元ベクトル値に対応する位相角度を予め記憶し、
前記逆正接演算部は、
前記ベクトル回転部で変換した０度〜第１角度半分内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力することを特徴とする付記２又は３記載の逆正接演算装置。
【０１７０】
（付記５）前記ベクトル回転部は、
前記０度〜３６０度内相当の二次元ベクトル値が、ベクトル座標上の０度軸、９０度軸、１８０度軸又は２７０度軸から略２２．５度以内相当の二次元ベクトル値であるか否かを判定する略２２．５度以内判定部と、
前記略２２．５度以内判定部にて前記二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値である場合、当該二次元ベクトル値に９０度ベクトル回転処理を施し、０度〜略２２．５度以内相当の二次元ベクトル値に変換する９０度ベクトル回転部と、
前記略２２．５度以内判定部にて前記二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値でない場合、当該二次元ベクトル値に略４５度ベクトル回転処理を施し、略２２．５度以内相当の二次元ベクトル値に変換して、この二次元ベクトル値を前記９０度ベクトル回転部に入力する略４５度ベクトル回転部と
を有することを特徴とする付記１記載の逆正接演算装置。
【０１７１】
（付記６）前記略４５度ベクトル回転部は、
前記二次元ベクトル値に４５度ベクトル回転処理を施した後、前記０度軸、９０度軸、１８０度軸又は２７０度軸の内、当該二次元ベクトル値から最も近い軸を中心に、当該二次元ベクトル値を反転することで、０度〜略２２．５度内相当の二次元ベクトル値に変換することを特徴とする付記５記載の逆正接演算装置。
【０１７２】
（付記７）前記９０度ベクトル回転部で変換した０度〜略２２．５度内相当の二次元ベクトル値が、逆正接関数値ａｔａｎ（１／２）の値である第１角度の半分以内相当の二次元ベクトル値であるか否かを判定する角度ベクトル判定部と、
前記ベクトル角度判定部にて二次元ベクトル値が第１角度の半分以内相当の二次元ベクトル値でない場合、逆正接関数値ａｔａｎ（１／２）のｎ乗（ｎ＝整数）の値である第２角度で当該二次元ベクトル値にベクトル回転処理を施し、０度〜第１角度半分以内相当の二次元ベクトル値に変換する逆正接関数ベクトル回転部と
を有し、
前記位相角度記憶部は、
前記０度〜第１角度半分相当の二次元ベクトル値に対応する位相角度を予め記憶し、
前記逆正接演算部は、
前記ベクトル回転部で変換した０度〜第１角度半分内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力することを特徴とする付記５又は６記載の逆正接演算装置。
【０１７３】
（付記８）前記略２２．５度は、
２２．７度に相当することを特徴とする付記１〜７の何れか一つに記載の逆正接演算装置。
【０１７４】
（付記９）０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を位相角度記憶部に記憶した記憶手順と、
０度〜３６０度内相当の二次元ベクトル値にベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換するベクトル回転手順と、
前記ベクトル回転手順で変換した０度〜略２２．５度内相当の二次元ベクトル値に対応する位相角度を前記位相角度記憶部から出力する逆正接演算手順と、
前記逆正接演算手順にて出力した位相角度を０度〜３６０度換算の位相角度に変換出力する位相角度変換手順と
を含むプログラムをコンピュータ装置に実行させることを特徴とする逆正接演算プログラム。
【０１７５】
（付記１０）前記ベクトル回転手順は、
前記０度〜３６０度内相当の二次元ベクトル値に９０度ベクトル回転処理を施し、０度〜４５度内相当の二次元ベクトル値に変換する９０度ベクトル回転手順と、
前記９０度ベクトル回転手順で変換した０度〜４５度内相当の二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値であるか否かを判定する略２２．５度ベクトル判定手順と、
前記略２２．５度ベクトル判定手順にて二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値でない場合、当該二次元ベクトル値に略４５度ベクトル回転処理を施し、０度〜略２２．５度内相当の二次元ベクトル値に変換する略４５度ベクトル回転手順と
を含み、
前記略２２．５度ベクトル判定手順にて前記二次元ベクトル値が略２２．５度以内相当の二次元ベクトル値である場合、前記９０度ベクトル回転手順での０度〜略２２．５度内相当の二次元ベクトル値を変換出力する
ことを特徴とする付記９記載の逆正接演算プログラム。
【符号の説明】
【０１７６】
１  逆正接演算装置
１Ａ  逆正接演算装置
１Ｂ  逆正接演算装置
１Ｃ  逆正接演算装置
１Ｄ  逆正接演算装置
２  位相角度ＲＯＭ
２Ａ  位相角度ＲＯＭ
３  ベクトル回転部
４  逆正接演算部
５  位相角度変換部
１１  ９０度ベクトル回転部
１２  ベクトル回転判定部
１２Ａ  第１ベクトル回転判定部
１３  ４５度ベクトル回転部
１３Ａ  ４５度ベクトル回転部
１４  一括ベクトル回転部
１５  逆正接関数型ベクトル回転部
１６  逆正接関数型ベクトル回転判定部
２０  変換テーブル
２１  入力側変換テーブル
２２  逆変換テーブル
３０  変換テーブル
４０  一括変換テーブル
４１  入力側変換テーブル
４２  逆変換テーブル
【図１】
2011014025.tif 000003
【図２】
2011014025.tif 000004
【図３】
2011014025.tif 000005
【図４】
2011014025.tif 000006
【図５】
2011014025.tif 000007
【図６】
2011014025.tif 000008
【図７】
2011014025.tif 000009
【図８】
2011014025.tif 000010
【図９】
2011014025.tif 000011
【図１０】
2011014025.tif 000012
【図１１】
2011014025.tif 000013
【図１２】
2011014025.tif 000014