Министерство науки и образования Российской Федерации

Вид материалаРеферат

Содержание


1.8 Выводы по первой главе
Глава 2 практическая часть
2.1 Нахождение QRS комплекса
2.2 Фильтр Lowpass
2.3 Нелинейное преобразование
2.4 Пороговая Функция
2.5 Проверка алгоритма
2.6 Выводы по второй главе
Приложение a
Список литературы
Подобный материал:
1   2   3   4   5   6   7

1.8 Выводы по первой главе


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

Основными пунктами рассмотрения в первой главе стали:
      • основные понятия структуры сердца;
      • компоненты электрокардиограммы;
      • подходы к анализу сигналов;
      • среда программирования.

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





ГЛАВА 2 ПРАКТИЧЕСКАЯ ЧАСТЬ


Основными этапами выполнения проекта являются:
  1. Реализация метода нахождения QRS комплекса.

Пропускание сигнала ЭКГ через:

1. “lowpass” фильтр;

2. разностный фильтр;

3. фильтр интегрирования;

4. пороговая фильтрация.

Исходные данные:

1. В основе анализа кардиограммы лежит нахождение QRS комплекса. Сначала для устранения шума от P и T волн переведенный в цифровую форму сигнал кардиограммы проходит через “lowpass” фильтр. Для увеличения R волны полученный сигнал обрабатывается нелинейным преобразованием, состоящим из разностного фильтра и фильтра интегрирования.

2. Далее в работе рассматривается алгоритм, в котором производится предварительное обнаружение R волны в каждом цикле, а также сегментов P, QRS и секции T. Для анализа качества нахождения QRS комплекса производится сравнение оригинального и реконструированного сигнала ЭКГ.

В этой главе будет подробно рассмотрены все этапы реализации и продемонстрированы достигнутые результаты.


2.1 Нахождение QRS комплекса


Обнаружение комплеков QRS это одна из основных задач в анализе кардиограммы. Выделение QRS комплекса помогает решить такие задачи, как анализ ритма ЭКГ, распознавание особенностей P, QRS, T, сжатие кардиограммы. Чтобы выполнить процесс усреднения сигнала, в каждом цикле должны быть определены опорные точки. В качестве опорных точек используются пиковые местоположения волн R.

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

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

Во-вторых, для получения граничных точек QRS комплекса, применяется алгоритм с пороговой функцией (алгоритма Tompkins[16]).

Вместо алгоритма Tompkins’ можно использовать алгоритм Zigel's с некоторой модификацией[16,17]. Он также состоит из двух стадий, но отличен в определении рефракторного периода (периода невозбудимости) в сигнале. В первой стадии определяются периоды невозбудимости, где нет QRS, и таким образом приблизительно определяются комплексы QRS. Кандидаты в QRS определяются использованием “lowpass” фильтра, разностным фильтрованием, фильтрованием среднего значения и применением пороговой функции. Эта процедура позволяет получить приблизительный интервал значений QRS комплекса. Такое фильтрование также отбрасывает ложные сигналы, вызванные волнами T и артефактами. При использовании постоянной пороговой функции, особенно когда в сигнале есть большая примесь от EMG шума или от артефактов движения, точность процедуры уменьшается.

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




Рис. 13. Часть кардиограммы с нормальным ритмом сердца.

2.2 Фильтр Lowpass


Во-первых, сигнал кардиограммы пропускают через lowpass фильтр. Большая часть энергии кардиограммы находится в диапазоне 1 гц - 45 гц. Поэтому частота обрезания для этого фильтры составляет 45 гц. Профильтрованный сигнал сохраняет большую часть энергии исходного сигнала, подавляя высокочастотный шум, включающий 50 гц помехи электросети. В некоторых случаях для улучшения результата возможно применить более тщательное фильтрование. Но цель этой стадии состоит в определении приблизительных интервалов QRS комплекса. Этот процесс слабо зависит от ложного сигнала, вызванного lowpass фильтрованием. На Рис. 14 и 15 представлены детали lowpass фильтра. Фильтрованный сигнал на выходе более гладкий и содержит меньше шума, чем оригинальный сигнал.




Рис. 14. Амплитудная характеристика.



Рис. 15. Фазовая характеристика.



Рис. 16. Сравнение начального и отфильтрованного сигнала.

На Рис. 16 сравнивается начальный сигнал кардиограммы с его фильтрованным lowpass выходом. После фильтрования интервалы стали более зубчатыми.

Разностный фильтр увеличивает волны R и уменьшает P и T волны и шум основания. Уравнение разностного фильтра имеет вид d[n]=(x[n+1]-x[n-1])/2, где x[n] выходной сигнал lowpass фильтра. Рис. 17 и 18 показывают характеристики этого фильтра.



Рис. 17. Амплитудная характеристика.



Рис. 18. Фазовая характеристика.

2.3 Нелинейное преобразование




Разностный фильтр уменьшает не QRS особенности. Но он также увеличивает высокочастотный шум, который остался после lowpass фильтра. Для уменьшения кратковременных помех необходимо применить фильтр интегрирования (14). Размер фильтра взят такой, чтобы соответствовать приблизительной ширине комплекса QRS.

(14)

(15)


2.4 Пороговая Функция


Определить приблизительные интервалы комплекса QRS, мы можем, используя пороговое скользящее среднее значение фильтра выходного

(16).

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

(17).




Рис. 19. Заключительный результат процесса определения границ.


Наш алгоритм нахождения QRS был проверен тремя сигналами кардиограммы (ECG3.dat, ECG4.dat, ECG5.dat).



Рис. 20. Результат обнаружения QRS для сигнала ECG3.dat.

У сигнала ECG3.dat есть умеренное количество блуждающих шумов основания, которые могут быть вызваны дыханием пациента. Обнаружение QRS было успешно, как показано на Рис. 20.



Рис. 21. Результат обнаружения QRS для сигнала ECG4.dat.

Сигнал ECG4.dat затронут изменением основания в конце. Это может быть вызвано движением пациента и высокочастотным шумом, который делает интервалы более широкими.



Рис. 22. Результат обнаружения QRS для сигнала ECG5.dat.

Сигнал ECG5.dat серьезно искажен. Также в пределах 7 секунд, появляется остроконечный сигнал движения, моделирующий комплекс QRS,. Этот ложный сигнал движения делает обнаружение QRS трудным.

2.5 Проверка алгоритма


Наш алгоритм нахождения QRS был проверен с использованием трех кардиограмм из европейской база данных. Длительность сигналов составляет 20 секунд и они искажены шумами различных типов (Фс = 200 гц,). Чувствительность и специфичность были вычислены по следующим формулам:

(18),

(19),

где TP – количество найденных QRS комплексов,

FP – количество неправильно определенных QRS комплексов,

FN – количество пропущенных ударов. Если там была ошибка в расположении удара даже в одной выбранной точке, FN увеличивается.

Для ECG3.dat,

Se=91%

Среди полных 32 QRS комплексов было пропущено 4. Для ECG4.dat,

Se=88%

Среди полных 45 QRS комплексов было пропущено 7.Для ECG5.dat.

Se=85%

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




2.6 Выводы по второй главе


Во второй главе была подробно и наглядно рассмотрена практическая часть реализации проекта. Основными этапами реализации являлись:

1. рассмотрение основ электрокардиографии (анатомия и электрофизиология

сердца; компоненты электрокардиограммы).

2. Рассмотрены методы предобработки сигнала электрокардиограммы.

3. Реализован метод автоматического нахождения QRS комплекса ЭКГ.

Каждый этап и его подэтапы были рассмотрены отдельно. Обоснованны принципы выбора пути реализации. Каждый этап был проанализирован с помощью описания его в виде алгоритма.


ЗАКЛЮЧЕНИЕ


Выполнение данной дипломной работы является реализацией задачи: “Создание программного обеспечения для предобработки сигналов электрокардиограммы”.

Работа состоит из двух частей, первая из которых описывала теоретическую основу проекта, а вторая - практическую реализацию.

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


ПРИЛОЖЕНИЕ A


clear all;

close all;

load ecgdata100.txt;

points=length(ecgdata100);

grid on;

axis tight;

axis([1,points,-2,5]);

y=ecgdata100(:,1);

n=(0:0.004:points);

y=y(1:1:points);

n=n(1:1:points);

plot(n,y);

title('Original ECG ');

hold on

plot(n,y);

wn=0.3;

N=3;

[b,a]=butter(N,wn,'low');

m=filter(b,a,y);

figure, plot(n,m,'r');

title('Filtering ECG');

fid = fopen('ecg3.dat');

ecg = fscanf(fid,'%f ');

fs = 200; %sampling rate

sze = length(ecg);

necg = ecg/max(ecg);

time = [1 : sze]/fs;

[b,a]=butter(1,[.1,.2]);

fvtool(b);

sv=filter(b,1,necg);

%hold on

%plot(necg(3:2000))

%plot(sv(3:2000))

for i=2:3999

d(i)=(sv(i-1)-sv(i+1))/2;

end

%plot(d(1:200));

for i1=1:4000

s(i1)=0;

end

for n=17:3983

for count=(n-16):(n+16)

s(n)=s(n)+abs(d(count))

end

end

%axis tight;

%axis([1,1000,-0.15,0.35]);

%plot(necg(20:1000)-0.65);

%plot(sv(1:200),'g')

for i2=1:4000

lth(i2)=0;

end

lmin=min(s);

lmax=max(s);

raz=lmax-lmin;

for k=2:4000

%lth(k)=min(sv)+(max(sv)-min(sv))/2.4;

lth(k)=(lth(k-1)+lmin+(raz/2.8))/2;

th=lth(k)

end

x = 0 :1 : 1000;

y = th;

subplot (211);

hold on

plot(x,y);

plot(s(20:1000),'r');

subplot(212);

plot(d(10:1000),'b');





СПИСОК ЛИТЕРАТУРЫ

  1. Орлов В.Н. Руководство по электрокардиографии. – М.:ООО «Медицинское информационное агентство» , 1997, с.528.
  2. her.ru/
  3. Смоленцев Н.К. Основы теории вейвлетов. Вейвлеты в Matlab. – М.:ДМК Пресс, 2005 – 304 с.
  4. dia.org/
  5. Cамоучитель по MatLab.
  6. orks.com/
  7. ponenta.ru./
  8. eldysh.ru/schin16/exam/spicin/
  9. ru/
  10. u/
  11. tion.ru/
  12. u.ru/
  13. ed.utah.edu/kw/ecg/
  14. rod.ru/
  15. Дьяконов В., Абраменкова И. MATLAB. Обработка сигналов и изображений. Специальный справочник. – СПб.: Питер, 2002, 608 с.
  16. Abenstein, J.P., & Tompkins, W.J. (1982). A new data reduction algorithm for real time ECG analysis. IEEE Trans. on BME, BME-29, 43-48.
  17. Zigel, Y., Cohen, A., Abu-Ful, A., Wagshal, A., & Katz, A. (1997). Analysis by synthesis ECG signal compression. Computers in Cardiology 1997, 24, 279-282.
  18. Цифровая обработка сигналов/А.Б. Сергеенко – СПб.:Питер, 2002 – 608 с.
  19. o.com/
  20. edicina.ru



АННОТАЦИЯ

к дипломной работе

студентки Якушкиной Л.С.

на тему: «Создание программного обеспечения для предобработки сигналов электрокардиограммы»

Целью дипломной работы было создание программного обеспечения для предобработки сигналов электрокардиограммы. Программное обеспечение позволяет осуществить нахождение QRS-комплекса и устранить шум от P и T волн в электрокардиограмме. При разработке использовались следующие программные продукты: среда разработки Matlab, Excel.

Ключевые слова: ЭЛЕКТРОКАРДИОГРАММА, QRS-КОМПЛЕКС, ШУМ, ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЕ.

ANNOTATION

The aim of the degree work was to create a software for a preprocessing of electrocardiogram signals. The software allows to findi the QRS-complex and eliminate the noise from the P and T waves in the electrocardiogram. In designing of the system the Matlab, Excel software products were used.
Keywords: electrocardiogram, QRS-complex, noise, wavelet transform.