ΣSigmaStudio English

Деление


Деление Блок Division позволяет разделить два входящих сигнала. Деление выполняется с использованием итераций Ньютона — Рафсона.

Пример проекта с использованием этого блока см. в разделе Basic DSP example.

Порядок работы с блоком:

  1. Перетащите его в рабочую область.
  2. Щёлкните по нему правой кнопкой мыши и выберите Add Algorithm > IC N >
    • Newton Raphson 3 Iterations
    • Newton Raphson 4 Iterations
  3. Подключите сигналы к пинам блока так, чтобы выполнялось деление
  4. pin1 / pin2

Итерация Ньютона — Рафсона выполняется в соответствии с уравнением:

Деление

Этот блок позволяет выбрать точность алгоритма — вычислять 3 или 4 итерации. Существует компромисс между количеством инструкций и точностью вычислений для делителей (значений на пине 2) меньше 0,1. Это означает, что меньшее количество итераций менее точно, чем большее, но большее количество итераций требует больше инструкций, оставляя меньше места для программирования текущего DSP.

Ниже приведены графики ошибок для алгоритмов с 3 (ниже верхнего) и 4 (ниже нижнего) итерациями, показывающие разницу примерно на два порядка:

Деление

Division в SigmaStudio: настройка и параметры

Division — это вычислительный блок в среде SigmaStudio, предназначенный для выполнения арифметической операции деления двух входящих аудиосигналов. Он относится к категории базовых DSP-элементов и используется в сигнальных цепочках процессоров семейства ADAU (SigmaDSP), когда требуется получить соотношение сигналов в реальном времени. Принцип работы блока основан на итерационном методе Ньютона — Рафсона. Вместо прямого аппаратного деления, которое не реализовано в архитектуре этих DSP, вычисление выполняется циклически. Пользователю доступен выбор глубины алгоритма: 3 или 4 итерации. Это напрямую влияет на точность результата и на количество инструкций, затрачиваемых на выполнение операции. Для корректной работы необходимо подключить сигналы к пинам таким образом, чтобы реализовывалась формула pin1 / pin2. Настройка Division в проекте SigmaStudio начинается с перетаскивания иконки в рабочую область. Далее следует щёлкнуть по блоку правой кнопкой мыши и в контекстном меню выбрать пункт Add Algorithm, после чего указать требуемое число итераций — Newton Raphson 3 Iterations или Newton Raphson 4 Iterations. Выбор зависит от решаемой задачи: если делитель (значение на пине 2) меньше 0,1, то разница в точности между вариантами становится существенной. Согласно приведённым графикам погрешности, алгоритм с четырьмя итерациями обеспечивает точность примерно на два порядка выше, чем с тремя. Однако увеличение числа итераций требует большего объёма инструкций, что сокращает доступное пространство для программирования текущего DSP.