MATLAB异步脑机接口CSP特征提取与处理系统
项目介绍
本项目是一个基于MATLAB开发的脑机接口(BCI)信号处理演示系统。该系统专注于共奏空间模式(Common Spatial Patterns, CSP)算法的实现及其在异步工作模式下的应用。脑机接口通过捕捉大脑电生理信号并转化为控制指令,为神经康复、智能假肢及人机交互提供技术支撑。本系统能够通过对多通道脑电(EEG)信号进行空域滤波,从高维背景噪声中提取反映特定任务意图(如运动想象)的特征向量。
功能特性
- 模拟脑电数据生成:系统内置数据生成模块,可模拟产生具有特定时频特性的两类脑电信号(如模拟左、右手运动想象时C3、C4区域的能量差异)。
- 数字滤波预处理:内置巴特沃斯带通滤波器,针对脑电信号中具有生理意义的频率成分进行提取,滤除高频噪声和低频漂移。
- 高效CSP算法实现:完整实现了基于协方差矩阵对齐与广义特征值分解的空域滤波器求解过程,支持自定义特征对数。
- 异步流式处理模拟:采用滑动窗口机制处理连续数据流,模拟真实异步BCI环境下的特征实时提取过程。
- 直观可视化分析:提供多维度的结果展现,包括特征空间分布、分量能量占比、动态特征跟踪曲线以及空间滤波器地形图拟合。
使用方法
- 环境配置:确保计算机已安装MATLAB及其信号处理工具箱(Signal Processing Toolbox)。
- 运行系统:在MATLAB命令行窗口中定位到项目根目录,直接运行脚本文件。
- 查看结果:程序运行后将自动生成可视化图表。用户可以通过观察分类特征分布图判断算法的分类能力,通过异步特征跟踪图观察信号在模拟时间轴上的动态响应。
- 参数调整:用户可根据需要修改采样频率、滤波频带、通道数量以及滑动窗口的步长等核心参数,以适应不同的实验需求。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 依赖工具箱:建议安装 Signal Processing Toolbox(用于调用内置滤波器函数),但系统内部也包含了一定程度的兼容性处理。
- 硬件性能:普通办公用笔记本电脑即可流畅运行上述模拟过程。
逻辑与实现细节
系统遵循标准的脑电特征提取流程,具体逻辑如下:
1. 参数与数据初始化
设定采样率为250Hz,研究频带设定为8Hz至30Hz。系统预设22个采集通道,每个数据片段长度为4秒。模拟生成两类数据,通过在特定通道叠加12Hz的正弦信号模拟μ/β节律的激活,同时加入高斯白噪声。
2. 预处理与协方差计算
对每一类训练数据进行零均值化处理。计算各类别试验的样本协方差矩阵,并计算其迹(Trace)进行归一化处理,最后求取该类别的平均协方差矩阵。
3. CSP算法核心步骤
第一步计算混合协方差矩阵并进行特征值分解,求得白化变换矩阵,以消除通道间的相关性。
第二步将原协方差矩阵变换到白化空间,通过广义特征值分解寻找能使两类信号投影方差差异最大的基向量。
第三步构建最终的空间投影矩阵,该矩阵的前几个维度对应于第一类信号能量最大的方向,后几个维度对应于第二类信号能量最大的方向。
4. 异步滑动窗口处理
系统通过拼接不同类别的脑电片段构造连续数据流。利用大小为250采样点(1秒)、滑动步长为50采样点(0.2秒)的窗口进行遍历。在每个窗口内执行:
- 本地零均值化。
- 应用空间投影矩阵将原始信号映射到分量空间。
- 选取最显著的若干个空域分量,计算其对数方差特征,作为分类器或状态监测的输入。
5. 结果可视化逻辑
- 特征分布图:通过计算投影后分量的对数方差比,展示两类试验在特征空间中的可分性。
- 能量占比:通过直方图展示经过CSP处理后,不同空域分量对信号总能量的贡献率。
- 跟踪曲线:展示在异步模拟过程中,选定特征随时间波动的趋势,反映系统对信号突变的感知能力。
- 地形映射:将空间投影矩阵的逆矩阵(代表空间模式)映射到二维平面,模拟电极在头皮上的空间排布及权重权重分布。