Смекни!
smekni.com

Методические указания по выполнению лабораторной работы цифровая фильтрация медико-биологических сигналов (стр. 4 из 4)

Разработку БИХ-фильтров можно условно разбить на пять основных этапов.

1. Составление спецификации фильтра, в которой разработчик задает передаточную функцию фильтра (например, указывает, что требуется фильтр нижних частот) и же­лаемую производительность.

2. Аппроксимация или расчет коэффициентов, когда выбирается один из доступных методов и вычисляются значения коэффициентов bки ак, передаточной функции H(z), которая соответствует спецификациям, предложенным на этапе 1.

3. Выбор подходящей фильтрующей структуры, в которую переводится передаточная функция. Обычно в БИХ-фильтрах используются параллельная структура и/или кас­кады блоков второго и/или первого порядка.

4. Анализ ошибок, которые могут появиться при представлении коэффициентов фильтра и выполнении арифметических операций, фигурирующих при фильтрации, с помощью конечного числа битов.

5. Реализация, которая включает построение аппаратного обеспечения и/или написание программного кода плюс выполнение собственно фильтрации.

Для простого получения коэффициентов БИХ-фильтра можно разумно разместить полюса и нули на комплексной плоскости, чтобы получающийся в результате фильтр имел нужную частотную характеристику.

Данный подход, известный как метод размещения нулей и полюсов, полезен только при разработке простых фильтров, например, узкополосных режекторных фильтров, где параметры фильтра (такие как неравномерность в полосе пропускания) не обязательно задавать точно. Более эффективный подход — вначале разработать аналоговый фильтр, удовлетворяющий желаемой спецификации, а затем преобразовать его в эквивалентный цифровой.

Большинство цифровых БИХ-фильтров разрабатываются именно так.

Данный подход получил широкое распространение потому, что на настоящий момент в литературе имеется масса информации по аналоговым фильтрам, которую можно использовать при разработке цифровых фильтров. Тремя наиболее распространенными методами конвертации аналоговых фильтров в эквивалентные цифровые являются

· Метод инвариантного преобразования импульсной характеристики,

· Согласованное z-преобразование

· Билинейное z-преобразование.

5.1 Расчет коэффициентов фильтра путем размещений нулей и полюсов

Если в некоторую точку комплексной плоскости поместить нуль, частотная характе­ристика в этой точке будет равной нулю. Полюс, с другой стороны, порождает максимум (рис.). Полюса, расположенные близко к единичной окружности, дают большие пи­ки, тогда как нули, расположенные близко к единичной окружности или лежащие на ней, дают минимумы характеристики.



3F,/4



3F,/4

Рис. _Диаграмма нулей и полюсов простого фильтра (панель а); схемати­ческое изображение частотной характеристики этого фильтра (панель б)

Следовательно, стратегическое размещение полюсов и нулей на комплексной плоскости позволяет получить простой фильтр нижних частот или другой частотно-избирательный фильтр.

При разработке фильтра стоит помнить один важный момент: чтобы коэффициенты фильтра были действительными, полюса и нули должны либо быть действительными, либо образовывать комплексно сопряженные пары.

5.2 Расчет коэффициентов с помощью билинейного z-преобразования

Данный метод является, пожалуй, самым важным методом получения коэффициентов БИХ-фильтра. В нем для преобразования характеристики аналогового фильтра H(s) в характеристику эквивалентного цифрового фильтра применяется следующая замена:

k=1 или

Приведенное выше преобразование отображает аналоговую передаточную функцию H(s), записанную на s-плоскости, в дискретную передаточную функцию H(z) ком­плексной плоскости, как показано на рис. __. Обратите внимание на то, что на ри­сунке вся ось 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. Открыть файл маткада для своего типа фильтра.
  2. Произвести расчет фильтра, подставив в подсвеченные области необходимые данные
  3. Написать программу на языке ассемблер, учитывающую особенности расчета коэффициентов, указанных в маткадовском файле и обсужденных на семинаре. (шаблон для программы находится в папке digital_filter).
  4. Показать программу преподавателю на проверку
  5. После этого прошить МК
  6. Запустить исполняемый файл labview, находящийся в директории filter
  7. Сравнить результаты фильтрации маткада и МК

8. Содержание отчета

Отчет должен содержать:

1.

9. Задание на проведение лабораторной работы


10. Варианты для проведения лабораторной работы

№ в арианта Тип импульсной характеристики фильтра Тип фильтра Вид фильтра Неравномерность. В полосе пропускания, α1, дБ Неравномерность. В полосе заграждения, α2, дБ Частота среза (центр частота), Гц, fc (f0) Частота начала заграждения, Гц, (f1) Частота дискретизации, fd, Гц

1

БИХ

ФНЧ

Чебышева

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