Суммирование частотных спектров
У меня есть набор данных с устройства ЭЭГ, из которого я хочу найти силу различных мозговых волн в Matlab. Я пытался использовать EEGLAB, но я не был уверен, как, поэтому на данный момент я просто использую набор инструментов dsp в Matlab.
Для фона: у меня 15 эпох по 4 секунды. Устройство выбрано с частотой 256 Гц, и имеется 264 датчика, поэтому для каждого датчика имеется 1024 точки данных, т.е. мои исходные данные составляют 264 x 1024 x 15. Базовая линия удалена. Данные в каждой эпохе будут в конечном итоге использоваться для обучения классификатора, поэтому я имею дело с каждой эпохой в отдельности. Я придумаю больше образцов данных позже.
В любом случае, до сих пор я применил фильтр Ханна к данным, а затем запустил fft для отфильтрованных данных. Так что теперь у меня есть информация в частотной области. Тем не менее, я не совсем уверен, как перейти от мощности блоков FFT к мощности определенных частотных диапазонов (например, альфа 8-13), чтобы получить значения, которые я ищу.
Я знаю, что ответ должен быть простым, но я не могу найти ответ, который хочу получить в Интернете, и есть ли некоторые источники, которые рекомендуют использовать вейвлет-преобразование? Вот небольшой фрагмент кода, который у меня есть, входные "данные" составляют одну эпоху, то есть 264 x 1024.
% apply a hann window
siz = size(data);
hann_window = hann(siz(2));
hann_window = repmat(hann_window.', siz(1), 1);
hann_data = data.' * hann_window;
% run fft
X = fft(hann_data, [], 2);
X_mag = abs(X);
X_mag = X_mag.';
Спасибо за помощь!
1 ответ
Если я правильно понимаю ваш вопрос, вы хотите масштабировать выход FFT, чтобы получить правильную мощность. Для этого нужно поделить на количество сэмплов, используемых для БПФ.
X_mag = abs(X)/length(hann_data); % This gives the correct power.
Смотрите этот вопрос для получения дополнительной информации.
Как только контент масштабируется правильно, вы можете найти мощность в полосе (например, 8 - 13 Гц), интегрируя контент от начала до конца полосы. Поскольку вы имеете дело с дискретными значениями, это дискретная интеграция. Для перспективы это эквивалентно изменению ширины полосы разрешения анализатора спектра.