コード例 #1
0
    elif windowname == 'Kaiser':  #需要两个输入参数
        windowdata = np.kaiser(NFFT)
    elif windowname == 'Blackman':
        windowdata = np.blackman(NFFT)
    elif windowname == 'Hanning':
        windowdata = np.hanning(NFFT)
    else:
        windowdata = np.ones(1, NFFT)
    use_y = use_y * windowdata
    # fft
    Y = np.fft.fft(use_y, n=NFFT) / NFFT
    Y = 2 * abs(Y[0:NFFT / 2 + 1])
    f = np.linspace(0, Fs / 2, NFFT / 2 + 1)
    plt.plot(x_new[0:NFFT], use_y[0:NFFT])
    plt.show()
    plt.plot(f, Y)
    plt.show()
    print(NFFT)
    return [f, Y]


step = dataclassment.classment(data, data['stamp'], data['Speed'])
sample = step[0]
## 加噪音
x = np.linspace(0, 1, 10000)
sinu1 = np.cos(2 * np.pi * 3000 * x - np.pi * 30 / 180)
sinu2 = 1.5 * np.cos(2 * np.pi * 2000 * x - np.pi * 30 / 180)
wave = sinu1[0:210] + sinu2[0:210]
## 用Myff函数
y = Myfft(sample['stamp'], sample['Speed'], 'Hanning', 0.0001, wave)
コード例 #2
0
ファイル: creation_signal_4.py プロジェクト: Zepyhrus/PMIDGF
        col.append(columns)
    sta = df.iloc[:, a:b].describe()
    for k in range(a, b):
        df['%s'%col[k]] = (df['%s'%col[k]]-sta['%s'%col[k]].loc['min'])\
        /(sta['%s'%col[k]].loc['max']-sta['%s'%col[k]].loc['min'])
    return df


df_norm = norm(df)
plt.figure(figsize=(14, 6))
#plt.plot(df_norm['Temperature'])
plt.plot(df_norm['Speed'])
#plt.plot(df_norm['Torque'])
plt.legend(loc='upper left')
plt.show()
step = dataclassment.classment(df, df['stamp'], df['Speed'])
for i in range(0, len(step)):
    step[i] = step[i].reset_index([[0, 1, 2, 3]])


# 特征量取扭矩的裕度系数,转速的均值和均方根
def statics(df, feature, count):
    sta = df.iloc[:, 1:2].describe()
    sta.loc['margin_Tq'] = time_feature.margin(df['Torque'])
    sta.loc['rms_S'] = time_feature.rms(df['Speed'])
    sta.loc['average_S'] = sta.loc['mean']
    feature['signal%d' % (count)] = sta.loc['margin_Tq':'average_S']['Speed']
    return sta


feature = pd.DataFrame()