import numpy as np import pandas as pdimport matplotlib.pyplot as plt from matplotlib.pylab import mplmpl.rcParams[‘font.sans-serif’] = [‘SimHei’] #显示中文 mpl.rcParams[‘axes.unicode_minus’]=False #显示负号data_broken= pd.read_csv(‘broken.csv’,usecols=[‘value’]).dropna()data_healthy = pd.read_csv(‘healthy.csv’,usecols=[‘value’]).dropna()data_broken= data_broken[147500:155000].valuesdata_broken= data_broken.reshape(len(data_belt),) #超级重要,少了这行FFT怎么转都失败data_healthy= data_healthy[131000:138000].valuesdata_healthy= data_healthy.reshape(len(data_normal),) #超级重要,少了这行FFT怎么转都失败sampling_rate = 10000 #取样频率,ex:每秒取10000笔,则频率为10000Hzfft_size = len(data_healthy) t = np.arange(0, 1.0, 1.0/sampling_rate)xs = data_healthyxf = np.fft.rfft(xs)/fft_sizefreqs = np.linspace(0, sampling_rate/2, fft_size/2+1)xfp = np.abs(xf)fft_size_b = len(data_broken) t_b = np.arange(0, 1.0, 1.0/sampling_rate)xs_b = data_brokenxf_b = np.fft.rfft(xs_b)/fft_size_bfreqs_b = np.linspace(0, sampling_rate/2, fft_size_b/2+1)xfp_b = np.abs(xf_b)plt.figure(figsize=(20,10))plt.subplot(211)plt.plot(t[:fft_size], xs, color=’blue’)plt.xlabel(u”Time(S)”)plt.title(“data_healthy”)plt.show()plt.subplot(212)plt.plot(t_b[:fft_size_b], xs_b, color=’red’)plt.xlabel(u”Time(S)”)plt.title(“data_broken”)plt.show()plt.figure(figsize=(20,5))plt.plot(freqs, xfp, color=’blue’)plt.xlabel(u”Freq(Hz)”)plt.title(“data_healthy_FFT”)plt.show()plt.figure(figsize=(20,5))plt.plot(freqs_b, xfp_b, color=’red’)plt.xlabel(u”Freq(Hz)”)plt.title(“data_broken_FFT”)plt.show()