Добавил:
I want to die Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012.doc
Скачиваний:
28
Добавлен:
18.03.2023
Размер:
1.14 Mб
Скачать

2. Моделирование цифровой фильтрации биомедицинских сигналов

Цели работы: Ознакомление с цифровой фильтрацией сигналов и её программная реализация, исследование адаптивного фильтра сетевой наводки 50 и 60 Гц, БИХ и КИХ фильтров

Основные положения

Цифровой фильтр (ЦФ) – это математический алгоритм обработки дискретных сигналов, который описывается разностным уравнением:

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

Одной из важных характеристик цифрового фильтра является его импульсная характеристика, которая однозначно описывает свойства ЦФ. Импульсной характеристикой называют реакцию фильтра на единичный импульс, который был подан на его вход. Под единичным импульсом понимается такой сигнал, который в момент времени t=0 он равен 1, а во все остальные моменты времени он равен нулю.

Если все коэффициенты в разностном уравнении равны нулю, то фильтр обладает конечной импульсной характеристикой и называется КИХ фильтром или нерекурсивным фильтром. Для КИХ фильтров импульсная характеристика совпадает с набором коэффициентов .

Если в разностном уравнении есть хотя бы один коэффициент не равный нулю, то такой ЦФ обладает бесконечной импульсной характеристикой и называется БИХ фильтром или рекурсивным фильтром.

Важнейшими характеристиками фильтра являются его амплитудно-частотная (АЧХ) и фазо-частотная характеристики (ФЧХ). Они связаны с импульсной характеристикой преобразованием Фурье.

Сетевая наводка с частотой 50 Гц (60 Гц) является одной из наиболее распространенных помех, характерных для биомедицинских сигналов. В данной работе предлагается исследовать адаптивный цифровой режекторный фильтр, предназначенный для устранения этой помехи.

Сетевая помеха представляет собой синусоиду , с частотой равной 50 (60) Гц (рис. 2.1).

Полотно 13

Рис. 2.1. Сетевая помеха в виде дискретного сигнала.

Принцип действия адаптивного цифрового режекторного фильтра основан на использовании известного тригонометрического соотношения:

.

Если интерпретировать величину как текущее время, а величину – как интервал между отсчетами дискретного сигнала, то можно преобразовать приведенное выше выражение к следующему виду:

;

;

;

;

;

, где частота дискретизации

Другими словами, эта формула позволяет предсказать очередное значение синусоиды по двум предыдущим.

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

Задание

  • Загрузить из файла фрагмент ЭКГ и добавить к нему помехи.

  • Исследовать работу адаптивного фильтра сетевой наводки, КИХ и БИХ фильтров.

Порядок выполнения работы

  1. Создайте папку и перепишите в нее библиотеку VI «ЛР2.llb» и файл сигнала ЭКГ для вашего варианта (см. табл. П.2).

  2. Запустите среду LabView. Создайте новый ВП и сохраните его под каким-нибудь именем.

Загрузка фрагмента ЭКГ из файла

  1. Для того чтобы загрузить файл с фрагментом ЭКГ поместите на диаграмме ВП «Read From Spreadsheet File» (Functions >> Programming >> File I/O >> Read From Spreadsheet File).

  1. Для задания пути к файлу на лицевой панели создайте элемент управления «File Path Control» (Controls >> Modern >> String & Path). С помощью этого элемента укажите путь к файлу с фрагментом ЭКГ для вашего варианта. На диаграмме соедините его с входным терминалом «file path» у ВП «Read From Spreadsheet File». (Если путь не будет указан, то при выполнении ВП будет вызван файловый диалог).

  2. Для того чтобы извлечь столбец со значениями ЭКГ поместите на диаграмме функцию «Index Array» из палитры (Functions >> Programming >> Array), в которой находятся функции для работы с массивами.

  3. Соедините выходной терминал «all rows» у ВП «Read From Spreadsheet File», на который выводятся загруженные данные в виде двухмерного массива, с функцией «Index Array».

  4. Д ля извлечения первого столбца, которому соответствует порядковый индекс 0, создайте и подсоедините к входному терминалу «index (col)» константу с указанным значением. Входной терминал «index (row)» оставьте не подключенным.

  5. Для управления частотой дискретизации создайте на лицевой панели численный элемент управления, задайте ему значение по умолчанию 360.

  6. Для отображения графика загруженного фрагмента ЭКГ поместите на лицевой панели элемент «Waveform Graph». Создайте для него кластер данных и постройте график.

  7. Сохраните ВП и запустите его. Убедитесь, что на элементе «Waveform Graph» отображается график фрагмента ЭКГ.

Добавление помех к фрагменту ЭКГ

  1. Поместите на диаграмме цикл «While Loop», который останавливался бы по нажатию на кнопку «Stop». Далее стройте диаграмму внутри этого цикла.

  2. Для формирования сетевой помехи поместите на диаграмме субВП «Сетевая наводка.vi» из библиотеки «ЛР2.llb».

  1. Для определения размера массива загруженного фрагмента ЭКГ поместите на диаграмму функцию «Array Size». Подсоедините к его входному терминалу массив значений ЭКГ. Выходной терминал соедините с входом «Количество отсчетов» у ВП «Сетевая наводка.vi».

  2. Подсоедините к соответствующему входному терминалу ВП «Сетевая наводка.vi» значение частоты дискретизации.

  3. Для управления параметрами сетевой наводки создайте с помощью контекстного меню элементы управления для входных терминалов «Частота наводки», «Дополнительная наводка», «Амплитуда сетевой наводки». Для отображения графика помехи создайте для выходного терминала «График сетевой наводки» элемент индикации.

  4. С ложите сетевую наводку и сигнал ЭКГ.

  5. Для отображения суммы сигнала и помех на графике поместите на лицевой панели элемент «Waveform Graph», создайте для него кластер данных и постройте график.

  6. Для того чтобы задать время выполнения каждой итерации цикла «While Loop» поместите на диаграмме функцию «Wait Until Next ms Multiple» (Functions >> Programming >> Timing). Эта функция позволяет существенно сэкономить ресурсы компьютера, затрачиваемые на выполнение вашей программы. Действие этой функции отображено на следующем графике, где по оси времени X отложены равные интервалы времени , отведенные для выполнения каждой итерации, и неравные фрагменты времени , которые реально затрачиваются на выполнение диаграммы внутри итерации. Сэкономленное время может быть потрачено на выполнение каких-либо параллельных задач.

Полотно 10

Для определения значения временной задержки в мс создайте и подсоедините к её входному терминалу константу и придайте ей значение 1000.

  1. Для размещения большого количества графических элементов поместите на лицевой панели ВП элемент «Tab Control» (Controls >> Modern >> Containers).

  2. Присвойте первой вкладке название «Сигнал» и разместите на ней графики сигнала ЭКГ, помех и график сигнала ЭКГ с помехами. Элементы управления помехами и загрузкой файла разместите вне элемента «Tab Control».

  3. Сохраните и запустите ВП. Убедитесь в том, что помехи генерируются, добавляются к сигналу ЭКГ, и что отображается график сигнала с помехами.

Фильтрация сигнала адаптивным фильтром сетевой наводки

  1. Для осуществления фильтрации сигнала адаптивным фильтром сетевой помехи поместите на диаграмме ВП «Адапт. фильтр сетевой наводки.vi» из библиотеки «ЛР2.llb». Подсоедините к его входному терминалу «Входной массив» фрагмент ЭКГ с помехами.

  1. Для управления ВП «Адапт. фильтр сетевой наводки.vi» подсоедините к соответствующим входным терминалам значения частоты дискретизации и сетевой наводки.

  2. Создайте элемент управления для входного терминала «Шаг адаптации», и элемент индикации для выходного терминала «График фильтрованного сигнала».

  3. Присвойте второй вкладке элемента «Tab Control» название «Адаптивный фильтр сетевой наводки». Создайте элемент «Waveform Graph», поместите его на второй вкладке и отобразите на нем график фрагмента ЭКГ с помехами.

  4. Разместите на этой же вкладке график сигнала обработанного фильтром сетевой наводки и элемент управления шагом адаптации.

  5. Сохраните ВП.

Фильтрация сигнала БИХ фильтром

  1. Для осуществления фильтрации сигнала БИХ фильтром поместите на диаграмме ВП «БИХ фильтр.vi» из библиотеки «ЛР2.llb». Подсоедините к его соответствующим входным терминалам массив фрагмента ЭКГ с помехой и частоту дискретизации.

  1. Для управления ВП «БИХ фильтр.vi» создайте элементы управления для входных терминалов «Тип фильтра», «Порядок фильтра», «Верхняя частота среза», «Нижняя частота среза».

  2. Для отображения графиков, характеризующих работу фильтра, создайте элементы индикации для выходных терминалов «График фильтрованного сигнала», «Импульсная характеристика», «АЧХ», «ФЧХ», «Прямые коэффициенты», «Обратные коэффициенты».

  3. Для создания новой вкладки элемента «Tab Control» перейдите к лицевой панели, вызовите на нем контекстное меню и выберите пункт «Add Page After». Дайте новой вкладке название «БИХ фильтр».

  4. Создайте элемент «Waveform Graph», поместите его на вкладке «БИХ фильтр» и отобразите на нем график фрагмента ЭКГ с помехами.

  5. Разместите на вкладке «БИХ фильтр» все элементы управления и индикации, связанные с ВП «БИХ фильтр.vi».

  6. Сохраните ВП.

Фильтрация сигнала КИХ фильтром

  1. Для осуществления фильтрации сигнала КИХ фильтром поместите на диаграмме ВП «КИХ фильтр.vi» из библиотеки «ЛР2.llb». Подсоедините к его соответствующим входным терминалам массив фрагмента ЭКГ с помехой, частоту дискретизации.

  1. Для управления ВП «КИХ фильтр.vi» создайте элементы управления для входных терминалов «Тип фильтра», «Количество коэффициентов», «Верхняя частота среза», «Нижняя частота среза».

  2. Для отображения графиков, характеризующих работу фильтра, создайте элементы индикации для выходных терминалов «График фильтрованного сигнала», «Импульсная характеристика», «АЧХ», «ФЧХ», «Прямые коэффициенты».

  3. Создайте новую вкладку элемента «Tab Control» и назовите её «КИХ фильтр». Создайте и поместите на ней элемент «Waveform Graph», отобразите на нем график фрагмента ЭКГ с помехами.

  4. Разместите на вкладке «КИХ фильтр» все элементы управления и индикации связанные с ВП «КИХ фильтр.vi».

  5. Сохраните ВП.

Исследование работы фильтров

Адаптивный фильтр сетевой наводки

  1. Установите для сетевой наводки следующие параметры: амплитуда 500, частота 50 Гц, дополнительная наводка 0 Гц.

  2. Изменяя шаг адаптации от минимального до максимального значения, исследуйте зависимость времени настройки фильтра от шага адаптации. Сохраните вывод в отчет.

  3. Изменяя амплитуду сетевой наводки от минимального до максимального значения, исследуйте зависимость времени настройки фильтра от амплитуды сетевой наводки. Сохраните вывод в отчет.

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

  5. Изменяя значение элемента управления «Дополнительная наводка» в сторону уменьшения и увеличения, подобрать такие допустимые отклонения частоты сетевой наводки, при которой продолжала бы обеспечиваться работа фильтра. Значения дополнительной наводки сохранить в отчете вместе с графиками фильтрованного сигнала.

БИХ и КИХ фильтры

  1. Установите элементам управления нижней частотой среза значение 40 Гц, верхней – 80 Гц, порядком фильтра - 15.

  2. Для каждого типа фильтра - нижних частот (ФНЧ) (Lowpass), верхних частот (ФВЧ) (Highpass), полосового (ПФ) (Bandpass) и режекторного (РФ) (Bandstop) фильтра - исследуйте и сохраните в отчете графики коэффициентов фильтра, импульсной характеристики, АЧХ и ФЧХ.

  3. Установите режим ПФ. Изменяя порядок для БИХ фильтра (количество коэффициентов для КИХ фильтра) от минимального до максимального значения, исследуйте зависимость АЧХ фильтра от его порядка. Сохраните в отчет графики АЧХ, соответствующие минимальному и максимальному значениям порядка фильтра и сформулируйте вывод о влиянии порядка фильтра на вид АЧХ.

  4. Подберите такой набор параметров фильтра (тип, порядок, верхняя и нижняя частоты среза), при котором обеспечивалась бы наилучшая фильтрация сигнала с визуальной точки зрения. Эти настройки сохраните в отчете вместе с графиком фильтрованного сигнала и графиками характеристик фильтра. Обратите внимание на то, что для ФНЧ и ФВЧ частота среза задается элементом управления «Нижняя частота среза».

  5. Перейдите на лицевой панели на вкладку «КИХ фильтр» и повторите пункты 46-49 для КИХ фильтра.