# matlab_signal_processing
## 该文件夹下包含6个程序文件,2个data文件夹,2个必备的库(LSL和Brainflow)
* **1 `bluetooth_test.m`---蓝牙测试程序**
* **2 `train_receive_data.m`---OpenBCI通过LSL传输至matlab的程序**
* **3 `butter_bandpass.m`函数---给定带通滤波器参数,返回[b,a]**
* **4 `sig_pro_all.m`函数---`online_analysis.m`会调用其进行信号处理**
* **5 `offline_analysis.m`---离线分析程序**
* **6 `online_analysis.m`---在线分析程序**
* **7 `EEG_RAW_data`---文件夹:存放RAW脑电数据**
* **8 `liblsl-Matlab-master.zip`---库文件夹**,解压后添加到matlab路径
* **9 `Brainflow`---库文件夹** 自己下载吧hhh,然后添加到matlab路径
* **10 `data`---文件夹** **存放 `dataAnalysis.m`运行所需数据,由于文件太大,请阅读readme后自行下载**
> 注:每一个程序中均给出了详细的代码注释以及对应的参考文献。: )
## 1 `bluetooth_test.m`
该程序用来测试笔记本电脑和HC-05蓝牙模块的连接
> 需要注意的是,其中的`B=Bluetooth('ssvep',1);`语句,在运行成功后会在workspace产生一个变量B,如不清除,第二次运行会报错!
## 2 `train_receive_data.m`
该程序是用来测试**OpenBCI/航弈的BCIduino**通过**LSL**将脑电数据实时传输至Matlab的
> 在使用前需要将文件夹`liblsl-Matlab-master`中的内容全部添加至matlab路径
> 这里有个不可忽视的问题,那就是由于windows电脑在通过COM端口接收数据的时候会有缓冲,所以导致在matlab中接收到的数据不那么实时
> 这里有个解决的办法就是需要对windows电脑的FTDI缓冲进行修复,来保证接收到的脑电数据尽可能的实时
[Windows 上的 FTDI 缓冲区修复](https://github.com/a839290771/SSVEP-BCI-OpenBCI/new/ATL_version)
👆以上的这一步是一定一定要做的,教程可能有些老,可自己搜索一下win10/win11的解决办法,几乎差不多
## 3 `butter_bandpass.m`
该函数通过四个输入参数来计算带通滤波器的系数[b,a]
> 该函数在 **`offline_analysis`和`online_analysis`** 中均有调用
> 四个参数分别为(f1,f2,采样率Fs,滤波器阶数)
## 4 `sig_pro_all.m`
该函数是用来将传入的RAW脑电信号进行预处理并通过频谱幅值判断诱发出当前脑电信号的闪烁刺激的频率
> 在使用前需要将文件夹`Brainflow`文件夹中的内容全部添加至matlab路径
```MATLAB
% 函数说明 sig_pro_all,即 signal_processing_all
% 该函数是用来将传入的RAW脑电信号进行预处理并通过频谱幅值判断产生当前脑电信号的刺激频率
% 最终将频率判断的结果返回给主程序中
% 这里仅用频谱的最高幅值判断有问题,较好的方法应参照以下文献:
%
% @ARTICLE{1035968,
% author={Ming Cheng and Xiaorong Gao and Shangkai Gao and Dingfeng Xu},
% journal={IEEE Transactions on Biomedical Engineering},
% title={Design and implementation of a brain-computer interface with high transfer rates},
% year={2002},
% volume={49},
% number={10},
% pages={1181-1186},
% doi={10.1109/TBME.2002.803536}}
```
## 5 `offline_analysis.m`
> 在使用前需要将文件夹`Brainflow`文件夹中的内容全部添加至matlab路径
```MATLAB
% 该程序为脑电信号的预处理程序,并画出预处理过程中的所有图形(时域+频域)
% 脑电信号预处理流程如下:
% RAW数据-->去除基线漂移-->50Hz陷波滤波-->3-20Hz带通滤波-->对处理好的N次trail(N个人)数据取平均-->FFT
% 该Github项目也给出了部分的RAW数据
% 该程序所用数据为2021BCI竞赛中所采集的RAW数据,具体数据集可在清华大学脑机接口组下载,这里也给出对应的文献
%
% @article{zhu_jiang_dong_gao_wang_2021,
% title={An Open Dataset for Wearable SSVEP-Based Brain-Computer Interfaces},
% volume={21},
% ISSN={1424-8220},
% DOI={10.3390/s21041256},
% number={4},
% journal={Sensors},
% publisher={Sensors},
% author={Zhu, Fangkun and Jiang, Lu and Dong, Guoya and Gao, Xiaorong and Wang, Yijun},
% year={2021},
% pages={1256}}
```
## 6 `online_analysis.m`
> 在使用前需要将文件夹`liblsl-Matlab-master`,`Brainflow`文件夹中的内容全部添加至matlab路径
```MATLAB
%% 程序说明
% 该程序为SSVEP的在线分析程序
% 该程序包含完整的信号采集、信号预处理、SSVEP信号的识别
%
% 程序流程如下:
% 笔记本电脑蓝牙连接蓝牙小车的HC-05模块-->依靠LSL实时获取OpenBCI传来的数据-->脑电信号处理(sig_pro_all函数)-->
% -->判断诱发SSVEP的刺激频率并控制小车运动
%
```
## 7 EEG_RAW_data 文件夹
存放的为RAW脑电数据,这里给出了S010-S050个mat文件,具体数据集情况见文件夹下`readme.pdf`文件以及以下文献
```
@article{zhu_jiang_dong_gao_wang_2021,
title={An Open Dataset for Wearable SSVEP-Based Brain-Computer Interfaces},
volume={21},
ISSN={1424-8220},
DOI={10.3390/s21041256},
number={4},
journal={Sensors},
publisher={Sensors},
author={Zhu, Fangkun and Jiang, Lu and Dong, Guoya and Gao, Xiaorong and Wang, Yijun},
year={2021},
pages={1256}}
```
## 8 `liblsl-Matlab-master`---库文件夹
> LSL的库,需要将该文件及其文件夹完整的添加到Matlab路径,具体可见[LSL的Github](https://github.com/sccn/labstreaminglayer)
![image](https://user-images.githubusercontent.com/50650583/150638131-a7678c43-3b60-407d-8e98-7ccff088fc50.png)
<img src='https://user-images.githubusercontent.com/50650583/150638053-040a6092-8e49-4874-a09b-a383d0c7ff28.png' width='80%'/>
## 9 `Brainflow`---库文件夹
> Brainflow的库,需要将该文件及其文件夹完整的添加到Matlab路径,里面有大量的用于信号处理的封装好的函数,具体可见Brainflow官网
[Brainflow官方参考资料](https://brainflow.readthedocs.io/en/stable/index.html)
> 文件太大了,上传不上来https://brainflow.readthedocs.io/en/stable/BuildBrainFlow.html#matlab,可以自己在官方下hhhh
## 10 data 文件夹
存放的为Benchmark Dataset脑电数据,这里给出了S1-S35个mat文件,具体数据集情况见文件夹下`readme.pdf`文件以及以下文献
[A Benchmark Dataset for SSVEP-Based Brain–Computer Interfaces | IEEE Journals & Magazine | IEEE Xplore](https://ieeexplore.ieee.org/document/7740878)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
bci 系统复现,项目主要利用结合了稳态视觉诱发电位(SSVEP)范式的脑机接口技术。通过自主设计的刺激器闪烁刺激,诱发大脑产生与闪烁刺激频率一致的基频和倍频的脑电信号。通过脑电采集设备对脑电信号进行采集放大,并传达给计算机,计算机在MATLAB 软件中对采集得到的信号采取频谱分析,进行对脑电信号进行处理识别,从而实现脑电信号与控制信号的转换。之后,将控制信号通过蓝牙设备对第三方设备传达控制指令,凭借指令第三方应用根据对应的预先设定的指令进行预想的状态反应。 即可实现利用脑电信号进行脑控打字拼写、脑控智能机器人(轮椅模型)、脑控智能家居的控制。从而达到为某些失能人群提供服务的目的。 1 产品包括视觉刺激软(硬)件、脑电采集设备、脑电信号放大器、脑电信号处理软件、以及相应的功能性辅助软件五部分。仅需对不同个体进行简单校准,即可进行使用。产品主要利用了稳态视觉诱发电位的脑机接口技术,通过产品配套的硬件以及软件部分。对于有运动障碍,语言障碍的使用者,仅需使用者视觉情况正常以及大脑意识清晰,即可通过SSVEP刺激,诱发使用者大脑枕叶视觉区产生稳态视觉诱发电位。
资源推荐
资源详情
资源评论
收起资源包目录
bci-meta bci ssvep 系统复现,包括ssvep,mi p300各种相关信号处理算法 (172个子文件)
libWaveLib.a 851KB
libBrainflow.a 505KB
libDSPFilters.a 232KB
offline_analysis.asv 5KB
brainflowTargets-release.cmake 6KB
brainflowTargets.cmake 6KB
brainflowConfig.cmake 3KB
brainflowConfigVersion.cmake 2KB
MLModule.dll 4.16MB
MLModule32.dll 4.07MB
BoardController.dll 1.14MB
neurosdk-x64.dll 1.08MB
BoardController32.dll 1.03MB
neurosdk-x86.dll 928KB
DataHandler.dll 767KB
eego-SDK.dll 625KB
DataHandler32.dll 608KB
eego-SDK32.dll 498KB
BrainFlowBluetooth.dll 477KB
BrainFlowBluetooth32.dll 342KB
gforce64.dll 335KB
gForceSDKWrapper.dll 285KB
gforce32.dll 272KB
gForceSDKWrapper32.dll 224KB
MuseLib.dll 207KB
BrainBitLib.dll 196KB
GanglionLib.dll 191KB
Unicorn.dll 170KB
MuseLib32.dll 163KB
BrainBitLib32.dll 151KB
GanglionLib32.dll 148KB
simpleble-c.dll 143KB
simpleble-c32.dll 131KB
libMLModule.dylib 8.16MB
libneurosdk-shared.dylib 4.3MB
libBoardController.dylib 2.34MB
libDataHandler.dylib 1.57MB
libsimpleble-c.dylib 384KB
libMuseLib.dylib 219KB
libBrainFlowBluetooth.dylib 192KB
libBrainBitLib.dylib 159KB
libGanglionLib.dylib 158KB
data_handler.h 4KB
board_info_getter.h 3KB
board_controller.h 2KB
ml_module.h 603B
shared_export.h 449B
Brainflow.lib 1.36MB
Brainflow32.lib 893KB
WaveLib.lib 353KB
DSPFilters.lib 347KB
BoardController32.lib 10KB
BoardController.lib 9KB
DataHandler32.lib 7KB
DataHandler.lib 7KB
GanglionLib32.lib 3KB
BrainBitLib32.lib 3KB
GanglionLib.lib 3KB
BrainBitLib.lib 3KB
MuseLib32.lib 3KB
BrainFlowBluetooth32.lib 3KB
MuseLib.lib 3KB
BrainFlowBluetooth.lib 3KB
MLModule32.lib 2KB
MLModule.lib 2KB
offline_analysis.m 5KB
dataAnalysis.m 4KB
online_analysis.m 3KB
sig_pro_all.m 3KB
BandPower.m 1KB
Transforms.m 1KB
EEGMetrics.m 1015B
SignalFiltering.m 773B
train_receive_data.m 750B
BandPowerAll.m 698B
Downsampling.m 665B
Denoising.m 654B
bluetooth_test.m 543B
Markers.m 477B
Serialization.m 464B
BrainFlowGetData.m 413B
test2.m 398B
butter_bandpass.m 344B
S035.mat 9.48MB
S048.mat 9.37MB
S001.mat 9.37MB
S045.mat 9.35MB
S018.mat 9.29MB
S036.mat 9.26MB
S009.mat 9.26MB
S026.mat 9.25MB
S014.mat 9.22MB
S021.mat 9.22MB
S031.mat 9.2MB
S015.mat 9.2MB
S016.mat 9.19MB
S002.mat 9.19MB
S037.mat 9.18MB
S047.mat 9.18MB
S028.mat 9.16MB
共 172 条
- 1
- 2
资源评论
高山仰止景
- 粉丝: 1521
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 人工智能实验四 感知器算法的设计实现
- java小项目多线程多线程 复制文件 冒泡排序 群聊
- 四数之和(java代码).docx
- 701837906919458TapScanner v3.0.10 (Pro).apk
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
- 毕业设计,基于PyQt5实现的可视化界面的Python车牌自动识别系统源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功