如何在Python中获取随机列表的傅里叶变换?

2024-05-15 01:22:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我用数值积分求解了一个波动方程,并在python列表中存储了每一步的波函数值。所以我有几个清单:

x=[1,1.001,1.002,.....4]

psi= [1.571,1.579.....1]

x是一个包含空间坐标的列表,psi是一个包含波函数相应值的列表。psivsx图类似于chirp信号(here it is),我对提取其中的频率很感兴趣。这个问题看起来很简单,但我已经浏览了np.fft文档和这个社区的所有相关问题,但是我找不到我想要的东西。在

所以我的问题是:给定一个空间中的波形,我如何对它进行傅里叶变换以得到它所包含的频率?在

编辑:我已经编写了以下代码:

fourier=np.fft.fft(p)   #p is a list
freq=np.fft.fftfreq(len(p),h)     #h is the step size of my grid
plt.xlabel('w')
plt.ylabel('Power')
plt.title("Fourier Transform")
plt.plot(freq,abs(fourier)**2)

this是我得到的结果。但问题是只有一个峰值,我认为它对应于组成频率的平均值。有没有办法在python上获得单个频率?也许可以使用其他模块,比如pywt(小波变换)?在


Tags: fft列表信号isnp空间plt频率

热门问题