ИДЗ / Модель ЭКГ / Новикова_2503
.pdfсуммарную электрическую активность миокарда, позволяет рассчитать распределение потенциалов на поверхности тела. Этот метод – компромисс,
который обеспечивает ясную физическую интерпретацию (например, ось сердца) и относительно простые вычисления, хотя и является некоторым упрощением реальной сложной картины возбуждения.
Биофизические модели строго воспроизводят иерархию процессов от ионных токов в мембране отдельной клетки до распространения волны возбуждения по всей ткани сердца. Решая сложные системы дифференциальных уравнений (модели клетки типа Лоран-Руда, уравнения монодомена), они в итоге вычисляют кардиограмму через модель объемного проводника. Такие модели невероятно точны и позволяют изучать тонкие эффекты лекарств или патологий,
но требуют колоссальных вычислительных ресурсов и подробных геометрических данных.
Современные подходы на основе данных, в частности методы глубокого обучения, не опираются на явные физические законы. Нейронные сети обучаются на огромных массивах реальных ЭКГ, выявляя скрытые закономерности, и впоследствии могут генерировать новые, реалистичные сигналы или очищать шумы. Несмотря на мощь в задачах синтеза и анализа, эти модели остаются «чёрными ящиками», что ограничивает их использование для фундаментального понимания биофизических механизмов.
Для решения поставленной задачи наиболее подходящий метод – создание феноменологической модели. Эта модель будет взята за основу работы и также будет модифицирована, для лучшей модуляции различных видов патологий.
11
Глава 2: Разработка системы или модели
Рассмотрим подробнее модель на основе функций Гаусса (Модель Мак-
Шери и Олкина), также известная как модель сглаженных псевдо-производных.
Ключевая идея заключается в том, что характерная форма кардиоцикла с высокой точностью аппроксимируется суммой математических функций – производных от функции Гаусса.
В основу построения базовой математической модели генерации искусственной ЭКГ положено аналитическое решение одного из дифференциальных уравнений. Базовая модель формируется по эталону ( ),
который описывается суммой несимметричных гауссовых функций:
|
|
|
( − |
)2 |
|
|
|
|
|
|
|
|
|
( ) = |
∑ |
∙ [− |
|
|
] (1) |
|
2[ |
( )]2 |
|
||||
{ , , , , , } |
|
|
|
|
|
|
|
|
|
|
|
||
Где –параметры, отражающие ширину гауссовой волны, – параметры, |
||||||
|
|
|
|
|
|
|
отражающие точку середины (пик) волны, – амплитуда волны, t |
– время в |
|||||
|
|
|
|
|
|
|
секундах, при ограничениях: 0 ≤ (1) < (2) ≤ (1) < (2) = (1) < (2) |
= (1) < |
|||||
(1) = (1) ≤ (2) ≤ (1) |
< (2) ≤ 0 |
где 0— общая продолжительность (мс) ( ), |
||||
связанная с частотой FЧСС сердечных сокращений (уд/мин) соотношением:
60 1000
0 = ЧСС ,
а моменты начала (1) и окончания (2) каждого i -го фрагмента эталона, { , ,, , , }, связаны с параметрами (1), (2) и следующим образом:
(1) = − 3(1) ,(2) = + 3(2) .
Параметры и определяют значения амплитуд и моментов времени,
когда i-й информативный фрагмент эталона, { , , , , , }, принимает
12
максимальное значение при |
> 0 или минимальное значение при < 0, а |
|||
параметры |
|
|
|
|
() |
(1) |
|
≤ |
|
= { |
|
|
|
|
|
(2) |
|
> |
|
|
|
|
|
|
при (1) ≠ (2) позволяют генерировать несимметричные фрагменты.
Известно, что даже у здоровых людей в состоянии покоя сердечный ритм подвержен значительным колебаниям. Для моделирования этого явления на основе эталона на последовательных временных интервалах:
0 = 0 (1 + ), |
= 1, … , |
формируется последовательность циклов Z1(t)...ZN(t) по формуле:
|
|
|
|
( − |
|
)2 |
|
|
( ) = |
∑ |
|
∙ [− |
|
|
|
|
] , m = 1, … , N (2) |
2[ |
|
( )]2 |
||||||
|
|
|
|
|
|
|||
|
{ , , , , , } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изменение продолжительностей RR-интервалов моделируется искажением частоты сердечных сокращений (временного интервала 0) на основе использования реализаций независимой случайной величины , которая с нулевым математическим ожиданием распределена на ограниченном интервале
[− 0, ], 0 – фиксированное число, определяющее требуемые границы искажения частоты.
Для реализации модели ЭКГ был написан код на языке C++ и подобраны параметры гауссовых функций для моделирования нормального QRS комплекса,
комплекса с депрессией ST-сегмента, а также комплекса при желудочковой экстрасистолии.
Основную роль в коде играет класс EGC, состоящий подкласса Complex,
отражающего структуру шаблона одного кардиоцикла, массива объектов класса
Complex, содержащего набор различных параметров, используемых для
13
генерации сигнала, а также методов добавления и удаления объектов класса
Complex в набор данных и расчёта непосредственно сигнала ЭКГ в целом и каждого комплекса в отдельности. Рассмотрим их подробнее:
Каждый из подклассов Complex состоит из набора зубцов ЭКГ,
представляющих собой структуры имеющие параметры, необходимые для расчёта гауссовой функции: name – имя зубца (P, Q, R и т.д.), А, b1, b2 и u
соответственно.
Добавление и удаление объектов Complex в объект ECG осуществляется посредством функций push и del соответственно. Эти функции не представляют интереса с точки зрения расчёта, поэтому не будем заострять на них внимание.
Основной расчёт производится за счёт функции calculate, в которую передаются параметры: Fs – частота дискретизации, HR – частота сердечных сокращений, n – количество комплексов, которые необходимо сгенерировать, name – тип комплексов.
Если функция находит шаблон комплекса по названию, то создаёт вектор значений, который и является будущим сигналом. Функция проводит n итераций создания комплекса. В каждую итерацию производится копирование параметров шаблона комплекса и рандомизация параметров амплитуды, чтобы сделать каждый комплекс особенным. Далее производится расчёт конкретного комплекса за счёт функции do_ECG.
Внутри функции do_ECG на основе данных о частоте сердцебиения рассчитывается количество точек, которое будет занимать один кардиоцикл.
Длина каждого кардиоцикла также рандомизирована, однако отклонение составляет не более 5% от идеальной длины. Сама же функция рассчитывает несимметричную гауссову функцию по переданным в неё параметрам,
руководствуясь следующей логикой: для каждой точки в отдельности рассчитываются значения гауссовых функций, соответствующий данной точке во
14
времени, относительно точка начала кардиоцикла. При этом, если tтекущ < u, то для рассчёта используется параметр b1, иначе параметр b2.
После всех расчётов в функцию calculate возвращается готовый вектор значений одного кардиоцикла, которые добавляются в конец вектора значений сигнала. После генерации всех кардиоциклов готовый вектор значений сигналов возвращается обратно в программу.
Далее, для упрощения работы с сигналом, он выводится в текстовый файл формата .txt. Этот формат удобен, так как читается большинством редакторов,
мало весит и прост в обработке.
Для генерации различных типов комплексов вручную по форме сигналов из интернета были подобраны параметры, которые представлены в таблице 1:
Таблица 1 – Коэффициенты комплексов
Тип комплекса |
Зубец |
A |
b1 |
b2 |
u |
|
|
|
|
|
|
Нормальный |
P |
0.11 |
0.014 |
0.014 |
0.399 |
|
|
|
|
|
|
|
Q |
-0.004 |
0.008 |
0.008 |
0.45 |
|
|
|
|
|
|
|
R |
1.453 |
0.008 |
0.008 |
0.474 |
|
|
|
|
|
|
|
S |
-1.053 |
0.007 |
0.007 |
0.495 |
|
|
|
|
|
|
|
ST |
0.063 |
0.04 |
0.04 |
0.574 |
|
|
|
|
|
|
|
T |
0.52 |
0.056 |
0.024 |
0.7 |
|
|
|
|
|
|
15
Продолжение таблицы 1
Тип комплекса |
Зубец |
A |
b1 |
b2 |
u |
||
|
|
|
|
|
|
|
|
Депрессия |
ST |
P |
0.04 |
0.03 |
0.03 |
0.203 |
|
сегмента |
|
|
|
|
|
|
|
|
Q |
0 |
0.066 |
0.066 |
0.266 |
||
|
|
||||||
|
|
|
|
|
|
|
|
|
|
R |
0.64 |
0.016 |
0.026 |
0.296 |
|
|
|
|
|
|
|
|
|
|
|
S |
-0.1 |
0.03 |
0.03 |
0.4 |
|
|
|
|
|
|
|
|
|
|
|
ST |
-0.23 |
0.15 |
0.2 |
0.45 |
|
|
|
|
|
|
|
|
|
|
|
T |
0.06 |
0.1 |
0.08 |
0.7 |
|
|
|
|
|
|
|
|
|
Желудочковая |
|
P |
0 |
0.03 |
0.03 |
0.08 |
|
экстрасистолия |
|
|
|
|
|
||
Q |
0.3 |
0.01 |
0.03 |
0.1 |
|||
|
|
||||||
|
|
|
|
|
|
|
|
|
|
R |
1.3 |
0.04 |
0.04 |
0.2 |
|
|
|
|
|
|
|
|
|
|
|
S |
-0.1 |
0.01 |
0.015 |
0.28 |
|
|
|
|
|
|
|
|
|
|
|
ST |
-0.18 |
0.1 |
0.1 |
0.34 |
|
|
|
|
|
|
|
|
|
|
|
T |
-0.19 |
0.04 |
0.04 |
0.39 |
|
|
|
|
|
|
|
|
|
16
Глава 3: Результаты
Для оценки работы программы были сгенерированы несколько файлов сигналов: один нормальный комплекс, один комплекс с депрессией ST сегмента,
одна желудочковая экстрасистола и со случайно комбинацией комплексов (80%
нормальный комплекс и по 10% на каждую патологию). Графики полученных сигналов можно увидеть на рисунках 6-9:
Рисунок 6 – Сигнал нормального комплекса
Рисунок 7 – Комплекс с депрессией ST-сегмента
17
Рисунок 8 – Комплекс желудочковой экстрасистолы
Рисунок 9 – Сигнал из случайных комплексов
На смешанном сигнале видно, что RR интервал между нормальным комплексом и перед комплексом желудочковой экстрасистолы значительно меньше среднего, а после – значительно больше среднего. Это доказывает правильность подобранных коэффициентов u для данного типа патологии.
Сравним формы сгенерированного экстрасистолического комплекса и с реальной ЭКГ пациента, взятой из базы данных MIT-BIH Arrhythmia Database
ресурса PhysioNet (запись 106) (рис. 10):
18
Рисунок 10 – Сравнения синтезированного (сверху)
и реального (снизу) комплексов
Как видно на рисунке, комплексы имеют практически одинаковую форму,
которая тем не менее может варьироваться в зависимости от разных отведений.
Тем не менее, основные составляющие комплексов находятся на одинаковых местах, что говорит о работоспособности модели с данными параметрами.
Можно сделать вывод, что сконструированный генератор синтетической ЭКГ выполняет свою функцию и синтезирует ЭКГ-подобный сигнал с разными типами комплексов. Основная задача выполнена.
Тем не менее, модель можно улучшить: добавить больше разных классов патологических комплексов, связать разные комплексы с разными отведениями,
так как на разных отведениях комплексы могут иметь разные характеристики,
добавить генерацию помех вроде сетевой помехи, помехи «электрод-кожа»,
миографическую помеху и помехи, связанные с дыханием. Также стоит добавить вариацию параметров комплексов, связанную с разными биопроцессами.
19
Глава 4: Заключение
В ходе работы были рассмотрены способы генерации ЭКГ-подобного сигнала разными методами. Среди них была выбрана модель на основе функций Гаусса (Модель Мак-Шери и Олкина), также известная как модель сглаженных псевдо-производных.
Для реализации данной модели, была разработана программа на языке
C++, которая выполняет функцию генератора синтетической ЭКГ на основе суммирования гауссовых функций с заданными параметрами. Основные функции вынесены в отдельный класс, что делает программу масштабируемой по функционалу.
Для данного класса были рассчитаны параметры различных типов комплексов, в частности, в программе есть шаблоны для генерации нормального комплекса, комплекса с депрессией ST-сегмента, а также комплекса желудочковой экстрасистолы.
Для более правдоподобной генерации были добавлены рандомизаторы амплитуд зубцов и длительности кардиоциклов. Также, было выделено, что для более правдоподобной генерации модель можно улучшить: добавить больше разных классов патологических комплексов, связать разные комплексы с разными отведениями, так как на разных отведениях комплексы могут иметь разные характеристики, добавить генерацию помех вроде сетевой помехи,
помехи «электрод-кожа», миографическую помеху и помехи, связанные с дыханием. Также стоит добавить вариацию параметров комплексов, связанную с разными биопроцессами.
20
