Эта статья включает список общих ссылок , но в ней отсутствуют соответствующие встроенные цитаты . ( Декабрь 2012 ) |
Проектирование фильтра — это процесс проектирования фильтра обработки сигнала , который удовлетворяет набору требований, некоторые из которых могут быть противоречивыми. Цель — найти реализацию фильтра, которая удовлетворяет каждому из требований в приемлемой степени.
Процесс проектирования фильтра можно описать как задачу оптимизации. Некоторые части процесса проектирования можно автоматизировать, но для получения хорошего результата может потребоваться опытный проектировщик.
Проектирование цифровых фильтров — сложная тема. [1] Хотя фильтры легко понять и рассчитать, практические проблемы их проектирования и внедрения значительны и являются предметом углубленных исследований.
Типичные требования, которые могут быть учтены в процессе проектирования:
Требуемая частотная характеристика является важным параметром . Крутизна и сложность кривой отклика определяют порядок фильтра и осуществимость.
Рекурсивный фильтр первого порядка будет иметь только один частотно-зависимый компонент. Это означает, что наклон частотной характеристики ограничен 6 дБ на октаву . Для многих целей этого недостаточно. Для достижения более крутых наклонов требуются фильтры более высокого порядка.
По отношению к желаемой частотной функции может также существовать сопутствующая весовая функция, которая описывает для каждой частоты, насколько важно, чтобы результирующая частотная функция приближалась к желаемой.
Типичные примеры частотной функции:
Существует прямое соответствие между частотной функцией фильтра и его импульсной характеристикой: первая является преобразованием Фурье последней. Это означает, что любое требование к частотной функции является требованием к импульсной характеристике, и наоборот.
Однако в некоторых приложениях импульсная характеристика фильтра может быть явной, и тогда процесс проектирования направлен на создание максимально возможного приближения к требуемой импульсной характеристике с учетом всех других требований.
В некоторых случаях может быть даже уместно рассмотреть частотную функцию и импульсную характеристику фильтра, которые выбираются независимо друг от друга. Например, мы можем захотеть как определенную частотную функцию фильтра, так и чтобы полученный фильтр имел малую эффективную ширину в области сигнала, насколько это возможно. Последнее условие может быть реализовано путем рассмотрения очень узкой функции в качестве желаемой импульсной характеристики фильтра, даже если эта функция не имеет никакого отношения к желаемой частотной функции. Целью процесса проектирования является реализация фильтра, который пытается максимально удовлетворить обе эти противоречивые цели проектирования. Примером может служить аудио высокого разрешения , в котором частотная характеристика (величина и фаза) для сигналов устойчивого состояния (сумма синусоид) является основным требованием к фильтру, в то время как неограниченная импульсная характеристика может вызвать неожиданное ухудшение из-за временного разброса переходных сигналов. [2] [3]
Любой фильтр, работающий в реальном времени (реакция фильтра зависит только от текущих и прошлых входов), должен быть причинным . Если процесс проектирования приводит к некаузальному фильтру, полученный фильтр можно сделать причинным, введя соответствующий временной сдвиг (или задержку).
Фильтры, которые не работают в реальном времени (например, для обработки изображений), могут быть непричинными. Непричинные фильтры могут быть разработаны так, чтобы иметь нулевую задержку.
Стабильный фильтр гарантирует , что каждый ограниченный входной сигнал производит ограниченный отклик фильтра. Фильтр, который не соответствует этому требованию, может в некоторых ситуациях оказаться бесполезным или даже вредным. Определенные подходы к проектированию могут гарантировать стабильность, например, используя только схемы прямой связи, такие как фильтр FIR. С другой стороны, фильтры, основанные на схемах обратной связи, имеют другие преимущества и поэтому могут быть предпочтительными, даже если этот класс фильтров включает нестабильные фильтры. В этом случае фильтры должны быть тщательно спроектированы, чтобы избежать нестабильности.
В некоторых приложениях нам приходится иметь дело с сигналами, содержащими компоненты, которые можно описать как локальные явления, например, импульсы или шаги, имеющие определенную временную длительность. Следствием применения фильтра к сигналу является, в интуитивно понятных терминах, то, что длительность локальных явлений увеличивается на ширину фильтра. Это означает, что иногда важно сохранять ширину функции импульсного отклика фильтра как можно короче.
Согласно соотношению неопределенности преобразования Фурье, произведение ширины функции импульсного отклика фильтра и ширины его частотной функции должно превышать определенную константу. Это означает, что любое требование к локальности фильтра также подразумевает ограничение на ширину его частотной функции. Следовательно, может оказаться невозможным одновременное выполнение требований к локальности функции импульсного отклика фильтра, а также к его частотной функции. Это типичный пример противоречивых требований.
Общее желание в любой конструкции заключается в том, чтобы число операций (сложений и умножений), необходимых для вычисления отклика фильтра, было как можно меньше. В некоторых приложениях это желание является строгим требованием, например, из-за ограниченных вычислительных ресурсов, ограниченных ресурсов мощности или ограниченного времени. Последнее ограничение типично для приложений реального времени.
Существует несколько способов, которыми фильтр может иметь различную вычислительную сложность. Например, порядок фильтра более или менее пропорционален количеству операций. Это означает, что, выбрав фильтр низкого порядка, можно сократить время вычислений.
Для дискретных фильтров вычислительная сложность более или менее пропорциональна количеству коэффициентов фильтра. Если фильтр имеет много коэффициентов, например, в случае многомерных сигналов, таких как данные томографии, может быть целесообразно уменьшить количество коэффициентов, удалив те, которые достаточно близки к нулю. В многоскоростных фильтрах количество коэффициентов можно уменьшить, используя ограничения полосы пропускания, где входной сигнал понижается (например, до критической частоты) и повышается после фильтрации.
Другой вопрос, связанный с вычислительной сложностью, — это разделимость, то есть, можно ли и как записать фильтр как свертку двух или более простых фильтров. В частности, этот вопрос важен для многомерных фильтров, например, 2D-фильтра, которые используются при обработке изображений. В этом случае можно получить значительное снижение вычислительной сложности, если фильтр можно разделить как свертку одного 1D-фильтра в горизонтальном направлении и одного 1D-фильтра в вертикальном направлении. Результатом процесса проектирования фильтра может быть, например, аппроксимация некоторого желаемого фильтра как разделяемого фильтра или как суммы разделяемых фильтров.
Также необходимо решить, как будет реализован фильтр:
Проектирование линейных аналоговых фильтров в основном рассматривается в разделе, посвященном линейным фильтрам .
Цифровые фильтры классифицируются по двум основным формам в зависимости от того, как они реагируют на единичный импульс :
Если частота дискретизации не фиксирована каким-либо внешним ограничением, выбор подходящей частоты дискретизации является важным проектным решением. Высокая частота потребует больше вычислительных ресурсов, но меньше с точки зрения фильтров сглаживания . Помехи и биения с другими сигналами в системе также могут быть проблемой.
Для любой конструкции цифрового фильтра крайне важно анализировать и избегать эффектов наложения спектров . Часто это делается путем добавления аналоговых фильтров сглаживания на входе и выходе, что позволяет избежать любой частотной составляющей выше частоты Найквиста . Сложность (т. е. крутизна) таких фильтров зависит от требуемого отношения сигнал/шум и отношения между частотой дискретизации и самой высокой частотой сигнала.
Части проблемы проектирования связаны с тем, что некоторые требования описаны в частотной области, а другие выражены во временной области, и что они могут конфликтовать. Например, невозможно получить фильтр, который имеет как произвольную импульсную характеристику, так и произвольную частотную функцию. Другие эффекты, которые относятся к отношениям между временной и частотной областью,
Как утверждает предел Габора , принцип неопределенности, произведение ширины частотной функции и ширины импульсной характеристики не может быть меньше определенной константы. Это подразумевает, что если запрашивается определенная частотная функция, соответствующая определенной ширине частоты, то устанавливается минимальная ширина фильтра в области сигнала. И наоборот, если задана максимальная ширина отклика, то это определяет наименьшую возможную ширину в частоте. Это типичный пример противоречивых требований, где процесс проектирования фильтра может попытаться найти полезный компромисс.
Пусть будет дисперсией входного сигнала, а будет дисперсией фильтра. Дисперсия отклика фильтра, , тогда определяется как
Это означает, что и подразумевает, что локализация различных особенностей, таких как импульсы или шаги в отклике фильтра, ограничена шириной фильтра в области сигнала. Если требуется точная локализация, нам нужен фильтр малой ширины в области сигнала и, через принцип неопределенности, его ширина в частотной области не может быть произвольно малой.
Пусть f(t) — функция, а ее преобразование Фурье — ее. Существует теорема, утверждающая, что если первая производная функции F , которая является разрывной, имеет порядок , то f имеет асимптотический распад типа .
Следствием этой теоремы является то, что частотная функция фильтра должна быть максимально гладкой, чтобы его импульсная характеристика имела быстрое затухание и, следовательно, короткую ширину.
Одним из распространенных методов проектирования КИХ-фильтров является алгоритм проектирования фильтра Паркса-Макклеллана , основанный на алгоритме обмена Ремеза . Здесь пользователь указывает желаемую частотную характеристику, весовую функцию для ошибок из этой характеристики и порядок фильтра N. Затем алгоритм находит набор из N коэффициентов, которые минимизируют максимальное отклонение от идеала. Интуитивно это находит фильтр, который находится настолько близко к желаемой характеристике, насколько это возможно, учитывая, что вы можете использовать только N коэффициентов. Этот метод особенно прост на практике, и по крайней мере один текст [4] включает программу, которая берет желаемый фильтр и N и возвращает оптимальные коэффициенты. Одним из возможных недостатков фильтров, разработанных таким образом, является то, что они содержат много мелких пульсаций в полосе(ах) пропускания, поскольку такой фильтр минимизирует пиковую ошибку.
Другим методом поиска дискретного КИХ-фильтра является оптимизация фильтра, описанная в работе Кнутссона и др., которая минимизирует интеграл квадрата ошибки вместо ее максимального значения. В своей базовой форме этот подход требует, чтобы идеальная частотная функция фильтра была указана вместе с функцией взвешивания частоты и набором координат в области сигнала, где расположены коэффициенты фильтра.
Функция ошибки определяется как
где — дискретный фильтр, а — дискретное по времени преобразование Фурье , определенное на указанном наборе координат. Норма, используемая здесь, формально является обычной нормой на пространствах. Это означает, что измеряет отклонение между запрошенной частотной функцией фильтра, , и фактической частотной функцией реализованного фильтра, . Однако отклонение также зависит от весовой функции до вычисления функции ошибки.
После того, как функция ошибки установлена, оптимальный фильтр задается коэффициентами , которые минимизируют . Это можно сделать, решив соответствующую задачу наименьших квадратов. На практике норма должна быть аппроксимирована посредством подходящей суммы по дискретным точкам в частотной области. В общем случае, однако, эти точки должны быть значительно больше, чем число коэффициентов в сигнальной области, чтобы получить полезное приближение.
Предыдущий метод может быть расширен для включения дополнительного члена ошибки, связанного с желаемой импульсной характеристикой фильтра в области сигнала, с соответствующей весовой функцией. Идеальная импульсная характеристика может быть выбрана независимо от идеальной частотной функции и на практике используется для ограничения эффективной ширины и устранения эффектов звона результирующего фильтра в области сигнала. Это делается путем выбора узкой идеальной функции импульсной характеристики фильтра, например, импульса, и весовой функции, которая быстро растет с расстоянием от начала координат, например, квадрата расстояния. Оптимальный фильтр все еще может быть рассчитан путем решения простой задачи наименьших квадратов, и тогда результирующий фильтр является «компромиссом», который имеет полное оптимальное соответствие идеальным функциям в обеих областях. Важным параметром является относительная сила двух весовых функций, которая определяет, в какой области важнее иметь хорошее соответствие относительно идеальной функции.