Оптимизация дизайна фильтров Iir для снижения вычислительной сложности носимых устройств
Оптимизация IIR-фильтра для снижения вычислительной сложности в носимых устройствах
Носимые устройства, такие как умные часы, фитнес-трекеры и медицинские мониторы, полагаются на непрерывное получение данных датчиков и обработку в режиме реального времени. От удаления артефактов движения из сигналов электрокардиограммы (ЭКГ) до очистки данных акселерометра для подсчета шагов центральную роль играет цифровая фильтрация. Среди многих типов фильтров фильтры Infinite Impulse Response (IIR) являются рабочей лошадкой в этих приложениях из-за их способности достигать резких частотных откликов с относительно небольшими коэффициентами. Однако рекурсивный характер фильтров IIR вводит вычислительные накладные расходы, которые могут напрягать срок службы батареи и производительность в режиме реального времени. В этой статье представлен комплекс стратегий для снижения вычислительной сложности конструкций фильтров IIR, что позволяет эффективно развертывать в ограниченных ресурсами носимых системах.
Понимание фильтров IIR в носимых устройствах
IIR-фильтры - это цифровые фильтры, определяемые передаточной функцией, которая включает в себя как коэффициенты обратной связи, так и коэффициенты обратной связи. Математически IIR-фильтр может быть представлен как:
y[n] = b0·x[n] + b1·x[n-1] + ... + bM·x[n-M] — a1·y[n-1] — ... — aN·y[n-N]
Поскольку выход зависит от предыдущих выходов (обратная связь), IIR-фильтры могут достигать заданной частотной реакции с меньшим порядком, чем эквивалентный фильтр Finite Impulse Response (FIR). Для носимых устройств это означает меньше операций мультиаккумуляции (MAC) на образец, уменьшенную память для хранения коэффициентов и меньшую задержку. Классические топологии IIR-фильтра включают Butterworth, Chebyshev и эллиптические конструкции, каждый из которых предлагает различные компромиссы между рябью, выкатом и фазовой линейностью.
Несмотря на свою эффективность, IIR-фильтры представляют проблемы в носимых устройствах: они могут стать нестабильными из-за квантования коэффициентов, страдать от колебаний предельного цикла и требовать тщательного масштабирования, чтобы избежать переполнения в арифметике с фиксированной точкой. Кроме того, рекурсивные вычисления предотвращают легкую параллелизацию, делая каждый образец последовательной зависимостью. В устройствах с батарейным питанием с микроконтроллерами малой мощности или пользовательскими ASIC каждая сохраненная арифметическая операция напрямую приводит к увеличению срока службы батареи или меньшей площади кремния.
Ключевые стратегии снижения вычислительной сложности ИИР
1.Сокращение фильтра
Наиболее прямой способ снизить вычислительную стоимость — это уменьшить порядок фильтров. Меньшее число коэффициентов означает меньше операций MAC на образец. Однако простое снижение порядка без учета спецификации часто ухудшает производительность. К счастью, несколько методов могут помочь достичь требуемого отклика с минимальным порядком:
- Оптимизация размещения с нулевым разрядом: Тщательно позиционируя полюса и нули в z-плане, конструкторы могут встретить ограничения полосы пропускания и полосы остановки фильтром более низкого порядка, чем стандартная конструкция Баттерворта или Чебышева. Например, использование эллиптического фильтра с небольшой допустимой пульсацией полосы остановки часто даёт наименьший порядок для заданной ширины перехода.
- Трансформация с сопоставленным Z: При преобразовании аналоговых прототипов билинейное преобразование является стандартным, но преобразование с сопоставленным Z иногда может сохранять частотную реакцию с более низким цифровым порядком, если аналоговый фильтр прост.
- Итеративное сокращение порядка: Начните с проектирования высокого порядка, затем примените методы сокращения модели, такие как сбалансированное усечение или приближение нормы Ханкеля, для создания стабильного IIR-фильтра с пониженным порядком, который близко соответствует исходной частотной реакции.
На практике IIR-фильтр третьего порядка часто может заменить дизайн пятого порядка с незначительной потерей производительности для задач фильтрации биосигналов, таких как удаление исходных блужданий EMG или ЭКГ.
2.Квантовое значение коэффициента и сокращение длины слова
Носимые микроконтроллеры обычно работают с 16-битной или 24-битной арифметикой с фиксированной точкой. Использование полной двухточности плавающей точки является как энергоемким, так и ненужным. Сокращение длины слова коэффициента с 32-битной плавающей точки до, скажем, 16-битной фиксированной точки сокращает использование памяти наполовину и ускоряет арифметические операции (особенно если процессор имеет выделенные целые инструкции с многократным накоплением).
- Выберите правильную схему квантования: Используйте Q-формат (например, Q15 для 16-битных подписанных дробных) для представления коэффициентов. Округление до ближайшего репрезентабельного значения может вызвать нестабильность; учитывая чувствительность полюсов, помогает выделить больше битов для чувствительных коэффициентов.
- Оптимизировать квантование с помощью статистических методов: Применять смоделированные отжигающие или генетические алгоритмы для поиска набора квантованных коэффициентов, которые все еще соответствуют спецификации фильтра. Это может позволить уменьшить 2-4 бита по сравнению с наивным округлением.
- Использовать мощности двух коэффициентов: Если коэффициенты можно аппроксимировать суммами мощностей двух, умножение можно заменить несколькими сдвигами и добавить, резко уменьшив вычислительную сложность.Это особенно эффективно для фильтров IIR с фиксированным коэффициентом, используемых в носимом аудио или мониторинге сердечного ритма.
Например, фильтр выемки IIR второго порядка с коэффициентами, квантованными до двух степеней, может быть реализован с использованием только четырех операций сдвига и трех дополнений на образец - идеально подходит для ядра ARM Cortex-M0 с низким энергопотреблением.
3. Каскад против структур прямой формы
Структура, в которой реализован IIR-фильтр, сильно влияет на вычислительную нагрузку, стабильность и чувствительность к квантованию. Наиболее распространенными формами являются Direct Form I и II, а также их транспонированные варианты. Для конструкций высокого порядка обычно предпочтительнее каскад секций второго порядка (SOS):
- Разделы второго порядка (биквады): Каждый раздел реализует IIR-фильтр второго порядка.Каскадная структура снижает чувствительность к коэффициентам, облегчая поддержание стабильности с короткими длинами слов.Вычисление на шкалу выборки линейно с порядком: фильтр шестого порядка требует три биквада, каждый из которых нуждается в 5 МАС, всего 15 МАС на образец.
- Параллельная форма: Разложить передающую функцию на сумму подразделов первого и второго порядка.Это может иногда уменьшить общее количество MAC, если исходный фильтр имеет повторяющиеся полюса.
- Структура решетки/лестницы: В то время как в целом решетчатые структуры обладают превосходными свойствами устойчивости и менее чувствительны к квантованию. Они могут быть привлекательными, когда порядок низкий (например, адаптивные фильтры).
Для носимых устройств реализация каскадных биквадов часто является оптимальным балансом вычислительной стоимости, стабильности и использования памяти. Производители, такие как Analog Devices и STMicroelectronics, предоставляют эталонные реализации, оптимизированные для их маломощных MCU.
4. Реализация частотных доменов с использованием FFT
Когда задача фильтрации включает в себя сигналы длительности или несколько каналов, фильтрация IIR временной области может быть заменена методом перекрытия-добавления или перекрытия-сохранения с использованием быстрого преобразования Фурье (FFT).Хотя это кажется нелогичным (IIR уже эффективен в области времени), для фильтров IIR очень высокого порядка (порядок > 50) или при одновременной обработке нескольких каналов, свертка на основе FFT может стать более эффективной.
- Разделенная свертка: Для приложений реального времени импульсная реакция фильтра IIR (которая бесконечна) должна быть усечена. Практический подход заключается в приближении фильтра IIR с длинным фильтром FIR (если импульсная реакция быстро распадается) и затем использовании свертки на основе FFT. Это распространено при носимом шуме отмены.
- Фильтрация по субдиапазону: Некоторые носимые устройства используют фильтрбанки (например, для спектрального анализа). В таких случаях может быть полезно реализовать весь банк в частотной области, комбинируя FFT и обратный FFT на кадр.
Методы частотной области наиболее подходят для носимых устройств с достаточной оперативной памятью и аппаратным ускорителем FFT (обычный во многих современных аудио SoC Bluetooth).
5.Приближенная фильтрация и арифметика с пониженной точностью
Не все носимые приложения требуют полной точности фильтра IIR.Приближенные вычислительные методы могут торговать небольшой точностью для значительной вычислительной экономии:
- Усеченные множители: Используйте неточные арифметические схемы, которые вычисляют результат умножения с меньшим количеством битов.10-битный множитель вместо 16-битного может отключать мощность на 30-40% в пользовательском оборудовании.
- Стохастические вычисления: Для очень маломощных конструкций стохастические представления (биты 1s и 0s) могут реализовывать умножение с помощью одного шлюза, но это часто требует повторного нажатия и исправления ошибок.
- Отбор проб и отбор проб: Если пропускная способность сигнала шире, чем необходимо, дециметрируйте сигнал перед фильтрацией. Фильтрация IIR с меньшей скоростью сохраняет MAC на образец, а фильтр децимации может быть другой недорогой конструкцией.
- Адаптивная модификация порядка: Используйте фильтр переменного порядка, который начинается с высокого порядка во время калибровки и уменьшает порядок (путем выключения секций биквада), когда сигнал неподвижен. Это динамическое масштабирование сложности может управляться простым детектором активности.
Пример: Наружная система обнаружения падения на основе акселерометра может использовать фильтр IIR высокого порядка второго порядка вместо фильтра четвертого порядка, когда пользователь неподвижен, что снижает энергопотребление на 20%.
6. Аппаратные средства-программное обеспечение Co-Design для сверхнизкой мощности
Многие носимые устройства встраивают выделенный цифровой сигнальный процессор (DSP) или микроконтроллер с аппаратным блоком MAC.Оптимизация IIR-фильтров для конкретного набора команд и архитектуры памяти имеет решающее значение:
- Циркулярная буферная адресация: Используйте аппаратный циркулярный буфер для хранения переменных состояния в двухквадратных структурах. Большинство DSP поддерживают это без дополнительных накладных расходов на вычисление адресов.
- SIMD (Single Instruction, Multiple Data): Некоторые ядра ARM Cortex-M4/7 поддерживают SIMD-инструкции, которые обрабатывают два 16-битных MAC одновременно.Если коэффициенты фильтра квантованы до 16 бит, то можно вычислить две биквадные секции в одном цикле MAC.
- Часовое паттернирование и режимы сна: Реализуйте фильтр в задаче, которая выполняется только при наличии данных датчика. Используйте режимы сна с низким энергопотреблением MCU между образцами. Многие микроконтроллеры имеют периферийные устройства аппаратного фильтра (например, CORDIC, цифровой сопроцессор фильтра), которые могут работать независимо.
- Нулевые циклы: Запуск циклов для фильтров фиксированного порядка для устранения штрафов по ветвям. Фильтр IIR третьего порядка, реализованный в виде встроенного кода, работает на 30% быстрее, чем реализация на основе цикла.
Практическое исследование: фильтрация сигналов ЭКГ в Smartwatch
Для иллюстрации этих стратегий рассмотрим носимую, которая приобретает однослойную ЭКГ на 250 Гц. Необработанный сигнал содержит базовый блуждающий (0,5 Гц и ниже), помехи линии электропередач (50/60 Гц) и высокочастотный мышечный шум. Конструкционные цели заключаются в том, чтобы отклонить эти артефакты с полосой пропускания от 0,5 до 40 Гц и затуханием полосы остановки 20 дБ на 50 Гц.
Обычный подход использует фильтр IIR полосового прохода четвертого порядка Butterworth (каскад из двух биквадов). В плавающей точке на маломощном Cortex-M4 для этого требуется около 10 операций MAC на образец. Общее энергопотребление для одной только фильтрации составляет около 0,5 мВт. При переходе на эллиптический дизайн третьего порядка (сокращение порядка), который по-прежнему соответствует требованию о стоп-диапазоне 20 дБ, количество MAC падает до 7,5 на образец. Кроме того, коэффициенты квантования до Q15 фиксированной точки сокращают память и позволяют использовать 16-битные SIMD-маки: биквадратный каскад теперь можно вычислить в 4 инструкции на секцию, общей мощностью 8 инструкций на образец. Потребление энергии падает до 0,3 мВт.
Кроме того, используя коэффициент мощности в два раза для фильтра 50 Гц (реализованного как отдельная биквад), фильтр выемки требует только 3 операций с добавлением сдвига вместо 3 МАС. Общая цепочка фильтров потребляет всего 0,2 мВт - на 60% меньше по сравнению с первоначальной конструкцией - при сохранении показателей качества сигнала (SNR в пределах 1 дБ от оригинала).
Эта оптимизация позволила носимому устройству непрерывно выполнять сборку и фильтрацию ЭКГ в течение 24 часов на батарее емкостью 150 мАч по сравнению с 16 часами с первоначальной реализацией.
Вызовы и компромиссы
Каждая оптимизация приносит потенциальные подводные камни. Снижение порядка может увеличить полосу пропускания или деградировать задержку группы, что может быть проблематичным для приложений, требующих выравнивания фазы (например, многоканальная ЭЭГ). Квантирование коэффициента может подтолкнуть полюса вблизи единичного круга, вызывая нестабильность. Для смягчения этого всегда выполняйте анализ нулевого полюса с квантованными коэффициентами. Приблизительная фильтрация вводит шум; в носимых устройствах медицинского класса нормативные стандарты (например, IEC 60601) могут требовать конкретных шумовых полей.
Разработчики также должны учитывать накладные расходы на мощность от доступа к памяти. Коэффициенты хранения во флэш-памяти по сравнению с SRAM влияют на динамическую мощность; использование передач DMA для коэффициентов может уменьшить циклы ЦП. При реализации методов частотной области сам FFT потребляет мощность - только если порядок фильтра достаточно высок, чтобы сделать точку кроссовера экономичной (обычно порядок > 50).
Наконец, тестирование с помощью сигналов датчиков реального мира имеет важное значение. Артефакты квантования могут быть незаметны в синусоидальных тестах, но становятся заметными в реальных ЭКГ или PPG-формах. Всегда проверяйте репрезентативные данные с целевого устройства.
Внешние ресурсы и дальнейшее чтение
- Аналоговые устройства: библиотека обучения цифровой обработке сигналов — охватывает проектирование фильтра IIR и реализацию с фиксированной точкой.
- IEEE Paper: Power Optimized Digital Filters for Wearable Devices — Обсуждается аппаратно-программное разделение.
- Музерная электроника: фильтрация с низким энергопотреблением в носимых устройствах — практическое руководство по выбору компонентов.
- DSPRelated: Free IIR Filter Design Book — Углубленная математическая обработка квантования коэффициентов.
Заключение
Фильтры IIR остаются краеугольным камнем обработки сигналов в носимых устройствах. Их рекурсивная структура предлагает по своей сути реализации низкого порядка, но дизайнеры должны ориентироваться в ограничениях ограниченной длины слов, памяти и энергии. Применяя комбинацию сокращения порядка, интеллектуального квантования коэффициентов, каскадных биквадных структур, приблизительных вычислений и использования оборудования с низким энергопотреблением, разработчики могут снизить вычислительную сложность на 50-80%, не жертвуя существенной производительностью. Поскольку обработка краев продолжает переходить в носимые устройства по причинам конфиденциальности и задержки, эффективная конструкция фильтра IIR будет ключевым фактором для мониторов здоровья следующего поколения, интеллектуальных аксессуаров и гарнитур AR / VR. Стратегии, изложенные здесь, обеспечивают практический инструментарий для любого инженера, работающего над встроенной обработкой сигналов в устройствах с батарейным питанием.