Как извлечь частоту заданного времени в EEGLab?
Я новичок в EEGLab, который является инструментом MATLAB, который используется для анализа данных ЭЭГ. Я хочу знать, существует ли конкретный способ извлечения частоты волны ЭЭГ в данный момент времени в текстовый файл с использованием MATLAB.
Например: 1 с 11 Гц, 2 с 8 Гц....
3 ответа
Из вашего вопроса кажется, что вы хотите выполнить какой-то анализ частотно-временных характеристик, то есть анализ, в котором вы извлекаете некоторую информацию о частоте, сохраняя информацию о времени. Важно отметить, что вы не извлекаете "частоту" из данных (это нечетный запрос), но вы извлекаете некоторые свойства интересующей частоты (обычно это энергия данной частоты, выраженная как "Мощность").
Как правило, при расчете некоторых основных частотных свойств ваших данных ЭЭГ (таких как спектры каналов вашей ЭЭГ (см. Здесь учебное пособие по EEGlab)) вы теряете информацию о времени.
Частотно-временной анализ преодолевает это ограничение и позволяет получить необходимую информацию, то есть изменение энергии частоты во времени (см. Здесь статью EEGlab по Частоте времени).
Выполнение частотно-временного анализа требует некоторого внимания и может быть сложным (вы можете легко сделать несколько ошибок), и я бы посоветовал вам проверить лекции Майка Коэна (см. Видеоуроки здесь) или его книгу "Анализ данных временных рядов" (см. здесь). Из этих ресурсов вы можете узнать, что такое частотно-временной анализ, а также получить представление о том, как частотно-временные данные хранятся в MATLAB.
Как только вы это узнаете, вы можете перейти к своей реальной задаче, которая заключается в экспорте данных о вашей частоте (возможно, вашей мощности на заданной частоте в заданное время). Вы можете посмотреть, как это проверить, в списке рассылки EEGLAB.
Ниже я написал код, адаптированный из приведенного выше потока, который вы могли бы использовать в качестве отправной точки.
%% first you run a time frequency analysis.
% Check the help of 'pop_timef' function for further information
[ersp itc powbase times freqs] = pop_timef( EEG, 1, 1, [-1000 2000] , [3 0.5] ,'type', ...
'phasecoher', 'topovec', 1, 'elocs', EEG.chanlocs, 'chaninfo', EEG.chaninfo, 'title',...
'Channel FPz power', 'padratio', 1, 'plotphase','off');
% select the ordinal number of the frequency you want to export
% NOTE: this means that you are selecting the 1st frequency (by default settings 6 Hz)
% and NOT the 1Hz frequency.
my_freq_n = 1
% to check the frequency selected
freqs(my_freq_n)
% my_time specifies the timepoint you want to export
my_time = 1500
% my_ersp stores the ersp value (that is the result of a specific kind of
% Time-Frequency analysis) for your selected time and your selected frequency.
my_ersp = ersp(my_freq_n, dsearchn(times', my_time))
% export the my_ersp object as a .txt file
save -ascii my_ersp.txt my_ersp
`
Есть два способа извлечь информацию о частоте из ЭЭГ: 1) Использование методов на основе быстрого преобразования Фурье (FFT) 2) Использование методов на основе вейвлет-преобразования (WT)
Конечно, вы можете выполнить вышеуказанный анализ, используя набор инструментов EEGLAB, но в большинстве случаев вам даже не нужен набор инструментов для выполнения такого анализа.
Например, если вы хотите выполнить анализ частоты на БПФ на ЭЭГ, вы можете использовать некоторые функции в MATLAB, такие как pmtm.
Если вы хотите выполнить вейвлет-преобразование, вы можете использовать cwt.
Там хорошо написана документация, и все, что вам нужно сделать, это просто подать данные в качестве входных данных и задать соответствующие параметры в каждой функции.
Если вы хотите узнать больше об основах, вы всегда можете посетить вики EEGLAB или другие источники в Интернете.
Надеюсь это поможет!
Волны ЭЭГ варьируются от дельта-волн, начинающихся с 0,5 Гц, до гамма-волн, обычно с частотой 40 Гц и более (даже до 100 Гц), проблема, которую вы могли бы здесь рассмотреть, заключается в том, что эти частоты присутствуют всегда, так как мозг никогда не отключается вниз "определенные частоты. Итак, что изучается в частотах колебаний мозга, так это изменения активности и мощности определенных частотных диапазонов. Например, показано, что альфа-волны обладают большей силой в состоянии закрытых глаз, чем открытые глаза. Чтобы ответить на ваш вопрос, вы можете:
См. Вики EEGLAB и следуйте учебному пособию, для которого также доступны примеры данных, и посмотрите, что они могут предоставить для вас. См. Главу 03 для примера.
Проще всего, просмотрите энергетическую активность сигналов ЭЭГ, используя быстрое преобразование Фурье (БПФ) в MATLAB, если хотите, по временным интервалам, для которых вам нужно будет знать, через какие интервалы времени отбирались ваши данные, это называется частотой дискретизации Ц. Если у вас есть эта информация, просто найдите документы в MATLAB fft() или поищите в Интернете.