运动想象丨特征提取 MATLAB例程(一)

运动想象BCI丨特征提取 MATLAB例程(一)


开源是一种情怀,像开源致敬!

源码地址:M-MohammadPour/EEGClassification

特征提取

  实施脑电信号分类,该计划分为两个阶段:
  第一阶段是使用自回归(AR),共空间模式(CSP),离散小波变换(DWT)和功率谱密度(PSD)的特征提取方法。
  下面探讨下CSP特征提取
  共空间模式(CSP)理论推导:https://blog.csdn.net/missxy_/article/details/81264953
运动想象丨特征提取 MATLAB例程(一)_第1张图片

例程 app4.m

% Extract Common Spatial Pattern (CSP) Feature
close all; clear; clc;

load dataset_BCIcomp1.mat

EEGSignals.x=x_train;
EEGSignals.y=y_train;
Y=y_train;

classLabels = unique(EEGSignals.y); 
CSPMatrix = learnCSP(EEGSignals,classLabels);
nbFilterPairs = 1;

X = extractCSP(EEGSignals, CSPMatrix, nbFilterPairs);  
EEGSignals.x=x_test;
T = extractCSP(EEGSignals, CSPMatrix, nbFilterPairs);  

save dataCSP.mat X Y T


color_L = [0 102 255] ./ 255;
color_R = [255, 0, 102] ./ 255;

pos = find(Y==1);
plot(X(pos,1),X(pos,2),'x','Color',color_L,'LineWidth',2);

hold on
pos = find(Y==2);
plot(X(pos,1),X(pos,2),'o','Color',color_R,'LineWidth',2);

legend('Left Hand','Right Hand')
xlabel('C3','fontweight','bold')
ylabel('C4','fontweight','bold')

运行结果

  原一次被试运动想象信号如下:
运动想象丨特征提取 MATLAB例程(一)_第2张图片
  使用CSP特征提取方法将原运动想象信号转换为一个二维特征(如红色或蓝色点):
运动想象丨特征提取 MATLAB例程(一)_第3张图片
  转为二维点后,即可使用分类器进行分类。

你可能感兴趣的:(脑机接口,脑机接口实战)