⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xindianzyj1.m

📁 心电信号的检测
💻 M
字号:
clear all
close all;
load('xindian1.txt');
y=xindian1(:,1);
n=(0:0.004:60)';

y=y(1:1:1000);
n=n(1:1:1000);
subplot(8,1,1)
%subplot(2,4,1)
plot(n,y);
title('心电信号')

wn=0.3;
N=3;
[b,a]=butter(N,wn,'low');
m=filter(b,a,y);
subplot(8,1,2)
%subplot(2,4,2)
plot(n,m);
title('巴特沃思滤波');

[c,l]=wavedec(m,2,'rbio6.8');
a4=wrcoef('a',c,l,'rbio6.8',2);
subplot(8,1,3)
%subplot(2,4,3)
plot(n,a4);
title('小波滤波');

for i=1:(length(a4)-1)
    c1(i)=a4(i+1)-a4(i);
end
c2=abs(c1);
size(c2)
n=n(1:(length(n)-1));
for j=2:(length(c2)-1)
   c3(j)=[c2(j-1)+c2(j)+c2(j+1)]/3;
end
size(c3)
length(n)
n=n(1:(length(n)-1));
subplot(8,1,4)
%subplot(2,4,4)
plot(n,c3);
title('差分三点平滑');
 
for i=1:(length(c3)-1)
    c4(i)=c3(i+1)-c3(i);
end
c5=abs(c4);
size(c5)
length(n)
n=n(1:(length(n)-1));
for j=2:(length(c5)-1)
   c6(j)=[c5(j-1)+c5(j)+c5(j+1)]/3;
end
n=n(1:(length(n)-1));
subplot(8,1,5)
%subplot(2,4,5)
plot(n,c6);
title('再差分三点平滑');
 
 size(c5)
 size(c6)
 
for j=1:(length(c6))
   c7(j)=c5(j)+c6(j);
end
for j=2:(length(c7)-1)
    c8(j)=[c7(j-1)+c7(j)+c7(j+1)]/3;
end
n=n(1:(length(n)-1));
subplot(8,1,6)
%subplot(2,4,6)
plot(n,c8);
title('和三点平滑');
 
p=c8;
d1=0.22*p;
d2=0.15*p;
 
for i=1:(length(p))
    if p(i)>d1
       p(i)=1;
    else 
       p(i)=0;
    end
end   

for i=1:(length(p))
    if p(i)>d2
       p(i)=1;
    else 
     p(i)=0;
    end
end
subplot(8,1,7)
%subplot(2,4,7)
plot(n,p);
axis([0,4,0,1.1]);
title('阈值'); 
 
 s=1;
 for i=1:(length(p)-1)
     if((p(i+1)-p(i))>0) 
         s=s+1;
         fh(s)=1;
         fi(s)=i+1;
         Flag=0;
     else
         s=s+1;
         fh(s)=-1;
         fi(s)=i+1; 
         Flag=1;
     end 
     if  s>2
         if (fi(s)-fi(s-1))<0.2
            p(fi(s-1):fi(s))=Flag;
         end
     end
end
subplot(8,1,8)
%subplot(2,4,8)
plot(n,p);
axis([0,4,0,1.1]);
title('阈值');
 

 
 
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -