Введение
Устройство для подавления части дискретно-выборочного сигнала.
В обработке сигналов цифровой фильтр – это система, выполняющая математические операции над дискретным сигналом во времени для уменьшения или усиления определенных аспектов этого сигнала. Это отличается от другого основного типа электронного фильтра – аналогового фильтра, который обычно представляет собой электронную схему, работающую с непрерывными аналоговыми сигналами. Цифровая фильтрующая система обычно состоит из аналого-цифрового преобразователя (АЦП) для дискретизации входного сигнала, за которым следует микропроцессор и некоторые периферийные компоненты, такие как память для хранения данных и коэффициентов фильтрации и т.п. Программные инструкции (программное обеспечение), выполняемые на микропроцессоре, реализуют цифровой фильтр, выполняя необходимые математические операции с числами, полученными от АЦП. В некоторых высокопроизводительных приложениях вместо микропроцессоров общего назначения или специализированных цифровых сигнальных процессоров (DSP) с конкретной параллельной архитектурой для ускорения операций, таких как фильтрация, используются ПЛИС (FPGA) или ASIC. Цифровые фильтры могут быть дороже эквивалентных аналоговых фильтров из-за их большей сложности, но они делают практическими многие конструкции, которые непрактичны или невозможны в аналоговом виде. Цифровые фильтры часто могут быть реализованы с очень высокой степенью, и часто являются фильтрами с конечным импульсным откликом, что позволяет получить линейную фазовую характеристику. При использовании в контексте аналоговых систем реального времени цифровые фильтры иногда имеют значительную задержку (разницу во времени между входом и ответом) из-за связанных с ними преобразований аналогового сигнала в цифровой и цифрового в аналоговый, антиалиасинговых фильтров или других задержек в их реализации. Цифровые фильтры широко распространены и являются важным элементом современной электроники, такой как радиоприемники, мобильные телефоны и AV-ресиверы.
Методы анализа
Для анализа поведения заданного цифрового фильтра может быть использован широкий спектр математических методов. Многие из этих методов анализа также применяются при проектировании и часто служат основой для технических требований к фильтру. Как правило, характеристики фильтра определяются путем вычисления его реакции на простой входной сигнал, например, импульс. Затем эту информацию можно расширить для вычисления реакции фильтра на более сложные сигналы.
Конструкция фильтра
Хотя фильтры легко понять и рассчитать, практические трудности их разработки и реализации весьма существенны и являются предметом активных передовых исследований. Существуют две категории цифровых фильтров: рекурсивные и нерекурсивные. Их также часто называют фильтрами с бесконечной импульсной характеристикой (IIR) и фильтрами с конечной импульсной характеристикой (FIR) соответственно.
Реализация фильтра
После проектирования фильтра необходимо осуществить его реализацию путем разработки структурной схемы, описывающей фильтр в терминах операций над последовательностями отсчетов. Одна и та же передаточная функция может быть реализована различными способами. Рассмотрим, как можно вычислить простое выражение, например, можно также вычислить эквивалентное выражение. Аналогичным образом, все реализации можно рассматривать как "разложения" одной и той же передаточной функции, однако различные реализации будут обладать разными числовыми характеристиками. В частности, некоторые реализации более эффективны с точки зрения количества операций или элементов памяти, необходимых для их реализации, а другие обеспечивают преимущества, такие как повышенная численная устойчивость и уменьшение ошибки округления. Некоторые структуры лучше подходят для операций с фиксированной точкой, а другие – для операций с плавающей точкой.
Прямая форма I
Прямой подход к реализации ИИР-фильтра – это прямая форма I, в которой разностное уравнение вычисляется непосредственно. Эта форма удобна для фильтров небольшого порядка, но может быть неэффективной и непрактичной (численно неустойчивой) для сложных конструкций. Как правило, для реализации фильтра порядка N в этой форме требуется 2N элементов задержки (для входного и выходного сигналов).
Прямая форма II
Взаимная прямая форма II требует только N элементов задержки, где N – порядок фильтра, что потенциально вдвое меньше, чем в прямой форме I. Эта структура получается путем изменения порядка секций числителя и знаменателя в прямой форме I, поскольку они фактически представляют собой две линейные системы, и к ним применимо свойство коммутативности. При этом можно заметить, что существует две цепочки задержек, отводимые от центральной шины, которые можно объединить, поскольку они избыточны, что приводит к реализации, представленной ниже. Недостатком прямой формы II является повышенная вероятность арифметического переполнения для фильтров с высоким Q или резонансом. Показано, что с увеличением Q шум округления в обеих топологиях прямой формы неограниченно возрастает. Это связано с тем, что сигнал концептуально сначала проходит через всеполюсный фильтр (который обычно усиливает сигнал на резонансных частотах), затем результат насыщается, а после этого проходит через все-нулевой фильтр (который часто ослабляет большую часть того, что было усилено всеполюсной частью).
Каскадные секции второго порядка
Общая стратегия заключается в реализации цифрового фильтра высшего порядка (более 2) как каскадной последовательности секций второго порядка, называемых "биквадратическими" (или "биквадными") (см. цифровой биквадратный фильтр). Преимущество этой стратегии состоит в ограничении диапазона коэффициентов. Каскадное соединение секций прямой формы II требует N элементов задержки для фильтров порядка N. Каскадное соединение секций прямой формы I требует N + 2 элемента задержки, так как элементы задержки на входе любой секции (за исключением первой) избыточны по отношению к элементам задержки на выходе предыдущей секции.
Сравнение аналоговых и цифровых фильтров
Цифровые фильтры не подвержены нелинейностям компонентов, которые значительно усложняют разработку аналоговых фильтров. Аналоговые фильтры состоят из несовершенных электронных компонентов, значения которых задаются с определенным допуском (например, значения резисторов часто имеют допуск ±5%) и которые также могут изменяться с температурой и дрейфовать со временем. С увеличением порядка аналогового фильтра и, следовательно, количества его компонентов, влияние погрешностей компонентов значительно возрастает. В цифровых фильтрах значения коэффициентов хранятся в компьютерной памяти, что делает их гораздо более стабильными и предсказуемыми. Благодаря определенности коэффициентов цифровых фильтров, можно достичь более сложных и селективных характеристик – в частности, с цифровыми фильтрами можно добиться меньшего пульсаций в полосе пропускания, более крутого спада и большего подавления в полосе задерживания, чем это практически осуществимо с аналоговыми фильтрами. Даже если подобную разработку можно реализовать с помощью аналоговых фильтров, стоимость разработки эквивалентного цифрового фильтра, вероятно, будет значительно ниже. Кроме того, коэффициенты цифрового фильтра можно легко модифицировать для создания адаптивного фильтра или параметрического фильтра с ручным управлением. Хотя подобные методы возможны и в аналоговых фильтрах, они значительно сложнее в реализации. Цифровые фильтры могут использоваться при разработке фильтров с конечным импульсным откликом. Эквивалентные аналоговые фильтры часто более сложны, поскольку требуют элементов задержки. Цифровые фильтры в меньшей степени зависят от аналоговых схем, что потенциально позволяет улучшить отношение сигнал/шум. Цифровой фильтр вносит шум в сигнал на этапах аналоговой фильтрации нижних частот, аналого-цифрового и цифро-аналогового преобразования, а также может вносить цифровой шум из-за квантования. В аналоговых фильтрах каждый компонент является источником теплового шума (например, шума Джонсона), поэтому с ростом сложности фильтра растет и уровень шума. Однако цифровые фильтры вносят в систему большую фундаментальную задержку. В аналоговом фильтре задержка часто пренебрежимо мала; строго говоря, это время, необходимое электрическому сигналу для распространения по цепи фильтра. В цифровых системах задержка возникает из-за элементов задержки в цифровом тракте сигнала, а также из-за аналого-цифровых и цифро-аналоговых преобразователей, обеспечивающих обработку аналоговых сигналов. В очень простых случаях использование аналогового фильтра может быть более экономически выгодным. Внедрение цифрового фильтра требует значительной дополнительной схемы, как упоминалось ранее, включая два аналоговых фильтра нижних частот. Еще одним аргументом в пользу аналоговых фильтров является низкое энергопотребление. Аналоговые фильтры потребляют значительно меньше энергии и, следовательно, являются единственным решением при жестких требованиях к питанию. При создании электрической схемы на печатной плате обычно проще использовать цифровое решение, поскольку процессорные блоки с годами были сильно оптимизированы. Реализация той же схемы с использованием аналоговых компонентов потребует значительно больше места при использовании дискретных компонентов. Две альтернативы – FPAA и ASIC, но они дороги при небольших объемах производства.