Процесс суммирования

Предположим, что вы хотите суммировать три числа. Каждое из этих чисел представлено 8-битным словом, и у каждого есть различное единственное двоичной точкой масштабирование. Кроме того, выход ограничивается 8-битным словом с единственным двоичной точкой масштабированием 2-3.

Суммирование показывают в следующей модели для входных значений 19.875, 5.4375, и 4.84375.

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

  1. Поскольку смещения являются соответствующими, начальное значение Qa тривиально:

    Qa=00000.000.

  2. Первый номер, который будет суммирован (19.875), имеет дробный наклон, который совпадает с выходом дробный наклон. Кроме того, двоичные точки и типы хранения идентичны, таким образом, преобразование тривиально:

    Qb=10011.111,QTemp=Qb.

  3. Операция суммирования выполняется:

    Qa=Qa+QTemp=10011.111.

  4. Второй номер, который будет суммирован (5.4375), имеет дробный наклон, который совпадает с выходом дробный наклон, таким образом, наклонная корректировка не нужна. Типы данных устройства хранения данных также соответствуют, но различие в двоичных точках требует, чтобы и биты и двоичная точка были смещены одно место направо:

    Qc=0101.0111,QTemp=convert(Qc)QTemp=00101.011.

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

  5. Операция суммирования выполняется:

    Qa=Qa+QTemp     10011.111=+ 00101.011  11001.010=25.250.

    Обратите внимание на то, что переполнение не произошло, но это возможно для этой операции.

  6. Третий номер, который будет суммирован (4.84375), имеет дробный наклон, который совпадает с выходом дробный наклон, таким образом, наклонная корректировка не нужна. Типы данных устройства хранения данных также соответствуют, но различие в двоичных точках требует, чтобы и биты и двоичная точка были переключены два места направо:

    Qd=100.11011,QTemp=convert(Qd)QTemp=00100.110.

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

  7. Операция суммирования выполняется:

    Qa=Qa+QTemp     11001.010=+ 00100.110  11110.000=30.000.

    Обратите внимание на то, что переполнение не произошло, но это возможно для этой операции.

Как показано здесь, результат шага 7 отличается от идеальной суммы:

    10011.111 0101.0111=+ 100.11011  11110.001=30.125.

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