a1=load('EEG01.txt');
[c,r]=size(a1);
z=10;%等于几,绘图起点从几开始
s=256*z;%绘图起点;还有,这里的256是采样率
d=floor(c/256);
cn=d*256;%d等于多少就是到多少秒
cal=2; %通道数
a=a1(1:cn,1); %取整秒数的时间段
t=(1:c)/256;
noise = 5*sin(2*pi*50*t);
y= conv(noise,a);
%e14保存theta波
e14=[];
n=0;%保存结果矩阵行数
m=0;
for j=1:256:cn
aa=a(j:j+255,:);%第j/256秒的数据块
N=256;
b=zeros(4,cal);
%去除幅值绝对值超过100uV的数据段
[rr,rc]=find(-100>aa|aa>100);
nc=~isempty(rc);nr=~isempty(rr);
if ~(nc&&nr) %该数据块幅值绝对值无超过100uV
m=m+1;
[delta,theta,alpha,beta]=Fftfil(aa);% 提取特征波段,这里需要调用另外的FFT函数
%此处不贴了:可以发eegdiy@aliyun.com交流
%计算第1通道的theta波能量
for i=1:N
b(2,1)=b(2,1)+theta(i,1)*theta(i,1);
end
n=n+1;
e14(n,1)=b(2,1)/N;
else
continue
end
b=zeros(4,1);
end
%最后画出需要的值即可