Частотно-временная спектрограмма в 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

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