【问题标题】:Butterworth filtering of EEG data in RR中EEG数据的巴特沃斯过滤
【发布时间】:2019-09-11 03:58:08
【问题描述】:

我对 R 和 EEG 信号非常陌生,所以如果问题的答案很明显,请见谅。

我正在尝试对 EEG 信号执行巴特沃斯滤波器以提取 Alpha 波段。当我执行过滤器时,生成的信号看起来很奇怪,完全不是我所期望的,在时间框架的开始有一个异常大的峰值。我尝试使用 eegfilter 和 bwfilter 来查看代码是否存在问题,但是当我绘制结果时,两者之间几乎没有区别。我无法解释最终结果,如果有人可以向我解释特殊的最终结果,我将不胜感激。

这是我正在查看的数据中的一个示例: https://ufile.io/1ji48wg6

采样率为512。

我想提取 alpha 波段,所以频率在 8 到 12 Hz 之间

library(eegkit)

mturk <- read.csv("EEG_alpha.csv", head = TRUE, sep= ",")

mturk.but <- eegfilter(mturk, Fs = 512, lower = 8, upper = 12, method = "butter", order = 4)

plot(mturk.but)

这是绘制时的数据图片。最左边的图像是原始数据。中心图是使用 eegfilter 应用 Butterworth 滤波器的结果。右图是使用 bwfilter 应用巴特沃斯滤波器的结果。

Plots of data when filters are applied

数据集的标题:

脑电图

-8438.876837

-8442.718979

-8441.877183

-8439.974768

-8443.436883

-8448.900711

-8452.433874

-8441.616546

【问题讨论】:

  • 能否提供数据集的头部和/或结构?
  • 完成。这有什么帮助吗?

标签: r filtering spectrum neuroscience spectral


【解决方案1】:

似乎 eegfilter 和 bwfilter 函数在应用过滤器之前在数据前面添加了 0,然后才对其进行规范化。因此,一旦处理完数据,您最终会在数据的开头得到类似于 Dirac 的东西,从而使过滤后的数据脱离其原始状态:

EEG_raw

一旦你过滤了它:

EEG butterworth filetered

但是,如果将数据归一化为 0;在应用过滤器之前从所有值中减去时间序列的第一个值,不会出现类似 Dirac 的伪影:

EEG normalised followed by butterworth filter

【讨论】:

    猜你喜欢
    • 2020-03-15
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 2020-08-24
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多