Интернет-журнал 'Домашняя лаборатория', 2007 №8 - Журнал «Домашняя лаборатория»
Шрифт:
Интервал:
Закладка:
Полоса сигнала = 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 отводами (длиной буфера). Естественно, эти фильтры не подходят в том случае, где требуется большое ослабление в полосе задержания.
Можно существенно улучшить эффективность простого КИХ-фильтра скользящего среднего, выбирая разные веса или значения коэффициентов вместо равных значений. Крутизна спада может быть увеличена добавлением большего количества звеньев в фильтр, а характеристики полосы затухания улучшаются выбором надлежащих коэффициентов фильтра. Обратите внимание, что, в отличие от фильтра скользящего среднего, для реализации каждой ступени обобщенного КИХ-фильтра требуется цикл умножения с накоплением. Сущность проектирования КИХ-фильтра сводится к выбору соответствующих коэффициентов и необходимого числа звеньев при формировании желаемой частотной характеристики фильтра H(f). Для включения необходимой частотной характеристики H(f) в набор КИХ-коэффициентов имеются различные алгоритмы и программные пакеты. Большинство этого программного обеспечения разработано для персональных компьютеров и доступно на рынке. Ключевой теоремой проектирования КИХ-фильтра является утверждение, что коэффициенты h(n) КИХ-фильтра являются просто квантованными значениями импульсной характеристики этого фильтра. Соответственно, импульсная характеристика является дискретным преобразованием Фурье от H(f).
Обобщенная форма КИХ-фильтра с числом звеньев N представлена на рис. 6.11. Как было сказано, КИХ-фильтр должен работать в соответствии с уравнением, задающим свертку:
где h(k) — массив коэффициентов фильтра и x(n-k) — входной массив данных фильтра. Число N в уравнении представляет собой число звеньев и определяет эффективность фильтра, как было сказано выше. КИХ-фильтр с числом звеньев N требует N циклов (операций) умножения с накоплением.
Согласно рис. 6.12, диаграммы КИХ-фильтров часто изображаются в упрощенном виде. Операции суммирования представляются стрелками, указывающими в точки, а операции умножения обозначают, помещая коэффициенты h(k) рядом со стрелками на линиях. Элемент задержки z-1 показывают, помещая его обозначение выше или рядом с соответствующей линией.
РЕАЛИЗАЦИЯ КИХ-ФИЛЬТРА НА ПРОЦЕССОРЕ DSP С ИСПОЛЬЗОВАНИЕМ ЦИКЛИЧЕСКИХ БУФЕРОВ
В рядах, задаваемых уравнениями КИХ-фильтров, предполагается последовательное обращение к N коэффициентам от h(0) до h(N-1). Соответствующие точки данных циркулируют в памяти. При этом добавляются