LabVIEW и вариабельность сердечного ритма (+исходники)

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

Одним из самых распространенных биомедицинских сигналов является электрокардиосигнал. Именно его обработкой занимается наш преподавательский состав. Сигнал этот относительно легко получить. В настоящее время достаточно всего лишь двух электродов, прикладываемых к телу человека, чтобы увидеть электрокардиограмму. В нашей работе мы использовали три электрода по стандартной схеме Эйнтховена:



Работа начиналась с построения аппаратной части устройства. Вся схема была собрана на макетной плате. Схема включает следующие компоненты: усилитель биопотенциалов AD620, микроконтроллер – Atmega16, сигма-дельта АЦП AD7739 (8 каналов, 24 разряда, реально используется 16). В начале работы посмотреть, какие данные выдает АЦП, можно было только через редактор звуковых файлов с применением фильтрации.
На старших курсах, будучи студентом, изучал программу для контроллера, где проводилась инициализация АЦП, прием выборок и передача их в порт. Система команд, книги по микроконтроллерам, игра со светодиодам…Потом постепенно с руководителем начали ставить мини-задачи по данному устройству.
Однажды было принято решение визуализировать сигнал и произвести его дальнейшую обработку. Поскольку сотрудники нашей кафедры имеют опыт работы в среде LabVIEW, то мы решили также попробовать использовать ее.

Программное обеспечение для анализа ритма сердца

Перейдем непосредственно к самому программному продукту, который получился в результате работы. Однажды я спросил одного опытного LabVIEW-разработчика, сколько он в среднем времени тратит на написание ПО, и он ответил, что программу можно писать от двух недель до бесконечности. И действительно, всегда хочется что-то поправить в своем конечном варианте — нет пределу совершенства!
Программа для анализа вариабельности сердечного ритма включает в себя два основных режима: регистрация ЭКГ-сигнала и его последующий анализ. В первом режиме происходит регистрация ЭКГ и ритмограммы и параллельная запись данных в файл. Так это выглядит на лицевой панели:



и блок-диаграмме:



Режим обработки ритмограммы намного сложнее, чем сама регистрация. И включает он в себя несколько составляющих. Во-первых, происходит расчет статистических характеристик ритмограммы, таких как HR, MxDMn, Mn, Mx, SDNN, CV, D, RRср, RMSSD, PNN50, SI. Фактически эти параметры – это СКО, дисперсия, max и min, которые часто используются в статистике. Просто некоторые из них названы по-другому, а некоторые немного усложнены в расчете. Например, SI (stress index) – индекс напряженности регуляторных систем, вычисляется на основе гистограммы, сформированной методом вариационной пульсометрии. Формула для него следующая:



где Amo – амплитуда моды гистограммы, Mo – мода гистограммы, MxDMn – разница между наибольшим и наименьшим RR-интервалами.
Под гистограммой понимается графическое изображение сгруппированных значений сердечных интервалов, где по оси абсцисс откладываются временные значения, по оси ординат их количество в процентах [1]. Для построения гистограммы использовалась функция General Histogram. Фактически всё это множество различных параметров представляют собой ничто иное, как статистическую обработку ритма сердца. А ритм сердца или ритмограмма — это массив значений длительностей RR-интервалов, т.е. временного расстояния между двумя самыми большими пиками ЭКГ. Для определения кардиоциклов можно брать не только RR, но и другие зубцы. Вот так выглядит блок-диаграмма для выделения из ЭКГ ритма сердца.



А это лицевая панель вкладки анализа статистических характеристик:



Наряду с вышеприведенными характеристиками в этом же окне отображается скаттерграмма, представляющая реализацию метода корреляционной ритмографии. Это метод графического представления динамического ряда кардиоинтервалов в виде «облака» путем построение ряда точек в прямоугольной системе координат. При этом по оси ординат откладывается каждый текущий RR-интервал, а по оси абсцисс каждый последующий [2]. Блок-диаграмма выглядит следующим образом:



Немало времени было уделено на реализацию спектрального анализа ритма сердца. При спектральном анализе оценивается вклад тех или иных периодических составляющих в динамику изменений ЧСС. С этой целью оценивается так называемая спектральная мощность колебаний, соответствующая каждому выявленному периоду. Спектральные методы применяются почти исключительно для анализа коротких участков ритмограммы — от 2 до 5 минут [3]. Границы каждого периоды в отечественной врачебной практике недавно были нормированы на одном из крупных собраний специалистов данной области. Существуют конкретные значения для каждого частотного диапазона. Лицевая панель спектрального анализа:



Автокорреляционная функция (АКФ) графически представляет собой статистическую взаимосвязь каждого последующего интервала RR с предыдущими и отражает степень централизации управления процессами регуляции. При создании АКФ использовалась функция Correlation Coefficient из палитры Probability and Statistics.



Общий вид блок-диаграммы для анализа ритмограммы:



Сопряжение ПК с аппаратной частью реализовано на библиотеке VISA. Скорость порта устанавливалась максимальная — 115200. Спектр электрокардиосигнала, по последним литературным данным, может достигать максимальных частот в районе 500 Гц. Но мы настроили цифровые фильтры на ограничение ширины спектра от 0 до 100 Гц.
Устройство вполне работоспособно и производит регистрацию ЭКГ в режиме реального времени с одновременной визуализацией данных, записью результатов проведенного исследования и данных о пациенте в файл.
В последнее время мы включили в программу анализ данных с помощью нелинейных методик. Хочется отметить также, что некоторые компоненты данной обработки служат нам для оценки эмоционального состояния испытуемого. Внешний вид устройства выглядит следующим образом:



Видео работы системы:


Исходный код подприборов

Литература


1. Клиническое значение исследования вариабельности сердечного ритма и методики ее оценки.
2. Дембо А.Г., Земцовский Э.В. Спортивная кардиология: Руководство для врачей. ─ Л.: Медицина, 1989. – 464 с.
3. Беляев К.Р. Методы анализа вариабельности сердца.
4. Анализ вариабельности сердечного ритма при использовании различных электрокардиографических систем (методические рекомендации)
5. Стандарты вариабельности сердечного ритма Рабочей группы Европейского Кардиологического Общества и Северо-Американского общества стимуляции и электрофизиологии
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 10

    +3
    Статья занятная, но порой, риторика у вас здесь такая, что как-будто читаешь чью-то курсовую! Признавайтесь! ;)
    P.S.: Приятно видеть русскоязычные статьи по LabVIEW!
      0
      ну, думаю, всё приходит с опытом! а курсовых мы действительно много понаписали!
      +1
      Можете рассказать что конкретно значит каждый параметр в контексте физиологии, хотя бы тезисно?
      p.s. Для термина «макетная плата» значительно чаще используют слово макетка.
        0
        www.vestar.ru/article_print.jsp?id=1267.
        ПРИЛОЖЕНИЕ 1. ПЕРЕЧЕНЬ ОСНОВНЫХ ПОКАЗАТЕЛЕЙ ВАРИАБЕЛЬНОСТИ СЕРДЕЧНОГО РИТМА. Там описан каждый параметр.
        А вообще если брать физиологическую интерпретацию то как правило многие параметры не используются. Самые популярные — это SI, а так же соотношение мощностей спектральных диапазонов.
        +2
        Помнится нечто подобное реализовывал лет 20 назад на C++. Аппаратной части правда не касался, получал уже поток кардиоинтервалов, но математику пришлось осваивать в объёме большем, чем давали на лекциях. Вообще у нас основная задача стояла прогнозирования приступов у стационарных больных за несколько часов путем выделение гармоник им предшествующих. А у вас какие практические цели, кроме как выдать врачу кучу характеристик?
          0
          Да, было бы круто сразу сигнализировать о каких-либо отклонениях от нормы врачу!
            0
            У нас есть собственно разработанная методика нелинейного анализа. По ней определяется не куча характеристик, а один параметр, который характеризует функциональное состояние испытуемого. В данный момент есть некая шкала с граничными значениями, уровней немного — 3, но в дальнейшем есть возможность увеличить кслассификацию более детально. Ритм сердца мы начали использовать для оценки эмоциональных параметров человека.
            0
            Большая польза была бы от аппарата, который бы просто проанализировал несколько параметров ЭКГ и выдал ее расшифровку в словесном виде а-ля: «Синусовый ритм 85 уд/мин, вертикальное положение ЭОС» и т.п. Ну и выявляла основные недуги — т.е. выполняла бы ф-ции кардиолога, чем бы уменьшила к нему очередь. Полностью заменить живого врача она, конечно, не заменит, но так кардиограмму сможет сделать и расшифровать любой фельдшер в самом захудалом медпункте.

            И еще вопрос: у вас аппаратная фильтрация помех как-то реализована? В частности наводок 50Гц.
              +1
              аппаратной фильтрации можно сказать нет. В этом минус устройства. Стоит антиалиасинговый фильтр перед АЦП. А вот сетевую помеху 50 Гц мы фильтруем уже в LabVIEW цифровыми фильтрами, и это достаточно хорошо удается.
              +1
              В паблике Хабра в контакте к этой статье есть комментарий:

              «Если автор статьи читает комменты в контакте, прошу его связаться со мной. Являюсь представителем одной больницы, где имеется кардиологическое отделение и различные кабинеты функциональной диагностики. Возможно, можно было бы организовать использование и тестирование данной наработки, с перспективой выхода на министерство здравоохранения РТ в виде рекомендации, при успешном заключении наших врачей.»
              Вот ссылка на страницу автора комментария — http://vk.com/id13022788

              P.S. Я лично с автором комментария никак не знаком и не являюсь любителем перепостов чужих комментариев, но (вдруг) это окажется вам полезным :)

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое