Разработку БИХ-фильтров можно условно разбить на пять основных этапов.
1. Составление спецификации фильтра, в которой разработчик задает передаточную функцию фильтра (например, указывает, что требуется фильтр нижних частот) и желаемую производительность.
2. Аппроксимация или расчет коэффициентов, когда выбирается один из доступных методов и вычисляются значения коэффициентов bки ак, передаточной функции H(z), которая соответствует спецификациям, предложенным на этапе 1.
3. Выбор подходящей фильтрующей структуры, в которую переводится передаточная функция. Обычно в БИХ-фильтрах используются параллельная структура и/или каскады блоков второго и/или первого порядка.
4. Анализ ошибок, которые могут появиться при представлении коэффициентов фильтра и выполнении арифметических операций, фигурирующих при фильтрации, с помощью конечного числа битов.
5. Реализация, которая включает построение аппаратного обеспечения и/или написание программного кода плюс выполнение собственно фильтрации.
Для простого получения коэффициентов БИХ-фильтра можно разумно разместить полюса и нули на комплексной плоскости, чтобы получающийся в результате фильтр имел нужную частотную характеристику.
Данный подход, известный как метод размещения нулей и полюсов, полезен только при разработке простых фильтров, например, узкополосных режекторных фильтров, где параметры фильтра (такие как неравномерность в полосе пропускания) не обязательно задавать точно. Более эффективный подход — вначале разработать аналоговый фильтр, удовлетворяющий желаемой спецификации, а затем преобразовать его в эквивалентный цифровой.
Большинство цифровых БИХ-фильтров разрабатываются именно так.
Данный подход получил широкое распространение потому, что на настоящий момент в литературе имеется масса информации по аналоговым фильтрам, которую можно использовать при разработке цифровых фильтров. Тремя наиболее распространенными методами конвертации аналоговых фильтров в эквивалентные цифровые являются
· Метод инвариантного преобразования импульсной характеристики,
· Согласованное z-преобразование
· Билинейное z-преобразование.
Если в некоторую точку комплексной плоскости поместить нуль, частотная характеристика в этой точке будет равной нулю. Полюс, с другой стороны, порождает максимум (рис.). Полюса, расположенные близко к единичной окружности, дают большие пики, тогда как нули, расположенные близко к единичной окружности или лежащие на ней, дают минимумы характеристики.
3F,/4 |
3F,/4 |
Рис. _Диаграмма нулей и полюсов простого фильтра (панель а); схематическое изображение частотной характеристики этого фильтра (панель б)
Следовательно, стратегическое размещение полюсов и нулей на комплексной плоскости позволяет получить простой фильтр нижних частот или другой частотно-избирательный фильтр.
При разработке фильтра стоит помнить один важный момент: чтобы коэффициенты фильтра были действительными, полюса и нули должны либо быть действительными, либо образовывать комплексно сопряженные пары.
Данный метод является, пожалуй, самым важным методом получения коэффициентов БИХ-фильтра. В нем для преобразования характеристики аналогового фильтра H(s) в характеристику эквивалентного цифрового фильтра применяется следующая замена:
k=1 или
Приведенное выше преобразование отображает аналоговую передаточную функцию H(s), записанную на s-плоскости, в дискретную передаточную функцию H(z) комплексной плоскости, как показано на рис. __. Обратите внимание на то, что на рисунке вся ось iω s-плоскости отображается в единичную окружность, левая половина s-плоскости отображается внутрь единичной окружности, а правая — в область снаружи единичной окружности.
Пример №1
Фильтр нижних частот. Требуется разработать цифровой фильтр нижних частот, аппроксимирующий следующую передаточную функцию:
(3)
Используя метод билинейного z-преобразования, получите передаточную функцию H(z) цифрового фильтра, если частота среза по уровню 3 дБ равна 150 Гц, а частота дискретизации равна 1,28 кГц.
Решение
Используя критическую частоту ωp= 2πх 150 рад/с и Fs = 1/T — 1,28 кГц, получаем следующую деформированную критическую частоту:
Масштабированный аналоговый фильтр характеризуется функцией
После применения билинейного z-преобразования получаем такой результат:
6. Аппаратная реализация цифрового фильтра
Аппаратная реализация цифрового фильтра в данной лабораторной работе будет осуществляться следующим образом. На персональном компьютере запускается исполняемый файл Lab VIEW, генерирующий дискретный частотно-модулированный синусоидальный сигнал на выводах COM-порта. Учебная плата обрабатывает (фильтрует) этот сигнал и возвращает обратно на COM-порт компьютера. Исполняемый файл Lab VIEW строит графики сгенерированного и фильтрованного сигнала. Учебная плата содержит систему питания, блок индикации и микроконтроллер Atmel AVR Mega8535. Фильтрация сигнала осуществляется согласно программе записанной в память микроконтроллера. Рассмотрим особенности разработки прошивки.
Atmel AVR Mega8535 является 8-битным микроконтроллером. Таким образом, число, хранящееся в одном регистре микроконтроллера, не может быть меньше 0 и больше 256. В общем случае коэффициенты ai и bi могут превосходить 256, поэтому при их расчёте вводятся масштабирующие коэффициенты b8b и bm. Масштабирующие коэффициенты вводятся таким образом, чтобы они были степенью двойки, а значения коэффициентов ai и bi были максимально приближены к теоретическим значениям. Это делается для того, чтобы учёт масштабирующих коэффициентов можно было производить простым сдвигом.
В частном случае результат умножения двух 8-ми битных чисел является 16-битным и хранится в двух регистрах. Для дальнейших операций с подобными числами зарезервируем несколько регистров общего назначения («аккумулятор»). При вычислении слагаемых с коэффициентами bi необходимо учитывать масштабирующий коэффициент b8b. Для этого результат умножения поместим в отдельный аккумулятор, который потом необходимо будет сдвинуть влево на число разрядов, равное степени двойки значения b8b. Поскольку в регистрах хранятся только положительные числа, то знак коэффициентов ai, bi учитывается следующим образом. Если коэффициент ai положительный, то слагаемое прибавляется к аккумулятору, если отрицательный – вычитается. Если коэффициент bi положительный, то слагаемое вычитается из аккумулятора, если отрицательный – прибавляется.
7. Методика выполнения лабораторной работы
Отчет должен содержать:
1.
9. Задание на проведение лабораторной работы
10. Варианты для проведения лабораторной работы
№ в арианта | Тип импульсной характеристики фильтра | Тип фильтра | Вид фильтра | Неравномерность. В полосе пропускания, α1, дБ | Неравномерность. В полосе заграждения, α2, дБ | Частота среза (центр частота), Гц, fc (f0) | Частота начала заграждения, Гц, (f1) | Частота дискретизации, fd, Гц |
БИХ | ФНЧ | Чебышева | 1024Гц | |||||
2 | БИХ | ФНЧ | Баттерворта | 1024Гц | ||||
3 | БИХ | ФНЧ | Эллиптический | 1024Гц | ||||
4 | БИХ | ФНЧ | Инв.Чебышева | 1024Гц | ||||
5 | БИХ | ФНЧ | Эллиптический | 1024Гц | ||||
6 | БИХ | ФНЧ | Баттерворта | 1024Гц | ||||
7 | БИХ | ФНЧ | Чебышева | 1024Гц | ||||
8 | БИХ | ФНЧ | Баттерворта | 1024Гц | ||||
9 | БИХ | ФНЧ | Эллиптический | 1024Гц | ||||
10 | БИХ | ФНЧ | Инв.Чебышева | 1024Гц | ||||
11 | БИХ | ФНЧ | Баттерворта | 1024Гц | ||||
12 | БИХ | ФНЧ | Баттерворта | 1024Гц | ||||
13 | БИХ | ФНЧ | Чебышева | 1024Гц | ||||
14 | БИХ | ФНЧ | Чебышева | 1024Гц | ||||
15 | БИХ | ФНЧ | Эллиптический | 1024Гц | ||||
16 | БИХ | ФНЧ | Эллиптический | 1024Гц |
*варианты находятся в файле excel