Процесс умножения

Умножение n-битового двоичного числа с m-битным двоичным числом приводит к продукту, которая до m + n бит в длину для слов с знаком и без знака.

Предположим, вы хотите умножить три числа. Каждое из этих чисел представлено 5-битным словом, и каждое имеет разное масштабирование только для двоичных точек. Кроме того, выход ограничен 10-битным словом с двоичным масштабированием только для точек 2-4. Умножение показано в следующей модели для входных значений 5.75, 2.375 и 1.8125.

Применяя правила из предыдущего раздела, умножение следует следующим шагам:

  1. Первые два числа (5.75 и 2.375) умножаются:

    QRawProduct=      101.11 ×10.011101.1123   101.1122+101.112101101.10101=13.65625.

    Обратите внимание, что двоичная точка продукта задается суммой двоичных точек умноженных чисел.

  2. Результат шага 1 преобразуется в тип выходных данных:

    QTemp=convert(QRawProduct)=001101.1010=13.6250.

    Преобразования сигналов обсуждают преобразования. Обратите внимание, что происходит потеря точности одного бита с полученным значением QTemp, определяемым режимом округления. В данном примере используется метод «скругление на пол». Кроме того, переполнение не произошло, но возможно для этой операции.

  3. Результат шага 2 и третье число (1,8125) умножаются:

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

    Обратите внимание, что двоичная точка продукта задается суммой двоичных точек умноженных чисел.

  4. Продукт преобразуется в тип выходных данных:

    Qa=convert(QRawProduct)=011000.1011=24.6875.

    Преобразования сигналов обсуждают преобразования. Обратите внимание, что произошла потеря точности 4 бита с полученным значением QTemp, определяемым режимом округления. В данном примере используется метод «скругление на пол». Кроме того, переполнение не произошло, но возможно для этой операции.

Блоки, которые выполняют умножение, включают блоки Product, Discrete FIR Filter и Gain.