#r #filtering #spectrum #neuroscience #spectral
#r #фильтрация #спектр #нейронаука #спектральный
Вопрос:
Я очень новичок в R и передаче сигналов ЭЭГ, поэтому, пожалуйста, извините меня, если ответ на вопрос очевиден.
Я пытаюсь выполнить фильтр Баттерворта для сигнала ЭЭГ, чтобы извлечь альфа-диапазон. Когда я выполнил фильтр, результирующий сигнал выглядел очень странно и совсем не так, как я ожидал, с необычно большим пиком в начале временного интервала. Я попытался использовать eegfilter и bwfilter, чтобы посмотреть, была ли проблема с кодом, но при построении результатов между ними было очень мало различий. Я затрудняюсь объяснить конечный результат и был бы признателен, если бы кто-нибудь мог объяснить мне специфический конечный результат.
Вот пример из данных, которые я просматриваю:https://ufile.io/1ji48wg6
Частота дискретизации составляет 512.
Я хочу извлечь альфа-диапазон, поэтому частоты между 8 и 12 Гц
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. И правильный график является результатом применения фильтра Баттерворта с использованием bwfilter.
Графики данных при применении фильтров
Заголовок набора данных:
ЭЭГ
-8438.876837
-8442.718979
-8441.877183
-8439.974768
-8443.436883
-8448.900711
-8452.433874
-8441.616546
Комментарии:
1. Не могли бы вы, пожалуйста, указать заголовок и / или структуру набора данных?
2. Выполнено. Помогает ли это каким-либо образом?
Ответ №1:
Кажется, что функции eegfilter и bwfilter добавляют 0 перед данными перед применением фильтра и только затем нормализуют его. Таким образом, вы получаете что-то похожее на Дирака в начале данных после их обработки, что приводит к переходу отфильтрованных данных из исходного состояния:
К этому, как только вы его отфильтруете:
Однако, если вы нормализуете данные до 0; вычитая первое значение временного ряда из всех значений перед применением фильтра, артефакты, подобные Дираку, не возникают:
Нормализованная ЭЭГ с последующим использованием фильтра Баттерворта