【发布时间】:2019-07-18 21:47:16
【问题描述】:
我试图理解 numpy.fft.rfft 中 NFFT 的含义。但我很困惑,为什么无论是否包含 NFFT,输出都会变得非常不同。请看下面的例子。
numpy.fft.rfft([0, 1, 0, 0, 4.3, 3, 599], 8)
array([ 607.3 +0.j , -5.71421356+600.41421356j,
-594.7 -4.j , -2.88578644-597.58578644j,
599.3 +0.j ])
numpy.fft.rfft([0, 1, 0, 0, 4.3, 3, 599])
array([ 607.3 +0.j , 369.55215218+472.32571033j,
-133.53446083+578.34336489j, -539.66769135+261.30917157j])
【问题讨论】:
-
列表
[0, 1, 0, 0, 4.3, 3, 599]包含7 项。当numpy.fft.rfft([0, 1, 0, 0, 4.3, 3, 599], 8)被调用时,数组用零填充,如numpy.fft.rfft 的文档中所详述。因此,第一个 DFT 是数组[0, 1, 0, 0, 4.3, 3, 599,0]的 DFT:它的长度为 (n/2)+1=5,因为 n=8。第二个 DFT 的长度为 .(n+1)/2=4,因为 n=7。 -
谢谢我现在知道了!
标签: python numpy signal-processing fft