Atan2
説明
Atan2 ブロックは、実数値の入力信号 y_dataIn
と x_dataIn
の 4 象限逆正接を実行します。このブロックは COordinate Rotation DIgital Computer (CORDIC) の近似手法を使用して、入力の 4 象限逆正接を計算します。詳細については、アルゴリズムの CORDIC 近似手法を参照してください。このブロックには入出力データが有効かどうかを示す制御信号があります。また、アルゴリズムの反復回数およびレイテンシ手法も指定できます。
Simulink® モデルでこのブロックを使用するには、MATLAB® コマンド ウィンドウで以下のコマンドを入力して HDLMathLib
ライブラリを開きます。
open_system('HDLMathLib')
レイテンシの考慮事項
Atan2 ブロックをレイテンシを加味してシミュレートできます。このブロックは、MATLAB Function ブロック LumpLatency
を含むマスク サブシステムです。このサブシステムはこの MATLAB Function ブロックを使用して、[反復回数] に基づいてレイテンシを計算します。ブロックのレイテンシを計算する関数を表示するには、マスク サブシステムの LumpLatency
ブロックを開きます。マスク内を表示するには、ブロックの ⇩ アイコンをクリックします。
Atan2 ブロックの最大レイテンシ LMax は、以下の方程式によって計算されます。
LMax = N + 3
ここで、N は [反復回数] パラメーターの値です。
Atan2 ブロックの最小レイテンシ LMin は、以下の方程式によって計算されます。
LMin = 2 + ceil
(N / 3)
このブロックでは 4 つのレイテンシ モードがサポートされています。[レイテンシ手法] パラメーターを [カスタム]
に設定して、カスタム レイテンシ値を指定できます。詳細については、Custom latencyを参照してください。
制限
このブロックでは、
half
、single
、double
などの浮動小数点データ型はサポートされていません。
端子
入力
出力
パラメーター
ヒント
このブロックでは、HDL Coder™ を使用した HDL コード生成がサポートされています。HDL Coder には、HDL の実装および合成されたロジックに影響する追加の構成オプションがあります。詳細については、HDL ブロック プロパティを参照してください。
アルゴリズム
参照
[1] Volder, Jack E., “The CORDIC Trigonometric Computing Technique.” IRE Transactions on Electronic Computers EC-8 (1959); 330–334.
[2] Andraka, Ray “A Survey of CORDIC Algorithm for FPGA Based Computers.” Proceedings of the 1998 ACM/SIGDA Sixth International Symposium on Field Programmable Gate Arrays. Feb. 22–24 (1998): 191–200.
[3] Walther, J.S., “A Unified Algorithm for Elementary Functions,” Proceedings of the Spring Joint Computer Conference, May 18-20, 1971: 379–386.
[4] Schelin, Charles W., “Calculator Function Approximation,” The American Mathematical Monthly 90, no. 5 (1983): 317–325.
バージョン履歴
R2020b で導入