Внедрение фильтров Iir с фиксированной арифметикой в чипах Dsp: лучшие практики

Мастеринг фильтров IIR с фиксированными точками на встроенных DSP

Внедрение фильтров Infinite Impulse Response (IIR) на процессорах цифровых сигналов с фиксированной точкой (DSP) требует сочетания строгого численного анализа и глубокого понимания целевого оборудования. В то время как арифметика с плавающей точкой упрощает математику, фиксированная точка остается доминирующим выбором для встраиваемых систем с большим объемом, ограниченным энергопотреблением. От активного шумоподавления в потребительских наушниках до управления двигателем с замкнутым контуром в промышленных приводах способность реализовывать стабильный высокопроизводительный фильтр IIR с использованием арифметики с фиксированной точкой является основной инженерной компетенцией. В этой статье излагаются технические стратегии, необходимые для навигации по задачам квантования, масштабирования и стабильности, присущим этим системам.

Основы фиксированной арифметики в системах IIR

Почему фиксированная точка доминирует над встроенным DSP

Процессоры с фиксированной точкой потребляют значительно меньше площади и мощности кремния, чем их аналоги с плавающей точкой. Одна 16-битная операция с многократным накоплением (MAC) требует лишь доли логических ресурсов, необходимых для одноточного MAC с плавающей точкой. Для приложений, ориентированных на устройства с батарейным питанием или системы с высоким счетом каналов, это напрямую снижает затраты материалов (BOM) и продлевает срок службы. Архитектура с фиксированной точкой также предлагает детерминированные значения цикла для критических циклов, что делает их очень предсказуемыми для задач управления в реальном времени.

Формат Q и численное представление

В системах с фиксированной точкой фиксировано десятичное положение точки.Q-формат определяет, сколько битов выделено целому числу и дробным частям.] Q15 использует 16 битов суммарно (1 знаковый бит, 15 дробных битов), представляя значения от -1,0 до 0,9999. Но Q31-число расширяет это до 32 битов для большей точности. Однако коэффициенты фильтра часто превышают целый диапазон стандартных дробных форматов. Например, коэффициент биквада может быть равен -1,885. Для этого значения требуется формат с целыми битами, например Q1,14 или Q2,30. Выбор неправильного Q-формата приводит к переполнению, насыщению или потере точности коэффициента.

Критические архитектурные решения для фильтров IIR с фиксированными точками

Прямая форма I против прямой формы II

Топология уравнения разности фильтров является единственным наиболее важным решением, влияющим на числовую производительность. Структура Direct Form II использует меньше линий задержки, но концентрирует полный прирост фильтра в рекурсивной секции обратной связи. Это создает высокий риск внутреннего переполнения, если состояния не масштабируются правильно, поскольку внутренний узел может расти далеко за пределами входного сигнала. Прямая форма I (DFI) отделяет секции вперед (zeros) и обратной связи (poles) , что делает его по своей сути более устойчивым к переполнению. Для систем с фиксированной точкой часто предпочтительнее структура Прямая форма I Перенесенная (DF1T) Структура часто предпочтительна, поскольку она предлагает лучшее отношение сигнал-шум и упрощает добавление задержек трубопровода для высокоскоростных реализаций.

Стандарт каскадной биквад

Ни одна реализация с фиксированной точкой не должна непосредственно реализовывать функцию передачи высокого порядка (например, 8-й порядок) в качестве одного монолитного участка. Чувствительность коэффициентов фильтра к квантованию растет экспоненциально с порядком фильтра. Разбивая функцию передачи на каскадные секции второго порядка (SOS) или биквады , полюса группируются в сложные сопряженные пары, сводя к минимуму числовую ошибку. Лучшая практика диктует, что биквадный секпроцес {поли с самым высоким Q-фактором} должен быть размещен на ранней стадии каскадной цепи и изолирован от секций с высоким коэффициентом усиления для максимизации динамического диапазона.

Основные стратегии реализации для количественного и масштабирования

Коэффициент квантирования и размещения полюсов

Коэффициенты фильтра, разработанные с двойной точностью, должны быть квантованы до длины слова с фиксированной точкой. Это квантование перемещает идеальные местоположения полюсов. Фильтр, который идеально стабилен в плавающей точке, может стать незначительно стабильным или нестабильным после квантования коэффициента. Инженеры должны выполнить проверку стабильности после квантования, проверяя, что все квантованные величины полюсов строго меньше 1,0. Предварительное деформирование аналогового прототипа для компенсации частотного деформирования билинейного преобразования является необходимым шагом перед квантованием коэффициентов в сетку с фиксированной точкой.

Управление ростом и масштабированием внутренних сигналов

Рекурсивный характер фильтров IIR означает, что значения внутренних узлов могут расти большими, даже при скромных входах. Например, высокоQ-резонатор может усиливать небольшой вход в 100 или более раз в пределах своей петли обратной связи. Для предотвращения перелива необходимо ввести фактор масштабирования входа (часто логическое право сдвига). Рассмотрим стандартное биквадратное уравнение разности DF1:

Если максимальный коэффициент усиления передающей функции от до равен G, входной сигнал должен быть масштабирован (или мощность 2 приближения), чтобы гарантировать отсутствие перелива в пути обратной связи. Для систем более высокого порядка каждая стадия биквада требует своего собственного анализа масштабирования на основе своего максимального вклада усиления.

Использование широкого аккумулятора и насыщения

Большинство DSP с фиксированной точкой имеют 40-битный или 56-битный аккумулятор. Этот широкий регистр накапливает результаты операций с многократным добавлением без потери точности. Проблема возникает, когда результат 40-битного аккумулятора должен храниться обратно в 16-битное или 32-битное местоположение памяти. Существуют два режима: обертывание и насыщение. Обертывание ] Обертывание может привести к тому, что большой положительный сигнал внезапно станет большим отрицательным сигналом, внося катастрофическое искажение. Насыщение ] Зажимает выход на максимальном значении представления.

Продвинутые численные подводные камни и восстановление

Ограниченные циклы и мертвые зоны

Фильтры IIR с фиксированной точкой могут проявлять самоподдерживающиеся колебания, называемые предельными циклами, даже с нулевым входом. Гранульные предельные циклы вызваны ошибками округления в рекурсивном умножении. Когда продукт округлен в соответствии с длиной слова, ошибка округления может накапливаться. Одно стандартное исправление заключается в реализации мертвой зоны: когда переменные ввода и состояния находятся ниже определенного порога, переменные состояния очищаются или вынуждены к нулю. Это гарантирует, что фильтр оседает полностью. Дитеринг, добавление небольшого случайного шумового сигнала, также может нарушить коррелированное поведение предельного цикла за счет повышения уровня шума.

Обработка фильтров High-Q и Narrow-Band

Узкополосные IIR-фильтры с высокими коэффициентами Q исключительно чувствительны к квантованию коэффициентов. Небольшое изменение коэффициентов знаменателей может значительно сместить центральную частоту или полосу пропускания. Для таких случаев рассмотрите возможность использования решающих фильтров или структур пространства-состояния, которые демонстрируют более низкую чувствительность коэффициента за счет большего количества вычислений. Кроме того, использование длины с двумя словами (например, 32-битное хранилище коэффициентов на 16-битном процессоре) может обеспечить необходимую точность для коэффициентов знаменателей.

Методологии проверки и проверки

Bit-True симуляция и ко-симуляция

Доверие реализации с фиксированной точкой без моделирования является рискованным. Инженеры должны запускать точные квантованные коэффициенты и арифметические операции с фиксированной точкой через модель с битовой точностью перед развертыванием на аппаратное обеспечение. Такие инструменты, как MATLAB Fixed-Point Designer или пользовательские модели C с насыщением и округлением, позволяют проводить это моделирование. Сравнение выхода модели с фиксированной точкой с идеальной эталонной моделью с двойной точностью обеспечивает среднеквадратическую ошибку (MSE) и пиковые границы ошибок. Этот шаг подтверждает, что выбранный формат Q и факторы масштабирования соответствуют требованиям системы отношения сигнал-шум (SNR).

Тестирование аппаратного обеспечения в петле (HIL)

После того, как фильтр запускается на целевом DSP, верификация перемещается в аппаратную область. Ввод известных тестовых векторов, таких как единичный импульс, ступенчатые синусоидальные волны на критических частотах и многотоновые сигналы, позволяет инженеру сравнить фактический выход DAC с имитируемым выходом. Спектральный анализ вывода может выявить неожиданные гармонические искажения, вызванные внутренним насыщением или ограниченными циклами. Стандартной практикой является реализация диагностического режима, который передает внутренние переменные состояния обратно на хост-ПК для анализа.

Тестирование на прочность

Производственный код должен включать единичные испытания для краевых случаев:

  • Стабильность постоянного тока: Введите постоянное значение постоянного тока и проверьте, что выход оседает в определенных пределах.
  • Максимальная амплитуда синусоидальной волны: Применить полномасштабную синусоидальную волну на краю полосы пропускания и проверить, что насыщение не происходит.
  • Восстановление нулевого входа: Применить большой вход, а затем удалить его. Измерить время оседания и подтвердить отсутствие предельных циклов.
  • Восстановление потока: Введите сигнал, который насыщает аккумулятор и проверяет выход, плавно восстанавливается при удалении сигнала.

Заключение

Внедрение IIR-фильтров с фиксированной арифметикой на чипах DSP остается сложной, но необходимой задачей для инженеров встроенных систем. Успешная реализация требует тщательного планирования в трех ключевых областях: архитектура (выбор каскадных биквадов над секциями высокого порядка), масштабирование (управление ростом сигнала в пределах конечной длины слова) и проверка (использование моделирования бит-истинного и строгого тестирования HIL). Придерживаясь этих лучших практик, инженеры могут разрабатывать IIR-фильтры, которые являются численно стабильными, производят низкие искажения и отвечают жестким ограничениям производительности современных встроенных систем обработки сигналов.