49 lines
1.1 KiB
Python
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()
|