Main Content

乗算処理

n ビットの 2 進数に m ビットの 2 進数を掛けると、符号付きワードでも符号なしワードでも最大長が m + n ビットの積になります。

3 つの数値を乗算するとします。これらの各数値は 5 ビット ワードで表され、それぞれに異なる 2 進数のみのスケーリングがあります。また、出力は 2 進小数点のみのスケーリングが 2-4 の 10 ビット ワードに制限されます。入力値 5.75、2.375、および 1.8125 の乗算を次のモデルで示します。

前の節の規則を適用すると、乗算は以下の手順に従います。

  1. 最初の 2 つの数値 (5.75 と 2.375) が次のように乗算されます。

    QRawProduct=      101.11 ×10.011101.1123   101.1122+101.112101101.10101=13.65625.

    乗算された数値の 2 進小数点の和によって積の 2 進小数点が提供されます。

  2. 手順 1 の結果が次の出力データ型に変換されます。

    QTemp=convert(QRawProduct)=001101.1010=13.6250.

    変換については信号の変換で説明しています。精度が 1 ビット低下し、結果の値は丸めモードによって決定された QTemp になります。この例では、無限大方向への丸めが使用されます。さらに、オーバーフローは発生しませんでしたが、この演算では起こり得ます。

  3. 手順 2 の結果と 3 番目の数値 (1.8125) が次のように乗算されます。

    QRawProduct=        01101.1010        ×1.1101 1101.101024       1101.101022  1101.101021+1101.1010200011000.10110010=24.6953125.

    乗算された数値の 2 進小数点の和によって積の 2 進小数点が提供されます。

  4. 積が次の出力データ型に変換されます。

    Qa=convert(QRawProduct)=011000.1011=24.6875.

    変換については信号の変換で説明しています。4 ビットの精度低下が発生し、結果の値は丸めモードによって決定された QTemp になります。この例では、無限大方向への丸めが使用されます。さらに、オーバーフローは発生しませんでしたが、この演算では起こり得ます。

乗算を実行するブロックには、ProductDiscrete FIR Filter、および Gain があります。