
2.2 Программа анализа ээг
Для реализации алгоритма анализа ЭЭГ используется программный пакет MATLAB.
clear all;
figure(1);
fid=fopen('eeg_Fp1.txt','rt');
f=fscanf(fid,'%f',[2,512]);
t=f(1,:);
y=f(2,:);
fclose(fid);
subplot(5,1,1);
plot(t,y);
title('eeg_Fp1.txt');
T=0.001;
A=abs(fft(y));
fd=1/T;
fn=fd/2;
f=-fd/2:fd/(length(y)-1):fd/2;
subplot(5,1,2);
stem(f,fftshift(A));
title('spectrum');
AKF=xcorr(y);
tau=-t(length(t)):2*t(length(t))/(length(AKF)-1):t(length(t));
subplot(5,1,3);
plot(tau,AKF);
title('AKF');
[P,f]=pmtm(y,[],[],fd);
subplot(5,1,4);
plot(f,P);
title('periodogram');
subplot(5,1,5);
specgram(y,[],fd,100);
title('specgram');
%filt param
n=170;
a=1;
w=hamming(length(y)+1);
fn=fd/2;
%alpha Fp1
figure(2);
fx=[8 13];
b=fir1(n,fx/fn);
[h,wn]=freqz(b,a);
subplot(6,1,1);
plot(wn*fn/pi,abs(h));
title('filter');
y1=filtfilt(b,a,y);
subplot(6,1,2);
plot(t,y1);
title('alpha eeg_ Fp1.txt');
AKF=xcorr(y1);
tau=-t(length(t)):2*t(length(t))/(length(AKF)-1):t(length(t));
subplot(6,1,3);
plot(tau,AKF);
title('alpha AKF');
A1=abs(fft(y1));
f1=-fd/2:fd/(length(y1)-1):fd/2;
subplot(6,1,4);
stem(f1,fftshift(A1));
title('alpha spectrum');
[P,f_1]=pmtm(y1,[],[],fd);
subplot(6,1,5);
plot(f_1,P);
title('periodogram');
subplot(6,1,6);
specgram(y1,[],fd,100);
title('specgram');
Рисунок 8 – Скриншот выполнения программы
Для чтения и обработки данных из файлов 'eeg_Fp1.txt', 'eeg_Fp2.txt', 'eeg_T4.txt', 'eeg_C3.txt', 'eeg_P4.txt' использовались следующие функции:
fid=fopen('EEG\eeg_T4.txt','rt'); – функция, позволяющая открыть файл исходного сигнала ЭЭГ;
f - считывание данных с файла;
fid – идентификатор файла;
[2,512] – размер;
fd - период дискретизации;
t – вектор времени;
y – вектор сигнала ЭЭГ;
fclose – функция, реализующая закрытие файла идентификатора;
fd – частота дискретизации;
subplot – разбивает окно для построения в нем нескольких графиков;
plot – строит график;
length – команда для определения длины массива y;
fx - вектор из двох переменных, нижняя и верхняя граничные частоты для фильтра;
figure - выбор окна, в котором реализуется текущее построение графиков;
A - получение абсолютного значения;
title - изменяет название графика;
trapz - рассчитывает площадь;
AKF - расчет параметров АКФ;
[P,f]=pmtm(y,[],[],fd) - расчет периодограммы по методу Томпсона;
specgram(y,[],fd,100) - расчет параметров для построения спектрограммы;
hamming - установка параметров окна.[14]
Рисунок 9 - Скриншот выполнения программы
Рисунок 10 - Скриншот выполнения программы
Рисунок 11 - Скриншот выполнения программы
2.3 Результаты анализа ээг
Результаты анализа приведены ниже, на рисунках 8 – 12.
Рисунок 12– Фильтр альфа-ритма сигнала 'eeg_Fp1.txt', альфа-ритм, его АКФ, АЧХ, периодограмма и спектрограмма
Рисунок 13 – Фильтр альфа-ритма сигнала 'eeg_Fp2.txt', альфа-ритм, его АКФ, АЧХ, периодограмма и спектрограмма
Рисунок 14 – Фильтр альфа-ритма сигнала 'eeg_T4.txt', альфа-ритм, его АКФ, АЧХ, периодограмма и спектрограмма
Рисунок 15 – Фильтр альфа-ритма сигнала 'eeg_C3.txt', альфа-ритм, его АКФ, АЧХ, периодограмма и спектрограмма
Рисунок 16 – Фильтр альфа-ритма сигнала 'eeg_P4.txt', альфа-ритм, его АКФ, АЧХ, периодограмма и спектрограмма
Заключение
С помощью программы MatLab мы провели обработку единичного сигнала ЭЭГ. Cоздана программа в среде пакета MatLab, и проведен автоматизированный анализ оцифрованных энцефалограмм в частной (частотной) области. Произвелии фильтрацию альфа-ритма всех сигналов, выделили и отобразили АКФ, АЧХ, периодограммы и спектрограммы сигналов и альфа ритмов. Все сигналы в пределах нормы, в некоторых наблюдаются шумы, возможно это связано с аппаратурой или электродами.
Несложность программы дает возможность ее широкого использования в диагностических целях в медицине. Она соответствует всем требованиям, поставленным в курсовой работе. Используя встроенные математические и графические функции и простые в использовании инструменты позволили нам легко проанализировать и отобразить данные.[15]
При написании данного пакета программ был использован пакет расширения для обработки сигналов (Signal processing toolbox).
Список литературы
Методичні вказівки до лабораторних робіт з дисципліни «Автоматизація обробки і аналізу біомедичної інформації» Упоряд.: Жемчужкіна Т.В., Козіна О.А. - Харків: ХНУРЕ, 2007. – 92 с.
Электроэнцефалограмма: http://www.tiensmed.ru/news/eeg-wkti/
Павлова О.Н., Павлов А.Н. «Регистрация и предварительная обработка сигналов с помощью измерительного комплекса МР100» Саратов: Научная книга, 2008. – 80 с.
В.Г. Потемкин. MATLAB: Справочное пособие – М.: «Диалог МИФИ», 1997.-350с.
Методы психофизиологии. ЭЭГ: http://www.ido.rudn.ru/psychology/psychophysiology/2.html
Комплексное применение спектрально - корелляционного анализа электроэнцефалограмм в определении локации очагов патологической активности головного мозга: http://gigabaza.ru/doc/16844.html
Способ анализа электроэнцефалограмм: http://www.freepatent.ru/patents/2467384
Разработка и исследование компьютерных систем обработки ЭЭГ: http://tekhnosfera.com/razrabotka-i-issledovanie-kompyuternyh-sistem-obrabotki-elektroentsefalogramm
Сахаров В.Л. «Методы и средства анализа медико-биологической информации: Учебно-методическое пособие» Таганрог: Изд-во ТРТУ, 2001. 70 с.
Обработка ЭЭГ в частотной области: http://knowledge.allbest.ru/medicine/2c0a65635a2ad68b5c43a89521316d37_0.html
Марпл мл. С. Л. Цифровой спектральный анализ и его приложения. — М.: Мир, 1990. — 584 с.
Анализ и визуализация данных в MatLab: http://matlab.exponenta.ru/forum/viewtopic.php?t=15283
Анализ сигнала ЭЭГ в MatLab: http://www.cyberforum.ru/post5517838.html
Найти точки пересечения в MatLab: http://www.cyberforum.ru/matlab/thread905161.html
Бендат Дж., Пирсол А. Прикладной анализ случайных данных. М.: Мир, 1989. С. 85—113, 115—149, 364—416.