FFT Freq неправильно, есть проблема в коде - PullRequest
0 голосов
/ 24 мая 2019

Хотите преобразовать необработанные данные акселерометра в частоту, однако я установил частоту на моем двигателе равной 120 Гц и проверил с помощью другого устройства. Я не могу выполнить БПФ данные акселерометра, чтобы получить правильную частоту, полученную двигателем

Используя Python 3.7, использование данных, скорее всего, правильно, поэтому интересно, есть ли проблема в коде

from scipy.fftpack import fft
import numpy as np
from scipy import pi
import matplotlib.pyplot as plt
%matplotlib inline

# Sampling rate and time vector
start_time = 0 # seconds
end_time = 2 # seconds
sampling_rate = 6660 # Hz
N =(end_time - start_time)*sampling_rate # array size

# Nyquist Sampling Criteria
T = 1/sampling_rate # inverse of the sampling rate
x = np.linspace(0.0, 1.0/(2.0*T), int(N/2))

# FFT algorithm
yr = fft(X) # "raw" FFT with both + and - frequencies
y = 2/N * np.abs(yr[0:np.int(N/2)]) # positive freqs only

# Plotting the results
plt.plot(x, y)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Vibration (g)')
...