gpt4 book ai didi

python - `fft` 没有返回它应该返回的内容

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:27 25 4
gpt4 key购买 nike

我正在尝试使用 numpy 的 fft 执行傅立叶变换,如下所示:

import numpy as np
import matplotlib.pyplot as plt

t = np.linspace(0,1, 128)
x = np.cos(2*np.pi*t)

s_fft = np.fft.fft(x)
s_fft_freq = np.fft.fftshift(np.fft.fftfreq(t.shape[-1], t[1]-t[0]))
plt.plot(s_fft_freq, np.abs(s_fft))

我得到的结果是

enter image description here

这是错误的,因为我知道 FT 应该在 f = 1 达到峰值,因为 cos 的频率是 1

我做错了什么?

最佳答案

您只是将 fftshift 应用于 x 轴标签,而不是实际的 FFT 幅度 - 您只需要应用 s_fft = np.fft.fftshift(np.fft.fft( x)) 也是。

关于python - `fft` 没有返回它应该返回的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51021768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com