Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

fixed.cordicDivide

CORDIC を使用した固定小数点の除算

R2020b 以降

説明

y = fixed.cordicDivide(num,den,OutputType) は、OutputType で指定された出力データ型を使用して numden で除算します。

すべて折りたたむ

num = fi(1);
den = fi(10);
OutputType = fi([],1,16,15);
y = fixed.cordicDivide(num,den,OutputType)
y = 

    0.1000

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 15

入力引数

すべて折りたたむ

分子。実数値のスカラー、ベクトル、行列、または多次元配列として指定します。

  • num が浮動小数点型の場合、den も浮動小数点型でなければならず、OutputType で浮動小数点データ型を指定する必要があります。

  • num が組み込み整数型の場合、den も組み込み整数型でなければならず、OutputType で組み込み整数データ型を指定する必要があります。

  • num が固定小数点型の場合、den も固定小数点型でなければならず、OutputType で固定小数点データ型を指定する必要があります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
複素数のサポート: あり

分子。実数値のスカラー、ベクトル、行列、または多次元配列として指定します。

  • num が浮動小数点型の場合、den も浮動小数点型でなければならず、OutputType で浮動小数点データ型を指定する必要があります。

  • num が組み込み整数型の場合、den も組み込み整数型でなければならず、OutputType で組み込み整数データ型を指定する必要があります。

  • num が固定小数点型の場合、den も固定小数点型でなければならず、OutputType で固定小数点データ型を指定する必要があります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
複素数のサポート: あり

出力のデータ型。fi オブジェクト、numerictype、または Simulink.NumericType オブジェクトとして指定します。

  • num が浮動小数点型の場合、den も浮動小数点型でなければならず、OutputType で浮動小数点データ型を指定する必要があります。

  • num が組み込み整数型の場合、den も組み込み整数型でなければならず、OutputType で組み込み整数データ型を指定する必要があります。

  • num が固定小数点型の場合、den も固定小数点型でなければならず、OutputType で固定小数点データ型を指定する必要があります。

例: fi([],1,16,15)

例: numerictype(1,16,15)

例: fixdt(1,16,15)

詳細

すべて折りたたむ

CORDIC

CORDIC は、COordinate Rotation DIgital Computer の略語です。ギブンス回転に基づく CORDIC アルゴリズムは、Shift-Add 反復演算のみを必要とするため、ハードウェア効率が最も優れたアルゴリズムの 1 つです (参考文献を参照)。CORDIC アルゴリズムは、明示的な乗数を必要としません。CORDIC を使用すると、正弦関数、余弦関数、逆正弦関数、逆余弦関数、逆正接関数、ベクトル振幅関数などのさまざまな関数を計算できます。また、このアルゴリズムは除算、平方根、双曲線、対数などの関数にも使用できます。

CORDIC の反復数を増やすと、結果の精度が高まりますが、それにより計算量が増加しレイテンシが増えます。

アルゴリズム

固定小数点入力の num および den について、fixed.cordicDivide はゼロ除算のオーバーフロー時にラップします。固定小数点のゼロ除算の動作を次の表にまとめます。

オーバーフローをラップオーバーフローを飽和
0/0 = 00/0 = 0
1/0 = 01/0 = 上限
-1/0 = 0-1/0 = 下限

浮動小数点入力については、fixed.cordicDivide は IEEE® Standard 754 に従います。

拡張機能

バージョン履歴

R2020b で導入