我想知道是否有人可以通过查看在coefficients
和sine
函数系列中实际用作cosine
的傅立叶变换的输出来帮助我更好地理解傅里叶级数
我有一些功能,我抽样4次得到[0, 1, 0, 1], therefore N == 4
。我如何将其表达为傅里叶级数?使用numpy,fft给了我...... [ 2.+0.j, 0.+0.j, -2.+0.j, 0.+0.j]
基本上,我需要看到这个的扩展,而不是总结符号,只是因为否则我会有一个恐惧引起的混乱的头脑。通过扩展,我的意思是sin(something * x) + cos(something * x) +
...
答案 0 :(得分:1)
我猜你正在寻找这样的东西:
from numpy.fft import fft
x = array([ 0., 1., 0., 1.])
y = fft(x)
#first rescale it
nfft = len(x)
y /= nfft
n = arange(0,4)
# notice that y[1] and y[3] are identically zero:
x_reconstructed = y[0] +y[2] * cos(2*2*pi/nfft*n)
现在你有了x_reconstructed==x
。现在,您可以转到DFT的页面,尤其是this等式,并根据上面的示例了解求和符号。
答案 1 :(得分:1)
离散傅立叶变换(DFT)与傅里叶级数can be summarized as follows之间的关系,
周期信号x的傅立叶级数系数由一个周期的DFT给出,除以N,N也是每个周期中的样本数。
这意味着只有当信号的周期等于其采样率的N
倍时,傅立叶级数和DFT才相关,而一般情况并非如此。
因此,在实践中,当您需要DFT时,请使用scipy.fftpack.fft
,而傅里叶级数系数可以使用a direct summation in python计算。关于这两个概念的在线文献很多,但不要混淆这两个概念,因为它可能会让人感到困惑,而不是有用。