天天看點

【OpenBCI】(1):Matlab實時讀取資料流(labstreaminglayer)

  OpenBCI是個面向腦機接口EEG信号采集的開源硬體,本文使用python SDK(因為OpenBCI官方還沒有Matlab的SDK,Matlab讀個序列槽那麼難嗎?肯定是開發人員懶)實時擷取OpenBCI資料流并導入Matlab。詳情參見官網[LSL labstreaminglayer]。更詳細的教程在這裡[OpenBCI_MATLAB]本文主要是參考的它。

【OpenBCI】(1):Matlab實時讀取資料流(labstreaminglayer)

安裝python

  這裡下載下傳[python],我裝的是3.6.1版(一定要裝32位)。安裝的時候注意勾選安裝pip,裝完之後在指令行直接輸入“pip install pyserial”“pip install pylsl”分别安裝這兩個庫,如果安裝時候報錯,多試幾次就好了。如果pip沒裝上,則需要手動裝這兩個庫:序列槽[pyserial]和Lab Streaming Layer[pylsl]。

下載下傳OpenBCI_MATLAB

  這裡[OpenBCI_MATLAB]。下載下傳之後解壓。添加其中的Matlab-Python–>labstreaminglayer檔案夾到Matlab路徑,這裡主要是一些Matlab實時讀取資料的函數。

  完成之後在Matlab指令行測試函數:

lsl_loadlib()
           

  如果不報錯,證明這個labstreaminglayer添加好了。

擷取資料流

  插入OpenBCI無線接收器,打開闆子電源。

  打開電腦CMD,導航到剛剛下載下傳的OpenBCI_MATLAB–>Matlab-Python檔案夾(即openbci_matlab.py所在的檔案夾)

windows下隻需要使用pushd指令 就可以了。

【OpenBCI】(1):Matlab實時讀取資料流(labstreaminglayer)

  完成之後,輸入

python openbci_matlab.py -p "COM5"

,COM5是我的裝置連接配接的序列槽号(裝置管理器裡檢視)。

【OpenBCI】(1):Matlab實時讀取資料流(labstreaminglayer)

  看到輸出BEGIN則就可以開始了,繼續輸入

/start

,開始擷取資料,可以看到擷取的資料流.

資料流輸入Matlab

  打開Matlab,找到Matlab-Python–>examples檔案夾裡的ReceiveData.m檔案運作。可以看到資料流的滾動。任務完成!

【OpenBCI】(1):Matlab實時讀取資料流(labstreaminglayer)

  如果要看波形,找到Matlab-Python–>labstreaminglayer檔案夾裡的vis_stream.m檔案,運作即可。參數設定如下。

【OpenBCI】(1):Matlab實時讀取資料流(labstreaminglayer)
【OpenBCI】(1):Matlab實時讀取資料流(labstreaminglayer)

  可以用Matlab看到實時的波形了。原諒我這個波形,電極沒接,都是噪聲。

  注:(1)中間可能會遇到一些報錯,尤其是在CMD運作python的時候,這個耐心摸索,python可能需要再裝一個numpy的庫。(2)每次資料采完,重新開機一下闆子。

加油!

繼續閱讀