СРАВНЕНИЕ ЦИФРОВЫХ И АНАЛОГОВЫХ ФИЛЬТРОВ
Цифровые фильтры ∙ Аналоговые фильтры
Высокая точность ∙ Низкая точность из-за допуска на элементы
Линейная фаза (КИХ фильтр) ∙ Нелинейная фаза
Нет дрейфа вследствие изменения параметров компонентов ∙ Дрейф вследствие изменения параметров компонентов
Гибкость, возможна адаптивная фильтрация ∙ Реализация адаптивных фильтров затруднена
Легки в моделировании и проектировании ∙ Сложны в моделировании и проектировании
Ограничения при работе в реальном масштабе времени — вычисление должно быть завершено в течение интервала дискретизации ∙ Аналоговые фильтры требуются на высоких частотах и для устранения эффекта наложения спектра
Рис. 6.2
Существует много приложений, в которых цифровые фильтры должны работать в реальном масштабе времени. В них накладываются определенные требования на процессор DSP в зависимости от частоты дискретизации и сложности фильтра. Ключевым моментом является то, что процессор DSP должен проводить все вычисления в течение интервала дискретизации, чтобы быть готовым к обработке следующего отсчета данных. Пусть ширина полосы частот обрабатываемого сигнала равна fa. Тогда частота дискретизации АЦП fs должна быть, по крайней мере, в два раза больше, то есть 2fa. Интервал дискретизации равен l/fs. Все вычисления, связанные с реализацией фильтра (включая все дополнительные операции), должны быть закончены в течение этого интервала. Время вычислений зависит от числа звеньев фильтра и быстродействия и эффективности процессора DSP. Каждое звено при реализации фильтра требует одной операции умножения и одной операции сложения (умножения с накоплением). Процессор DSP оптимизируется для быстрого выполнения операций умножения с накоплением. Кроме того, многие процессоры DSP имеют дополнительные особенности, такие как реализация циклической адресации и организация программных циклов с автоматической проверкой условия продолжения цикла, минимизирующие количество дополнительных инструкций, которые в противном случае были бы необходимы.
ТРЕБОВАНИЯ К ЦИФРОВОЙ ФИЛЬТРАЦИИ ДЛЯ РАБОТЫ В РЕАЛЬНОМ МАСШТАБЕ ВРЕМЕНИ
Полоса сигнала = fa
Частота дискретизации fs > 2fa
Период дискретизации =1/fs
Время вычисления фильтра + доп. операции < период дискр.
♦ Зависит от числа коэффициентов фильтра
♦ Скорости операций умножения с накоплением (MAC)
♦ Эффективности ЦОС
• Поддержка циклических буферов
• Отсутствие дополнительных операций
• и т. д.
Рис. 6.4
Фильтры с конечной импульсной характеристикой (КИХ)
Существует два основных типа цифровых фильтров: фильтры с конечной импульсной характеристикой (КИХ) и фильтры с бесконечной импульсной характеристикой (БИХ). Как следует из терминологии, эта классификация относится к импульсным характеристикам фильтров. Изменяя веса коэффициентов и число звеньев КИХ-фильтра, можно реализовать практически любую частотную характеристику. КИХ-фильтры могут иметь такие свойства, которые невозможно достичь методами аналоговой фильтрации (в частности, совершенную линейную фазовую характеристику). Но высокоэффективные КИХ-фильтры строятся с большим числом операций умножения с накоплением и поэтому требуют использования быстрых и эффективных процессоров DSP. С другой стороны, БИХ-фильтры имеют тенденцию имитировать принцип действия традиционных аналоговых фильтров с обратной связь. Поэтому их импульсная характеристика имеет бесконечную длительность. Благодаря использованию обратной связи, БИХ-фильтры могут быть реализованы с меньшим количеством коэффициентов, чем КИХ-фильтры; просто другим способом реализации КИХ или БИХ фильтрации являются решетчатые фильтры, которые часто используются в задачах обработки речи. Цифровые фильтры применяются в приложениях адаптивной фильтрации, благодаря своему быстродействию и простоте изменения характеристик воздействием на его коэффициенты.
ТИПЫ ЦИФРОВЫХ ФИЛЬТРОВ
• Фильтр скользящего среднего
• Фильтр с конечной импульсной характеристикой (КИХ)
♦ Линейная фаза
♦ Легкость проектирования
♦ Значительные вычислительные затраты
• Фильтр с бесконечной импульсной характеристикой
♦ Основаны на классических аналоговых фильтрах
♦ Высокая вычислительная эффективность
• Решетчатые фильтры (могут быть КИХ или БИХ)
• Адаптивные фильтры
Рис. 6.5
Элементарной формой КИХ-фильтра является фильтр скользящего среднего (moving average), показанный на рис. 6.6.
Фильтры скользящего среднего популярны для сглаживания данных, например, для анализа стоимости акций и т. д. Входные отсчеты х(n) пропускаются через ряд регистров памяти (помеченных z-1 в соответствии с представлением элемента задержки при z-преобразовании). В приведенном примере имеется четыре каскада, соответствующих 4-точечному фильтру скользящего среднего. Каждый отсчет умножается на 0,25, и результаты умножения суммируются для получения значения скользящего среднего, которое подается на выход у(n). На рисунке также представлено общее уравнение фильтра скользящего среднего на N точек. Вновь обращаем внимание, что N относится к числу точек при вычислении фильтра, а не к разрешающей способности АЦП или ЦАП, как в предыдущих разделах.
С учетом равенства коэффициентов, наиболее простой путь исполнения фильтра скользящего среднего представлен на рис. 6.7. Обратите внимание, что первым шагом является запоминание первых четырех отсчетов х(0), х(1), х(2), х(3) в регистрах. Эти величины суммируются и затем умножаются на 0,25 для получения первого выхода у(3). Обратите внимание, что начальные значения выходов у(0), у(1) и у(2) некорректны, потому что, пока отсчет х(3) не получен, не все регистры заполнены.
Когда получен отсчет х(4), он суммируется с результатом, а отсчет х(0) вычитается из результата. Затем новый результат должен быть умножен на 0,25. Поэтому вычисления, требуемые для получения нового значения на выходе, состоят из одного суммирования, одного вычитания и одного умножения, независимо от длины фильтра скользящего среднего.
Реакция 4-точечного фильтра скользящего среднего на ступенчатое воздействие представлена на рис. 6.8.
Обратите внимание, что фильтр скользящего среднего не имеет выброса по фронту входного сигнала. Это делает его полезным в приложениях обработки сигналов, где требуется фильтрация случайного белого шума при сохранении характера входного импульса. Из всех возможных линейных фильтров фильтр скользящего среднего дает самый низкий уровень шума при заданной крутизне фронта импульса. Это показано на рис. 6.9, где уровень шума понижается по мере увеличения числа точек. Существенно, что время реакции фильтра на ступенчатое воздействие от 0 % до 100 % равно произведению общего количества точек фильтра на период дискретизации.
Частотная характеристика простого фильтра скользящего среднего выражается функцией sin(x)/x. Она представлена в линейном масштабе на рис. 6.10. Увеличение числа точек при реализации фильтра сужает основной лепесток, но существенно не уменьшает амплитуду боковых лепестков частотной характеристики, которая равна приблизительно -14 дБ для фильтра с 11 и с 31 отводами (длиной буфера). Естественно, эти фильтры не подходят в том случае, где требуется большое ослабление в полосе задержания.