Частотно-временная спектрограмма в PythonPython

Программы на Python
Ответить
Anonymous
 Частотно-временная спектрограмма в Python

Сообщение Anonymous »

У меня есть около 64-канальных данных ЭЭГ, отобранных с частотой 256 Гц, и я пытаюсь провести частотно-временной анализ для каждого канала и построить спектрограмму.
Данные хранятся в массиве NumPy 3d, где одно из измерений имеет длину 256, каждый элемент содержит показания микровольт для всех выбранных моментов времени (общая длина составляет 1 секунду для каждого канала данных).
Чтобы было понятно: мои 3D-матрица — 64*256*913 (электрод*напряжение*проба). Испытание — это всего лишь одна проба эксперимента. Итак, я хочу взять один электрод из одного испытания и весь одномерный вектор напряжения и создать частотно-временную спектрограмму. Поэтому я хочу создать график спектрограммы, например, из data[0,:,0].
Для каждого электрода мне нужен график, на котором ось Y — частота, ось X — время, а цвет/интенсивность — мощность.
Я пробовал использовать это в Python:

Код: Выделить всё

from matplotlib.pyplot import specgram
#data = np.random.rand(256)
specgram(data, NFFT=256, Fs=256)
Это выглядит примерно так:
Изображение

С самого начала мне это кажется неверным, потому что диапазоны осей неверны.
Более того, когда я запускаю один и тот же код для всех каналов ЭЭГ, по всем моим data, я получаю один и тот же график (хотя я проверил, что данные для каждого разные)
Я новичок в обработке сигналов, есть ли где-то, что я ошибся в том, как расположены мои данные или как я использовал свою функцию?

Подробнее здесь: https://stackoverflow.com/questions/318 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»