欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

程序员文章站 2022-03-23 08:32:35
...

  OpenBCI是个面向脑机接口EEG信号采集的开源硬件,本文使用python SDK(因为OpenBCI官方还没有Matlab的SDK,Matlab读个串口那么难吗?肯定是开发人员懒)实时获取OpenBCI数据流并导入Matlab。详情参见官网[LSL labstreaminglayer]。更详细的教程在这里[OpenBCI_MATLAB]本文主要是参考的它。
【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)

安装python

  这里[python]2.7和3.6都可以,我装的是3.6.1版。安装的时候注意勾选安装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 "PORT",PORT是连接的串口号。

【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的时候,这个耐心摸索,好像要再装一个numpy的库。(2)每次数据采完,重启一下板子。

加油!