Цифровой фильтр — это математический алгоритм, реализованный на аппаратном и/или программном уровне, который с заданной целью действует на входной и генерирует выходной цифровой сигнал. Термином «цифровой фильтр» обозначают определенную аппаратную или программную процедуру, реализацию алгоритма фильтрации. В цифровых фильтрах часто используются оцифрованные аналоговые сигналы или просто хранящиеся в памяти компьютера числа, представляющие некоторые переменные.
По сути, фильтр — это система или сеть, избирательно меняющая форму сигнала (амплитудно-частотную или фазово-частотную характеристику). Основными целями фильтрации являются улучшение качества сигнала (например, устранение или снижение помех), извлечение из сигналов информации или разделение нескольких сигналов, объединенных ранее для, например, эффективного использования доступного канала связи.
Упрощенная схема цифрового фильтра реального времени с аналоговым входом и выходом приведена на рисунке ниже. Узкополосный аналоговый сигнал периодически выбирается и конвертируется в набор цифровых выборок, цифровой процессор производит фильтрацию, отображая входную последовательность в выходную согласно вычислительному алгоритму фильтра. ЦАП конвертирует отфильтрованный цифровым образом выход в аналоговые значения, которые затем проходят аналоговую фильтрацию для сглаживания и устранения нежелательных высокочастотных компонентов.
Упрощенная схема цифрового фильтра реального времени с аналоговым входом и выходом
Цифровые фильтры играют важную роль в цифровой обработке сигналов. По сравнению с аналоговыми фильтрами они предпочтительны во множестве областей (например, сжатие данных, биомедицинская обработка сигналов, обработка речи, обработка изображений, передача данных, цифровое аудио, телефонное эхоподавление), так как обладают рядом преимуществ, часть из которых описана ниже.
- цифровые фильтры могут иметь характеристики, получить которые на аналоговых фильтрах практически невозможно, например, линейную фазовую характеристику;
- в отличие от аналоговых, производительность цифровых фильтров не зависит от изменений среды, например, от колебаний температуры. Таким образом, цифровые фильтры не требуют периодической калибровки;
- если фильтр построен с использованием программируемого процессора, его частотная характеристика может настраиваться автоматически (поэтому такие процессоры широко применяются в адаптивных фильтрах);
- обрабатываемые данные представлены в цифровом виде, поэтому их просто сохранить для последующего использования;
- можно легко использовать достижения из области технологий СБИС и получать небольшие цифровые фильтры с пониженной потребляемой мощностью и более низкой ценой;
- на практике точность, которой можно добиться при использовании аналоговых фильтров, ограничена; например, затухание в полосе подавления нельзя поднять выше 60-70 дБ (если использовать стандартные аналоговые компоненты). Точность цифровых фильтров ограничена только используемой длиной слова;
- производительность цифровых фильтров одинакова для всех устройств серии;
- цифровые фильтры могут использоваться при очень низких частотах, характерных, например, для многих биомедицинских приложений, где применять аналоговые фильтры невозможно. Кроме того, цифровые фильтры могут использоваться в большом диапазоне частот, для чего достаточно просто менять частоту дискретизации.
Не смотря на достоинства, по сравнению с аналоговыми, цифровые фильтры имеют и ряд недостатков:
- ограничение скорости. Максимальная ширина полосы сигналов, которые в реальном времени способны обработать цифровые фильтры, значительно уже, чем у аналоговых фильтров. Так как ограничивается быстродействием АЦП и ЦАП. Так же, скорость работы цифрового фильтра зависит от скорости работы цифрового процессора и числа арифметических операций, которые необходимо выполнить в алгоритме фильтрации;
- влияние конечной разрядности. Цифровые фильтры подвержены шуму (погрешности) АЦП, вызванного конечным числом уровней квантования (разрядность АЦП), и шуму округления, вызванного конечной разрядностью слова (обычно 8 или 16 бит). При использовании рекурсивных фильтров высоких порядков накопление шума округления может привести к неустойчивости фильтра;
- значительное время разработки и внедрения. Разработка и внедрение циф-ровых фильтров, особенно внедрение аппаратного обеспечения, могут вы-полняться гораздо дольше, чем подобные процедуры для аналоговых фильтров. В то же время, однажды разработанное аппаратное и/или программное обеспечение может использоваться в других задачах цифровой обработки сигналов с незначительной модификацией или вообще без изменений.