我正在对随机二进制数据执行FFT。我很困惑y轴的比例因子是什么。我的随机数据的重复频率为400Hz,或者测量间隔为0.0025秒。数据点的数量是12489。在
下面的代码工作正常,给出的平均振幅约为50。在
我的问题:
工作代码:(如果您希望复制并粘贴到Python中查看)
from numpy import *
import pylab as P
import numpy as N
import scipy as S
import array
import scipy.fftpack
from random import *
#Produce random binary data
x = N.linspace(0,12489,12489)
randBinList = lambda n: [randint(0,1) for b in range(1,n+1)]
y = randBinList(12489)
y = asarray(y)
#Perform an FFT
FFT = abs(S.fft(y))
freqs = S.fftpack.fftfreq(y.size,0.0025)
#What does y.size do???
x_range = freqs[(freqs>0)]
y_range = FFT[(freqs>0)]
P.plot(x_range,y_range,'.r')
P.show()
fftfreq
生成FFT结果的每个bin的频率,该频率由传入的样本数和采样率(doc)计算得出。在相关问题 更多 >
编程相关推荐