Умножение n-битового двоичного числа с m-битным двоичным числом приводит к продукту, которая до m + n бит в длину для слов с знаком и без знака.
Предположим, вы хотите умножить три числа. Каждое из этих чисел представлено 5-битным словом, и каждое имеет разное масштабирование только для двоичных точек. Кроме того, выход ограничен 10-битным словом с двоичным масштабированием только для точек 2-4. Умножение показано в следующей модели для входных значений 5.75, 2.375 и 1.8125.
Применяя правила из предыдущего раздела, умножение следует следующим шагам:
Первые два числа (5.75 и 2.375) умножаются:
Обратите внимание, что двоичная точка продукта задается суммой двоичных точек умноженных чисел.
Результат шага 1 преобразуется в тип выходных данных:
Преобразования сигналов обсуждают преобразования. Обратите внимание, что происходит потеря точности одного бита с полученным значением QTemp, определяемым режимом округления. В данном примере используется метод «скругление на пол». Кроме того, переполнение не произошло, но возможно для этой операции.
Результат шага 2 и третье число (1,8125) умножаются:
Обратите внимание, что двоичная точка продукта задается суммой двоичных точек умноженных чисел.
Продукт преобразуется в тип выходных данных:
Преобразования сигналов обсуждают преобразования. Обратите внимание, что произошла потеря точности 4 бита с полученным значением QTemp, определяемым режимом округления. В данном примере используется метод «скругление на пол». Кроме того, переполнение не произошло, но возможно для этой операции.
Блоки, которые выполняют умножение, включают блоки Product, Discrete FIR Filter и Gain.