«Санкт-Петербургский государственный электротехнический
университет «ЛЭТИ» им. В.И.Ульянова (Ленина)» (СПбГЭТУ «ЛЭТИ»)
Направление
12.03.04 – Биотехнические системы и
технологии
Профиль
Биотехнические и медицинские аппараты
и системы
Факультет
ИБС
Кафедра
БТС
К защите допустить
Зав. кафедрой
Юлдашев З.М
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
БАКАЛАВРА
Тема: ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ СОВМЕСТНОГО
АНАЛИЗА СИГНАЛОВ ЭКГ И ФОТОПЛЕТИЗМОГРАММЫ
Антипов Н.О.
Студент
подпись
Руководитель
Калиниченко А.Н.
д.т.н., с.н.с.
подпись
Консультанты
Буканин В.А.
к.т.н., с.н.с.
подпись
Семенова Е.А.
к.т.н.
подпись
Санкт-Петербург
2019
ЗАДАНИЕ
НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ
Утверждаю
Зав. кафедрой БТС
____________ Юлдашев З.М.
«___»______________2019г.
Студент
Антипов Н.О.
Группа 5502
Тема работы: Программный комплекс для совместного анализа ЭКГ и
фотоплетизмограммы
Место выполнения ВКР: кафедра БТС
Исходные данные (технические требования):
Описание существующих методов, литературные источники, сигналы ЭКГ и
фотоплетизмограммы, программный пакет MATLAB, библиотека Keras.
Содержание ВКР:
Анализ сигналов ЭКГ и фотоплетизмограммы, цифровая фильтрация
сигналов, QRS-детектор, интерполяция сигнала ФПГ, корреляционный
анализ, подготовка пульсовых волн для обучения ИНС, результаты
полученные в результате работы ИНС по предсказанию давления.
Перечень отчетных материалов: пояснительная записка, иллюстративный
материал, иные отчетные материалы
Дополнительные разделы: безопасность жизнедеятельности
Дата выдачи задания
Дата представления ВКР к защите
«___»______________2019 г.
«___»______________2019 г.
Студент
Антипов Н.О.
Руководитель д.т.н., с.н.с.
Калиниченко А.Н.
2
КАЛЕНДАРНЫЙ ПЛАН ВЫПОЛНЕНИЯ
ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЫ
Утверждаю
Зав. кафедрой БТС
____________ Юдашев З.М.
«___»______________2019 г.
Студент
Антипов Н.О.
Группа 5502
Тема работы: Программный комплекс для совместного анализа сигналов
ЭКГ и фотоплетизмограммы
№
п/п
Наименование работ
Срок выполнения
1
Обзор литературы по теме работы
27.04.19 – 06.05.19
2
Создание программного комплекса
Написание 1 и 2 глав ВКР
Написание 3 и 4 главы ВКР
Оформление пояснительной записки
Оформление иллюстративного
материала
27.04.19 – 15.05.19
3
4
5
6
Студент
Руководитель
15.05.19 – 25.05.19
15.05.19 – 25.05.19
20.05.19 – 28.05.19
20.05.19 – 28.05.19
Антипов Н.О.
д.т.н, с.н.с.
Калиниченко А.Н.
3
РЕФЕРАТ
Пояснительная записка содержит: 70 страниц, 58 рисунков, 3 таблицы,
22 источника, 2 приложения.
КЛЮЧЕВЫЕ
СЛОВА:
ФОТОПЛЕТИЗМОГРАММА,
ЭЛЕКТРОКАРДИОГРАММА,
ИНТЕРПОЛЯЦИЯ,
ПРЕДСКАЗАНИЕ ДАВЛЕНИЯ ПО ПУЛЬСОВОЙ ВОЛНЕ, QRS-ДЕТЕКТОР,
ПЕРВАЯ
ПРОИЗВОДНАЯ
ФОТОПЛЕТИЗМОГРАММЫ,
ЦИФРОВАЯ
ФИЛЬТРАЦИЯ, НЕЙРОННАЯ СЕТЬ, МАШИННОЕ ОБУЧЕНИЕ.
Объектом
исследования
является
программный
комплекс
для
совместного анализа сигналов ЭКГ и фотоплетизмограммы.
Предметами исследования
являются
алгоритмы для
обработки
сигналов ЭКГ и фотоплетизмограммы, а также алгоритм предсказания
давления, использующий машинное обучение.
В
работе используются методы цифровой фильтрации сигналов,
аппроксимации,
интерполяции
и
корреляционного
анализа,
методы
разработки приложений (среда MATLAB, PyCharm) и оценки эффективности.
Результаты работы: рассмотрены способы обработки сигналов ЭКГ и
фотоплетизмограммы. Разработан алгоритм для интерполяции сигнала
фотоплетизмограммы. Создан программный комплекс для обработки и
анализа сигналов ЭКГ и фотоплетизмограммы. Проведено исследование на
предмет предсказания давления по сигналу пульсовой волны.
4
ABSTRACT
The main idea of this work is to develop a software package for joint analysis
and processing of ECG signals and photoplethysmogram.
In the software package, various signal processing methods are
implemented,
such as: digital filtering,
approximation,
differentiation,
interpolation. So in the work methods of machine learning are used to predict the
pressure of the pulse wave signal
5
Содержание
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ ........................ 9
ВВЕДЕНИЕ............................................................................................. 10
1
ОБЗОР
ЛИТЕРАТУРЫ
И
ОЦЕНКА
СОВРЕМЕННОГО
СОСТОЯНИЯ ПРОБЛЕМЫ .............................................................................. 13
1.1 Электрокардиограмма. Признаки для предсказания давления .. 13
1.1.1 Система отведений электрокардиограммы .............................. 13
1.1.2 Комплекс электрокардиограммы .............................................. 15
1.1.3 Параметры электрокардиограммы для оценки давления. ....... 16
1.2 Фотоплетизмограмма. Параметры для определения давления .. 17
1.2.1 Составляющие сигнала фотоплетизмограммы ........................ 17
1.2.2 Регистрация сигнала фотоплетизмограммы ............................. 18
1.2.3 Индекс перфузии. Индекс жесткости. Индекс отражения ...... 19
1.2.4 Анализ пульсовой волны ........................................................... 20
1.3 Искусственная нейронная сеть. Применение нейронных сетей для
синхронного
анализа
сигналов
электрокардиограммы
и
фотоплетизмограммы ..................................................................................... 23
1.3.1 Модель нейронной сети ............................................................ 23
1.3.2 Искусственный нейрон .............................................................. 24
1.3.3. Функции активации нейронной сети ....................................... 25
1.3.4 Виды искусственных нейронных сетей .................................... 26
1.3.5 Обучение нейронных сетей ....................................................... 27
1.3.6 Использование нейронных сетей для предсказания давления по
сигналу электрокардиограммы и фотоплетизмограммы ......................... 28
1. 4 Датчик MAX30102 ....................................................................... 29
6
1.4.1 Эксплуатационные характеристики модуля ............................ 30
1.4.2 Расположение ножек MAX30102.............................................. 31
1.4.3 Подробное описание MAX30102 .............................................. 32
1.5 Вывод ............................................................................................ 33
2 МЕТОДОЛОГИЯ ................................................................................. 34
2.1 Цифровая фильтрация .................................................................. 34
2.1.1 Виды фильтров, используемых для биологических сигналов 34
2.1.2 Цифровая фильтрация, использованная в работе .................... 36
2.2 Использование
производной для
анализа
биологических
сигналов в работе ........................................................................................... 38
2.2.1 Взятие первой производной сигнала электрокардиограммы .. 38
2.2.2 Использование производных для анализа пульсовой волны .. 39
2.2.3 Использование производных от сигналов в работе ................. 40
2.3 QRS детектор и синхронизация сигнала электрокардиограммы с
сигналом фотоплетизмограммы .................................................................... 41
2.3.1 Способы обнаружения QRS комплексов .................................. 41
2.4 Spline-интерполяция ..................................................................... 43
2.4.1 Интерполяция и ее основные виды. .......................................... 43
2.4.2 Нахождение узлов интерполяции ............................................. 45
2.5 Применение корреляционного анализа для анализа сигнала
фотоплетизмограммы ..................................................................................... 47
2.5.1 Понятие корреляционного анализа ........................................... 47
2.5.2 Корреляционный анализ в работе ............................................. 48
2.6 Вывод ............................................................................................ 49
3 РЕЗУЛЬТАТЫ РАЗАБОТКИ ПРОГРАММНОГО КОМПЛЕКСА .. 50
7
3.1
Программный
комплекс
для
обработки
сигнала
электрокардиограммы и фотоплетизмограммы в среде MATLAB ............. 50
3.2 Отбор записей для нейронной сети ............................................. 52
3.3 Нейронная сеть, созданная на базе библиотеки Keras ................ 54
3.4 Результаты работы сети с выборкой из пульсовых волн ........... 55
3.5 Результаты работы сети с выборкой, состоящей из первой
производной от пульсовой волны ................................................................. 57
3.6 Результаты работы сети с выборкой, состоящей из сигнала
фотоплетизмограммы и ее первой производной .......................................... 59
3.7 Вывод ............................................................................................ 61
4 БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ ................................... 62
4.1 Условия применения программного обеспечения ...................... 62
4.2 Требования к интерфейсу программного обеспечения .............. 62
4.3 Опасные и вредные факторы при работе с программным
обеспечением .................................................................................................. 63
4.4 Пожарная безопасность в медицинских кабинетах .................... 64
4.5 Электробезопасность в медицинских кабинетах ........................ 65
4.6 Организация рабочего пространства ........................................... 66
4.7 Вывод ............................................................................................ 66
ЗАКЛЮЧЕНИЕ ...................................................................................... 67
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .............................. 68
ПРИЛОЖЕНИЕ А .................................................................................. 71
ПРИЛОЖЕНИЕ Б ................................................................................... 72
8
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
АД – артериальное давление
АС – активная составляющая
АЧХ – амплитудно-частотная характеристика
АЦП – аналого-цифровой преобразователь
БИХ – бесконечная импульсная характеристика
ИК – инфракрасный
ИНС – искусственная нейронная сеть
ИП – индекс перфузии
КИХ – конечная импульсная характеристика
ПО – программное обеспечение
ФПГ – фотоплетизмограмма
ФЧХ – фазочастотная характеристика
ЭВМ – электронно-вычислительная машина
ЭКГ – электрокардиограмма
DC – постоянная составляющая
HR – частота сердечных сокращений
RI – индекс отражения
SI – индекс жесткости
SNR – отношение сигнал/шум
9
ВВЕДЕНИЕ
Разработка новых методов диагностики в медицине, а после и создание
современного диагностического оборудования на основе этих методов
является одним из основных направлений развития медицины. В настоящее
время растет понимание того, что здоровье человека зависит не только от
состояния органов и систем организма, но и от их функционального
взаимодействия. Так у здоровых людей основные ритмы сердечнососудистой системы, такие как: основной сердечный ритм, дыхание,
низкочастотные колебания сердечных сокращений и кровяного давления,
имеют высокую степень синхронизации между собой, благодаря этому
организм имеет хорошую адаптацию. При развитии патологических
процессов в сердечно-сосудистой системе, эта синхронизация может
нарушаться,
так
при
инфаркте
миокарда
происходит
разрушение
нормальных функциональных взаимосвязей между разными подсистемами
регуляции сердечно-сосудистой системы.
Сердечно-сосудистые заболевания находятся на первом месте в общей
статистике смертности в России, снижение смертности от сердечнососудистых заболеваний приведет к росту средней продолжительности
жизни, а потому является актуальной задачей для системы здравоохранения.
В 2017 году заболевания сердечно-сосудистой системы унесли жизни 858
тысяч человек, этот показатель является на 5 % меньше, чем прошлые годы,
однако несмотря на снижение показателя смертности, он все еще остается
достаточно высоким.
Благодаря развитию цифровых технологий можно использовать
смартфон
в
качестве
диагностического
прибора
для
регистрации
биологических сигналов таких, как электрокардиограмма (ЭКГ) и
фотоплетизмограмма. В работе используются сигналы, полученные от
специального чехла для iPhone, который позволяет получать данные
фотоплетизмограммы и ЭКГ в формате wav файлов. Использование
10
новейшей технологии нейронных сетей позволит проводить анализ
сигналов и показывать результаты пользователю и загружать их базу
данных для дальнейшего анализа специалистами.
Анализируя
пульсовую
волну
фотоплетизмограммы,
синхронизированную с ЭКГ, можно определить числовое значение
давления,
имея
программный
комплекс
для
анализа
ЭКГ
и
фотоплетизмограммы. Получение значения давления станет намного проще
и даст возможность проводить диагностику в любой момент времени, а
своевременная диагностика нарушений в работе сердца является решением
проблемы снижения смертности от заболеваний сердца и сердечнососудистой системы.
Алгоритм анализа при помощи нейронных сетей имеет множество
преимуществ, таких как решение задачи при неизвестных закономерностях,
(например, определении давления по пульсовой волне), устойчивость к
входным шумам, высокая степень адаптивности, что позволяет решать
задачи в различных условиях внешней среды, а также высокое
быстродействие.
Цель
работы:
Основной
целью
работы
является
создание
программного комплекса для совместного анализа электрокардиограммы и
фотоплетизмограммы.
Для достижения поставленной цели сформулируем следующие задачи:
1.
Обзор литературы по заданной теме и оценка современного
состояния проблемы.
2.
Подготовка выборки данных для обучения искусственной
нейронной сети, получение синхронизированных сигналов ЭКГ и
фотоплетизмограммы
3.
Создание программного комплекса в среде MATLAB по
отображению сигналов и расчету параметров, которые в последствии будут
использованы для создания нейронной сети.
11
4.
Создание нейронной сети для получения значения давления по
пульсовой волне при помощи фрэймворков KERAS и Tensor Flow.
5.
Анализ результатов, полученных искусственной нейронной сетью.
Объектом исследования является биотехническая система, для
диагностики состояния сердца и сердечно-сосудистой системы
Предметом исследования являются сигналы электрокардиограммы и
фотоплетизмограммы, по которым можно определить параметры состояния
человека, например, определение давления при помощи разработанного
алгоритма для выделения волн и обучения искусственной нейронной сети. В
процессе работы изучены алгоритмы обнаружения QRS комплексов, spline
интерполяции,
цифровой
фильтрации,
аппроксимации
участков
биологического сигнала полиномом первого порядка.
В работе использованы методы определения QRS комплексов,
интерполяция, аппроксимация, анализ фотоплетизмограммы, выявление
параметров пульсовой волны, коррелирующих с давлением.
Результат работы: в ходе выполнения работы получен программный
комплекс по совместному анализу сигнала ЭКГ и пульсовой волны
фотоплетизмограммы, получены обработанные данные, на основании
которых была разработана искусственная нейронная сеть (ИНС).
Научная
и
практическая
значимость:
улучшение
методов
совместного анализа биологических сигналов, что поможет получать
больше информации о функциональном состоянии организма. А также
разработка метода оценки показателя давления по пульсовой волне
фотоплетизмограммы.
12
1 ОБЗОР ЛИТЕРАТУРЫ И ОЦЕНКА СОВРЕМЕННОГО
СОСТОЯНИЯ ПРОБЛЕМЫ
1.1 Электрокардиограмма. Признаки для предсказания давления
Электрокардиография – это метод регистрации и исследования
электрических потенциалов, которые генерируются мышцей сердца при его
работе. Для регистрации потенциалов достаточно двух электродов,
соединенных с положительным и отрицательным полюсами гальванометра.
1.1.1 Система отведений электрокардиограммы
Отведение – соединение двух точек тела человека, имеющих разные
потенциалы. В медицинской практике используется 12 отведений
электрокардиограммы (ЭКГ), как представлено в таблице 1.
Таблица 1 – Отведения ЭКГ
Виды отведений
Двухполюсные
Однополюсные
отведения
отведения
Отведения от
3 отведения
3 отведения
конечностей
(Эйнтховен)
(Гольдберг)
Грудные отведения
Нет
6 отведений (Вилсон)
Двухполюсные отведения являются стандартными, для регистрации
стандартных отведений используется 4 электрода, а именно красный –
правая рука, желтый – левая рука, зеленый – левая нога, черный – правая
нога. Затем между ними регистрируется разность потенциалов, этот тип
отведений исследует активность сердца во фронтальной плоскости.
Попарное подключение электродов:
I отведение – правая рука и левая рука;
II отведение – правая рука и левая нога;
III отведение – левая рука и левая нога.
13
Вместе они образуют треугольник Эйнтховена (рисунок 1). В середине
которого находится сердце, как точечный источник электродвижущей силы.
Рисунок 1 – Треугольник Эйнтховена
При смещении осей отведений, проводя их через электрический центр
сердца, можно получить трехосевую систему отведений, где каждое из них
располагается под углом в 60° (рисунок 2).
Рисунок 2 – Трехосевая система отведений
Однополюсные отведения от конечностей обозначаются следующим
образом:
aVR – отведение от правой руки;
aVL – отведение от левой руки;
aVF – отведение от правой руки.
Они регистрируют разность потенциалов во фронтальной плоскости.
14
Прекордиальные
однополюсные
отведения
регистрируют
электрические потенциалы в горизонтальной плоскости, как правило
используют 6 грудных отведений, обозначаемых символом «V»:
V1 – правый край грудины;
V2 – левый край грудины;
V3 – между электродами V2 и V4;
V4 – по левой срединно-ключичной линии;
V5 – по передней подмышечной линии на уровне V4;
V6 – по средней подмышечной линии на горизонтали V4 и V5. [1]
1.1.2 Комплекс электрокардиограммы
ЭКГ-комплекс включает в себя зубцы, сегменты и интервалы. Общий
вид ЭКГ-комплекса представлен на рисунке 3.
Рисунок 3 – ЭКГ-комплекс [1]
Зубец P отражает возбуждение предсердий, его восходящая часть
отражает деполяризацию правого предсердия, а нисходящая – левого.
Интервал P-Q (R) состоит из зубца P и сегмента P-Q, он показывает
время прохождения возбуждения по предсердиям. Сегмент P-Q и интервал
T-P принимается за уровень изоэлектрической линии, с помощью которой
определяется амплитуда зубцов комплекса.
15
QRS-комплекс или же желудочковый комплекс состоит из трех зубцов:
Q-зубец (соответствует возбуждению перегородки), R-зубец (первое
положительное
отклонение
желудочкового
комплекса)
и
S-зубец
(отрицательное отклонение желудочкового комплекса). Отрезок времени от
начала R-зубца до его вершины называется интервалом внутреннего
отклонения. Он характеризует скорость распространения возбуждения от
эндокарда к эпикарду.
Сегмент
RS-T
соответствует
периоду
полного
возбуждения
желудочков. Зубец T характеризует реполяризацию миокарда желудочков.
Интервал Q-T является электрической систолой сердца, а сегмент T-P
диастолой. [1]
1.1.3 Параметры электрокардиограммы для оценки давления.
Для предсказания давления по сигналу ЭКГ можно выделить
следующие параметры (рисунок 4).
Рисунок 4 – ЭКГ-комплекс с выделенными параметрами [2]
Длительность сегментов P, QRS, PQ, QT и амплитуды P, R, S, T –
зубцов, однако значимой корреляции с давлением у параметров P и QRSволн нет. Корреляция TA= 0.25, QT=0.32, так же величина QT имеет
хорошую корреляцию с пульсом, но в модель определения АД новой
информации не вносит, в связи с этим сигнал ЭКГ в данной работе
16
используется для синхронизации с фотоплетизмограммой (ФПГ) и
определения на ней начала пульсовой волны. [2]
1.2 Фотоплетизмограмма. Параметры для определения давления
Фотоплетизмография
является
одним
из
плетизмографических
методов оценки состояния кровотока. Эти методы необходимы для оценки
изменения объема тканей или органов в результате прохождения через них
пульсовой волны. Основным отличием ФПГ от других подобных методов
является использование оптических сенсоров для регистрации изменения
объема крови в микрососудах биологических тканей. Место формирования
волны ФПГ до сих пор доподлинно не известно, наиболее распространённая
теория свидетельствует о том, что она формируется в артериолах, там
происходит преобразование резко пульсирующего потока в более гладкое
движение эритроцитов в капиллярах.
1.2.1 Составляющие сигнала фотоплетизмограммы
В формировании сигнала ФПГ участвуют 2 составляющие:
пульсирующая (AC) – определяется механической систолой
сердца (рисунок 5);
базовая (DC) – связана с дыханием, терморегуляцией и работой
симпатической нервной системы (рисунок 5).
Рисунок 5 – Составляющие сигнала ФПГ
17
1.2.2 Регистрация сигнала фотоплетизмограммы
Регистрация сигнала возможна 2 способами, свет от источника
проходит
через
ткань
и
попадает
на
фотоприемник
или
же
нефелометрически, анализируется сигнал, отраженный от ткани. Пример
регистрации показан на рисунке 6.
Рисунок 6 – Регистрация сигнала ФПГ
Для первого способа датчик накладывается на фалангу пальца или
мочку уха, второй способ не имеет ограничений по месту крепления
датчика, он крепится с помощью адгезионного слоя на любой участок кожи.
Главным достоинством первого способа является хорошее соотношение
сигнал/шум, отличительной особенностью второго способа является
отсутствие сдавливание анализируемого участка ткани и отсутствие
ограничений по месту расположения, что является важной особенностью
при необходимости длительной регистрации сигнала.
Сигналы, полученные этими способами, могут отличаться по
амплитуде, это объясняется влиянием трансмурального давления на мелкие
резистивные артерии. Отраженный сигнал формируется в основном
артериями, расположенными поверхностно, в том время как сигнал в
первом способе проходит через все сосудистое русло по глубине.
Для регистрации сигнала обычно используется инфракрасный (ИК)
светодиод, с длинной волны 940 нм. Использование ИК света помогает
18
избежать изменения оптической плотности в результате трансформации
гемоглобина. [2]
1.2.3 Индекс перфузии. Индекс жесткости. Индекс отражения
DC составляющая определяется поглощением света кожей, тканями и
не пульсирующим объемом крови, на амплитуду DC влияет способность
депонирования крови и низкое кровеносное давление. На амплитуду AC
влияет объем пульсирующей артериальной крови.
Одним из основных параметров оценки ФПГ сигнала является индекс
перфузии (ИП), он является процентным соотношением амплитуд активной
составляющей к базовой. Благодаря ИП можно отслеживать состояние
периферического кровотока. Физиологический смысл заложенный в нем
заключается в отношении пульсирующего кровотока к статическому
объему крови в периферической ткани. Благодаря изменению значения
индекса можно отслеживать локальную вазокнстрикцию и вазоделатацию.
Величина индекса не зависит от таких физиологических параметров, как
количество сердечных сокращений, сатурация крови кислородом или
температура.
Индекс
жесткости
(SI) –
величина,
связанная
со скоростью
распространения пульсовой волны. Вычисляется SI, как отношение роста
пациента в метрах ко времени распространения пульсовой волны от нижней
части тела до места крепления датчика.
Индекс
отражения
сосудистого тонуса,
амплитуды
–
(RI)
величина,
рассчитываемая,
систолического
пика
оценивающая
как процентное
пульса
к
состояние
соотношение
диастолическому.
Для
определения временной задержки между ними используется первая
производная
исходного
сигнала
(рисунок
7).
Неоднозначное
местонахождение диастолического пика может привести к ошибкам в
определении индекса отражения.
19
Рисунок 7 – Пульсовая волна и ее первая производная
1.2.4 Анализ пульсовой волны
В
исследовании
синхронизированные
прибора
пульсовые
CardioQvark
волны
ФПГ
и
использовались
сигнал
ЭКГ
для
предсказания давления. При анализе волны выделялись аналитические и
геометрические параметры, коррелирующие с величиной давления. В
исследовании участвовали 300 волн, параметры которых рассчитывались в
отдельности, а после усреднялись. Таким образом для геометрических
параметров волны использовались медианные значения, а для спектральных
использовались среднее и дисперсия.
Геометрические признаки:
медиана периода от R-пика до точки максимального роста
пульсовой волны;
медиана периода от R-пика до точки максимального роста
пульсовой волны;
медиана периода от R-пика до пика прямой систолической волны;
медиана периода от R-пика до пика отраженной диастолической
волны;
20
медиана от R-пика до пика диастолической волны;
медиана периода между R-пиками;
медиана между пиками прямых систолических волн;
медиана периода между диастолическими пиками;
медиана амплитуды диастолических пиков;
медиана индекса перфузии
Так же информативными признаками обладают сегменты площади
пульсовой волны (рисунок 8).
Рисунок 8 – Площади информативных сегментов пульсовой волны
Использовано 5 площадей, но не все сегменты имеют высокий процент
корреляции с давлением. Так площади сегментов S2 и S3 не имеют важной
корреляции с давлением, а значения корреляции S1, S4, S5 не превышают
0.35, однако вычисления отношения площадей являются информативными,
а именно: S1/S2 – 0.41, S2/S5 – 0.43, S4/S3 – 0.51, S4/S5 – 0.44. Отношение
S2/S5 характеризует задний фронт ФПГ волны.
Спектральные характеристики рассчитывались аналогично, сначала
для отдельных кардиоциклов, затем усреднялись. Признаки разбивались на
2 группы, первая содержала дисперсии разностей натуральных логарифмов
спектральных амплитуд ЭКГ и ФПГ сигнала, а вторая значения средних и
21
дисперсий задержек от R-пика до минимума и максимума сигнала ФПГ.
[3,4]
В
другом
исследовании,
которое
провели
KengoAtomi
и
HarukiKawanaka, использовалась первая производная для выделения
значащих параметров (рисунок 9).
Рисунок 9 – Пульсовая волна и ее первая производная с маркерами
информативных участков волны
Волны «a» и «b» являются систолическими передними компонентами,
которые характеризуют волну движения давления, после выброса крови.
Волны «c» и «d» это систолические задние компоненты, отражающие волну
давления, распространяющуюся по периферии, а затем возвращалась после
отражения. Волна «e» – это диастолический компонент, означающий
периферийный кровоток после закрытия артериального клапана.
При
увеличении систолического кровяного давления, волна «а» имеет
тенденцию увеличиваться, а «b» и «e» волны наоборот уменьшаться.
Отношение каждого компонента волны к высоте волны «a» характеризует
состояние кровеносного сосуда. Например, отношение волн e/a показывает
упругость кровеносного сосуда, а артериальное давление коррелирует с
упругостью сосудов. [5]
22
1.3 Искусственная нейронная сеть. Применение нейронных сетей
для
синхронного
анализа
сигналов
электрокардиограммы
и
фотоплетизмограммы
Задачи, которые решаются с помощью искусственных нейронных
сетей, разнообразны, именно поэтому они нашли широкое применение в
самых разных областях, таких как: медицина, экономика, радиотехника и
многие другие.
Искусственные нейронные сети (ИНС) – математические модели, их
программные
и
аппаратные
реализации,
созданные
по
принципу
организации и функционирования биологических нейронных сетей.
Основное их назначение – решение задач, для которых не существует
алгоритмов решения, либо они слишком сложны. [6]
1.3.1 Модель нейронной сети
ИНС состоит из трех слоев (Рисунок 10):
входной слой (состоит из искусственных нейронов, передающих
сигнал нейронам скрытого слоя);
скрытый
слой
(состоит
из
нейронов,
обрабатывающих
информацию и передает результаты в выходной слой);
выходной слой (выводит готовый окончательный результат).
Рисунок 10 – Слои из которых состоит ИНС
23
1.3.2 Искусственный нейрон
Искусственный нейрон – сумматор входящих сигналов, применяющий
к полученной взвешенной сумме некоторую простую, нелинейную
функцию, непрерывную на всей области определения. На рисунке 11
представлена схема искусственного нейрона.
Рисунок 11 – Схема искусственного нейрона
Искусственный нейрон имеет много входов и единственный выход.
Связи между биологическими нейронами называются синапсами, они
способны усиливать или ослаблять идущий по ним сигнал, в случае
искусственных нейронных сетей эти связи называются весами, каждый вес
можно охарактеризовать определенным числом. Так сигнал, проходящий по
этой связи, умножается на ее вес. Далее сигнал, умноженный на значение
его веса, передается на сумматор, где он складывает все входящие сигналы.
В результате получается взвешенная сумма:
𝑛
𝑛𝑒𝑡 = ∑ 𝑥𝑖 𝑤𝑖
𝑖=1
Net- взвешенная сумма, 𝑥𝑖 – значение сигнала с i входа, 𝑤𝑖 – вес i связи.
Функция активации ϕ(net) – функция, которая принимает значение
взвешенной суммы, как аргумент, значение этой функции и является
выходом нейрона (out).
24
1.3.3. Функции активации нейронной сети
Рассмотрим некоторые функции активации нейронной сети, функция
единичного скачка, сигмоидальная функция и гиперболический тангенс.
Функция единичного скачка (рисунок 12), значение на выходе нейрона
принимает число 0 или 1 в зависимости от порога (b).
Рисунок 12 – Графическая интерпретация функции единичного скачка
Сигмоидальная логистическая функция (рисунок 13), значения нейрона
могут принимать число в интервале [0;1], в зависимости от степени
крутизны функции (параметр «a»).
Рисунок 13 – Сигмоидальная логистическая функция с различными
значениями параметра «a»
25
Гиперболический тангенс, значения данной активационной функции
могут принимать разные знаки (рисунок 14) и так же зависят параметра
крутизны кривой (параметр «а»).
Рисунок 14 – Функция активации гиперболический тангенс
1.3.4 Виды искусственных нейронных сетей
Однослойные нейронные сети. В сетях такого типа сигнал после
входного слоя попадает в выходной, который преобразует его и сразу
выдает ответ (рисунок 15).
Рисунок 15 – Структура однослойной нейронной сети (хn – входные
сигналы, wnm – веса, ym –выходное значение)
Многослойные нейронные сети (рисунок 16). Такие сети обладают
скрытыми слоями (слоем), расположены они между входным и выходным
26
слоями, многослойные сети обладают большим количеством возможностей
в сравнении с однослойными сетями.
Рисунок 16 – Структура многослойной ИНС с 1 скрытым слоем
Сети
прямого
распространения
–
ИНС,
сигнал
в
которых
распространяется от входного слоя к выходному, в обратном не
распространяется.
Такие
сети
хорошо
справляются
с
задачами
прогнозирования, кластеризации и распознавания.
Сети с обратными связями – ИНС, в которых возможна подача
выходного
сигнала
на
вход.
Такие
нейронные
сети
способны
восстанавливать или дополнять сигналы, имеют свойство кратковременной
памяти.
1.3.5 Обучение нейронных сетей
Обучение нейронной сети – процесс поиска набора таких весовых
коэффициентов, при котором входной сигнал после прохода сети
преобразуется в нужный выходной.
Главная способность сети – это способность обобщать признаки,
поэтому для хороших результатов необходимо большое количество
входных сигналов, для этого при обучении используется несколько типов
выборок данных.
Обучающая выборка, в ней содержатся входные сигналы, в которых
могут быть правильные выходные сигналы, по которым происходит
обучение ИНС, обычно в ней подгоняются значения веса связи.
27
Валидационная выборка используется для оценки работы архитектуры сети,
обычно в ней подгоняется количество скрытых слоев, а значения весов не
изменяются. Для оценки качества работы ИНС используется тестовая
выборка.
1.3.6 Использование нейронных сетей для предсказания давления
по сигналу электрокардиограммы и фотоплетизмограммы
Рассмотрим применение ИНС при анализе сигналов, полученных от
CardioQvark. Использовалось несколько типов сетей, для обучение каждой
выделялись сигналы четырех пациентов, после работа сети тестировалась
на пятом. Самые лучшие результаты были полученный сетью LeNet,
рассмотрим ее архитектуру.
LeNet – сеть со смешанной архитектурой, а именно чередование
сверточных слоев и max-pooling слоев. Особенностью сверточных
нейронных сетей является соединение каждого нейрона только с
«соседним» нейроном предыдущего слоя. Max-pooling layer – слой, который
разбивается не несколько непересекающихся блоков и для каждого из
блоков выбирается максимальное значение. На рисунке 17 представлены
результаты работы LeNet.
Рисунок 17 – Результаты предсказания давления сетью LeNet
28
В исследовании использовалось разное количество параметров, при
использовании 2-3 параметров для обучения сети требуется 10-15 записей
от пациента, коэффициент корреляции составляет 0.73. При увеличении
количества параметров для стабильных результатов требуется больше
записей от одного пациента, примерно 40 записей. При дальнейшем
увеличении числа параметров, число записей для обучения так же
увеличивается. Поэтому основной задачей при обучении сети использовать
минимальное число параметров с максимальной информативностью.
1. 4 Датчик MAX30102
MAX30102 – это интегрированный модуль для измерения сатурации
крови кислородом и значения пульса. В его состав входят внутренние
светодиоды, фотоприемники и электронику, подавляющую окружающий
свет, с низким коэффициентом шума. Для питания используется 2
источника, 1.8 В и 5.0 В для внутренних светодиодов. Связь осуществляется
через
I2C-интерфейс.
MAX30102
представляет
собой
комплексное
системное решение, которое предназначено для мобильных и носимых
устройств.
Основные преимущества модуля:
использует тип датчика, который анализирует отраженный свет от
поверхности биологической ткани;
маленький оптический модуль с встроенным защитным стеклом
для надежной работы;
работа на сверхнизком энергопотреблении для мобильных
устройств;
высокая скорость вывода данных;
устойчивость к артефактам при движении;
высокое отношение сигнал/шум (SNR);
широкий диапазон рабочих температур, от -40 °C до +85 °C.
29
1.4.1 Эксплуатационные характеристики модуля
Ниже буду рассмотрены такие эксплуатационные характеристики
MAX30102 при температуре окружающей среды равно +25 °C, такие как:
вольтамперная характеристика (рисунок 18), спектральная характеристика
(рисунок 19), график зависимости квантовой эффективности фотодиода от
длины волны (рисунок 20). [7]
Рисунок 18 – Вольтамперная характеристика для красного и ИК
светодиода
Рисунок 19 – Спектральная характеристика красного и ИК светодиода
30
Рисунок 20 - График зависимости квантовой эффективности
фотодиода от длины волны
1.4.2 Расположение ножек MAX30102
Ниже на рисунке 21 представлено расположение pin на корпусе
MAX30102 и далее их описание в таблице 2.
Рисунок 21 – Расположение ножек MAX30102
Таблица 2 – Описание Pin MAX30102
№
Название
Функция
N.С.
Нет соединения, соединение с платой PCB
Ножки
1, 7, 8 ,
14
31
Продолжение таблицы 2 – Описание Pin MAX30102
№
Название
Функция
2
SCL
I2C тактовый вход
3
SDA
Данные I2C, Двунаправленный (Open-Drain)
4
PGND
Заземление светодиодных блоков
5
R_DRV
Драйвер красного светодиода
6
IR_DRV
Драйвер инфракрасного светодиода
9
𝑉𝐿𝐸𝐷+
Источник питания светодиодов (анодное
10
𝑉𝐿𝐸𝐷+
соединение)
11
𝑉𝐷𝐷
Аналоговый вход источника питания
12
GND
Аналоговое заземление
13
INT
Active-low interrupt
Ножки
1.4.3 Подробное описание MAX30102
Данный датчик хорошо интегрируется в носимые системы для
постоянного или периодического обследования пациента, сигналы,
используемые в данной работе, были получены от этого MAX30102.
Устройство имеет очень маленький размер без ущерба для оптических или
электрических характеристик. Так же возможна полная настройка с
помощью программных регистров, цифровые данные могут хранится в 32разрядном канале FIFO. FIFO позволяет датчику подключиться к
микроконтроллеру или процессору на общей шине, где данные не
считываются непрерывно.
MAX30102 содержит подсистему для определения уровня сатурации
крови кислородом, для этого он снабжен систему подавления окружающего
32
света (ALC), сигма-дельта АЦП с непрерывным временем и собственный
фильтр дискретного времени. АЦП имеет программируемый диапазон
полной шкалы, от 2мкА до 16мкА. Скорость передачи данных АЦП
составляет от 50 выборок в секунду до 3200. Частота дискретизации АЦП
равна 10.24 МГц.
В MAX30102 интегрированы драйверы красного и инфракрасного
светодиодов для создания световых импульсов для измерения уровня
сатурации
и
частоты
сердечных
сокращений.
Ток
светодиода
программируется в диапазоне от 0 до 50 мА.
Функция сближения, предназначенная для экономии энергии и
уменьшения излучения видимого света, когда палец пациента находится не
на датчике. При активации режима SaO2 и HR (регистрация пульса) ИКсветодиод активируется в режиме приближения с током привода,
установленным регистром. При обнаружении объекта, превышающего
пороговое значение счета IR-ADC (указанного в регистре), детектор
автоматически переходит в обычный режим SpO2 / HR. Для повторного
входа в режим аппроксимации регистр режима должен быть переписан
(даже если значение совпадает). [7]
1.5 Вывод
В данной главе рассмотрено современное состояние вопроса и сделан
обзор на основную литературу по данной теме, а также выбраны подходы к
обработке сигнала ЭКГ и фотоплетизмограммы. В следующей главе будут
рассмотрены методы обработки сигналов и их применение в работе.
33
2 МЕТОДОЛОГИЯ
2.1 Цифровая фильтрация
Во время снятия сигнала ЭКГ с тела человека регистрируется не только
электрическая активность сердца, но и все электрические процессы,
которые возникают между наложенными электродами, например, работа
дыхательных мышц, движение скелетной мускулатуры и потенциалы от
работающих электроприборов, то есть сетевая наводка. Для устранения всех
этих помех применяется цифровая фильтрация.
В данной работе используются сигналы, полученные от портативного
прибора регистрации ЭКГ и фотоплетизмограммы CardioQvark, который
использует датчик MAX30102, сигналы получены в формате wav-файлов. С
маркерами «patient ID.100» для сигналов ЭКГ и «patient ID.200» для сигнала
фотоплетизмограммы. Для полученных сигналов требуется цифровая
фильтрация для устранения шумов и сетевой наводки. Так же для
использования информативной первой производной требуется особый
подход к фильтрации.
2.1.1 Виды фильтров, используемых для биологических сигналов
При фильтрации сигналов ЭКГ и ФПГ используются различные
фильтры. Рассмотрим некоторые из них:
не рекурсивные фильтры – фильтр с конечной импульсной
характеристикой (рисунок 22);
рекурсивный фильтр – фильтр с бесконечной импульсной
характеристикой (рисунок 23);
адаптивный фильтр.
Для борьбы с миографическими шумами используется ФНЧ,
ограничивающий сигнал до 60 Гц. Так же используется режекторный
фильтр для устранения сетевой наводки в 50 Гц для российских сетей или
34
60 Гц для иностранных. При обработке биологических сигналов важно,
чтобы фазочастотная характеристика фильтра была линейной, а при
возможности нулевой.
Рисунок 22 – Блок схема КИХ фильтра
Z – элемент задержки, который может быть регистром, хранящим в
себе
1
отсчет
арифметическое
сигнала.
Треугольник
–
элемент
выполняющий
умножение. Окружность – элемент выполняющий
арифметическое сложение.
Рисунок 23 – Блок-схема БИХ фильтра
35
Если информация о частотном составе шума не известна, в таких
случаях применяется адаптивная фильтрация (рисунок 24).
Рисунок 24 – Блок-схема адаптивного фильтра
Сигнал dt в таком случае представляет сумму полезного сигнала s(t) и
шума n(t), а u(t) это сигнал, связанный с шумом. Данный фильтр ищет
составляющие сигнала, которые коррелируют с шумом и адаптирует свои
параметры исходя из входного сигнала. На выходе фильтра получается
величина y(t) характеризующая корреляцию с шумом, тогда 𝑠1 = 𝑑(𝑡) −
𝑦(𝑡) это оценка сигнала, который с шумом не связан. В сравнении с БИХ и
КИХ фильтрами, адаптивный имеет большую эффективность и гибкость.
При фильтрации биологические сигналы изменяются, в результате чего
может быть поставлен неверный диагноз, либо сигнал может потерять свою
информативную часть. Так фильтрация может влиять на амплитуду Rзубца, вызывать изменение ST-T сегмента, что делает его похожим
ишемический. В сигнале ФПГ после фильтрации может пропадать
диастолический пик, который важен при анализе пульсовой волны.
2.1.2 Цифровая фильтрация, использованная в работе
В
данном
исследовании
для
создания
цифрового
фильтра
использовалась программная среда MATLAB и его встроенное приложение
Filter Designer. Был создан БИХ фильтр Баттерворта 2 порядка с частотой
среза 18 Гц. На рисунке 25 представлена амплитудно-частотная
36
характеристика фильтра, на рисунке 26 показана его фазочастотная
характеристика.
Рисунок 25 – АЧХ созданного фильтра
Рисунок 26 – ФЧХ созданного фильтра
Для компенсации фазового сдвига, который вносится при фильтрации,
была использована функция filtfilt. Эта функция используется для
двунаправленной фильтрации, первая фильтрация осуществляется обычно,
а затем полученный сигнал фильтруется во второй раз, теперь от конца к
началу.
Такой
подход
позволяет
устранить
фазовые
сдвиги,
а
результирующий порядок возрастает в 2 раза.
Для устранения сетевой помехи сигнал был прорежен до 50 Гц, тем
самым убираю сетевую наводку. Для этого использовалась функция
downsample, уменьшающая частоту дискретизации сигнала в n раз.
37
Исходная частота была равна 1000 Гц, поэтому значение n для downsample
было выбрано равным 20.
2.2 Использование производной для анализа биологических
сигналов в работе
2.2.1 Взятие первой производной сигнала электрокардиограммы
Производная – это скорость изменения функции. Использование
первой производной сигнала ЭКГ помогает определить точки перегиба,
которые
соответствуют
точке
максимальной
амплитуды
первой
производной, определить эти точки без производной невозможно. Точки
перегиба – это критерий, характеризующий энергетическое изменение
сокращения мышц. Для ЭКГ достаточно взять только первую производную,
так как ее максимумы и минимумы предоставляют информацию о
изменении энергии сокращения мышц. На рисунке 27 представлены
исходный сигнал и первая производная от сигнала ЭКГ.
Рисунок 27 – Исходный сигнал ЭКГ (верхний график) и его первая
производная (нижний график)
Так же использование первой производной используется в детекторе
QRS-комплексов алгоритмом Пана и Томпкинса, в котором используется
пороговое значение для детектирования комплексов, и в других методах
обнаружения.
38
2.2.2 Использование производных для анализа пульсовой волны
При анализе фотоплетизмограммы используется не только ее первая
производная, дальнейшее дифференцирование сигнала так же дает
информацию о пульсовой волне. В основном первая производная
используется для нахождения диастолического пика волны, но алгоритм
пригоден только для тех волн, где дикротический зубец хорошо выражен и
на исходном сигнале. Использование второй производной дает реперные
точки, благодаря которым можно определить сосудистый возраст
(рисунок 28). [5]
Рисунок 28 – График пульсовой волны и ее второй производной с
выделенными на ней реперными точками
Так же возможно использование четвертой производной для анализа
волны и выделение таких точек как:
начало комплекса (T0);
максимум ранней систолической волны (T1);
максимум поздней систолической волны (T2);
39
момент захлопывания артериального клапана, конец систолы
(END).
Разделение пульсовой волны на составляющие, раннюю и позднюю
систолическую волну характерно для метода аппланационной тонометрии.
Затем производится анализ временных и частотных составляющих каждой
из выделенных волн. Пример анализа волны и ее 4 производной приведены
на рисунке 29.
Рисунок 29 – Исходный сигнал (нижний график) и его 4 производная
(верхний график) с выделенными особых точек
2.2.3 Использование производных от сигналов в работе
В работе используются первые производные от сигналов ЭКГ и ФПГ,
для этого использована функция diff. Производная сигнала ЭКГ
используется для однозначного выделения QRS комплексов и в дальнейшем
используется в QRS детекторе. Первая производная пульсовых волн
используется для определения точек максимального наклона, которые
соответствуют пиковым значениям производной, для их нахождения была
использована функция findpeaks, в результате работы которой получены
координаты нахождения пиков производной в 2 массива locs и peaks. В
40
дальнейшем
найденные
точки
используются
для
построения
полиномиальных прямых для проведения spline-интерполяции и удаление
дрейфа нулевой линии в сигнале.
2.3 QRS детектор и синхронизация сигнала электрокардиограммы
с сигналом фотоплетизмограммы
QRS-комплекс, а именно R-зубец, является началом для пульсовой
волны, поэтому для синхронизированного анализа сигнала ЭКГ и ФПГ
хорошо подходят QRS-комплексы, благодаря которым можно отдельно
выделять каждую волну и анализировать ее в интервале одного
кардиоцикла.
2.3.1 Способы обнаружения QRS комплексов
Наиболее популярные способы обнаружения QRS-комплексов, а
именно:
метод основанный на производной;
метод Пана-Томпкинса;
вэйвлет преобразование.
Метод, который используется в работе, это метод Пана-Томпкинса.
QRS-комплекс характеризуется высочайшим значением крутизны наклона
сигнала из всего сердечного цикла, из-за быстрого проведения и
деполяризации желудочков. При использовании первой производной на
месте QRS-комплекса образуется всплеск, используя команду abs можно
вернуть массив абсолютных значений от графика производной и по нему
легко можно детектировать комплексы, при применении порога и
установлении зоны
нечувствительности,
благодаря
которой
можно
избежать ложного детектирования комплекса. При использовании только
первой производной, без порогового значения, сигналу требуется
достаточная обработка, сглаживание. Минусом данного алгоритма является
41
неавтоматическая подстройка зоны нечувствительности, при зашумлённом
сигнале ЭКГ всплески на сигнале производной могут быть расположены
слишком близко друг к другу из-за чего может происходить ложное
детектирование комплекса, что в последствии может стать серьезной
проблемой при определении начала пульсовой волны для отдельного
анализа каждой из волн. На рисунке 30 представлен сигнал ЭКГ, его
производная и график абсолютных значений производной, по которому
детектируется положение QRS комплексов, благодаря пороговой линии,
если хотя бы 6 из 8 точек проходят проверку порогом, то участок считается
частью QRS-комплекса и отмечается пунктирной линией на сигнале ФПГ
как начало пульсовой волны.
Рисунок 30 – Пример работы QRS детектора (верхний график – сигнал
ЭКГ, средний график – первая производная исходного сигнала, нижний,
график абсолютных значений первой производной)
Другие
алгоритмы
обнаружения
комплексов,
рассмотрим
использование непрерывного wavelet-преобразования для детектирования
важных точек в кардиосигнале, таких как: T-зубец, QRS-комплекс и
P- зубец. Имеется такой подход с использованием wavelet «bior1.5»,
представленный на рисунке 31.
42
Рисунок 31 – Wavelet «bior1.5»
Масштаб 15 используется для обнаружения QRS-комплексов, а для
зубцов используется масштаб 41. Алгоритм: выбираются две пары
коэффициентов, которые пересекают отметку 0, между каждой из них лежит
локальный минимум или максимум, тогда первый wavelet-коэффициент
будет началом, средний – пиком, а третий – смещением. Недостатком
данного алгоритма является его низкое быстродействие.
2.4 Spline-интерполяция
Поскольку сигнал ФПГ имеет сильное плаванье нулевой линии, что в
последствии затруднит анализ, сигнал был подвержен интерполяции, для
того чтобы выставить сигнал на линию нуля.
2.4.1 Интерполяция и ее основные виды.
Интерполяция – это процесс нахождения промежуточных значений
функции,
по
отсутствующих
определенным
частей
данным,
сигнала
по
ее
применяют
специальным
интерполяции. Рассмотрим некоторые виды интерполяции:
линейная интерполяция;
интерполяционные полиномы;
43
воссоздания
точкам,
узлам
интерполяция сплайнами.
Алгоритм
интерполяции
определяется
тем,
как
считаются
приближенные значения, которые находятся между узлами интерполяции.
Самым простым методом определения промежуточных значений является
построение прямой линии между узловыми точками, именно это и
называется линейной интерполяцией (рисунок 32).
Рисунок 32 – Пример линейной интерполяции
Так же можно использовать различные интерполяционные полиномы,
такие как:
канонический полином;
полином Лагранжа;
полином Ньютона.
Для
работы
с
биологическими
сигналами
хорошо
подходит
интерполяция при помощи сплайнов. Сплайн – это группа кубических
многочленов. Пример интерполяции сплайнами приведен на рисунке 33.
44
Рисунок 33 – Применение сплайн интерполяции в MATLAB
2.4.2 Нахождение узлов интерполяции
Для любой интерполяции необходимо надежной найти ее узлы. Для
пульсовых волн в качестве узлов удобно брать минимальные точки волн,
как представлено на рисунке 34.
Рисунок 34 – Пример узлов интерполяции на пульсовой волне
В качестве алгоритма нахождения этих узлов был использован метод
построения полиномиальных прямых первого порядка, пересечение
которых дает координаты минимумов пульсовой волны по оси абсцисс.
Строилось 2 полиномиальных прямых, как показано на рисунке 35.
Рисунок 35 – Пример построение полиномиальных прямых и
нахождения индекса минимума волны
45
Полиномиальные прямые аппроксимировали передний фронт и задний
фронт волны. Для построения полинома, аппроксимирующего задний
фронт волны, использовалось значение размаха волны, затем бралось
значение волны 50 % от размаха и значение размаха равное 10 % от общего,
после чего этот участок между 50 % и 10 % аппроксимировался полиномом
первого
порядка.
Для
переднего
фронта
использовалась
точка
максимального наклона фронта, определялась она по пику производной
взятой от волны, далее брались 4 соседних точки и аппроксимировались еще
одним полиномом.
Рисунок 36 – Определение участка аппроксимации для заднего
фронта, где R –размах волны.
Рисунок 37 – Определение участка аппроксимации для переднего
фронта, от точки максимального наклона в обе стороны берутся по 2
дополнительные точки.
46
Рисунок 38 – нахождение пиков производной (точек максимального
наклона на сигнале ФПГ) при помощи функции findpeaks
Для нахождения минимума волны необходимо решить систему
линейных уравнений полученных прямых, после чего определяются точки
пересечения построенных прямых. Найдя узлы интерполяции строится
spline, для выставления сигнала на нулевую линию необходимо вычесть
построенный spline из исходного сигнала.
Рисунок 39 – сплайн, полученный в результате работы
2.5 Применение корреляционного анализа для анализа сигнала
фотоплетизмограммы
2.5.1 Понятие корреляционного анализа
Корреляционный анализ – это метод обработки данных, благодаря
которому можно изучить взаимосвязь между переменными.
Для
обработки
биологических
данных
широко
используется
коэффициент взаимной корреляции, рассчитываемый по данной формуле:
47
𝑁−1
𝑅𝑥𝑦
1
=
∑ 𝑥(𝑛) ∗ 𝑦(𝑛)
𝑁𝜎𝑥 𝜎𝑦
𝑛=0
Где x(n) и y(n) есть частоты дискретных сигналов, N есть число
отсчетов сигналов, а 𝜎𝑥 𝜎𝑦 есть среднеквадратичные отклонения сигналов.
Полученный коэффициент находится в диапазоне [-1;1]. Чем ближе
коэффициент к 1, тем выше линейная связь между сигналами. Для
визуализации данных часто используется корреляционная матрица.
2.5.2 Корреляционный анализ в работе
Для использования пульсовых волн в обучении нейронной сети
необходимо, чтобы волны имели высокую корреляцию. Для достижения
этого была
использована
функция
в
MATLAB corrcoef,
которая
рассчитывает коэффициент взаимной корреляции между волнами. Далее
строилась корреляционная матрица, пороговый коэффициент корреляции
был выбран равным 0.85. Если значение превышало порог, то ячейка
матрицы окрашивалась в белый цвет, если порог не был пройден, то ячейка
матрицы окрашивалась в черный цвет. Наглядная визуализация позволяет
легко определить волны,
коррелирующие
между собой,
и затем
использовать их для обучения искусственной нейронной сети.
На рисунке 40 представлен пример корреляционной матрицы,
полученной в результате работы. По каждой из осей находятся индексы
волн, волны выделялись от узла интерполяции плюс следующие 0.5 секунды
от волны.
48
Рисунок 40 – Корреляционная матрица для 160 волн в сигнале
2.6 Вывод
В данной главе рассмотрены методы, которые применялись для
обработки сигнала, такие как: цифровая фильтрация, дифференцирование
сигнала, QRS-детектор, spline интерполяция и корреляционный анализ. Так
же рассмотрены другие методы возможные для обработки сигнала и дано
объяснение, почему они не применяются в работе. В следующей главе будет
показан разработанный программный комплекс и результаты его работы,
также будут рассмотрены результаты, полученные от искусственной
нейронной сети для предсказания давления по сигналу пульсовой волны и
ее первой производной.
49
3 РЕЗУЛЬТАТЫ РАЗАБОТКИ ПРОГРАММНОГО
КОМПЛЕКСА
3.1
Программный
комплекс
для
обработки
сигнала
электрокардиограммы и фотоплетизмограммы в среде MATLAB
В результате данной работы был получен программный комплекс для
обработки сигнала ЭКГ и фотоплетизмограммы. Ниже приведены окна
результатов работы комплекса на рисунках 41-44.
Рисунок 41 – Окно разработанного программного комплекса,
демонстрирующее: сигнал ЭКГ, первая производная сигнала ЭКГ, график
абсолютных значений первой производной ЭКГ, сигнал ФПГ, первая
производная сигнала ФПГ
Рисунок 42 – первые 10 секунд сигнала ФПГ (2 график), пунктирной
линией обозначено начало пульсовой волны
50
Поскольку
в
дальнейшем
сигнал
фотоплетизмограммы
будет
использоваться для обучения искусственной нейронной сети, необходимо
чтобы он имел минимальное количество шумов и искажений. Как можно
видеть по рисункам выше, исходный сигнал имеет сильное «плаванье»
нулевой линии. Чтобы исправить это, была проведена spline-интерполяция,
ее результаты приведены на рисунках 43 и 44.
Рисунок 43 – Окно программного комплекса, демонстрирующего
исходный, сигнал с выделенными на нем узлами интерполяции,
полученный сплайн по узлам и сигнал после вычитания сплайна.
Рисунок 44 – Интерполяция для первых 500 отсчетов (10 секунд)
сигнала
51
Алгоритм нахождения узлов интерполяции был описан в главе 2, как
можно заметить сигнал после интерполяции больше не имеет «плаванья»
нулевой линии и имеет минимальное количество помех и искажений. Для
того, чтобы для обучения использовать только информативные волны, то
есть те, которые имеют высокую функцию связи с другими, была построена
корреляционная матрица сигнала. Это необходимо, чтобы выбрать для
обучения нейронной сети волны похожие друг на друга, и убрать из сигнала
аномальные. Для выделения волн использовался следующий методы
выделения: использовались узлы интерполяция, которые являются точками
минимума в пульсовой волне, как точка старта, далее от точки старта
бралось еще 0.5 секунды от точки старта или же 25 отсчетов, обычно волна
занимает порядка секунды или 50 отсчетов. Матрица представлена на
рисунке 45.
Рисунок 45 – Корреляционная матрица, белые ячейки – коэффициент
корреляции выше 0.85, черные ячейки – коэффициент корреляции
меньше 0.85
3.2 Отбор записей для нейронной сети
Для обучения нейронной сети требуется большое количество записей
от пациентов, используя базу данных Cardio Research, были получены
52
данные от различных пациентов. В этой работе нейронная сеть будет
обучаться и тестироваться только на 1 пациенте, от него было получено 24
записи, все использованы в работе. Было принято решение использовать
волны фотоплетизмограммы и ее первую производную для предсказания
давления пациента. Ниже приведена таблица 3, в которой показано как
выглядят исходные данные.
Таблица 3 – Формат исходных данных от пациента 7488
Номер записи
Сигнал
Значение
давления
98960
98960-200.wav
121/74
99160
99160-200.wav
135/81
100930
100930-200.wav
132/80
101161
101161-200.wav
132/81
102038
102038-200.wav
145/84
102415
102415-200.wav
121/90
102749
102749-200.wav
110/74
103224
103224-200.wav
122/75
104858
104858-200.wav
132/82
В сеть данные подаются в формате mat-файлов, как 4 массива. Первый
массив – это Train_data.mat, в котором содержатся выделенные волны для
обучения нейронной сети, второй массив – это Train_targets.mat, массив в
котором содержатся цели, то есть показатели давления для каждой из
записей, третий массив – это Test_data.mat, в нем содержатся сигналы для
валидации, проверки работы нейронной сети и четвертый массив –
Test_targets.mat в нем находятся показатели давления для валидационной
выборки.
Поскольку пациенты измеряли давление после регистрации сигналов
фотоплетизмограммы и ЭКГ, волны выбирались из последней трети
53
сигнала, для того чтобы добиться максимальной корреляции между
давлением и пульсовыми волнами, ведь давление в процессе регистрации
могло изменяться.
3.3 Нейронная сеть, созданная на базе библиотеки Keras
Данный framework был разработан на базе языка программирования
Python, поэтому в качестве IDE был выбран PyCharm из-за своего удобства
и широкого спектра возможностей.
Поскольку точных параметров пульсовой волны, коррелирующих с
давлением, нет, на вход сети подаются сигналы и цели, а сеть сама находит
параметры, по которым будет находить давление. Такой способ очень
хорош, когда доподлинно неизвестна информативность параметров, по
которым сеть будет обучаться, одна для этого сигнал должен иметь
хорошую предварительную обработку, для чего и был разработан
программный комплекс в среде MATLAB.
Для целей данной работы, а именно определение давления по
пульсовой волне, хорошо подойдет искусственная одномерная сверточная
нейронная сеть. Она состоит из слоев Conv1D и MaxPooling1D. Данная сеть
разбивает входной сигнал на небольшие участки и анализирует их по
отдельности, а потом ищет корреляцию этих участков с другими частями
входного сигнала, а затем объединяет всю полученную информацию в
MaxPooling слоях, с каждым сверточным слоем, анализируемые участки
становятся меньше. Количество участков, на которые разбивается сигнал,
зависит от параметра filters в слое Conv1D, в работе использовано 64
входных фильтра.
Ниже на рисунке 46 приведена архитектура сети, используемой в
работе.
54
Рисунок 46 – Архитектура сети, используемой в работе
Как можно видеть по рисунку выше, сеть состоит из трех слоев, двух
сверточных и одного выходного слоя, без функции активации, данный слой
содержит 2 нейрона, чтобы выдавать 2 значения давления, функция
активации не используется, чтобы не ограничивать выходное значение сети.
Сеть тренируется на 20 записях и затем тестируется на валидационной
выборке, которая никак не принимала участия в обучении, валидационная
выборка состоит из четырех записей.
3.4 Результаты работы сети с выборкой из пульсовых волн
Сигнал был протестирован на 10, 100 и 1000 эпохах с параметром
batch_size равным 4. Ниже приведены рисунки 47-49, демонстрирующие
результаты. Для оценки качества работы сети использована метрика mean
absolute error. Для оценки функции потерь использована mean square error.
55
Рисунок 47 – Результаты для первых 14 эпох
Исходя из рисунка выше, можно увидеть, что наилучшее значение сеть
получает на одиннадцатой эпохе на валидационной выборке, там значение
mean absolute error = 8.8, то есть сеть предсказывает давление со средней
ошибкой в 9 единиц.
Для визуализации данных были построены графики изменения
функции потерь и метрики на 100 эпохах, значения берутся с шагом в 5 эпох,
для каждой из выборок, тренировочной и тестовой. По оси абсцисс
располагается ось эпох, по оси ординат находятся значения метрики.
Метрика сети для валидациинной выборки
Средняя абсолютная ошибка
30
25
20
15
10
5
0
5
10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Номер эпохи
Рисунок 48 – График метрики сети для валидационной выборки
56
Метрика сети для тренировочной выборки
Средняя абсолютная ошибка
45
40
35
30
25
20
15
10
5
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95 100
Номер эпохи
Рисунок 49 – График метрики сети для тренировочной выборки
Анализируя полученный графики видно, что на тренировочной
выборке после двадцатой эпохи значение средней абсолютной ошибки
остается неизменным, а именно имеет значение 17. На валидационной
выборке ошибка ниже, возможно это связно с тем, что выборка для
валидации в несколько раз меньше, чем обучаемая.
Для оценки работы сети использовалась тестовая выборка, состоящая
из 4 сигналов, эта выборка не участвовала в обучении или валидации сети.
Для этого была использована функция evaluate. Полученные результаты
представлены на рисунке 50.
Рисунок 50 – Значение функции потерь и средней абсолютной
ошибки, соответственно при использовании функции evaluation
3.5 Результаты работы сети с выборкой, состоящей из первой
производной от пульсовой волны
В работе была исследована корреляция первой производной от сигнала
фотоплетизмограммы и давления пациента. Для этого волны выделялись по
57
тому же принципу, от точек минимума волны и последующие 0.5 секунд
(25 отсчетов) от волны. Использовался тот же тип сети. Ниже приведены
рисунки полученных результатов (рисунки 51-53).
Рисунок 51 – Результаты для первых 11 эпох
Рисунок 52 - Результат, полученный на тестовой выборке, с помощью
функции evaluation, значение функции потерь и средней абсолютной
ошибки, соответственно
При анализе графиков ниже, можно сделать вывод, что определение
давления по одному сигналу производной, не так эффективно, тренировка
сети после двадцатой эпохи не дает значительных улучшений, но тенденция
к улучшению сохраняется.
Средняя абсолютная ошибка
Метрика сети для валидациинной выборки
60
50
40
30
20
10
0
5
10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Номер эпохи
Рисунок 53 – Метрика для валидационной выборки
58
Метрика сети для тренировочной выборки
Средняя абсолютная ошибка
70
60
50
40
30
20
10
0
5
10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Номер эпохи
Рисунок 54 – Метрика для тренировочной выборки
Исходя из всего, можно сделать вывод, что отдельное использование
первой производной сигнала фотоплетизмограммы для предсказания
давления не эффективно, в следующем разделе будет рассмотрено их
совместное использование.
3.6 Результаты работы сети с выборкой, состоящей из сигнала
фотоплетизмограммы и ее первой производной
В работе исследовалась возможность предсказания давления по
сигналу ФПГ и по ее первой производной, однако результат оказался хуже,
чем при использовании только пульсовой волны, однако он выше, чем при
использовании только первой производной. Ниже приведены рисунки
результатов работы ИНС, а также графики изменения mean absolute error для
валидационной выборки и тренировочной. В данном случае к десятой эпохе
значение ошибки опускается до 20 и затем спустя 80 эпох опускается до
значения 15, средняя абсолютная ошибка на тестовой выборке, не
участвующей в обучении или валидации представлена на рисунке 52.
Значение ошибки на валидационной выборке имеет незначительные
колебания.
59
Рисунок 55– Результаты работы сети с 4 по 15 эпоху
Рисунок 56 – Результат, полученный на тестовой выборке, с помощью
функции evaluation, значение функции потерь и средней абсолютной
ошибки, соответственно
Средняя абсолютная ошибка
Метрика сети для валидациинной выборки
30
25
20
15
10
5
0
5
10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Номер эпохи
Рисунок 57 – Метрика для валидационной выборки
60
Средняя абсолютная ошибка
Метрика сети для тренировочной выборки
35
30
25
20
15
10
5
0
5
10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Номер эпохи
Рисунок 58 – Метрика для тренировочной выборки
3.7 Вывод
В данной главе рассмотрены результаты работы, разработанный
программный
комплекс
для
обработки
сигналов
ЭКГ
и
фотоплетизмограммы. Так же был проведен анализ связи пульсовых волн и
их первой производной с давлением пациента, получены результаты,
результаты на валидационной выборке получились лучше, чем на
тренируемой, однако для объективной оценки требуется большее
количество записей для каждого пациента. Первая производная показала
результаты хуже, на валидационной выборке средняя абсолютная ошибка
нестабильна, а на тренировочной линейно уменьшается. Выборка,
состоящая из сигнала и его производной, не улучшила результат, однако
возможно это связано с неправильным подходом к использованию
производной, стоит использовать 2 сверточной сети для раздельного
анализа каждого из сигналов и после объединить их.
61
4 БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ
4.1 Условия применения программного обеспечения
Комплекс, описываемый в этой работе, предназначен для синхронного
анализа сигналов ЭКГ и фотоплетизмограммы пациента дистанционно,
посредством мобильного телефона, с помощью которого врач-кардиолог
получает сигналы, а затем при помощи разработанного ПО анализирует на
ЭВМ.
Анализ
данных
проходит
в
кабинете
врача.
Помещение,
оборудованное ЭВМ, относится к помещениям повышенной опасности, в
которых возможно поражение электрическим током, не категорированное в
соответствие с Техническим регламентом о требованиях пожарной
безопасности по взрывопожарной безопасности и пожарной опасности, хотя
там
находятся
Взаимодействие
эфир,
с
хлорэтил,
циклопропан
и
т.
д.,
кислород.
программным
комплексом
производится
одним
человеком и не определено по времени, зависит от состояния пациента.
Условия работы с компьютерной техникой должны соответствовать
санитарным нормам, которые устанавливают гигиенические требования к
ПВЭМ, организации работы и другим действующим нормативным
документам. [8]
4.2 Требования к интерфейсу программного обеспечения
Разработанный комплекс для синхронного анализа сигналов ЭКГ и
фотоплетизмограммы, реализованный в среде MATLAB и Python имеет
интерфейс, созданный в соответствии с ГОСТ Р ИСО 9241–1–2007
Эргономические
требования
к
проведению
офисных
работ
с
использованием видео дисплейных терминалов, ГОСТ Р ИСО 13406–1–
2007 Эргономические требования к проведению офисных работ с
использованием плоскопанельных терминалов. Часть 1, ГОСТ Р 52324–2005
(ИСО 13406–2:2001) Эргономические требования к работе с визуальными
62
дисплеями, основанными на плоских панелях. Часть 2. Эргономические
требования к дисплеям с плоскими панелями.
Согласно ИСО 9241-12 информация, предоставляемая в ПО должна
обладать следующими характеристиками:
четкость;
различимость;
краткость;
разделение информационных блоков;
читаемость.
Также в разработанной программе соблюдены «принципы диалога»
между пользователем и ПО, регламентируемые в данном документе:
контролируемость;
пригодность для индивидуализации (возможность настройки);
пригодность для обучения.
Поскольку программное обеспечение требует постоянной зрительной
нагрузки и повышенный уровень внимания, необходимо делать перерывы
по 15-20 минут каждый час работы. Во время перерывов рекомендуется
провести зрительную гимнастику и упражнения для улучшения мозгового
кровообращения. [9, 10, 11]
4.3 Опасные и вредные факторы при работе с программным
обеспечением
Физически вредные и опасные факторы по ГОСТ 12.0.003-2015:
повышенный уровень электромагнитного излучения;
повышенный
уровень
статического
электричества
запыленности рабочей зоны;
неравномерность распределения яркости в поле зрения;
чрезмерная яркость изображения.
63
и
Химически вредные и опасные факторы – повышенное содержание в
воздухе следующих веществ:
озон;
аммиак;
двуокись углерода;
фенол.
Психофизические вредные и опасные факторы:
напряжение зрения и внимания;
интеллектуальные, эмоциональные и статические нагрузки;
большие объемы информации, обрабатываемые в единицу
времени;
нерациональная организация рабочего пространства.
4.4 Пожарная безопасность в медицинских кабинетах
Согласно СП 5.13130.2009 все медицинские кабинеты должны быть
снабжены датчиками дыма и ручными пожарными извещателями для
быстрого реагирования очевидцев на проявление очага возгорания.
СП 7.13130.2013 устанавливает требование к системам вентиляции,
устройство раздельных систем вентиляции для помещений, расположенных
в разных пожарных отсеках. Камеры вентиляционных систем должны
располагаться в пожарном отсеке, защищённым системой удаления дыма.
Для частных медицинских кабинетов устанавливаются те же правила
пожарной безопасности, что и для офисов с дополнением в виде правил
безопасности работы с медицинским оборудованием.
Температура открытых поверхностей оборудования, применяемого в
медицинском кабинете не должна превышать 90 °С. Все металлические и
электропроводящие неметаллические части должны быть оборудованы
защитным заземлением.
64
Так как использование разработанной программы предполагает
использование ЭВМ, необходима система отвода избыточного количества
теплоты,
выделяемое
при
его
работе,
в
виде
вентиляции
и
кондиционирования воздуха. [12, 13]
4.5 Электробезопасность в медицинских кабинетах
При эксплуатации электрооборудования выдвигаются следующие
требования:
при
руководствоваться
техническом
использовании
правилами
паспорте
электроприбора
или
прибора,
необходимо
инструкциями,
указанными
металлические
корпуса
в
всех
электроприборов должны быть заземлены в системе IT, должны быть
организованы
регулярные
проверки
исправности
оборудования,
допускается подключение электроприборов в сеть с соответствующим ему
напряжением,
после
окончания
работы
необходимо
выключить
электроприбор из сети.
В медицинских кабинетах при подключении изделий медицинской
техники запрещается использование переходников, помещение должно
быть оборудовано достаточным количеством штепсельных розеток.
Для защиты от поражения электрическим током все металлические
части электромедицинской аппаратуры I и 0I класса должны иметь
зануление (в системе TN) или защитное заземление.
Для
того
чтобы
избежать
повреждение
проводов
запрещается:
вешать что-либо на провода;
закрашивать или белить шнуры;
закладывать провода за отопительные элементы
65
изоляции,
4.6 Организация рабочего пространства
Согласно
СанПиН
2.1.3.2630–10
помещение,
в
котором
эксплуатируется ЭВМ, должно иметь искусственный и естественный
источник освещения, значение освещения должно варьироваться в пределах
от 300 лк до 500 лк, а коэффициент пульсации не превышать 5%.
Согласно ГОСТ 12.2.032 рабочее место должно обладать следующими
характеристиками:
высота
поверхности
рабочего
кресла
должна
регулироваться в диапазоне от 400 мм до 500 мм, высота рабочего стола
должна составлять 74 см и иметь достаточный внутренний объем для
сгибания и разгибания коленей, клавиатура должна находиться в 10-15 см
от края стола, экран монитора ЭВМ должен находиться на расстоянии 600700 мм от глаз пользователя.
Для регуляции благоприятного микроклимата помещения, оно должно
быть оборудовано системой отопления, вентиляции и кондиционирования
воздуха. Отопительные приборы должны располагаться на расстоянии 100
мм от поверхности стен и иметь пространство для осмотра, ремонта и
очистки. Температура воздуха в медицинском кабинете должна составлять:
в холодное время года – 22-24 °С, в теплое время – 23-25 °С. В помещениях,
оборудованных ЭВМ, должна проводиться регулярная влажная уборка и
систематическое проветривание помещения, после часа работы ЭВМ.
[14,15]
4.7 Вывод
В данной главе рассмотрены основные требования по безопасности
жизнедеятельности к разрабатываемому ПО, разработанная программа
соответствуют всем требованиям и является безлопастной.
66
ЗАКЛЮЧЕНИЕ
Совместный анализ сигналов ЭКГ и ФПГ помогает выявить
заболевания сердечно-сосудистой системы, которые тяжело определяются
при анализе сигналов по отдельности, поэтому разработка специального ПО
для анализа и обработки сигналов дает возможность развития портативных
устройств мониторинга состояния процента. Благодаря этому можно
сократить число смертей от сердечно-сосудистых заболеваний.
Разработанный комплекс помогает обработать и проанализировать
сигнал, сделав тем самым его пригодным для обучения нейронной сети,
которая предсказывает значение давления человека, сделав модель более
точной, можно внедрить данный комплекс в медицину, это позволит людям
с проблемами со здоровьем быстро и точно узнавать свое давление в любом
месте, чтобы предотвратить критические ситуации.
67
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.
Е.А. Нестерова Основы электрокардиографии. Нормальная ЭКГ //
Кардиология 2016
2.
М.И. Стригина, Д.Б. Чайванов, Ю.А. Чудина Исследование
погрешностей данных фотоплетизмограммы для анализа вариабельности
сердечного ритма // Биомедицина № 4, 2013, C. 139–148
3.
Р. В. Исаков Разработка алгоритма оценки артериального
давления по синхронной регистрации ФПГ сигналов и сигнала ЭКГ //
Медицинский проект CardioQVARK
4.
Сенько О.В.2, Чучупал В.Я., Докукин А.А. Неинвазивное
оценивание уровня артериального давления с помощью кардиомонитора
CardioQvark // Математическая биология и биоинформатика. 2017
5.
KengoAtomi, HarukiKawanaka, Md.ShoaibBhuiyan and KojiOguri
Cuffless Blood Pressure Estimation Based on Data-Oriented Continuous Health
Monitoring System
6.
С.
Н.
Богославский
Область
применения
искусственных
нейронных сетей и перспективы их развития // Научный журнал КубГАУ,
№27(3), март 2017 года
7.
Datasheet MAX30102 High-Sensitivity Pulse Oximeter and Heart-
Rate Sensor for Wearable Health
8.
СанПиН
2.2.2/2.4.1340–03
"Гигиенические
требования
к
персональным электронно–вычислительным машинам и организации
работы»;
зарегистрировано
в
Минюсте
России
10.06.2003
г.,
регистрационный № 4673.
9.
ГОСТ Р ИСО 9241–1–2007 Эргономические требования к
проведению офисных работ с
использованием
терминалов
68
видео дисплейных
10. ГОСТ Р ИСО 13406–1–2007 Эргономические требования к
проведению
офисных
работ
с
использованием
плоскопанельных
терминалов. Часть 1
11. ГОСТ Р 52324–2005 (ИСО 13406–2:2001) Эргономические
требования к работе с визуальными дисплеями, основанными на плоских
панелях. Часть 2.
12. ГОСТ Р ИСО 9241-1-2007 Эргономические требования к
проведению
офисных
работ
с
использованием
видеодисплейных
терминалов (VDTs). Часть 1.
13. СП 5.13130.2009 Системы противопожарной защиты. Установки
пожарной сигнализации и пожаротушения автоматические. Нормы и
правила проектирования (с Изменением N 1)
14. СанПиН
требования
к
2.1.3.2630-10
организациям,
"Санитарно-эпидемиологические
осуществляющим
медицинскую
деятельность" (с изменениями на 10 июня 2016 года)
15. ГОСТ 12.2.032-78 Система стандартов безопасности труда
(ССБТ).
Рабочее
место
при
выполнении
работ
сидя.
Общие
эргономические требования
16. В. С. Белов, А. Н. Калиниченко Алгоритм определения параметров
пульсовой волны на основе синхронного анализа фотоплетизмограммы и
ЭКГ // Известия СПбГЭТУ «ЛЭТИ» № 4/2018
17. Кульминский Д.Д., Боровкова Е.И., Хорев В.С., Миронов С.А.
Разработка устройства суточного мониторинга состояния сердечнососудистой системы на основе анализа синхронизации ее ритмов
18. Крупаткин А.И. Колебания кровотока — новый диагностический
язык в исследовании микроциркуляции
19. Анисимов, А. А. Применение нейронных сетей для измерения
артериального давления / А. И. Скоробогатова, А. А. Анисимов //
Энергосбережение и эффективность в технических системах: материалы IV
69
Международной научно-технической конференции студентов, молодых
ученых и специалистов. – Тамбов: Изд-во Першина Р.В., 2017. – С. 513–514
20. Kalinichenko A. N., Motorina S. V., Uskov A. V. ECG analysis
algorithms for smartphone based cardiac monitor //Proceedings of 12th RussianGerman Conference on Biomedical Engineering. Vladimir: Vladimir State
University. – 2016. – С. 65–9
21. Wong MY-M, Poon CC-Y, Zhang Y-T. An evaluation of the cuffless
bloodpressure estimation based on pulse transit time technique: a half year
studyon normotensive subjects. Cardiovasc Eng 2009;9(no1):32–8.
22. СП 7.13130.2013 Отопление, вентиляция и кондиционирование.
Требования пожарной безопасности
70
ПРИЛОЖЕНИЕ А
Программа для предсказания давления по пульсовой волне
import keras
import numpy as np
import scipy.io
all_train_data=scipy.io.loadmat('Train_DataEVA.mat')
train_data=np.array(all_train_data['Final1'])
all_train_targets=scipy.io.loadmat('Train_targetsEVA.mat')
train_targets=np.array(all_train_targets['Targets1'])
all_test_data=scipy.io.loadmat('Validate_dataEVA.mat')
test_data=np.array(all_test_data['Final2'])
all_test_targets=scipy.io.loadmat('Validation_targetsEVA.mat')
test_targets=np.array(all_test_targets['Targets2'])
all_Eva=scipy.io.loadmat('Eva_data.mat')
eva_data=np.array(all_Eva['Final3'])
all_Eva_targets=scipy.io.loadmat('Eva_targets.mat')
eva_targets=np.array(all_Eva_targets['Targets3'])
print(len(train_data),'train sequences')
print(len(test_data),'test sequences')
print(len(train_targets),'train targets sequences')
print(len(test_targets), 'test targets sequences')
print(train_data)
print(test_targets)
Rtest_data=test_data.reshape(4,1,520)
Rtrain_data=train_data.reshape(16,1,520)
Reva_data=eva_data.reshape(4,1,520)
from keras.models import Sequential
from keras import layers
from keras.optimizers import RMSprop
model=Sequential()
model.add(layers.Conv1D(64, 1,input_shape=(1,520), activation='relu'))
model.add(layers.MaxPool1D(1))
model.add(layers.Conv1D(64, 1, activation='relu'))
model.add(layers.GlobalAveragePooling1D())
model.add(layers.Dense(2))
model.summary()
model.compile(optimizer='RMSprop',loss='mse',metrics=['mae'])
history=model.fit(Rtrain_data,
train_targets,validation_data=(Rtest_data,test_targets), epochs=100,
batch_size=4,verbose=2)
EVA=model.evaluate(Reva_data,eva_targets)
print(EVA)
71
ПРИЛОЖЕНИЕ Б
Программа для обработки сигналов ЭКГ и фотоплетизмограммы в
среде MATLAB
close all;
clear all;
[y,Fs]=audioread('91168-100.wav');
[x,Fs]=audioread('91168-200.wav');
y=detrend(y);
x=detrend(x);
x1=downsample(x,20);
y1=downsample(y,20);
N1=length(x1);
N2=length(y1);
Fd=50;
T=1/Fd;
tmaxx=N1*T;
tmaxy=N2*T;
t1=0:T:tmaxx-T;
t2=0:T:tmaxy-T;
%load
Z=load('17F.mat');
%filter
filty=filter(Z.Num,1,y1);
filtx=filtfilt(Z.Num,1,x1);
%diff
dx=diff(x1,1,1);
dxx=diff(filtx,1,1);
dxxx=diff(dxx,1,1);
dy=diff(filty,1,1);
dyy=abs(dy);
%fing peaks
figure
[peaks, locs] = findpeaks(dxx,'MinPeakHeight',2.45*10^7,'MinPeakDistance',0.5);
findpeaks(dxx,Fd,'MinPeakHeight',2.45*10^-7,'MinPeakDistance',0.5);
[peaks1, locs1] = findpeaks(filtx,Fd,'MinPeakHeight',-2*10^6,'MinPeakDistance',0.5);
%plot
figure
subplot(5,1,1);
plot(t2,filty,'R');
%xlim([0 10]);
subplot(5,1,2);
plot(t2(2:end),dy,'R');
%xlim([0 10]);
P1=subplot(5,1,3);
plot(t2(2:end),dyy,'R');
xlim([0 10]);
P2=subplot(5,1,4);
plot(t1,filtx,'B');
xlim([0 10]);
subplot(5,1,5)
plot(t1(2:end),dxx,'B');
72
xlim([0 10]);
%QRS detactor
limit=2.9*10^-4;
Xlimit(1)=0;
Xlimit(2)=tmaxy-T;
Ylimit(1:2)=limit;
axes(P1);
line(Xlimit, Ylimit);
Jmax=50;
K=0;
J=Jmax;
for i=1:N1
J=J+1;
if (dyy(i)>limit)&&(J>Jmax)
K=K+1;
QRS(K)=i;
J=0;
end
end
axes(P2);
Ylimits=get(P2,'YLim');
for i=1:K
Xlimits(1:2)=QRS(i)*T;
HLine=line(Xlimits,Ylimits);
set(HLine,'LineStyle','--')
end
%Range%poly
R1=0;
for i=1:(K-1)
m1=filtx(QRS(i):QRS(i+1));
dm1=diff(m1,1,1);
[peaksM, locsM] = findpeaks(dm1,'MinPeakHeight',1*10^7,'MinPeakDistance',10);
R1=(max(m1)-min(m1));
[~,maxIndex] = max(m1);
II=rot90(QRS(i) + (maxIndex+4) : QRS(i)+(maxIndex+7));
AA=m1(maxIndex + 5 : maxIndex+8);
Pol1(i,:)=polyfit(II,AA,1);
end
NL=length(locs);
for I=1:NL
T=rot90(locs(I) - 2:locs(I)+2);
A=filtx(locs(I) - 2:locs(I)+2);
Pol2(I,:)=polyfit(T,A,1);
end
%Matrix
PL1=length(Pol1);
PL2=length(Pol2);
for ii=1:PL1
Koef1=[ -1 Pol1(ii,1); -1 Pol2(ii,1)];
Koef2=[ -Pol1(ii,2);-Pol2(ii,2)];
DET(ii,:)=det(Koef1);
SpDots(ii,:)=Koef1\Koef2;
End
%figure
FSpDots=floor(SpDots(:,2));
ASpDots=filtx(FSpDots);
SplineSig=spline(FSpDots,ASpDots,1:9000);
TrueSig=filtx - transpose(SplineSig);
73
MAXA=max(TrueSig);
SplineSigA=TrueSig/MAXA;
figure
subplot (3,1,1)
plot(1:9000,filtx,'B', FSpDots,ASpDots, 'o');
subplot(3,1,2)
plot(t1,SplineSig,'B');
subplot(3,1,3)
plot(t1,SplineSigA,'B');
%Corr
FSpdotsTR=rot90(FSpDots);
KK=0;
for xi=1:length(FSpdotsTR)
Xm(:,xi)=SplineSigA(FSpdotsTR(xi):FSpdotsTR(xi)+25);
end
COR=corrcoef(Xm);
CORLim=0.85;
for XI=1:length(Xm)
for XJ=1:length(Xm)
if COR(XI,XJ)>CORLim
COR(XI,XJ)=1;
else
COR(XI,XJ)=0;
end
end
end
figure
pcolor(COR);
colormap(gray);
axis ij
74
Отзывы:
Авторизуйтесь, чтобы оставить отзыв