📚 Hub Books: Онлайн-чтение книгРазная литератураИнтернет-журнал "Домашняя лаборатория", 2007 №8 - Журнал «Домашняя лаборатория»

Интернет-журнал "Домашняя лаборатория", 2007 №8 - Журнал «Домашняя лаборатория»

Шрифт:

-
+

Интервал:

-
+
1 ... 263 264 265 266 267 268 269 270 271 ... 463
Перейти на страницу:
систем, и результат такого обобщения известен как z-преобразование. Детальное описание использования z-преобразования при проектировании цифровых фильтров дано в приложениях 1, 2, 3, 4, 5 и 6, хотя для понимания дальнейшего материала и нет необходимости в глубоких теоретических изысканиях.

Частотная характеристика идеального ФНЧ представлена на рис. 6.19, А.

Соответствующая импульсная характеристика во временной области представлена на рис. 6.19, В и является функцией sin(x)/x (sine). Если для реализации этой частотной характеристики использовать КИХ-фильтр, то он должен иметь бесконечное число звеньев. Метод sin(x)/x со взвешиванием заключается в следующем. Сначала импульсная характеристика обрезается до разумного числа точек N, как на рис. 6.19, С. Как было обсуждено в разделе 5, частотная характеристика, соответствующая рис. 6.19, С, имеет слишком большое влияние боковых лепестков из-за разрывов в области конечных точек в усеченной импульсной характеристике. Следующий шаг в процессе проектирования состоит в применении к усеченному импульсу соответствующей весовой функции, как показано на рис. 6.19, D, обнуляющей конечные точки. Выбранная таким образом весовая функция определяет спад и характеристики боковых лепестков фильтра. Весовые оконные функции были подробно обсуждены в разделе 5. Как правило, существует несколько приемлемых вариантов в зависимости от желаемой частотной характеристики. Частотная характеристика фильтра с усеченной импульсной характеристикой sin(x)/x (рис. 6.19, Е) представлена на рис. 6.19, F.

Метод рядов Фурье со взвешиванием (рис. 6.20) заключается в начальном математическом определении функции передачи H(f) и последующем разложении ее в ряд Фурье. Коэффициенты ряда Фурье определяют импульсную характеристику и, следовательно, коэффициенты КИХ-фильтра. Затем импульсная характеристика должна быть усечена и подвергнута взвешиванию с использованием оконной функции, как в предыдущем случае. После усечения и применения оконной функции используется БПФ для генерации соответствующей частотной характеристики. Частотная характеристика может быть изменена выбором различных оконных функций, хотя точное управление характеристиками частотной характеристики в полосе режекции затруднено при любом методе, использующем взвешивание с функцией окна.

ПРОЕКТИРОВАНИЕ КИХ-ФИЛЬТРА ПО МЕТОДУ РЯДОВ ФУРЬЕ СО ВЗВЕШИВАНИЕМ

• Точное определение передаточной характеристики H(f)

• Разложение H(f) в ряд Фурье: коэффициенты ряда Фурье являются коэффициентами КИХ-фильтра h(k) и его импульсной характеристикой

• Усечение импульсной характеристики до N точек

• Взвешивание h(k) с соответствующей оконной функцией для сглаживания эффекта усечения

• Отсутствует точное управление частотой среза; сильная зависимость от оконной функции

Рис. 6.20

Проектирование КИХ-фильтра по методу частотной дискретизации

Этот метод чрезвычайно полезен при генерации КИХ-фильтра с произвольной частотной характеристикой. H(f) определяется как набор точек амплитудной и фазовой характеристик в частотной области. Затем точки преобразуются в вещественные и мнимые составляющие комплексного спектра. Следующим шагом является получение импульсной характеристики путем взятия комплексного обратного БПФ от частотной характеристики. Далее импульсная характеристика обрезается до N точек и применяется взвешивание с функцией окна для минимизации эффекта усечения. Затем результат проектирования фильтра должен быть проверен путем вычисления БПФ от импульсной характеристики и оценки получившейся частотной характеристики. Для получения желаемой характеристики может потребоваться несколько итераций.

МЕТОД ЧАСТОТНОЙ ДИСКРЕТИЗАЦИИ ДЛЯ КИХ-ФИЛЬТРА С ПРОИЗВОЛЬНОЙ ЧАСТОТНОЙ ХАРАКТЕРИСТИКОЙ

• Определение Н(k) как конечного числа спектральных точек, равномерно распределенных между 0 и 0,5 fs (обычно достаточно 512)

• Определение фазовых точек (можно делать равными 0)

• Преобразование в алгебраическую форму (вещ. + мнимая части)

• Комплексное обратное БПФ массива H(f) для получения импульсной характеристики

• Усечение импульсной характеристики до N точек

• Взвешивание h(k) с подходящей функцией окна для сглаживания эффектов усечения

• Проверка результата и при необходимости коррекция

• Методы САПР больше подходят для ФНЧ, ФВЧ, полосовых и режекторных фильтров

Рис. 6.21

Проектирование КИХ-фильтров с использованием программы Паркса-Макклиллана (Parks-McClellan)

Метод проектирования, основанный на использовании окон для усечения импульсной характеристики и получения желаемой частотной характеристики, исторически был первым методом проектирования КИХ-фильтров. Метод частотной дискретизации был разработан в 70-ых годах и до сих пор популярен в тех случаях, где частотная характеристика является произвольной функцией.

Сегодня доступны современные программы САПР, которые существенно упрощают проектирование НЧ, ВЧ, полосовых и режекторных КИХ-фильтров. Популярная программа была разработана Парксом (Parks) и Макклилланом (McClellan) и использует алгоритм обмена Ремеза (Remez). Проектирование фильтра начинается с определения параметров, представленных на рис. 6.22: неравномерности полосы пропускания, неравномерности полосы задержки (то же, что ослабление) и области перехода. Для этого примера проектирования была использована программа QED1000 фирмы Momentum Data Systems (демонстрационная версия свободно доступна по адресу http://www.mds.com).

В этом примере мы будем проектировать звуковой НЧ фильтр, который работает при частоте дискретизации 44,1 кГц. Фильтр определен согласно рис. 6.22. Граничная частота полосы пропускания составляет 18 кГц. Полоса задержки начинается при 21 кГц, неравномерность полосы пропускания равна 0,01 дБ, а неравномерность полосы задержки (ослабление) — 96 дБ. Мы также должны определить длину слова (разрядность) коэффициентов, которая в данном случае составляет 16 разрядов, принимая во внимание, что используется 16-разрядный процессор DSP с фиксированной точкой.

ВЫХОДНЫЕ ДАННЫЕ ПРОГРАММЫ ПРОЕКТИРОВАНИЯ КИХ-ФИЛЬТРА

• Оценка требуемого порядка фильтра: 69

♦ Принять? Изменить? Принять

• Частотная характеристика (линейная и логарифмическая шкалы)

• Реакция на ступенчатое воздействие Анализ в S- и Z-плоскостях

• Импульсная реакция: коэффициенты фильтра (квантованные)

• Ассемблерный код DSP процессора для КИХ-фильтра

Рис. 6.24

Программа позволяет нам выбирать между проектированием, основанным на взвешивании с использованием оконных функций, и проектированием КИХ-фильтров с фиксированной неравномерностью Паркса-Макклиллана. Если выбрать последний способ, то программа оценивает число звеньев фильтра, требуемое для его реализации с соблюдением сформулированных технических требований. В данном случае число звеньев равно 69. Можно принять это число и продолжить проектирование или уменьшить число звеньев и посмотреть, можно ли с меньшим числом достичь требуемой спецификации.

Примем это значение и дадим возможность программе закончить вычисления. Программа выдает частотную характеристику (рис. 6.25), реакцию фильтра на ступенчатое воздействие (рис. 6.26), данные анализа в s- и z-плоскостях и импульсную характеристику (рис. 6.27).

Затем программа QED1000 выдает квантованные коэффициенты фильтра, которые служат исходными данными для программы, генерирующей реальный ассемблерный код для ряда популярных DSP процессоров, включая процессоры Analog Devices. Программа обладает достаточной степенью гибкости и позволяет пользователю выполнять ряд сценариев оптимизации проектируемого фильтра.

КИХ-фильтр с 69 звеньями требует 69 + 5 = 74 командных цикла процессора ADSP-2189M быстродействием 75MIPS, дает полное время вычисления на отсчет 74*13,3 нс = 984 нс.

1 ... 263 264 265 266 267 268 269 270 271 ... 463
Перейти на страницу:

Комментарии

Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!

Никто еще не прокомментировал. Хотите быть первым, кто выскажется?