脑机接口技术——频域分析
脑机接口
- 一些琐碎的介绍
- 脑机接口技术
- 脑电信号
- 信号处理技术
- 频域划分
- 傅立叶变换(DFT)
- 快速傅立叶变换(FFT)
- 短时傅立叶变换(STFT)
- 小波变换(WT)
- 总结
一些琐碎的介绍
准备读研了,看了5年的CSDN,也该对社区有些回馈,顺手记录一下自己的心得和探索。第一次使用CSDN,还希望前辈和一些志同道合的学生一起研究探索。我本科研究方向是通信工程,SLAM。硕士研究方向是类脑计算和智能机器人。计算机视觉,机器学习,SLAM,脑机接口,强化学习,控制理论多少都会涉及到。有兴趣的可以联系我,一起讨论一下比较感兴趣的点。
脑机接口技术
脑电信号
脑电信号种类比较多,分为侵入式,半侵入式和非侵入式技术。侵入式需要在头皮做微创手术,会有术后愈合问题。主要受试者为猴子。在非侵入式技术中,其中EEG最为突出,由于采集设备小型方便,具有更大潜力。FNIRS(功能性近红外光谱技术)通过检测血氧来检测大脑活动程度,这也是十分新颖的探测手段,奈何设备过大,不利于便携。我们普遍了解的都是非侵入式脑电信号EEG(脑电图)。这类生理信号通过差分放大电路采集。可以对头皮表层信号放大。根据电势场公式 ϕ = k Q r \phi=\frac{kQ}{r} ϕ=rkQ,电势的大小与距离成反比。 这意味着采集的信号靠近头皮更加清晰。所以我们锁定主要的信号来源靠近头皮,也就是大脑皮层。由于人有超过300亿的神经元放电。单个通道采集的信号相当于上亿个头皮神经元信号总和。一些研究论文表明,携带信息的并非放电波形而是放电频率。这就引出之后的信号处理技术。
信号处理技术
频域划分
α \alpha α波(8-13hz)当清醒的人处于放松或闭眼的时候,可以在枕叶区的EEG信号。特殊 α \alpha α波(8-12hz), μ \mu μ节律。当受试者产生运动想象, μ \mu μ节律会减小或消失。 β \beta β波(13~30hz),当受试者专注时可以在顶叶和额叶检测到。 θ \theta θ波(4~8hz),当受试者困倦或空闲时可检测到。 δ \delta δ波,当受试者睡眠时可以检测到。 γ \gamma γ波(30hz~),当受试者完成短期记忆时和多感官任务时可以检测到。这就是为什么我们希望在频域处理信号。得到相应的频段特征。
今年很有幸,参观了2019年的世界机器人大会。在北京亦庄,和清华团队张教授成员交流了一番。他们认为这些固定的频段只是最开始的学者规定的,每个人的频段会有所不同。也就是个性,但是泛化也是有必要的。这个我们还需要深入研究。
傅立叶变换(DFT)
最常用的频域处理手段,在python中scipy.signal提供接口可以很方便的进行时频域变换。或者使用Matlab工具箱——Filter,它提供图形化API直接搭建滤波器。 f ( t ) ⊗ g ( t ) → F ( f ) ∗ G ( f ) f(t) \otimes g(t) \to F(f)*G(f) f(t)⊗g(t)→F(f)∗G(f)傅立叶变换核心就是上式。时域的卷积等于频域的相乘。两个需要填写的参数,频段和阶数。频段我们一般使用归一化频段。主要是因为我们采集的信号并不是连续信号,脑电信号采集器是有采样频率的。归一化角频率为 ω s = f 2 π f s {\omega_s}=\frac{ f}{2\pi f_s} ωs=2πfsf对通信不太感兴趣的点到为止就好,不需要深入理解。理解接口使用就好。第二个参数order可以通过三角形式的傅立叶级数展开理解。任意形式的信号 S S S可以由无穷三角函数级数去逼近 S = a 0 2 + ∑ n = 1 + ∞ a n s i n ( n ω 0 t ) + b n c o s ( n ω 0 t ) S=\frac{a_0}{2}+\sum_{n=1}^{+\infty}{a_n}sin(n{\omega_0}t)+{b_n}cos(n{\omega_0}t) S=2a0+n=1∑+∞ansin(nω0t)+bncos(nω0t)
当n → + ∞ \to{+\infty} →+∞可以认为等于原信号。这个和我们理解阶数选择有关。阶数越高需要更高的计算量去拟合滤波器,是其他频段分量拥有更高的衰减系数而自己希望的频段增益为1dB。截止频率规定为3dB频率,也就是对应频量功率下降一半。计算完后与原始信号在频域相乘则可以将相应频段特征提取。
快速傅立叶变换(FFT)
传统傅立叶变换是通过计算卷积信号,将时域信号转到频域信号,计算复杂度为 O ( n 2 ) O(n^2) O(n2)。快速傅立叶使用蝶形运算,计算复杂度为 O ( n l o g 2 n ) O(nlog_2n) O(nlog2n)。通常将信号扩展到 2 n 2^n 2n来做蝶形运算。这也是部分脑电信号处理常用手段。
短时傅立叶变换(STFT)
为什么我要提到这个。不得不从脑电信号开始讲起。脑电信号属于非稳态时变信号,而傅立叶变换计算的是无穷时域的信号而且前提要求信号服从稳态过程。显然脑电信号是一段信号而且不服从稳态过程。
一个简单可行的方法就是——加窗。把整个时域过程分解成无数个等长的小过程,每个窗近似平稳,再傅里叶变换,就知道在哪个时间点上出现了什么频率了。这就是短时傅里叶变换。这里就有一个超参数需要确定,窗的长度。有论文研究自适应窗长度的短时傅立叶变换。类似的方法还有通过预先对原始脑电信号的窗做聚类,来确定窗的长度。方法很多,没有最好,只能去不断尝试。
小波变换(WT)
我看到Google学术上有论文尝试使用小波变换提取频域特征。小波变换的理念我在此随便提两句。小波变换主要希望解决窗函数不确定的问题,采取多个母小波交替,延伸和改变尺度组成。和传统的频段不一样,采取的并不是三角函数近似。

基本都是这样特殊的形状,网上大部分研究都是基于三角函数的研究。基于小波变换的脑电信号处理还处于起步阶段,但我认为是一个非常有创意的想法。但需要时间的累积。
总结
这次先讲到频域分析,频域分析仍然有很多有意思的方法,奈何我这着急的打字速度而且新生入学事情也比较多。我尽力再写一些时域分析,特征提取,和脑电分类上的技巧。之后做实验我尽力加一些图和代码。先就这样吧
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
