Добавил:
I want to die Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы_Вариант 4_5 сем / ЛР_3 / ЛР_3_МОиАБСиД

.docx
Скачиваний:
13
Добавлен:
01.12.2022
Размер:
393.12 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

  1. Кафедра биотехнических систем и технологий

отчет

по лабораторной работе №3

по дисциплине «Методы обработки и анализа биомедицинских сигналов и данных»

Тема: Корреляционный анализ ЭЭГ.

Вариант 4

Студентки гр. 0502

Лиоско Е.П.

Потько А.А.

Преподаватель

Калиниченко А.Н.

Санкт-Петербург

2022

        1. Цель работы:

Ознакомление с использованием корреляционных функций для исследования ЭЭГ.

        1. Задачи работы:

  • Исследовать характер изменения АКФ и ВКФ для 3х тестовых сигналов: двух синусоид с разными частотами и суммы этих двух синусоид. Построить графики сигналов и всех рассчитанных функций.

  • Выполнить расчет АКФ и ВКФ для 3х фрагментов ЭЭГ. Построить графики сигналов и всех рассчитанных функций.

        1. Часть 1. Расчет АКФ и ВКФ для тестовых синусоид

Текст программы №1:

clc

clear all;

close all;

X0=0; % Координата “x” (на экране) нижнего левого угла окна

Y0=0; % Координата “y” (на экране) нижнего левого угла окна

W0=1800; % Ширина окна

H0=800; % Высота окна

figure('Position',[X0,Y0,W0,H0]) % Создание окна

x1=50; % Координата "x" (в окне) нижнего левого угла 1-го поля

dx=50; % Расстояние по “x” между 1-м и 2-м полями

y1=100; % Координата "y" (в окне) нижнего левого угла 1-го поля

w=270; % Ширина 1-го и 2-го полей вывода графиков

h=167; % Высота 1-го и 2-го полей вывода графиков

hAxes=zeros(3,3);

for i=[1 2 3]

% Создание 1-го поля:

hAxes(i,1)=axes('Units','pixels','Position',[x1,y1+(i-1)*(50+h),w,h]);

% Создание 2-го поля:

hAxes(i,2)=axes('Units','pixels','Position',[x1+dx+w,y1+(i-1)*(50+h),2*w,h]);

% Создание 3-го поля:

hAxes(i,3)=axes('Units','pixels','Position',[x1+dx+dx+w+w+w,y1+(i-1)*(50+h),2*w,h]); % 1 столбец 1 строка

end

%Построение синусоид

Fs=250;

tmax=1.2;

A1=35;

A2=20;

F1=7;

F2=5;

T=1/Fs;

t=0:T:tmax-T;

s1=A1*sin(2*pi*F1*t);

s2=A2*sin(2*pi*F2*t);

s3=s1+s2;

axes(hAxes(3,1))

Asum=A1+A2;

set (hAxes(3,1),'YLim',[-Asum +Asum])

hold on

plot(t,s1)

title('1я синусоида - s1=A1*sin(2*pi*F1*t)')

axes(hAxes(2,1))

set (hAxes(2,1),'YLim',[-Asum +Asum])

hold on

plot(t,s2)

title('2я синусоида - s2=A2*sin(2*pi*F2*t)')

axes(hAxes(1,1))

set (hAxes(1,1),'YLim',[-Asum +Asum])

hold on

plot(t,s3)

title('Сумма синусоид')

%Построение АКФ

tcf=-tmax+T:T:tmax-T;

acf1=xcorr(s1,'coeff');

axes(hAxes(3,2))

for j=2:3

for i=1:3

set (hAxes(i,j),'YLim',[-1 +1])

set (hAxes(i,j),'XLim',[-tmax+T tmax-T])

end

end

hold on

plot(tcf,acf1)

title('АКФ1')

acf2=xcorr(s2,'coeff');

axes(hAxes(2,2))

hold on

plot(tcf,acf2)

title('АКФ2')

acf3=xcorr(s3,'coeff');

axes(hAxes(1,2))

hold on

plot(tcf,acf3)

title('АКФ3')

%Построение ВКФ

ccf12=xcorr(s1,s2,'coeff');

axes(hAxes(3,3))

hold on

plot(tcf,ccf12)

title('ВКФ1')

ccf23=xcorr(s2,s3,'coeff');

axes(hAxes(2,3))

hold on

plot(tcf,ccf23)

title('ВКФ2')

ccf31=xcorr(s3,s1,'coeff');

axes(hAxes(1,3))

hold on

plot(tcf,ccf31)

title('ВКФ3')

Рисунок №1 – АКФ и ВКФ тестовых синусоид

Часть 2. Расчет АКФ и ВКФ для реальных записей ЭЭГ

Текст программы №2:

clc

clear

close all

S=load('W3_04.txt');

N=length(S);

s1=S(1:N,1);

s2=S(1:N,2);

s3=S(1:N,3);

X0=0; % Координата “x” (на экране) нижнего левого угла окна

Y0=0; % Координата “y” (на экране) нижнего левого угла окна

W0=1800; % Ширина окна

H0=800; % Высота окна

figure('Position',[X0,Y0,W0,H0]) % Создание окна

x1=50; % Координата "x" (в окне) нижнего левого угла 1-го поля

dx=50; % Расстояние по “x” между 1-м и 2-м полями

y1=100; % Координата "y" (в окне) нижнего левого угла 1-го поля

w=270; % Ширина 1-го и 2-го полей вывода графиков

h=167; % Высота 1-го и 2-го полей вывода графиков

hAxes=zeros(3,3);

for i=[1 2 3]

% Создание 1-го поля:

hAxes(i,1)=axes('Units','pixels','Position',[x1,y1+(i-1)*(50+h),w,h]);

% Создание 2-го поля:

hAxes(i,2)=axes('Units','pixels','Position',[x1+dx+w,y1+(i-1)*(50+h),2*w,h]);

% Создание 3-го поля:

hAxes(i,3)=axes('Units','pixels','Position',[x1+dx+dx+w+w+w,y1+(i-1)*(50+h),2*w,h]); % 1 столбец 1 строка

end

Fs=250;

tmax=N/Fs;

T=1/Fs;

t=0:T:tmax-T;

Amax(1)=max(s1);% max и min сигналов

Amax(2)=max(s2);

Amax(3)=max(s3);

Amin(1)=min(s1);

Amin(2)=min(s2);

Amin(3)=min(s3);

axes(hAxes(3,1))

set (hAxes(3,1),'YLim',[min(Amin(1)) max(Amax(1))])

set (hAxes(3,1),'XLim',[0 tmax-T])

hold on

plot(t,s1)

title('1-й канал ЭЭГ')

axes(hAxes(2,1))

set (hAxes(2,1),'YLim',[min(Amin(2)) max(Amax(2))])

set (hAxes(2,1),'XLim',[0 tmax-T])

hold on

plot(t,s2)

title('2-й канал ЭЭГ')

axes(hAxes(1,1))

set (hAxes(1,1),'YLim',[min(Amin(3)) max(Amax(3))])

set (hAxes(1,1),'XLim',[0 tmax-T])

hold on

plot(t,s3)

title('3-й канал ЭЭГ')

%Построение АКФ

tcf=-tmax+T:T:tmax-T;

acf1=xcorr(s1,'coeff');

axes(hAxes(3,2))

for j=2:3

for i=1:3

set (hAxes(i,j),'YLim',[-1 +1])

set (hAxes(i,j),'XLim',[-tmax+T tmax-T])

end

end

hold on

plot(tcf,acf1)

title('АКФ1')

acf2=xcorr(s2,'coeff');

axes(hAxes(2,2))

hold on

plot(tcf,acf2)

title('АКФ2')

acf3=xcorr(s3,'coeff');

axes(hAxes(1,2))

hold on

plot(tcf,acf3)

title('АКФ3')

%Построение ВКФ

ccf12=xcorr(s1,s2,'coeff');

axes(hAxes(3,3))

hold on

plot(tcf,ccf12)

title('ВКФ1')

ccf23=xcorr(s2,s3,'coeff');

axes(hAxes(2,3))

hold on

plot(tcf,ccf23)

title('ВКФ2')

ccf31=xcorr(s3,s1,'coeff');

axes(hAxes(1,3))

hold on

plot(tcf,ccf31)

title('ВКФ3')

Рисунок №2 – АКФ и ВКФ реальных записей ЭЭГ.

Выводы:

Из графиков АКФ реальных записей ЭЭГ видно, что присущая первым двум сигналам (1 и 2ой канал ЭЭГ) периодичность приводит к тому, что их автокорреляционная функция затухает относительно медленно. В то же время АКФ для третьего сигнала (3 канал ЭЭГ) затухает очень быстро, что демонстрирует его случайный характер.

ВКФ1 сигналов 1 и 2 затухает медленно, что показывает наличие в этих сигналах сходных периодичностей. ВКФ2 и ВКФ3, рассчитанная для сигналов 2 и 3, 3 и 1, принимает относительно небольшие значения, что свидетельствует об отсутствии существенной связи между соответствующими сигналами.

Соседние файлы в папке ЛР_3