【脑电信号处理与特征提取】P5-彭薇薇:脑电信号的预处理及数据分析要点

彭薇薇:脑电信号的预处理及数据分析要点

脑电

脑电是神经活动的测量方法,在不同位置测量有不同的方法。比如大脑皮层表面测量的是ECoG,在头皮测量的是EEG。除了EEG是无损的,其他都是有损的。
在这里插入图片描述
在这里插入图片描述

脑电信号采集系统

下面是完整的脑电采集系统,需要注意的地方是给被试者发送刺激信号的同时,也需要给放大器发送一个marker,这个是为了标记刺激开始时间。
在这里插入图片描述
下面是采集到的脑电数据,横轴是时间,纵轴每一行是一个电极。下面大概是10s的数据,时间点数取决于采样率,比如说采样率是100Hz,那就是每1ms就会采集一个点。
在这里插入图片描述

电极的放置

10-20系统电极放置法是国际脑电图学会规定的标准电极放置法,如下图所示:
在这里插入图片描述
将从鼻根至枕外粗隆的前后连线称为矢状线,将耳前凹之间的左右连线称为冠状线,两条线的焦点在头顶为Cz电极的位置。

  • 矢状线由前到后依次为Fpz、Fz、Cz、Pz和Oz,除Fpz与鼻根,Oz与枕外粗隆的距离为矢状线长度的10%外,其余点间距为矢状线长度的20%
  • 沿着冠状线,从左耳前凹10%处,依次为T3、C3、Cz、C4、T4,各点之间的距离均为冠状线长度的20%

在10-20的基础之上,在10%位置上进行电极的扩展,便得到10-10系统。
在这里插入图片描述

伪迹

采集的脑电信号难以避免会有许多伪迹,比如肌电、心电等。
下面是一个例子,左上图是我们理想上想要得到的蝴蝶图,左下图是实际采集到的带有伪迹的蝴蝶图。
在这里插入图片描述
对蝴蝶图的每一个时间点计算GFP,会得到右上图,很明显信噪比较高的蝴蝶图计算得到的GFP波形光滑,成分清晰,低信噪比时,尽管有相似的波形,但成分的清晰程度受到噪声的显著影响。
伪迹的类型
EEG数据采集时,伪迹是一定存在的。伪迹无时无刻伴随着EEG信号的采集。
在这里插入图片描述
伪迹的波形
在这里插入图片描述

生理伪迹

肌电伪迹主要是头部和颈部肌肉收缩,通常来自于颞叶区域(有于颞叶区域肌肉收缩)、额叶区域(由于面部肌肉收缩)或颞-枕区域(由于颈部肌肉的收缩)。
在这里插入图片描述
如何消除肌电伪迹,可以通过平均叠加的方法。
在这里插入图片描述
如何消除心电伪迹,一般的方法是,在采集脑电的时候,同步采集心电信号,如果信号轨迹和心电信号相似的话,那就很可能是心电伪迹。

非生理伪迹

大部分由于脑环境和采集设备的问题
在这里插入图片描述
在这里插入图片描述

如何减轻伪迹干扰效应

Q: EEG中的伪迹会带来哪些问题?
A: 1)伪迹会降低叠加平均后ERP波形的信噪比,从而降低实验组或条件之间发现的显著差异的可能性
2)一些类型的伪迹可能不是随机的,而是系统性出现的,如某些伪迹是和刺激所定的
3)ERP实验中常见的最常见的伪迹是有眨眼和眼动引起的生理伪迹,而它们都会改变感官输入,可能是重要的混淆因素。

Q: 减轻伪迹干扰效应的两类方法
A: 1)伪迹排除:将污染的试次从叠加平均波形中排除
2)伪迹矫正:估计伪迹对ERPs的影响,然后运用矫正程序来检出估计出的伪迹成分

EEG预处理

在这里插入图片描述
基本原则:尽可能的保留数据原貌,相对原则
在这里插入图片描述

滤波

滤波,对特定频率进行有效提取,并对提取部分进行特定的处理(增益、衰减、滤除)。

  • 低通滤波:保留低于某下限的低频信号,去除或减弱高于该值的信号
  • 高通滤波:高频可以通过,去除低频
  • 带通滤波:保留某上下限值之间的信号
  • 凹陷滤波:去除某上线限之间的信号,保留在此之外的信号。
    在这里插入图片描述
    下面是高通滤波和低通滤波的一个例子,初始信号在时域和频域上如下图所示。
    在这里插入图片描述
    当使用40Hz的低通滤波来过滤掉高于40Hz的频率,信号在时域和频域上如下图所示,可以看到信号的波形变得更加光滑了。
    在这里插入图片描述
    在此基础上使用1Hz的高通滤波来过滤掉低于1Hz的频率成分,信号在时域和频域上如下图所示。
    在这里插入图片描述
    通过上面的例子,我们可以总结出高通滤波和低通滤波对波形的影响,如下图所示,高通滤波是过滤掉高于一定频率的信号,会使信号有一些失真;低通滤波是过滤掉低于一定频率的信号,会使信号波形变得平滑。
    在这里插入图片描述
    那么不同频率的高通滤波对信号有什么影响呢?下面进行了一个实验,数据均进行30Hz的低通滤波,并进行7中不同的高通滤波:DC(no filter)、0.01Hz、0.1Hz、0.3Hz、0.5Hz、0.7Hz、1Hz。可以看到,高通滤波实验的频率越高,衰减越多,而且可能会诱发一些假的波峰。
    在这里插入图片描述
    使用滤波的注意点如下:
    在这里插入图片描述

重参考

下图是几个参考的选择,没有最优选择,需要根据实验去抉择。
在这里插入图片描述
在这里插入图片描述

分段和基线矫正

比如ERP实验中,给予某种刺激后采集被试者的脑电信号,可以重复给予100次刺激,最后将这一百次采集的脑电信号进行分段平均得到最后的脑电。分段就是每次实验以刺激点为零点,选择一定的时间窗口作为一个epoch。
在这里插入图片描述
分段前的数据是二维数据(时间点x电极),分段后变为三维数据(时间点x电极xtrail)。
在这里插入图片描述

Q:什么是基线?
A:基线是指在刺激或任务开始之前的EEG信号水平,通常代表了静息或无刺激条件下的脑电活动。

基线校正的目的是将整个EEG信号的基线水平调整为零,以便更好地分析和比较不同时间点或条件下的EEG活动。这样做可以消除或减小基线偏移对后续信号处理和分析的影响。

基线校正通常通过以下步骤来实现:

  • 选择基线时段:首先,需要选择一个基线时段,这是在刺激或任务开始之前的一个时间段,通常是在刺激或任务之前的几百毫秒。基线时段应该是没有刺激或任务相关活动的平稳EEG信号。
  • 计算基线平均值:在选择的基线时段内,计算每个电极通道的平均值或中值。这个平均值或中值将被认为是基线水平。
  • 基线校正:将每个时间点的EEG信号减去对应电极通道的基线平均值。这将使基线水平被调整为零,而信号的相对变化更加突出。
    在这里插入图片描述

坏段剔除

在这里插入图片描述

坏导剔除/插值

有些电极可能由于时间问题损坏,需要剔除或者利用插值给坏电极一个值。直接剔除的缺点是会导致被试的电极数去其他被试不同,后续计算处理较麻烦;插值的缺点是会降低空间分辨率。
在这里插入图片描述

独立成分分析(ICA)

假设观测信号是由多个相互独立的成分混合而成,可以使用线性混合模型来描述这种混合过程。线性混合模型可以表示为 X = AS,其中 X 是观测信号矩阵,A 是混合矩阵,S 是独立成分矩阵。ICA的目标是估计混合矩阵 A 的逆矩阵,即 W = A^-1。这个逆矩阵用于将观测信号 X 转换为独立成分 S。独立成分矩阵 S 包含了相互独立的成分信号,每个成分信号对应一个独立的脑电活动。在这里插入图片描述
然后我们从分离出来的多个脑电活动中选择我们需要的脑电,去除噪声,比如肌电和眼动等。
在这里插入图片描述
下面是典型的噪声的伪迹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

事件相关电位(ERPs)

在这里插入图片描述
如何获取ERPs?
需要进行多次重复刺激,然后进行分段,下图红线表示每次刺激的时间点,矩阵代表分段的时间窗口。六次实验事件分别是x、x、o、o、x、x。
在这里插入图片描述
然后对相同刺激的实验分别进行叠加求平均,得到ERPs。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/359872.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

seata Adjusted frame length exceeds 8388608: 539959368,nacos+mysql+seata部署

问题:docker 部署 seata 后出现异常 seata Adjusted frame length exceeds 8388608: 539959368 CSDN上找了一圈都解决不了。github又半天访问不上。后来终于访问上了,发现这是一个很离谱的问题。。。 原因:访问错了端口 seata默认分两个端口…

字符串中的单词反转【leetcode】

本题选自leetcode图解算法数据结构一书 你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息 message 转换为正常语序。 注意:输入字符串…

充电桩项目实战:搞定多数据源!

你好,我是田哥 最近,我在对充电桩项目进行微服务升级中,既然是项目升级,难免会遇到各种各样的问题。比如:分布式事务问题、多数据源问题、分布式锁问题等。 项目技术栈: SpringSpring BootSpring Cloud Ali…

Redis常见数据类型[上]

目录 前言: 基本全局命令 KEYS EXISTS DEL EXPIRE TTL TYPE 数据结构和内部编码 内部编码: 单线程架构 引出单线程模型: 为什么单线程还这么快? String字符串 字符串数据类型: 常见命令: S…

第十四篇【传奇开心果系列】BeeWare的Toga开发移动应用示例:Toga实现页面切换

传奇开心果系列博文 系列博文目录BeeWare的Toga开发移动应用示例系列博文目录前言一、Toga页面跳转和切换方式方法介绍二、使用TabView来实现页面切换三、使用页面堆栈管理器(Page Stack Manager)来实现页面切换四、使用网格布局(Grid Layout)和可见性控制来实现页面之间的…

防御保护--NAT策略

目录 NAT策略 NAT类型 server-map表 P2P --- peer to peer 网络类型 ​编辑 目标NAT--服务器映射 双向NAT ​编辑 多出口NAT NAT策略 静态NAT --- 一对一 动态NAT --- 多对多 NAPT --- 一对多的NAPT --- easy ip --- 多对多NAPT 服务器映射 源NAT--基于源IP地址进行转…

算法:分界线

一、算法描述 电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字 剪切下来,剪拼成匿名信。 现在有一名举报人,希望借鉴这种手段,使用英文报刊完成举报操作。 但为…

如何从视频中提取高清图片?可以这样截取

如何从视频中提取高清图片?从视频中提取高清图片可以方便我们制作各种用途所需的素材,如海报、社交媒体配图等。此外,高清图片的细节和色彩也更丰富,可以更好地满足我们的视觉需求。从视频中提取高清图片是一项需要技巧的任务&…

leetcode 27.移除元素(python版)

需求 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…

代码随想录 Leetcode617.合并二叉树

题目: 代码(首刷看解析 2024年1月31日): class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if (!root1) return root2;if (!root2) return root1;root1->val root2->val;root1->left mergeTree…

计算机网络_1.2因特网概述

1.2因特网概述 一、网络、互联网与因特网的区别与联系1、网络2、互联网3、因特网4、 互联网与因特网辨析 二、因特网介绍1、因特网发展的三个阶段2、因特网简介(1)因特网服务提供者(ISP)(2)因特网已经发展成…

数字孪生智慧能源电力Web3D可视化云平台合集

前言 能源电力的经济发展是中国式现代化的强大动力,是经济社会发展的必要生产要素,电力成本变化直接关系到工业生产、交通运输、农业生产、居民生活等各个方面,合理、经济的能源成本能够促进社会用能服务水平提升、支撑区域产业发展&#xf…

监测Tomcat项目宕机重启脚本(Linux)

1.准备好写好的脚本 #!/bin/sh # 获取tomcat的PID TOMCAT_PID$(ps -ef | grep tomcat | grep -v tomcatMonitor |grep -v grep | awk {print $2}) # tomcat的启动文件位置 START_TOMCAT/mnt/tomcat/bin/startup.sh # 需要监测的一个GET请求地址 MONITOR_URLhttp://localhost:…

Spring Cloud中@RefreshScope实现动态刷新的原理

在现代微服务架构中,Spring Cloud已经成为了一种流行的选择,它提供了许多用于构建和部署微服务的工具和库。其中,动态刷新配置是Spring Cloud中一个非常有用的特性,它允许我们在不重启服务的情况下更新配置。这个特性是通过Refres…

Java入门高频考查基础知识8(腾讯18问1.5万字参考答案)

刷题专栏:http://t.csdnimg.cn/gvB6r Java 是一种广泛使用的面向对象编程语言,在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性,适用于多种应用场景,包括企业应用、移动应用、嵌入式系统等。 以下是几个面试技巧&…

c#鼠标绘制

有用的没用的,用的上的用不上的,能写的不能写的,反正想起来就写了,比如这篇,好像一般也没什么用,emmm,或许,做录制软件的时候可以用一下。 顾名思义,本篇主要就是来实现将…

Linux上搭建mqtt开发环境及服务器部署(MosquittoEMQX)

👉👉👉关于Mosquitto代码编写及EMQX的使用,由此入 一、安装编译Mosquitto 使用Mosquitto编写程序连接MQTT服务器,并收发数据1-安装所需依赖 用于在Linux系统上进行SSL/TLS加密通信的开发。它提供了一组用于加密和解密…

dvwa靶场xss储存型

xss储存型 xxs储存型lowmessage框插入恶意代码name栏插入恶意代码 medium绕过方法 high xxs储存型 攻击者事先将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。产生层面:后端漏洞特征:持久性的、前端执行、储存在后端数据…

vue前端页面时间显示问题解决方法

解决方法&#xff0c; <template slot-scope"scope"><span>{{ parseTime(scope.row.boxClosingOnlineTime, {y}-{m}-{d} {h}:{i}:{s}) }}</span> </template> 刷新页面&#xff1a; 此外&#xff0c;使用JsonFormat(pattern "yyyy-M…

天气预警API:提升公共安全与紧急响应效率的关键技术

摘要 随着全球气候变化的加剧&#xff0c;极端天气事件的频发对公共安全构成了巨大挑战。为了有效应对这些挑战&#xff0c;天气预警API作为一种关键技术&#xff0c;正在逐渐成为提升公共安全与紧急响应效率的重要工具。本文将探讨天气预警API的工作原理、应用场景以及如何通…
最新文章