探秘采集脑电波!

news2025/1/18 20:59:38

原文来自微信公众号:工程师看海,与我联系:chunhou0820

看海原创视频教程:《运放秘籍》

大家好,我是工程师看海,原创文章欢迎点赞分享

什么是脑电波?脑电波能来干嘛?怎么采集脑电波?脑电波采集有什么难点?

事情是这样子的,前一阵小米公布工程师计划,其中有一个项目是脑电波物联网设备,可以采集脑电波,用脑电波来控制灯的开关,起名为“MiGu”,恰好,笔者以前做过脑电波采集相关内容,今天就来介绍下传说中的脑电波。

图片

脑电波真有那么神奇吗?

脑电波是大脑内部的大量神经元在工作中自发或被动产生的电场变化,可以从大脑内部或者头皮表面来采集到这个脑电波。脑内的局部场电位信噪比稍微高一些,信号比较大,一般是mV级别,而头皮表面的信号微弱,一般是uV级别。

图片

每个人都有脑电波,只是没有电影中演的神奇罢了,这并不是什么特意功能,比如当人闭眼时,在头部后方就有大约13Hz的脑电波出现,称之为α波,当睁眼时,这个波就会消失。

图片

当我们看显示器,显示器以10Hz闪烁时,在枕区(头部靠后)就会产生10Hz的脑电波;如果看13Hz,就会产生13Hz脑电波。

图片

我们的脑电波虽然不是什么特异功能,但是可以用脑电波来控制外部设备,比如下面的小猴子,通过老电波来控制机械臂抓取食物。

图片

第一条脑电波

一般认为,第一条脑电波信号是由德国医生汉斯·伯格首次记录。

图片

优于技术限制,早期记录脑电波手段简单粗暴,把检测探针直接插入大脑,来记录信号,这应该就是侵入式脑电采集方法,而且记录设备庞大复杂,使用的都是模拟设备,安全性、操作性都很低。

图片

随着科技的进步,脑电采集方法和设备取得了重大技术飞跃,

当今脑电采集方法可以分为侵入式和非侵入式两种,顾名思义,侵入式就是需要把电极插入大脑来记录信号,这种方法是有创方法,需要借助外科手术才能实现。

侵入式脑电采集

埃隆马斯克的脑机接口设备就是有创方式,通过机器人将电极植入大脑来记录信号。

图片

有创方式操作复杂,具有安全性风险,而且随着时间的推移,植入脑内的电极会被不导电的神经纤维包裹,进而导致电极性能下降,因此灵活便捷的非侵入脑电波采集方法就逐渐进入人们视野。

图片

非侵入湿电极

下图是非侵入与侵入式电极的对比,左图是非侵入,右图是侵入电极。非侵入电极在电极和头皮表面涂抹导电膏(GEL),侵入式电极把探针阵列插入表皮,甚至直大电脑灰质。对头皮表面的电压信号进行放大,就可以采集脑电波了。

图片

图片

电极表面涂抹导电膏后容易滑动,为了固定电极、统一电极记录位置,就发明了脑电帽,用注射器注射到电极时,需要摩擦头皮,破坏角质层,降低电极与皮肤的接触阻抗,一般这个阻抗要小于几十KΩ,如果阻抗太大,那么采集的信号就很微弱,而且噪声非常大,抗干扰能力低。

图片

非侵入干电极

采集完脑电波之后,被试人员还需要洗头,整个操作流程非常复杂,因此一种干电极脑电采集方法又被提出来了,这种电极随带随用。下图一些干电极,不需要导电膏,穿过头发与头皮表面接触即可发挥作用,然而干电极的接触阻抗一般很大,采集性能往往不如湿电极。

图片

小米项目组的MiGu看起来使用的就是干电极了,遗憾的是,小米并没有公布脑电波采集效果,毕竟这只是一个2天就搞定的一个比赛而已,其实采集脑电并发出控制指令并不是很难,淘宝就一大堆这类玩具。

难点在于提高信号的信噪比、分类正确率、信息传输速率、交互方式等,这些内容以后有时间会深度进行介绍。

如果看到这里,请点赞、收藏、分享三连!

限时免费扫码进群,交流更多行业技术

图片

推荐阅读▼

电池、电源

硬件文章精选

华为海思软硬件开发资料

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Stable Diffusion扩散模型【详解】小白也能看懂!!

文章目录 1、Diffusion的整体过程2、加噪过程2.1 加噪的具体细节2.2 加噪过程的公式推导 3、去噪过程3.1 图像概率分布 4、损失函数5、 伪代码过程 此文涉及公式推导,需要参考这篇文章: Stable Diffusion扩散模型推导公式的基础知识 1、Diffusion的整体…

【C语言】【Leetcode】【递归】22. 括号生成

文章目录 题目思路代码实现 题目 链接: https://leetcode.cn/problems/generate-parentheses/description/ 思路 我们可以通过回溯递归算法求解 如果左括号数量不大于n,我们可以放一个左括号。 如果右括号数量小于左括号的数量,我们可以放一个右括号…

sky06笔记下

1.边沿检测 检测输入信号din的上升沿&#xff0c;并输出pulse module edge_check ( clk, rstn, din, pulse ); input wire clk,rstn; input wire din; output reg pulse;wire din_dly;always (posedge clk or negedge rstn)beginif(!rstn)din_dly < 1b0;elsedin_dly < d…

Rust egui(4) 增加自己的tab页面

如下图&#xff0c;增加一个Sins也面&#xff0c;里面添加一个配置组为Sin Paraemters&#xff0c;里面包含一个nums的参数&#xff0c;范围是1-1024&#xff0c;根据nums的数量&#xff0c;在Panel中画sin函数的line。 demo见&#xff1a;https://crazyskady.github.io/index.…

b站评论词频统计绘制词云图

一、评论爬取 在笔者之前的文章中&#xff0c;已经专门介绍了b站评论的爬取&#xff08;传送门&#xff09;&#xff0c;这里只对b站评论的文本数据做展示。如下图所示&#xff1a; 二、分词、去停用词、词频统计 Python中的Jieba分词作为应用广泛的分词工具之一&#xff0c;其…

51单片机实验01-点亮LED小灯

目录 一&#xff0c;软件下载 二&#xff0c;单片机概述 1&#xff0c;单片机内部资源 1&#xff09;flash 2&#xff09;ram 3&#xff09;sfr 2&#xff0c;51单片机 3&#xff0c;单片机最小系统 三&#xff0c;点亮最右边的小灯 1&#xff0c;指出满足小灯点亮的有…

关节驱动器 CANFD 通信协议

前言 睿尔曼关节采用了问答方式进行通信&#xff0c;控制器发出指令包&#xff0c;模块返回应答包。一个CAN 总线网络中允许有多个模块&#xff0c;所以每个模块都分配有一个 ID 号。控制器发出的控制指令中包含 ID 信息&#xff0c;只有匹配上 ID 号的模块才能完整接收这条指令…

数学知识--(质数,约数)

本文用于个人算法竞赛学习&#xff0c;仅供参考 目录 一.质数的判定 二.分解质因数 三.质数筛 1.朴素筛法 2.埃氏筛法 3.线性筛法 四.约数 1.求一个数的所有约数 2.约数个数和约数之和 3.欧几里得算法&#xff08;辗转相除法&#xff09;-- 求最大公约数 一.质数的判定 …

MVCC详细总结

简介 MVCC&#xff08;Multi-Version Concurrency Control&#xff09;是一种多版本并发控制机制&#xff0c;主要用于数据库管理系统中&#xff0c;实现对数据库的并发访问。在编程语言中&#xff0c;MVCC可以实现事务内存。 MVCC的特点是读不加锁&#xff0c;读写不冲突。MVC…

Python 一步一步教你用pyglet制作“彩色方块连连看”游戏(续)

“彩色方块连连看”游戏(续) 上期讲到相同的色块连接&#xff0c;链接见&#xff1a; Python 一步一步教你用pyglet制作“彩色方块连连看”游戏-CSDN博客 第八步 续上期&#xff0c;接下来要实现相邻方块的连线&#xff1a; 首先来进一步扩展 行列的类&#xff1a; class R…

STM32 can通信部分函数注释

-----CAN1_Mode_Init CAN模式初始化函数:u8 CAN1_Mode_Init(u8 tsjw,u8 tbs2,u8 tbs1,u16 brp,u8 mode) //CAN初始化 //tsjw:重新同步跳跃时间单元.范围:CAN_SJW_1tq~ CAN_SJW_4tq //tbs2:时间段2的时间单元. 范围:CAN_BS2_1tq~CAN_BS2_8tq; //tbs1:时间段1的时间单元. 范…

day63 单调栈part02

503. 下一个更大元素 II 中等 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&#xff0c;返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序&#xff0c;这个数字之后的第一个比它更…

vue快速入门(六)v-else和v-else-if

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-else-if用法v-else用法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…

docker部署nacos,单例模式(standalone),使用内置的derby数据库,简易安装

文章目录 前言安装创建文件夹docker指令安装docker指令安装-瘦身版 制作docker-compose.yaml文件查看页面 前言 nacos作为主流的服务发现中心和配置中心&#xff0c;广泛应用于springcloud框架中&#xff0c;现在就让我们一起简易的部署一个单例模式的nacos&#xff0c;版本可…

算法学习系列(四十六):迭代加深、双向DFS

目录 引言概念一、加成序列二、送礼物 引言 本文主要讲了&#xff0c; D F S DFS DFS 的另外两种优化&#xff0c;分别是迭代加深和双向 D F S DFS DFS &#xff0c;思路还是非常清晰明了的&#xff0c;只要会写 D F S DFS DFS 那么这些剪枝和优化其实还是非常的容易的&…

Vue监听器watch的基本用法

文章目录 1. 作用2. 格式3. 示例3.1 value 值为字符串3.2 value 值为函数3.3 value 值为对象 4. 与计算属性对比 1. 作用 监视数据变化&#xff0c;执行一些业务逻辑或异步操作。 2. 格式 监听器 watch 内部以 key &#xff1a;value 的形式定义&#xff0c;key 是 data 中的…

用html写一个爱心

<!DOCTYPE html> <html lang"zh-CN"><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /><title>爱您</title><style>* {padding: 0;margin: 0;}body {background-color: pin…

C语言笔试题之求解X的平方根

求解X的平方根 一、实例要求 1、给定一个非负整数 x &#xff0c;计算并返回 x 的算术平方根 &#xff1b;2、由于返回类型是整数&#xff0c;结果只保留整数部分 &#xff0c;小数部分将被舍去&#xff1b;3、不允许使用任何内置指数函数、运算符&#xff1b; 二、实例分析…

图DP

目录 有向无环图DP 力扣 329. 矩阵中的最长递增路径 力扣 2192. 有向无环图中一个节点的所有祖先 有向有环图DP 力扣 1306. 跳跃游戏 III 有向无环图DP 力扣 329. 矩阵中的最长递增路径 给定一个 m x n 整数矩阵 matrix &#xff0c;找出其中 最长递增路径 的长度。 对…

C语言:文件操作(二)

目录 前言 4、文件的顺序读写 4.1fputc 4.2 fgetc 4.3 fputs 4.4 fgets 4.5 fprintf 4.6 fscanf 4.7 fread和fwrite 结&#xff08;二&#xff09; 前言 接者“C语言&#xff1a;文件操作&#xff08;一&#xff09;”往下讲。 本篇文章将介绍C语言的文件操作&#xf…