如何通过算法把脑电信号提取出来
答案:2 悬赏:0 手机版
解决时间 2021-12-29 05:07
- 提问者网友:嘚啵嘚啵
- 2021-12-28 20:55
如何通过算法把脑电信号提取出来
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-12-28 21:24
1999 年,Birbaumer 等人描述了一个使用脑电信号的脑机接口系统,以及其在残障人士 身上测试的情况。在他们开创性的工作中,Birbaumer 等人展示了一个身患肌萎缩性(脊髓) 侧索硬化(ALS)症病人成功使用BCI 系统控制一个拼写装置并与外界交流[望的号码,该系统 的速度居世界前列,可以达到68bits/min。此外,他们还较为深入的研究了基于运动想象的 脑机接口系统。目前他们的研究所主要从两方面推进脑机接口的研究:一方面为研究脑机接 口控制过程中的神经机理以实现具有互适应能力的脑机接口算法;另一方面为研制具有实用 价值的脑机接口装置。 望输入的字符。和之前的基于P300 的字符拼写系统相比,这个系统的通讯速度提高了很 多。奥地利格拉茨科技大学的脑机接口研究小组也是以运动想象为主要实验模式,实现了多 类在线异步脑机接口系统,其中的典型代表为神经假肢控制系统。这个系统中实验者是一名 小儿麻痹症患者,患者的左手手臂不能够自由抬放,手指不能抓握。实验中分析识别患者运 动想象时发出的脑电信号,转化为假肢的控制指令,从而使患者可以实现左手手臂的举起、 放下、手指的抓紧和松开等动作,从而让患者实现一定程度的自理。除此之外,该小组还开 发出了其他的脑机接口系统,像多媒体控制、虚拟键盘拼写等[25]。无独有偶,德国著名的 图宾根大学的wolpaw 等使用另一种方法设计了一种思想翻译装置,通过监测慢皮质电位的变 化来实现对外部设备的控制。系统中通过使用视觉反馈技术实现了字母拼写的功能。此外, 美国纽约州最全面的州立健康实验室Wadsworth 中心主要研究如何用从运动感觉皮质测得的 脑电信号控制指针的一维或二维运动[26]。为了便于比较和评估,他们研制了脑机接口-望和 紧张状态下加强。 θ 波 θ 波的频率为4~7Hz,波幅范围为10~40μ V,两侧对称,颞叶较明显,一般 困倦时出现,是中枢神经系统抑制状态的表现。健康成人脑电图中仅散在出现少量第 2 章 脑机接口原理和实验信号采集 θ 波。θ 波是正常儿童脑电图中主要成分,成人脑电图中出现θ 波表示为不正常波。θ 波出现与精神状态有关,在意愿受到挫折或抑郁时易出现,并可持续和病理状态下θ 波是很 常见的波形。 δ 波 δ 波出现在熟睡、婴儿及严重器质性脑病患者中,幅值在100 微幅左右。 该波只能在皮质内发生,而不受脑的较低级部位神经的控制。 γ 波 γ 波为30~60Hz 频率范围内的脑电活动,波幅较低,在额区和前中央区最为明显。 现在,基于EEG 的脑机接口主要集中在两个方向[41]:诱发的信号和自发的信号。当某 个异常事件发生后的300ms 左右,将会检测出一个被叫做P300 的电波峰值;当眼睛受到光或 图像刺激后,视觉皮层将会产生视觉诱发电位。这两类信号可以通过诱发产生,并且判断准 确率较高,但是缺点是需要外界刺激,并且依赖人体本身的某些知觉才能工作。而当某侧肢 体运动或者仅仅是想象其运动时同侧的脑区产生的事件相关同步电位、通过反馈训练可以自 主控制的皮层慢电位和自发的阿尔法、贝塔等脑电信号虽然不需要外界刺激,但是需要大量 的特殊训练和适应过程。
全部回答
- 1楼网友:醉吻情书
- 2021-12-28 22:32
close all ; %关闭当前及所有工作区中所有打开的数据库, 表, 和索引,并选择 1 号工作区。
clc;
clear all ; % 从内存中释放所有的内存变量和数组以及所有用户自定义的菜单栏, 菜单, 和窗口的定义。
%=====================================读取脑电数据,并显示波形
load dataset_bcicomp1.mat;
%用load函数,可以将数据读入到matlab的工作空间中.
count=140; %组数
%y_train(count)
c3=[];c4=[];
for i=1:count
temp1=x_train(:,1,i); %c3数据
c3=[c3,temp1];
temp2=x_train(:,3,i); %c4数据
c4=[c4,temp2];
%:表示取所有的,c3表示取x数据矩阵中的1至count列.
end
figure(1);
%画出图形1。
subplot(2,1,1)
%subplot是将多个图画到一个平面上的工具。其中,2表示是图排成2行,1表示图排成1列,也就是整个figure中有1个图是排成一行的,一共1行。后面一个1是指你现在要把曲线画到figure中哪个图上,表示是从左到右第一个位置。
plot((1:1152)/128,c3(:,1));%显示第一个c3数据
%画图,引号代表虚线。
xlabel('时间');
%该函数用于在绘图窗口中的横轴(x轴)方向上显示一个“标签”。
ylabel('c3通道脑电信号幅度');
%同上
subplot(2,1,2)
plot((1:1152)/128,c4(:,1));
xlabel('时间');
ylabel('c4通道脑电信号幅度');
l=1152;
fs=128;
%==================滤波器设计
wn=[0.125 0.1875]; %8~12hz带通滤波
wn1=[0.28 0.375]; %18~24hz带通滤波
b = fir1(50,wn,'dc-0');
%fir1是用窗函数法设计线性相位rirdf的工具箱函数,以实现线性相位firdf的标准窗函数法设计。
figure(2)
freqz(b,1,64,fs);
%专门用于求离散系统频响特性的函数。b和1分别为离散系统的系统函数分子、分母多项式的系数向量,64表示64个频率等分点的值。
%==================信号滤波
l1=filter(b,1,c3); %c3 8-12hz滤波
l2=filter(b,1,c4); %c4 8-12hz滤波
figure;
subplot(2,1,1);plot(1:1152,c3(:,2),'r',1:1152,l1(:,2),'k');
xlabel('时间');ylabel('幅度');legend('c3 滤波前','c3滤波后');
subplot(2,1,2);plot(1:1152,c4(:,2),'r',1:1152,l2(:,2),'k');
xlabel('时间');ylabel('幅度');legend('c4 滤波前','c4滤波后');
title('8-12hz滤波后的结果');
c3_shang=-(l1.^2).*log(l1.^2);
c4_shang=-(l2.^2).*log(l1.^2);
figure;
plot(1:1152,c3_shang(:,1),'r',1:1152,c3_shang(:,2),'k');
legend('左手c3','右手c3');
title('左手c3的熵和右手c3的熵的图');
figure;
plot(1:1152,c3_shang(:,1),'r',1:1152,c4_shang(:,1),'k');
legend('左手c3','左手c4');
title('左手c3的熵和左手c4的熵的图');
%由上图可以发现左手c3和右手c3的熵在600-1000点之间差别较大,因此在下面的分类中,选用600-1000之间的点进行分类
y_train=(y_train-1.5)*2;
model= svmtrain(y_train(1:90),c3(600:1000,1:90)','-s 0 -t 2 -c 1 -g 0.1');
[predictlabel,accuracy] = svmpredict(y_train(91:140),c3(600:1000,91:140)',model)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯