Скачиваний:
58
Добавлен:
25.12.2019
Размер:
2.13 Кб
Скачать
close all
clear all

Fs=500;
%5
X0=90;
Y0=90;
W0=850;
H0=600;
figure('Color','white','Position',[X0,Y0,W0,H0])
x1=30;
dx=30;
dy=40;
y1=25;
w=300;
h=90;
hAxes1=axes('Units','pixels','Position',[x1,y1,w,h])
hAxes2=axes('Units','pixels','Position',[x1,y1+dy+h,w,h])
hAxes3=axes('Units','pixels','Position',[x1,y1+dy*2+h*2,w,h])
hAxes4=axes('Units','pixels','Position',[x1,y1+dy*3+h*3,w,h])
%6
S=load('R6_04.txt');
N=length(S);
ECG=S(1:N,1);
Puls_R=S(1:N,2);
Puls_IR=S(1:N,3);

T=1/Fs;
tmax=N/Fs;
t=0:T:tmax-T;
% 7
axes(hAxes4)
plot (t, ECG)
hold on
grid minor; %сетка
% 8
axes(hAxes1);
C=400; %константа смещения второго графика вниз
plot(t,Puls_R-C,'r');
hold on;
grid minor;

plot(t,Puls_IR);

%9
X=zeros(1,N); %создание и заполнение нулями выходного массива
for n=3:N
y(n)=S(n)-S(n-2);
end
%10
axes(hAxes3);
plot(t,y);
hold on;
grid minor;

%11
for i=1:N
ABS(i)=abs(y(i));
end

axes(hAxes2);
plot(t,ABS);
hold on;
grid minor;

% 12-13
Limit=65;
XLimit(1)=0;
XLimit(2)=tmax-T;
YLimit(1:2)=Limit;
line(XLimit,YLimit,'Color','r');
%14
Jmax=100;
k=0;
j=Jmax;
for i=1:N
j=j+1;
if (ABS(i)>Limit) && (j>Jmax)
k=k+1;
QRS(k)=i;
j=0;
end
end


%15
axes(hAxes4)
YLimits=get(hAxes4,'YLim');
for i=1:k
XLimits(1:2)=QRS(i)*T;
HLine=line(XLimits,YLimits);
set(HLine,'LineStyle','--')
end
%16
D1=0;
for i=1:(k-1)
clear m1
m1=Puls_R(QRS(i):QRS(i+1));
D1=D1+(max(m1)-min(m1));
end
D1=D1/(k-1)
%D1=471.1250

D2=0;
for i=1:(k-1)
clear m2
m2=Puls_IR(QRS(i):QRS(i+1));
D2=D2+(max(m2)-min(m2));
end
D2=D2/(k-1)
%D2=254.1250
alpha=D1/D2
%alpha=1.8539
SaO2=(0.872-0.16*alpha)/(0.14*alpha+0.754)*100
%SaO2=56.7684%

%17
x1=440;
y1=400;
w1=90;
h1=30;
hTxt1=uicontrol('Style','text', 'String', 'SaO2=',...
'Position',[x1,y1,w1,h1],'Backgroundcolor',[1 1 1]);

x2=505;
y2=410;
w2=90;
h2=30;
hEd=uicontrol('Style','edit','Position',[x2,y2,w2,h2],...
'Backgroundcolor',[1 1 1],'HorizontalAlignment','left');
set(hEd,'String',num2str(SaO2))
Соседние файлы в папке Лаба 6