Данные хранятся в массиве 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
Мобильная версия