SSVEP数据集的预处理

SSVEP数据集的预处理部分

1. 数据集

  1. Benchmark dataset
  2. BETA dataset

2. 读懂数据格式

1. Benchmark dataset

file_name =['S1.mat']
load(file_name)
#	可以从变量区看到data是一个4D的数据
#	查看数据格式 size(data),可以发现是一个 64 * 1500 * 40 * 6
[num_channel, num_sample, num_trial, num_block] = size(data)
#	以上分别存储了通道数,采样点数,trial数和block数的4个变量
#	对于SSVEP信号来说的话,我们只需要选取枕区部分的通道进行分析就够了,这是SSVEP的基础知识,本文不展开解释了,在这里我们选取枕区的9个通道
eeg=data([48 54:58 61:63], :, :, :)

#	接下来更新一下变量
[num_channel,~,~,~] = size(eeg)

#	接下来截取每一个trial的数据长度,为了提高ITR,不会用一整段的SSVEP信号
#	根据数据集的说明文档,我们做如下设置:
#	cue : 0.5 , delay_time : 0.14 , timewindow = 1
#	提示时间 0.5秒
#	视觉延迟0.14秒(参考陈小刚博士的博士论文或者他的期刊论文)
#	时间窗设置1秒
eeg_temp = eeg(:,(cue_time+delay_time)*250 :(cue_time+delay_time+timewindow)*250,:,:)

#	接下来更新一下变量
[num_channel, num_sample, num_trial, num_block] = size(eeg_temp)

#	滤波
#	Range : [8,90]
Wp = [8/fs*2, 90/fs*2];
Ws = [4/fs*2, 100/fs*2];
[N, Wn]=cheb1ord(Wp, Ws, 3, 60);
[b, a] = cheby1(N, 0.5, Wn);

for i = 1:num_trial
	for j =1:num_channel
		for k =1:num_block
			eeg(j,:,i,k) = filtfilt(b,a,eeg_temp(j,:,i,k))
		end
	end
end

#	完成到这里,就可以用eeg的信号导入算法进行预测了

2. BETA dataset

BETA的预处理手法和Benchmark大同小异,不同的是BETA是一个结构体,我们要从结构体获取脑电信号和对应的标签。

  1. 导入数据后看到如下结构体:
    eeg结构体
    显然,EEG就是一个4维的脑电信号,跟Benchmark一摸一样,不一样的是在这个数据库里,标签是在suppl_info给出,我们把freqs单独拿出来就ok。
    在这里插入图片描述
  2. 开始操作
#	导入数据
load('S1.mat')
#	先存储label信息
label = data.suppl_info.freqs
#	再处理脑电信号
eeg_temp = data.EEG
eeg_temp = eeg_temp([48 54:58 61:63], :, :, :)
#	可以先滤波再切数据,也可以先切数据再滤波,看个人需求
#	切数据
eeg_temp1 = eeg_temp (:,(cue_time+delay_time)*250 :(cue_time+delay_time+timewindow)*250,:,:)
#	接下来更新一下变量
[num_channel, num_sample, num_trial, num_block] = size(eeg_temp1)
#	滤波
#	Range : [8,90]
Wp = [8/fs*2, 90/fs*2];
Ws = [4/fs*2, 100/fs*2];
[N, Wn]=cheb1ord(Wp, Ws, 3, 60);
[b, a] = cheby1(N, 0.5, Wn);

for i = 1:num_trial
	for j =1:num_channel
		for k =1:num_block
			eeg(j,:,i,k) = filtfilt(b,a,eeg_temp(j,:,i,k))
		end
	end
end
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑电信号要分类

你的鼓励是我创作的前进动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值