メインコンテンツ

乗算処理

R2026b

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.011  101.11⋅2−3   101.11⋅2−2+ 101.11⋅2101101.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.1010⋅2−4       1101.1010⋅2−2  1101.1010⋅2−1+ 1101.1010⋅200011000.10110010=24.6953125.

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

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

    Qa=convert(QRawProduct)=011000.1011=24.6875.

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

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