Скачиваний:
37
Добавлен:
08.04.2022
Размер:
345.38 Кб
Скачать

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

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

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

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

Кафедра БТС

отчет

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

по дисциплине «ПСОБМД»

Тема: Вариабельность сердечного ритма

Вариант 4

Студентка гр. 7501

Фалевская А.А.

Студент гр. 7501

Исаков А.О.

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

Ровша М.В.

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

2020

Цель работы: ознакомление с частотными методами анализа ритмов вариабельности сердечного ритма, сравнительная оценка параметрических и непараметрических методов спектрального анализа.

Основные теоретические положения:

Анализ вариабельности сердечного ритма (ВСР) основан на расчете оценок статистических и частотных характеристик последовательностей интервалов между сокращениями сердца (кардиоинтервалов). Одним из наиболее распространенных подходов является частотный анализ ВСР, суть которого заключается в расчете спектральных оценок сигнала и определении по ним суммарных мощностей в трех диапазонах частот:

• VLF (Very Low Frequency) с частотой 0,003..0,04 Гц;

• LF (Low Frequency) с частотой 0,04..0,15 Гц;

• HF (High Frequency) с частотой 0,15..0,4 Гц.

Перед расчетом спектра последовательность кардиоинтервалов преобразуется в равномерно дискретизированный сигнал с частотой отсчетов 4 Гц, для чего используют кусочно-полиномиальную сплайн-интерполяцию.

Известны два основных подхода к получению спектральных оценок:

• непараметрические методы, основанные на преобразовании Фурье;

• параметрические методы, основанные на модели авторегрессии (АР).

Код разработанной программы

% головная программа как функция

function R11_P1()

global hAxes3 hAxes5 RR4Hz Fs rb1 hSlider6 hEdit7

% создание рабочего окна

figure('Position',[200,50,1000,700])

% создание полей для вывода графиков

hAxes3=axes('Units','pixels','Position',[50,50,250,250]);

hAxes5=axes('Units','pixels','Position',[500,50,250,250]);

hAxes2=axes('Units','pixels','Position',[50,330,900,150]);

hAxes1=axes('Units','pixels','Position',[50,510,900,150]);

% создание группы "радиокнопок"

hGroup4=uibuttongroup('Units','pixels','Position',[330 240 95 60]);

rb1=uicontrol('Style','Radio','String','Periodogram',...

'Position',[5 10 90 20],'parent',hGroup4);

rb2=uicontrol('Style','Radio','String','Welch method',...

'Position',[5 30 90 20],'parent',hGroup4);

hR11_P2=@R11_P2;

set(hGroup4,'SelectionChangeFcn',hR11_P2);

set(hGroup4,'SelectedObject',[]);

% создание ползунка

hSlider6=uicontrol('Style','Slider','Position',[780 280 100 20]);

hR11_P3=@R11_P3;

set(hSlider6,'Callback',hR11_P3);

set(hSlider6,'Min',0,'Max',20);

% создание поля редактирования

hEdit7=uicontrol('Style','edit','Position',[810 250 70 20],...

'Backgroundcolor',[1 1 1],'HorizontalAlignment','left');

hTxt8=uicontrol('Style','text','String','P =',...

'Position',[780 245 30 20],'Backgroundcolor',[1 1 1]);

% построение ритмограммы в 1 поле

RR=load('R11-04.txt');

NRR=length(RR);

axes(hAxes1)

RRmax=max(RR)*1.2;

set(hAxes1,'XLim',[0 NRR],'YLim',[0 RRmax]);

hold on

for i=1:NRR

x(1)=i;

x(2)=i;

R(1)=0;

R(2)=RR(i);

plot(x,R);

end

% расчет графика равномерно дисректизированного сигнала

t=0;

for i=1:NRR

t=t+RR(i);

tRR(i)=t;

end

sRR=csaps(tRR,RR,1);

% вывод графика равномерно дисректизированного сигнала во 2 поле

axes(hAxes2)

Fs=4;

T=1/Fs;

tsRR=0:T:tRR(NRR);

RR4Hz=ppval(sRR,tsRR);

set(hAxes2,'XLim',[0 tRR(NRR)],'YLim',[0 RRmax]);

hold on

plot(tsRR,RR4Hz);

end

% функция для расчета спектра и показателей ВСР

function R11_P2(h,Sel)

global hAxes3 RR4Hz Fs rb1

nfft=2048;

RR0=detrend(RR4Hz)*1000;

df=Fs/nfft;

Fmax=0.5;

Nf=fix(Fmax/df);

% расчет спектра и построение СПМ в 3 поле

axes(hAxes3)

if Sel.NewValue==rb1

window=hamming(length(RR4Hz));

[Pxx,f]=periodogram(RR0,window,nfft,Fs);

plot(f(1:Nf),Pxx(1:Nf))

else

Nw=1000;

noverlap=100;

window=hamming(Nw);

[Pxx,f]=pwelch(RR0,window,noverlap,nfft,Fs);

plot(f(1:Nf),Pxx(1:Nf))

end

Ymax=max(Pxx(1:Nf))*1.3;

set(hAxes3,'YLim',[0 Ymax]);

% расчет показателей VLF, LF, HF

flim=[0.003 0.04 0.15 0.4];

VLF=0, LF=0, HF=0;

i=0, f=0;

while f<=flim(4)

f=df*i;

i=i+1;

if f>=flim(1) && f<flim(2)

VLF=VLF+Pxx(i)*df;

elseif f>=flim(2) && f<flim(3)

LF=LF+Pxx(i)*df;

elseif f>=flim(3)

HF=HF+Pxx(i)*df;

end

end

% вывод показателей VLF, LF, HF

VLF=round(VLF);

dy=Ymax/10;

text(0.3,Ymax-dy,['VLF=' num2str(VLF) 'ms^2']);

LF=round(LF);

dy=Ymax/10;

text(0.3,Ymax-2*dy,['LF=' num2str(LF) 'ms^2']);

HF=round(HF);

dy=Ymax/10;

text(0.3,Ymax-3*dy,['LF=' num2str(HF) 'ms^2']);

end

% расчет спектра АР с помощью ползунка

function R11_P3(h,Sel)

global hSlider6 hEdit7 RR4Hz Fs hAxes5

P=round(get(hSlider6,'Value'));

if P==0

P=1;

end

set(hEdit7,'String',num2str(P));

nfft=2048;

RR0=detrend(RR4Hz)*1000;

df=Fs/nfft;

Fmax=0.5;

Nf=fix(Fmax/df);

% расчет и вывод СПМ по методу Берга в 5 поле

axes(hAxes5)

[Pxx,f]=pburg(RR0,P,nfft,Fs);

plot(f(1:Nf),Pxx(1:Nf))

Ymax=max(Pxx(1:Nf))*1.3;

set(hAxes5,'YLim',[0 Ymax]);

% расчет показателей VLF, LF, HF

flim=[0.003 0.04 0.15 0.4];

VLF=0, LF=0, HF=0;

i=0, f=0;

while f<=flim(4)

f=df*i;

i=i+1;

if f>=flim(1) && f<flim(2)

VLF=VLF+Pxx(i)*df;

elseif f>=flim(2) && f<flim(3)

LF=LF+Pxx(i)*df;

elseif f>=flim(3)

HF=HF+Pxx(i)*df;

end

end

% вывод показателей VLF, LF, HF

VLF=round(VLF);

dy=Ymax/10;

text(0.3,Ymax-dy,['VLF=' num2str(VLF) 'ms^2']);

LF=round(LF);

dy=Ymax/10;

text(0.3,Ymax-2*dy,['LF=' num2str(LF) 'ms^2']);

HF=round(HF);

dy=Ymax/10;

text(0.3,Ymax-3*dy,['LF=' num2str(HF) 'ms^2']);

end

Результат отображения программы

Рисунок 1 – СПМ по периодограммному методу

Рисунок 2 – СПМ по методу Уэлча при размере сегмента Nw = 200

Рисунок 3 – СПМ по методу Уэлча при размере сегмента Nw = 500

Рисунок 4 – СПМ по методу Уэлча при размере сегмента Nw = 1000

Рисунок 5 – СПМ по АР-модели при порядке модели P = 5

Рисунок 6 – СПМ по АР-модели при порядке модели P = 10

Рисунок 7 – СПМ по АР-модели при порядке модели P = 20

Выводы:

Известны два основных подхода к получению спектральных оценок при анализе вариабельности ВСР: непараметрические, основанные на преобразовании Фурье, и параметрические, основанные на модели авторегрессии (АР). В лабораторной работе были использованы оба метода, получение спектральных оценок по периодограммному методу, методу Уэлча и методу авторегрессии.

Можно сказать, что СПМ, полученная по методу Уэлча, наиболее повторяет СПМ по периодограммному методу при размере сегмента Nw = 500. В модели авторегрессии СПМ рассчитывается по методу Берга, одним из параметров которого является порядок модели АР. Меняя этот параметр с помощью ползунка, получаем разные значения показателей VLF, LF, HF. Наиболее оптимальным оказался также порядок модели P = 10.

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