本篇文章主要介绍了稳态视觉诱发电位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授权分享
仅用于学术交流,不用于商业行为,若有侵权及疑问,请后台留言,管理员即时删侵!