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個頻率刺激下的時域圖

<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結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章