Попытка выполнить БПФ в CSV с известными даннымиPython

Программы на Python
Ответить
Anonymous
 Попытка выполнить БПФ в CSV с известными данными

Сообщение Anonymous »

Изображение таблицы данных
Я пытаюсь выполнить БПФ для набора данных с двумя столбцами данных: время и амплитуда. Я анализирую периодичность данных, поэтому данные могут быть не совсем периодическими, что и является причиной БПФ.
Я следил за другим сообщением на форуме здесь, и хотя я не получаю ошибки, я получаю изображение, не имеющее значимых данных. Мне интересно, что я сделал не так. Я не большой эксперт в БПФ, поэтому я в замешательстве, но знаю, что это не должно выглядеть так, как на картинке.
Вот мой код:

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

# FFT

N = 2793  # Number of samples
fs = 25.0  # frequency of signal
T = 1 / fs
Ny = fs / 2.0  # Nyquist freq

# create an array that corresponds to the values in the signal

yf = fft(y)  # perform the fft on the signal
xf = np.linspace(0.0, Ny, N // 2)  # create new x-axis: frequency

# plot results

plt.plot(xf, 2.0 / N * np.abs(yf[:N // 2]))
plt.grid(True)
plt.show()
В каждом наборе данных содержится некоторая дополнительная информация:
  • Общее время исследования = 111,760 с.
  • Образцов в секунду = 25.
Амплитуда масштабируется с коэффициентом 10, но я не думаю, что это имеет значение в данном случае. Я хочу запустить простое БПФ, прежде чем пытаться что-то сделать дальше, пытаясь выделить доминирующую частоту и гармоники сигнала.
Может ли кто-нибудь, имеющий опыт работы с БПФ, подсказать, почему мой график выглядит так?
вот краткий отрывок данных слева направо: номер строки, время (сек), амплитуда, фаза, временная метка.

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

    0   0.00    -190.919    0.0698  0   0   1   NaN 0
1   0.04    -190.814    0.1397  40  0   1   NaN 0
2   0.08    -190.769    0.2094  80  0   1   NaN 0
3   0.12    -190.705    0.2792  120 0   1   NaN 0
4   0.16    -190.650    0.3491  160 0   1   NaN 0
... ... ... ... ... ... ... ... ...
2789    111.56  -184.678    0.6283  111560  0   1   NaN 0
2790    111.60  -184.682    0.6912  111600  0   1   NaN 0
2791    111.64  -184.716    0.7540  111640  0   1   NaN 0
2792    111.68  -184.750    0.8168  111680  0   1   NaN 0
2793    111.72  -184.862    0.8796  111720  0   1   NaN 0
Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... known-data
Ответить

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

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

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

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

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