Арифметические операции имеют основополагающее значение в цифровой обработке сигналов (DSP), влияя на производительность системы, использование ресурсов и общую функциональность. Как ведущий поставщик DSP, мы понимаем важность арифметических операций DSP с фиксированной точкой, которые широко используются благодаря их экономической эффективности, низкому энергопотреблению и простоте аппаратной реализации. В этом блоге мы рассмотрим, как выполнять арифметические операции в DSP с фиксированной запятой.
Понимание представления фиксированных точек
Прежде чем углубляться в арифметические операции, важно понять представление с фиксированной точкой. В отличие от чисел с плавающей запятой, которые могут представлять широкий диапазон величин с переменной экспонентой и мантиссой, числа с фиксированной запятой имеют фиксированное количество бит для целой и дробной частей.
Число с фиксированной точкой обычно представляется как (Qm.n), где (m) — количество целых битов, а (n) — количество дробных битов. Например, число (Q7.8) использует 7 бит для целой части и 8 бит для дробной части, что позволяет получить максимальное целое значение (2^7 - 1=127) и дробное разрешение (2^{- 8}).
Вычислить реальное значение числа с фиксированной точкой (x), представленного в формате (Qm.n), несложно. Если (x) — число со знаком, мы можем использовать следующую формулу:
[x=\text{знаковый бит}\times(- 1)\times2^{m}+ \sum_{i = 0}^{m - 1}x_{i}\times2^{i}+\sum_{j = 0}^{n - 1}x_{-(j + 1)}\times2^{-(j + 1)}]
где (x_{i}) и (x_{-(j + 1)}) — отдельные биты целой и дробной частей соответственно.
Сложение и вычитание
Сложение и вычитание являются основными арифметическими операциями в DSP с фиксированной точкой. При сложении или вычитании двух чисел с фиксированной запятой одного и того же формата (например, (Qm.n)), мы можем просто выполнить операцию над двоичными представлениями на битовом уровне, аналогичную обычному двоичному сложению и вычитанию.
Однако нам нужно быть осторожными в отношении переполнения. Переполнение происходит, когда результат операции превышает максимально представимое значение в данном формате с фиксированной точкой. Например, в 8-битном знаковом формате (Q3.4) максимальное значение равно (3.9375_{10}(011.1111_2)). Если мы сложим два числа и результат превысит это значение, произойдет переполнение.
Чтобы справиться с переполнением, мы можем использовать такие методы, как арифметика насыщения. В арифметике насыщения при возникновении переполнения результату присваивается максимальное или минимальное представимое значение в формате. Например, если мы добавляем два числа (Q3.4) и результатом должно быть (4,0), оно будет насыщено до (3,9375).
Умножение
Умножение в DSP с фиксированной точкой более сложное, чем сложение и вычитание. При умножении двух чисел с фиксированной точкой (A) в формате (Qm_1.n_1) и (B) в формате (Qm_2.n_2) результат (P = A\times B) будет в формате (Q(m_1 + m_2).(n_1 + n_2)).
Например, если мы умножим число (Q1.3) на число (Q2.2), результат будет в формате (Q(1 + 2).(3+2)=Q3.5). Это часто приводит к увеличению количества бит, что может потребовать больше аппаратных ресурсов.
Чтобы подогнать результат к нужному формату, нам нужно выполнить операцию масштабирования. Коэффициенты масштабирования зависят от исходного и целевого форматов с фиксированной запятой. Распространенный подход заключается в сдвиге результата вправо, чтобы уменьшить количество дробных битов. Однако это может привести к потере точности.
Разделение
Деление — самая затратная в вычислительном отношении арифметическая операция в DSP с фиксированной запятой. Один из способов выполнить деление — использовать итерационный алгоритм, например метод Ньютона-Рафсона.
Метод Ньютона-Рафсона используется для нахождения обратного числа. Учитывая число (x), мы хотим найти (y=\frac{1}{x}). Итерационная формула метода Ньютона-Рафсона:
[y_{k + 1}=y_{k}(2 - x\times y_{k})]
где (y_0) — первоначальное предположение. Найдя обратную величину, мы можем умножить ее на числитель, чтобы получить результат деления.


Другой подход — использовать справочную таблицу. Мы можем заранее рассчитать результаты деления набора входных значений и сохранить их в таблице. Когда необходима операция деления, мы можем найти результат в таблице на основе входных значений. Однако этот метод требует большого объема памяти для высокоточного деления.
Практические соображения
При реализации арифметических операций в DSP с фиксированной точкой нам необходимо учитывать несколько практических аспектов.
Во-первых, точность является решающим фактором. Выбор формата с фиксированной точкой напрямую влияет на точность результата. Большее количество дробных битов обеспечивает более высокую точность, но также может увеличить сложность оборудования.
Во-вторых, аппаратные ресурсы ограничены. Операции умножения и деления часто требуют больше аппаратных ресурсов, чем сложение и вычитание. Нам необходимо оптимизировать алгоритмы и форматы данных, чтобы снизить потребление ресурсов.
В-третьих, производительность имеет решающее значение в приложениях реального времени. Нам необходимо гарантировать, что арифметические операции могут быть выполнены в требуемые сроки. Это может включать использование методов конвейерной обработки или параллельной обработки для ускорения операций.
Приложения и варианты использования
Арифметические операции с фиксированной запятой широко используются в различных приложениях DSP. Например, при обработке звука цифровые сигнальные процессоры с фиксированной точкой используются для таких задач, как фильтрация, эквалайзер и сжатие. В этих приложениях экономичность и низкое энергопотребление цифровых сигнальных процессоров с фиксированной точкой делают их идеальным выбором.
В телекоммуникациях цифровые сигнальные процессоры с фиксированной точкой используются для модуляции, демодуляции и исправления ошибок сигнала. Способность выполнять быстрые арифметические операции в формате с фиксированной запятой необходима для удовлетворения высокоскоростных требований современных систем связи.
Ссылки по теме
- Мононатрийфосфат MSP Food Grade CAS: 7558-80-7 Пищевая добавка
- Пирофосфат тетранатрия E452(i) для переработки морепродуктов TSPP Na2H2P2O7
- Качество еды Триполифосфата 95% СТПП Э451 натрия как агент удержания воды
Заключение
Выполнение арифметических операций в DSP с фиксированной точкой требует хорошего понимания представления с фиксированной точкой, а также методов сложения, вычитания, умножения и деления. Как поставщик DSP, мы стремимся предоставлять высокопроизводительные решения DSP с фиксированной точкой, отвечающие разнообразным потребностям наших клиентов.
Если вы заинтересованы в наших продуктах DSP с фиксированной точкой или у вас есть какие-либо вопросы об арифметических операциях в DSP, пожалуйста, свяжитесь с нами для обсуждения закупок. Мы с нетерпением ждем возможности сотрудничать с вами для достижения ваших целей в области цифровой обработки сигналов.
Ссылки
- «Цифровая обработка сигналов: принципы, алгоритмы и приложения» Джона Г. Проакиса и Димитриса Г. Манолакиса.
- «Цифровая обработка сигналов с фиксированной точкой: введение» Ричарда Г. Лайонса.
