self_example/phm_rotate/PHMWarehouse/dataChange/FFTTest.py

49 lines
1.1 KiB
Python

# -*- encoding:utf-8 -*-
'''
@Author : dingjiawen
@Date : 2023/5/24 13:45
@Usage :
@Desc : 数据的fft测试
'''
import numpy as np
import pandas as pd
from scipy.fftpack import fft
import matplotlib.pyplot as plt
array = np.array([-0.029078494757,
-0.33095228672,
-0.12124221772,
0.553512275219,
-0.158036053181,
0.268739402294,
-0.638222515583,
0.233140587807,
-0.173265621066,
0.467218101025,
-0.372010827065,
-0.136630430818,
0.343256533146,
0.008932195604])
# 幅值
print(len(array))
print(np.fft.rfft(array))
print(np.fft.rfft(array) * 2 / len(array))
# 幅值
total = np.abs(np.fft.rfft(array) * 2 / len(array))
# 相角
angle = np.angle(np.fft.rfft(array) * 2 / len(array))
# 时部
data = np.real(np.fft.rfft(array))
# 虚部
array = np.imag(np.fft.rfft(array))
print(total)
print(data)
print(array)
plt.plot(data)
plt.plot(array)
plt.show()