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

📄 boxingtiqu.m

📁 用于脑电信号特征提取的InfoMax Algorithm Based on ICA;也可以稍作改动用于其他信息提取。
💻 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 + -