Влияние порядка фильтра на вычислительную нагрузку во встроенных устройствах обработки сигналов
Встроенные устройства обработки сигналов образуют основу бесчисленных современных систем, от носимых мониторов здоровья до автономных транспортных средств. В этих ограниченных ресурсами средах эффективность цифровых фильтров напрямую влияет на производительность в реальном времени, энергопотребление и общую жизнеспособность системы. Среди многих параметров проектирования инженеры должны балансировать, порядок фильтра выделяется как критический рычаг - тот, который глубоко влияет на вычислительную нагрузку. Понимание этой взаимосвязи имеет важное значение для создания высокопроизводительных встроенных систем, которые отвечают строгим бюджетам мощности и задержки.
Понимание порядка фильтрации
Порядок фильтра является фундаментальным свойством цифровых фильтров, определяющих количество предыдущих входных образцов (и, в случае фильтров бесконечного импульсного отклика (IIR) предыдущих выходных образцов), используемых для вычисления каждого выходного образца. Для фильтра конечного импульсного отклика (FIR) порядок равен числу кранов минус один. ФИР-фильтр с 32 касанием, например, имеет порядок 31. В фильтрах IIR порядок относится к наибольшей мощности z-трансформирующего полинома в передаточной функции фильтра, что соответствует количеству этапов обратной связи.
Фильтры более высокого порядка обычно обеспечивают более крутое сворачивание, более узкие полосы перехода и лучшее затухание полосы остановки. Это делает их желательными для приложений, требующих точного разделения частот, таких как выравнивание звука или выбор канала связи. Однако каждое увеличение порядка обходится дорого — дополнительные математические операции на образец, дополнительные требования к памяти и повышенная задержка системы.
Что представляет собой вычислительная нагрузка во встроенных системах
Вычислительная нагрузка в контексте встроенной обработки сигнала относится к общим ресурсам обработки, необходимым для выполнения алгоритма фильтра в пределах временных ограничений устройства.
- Миллионы инструкций в секунду (MIPS) — необходима пропускная способность процессора.
- Пропускная способность памяти — сколько данных должно быть извлечено из оперативной памяти или кэша на образец.
- Потребление энергии — прямо пропорционально количеству выполненных операций.
- Задержка — время от входной выборки до выходной доступности.
В встраиваемых устройствах с батарейным питанием каждая дополнительная операция истощает ограниченные запасы энергии. Поэтому выбор порядка фильтрации, который является излишне высоким, может ухудшить срок службы батареи и потенциально привести к тому, что система пропустит крайние сроки в реальном времени. И наоборот, слишком низкий порядок может не подавить шум или помехи, что поставит под угрозу качество сигнала и функциональность системы.
Как порядок фильтра напрямую влияет на вычислительную нагрузку
Для большинства линейных временных инвариантных фильтров вычислительная нагрузка масштабируется примерно линейно с порядком фильтра, хотя точное соотношение зависит от архитектуры и реализации фильтра.
ФИР-фильтры: прямолинейное масштабирование
Стандартный FIR-фильтр прямой формы требует одной операции многократного накопления (MAC) на кран. Для фильтра порядка N (что означает N+1 кранов, каждый выходной образец требует N+1 MAC плюс накладные расходы для доступа к памяти. Удвоение порядка по существу удваивает количество MAC на образец. На типичном 32-битном микроконтроллере, работающем на частоте 100 МГц, FIR-фильтр 64-го порядка (65 кранов) может потреблять 65 циклов на выходной образец только для базовой арифметики. Если частота дискретизации составляет 10 кГц, что означает около 650 000 циклов в секунду — около 0,65% времени ЦП для одного канала. Фильтр 128-го порядка потребует 129 МАС на образец, толкая нагрузку ЦПУ на один канал до 1,29%. В то время как эти проценты кажутся небольшим
Фильтры IIR: более сложный, но более низкий порядок для аналогичной производительности
Фильтры IIR достигают аналогичной частотной селективности с более низкими порядками по сравнению с фильтрами FIR. Например, биквад IIR второго порядка может обеспечить скатывание, которое потребует FIR 10-го или 20-го порядка. Фильтр IIR порядка M обычно требует 2 M+1 MAC на образец (при реализации в виде каскадных биквадов). Эта более низкая арифметическая стоимость делает фильтры IIR привлекательными для приложений, где фазовая линейность не является критической. Однако рекурсивная природа фильтров IIR вводит потенциальную нестабильность, чувствительность к квантованию коэффициента и повышенную вариацию групповой задержки. Во встроенных системах с арифметикой с фиксированной точкой могут накапливаться ошибки округления, потенциально вызывая предельные циклы или колебания.
Вычислительная нагрузка для IIR-фильтров не масштабируется точно линейно с порядком, поскольку коэффициенты обратной связи часто группируются в SOS (секции второго порядка) для стабильности. Каждый раздел добавляет примерно пять MAC (для транспонированной структуры прямой формы II), поэтому для IIR 10-го порядка (пять биквадов) требуется около 25 MAC на образец — значительно меньше, чем FIR 32-го порядка, необходимый для достижения сопоставимого затухания стоп-диапазона.
Нелинейные эффекты фильтра на нагрузку
В то время как необработанные арифметические шкалы линейно, другие факторы могут вводить нелинейности в фактическую вычислительную нагрузку. Например, фильтры более высокого порядка требуют больше коэффициентов, которые должны быть извлечены из памяти. Если порядок фильтра превышает емкость кэша данных ЦП, время доступа к памяти может доминировать, вызывая сверхлинейное увеличение общего времени выполнения. Аналогично, для фильтров очень высокого порядка на процессорах без аппаратных блоков MAC, накладные расходы на управление циклом и адресацию памяти могут стать значительными. Адаптивные фильтры, где коэффициенты изменяются с течением времени, несут дополнительную нагрузку для обновлений коэффициентов, которые могут масштабироваться квадратично с порядком фильтра в случае алгоритмов наименьшего квадрата (LMS).
Компромиссы при выборе фильтра
Инженеры должны оценивать системные требования целостно, чтобы выбрать соответствующий порядок фильтрации. Основной компромисс заключается в производительности фильтра (селективность, пульсация полосы пропускания, затухание полосы остановки) и потреблении ресурсов (циклы процессора, память, мощность).
Требования к эффективности vs. Бюджет ресурсов
Приложения, такие как ЭКГ-мониторинг медицинского уровня, требуют чрезвычайно высокого затухания полосы остановки (например, >80 дБ) для устранения помех линии электропередач (50/60 Гц). Достижение этого с одноступенчатым фильтром часто требует высокого порядка. Одно общее решение состоит в том, чтобы каскадировать несколько фильтров нижнего порядка или использовать фильтр выемки последовательно с фильтром низкого порядка, уменьшая общий порядок, необходимый для основного фильтра. Аналогично, в радиочастотных (RF) приемниках для устройств IoT требования к селективности являются строгими, но доступный бюджет обработки сигналов скудный. Здесь инженеры могут выбрать реализацию IIR с умеренным порядком (например, 8-й) и полагаться на несколько стадий децимации, чтобы уменьшить скорость децимации перед обработкой, тем самым уменьшая вычислительную нагрузку на обработанный образец.
Ограничения латентности
Задержка фазы и увеличение задержки группы с помощью порядка фильтров. В циклах управления в реальном времени, таких как циклы управления в приводах двигателей или активная шумоподавка, чрезмерное время ожидания может дестабилизировать систему. ФИР-фильтры имеют постоянную задержку группы, равную половине порядка фильтра (в образцах), в то время как фильтры ИИР проявляют нелинейный фазовый отклик, который может вводить искажения. Для фиксированной скорости отбора проб фильтр ФИР более высокого порядка задерживает выход на большее количество образцов. Если приложение может выдержать только 20-образцовую задержку, максимальный возможный порядок ФИР составляет 40 (20 задержек образцов), независимо от количества кранов. Это жесткое ограничение иногда заставляет использовать конструкции ФИР минимальной фазы или фильтры ИИР, которые могут достигать более низкой задержки даже с более высоким эффективным порядком.
Следы памяти
Фильтры более высокого порядка требуют более крупных таблиц коэффициентов и буферов состояний. Для FIR-фильтра порядка N, шкала коэффициентов хранения линейно, но линия задержки также содержит N+1 проб. На микроконтроллере с 64 КБ ОЗУ фильтр 1024-го порядка потребляет 4096 байт для коэффициентов (если хранится как 32-битный поплавок) плюс еще 4096 байт для линии задержки — это 8 КБ на канал. С восемью каналами 64 КБ исчерпывается. Многие встроенные системы должны мультиплексировать память среди множества задач, поэтому порядок фильтра часто ограничивается доступной ОЗУ.
Круглосуточный шум и квантизация коэффициентов
Реализации с фиксированными точками распространены в недорогих встроенных устройствах. Более высокие порядки фильтров повышают чувствительность к квантованию коэффициентов, потенциально ухудшая производительность фильтра, если не используется дополнительная точность. Для фильтров FIR квантирование коэффициентов имеет тенденцию вводить относительно однородный шумовой пол, который повышается с порядком фильтра, потому что большее количество кранов способствует каждому выходу. Для фильтров IIR квантование может сдвигать местоположения полюсов, что приводит к нестабильности. Дизайнерам часто необходимо увеличить точность арифметики (например, используя 24-битные или 32-битные слова) для поддержания производительности с фильтрами высокого порядка, что, в свою очередь, повышает вычислительную нагрузку - нелинейный эффект, связанный с порядком.
Стратегии оптимизации для управления фильтрационным заказом
Понимание взаимосвязи между порядком фильтра и вычислительной нагрузкой позволяет инженерам использовать методы, которые уменьшают нагрузку при сохранении качества сигнала.
Многократная фильтрация и децимация
При обработке сигналов высокой частоты выборки фильтрация с первоначальной скоростью может налагать огромную вычислительную нагрузку. Определяя сигнал перед фильтрацией — и интерполируя после этого — позволяет фильтру более низкого порядка работать с пониженной частотой выборки. Например, антисглаживающий фильтр с отсечением 1 Гц, работающий на исходной частоте выборки 1 кГц, может потребовать высокого порядка. При первом истребовании коэффициентом 10-100 Гц (с использованием простого префильтра низкого порядка) основной фильтр может иметь порядок в 10 раз ниже, резко сокращая MIPS. Этот метод широко используется в аудиокодеках и программно-определяемых радиостанциях.
Полифазная декомпозиция
Для фильтров FIR полифазное разложение расщепляет фильтр на несколько параллельных фаз, которые работают с более низкими скоростями. Такой подход позволяет эффективному порядку фильтра оставаться высоким при одновременном снижении арифметической скорости на фазу. Полифазные фильтры особенно эффективны в дециматорах и интерполяторах, где на выходной образец необходимо вычислить только одну фазу фильтра.
Ускорение фиксированного и аппаратного тока
Современные встроенные интегральные схемы (ASIC) и цифровые сигнальные процессоры (DSP) включают аппаратные MAC-блоки, которые выполняют мультиаккумуляцию в одном цикле. Используя эти ускорители, даже фильтры высокого порядка (например, 256-го порядка FIR) становятся возможными при умеренных скоростях выборки. Вычислительная нагрузка, измеренная в циклах, становится по существу равной количеству кранов плюс небольшие накладные расходы. Для понимания арифметики DSP , инженеры могут ссылаться на основополагающие руководства. Ключ заключается в том, чтобы сопоставить порядок фильтра с доступными аппаратными ресурсами MAC — используя порядок, который является кратным параллелизму MAC-блока, можно дополнительно уменьшить нагрузку.
Коэффициент использования и симметрия
Линейно-фазные фильтры FIR имеют симметричные коэффициенты. Использование этой симметрии путем добавления двух образцов перед умножением половин числа умножений. Для линейно-фазного FIR равного порядка число умножений примерно равно N/2+1 вместо N+1. Это эффективно сокращает вычислительную нагрузку пополам без изменения характеристик фильтра. Аналогично, для некоторых архитектур IIR, таких как фильтры с решетчатой решеткой, количество операций может быть уменьшено путем тщательного расположения коэффициентов.
Практические примеры по доменам приложений
Биомедицинские устройства
Носимые мониторы электрокардиограммы (ECG) должны отфильтровать артефакты движения и шум силовой линии при работе на небольшой литий-ионной батарее в течение нескольких дней. Типичная конструкция использует фильтр выемки 50 Гц (часто биквад IIR второго порядка), за которым следует фильтр низкого частота с отсечением 40 Гц (например, 4-й порядок Butterworth IIR). Общая вычислительная нагрузка составляет около 10 МАС на образец со скоростью отбора проб 200 Гц, что незначительно для маломощного ARM Cortex-M4. Если дизайнер попытался использовать фильтр FIR с сопоставимой производительностью, потребуется порядка 200 или более - умножение вычислительной нагрузки на 20. компромисс здесь приемлемое фазовое искажение в полосе ЭКГ, поскольку фаза менее критична для частоты сердечных сокращений и обнаружения аритмии.
Аудио обработка
В слуховых аппаратах несколько фильтров каскадируются для формирования частотной реакции в соответствии с аудиограммой пациента. С помощью до 16 или 24 каналов каждый канал может использовать фильтр IIR 6-го или 12-го порядка. Общая вычислительная нагрузка может превышать 200 МАС на образец при выборке аудио при 16 кГц. Для поддержания энергопотребления при 1 мВт чипы DSP слухового аппарата включают в себя специальный ускоритель банка фильтров, который вычисляет несколько биквадов параллельно. Инженеры должны выбрать порядок фильтра, который вписывается в максимальное количество этапов ускорителя на канал — часто от 24 до 32. Выход за пределы этого заставляет последовательную обработку, увеличивая задержку и мощность.
Программно-определяемое радио
В приемниках SDR фильтры селективности каналов часто требуют очень высокого отклонения полосы остановки (~100 дБ) и резких полос перехода. Один фильтр FIR для достижения этого в базовой полосе может иметь порядок от нескольких сотен до тысяч, в зависимости от частоты выборки. Вместо этого дизайнеры используют фильтры каскадной интеграторной компоновки (CIC) для децимации, за которым следует фильтр компенсации FIR относительно высокого порядка (например, 64-тап). Сам фильтр CIC имеет порядок, определяемый количеством этапов, но его вычислительная стоимость низкая, поскольку он использует только целые добавления. Комбинированная вычислительная нагрузка управляема, но общий порядок фильтра с точки зрения селективности эффективно высок. Для авторитетного объяснения многократных методов см. Мультиратные фильтры .
Промышленный двигательный контроль
Контроллеры привода двигателей используют фильтры низких частот на сигналах обратной связи тока и скорости для устранения пульсовой модуляции (PWM) ряби. Порядок фильтра должен быть достаточно низким, чтобы удерживать фазовое отставание в пределах пределов стабильности - обычно фильтр 1-го или 2-го порядка. Фильтры более высокого порядка вводят неприемлемую задержку в цикле управления. Здесь вычислительная нагрузка не является основным ограничением; вместо этого ограничение исходит от чувствительности системы управления к сдвигу фазы. Инженеры иногда используют несколько каскадных однополюсных фильтров для приближения производительности более высокого порядка при сохранении предсказуемого фазового поведения.
Будущие направления: адаптивные фильтры и машинное обучение
По мере того, как встроенные устройства становятся более интеллектуальными, адаптивные фильтры, которые корректируют свои коэффициенты в реальном времени, набирают тягу. Эти фильтры, такие как семейства LMS или рекурсивных наименьших квадратов (RLS), имеют вычислительные нагрузки, которые растут квадратично с порядком фильтра в случае RLS. Для многих встроенных приложений порядок адаптивного фильтра поддерживается на низком уровне (4-32), чтобы поддерживать выполнимость вычислений. Новые аппаратные ускорители для нейронных сетей также могут позволять адаптивную фильтрацию с эффективно очень высоким порядком, используя редкие шаблоны активации. Исследования продолжаются в эффективной адаптивной фильтрации для устройств краевого ИИ .
Еще одна тенденция - использование машинного обучения для автоматического выбора оптимальных порядков фильтрации для заданных условий сигнала, балансировки производительности и нагрузки. Такой подход может снизить инженерные усилия и позволить устройствам адаптировать свою вычислительную мощность на основе имеющейся емкости аккумулятора.
Заключение
Эффект порядка фильтра на вычислительную нагрузку в встроенных устройствах обработки сигналов является многогранной инженерной задачей. В то время как более высокие заказы улучшают селективность частоты, они пропорционально увеличивают арифметические операции, использование памяти, задержку и энергопотребление. Выбор между топологиями FIR и IIR дополнительно усложняет взаимосвязь, как и иерархии памяти, эффекты квантования и доступность аппаратного ускорителя. Успешный дизайн встроенной системы требует глубокого понимания этих компромиссов и готовности использовать методы оптимизации, такие как многократная обработка, многофазное разложение и симметрия коэффициента. Тщательно балансируя порядок фильтра с ограничениями ресурсов, инженеры могут создавать высокоэффективные устройства, которые обеспечивают исключительную производительность обработки сигналов, не превышая строгую мощность и бюджеты в реальном времени современных встроенных систем. Для тех, кто новичок в этой теме, рекомендуемой отправной точкой являются основы DSP от аналоговых устройств. В конечном счете, наиболее эффективный фильтр не тот, у которого самый низкий порядок, но тот, чей порядок точно подходит для приложения - не более, не менее.