ЭЭГ Вейвлет-анализ - PullRequest
       75

ЭЭГ Вейвлет-анализ

4 голосов
/ 27 июня 2011

Я хочу сделать частотно-временной анализ сигнала ЭЭГ.Я нашел вейвлет-функцию GSL для вычисления вейвлет-коэффициентов.Как я могу извлечь фактические полосы частот (например, 8 - 12 Гц) из этих коэффициентов?Руководство GSL гласит:

Для прямого преобразования элементы исходного массива заменяются дискретным вейвлет-преобразованием f_i -> w_{j,k} в упакованном треугольном макете хранения, где J - индексуровень j = 0 ... J-1 и K - это индекс коэффициента внутри каждого уровня, k = 0 ... (2^j)-1.Общее количество уровней равно J = \log_2(n).

Выходные данные имеют следующую форму: (s_{-1,0}, d_{0,0}, d_{1,0}, d_{1,1}, d_{2,0}, ..., d_{j,k}, ..., d_{J-1,2^{J-1}-1})

Если я правильно понимаю, выходной массив data[] содержит в позиции1 (например, data[1]) амплитуда полосы частот 2 ^ 0 = 1 Гц,

data[2] = 2^1 Hz  
data[3] = 2^1 Hz  
data[4] = 2^2 Hz  
until  
data[7] = 2^2 Hz  
data[8] = 2^3 Hz

и т. Д. *

Это означает, что у меня есть толькоамплитуды для частот 1 Гц, 2 Гц, 4 Гц, 8 Гц, 16 Гц, ... Как я могу получить, например, амплитуду частотной составляющей, колеблющейся при 5,3 Гц?Как я могу получить амплитуду всего частотного диапазона, например, амплитуду 8-13 Гц?Любые рекомендации, как получить хорошее частотно-временное распределение?

1 Ответ

12 голосов
/ 28 июня 2011

Я не уверен, насколько вы знакомы с общей обработкой сигналов, поэтому постараюсь прояснить ситуацию, но не буду пережевывать пищу для вас.

Вейвлеты - это, по сути, банки фильтров . Каждый фильтр разделяет данный сигнал на два непересекающихся независимых высокочастотных и низкочастотных поддиапазона, так что его можно затем восстановить с помощью обратного преобразования. Когда такие фильтры применяются постоянно, вы получаете дерево фильтров с выводом одного из них в следующий. Самый простой и интуитивно понятный способ построения такого дерева заключается в следующем:

  • Разложение сигнала на низкочастотные (аппроксимация) и высокочастотные (детализация) составляющие
  • Возьмите низкочастотный компонент и выполните ту же обработку для этого
  • Продолжайте, пока не обработаете необходимое количество уровней

Причина этого в том, что вы можете уменьшить полученный сигнал аппроксимации. Например, если ваш фильтр разделяет сигнал с частотой дискретизации (Fs) 48000 Гц - что дает максимальную частоту 24000 Гц по теореме Найквиста - на компонент приближения от 0 до 12000 Гц и детализацию от 12001 до 24000 Гц компонента, вы можете затем взять каждую вторую выборку компонента аппроксимации без алиасинга , по существу, децимации сигнала. Это широко используется в сжатии сигнала и изображения .

Согласно этому описанию, на первом уровне вы разделяете свой частотный контент по центру и создаете два отдельных сигнала. Затем вы берете низкочастотный компонент и снова делите его на середину. Теперь вы получаете три компонента: от 0 до 6000 Гц, от 6001 до 12000 Гц и от 12001 до 24000 Гц. Вы видите, что оба новых компонента составляют половину полосы пропускания первого компонента детализации. Вы получаете такую ​​картину:

enter image description here

Это соответствует полосам пропускания, которые вы описали выше (2^1 Hz, 2^2 Hz, 2^3 Hz и т. Д.). Однако, используя более широкое определение банка фильтров , мы можем упорядочить приведенную выше древовидную структуру так, как нам нравится, и она все равно останется банком фильтров. Например, мы можем подать как аппроксимацию, так и компонент детализации для разделения на два высокочастотных и низкочастотных сигнала, например,

enter image description here

Если вы внимательно посмотрите на это, то увидите, что как высокочастотные, так и низкочастотные компоненты находятся посередине по своим частотам, и в результате вы получаете унифицированный блок фильтров , частотное разделение которого выглядит примерно так:

enter image description here

Обратите внимание, что все группы имеют одинаковый размер. Построив единый банк фильтров с N уровнями, вы получите ответы 2 ^ (N-1) полосовых фильтров. Вы можете точно настроить свой банк фильтров, чтобы в итоге получить желаемую полосу (8-13 Гц).

В общем, я бы не советовал вам делать это с вейвлетами. Вы можете просмотреть литературу по созданию хороших полосовых фильтров и просто создать фильтр, который пропускает только 8-13 Гц ваших сигналов ЭЭГ. Это то, что я делал раньше, и у меня это получалось неплохо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...