📄 boxingtiqu.m
字号:
% 用来对分解波形进行识别R波峰
clear;clc
%load data104.mat;n1=140;n2=160;
load data100.mat; n1=30; n2=40;
x1=M(:,1);
num=360*(n2-n1);
s=x1(360*n1:360*n2);
s0=s(1:2048)';
figure(1),subplot(311),plot(s);%画出原始信号波形
title('原始信号');grid;
Lo_D=[0.125,0.3750,0.3750,0.125];
Hi_D=[-0.0869,-0.5798,0.5798,0.0869];
c=swt(s0,4,Lo_D,Hi_D);
for i=1:2048
d1(i) = c(1,i);
d2(i)=c(2,i);
d3(i)=c(3,i);
d4(i)=c(4,i);
d5(i)=c(5,i);
end
figure(2);
subplot(611);plot(s0); Ylabel('原始信号'); %查看分析
subplot(612);plot(d1);Ylabel('尺度1'); %查看分析
subplot(613);plot(d2);Ylabel('尺度2'); %查看分析
subplot(614);plot(d3);Ylabel('尺度3'); %查看分析
subplot(615);plot(d4);Ylabel('尺度4'); %查看分析
subplot(616);plot(d5);%Ylabel('signal'); %查看分析
n1=d3(1); %max
n2=0; %min
for j=3:600
if(d3(j)>n1)
n1=d3(j)*0.75;
elseif(d3(j)<0)
if(abs(d3(j)>n2))
n2=d3(j)*0.75;
end
end
end
N=0;
i=2;
count=10;
% if(i<2048)
% for i=count:5:2048
% if(d3(i)>n1)
% count=i+50;
% for p=i:i+10
% if(d3(p)>n1)
% n1=d3(p)*0.75;
% i=count;
% end
% end
% N=N+1;
% end
% end
% end
t1=1;
t2=1;
m=1;
n=1;
a(1)=1;
a(2)=2;
a(3)=3;
while(i<2048)
if d3(i)<n1
i=i+1;
else
N=N+1;
q=i;
i=i+50;
a(m)=d3(i);
m=m+1;
b(m)=i;
for p=q:q+10
if(d3(p)>n1)
n1=d3(p)*0.75;
end
end
end
if m>3
t1=b(m)-b(m-1);
t2=b(m-1)-b(m-2);
if t1>2*t2
pause
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -