SSVEP脑机接口及数据集处理

2022-09-22 10:48:16 浏览数 (1)

本篇文章主要介绍了稳态视觉诱发电位SSVEP以及相关的数据集处理。

稳态视觉诱发电位(Steady-stateVisual Evoked Potentials, SSVEP)属于视觉诱发电位(Visual Evoked Potentials, VEP),是指当人眼受到一个恒定频率(通常大于4Hz)的视觉刺激时,大脑视觉皮层会自动产生与刺激频率及其谐波频率同频率的响应。

SSVEP典型应用

实验目的:利用ssvep实现高速字符输入

说明:

1、屏幕上5X8个方格以不同频率(8-15hz)和相位闪集中烁,受试着将视线集中在某个方块上(比如以12hz闪烁的方块),则视觉区收集到的脑电信号中可以识别出12hz及其谐波,这样受试者就完成了一次选择。

2、每一种选择对应一个字符,完成字符输入。 ssvep数据集 1、该数据基于SSVEP经典实验范式产生,所提供数据为4维数据,其中第一个维度表示数据采集的通道数,第二个维度表示数据采样点数,第三个维度表示实验次数,第四个维度表示试验中刺激块的闪烁频率。例如Data_1数据大小为[9,5120,40,6],9表示该实验数据的采集来自于9个通道,5120为采样点数,40表示为确保数据的可靠性,共进行了40轮,6表示SSVEP实验范式中刺激块的闪烁频率为6个不同的频率。 2、采样频率:1024 data_2(MATLAB的mat文件形式) MATLAB对数据集处理 1、s2_1=sum(data2,1)/9;对第一维(9个通道)取平均 2、s2_1=sum(s2_1,3)/40;对第三维(40次重复)取平均 3、s2_1=s2_1(1,:,1,6);第一维和第三维已经取平均,其索引范围只有1了,第四维中6表示6个频率中第6个频率,其索引范围1到6;第二维是采样点数。 4、这个代码实现绘制信号时域图和绘制频域图

代码语言:javascript复制
load('Data_2.mat');
data2=kwang_1024_1;
figure(1)
s2_1=sum(data2,1)/9;
s2_1=sum(s2_1,3)/40;
s2_1=s2_1(1,:,1,6);
t=(0:length(s2_1)-1)/1024;
plot(t,s2_1)
axis([t(1) t(end) 1 -5*max(s2_1) 5*max(s2_1)]);
figure(2)
NFFT = 2^nextpow2(length(s2_1));           
f = 1024/2*linspace(0,1,NFFT/2 1);
y=fft(s2_1,NFFT)/length(s2_1);
plot(f,abs(y(1:NFFT/2 1)),'r')
axis([0 50 0 0.15]);

结果展示

<1>时域图

这个是第6个频率刺激下的时域图

<2>频域分析

通过对脑电波的频域分析,观察其频率与其谐波频率,可以得出这6个刺激频率分别是7,8,9,10,11,12Hz

第一个频率下产生的脑电波s2_1(1,:,1,1)FFT结果

第二个频率下产生的脑电波s2_1(1,:,1,2)FFT结果

第三个频率下产生的脑电波s2_1(1,:,1,3)FFT结果

第四个频率下产生的脑电波s2_1(1,:,1,4)FFT结果

第五个频率下产生的脑电波s2_1(1,:,1,6)FFT结果

第六个频率下产生的脑电波s2_1(1,:,1,6)FFT结果

本案例中的数据文件下载地址:

https://download.csdn.net/download/pengchengIT/12498373

文章来源于CSDN网友pengchengIT的授权分享。

本文经网友pengchengIT授权分享


仅用于学术交流,不用于商业行为,若有侵权及疑问,请后台留言,管理员即时删侵!

0 人点赞