Итак, у меня есть этот автомобиль, который движется со скоростью, которая является суммой трех различных синусоидальных волн (отдельные частоты которых я знаю).Я использовал следующее для построения этого графика времени скорости
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('drivingdata.csv') # velocity values
s = df['leadspeed'].values # transform csv col into array
t = np.linspace(0, 1, 5067)
plt.ylabel("Amplitude")
plt.xlabel("Time[s]")
plt.plot(t, s)
plt.show()
Это нормально, а затем я выполняю БПФ на этих данных с помощью следующей функции numpy:
T = t[1]-t[0] # sample rate
N = s.size
fft = np.fft.fft(s)
f = np.linspace(0, 1//T, N) # 1/T is the frequency
plt.ylabel("Amplitude")
plt.xlabel("Frequency [Hz]")
plt.bar(f[:N // 2], np.abs(fft)[:N // 2] * 1 // N) # 1/N is a normalization factor
plt.show()
Тогда я получаю график зависимости амплитуды от частоты .Как мне увеличить масштаб изображения, чтобы я мог подтвердить свои начальные частоты (все до 0,2)?
Я совершенно новичок в fft, поэтому я буду признателен за критику / помощь.
РЕДАКТИРОВАТЬ:
Я последовал вашему полезному совету, Крис Луенго, и это мой новый график .Частоты, которые я ввел в свои волны, были 0,033, 0,083 и 0,117, так что я все еще остаюсь в поисках ответов.
РЕДАКТИРОВАТЬ 2: Мои извинения, Крис.Ну вот.Есть ли частоты, которые я ищу, прямо за 0 там?Есть ли способ «увеличить»? Новый график