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、这个代码实现绘制信号时域图和绘制频域图

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个频率刺激下的时域图
SSVEP脑机接口及数据集处理_第1张图片

<2>频域分析
通过对脑电波的频域分析,观察其频率与其谐波频率,可以得出这6个刺激频率分别是7,8,9,10,11,12hz
第一个频率下产生的脑电波s2_1(1,:,1,1)FFT结果
SSVEP脑机接口及数据集处理_第2张图片
第二个频率下产生的脑电波s2_1(1,:,1,2)FFT结果
SSVEP脑机接口及数据集处理_第3张图片
第三个频率下产生的脑电波s2_1(1,:,1,3)FFT结果
SSVEP脑机接口及数据集处理_第4张图片
第四个频率下产生的脑电波s2_1(1,:,1,4)FFT结果
SSVEP脑机接口及数据集处理_第5张图片
第五个频率下产生的脑电波s2_1(1,:,1,6)FFT结果
SSVEP脑机接口及数据集处理_第6张图片
第六个频率下产生的脑电波s2_1(1,:,1,6)FFT结果
SSVEP脑机接口及数据集处理_第7张图片

你可能感兴趣的:(信号)