Можно ли использовать np.fft.fft для выбора коэффициентов Фурье в один момент времени и на определенной частоте?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли использовать np.fft.fft для выбора коэффициентов Фурье в один момент времени и на определенной частоте?

Сообщение Anonymous »


Я впервые использую Stack Exchange и являюсь студентом бакалавриата, работающим над обработкой сигналов sEEG с использованием np.fft.fft.

Я пытаюсь применить np.fft.fft к двумерному массиву данных формы (98, 1024), где 98 — количество попыток, а 1024 — частота дискретизации в Гц. Я пытаюсь найти коэффициенты Фурье на 500 миллисекундах (соответствует 512-й выборке) на частоте 10 Гц. Но, насколько я понимаю, np.ftt.ftt возвращает массив формы (98, 1024), где 98 — это снова количество испытаний, а 1024 — теперь частоты. Итак, если меня интересуют 10 Гц, я могу написать этот код: (поправьте меня, если я неправильно понимаю)

after_fft = np.fft.fft(timeSeries, axis=1) частота_интереса = after_fft[:, 10] Но как я могу отслеживать информацию о времени?
[*]
Я адаптировал код, который нашел в Интернете (https://github.com/emma-holmes/Phase-Co ... herence.py), чтобы включить еще один параметр для timePoint, но Я понял, что параметр timePoint некуда поставить.
[*]
Я попытался сократить входные данные до 512-го образца, чтобы представить интересующие меня 500 мс, выполнив data = data[:,511, np.newaxis] и передав его в функцию ниже. Однако в течение заданного времени выходные данные функции (ПК) не менялись в зависимости от частоты, поэтому этот подход тоже не работал.
[*]
Я искал функции в Python, которые возвращают трехмерный массив с размерностями, представляющими (количество испытаний, моменты времени, частоты). В этом случае я мог бы использовать timePoint для индексации в after_fft, а затем индексировать в конкретный частота интереса.

Вот код ниже с некоторыми операторами печати, которые я добавил, чтобы лучше понять структуры данных. Огромное спасибо за помощь!
def PhaseCoherenceGivenTime(freq, timeSeries, FS, timePoint=None): # Получить параметры входных данных nMeasures = np.shape(timeSeries)[0] nSamples = np.shape(timeSeries)[1] nSecs = nSamples / FS print('Количество измерений =', nMeasures) print('Количество временных выборок =', nSamples, '=', nSecs, 'секунды') # Вычислить БПФ для каждого измерения (спектр — это частота х измерений) spect = np.fft.fft(timeSeries, axis=1) print("Spect.shape: ", spect.shape) # Нормализовать по амплитуде спектр = спектр / абс(спект) # Найдите значения спектра для интересующего элемента частоты частотаRes = 1/нс foibin = round(freq / freqRes + 1) - 1 print('Фойбин =', фоибин) spectFoi = spect[:, foibin] print("spectFoi: ", spectFoi) print("spectFoi.shape: ", spectFoi.shape) # Найдите отдельные фазовые углы для каждого измерения на интересующей частоте angularsFoi = np.arctan2(spectFoi.imag, spectFoi.real) # PC — среднеквадратичное значение сумм косинусов и синусов углов. PC = np.sqrt((np.sum(np.cos(anglesFoi)))**2 + (np.sum(np.sin(anglesFoi)))**2) / np.shape(anglesFoi)[0] # Распечатываем значение Распечатать('----------------------------------') print('Значение фазовой когерентности = ' + str("{0:.3f}".format(PC))) углы возвратаFoi, ПК
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Неправильные знаки коэффициентов Фурье, возникающие в результате scipy.fft.fft
    Гость » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Гость
  • Математическое выражение преобразования Фурье, используемое в numpy.fft.fft
    Anonymous » » в форуме Python
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Расчет коэффициентов, алгоритм распределения коэффициентов
    Anonymous » » в форуме Php
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает этот странный прыжок на этих фазовых графах коэффициентов Фурье?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Эффективно вычисление подмножества коэффициентов Фурье [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

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